Multi-Switch Operation


#1

1) Give a description of the problem
Looking for some help on a piston that if switch 1 is turned on, switch 2 will also come on and vice versa (switch 2 on, then switch 1 on). Also, looking to have the same when turning off (one turns off, so does the other).

2) What is the expected behaviour?
Either switch turns on, the other switch turns off. Also, either switch turns off, the other turns off. If possible, I would also like to be able to dim the lights equally across them as well, but I have not started trying to integrate that yet.

3) What is happening/not happening?
When the piston is activated, the lights then go into a continuous on/off loop.

**4) Post a Green Snapshot of the piston![image|45x37]


#2

Not sure why it would go into a loop. Do you have any logs? I would suggest for this simple task, you could put all in two statements:

If switch 19 or switch 20 changes to on
 with switch 19 and switch 20
     turn on
 end with
end if
If switch 19 or switch 20 changes to off
 with switch 19 and switch 20
     turn off
 end with
end if

If you select both devices in your statements, webcore will default to the ‘or’ and ‘and’ above. Webcore will not turn on a switch that is already on esophaguses there should be no conflict. I would expect to see this run twice every time you change the a switch (once for the switch you are changing and once for the switch webcore is changing). Then it should stop until you change one of the switches again.

You could also try inserting a 1 second wait at the beginning of this piston to ensure the switch has ‘settled’ before doing anything.


#3

Thanks for the suggestions. I got generally the same inconsistent behavior. Occasionally it would work just fine, and occasionally it would start looping again. Have some logs from both your suggestion and the original piston execution, but not sure what the appropriate level of logging (I chose full, but posting screenshots of all that seems like a nightmare) is?


#4

Don’t post a screenshot. Copy and paste all the logs into your post, then select it and press the </> and it will format it. Also, be sure to turn on trace so the conditions numbers will be marked correctly.


#5

Generally speaking, I would recommend making one of those devices the “master”… and one the “follower”. You are asking for trouble if both devices are “in charge”.
(am I following you, or are you following me? Sounds like a “Curly & Moe” skit, LOL)

Ignoring this practically guarantees a knuckle-sandwich semaphore wait at every event.


#6

Are these physical switches in-wall?

Do they support the button press events? You might be able to use those instead. Something like:

If sw20-button1 pressed, turn on sw19
If sw20-button2 pressed, turn off sw19
If sw19-button1 pressed, turn on sw20
If sw19-button2 pressed, turn off sw20

Another thought: Do you know if your switches distinguish between physical and programmatic events? You might try changing the condition from “Any” to “physical” (assuming they’re physical switches).

Just checked the zooz switch I have - it even lets you lock-out the physical controls, so you’d have to have the controller tell the lights to turn off/on programmatically from button events (or other ways):
image


#7

@guxdude Here’s logs from my original piston execution:

