EMQX 规则引擎之数据告警
1、要发布的消息内容:
{"msgType":201,"txnNo":1741059781672,
"paramList":[
{"addrId":1,"id":"06010072","value":"2"},
{"addrId":1,"id":"06010071","value":"10"},
{"addrId":1,"id":"06010070","value":"1"},
{"addrId":1,"id":"06010038","value":"2000"},
{"addrId":1,"id":"06010082","value":"2"},
{"addrId":1,"id":"06010068","value":"3"}
],
"sn":"sn123456","result":1}
2、过滤出id='06010038' 且 value>100 的记录进行告警 ,注意,这里的100不要加单引号,让引擎按数字去运行,否则会按字符串进行比较。
FOREACH
payload.paramList as e
DO
clientid,
e.addrId as name,
e.value as value,
e.id as id
INCASE
e.id = '06010038'
and e.value >= 100
FROM "bus/in"
3、 指定 数据源 和 输出的mqtt主题即可
数据输入Topic: bus/in
动作输出Topic: device/temp/alert
当有消息投递到主题 bus/in 上时,emqtt规则引擎会通过以上sql过滤出符合条件的记录,转发到 温度告警主题!
同一个系统中,可以选择消息重发布,如果是第3方系统可选择mqtt或webhook向外部系统转发

发表评论