找回密码
 立即注册
搜索
查看: 3960|回复: 10

[进阶教程] esphome求助持续低于某个数值几分钟后执行自动化

[复制链接]

13

主题

487

回帖

3468

积分

论坛元老

积分
3468
金钱
2963
HASS币
20
发表于 2022-2-21 18:00:25 | 显示全部楼层 |阅读模式
本帖最后由 yuqiuyi99 于 2022-2-21 19:31 编辑

我用了8266连接一个功率测量模块,还有个gpio开关连继电器。要求如果功率小于20W持续8分钟后自动断开继电器,以前是用homeassistant做的自动化,可觉得放到esphome里自动更可靠,没网也能用。可是esphome不熟悉,写得执行不了不会自动关闭,求大佬指点

switch:
  - platform: gpio
    pin: D6
    name: "AC_switch"
    id: AC_switch
    on_turn_on:
      if:
        condition:
          for:
            time: 8min
            condition:
              sensor.in_range:
                id: power
                below: 20.0
        then:
        - switch.turn_off: AC_switch
        - logger.log: 3Dprint_is_turn_off!

回复

使用道具 举报

jjcs 手机认证

54

主题

1958

回帖

7977

积分

论坛元老

积分
7977
金钱
5955
HASS币
50
发表于 2022-2-21 18:05:28 | 显示全部楼层
esphome 有time组件,你可以看看
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

jjcs 手机认证

54

主题

1958

回帖

7977

积分

论坛元老

积分
7977
金钱
5955
HASS币
50
发表于 2022-2-21 18:06:52 | 显示全部楼层
time组件可以用时钟模块,ntp  ,ha时间
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

jjcs 手机认证

54

主题

1958

回帖

7977

积分

论坛元老

积分
7977
金钱
5955
HASS币
50
发表于 2022-2-21 18:08:45 | 显示全部楼层
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

13

主题

487

回帖

3468

积分

论坛元老

积分
3468
金钱
2963
HASS币
20
 楼主| 发表于 2022-2-21 19:25:08 | 显示全部楼层
我这是相对时间,用不着time组件
回复

使用道具 举报

2

主题

63

回帖

1077

积分

金牌会员

积分
1077
金钱
1012
HASS币
0
发表于 2022-2-21 20:18:28 | 显示全部楼层
感觉on_turn_on:触发器应该选错了,你这是开机进行一次判定而不是每次功率低于20w判断一次
回复

使用道具 举报

23

主题

637

回帖

3118

积分

论坛元老

积分
3118
金钱
2458
HASS币
10
发表于 2022-2-22 00:45:21 | 显示全部楼层
之前做过一个类似的功能
首先变量满足范围触发,执行2个脚本
脚本1,X秒后 停止脚本2,执行 目标操作
脚本2,等待变量超出范围,执行 停止脚本1
回复

使用道具 举报

ztrx 

17

主题

166

回帖

1745

积分

金牌会员

积分
1745
金钱
1562
HASS币
10
发表于 2022-2-22 16:16:44 | 显示全部楼层
加个变量,每秒加1,高于20W清零
回复

使用道具 举报

5

主题

317

回帖

1345

积分

金牌会员

积分
1345
金钱
1023
HASS币
0
发表于 2022-2-22 17:13:24 | 显示全部楼层
1、switch.on_turn_on 设置全局标志变量为当前时间
2、time计划任务中判断switch.is_on,below: 20.0,当前时间与全局变量比较,满足8分钟,关
3、switch.on_turn_off 设置全局标志变量为0

这样能否实现楼主想法?
回复

使用道具 举报

13

主题

487

回帖

3468

积分

论坛元老

积分
3468
金钱
2963
HASS币
20
 楼主| 发表于 2022-2-22 19:26:47 | 显示全部楼层
netsnake 发表于 2022-2-22 17:13
1、switch.on_turn_on 设置全局标志变量为当前时间
2、time计划任务中判断switch.is_on,below: 20.0,当前 ...

不行啊
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-7-1 20:25 , Processed in 0.068096 second(s), 5 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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