Using a loop to ensure all lights in a routine activate — lights not activating


#1

1) Give a description of the problem
Piston is not activating lights as intended. Piston developed to address know problem with multi-device automation in ST, where some Devices do not activate during automation.

2) What is the expected behaviour?
Most lights get set to 10% brightness, one light is set to 100% brightness

3) What is happening/not happening?
100% light activates, lights that are supposed to get set to 10% do nothing

**4) Post a Green Snapshot of the piston

5) Attach logs after turning logging level to Full
(PASTE YOUR LOGS HERE THEN HIGHLIGHT ALL OF THE LOGS AND CLICK ON THE </> ICON TO FORMAT THEM CORRECTLY)

9/20/2019, 1:39:29 PM +621ms
+1ms ╔Received event [My home].test = 1569004769621 with a delay of 1ms
+178ms ║RunTime Analysis CS &gt; 22ms &gt; PS &gt; 68ms &gt; PE &gt; 88ms &gt; CE
+182ms ║Runtime (45457 bytes) successfully initialized in 68ms (v0.3.10f.20190822) (181ms)
+183ms ║╔Execution stage started
+259ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (2ms)
+263ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+266ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+269ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+272ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+275ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+278ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+281ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+284ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+286ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+289ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+296ms ║║Condition #10 evaluated false (106ms)
+298ms ║║Condition group #9 evaluated false (state did not change) (107ms)
+343ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+346ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+349ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+352ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+354ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+357ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+360ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+363ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+366ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+369ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+372ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+379ms ║║Cancelling statement #234's schedules...
+386ms ║║Executed virtual command setVariable (1ms)
+394ms ║║Calculating (string) 'Dining' routine completed after + (string) 0 &gt;&gt; (string) 'Dining' routine completed after 0
+397ms ║║Calculating (string) 'Dining' routine completed after 0 + (string) attempts &gt;&gt; (string) 'Dining' routine completed after 0 attempts
+426ms ║║Executed virtual command sendSMSNotification (23ms)
+433ms ║║Executed virtual command setVariable (2ms)
+435ms ║║Condition #8 evaluated true (134ms)
+436ms ║║Condition group #7 evaluated true (state did not change) (137ms)
+440ms ║╚Execution stage complete. (257ms)
+442ms ╚Event processed successfully (441ms)

#2

This code is nowhere in the above piston…
It must be another piston or programming that set it to 100%


#3

You’re right. I realize that I modded it by removing the 100% light when trying to troubleshoot the other lights! Forgot to add back in when taking the snapshot!

Any advice as to why the 10% lights aren’t working?


#4

It’s pointless to look at a log that does not match the piston shown.

Can you post matching logs & screenshots (with Trace turned on) so someone can look a bit closer?


Side Note:
I would also increase the {delaybetweenLoops} to at least eleven seconds.
A three second loop (on devices) is just asking for trouble


#5

Fair criticism – thank you again for taking a look. Posting the correct screenshot and accompanying log. When this piston is executed the 100% light turns on, but the 10% lights do not.

9/21/2019, 8:22:51 AM +327ms
+1ms ╔Received event [My home].test = 1569072171326 with a delay of 1ms
+156ms ║RunTime Analysis CS &gt; 17ms &gt; PS &gt; 70ms &gt; PE &gt; 68ms &gt; CE
+158ms ║Runtime (45792 bytes) successfully initialized in 70ms (v0.3.10f.20190822) (156ms)
+160ms ║╔Execution stage started
+166ms ║║Cancelling statement #238's schedules...
+200ms ║║Executed physical command [Dining Room Chandelier].setLevel([100]) (27ms)
+451ms ║║Injected a 250ms delay after [Dining Room Chandelier].setLevel([100])
+452ms ║║Executed [Dining Room Chandelier].setLevel (280ms)
+511ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+513ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+516ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (2ms)
+519ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+521ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+524ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (2ms)
+527ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+529ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+532ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (2ms)
+535ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+537ms ║║Comparison (integer) 10 is_different_than (integer) 10 = false (1ms)
+543ms ║║Condition #10 evaluated false (88ms)
+545ms ║║Condition group #9 evaluated false (state did not change) (89ms)
+586ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+588ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+590ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+593ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+595ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+598ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (2ms)
+600ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+603ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+605ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+608ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+610ms ║║Comparison (integer) 10 is_equal_to (integer) 10 = true (1ms)
+615ms ║║Cancelling statement #234's schedules...
+620ms ║║Executed virtual command setVariable (1ms)
+626ms ║║Calculating (string) 'Dining' routine completed after + (string) 0 &gt;&gt; (string) 'Dining' routine completed after 0
+629ms ║║Calculating (string) 'Dining' routine completed after 0 + (string) attempts &gt;&gt; (string) 'Dining' routine completed after 0 attempts
+685ms ║║Executed virtual command sendSMSNotification (52ms)
+691ms ║║Executed virtual command setVariable (2ms)
+693ms ║║Condition #8 evaluated true (146ms)
+694ms ║║Condition group #7 evaluated true (state did not change) (147ms)
+698ms ║╚Execution stage complete. (538ms)
+699ms ╚Event processed successfully (699ms)

