best

Zigbee2mqtt vs zha which and when

Compare Zigbee2mqtt and ZHA for local-first smart home setups with Home Assistant, and decide which is better for your needs.

Last updated: 2026-05-22

When building a local-first smart home with Home Assistant, choosing the right Zigbee or Z-Wave integration is critical. Two popular options are Zigbee2mqtt and ZHA (Zigbee Home Automation). Both have their strengths and weaknesses, and the choice depends on your hardware, workflow, and long-term goals. This guide will help you decide which is better for your setup.

When to Use Zigbee2mqtt

Zigbee2mqtt is a lightweight, open-source MQTT broker that runs on a local device (like a Raspberry Pi or a dedicated server). It’s ideal for users who want full control over their Zigbee network, have specific device compatibility needs, or are running a custom Home Assistant setup.

One of the biggest advantages of Zigbee2mqtt is device compatibility. It supports a vast array of Zigbee devices, including many that are not officially supported by ZHA. For example, the Aqara FP1 and Aqara FP2 sensors are well-supported in Zigbee2mqtt, but may have limited or no support in ZHA. If you’re using devices from a brand that doesn’t have strong ZHA support, Zigbee2mqtt is often the better choice.

Zigbee2mqtt also gives you fine-grained control over device behavior. You can customize device settings, create custom device types, and even write your own device drivers. This makes it a great option for advanced users or those who want to integrate non-standard devices into their ecosystem.

However, Zigbee2mqtt requires more technical know-how. You need to set up a local MQTT broker, configure the Zigbee coordinator (like the ConBee III), and manage device pairing manually. It’s not as user-friendly as ZHA, especially for beginners.

When to Use ZHA (Zigbee Home Automation)

ZHA is the official Zigbee integration for Home Assistant, and it’s designed to be easy to use and fully integrated with the Home Assistant ecosystem. It’s ideal for users who want a no-fuss setup with minimal configuration.

One of the main benefits of ZHA is device discovery and pairing. It automatically detects and pairs Zigbee devices, making it much simpler to set up a new Zigbee network. For example, the Aqara Door/Window Sensor P2 and Aqara Motion Sensor P2 are fully supported in ZHA, and pairing them is straightforward.

ZHA also provides built-in support for device profiles, which means you don’t have to manually configure device types or behaviors. This is especially useful for devices like the Aqara Smart Lock U100 or Aqara Smart Lock U200, which have complex interactions that are handled automatically by ZHA.

However, ZHA has limited device support compared to Zigbee2mqtt. While it supports most major Zigbee brands, it doesn’t always support niche or older devices. If you’re using a device like the Aqara TVOC Air Quality Monitor or Aqara Climate Sensor W100, you may need to use Zigbee2mqtt instead.

Z-Wave: A Different Story

While this article focuses on Zigbee, it’s worth noting that Z-Wave is often used in conjunction with ZHA or via the Home Assistant Connect ZBT-1. Z-Wave is generally more stable and has better device compatibility in some cases, especially for security devices like Heiman Smoke Alarm or Heiman Water Leak Sensor.

ZHA can also support Z-Wave devices via the Home Assistant Connect ZBT-1, which acts as a bridge between Z-Wave and MQTT. This is a good option if you’re using a mix of Zigbee and Z-Wave devices, but it adds complexity to your setup.

Real-World Tradeoffs

The real tradeoffs between Zigbee2mqtt and ZHA come down to control vs convenience. Zigbee2mqtt is more powerful and flexible, but it requires more maintenance and technical knowledge. ZHA is easier to use, but it may not support all devices or offer the same level of customization.

For example, if you’re using a Philips Hue Lightstrip Plus or Philips Hue White A19, ZHA is the way to go. But if you’re using a SwitchBot Hub 2 or SwitchBot Lock Pro, you might need to use Zigbee2mqtt for full compatibility.

Quick Verdict

Zigbee2mqtt is best for advanced users who need full control over their Zigbee network, have specific device compatibility needs, or are running a custom Home Assistant setup. It’s ideal for integrating non-standard or niche Zigbee devices.

ZHA is better for most users who want a simple, no-fuss setup with minimal configuration. It’s ideal for integrating mainstream Zigbee devices and is easier to use for beginners.

If you’re using a mix of Zigbee and Z-Wave devices, consider using Home Assistant Connect ZBT-1 to bridge the two protocols.

In short, choose Zigbee2mqtt for control and flexibility, and ZHA for ease of use and integration. Your choice will shape how your smart home evolves over time.

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 →