best

Zigbee2mqtt vs zha which to pick

A practical guide to choosing between Zigbee2MQTT and ZHA for your local Home Assistant smart home setup.

Last updated: 2026-05-16

If you’re running Home Assistant and want to add Zigbee devices, you’ll hit this choice pretty quickly: use ZHA (Zigbee Home Automation), the built-in integration, or go with Zigbee2MQTT, the community favorite. Here’s how to pick the right one for your setup.

What Actually Changes Between Them

ZHA is built into Home Assistant. It speaks directly to your Zigbee coordinator hardware using the Zigbee Z-Stack firmware. Zigbee2MQTT runs as a separate add-on that bridges your Zigbee network to MQTT, which Home Assistant then subscribes to.

The practical difference? Zigbee2MQTT gives you more control over individual devices, exposes more data from your sensors, and lets you tweak settings that ZHA hides. ZHA is simpler to set up and stays out of your way, but you sacrifice some flexibility.

Both keep everything local. Neither requires cloud access. Your Zigbee mesh stays on your network regardless of which option you choose.

Device Compatibility

This is where Zigbee2MQTT pulls ahead for most power users. If you have exotic Zigbee devices, especially anything from Tuya, Neo, or third-party manufacturers that don’t play nice with standard Zigbee clusters, Zigbee2MQTT handles them better. The project maintains an extensive device database with device-specific configuration quirks built in.

ZHA works great with mainstream devices. If you’re mostly running Philips Hue lights, Aqara sensors, or IKEA bulbs, ZHA handles them without any fuss. The Conbee III and Sonoff Zigbee 3.0 USB Dongle Plus are popular coordinator choices that work well with either option.

If you’re buying new and want to keep things simple, stick to devices known to work well with ZHA. If you already have a drawer full of random Zigbee gadgets, Zigbee2MQTT is your better bet.

Setup and Maintenance

ZHA wins on simplicity. Pick your coordinator, plug it in, select ZHA from the integrations menu, and you’re done. Firmware updates come through Home Assistant. There’s nothing else to manage.

Zigbee2MQTT requires installing the add-on, configuring MQTT if you haven’t already, and keeping the add-on updated separately from Home Assistant core. You also need to handle coordinator firmware updates through the Zigbee2MQTT interface rather than HA.

The tradeoff is control. Zigbee2MQTT lets you see exactly what’s happening with each device, adjust poll intervals, rename entities cleanly, and access debug logs when something breaks. When a device misbehaves, you can actually troubleshoot it instead of hoping ZHA figures it out.

For most people starting fresh, ZHA’s simplicity is the right choice. If you’re the type who wants to dig into the details when things go wrong, Zigbee2MQTT pays off.

Performance and Stability

Both options are stable enough for production use. The real difference shows up with large networks.

Zigbee2MQTT tends to handle 100+ devices better because it doesn’t block on Home Assistant processes. Each device publishes to MQTT independently, so a slow sensor doesn’t bog down your entire Zigbee network. ZHA processes everything through Home Assistant, which can create bottlenecks with very large meshes.

For typical home setups under 50 devices, you won’t notice a practical difference. If you’re building out dozens of lights, sensors, and switches, Zigbee2MQTT scales better.

MQTT does add another moving part. If your MQTT broker goes down, your Zigbee devices stop updating in Home Assistant. ZHA has fewer dependencies and fewer things that can fail.

Quick Verdict

Pick ZHA if: You want the simplest setup, mainly use mainstream devices like Philips Hue, Aqara, or IKEA, and don’t need to dig into device-level troubleshooting.

Pick Zigbee2MQTT if: You have non-standard devices, want finer control over your Zigbee network, plan to scale past 50+ devices, or prefer having full visibility into what’s happening on your mesh.

For most Home Assistant users, ZHA is the right starting point. You can always migrate to Zigbee2MQTT later if you hit its limitations. The configuration isn’t compatible between them, but re-pairing devices is usually straightforward when you move from one to the other.

Next steps

Compare this category side by side

If you want fewer opinions and more matrix-style tradeoffs, the comparison pages are the next stop.

See comparisons →

Inspect all products

The full product database keeps the caveats, setup notes, and compatibility details attached to each device.

Browse products →

Back up and read the explainers

If a buying guide feels too specific too fast, the guides section covers the broader local-first logic behind it.

Read guides →

Related articles

Best local-first smart home hubs

The best smart home hubs and controllers for people who care about local control, Home Assistant compatibility, and fewer long-term regrets.

Read article →

Best smart plugs with local control and energy monitoring

The best smart plugs for buyers who want real local control, useful energy data, and fewer long-term ecosystem regrets.

Read article →

Best local security cameras for Home Assistant

The best Home Assistant-friendly local camera options for buyers who care about RTSP, ONVIF, NVR compatibility, and lower cloud dependence.

Read article →