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 :
- 1 - Installation manuelle sous Linux
- 2 - Installation via Python Plugin Manager sous Linux
- 3 - Installation sur NAS Synology avec Jadahl Plus à jour > préférer Docker
- 4 - Installation sur NAS Synology avec Docker
- 5 - Installation sous Windows 10
- 6 - Installation d'une PiZigate (RPi3B+) sous Linux avec Raspbian
- 7 - Installation d'une PiZigate (RPi3B+) sous Linux avec Fedora 29
- 8 - Installation sous OpenWRT
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.
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).
- DomoticZ version supérieur ou égal à 2021.1 (voir Wiki DomoticZ)
- Python version supérieur ou égal à 3.8 installé (voir DomoticZ Python)
- Le paquet Git doit être installé (voir Installation de Git)
- Le paquet Pip doit être installé. Si besoin :
sudo apt install python3-pip
- Sur Raspberry Pi OS, il est déconseillé d'utiliser la version Lite car beaucoup de paquets sont manquants.
Ouvrir le terminal.
- Aller dans le répertoire DomoticZ puis le répertoire plugins. La commande est normalement :
cd domoticz/plugins/
- Exécuter la commande :
git clone https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git
Le répertoire Domoticz-Zigbee sera créé dans le dossier plugins.
- Aller dans le répertoire Domoticz-Zigbee. La commande est normalement :
cd Domoticz-Zigbee/
- 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.
- 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 .
- Exécuter la commande :
git config --add submodule.recurse true
- Installer les librairies Python manquantes avec la commande :
git submodule update --init --recursive
- Rendre le fichier plugin.py exécutable en lançant la commande :
sudo chmod +x plugin.py
- 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.
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).
- DomoticZ version supérieur à 2020.1 (voir Wiki DomoticZ)
- Python version supérieur à 3.8 installé (voir DomoticZ Python)
- Le plugin Python Plugin Manager doit être installé (voir pp-manager)
-
Aller dans le plugin Python Plugin Manager (pp-manager)
-
Rechercher ZiGate Plugin et ajouter le.
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.
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.
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.
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.
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.
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 :
cd userdata
curl https://raw.githubusercontent.com/zigbeefordomoticz/Domoticz-Zigbee/stable6/Tools/customstart.sh --output customstart.sh
Enfin, relancer le Conteneur.
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
-
Stopper le Conteneur. Cliquer sur 'Modifier' et aller dans l'onglet 'Paramètres des ports'. Il faut ajouter le port d'accès au WebUI (par défaut 9440) :
-
Lancer le Conteneur.
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.
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.
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.
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é :
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 :
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).
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
Aucune manipulation à effectuer, elle est directement reconnue par Windows et affectée à un port COM.
Pour la suite, deux logiciels sont nécessaires et utiles pour réaliser une installation propre sous Windows.
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:
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).
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/
La dernière étape consiste à installer le plugin ZigBeeForDomoticZ pour gérer les coordinateurs ZigBee dans DomoticZ.
-
Ouvrir une session avec le compte Administrateur
-
Arrêter le service DomoticZ
-
Ouvrir l’explorateur Windows et aller dans le sous-répertoire plugins de DomoticZ (par exemple C:\Program Files (x86)\Domoticz\plugins)
-
Supprimer entièrement le répertoire Domoticz-Zigbee s'il est présent
-
Depuis le répertoire plugins, ouvrir une fenêtre de commande en mode Administrateur
-
Copier les données du plugin avec la commande :
git clone https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git
-
Se positionner dans le répertoire du plugin
cd Domoticz-Zigbee
-
Exécuter
git config --add submodule.recurse true
-
Exécuter
git submodule update --init --recursive
-
Exécuter
pip3 install -r requirements.txt
-
Exécuter
symlink.bat
-
Redémarrer le service DomoticZ.
L’arborescence du plugin est installée:
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.
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
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).
- Assurez-vous d'avoir installé les dernières versions de Raspbian ainsi que python-dev
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-dev
- Testez l'installation de wiringpi :
gpio -v
gpio readall
Si non, installer wiringpi : sudo apt-get install wiringpi
- Activer les port GPIO dans le fichier rc.local pour qu'ils soient actifs après chaque redémarrage :
Mettre ces 5 lignes juste avant la ligne
exit 0
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
-
Désactiver le Bluetooth en permanence en éditant le fichier config.txt :
sudo nano /boot/config.txt
Mettre cette ligne à la fin du fichier :dtoverlay = pi3-disable-bt
-
Modifier le fichier cmdline.txt :
sudo nano /boot/cmdline.txt
Effacer le texte : console = serial0,115200 Sortez en sauvegardant les modifications -
Exécuter les commandes (en remplaçant
pi
par votre login)
sudo systemctl disable hciuart
sudo usermod -ag gpio <pi>
sudo shutdown
Arrêter le Raspberry Pi : sudo halt
-
Brancher la PiZigate sur les ports GPIO
-
Redémarrer le Pi
-
Mettre l'accessibilité de l'adaptateur série (serial adapter) à 'No' en utilisant raspi-config option P6 (Interfacing options / serial):
sudo raspi-config
-
Installer le plugin ZigBee for DomoticZ comme pour une Installation manuelle sous Linux
-
Redémarrer le Pi
-
Démarrer la PiZigate:
Tools/pi-zigate.sh run
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.
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.
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.
-
Activer UART
-
Éditer le fichier
/boot/efi/config.txt
- S'assurer que les lignes suivantes ne sont pas commentées.
enable_uart=1
dtoverlay = pi3-disable-bt
- reboot
- S'assurer que les lignes suivantes ne sont pas commentées.
-
Désactiver Getty on /dev/ttyS1
systemctl stop [email protected]
systemctl disable [email protected]
-
-
Vérifier qu'il n'y a plus de processus attaché à /dev/ttyS1 :
lsof /dev/ttyS1
orps -ef | grep ttyS1
-
Vérifier les droits d'accès sur /dev/ttyS1 :
ls -l /dev/ttyS1
-
Éditer /etc/group et s'assurer que l'utilisateur exécutant DomoticZ appartient au groupe tty :
sudo usermod -aG tty domoticz
-
S'assurer que /dev/ttyS1 est en lecture/écriture
sudo chmod 666 /dev/ttyS1
-
Activer les GPIO
-
Installer libgpiod et python3 RPi.GPIO :
sudo dnf install python3-RPi.GPIO libgpiod-utils
-
Éditer /etc/exlinux.conf et ajouter iomem=relaxed in the append statement
-
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
-
Installer le plugin ZigBee for DomoticZ comme pour une Installation manuelle sous Linux
-
Utiliser l'outil pi-zigate-fedora.py disponible dans Tools/Fedora pour basculer sur la PiZigate :
sudo python3 Tools/Fedora/pi-zigate-fedora.py run
-
Vérification
-
Un outil est disponible Tools/Fedora pour tester la communication avec la PiZigate. Cet outil est basé sur l'outil PiZiGate_test et n'a pas d'autres fonctionnalités qu'un test de communication.
-
Recompiler l'outil
gcc -o PiZiGate_test-fedora PiZiGate_test-fedora.c
-
Exécuter
./PiZiGate_test-fedora /dev/ttyS1
-
[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.
- 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
- Installer les paquets Python nécessaires avec la commande :
pip install aiosqlite crccheck pyusb pyserial-asyncio coloredlogs
- Aller dans le répertoire Domoticz-Zigbee. La commande est normalement :
cd /etc/domoticz/plugins
- 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.
- Aller dans le répertoire Domoticz-Zigbee. La commande est normalement :
cd Domoticz-Zigbee/
- 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
- Rendre le fichier plugin.py exécutable en lançant la commande :
sudo chmod +x plugin.py
- Redémarrer DomoticZ. La commande est normalement :
sudo service domoticz.sh restart
- 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.