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 Zigate (FR),
- la Conbee II,
- et la ZigbeeToMqtt.
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
- Version de HA : core-2021.7.4
- Version de Zigbee2mqtt : V1.18.1-1
- MQTT Broker
- Kit complet cc2531 USB sniffer, CC Debugger, câble Download. (Aliexpress)
- SmartRF Flash Programmer (ne pas prendre la V2, le site officiel nécessite une inscription.) ou alors sur le GDrive.
- le Driver du CC Debugger pour Windows
- le firmware CC2531 Default.
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.
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 ».
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.
Une fois votre capteur associé, rendez vous dans Configuration
, intégration
puis MQTT
. Vous devrez voir votre nouveau capteur.
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.
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.
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
Annexes
Vos sources
- ZigbeeToMQTT
- hassio-zigbee2mqtt
- Firmwares Zigbee
- Troubleshooting Zigbee
- Ajouter une extension ou add-ons officiel et non officiel
- Renommer vos devices
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 () @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.