HA文档 目录

  1. 主页
  2. HA文档
  3. HA文档
  4. 自动化
  5. 触发器(trigger)

触发器(trigger)

这篇文章是系列文章的第1/4篇:

每一条自动化规则,由三个部分组成,触发器、条件、动作。触发器在一条规则中是必须有的,当被触发时,这条规则启动进入后续执行。
自动化规则中的触发器存在不同的类型(time,event,state,numeric_state等)。在配置文件中,不同类型的触发器以“platform:”(平台)字段标识。不同类型的触发器,需要配置的信息是不一样的。

  • 时间(time)触发器
    时间触发器在指定的时间触发规则,可以是某个时刻,也可以是某个指定的分钟(小时、秒),或者每隔多少时间。
  • 事件(event)触发器
    事件是HomeAssistant运行的核心机制。事件触发器根据事件类型和事件附加信息进行触发;当配置中未设置事件附加信息时,此类事件发生时,不管事件附加信息是什么,此规则都会被触发。

    注:从0.42版开始,对于事件homeassistant_start的触发,需要在“homeassistant触发器”(见下面)而不是“事件触发器”中进行配置。
  • homeassistant触发器
    homeassistant触发器由HomeAssistant的启动或关闭事件触发。
  • 状态(state)触发器
    状态触发器在对应实体的状态发生改变时进行触发。如果仅有实体ID,没有“from”、“to”时,这个实体的任何状态变化,或者仅仅是某一属性变化,都会触发规则。
  • 数字状态(numeric_state)触发器
    监测实体的状态或者某一属性(数字类型),当相应值从高变低(或者从低变高)越过某个阈值,触发规则。
  • 太阳(sun)触发器
    根据太阳的升起或降落进行触发。触发时间是升起(降落)的当时,也可以是升起(降落)前或者后多少时间。

    除了使用sun触发器之外,也可以使用数字状态触发器判断sun.sun实体的属性进行触发。
  • MQTT触发器
    在MQTT的broker上,当某一主题上发布了新的消息时触发。当不指定消息内容时,收到这个主题上的任何新的消息都会引起触发。
  • 模板(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') }}
  • 区域(zone)触发器
    当device_tracker域中的实体进入或者离开某一个区域时,触发规则。

当并列多个触发器时,任何一个触发,规则触发。

遇到问题了?快来学习免费在线课程吧,博学老司机在线答疑,找到更多志同道合的HA玩家一起进步

此文不允许转载,如需转载请与BD@hachina.io联系。

这篇文章对您有用吗? 2 1