Zigbee2MQTT gives you broader device compatibility and deeper control over your Zigbee network, while ZHA (Zigbee Home Automation) is the better pick if you want a working setup inside Home Assistant without configuring an MQTT broker. If you have more than 30 Zigbee devices or run hardware from niche brands, Zigbee2MQTT is the clear choice in 2026.
Both integrations share the same goal: connect your Zigbee sensors, bulbs, and switches to Home Assistant. But they take completely different paths to get there. One lives inside Home Assistant as a native integration. The other requires its own broker, its own configuration file, and its own update cycle. Here is exactly how they compare and which one you should actually use.
What Are ZHA and Zigbee2MQTT?
ZHA is the native Zigbee integration built directly into Home Assistant. It requires no external services, no MQTT broker, and no extra add-ons. You enable it from the integration settings, plug in a compatible coordinator, and you are pairing devices within minutes. Zigbee2MQTT is a separate open-source project that acts as a bridge between your Zigbee coordinator and a Mosquitto MQTT broker, which Home Assistant then reads as standard MQTT entities.
Both integrations require a Zigbee coordinator USB stick plugged into your Home Assistant host. The most widely used options in 2026 are the SONOFF Zigbee 3.0 USB Dongle Plus (based on the CC2652P chip) and the Nabu Casa SkyConnect (which supports both Zigbee and Thread). Either coordinator works with both ZHA and Zigbee2MQTT, so you do not need to buy different hardware depending on which integration you choose.
The key architectural difference: ZHA talks directly to the coordinator using the zigpy library. Zigbee2MQTT talks to the coordinator through its own firmware layer, converts device messages to JSON, and publishes them to Mosquitto. Home Assistant subscribes to those MQTT topics and creates entities from the payloads.
Device Compatibility: Which Supports More Zigbee Devices?
Zigbee2MQTT supports over 3,400 devices as of early 2026, sourced from its publicly maintained device database at zigbee2mqtt.io. ZHA supports fewer devices by raw count but covers all major consumer brands reliably. If your devices come from IKEA Tradfri, Aqara, Sonoff, Philips Hue, or Samsung SmartThings, both integrations will likely support them without custom configuration.
The gap shows up with lesser-known brands and newer hardware. Tuya-based devices, Chinese OEM sensors, and recently released Zigbee 3.0 products often appear in the Zigbee2MQTT database weeks before they are supported in ZHA. Zigbee2MQTT also lets you manually write a custom device definition file (called a converter) if your device is not in the database yet. ZHA has a similar mechanism called a quirk, but it is more technically demanding to write and submit.
If you are running an all-IKEA Tradfri or all-Aqara setup, ZHA is fully capable. If you mix brands or use obscure sensors from AliExpress, the Zigbee2MQTT device database is a practical advantage you will feel immediately.
Setup Complexity: ZHA vs Zigbee2MQTT Side by Side
ZHA takes three steps and no extra software. Zigbee2MQTT takes eight steps and requires you to install and configure a Mosquitto broker first. The difference in setup time is real, and it matters if you are building your first Home Assistant instance.
ZHA setup:
- Go to Settings > Devices & Services > Add Integration and search for ZHA.
- Select your Zigbee coordinator USB stick from the device list (for example, the SONOFF Zigbee 3.0 USB Dongle Plus).
- Confirm the serial port and click Submit. ZHA is now active and ready to pair devices.
Zigbee2MQTT setup:
- Install the Mosquitto broker add-on from the Home Assistant Add-on Store.
- Create an MQTT user in Home Assistant under People > Users.
- Start Mosquitto and configure the MQTT integration in Home Assistant.
- Install the Zigbee2MQTT add-on from the community add-on repository.
- Edit the Zigbee2MQTT configuration.yaml to set your serial port and MQTT credentials.
- Start the Zigbee2MQTT add-on and open its web UI.
- Enable joining mode in the Zigbee2MQTT interface.
- Pair your devices and confirm they appear in Home Assistant as MQTT entities.
Neither setup is technically out of reach, but the Zigbee2MQTT path has more failure points for someone new to Home Assistant.
ZHA vs Zigbee2MQTT: Feature Comparison
| Feature | ZHA | Zigbee2MQTT |
|---|---|---|
| Setup difficulty | Easy (3 steps, no broker) | Moderate (8 steps, MQTT required) |
| Device compatibility | ~2,000 devices (major brands) | 3,400+ devices (including niche brands) |
| MQTT broker required | No | Yes (Mosquitto) |
| Custom device support | Yes (quirks, harder to write) | Yes (converters, more accessible) |
| OTA firmware updates | Supported (limited brand coverage) | Supported (broader: IKEA, Tuya, Sonoff) |
| Network map / diagnostics | Basic map available | Detailed map, LQI, packet logs |
| Active development | Yes (Home Assistant core team) | Yes (large community, frequent releases) |
| Best for | Beginners, simple setups under 30 devices | Power users, mixed ecosystems, large networks |
Can You Switch from ZHA to Zigbee2MQTT Without Re-Pairing Devices?
No. Migrating from ZHA to Zigbee2MQTT requires you to re-pair every Zigbee device from scratch. The two systems store Zigbee network keys and device pairing data in incompatible formats, and there is no migration tool that converts the ZHA database to Zigbee2MQTT coordinator backup format. Plan for at least 30 minutes of re-pairing if you have a medium-sized network.
Zigbee2MQTT does offer a built-in backup and restore function that protects you when switching coordinators or reinstalling the add-on. You can export the full coordinator state (network key, channel, device list) and restore it to a new coordinator without re-pairing. This backup feature works only within Zigbee2MQTT itself, not across the ZHA boundary.
If you are considering the switch, the best approach is to install Zigbee2MQTT alongside ZHA temporarily using a second Zigbee coordinator on a different channel, pair devices one category at a time, and remove them from ZHA as you confirm they are stable in Zigbee2MQTT. This avoids a single disruptive migration event.
Which Should You Choose in 2026?
The right choice depends on your network size, device brands, and willingness to manage an MQTT broker. There is no single best answer, but the recommendation matrix below covers the majority of real-world setups.
- Beginner with fewer than 20 devices, major brands only: Use ZHA. It is faster to set up, requires no external services, and receives full support from the Home Assistant core team.
- Power user with 50 or more devices or mixed brands: Use Zigbee2MQTT. The larger device database, detailed network diagnostics, and OTA firmware coverage justify the additional setup complexity.
- Mixed ecosystem (Tuya, Sonoff, IKEA, Aqara all in one network): Use Zigbee2MQTT. Its converter system handles inconsistent Zigbee implementations from budget manufacturers far more reliably than ZHA quirks.
- Home Assistant Yellow or Home Assistant Green user: Either works, but ZHA with the built-in SkyConnect coordinator offers the fastest time to first paired device.
Both integrations are actively developed and receive updates regularly. Choosing ZHA today does not lock you in permanently, but the re-pairing cost of switching is high enough that getting the decision right the first time saves you significant effort.
For more on building a reliable smart home setup, see Ordoh guides on Home Assistant configurations and smart home device reviews.
Frequently Asked Questions
Is Zigbee2MQTT better than ZHA for beginners?
No. ZHA is better for beginners because it requires no external services, no MQTT broker, and no configuration files. You enable it from the Home Assistant integration menu, select your Zigbee coordinator, and start pairing. Zigbee2MQTT requires installing Mosquitto, configuring credentials, and editing a YAML configuration file before you can pair a single device.
Can I run ZHA and Zigbee2MQTT at the same time in Home Assistant?
No, not on the same Zigbee coordinator. Each integration requires exclusive access to the coordinator serial port. You can run both simultaneously only if you have two separate Zigbee coordinator USB sticks, each on a different Zigbee channel. This is occasionally done during migrations but is not a practical long-term setup for most users.
Does ZHA or Zigbee2MQTT support more Zigbee devices in 2026?
Zigbee2MQTT supports more devices. Its public database lists over 3,400 supported devices as of early 2026, compared to approximately 2,000 in the ZHA device registry. The gap is most significant with budget Tuya-based sensors, newer Sonoff products, and Chinese OEM hardware that lacks formal Zigbee certification.
What Zigbee coordinator USB stick works with both ZHA and Zigbee2MQTT?
The SONOFF Zigbee 3.0 USB Dongle Plus (CC2652P chip) and the Nabu Casa SkyConnect both work with ZHA and Zigbee2MQTT. The SONOFF dongle is the most widely tested coordinator across both integrations. The SkyConnect additionally supports Thread/Matter, making it a longer-term investment for Home Assistant users planning to expand to Matter devices.








