Hoe coördineert Home Assistant Zigbee2MQTT met Core?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Home Assistant coördineert Zigbee2MQTT via MQTT in plaats van Zigbee2MQTT als onderdeel van Home Assistant Core te behandelen. Zigbee2MQTT beheert de Zigbee-coördinator en de interactie met het mesh-netwerk, een MQTT-broker transporteert berichten en de MQTT-integratie van Home Assistant zet discovery- en statustopics om in entiteiten die automatiseringen kunnen gebruiken.

Deze scheiding is krachtig omdat Zigbee-transport, berichtenroutering en domoticalogica onafhankelijk van elkaar kunnen worden herstart of verplaatst. Er ontstaat echter ook een afhankelijkheidsketen met drie services: een Zigbee-apparaat kan goed functioneren terwijl Home Assistant het als niet beschikbaar toont als Zigbee2MQTT, de broker, discovery of beschikbaarheidsberichten niet werken.

Zigbee2MQTT beheert de communicatie met apparaten aan de radiokant

Zigbee2MQTT communiceert met de coördinator, beheert Zigbee-apparaatdefinities, ontvangt meldingen uit het mesh-netwerk en zet deze om in MQTT-berichten. Home Assistant heeft geen rechtstreekse toegang tot die coördinator nodig wanneer Zigbee2MQTT deze beheert.

De handleiding voor de Zigbee2MQTT Home Assistant-integratie legt uit dat MQTT-discovery de standaardmethode is om Zigbee2MQTT-apparaten en -entiteiten automatisch in Home Assistant aan te maken.

Deze eigendomsgrens is belangrijk tijdens herstel. Het herstarten van Home Assistant zou niet moeten vereisen dat het Zigbee-meshnetwerk opnieuw wordt gekoppeld, en het herstarten van Zigbee2MQTT zou de Home Assistant-automatiseringen die verwijzen naar stabiele entiteitsidentiteiten niet mogen wissen.

De MQTT-broker vormt de berichten-scheiding tussen beide services

Zigbee2MQTT publiceert apparaatstatus en bridge-informatie naar MQTT-topics. Home Assistant abonneert zich op de relevante topics en publiceert opdrachten terug wanneer een automatisering of gebruiker een apparaat wijzigt.

De MQTT-broker vormt de berichten-scheiding omdat Zigbee2MQTT berichten naar topics publiceert, terwijl Home Assistant zich abonneert op de benodigde topics en via dezelfde broker opdrachten terug publiceert. Een actuele MQTT-architectuurhandleiding legt uit hoe publishers en subscribers ontkoppeld blijven terwijl de broker topicgebaseerde berichten tussen hen routeert.

Als de broker uitvalt, kan het Zigbee-meshnetwerk blijven bestaan terwijl de Home Assistant-weergave niet meer wordt bijgewerkt. Diagnoseer de broker afzonderlijk van de coördinator en Core.

Discovery beschrijft de entiteiten; statustopics houden ze actueel

Discovery-berichten vertellen Home Assistant welke entiteit moet bestaan, welke topics status en opdrachten leveren, bij welk apparaat deze hoort en hoe waarden moeten worden geïnterpreteerd. Zodra de entiteit bestaat, houden gewone statusberichten deze actueel.

Een herlaadactie of herstart kan fouten hier zichtbaar maken. Een casus in de Home Assistant-community documenteert hoe via MQTT ontdekte entiteiten niet beschikbaar kunnen blijven wanneer het verwachte rediscovery- of retained-statepad niet correct opnieuw wordt opgebouwd.

Gebruik stabiele unieke ID's en een doordachte rediscoverystrategie. Entiteiten na elke bridgewijziging onder nieuwe identiteiten opnieuw aanmaken, verbreekt dashboards, continuïteit van historische gegevens en automatiseringen, zelfs als het fysieke Zigbee-apparaat nooit is gewijzigd.

-15% OFF
Single board computer zimaboard2

Beschikbaarheid is een afzonderlijk signaal van de apparaatstatus

Een status zoals ON vertelt Home Assistant wat de laatst gemelde waarde was; dit bewijst niet dat Zigbee2MQTT of het apparaat momenteel bereikbaar is. Beschikbaarheidstopics bieden een afzonderlijk levendigheidssignaal.

De beschikbaarheidsfunctie van Zigbee2MQTT behandelt apparaten die van netstroom worden voorzien anders dan apparaten op batterijen, omdat passieve apparaten niet op aanvraag kunnen worden gepingd. De actuele documentatie specificeert dat actieve apparaten kortere controlevensters en ping-/backofflogica gebruiken, terwijl passieve apparaten afhankelijk zijn van veel langere controlevensters. Beschikbaarheid moet daarom afzonderlijk van de laatst bewaarde status worden geïnterpreteerd.

Activeer geen veiligheidskritieke acties op basis van een verouderde status zonder rekening te houden met beschikbaarheid. Een bewaarde waarde kan nuttig zijn voor reconstructie en toch een apparaat vertegenwoordigen dat momenteel offline is.

De opstartvolgorde moet het contract opnieuw opbouwen en niet van geluk afhangen

De juiste opstartvolgorde is niet simpelweg “eerst de broker, daarna Zigbee2MQTT en vervolgens Home Assistant”. Services kunnen in verschillende volgordes starten, dus het berichtencontract moet bestand zijn tegen opnieuw verbinden. Zigbee2MQTT moet opnieuw verbinding maken met de broker, discovery moet beschikbaar komen, Home Assistant moet zich abonneren en de actuele status moet opnieuw worden gepubliceerd of, zoals ontworpen, bewaard blijven.

De smart-home-evenementvoorbeelden van ZimaSpace laten zien hoe MQTT smart-home-services lokale gebeurtenissen laat uitwisselen zonder dat ze hetzelfde proces of dezelfde fysieke server delen. Zigbee2MQTT is een concreet voorbeeld van die ontkoppeling.

Laag Primaire verantwoordelijkheid Symptoom bij uitval
Zigbee2MQTT Zigbee-meshnetwerk en vertaling van apparaatberichten Geen nieuwe Zigbee-berichten
MQTT-broker Berichtenbezorging tussen services Publish-/subscribe-pad werkt niet
Home Assistant MQTT Discovery van entiteiten en statuskoppeling Entiteiten ontbreken of zijn niet beschikbaar
Automatisering/Core Regels en serviceaanroepen Entiteit functioneert, maar de actielogica faalt

Veelgestelde vragen

Heeft Zigbee2MQTT Home Assistant nodig om het Zigbee-netwerk actief te houden?

Nee. Zigbee2MQTT beheert het Zigbee-netwerk aan de kant van de coördinator. Home Assistant is via MQTT een ontvanger en bron van opdrachten. Home Assistant kan offline zijn terwijl de Zigbee2MQTT-service en de broker actief blijven.

Waarom worden Zigbee2MQTT-entiteiten niet beschikbaar na een herstart van de broker of Home Assistant?

Meestal omdat discovery, bewaarde status, beschikbaarheid of berichten voor opnieuw verbinden het volledige MQTT-contract nog niet opnieuw hebben opgebouwd. Controleer de bridge-status van Zigbee2MQTT, de brokerverbinding, discovery-topics en de beschikbaarheid van entiteiten voordat je apparaten opnieuw koppelt.

Tech & AI HUB

Meer om te lezen

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.