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

 找回密码
 立即注册
查看: 1673|回复: 5

[技术探讨] 如何通过 Nodered 比较一个实体的当前值和历史值

[复制链接]

80

主题

388

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
金钱
1292
HASS币
0
发表于 2022-6-10 10:45:03 | 显示全部楼层 |阅读模式
本帖最后由 ciasdmxhxjjpd@c 于 2022-6-10 10:53 编辑

RT,

因,想通过 gas meter 值变化和温度值共同作为触发条件提醒燃气开启10分钟,且温度超过某个值。就要通过比较gas当前值与历史值的大小来判断。

流程图:
flow.PNG

trigger :这里不知道如何填写,请大佬赐教!

triggrPNG.PNG

gas 实体:
gas.PNG



回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24381
金钱
22950
HASS币
290
发表于 2022-6-10 10:51:16 | 显示全部楼层
本帖最后由 dscao 于 2022-6-10 10:53 编辑

应该是需要10分钟(或指定时间)前的值,而不是现在变化之前的值吧。
读取历史记录参考这个吧:
https://bbs.hassbian.com/thread-6421-1-1.html


回复

使用道具 举报

80

主题

388

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
金钱
1292
HASS币
0
 楼主| 发表于 2022-6-10 10:54:42 | 显示全部楼层
本帖最后由 ciasdmxhxjjpd@c 于 2022-6-10 10:58 编辑
dscao 发表于 2022-6-10 10:51
应该是需要10分钟(或指定时间)前的值,而不是现在变化之前的值吧。
读取历史记录参考这个吧:
https://bb ...

要当前值之前的值。
在trigger里发现了previous state,
不知道能不能直接通过trigger实现?

triggrPNG.PNG
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24381
金钱
22950
HASS币
290
发表于 2022-6-10 11:24:05 | 显示全部楼层
当前值变化之前的值更简单, msg.data.old_state都包含了需要的状态值。

你这个触发方式可能要变一下,触发中不用管之前的值,后面再作条件判断。
回复

使用道具 举报

17

主题

251

帖子

1888

积分

论坛DIY达人

积分
1888
金钱
1637
HASS币
20
发表于 2022-6-10 12:09:03 | 显示全部楼层
dscao 发表于 2022-6-10 11:24
当前值变化之前的值更简单, msg.data.old_state都包含了需要的状态值。

你这个触发方式可能要变一下,触 ...

有一个想法:红外风扇能不能用NR做成这样的判断,即每一次滑动风扇卡片的速度百分比,NR对当前和上次的值进行相减,正数代表风量加,负数代表风速减?
回复

使用道具 举报

80

主题

388

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
金钱
1292
HASS币
0
 楼主| 发表于 2022-6-10 13:31:34 | 显示全部楼层
本帖最后由 ciasdmxhxjjpd@c 于 2022-6-10 15:57 编辑
dscao 发表于 2022-6-10 11:24
当前值变化之前的值更简单, msg.data.old_state都包含了需要的状态值。

你这个触发方式可能要变一下,触 ...

确定 msg.data 里 有 old_state 吗
我用 delay 延时一段时间,再 根据topic的值,join成 json 数据。最后通过 switch 判断。 1PNG.PNG



pw.PNG




gas-temp-monitor.json

9.32 KB, 下载次数: 5

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 20:44 , Processed in 0.082020 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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