12/14/2020, 8:09:43 PM +70ms
+70ms	╔Stopping piston...
+161ms	╚Piston successfully stopped (91ms)
12/14/2020, 8:09:07 PM +391ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 74ms
+10102ms	║RunTime Analysis CS > 20ms > PS > 10039ms > PE > 44ms > CE
+10103ms	║Piston waited at a semaphore for 10015ms
+10106ms	║Runtime (38285 bytes) successfully initialized in 10039ms (v0.3.110.20191009) (10103ms)
+10107ms	║╔Execution stage started
+10118ms	║║Condition #2 evaluated false (7ms)
+10119ms	║║Condition group #1 evaluated false (state did not change) (8ms)
+10128ms	║║Condition #6 evaluated false (7ms)
+10129ms	║║Condition group #5 evaluated false (state did not change) (8ms)
+10134ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10136ms	║║Condition #10 evaluated false (4ms)
+10137ms	║║Condition group #9 evaluated false (state did not change) (6ms)
+10142ms	║║Comparison (enum) off changes_to (string) off = false (0ms)
+10144ms	║║Condition #14 evaluated false (5ms)
+10145ms	║║Condition group #13 evaluated false (state did not change) (6ms)
+10147ms	║╚Execution stage complete. (41ms)
+10148ms	╚Event processed successfully (10149ms)
12/14/2020, 8:09:06 PM +344ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 69ms
+10092ms	║RunTime Analysis CS > 17ms > PS > 10041ms > PE > 33ms > CE
+10093ms	║Piston waited at a semaphore for 10016ms
+10095ms	║Runtime (38278 bytes) successfully initialized in 10041ms (v0.3.110.20191009) (10093ms)
+10096ms	║╔Execution stage started
+10103ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10105ms	║║Condition #2 evaluated false (4ms)
+10106ms	║║Condition group #1 evaluated false (state did not change) (5ms)
+10111ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10112ms	║║Condition #6 evaluated false (4ms)
+10113ms	║║Condition group #5 evaluated false (state did not change) (5ms)
+10124ms	║║Condition #10 evaluated false (7ms)
+10125ms	║║Condition group #9 evaluated false (state did not change) (8ms)
+10134ms	║║Cancelling condition #14's schedules...
+10135ms	║║Condition #14 evaluated false (8ms)
+10136ms	║║Cancelling condition #13's schedules...
+10137ms	║║Condition group #13 evaluated false (state changed) (10ms)
+10139ms	║╚Execution stage complete. (43ms)
+10140ms	╚Event processed successfully (10140ms)
12/14/2020, 8:09:07 PM +376ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 59ms
+57ms	║RunTime Analysis CS > 18ms > PS > 13ms > PE > 27ms > CE
+60ms	║Runtime (38206 bytes) successfully initialized in 13ms (v0.3.110.20191009) (58ms)
+61ms	║╔Execution stage started
+72ms	║║Condition #2 evaluated false (6ms)
+73ms	║║Condition group #1 evaluated false (state did not change) (8ms)
+81ms	║║Condition #6 evaluated false (6ms)
+82ms	║║Condition group #5 evaluated false (state did not change) (7ms)
+87ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+89ms	║║Condition #10 evaluated false (4ms)
+90ms	║║Condition group #9 evaluated false (state did not change) (5ms)
+95ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+97ms	║║Cancelling condition #14's schedules...
+97ms	║║Condition #14 evaluated true (5ms)
+98ms	║║Cancelling condition #13's schedules...
+99ms	║║Condition group #13 evaluated true (state changed) (7ms)
+101ms	║║Cancelling statement #15's schedules...
+107ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (4ms)
+108ms	║║Executed [Utility Room Lights].off (5ms)
+110ms	║╚Execution stage complete. (50ms)
+111ms	╚Event processed successfully (111ms)
12/14/2020, 8:09:06 PM +339ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 64ms
+77ms	║RunTime Analysis CS > 18ms > PS > 26ms > PE > 33ms > CE
+80ms	║Runtime (38201 bytes) successfully initialized in 26ms (v0.3.110.20191009) (77ms)
+80ms	║╔Execution stage started
+87ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+89ms	║║Condition #2 evaluated false (5ms)
+90ms	║║Condition group #1 evaluated false (state did not change) (6ms)
+95ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+97ms	║║Cancelling condition #6's schedules...
+97ms	║║Condition #6 evaluated true (5ms)
+98ms	║║Cancelling condition #5's schedules...
+99ms	║║Condition group #5 evaluated true (state changed) (7ms)
+101ms	║║Cancelling statement #7's schedules...
+144ms	║║Executed physical command [Utility Room Sink Lights].off() (38ms)
+145ms	║║Executed [Utility Room Sink Lights].off (40ms)
+162ms	║║Condition #10 evaluated false (15ms)
+163ms	║║Condition group #9 evaluated false (state did not change) (16ms)
+172ms	║║Condition #14 evaluated false (6ms)
+173ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+175ms	║╚Execution stage complete. (94ms)
+176ms	╚Event processed successfully (176ms)
12/14/2020, 8:08:40 PM +275ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 142ms
+10076ms	║RunTime Analysis CS > 18ms > PS > 10028ms > PE > 30ms > CE
+10077ms	║Piston waited at a semaphore for 10012ms
+10079ms	║Runtime (38280 bytes) successfully initialized in 10028ms (v0.3.110.20191009) (10077ms)
+10081ms	║╔Execution stage started
+10089ms	║║Comparison (enum) on changes_to (string) on = false (0ms)
+10090ms	║║Condition #2 evaluated false (5ms)
+10091ms	║║Condition group #1 evaluated false (state did not change) (6ms)
+10097ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10099ms	║║Condition #6 evaluated false (4ms)
+10100ms	║║Condition group #5 evaluated false (state did not change) (5ms)
+10109ms	║║Cancelling condition #10's schedules...
+10110ms	║║Condition #10 evaluated false (8ms)
+10111ms	║║Cancelling condition #9's schedules...
+10112ms	║║Condition group #9 evaluated false (state changed) (10ms)
+10122ms	║║Condition #14 evaluated false (7ms)
+10123ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+10125ms	║╚Execution stage complete. (45ms)
+10126ms	╚Event processed successfully (10126ms)
12/14/2020, 8:08:41 PM +438ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 76ms
+83ms	║RunTime Analysis CS > 22ms > PS > 29ms > PE > 32ms > CE
+85ms	║Runtime (38204 bytes) successfully initialized in 29ms (v0.3.110.20191009) (82ms)
+86ms	║╔Execution stage started
+98ms	║║Cancelling condition #2's schedules...
+99ms	║║Condition #2 evaluated false (9ms)
+100ms	║║Cancelling condition #1's schedules...
+101ms	║║Condition group #1 evaluated false (state changed) (11ms)
+111ms	║║Condition #6 evaluated false (7ms)
+112ms	║║Condition group #5 evaluated false (state did not change) (8ms)
+117ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+118ms	║║Cancelling condition #10's schedules...
+119ms	║║Condition #10 evaluated true (5ms)
+120ms	║║Cancelling condition #9's schedules...
+121ms	║║Condition group #9 evaluated true (state changed) (7ms)
+123ms	║║Cancelling statement #11's schedules...
+130ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (5ms)
+131ms	║║Executed [Utility Room Lights].on (7ms)
+136ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+138ms	║║Condition #14 evaluated false (3ms)
+139ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+141ms	║╚Execution stage complete. (54ms)
+142ms	╚Event processed successfully (141ms)
12/14/2020, 8:08:40 PM +228ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 94ms
+82ms	║RunTime Analysis CS > 19ms > PS > 31ms > PE > 33ms > CE
+84ms	║Runtime (38202 bytes) successfully initialized in 31ms (v0.3.110.20191009) (82ms)
+85ms	║╔Execution stage started
+92ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+94ms	║║Cancelling condition #2's schedules...
+94ms	║║Condition #2 evaluated true (5ms)
+95ms	║║Cancelling condition #1's schedules...
+96ms	║║Condition group #1 evaluated true (state changed) (7ms)
+98ms	║║Cancelling statement #3's schedules...
+124ms	║║Executed physical command [Utility Room Sink Lights].on() (23ms)
+125ms	║║Executed [Utility Room Sink Lights].on (25ms)
+130ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+132ms	║║Condition #6 evaluated false (4ms)
+133ms	║║Condition group #5 evaluated false (state did not change) (6ms)
+142ms	║║Condition #10 evaluated false (7ms)
+143ms	║║Condition group #9 evaluated false (state did not change) (8ms)
+152ms	║║Condition #14 evaluated false (7ms)
+153ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+155ms	║╚Execution stage complete. (70ms)
+156ms	╚Event processed successfully (156ms)
12/14/2020, 8:08:27 PM +845ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 74ms
+10094ms	║RunTime Analysis CS > 19ms > PS > 10042ms > PE > 32ms > CE
+10095ms	║Piston waited at a semaphore for 10017ms
+10097ms	║Runtime (38284 bytes) successfully initialized in 10042ms (v0.3.110.20191009) (10095ms)
+10098ms	║╔Execution stage started
+10106ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10107ms	║║Condition #2 evaluated false (5ms)
+10108ms	║║Condition group #1 evaluated false (state did not change) (6ms)
+10114ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10115ms	║║Condition #6 evaluated false (4ms)
+10116ms	║║Condition group #5 evaluated false (state did not change) (6ms)
+10126ms	║║Condition #10 evaluated false (6ms)
+10127ms	║║Condition group #9 evaluated false (state did not change) (8ms)
+10137ms	║║Condition #14 evaluated false (7ms)
+10138ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+10140ms	║╚Execution stage complete. (43ms)
+10141ms	╚Event processed successfully (10141ms)
12/14/2020, 8:08:25 PM +443ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 76ms
+10098ms	║RunTime Analysis CS > 21ms > PS > 10042ms > PE > 36ms > CE
+10099ms	║Piston waited at a semaphore for 10013ms
+10101ms	║Runtime (38287 bytes) successfully initialized in 10042ms (v0.3.110.20191009) (10099ms)
+10102ms	║╔Execution stage started
+10114ms	║║Condition #2 evaluated false (8ms)
+10115ms	║║Condition group #1 evaluated false (state did not change) (9ms)
+10124ms	║║Cancelling condition #6's schedules...
+10124ms	║║Condition #6 evaluated false (7ms)
+10125ms	║║Cancelling condition #5's schedules...
+10126ms	║║Condition group #5 evaluated false (state changed) (9ms)
+10132ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10133ms	║║Condition #10 evaluated false (4ms)
+10134ms	║║Condition group #9 evaluated false (state did not change) (5ms)
+10139ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10140ms	║║Condition #14 evaluated false (4ms)
+10141ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+10143ms	║╚Execution stage complete. (41ms)
+10144ms	╚Event processed successfully (10144ms)
12/14/2020, 8:08:27 PM +844ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 73ms
+88ms	║RunTime Analysis CS > 18ms > PS > 34ms > PE > 36ms > CE
+91ms	║Runtime (38197 bytes) successfully initialized in 34ms (v0.3.110.20191009) (89ms)
+92ms	║╔Execution stage started
+99ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+100ms	║║Condition #2 evaluated false (4ms)
+101ms	║║Condition group #1 evaluated false (state did not change) (6ms)
+107ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+108ms	║║Cancelling condition #6's schedules...
+109ms	║║Condition #6 evaluated true (5ms)
+110ms	║║Cancelling condition #5's schedules...
+111ms	║║Condition group #5 evaluated true (state changed) (7ms)
+113ms	║║Cancelling statement #7's schedules...
+120ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (5ms)
+121ms	║║Executed [Utility Room Sink Lights].off (6ms)
+130ms	║║Condition #10 evaluated false (6ms)
+131ms	║║Condition group #9 evaluated false (state did not change) (8ms)
+139ms	║║Cancelling condition #14's schedules...
+140ms	║║Condition #14 evaluated false (7ms)
+141ms	║║Cancelling condition #13's schedules...
+142ms	║║Condition group #13 evaluated false (state changed) (9ms)
+144ms	║╚Execution stage complete. (53ms)
+145ms	╚Event processed successfully (145ms)
12/14/2020, 8:08:25 PM +423ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 57ms
+54ms	║RunTime Analysis CS > 14ms > PS > 14ms > PE > 25ms > CE
+56ms	║Runtime (38206 bytes) successfully initialized in 14ms (v0.3.110.20191009) (55ms)
+57ms	║╔Execution stage started
+69ms	║║Condition #2 evaluated false (7ms)
+70ms	║║Condition group #1 evaluated false (state did not change) (9ms)
+79ms	║║Condition #6 evaluated false (6ms)
+80ms	║║Condition group #5 evaluated false (state did not change) (7ms)
+86ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+87ms	║║Condition #10 evaluated false (4ms)
+88ms	║║Condition group #9 evaluated false (state did not change) (5ms)
+94ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+96ms	║║Cancelling condition #14's schedules...
+97ms	║║Condition #14 evaluated true (5ms)
+98ms	║║Cancelling condition #13's schedules...
+99ms	║║Condition group #13 evaluated true (state changed) (7ms)
+101ms	║║Cancelling statement #15's schedules...
+117ms	║║Executed physical command [Utility Room Lights].off() (13ms)
+118ms	║║Executed [Utility Room Lights].off (15ms)
+120ms	║╚Execution stage complete. (63ms)
+121ms	╚Event processed successfully (121ms)
12/14/2020, 8:07:58 PM +985ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 60ms
+10076ms	║RunTime Analysis CS > 14ms > PS > 10029ms > PE > 33ms > CE
+10077ms	║Piston waited at a semaphore for 10015ms
+10079ms	║Runtime (38281 bytes) successfully initialized in 10029ms (v0.3.110.20191009) (10077ms)
+10080ms	║╔Execution stage started
+10087ms	║║Comparison (enum) on changes_to (string) on = false (1ms)
+10089ms	║║Condition #2 evaluated false (4ms)
+10090ms	║║Condition group #1 evaluated false (state did not change) (5ms)
+10095ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10097ms	║║Condition #6 evaluated false (5ms)
+10098ms	║║Condition group #5 evaluated false (state did not change) (5ms)
+10105ms	║║Condition #10 evaluated false (5ms)
+10106ms	║║Condition group #9 evaluated false (state did not change) (6ms)
+10115ms	║║Condition #14 evaluated false (6ms)
+10116ms	║║Condition group #13 evaluated false (state did not change) (7ms)
+10118ms	║╚Execution stage complete. (38ms)
+10119ms	╚Event processed successfully (10119ms)
12/14/2020, 8:07:58 PM +503ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 83ms
+10114ms	║RunTime Analysis CS > 20ms > PS > 10064ms > PE > 30ms > CE
+10115ms	║Piston waited at a semaphore for 10018ms
+10117ms	║Runtime (38284 bytes) successfully initialized in 10064ms (v0.3.110.20191009) (10115ms)
+10118ms	║╔Execution stage started
+10129ms	║║Cancelling condition #2's schedules...
+10130ms	║║Condition #2 evaluated false (8ms)
+10131ms	║║Cancelling condition #1's schedules...
+10132ms	║║Condition group #1 evaluated false (state changed) (9ms)
+10142ms	║║Condition #6 evaluated false (8ms)
+10143ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+10148ms	║║Comparison (enum) on changes_to (string) on = false (1ms)
+10149ms	║║Condition #10 evaluated false (4ms)
+10150ms	║║Condition group #9 evaluated false (state did not change) (5ms)
+10155ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10156ms	║║Condition #14 evaluated false (4ms)
+10157ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+10159ms	║╚Execution stage complete. (41ms)
+10160ms	╚Event processed successfully (10160ms)
12/14/2020, 8:07:58 PM +980ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 55ms
+64ms	║RunTime Analysis CS > 17ms > PS > 14ms > PE > 33ms > CE
+67ms	║Runtime (38200 bytes) successfully initialized in 14ms (v0.3.110.20191009) (64ms)
+67ms	║╔Execution stage started
+75ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+76ms	║║Cancelling condition #2's schedules...
+77ms	║║Condition #2 evaluated true (5ms)
+78ms	║║Cancelling condition #1's schedules...
+79ms	║║Condition group #1 evaluated true (state changed) (8ms)
+81ms	║║Cancelling statement #3's schedules...
+89ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (5ms)
+90ms	║║Executed [Utility Room Sink Lights].on (7ms)
+95ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+97ms	║║Condition #6 evaluated false (4ms)
+98ms	║║Condition group #5 evaluated false (state did not change) (6ms)
+130ms	║║Condition #10 evaluated false (30ms)
+131ms	║║Condition group #9 evaluated false (state did not change) (31ms)
+163ms	║║Condition #14 evaluated false (28ms)
+164ms	║║Condition group #13 evaluated false (state did not change) (30ms)
+166ms	║╚Execution stage complete. (98ms)
+167ms	╚Event processed successfully (166ms)
12/14/2020, 8:07:48 PM +648ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 66ms
+10118ms	║RunTime Analysis CS > 21ms > PS > 10068ms > PE > 30ms > CE
+10119ms	║Piston waited at a semaphore for 10042ms
+10121ms	║Runtime (38284 bytes) successfully initialized in 10068ms (v0.3.110.20191009) (10119ms)
+10122ms	║╔Execution stage started
+10133ms	║║Condition #2 evaluated false (7ms)
+10134ms	║║Condition group #1 evaluated false (state did not change) (8ms)
+10144ms	║║Condition #6 evaluated false (7ms)
+10145ms	║║Condition group #5 evaluated false (state did not change) (8ms)
+10150ms	║║Comparison (enum) on changes_to (string) on = false (1ms)
+10152ms	║║Cancelling condition #10's schedules...
+10153ms	║║Condition #10 evaluated false (5ms)
+10154ms	║║Cancelling condition #9's schedules...
+10154ms	║║Condition group #9 evaluated false (state changed) (7ms)
+10160ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10161ms	║║Condition #14 evaluated false (4ms)
+10162ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+10164ms	║╚Execution stage complete. (42ms)
+10165ms	╚Event processed successfully (10165ms)
12/14/2020, 8:07:58 PM +497ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 76ms
+74ms	║RunTime Analysis CS > 19ms > PS > 30ms > PE > 25ms > CE
+76ms	║Runtime (38204 bytes) successfully initialized in 30ms (v0.3.110.20191009) (74ms)
+77ms	║╔Execution stage started
+87ms	║║Cancelling condition #2's schedules...
+88ms	║║Condition #2 evaluated false (7ms)
+89ms	║║Cancelling condition #1's schedules...
+90ms	║║Condition group #1 evaluated false (state changed) (9ms)
+99ms	║║Condition #6 evaluated false (5ms)
+100ms	║║Condition group #5 evaluated false (state did not change) (7ms)
+105ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+106ms	║║Cancelling condition #10's schedules...
+107ms	║║Condition #10 evaluated true (5ms)
+108ms	║║Cancelling condition #9's schedules...
+109ms	║║Condition group #9 evaluated true (state changed) (7ms)
+111ms	║║Cancelling statement #11's schedules...
+137ms	║║Executed physical command [Utility Room Lights].on() (22ms)
+138ms	║║Executed [Utility Room Lights].on (24ms)
+143ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+145ms	║║Condition #14 evaluated false (4ms)
+146ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+148ms	║╚Execution stage complete. (71ms)
+149ms	╚Event processed successfully (149ms)
12/14/2020, 8:07:47 PM +89ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 64ms
+10090ms	║RunTime Analysis CS > 19ms > PS > 10044ms > PE > 28ms > CE
+10091ms	║Piston waited at a semaphore for 10018ms
+10093ms	║Runtime (38281 bytes) successfully initialized in 10044ms (v0.3.110.20191009) (10091ms)
+10094ms	║╔Execution stage started
+10101ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+10103ms	║║Cancelling condition #2's schedules...
+10104ms	║║Condition #2 evaluated true (5ms)
+10105ms	║║Cancelling condition #1's schedules...
+10105ms	║║Condition group #1 evaluated true (state changed) (7ms)
+10108ms	║║Cancelling statement #3's schedules...
+10130ms	║║Executed physical command [Utility Room Sink Lights].on() (20ms)
+10131ms	║║Executed [Utility Room Sink Lights].on (22ms)
+10137ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10138ms	║║Cancelling condition #6's schedules...
+10139ms	║║Condition #6 evaluated false (5ms)
+10140ms	║║Cancelling condition #5's schedules...
+10141ms	║║Condition group #5 evaluated false (state changed) (7ms)
+10149ms	║║Condition #10 evaluated false (6ms)
+10150ms	║║Condition group #9 evaluated false (state did not change) (7ms)
+10159ms	║║Condition #14 evaluated false (6ms)
+10160ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+10162ms	║╚Execution stage complete. (67ms)
+10163ms	╚Event processed successfully (10164ms)
12/14/2020, 8:07:54 PM +317ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 74ms
+75ms	║RunTime Analysis CS > 20ms > PS > 25ms > PE > 29ms > CE
+77ms	║Runtime (38198 bytes) successfully initialized in 25ms (v0.3.110.20191009) (75ms)
+78ms	║╔Execution stage started
+86ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+88ms	║║Condition #2 evaluated false (4ms)
+89ms	║║Condition group #1 evaluated false (state did not change) (7ms)
+95ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+97ms	║║Cancelling condition #6's schedules...
+98ms	║║Condition #6 evaluated true (6ms)
+99ms	║║Cancelling condition #5's schedules...
+100ms	║║Condition group #5 evaluated true (state changed) (9ms)
+103ms	║║Cancelling statement #7's schedules...
+111ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (5ms)
+113ms	║║Executed [Utility Room Sink Lights].off (7ms)
+123ms	║║Condition #10 evaluated false (7ms)
+124ms	║║Condition group #9 evaluated false (state did not change) (8ms)
+133ms	║║Condition #14 evaluated false (6ms)
+135ms	║║Condition group #13 evaluated false (state did not change) (7ms)
+137ms	║╚Execution stage complete. (59ms)
+138ms	╚Event processed successfully (138ms)
12/14/2020, 8:07:44 PM +117ms
+2ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 81ms
+10097ms	║RunTime Analysis CS > 23ms > PS > 10051ms > PE > 23ms > CE
+10098ms	║Piston waited at a semaphore for 10021ms
+10100ms	║Runtime (38282 bytes) successfully initialized in 10051ms (v0.3.110.20191009) (10098ms)
+10101ms	║╔Execution stage started
+10113ms	║║Condition #2 evaluated false (8ms)
+10114ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+10122ms	║║Condition #6 evaluated false (6ms)
+10123ms	║║Condition group #5 evaluated false (state did not change) (7ms)
+10128ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10129ms	║║Condition #10 evaluated false (4ms)
+10130ms	║║Condition group #9 evaluated false (state did not change) (5ms)
+10135ms	║║Comparison (enum) off changes_to (string) off = false (0ms)
+10136ms	║║Cancelling condition #14's schedules...
+10137ms	║║Condition #14 evaluated false (5ms)
+10138ms	║║Cancelling condition #13's schedules...
+10138ms	║║Condition group #13 evaluated false (state changed) (6ms)
+10140ms	║╚Execution stage complete. (39ms)
+10141ms	╚Event processed successfully (10141ms)
12/14/2020, 8:07:53 PM +616ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 83ms
+76ms	║RunTime Analysis CS > 20ms > PS > 33ms > PE > 23ms > CE
+79ms	║Runtime (38205 bytes) successfully initialized in 33ms (v0.3.110.20191009) (77ms)
+80ms	║╔Execution stage started
+92ms	║║Condition #2 evaluated false (8ms)
+93ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+102ms	║║Cancelling condition #6's schedules...
+102ms	║║Condition #6 evaluated false (6ms)
+104ms	║║Cancelling condition #5's schedules...
+104ms	║║Condition group #5 evaluated false (state changed) (9ms)
+110ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+111ms	║║Condition #10 evaluated false (4ms)
+112ms	║║Condition group #9 evaluated false (state did not change) (5ms)
+117ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+119ms	║║Cancelling condition #14's schedules...
+120ms	║║Condition #14 evaluated true (6ms)
+121ms	║║Cancelling condition #13's schedules...
+122ms	║║Condition group #13 evaluated true (state changed) (8ms)
+124ms	║║Cancelling statement #15's schedules...
+149ms	║║Executed physical command [Utility Room Lights].off() (22ms)
+150ms	║║Executed [Utility Room Lights].off (24ms)
+152ms	║╚Execution stage complete. (73ms)
+153ms	╚Event processed successfully (153ms)
12/14/2020, 8:07:42 PM +378ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 83ms
+10162ms	║RunTime Analysis CS > 20ms > PS > 10121ms > PE > 21ms > CE
+10163ms	║Piston waited at a semaphore for 10095ms
+10165ms	║Runtime (38280 bytes) successfully initialized in 10121ms (v0.3.110.20191009) (10162ms)
+10166ms	║╔Execution stage started
+10174ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10176ms	║║Condition #2 evaluated false (5ms)
+10177ms	║║Condition group #1 evaluated false (state did not change) (6ms)
+10183ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+10184ms	║║Cancelling condition #6's schedules...
+10185ms	║║Condition #6 evaluated true (5ms)
+10186ms	║║Cancelling condition #5's schedules...
+10187ms	║║Condition group #5 evaluated true (state changed) (8ms)
+10190ms	║║Cancelling statement #7's schedules...
+10213ms	║║Executed physical command [Utility Room Sink Lights].off() (20ms)
+10214ms	║║Executed [Utility Room Sink Lights].off (21ms)
+10224ms	║║Cancelling condition #10's schedules...
+10225ms	║║Condition #10 evaluated false (7ms)
+10226ms	║║Cancelling condition #9's schedules...
+10227ms	║║Condition group #9 evaluated false (state changed) (10ms)
+10236ms	║║Condition #14 evaluated false (7ms)
+10237ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+10239ms	║╚Execution stage complete. (73ms)
+10240ms	╚Event processed successfully (10240ms)
12/14/2020, 8:07:48 PM +632ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 51ms
+49ms	║RunTime Analysis CS > 15ms > PS > 16ms > PE > 17ms > CE
+51ms	║Runtime (38203 bytes) successfully initialized in 16ms (v0.3.110.20191009) (49ms)
+52ms	║╔Execution stage started
+63ms	║║Cancelling condition #2's schedules...
+64ms	║║Condition #2 evaluated false (8ms)
+65ms	║║Cancelling condition #1's schedules...
+66ms	║║Condition group #1 evaluated false (state changed) (9ms)
+74ms	║║Condition #6 evaluated false (6ms)
+75ms	║║Condition group #5 evaluated false (state did not change) (7ms)
+82ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+83ms	║║Cancelling condition #10's schedules...
+84ms	║║Condition #10 evaluated true (6ms)
+85ms	║║Cancelling condition #9's schedules...
+86ms	║║Condition group #9 evaluated true (state changed) (8ms)
+88ms	║║Cancelling statement #11's schedules...
+95ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (3ms)
+96ms	║║Executed [Utility Room Lights].on (5ms)
+102ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+103ms	║║Condition #14 evaluated false (4ms)
+104ms	║║Condition group #13 evaluated false (state did not change) (6ms)
+106ms	║╚Execution stage complete. (54ms)
+108ms	╚Event processed successfully (107ms)
12/14/2020, 8:07:47 PM +79ms
+0ms	╔Received event [Utility Room Lights].switch = on with a delay of 54ms
+48ms	║RunTime Analysis CS > 18ms > PS > 15ms > PE > 15ms > CE
+50ms	║Runtime (38196 bytes) successfully initialized in 15ms (v0.3.110.20191009) (49ms)
+51ms	║╔Execution stage started
+58ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+60ms	║║Cancelling condition #2's schedules...
+61ms	║║Condition #2 evaluated true (6ms)
+62ms	║║Cancelling condition #1's schedules...
+63ms	║║Condition group #1 evaluated true (state changed) (8ms)
+65ms	║║Cancelling statement #3's schedules...
+81ms	║║Executed physical command [Utility Room Sink Lights].on() (13ms)
+82ms	║║Executed [Utility Room Sink Lights].on (15ms)
+87ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+89ms	║║Condition #6 evaluated false (4ms)
+90ms	║║Condition group #5 evaluated false (state did not change) (6ms)
+99ms	║║Cancelling condition #10's schedules...
+100ms	║║Condition #10 evaluated false (8ms)
+101ms	║║Cancelling condition #9's schedules...
+102ms	║║Condition group #9 evaluated false (state changed) (10ms)
+110ms	║║Condition #14 evaluated false (6ms)
+111ms	║║Condition group #13 evaluated false (state did not change) (7ms)
+113ms	║╚Execution stage complete. (62ms)
+115ms	╚Event processed successfully (114ms)
12/14/2020, 8:07:36 PM +514ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 69ms
+10078ms	║RunTime Analysis CS > 20ms > PS > 10037ms > PE > 21ms > CE
+10079ms	║Piston waited at a semaphore for 10014ms
+10081ms	║Runtime (38283 bytes) successfully initialized in 10037ms (v0.3.110.20191009) (10079ms)
+10082ms	║╔Execution stage started
+10093ms	║║Condition #2 evaluated false (6ms)
+10094ms	║║Condition group #1 evaluated false (state did not change) (7ms)
+10103ms	║║Condition #6 evaluated false (7ms)
+10104ms	║║Condition group #5 evaluated false (state did not change) (8ms)
+10110ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+10111ms	║║Cancelling condition #10's schedules...
+10112ms	║║Condition #10 evaluated true (5ms)
+10113ms	║║Cancelling condition #9's schedules...
+10114ms	║║Condition group #9 evaluated true (state changed) (7ms)
+10116ms	║║Cancelling statement #11's schedules...
+10136ms	║║Executed physical command [Utility Room Lights].on() (17ms)
+10137ms	║║Executed [Utility Room Lights].on (19ms)
+10143ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10144ms	║║Cancelling condition #14's schedules...
+10145ms	║║Condition #14 evaluated false (5ms)
+10146ms	║║Cancelling condition #13's schedules...
+10147ms	║║Condition group #13 evaluated false (state changed) (7ms)
+10149ms	║╚Execution stage complete. (67ms)
+10150ms	╚Event processed successfully (10150ms)
12/14/2020, 8:07:44 PM +104ms
+2ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 68ms
+63ms	║RunTime Analysis CS > 19ms > PS > 25ms > PE > 18ms > CE
+65ms	║Runtime (38205 bytes) successfully initialized in 25ms (v0.3.110.20191009) (62ms)
+66ms	║╔Execution stage started
+78ms	║║Condition #2 evaluated false (7ms)
+79ms	║║Condition group #1 evaluated false (state did not change) (8ms)
+88ms	║║Cancelling condition #6's schedules...
+89ms	║║Condition #6 evaluated false (7ms)
+91ms	║║Cancelling condition #5's schedules...
+92ms	║║Condition group #5 evaluated false (state changed) (10ms)
+98ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+99ms	║║Condition #10 evaluated false (5ms)
+100ms	║║Condition group #9 evaluated false (state did not change) (6ms)
+106ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+108ms	║║Cancelling condition #14's schedules...
+109ms	║║Condition #14 evaluated true (6ms)
+110ms	║║Cancelling condition #13's schedules...
+111ms	║║Condition group #13 evaluated true (state changed) (8ms)
+114ms	║║Cancelling statement #15's schedules...
+120ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (4ms)
+121ms	║║Executed [Utility Room Lights].off (6ms)
+124ms	║╚Execution stage complete. (57ms)
+125ms	╚Event processed successfully (125ms)
12/14/2020, 8:07:42 PM +370ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 75ms
+69ms	║RunTime Analysis CS > 19ms > PS > 32ms > PE > 18ms > CE
+71ms	║Runtime (38199 bytes) successfully initialized in 32ms (v0.3.110.20191009) (69ms)
+72ms	║╔Execution stage started
+79ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+81ms	║║Condition #2 evaluated false (4ms)
+82ms	║║Condition group #1 evaluated false (state did not change) (5ms)
+87ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+88ms	║║Cancelling condition #6's schedules...
+89ms	║║Condition #6 evaluated true (5ms)
+90ms	║║Cancelling condition #5's schedules...
+91ms	║║Condition group #5 evaluated true (state changed) (7ms)
+93ms	║║Cancelling statement #7's schedules...
+118ms	║║Executed physical command [Utility Room Sink Lights].off() (21ms)
+119ms	║║Executed [Utility Room Sink Lights].off (23ms)
+129ms	║║Cancelling condition #10's schedules...
+129ms	║║Condition #10 evaluated false (7ms)
+130ms	║║Cancelling condition #9's schedules...
+131ms	║║Condition group #9 evaluated false (state changed) (9ms)
+141ms	║║Condition #14 evaluated false (7ms)
+142ms	║║Condition group #13 evaluated false (state did not change) (8ms)
+144ms	║╚Execution stage complete. (72ms)
+145ms	╚Event processed successfully (145ms)
12/14/2020, 8:07:36 PM +504ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 59ms
+37ms	║RunTime Analysis CS > 13ms > PS > 13ms > PE > 11ms > CE
+39ms	║Runtime (38204 bytes) successfully initialized in 13ms (v0.3.110.20191009) (37ms)
+40ms	║╔Execution stage started
+51ms	║║Cancelling condition #2's schedules...
+52ms	║║Condition #2 evaluated false (7ms)
+53ms	║║Cancelling condition #1's schedules...
+53ms	║║Condition group #1 evaluated false (state changed) (9ms)
+61ms	║║Condition #6 evaluated false (5ms)
+62ms	║║Condition group #5 evaluated false (state did not change) (6ms)
+68ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+69ms	║║Cancelling condition #10's schedules...
+70ms	║║Condition #10 evaluated true (5ms)
+71ms	║║Cancelling condition #9's schedules...
+72ms	║║Condition group #9 evaluated true (state changed) (8ms)
+74ms	║║Cancelling statement #11's schedules...
+80ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (4ms)
+81ms	║║Executed [Utility Room Lights].on (6ms)
+86ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+88ms	║║Condition #14 evaluated false (3ms)
+89ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+91ms	║╚Execution stage complete. (50ms)
+92ms	╚Event processed successfully (92ms)
12/14/2020, 8:07:34 PM +546ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 52ms
+45ms	║RunTime Analysis CS > 13ms > PS > 14ms > PE > 18ms > CE
+48ms	║Runtime (38202 bytes) successfully initialized in 14ms (v0.3.110.20191009) (45ms)
+48ms	║╔Execution stage started
+57ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+58ms	║║Cancelling condition #2's schedules...
+59ms	║║Condition #2 evaluated true (6ms)
+60ms	║║Cancelling condition #1's schedules...
+61ms	║║Condition group #1 evaluated true (state changed) (8ms)
+64ms	║║Cancelling statement #3's schedules...
+82ms	║║Executed physical command [Utility Room Sink Lights].on() (14ms)
+83ms	║║Executed [Utility Room Sink Lights].on (16ms)
+89ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+90ms	║║Condition #6 evaluated false (4ms)
+91ms	║║Condition group #5 evaluated false (state did not change) (6ms)
+100ms	║║Condition #10 evaluated false (6ms)
+102ms	║║Condition group #9 evaluated false (state did not change) (7ms)
+110ms	║║Condition #14 evaluated false (5ms)
+111ms	║║Condition group #13 evaluated false (state did not change) (6ms)
+113ms	║╚Execution stage complete. (65ms)
+114ms	╚Event processed successfully (114ms)
12/14/2020, 8:07:34 PM +545ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 51ms
+42ms	║RunTime Analysis CS > 14ms > PS > 13ms > PE > 14ms > CE
+44ms	║Runtime (38202 bytes) successfully initialized in 13ms (v0.3.110.20191009) (42ms)
+45ms	║╔Execution stage started
+52ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+53ms	║║Cancelling condition #2's schedules...
+54ms	║║Condition #2 evaluated true (5ms)
+55ms	║║Cancelling condition #1's schedules...
+56ms	║║Condition group #1 evaluated true (state changed) (7ms)
+58ms	║║Cancelling statement #3's schedules...
+74ms	║║Executed physical command [Utility Room Sink Lights].on() (13ms)
+75ms	║║Executed [Utility Room Sink Lights].on (14ms)
+80ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+81ms	║║Condition #6 evaluated false (4ms)
+82ms	║║Condition group #5 evaluated false (state did not change) (5ms)
+92ms	║║Condition #10 evaluated false (6ms)
+93ms	║║Condition group #9 evaluated false (state did not change) (7ms)
+99ms	║║Condition #14 evaluated false (4ms)
+100ms	║║Condition group #13 evaluated false (state did not change) (5ms)
+102ms	║╚Execution stage complete. (58ms)
+103ms	╚Event processed successfully (103ms)
12/14/2020, 8:07:14 PM +382ms
+0ms	╔Starting piston... (v0.3.110.20191009)
+366ms	║╔Subscribing to devices...
+384ms	║║Subscribing to Utility Room Lights.switch...
+396ms	║║Subscribing to Utility Room Sink Lights.switch...
+479ms	║╚Finished subscribing (116ms)
+545ms	╚Piston successfully started (545ms)

