本帖最后由 roc634 于 2019-11-23 11:48 编辑
=======最近更新==============
我在别的论坛也问了同样的问题,得到一个建议,根据官方的例子代码修改。官方文档中有一段这样的代码
automation:
trigger:
platform: template
value_template: "{% if is_state('device_tracker.paulus', 'home') %}true{% endif %}"
# If given, will trigger when template remains true for X time.
for: "00:01:00"
复制代码
我根据它改为
automation:
trigger:
platform: template
value_template: "{% if is_state('cover.hassmart_192_168_2_76', 'unknown') %}true{% endif %}"
复制代码
目前还没有看到实体丢失,所以不知道有没有用。不过既然是官方的例子,我觉得应该可以。权当问题解决,如果不行我再来更新。谢谢各位!!!
=============稍早前的==================
用了论坛定制的窗帘电机一直很好,不足之处就是在HA里,时不时出现窗帘电机丢失的情况,就是在实体清单(Entities list)里看不到电机了,但是直接访问电机的IP是可以打开页面,并且控制的,我相信是我在用的HA系统的原因。出现电机在实体清单里丢失后,只要重启HA服务,就会回到清单上,又可以在HA里控制电机了。我现在用的HA版本是0.91.2,因为每次升级HA都会出现一些很大的改变,需要改很久才可以用,而我暂时不需要其他新功能,而且不知道升级过后能不能解决这样的问题,
。
现在我能想到的解决办法是,当电机在实体清单里丢失后,就手动重启服务。但是这样太麻烦。而我想建一个自动化实例来自动重启的方法,试过几个条件都不能触发,所以只能在这里请教一下高手。
我试过的一个触发条件是:
trigger:
platform: state
entity_id: cover.hassmart_192_168_2_76
to: "unknown"
for: '00:02:00'
复制代码
但是这样并不能在它丢失后触发自动重启HA服务。我觉得应该是cover.hassmart_192_168_2_76这个实体已经不在实体清单里了,因而也就没有状态,也没有状态改变了。
于是我又尝试通过模板去触发:
trigger:
platform: template
value_template: "{{ states('cover.hassmart_192_168_2_76') == 'unknown' }}"
复制代码
{{ states('cover.hassmart_192_168_2_76') == 'unknown' }}这个我在“开发者工具”的模板里测试是True的,请看下图:
但是不知道为什么就是不能触发。
所以请教一下论坛里的高手:当一个实体丢失后,可以用什么方法以此为条件触发自动重启服务?非常感谢!!!