Don’t forget that the first post in a community guide is a wiki - feel free to add to it or correct it.
This guide was written with reference to:
Core 2023.11.3
Supervisor 2023.11.6
Operating System 11.2
Frontend 20231030.2
Summary
This post is aimed at newcomers to Zigbee - and possibly to Home Assistant - who have stumbled into the wild west of Zigbee devices and manufacturers. It does not recommend particular products; instead it advocates a cautious approach to buying. When it comes to cheap devices from China it really is a case of “buyer beware”. If you only take one thing away from reading this, it should be do your research.
Zigbee
Zigbee is a low power radio protocol which relies on mesh networking to overcome the limitations of small, inexpensive devices.
In hardware terms it usually consists of a USB radio adapter (the coordinator) plugged directly into the machine running HA, and a swarm of mains-powered lightbulbs and smart plugs relaying messages to and from battery-powered sensors and switches. Every router device (the mains-powered ones) can connect with every other one. This makes a Zigbee network very resilient. There are many possible paths for messages to take, and although the signal is weak it can find its way round walls and other obstructions.
(This is a generalisation, of course. In practice not all mains-powered devices act as routers and some routers are more effective than others - plugs and wall switches tend to have a more powerful signal than lightbulbs, for example. Still, you get the idea.)
Although Zigbee is respectable standard, maintained by the Connectivity Standards Alliance, it is also an open standard, which means that any manufacturer can put the name on the box. (In contrast, Zwave devices require certification from the Zwave Alliance, for which there is a fee.) In recent months there has been an explosion of inexpensive devices from China. The simpler ones (contact sensors, buttons) usually work as expected; more complicated devices (thermostats, TRVs) may not.
Integrations
Zigbee is a network standard. There are two main integrations allowing it to be used with HA, and with either of them you will be able to mix devices from different manufacturers. Which one you use is a matter of personal preference (some people use both, but they need separate coordinators and a device can’t be on both networks at the same time). Both are equally stable. Whichever one you choose, the Zigbee protocol is the same.
Zigbee Home Automation is Home Assistant’s built in Zigbee integration. If you buy a SkyConnect coordinator, it will be installed by default; with a different coordinator installation and device discovery is very simple through the GUI. If a Zigbee device is standards compliant it will work with ZHA out of the box. In practice this is less common than you might think and many devices need custom device handlers, or quirks. In most cases these will be included in the latest release of the integration, but very new types of device may have missing features initially. More details here.
Zigbee2MQTT is an open source gateway application for controlling Zigbee networks - in other words, it performs the same function as (say) a Philips Hue bridge but it is not restricted to any particular manufacurer’s devices. It works well with HA and with other smart home systems. If you wish you can run it on a machine separate from your HA server - which means your lights will still work while HA is being restarted. As the name suggests, it needs a MQTT broker, which makes it more complicated to set up and maintain than ZHA, however Z2M supports more non-compliant devices. More details here.
Propriatory Zigbee Gateways/Bridges/Hubs/Controllers
A lot of manufacturers will suggest that you use their proprietary gateway/bridge/hub/controller. There are pros and cons with doing so. You will be restricted to using one manufacturer’s devices, but on the other hand you can resonably expect them to work with their brand of devices (or at least you will know who to complain to). This can be a good starting point with Zigbee if you only bug a few devices as you can always move all Zigbee devices you bought to either that built-in native ZHA or Zigbee2MQTT later. But see comments below. It’s certainly not a good idea to use more than one hub - things can get very messy and the best practice is always to consolidate all Zigbee devices to a single Zigbee gateway/coordinator if possible.
Do your research
There is a list of recommended Zigbee radio adapters in the HA docs, but do not just go out and buy the first radio adapter you see on that list. Generally you do not want to buy a radio adapter that is based on an old chip and is no longer getting firmware updates or one that uses a radio type/manufacturer that is not specificlly recommend for the Zigbee integration that you will use.
The Zigbee Device Compatibility Repository is a good starting point for devices of all kinds. It will give you an idea of whether a gadget works with ZHA or Z2M, but it’s user compiled so further checks are a good idea.
If you’re using Z2M, their webpage has a database of supported devices (with pictures - very useful).
If you’re using ZHA, have a look at the GitHub device handler issues page. This will tell you what devices other people have requested support for - and whether support has been added. It will also give you a good idea of which devices are problematic.
Above all, before you part with your credit card number, search this forum and ask questions. There may be a few ranters but someone somewhere will probably already have tried out the device you’re considering.
In January 2024 about half the problem devices forum members posted about were Tuya. Just saying.
A final thought
End devices - switches, contact sensors, movement sensors etc. - are the exciting part of a Zigbee network but they won’t work properly without plenty of routers. Build the backbone of your network first - lights, plugs, wall sockets, mains-powered devices generally - then add the fun stuff.
Other Zigbee guides