Zigbee2MQTT. Inclure des accessoires Xiaomi Aqara à Domoticz via plugin ou Node-RED • Domotique et objets connectés à faire soi-même

Un plugin est disponible pour faciliter l’inclusion des accessoires Zigbee à Domoticz (ou Home Assistant). Il n’est plus nécessaire de traduire les messages MQTT à l’aide de Node-RED  Pour pourrez intégrer des accessoires Zigbee Philips, Xiaomi Aqara ou Mijia sans avoir besoin d’une gateway officielle. Si vous découvrez le projet Zigbee2MQTT,  commencez par lire cet article qui explique comment fabriquer votre propre gateway Zigbee ainsi que son principe de fonctionnement.

Dernière mise à jour : 20 avril 2020

Je vous propose de tester plusieurs accessoires Xiaomi Aqara. Le capteur d’ambiance (température, humidité, baromètre), le détecteur d’ouverture de porte ou fenêtre ainsi que le détecteur de présence par infrarouge.

Préparer la gateway Zigbee2mqtt pour les accessoires Aqara et Mijia

Vous aurez donc besoin de fabriquer la gateway Zigbee2mqtt et d’installer le projet sur le serveur Domoticz. Si la couverture Zigbee est insuffisante, vous pouvez fabriquer plusieurs gateway. Je vous conseille toutefois de ne pas inclure un même accessoire Aqara sur plusieurs passerelles pour ne pas multiplier inutilement les messages MQTT.

Le pont zigbee2mqtt utilise un CC2531 de Texas Instrument. Vous aurez besoin d’acheter un CC Debugger de Texas Instrument (environ 8€) pour installer et mettre à jour le firmware sur le sniffer ainsi qu’un câble spécifique (GBAN) qui permet de relier le CC Debugger au Sniffer CC2531 (environ 2€) à chaque fois que vous voulez mettre à jour le firmware.

Il est possible d’acheter des sniffer CC2531 pour augmenter la couverture Zigbee mais il est souvent plus avantageux d’acheter un kit de démarrage pour débuter.

ll est également possible d’acheter séparément les composants.

Suivez le tutoriel précédent qui explique étape par étape comment fabriquer la gateway Zigbee2MQTT.

Vous pouvez aussi imprimer en 3D un boitier de protection disponible sur Thingiverse.

Installer un serveur MQTT (Mosquitto) sur le Raspberry

Vous aurez également besoin d’un serveur MQTT. Le plus simple est de l’installer sur le même Raspberry Pi sur lequel est installé Domoticz. Exécutez la commande suivante pour installer le serveur et le client MQTT Mosquitto sur Raspbian. L’installation du client est optionnelle mais toutefois fortement conseillée pour tester et suivre les messages MQTT publiés par la passerelle Zigbee.

sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

Pour en savoir plus sur MQTT et comment sécuriser l’accès au serveur, vous pouvez lire ce tutoriel.

Inclure les accessoires Aqara ou Mijia au pont Zigbee2MQTT

Comme nous l’avons vu dans la première partie, il suffit d’appuyer sur le micro-interrupteur d’inclusion disponible sur chaque accessoire. La procédure d’inclusion varie d’un accessoire à l’autre. De façon générale, il faudra maintenir le bouton d’inclusion entre 5 et 10 secondes jusqu’à ce que la LED bleue clignote. Ensuite, il faudra appuyer chaque seconde jusqu’à ce que le jumelage soit terminé pour éviter que l’accessoire ne se mette en veille.

Voici deux illustrations du bouton d’inclusion pour le contacteur de porte (MCCGQ01LM) et le capteur de température/humidité/baromètre (WSDCGQ11LM).

Lancez le script de la gateway

cd /opt/zigbee2mqtt
npm start

Attendez d’avoir le message Zigbee: allowing new devices to join.

Dès que le premier message arrive (détection de mouvement, mesure de température…), c’est terminé,. Votre accessoire Zigbee est maintenant jumelé.

