Le Zigbee est un protocole très répandu ces temps dans le monde de la domotique pour tous, il est sans fil, faible consommation, faible bande passante et utilise le maillage réseau pour étendre sa portée. Par rapport au Zwave, il est moins onéreux, plus simple à configurer et plus simple à appairer. En contrepartie les appareils ne sont pas certifiés, il y a de très bonnes marques comme Schneider Electric et de moins bonnes chinoiseries. Je rappelle qu'on parle de notre maison et qu'en matière d'électricité il ne faut pas faire n'importe quoi, comme piloter un chauffe eau avec un appareil sous dimensionner ou pas aux normes. Pour la petite histoire, j'ai eu un module Zwave qui a explosé, il était dans une poche d'encastrement murale aux normes, le module étant lui aussi aux normes, et bien tout s'est bien passé il n'a pas pris feu et la maison est toujours entière. Ne négligez pas la sécurité de vos appareils, jamais.
La passerelle, communément appelé coordinateur, entre les appareils Zigbee et ma domotique est une clé USB de 3ème génération de la marque SONOFF et j'utilisais précédemment une clé Conbee II. Bien que tout fonctionnait avec la seconde génération, la 3ème me parait plus stable et moins consommatrice. J'ai mis en place des répéteurs qui ont bien participé à la stabilité de l'ensemble, je n'ai pas eu de perte d'éléments depuis leurs mise en place. Coté passerelle informatique, j'utilise un conteneur Docker avec le logiciel Zigbee2mqtt, il est pour l'instant suivi et régulièrement mise à jour car beaucoup de logiciel de domotique passe par lui. Attention, tous les matériels ne sont pas reconnus dans Zigbee2mqtt, une liste plus ou moins à jour est disponible sur le site.
Installation du serveur Zigbee
Reportez vous aux billet précédents (ici et là ) pour en savoir plus sur ma configuration Proxmox et Docker.
On se rend dans le shell de notre serveur Proxmox et on créer notre machine virtuelle à partir du template docker et on lui adresse une IP fixe :
qm clone 910 114 --name zigbee
qm set 114 --ipconfig0 ip=10.1.4.114/23,gw=10.1.4.1
Dans Proxmox, on va aller dans la configuration Hardware de la VM et lui ajouter la clé USB Zigbee, la clé est bien reconnu par proxmox, pas de soucis de ce coté:
On peut démarrer notre VM.
Maintenant on se rend dans l'interface web de Portainer, on lie notre VM, et on ajoute Stack qui ressemble à ça :
version: '3.8'
services:
zigbee:
container_name: zigbee
image: koenkk/zigbee2mqtt:latest
restart: unless-stopped
volumes:
- data:/app/data
- /run/udev:/run/udev:ro
ports:
- 80:8080
environment:
- TZ=Europe/Paris
devices:
- /dev/ttyUSB0
volumes:
data:
Maintenant on se rend dans l'interface web du serveur Zigbee, dans l'exemple ce sera http://10.1.4.114. Dans l'onglet Paramètres, on va ajouter la clé USB :
Et on va configurer le serveur MQTT :
On redémarre directement depuis l'interface de zigbee2mqtt et on peut vérifier dans MQTT Explorer par exemple que le topic zigbee a bien été créé..
Pour ajouter un appareil, il faut activer l'appairage en haut de la fenêtre et suivre les instructions de la notice de l'appareil. (Tous ne s'incluent pas de la même manière.)
Voila pour le protocole Zigbee, dans le prochain billet on ajoutera la VM RFXCom.