#8

@guxdude And here is logs from execution of your suggested piston:

12/14/2020, 8:03:20 PM +402ms
+56ms	╔Stopping piston...
+141ms	╚Piston successfully stopped (85ms)
12/14/2020, 8:02:39 PM +907ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 65ms
+10096ms	║RunTime Analysis CS > 20ms > PS > 10039ms > PE > 36ms > CE
+10097ms	║Piston waited at a semaphore for 10014ms
+10099ms	║Runtime (37207 bytes) successfully initialized in 10039ms (v0.3.110.20191009) (10097ms)
+10100ms	║╔Execution stage started
+10114ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10116ms	║║Condition #2 evaluated false (11ms)
+10117ms	║║Condition group #1 evaluated false (state did not change) (12ms)
+10129ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10131ms	║║Condition #6 evaluated false (11ms)
+10132ms	║║Condition group #5 evaluated false (state did not change) (12ms)
+10134ms	║╚Execution stage complete. (34ms)
+10136ms	╚Event processed successfully (10135ms)
12/14/2020, 8:02:38 PM +628ms
+2ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 83ms
+10101ms	║RunTime Analysis CS > 24ms > PS > 10045ms > PE > 33ms > CE
+10102ms	║Piston waited at a semaphore for 10014ms
+10104ms	║Runtime (37208 bytes) successfully initialized in 10045ms (v0.3.110.20191009) (10102ms)
+10105ms	║╔Execution stage started
+10118ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10120ms	║║Condition #2 evaluated false (10ms)
+10120ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+10131ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10133ms	║║Condition #6 evaluated false (9ms)
+10133ms	║║Condition group #5 evaluated false (state did not change) (11ms)
+10135ms	║╚Execution stage complete. (30ms)
+10136ms	╚Event processed successfully (10136ms)
12/14/2020, 8:02:29 PM +828ms
+2ms	╔Received event [Utility Room Lights].switch = on with a delay of 82ms
+10176ms	║RunTime Analysis CS > 22ms > PS > 10121ms > PE > 33ms > CE
+10177ms	║Piston waited at a semaphore for 10097ms
+10180ms	║Runtime (37203 bytes) successfully initialized in 10121ms (v0.3.110.20191009) (10176ms)
+10181ms	║╔Execution stage started
+10194ms	║║Comparison (enum) on changes_to (string) on = false (1ms)
+10196ms	║║Cancelling condition #2's schedules...
+10197ms	║║Condition #2 evaluated false (12ms)
+10198ms	║║Cancelling condition #1's schedules...
+10199ms	║║Condition group #1 evaluated false (state changed) (14ms)
+10210ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10212ms	║║Condition #6 evaluated false (10ms)
+10213ms	║║Condition group #5 evaluated false (state did not change) (11ms)
+10215ms	║╚Execution stage complete. (35ms)
+10216ms	╚Event processed successfully (10216ms)
12/14/2020, 8:02:39 PM +897ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 55ms
+58ms	║RunTime Analysis CS > 16ms > PS > 14ms > PE > 28ms > CE
+60ms	║Runtime (37123 bytes) successfully initialized in 14ms (v0.3.110.20191009) (59ms)
+61ms	║╔Execution stage started
+74ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+75ms	║║Cancelling condition #2's schedules...
+76ms	║║Condition #2 evaluated false (11ms)
+77ms	║║Cancelling condition #1's schedules...
+78ms	║║Condition group #1 evaluated false (state changed) (13ms)
+88ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+89ms	║║Cancelling condition #6's schedules...
+90ms	║║Condition #6 evaluated true (9ms)
+91ms	║║Cancelling condition #5's schedules...
+92ms	║║Condition group #5 evaluated true (state changed) (12ms)
+94ms	║║Cancelling statement #7's schedules...
+98ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (1ms)
+99ms	║║Executed [Utility Room Lights].off (2ms)
+105ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (4ms)
+106ms	║║Executed [Utility Room Sink Lights].off (6ms)
+109ms	║╚Execution stage complete. (48ms)
+110ms	╚Event processed successfully (110ms)
12/14/2020, 8:02:29 PM +51ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 86ms
+10149ms	║RunTime Analysis CS > 19ms > PS > 10088ms > PE > 42ms > CE
+10150ms	║Piston waited at a semaphore for 10057ms
+10152ms	║Runtime (37211 bytes) successfully initialized in 10088ms (v0.3.110.20191009) (10150ms)
+10153ms	║╔Execution stage started
+10165ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+10167ms	║║Cancelling condition #2's schedules...
+10168ms	║║Condition #2 evaluated true (10ms)
+10168ms	║║Cancelling condition #1's schedules...
+10169ms	║║Condition group #1 evaluated true (state changed) (12ms)
+10171ms	║║Cancelling statement #3's schedules...
+10178ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (4ms)
+10179ms	║║Executed [Utility Room Lights].on (6ms)
+10181ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (0ms)
+10182ms	║║Executed [Utility Room Sink Lights].on (2ms)
+10192ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10194ms	║║Condition #6 evaluated false (9ms)
+10195ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+10198ms	║╚Execution stage complete. (44ms)
+10199ms	╚Event processed successfully (10199ms)
12/14/2020, 8:02:38 PM +610ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 65ms
+67ms	║RunTime Analysis CS > 21ms > PS > 15ms > PE > 31ms > CE
+69ms	║Runtime (37126 bytes) successfully initialized in 15ms (v0.3.110.20191009) (67ms)
+70ms	║╔Execution stage started
+83ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+85ms	║║Condition #2 evaluated false (9ms)
+86ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+96ms	║║Comparison (enum) off changes_to (string) off = false (0ms)
+97ms	║║Cancelling condition #6's schedules...
+98ms	║║Condition #6 evaluated false (10ms)
+99ms	║║Cancelling condition #5's schedules...
+100ms	║║Condition group #5 evaluated false (state changed) (12ms)
+102ms	║╚Execution stage complete. (32ms)
+103ms	╚Event processed successfully (103ms)
12/14/2020, 8:02:28 PM +115ms
+2ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 134ms
+10105ms	║RunTime Analysis CS > 23ms > PS > 10047ms > PE > 34ms > CE
+10106ms	║Piston waited at a semaphore for 10017ms
+10108ms	║Runtime (37209 bytes) successfully initialized in 10047ms (v0.3.110.20191009) (10105ms)
+10109ms	║╔Execution stage started
+10122ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10123ms	║║Condition #2 evaluated false (10ms)
+10124ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+10135ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+10137ms	║║Condition #6 evaluated true (10ms)
+10138ms	║║Condition group #5 evaluated true (state did not change) (12ms)
+10140ms	║║Cancelling statement #7's schedules...
+10163ms	║║Executed physical command [Utility Room Lights].off() (20ms)
+10164ms	║║Executed [Utility Room Lights].off (22ms)
+10167ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+10168ms	║║Executed [Utility Room Sink Lights].off (2ms)
+10170ms	║╚Execution stage complete. (62ms)
+10171ms	╚Event processed successfully (10171ms)
12/14/2020, 8:02:27 PM +223ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 69ms
+10158ms	║RunTime Analysis CS > 19ms > PS > 10108ms > PE > 31ms > CE
+10159ms	║Piston waited at a semaphore for 10082ms
+10162ms	║Runtime (37205 bytes) successfully initialized in 10108ms (v0.3.110.20191009) (10159ms)
+10163ms	║╔Execution stage started
+10179ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10181ms	║║Cancelling condition #2's schedules...
+10182ms	║║Condition #2 evaluated false (15ms)
+10183ms	║║Cancelling condition #1's schedules...
+10184ms	║║Condition group #1 evaluated false (state changed) (17ms)
+10207ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+10208ms	║║Cancelling condition #6's schedules...
+10209ms	║║Condition #6 evaluated true (22ms)
+10210ms	║║Cancelling condition #5's schedules...
+10211ms	║║Condition group #5 evaluated true (state changed) (24ms)
+10213ms	║║Cancelling statement #7's schedules...
+10217ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+10217ms	║║Executed [Utility Room Lights].off (2ms)
+10259ms	║║Executed physical command [Utility Room Sink Lights].off() (40ms)
+10260ms	║║Executed [Utility Room Sink Lights].off (42ms)
+10263ms	║╚Execution stage complete. (100ms)
+10264ms	╚Event processed successfully (10264ms)
12/14/2020, 8:02:27 PM +223ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 69ms
+10094ms	║RunTime Analysis CS > 19ms > PS > 10044ms > PE > 31ms > CE
+10095ms	║Piston waited at a semaphore for 10019ms
+10097ms	║Runtime (37205 bytes) successfully initialized in 10044ms (v0.3.110.20191009) (10095ms)
+10098ms	║╔Execution stage started
+10119ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10121ms	║║Cancelling condition #2's schedules...
+10122ms	║║Condition #2 evaluated false (19ms)
+10123ms	║║Cancelling condition #1's schedules...
+10124ms	║║Condition group #1 evaluated false (state changed) (21ms)
+10164ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+10165ms	║║Cancelling condition #6's schedules...
+10166ms	║║Condition #6 evaluated true (40ms)
+10167ms	║║Cancelling condition #5's schedules...
+10168ms	║║Condition group #5 evaluated true (state changed) (42ms)
+10170ms	║║Cancelling statement #7's schedules...
+10174ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+10175ms	║║Executed [Utility Room Lights].off (2ms)
+10197ms	║║Executed physical command [Utility Room Sink Lights].off() (21ms)
+10198ms	║║Executed [Utility Room Sink Lights].off (23ms)
+10201ms	║╚Execution stage complete. (102ms)
+10202ms	╚Event processed successfully (10202ms)
12/14/2020, 8:02:29 PM +816ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 70ms
+58ms	║RunTime Analysis CS > 16ms > PS > 15ms > PE > 27ms > CE
+61ms	║Runtime (37125 bytes) successfully initialized in 15ms (v0.3.110.20191009) (59ms)
+61ms	║╔Execution stage started
+72ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+74ms	║║Cancelling condition #2's schedules...
+75ms	║║Condition #2 evaluated true (9ms)
+76ms	║║Cancelling condition #1's schedules...
+77ms	║║Condition group #1 evaluated true (state changed) (11ms)
+79ms	║║Cancelling statement #3's schedules...
+82ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (0ms)
+83ms	║║Executed [Utility Room Lights].on (2ms)
+89ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (4ms)
+90ms	║║Executed [Utility Room Sink Lights].on (6ms)
+101ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+102ms	║║Condition #6 evaluated false (9ms)
+103ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+105ms	║╚Execution stage complete. (44ms)
+107ms	╚Event processed successfully (107ms)
12/14/2020, 8:02:18 PM +906ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 60ms
+10480ms	║RunTime Analysis CS > 413ms > PS > 10035ms > PE > 32ms > CE
+10481ms	║Piston waited at a semaphore for 10020ms
+10483ms	║Runtime (37210 bytes) successfully initialized in 10035ms (v0.3.110.20191009) (10481ms)
+10484ms	║╔Execution stage started
+10495ms	║║Comparison (enum) on changes_to (string) on = false (0ms)
+10497ms	║║Cancelling condition #2's schedules...
+10498ms	║║Condition #2 evaluated false (10ms)
+10499ms	║║Cancelling condition #1's schedules...
+10500ms	║║Condition group #1 evaluated false (state changed) (12ms)
+10510ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10511ms	║║Condition #6 evaluated false (8ms)
+10512ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+10514ms	║╚Execution stage complete. (30ms)
+10516ms	╚Event processed successfully (10515ms)
12/14/2020, 8:02:29 PM +45ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 80ms
+91ms	║RunTime Analysis CS > 22ms > PS > 31ms > PE > 38ms > CE
+94ms	║Runtime (37125 bytes) successfully initialized in 31ms (v0.3.110.20191009) (91ms)
+95ms	║╔Execution stage started
+108ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+110ms	║║Condition #2 evaluated true (10ms)
+111ms	║║Condition group #1 evaluated true (state did not change) (12ms)
+113ms	║║Cancelling statement #3's schedules...
+140ms	║║Executed physical command [Utility Room Lights].on() (23ms)
+141ms	║║Executed [Utility Room Lights].on (25ms)
+143ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (1ms)
+144ms	║║Executed [Utility Room Sink Lights].on (2ms)
+155ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+157ms	║║Condition #6 evaluated false (10ms)
+158ms	║║Condition group #5 evaluated false (state did not change) (12ms)
+160ms	║╚Execution stage complete. (66ms)
+161ms	╚Event processed successfully (161ms)
12/14/2020, 8:02:18 PM +52ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 97ms
+10162ms	║RunTime Analysis CS > 16ms > PS > 10105ms > PE > 40ms > CE
+10163ms	║Piston waited at a semaphore for 10089ms
+10165ms	║Runtime (37204 bytes) successfully initialized in 10105ms (v0.3.110.20191009) (10163ms)
+10166ms	║╔Execution stage started
+10178ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+10179ms	║║Cancelling condition #2's schedules...
+10180ms	║║Condition #2 evaluated true (9ms)
+10181ms	║║Cancelling condition #1's schedules...
+10182ms	║║Condition group #1 evaluated true (state changed) (12ms)
+10185ms	║║Cancelling statement #3's schedules...
+10188ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+10189ms	║║Executed [Utility Room Lights].on (2ms)
+10205ms	║║Executed physical command [Utility Room Sink Lights].on() (13ms)
+10206ms	║║Executed [Utility Room Sink Lights].on (15ms)
+10217ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10219ms	║║Cancelling condition #6's schedules...
+10220ms	║║Condition #6 evaluated false (12ms)
+10221ms	║║Cancelling condition #5's schedules...
+10222ms	║║Condition group #5 evaluated false (state changed) (14ms)
+10224ms	║╚Execution stage complete. (59ms)
+10225ms	╚Event processed successfully (10225ms)
12/14/2020, 8:02:28 PM +70ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 88ms
+83ms	║RunTime Analysis CS > 22ms > PS > 30ms > PE > 32ms > CE
+86ms	║Runtime (37129 bytes) successfully initialized in 30ms (v0.3.110.20191009) (83ms)
+86ms	║╔Execution stage started
+100ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+102ms	║║Condition #2 evaluated false (11ms)
+103ms	║║Condition group #1 evaluated false (state did not change) (12ms)
+113ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+114ms	║║Condition #6 evaluated true (9ms)
+115ms	║║Condition group #5 evaluated true (state did not change) (10ms)
+117ms	║║Cancelling statement #7's schedules...
+124ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (4ms)
+125ms	║║Executed [Utility Room Lights].off (6ms)
+127ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (0ms)
+128ms	║║Executed [Utility Room Sink Lights].off (2ms)
+130ms	║╚Execution stage complete. (44ms)
+131ms	╚Event processed successfully (132ms)
12/14/2020, 8:02:17 PM +36ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 61ms
+10186ms	║RunTime Analysis CS > 16ms > PS > 10140ms > PE > 30ms > CE
+10187ms	║Piston waited at a semaphore for 10127ms
+10189ms	║Runtime (37206 bytes) successfully initialized in 10140ms (v0.3.110.20191009) (10187ms)
+10190ms	║╔Execution stage started
+10202ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10204ms	║║Condition #2 evaluated false (10ms)
+10205ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+10214ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+10216ms	║║Condition #6 evaluated true (7ms)
+10217ms	║║Condition group #5 evaluated true (state did not change) (8ms)
+10219ms	║║Cancelling statement #7's schedules...
+10222ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+10223ms	║║Executed [Utility Room Lights].off (2ms)
+10238ms	║║Executed physical command [Utility Room Sink Lights].off() (12ms)
+10239ms	║║Executed [Utility Room Sink Lights].off (14ms)
+10241ms	║╚Execution stage complete. (51ms)
+10242ms	╚Event processed successfully (10242ms)
12/14/2020, 8:02:16 PM +541ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 74ms
+10101ms	║RunTime Analysis CS > 21ms > PS > 10051ms > PE > 29ms > CE
+10102ms	║Piston waited at a semaphore for 10014ms
+10104ms	║Runtime (37210 bytes) successfully initialized in 10051ms (v0.3.110.20191009) (10102ms)
+10105ms	║╔Execution stage started
+10116ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10118ms	║║Cancelling condition #2's schedules...
+10119ms	║║Condition #2 evaluated false (10ms)
+10120ms	║║Cancelling condition #1's schedules...
+10121ms	║║Condition group #1 evaluated false (state changed) (12ms)
+10131ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+10133ms	║║Cancelling condition #6's schedules...
+10134ms	║║Condition #6 evaluated true (9ms)
+10135ms	║║Cancelling condition #5's schedules...
+10136ms	║║Condition group #5 evaluated true (state changed) (12ms)
+10138ms	║║Cancelling statement #7's schedules...
+10160ms	║║Executed physical command [Utility Room Lights].off() (19ms)
+10161ms	║║Executed [Utility Room Lights].off (21ms)
+10164ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (0ms)
+10165ms	║║Executed [Utility Room Sink Lights].off (2ms)
+10167ms	║╚Execution stage complete. (62ms)
+10168ms	╚Event processed successfully (10168ms)
12/14/2020, 8:02:18 PM +899ms
+0ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 52ms
+454ms	║RunTime Analysis CS > 416ms > PS > 14ms > PE > 26ms > CE
+456ms	║Runtime (37130 bytes) successfully initialized in 14ms (v0.3.110.20191009) (455ms)
+457ms	║╔Execution stage started
+469ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+471ms	║║Condition #2 evaluated true (9ms)
+472ms	║║Condition group #1 evaluated true (state did not change) (10ms)
+474ms	║║Cancelling statement #3's schedules...
+480ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (4ms)
+481ms	║║Executed [Utility Room Lights].on (5ms)
+483ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (0ms)
+484ms	║║Executed [Utility Room Sink Lights].on (2ms)
+493ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+495ms	║║Condition #6 evaluated false (8ms)
+496ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+498ms	║╚Execution stage complete. (41ms)
+499ms	╚Event processed successfully (499ms)
12/14/2020, 8:02:08 PM +112ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 78ms
+10093ms	║RunTime Analysis CS > 20ms > PS > 10040ms > PE > 33ms > CE
+10094ms	║Piston waited at a semaphore for 10016ms
+10097ms	║Runtime (37205 bytes) successfully initialized in 10040ms (v0.3.110.20191009) (10094ms)
+10098ms	║╔Execution stage started
+10109ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+10111ms	║║Condition #2 evaluated true (9ms)
+10112ms	║║Condition group #1 evaluated true (state did not change) (10ms)
+10114ms	║║Cancelling statement #3's schedules...
+10117ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (0ms)
+10118ms	║║Executed [Utility Room Lights].on (2ms)
+10137ms	║║Executed physical command [Utility Room Sink Lights].on() (17ms)
+10138ms	║║Executed [Utility Room Sink Lights].on (18ms)
+10147ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10149ms	║║Condition #6 evaluated false (9ms)
+10150ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+10151ms	║╚Execution stage complete. (54ms)
+10152ms	╚Event processed successfully (10152ms)
12/14/2020, 8:02:18 PM +28ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 72ms
+73ms	║RunTime Analysis CS > 20ms > PS > 24ms > PE > 30ms > CE
+75ms	║Runtime (37124 bytes) successfully initialized in 24ms (v0.3.110.20191009) (73ms)
+77ms	║╔Execution stage started
+88ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+90ms	║║Condition #2 evaluated true (9ms)
+91ms	║║Condition group #1 evaluated true (state did not change) (11ms)
+93ms	║║Cancelling statement #3's schedules...
+96ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (0ms)
+97ms	║║Executed [Utility Room Lights].on (2ms)
+117ms	║║Executed physical command [Utility Room Sink Lights].on() (18ms)
+118ms	║║Executed [Utility Room Sink Lights].on (20ms)
+128ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+129ms	║║Condition #6 evaluated false (8ms)
+130ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+132ms	║╚Execution stage complete. (56ms)
+133ms	╚Event processed successfully (133ms)
12/14/2020, 8:02:07 PM +446ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 90ms
+10107ms	║RunTime Analysis CS > 23ms > PS > 10048ms > PE > 37ms > CE
+10108ms	║Piston waited at a semaphore for 10018ms
+10110ms	║Runtime (37208 bytes) successfully initialized in 10048ms (v0.3.110.20191009) (10108ms)
+10111ms	║╔Execution stage started
+10122ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+10124ms	║║Cancelling condition #2's schedules...
+10125ms	║║Condition #2 evaluated true (10ms)
+10126ms	║║Cancelling condition #1's schedules...
+10126ms	║║Condition group #1 evaluated true (state changed) (12ms)
+10128ms	║║Cancelling statement #3's schedules...
+10150ms	║║Executed physical command [Utility Room Lights].on() (18ms)
+10151ms	║║Executed [Utility Room Lights].on (20ms)
+10153ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (1ms)
+10154ms	║║Executed [Utility Room Sink Lights].on (2ms)
+10163ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10165ms	║║Cancelling condition #6's schedules...
+10165ms	║║Condition #6 evaluated false (8ms)
+10166ms	║║Cancelling condition #5's schedules...
+10167ms	║║Condition group #5 evaluated false (state changed) (11ms)
+10169ms	║╚Execution stage complete. (59ms)
+10170ms	╚Event processed successfully (10170ms)
12/14/2020, 8:02:17 PM +31ms
+0ms	╔Received event [Utility Room Lights].switch = off with a delay of 55ms
+61ms	║RunTime Analysis CS > 18ms > PS > 15ms > PE > 28ms > CE
+63ms	║Runtime (37121 bytes) successfully initialized in 15ms (v0.3.110.20191009) (62ms)
+64ms	║╔Execution stage started
+76ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+78ms	║║Condition #2 evaluated false (10ms)
+79ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+89ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+91ms	║║Condition #6 evaluated true (9ms)
+92ms	║║Condition group #5 evaluated true (state did not change) (10ms)
+94ms	║║Cancelling statement #7's schedules...
+97ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+98ms	║║Executed [Utility Room Lights].off (2ms)
+105ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (4ms)
+105ms	║║Executed [Utility Room Sink Lights].off (6ms)
+108ms	║╚Execution stage complete. (44ms)
+109ms	╚Event processed successfully (109ms)
12/14/2020, 8:02:16 PM +530ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 64ms
+55ms	║RunTime Analysis CS > 16ms > PS > 14ms > PE > 25ms > CE
+57ms	║Runtime (37127 bytes) successfully initialized in 14ms (v0.3.110.20191009) (55ms)
+58ms	║╔Execution stage started
+70ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+71ms	║║Condition #2 evaluated false (9ms)
+72ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+81ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+83ms	║║Condition #6 evaluated true (8ms)
+84ms	║║Condition group #5 evaluated true (state did not change) (10ms)
+86ms	║║Cancelling statement #7's schedules...
+102ms	║║Executed physical command [Utility Room Lights].off() (14ms)
+103ms	║║Executed [Utility Room Lights].off (16ms)
+106ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+107ms	║║Executed [Utility Room Sink Lights].off (3ms)
+109ms	║╚Execution stage complete. (51ms)
+110ms	╚Event processed successfully (110ms)
12/14/2020, 8:02:05 PM +633ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 61ms
+10071ms	║RunTime Analysis CS > 14ms > PS > 10030ms > PE > 27ms > CE
+10072ms	║Piston waited at a semaphore for 10016ms
+10074ms	║Runtime (37205 bytes) successfully initialized in 10030ms (v0.3.110.20191009) (10073ms)
+10075ms	║╔Execution stage started
+10086ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+10088ms	║║Cancelling condition #2's schedules...
+10088ms	║║Condition #2 evaluated false (9ms)
+10089ms	║║Cancelling condition #1's schedules...
+10090ms	║║Condition group #1 evaluated false (state changed) (11ms)
+10099ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+10101ms	║║Cancelling condition #6's schedules...
+10102ms	║║Condition #6 evaluated true (8ms)
+10103ms	║║Cancelling condition #5's schedules...
+10104ms	║║Condition group #5 evaluated true (state changed) (10ms)
+10106ms	║║Cancelling statement #7's schedules...
+10110ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+10110ms	║║Executed [Utility Room Lights].off (2ms)
+10124ms	║║Executed physical command [Utility Room Sink Lights].off() (12ms)
+10125ms	║║Executed [Utility Room Sink Lights].off (14ms)
+10128ms	║╚Execution stage complete. (52ms)
+10129ms	╚Event processed successfully (10129ms)
12/14/2020, 8:02:08 PM +90ms
+0ms	╔Received event [Utility Room Lights].switch = on with a delay of 55ms
+58ms	║RunTime Analysis CS > 18ms > PS > 14ms > PE > 26ms > CE
+60ms	║Runtime (37123 bytes) successfully initialized in 14ms (v0.3.110.20191009) (59ms)
+61ms	║╔Execution stage started
+71ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+73ms	║║Condition #2 evaluated true (8ms)
+74ms	║║Condition group #1 evaluated true (state did not change) (9ms)
+76ms	║║Cancelling statement #3's schedules...
+79ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (0ms)
+80ms	║║Executed [Utility Room Lights].on (2ms)
+86ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (4ms)
+87ms	║║Executed [Utility Room Sink Lights].on (6ms)
+95ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+97ms	║║Condition #6 evaluated false (7ms)
+98ms	║║Condition group #5 evaluated false (state did not change) (8ms)
+100ms	║╚Execution stage complete. (39ms)
+101ms	╚Event processed successfully (102ms)
12/14/2020, 8:02:07 PM +443ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 88ms
+82ms	║RunTime Analysis CS > 21ms > PS > 31ms > PE > 30ms > CE
+84ms	║Runtime (37125 bytes) successfully initialized in 31ms (v0.3.110.20191009) (81ms)
+85ms	║╔Execution stage started
+192ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+194ms	║║Condition #2 evaluated true (105ms)
+195ms	║║Condition group #1 evaluated true (state did not change) (106ms)
+197ms	║║Cancelling statement #3's schedules...
+222ms	║║Executed physical command [Utility Room Lights].on() (22ms)
+223ms	║║Executed [Utility Room Lights].on (23ms)
+225ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (1ms)
+226ms	║║Executed [Utility Room Sink Lights].on (2ms)
+237ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+239ms	║║Condition #6 evaluated false (9ms)
+239ms	║║Condition group #5 evaluated false (state did not change) (11ms)
+241ms	║╚Execution stage complete. (156ms)
+242ms	╚Event processed successfully (242ms)
12/14/2020, 8:01:56 PM +511ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 68ms
+10124ms	║RunTime Analysis CS > 19ms > PS > 10066ms > PE > 40ms > CE
+10125ms	║Piston waited at a semaphore for 10042ms
+10127ms	║Runtime (37201 bytes) successfully initialized in 10066ms (v0.3.110.20191009) (10125ms)
+10128ms	║╔Execution stage started
+10140ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+10142ms	║║Cancelling condition #2's schedules...
+10143ms	║║Condition #2 evaluated true (11ms)
+10144ms	║║Cancelling condition #1's schedules...
+10145ms	║║Condition group #1 evaluated true (state changed) (13ms)
+10147ms	║║Cancelling statement #3's schedules...
+10151ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+10152ms	║║Executed [Utility Room Lights].on (2ms)
+10180ms	║║Executed physical command [Utility Room Sink Lights].on() (26ms)
+10180ms	║║Executed [Utility Room Sink Lights].on (28ms)
+10191ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10193ms	║║Cancelling condition #6's schedules...
+10194ms	║║Condition #6 evaluated false (11ms)
+10195ms	║║Cancelling condition #5's schedules...
+10196ms	║║Condition group #5 evaluated false (state changed) (13ms)
+10198ms	║╚Execution stage complete. (70ms)
+10199ms	╚Event processed successfully (10199ms)
12/14/2020, 8:02:06 PM +426ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 69ms
+79ms	║RunTime Analysis CS > 18ms > PS > 25ms > PE > 37ms > CE
+82ms	║Runtime (37126 bytes) successfully initialized in 25ms (v0.3.110.20191009) (79ms)
+83ms	║╔Execution stage started
+96ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+98ms	║║Condition #2 evaluated false (11ms)
+99ms	║║Condition group #1 evaluated false (state did not change) (12ms)
+108ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+110ms	║║Condition #6 evaluated true (9ms)
+111ms	║║Condition group #5 evaluated true (state did not change) (10ms)
+113ms	║║Cancelling statement #7's schedules...
+121ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (5ms)
+122ms	║║Executed [Utility Room Lights].off (7ms)
+125ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+126ms	║║Executed [Utility Room Sink Lights].off (2ms)
+128ms	║╚Execution stage complete. (46ms)
+129ms	╚Event processed successfully (129ms)
12/14/2020, 8:02:05 PM +623ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 51ms
+51ms	║RunTime Analysis CS > 12ms > PS > 13ms > PE > 25ms > CE
+53ms	║Runtime (37123 bytes) successfully initialized in 13ms (v0.3.110.20191009) (52ms)
+54ms	║╔Execution stage started
+65ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+67ms	║║Cancelling condition #2's schedules...
+68ms	║║Condition #2 evaluated false (9ms)
+69ms	║║Cancelling condition #1's schedules...
+69ms	║║Condition group #1 evaluated false (state changed) (12ms)
+77ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+79ms	║║Cancelling condition #6's schedules...
+80ms	║║Condition #6 evaluated true (8ms)
+81ms	║║Cancelling condition #5's schedules...
+82ms	║║Condition group #5 evaluated true (state changed) (11ms)
+84ms	║║Cancelling statement #7's schedules...
+87ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+88ms	║║Executed [Utility Room Lights].off (2ms)
+103ms	║║Executed physical command [Utility Room Sink Lights].off() (13ms)
+104ms	║║Executed [Utility Room Sink Lights].off (14ms)
+106ms	║╚Execution stage complete. (53ms)
+107ms	╚Event processed successfully (107ms)
12/14/2020, 8:01:56 PM +492ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 50ms
+65ms	║RunTime Analysis CS > 15ms > PS > 17ms > PE > 33ms > CE
+67ms	║Runtime (37124 bytes) successfully initialized in 17ms (v0.3.110.20191009) (65ms)
+68ms	║╔Execution stage started
+81ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+83ms	║║Cancelling condition #2's schedules...
+84ms	║║Condition #2 evaluated true (11ms)
+85ms	║║Cancelling condition #1's schedules...
+86ms	║║Condition group #1 evaluated true (state changed) (14ms)
+89ms	║║Cancelling statement #3's schedules...
+93ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+94ms	║║Executed [Utility Room Lights].on (3ms)
+100ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (4ms)
+101ms	║║Executed [Utility Room Sink Lights].on (6ms)
+112ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+114ms	║║Condition #6 evaluated false (10ms)
+115ms	║║Condition group #5 evaluated false (state did not change) (11ms)
+117ms	║╚Execution stage complete. (49ms)
+118ms	╚Event processed successfully (118ms)
12/14/2020, 8:01:35 PM +436ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 70ms
+10121ms	║RunTime Analysis CS > 28ms > PS > 10043ms > PE > 51ms > CE
+10122ms	║Piston waited at a semaphore for 10018ms
+10124ms	║Runtime (37210 bytes) successfully initialized in 10043ms (v0.3.110.20191009) (10122ms)
+10125ms	║╔Execution stage started
+10138ms	║║Comparison (enum) on changes_to (string) on = false (0ms)
+10139ms	║║Condition #2 evaluated false (9ms)
+10140ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+10150ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10151ms	║║Condition #6 evaluated false (8ms)
+10152ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+10154ms	║╚Execution stage complete. (29ms)
+10155ms	╚Event processed successfully (10155ms)
12/14/2020, 8:01:32 PM +511ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 77ms
+10098ms	║RunTime Analysis CS > 18ms > PS > 10046ms > PE > 34ms > CE
+10099ms	║Piston waited at a semaphore for 10017ms
+10101ms	║Runtime (37206 bytes) successfully initialized in 10046ms (v0.3.110.20191009) (10099ms)
+10102ms	║╔Execution stage started
+10116ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10117ms	║║Condition #2 evaluated false (11ms)
+10118ms	║║Condition group #1 evaluated false (state did not change) (12ms)
+10128ms	║║Comparison (enum) off changes_to (string) off = false (0ms)
+10130ms	║║Cancelling condition #6's schedules...
+10131ms	║║Condition #6 evaluated false (10ms)
+10132ms	║║Cancelling condition #5's schedules...
+10133ms	║║Condition group #5 evaluated false (state changed) (13ms)
+10135ms	║╚Execution stage complete. (33ms)
+10136ms	╚Event processed successfully (10136ms)
12/14/2020, 8:01:32 PM +223ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 92ms
+10137ms	║RunTime Analysis CS > 17ms > PS > 10093ms > PE > 28ms > CE
+10138ms	║Piston waited at a semaphore for 10067ms
+10141ms	║Runtime (37212 bytes) successfully initialized in 10093ms (v0.3.110.20191009) (10138ms)
+10142ms	║╔Execution stage started
+10154ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10155ms	║║Condition #2 evaluated false (9ms)
+10156ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+10165ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+10167ms	║║Cancelling condition #6's schedules...
+10168ms	║║Condition #6 evaluated true (9ms)
+10169ms	║║Cancelling condition #5's schedules...
+10170ms	║║Condition group #5 evaluated true (state changed) (12ms)
+10172ms	║║Cancelling statement #7's schedules...
+10178ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (3ms)
+10179ms	║║Executed [Utility Room Lights].off (5ms)
+10182ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+10183ms	║║Executed [Utility Room Sink Lights].off (3ms)
+10185ms	║╚Execution stage complete. (44ms)
+10186ms	╚Event processed successfully (10186ms)
12/14/2020, 8:01:25 PM +454ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 81ms
+10261ms	║RunTime Analysis CS > 20ms > PS > 10209ms > PE > 32ms > CE
+10262ms	║Piston waited at a semaphore for 10094ms
+10264ms	║Runtime (37209 bytes) successfully initialized in 10209ms (v0.3.110.20191009) (10262ms)
+10265ms	║╔Execution stage started
+10278ms	║║Comparison (enum) on changes_to (string) on = false (1ms)
+10279ms	║║Cancelling condition #2's schedules...
+10280ms	║║Condition #2 evaluated false (11ms)
+10281ms	║║Cancelling condition #1's schedules...
+10282ms	║║Condition group #1 evaluated false (state changed) (13ms)
+10291ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10293ms	║║Condition #6 evaluated false (7ms)
+10294ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+10295ms	║╚Execution stage complete. (30ms)
+10297ms	╚Event processed successfully (10296ms)
12/14/2020, 8:01:35 PM +435ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 69ms
+84ms	║RunTime Analysis CS > 25ms > PS > 29ms > PE > 30ms > CE
+86ms	║Runtime (37129 bytes) successfully initialized in 29ms (v0.3.110.20191009) (84ms)
+87ms	║╔Execution stage started
+100ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+102ms	║║Condition #2 evaluated true (10ms)
+103ms	║║Condition group #1 evaluated true (state did not change) (11ms)
+106ms	║║Cancelling statement #3's schedules...
+128ms	║║Executed physical command [Utility Room Lights].on() (20ms)
+129ms	║║Executed [Utility Room Lights].on (22ms)
+133ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (0ms)
+133ms	║║Executed [Utility Room Sink Lights].on (2ms)
+145ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+147ms	║║Condition #6 evaluated false (9ms)
+148ms	║║Condition group #5 evaluated false (state did not change) (12ms)
+150ms	║╚Execution stage complete. (63ms)
+151ms	╚Event processed successfully (151ms)
12/14/2020, 8:01:24 PM +431ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 75ms
+10094ms	║RunTime Analysis CS > 18ms > PS > 10042ms > PE > 35ms > CE
+10095ms	║Piston waited at a semaphore for 10017ms
+10097ms	║Runtime (37203 bytes) successfully initialized in 10042ms (v0.3.110.20191009) (10095ms)
+10099ms	║╔Execution stage started
+10146ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+10148ms	║║Cancelling condition #2's schedules...
+10149ms	║║Condition #2 evaluated true (45ms)
+10151ms	║║Cancelling condition #1's schedules...
+10152ms	║║Condition group #1 evaluated true (state changed) (48ms)
+10155ms	║║Cancelling statement #3's schedules...
+10159ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+10160ms	║║Executed [Utility Room Lights].on (3ms)
+10191ms	║║Executed physical command [Utility Room Sink Lights].on() (29ms)
+10192ms	║║Executed [Utility Room Sink Lights].on (31ms)
+10214ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10215ms	║║Cancelling condition #6's schedules...
+10216ms	║║Condition #6 evaluated false (21ms)
+10217ms	║║Cancelling condition #5's schedules...
+10218ms	║║Condition group #5 evaluated false (state changed) (23ms)
+10220ms	║╚Execution stage complete. (122ms)
+10221ms	╚Event processed successfully (10222ms)
12/14/2020, 8:01:32 PM +502ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 68ms
+71ms	║RunTime Analysis CS > 20ms > PS > 25ms > PE > 25ms > CE
+73ms	║Runtime (37126 bytes) successfully initialized in 25ms (v0.3.110.20191009) (70ms)
+74ms	║╔Execution stage started
+86ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+88ms	║║Condition #2 evaluated false (10ms)
+89ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+100ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+101ms	║║Cancelling condition #6's schedules...
+102ms	║║Condition #6 evaluated true (10ms)
+103ms	║║Cancelling condition #5's schedules...
+104ms	║║Condition group #5 evaluated true (state changed) (13ms)
+106ms	║║Cancelling statement #7's schedules...
+110ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+111ms	║║Executed [Utility Room Lights].off (2ms)
+117ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (4ms)
+118ms	║║Executed [Utility Room Sink Lights].off (6ms)
+120ms	║╚Execution stage complete. (46ms)
+121ms	╚Event processed successfully (121ms)
12/14/2020, 8:01:32 PM +217ms
+2ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 87ms
+72ms	║RunTime Analysis CS > 20ms > PS > 25ms > PE > 27ms > CE
+74ms	║Runtime (37126 bytes) successfully initialized in 25ms (v0.3.110.20191009) (72ms)
+75ms	║╔Execution stage started
+87ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+89ms	║║Condition #2 evaluated false (10ms)
+90ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+99ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+100ms	║║Cancelling condition #6's schedules...
+101ms	║║Condition #6 evaluated false (9ms)
+102ms	║║Cancelling condition #5's schedules...
+103ms	║║Condition group #5 evaluated false (state changed) (11ms)
+105ms	║╚Execution stage complete. (30ms)
+106ms	╚Event processed successfully (106ms)
12/14/2020, 8:01:21 PM +62ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 81ms
+10096ms	║RunTime Analysis CS > 20ms > PS > 10046ms > PE > 31ms > CE
+10097ms	║Piston waited at a semaphore for 10017ms
+10099ms	║Runtime (37208 bytes) successfully initialized in 10046ms (v0.3.110.20191009) (10097ms)
+10100ms	║╔Execution stage started
+10113ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10115ms	║║Condition #2 evaluated false (11ms)
+10116ms	║║Condition group #1 evaluated false (state did not change) (12ms)
+10125ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+10127ms	║║Condition #6 evaluated true (8ms)
+10128ms	║║Condition group #5 evaluated true (state did not change) (9ms)
+10130ms	║║Cancelling statement #7's schedules...
+10153ms	║║Executed physical command [Utility Room Lights].off() (20ms)
+10153ms	║║Executed [Utility Room Lights].off (22ms)
+10156ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+10157ms	║║Executed [Utility Room Sink Lights].off (2ms)
+10159ms	║╚Execution stage complete. (59ms)
+10160ms	╚Event processed successfully (10160ms)
12/14/2020, 8:01:20 PM +105ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 60ms
+10115ms	║RunTime Analysis CS > 15ms > PS > 10077ms > PE > 23ms > CE
+10116ms	║Piston waited at a semaphore for 10063ms
+10118ms	║Runtime (37205 bytes) successfully initialized in 10077ms (v0.3.110.20191009) (10117ms)
+10119ms	║╔Execution stage started
+10130ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10132ms	║║Cancelling condition #2's schedules...
+10133ms	║║Condition #2 evaluated false (10ms)
+10134ms	║║Cancelling condition #1's schedules...
+10135ms	║║Condition group #1 evaluated false (state changed) (11ms)
+10143ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+10145ms	║║Cancelling condition #6's schedules...
+10146ms	║║Condition #6 evaluated true (9ms)
+10147ms	║║Cancelling condition #5's schedules...
+10148ms	║║Condition group #5 evaluated true (state changed) (10ms)
+10150ms	║║Cancelling statement #7's schedules...
+10153ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+10154ms	║║Executed [Utility Room Lights].off (2ms)
+10169ms	║║Executed physical command [Utility Room Sink Lights].off() (12ms)
+10169ms	║║Executed [Utility Room Sink Lights].off (14ms)
+10172ms	║╚Execution stage complete. (52ms)
+10173ms	╚Event processed successfully (10172ms)
12/14/2020, 8:01:25 PM +452ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 79ms
+69ms	║RunTime Analysis CS > 19ms > PS > 25ms > PE > 24ms > CE
+71ms	║Runtime (37129 bytes) successfully initialized in 25ms (v0.3.110.20191009) (69ms)
+72ms	║╔Execution stage started
+84ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+85ms	║║Condition #2 evaluated true (9ms)
+86ms	║║Condition group #1 evaluated true (state did not change) (11ms)
+88ms	║║Cancelling statement #3's schedules...
+96ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (4ms)
+97ms	║║Executed [Utility Room Lights].on (6ms)
+99ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (1ms)
+100ms	║║Executed [Utility Room Sink Lights].on (2ms)
+109ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+111ms	║║Condition #6 evaluated false (7ms)
+112ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+113ms	║╚Execution stage complete. (42ms)
+114ms	╚Event processed successfully (114ms)
12/14/2020, 8:01:24 PM +424ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 69ms
+71ms	║RunTime Analysis CS > 19ms > PS > 27ms > PE > 25ms > CE
+74ms	║Runtime (37122 bytes) successfully initialized in 27ms (v0.3.110.20191009) (71ms)
+75ms	║╔Execution stage started
+88ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+90ms	║║Cancelling condition #2's schedules...
+91ms	║║Condition #2 evaluated true (12ms)
+92ms	║║Cancelling condition #1's schedules...
+93ms	║║Condition group #1 evaluated true (state changed) (14ms)
+95ms	║║Cancelling statement #3's schedules...
+99ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+100ms	║║Executed [Utility Room Lights].on (3ms)
+121ms	║║Executed physical command [Utility Room Sink Lights].on() (19ms)
+122ms	║║Executed [Utility Room Sink Lights].on (21ms)
+133ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+135ms	║║Cancelling condition #6's schedules...
+136ms	║║Condition #6 evaluated false (11ms)
+137ms	║║Cancelling condition #5's schedules...
+138ms	║║Condition group #5 evaluated false (state changed) (13ms)
+140ms	║╚Execution stage complete. (66ms)
+141ms	╚Event processed successfully (141ms)
12/14/2020, 8:01:21 PM +55ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 75ms
+68ms	║RunTime Analysis CS > 20ms > PS > 25ms > PE > 23ms > CE
+71ms	║Runtime (37126 bytes) successfully initialized in 25ms (v0.3.110.20191009) (69ms)
+72ms	║╔Execution stage started
+83ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+85ms	║║Condition #2 evaluated false (8ms)
+86ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+95ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+96ms	║║Condition #6 evaluated true (8ms)
+97ms	║║Condition group #5 evaluated true (state did not change) (9ms)
+99ms	║║Cancelling statement #7's schedules...
+106ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (4ms)
+107ms	║║Executed [Utility Room Lights].off (5ms)
+109ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (0ms)
+110ms	║║Executed [Utility Room Sink Lights].off (2ms)
+112ms	║╚Execution stage complete. (41ms)
+113ms	╚Event processed successfully (113ms)
12/14/2020, 8:01:20 PM +103ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 58ms
+49ms	║RunTime Analysis CS > 15ms > PS > 15ms > PE > 18ms > CE
+51ms	║Runtime (37125 bytes) successfully initialized in 15ms (v0.3.110.20191009) (50ms)
+52ms	║╔Execution stage started
+64ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+65ms	║║Condition #2 evaluated false (9ms)
+66ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+77ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+79ms	║║Cancelling condition #6's schedules...
+80ms	║║Condition #6 evaluated true (10ms)
+81ms	║║Cancelling condition #5's schedules...
+81ms	║║Condition group #5 evaluated true (state changed) (13ms)
+84ms	║║Cancelling statement #7's schedules...
+167ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (1ms)
+168ms	║║Executed [Utility Room Lights].off (82ms)
+185ms	║║Executed physical command [Utility Room Sink Lights].off() (15ms)
+186ms	║║Executed [Utility Room Sink Lights].off (17ms)
+188ms	║╚Execution stage complete. (136ms)
+190ms	╚Event processed successfully (189ms)
12/14/2020, 8:01:02 PM +867ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 76ms
+10090ms	║RunTime Analysis CS > 18ms > PS > 10046ms > PE > 25ms > CE
+10091ms	║Piston waited at a semaphore for 10015ms
+10093ms	║Runtime (37208 bytes) successfully initialized in 10046ms (v0.3.110.20191009) (10091ms)
+10094ms	║╔Execution stage started
+10106ms	║║Comparison (enum) on changes_to (string) on = false (0ms)
+10107ms	║║Cancelling condition #2's schedules...
+10108ms	║║Condition #2 evaluated false (10ms)
+10109ms	║║Cancelling condition #1's schedules...
+10110ms	║║Condition group #1 evaluated false (state changed) (12ms)
+10120ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+10121ms	║║Condition #6 evaluated false (8ms)
+10122ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+10124ms	║╚Execution stage complete. (31ms)
+10125ms	╚Event processed successfully (10125ms)
12/14/2020, 8:01:02 PM +38ms
+2ms	╔Received event [Utility Room Lights].switch = on with a delay of 77ms
+10111ms	║RunTime Analysis CS > 22ms > PS > 10065ms > PE > 23ms > CE
+10112ms	║Piston waited at a semaphore for 10036ms
+10114ms	║Runtime (37201 bytes) successfully initialized in 10065ms (v0.3.110.20191009) (10111ms)
+10115ms	║╔Execution stage started
+10129ms	║║Comparison (enum) on changes_to (string) on = true (0ms)
+10130ms	║║Cancelling condition #2's schedules...
+10131ms	║║Condition #2 evaluated true (12ms)
+10132ms	║║Cancelling condition #1's schedules...
+10133ms	║║Condition group #1 evaluated true (state changed) (14ms)
+10135ms	║║Cancelling statement #3's schedules...
+10139ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+10140ms	║║Executed [Utility Room Lights].on (2ms)
+10146ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (4ms)
+10147ms	║║Executed [Utility Room Sink Lights].on (6ms)
+10158ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10160ms	║║Cancelling condition #6's schedules...
+10161ms	║║Condition #6 evaluated false (10ms)
+10162ms	║║Cancelling condition #5's schedules...
+10163ms	║║Condition group #5 evaluated false (state changed) (12ms)
+10165ms	║╚Execution stage complete. (50ms)
+10166ms	╚Event processed successfully (10166ms)
12/14/2020, 8:00:52 PM +789ms
+2ms	╔Received event [Utility Room Lights].switch = off with a delay of 65ms
+10083ms	║RunTime Analysis CS > 19ms > PS > 10039ms > PE > 25ms > CE
+10084ms	║Piston waited at a semaphore for 10015ms
+10086ms	║Runtime (37206 bytes) successfully initialized in 10039ms (v0.3.110.20191009) (10084ms)
+10087ms	║╔Execution stage started
+10100ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10102ms	║║Cancelling condition #2's schedules...
+10103ms	║║Condition #2 evaluated false (11ms)
+10105ms	║║Cancelling condition #1's schedules...
+10105ms	║║Condition group #1 evaluated false (state changed) (13ms)
+10121ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+10122ms	║║Cancelling condition #6's schedules...
+10123ms	║║Condition #6 evaluated true (15ms)
+10124ms	║║Cancelling condition #5's schedules...
+10125ms	║║Condition group #5 evaluated true (state changed) (17ms)
+10128ms	║║Cancelling statement #7's schedules...
+10132ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (1ms)
+10133ms	║║Executed [Utility Room Lights].off (3ms)
+10163ms	║║Executed physical command [Utility Room Sink Lights].off() (28ms)
+10164ms	║║Executed [Utility Room Sink Lights].off (30ms)
+10167ms	║╚Execution stage complete. (79ms)
+10168ms	╚Event processed successfully (10168ms)
12/14/2020, 8:01:02 PM +13ms
+0ms	╔Received event [Utility Room Lights].switch = on with a delay of 51ms
+48ms	║RunTime Analysis CS > 14ms > PS > 13ms > PE > 21ms > CE
+50ms	║Runtime (37122 bytes) successfully initialized in 13ms (v0.3.110.20191009) (49ms)
+51ms	║╔Execution stage started
+64ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+66ms	║║Cancelling condition #2's schedules...
+67ms	║║Condition #2 evaluated true (11ms)
+68ms	║║Cancelling condition #1's schedules...
+69ms	║║Condition group #1 evaluated true (state changed) (13ms)
+76ms	║║Cancelling statement #3's schedules...
+79ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (0ms)
+85ms	║║Executed [Utility Room Lights].on (4ms)
+103ms	║║Executed physical command [Utility Room Sink Lights].on() (13ms)
+104ms	║║Executed [Utility Room Sink Lights].on (15ms)
+115ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+117ms	║║Cancelling condition #6's schedules...
+117ms	║║Condition #6 evaluated false (10ms)
+119ms	║║Cancelling condition #5's schedules...
+120ms	║║Condition group #5 evaluated false (state changed) (13ms)
+122ms	║╚Execution stage complete. (72ms)
+123ms	╚Event processed successfully (123ms)
12/14/2020, 8:00:53 PM +593ms
+2ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 67ms
+71ms	║RunTime Analysis CS > 19ms > PS > 32ms > PE > 19ms > CE
+73ms	║Runtime (37127 bytes) successfully initialized in 32ms (v0.3.110.20191009) (70ms)
+74ms	║╔Execution stage started
+90ms	║║Comparison (enum) off changes_to (string) on = false (1ms)
+92ms	║║Condition #2 evaluated false (9ms)
+93ms	║║Condition group #1 evaluated false (state did not change) (15ms)
+103ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+104ms	║║Condition #6 evaluated true (9ms)
+105ms	║║Condition group #5 evaluated true (state did not change) (10ms)
+107ms	║║Cancelling statement #7's schedules...
+114ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (4ms)
+115ms	║║Executed [Utility Room Lights].off (6ms)
+118ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (0ms)
+119ms	║║Executed [Utility Room Sink Lights].off (2ms)
+121ms	║╚Execution stage complete. (47ms)
+122ms	╚Event processed successfully (122ms)
12/14/2020, 8:00:53 PM +583ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 57ms
+66ms	║RunTime Analysis CS > 29ms > PS > 22ms > PE > 15ms > CE
+68ms	║Runtime (37127 bytes) successfully initialized in 22ms (v0.3.110.20191009) (66ms)
+69ms	║╔Execution stage started
+81ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+83ms	║║Condition #2 evaluated false (9ms)
+84ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+94ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+95ms	║║Condition #6 evaluated true (8ms)
+96ms	║║Condition group #5 evaluated true (state did not change) (10ms)
+98ms	║║Cancelling statement #7's schedules...
+105ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (3ms)
+106ms	║║Executed [Utility Room Lights].off (5ms)
+109ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+111ms	║║Executed [Utility Room Sink Lights].off (3ms)
+113ms	║╚Execution stage complete. (44ms)
+114ms	╚Event processed successfully (114ms)
12/14/2020, 8:00:52 PM +771ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 47ms
+41ms	║RunTime Analysis CS > 14ms > PS > 14ms > PE > 13ms > CE
+43ms	║Runtime (37126 bytes) successfully initialized in 14ms (v0.3.110.20191009) (41ms)
+44ms	║╔Execution stage started
+54ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+56ms	║║Condition #2 evaluated false (8ms)
+57ms	║║Condition group #1 evaluated false (state did not change) (9ms)
+67ms	║║Comparison (enum) off changes_to (string) off = true (1ms)
+68ms	║║Cancelling condition #6's schedules...
+69ms	║║Condition #6 evaluated true (10ms)
+70ms	║║Cancelling condition #5's schedules...
+71ms	║║Condition group #5 evaluated true (state changed) (12ms)
+73ms	║║Cancelling statement #7's schedules...
+76ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+77ms	║║Executed [Utility Room Lights].off (2ms)
+92ms	║║Executed physical command [Utility Room Sink Lights].off() (12ms)
+92ms	║║Executed [Utility Room Sink Lights].off (14ms)
+95ms	║╚Execution stage complete. (50ms)
+96ms	╚Event processed successfully (96ms)
12/14/2020, 8:00:39 PM +335ms
+1ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 69ms
+10120ms	║RunTime Analysis CS > 16ms > PS > 10086ms > PE > 17ms > CE
+10121ms	║Piston waited at a semaphore for 10062ms
+10123ms	║Runtime (37209 bytes) successfully initialized in 10086ms (v0.3.110.20191009) (10121ms)
+10124ms	║╔Execution stage started
+10136ms	║║Comparison (enum) on changes_to (string) on = false (1ms)
+10138ms	║║Cancelling condition #2's schedules...
+10139ms	║║Condition #2 evaluated false (10ms)
+10140ms	║║Cancelling condition #1's schedules...
+10140ms	║║Condition group #1 evaluated false (state changed) (12ms)
+10150ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+10152ms	║║Condition #6 evaluated false (8ms)
+10153ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+10155ms	║╚Execution stage complete. (32ms)
+10156ms	╚Event processed successfully (10156ms)
12/14/2020, 8:00:39 PM +327ms
+2ms	╔Received event [Utility Room Sink Lights].switch = on with a delay of 61ms
+57ms	║RunTime Analysis CS > 16ms > PS > 25ms > PE > 16ms > CE
+59ms	║Runtime (37131 bytes) successfully initialized in 25ms (v0.3.110.20191009) (57ms)
+60ms	║╔Execution stage started
+73ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+75ms	║║Cancelling condition #2's schedules...
+76ms	║║Condition #2 evaluated true (12ms)
+77ms	║║Cancelling condition #1's schedules...
+78ms	║║Condition group #1 evaluated true (state changed) (13ms)
+80ms	║║Cancelling statement #3's schedules...
+87ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (5ms)
+88ms	║║Executed [Utility Room Lights].on (7ms)
+91ms	║║Skipped execution of physical command [Utility Room Sink Lights].on([]) because it would make no change to the device. (1ms)
+92ms	║║Executed [Utility Room Sink Lights].on (2ms)
+102ms	║║Comparison (enum) on changes_to (string) off = false (0ms)
+103ms	║║Condition #6 evaluated false (8ms)
+104ms	║║Condition group #5 evaluated false (state did not change) (10ms)
+106ms	║╚Execution stage complete. (46ms)
+107ms	╚Event processed successfully (107ms)
12/14/2020, 8:00:36 PM +811ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 149ms
+73ms	║RunTime Analysis CS > 23ms > PS > 32ms > PE > 19ms > CE
+75ms	║Runtime (37125 bytes) successfully initialized in 32ms (v0.3.110.20191009) (73ms)
+76ms	║╔Execution stage started
+89ms	║║Comparison (enum) on changes_to (string) on = false (0ms)
+91ms	║║Cancelling condition #2's schedules...
+92ms	║║Condition #2 evaluated false (12ms)
+93ms	║║Cancelling condition #1's schedules...
+93ms	║║Condition group #1 evaluated false (state changed) (13ms)
+103ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+105ms	║║Condition #6 evaluated false (8ms)
+106ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+107ms	║╚Execution stage complete. (31ms)
+108ms	╚Event processed successfully (108ms)
12/14/2020, 8:00:36 PM +716ms
+1ms	╔Received event [Utility Room Lights].switch = on with a delay of 54ms
+38ms	║RunTime Analysis CS > 14ms > PS > 14ms > PE > 11ms > CE
+40ms	║Runtime (37127 bytes) successfully initialized in 14ms (v0.3.110.20191009) (39ms)
+41ms	║╔Execution stage started
+53ms	║║Comparison (enum) on changes_to (string) on = true (1ms)
+55ms	║║Cancelling condition #2's schedules...
+55ms	║║Condition #2 evaluated true (10ms)
+56ms	║║Cancelling condition #1's schedules...
+57ms	║║Condition group #1 evaluated true (state changed) (12ms)
+59ms	║║Cancelling statement #3's schedules...
+63ms	║║Skipped execution of physical command [Utility Room Lights].on([]) because it would make no change to the device. (1ms)
+64ms	║║Executed [Utility Room Lights].on (3ms)
+78ms	║║Executed physical command [Utility Room Sink Lights].on() (13ms)
+79ms	║║Executed [Utility Room Sink Lights].on (14ms)
+88ms	║║Comparison (enum) on changes_to (string) off = false (1ms)
+90ms	║║Condition #6 evaluated false (8ms)
+91ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+93ms	║╚Execution stage complete. (51ms)
+94ms	╚Event processed successfully (93ms)
12/14/2020, 8:00:23 PM +505ms
+1ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 114ms
+10074ms	║RunTime Analysis CS > 19ms > PS > 10039ms > PE > 17ms > CE
+10075ms	║Piston waited at a semaphore for 10015ms
+10077ms	║Runtime (37212 bytes) successfully initialized in 10039ms (v0.3.110.20191009) (10075ms)
+10078ms	║╔Execution stage started
+10091ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10092ms	║║Condition #2 evaluated false (10ms)
+10093ms	║║Condition group #1 evaluated false (state did not change) (11ms)
+10102ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10103ms	║║Condition #6 evaluated false (8ms)
+10104ms	║║Condition group #5 evaluated false (state did not change) (9ms)
+10106ms	║╚Execution stage complete. (28ms)
+10107ms	╚Event processed successfully (10107ms)
12/14/2020, 8:00:22 PM +229ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 74ms
+10087ms	║RunTime Analysis CS > 14ms > PS > 10057ms > PE > 16ms > CE
+10088ms	║Piston waited at a semaphore for 10041ms
+10090ms	║Runtime (37204 bytes) successfully initialized in 10057ms (v0.3.110.20191009) (10088ms)
+10091ms	║╔Execution stage started
+10102ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+10103ms	║║Condition #2 evaluated false (8ms)
+10104ms	║║Condition group #1 evaluated false (state did not change) (9ms)
+10115ms	║║Comparison (enum) off changes_to (string) off = false (1ms)
+10117ms	║║Cancelling condition #6's schedules...
+10118ms	║║Condition #6 evaluated false (10ms)
+10119ms	║║Cancelling condition #5's schedules...
+10120ms	║║Condition group #5 evaluated false (state changed) (12ms)
+10122ms	║╚Execution stage complete. (30ms)
+10123ms	╚Event processed successfully (10123ms)
12/14/2020, 8:00:23 PM +443ms
+0ms	╔Received event [Utility Room Sink Lights].switch = off with a delay of 52ms
+39ms	║RunTime Analysis CS > 17ms > PS > 13ms > PE > 9ms > CE
+41ms	║Runtime (37126 bytes) successfully initialized in 13ms (v0.3.110.20191009) (40ms)
+42ms	║╔Execution stage started
+53ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+54ms	║║Condition #2 evaluated false (8ms)
+55ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+63ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+65ms	║║Condition #6 evaluated true (8ms)
+66ms	║║Condition group #5 evaluated true (state did not change) (9ms)
+68ms	║║Cancelling statement #7's schedules...
+74ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (3ms)
+75ms	║║Executed [Utility Room Lights].off (5ms)
+77ms	║║Skipped execution of physical command [Utility Room Sink Lights].off([]) because it would make no change to the device. (1ms)
+78ms	║║Executed [Utility Room Sink Lights].off (2ms)
+80ms	║╚Execution stage complete. (39ms)
+81ms	╚Event processed successfully (81ms)
12/14/2020, 8:00:22 PM +227ms
+1ms	╔Received event [Utility Room Lights].switch = off with a delay of 72ms
+41ms	║RunTime Analysis CS > 14ms > PS > 14ms > PE > 13ms > CE
+44ms	║Runtime (37126 bytes) successfully initialized in 14ms (v0.3.110.20191009) (42ms)
+45ms	║╔Execution stage started
+56ms	║║Comparison (enum) off changes_to (string) on = false (0ms)
+57ms	║║Condition #2 evaluated false (8ms)
+58ms	║║Condition group #1 evaluated false (state did not change) (10ms)
+69ms	║║Comparison (enum) off changes_to (string) off = true (0ms)
+70ms	║║Cancelling condition #6's schedules...
+71ms	║║Condition #6 evaluated true (10ms)
+72ms	║║Cancelling condition #5's schedules...
+73ms	║║Condition group #5 evaluated true (state changed) (13ms)
+75ms	║║Cancelling statement #7's schedules...
+79ms	║║Skipped execution of physical command [Utility Room Lights].off([]) because it would make no change to the device. (0ms)
+80ms	║║Executed [Utility Room Lights].off (2ms)
+95ms	║║Executed physical command [Utility Room Sink Lights].off() (14ms)
+96ms	║║Executed [Utility Room Sink Lights].off (15ms)
+98ms	║╚Execution stage complete. (54ms)
+99ms	╚Event processed successfully (99ms)
12/14/2020, 7:59:57 PM +705ms
+2ms	╔Starting piston... (v0.3.110.20191009)
+329ms	║╔Subscribing to devices...
+338ms	║║Subscribing to Utility Room Lights.switch...
+353ms	║║Subscribing to Utility Room Sink Lights.switch...
+434ms	║╚Finished subscribing (110ms)
+487ms	╚Piston successfully started (486ms)

