Basic question re: proprietary hubs, coordinators, etc

Ok, so I should know this and I don’t.

I don’t understand the relationship between Zigbee (and an addon like zigbee2mqtt), devices such as the SONOFF Zigbee 3.0 USB Dongle, proprietary hubs (like the Aqara M2) and end devices like the Aqara Cube (T1 Pro).

I have been adding the devices I buy to their proprietary hubs. I did this with the Cube, and it shows up in the Aqara app, but a quick Google search tells me I need zigbee2mqtt to use the Cube with Home Assistant.

So do I need the M2 Hub? I’ve just been assuming that my SmartThings hub has been taking care of whatever Zigbee coordination needs to happen. But I don’t think that’s right and I need to understand this better to both be efficient and to avoid spending money unnecessarily.

(I mean, on that last point, this is the wrong hobby to jump into to save money, but you know what I mean.)

Finally, I don’t even really know the terms I need to use to search to fill in my knowledge gap. So if someone can either explain, or point me towards an explanation, that would be appreciated. Thank you!

It is quite easy: every manufacturer wants you to buy their proprietary hub: aqara wants you to buy an aqara hub, tuya tells you you need a tuya hub, sonoff/ewelink wants to sell a ewelink hub, Hue needs a Hue bridge, IKEA sells the Tradfri gateway or the Digidera hub, etc…
2 reasons: they make more money if they sell you a hub, and they tie you into their ecosystem, as the support for other brands is often limited.

HA tries to pull these, often cloud-based ecosystems into integrations, but is limited to what support for the ecosystem is available.

And then you have ‘open source’ hubs, e.g ZHA and Zigbee2MQTT, which rely (mostly) on a Zigbee dongle like the SONOFF Zigbee 3.0 USB Dongle, that can put all these Zigbee devices from all different manufactures in one mesh, and offer local, non-cloud-based support.
(I say mostly, because there are alternatives for the dongle, like Ethernet-based hubs from e.g. Tube or Zigstar, but most people use a dongle)

Thank you. So I should START with the Sonoff Zigbee Hub, and move to proprietary hubs only when needed by the hardware?

Yes, start with a SONOFF Zigbee 3.0 USB Dongle, you will see you don’t need proprietary Zigbee hubs.

Everything @francisp said.

Buy a couple of simple end devices, like “smart” plugs, to use with your USB dongle. Most of those will also act as repeaters, so you’re building out your mesh right from the start.

Then, review each brand of device you’re interested in here before buying. For simple things, like turning switches, lights and plugs on and off, pretty much any Zigbee device will work with ZHA. If you need more, like color-changing or more advanced functions, you may find that some brands work better than others. You may also find that you need to expand into something like Z2M to get some brands to work.

After years of using HA, I’ve found the best approach is to limit the number of different software components you’re trying to support. Things in the HA world change at a dizzying rate, and every new integration or layer you add brings more breaking changes, more bugs, more things you have to read in the release notes and more posts on this forum which apply to you. For this reason I’ve been successful in avoiding Z2M, and MQTT in general. It looks like great fun, but I have to remind myself that this is a production system, not a playground. I have enough to do to keep what I already have running.

FYI, I and others tried to answer a very similar question here → Hue bridge died - options?

One of the main points is that Zigbee uses mesh networking technology but only does so with Zigbee Router devices on the same Zigbee network, so having devices on different gateways/bridges/hubs will not extend your Zigbee network and there is no Zigbee communication what so ever going on between different Zigbee networks, no matter if the devices can be controller together at the application level.

Note that if you want to use the ZHA intration or Zigbee2MQTT then you do not want to buy Sonoff Zigbee Bridge (that is just another proprietary gateway/hub), you instead you want to buy a Zigbee USB dongle, like example ITead’s “Sonoff Zigbee 3.0 USB Dongle Plus” (model “ZBDongle-P”) .

Regarding how Zigbee fundamentally is meant to work you might want to read the updated ZHA introduction from this PR →


ZHA integration is a Zigbee gateway implementation that supports the Zigbee 3.0 standard as well as supporting earlier Zigbee standards for home automation and lighting devices. It follows the Zigbee PRO specification, a low-power wireless communication protocol which uses small digital radios to create a private Zigbee network that can connect compatible devices within a local area.

A Zigbee network can have three different types of devices; “Zigbee Coordinator”, “Zigbee Router”, and “Zigbee End Device”. A Zigbee network always needs to have one Zigbee Coordinator (it can never have more than one), and Zigbee devices can never be connected to more than a single Zigbee network (or Zigbee Coordinator), however, a Zigbee network can have multiple Zigbee Router devices and Zigbee End Devices.

Before installing the ZHA integration in Home Assistant, you need to connect a Zigbee Coordinator adapter. Those normally come in the form of a USB dongle that plugs directly into the same computer that is running your Home Assistant installation. The ZHA integration is compatible with many different “Zigbee Coordinator” adapters from various manufacturers. Be sure to note the recommendations in the respective sections below before buying a Zigbee Coordinator.

