I have all my automations done in standard mode. Now I start thinking about using other modes:
From manual:
single (Default)
Do not start a new run. Issue a warning.
restart
Start a new run after first stopping previous run.
queued
Start a new run after all previous runs complete. Runs are guaranteed to execute in the order they were queued. Note that subsequent queued automations will only join the queue if any conditions it may have are met at the time it is triggered.
parallel
Start a new, independent run in parallel with previous runs.
What are cases that make trouble when using the standard mode?
It’s hard to come up with a good example since “causes trouble” is not well defined but…
Let’s say you use a trigger as:
trigger:
- platform: state
entity_id: sensor.some_sensor
since it doesn’t have a “to” or “from” it will try to trigger on every state and attribute change.
If your your sensor state or attributes change faster that the actions can run (if you have delays either defined or inherent because of the types of actions) then you might miss a trigger of that same automation to run actions that you would otherwise want to occur.
trigger:
- platform: state
entity_id: sensor.some_sensor
action:
- service: switch.turn_{{ 'on' if trigger.to_state.state == 'some_state' else 'off' }}
entity_id: some_switch
- delay: "00:00:10"
- service: notify.alexa_media
data:
target:
- media_player.master_bedroom_dot
data:
type: tts
message: "Your sensor changed state to {{trigger.to_state.state}}"
if the next state change occurs before that 10 second delay then the automation will be blocked from running since it is already running and the mode is single.
Ok, so that makes sense. I try not use too many waits in the automation unless I want an exact procedure. In that case it is crucial to make all the steps to finish the automation.
So this is an example for something that will break:
“10 minutes after the last movement, switch off lights” and you make a wait instead of “trigger 10 minutes after it went off”, then you have a problem. Lights will go off after 10 minutes.
Still looking for cases where the other modes are generally used.
What about in the case where you have automations that trigger audio sound fx and you want all of the sounds to play in queue and not be canceled or missed?