ha重启如何避免自动化执行
我有一个自动化是开关空调的,但是每次ha重启,ha会判断小爱的conversation是否还是“打开空调/关闭空调”,如果是的话又会执行一次,最近看到有大佬的天气预警的启发,为了避免这样的情况发生加了一个环境条件,但是还是不行,不知道要怎么解决好。alias: 【宿舍】【舒适】开关空调
description: ""
trigger:
- platform: state
entity_id:
- sensor.xiaomi_l05c_fd84_conversation
to:
- 打开空调
- 关闭空调
not_from: unavailable
alias: 宿舍小爱=打开空调or关闭空调
condition:
- condition: template
value_template: >-
{{trigger.to_state.attributes.timestamp !=
trigger.from_state.attributes.timestamp}} #这部分是近期加的,但是也起不到作用
action:
- if:
- condition: state
entity_id: sensor.xiaomi_l05c_fd84_conversation
state: 打开空调
- condition: numeric_state
entity_id: sensor.ble_temperature_a4c138ecaa60
above: 25
then:
- service: climate.turn_on
data: {}
target:
entity_id: climate.miir_ir02_3248_ir_aircondition_control
- service: climate.set_temperature
data:
temperature: 25
hvac_mode: cool
target:
entity_id: climate.miir_ir02_3248_ir_aircondition_control
- service: switch.turn_on
data: {}
target:
entity_id: switch.tong_duan_qi_switch_1
- stop: 空调已启动
alias: 温度>25,开制冷25°
- if:
- condition: state
entity_id: sensor.xiaomi_l05c_fd84_conversation
state: 关闭空调
then:
- service: climate.turn_off
data: {}
target:
entity_id: climate.miir_ir02_3248_ir_aircondition_control
- service: switch.turn_off
data: {}
target:
entity_id: switch.tong_duan_qi_switch_1
- stop: 空调已关闭
else: []
alias: 关闭空调
- if:
- condition: state
entity_id: sensor.xiaomi_l05c_fd84_conversation
state: 打开空调
- condition: numeric_state
entity_id: sensor.ble_temperature_a4c138ecaa60
below: 25
then:
- service: climate.turn_on
data: {}
target:
entity_id: climate.miir_ir02_3248_ir_aircondition_control
- service: climate.set_temperature
data:
temperature: 22
hvac_mode: heat
target:
entity_id: climate.miir_ir02_3248_ir_aircondition_control
- service: switch.turn_on
data: {}
target:
entity_id: switch.tong_duan_qi_switch_1
- stop: 空调已启动
alias: 温度<25,开制热22°
mode: single
本帖最后由 dscao 于 2023-1-21 22:41 编辑
我感觉理论上这两个中有一个应该都能解决问题,但实际上却没解决问题,也是奇怪了,等懂的大佬解答吧。
not_from: unavailable
value_template: >-
{{trigger.to_state.attributes.timestamp !=
trigger.from_state.attributes.timestamp}}
示例中的:
not_from:
- "unknown"
- "unavailable"
to: "on"
我按上面的方法做了一个小爱语音指令的自动化测试了一下,重启时不会执行这个自动化,语音指令时正常执行。
alias: 小爱同学语音指令
description: ""
trigger:
- platform: state
entity_id:
- sensor.xiaomi_lx01_0dc2_conversation
not_from: unavailable
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: "{{'小汽车位置' in states(\"sensor.xiaomi_lx01_0dc2_conversation\")}}"
sequence:
- service: script.1611078163529
data: {}
- conditions:
- condition: template
value_template: >-
{{'打开' in states("sensor.xiaomi_lx01_0dc2_conversation") and '空调'
in states("sensor.xiaomi_lx01_0dc2_conversation")}}
sequence:
- service: climate.turn_on
data: {}
target:
entity_id: climate.wo_shi_kong_diao
enabled: true
- conditions:
- condition: template
value_template: >-
{{'关闭' in states("sensor.xiaomi_lx01_0dc2_conversation") and '空调'
in states("sensor.xiaomi_lx01_0dc2_conversation")}}
sequence:
- service: climate.turn_on
data: {}
target:
entity_id: climate.wo_shi_kong_diao
enabled: true
mode: single
用 in 模板这样可以适应多种口令,只要小爱训练中创建了能到hass中就可以。 比如打开空调,可以说打开空调、打开卧室空调、把空调打开等。
小汽车位置,可以说“发送小汽车位置”,“播报小汽车位置”,“把小汽车位置告诉我”。
应该更适合语音控制吧。
判断uptime 加一个环境条件 当前时间 > uptime + 3min 学会用HA自带的功能检查问题出在哪里?
1、自动化编辑里,在图形界面-环境条件右侧三个点里,有“测试”功能,自己检测下
2、可以把环境条件里的条件代码复制到“开发者工具-模板”里测试,实时查看它的值 cjnt007 发表于 2023-1-22 09:39
学会用HA自带的功能检查问题出在哪里?
1、自动化编辑里,在图形界面-环境条件右侧三个点里,有“测试”功 ...
使用trigger.to和from好像没办法这样测试,代码没有报错 sikai 发表于 2023-1-21 23:48
加一个环境条件 当前时间 > uptime + 3min
uptime是指ha运行时间,+3以后就是刚刚启动3分钟内不会执行是吗?确实也是个方法。 dscao 发表于 2023-1-21 21:18
我感觉理论上这两个中有一个应该都能解决问题,但实际上却没解决问题,也是奇怪了,等懂的大佬解答吧。
示 ...
大佬果然大佬,用你的代码把自己的改了,确实就好了,不会重启执行了,而且又学到了用in的方法,谢谢,我要去把我的各种自动化改一改了:lol justion 发表于 2023-1-23 20:11
uptime是指ha运行时间,+3以后就是刚刚启动3分钟内不会执行是吗?确实也是个方法。 ...
uptime指的是HA启动时的时间点 dscao 发表于 2023-1-21 21:18
我感觉理论上这两个中有一个应该都能解决问题,但实际上却没解决问题,也是奇怪了,等懂的大佬解答吧。
示 ...
大佬,这个加条件了吗
页:
[1]