Once ZHA has been set up with a Zigbee Coordinator it will automatically create a Zigbee network and you will be able to join/pair any Zigbee devices. With only a few limitations, most devices will join/pair directly regardless of brand and manufacturer. It is generally recommended to buy Zigbee 3.0 compliant devices if possible, though a new Zigbee Coordinator is also backward compatible with older devices. Zigbee 3.0 certified devices usually offer better interoperability. Still, not all functionality will always be supported out-of-the-box and devices that use manufacturer-specific extensions to add non-standard functions and features will need device-specific code to fully work with ZHA.

The Zigbee Coordinator will act as the central device in your Zigbee network. In the case of this ZHA integration, the Zigbee Coordinator has a microcontroller and runs the Zigbee stack which is used to manage the Zigbee network and communicate with all its devices. Its main responsibility is the joining/pairing of devices to the network and then controlling them. Being the physical network bridge interface for Zigbee, it maintains the Zigbee network topology and ensures secure and efficient communication between Zigbee devices.

Because a Zigbee relies on “mesh networking” technology it depends on its Zigbee Router devices to expand the network coverage and extend its size. These are always mains-powered devices that route messages to other devices that are located close to them within the Zigbee network mesh to improve the range and increase the total amount of devices you can add. You should therefore make sure that you have many Zigbee Router devices or else its network mesh coverage will be limited due to the short range and poor wall penetration of Zigbee radio signals.

Zigbee End Device devices will not expand the range of the network as they do not route any messages from other devices. These are usually all battery-operated devices, but not always as some Zigbee End Devices can sometimes be mains-powered devices. Always begin adding Zigbee Router devices before Zigbee End Devices when creating a new Zigbee network.

Finally, it is highly recommended that you read and follow all the general tips below about Zigbee interference avoidance and network range/coverage optimization).

PS: Another tip is to read and follow this → Guide for Zigbee interference avoidance and network range/coverage optimization

1 Like

Hey folks, this is great, thank you. I’m about halfway through reading the referenced threads/documents.

For some additional context, I have been running Hue lights for a couple years, and I have around 30 of them. I also have a Kwikset smart lock and a bunch of switches, plugs, etc. If I understand correctly, once I have the Zigbee coordinator up and running, I’ll need to “move those over” to the Zigbee network, so taking them off of the proprietary hubs and rediscovering them on the Zigbee side.

That also means that I’ll be listing a few hubs on ebay in the coming weeks, including a nice new Aqara M2 and some others…

Yes, a Zigbee device can only be joined to a single Zigee network (i.e. on a single Zigbee Coordinator
on a single Zigbee gateway/hub/bridge), and that means first removing/unpairing/unjoin them from the proprietary hubs if possible before adding/pairing/joining them to a new Zigee network , as otherwise, you might sometimes need to factory reset those devices manually by following respective manufacturer instructions before putting them into joining/pairing mode. (A tip is to upgrade the latest firmware on each of the devices using the proprietary hubs before migrating them if possible). If using the ZHA integration see example its documentation for adding a new device → and specifically for Philips Hue devices also read this troubleshooting tip if have problems →

Just an FYI. Though things are getting better, the unfortunate reality is that on some occasions you need the manufacture’s hub to upgrade firmware of zigbee devices. Zigbee2MQTT is doing a good job of working to support doing these updates via open systems, however there can be edge cases where you get stuck. It is not a reason to ‘by default buy and use a walled garden solution’, however it is something it keep in mind if you venture deeply down the rabbit hole of zigbee. Unfortunately, ZHA, when I last checked was much further behind on being able to do firmware upgrades. Your Kwikset locks is a good example of this firmware upgrade challenge. While firmware upgrades do not occur that often, not being able to do one needed for security or life-safety is a problem. While I am not sure of this brand, a company like Kwikset might only release their firmware update via a private hub or a commercial hub such as Hue. (all that said, I did just learn that Kwikset locks are some of the easiest ones that can be opened with a ‘bump key’ :upside_down_face: :grimacing: )

And for it’s many other ‘lacks and limits’, if you are serious about a solid home automation solution using Zigbee I highly recommend against going down the ZHA route, Zigbee2MQTT is much more reliable open system that is being supported by large community. Zigbee has been around for a long time in ‘tech time’ and is a solid solution for home automation that your ‘significant other’ can use and trust.

I collected a number of these hubs over time and they sit at the bottom of the ‘wasted money’ tech drawer.

Good hunting!

1 Like

Device OTA update support have gotten a lot better in ZHA over the years, today it is mostly GUI support and controlling updates for individual devices that is missing in ZHA, and workaround that you can use ZHA-Toolkit (which allow user to get updates from the same source as Zigbee2MQTT) but as mentioned is unfortunatly still remains far as easy as you would expect if used to device firmware propriatory hubs. For now Zigbee2MQTT is indeed ahead when it comes to such features.

Regardless, if buying cheap devices from China then there are not many updates anyway. If want to get firmware updates then stick devices made in North America and Europe (though be aware of companies that just rebrand while label products without provide post-sale support like firmware updates).

For the record, I have never done a firmware update on any Zigbee hardware I own. If it works on the day I bought it, I’m quite happy if it works the same way 5 or 10 years later.