Home Assistant-自動化設備


觸發器(trigger)

時間(time)觸發器
時間觸發器在指定的時間觸發規則,可以是某個時刻,也可以是某個指定的分鍾(小時、秒),或者每隔多少時間。

automation 1:
  trigger:
    platform: time
    # 在每個小時的05分鍾觸發,比如……9:05,10:05,11:05……
    minutes: 5
    seconds: 00
 
automation 2:
  trigger:
    platform: time
    # 在每天的15:32:00觸發
    at: '15:32:00'
 
automation 3:
  trigger:
    platform: time
    # 當分鍾數能被5整除時(也就是每隔5分鍾)觸發
    minutes: '/5'

seconds: 00

事件(event)觸發器
事件是HomeAssistant運行的核心機制。事件觸發器根據事件類型和事件附加信息進行觸發;當配置中未設置事件附加信息時,此類事件發生時,不管事件附加信息是什么,此規則都會被觸發。

homeassistant觸發器
homeassistant觸發器由HomeAssistant的啟動或關閉事件觸發。

automation:
  trigger:
    platform: homeassistant
    # event的另一個可選值是'shutdown'
    event: start

狀態(state)觸發器
狀態觸發器在對應實體的狀態發生改變時進行觸發。如果僅有實體ID,沒有“from”、“to”時,這個實體的任何狀態變化,或者僅僅是某一屬性變化,都會觸發規則。

automation:
  trigger:
    platform: state
    entity_id: device_tracker.paulus, device_tracker.anne_therese
    # 可選,代表狀態變化前的值
    from: 'not_home'
    # 可選,代表狀態變化后的值
    to: 'home'

數字狀態(numeric_state)觸發器
監測實體的狀態或者某一屬性(數字類型),當相應值從高變低(或者從低變高)越過某個閾值,觸發規則。

automation:
  trigger:
    platform: numeric_state
    entity_id: sensor.temperature
    # 可選,當沒有此配置時,判斷的是實體的狀態值。
    # 此處使用了模板,對這個實體的battery屬性進行判斷。模板的使用,參見相關章節的介紹。
    value_template: '{{ state.attributes.battery }}'
    # 如果從低到高越過17,或者從高到低越過25。換句話說,就是從[17,25]之外的范圍進入這個范圍。
    above: 17
    below: 25

太陽(sun)觸發器
根據太陽的升起或降落進行觸發。觸發時間是升起(降落)的當時,也可以是升起(降落)前或者后多少時間。

automation:
  trigger:
    platform: sun
    # event的可選值是“sunset”和“sunrise”
    event: sunset
    # 可選,此處代表太陽下山前45分鍾觸發
    offset: '-00:45:00'

MQTT觸發器
在MQTT的broker上,當某一主題上發布了新的消息時觸發。當不指定消息內容時,收到這個主題上的任何新的消息都會引起觸發。

automation:
  trigger:
    platform: mqtt
    topic: living_room/switch/ac
    # 可選。表示當在“living_room/switch/ac”上收到“on”時觸發;如果不設置這行,那么在這個主題上收到任何消息都觸發。
    payload: 'on'

模板(template)觸發器
模板依據實體的狀態或屬性輸出對應值,當輸出值為“true”時觸發規則。
模板樣例一:判斷實體device_tracker.paulus的狀態是否為home
{{ is_state('device_tracker.paulus', 'home') }}
模板樣例二:上個樣例的另一種表達方式
{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}
模板樣例三:判斷實體climate.living_room的屬性away_mode是否是off
{{ is_state_attr('climate.living_room', 'away_mode', 'off') }}

automation:
  trigger:
    platform: template
    value_template: "{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}"

區域(zone)觸發器
當device_tracker域中的實體進入或者離開某一個區域時,觸發規則。

automation:
  trigger:
    platform: zone
    entity_id: device_tracker.paulus
    zone: zone.home
    # event的可選值是enter和leave,代表進入和離開
    event: enter

當並列多個觸發器時,任何一個觸發,規則觸發。

automation:
  trigger:
      # 第一個觸發器
    - platform: time
      minutes: 5
      seconds: 00
      # 第二個觸發器
    - platform: sun
      event: sunset

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM