物联网通信 规则函数

规则引擎提供多种函数,可以以在规则引擎的字段,条件以及数据库字段对应的值中使用这些函数,实现数据的多样化处理。

相关产品
物联网通信 产品页,含版本规格、价格与购买入口。

一、支持的函数

函数名 用法描述
productId() 返回消息来源的产品 ID。
deviceName() 返回消息来源的设备名字。
timestamp() 返回当前的 Unix 系统时间戳,秒为单位。
topic() 返回消息来源的原始 Topic。
topic(n) 返回消息来源的原始 Topic 以/分割的第 n 个分段。
payloadLen() 返回 payload 的字节长度。
bin_to_dec() 将二进制数 data 转换为十进制整数。
to_hex () 将输入的原始消息转换为16进制字符串。
randint(min,max) 返回 min 和 max 之间的随机整数。
upper(string) 返回大写字符串(输入的消息格式需为 JSON 格式,函数对象为对应的 key 值。例如输入消息为 "tencent":"iot",则 upper(tencent)=IOT)。
lower(string) 返回小写字符串(输入的消息格式需为 JSON 格式,函数对象为对应的 key 值)。
crypto(field,String) 对 field 的值进行加密,第二个参数 String 为算法字符串。可选:MD5,SHA1,SHA256,SHA384,SHA512。(输入的消息格式需为 JSON 格式,函数对象为对应的 key 值)。
concat(string1, string2) 字符串连接,例如 concat(deviceid,'a') 或 concat(field1,field2)。
requestId() 返回物联网通信生成的消息 ID,数据不唯一,请不要用于数据库主键。
newuuid() 返回一个随机 UUID 字符串,数据不唯一,请不要用于数据库主键。
replace(source, substring, replacement) replacement 替换 source 中的 substring。
substring(source, start, end) 字符串截取,返回从 start(包括)到 end(不包括)的字符串。

二、使用示例

某一家居温湿度设备 dev00 向云端发送的消息内容为:

{"room1":{"temperature":31,"humidity":"63%"},"room2":{"temperature":26,"humidity":"63%"}}

温湿度产品下有 dev00,dev01,dev02 三个设备分别监测了 room1,room2,room3…room6 六个房间的温湿度,只有当 room1 房间的温度高于30摄氏度时需要对数据转入 MySQL 数据库进行处理。依照此案例规则引擎的设置如下:

赞 (0)
上一篇 4天前
下一篇 4天前