自动化操作

自动化规则的操作是在规则触发时执行的内容。操作部分遵循 脚本语法,可以通过其他操作或事件与任何内容进行交互。

对于操作,您可以指定应适用的 entity_id 和可选参数(例如,指定亮度)。

您还可以执行操作以激活 场景,这将允许您定义希望设备的状态,并让 Home Assistant 执行正确的操作。

automation:
  # 将厨房和客厅的灯光更改为150亮度和红色。
  triggers:
    - trigger: sun
      event: sunset
  actions:
    - action: light.turn_on
      target:
        entity_id:
          - light.kitchen
          - light.living_room
      data:
        brightness: 150
        rgb_color: [255, 0, 0]

automation 2:
  # 在我的手机上通知我事件
  triggers:
    - trigger: sun
      event: sunset
      offset: -00:30
  variables:
    notification_action: notify.paulus_iphone
  actions:
    # 操作是脚本,因此也可以是操作列表
    - action: "{{ notification_action }}"
      data:
        message: "美丽的日落!"
    - delay: 0:35
    - action: notify.notify
      data:
        message: "哦哇,你真的错过了一些很棒的东西。"

条件也可以是操作的一部分。您可以在单个操作中组合多个操作和条件,并按您放置的顺序处理它们。如果条件的结果为假,操作将在那里停止,因此在该条件之后的任何操作都不会被执行。

automation:
- alias: "晚上办公室"
  triggers:
    - trigger: state
      entity_id: sensor.office_occupancy
      to: "on" 
  actions:
    - action: notify.notify
      data:
        message: "测试条件操作"
    - condition: or
      conditions:
        - condition: numeric_state
          entity_id: sun.sun
          attribute: elevation
          below: 4
        - condition: state
          entity_id: sensor.office_illuminance
          below: 10
    - action: scene.turn_on
      target:
        entity_id: scene.office_at_evening