#9

Thanks @ian_boje. I am not sure if they support button events, but distinguishing between physical and programmatic is an option (I guess I was just trying to be overly simple and cover all possible scenarios, thereby making it potentially more complicated, lol). Will continue to play with that suggestion as well.


#10

What type of switches are they?

I’d suspect, if it works, that changing your condition to “Physical interaction” would be the simplest/fastest solution. Other forum posts suggest that not all devices support that feature. Even my $12 sonoff does, so I’d hope yours would too.


#11

I’m definitely good for the physical/programmatic suggestion. Just not sure if they (GE/Jasco Z-Wave switches/dimmers) support the button events.


#12

Yes, looks like a lot of semaphore waits. As @WCmore pointed out, this is the danger of having two switches fighting for control.


#13

@guxdude, thanks. I am going to give @ian_boje suggestion a try. Thanks folks, appreciate you.


#14

Basically no luck. Found that my switch do not support individual button events, and even when being turned on/off programmatically, the logs seem to indicate it’s being executed as a physical event. I even tried to play around with a variable group so that once device would ensure all the switches in the group went on/off accordingly, but the loops still continued.

Any other ideas? Assuming I understand the suggestion of making one the “master”, I’m not sure that will do what I am looking for because I want to be able to use either to control the other.


#15

You can program it, but I would not expect reliability…


