Home Assistant coordinates Zigbee2MQTT through MQTT rather than by treating Zigbee2MQTT as part of Home Assistant Core. Zigbee2MQTT owns the Zigbee coordinator and mesh interaction, an MQTT broker carries messages, and Home Assistant's MQTT integration turns discovery and state topics into entities that automations can use.
This separation is powerful because Zigbee transport, message brokering, and home-automation logic can restart or move independently. It also creates a three-service dependency chain: a Zigbee device can be healthy while Home Assistant shows it unavailable if Zigbee2MQTT, the broker, discovery, or availability messaging is broken.
Zigbee2MQTT Owns the Radio-Side Device Conversation
Zigbee2MQTT communicates with the coordinator, maintains Zigbee device definitions, receives reports from the mesh, and converts them into MQTT messages. Home Assistant does not need direct access to that coordinator when Zigbee2MQTT owns it.
The Zigbee2MQTT Home Assistant integration guide explains that MQTT discovery is the standard path for automatically creating Zigbee2MQTT devices and entities in Home Assistant.
That ownership boundary matters during recovery. Restarting Home Assistant should not require repairing the Zigbee mesh, and restarting Zigbee2MQTT should not erase Home Assistant automations that refer to stable entity identities.
The MQTT Broker Is the Message Boundary Between the Two Services
Zigbee2MQTT publishes device state and bridge information to MQTT topics. Home Assistant subscribes to the relevant topics and publishes commands back when an automation or user changes a device.
The MQTT broker is the message boundary because Zigbee2MQTT publishes messages to topics while Home Assistant subscribes to the topics it needs and publishes commands back through the same broker. A current MQTT architecture guide explains how publishers and subscribers remain decoupled while the broker routes topic-based messages between them.
If the broker fails, the Zigbee mesh can continue existing while the Home Assistant view stops updating. Diagnose the broker separately from the coordinator and from Core.
Discovery Describes the Entities; State Topics Keep Them Current
Discovery messages tell Home Assistant what entity should exist, which topics provide state and commands, what device it belongs to, and how values should be interpreted. Once the entity exists, ordinary state messages keep it current.
A reload or restart can expose mistakes here. A Home Assistant community case documents how MQTT-discovered entities can remain unavailable when the expected rediscovery or retained state path does not rebuild correctly.
Use stable unique IDs and a deliberate rediscovery strategy. Recreating entities under new identities after every bridge change breaks dashboards, history continuity, and automations even if the physical Zigbee device never changed.
Availability Is a Separate Signal From Device State
A state such as ON tells Home Assistant the last reported value; it does not prove that Zigbee2MQTT or the device is currently reachable. Availability topics provide a separate liveness contract.
Zigbee2MQTT availability treats powered and battery devices differently because passive devices cannot be pinged on demand. Its current documentation specifies that active devices use shorter check-in windows and ping/backoff logic, while passive devices rely on much longer check-in windows. Availability should therefore be interpreted separately from the last retained state.
Do not trigger safety-critical actions from a stale state without considering availability. A retained value can be useful for reconstruction while still representing a device that is currently offline.
Startup Order Should Rebuild the Contract, Not Depend on Luck
The clean startup sequence is not merely โbroker first, then Zigbee2MQTT, then Home Assistant.โ Services may start in different orders, so the messaging contract must tolerate reconnects. Zigbee2MQTT should reconnect to the broker, discovery should become available, Home Assistant should subscribe, and current state should be republished or retained as designed.
ZimaSpace's smart-home event examples show how MQTT lets smart-home services exchange local events without sharing one process or one physical server. Zigbee2MQTT is a concrete example of that decoupling.
| Layer | Primary responsibility | Failure symptom |
|---|---|---|
| Zigbee2MQTT | Zigbee mesh and device translation | No fresh Zigbee messages |
| MQTT broker | Message delivery between services | Publish/subscribe path fails |
| Home Assistant MQTT | Entity discovery and state mapping | Entities missing/unavailable |
| Automation/Core | Rules and service calls | Entity is healthy but action logic fails |
FAQ
Does Zigbee2MQTT require Home Assistant to keep the Zigbee network alive?
No. Zigbee2MQTT owns the coordinator-side Zigbee network. Home Assistant is a consumer and command source through MQTT. Home Assistant can be offline while the Zigbee2MQTT service and broker remain running.
Why do Zigbee2MQTT entities become unavailable after a broker or Home Assistant restart?
Usually because discovery, retained state, availability, or reconnect messaging has not rebuilt the full MQTT contract yet. Check Zigbee2MQTT bridge state, broker connectivity, discovery topics, and entity availability before re-pairing devices.
Tech & AI HUB
More to Read

Why Does Home Assistant Perform Differently on LAN and Remote Connections?
LAN and remote Home Assistant sessions use different network paths; remote latency adds DNS, encryption, WAN, proxy or VPN, and reconnect behavior.

Does Home Assistant Work Reliably Behind CGNAT or Double NAT?
CGNAT and double NAT usually do not affect local Home Assistant control; they mainly change how remote clients can create an inbound path to...

How Does Network Latency Affect Home Assistant During Internet Outages?
Internet loss and network latency are different failures: local device paths can stay fast while DNS, cloud integrations, gateways, or remote clients wait.

