自动化支持模板就像脚本一样。除了必威是什么家庭助理模板扩展可用于脚本,扳机
和这个
可用模板变量。
模板变量这个
评估任何内容时也可用trigger_variables
在配置中声明。
可用此数据
多变的这个
是个状态对象自动化。状态对象还包含上下文数据,可用于识别导致脚本或自动化执行的用户。
可用的触发数据
以下表显示每个平台可用的触发数据。
全部
以下描述了与所有平台关联的触发数据。
模板变量 |
数据 |
trigger.id |
可选触发器ID ,或触发器的索引。 |
trigger.idx |
触发器的索引。 |
日历
模板变量 |
数据 |
trigger.platform |
硬编码:日历 |
触发器 |
触发事件类型,要么开始 或者结尾 |
trigger.calendar_event |
日历事件对象匹配。 |
trigger.calendar_event.summary |
日历事件的标题或摘要。 |
trigger.calendar_event.start |
日历事件的开始日期或日期时间的字符串表示,例如2022-04-10 , 或者2022-04-10 11:30:00-07:00 |
trigger.calendar_event.end |
日期时间的结束时间的字符串表示,UTC中的日历事件,例如2022-04-11 , 或者2022-04-10 11:45:00-07:00 |
trigger.calendar_event.all_day |
表示活动整天跨越。 |
trigger.calendar_event.Description |
日历事件的详细说明(如果有)。 |
trigger.calendar_event.location |
日历事件的位置信息(如果有)。 |
trigger.offset |
timeDERTA对象有反对事件的偏移,如果有的话 |
设备
模板变量 |
数据 |
trigger.platform |
硬编码:设备 。 |
触发器 |
匹配的事件对象。 |
trigger.event.event_type |
事件类型。 |
trigger.event.data |
可选事件数据。 |
事件
模板变量 |
数据 |
trigger.platform |
硬编码:事件 。 |
触发器 |
匹配的事件对象。 |
trigger.event.event_type |
事件类型。 |
trigger.event.data |
可选事件数据。 |
mqtt
模板变量 |
数据 |
trigger.platform |
硬编码:mqtt 。 |
触发器 |
接收有效载荷的主题。 |
trigger.payload |
有效载荷。 |
trigger.payload_json |
JSON解析有效载荷词典。 |
trigger.qos |
有效载荷的QoS。 |
数字状态
模板变量 |
数据 |
trigger.platform |
硬编码:numeric_state |
trigger.entity_id |
我们观察到的实体ID。 |
触发器 |
阈值(如果有)以下。 |
trigger.above |
上述阈值(如果有)。 |
trigger.from_state |
以前的状态对象实体。 |
trigger.to_state |
新的状态对象那触发了触发器。 |
扳机 |
TIMEDERTA对象对状态达到/低于标准的时间(如果有)超过/低。 |
状态
模板变量 |
数据 |
trigger.platform |
硬编码:状态 |
trigger.entity_id |
我们观察到的实体ID。 |
trigger.from_state |
以前的状态对象实体。 |
trigger.to_state |
新的状态对象那触发了触发器。 |
扳机 |
TIMEDERTA反对状态已有多长时间(如果有)。 |
太阳
模板变量 |
数据 |
trigger.platform |
硬编码:太阳 |
触发器 |
刚刚发生的事件:日落 或者日出 。 |
trigger.offset |
timeDERTA对象有反对事件的偏移(如果有)。 |
模板
模板变量 |
数据 |
trigger.platform |
硬编码:模板 |
trigger.entity_id |
导致变化的实体ID。 |
trigger.from_state |
以前的状态对象导致变化的实体。 |
trigger.to_state |
新的状态对象导致模板更改的实体。 |
扳机 |
TIMEDERTA反对状态已有多长时间(如果有)。 |
时间
模板变量 |
数据 |
trigger.platform |
硬编码:时间 |
扳机 |
触发时间触发的DateTime对象。 |
时间模式
模板变量 |
数据 |
trigger.platform |
硬编码:time_pattern |
扳机 |
触发time_pattern触发器的DateTime对象。 |
webhook
模板变量 |
数据 |
trigger.platform |
硬编码:webhook |
trigger.webhook_id |
触发的Webhook ID。 |
trigger.json |
请求的JSON数据(如果有JSON内容类型)作为映射。 |
trigger.data |
请求的表单数据(如果具有表单数据内容类型)。 |
trigger.query |
请求的URL查询参数(如果提供)。 |
区
模板变量 |
数据 |
trigger.platform |
硬编码:区 |
trigger.entity_id |
我们正在观察的实体ID。 |
trigger.from_state |
以前的状态对象实体。 |
trigger.to_state |
新的状态对象实体。 |
扳机。区 |
区域对象 |
触发器 |
触发的事件观察到:进入 或者离开 。 |
例子
#示例configuration.yaml条目自动化:扳机:-平台:状态ENTITY_ID:device_tracker.paulusID:paulus_device行动:-服务:notify.notify数据:信息:>Paulus刚从{{trigger.from_state.state}}更改到{{trigger.to_state.state}}这是由{{trigger.id}}触发的自动化2:扳机:-平台:mqtt话题:“/notify/+'行动:服务:>notify。{{trigger.topic.split('/')[ - 1]}}}数据:信息:“{{{trigger.payload}}””自动化3:扳机:#要执行相同动作的多个实体。-平台:状态ENTITY_ID:-Light.bedroom_closet-light.kiddos_closet-light.linen_closet到:“在”#当有人将其中一盏灯留下10分钟时,触发。为了:“00:10:00”行动:-服务:light.turn_off目标:#关闭触发自动化的任何实体。ENTITY_ID:“{{{trigger.entity_id}}””