#6

Sorry, that was not meant as criticism. It is just that with freetime being so precious, it would be a waste of time trying to match up contradictory clues…


For the log analysis, would you please turn on Trace before taking a green snapshot?
That adds numbers that coincide with the numbers seen in the log


#7

No worries! Here’s the green snapshot with Trace.


#8

Thank you for this!


That log looks solid.

  • You pressed Test
  • Dimmer 5 went to 100%
  • Line 37 was all false so it did NOT send a 10% level command
  • Line 49 was all true so it continued to
  • Line 53 sent SMS
  • etc.

Pro Tip:
With most bulbs, if the level is 10%, and you turn it off, the hub will continue to see the level as 10%… (Even though the bulb is technically off) This is why line 37 registered as false, and the “Set level to 10%” was skipped.


#9

Thanks! Interesting about the 10%! Thoughts on what the minimum effective level would be for this piston?


#10

That number could be anything from 1-99, and the results would be the same.

If the level is X, and the bulb is turned off, then the level will still be X (until you send a different level)


In other words, the level only changes when a “Set level” command is sent…
(not a turn on/off command)


#11

Got it – any other alternatives you can see to get to the desired outcome?


#12

Do you want both off and on lights to all go to 10%?


#13

Good question! As this is a scene, yes, I would like both off and on lights to go to 10%.


#14

In that case, lines 36-47 can be condensed to:

With {varSwitches}
    Set level to 10%
    Set variable {loopCounter} = {loopCounter+1}
    Wait 11+ seconds
END WITH

(Notice there is no need for an IF block here)


#15

Thank you very much!

Okay – so probably flip flopping a bit, but I know that when I automate, sometimes outcomes are not always what I envisioned. Going back to you previous question, if I were to apply this piston only to those switches that were turned on (the ‘off’ switches would be excluded), what should the code look like?


#16

If you want the code to only touch the lights that are on, then the IF block on line 37 should reference the “switch” instead of the “level”.


#17

Thank you — this working as intended now. Appreciate your help!


#18

Sure thing… Glad to be able to help.


#19

Could you help me out with one that is similar? I want to use the same idea, but this time to ensure all of my lights are out.

The following is not getting the desired result – It never gets to the point of arming SHM, and I get the error SMS that it failed due to looping more than 20 times.

Any thoughts on this?

Seems like {varswitches} is not registering as being ‘turned off’ despite the lights being off.

The following logs repeat several times.

Log:

