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
- listen to MQTT messages from multiple Zigbee2MQTT devices (e.g.
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