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

 找回密码
 立即注册
查看: 319|回复: 4

[流程系列] 刚刚接触nodered,请教下用ha实体数值变化来触发流程的方法

[复制链接]

10

主题

32

帖子

267

积分

论坛分享达人

积分
267
金钱
235
HASS币
0
发表于 2024-7-15 17:18:53 | 显示全部楼层 |阅读模式
刚接触nodered,现在只会一些基本的ha节点
比如用event state监测加湿器当前的湿度,低于60就触发后面的节点
这样的话如果触发后,加湿器意外关闭,湿度一直低于60,就无办法再次触发这个event state
我现在的做法是以周期性触发current state来刷新湿度状态
微信截图_20240715170809.png
我的想法是:
有没有方法可以通过维护一个数据表,统一收集诸如温度湿度亮度等实体数值,然后周期性刷新,后接不同的current state来触发不同流程?
或者退一步,当实体数值一有变化就触发,而不是到达阈值才触发?


新手入门,望大佬们不吝赐教
回复

使用道具 举报

9

主题

216

帖子

1811

积分

论坛UI达人

积分
1811
金钱
1595
HASS币
0
发表于 2024-7-15 17:43:51 | 显示全部楼层
使用function节点去做判断,
例如:
    湿度值变化作为触发,function判断,值是否小于60%,如果小于就执行下一步操作

以此类推

还可以使用轮询的办法,利用时间戳去触发条件判断。

function节点 就能满足你的需求,同时可以接入诸如:温湿度,亮度等实体数值,然后去判断并且执行不同的动作。
回复

使用道具 举报

0

主题

11

帖子

550

积分

高级会员

Rank: 4

积分
550
金钱
539
HASS币
0
发表于 2024-7-16 10:26:10 | 显示全部楼层
event state只要有变化就会触发,哪怕一直低于60;
HA的自动化低于60只会触发一次,再次触发必须从60以上降下来;
两者各有利弊,看用途
回复

使用道具 举报

10

主题

32

帖子

267

积分

论坛分享达人

积分
267
金钱
235
HASS币
0
 楼主| 发表于 2024-7-17 09:33:24 | 显示全部楼层
xsteel 发表于 2024-7-16 10:26
event state只要有变化就会触发,哪怕一直低于60;
HA的自动化低于60只会触发一次,再次触发必须从60以上降 ...

试了下event state确实是变化触发,之前用ha自带的没这个特性,以为nodered逻辑也一样了;
我现在用了event all节点监听state_changed事件,之后接switch过滤需要的实体,用function提取需要的参数再赋给全局变量,这样数值一有变化就会更新这个全局变量表,算了实现了第一个想法
微信截图_20240717092821.png

回复

使用道具 举报

11

主题

274

帖子

1468

积分

金牌会员

Rank: 6Rank: 6

积分
1468
金钱
1194
HASS币
0
发表于 前天 13:51 | 显示全部楼层
xsteel 发表于 2024-7-16 10:26
event state只要有变化就会触发,哪怕一直低于60;
HA的自动化低于60只会触发一次,再次触发必须从60以上降 ...

对,我也发现了。当时设了一个自动化,即车辆离家小于500米就通知手机,然后499米弹一次,498米弹一次,疯了一样。当时挺无语的,后来又改回HA的自动化了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-9-8 08:51 , Processed in 0.069760 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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