目前已经实现HA检测到中枢网关虚拟事件发生后,控制HA设备。
那么反过来,如何实现当HA设备满足条件时,执行米家中枢网关虚拟事件呢?
下面是我的“HA检测到中枢网关虚拟事件发生后,控制HA设备。”的代码。
alias: 根据 Xiaomi 中枢网关 事件名称控制HA设备
description: 根据事件名称触发不同的操作
triggers:
- entity_id: event.xiaomi_cn_xxxxxx_hub1_virtual_event_e_4_1
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: template
value_template: |
{{ trigger.to_state.attributes['事件名称'] == '全屋自动化打开' }}
sequence:
- data: {}
action: light.turn_on
target:
entity_id: light.mvs_cn_xxxxxxxxx_wy0a01_s_2_light
- action: light.turn_on
metadata: {}
data: {}
target:
entity_id: light.mvs_cn_xxxxxxxxxx_wy0a01_s_2_light
- conditions:
- condition: template
value_template: |
{{ trigger.to_state.attributes['事件名称'] == '全屋自动化关闭' }}
sequence:
- action: light.turn_off
data: {}
target:
entity_id: light.mvs_cn_xxxxxxxxxx_wy0a01_s_2_light
- action: light.turn_off
data: {}
target:
entity_id: light.mvs_cn_xxxxxxxxxx_wy0a01_s_2_light
- conditions:
- condition: template
value_template: |
{{ trigger.to_state.attributes['事件名称'] == '热水器升温' }}
sequence:
- action: water_heater.set_temperature
metadata: {}
target:
entity_id: water_heater.xxxxxxxxxxxxxxxxx_water_heater
data:
temperature: >-
{{state_attr('water_heater.xxxxxxxxxxxxxxx_water_heater',
'temperature') + 1}}
- conditions:
- condition: template
value_template: |
{{ trigger.to_state.attributes['事件名称'] == '热水器降温' }}
sequence:
- action: water_heater.set_temperature
metadata: {}
target:
entity_id: water_heater.xxxxxxxxxxxxxxxxxxxxx_water_heater
data:
temperature: >-
{{state_attr('water_heater.xxxxxxxxxxxxxxxxxxxx_water_heater',
|