ZigBeeForDomoticZ plugin Wiki

Installation du plugin ZigBeeForDomoticZ

Quelque soit la méthode d’installation, le plugin nécessite DomoticZ version 2021.1 ou supérieure et Python version 3.8 ou supérieur. Assurez-vous que le paquet python3-dev est installé. Plus d’informations sur la page DomoticZ Python plugin.

Pour cette première étape, il existe différentes méthodes d’installation selon votre système d’exploitation :

Note : L’installation d’une PiZiGate est spécifique. Se reporter aux parties 6 ou 7.

Info : Pour l’installation des autres modèles de ZiGates (USB, Wifi, Ethernet, etc…) sur Raspberry, se reporter aux parties 1 ou 2.


1 - Installation manuelle sous Linux

Cette méthode est uniquement valable pour les systèmes Linux : Raspberry, Debian, Ubuntu, etc. Il sera nécessaire de modifier les lignes de commandes en fonction de votre système.

Important : Cette méthode d’installation n’est pas valable pour une installation de la PiZigate (voir les installations d’une PiZigate).

1.A - Prérequis

1.B - Procédure

Ouvrir le terminal.

  1. Aller dans le répertoire DomoticZ puis le répertoire plugins. La commande est normalement :
  cd domoticz/plugins/
  1. Exécuter la commande :
  git clone https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git

Le répertoire Domoticz-Zigbee sera créé dans le dossier plugins.

  1. Aller dans le répertoire Domoticz-Zigbee. La commande est normalement :
  cd Domoticz-Zigbee/
  1. Installer les paquets Python nécessaires avec la commande :
  sudo pip3 install -r requirements.txt

Note : Pour Debian 12 Bookworm il faut rajouter –break-system-packages à la fin de la commande précédente. Attention à bien prendre les deux tirets au début.

  1. Exécuter la commande en adaptant pi:pi si nécessaire au user:group utilisé. Attention à bien prendre le point à la fin.
  sudo chown -R pi:pi .
  1. Exécuter la commande :
  git config --add submodule.recurse true
  1. Installer les librairies Python manquantes avec la commande :
  git submodule update --init --recursive
  1. Rendre le fichier plugin.py exécutable en lançant la commande :
  sudo chmod +x plugin.py
  1. Redémarrer DomoticZ. La commande est normalement :
  sudo service domoticz.sh restart

Le plugin ZigBee for DomoticZ doit apparaître dans la liste des matériels installables (tout en bas de la fenêtre déroulante Type). Passer à l’étape 2 Paramétrage du plugin.


2 - Installation du plugin via Python Plugin Manager sous Linux

Cette procédure n’est pas encore mise à jour pour être compatible avec la version 6 du plugin.

Cette méthode est uniquement valable pour les systèmes Linux. Elle n’est pas valable pour une installation de la PiZigate (voir les installations d’une PiZigate).

2.A - Prérequis

2.B - Procédure


3 - Installation sur NAS Synology avec Jadahl

Cette procédure n’est pas encore mise à jour pour être compatible avec la version 6 du plugin.

Cette méthode est uniquement valable pour les systèmes NAS Synology.

Note : Jadahl a arrêté son développement en 2020. La dernière version disponible est DomoticZ Béta 2020.2 for DSM 6.2. Il n’est plus conseillé de l’utiliser pour de nouvelles utilisations puisqu’il n’y aura plus de mises à jour et ce système ne fonctionne plus sur DSM 7. Il est préconisé de passer sous Docker si votre NAS le permet.

Les informations concernant l’installation sur NAS Synology fonctionnent sous Jadahl ont été déplacées sur cette page.


4 - Installation sur NAS Synology avec Docker

4.A - Avant propos

Partie complètement réécrite par @SylvainPer utilisant l’image officielle Docker de DomoticZ. L’ancienne version est accessible sur cette page.

L’exemple est donné pour une installation Docker dans un NAS Synology. Elle est également valable pour Docker dans d’autres systèmes.

4.B - Prérequis

DomoticZ doit être installé dans un conteneur Docker avec un dossier domoticz. Se référer à la page Installer DomoticZ sur un NAS Synology avec Docker pour une explication détaillée de l’installation et du paramétrage de Docker nécessaire.

4.C - Procédure

