[ZHA] Support for more than one Zigbee coordinator in ZHA?

Will you consider supporting more than one Zigbee coordinator in ZHA integration for Home Assistant?

That is, for one single ZHA instance to be able to support multiple Zigbee coordinators, with the full understanding that each Zigbee coordinator will only ever control its own separate Zigbee network.

I know this is a wanted feature by many as seen many other ZHA users that asked about this, though admittedly quite a few of those who asked did not understand that you will never be able to have more than one Zigbee coordinator in the same Zigbee network.

If you want to have two Zigbee networks in Home Assistant today (for whatever reason) you can not use only ZHA as it currently only supports Zigbee coordinator adapter/dongle. And as one Zigbee coordinator equals only one Zigbee network some of the ways to workarounds around this limitation today include installing ZHA for controlling one Zigbee network and then one a other Zigbee solutions like Zigbee2MQTT or deCONZ for controlling a second Zigbee network. I think that a better solution for ZHA users would be if ZHA could support multiple Zigbee coordinators with separate Zigbee networks. Another alternative could be to allow users to easily run multiple separate instances of ZHA in HA.

I believe that ZHA developers could if they wanted to, in theory, add support for more Zigbee coordinators at a higher-level but each Zigbee coordinator would still only have their own separate Zigbee network and none of the Zigbee coordinators/networks would have any low-level connection or even any knowledge of each other. Any connection between them would have to be done at ZHA or Home Assistant application level and not at the Zigbee level.

I am aware that the Zigbee specification only supports one Zigbee coordinator per Zigbee network,and I do understand that is a hard limitation in Zigbee and that “there can be only one”. So this is not a request to extend an existing Zigbee network by adding an additional Zigbee coordinator to that same existing mesh network, but instead, add the ability for one single ZHA instance to control two or more Zigbee coordinator which in turn each will have their own totally separate Zigbee network.

I would be really interested in this feature too.
That is : two separate networks with separate coordinators in the ZHA integration.

Just like @Gamester17, I truly understand the ZigBee limitation of “1 network, 1 and only 1 controller”.
I understand as well that the mesh coverage allowed by ZigBee wouldn’t benefit from such a feature but in the case of an Ethernet (or WiFi) ZigBee coordinator this would allow users to have ZigBee sensors located in two remote parts of
a single house where radio coverage isn’t possible but cabled network is available.

In my case : the apartment is located on the first floor of a building, I run a music studio located underground and I have one Home Assistant instance running, which I’d like to keep this way (i.e. avoid having two separate Home Assistant instances).

Running two coordinators with two different protocols (for instance one with ZHA and one with zigbee2mqtt) sounds more like a workaround than a real guideline on how to achieve the functionality IMHO.

1 Like

I would be really interested in this feature too.

In my case, the distance between the ZigBee coordinator and the ZigBee devices is too long. That is the reason I bought a second Sonoff ZigBee bridge, flashed this with Tasmota and the tried to add it in HA….

But then I saw, when searching for the reason why not discovering this device, the HA is only supporting one ZigBee coordinator. ;-(

So in case you got a solution to run a second coordinator, lease let me know :wink:

It would be a really great feature to allow more then one ZigBee coordinator connected to ZHA.

Especially due to distance limitations (even with routers) or very special locations with no (ZigBee) connectivity but with an ethernet connection available, it would be great to allow more than one coordinator to connect.

+1 Also see these reqests:

https://github.com/zigpy/zigpy/discussions/673

https://community.home-assistant.io/t/zha-multiple-co-ordinators/255101

https://community.home-assistant.io/t/zha-multiple-gateway/262101/

https://community.home-assistant.io/t/zigbee-zha-are-multiple-coordinators-possible/224050

https://community.home-assistant.io/t/multiple-sonoff-zigbee-bridge/264491

https://community.home-assistant.io/t/multiple-zigbee-networks-radios-on-one-hub/160056/

FYI:
There actually seems to be a way to at least do this with Zigbee2MQTT in HA. See my comment in this issue report / feature request: Zigbee2MQTT: How to support multi coordinator?

Yes but Zigbee2MQTT is not the same as the ZHA integration so not relative to the original question.

Zigbee2MQTT and the ZHA integration uses fundamentally different architecture designs, where Zigbee2MQTT uses a client–server model and can run as a stand-alone application without Home Assistant, while ZHA integration is a fully integrated native component of Home Assistant.

To implement use of multiple Zigbee coordinators in the ZHA integration developers could for example:

  1. Add native support for multiple Zigbee coordinators directly in the ZHA integration, (with separate Zigbee network per Zigbee coordinator but could perhaps use one and the same Zigbee database file?).
  2. Add support for running multiple instances of the ZHA integration inside Home Assistant, (with separate Zigbee network per Zigbee coordinator and seperate databases but could maybe consilidate UI?). This method could be based on the hacky workaround like for Z2M in https://youtu.be/KBEaVZyvSgY
  3. Break out the ZHA integration component from Home Assistant and make it its own stand-alone application to be able to use a client-server model via a server wrapper, preferably connecting WebSocket via similar to Z-Wave JS (node-zwave-js) and its Z-Wave JS Server which is used by the Z-Wave JS integration.
2 Likes