Zigbee Home Automation
Zigbee support built directly into Home Assistant
What is Zigbee Home Automation?
ZHA is Home Assistant's own Zigbee implementation. It talks to a USB coordinator directly, with no MQTT broker or companion service in between, which makes for a shorter and more reliable chain of components.
Best for
Zigbee devices with the fewest moving parts
Why choose Zigbee Home Automation
ZHA is the shortest path between a Zigbee device and an automation: it talks to a USB coordinator directly, with no MQTT broker and no companion service in between. Fewer components means fewer things to keep running and fewer places for a failure to hide, which matters when the thing that stopped working controls your lights. Because it lives inside the automation platform, device pairing, naming and updates happen in the same interface where automations are written, so there is no context switch and no chance of the two systems disagreeing about what a device is called. For a small Zigbee network where the platform is already the centre of the setup, the reduction in moving parts is worth more than the extra flexibility of a separate stack.
Replaces
- Philips Hue Bridge
- SmartThings Hub
- Hubitat
Key features
- Direct coordinator access, no MQTT needed
- Device pairing and management in Home Assistant
- Network visualisation
- Broad device compatibility via zigpy
What to watch out for
Tight integration means tight coupling: restarting or upgrading the automation platform interrupts Zigbee communication, and a problem in the host affects your radio network. Its device support is narrower than the community-maintained alternatives, so an unusual device may be unsupported or partially supported. Anything that requires the platform to be up in order for devices to function is a design tradeoff worth understanding rather than discovering. Migrating from it to another Zigbee stack later means re-pairing everything and rebuilding automations, which makes the initial choice somewhat sticky. Radio constraints around coordinator placement, channels and interference apply exactly as they do elsewhere.
How to deploy
- Pass the USB coordinator into Home Assistant
- Add the ZHA integration
- Pair devices from the UI
Getting started
Use a coordinator on the supported hardware list and mount it on an extension cable away from the host and USB 3 ports. Pick a Zigbee channel after checking your Wi-Fi channels rather than accepting the default. Pair one device and confirm it reports state changes both ways before adding the rest. Name devices carefully in the interface, because automations reference those names. Take a full backup of the platform configuration before pairing many devices, since that backup contains the network keys and is what makes a rebuild possible.
Typical setup
It runs inside the automation platform with a supported USB coordinator on an extension cable, away from the host and USB 3 ports, and a Zigbee channel selected after checking the Wi-Fi channels in use. One device is paired and confirmed to report state in both directions before the rest are added. Devices are named deliberately because automations depend on those names. The platform configuration is backed up before and after pairing a group of devices, since that backup contains the network keys and is what makes a rebuild possible without re-pairing everything.
Who should look elsewhere
Do not use it if you need broad device support including obscure or newly-released hardware, where the community-maintained alternative is more likely to have a definition ready. Avoid it if you want your Zigbee network to keep functioning independently of the automation platform, since that is not how this is structured. And if you already have a working separate Zigbee stack with automations built on it, migrating only trades one set of constraints for another.
Project health
- GitHub stars: 1,064
- Last code push: 2026-10-01
- Open issues: 60
- Status: actively developed
Figures pulled from the GitHub API and refreshed periodically.