Wie koordiniert Home Assistant Zigbee2MQTT mit dem Core?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Home Assistant koordiniert Zigbee2MQTT über MQTT, anstatt Zigbee2MQTT als Teil des Home Assistant Core zu behandeln. Zigbee2MQTT verwaltet den Zigbee-Koordinator und die Interaktion mit dem Mesh-Netzwerk, ein MQTT-Broker überträgt Nachrichten, und die MQTT-Integration von Home Assistant wandelt Discovery- und Statusthemen in Entitäten um, die von Automatisierungen verwendet werden können.

Diese Trennung ist leistungsfähig, weil Zigbee-Transport, Nachrichtenvermittlung und Hausautomatisierungslogik unabhängig voneinander neu gestartet oder verschoben werden können. Sie erzeugt jedoch auch eine Abhängigkeitskette aus drei Diensten: Ein Zigbee-Gerät kann ordnungsgemäß funktionieren, während Home Assistant es als nicht verfügbar anzeigt, wenn Zigbee2MQTT, der Broker, Discovery oder die Verfügbarkeitsnachrichten gestört sind.

Zigbee2MQTT verwaltet die geräteseitige Funkkommunikation

Zigbee2MQTT kommuniziert mit dem Koordinator, verwaltet Zigbee-Gerätedefinitionen, empfängt Meldungen aus dem Mesh-Netzwerk und wandelt sie in MQTT-Nachrichten um. Home Assistant benötigt keinen direkten Zugriff auf diesen Koordinator, wenn Zigbee2MQTT ihn verwaltet.

Der Integrationsleitfaden von Zigbee2MQTT für Home Assistant erklärt, dass MQTT Discovery der Standardweg ist, um Zigbee2MQTT-Geräte und -Entitäten automatisch in Home Assistant zu erstellen.

Diese Zuständigkeitsgrenze ist bei der Wiederherstellung wichtig. Ein Neustart von Home Assistant sollte keine erneute Kopplung des Zigbee-Mesh-Netzwerks erfordern, und ein Neustart von Zigbee2MQTT sollte keine Home-Assistant-Automatisierungen löschen, die auf stabile Entitäts-IDs verweisen.

Der MQTT-Broker bildet die Nachrichtengrenze zwischen den beiden Diensten

Zigbee2MQTT veröffentlicht Gerätestatus und Brückeninformationen in MQTT-Themen. Home Assistant abonniert die relevanten Themen und veröffentlicht Befehle zurück, wenn eine Automatisierung oder ein Benutzer ein Gerät ändert.

Der MQTT-Broker bildet die Nachrichtengrenze, weil Zigbee2MQTT Nachrichten in Themen veröffentlicht, während Home Assistant die benötigten Themen abonniert und Befehle über denselben Broker zurückveröffentlicht. Ein aktueller Leitfaden zur MQTT-Architektur erklärt, wie Publisher und Subscriber entkoppelt bleiben, während der Broker themenbasierte Nachrichten zwischen ihnen weiterleitet.

Wenn der Broker ausfällt, kann das Zigbee-Mesh-Netzwerk weiterhin bestehen, während die Ansicht in Home Assistant nicht mehr aktualisiert wird. Diagnostizieren Sie den Broker getrennt vom Koordinator und vom Core.

Discovery beschreibt die Entitäten; Statusthemen halten sie aktuell

Discovery-Nachrichten teilen Home Assistant mit, welche Entität existieren soll, welche Themen Status und Befehle bereitstellen, zu welchem Gerät sie gehört und wie Werte interpretiert werden sollen. Sobald die Entität existiert, halten gewöhnliche Statusnachrichten sie aktuell.

Ein Neuladen oder Neustart kann hier Fehler sichtbar machen. Ein Fall aus der Home-Assistant-Community dokumentiert, wie über MQTT erkannte Entitäten nicht verfügbar bleiben können, wenn der erwartete Pfad für die erneute Discovery oder den gespeicherten Status nicht korrekt wiederhergestellt wird.