Il existe deux procédures pour installer le plugin et les librairies nécessaires, une solution via un script automatiquement lancé par DomoticZ au lancement du docker, celui-ci vérifie si les librairies sont présentes ainsi que le plugin et une dernière solution manuelle.

4.C.1 Procédure par script

Cette méthode consiste à utiliser un script dans le repertoire userdata de DomoticZ. Si vous avez suivi la procédure d’installation, cela correspond à docker/domoticz. Vous pouvez télécharger directement le script ici et l’ajouter dans le répertoire via l’interface graphique ou via terminal :

Enfin, relancer le Conteneur.

4.C.2 Procédure manuelle

Le chemin pour le répertoire d’installation du plugin est : docker/domoticz/plugins

cd userdata
cd plugins
git clone https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git
cd Domoticz-Zigbee
git config --add submodule.recurse true
git submodule update --init --recursive
apt update
apt install python3-dev
python3 -m pip install --upgrade pip
pip3 install wheel
pip3 install -r requirements.txt

GIT

4.D Configuration du port du WebUI


5 - Installation sous Windows 10

Rédaction par @Pipiche38

Cette procédure n’est pas encore mise à jour pour être compatible avec la version 6 du plugin.

Cette méthode est uniquement valable pour les systèmes Windows 10.

5.1 - Avant-propos

La majeure partie du développement du plugin est réalisée sous Linux (Raspbian, Fedora) en s’appuyant sur du code Python pour permettre l’exécution sur plateforme Windows.

Néanmoins, installer l’ensemble DomoticZ et ZiGate sous Windows 10 n’est pas réellement plug and play.

On est très vite confronté à chercher des informations éparpillées sur le net, à lire des retours d’expérience dans de nombreux forums et tenter d’éviter les pièges sous Windows.

Après plusieurs tests et échecs, je vous fais part de mon expérience qui m’a permis en partie de comprendre et de solutionner les problèmes d’installation avec un peu de rigueur.

Un conseil : installer tous les logiciels en mode Administrateur ! (Clic droit dans Windows, exécuter en tant qu’administrateur). Sinon, vous risquez d’installer partiellement un logiciel et ne pas vous en rendre compte sur le coup.

5.2 - Procédure

5.2.A - Installation de DomoticZ

Le premier conseil est d’installer DomoticZ (version stable par exemple) dans un répertoire autre que le classique Programmes (x86) par défaut. Sinon, il faudra jouer avec les droits utilisateurs. Si tel est le cas, pour modifier les droits, ouvrez l’explorateur Windows, faire clic-droit sur le disque C :, puis propriétés, onglet sécurité :

Win10 Installation

Attention, DomoticZ et ZiGate ont besoin d’écrire des fichiers dans des sous répertoires et un droit d’accès manquant pourra faire apparaître dans l’onglet « Configuration/log » de DomoticZ ce type de message :

Win10 Installation

Même en attribuant le maximum de droits autorisés (administrateur, utilisateur avec droits en écriture …), il m’est arrivé d’obtenir ce message (peut être un oubli…). Pour éviter tout problème, j’ai finalement choisi d’installer DomoticZ directement à la racine sous C:\Domoticz et depuis aucun problème. D’autres utilisateurs n’ont pas eu de problèmes en mettant DomoticZ dans le dossier C:\Program files (x86).

5.2.B - Installation des coordinateurs

5.2.B.1 - La ZiGate

Il est recommandé d’installer la ZiGate selon les instructions disponibles sur le site officiel : https://zigate.fr/documentation/tester-la-zigate-usb

Installer les pilotes (pour le convertisseur USB rouge, allez sur le site de siliconlabs et télécharger CP210x Universal Windows Driver )

