✅ Zigbee2MQTT, monter, intégrer, monitorer

licence

Le Zigbee est un protocole domotique qui, à l’origine, se devait être un protocole universel compatible pour tous.
Mais les gros constructeurs ont vu, avec l’arrivée des marchés asiatiques, des produits équivalents à des prix quatre fois moins chers.
Pour protéger leurs « technologies » (comprendre prix), ils ont décidé de rendre leur protocole non compatible avec les autres, ce qui a pour effet de se retrouver avec une gateway (passerelle) par constructeur.

C’est là qu’intervient la passerelle universelle.

Il en existe plusieurs :

La première, la Zigate (49 euros min), marche très bien sur les autres plateforme domotique mais malheureusement, elle est mal intégrée dans Home Assistant (c’est pour cela que j’ai dû en changer). et compatible Zigbee2MQTT et ZHA donc elle est maintenant reconnu correctement sur Home Assistant (et c’est cocorico).

La Conbee II (40 euros), je ne connais pas mais elle est très utilisé sous Home Assistant.

La dernière, ZigbeeToMQTT est composé du CC2531 (moins de 20 euros) qui permet, une fois flashée, d’avoir une passerelle Zigbee.

Cette derniere entame son transfert vers les archives, même si elle suffit a la plupart des devices elle ne supporte pas « officiellement » le zigbee 3, pour cela il faudrat se tourner vers des cc26xx (environ 30 euros) ou la Sonoff (15 euros fdp compris)

Nous allons voir comment flasher cette dernière et l’intégrer à Home Assistant.
Nous allons voir la méthode de flash classique (via CC Debugger). Pour les versions alternatives rendez vous ici.

Niveau requis

  • Débutant / Intermédiaire / Avancé

Matériels nécessaires / Matériels utilisés / Prérequis

un dossier sur le drive de la communauté contient tous les fichiers nécessaires ICI

Préparations

Flash de la clé

Installez les drivers pour Windows, en cliquant sur Setup_SmartRF_Drivers-1.2.0 dans votre dossier du driver.

Idem avec Setup_SmartRF_Flash_Programmer-1.12.8 le programme de flash.

Faîtes vos branchements mais ne reliez rien à votre PC.

Maintenant relier le sniffer USB sur un port et le Debugger sur un autre port.

Si vous avez un voyant LED vert sur le Debugger, c’est gagné si elle est rouge appuyez sur le bouton reset du Debugger. Si elle persiste au rouge rendez vous sur le site de Texas instrument pour analyser le Troubleshooting.

Démarrez SmartRF Flash Programmer, vérifiez la présence de votre CC Debugger, sélectionnez votre fichier et réglez le programme comme l’image.

  • Interface : Fast
  • Flash image : votre firmware téléchargé.
  • Location : Primary
  • Retain IEEE : Décoché
  • Actions : Erase, program and verify

Cliquez sur Perform actions la lumière verte du CC2531 devrait s’éteindre et à la fin se rallumer.

Flash CC2531

Branchements

Vous pouvez débrancher votre clé Zigbee et la brancher sur l’hôte de votre Home Assistant.
Essayé d’installer une rallonge USB entre votre clé Zigbee et l’hôte pour éviter les interférences.

Attention si vous branchez votre clé Zigbee alors que votre Home Assistant est démarré, il va planter** il faudra redémarrer, je vous conseille donc d’éteindre votre Home Assistant puis une fois la clé branchée, redémarrer.

Intégration à Home Assistant

Installation de l’add-ons

Suivre l’article sur l’installation d’un add-ons non officiel en ajoutant la source https://github.com/danielwelch/hassio-zigbee2mqtt.
Recherchez zigbee2mqtt et installez la version « bridge ».

Installation Addons Non Officiel

Configuration de l’add-ons

Voici un exemple de fichier de configuration avec le canal 25 comme bande utilisée, pour éviter les interférences avec le Wi-Fi Français.

data_path: /config/zigbee2mqtt
external_converters: []
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
serial:
  port: /dev/ttyACM0
advanced:
  log_level: warn
  pan_id: 6754
  channel: 25
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blocklist: []
  availability_passlist: []
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental: {}
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: '-d -d'
  log: false

