I have a simulated switch that I can use to turn on 2 outside lights. I turn the switch on and both lights come on. I turn the switch off but only one of the lights goes off. I realize there are other ways to rewrite this piston to accomplish the same thing, but just wonder why it doesn’t work the way it is.
.Control of 2 lights only controls 1
The question is not so much how to make it work as why it doesn’t work this way. Both lights come on but only 1 goes off. More my curiosity than anything.
I believe it is because if you switch is on the whole piston completes never turning off desired result. However if your switch turns off the if trigger is never met, thus canceling the piston.
If you use changes to instead it will fire because you are looking for an event to change?
My thought process might be flawed. But as far as I know this is my logic.
Set your logs to full and watch them, many times the answer is in the logs. Also turn on trace and it will give you a visual of how it was processed. Along with the time ad elapsed time since it last ran
IS ON vs Changes to ON are no different in this case as there is only one condition
In the absence of any triggers, a condition becomes a trigger.
Your problem is most likely that one of your outside lights isn’t reporting it’s state properly… with logs I could confirm this theory.
webCoRE will not send an off command to a light it thinks is already off due to Command optimisation.
Click on the piston title box at the top of the editor, click the cog symbol and turn off command optimisations. That should fix it.