For a silly analogy…

Imagine if I told my daughter to do what my son does…
… and if I told my son to do what my daughter does…
Can you see anything productive coming from that logic?


#16

This seems like a fun puzzle, and I’m not giving up. Having said that, if you choose to give up, here’s a plan B: Purchase a button for the 2nd switch, have that button toggle the first switch. Then, set sw2 to whatever state switch1 is in (essentially making sw1 a master, but with remote control). Plan C: just use a motion sensor to control both.

Back to plan A. Here’s what I came up with:

Some stuff that might be good to add, but I didn’t (mostly out of lazyness, since what I have so far seems to work):

  • Check the age of each switch to make sure at least one of them is greater than 5 seconds old to prevent loops.
  • Set a variable to prevent subsequent executions, reset that variable after some interval (5 seconds?).

This may or may not work for you. I’ve only tested this using virtual switches. Delays added by zigbee/zwave might confuse things.

Here are some logs from my testing. I tried to break it as best I could, and only got one error.


#17

You might get what you want with two pistons like this:

if switch 19's switch changes
  if switch 19's switch is on
      and
     switch 20's switch is off
       with switch 20
          turn on
       end with
  end if
  if switch 19's switch is off
       and
     switch 20's switch is on
       with switch 20
          turn off
       end with
   end if
end if

Then make a second piston swapping the 19’s and 20’s. Splitting it might help avoid the looping but still will be a lot of events close together.

Also, you can add a 1500 millisecond wait at the beginning of each piston to help minimize traffic collisions.


#18

Why not in your first if just save whichever switch matches to a variable since they can’t both change at the same time? Might simplify your logic.


#19

Because that would make too much sense :smiley: . I wondered about having a variable with all the desired switches in the beginning and having some sort of loop go through and determine which was the youngest, and then set the rest to that.

What would you think about forcing a refresh before the switch checks start? No sense in flipping switches based on old data.


#20

Not sure. I haven’t always had good success with refresh. Sometimes works, sometimes not. Especially with the latest lags in ST.