
Co-authored-by: Franck Nijhof <git@frenck.dev> Co-authored-by: Zack Barett <arnett.zackary@gmail.com>
1.9 KiB
title | description |
---|---|
Automation Modes | How to use and configure automation modes. |
An automation can be triggered while it is already running.
The automation's mode
configuration option controls what happens when the automation is triggered while the actions are still running from a previous trigger.
Mode | Description |
---|---|
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. |
parallel |
Start a new, independent run in parallel with previous runs. |
For both queued
and parallel
modes, configuration option max
controls the maximum
number of runs that can be executing and/or queued up at a time. The default is 10.
When max
is exceeded (which is effectively 1 for single
mode) a log message will be emitted to indicate this has happened. Configuration option max_exceeded
controls the severity level of that log message. Set it to silent
to ignore warnings or set it to a log level. The default is warning
.
Example throttled automation
Some automations you only want to run every 5 minutes. This can be achieved using the single
mode and silencing the warnings when the automation is triggered while it's running.
automation:
- mode: single
max_exceeded: silent
trigger:
- ...
action:
- ...
- delay: 300 # seconds (=5 minutes)
Example Queued
Sometimes an automation is doing an action on a device that does not support multiple simultaneous actions. In such cases, a queue can be used. In that case, the automation will be executed once it's current invocation and queue are done.
automation:
- mode: queued
max: 25
trigger:
- ...
action:
- ...