Il vous reste a démarrer l’add-ons.

Gérer vos équipements Zigbee

Ajouter un capteur

Pour ajouter un nouveau capteur, il vous suffit de :

  • Lancer l’interface via l’add-ons ou la barre latérale (Si vous l’avez activé dans l’add-ons),
  • Cliquer sur Permit join (All),
  • Lancer la procédure d’appairage de votre capteur,
  • Attendre que votre capteur apparait.

Je vous conseil de commencer par les appareils/capteurs faisant routeur même si il semblerait que le réseau se reforme correctement au fur et à mesure.

Ajouter un capteur avec Zigbee2MQTT

Une fois votre capteur associé, rendez vous dans Configuration, intégration puis MQTT. Vous devrez voir votre nouveau capteur.

Vérifier le nouveau capteur Zigbee2MQTT

Votre capteur a été ajouté. En cliquant dessus vous pouvez le renommer, ajouter une carte Lovelace intégrant tous les éléments, créer des scènes, des scripts et des automations.

Il est possible de les renommer directement depuis Zigbee2MQTT, personnellement je préfère cette solution, mais il faudra le faire avant de les intégrer dans une automation, script ou scène.

Renommer capteur sous Zigbee2MQTT

Mettre à jour vos capteurs

Via l’interface

Zigbee2MQTT vous permet de mettre à jour certaines marque de capteur comme Osram, Ikéa, Xiaomi ou Philips. Ceux pouvant recevoir une
mise à jour on une Entité supplémentaire nommée nomEntité_update_available.

Si une mise à jour est disponible alors cette entité sera Active, il vous suffit alors de retourner dans l’interface Zigbee2MQTT puis dans l’onglet OTA. Cliquer sur Check All OTA puis sur Update OTA du capteur à mettre à jour.

Mise a jour capteur Zigbee2MQTT

Via la commande

Outils de développement, MQTT puis dans publier un paquet mettre :

  • Sujet : zigbee2mqtt/bridge/request/device/ota_update/update
  • Payload : Soit le nom ou l’adresse IEEE.
service: mqtt.publish
data:
  topic: zigbee2mqtt/bridge/request/device/ota_update/update
  payload: '{"id": "Prise Cafetière"}'

Conclusion

Vous avez maintenant une passerelle universelle pour tous vos appareils Zigbee.
Elle vous permettra de faire communiquer plus d’objets, non compatibles à l’origine, entre eux sans passer par des clouds chinois ou autres.

Une question, un problème

Besoin d'aide ? Cliquez ici !

Annexes

Vos sources

Suivi des modifications

  • 27/10/2021 : Mise à jour et ajout sur le drive.
  • 27/07/2021 : Mise à jour du tutoriel dans sa globalité @McFly
  • 01/02/2021 : Passage en article officiel (:hacf_tuto:) @Sylvain_G
  • 26/06/2020 : Publication Officielle. @McFly
  • 27/05/2020 : Mise à jour & corrections et publication. @McFly
  • 15/05/2020 : Suppression des image de la partie Installation Add-ons. @McFly
  • 13/05/2020 : Création de l’article.
2 « J'aime »

Merci @McFly pour ce super article didactique !:+1:
Je voulais apporter un complément d’informations issu de mon petit retour d’expérience sur le réseau maillé Zigbee.
Cet extrait Conbee 2 - zigbee et maillage réseau - #9 par Yves19 - Protocole domotique - Communauté Jeedom semble expliquer qu’il y a une latence d’au moins 24h pour stabiliser le réseau pour que les devices détectent progressivement le meilleur entre coordinateurs et routeurs . D’autant pour les devices sur piles (ex. détecteur mouvement Xiaomi) qui ont besoin d’être réveillés pour forcer/accélérer la convergence vers le meilleur routeur/coordinateur.
On peut même voir les liaisons peuvent même disparaître, ça semble normal.
Ci-dessous le jour où j’ai rajouté le répéteur zigbee :


Et ci-dessous quelques jours plus tard :

1 « J'aime »

20 messages ont été scindés en un nouveau sujet : Zigbee2MQTT, monter, intégrer, monitorer