『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4971|回复: 4

[已解决,感谢yoyosuka]为什么自动化需要重启HA

[复制链接]

16

主题

135

帖子

1091

积分

金牌会员

Rank: 6Rank: 6

积分
1091
金钱
956
HASS币
0
发表于 2018-7-2 22:41:12 | 显示全部楼层 |阅读模式
本帖最后由 roc634 于 2018-7-19 17:36 编辑

=============解决方法===========
感谢yoyosuka的帮助,根据他提供的“以稳定的东西(时间)来做触发,以不稳定的东西(温度)做条件”的思路,我对调了触发和条件的内容,用时间触发,然后判断条件,现在发现问题解决了。谢谢!
- alias: Balcony water #阳台自动浇水
  hide_entity: false
  initial_state: 'on'
  trigger:
    platform: time
    at: '17:30:00'
  condition:
    condition: numeric_state
    entity_id: sensor.moflora1_moisture
    above: 0
    below: 9
  action:
    - service: switch.turn_on
      entity_id: switch.switch1
    - delay: "00:00:60"
    - service: switch.turn_off  
      entity_id: switch.switch1

============以上为最近更新内容================


我用Home Assistant配合小米花花草草监测仪和电磁阀做一个自动浇水的试验,之前测试都挺好的,然后我以为以后就不用再为浇水的事情费心思了,结果今天发现,自动化浇水不能自动触发,但是重启HA后就自动触发了。百思不得其解,所以在此请教各位。

我的自动化条件是当含水量小于9%时,在每天的17:30至17:45之间就打开电磁阀,然后1分钟后关闭。以下是代码:
- alias: Balcony water #阳台自动浇水
  hide_entity: false
  initial_state: 'on'
  trigger:
    platform: numeric_state
    entity_id: sensor.moflora1_moisture
    above: 0
    below: 9
  condition:
    condition: time
    after: '17:30:00'
    before: '17:45:00'
  action:
    - service: switch.turn_on
      entity_id: switch.switch1
    - delay: "00:00:60" 
    - service: switch.turn_off  
      entity_id: switch.switch1  


当时测试时我设置的是临近的时间,而且自动化实例需要重新加载才能触发,于是我一般是直接在网页端直接调用homeassistant.restart来重启,重启后不久,条件满足时自动化是可以触发的。于是我以为解决了,但是我发现在系统持续运行几天后,即使条件满足了,也不能触发。但是重启后马上触发。需要说明的是重启前后都能获取各种数值,并且满足触发的条件。出现这种现象的原因是什么呢?实在想不通,在这里请教各位。先谢谢了


回复

使用道具 举报

13

主题

258

帖子

2090

积分

金牌会员

Rank: 6Rank: 6

积分
2090
金钱
1832
HASS币
0
发表于 2018-7-3 08:58:50 | 显示全部楼层
本帖最后由 yoyosuka 于 2018-7-3 09:02 编辑

家里有狗有猫,没敢养花,手里没有花花草草检测仪,就手里的蓝牙温度计的使用来看,感觉像是数据上报不及时的问题,另外,你这个浇水的逻辑感觉不好啊。多个定点时间来触发,以湿度为条件执行操作才更合理吧

回复

使用道具 举报

16

主题

135

帖子

1091

积分

金牌会员

Rank: 6Rank: 6

积分
1091
金钱
956
HASS币
0
 楼主| 发表于 2018-7-3 17:03:54 | 显示全部楼层
yoyosuka 发表于 2018-7-3 08:58
家里有狗有猫,没敢养花,手里没有花花草草检测仪,就手里的蓝牙温度计的使用来看,感觉像是数据上报不及时 ...

感觉蓝牙通讯的距离的确是个问题,我也发现数据上报经常有延迟,看日志经常是
Update of sensor.moflora2_moisture is taking over 10 seconds
下午4:58 core.py (WARNING)
Updating miflora sensor took longer than the scheduled update interval 0:00:30

这样的信息占了大多数。
不过数据是获取了的,实体的属性能显示出数据,在满足条件的情况下应该能够触发自动化,并不需要获取最新的数据的。不过我对自动化的触发细节也不是很清楚,也不能排除像你所说的数据没有上报而不能触发。
回复

使用道具 举报

13

主题

258

帖子

2090

积分

金牌会员

Rank: 6Rank: 6

积分
2090
金钱
1832
HASS币
0
发表于 2018-7-3 17:34:23 | 显示全部楼层
反正我觉得就是应该以时间为触发,然后进行判断湿度,然后执行操作。以稳定的东西来做触发,不要以不稳定的东西做触发,就这意思吧,反正我认为你逻辑上问题多一些。
回复

使用道具 举报

16

主题

135

帖子

1091

积分

金牌会员

Rank: 6Rank: 6

积分
1091
金钱
956
HASS币
0
 楼主| 发表于 2018-7-3 20:11:57 | 显示全部楼层
yoyosuka 发表于 2018-7-3 17:34
反正我觉得就是应该以时间为触发,然后进行判断湿度,然后执行操作。以稳定的东西来做触发,不要以不稳定的 ...

谢谢您的建议,我觉得你说的很有道理。我现在改为如下,希望这次能解决。谢谢!
- alias: Balcony water #阳台自动浇水
  hide_entity: false
  initial_state: 'on'
  trigger:
    platform: time
    at: '17:30:00'
  condition:
    condition: numeric_state
    entity_id: sensor.moflora1_moisture
    above: 0
    below: 9
  action:
    - service: switch.turn_on
      entity_id: switch.switch1
    - delay: "00:00:60"
    - service: switch.turn_off  
      entity_id: switch.switch1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 21:37 , Processed in 0.104773 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表