Trying to understand why the command repeats for an announcement


#1

1) Give a description of the problem
When one of the time happens daily executes, the voice command (through alexa) repeats three times

2) What is the expected behaviour?
One command per happens daily

3) What is happening/not happening?
(PUT YOUR INFO HERE)

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

5) Attach logs after turning logging level to Full
7/11/2020, 9:27:59 AM +161ms
+0ms ╔Received event [Casa de Pines].time = 1594484880000 with a delay of -840ms
+303ms ║Runtime (56897 bytes) successfully initialized in 244ms (v0.3.110.20191009) (302ms)
+304ms ║╔Execution stage started
+370ms ║║Executed virtual command setVariable (1ms)
+385ms ║║Executed virtual command executePiston (10ms)
+400ms ║╚Execution stage complete. (95ms)
+403ms ║Setting up scheduled job for Sat, Jul 11 2020 @ 9:45:00 AM MST (in 1020.437s), with 6 more jobs pending
+411ms ╚Event processed successfully (410ms)


#2

9:28 is not a trigger here…and there are no voice commands in this piston…

Perhaps take a look at the other piston?


#3

Right this sets up the global speak (yours I believe) I can’t do an screenshot on my phone so here is the other piston.

I thought it was the motion sensor but we were on the couch and the sensor is on the other side of the wall


#4

It is not my global speak… Maybe someone else’s…

I can’t really see much info here, but I would change the “ASYNC with” into a “normal with”.


Personally, I would also avoid using ONLY WHEN on logic like this.
(I usually convert them into indented IFs)


#5

Sorry. You usually have the pistons! But I use async since this goes to all the dots in the house. If it is sync wouldn’t they talk at the same moment? Why would async cause duplicate notifications?

Can you let me know why you don’t like the only when? I’m trying to make sure the dot doesn’t speak if any of those conditions in the room aren’t met.


#6

Normal execution is top to bottom.
(nothing is webCoRE is really ASYNC)

ASYNC means normal top to bottom execution, but when a WAIT is encountered, it will continue on processing the remaining stuff.

Translation:
With no waits, there is no need for ASYNC.
(although, even with WAITS, I am hesitant to use them)


The complete answer is quite long, but basically:
Sometimes the ONLY WHEN status at a previous execution can affect the current conditional results.


#7

Ah good to know. So what is the better way to prevent dots speaking at the exact same time?


#8

You only shared a few lines of your piston, and I have already made my suggestions based on that little bit of information.

I have nothing more to add at this time.


#9

That is the piston. Same for each room just changing the dots and room switch.

Thanks as always for the feedback.