Have light groups default to white in the morning

light
triggers

#1

1) Give a description of the problem
When I turn on the lights in the morning, some of them default to white and some do not. Seems like there’s some lagging in the piston that never gets resolved.

2) What is the expected behaviour?
Every light should turn to white when the time condition is true.

3) What is happening/not happening?
Some lights in the group are changing to white and some are staying the previous color.

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

5) Attach logs after turning logging level to Full

11/8/2020, 12:10:44 PM +244ms
+0ms ╔Received event [L1].switch = off with a delay of 41ms
+10087ms ║RunTime Analysis CS > 17ms > PS > 10016ms > PE > 55ms > CE
+10088ms ║Piston waited at a semaphore for 10013ms
+10090ms ║Runtime (40923 bytes) successfully initialized in 10016ms (v0.3.110.20191009) (10089ms)
+10091ms ║╔Execution stage started
+10102ms ║║Condition #2 evaluated false (7ms)
+10103ms ║║Condition group #1 evaluated false (state did not change) (8ms)
+10139ms ║║Comparison (enum) off changes_to (string) on = false (1ms)
+10142ms ║║Condition #8 evaluated false (37ms)
+10143ms ║║Condition group #7 evaluated false (state did not change) (38ms)
+10144ms ║╚Execution stage complete. (53ms)
+10146ms ╚Event processed successfully (10145ms)
11/8/2020, 12:10:44 PM +623ms
+2ms ╔Received event [L3].switch = off with a delay of 58ms
+89ms ║RunTime Analysis CS > 24ms > PS > 5ms > PE > 59ms > CE
+91ms ║Runtime (40837 bytes) successfully initialized in 5ms (v0.3.110.20191009) (88ms)
+92ms ║╔Execution stage started
+103ms ║║Condition #2 evaluated false (7ms)
+104ms ║║Condition group #1 evaluated false (state did not change) (9ms)
+142ms ║║Comparison (enum) off changes_to (string) on = false (1ms)
+144ms ║║Condition #8 evaluated false (37ms)
+145ms ║║Condition group #7 evaluated false (state did not change) (39ms)
+147ms ║╚Execution stage complete. (55ms)
+148ms ╚Event processed successfully (148ms)
11/8/2020, 12:10:44 PM +340ms
+1ms ╔Received event [L4].switch = off with a delay of 68ms
+181ms ║RunTime Analysis CS > 20ms > PS > 6ms > PE > 156ms > CE
+184ms ║Runtime (40839 bytes) successfully initialized in 6ms (v0.3.110.20191009) (181ms)
+185ms ║╔Execution stage started
+201ms ║║Condition #2 evaluated false (9ms)
+202ms ║║Condition group #1 evaluated false (state did not change) (12ms)
+247ms ║║Comparison (enum) off changes_to (string) on = false (1ms)
+250ms ║║Condition #8 evaluated false (45ms)
+251ms ║║Condition group #7 evaluated false (state did not change) (45ms)
+252ms ║╚Execution stage complete. (68ms)
+254ms ╚Event processed successfully (253ms)
11/8/2020, 12:10:44 PM +135ms
+0ms ╔Received event [L2].switch = off with a delay of 52ms
+70ms ║RunTime Analysis CS > 18ms > PS > 5ms > PE > 47ms > CE
+72ms ║Runtime (40835 bytes) successfully initialized in 5ms (v0.3.110.20191009) (71ms)
+73ms ║╔Execution stage started
+85ms ║║Condition #2 evaluated false (8ms)
+86ms ║║Condition group #1 evaluated false (state did not change) (9ms)
+122ms ║║Comparison (enum) off changes_to (string) on = false (1ms)
+125ms ║║Condition #8 evaluated false (37ms)
+126ms ║║Condition group #7 evaluated false (state did not change) (38ms)
+128ms ║╚Execution stage complete. (54ms)
+129ms ╚Event processed successfully (129ms)

The lights are L1, L2, L3, and L4. I tell Alexa to turn on the group that has all of them.


#2

If you use Alexa (or any other automation) to turn on 4 lights simultaneously… then this piston tries to run 4 times in ½ second. There is a very high chance that some communication will get lost along the way.

What I suggest instead, is to create a Simulated Switch. Then, you can tell Alexa to turn on that switch. When that switch comes on, then a piston can trigger, and turn on the four lights exactly the way you want them.

Essentially, this reduces the triggers to one, and let’s webCoRE handle all of the light adjustments, without creating any spam.


For example, in my house, when I say, Alexa, Good morning… she greets me with a witty comment, and then turns on my SimSwitch called “Morning”. When that imaginary switch turns on, then a piston takes over, and adjusts about 20 devices throughout my house over the next 60 seconds.

(in this example, Alexa only controls my SimSwitch, and does not touch any of my lights)


#3

That totally makes sense. The issue is that I want the piston to run “behind the scenes”, in other words I want to keep the language natural and the same, i.e. “Alexa, turn on the living room lights”, and then my piston adjusts the color Is this still possible?


#4

Quick answer:

One light at a time? Perhaps.
Although other apps are not so good at instantly cleaning up after Alexa spam.
(I try to keep all actions in webCoRE, and simply use Alexa Routines & SimSwitches to kick it off with natural phrases)


Longer answer:

Using your example, you could still keep all the “brains” in webCoRE. One Alexa phrase, can turn on a specific SimSwitch… but (and here is the beauty), webCoRE can check other conditions to determine the actions taken.

For example, the same Alexa phrase can do different things depending on the time of day, day of week, who is home etc. But again, all of this action / reaction is in webCoRE.
(I keep my Alexa Routines very lean)


TL;DR:

Don’t use Alexa Groups or Rooms if you want fancy results.
(let webCoRE do all of the heavy lifting)


#5

I don’t have smart bulbs, but could you execute locally by using the Smart Lighting app within ST?


#6

Oh interesting thought, maybe I could have the piston just handle one of the lights, and then in the Smart Lighting App set the rest to mirror the behavior of the Master light.


#7

Here’s what I ended up changing it to… Haven’t tested it yet.