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

标题: 如何通过 Nodered 比较一个实体的当前值和历史值 [打印本页]

作者: ciasdmxhxjjpd@c    时间: 2022-6-10 10:45
标题: 如何通过 Nodered 比较一个实体的当前值和历史值
本帖最后由 ciasdmxhxjjpd@c 于 2022-6-10 10:53 编辑

RT,

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

流程图:
[attach]38197[/attach]

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

[attach]38198[/attach]

gas 实体:
[attach]38196[/attach]




作者: dscao    时间: 2022-6-10 10:51
本帖最后由 dscao 于 2022-6-10 10:53 编辑

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



作者: ciasdmxhxjjpd@c    时间: 2022-6-10 10:54
本帖最后由 ciasdmxhxjjpd@c 于 2022-6-10 10:58 编辑
dscao 发表于 2022-6-10 10:51
应该是需要10分钟(或指定时间)前的值,而不是现在变化之前的值吧。
读取历史记录参考这个吧:
https://bb ...

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

[attach]38199[/attach]
作者: dscao    时间: 2022-6-10 11:24
当前值变化之前的值更简单, msg.data.old_state都包含了需要的状态值。

你这个触发方式可能要变一下,触发中不用管之前的值,后面再作条件判断。
作者: mrlaogui    时间: 2022-6-10 12:09
dscao 发表于 2022-6-10 11:24
当前值变化之前的值更简单, msg.data.old_state都包含了需要的状态值。

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

有一个想法:红外风扇能不能用NR做成这样的判断,即每一次滑动风扇卡片的速度百分比,NR对当前和上次的值进行相减,正数代表风量加,负数代表风速减?
作者: ciasdmxhxjjpd@c    时间: 2022-6-10 13:31
本帖最后由 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 判断。[attach]38204[/attach]



[attach]38202[/attach]









欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5