请问各位大神,我有一个火炉。我现在希望手动打开插座时,插座能够做到开启半小时自动关闭1小时再开启这样循环,同时在开关自动开启状态下,我手动按下关闭,或者开关在自动关闭状态下,手动开起再关闭一次就能结束这个自动开关操作
目前我是这么写的:
- alias: broads1_auto_off
trigger:
- platform: state
entity_id: switch.broads1
from: 'off'
to: 'on'
for:
minutes: 30
action:
- service: switch.turn_off
entity_id: switch.broads1
- delay: 00:15:00
- service: switch.turn_on
entity_id: switch.broads1
这样的写法就是开关在关闭状态下,手动开关一次无法结束这个自动开关操作。我又想到加一个判定语句,就是检查上次状态变化的时间间隔,如果小于规定的时间间隔,那么就放弃自动操作。论坛查了下好像可以这样写
condition:
- condition: template
value_template: '{{ (as_timestamp(now())-as_timestamp(states.12345678.switch.last_updated)) > 600 }}'
######条件2:当开关是“打开” 状态
- condition: state
entity_id: 12345678.switch
state: 'on'
但是实际上并不能做到,估计代码太老了现在没法用。请教改如何做呢!
其实我的写法还有一个问题。如果加上时间condition条件,时间过了之后,开关的最终状态不是关闭状态,这也是很头疼的事情,目前完全还不知道如何修改。
请各位大神指教!谢谢
|