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

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

[流程系列] 求问如何如何将多个布尔输入值用“且”将他们合成1个输出

[复制链接]

20

主题

218

帖子

928

积分

高级会员

Rank: 4

积分
928
金钱
710
HASS币
10
发表于 2023-1-19 01:42:37 | 显示全部楼层 |阅读模式
如题,nodered中我有3个输入的布尔值,我想当3个都是true(不一定是真的布尔,就是比如数值>某个值)的时候激活实体,请问我该怎么实现呢?
回复

使用道具 举报

32

主题

1065

帖子

4946

积分

论坛元老

Rank: 8Rank: 8

积分
4946
金钱
3866
HASS币
90
发表于 2023-1-19 02:14:48 | 显示全部楼层
没用过NR。 HA里面可以用template sensor产生你各种运算得出来的传感器。

template:
  - binary_sensor:
      - name: "Downstairs Heating Required"
        state: >
          {{ ((states.climate.kitchen.attributes.temperature         >
               states.climate.kitchen.attributes.current_temperature     )  and
              (states.climate.kitchen.state != 'off')                          ) or

             ((states.climate.living_room.attributes.temperature         >
               states.climate.living_room.attributes.current_temperature     )  and
              (states.climate.living_room.state != 'off')                          ) or
            
             ((states.climate.ground_toilet.attributes.temperature         >
               states.climate.ground_toilet.attributes.current_temperature     )  and
              (states.climate.ground_toilet.state != 'off')                          ) or
              
             ((states.climate.corridor.attributes.temperature         >
               states.climate.corridor.attributes.current_temperature     )  and
              (states.climate.corridor.state != 'off')                          )
          }}
我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

35

主题

984

帖子

4742

积分

论坛元老

Rank: 8Rank: 8

积分
4742
金钱
3758
HASS币
20
发表于 2023-1-19 06:44:36 来自手机 | 显示全部楼层
NR我不会用函数,所以用的最土的最简单的办法,串联。
回复

使用道具 举报

13

主题

95

帖子

1302

积分

金牌会员

Rank: 6Rank: 6

积分
1302
金钱
1207
HASS币
0
发表于 2023-1-19 09:08:33 | 显示全部楼层
1.用&&将三个判断条件都串起来,只有当都是true的时候才返回true,否则返回false
2.关于a>b是不是能认为为true,这个我也不太清楚,但是,最简单的方法,可以判断完返回true或false,然后再去&&
回复

使用道具 举报

20

主题

218

帖子

928

积分

高级会员

Rank: 4

积分
928
金钱
710
HASS币
10
 楼主| 发表于 2023-1-19 22:07:41 | 显示全部楼层
梅林听风 发表于 2023-1-19 09:08
1.用&&将三个判断条件都串起来,只有当都是true的时候才返回true,否则返回false
2.关于a>b是不是能认为为t ...

您的意思是在function里面用js吗?
回复

使用道具 举报

12

主题

104

帖子

870

积分

高级会员

Rank: 4

积分
870
金钱
766
HASS币
0
发表于 2023-1-20 08:26:34 | 显示全部楼层
nodered中目前想到两种方式:1.并联输入,三个条件同时输入到一个function节点,任何一个条件触发,就在funcdtion里面对三个条件做判断,同时都为真,就向下输出
2.循环计时器delay节点,在一定时间内循环,然后串联三个判断条件,这样都为真时流程向下传送.
回复

使用道具 举报

13

主题

95

帖子

1302

积分

金牌会员

Rank: 6Rank: 6

积分
1302
金钱
1207
HASS币
0
发表于 2023-1-20 09:58:47 | 显示全部楼层
damonwe 发表于 2023-1-19 22:07
您的意思是在function里面用js吗?

11.png

评分

参与人数 1金钱 +8 收起 理由
damonwe + 8 膜拜大神!

查看全部评分

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 02:10 , Processed in 0.239935 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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