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向外部系统转发
发表评论