I am trying to learn more about Zigbee as it pertains to Home Assistant, but the more I research, the more confused I get. I am trying to better understand compatibility and how all the different parts fit together.
I currently have some Philips hue devices connected to a Hue hub, as well as a couple smart blinds that came with a USB powered Zigbee dongle that works with Tuya. The blinds supposedly support direct connection to Zigbee in Home Assistant, without using Tuya, which I also thought was odd because I thought devices made for Tuya had to go through that ecosystem coming either through the cloud or one of the “Tuya Local” integrations. But now it’s starting to seem like although non-Tuya devices don’t work with Tuya at all, Tuya devices can work the same way with or without it.
So I set out to purchase a cheap Zigbee Tuya humidity sensor, thinking it would pair with the existing Tuya dongle. I tried multiple pairing methods from the app as well as pushing the button on the dongle, and surprisingly nothing worked.
Ok, So I need to buy additional hardware, so let’s figure that out. Looking at the Zigbee page on the Home Assistant site, which is no less than 40 pages long. I researched the different terminologies such as coordinator, router, and gateway/hub. I’m still not sure I understand the difference between the coordinator and gateway. Perhaps the coordinator is the software portion and the gateway is the hardware portion? I think the existing device I had for the blinds did both maybe?
That device was only powered over USB. All these devices linked to from the Home Assistant documentation use serial over USB. So maybe in this case, the Home Assistant integration is the Coordinator and the hardware is the gateway only?
Digging in further, I see references to:
- Home Assistant integrations:
Each supports a different set of devices- ZHA (Offical One)
- Zigbee2Mqtt
- Deconz
- Zigpy: A “hardware independent Zigbee protocol stack integration project to implement Zigbee standard specifications as a Python 3 library”. This is used by ZHA, but perhaps Migbee2Mqtt and Deconz use something else?
Maybe this is where the hardware support comes from?
Upon closer inspection, it seems like Zigpy does not include a hardware interface on its own and it requires something hardware specific to function.