Installer une passerelle zigbee sous Domoticz avec une clée ConBee II


On va ici utiliser une clé USB ConBee II de deCONZ à 40€ sur Amazon.

Elle va permettre à Domoticz de communiquer avec le matériel qui fonctionne avec le protocole zigbee, comme des interrupteurs ou détecteurs Xiaomi, Ikea ou encore des lampes Philips.

Ce site en fait une présentation très complète.

Cette page elle donne le matériel compatible avec une ConBee II, tout en sachant que la liste n'est pas vraiment à jour.

La solution embarque un serveur web et une  web API qui permettra à Domoticz de communiquer avec. Il n'y a pas besoin de serveur MQTT.

La page officielle de la méthode d'installation sur Raspberry Pi est https://phoscon.de/en/conbee2/install#raspbian.

Installer git avec

sudo apt install git

Lien vers le fichier : cliquez ici

Comme expliqué sur le git du plugin, cad https://github.com/Smanar/Domoticz-deCONZ
il faut la requests library sous peine d'avoir un message d'erreur
"Module Import failed: ' Name: requests'"

sudo -H pip3 install requests
sudo -H pip install requests

Lien vers le fichier : cliquez ici

deconz va s'installer avec le port 80, pour s assurer que Domoticz utilise un autre port comme le 8080, taper

sudo nano /etc/init.d/domoticz.sh

Lien vers le fichier : cliquez ici

Modifier le port si nécessaire dans $DAEMON_ARGS -www
et rebooter

Redémarrer le service de domoticz pour prise en compte

systemctl restart domoticz.service

Lien vers le fichier : cliquez ici

Donner les droits sur l'USB à l'utilisateur courant.
Ici c'est pi, donc taper

sudo gpasswd -a $USER dialout

Lien vers le fichier : cliquez ici

Voila qui est fait

Importer la clé publique deCONZ de Phoscon avec

wget -O - http://phoscon.de/apt/deconz.pub.key | \
           sudo apt-key add -

Lien vers le fichier : cliquez ici

Ajout du dépot avec

wget -O - http://phoscon.de/apt/deconz.pub.key | \
           sudo apt-key add -

Lien vers le fichier : cliquez ici

Début de l'installation en commençant par

sudo apt update

Lien vers le fichier : cliquez ici

Puis

sudo apt install deconz

Lien vers le fichier : cliquez ici

La fin de l'installation

On va désactiver le lancement de l'interface graphique de Deconz car on ne se servira que de son interface web.

sudo systemctl disable deconz-gui

Lien vers le fichier : cliquez ici

Activation de Deconz (enfin de son service) avec

sudo systemctl enable deconz

Lien vers le fichier : cliquez ici

Lancement du service

sudo systemctl start deconz

Lien vers le fichier : cliquez ici

La page web de gestion de deconz doit maintenant être joignable.
Depuis le navigateur d'une machine, taper l'ip de votre raspberry, vous devez voir votre clé conbee II

En cliquant sur votre clé, on vous demande d'entrer un mot de passe qui vous servira uniquement pour accéder à cette page web

Déclarez y vos périphériques zigbee.
Par exemple dans Sensors j'ai déclaré un détecteur de présence


Notez que normalement le répertoire de Domoticz est dans votre home
qu'on peut atteindre en tapant

cd ~

Lien vers le fichier : cliquez ici

On va maintenant essayer ce piloter ce que l'on a déclaré dans deconz dans Domoticz via un plugin qui fait le lien.

Pour installer ce plugin domoticz, on va aller le chercher sur github

cd domoticz/plugins
git clone https://github.com/Smanar/Domoticz-deCONZ.git

Lien vers le fichier : cliquez ici

Donner les droits d'exécution au plugin

sudo chmod +x Domoticz-deCONZ/plugin.py

Lien vers le fichier : cliquez ici

Rebooter

sudo reboot

Lien vers le fichier : cliquez ici

Faire un Pull

cd domoticz/plugins/Domoticz-deCONZ
sudo git pull

Lien vers le fichier : cliquez ici

Si un message indique que c'est déjà à jour c'est que c'est bon

Dans le même répertoire, déclarer une clé API et la noter

python3 API_KEY.py 127.0.0.1:80 create

Lien vers le fichier : cliquez ici

Donc bien noter la clé

Sous Domoticz, sous Configuration Materiel

Allez déclarer un matériel de type deCONZ plugin avec un nom comme deCONZ zigbee Bridge

Cliquer sur ajouter

Sous Configuration>Paramètres>Système>Matériels, autoriser pendant 5 minutes (les nouveaux dispositifs)

Alors c'est très con mais à priori pour l'activer il faut recliquer dessus et cliquer sur modifier

