流程控制-丢弃未发生变化的消息
丢弃与上一次消息相同的消息
问题背景
如果消息的有效载荷值自上一条消息以来没有发生变化,则需要丢弃该消息。例如,有一个传感器定期发送开关的状态,而只想知道该值何时发生变化。
解决方案
使用 异常报告 来阻止消息,除非其值已发生变化。
示例

示例JSON
[{"id":"6079638d.df403c","type":"inject","z":"e028a121bc4ae061","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":250,"y":2000,"wires":[["87129503.c7b358"]]},{"id":"87129503.c7b358","type":"rbe","z":"e028a121bc4ae061","name":"消息过滤","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":430,"y":2020,"wires":[["5e2ffc27.c61dd4"]]},{"id":"5e2ffc27.c61dd4","type":"debug","z":"e028a121bc4ae061","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":670,"y":2020,"wires":[]},{"id":"2dc49f96.3070c","type":"inject","z":"e028a121bc4ae061","name":"","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":250,"y":2040,"wires":[["87129503.c7b358"]]}]
运行结果
交替点击注入节点:0-1 ,可以看到调试窗口输出 0-1,如果点击同一个注入,只会看到最后一次的数据,直到两次值发送变化才会再次输出
