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.
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).
sudo apt install python3-pip
Ouvrir le terminal.
cd domoticz/plugins/
git clone https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git
Le répertoire Domoticz-Zigbee sera créé dans le dossier plugins.
cd Domoticz-Zigbee/
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.
sudo chown -R pi:pi .
git config --add submodule.recurse true
git submodule update --init --recursive
sudo chmod +x plugin.py
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).
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 :
Créer un nouveau terminal :
Dans le terminal, lancer les commandes :
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
Créer un nouveau terminal :
Dans le terminal, lancer les commandes :
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.
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
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).
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
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
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
/boot/efi/config.txt
enable_uart=1
dtoverlay = pi3-disable-bt
systemctl stop serial-getty@ttyS1.service1
systemctl disable serial-getty@ttyS1.service
Vérifier qu’il n’y a plus de processus attaché à /dev/ttyS1 : lsof /dev/ttyS1
or ps -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.
gcc -o PiZiGate_test-fedora PiZiGate_test-fedora.c
./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.
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
pip install aiosqlite crccheck pyusb pyserial-asyncio coloredlogs
cd /etc/domoticz/plugins
git clone --recurse-submodules --depth 1 https://github.com/zigbeefordomoticz/Domoticz-Zigbee.git
Le répertoire Domoticz-Zigbee sera créé dans le dossier plugins.
cd Domoticz-Zigbee/
sudo chown -R domoticz:domoticz .
usermod -a -G dialout domoticz
sudo chmod +x plugin.py
sudo service domoticz.sh restart
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.