Zigbee buyer's guide

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.

5 Likes