Tester l’application TestGUI (vous pouvez télécharger le fichier zip en allant dans la rubrique code sur le site https://github.com/fairecasoimeme/ZiGate puis le dézipper dans un répertoire dédié). Vous pouvez également utiliser un client Git pour Windows (voir 3.2 ci après)

L’application se situe dans un sous répertoire Tools et se nomme ZGWUI.exe

Vérifier que la ZiGate est correctement installée et fonctionnelle en effectuant les tests mentionnés sur le site de ZiGate

5.2.B.2 - La clé Sonoff

Aucune manipulation à effectuer, elle est directement reconnue par Windows et affectée à un port COM.

5.2.C - Logiciels additionnels

Pour la suite, deux logiciels sont nécessaires et utiles pour réaliser une installation propre sous Windows.

5.2.C.1 - Python

Installer une version de Python prenant en charge DomoticZ comme indiqué dans le Wiki: Using Python plugins in DomoticZ

Installer une version 32 bits pour Windows à partir du site Python.org (par exemple, 3.5.2 et 32 bits) : https://www.python.org/downloads/windows

Si la version est compatible avec DomoticZ, un message de statut dans l’onglet « Configuration/Log » de DomoticZ l’indiquera au démarrage:

Win10 Installation

Autrement, un message du type Python Failed apparaîtra.

Pour avoir testé plusieurs versions avec échec et succès, j’ai finalement opté pour conserver la version 3.5.2 (mentionnée dans le wiki DomoticZ) qui a fonctionné correctement et j’ai supprimé toutes les autres .

Il est possible cependant d’installer et de conserver plusieurs versions de python sur son ordinateur. Pour connaître la version active en cours, cliquer sur l’icône Démarrer Windows, puis entrer CMD dans la barre de recherche afin de lancer l’invite de commande (clic droit, exécuter en tant qu’administrateur). Enfin taper : python --version

Gérer plusieurs version python avec py sous Windows n’est pas forcément simple mais des explications sont disponibles à la fin du Wiki consacré à Python et DomoticZ Using Python plugins in DomoticZ

Il est fort possible que la librairie libpython utile à DomoticZ ne soit pas installée (vérifiez si un fichier du type libpython3.x existe dans le sous répertoire « libs » de python). S’il n’existe pas, effectuez la même opération avec la commande : py -m pip install libpython3.8 Cela donne donc : C:\Program Files (x86)\Python35-32>py -m pip install libpython3.8

En fonction de la version x de Python installée, vous devez installer libpython3.x Attendre que l’installation du package soit terminé (vous devez être connecté à Internet).

5.2.C.2 - Git pour Windows

De nombreux packages de plugin sont disponibles sur GitHub pour DomoticZ. C’est le cas notamment pour pour les clefs ZigBee.

Sous Windows, le plus simple pour gérer ce type de packages est de télécharger et d’installer un client de téléchargement « git » en allant sur le site officiel : https://gitforwindows.org/

5.2.D. - Installation du plugin ZiGate

La dernière étape consiste à installer le plugin ZigBeeForDomoticZ pour gérer les coordinateurs ZigBee dans DomoticZ.

L’arborescence du plugin est installée:

Win10 Installation

Le plugin ZigBee for DomoticZ doit apparaître dans la liste des matériels installables (tout en bas de la fenêtre déroulante Type). Passer à l’étape 2 Paramétrage du plugin.

5.3 - Un PC Windows comme box domotique

Avec l’apparition des mini PC fanless sous Windows 10 pour une centaine d’euros, il est tentant de se constituer sa box à l’aide du logiciel DomoticZ et de la clé ZiGate USB avec protocole ZigBee .

Mais en cas de coupure de courant, une box domotique doit être en état de repartir. DomoticZ étant dans le groupe de démarrage, l’application se relance automatiquement.

Malheureusement, l’invite de Windows 10, en vous demandant d’introduire votre mot de passe, interrompt ce processus de lancement automatique.

Pour éviter ce désagrément (surtout lorsqu’on est absent du domicile), il est possible d’éviter d’entrer le mot de passe du compte courant à l’invite de Windows (l’inconvénient est un PC accessible à tous, à vous de choisir).

Pour cela, taper netplwiz dans l’invite de commande Windows et exécuter la commande


6 - Installation d’une PiZigate (RPi3B+) sous Linux avec Raspbian

Cette méthode est uniquement valable pour la PiZigate installée sur Raspbian (rédaction par Pierre Gielen).

Important : Cette méthode d’installation n’est pas valable pour une installation d’une ZiGate USB, Wifi ou Ethernet sur un Raspberry (voir les installations sous Linux).

6.1 - Prérequis

   sudo apt-get update
   sudo apt-get upgrade
   sudo apt-get install python3-dev
    gpio -v
    gpio readall

Si non, installer wiringpi : sudo apt-get install wiringpi

6.2 - Procédure

    sudo nano /etc/rc.local
    gpio mode 0 out
    gpio mode 2 out
    gpio write 2 1
    gpio write 0 0
    gpio write 0 1
    sudo systemctl disable hciuart
    sudo usermod -ag gpio <pi>
    sudo shutdown

Arrêter le Raspberry Pi : sudo halt

6.3 - Mise à jour

Avant de faire une mise à jour du firmware de la PiZigate en flash mode, il faut modifier les GPIO :

0 gpio way out
2 gpio way out
gpio write 2 0
gpio write 0 0
gpio write 0 1

Redémarrer le Pi après la mise à jour du firmware. La configuration par défaut du rc.local sera appliquée.


7 - Installation d’une PiZigate (RPi3B+) sous Linux avec Fedora 29

Cette méthode est uniquement valable pour la PiZigate installée sur Fedora 29.

Important : Cette méthode d’installation n’est pas valable pour une installation d’une ZiGate USB, Wifi ou Ethernet sur un Raspberry (voir les installations sous Linux).

Au départ, la PiZigate n’était fonctionnelle que sur Raspbian. Mais après plusieurs essais et quelques modifications, la PiZigate et DomoticZ sont complètement opérationnels sous Fedora 29.

7.1 - Prérequis

7.2 - Procédure

Voici un exemple de ce que vous devriez avoir :

    label Fedora (5.4.17-200.fc31.armv7hl) 31 (Thirty One)
    kernel /vmlinuz-5.4.17-200.fc31.armv7hl
    append ro root=UUID=2161061e-8612-4e18-a4e1-0e95aca6d2ff LANG=en_US.UTF-8 selinux=0 audit=0 rd.driver.blacklist=nouveau iomem=relaxed
    fdtdir /dtb-5.4.17-200.fc31.armv7hl/
    initrd /initramfs-5.4.17-200.fc31.armv7hl.img
   [domoticz@rasp Fedora]$ ./PiZiGate_test-fedora /dev/ttyS1
   Opening : /dev/ttyS1 ...
   + /dev/ttyS1 opened --> OK
   + Packet 01 02 10 10 02 10 02 10 10 03 sent --> OK
   + Packet received --> OK
   size : 37
   01 80 00 00 05 95 00 00 00 10 00 03
   01 80 10 00 05 8f 00 03 03 1a 00 03

Le plugin ZigBee for DomoticZ doit apparaître dans la liste des matériels installables (tout en bas de la fenêtre déroulante Type). Passer à l’étape 2 Paramétrage du plugin.

8 - Installation sous OpenWRT

  1. Installer les paquets opkg nécessaires avec la commande :
 opkg install kmod-usb-serial kmod-usb-serial-cp210x shadow-usermod python3 python3-pip python3-voluptuous python3-cryptodome python3-attrs python3-aiohttp python3-jsonschema domoticz curl
  1. Installer les paquets Python nécessaires avec la commande :
 pip install aiosqlite crccheck pyusb pyserial-asyncio coloredlogs
  1. Aller dans le répertoire Domoticz-Zigbee. La commande est normalement :
 cd /etc/domoticz/plugins
  1. Exécuter la commande :
 git clone --recurse-submodules --depth 1 https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git

Le répertoire Domoticz-Zigbee sera créé dans le dossier plugins.

  1. Aller dans le répertoire Domoticz-Zigbee. La commande est normalement :
 cd Domoticz-Zigbee/
  1. DomoticZ est configuré automatiquement pour fonctionner sous l’utilisateur domoticz et dans le groupe domoticz. Attribuer les permissions avec la commande :
 sudo chown -R domoticz:domoticz .
 usermod -a -G dialout domoticz
  1. Rendre le fichier plugin.py exécutable en lançant la commande :
 sudo chmod +x plugin.py
  1. Redémarrer DomoticZ. La commande est normalement :
 sudo service domoticz.sh restart
  1. Vérifier que le dongle USB est détecté avec les commandes :
 lsusb
 dmesg | grep ttyUSB

Le plugin ZigBee for DomoticZ doit apparaître dans la liste des matériels installables (tout en bas de la fenêtre déroulante Type). Passer à l’étape 2 Paramétrage du plugin.