Verwenden Sie stabile eindeutige IDs und eine geplante Strategie für die erneute Discovery. Das erneute Erstellen von Entitäten mit neuen IDs nach jeder Änderung an der Bridge beschädigt Dashboards, die Kontinuität des Verlaufs und Automatisierungen, selbst wenn sich das physische Zigbee-Gerät nie geändert hat.

-15% OFF

Verfügbarkeit ist ein separates Signal vom Gerätestatus

Ein Status wie ON teilt Home Assistant den zuletzt gemeldeten Wert mit; er beweist nicht, dass Zigbee2MQTT oder das Gerät aktuell erreichbar ist. Verfügbarkeitsthemen stellen einen separaten Vertrag für die Erreichbarkeit bereit.

Die Verfügbarkeitsfunktion von Zigbee2MQTT behandelt Geräte mit Stromversorgung und batteriebetriebene Geräte unterschiedlich, da passive Geräte nicht auf Anfrage angepingt werden können. Die aktuelle Dokumentation legt fest, dass aktive Geräte kürzere Prüfintervalle sowie Ping- und Backoff-Logik verwenden, während passive Geräte auf deutlich längere Prüfintervalle angewiesen sind. Die Verfügbarkeit sollte daher getrennt vom zuletzt gespeicherten Status interpretiert werden.

Lösen Sie keine sicherheitskritischen Aktionen anhand eines veralteten Status aus, ohne die Verfügbarkeit zu berücksichtigen. Ein gespeicherter Wert kann für die Wiederherstellung nützlich sein und dennoch ein Gerät repräsentieren, das aktuell offline ist.

Die Startreihenfolge sollte den Vertrag wiederherstellen und nicht vom Zufall abhängen

Die saubere Startreihenfolge lautet nicht einfach „zuerst der Broker, dann Zigbee2MQTT und anschließend Home Assistant“. Dienste können in unterschiedlicher Reihenfolge starten, daher muss der Nachrichtenvertrag erneute Verbindungen tolerieren. Zigbee2MQTT sollte sich wieder mit dem Broker verbinden, Discovery sollte verfügbar werden, Home Assistant sollte abonnieren, und der aktuelle Status sollte wie vorgesehen erneut veröffentlicht oder gespeichert werden.

Die Smart-Home-Ereignisbeispiele von ZimaSpace zeigen, wie MQTT es Smart-Home-Diensten ermöglicht, lokale Ereignisse auszutauschen, ohne denselben Prozess oder denselben physischen Server gemeinsam zu nutzen. Zigbee2MQTT ist ein konkretes Beispiel für diese Entkopplung.

Ebene Hauptverantwortung Fehlersymptom
Zigbee2MQTT Zigbee-Mesh-Netzwerk und Geräteübersetzung Keine neuen Zigbee-Nachrichten
MQTT-Broker Nachrichtenübertragung zwischen Diensten Publish-/Subscribe-Pfad schlägt fehl
Home-Assistant-MQTT Entitäts-Discovery und Statuszuordnung Entitäten fehlen oder sind nicht verfügbar
Automatisierung/Core Regeln und Serviceaufrufe Entität ist funktionsfähig, aber die Aktionslogik schlägt fehl

FAQ

Benötigt Zigbee2MQTT Home Assistant, damit das Zigbee-Netzwerk aktiv bleibt?

Nein. Zigbee2MQTT verwaltet das Zigbee-Netzwerk auf der Koordinatorseite. Home Assistant ist über MQTT Verbraucher und Befehlsquelle. Home Assistant kann offline sein, während der Dienst Zigbee2MQTT und der Broker weiterlaufen.

Warum werden Zigbee2MQTT-Entitäten nach einem Neustart des Brokers oder von Home Assistant nicht verfügbar?

In der Regel liegt es daran, dass Discovery, gespeicherter Status, Verfügbarkeit oder Nachrichten zur erneuten Verbindung den vollständigen MQTT-Vertrag noch nicht wiederhergestellt haben. Prüfen Sie den Bridge-Status von Zigbee2MQTT, die Brokerverbindung, Discovery-Themen und die Entitätsverfügbarkeit, bevor Sie Geräte erneut koppeln.

Tech- & KI-Zentrum

Mehr zum Lesen

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.