产品动态
E23VBC3GE8/device_02/event中的 JSON 消息的action targetDevice count三个字段提取出来,再通过count <= 3对数据进行过滤,得到最终处理过的数据,用于下一步数据转发。下图中示例表达的规则:

{"MsgType": "Publish","Topic": "AD4GVS5549/device/data","Seq": 13107192,"PayloadLen": 17,"Payload": "dGhpcyBpcyBhIGV4YW1wbGU=","ProductId": "AD4GVS5549","DeviceName": "device","Time": "2018-08-14 15:12:05",}
{"devicename":"device","payload":{"params":{"power_switch":1,"color":1,"brightness":32}},"productid":"AD4GVS5549","seq":2,"timestamp":1587109346,"topic":"AD4GVS5549/device/data"}
#和+通配符来定义多个 Topic。#代表0个或多个任意 Topic 段,只能放在 Topic 的最后。+代表1个任意 Topic 段,可以放在 Topic 的中间。house_monitor/+/gethouse_monitor/thermometer/get和house_monitor/door/get等 Topic。house_monitor/door/switch/get,因为 + 只能代表1个 Topic 段。house_monitor/#house_monitor/thermometer和house_monitor/door/switch/get等 Topic。house/#/get 是非法的,因为 # 只能放在 Topic 结尾。操作符 | 描述 | 举例 |
= | 相等 | color = 'red' |
<> | 不等于 | color <> 'red' |
AND | 逻辑与 | color = 'red' AND siren = 'on' |
OR | 逻辑或 | color = 'red' OR siren = 'on' |
( ) | 括号代表一个整体 | color = 'red' AND (siren = 'on' OR siren ='isTest') |
+ | 算术加法 | age = 4 + 5 |
- | 算术减 | age = 5 - 4 |
/ | 除 | age = 20 / 4 |
* | 乘 | age = 5 * 4 |
% | 取余数 | age = 0 % 6 |
< | 小于 | 5 < 6 |
<= | 小于或等于 | 5 <= 6 |
> | 大于 | 6 > 5 |
>= | 大于或等于 | 6 >= 5 |
文档反馈