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

 找回密码
 立即注册
查看: 6446|回复: 6

[求助] 求助一下 能不能用倒计时控制开关不可用?

[复制链接]

8

主题

158

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
751
HASS币
0
发表于 2020-7-7 22:18:02 | 显示全部楼层 |阅读模式
简单说,需求如下:     用01s刷了esphome,里面用rx口控制relay继电器。
     想法是点击开关后,开关马上动作,然后10秒内开关不可用。 或者说开关触发无效。
     在- switch.toggle: relay  语句前面加delay:10s,可以实现点触发开关,先延时10秒,然后开关触发。     如果吧delay加在触发语句后面,则delay无效,点击了就直接触发了
    试了很多办法也实现不了。请教一下 应该怎么写呢。
回复

使用道具 举报

8

主题

158

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
751
HASS币
0
 楼主| 发表于 2020-7-7 23:01:15 | 显示全部楼层
前前后后看了好多天了,esphome.io 也翻了个遍,写程序完全跟个无头苍蝇一样

esphome 程序的逻辑怎么这么奇特。。。  就不能想arduino一样,用个if 用个for  简简单单的按逻辑思路走可以实现想法。

-platform 是个什么鬼?二进制开关可以用on_press,  gpio为什么不可以用?

真要劝退了
回复

使用道具 举报

17

主题

357

帖子

2084

积分

论坛DIY达人

积分
2084
金钱
1717
HASS币
40
发表于 2020-7-8 00:10:25 | 显示全部楼层
不太懂esphome里面的高阶设置,我更习惯用node-red搞这些,你的需求我的思路是搞一个空白switch,用这个空白switch做触发,然后node-red里面检测relay的timeSinceChangedMs属性,加个判断就可以实现
回复

使用道具 举报

8

主题

158

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
751
HASS币
0
 楼主| 发表于 2020-7-10 10:01:22 | 显示全部楼层
本帖最后由 hejie127 于 2020-7-10 10:03 编辑
hugh_jie 发表于 2020-7-8 00:10
不太懂esphome里面的高阶设置,我更习惯用node-red搞这些,你的需求我的思路是搞一个空白switch,用这个空 ...

谢谢你的回答,这个思路已经让我找到了方向

你说的办法我已经实现,引出了一个新的问题 :就是在hass中点击 空白switch,10秒之内空白switch的状态是变化的,但是RX没变,导致2个开关状态不一致,所以我需要让 空白switch 的开关以rx开关(rx_id)为准。

请问我应该怎么写呢。
再次感谢
测试.gif
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2020-7-10 15:48:45 | 显示全部楼层
hejie127 发表于 2020-7-7 23:01
前前后后看了好多天了,esphome.io 也翻了个遍,写程序完全跟个无头苍蝇一样

esphome 程序的逻辑怎么这么 ...

因为 esphome 要做到yaml 就能写一个 C出来,所以就需要把所有的东西都分一个类别。

另外 esphome 其实是可以设全局变量的,我感觉你这个需要用全局变量来做,另按钮在trun_on 之后做自动化,获取当前时间,是再对比全局变量上一次的时间然后再判断。用 lambda  来写会舒服点。

稍等我弄个范例你试试~
Nero
回复

使用道具 举报

8

主题

158

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
751
HASS币
0
 楼主| 发表于 2020-7-10 16:49:58 | 显示全部楼层
neroxps 发表于 2020-7-10 15:48
因为 esphome 要做到yaml 就能写一个 C出来,所以就需要把所有的东西都分一个类别。

另外 esphome 其实 ...

谢谢版主,你说的 2个开关时间上的判断,其实已经用nodered实现了。 那个流程就像我截图上面的很简单。

是否可以通过某个语句,强制改变开关状态。比如 我点击之后 开关应该是开,但是另一个开关的状态是关,他也变成关就行。

你有这方面的范例吗、谢谢
回复

使用道具 举报

17

主题

357

帖子

2084

积分

论坛DIY达人

积分
2084
金钱
1717
HASS币
40
发表于 2020-7-18 23:19:42 | 显示全部楼层
hejie127 发表于 2020-7-10 10:01
谢谢你的回答,这个思路已经让我找到了方向

你说的办法我已经实现,引出了一个新的问题 :就是在hass中点 ...

这样试试 未命名1595085403.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 17:53 , Processed in 0.062176 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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