Link Zigbee Entities request

Hi everyone,
I’m using Home Assistant with Zigbee2MQTT running in Docker, and I have several Zigbee lights that I want to keep perfectly synchronized. In my bedroom for example, the same light should be controllable from multiple switches/points: one near the bed, one near the door, and another near the window.

So far I haven’t found a solution that is 100% reliable, without delays, desyncs, or on/off loops.

What I’ve tried

  • Home Assistant automations / blueprints, such as “Link On/Off State of Multiple Devices”. It works but sometimes introduces loops or small delays.
  • Node-RED, with a custom flow where I:
    • listen to MQTT messages from multiple Zigbee2MQTT devices (e.g. Luci_Camera, Luci_Comodino_Fabio, Luci_Comodino_Laura)
    • detect which endpoint changed (state_left, state_center, state_right)
    • forward the new state to the other devices
    • use a small in-memory TTL cache to prevent immediate loops

This works almost well, but still not reliable enough — sometimes a loop happens, sometimes a switch doesn’t update the others fast enough, etc.

Limitations of my devices

The Tuya TS0003-style switches I’m using do not expose the standard GenOnOff (0x0006) cluster, so I cannot bind them directly.
This rules out the cleanest solution (Zigbee binding), which is why I’m trying software-based alternatives.

My question

Is there a proven, stable way to keep multiple Zigbee lights (from multiple endpoints/devices) fully synchronized when using Zigbee2MQTT?

Thanks

There is progress here GitHub - romasku/tuya-zigbee-switch: Feature-rich custom firmware for Telink-based Tuya Zigbee switches and switch-modules.

Eventually, it would allow for custom bindings…but it is not fully there yet :grin:

I did notice some TS0003 models in there though

2 Likes

thanks! i’ll have a look

Romasku’s custom firmware is indeed the only way to do it. I’ll provide support on the project’s repository or Discord server.
Thanks @aceindy for mentioning. What do you mean “not fully there yet”? :slight_smile:

1 Like

unfortunately my tuya seems not compatible :frowning:

Please open an issue and give some details about your device.
At the very least you will be notified when somebody adds it.

I listed multiple ways of adding support in the porting guide.
You could get a spare unit and test it.
Unless it’s the kind that can’t update wirelessly - that would be a hassle tearing down everything, soldering and flashing.