Comment Home Assistant coordonne-t-il Zigbee2MQTT avec Core ?

Eva Wong est la rédactrice technique et bricoleuse résidente chez ZimaSpace. Geek depuis toujours, passionnée par les homelabs et les logiciels open source, elle se spécialise dans la traduction de concepts techniques complexes en guides accessibles et pratiques. Eva croit que l’auto-hébergement doit être amusant, pas intimidant. À travers ses tutoriels, elle donne à la communauté les moyens de démystifier les configurations matérielles, depuis la construction de leur premier NAS jusqu’à la maîtrise des conteneurs Docker.

Home Assistant coordonne Zigbee2MQTT via MQTT au lieu de traiter Zigbee2MQTT comme une partie du cœur de Home Assistant. Zigbee2MQTT gère le coordinateur Zigbee et les interactions avec le réseau maillé, un broker MQTT transporte les messages, et l’intégration MQTT de Home Assistant transforme les sujets de découverte et d’état en entités que les automatisations peuvent utiliser.

Cette séparation est puissante, car le transport Zigbee, le courtage des messages et la logique domotique peuvent redémarrer ou être déplacés indépendamment. Elle crée également une chaîne de dépendances entre trois services : un appareil Zigbee peut fonctionner correctement tandis que Home Assistant l’affiche comme indisponible si Zigbee2MQTT, le broker, la découverte ou les messages de disponibilité sont défaillants.

Zigbee2MQTT gère les échanges avec les appareils côté radio

Zigbee2MQTT communique avec le coordinateur, maintient les définitions des appareils Zigbee, reçoit les rapports du réseau maillé et les convertit en messages MQTT. Home Assistant n’a pas besoin d’accéder directement à ce coordinateur lorsque Zigbee2MQTT le gère.

Le guide d’intégration de Zigbee2MQTT avec Home Assistant explique que la découverte MQTT est la méthode standard pour créer automatiquement des appareils et des entités Zigbee2MQTT dans Home Assistant.

Cette limite de responsabilité est importante lors d’une récupération. Le redémarrage de Home Assistant ne devrait pas nécessiter de réappairer le réseau Zigbee, et le redémarrage de Zigbee2MQTT ne devrait pas supprimer les automatisations Home Assistant qui utilisent des identifiants d’entité stables.

Le broker MQTT constitue la frontière des messages entre les deux services

Zigbee2MQTT publie l’état des appareils et les informations du pont sur des sujets MQTT. Home Assistant s’abonne aux sujets pertinents et publie les commandes en retour lorsqu’une automatisation ou un utilisateur modifie un appareil.

Le broker MQTT constitue la frontière des messages, car Zigbee2MQTT publie les messages sur des sujets, tandis que Home Assistant s’abonne aux sujets dont il a besoin et publie les commandes en retour via le même broker. Un guide actuel sur l’architecture MQTT explique comment les éditeurs et les abonnés restent découplés pendant que le broker achemine les messages fondés sur des sujets entre eux.

Si le broker tombe en panne, le réseau Zigbee peut continuer d’exister tandis que l’affichage de Home Assistant cesse de se mettre à jour. Diagnostiquez le broker séparément du coordinateur et du cœur de Home Assistant.

La découverte décrit les entités ; les sujets d’état les maintiennent à jour

Les messages de découverte indiquent à Home Assistant quelle entité doit exister, quels sujets fournissent l’état et les commandes, à quel appareil elle appartient et comment les valeurs doivent être interprétées. Une fois l’entité créée, les messages d’état ordinaires la maintiennent à jour.

Un rechargement ou un redémarrage peut révéler des erreurs à ce niveau. Un cas documenté par la communauté Home Assistant montre comment des entités découvertes via MQTT peuvent rester indisponibles lorsque le processus attendu de redécouverte ou de récupération de l’état conservé ne se reconstruit pas correctement.

Utilisez des identifiants uniques stables et une stratégie de redécouverte réfléchie. Recréer les entités avec de nouveaux identifiants après chaque modification du pont rompt les tableaux de bord, la continuité de l’historique et les automatisations, même si l’appareil Zigbee physique n’a pas changé.

-15% OFF

La disponibilité est un signal distinct de l’état de l’appareil

Un état tel que ON indique à Home Assistant la dernière valeur signalée ; il ne prouve pas que Zigbee2MQTT ou l’appareil est actuellement accessible. Les sujets de disponibilité fournissent un contrat de présence distinct.

La gestion de la disponibilité dans Zigbee2MQTT traite différemment les appareils alimentés sur secteur et ceux fonctionnant sur batterie, car les appareils passifs ne peuvent pas être interrogés à la demande. Sa documentation actuelle précise que les appareils actifs utilisent des fenêtres de contrôle plus courtes ainsi qu’une logique de ping et de temporisation progressive, tandis que les appareils passifs reposent sur des fenêtres de contrôle beaucoup plus longues. La disponibilité doit donc être interprétée séparément du dernier état conservé.

Ne déclenchez pas d’actions critiques pour la sécurité à partir d’un état obsolète sans tenir compte de la disponibilité. Une valeur conservée peut être utile pour reconstruire l’état tout en représentant un appareil actuellement hors ligne.

L’ordre de démarrage doit reconstruire le contrat, et non dépendre de la chance

La séquence de démarrage correcte ne consiste pas simplement à « démarrer d’abord le broker, puis Zigbee2MQTT, puis Home Assistant ». Les services peuvent démarrer dans des ordres différents ; le contrat de messagerie doit donc tolérer les reconnexions. Zigbee2MQTT doit se reconnecter au broker, la découverte doit devenir disponible, Home Assistant doit s’abonner, et l’état actuel doit être republié ou conservé selon la configuration prévue.

Les exemples d’événements domotiques de ZimaSpace montrent comment MQTT permet aux services domotiques d’échanger des événements locaux sans partager un même processus ou un même serveur physique. Zigbee2MQTT est un exemple concret de ce découplage.

Couche Responsabilité principale Symptôme de défaillance
Zigbee2MQTT Réseau maillé Zigbee et traduction des appareils Aucun nouveau message Zigbee
Broker MQTT Transmission des messages entre les services Le chemin de publication et d’abonnement échoue
MQTT de Home Assistant Découverte des entités et mappage de l’état Entités absentes ou indisponibles
Automatisation/Cœur Règles et appels de service L’entité fonctionne, mais la logique d’action échoue

FAQ

Zigbee2MQTT a-t-il besoin de Home Assistant pour maintenir le réseau Zigbee actif ?

Non. Zigbee2MQTT gère le réseau Zigbee côté coordinateur. Home Assistant est un consommateur et une source de commandes via MQTT. Home Assistant peut être hors ligne tandis que le service Zigbee2MQTT et le broker continuent de fonctionner.

Pourquoi les entités Zigbee2MQTT deviennent-elles indisponibles après le redémarrage du broker ou de Home Assistant ?

Généralement parce que la découverte, l’état conservé, la disponibilité ou les messages de reconnexion n’ont pas encore entièrement reconstruit le contrat MQTT. Vérifiez l’état du pont Zigbee2MQTT, la connectivité du broker, les sujets de découverte et la disponibilité des entités avant de réappairer les appareils.

Centre Tech & IA

Plus à lire

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.