Paulus Schoutsen f4cc863877
Reorg automation docs and add a using blueprints section (#15811)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Zack Barett <arnett.zackary@gmail.com>
2020-12-04 11:23:38 +01:00

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:
      - ...