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

 找回密码
 立即注册
查看: 3339|回复: 23

[流程系列] NodeRed时间的判断

[复制链接]

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
发表于 2023-2-3 21:17:09 | 显示全部楼层 |阅读模式
有两个问题想请教:
1、如何设置在某一个时间段只执行一次?即使是状态改变了也不再执行,例如设置上午8点到9点之间,客厅感应器感应到人,自动开窗帘,如果在这个时间段内手动关闭了窗帘,即便是房间还有人,这个开窗的命令不再执行。
2、红外传感器设定为感应不到人后自动关灯,为了避免误关灯,设定的感应不到人5分钟后再关灯,如果5分钟内有人走动,重新计时。
回复

使用道具 举报

2

主题

123

帖子

1659

积分

金牌会员

Rank: 6Rank: 6

积分
1659
金钱
1536
HASS币
0
发表于 2023-2-3 21:52:33 | 显示全部楼层
第一个我实现方法是用函数节点,在执行规则后赋值一个变量值为1,然后在触发后就检查这个变量值,如果为1就不执行,再加一个流,定时把变量更改为0.
第二个可以用 stoptimer 插件实现,或者delay节点里面修改如下

                               
登录/注册后可看大图
回复

使用道具 举报

4

主题

340

帖子

2612

积分

金牌会员

Rank: 6Rank: 6

积分
2612
金钱
2272
HASS币
0
发表于 2023-2-4 12:13:40 | 显示全部楼层
有各种办法,我这个也简单,每天这个时间段经过只播报1次,时间段之外自动复位计数 捕获.PNG


回复

使用道具 举报

4

主题

340

帖子

2612

积分

金牌会员

Rank: 6Rank: 6

积分
2612
金钱
2272
HASS币
0
发表于 2023-2-4 12:17:07 | 显示全部楼层
第2个问题就更简单了,一个stoptimer节点就能搞定

捕获2.PNG
回复

使用道具 举报

80

主题

388

帖子

1674

积分

金牌会员

Rank: 6Rank: 6

积分
1674
金钱
1286
HASS币
0
发表于 2023-2-4 12:32:57 | 显示全部楼层
Solita 发表于 2023-2-4 12:17
第2个问题就更简单了,一个stoptimer节点就能搞定

麻烦分享 下 代码,谢谢
回复

使用道具 举报

35

主题

978

帖子

4515

积分

论坛元老

Rank: 8Rank: 8

积分
4515
金钱
3537
HASS币
20
发表于 2023-2-4 12:40:48 | 显示全部楼层
第一个用计数器,但是这个其实容易失效的,你还不如检测下窗帘状态来得简单;
第二个用默认的events: state节点For那边设个延迟时间就行了,没那么复杂。
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-4 20:16:05 | 显示全部楼层
dengxiao 发表于 2023-2-3 21:52
第一个我实现方法是用函数节点,在执行规则后赋值一个变量值为1,然后在触发后就检查这个变量值,如果为1就 ...

感谢指点第一个的nodered流能不能分享一下?
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-4 20:19:29 | 显示全部楼层
Solita 发表于 2023-2-4 12:13
有各种办法,我这个也简单,每天这个时间段经过只播报1次,时间段之外自动复位计数

能否分享一下你这个流的文件?
回复

使用道具 举报

10

主题

107

帖子

536

积分

高级会员

Rank: 4

积分
536
金钱
429
HASS币
0
 楼主| 发表于 2023-2-4 20:21:55 | 显示全部楼层
Solita 发表于 2023-2-4 12:17
第2个问题就更简单了,一个stoptimer节点就能搞定

有个疑问:人体感应后加一个延迟200MS的目的是什么?省略这个节点应该也没问题吧?
回复

使用道具 举报

4

主题

340

帖子

2612

积分

金牌会员

Rank: 6Rank: 6

积分
2612
金钱
2272
HASS币
0
发表于 2023-2-4 22:05:31 | 显示全部楼层
liy517 发表于 2023-2-4 20:19
能否分享一下你这个流的文件?

流很简单啊,就是累加1,然后后面判断是否等于1,等于1才执行
至于延时200ms是因为我用的蓝牙人体包含关照,光照只在人体动作时才上报,如果不延时有可能动作先上报,光照后上报,这个流就失效了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 09:06 , Processed in 1.288083 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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