2018-6-4 12:37:41 INFO Zigbee: allowing new devices to join.
2018-6-4 12:37:48 WARN Message without device!
spinlock: false []
2018-6-4 12:38:04 INFO New device with address 0x00158d000155d2b7 connected!
2018-6-4 12:38:04 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"device_connected","message":"0x00158d000155d2b7"}'
2018-6-4 12:38:08 INFO Connecting with device...
2018-6-4 12:38:08 INFO MQTT publish, topic: 'zigbee2mqtt/bridge/log', payload: '{"type":"pairing","message":"connecting with device"}'
2018-6-4 12:38:13 INFO Connecting with device...

Je vous conseille ensuite de renommer chaque accessoire (par défaut, c’est le numéro de série qui est attribué comme nom de device).

nano /opt/zigbee2mqtt/data/configuration.yaml

En bas du fichier de configuration, vous allez trouver une nouvelle section nommée devices. Indiquez le nom de chaque accessoire avec la clé friendly_name. Evitez de mettre des espaces dans le nom des accessoires pour éviter les problèmes de Topic avec MQTT.

devices:
  '0x00158d000155d2b7':
    friendly_name: 'MiSWitch'
    retain: false

Relancez le script de la gateway lorsque c’est fait.

Installer les plugins officiels Domoticz

Deux plugins ont été développés pour faciliter l’intégration d’accessoires Zigbee à Domoticz et Home Assistant.

Suivez ce tutoriel qui explique en détail comment installer le plugin Zigbee2MQTT à Domoticz.

Une fois installé, vous disposez d’un nouveau type de matériel qui dispose d’un panneau de configuration. Il permet d’indiquer l’adresse IP du broker MQTT sur lequel récupérer les accessoires et d’activer / désactiver l’autorisation de jumelage.

Une fois configuré, tous vos accessoires déjà jumelés apparaissent automatiquement dans la liste des appareils. Il ne reste plus qu’à les ajouter comme n’importe quel autre accessoire domotique.

Comme vous pouvez le constater, le friendly name spécifié dans le fichier de configuration est correctement utilisé pour nommer les accessoires. Il ne reste plus qu’à déployer vos accessoires Zigbee comme n’importe quel autre accessoire en cliquant sur la flèche bleue.

Comment ajouter de nouveaux accessoires à Domoticz ?

Commencez par jumelé les nouveaux accessoires comme d’habitude.

Normalement, les nouveaux devices devraient être ajoutés automatiquement à la liste des accessoires disponibles mais si ce n’est pas le cas, ouvrez le plugin Zigbee2MQTT dans les appareils puis cliquez sur update (mettre à jour). Retournez voir la liste des accessoires, vous devriez y trouver les nouveaux appareils.

Inclure de nouveaux accessoires lorsque la gateway Zigbee démarre automatiquement

Une fois en production, vous aurez très certainement activé le démarrage automatique du script Zigbee2MQTT. Connectez vous en SSH à votre serveur et exécutez la commande suivante pour afficher le journal d’execution le temps d’inclure un nouvel accessoire.

sudo journalctl -u zigbee2mqtt.service -f

Installer Node-RED (obsolète, utiliser le plugin officiel)

Le pont Zigbee2mqtt publie les mesures et les états des capteurs Xiaomi vers un serveur MQTT. Ce sont des messages génériques qu’il va falloir ensuite “re-traiter” pour être utilisable par un serveur domotique par exemple. Pour le moment, le projet n’est compatible qu’avec Home Assistant nativement

wbntdzcrnj4uhufnfjzj-6881517

Pour envoyer des messages compréhensibles par Domoticz, je vous propose d’utiliser Node-RED. On aura juste besoin de 3 blocs (nodes) pour publier les mesures sur le connecteur MQTT de Domoticz. Je vous conseille également d’installer Node-RED sur le même serveur qui héberge Domoticz en exécutant la commande suivante.

bash