Tying switches together

If you have N switches that control a single light, how do you can you tie all the switches together so that when you switch one switch on they all switch on and when you switch one switch off they all switch off?

Attempting to do this with rules just ends up with a feedback loop, but it’s such an obvious requirement I must have missed it in the documentations.


Ahhh, the problem of recursion…

The first issue is that in the zigbee switches I’ve seen, the on/off state is read only, not read write. This may go down to the Zigbee protocol or device level, which is hard to overcome.

If that’s a non-issue, I’d consider using something like the Scene Control addon as an intermediary. Create a set of rules to monitor each switch for on/off status changes to generate an on event and off event on the Scene Control. And then another set of rules to change the state of all switches that do not already have the desired state.

Thank you.
While I was not specifically referencing zigbee switches, (my question concerns light switches but also my Amplifier and media player which I have written webthings for), the zigbee switches I have all have read-write on/off state, and since they are actually switching the current if they did not they would be almost useless for home automation.

I’m guessing I’m missing some terminology here to distinguish a switch that does not switch the current, a relay like device that has no direct user interface and a switch that also contains the “relay”.

So the answer appears to be the scene control add on or do as I have with my Amp and media player, which is to have then use a private channel to do this, which feels wrong, but works.

You might also experiment with rules logic using the Pulse add-on. I have found that a 1-second pulse is handy when I have more than one thing that can trigger other things. After something triggers the pulse, use the pulse “event off” (after its one-sec delay) to align the other things.

1 Like

I’m currently experimenting with Tasmota switches, which I will eventually connect via an MQTT bridge to a webthing adapter.

The way they manage your situation in the tasmota world is by “decoupling” the switch from the relay.

Now there is no loop. You can have any number of switches (stateful) or buttons (stateless) control any number of relays. Whether one of those switches happens to be on the same physical device as the relay is irrelevant (if decoupled).