Zigbee buyer's guide

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.

Hubs

A lot of manufacturers will suggest that you use their proprietary hubs. There are pros and cons. You will be restricted to using one manufacturer’s devices, but on the other hand you can resonably expect them to work (or at least you will know who to complain to). Large hubs like the Philips Hue bridge have a larger antenna than you can fit into a USB dongle, and the greater range may compensate for some networking problems. This can be a good starting point with Zigbee - you can change to ZHA or Z2M later. But see comments below. It’s certainly not a good idea to use more than one hub - things can get very messy.

Do your research

There is a list of recommended Zigbee radio adapters in the HA docs.

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 :roll_eyes: 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

6 Likes

The best Zigbee Coordinator hardware radio adapter to buy in December 2023

Zigbee Coordinator product purchase recommendation summary:

If you today want a Zigbee Coordinator that can work great with either Home Assistant’s ZHA integration (built-in Zigbee gateway implementation) or Zigbee2MQTT (third-party Zigbee gateway application that can run stand-alone) then currently the best purchase recommendation is to buy a Texas Instrument CC2652P based USB radio adapter dongle with external antenna, (like for example ITead’s Sonoff ZBDongle-P , flashed with the latest stable community build of TI’s Z-Stack Zigbee Coordinator NCP firmware). (The only downside with using CC2652-based USB radio adapters is that there are currently no built-in features to upgrade Z-Stack Zigbee Coordinator firmware so that has to be done using third-party add-ons and external tools).

If you are however sure that you will only be using Home Assistant’s ZHA integration (built-in Zigbee gateway implementation) (and not Zigbee2MQTT) then the better option is to instead buy the official Home Assistant SkyConnect (USB radio dongle) o get an excellent user experience and super easy lifecycle maintenance. Most other Silicon Labs EFR32MGxx based radio USB dongle with Silabs EmberZNet Zigbee NCP firmware (not RCP firmware) will also give you a similar ease-of-use user experince when sticking to the Home Assistant’s ZHA integration (built-in Zigbee gateway implementation) (and not Zigbee2MQTT).

Obviously if if instead plan on using deCONZ/Phoscon then your only real choice today is the new ConBee III / ConBee 3 USB adapter from Dresden-Elektronik, (which does also work with the ZHA integration and Zigbee2MQTT but is not recommended as it does not quite have full feature paritry or the same support as the modern Texas Instruments and Silicon Labs based adapters).

The reasons for buying those specific Zigbee Coordinator hardware radio adapters are:

If you’re using Home Assistant Operating System (HASS), Supervised, or Container, it’s recommended to use an external USB radio dongle (i.e. USB stick format) rather than an internal GPIO module, because not only do you get better reception with an external USB radio dongle, but passing a serial module through Docker can sometimes be more complicated than passing a USB adapter through, (at least if not using the Silicon Labs based EFR32MG21 radio module that if built-into the Home Assistant Yellow appliance). Network-attached Zigbee Coordinator adapters like the ZigStar’s UGZ and TubeZB’s CC2652P Zigbee to Ethernet/USB Serial Coordinator is another alternative to solve remote connection of a radio adapter but note that it adds a little more complexity than simply using a very long USB extension cable.

While most Zigbee Coordinator adapter hardware of different radio types should work great if using Home Assistant’s ZHA integration (and setup according to best practises), it should be noted that currently only Texas Instruments CC2652 and CC1352 based Zigbee Coordinator adapter hardware radio types are commended if using Zigbee2MQTT (which is due to the adapter code for other radio types in Zigbee2MQTT not yet offering feature parity with the adapter code for Texas Instruments based adapters, and most notable full backup + restore functionality is not available in Zigbee2MQTT and therefore it list support for other adapters as “experimental”).

Also note that support for commissioning Zigbee 3.0 devices via “Install Code” or “QR Code” via has so far only been implemented for ‘ezsp’ (Silicon Labs EmberZNet) or ‘znp’ (Texas Instruments Z-Stack) radio type in Home Assistant’s ZHA integration and Zigbee2MQTT. Other radio types like deconz (ConBee/RaspBee) and ZiGate are still missing “InstallCode” support in their respective radio libraries and manufacturer’s firmware commands/APIs or their serial interface documentation (i.e. ConBee/RaspBee and ZiGate have not added support for it to their firmware and/or not published API documentation).

The best dedicated Zigbee Router (repeaters/extender) devices to buy

Zigbee Router (repeaters/extender) product purchase recommendation summary:

To get the “best-of-the” Zigbee Router devices today it is recommended to buy a few Silicon Labs EFR32MG21 based USB radio dongles with an external antenna (like for example ITead’s Sonoff ZBDongle-E (based on Silicon Labs EFR32MG21 radio SoC) and convert/repurpose them by flashing over USB with a Zigbee Router firmware image, after than you can simply power them via USB-changers and pair to have them work as stand-alone dedicated Zigbee Router devices. An alternative is ITead’s Sonoff ZBDongle-P (based on Texas Instruments CC2652P radio SoC) which also can be reflashed with Zigbee Router firmware and repurposed as a stand-alone dedicated Zigbee signal repeater and range extender devices.

For all-in-one dedicated Zigbee Router products that work very well out-of-the-box, it is recommended to buy a few of IKEA’s Trådfri Signal Repeater devices and/or Aeotec’s Range Extender Zi producs. Both of those devices are based on Silicon Labs EFR32MG21 radio SoC, and many people have reported that Silabs EFR32MG21 based products with slightly better as dedicated Zigbee Router devices than TI CC2652 based producs.

The reasons for buying and using those specific products as Zigbee Router devices are:

Having a few “great” Zigbee Routers (a.k.a. Zigbee signal repeaters / Zigbee range extenders) with better radios and antennas for better reception can affect in Zigbee network mesh range and coverage performance positively as communication signals in Zigbee do not have to be resent. Acting as a stable backbone in your Zigbee network mesh. Also, adding at least a few "know good"dedicated Zigbee Router devices between the Zigbee Coordinator and any devices having issues will normally make a huge difference.

You have to understand and remember that each Zigbee device by itself has very limited coverage, short range and their weak signals have poor wall penetration, so to workaround this a Zigbee network relies on mesh networking (a type of network topology/technology/architecture), which means that a Zigbee network heavily depends on having a swarm of mains-powered devices are a “Zigbee Router” that are always-on so they can act as a signal repeater and range extended by transmitting data over long distances by passing data messages through the Zigbee network mesh of intermediate devices to reach more distant Zigbee devices.

So while having a Zigbee Coordinator with good radio and antenna away from any EMF sources can have similar benefits, Zigbee signals have such poor range and bad wall penetration power so having many good Zigbee Router devices is a must.

2 Likes

I strongly disagree with most of what is in that statement. Because of the way Zigbee architecture works users should really try hard to put all their Zigbee products on a single Zigbee gateway (with a single Zigbee Coordinator). In short, because each Zigbee device can only belong to a single Zigbee network it means that if your Zigbee devices risk getting crappy reception if you do not have many Zigbee Router products on that same Zigbee gateway, as chances are that if the user has several Zigbee hub/gateway/bridge/controller/coordinator appliances then they will not have many Zigbee Router devices on each (or at least not a big chance they have those spread out throughout their home for best range and coverage in each network). Without many Zigbee Router devices in each Zigbee network a user is very likely to a bad experience with slow response and latency because of dropped messages and connection issues with devices dropping off the Zigbee network due to bad reception.

Therefore, I advise against buying any proprietary hub/gateway/bridge/controller/coordinator appliances as not only do most such commercial appliances only support their own branded devices and a few of their partner’s devices, but it is also very important to understand that Zigbee radios have poor range, bad wall penetration + are extremely sensitive to EMF interference, and because of that communication within a Zigbee network heavily relies on its mesh networking technology and depends on having many Zigbee Router devices (Zigbee extender/repeater products) on the same Zigbee network. Plus the fact that proprietary hub/gateway/bridge/controller/coordinator encourages vendor lock-in and steering users to their ecosystem, complicates setup by having to have several different hubs with separate apps and accounts (most of them requiring a cloud account even if they can be controlled locally).

In my humble opinion, the only benefits proprietary hub/gateway/bridge/controller/coordinator appliances offer other than official firmware updates and user-friendly startup user interface for beginners are that they almost always have full compatibility for their own brand-new devices from the first day they are released on the market, while with Home Assistant’s built-in ZHA integration and later migrating to Zigbee2MQTT you might have to wait for a developer to write some custom device handler (quirk/converter/translator code) to expose non-standard entities if the product is using manufacturer specific Zigbee clusters and attributes that enable the manufacturer to extend the Zigbee feature set (which the Zigbee specification allows in order to be flexible but unfortunately means that not all features and functions can be predicted and added in advance).

Having more than one integration and different phone apps for adding Zigbee devices quickly becomes a mess and more finicky to maintain than it is worth. As such, I argue that it is much better to do the reverse; thus recommend starting with Home Assistant’s built-in ZHA integration and later migrating to Zigbee2MQTT (or proprietary hubs) if Home Assistant’s built-in ZHA integration does not meet your requirements.

As such, I want to generally recommend always starting by buying separate USB radio adapters for each wireless IoT protocol and using Home Assistant’s built-in integration with native support for those, (there are normally a dedicated integration for each standard IoT communication protocol), that way you can make a single installation of the Home Assistant Operating System itself into a central all-in-one hub/gateway/bridge/controller/coordinator system, with just a single computer to rule them all :wink:

or

  • Zigbee2MQTT (Z2M) third-party Zigbee gateway application that can run stand-alone or as an add-on in Home Assistant (always communicating via MQTT with Home Assistant) → https://www.zigbee2mqtt.io

From a pure end-user experience point-of-view things might have worked difference in the past if go back a few years before Home Assistant’s built-in ZHA integration and Zigbee2MQTT became as relatively mature are they are today. Personally I feel that the only two major things left to become more mature is the UI presentation for each individual device and support for more OTA firmware updates sourced directly from official manufacturers, both of which can hopefully partially be achieved in the future through formal partnerships like the “Works with Home Assistant” program for partners → https://partner.home-assistant.io/

Again, I suggest starting by buying ITead’s TI CC2652P based “Sonoff Zigbee 3.0 USB Dongle Plus” (which is now renamed to “ZBDongle-P”) as a dedicated Zigbee Coordinator radio adapter → ITead's "Sonoff Zigbee 3.0 USB Dongle Plus" (model "ZBDongle-P") based on Texas Instruments CC2652P +20dBm radio SoC/MCU

Alternatively, get the Home Assistant SkyConnect USB dongle which support Zigbee and Thread, though personally I really suggest getting separate dedicated USB radio adapters for each protocol (so an option there is to get two Home Assistant SkyConnect USB dongles).

Another related alternative option is to get the Home Assistant Yellow for running Home Assistant on as that like a Raspberry Pi with an embedded Home Assistant SkyConnect radio adapter module on the board:

Btw, there are of course also USB radio adapters + integrations for other popular wireless IoT protocols:

There are even some less common and older wireless IoT protocols (if you already own such devices as I’m not recommending such devices for new purchases), like:

FYI, several third-party alternative solutions support using USB radio adapters directly as well but better to research those on a protocol-by-protocol basis by looking at specific device compatibility, (again like for example Zigbee2MQTT for Zigbee instead of the built-in ZHA integration), overall I generally recommend starting with the natively built-in integration as they are more often than not easier to get started with, and you can later always migrate your devices to third-party alternative solutions per protocol if you feel that the built-in integration for that protocol does not meet for needs for the devices that you bought.

Generally, I say that Zigbee has the most amount of different devices on the market but can be finicky and higher maintenance to maintain, while Z-Wave devices are more expensive but more or less just works. And as for Matter there are so few Matter over Thread devices on the market and the standard is not mature (with BETA stage in Home Assistant) so I think it is not worth bothering with until a few years from now.

Note! Zigbee, Z-Wave, and Thread all depend on mesh networking technology which in essence means that they practically rely on having many mains-powered devices on the same network mesh that act as routers/repeaters/extenders, so it is not a good idea to start with only a few battery-operated devices on any such wireless IoT protocol networks. While for Bluetooth Low Energy (BLE) devices you really also need have a few ESPHome Bluetooth Proxy devices for good connection if spread out them out in a large home. For Zigbee read and follow tips here → Zigbee networks: how to guide for avoiding interference and optimize for getting better range + coverage

PPS: You can also do similar for some wired IoT protocols, such as the KNX integration, but for some wired IoT protocols it can be better to use an external converter device that is based on ESPHome or an external bridge that convert to a universal IoT communication protocol like MQTT.

4 Likes

One thing to note on the coordinators is that you also can get network based ones, like the ones mentioned here.

The advantage with these is that you are not bound to a single host / server / device (ideal when running clustered hypervisors for example) to run the coordinator and you can place it where ever you want as long as you have network and power.

A warning is to never connect a Silicon Labs based network-attached Zigbee Coordinator over a WiFi. Any network-attached Zigbee Coordinator should use a wired LAN (Ethernet) connection, but especially those with Silabs radios absolutely need to use a wired LAN connection because the EZSP (EmberZNet Serial Protocol) requires a stable connection for communication as Silabs have not been designed to be robust so it does not handle dopped message packages well, (serial protocols are usually not built to not enough fault-tolerance to handle packet loss or latency delays that can normally occur over WiFi connections). Tunnelling serial communication not designed to run via IP over a network is not optimal regardless of the serial protocol used. See ZHA and Z2M documentation:

https://www.home-assistant.io/integrations/zha#warning-about-wi-fi-based-zigbee-to-serial-bridgesgateways

https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html

https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_sonoff_zbbridge.html

If you are not running your Zigbee gateway application in a clustered hypervisors then it is generally a better idea to just use a long USB extension cable, and a tip there is that while a normal USB extension cable can only be about 5 meters long you as an alternative can buy inexpensive a USB to RJ45 extender adapter kit that will convert any shielded Ethernet (STP like CAT6) cable into a very long USB extension cable. See example::

1 Like

Yes absolutely, a good practice is to use wired connectivity on all devices that supports it
:slight_smile:

I can’t emphasise this enough ! Unreliable network / devices being unavailable is the single most common issue people have with zigbee … and it can generally be attributed to (a) not enough routers, and/or (b) not planning your wi-fi & zigbee network to reduce interference.

I know from my own experience of adding devices that sounded interesting, then a couple of routers when I noticed unavailable devices. It did not improve the situation. My devices remained paired with my controller, leaving the routers doing nothing. Some people suggest that moving to Z2M is the answer - but I believe it is rebuilding the network that actually is the fix.

But before rebuilding your zigbee network, consider what wi-fi channels you and your neighbours are using, and what zigbee channel will fit best. I can’t change my neighbours wi-fi … but I changed the wi-fi channels I use for my 2 WAPs and zigbee to minimise interference.

1 Like

You don’t directly mention it in your experience. I would recommend that before pairing your first device in Zigbee (with Zigbee system that support the function), you understand how to ‘add via’ a device via a router. And then observe the results over a period of time using the ping/map function of the Zigbee system.

Many thanks for this manual - and two questions:

  1. Is there a manual on how to check / optimize the Zigbee channel?
  2. Do the USB-Connected Zigbee sticks benefit from USB 3.0 or is it ok to use USB 2.0 especially when it comes to cable length around 5m and the decision between normal extension cables and those with a repeater Chip at the female end of the cable?

You should only connect to USB 2.0 sockets - USB 3.0 creates a lot of interference. USB 3.0 extension cables are OK, though - in fact they may be better because they have more shielding. If you only have a USB 3.0 socket you can connect it to a USB 2.0 powered hub and connect the Zigbee dongle to that.

All this is covered by:

2 Likes

There’s a great post here:

3 Likes

Avoid IKEA white spectrum LED2003G10 and LED2004G8 like the plague.

The come with old 20201111 firmware, no updates. They act as routers but will throw away battery powered devices after some minutes. Thus battery powered will have to spend many seconds and lots of power reconnecting to the network. They made my battery powered wall switches useless. And are lots of battery.

1 Like

Hello,

I’m starting to build my Zigbee network with HA and Zigbee2MQTT.
I’ve already installed a Sonoff DONGLE-E and upgraded the coordinator firmware to version 7.3.2.0 build 212.

I’m now looking to buy several smart plugs that will double as routers to form the backbone of my Zigbee network.

I’m having trouble identifying good options for these smart plugs and would love some advice (I’m based in Europe).
I’d like the smart plug to provide basic on/off capability, as well as measure of power & energy consumption.

It seems that most Zigbee smart plugs (for example: NOUS A1Z) are based on the TS011F chipset, which seems to frequently suffer from disconnection issues, leading the plug to turn off attached devices.

I also looked into the Aqara SP-EUC01, but the 2022 firmware update seems to be causing lots of trouble. See Xiaomi Aqara Plug (SP-EUC01/lumi.plug.maeu01) Toggles without reason

So what would you suggest?

Other options that don’t fit my requirements:

  • IKEA TRADFRI: a bit bulky, and doesn’t measure power / energy.
  • AEOTEC Zigbee range extender: doesn’t provide a socket, nor measure power / energy.

Thanks in advance for your help.

These you can plug in to USB or straight into the wall. TRÅDFRI Signal repeater, Width: 47 mm - IKEA

I have a single SP-EUC01 with the 2023 firmware, it has never toggled off or on unwanted.

I am bit little confused.

SMLIGHT SLZB-06 is recommended when using Z2M
SMLIGHT SLZB-06 M is recommended to use with ZHA

But smlight website says that EFR32MG21 can work with Z2M and In practice, these chips show more stable operation than CC26* in Zigbee coordinator mode.

Is it future-proof today to get SMLIGHT SLZB-06 M with EFR32MG21 when planning to use Z2M ?
And also i can connect this to my router and it’s not needed HA pc usb connecting?