2020-10-07 12:26:34 +02:00

2.2 KiB

title, description
title description
Automation Actions Automations result in action.

The action of an automation rule is what is being executed when a rule fires. The action part follows the script syntax which can be used to interact with anything via services or events. For services you can specify the entity_id that it should apply to and optional service parameters (to specify for example the brightness).

You can also call the service to activate a scene which will allow you to define how you want your devices to be and have Home Assistant call the right services.

automation:
  # Change the light in the kitchen and living room to 150 brightness and color red.
  trigger:
    platform: sun
    event: sunset
  action:
    service: light.turn_on
    data:
      brightness: 150
      rgb_color: [255, 0, 0]
      entity_id:
        - light.kitchen
        - light.living_room

automation 2:
  # Notify me on my mobile phone of an event
  trigger:
    platform: sun
    event: sunset
    offset: -00:30
  variables:
    notification_service: notify.paulus_iphone
  action:
    # Actions are scripts so can also be a list of actions
    - service: "{{ notification_service }}"
      data:
        message: Beautiful sunset!
    - delay: 0:35
    - service: notify.notify
      data:
        message: Oh wow you really missed something great.

Conditions can also be part of an action. You can combine multiple service calls and conditions in a single action, and they will be processed in the order you put them in. If the result of a condition is false, the action will stop there so any service calls after that condition will not be executed.

automation:
- alias: 'Office at evening'
  trigger:
    platform: state
    entity_id: sensor.office_occupancy
    to: 'on'
  action:
    - service: notify.notify
      data:
        message: Testing conditional actions
    - condition: or
      conditions:
        - condition: template
          value_template: '{% raw %}{{ state_attr('sun.sun', 'elevation') < 4 }}{% endraw %}'
        - condition: template
          value_template: '{% raw %}{{ states('sensor.office_illuminance') < 10 }}{% endraw %}'
    - service: scene.turn_on
      entity_id: scene.office_at_evening