9/26/2019, 10:07:06 PM +126ms
+0ms ╔Received event [My home].time = 1569553627690 with a delay of -1564ms
+183ms ║RunTime Analysis CS &gt; 45ms &gt; PS &gt; 80ms &gt; PE &gt; 57ms &gt; CE
+187ms ║Runtime (54297 bytes) successfully initialized in 80ms (v0.3.10f.20190822) (185ms)
+188ms ║╔Execution stage started
+400ms ║║Comparison (enum) off is (string) off = true (2ms)
+403ms ║║Comparison (enum) off is (string) off = true (2ms)
+407ms ║║Comparison (enum) off is (string) off = true (2ms)
+410ms ║║Comparison (enum) off is (string) off = true (2ms)
+413ms ║║Comparison (enum) off is (string) off = true (2ms)
+416ms ║║Comparison (enum) off is (string) off = true (2ms)
+419ms ║║Comparison (enum) off is (string) off = true (2ms)
+421ms ║║Comparison (enum) off is (string) off = true (1ms)
+423ms ║║Comparison (enum) off is (string) off = true (1ms)
+426ms ║║Comparison (enum) off is (string) off = true (2ms)
+429ms ║║Comparison (enum) off is (string) off = true (2ms)
+431ms ║║Comparison (enum) off is (string) off = true (1ms)
+434ms ║║Comparison (enum) off is (string) off = true (2ms)
+437ms ║║Comparison (enum) off is (string) off = true (1ms)
+439ms ║║Comparison (enum) off is (string) off = true (2ms)
+442ms ║║Comparison (enum) is (string) off = false (1ms)
+450ms ║║Condition #8 evaluated false (213ms)
+454ms ║║Comparison (integer) 21 is_greater_than (integer) 20 = true (1ms)
+455ms ║║Cancelling condition #151's schedules...
+458ms ║║Cancelling statement #236's schedules...
+461ms ║║Executed virtual command setVariable (1ms)
+467ms ║║Calculating (string) 'Goodnight routine FAILED after + (string) 21 &gt;&gt; (string) 'Goodnight routine FAILED after 21
+470ms ║║Calculating (string) 'Goodnight routine FAILED after 21 + (string) attempts &gt;&gt; (string) 'Goodnight routine FAILED after 21 attempts
+494ms ║║Executed virtual command sendSMSNotification (19ms)
+499ms ║║Executed virtual command setVariable (3ms)
+501ms ║║Condition #151 evaluated true (49ms)
+502ms ║║Cancelling condition #7's schedules...
+502ms ║║Condition group #7 evaluated true (state changed) (266ms)
+505ms ║║Cancelling statement #244's schedules...
+558ms ║║Executed virtual command setAlarmSystemStatus (51ms)
+560ms ║║Cancelling statement #246's schedules...
+567ms ║║Skipped execution of physical command [Front Door - August Smart Lock Pro].lock([]) because it would make no change to the device. (2ms)
+818ms ║║Injected a 250ms delay after [Front Door - August Smart Lock Pro].lock()
+819ms ║║Executed [Front Door - August Smart Lock Pro].lock (256ms)
+2858ms ║║Executed physical command [Kitchen - August Smart Lock Pro].lock() (2037ms)
+3109ms ║║Injected a 250ms delay after [Kitchen - August Smart Lock Pro].lock()
+3110ms ║║Executed [Kitchen - August Smart Lock Pro].lock (2290ms)
+3115ms ║║Skipped execution of physical command [Study - August Smart Lock Pro].lock([]) because it would make no change to the device. (2ms)
+3367ms ║║Injected a 250ms delay after [Study - August Smart Lock Pro].lock()
+3368ms ║║Executed [Study - August Smart Lock Pro].lock (255ms)
+3370ms ║║Cancelling statement #248's schedules...
+3438ms ║║Executed virtual command iftttMaker (64ms)
+3440ms ║╚Execution stage complete. (3253ms)
+3441ms ╚Event processed successfully (3441ms)
9/26/2019, 10:06:45 PM +163ms
+0ms ╔Received event [My home].time = 1569553606880 with a delay of -1717ms
+157ms ║RunTime Analysis CS &gt; 20ms &gt; PS &gt; 85ms &gt; PE &gt; 52ms &gt; CE
+160ms ║Runtime (54297 bytes) successfully initialized in 85ms (v0.3.10f.20190822) (159ms)
+161ms ║╔Execution stage started
+527ms ║║Comparison (enum) off is (string) off = true (2ms)
+529ms ║║Comparison (enum) off is (string) off = true (1ms)
+532ms ║║Comparison (enum) off is (string) off = true (2ms)
+534ms ║║Comparison (enum) off is (string) off = true (1ms)
+536ms ║║Comparison (enum) off is (string) off = true (1ms)
+539ms ║║Comparison (enum) off is (string) off = true (1ms)
+541ms ║║Comparison (enum) off is (string) off = true (2ms)
+543ms ║║Comparison (enum) off is (string) off = true (1ms)
+545ms ║║Comparison (enum) off is (string) off = true (1ms)
+548ms ║║Comparison (enum) off is (string) off = true (1ms)
+550ms ║║Comparison (enum) off is (string) off = true (2ms)
+552ms ║║Comparison (enum) off is (string) off = true (1ms)
+554ms ║║Comparison (enum) off is (string) off = true (1ms)
+556ms ║║Comparison (enum) off is (string) off = true (1ms)
+558ms ║║Comparison (enum) off is (string) off = true (1ms)
+560ms ║║Comparison (enum) is (string) off = false (1ms)
+568ms ║║Condition #8 evaluated false (366ms)
+572ms ║║Comparison (integer) 20 is_greater_than (integer) 20 = false (1ms)
+573ms ║║Condition #151 evaluated false (4ms)
+574ms ║║Condition group #7 evaluated false (state did not change) (372ms)
+577ms ║║Condition group #9 evaluated true (state did not change) (1ms)
+579ms ║║Cancelling statement #240's schedules...
+605ms ║║Skipped execution of physical command [Back Porch Back Porch Fan Lights].off([]) because it would make no change to the device. (2ms)
+857ms ║║Injected a 250ms delay after [Back Porch Back Porch Fan Lights].off()
+858ms ║║Executed [Back Porch Back Porch Fan Lights].off (254ms)
+863ms ║║Skipped execution of physical command [Back Porch Back Porch Lights].off([]) because it would make no change to the device. (4ms)
+1114ms ║║Injected a 250ms delay after [Back Porch Back Porch Lights].off()
+1115ms ║║Executed [Back Porch Back Porch Lights].off (257ms)
+1120ms ║║Skipped execution of physical command [Back Porch Backyard Flood Lights].off([]) because it would make no change to the device. (3ms)
+1371ms ║║Injected a 250ms delay after [Back Porch Backyard Flood Lights].off()
+1372ms ║║Executed [Back Porch Backyard Flood Lights].off (256ms)
+1377ms ║║Skipped execution of physical command [Bar Dimmer].off([]) because it would make no change to the device. (3ms)
+1628ms ║║Injected a 250ms delay after [Bar Dimmer].off()
+1629ms ║║Executed [Bar Dimmer].off (256ms)
+1633ms ║║Skipped execution of physical command [Bedroom Balcony Lights].off([]) because it would make no change to the device. (2ms)
+1884ms ║║Injected a 250ms delay after [Bedroom Balcony Lights].off()
+1885ms ║║Executed [Bedroom Balcony Lights].off (255ms)
+1893ms ║║Skipped execution of physical command [Dining Hallway Lights].off([]) because it would make no change to the device. (6ms)
+2144ms ║║Injected a 250ms delay after [Dining Hallway Lights].off()
+2145ms ║║Executed [Dining Hallway Lights].off (259ms)
+2149ms ║║Skipped execution of physical command [Dining Room Chandelier].off([]) because it would make no change to the device. (2ms)
+2401ms ║║Injected a 250ms delay after [Dining Room Chandelier].off()
+2402ms ║║Executed [Dining Room Chandelier].off (255ms)
+2407ms ║║Skipped execution of physical command [Entry Hallway Lights].off([]) because it would make no change to the device. (4ms)
+2658ms ║║Injected a 250ms delay after [Entry Hallway Lights].off()
+2659ms ║║Executed [Entry Hallway Lights].off (257ms)
+2663ms ║║Skipped execution of physical command [Family Room Accent Light].off([]) because it would make no change to the device. (2ms)
+2915ms ║║Injected a 250ms delay after [Family Room Accent Light].off()
+2916ms ║║Executed [Family Room Accent Light].off (255ms)
+2921ms ║║Skipped execution of physical command [Family Room Ceiling Fan Light].off([]) because it would make no change to the device. (4ms)
+3172ms ║║Injected a 250ms delay after [Family Room Ceiling Fan Light].off()
+3173ms ║║Executed [Family Room Ceiling Fan Light].off (257ms)
+3178ms ║║Skipped execution of physical command [Family Room Main Lights].off([]) because it would make no change to the device. (3ms)
+3429ms ║║Injected a 250ms delay after [Family Room Main Lights].off()
+3430ms ║║Executed [Family Room Main Lights].off (256ms)
+3436ms ║║Skipped execution of physical command [Front Foyer Chandelier].off([]) because it would make no change to the device. (3ms)
+4135ms ║║Injected a 250ms delay after [Front Foyer Chandelier].off()
+4137ms ║║Executed [Front Foyer Chandelier].off (705ms)
+4143ms ║║Skipped execution of physical command [Game Room Ceiling Fan Light].off([]) because it would make no change to the device. (3ms)
+4394ms ║║Injected a 250ms delay after [Game Room Ceiling Fan Light].off()
+4395ms ║║Executed [Game Room Ceiling Fan Light].off (256ms)
+4400ms ║║Skipped execution of physical command [Game Room Main Lights].off([]) because it would make no change to the device. (2ms)
+4651ms ║║Injected a 250ms delay after [Game Room Main Lights].off()
+4652ms ║║Executed [Game Room Main Lights].off (256ms)
+4656ms ║║Skipped execution of physical command [Garage Charles' Garage].off([]) because it would make no change to the device. (2ms)
+4907ms ║║Injected a 250ms delay after [Garage Charles' Garage].off()
+4909ms ║║Executed [Garage Charles' Garage].off (255ms)
+4915ms ║║Skipped execution of physical command [Garage Entry Main Lights].off([]) because it would make no change to the device. (2ms)
+5167ms ║║Injected a 250ms delay after [Garage Entry Main Lights].off()
+5168ms ║║Executed [Garage Entry Main Lights].off (255ms)
+5173ms ║║Skipped execution of physical command [Kitchen Dining].off([]) because it would make no change to the device. (4ms)
+5424ms ║║Injected a 250ms delay after [Kitchen Dining].off()
+5425ms ║║Executed [Kitchen Dining].off (257ms)
+5429ms ║║Skipped execution of physical command [Kitchen Island Pendants].off([]) because it would make no change to the device. (2ms)
+5681ms ║║Injected a 250ms delay after [Kitchen Island Pendants].off()
+5682ms ║║Executed [Kitchen Island Pendants].off (255ms)
+5686ms ║║Skipped execution of physical command [Kitchen Main Lights].off([]) because it would make no change to the device. (3ms)
+5937ms ║║Injected a 250ms delay after [Kitchen Main Lights].off()
+5938ms ║║Executed [Kitchen Main Lights].off (256ms)
+5944ms ║║Skipped execution of physical command [Kitchen Under Cabinets].off([]) because it would make no change to the device. (2ms)
+6195ms ║║Injected a 250ms delay after [Kitchen Under Cabinets].off()
+6196ms ║║Executed [Kitchen Under Cabinets].off (257ms)
+6201ms ║║Skipped execution of physical command [Left End Table Light].off([]) because it would make no change to the device. (3ms)
+6452ms ║║Injected a 250ms delay after [Left End Table Light].off()
+6453ms ║║Executed [Left End Table Light].off (256ms)
+6457ms ║║Skipped execution of physical command [Library Accent Lights].off([]) because it would make no change to the device. (2ms)
+6709ms ║║Injected a 250ms delay after [Library Accent Lights].off()
+6710ms ║║Executed [Library Accent Lights].off (255ms)
+6714ms ║║Skipped execution of physical command [Library Chandelier].off([]) because it would make no change to the device. (2ms)
+6965ms ║║Injected a 250ms delay after [Library Chandelier].off()
+6966ms ║║Executed [Library Chandelier].off (255ms)
+6970ms ║║Skipped execution of physical command [Library Main Lights].off([]) because it would make no change to the device. (2ms)
+7221ms ║║Injected a 250ms delay after [Library Main Lights].off()
+7222ms ║║Executed [Library Main Lights].off (255ms)
+7228ms ║║Skipped execution of physical command [Library Wall Plug 1].off([]) because it would make no change to the device. (3ms)
+7479ms ║║Injected a 250ms delay after [Library Wall Plug 1].off()
+7480ms ║║Executed [Library Wall Plug 1].off (257ms)
+7484ms ║║Skipped execution of physical command [Library Wall Plug 2].off([]) because it would make no change to the device. (2ms)
+7735ms ║║Injected a 250ms delay after [Library Wall Plug 2].off()
+7736ms ║║Executed [Library Wall Plug 2].off (255ms)
+7741ms ║║Skipped execution of physical command [Mari Hallway Lights].off([]) because it would make no change to the device. (3ms)
+7992ms ║║Injected a 250ms delay after [Mari Hallway Lights].off()
+7993ms ║║Executed [Mari Hallway Lights].off (256ms)
+7997ms ║║Skipped execution of physical command [Master Bedroom Main Lights].off([]) because it would make no change to the device. (2ms)
+8248ms ║║Injected a 250ms delay after [Master Bedroom Main Lights].off()
+8249ms ║║Executed [Master Bedroom Main Lights].off (255ms)
+8253ms ║║Skipped execution of physical command [Media Hallway Lights].off([]) because it would make no change to the device. (2ms)
+8505ms ║║Injected a 250ms delay after [Media Hallway Lights].off()
+8506ms ║║Executed [Media Hallway Lights].off (255ms)
+8511ms ║║Skipped execution of physical command [Media Room Main Lights].off([]) because it would make no change to the device. (4ms)
+8762ms ║║Injected a 250ms delay after [Media Room Main Lights].off()
+8763ms ║║Executed [Media Room Main Lights].off (257ms)
+8768ms ║║Skipped execution of physical command [Media Room Sconces].off([]) because it would make no change to the device. (3ms)
+9020ms ║║Injected a 250ms delay after [Media Room Sconces].off()
+9021ms ║║Executed [Media Room Sconces].off (257ms)
+9027ms ║║Skipped execution of physical command [Melissa Garage Main Lights].off([]) because it would make no change to the device. (4ms)
+9279ms ║║Injected a 250ms delay after [Melissa Garage Main Lights].off()
+9280ms ║║Executed [Melissa Garage Main Lights].off (258ms)
+9286ms ║║Skipped execution of physical command [Melissa’s Garage Outside Door Dimmer].off([]) because it would make no change to the device. (3ms)
+9538ms ║║Injected a 250ms delay after [Melissa’s Garage Outside Door Dimmer].off()
+9539ms ║║Executed [Melissa’s Garage Outside Door Dimmer].off (258ms)
+9716ms ║║Skipped execution of physical command [Melissa’s Light].off([]) because it would make no change to the device. (174ms)
+9967ms ║║Injected a 250ms delay after [Melissa’s Light].off()
+9968ms ║║Executed [Melissa’s Light].off (428ms)
+9974ms ║║Skipped execution of physical command [Right End Table Light].off([]) because it would make no change to the device. (4ms)
+10225ms ║║Injected a 250ms delay after [Right End Table Light].off()
+10226ms ║║Executed [Right End Table Light].off (257ms)
+10230ms ║║Skipped execution of physical command [Study Book Case Lights].off([]) because it would make no change to the device. (2ms)
+10482ms ║║Injected a 250ms delay after [Study Book Case Lights].off()
+10483ms ║║Executed [Study Book Case Lights].off (255ms)
+10488ms ║║Skipped execution of physical command [Study Cabinet Light].off([]) because it would make no change to the device. (4ms)
+10739ms ║║Injected a 250ms delay after [Study Cabinet Light].off()
+10740ms ║║Executed [Study Cabinet Light].off (257ms)
+10746ms ║║Skipped execution of physical command [Study Ceiling Fan Light].off([]) because it would make no change to the device. (4ms)
+10998ms ║║Injected a 250ms delay after [Study Ceiling Fan Light].off()
+10998ms ║║Executed [Study Ceiling Fan Light].off (257ms)
+11003ms ║║Skipped execution of physical command [Study Main Lights].off([]) because it would make no change to the device. (3ms)
+11254ms ║║Injected a 250ms delay after [Study Main Lights].off()
+11255ms ║║Executed [Study Main Lights].off (256ms)
+11260ms ║║Skipped execution of physical command [Upstairs Hallway Main Lights].off([]) because it would make no change to the device. (2ms)
+11511ms ║║Injected a 250ms delay after [Upstairs Hallway Main Lights].off()
+11512ms ║║Executed [Upstairs Hallway Main Lights].off (256ms)
+11517ms ║║Calculating (integer) 20 + (integer) 1 &gt;&gt; (integer) 21
+11522ms ║║Executed virtual command Back Porch Back Porch Fan Lights, Back Porch Back Porch Lights, Back Porch Backyard Flood Lights, Bar Dimmer, Bedroom Balcony Lights, Dining Hallway Lights, Dining Room Chandelier, Entry Hallway Lights, Family Room Accent Light, Family Room Ceiling Fan Light, Family Room Main Lights, Front Foyer Chandelier, Game Room Ceiling Fan Light, Game Room Main Lights, Garage Charles' Garage, Garage Entry - Kitchen, Garage Entry - Mudroom, Garage Entry Main Lights, Kitchen Dining, Kitchen Island Pendants, Kitchen Main Lights, Kitchen Under Cabinets, Left End Table Light, Library Accent Lights, Library Chandelier, Library Main Lights, Library Wall Plug 1, Library Wall Plug 2, Mari Hallway Lights, Master Bedroom Main Lights, Media Hallway Lights, Media Room Main Lights, Media Room Sconces, Melissa Garage Main Lights, Melissa’s Garage Outside Door Dimmer, Melissa’s Light, Right End Table Light, Study Book Case Lights, Study Cabinet Light, Study Ceiling Fan Light, Study Main Lights, Upstairs Hallwa...[TRUNCATED]
+11525ms ║║Executed virtual command Back Porch Back Porch Fan Lights, Back Porch Back Porch Lights, Back Porch Backyard Flood Lights, Bar Dimmer, Bedroom Balcony Lights, Dining Hallway Lights, Dining Room Chandelier, Entry Hallway Lights, Family Room Accent Light, Family Room Ceiling Fan Light, Family Room Main Lights, Front Foyer Chandelier, Game Room Ceiling Fan Light, Game Room Main Lights, Garage Charles' Garage, Garage Entry - Kitchen, Garage Entry - Mudroom, Garage Entry Main Lights, Kitchen Dining, Kitchen Island Pendants, Kitchen Main Lights, Kitchen Under Cabinets, Left End Table Light, Library Accent Lights, Library Chandelier, Library Main Lights, Library Wall Plug 1, Library Wall Plug 2, Mari Hallway Lights, Master Bedroom Main Lights, Media Hallway Lights, Media Room Main Lights, Media Room Sconces, Melissa Garage Main Lights, Melissa’s Garage Outside Door Dimmer, Melissa’s Light, Right End Table Light, Study Book Case Lights, Study Cabinet Light, Study Ceiling Fan Light, Study Main Lights, Upstairs Hallwa...[TRUNCATED]
+11527ms ║║Requesting a wake up for Thu, Sep 26 2019 @ 10:07:07 PM CDT (in 11.0s)
+11530ms ║╚Execution stage complete. (11369ms)
+11532ms ║Setting up scheduled job for Thu, Sep 26 2019 @ 10:07:07 PM CDT (in 10.996s)
+11550ms ╚Event processed successfully (11550ms)

#20

At least one device was not off, as seen here:
+560ms ║║Comparison (enum) is (string) off = false (1ms)
and here:
+442ms ║║Comparison (enum) is (string) off = false (1ms)


Personally, I would never try to send 42 commands in the same millisecond!!! (line 36)
It is just asking for trouble…