WTH can't ZHA handle more than one Zigbee coordinator?

My apartment has two parts that one Zigbee mesh just can’t cover reliably, so I need two coordinators. ZHA won’t let me add a second one. Try to add another instance and it says only one is allowed. So right now I run one coordinator in ZHA and the other in Zigbee2MQTT, alongside each other.

It works, but it’s clunky: two different integrations, two UIs, two ways of pairing devices, two places to troubleshoot, plus an MQTT broker just for the second network.

Before anyone says “just use one network with routers”: I tried that. I added mains-powered routers to bridge the two parts, and it was never as reliable as two separate networks. Some devices dropped off, and some reconnected to the far side of the mesh with bad routes.

And yes, I could move everything to Z2M, which can run several instances. But I built my Zigbee network on ZHA when I first started with Home Assistant, and I didn’t want to migrate everything to Z2M just to add a second network. Why should I have to? ZHA is the native, built-in Zigbee integration. Z2M can already handle several separate networks in one Home Assistant, so ZHA should be able to do the same.

What I’d like:

  • Allow multiple ZHA config entries, each with its own coordinator and its own separate Zigbee network (I’m not asking for multiple coordinators in one network).
  • Show them in one ZHA UI, with a network selector when pairing.
  • Each network keeps its own channel, PAN ID and database.

There’s already a feature request for this (Please support multiple coordinators · Issue #577 · zigpy/zha · GitHub) forum threads going back to 2020, so I’m clearly not the only one who needs it.

1 Like