marswang 发表于 2022-9-21 11:44:19

本帖最后由 marswang 于 2022-9-21 11:45 编辑

node-red-contrib-bool-gate可以增加一个这个节点   可以实现and 和 or的逻辑判断

xiaolongbao 发表于 2022-9-21 13:50:52

marswang 发表于 2022-9-21 11:44
node-red-contrib-bool-gate可以增加一个这个节点   可以实现and 和 or的逻辑判断
...

好的谢谢~回家了试试

xiaolongbao 发表于 2022-9-21 14:10:08

aprking 发表于 2022-9-21 00:47
分别把四个温控器的某个你需要的值var,然后用link in\link out连入function中做触发条件即可。
例如四个温 ...

温控器里面有个状态 status:(0 停止工作或 1工作中)
如果我想输出其中一个温控器的这个状态值,是不是就是就是这样呢?
var zhuangtai = msg.payload......路径;
msg.payload = zhuangtai
if(msg.payload === 0){
   return msg;
}else{
   return null;
}

aprking 发表于 2022-9-21 15:50:10

xiaolongbao 发表于 2022-9-21 14:10
温控器里面有个状态 status:(0 停止工作或 1工作中)
如果我想输出其中一个温控器的这个状态值,是不是 ...

如果多个温控器,须在这个之前在各自的温控器的流里分别var好不同的zhuangtai1、zhuangtai2.。。再linkin-out过来!
这样才不会混乱,最后在这个if(msg.payload === 0)可以加入 && 来实现与或逻辑值!

xiaolongbao 发表于 2022-9-21 17:06:39

aprking 发表于 2022-9-21 15:50
如果多个温控器,须在这个之前在各自的温控器的流里分别var好不同的zhuangtai1、zhuangtai2.。。再linkin ...

好的,谢谢,回家试试看
不明白的地方,再求助,还感谢不吝赐教:handshake

onions 发表于 2022-9-23 23:40:54

四个condition都满足,trigger设备关机。 这个需求的重点其实不在于条件满足的判断逻辑,而在于当任意一个condition出现不满足条件时,是否要再次trigger设备做一次toggle操作。这个逻辑比前者稍显困难。

从简化问题角度,没必要把四个温控器合并为同一个flow ,增加问题复杂度。

如果是我处理这个flow ,我会增加一个共享的context变量,假设变量名称为 FINAL STATUS,变量为 flow 或globallevel都可以。每个温控器单独一个flow,处理逻辑是 ,当温控器满足条件,设置FINAL STATUS 为true,反之为false。每个温控器自己的频率采集环境温度数据,互不影响。 (如果设置为flow level的context,四个flow需要在同一个tab页编辑)

然后再写一个flow, 处理逻辑是 间隔 interval ,判断context变量FINAL STATUS值是否为ture,如果为true ,关闭设备,反之打开设备。

特别提醒,使用context需要注意的是 ,变量是保持在内存当中,当node-red重启或者断电时,context变量会不存在。解决此问题是 ,可以将context写入数据库,或者是写入文件系统。

xiaolongbao 发表于 2022-10-1 16:12:22

onions 发表于 2022-9-23 23:40
四个condition都满足,trigger设备关机。 这个需求的重点其实不在于条件满足的判断逻辑,而在于当任意一个c ...

之前方法折腾半天还是不行,找不到原因,与或门插件不会用。。。
最后,换了个思路,米家里面设置四个温控器,达到都停止工作的时候,触发一个米家插座停,任意温控器工作,触发插座开。。。
然后插座开关状态通过ha,再到nr,向壁挂炉发送关停采暖到指令。。。
我这个虽然成功了,但办法确实笨:dizzy:

xiaolongbao 发表于 2022-10-1 16:16:48

marswang 发表于 2022-9-21 11:44
node-red-contrib-bool-gate可以增加一个这个节点   可以实现and 和 or的逻辑判断
...

node-red-contrib-bool-gate 完全不会操作这个插件,门都没摸到:dizzy: 不知道怎么设置这个

ysst4 发表于 2023-2-16 13:32:30

xiaolongbao 发表于 2022-10-1 16:16
node-red-contrib-bool-gate 完全不会操作这个插件,门都没摸到 不知道怎么设置这个 ...

我的方法是,ABCD四个传感器,A关闭时,把B,C,D都问一遍 你们关了没,同理B,C,D关的时候也挨个问一遍,如果都关了就触发开关。

liy517 发表于 2023-2-16 14:43:03

marswang 发表于 2022-9-21 11:44
node-red-contrib-bool-gate可以增加一个这个节点   可以实现and 和 or的逻辑判断
...

有没有这个节点的教程?安装了,但不明白怎么用:'(
页: 1 [2] 3
查看完整版本: 求助node-red 如何实现多个设备同时满足条件触发