Automation Actions


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
      target:
        entity_id:
          - light.kitchen
          - light.living_room
      data:
        brightness: 150
        rgb_color: [255, 0, 0]

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: numeric_state
          entity_id: sun.sun
          attribute: elevation
          below: 4
        - condition: state
          entity_id: sensor.office_illuminance
          below: 10
    - service: scene.turn_on
      target:
        entity_id: scene.office_at_evening