帮你快速理解、总结文档立即下载

规则函数

最近更新时间:2025-12-29 15:26:13
我的收藏
规则引擎提供多种函数,您可以在规则引擎的字段,条件以及数据库字段对应的值中使用这些函数,实现数据的多样化处理。

支持的函数

函数名
用法描述
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 数据库进行处理。依照此案例规则引擎的设置如下: