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

 找回密码
 立即注册
查看: 16606|回复: 12

[教程系列] 【nodered】类似HA 中 FOR 的应用

[复制链接]

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2019-1-21 10:26:30 | 显示全部楼层 |阅读模式
本帖最后由 neroxps 于 2019-1-21 10:31 编辑

Node-RED 类似 HA 中 For 的应用

从 Home-assistant 转到 Node-RED 相信很多朋友都疑惑,怎么编写类似 HA 自动化 FOR 功能的流。

其实 Node-RED 也有类似 HA 那样 For 功能的节点,名字叫 stoptimer,以下是这个节点说明的翻译:

在设置的定时器持续时间后,通过第一个输出发送msg。 如果在定时器结束之前收到新的msg,它将替换现有的msg,并且定时器将重新启动,除非新的msg具有stop或STOP的有效负载,在这种情况下它将停止定时器。 第二个输出允许您发送数字,字符串或布尔值的附加有效负载。 如果计时器停止,第二个输出将自动发送停止的有效负载。

这就像node-red的内置延迟功能,但不仅能够重启计时器,还能够停止计时器。
翻译来自 google翻译

下面是我做的两个范例。

两个人感控灯

需求:

  1. 当人感-1 或者人感-2 为 ON 的时候,亮灯。
  2. 当人感-1 或人感-2 为 OFF,持续5秒后,如果另一个人感也是OFF就关灯 。

    当亮度少于30持续5秒,关灯

001.png 两个人体控制灯&亮度控灯.zip (1.86 KB, 下载次数: 197)





评分

参与人数 4金钱 +67 收起 理由
+ 20 不明觉厉!
flashsoft + 20
hisoo + 7 感谢楼主分享!
lidicn + 20 论坛有你更精彩!

查看全部评分

Nero
回复

使用道具 举报

11

主题

258

帖子

961

积分

高级会员

Rank: 4

积分
961
金钱
703
HASS币
0
发表于 2019-1-21 10:54:11 | 显示全部楼层
学习stoptimer 节点
回复

使用道具 举报

5

主题

209

帖子

2014

积分

金牌会员

Rank: 6Rank: 6

积分
2014
金钱
1795
HASS币
45
发表于 2019-1-22 16:09:12 | 显示全部楼层
这个功能好!
回复

使用道具 举报

8

主题

870

帖子

5218

积分

论坛元老

Rank: 8Rank: 8

积分
5218
金钱
4348
HASS币
0
发表于 2019-1-22 17:42:43 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

15

主题

222

帖子

1936

积分

禁止访问

积分
1936
金钱
1694
HASS币
90

教程狂人

发表于 2019-1-22 22:25:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

12

主题

397

帖子

2289

积分

金牌会员

Rank: 6Rank: 6

积分
2289
金钱
1892
HASS币
10
发表于 2019-1-24 11:10:38 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

4

主题

163

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
746
HASS币
0
发表于 2019-12-13 23:05:00 | 显示全部楼层
我遇到一个问题,光线感应每秒输出一次数据的话,stoptime节点设为等待5秒,这样就会一直暂停,不会往下走流程了。
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
 楼主| 发表于 2019-12-14 08:02:11 | 显示全部楼层
lhpsq 发表于 2019-12-13 23:05
我遇到一个问题,光线感应每秒输出一次数据的话,stoptime节点设为等待5秒,这样就会一直暂停,不会往下走 ...

把你的 Flow 发出来看看。
Nero
回复

使用道具 举报

4

主题

163

帖子

909

积分

高级会员

Rank: 4

积分
909
金钱
746
HASS币
0
发表于 2019-12-16 17:13:01 | 显示全部楼层
我下载了您压缩包里的flow,最下面那个流,如果连续有同一个输入,比如连续按“亮度传感器24”,则流到达不了“持续多少秒”后面了。
我想用这个方法做插座功率<25W 持续10分钟,就关闭,但插座功率是1分钟刷新一次的。
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
 楼主| 发表于 2019-12-16 18:16:56 | 显示全部楼层
lhpsq 发表于 2019-12-16 17:13
我下载了您压缩包里的flow,最下面那个流,如果连续有同一个输入,比如连续按“亮度传感器24”,则流到达不 ...

很简单啊,加一个 rbe 节点就能解决。

多元判断嘛

大于 25W 就是true,往下只会发 true。经过 rbe 的时候,判断当前消息和之前消息是一样就不往下发。
Nero
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 12:20 , Processed in 0.091078 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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