Aller dans les logs

Vous devez voir un deCONZ ready
et sur la ligne du dessous il doit voit les périphériques que vous avez collé dans deconz


Maintenant que la passerelle est déclarée et que sous Configuration>Paramètres>Système>Matériels on a autorisé pendant 5 minutes les nouveaux dispositifs,
aller sous Configuration > Dispositifs
on y voit les périphériques zigbee détectés par la passerelle Conbee II.
Si vous ne voyez pas votre dispositif, retournez sur l'interface de la passerelle Conbee II.

Notez que la liste du matériel compatible avec la passerelle Conbee II est disponible sur https://www.phoscon.de/en/conbee2/compatible
Si le fabriquant de votre module n'est pas dedans, çà sent pas bon.

Pour créer un device à partir d'un des capteurs, il faut cliquer sur la flèche verte

Il se peut que malgré que le périphérique soit détecté et visible dans l'interface de Phoscon / deconz / la ConBee II mais pas sous Domoticz.

Dans les logs vous voyez un message du type

Error: zigbee: (zigbee) Can't Update Unit > 15

Dans ce cas on peut tenter un reset du plugin deCONZ sous Configuration > Matériel

Sélectionner juste deCONZ plugin puis cliquer sur Modifier


L'état des services deconz peuvent se voir avec

systemctl list-unit-files --type=service | grep deconz

Lien vers le fichier : cliquez ici

Ou de façon plus complète avec

systemctl status deconz
systemctl status deconz-gui

Lien vers le fichier : cliquez ici

Les logs sous Linux peuvent se voir avec

tail -f /var/log/syslog

Lien vers le fichier : cliquez ici

Ou encore avec

sudo journalctl -u deconz-gui

Lien vers le fichier : cliquez ici

Un lancement manuel de la page web de deconz peut se faire avec

sudo systemctl disable deconz
sudo systemctl disable deconz-gui
sudo systemctl stop deconz
sudo systemctl stop deconz-gui
/usr/bin/deCONZ -platform minimal --http-port=80

Lien vers le fichier : cliquez ici

Et pour réactiver les services du coup :

sudo systemctl enable deconz
sudo systemctl start deconz

sudo systemctl enable deconz-gui
sudo systemctl start deconz-gui

Lien vers le fichier : cliquez ici

L'installation de la partie propre à la clé conbee II est expliquée sur le site du fabriquant, sur https://phoscon.de/en/conbee/install#raspbian

Ensuite l'installation du plugin qui permet à Domiticz de l'utiliser est expliquée sur https://github.com/Smanar/Domoticz-deCONZ

On y trouve également la liste des marques compatibles.

Le point d'entrée qui m'a permi de trouver l'un et l'autre est http://wolverine52.free.fr/index.php?article=domoticz-installer_le_protocole_zigbee

L'url du forum est https://forum.phoscon.de et pour le wiki c'est https://github.com/dresden-elektronik/deconz-rest-plugin/wiki

Cette page permet de télécharger les différentes versions de deconz.

http://deconz.dresden-elektronik.de/...permet de télécharger les firmwares et le github, cad https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Update-deCONZ-manually, permet d'avoir la procédure ainsi que GCFFlasher pour le mettre en place.

On trouve d'autres clés Zigbee listées sur zigbee2mqtt.io par exemple. Sur cette vidéo youtube il parle de la Slaesh's CC2652RB.

Si vous devez installer une version plus ancienne de deconz car la dernière bug, comme c'est arrivé pour une personne sur https://forum.phoscon.de/t/deconz-upgrade-from-2-11-5-to-2-12-6-crashes/350/2

Copiez l'url d'une version que l'on trouve sur
https://deconz.dresden-elektronik.de/raspbian/stable/

Aller sur votre home folder avec un cd ~faites un wget de l'url

Désinstaller l'ancien Deconz avec

sudo apt remove deconz

Lien vers le fichier : cliquez ici

Comme expliquer sur https://help.ubuntu.com/kubuntu/desktopguide/fr/manual-install.html
Utiliser dpkg pour installer le package téléchargé

sudo dpkg -i nompackagedeb

Lien vers le fichier : cliquez ici

Exemple

Sur https://presentationdeconz.wordpress.com/ca-marche-pas/
il donne ce tableau qui peut servir

DeviceChemin d'accès
ConBee/dev/ttyUSB0
Conbee II/dev/ttyACM0
RaspBeedev/ttyAMA0 ou /dev/ttyS0

Mais il y a mieux car cette commande vous affiche la vérité.
Elle est donnée sur https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Update-deCONZ-manually

ls -la /dev/serial/by-id/