Zigbee2MQTT
Zigbee2MQTT is an open-source (MIT-licensed) bridge that runs a Zigbee network from a USB coordinator dongle and publishes every device over MQTT, making any supported Zigbee device usable in Home Assistant and other platforms without a vendor hub. Its device database — the zigbee-herdsman-converters project — is the most comprehensive public record of Zigbee devices, and the source of the 5,405 Zigbee devices in our dataset.
Each supported device has a community-maintained converter that maps its Zigbee clusters, including manufacturer-proprietary ones, to clean MQTT topics. That is why Zigbee2MQTT frequently exposes features a device’s own hub hides, and why obscure Tuya-derived hardware often works there first. It runs on anything from a Raspberry Pi up, commonly as a Home Assistant add-on, paired with a coordinator like the Sonoff ZBDongle-E or SMLIGHT SLZB-06.
Zigbee2MQTT is a DIY platform: you administer it yourself, and support comes from documentation and community rather than a vendor. We treat “supported by Zigbee2MQTT” as a compatibility signal in its own right — it also strongly predicts ZHA support, since the projects share device knowledge. HomeHubAtlas is not affiliated with or endorsed by the Zigbee2MQTT project.
| Licence | MIT — open source, no account, no vendor cloud |
|---|---|
| Devices supported in this dataset | 5,405 records from the zigbee-herdsman-converters database |
| Architecture | zigbee-herdsman drives the radio; converters normalise devices; everything is published over MQTT |
| What you must supply | A coordinator dongle and an MQTT broker, usually Mosquitto |
| Runs on | Raspberry Pi and up, as a Docker container or a Home Assistant add-on |
| Home Assistant integration | MQTT discovery — devices appear as entities with no manual configuration |
How the pieces fit together
Three layers. At the bottom, zigbee-herdsman drives the coordinator dongle and runs the Zigbee network — joining, routing, the trust centre, the lot. In the middle, zigbee-herdsman-converters turns each device’s clusters and attributes into a clean JSON payload, applying whatever manufacturer-specific handling that model needs. At the top, the result is published to MQTT topics, and anything that speaks MQTT can subscribe.
That middle layer is why Zigbee2MQTT is not simply “ZHA with extra steps”. A converter is a per-model description of what the device really does, written by someone who owned one and read the traffic. It is the difference between a Tuya thermostat that exposes a temperature and one that exposes a temperature, a setpoint, a valve position, a child lock, and a calibration offset.
The MQTT decoupling has an operational benefit worth naming: your Zigbee network runs in its own process. Restart Home Assistant, upgrade it, break it, migrate it to new hardware, and the Zigbee network never notices. With ZHA, the Zigbee stack lives inside Home Assistant and shares its fate.
What “supported” does and does not mean
A device in the supported list has a converter, which means at minimum it is recognised and its standard functions are exposed. It does not always mean every feature works — converters are written against the hardware the author had, and firmware revisions of the same model number sometimes behave differently. The device page in the Zigbee2MQTT documentation lists exposed properties model by model, and that list is the honest answer.
New and obscure hardware usually lands here first. Because anybody can write and submit a converter, white-label Tuya devices and small-brand sensors often work in Zigbee2MQTT months before a commercial hub acknowledges they exist, and external converters let you add support locally without waiting for a release. This is the practical reason the project’s device list is the most complete public record of Zigbee hardware, and why we use it as our Zigbee compatibility source.
The corollary is that support quality varies. A flagship Hue or Aqara device has been exercised by thousands of users; a €6 sensor from a marketplace listing may have one contributor and a converter that covers half its functions. Treat a supported-list entry as strong evidence, not as certification.
Living with it
The web frontend covers most day-to-day work: pairing, renaming, a live network map showing which device routes through which, per-cluster binding, group management, availability tracking, and OTA firmware updates from a shared community index. None of that requires editing files, though the YAML configuration is still where advanced settings live.
The costs are the usual open-source ones. You own the upgrades, and an occasional release changes a payload format or a device’s exposed properties in a way that breaks an automation. Read the release notes on major versions, keep the network backup somewhere off the machine, and do not upgrade the coordinator firmware and Zigbee2MQTT in the same evening.
Choosing between this and ZHA is a preference, not a capability gap in most homes. Zigbee2MQTT wins on device-feature coverage, binding control, network visibility, and process isolation. ZHA wins on having nothing extra to install and no broker to maintain. Both drive the same dongles, and moving between them means restoring a network backup and letting devices re-interview.
Frequently asked questions
Is Zigbee2MQTT better than ZHA?
It exposes more per-device features, gives you a binding UI, a network map, and an OTA index, and keeps the Zigbee network running independently of Home Assistant. ZHA needs no broker and no separate service. If you have fewer than about twenty mainstream devices, ZHA is simpler and you will not miss anything; if you buy cheap or obscure hardware, or you want bindings and visibility, Zigbee2MQTT is the better tool.
Do I need an MQTT broker to use Zigbee2MQTT?
Yes — the M in the name is not decorative. Mosquitto is the standard choice and is available as a one-click Home Assistant add-on, so in practice this is a few minutes of setup rather than a project. If running a broker is genuinely unwelcome, ZHA is the integration that does not need one.
Can I use Zigbee2MQTT without Home Assistant?
Yes. It publishes to MQTT and has its own web frontend, so it works standalone or with Node-RED, openHAB, Domoticz, or anything else that can subscribe to a topic. Home Assistant is the most common companion because MQTT discovery makes the integration automatic, but it is not a dependency.
How do I check whether my device is supported?
Look it up by exact model number in the Zigbee2MQTT supported-devices list, which is the source behind the 5,405 Zigbee devices on this site. Check the exposed properties on the device page rather than stopping at the model name — a device can be listed and still be missing the one function you wanted. Beware near-identical model numbers from white-label vendors.
Can I switch from ZHA to Zigbee2MQTT without re-pairing everything?
Usually. Both projects can export and restore the network key, PAN ID, and channel, so devices rejoin the restored network rather than needing to be reset. Expect a re-interview period where devices are slowly rediscovered, and expect entity names and automations to need rewriting, because the two platforms name things differently.