功能
监听设备数据,当超出限定后,发出通知到预定的手机号或邮箱
定义
- 设备字段监听:小机云监听设备数据,对设备字段进行匹配。如果匹配到则执行触发器。如,设置了设备监听字段为switch,当收到该设备上传上来的数据里包含switch就会调用设备监听字段下面的触发器
- 触发器:匹配到监听字段后,调用触发器。触法器将会决定该执行什么操作。如,新建一个触发器,当温度大于40时,且在1分钟内出现3次(防抖)发送内容“设备温度大于40摄氏度”到手机号186xxxxxxxx或邮箱号xxxxx@qq.com
设置设备预警
在设备列表中进入设备详情对话框,切换到设备预警标签
创建设备字段监听
点击创建设备字段监听,输入需要监听的字段名,点击确定即可
创建触发器
- 触发器名称:描述略
- 触发器描述:描述略
- 字段值类型:被监听字段其值的类型,可选值,数字,布尔,字符串
- 通知方式:使用什么方式发起通知,可选值,通知到短信,通知到e-mail,通知到设备
- 通知到:通知的联系方式,如通知方式为通知到短信,则此处填手机号码。多个联系方式用英文逗号(,)隔开。
- 防抖时长与防抖次数:防抖时长与防抖次数共同起作用,不可单独使用。
- 防抖时长:防抖时长内触发超出防抖计数后执行触发器,超出防抖时长防抖次数重新计数,单位毫秒(ms)
- 防抖次数:达到触发器执行条件,并超出防抖次数后,执行触发后发送内容。
例子:监听温度,字段为temperature,触发条件为大于40度,防抖时长为6000(1分钟),防抖次数为3。
1. 在1分钟内,如现数据,40,61,68,57,59,63,此时发生预警
2. 在1分钟内,40,61,68,56,57,59.....,超过1分钟,温度超过60次数未能达到3次。防抖次数清空,重新计算防抖次数。
- 静默时长:一次触发后,静默时长内触发器不再响应。
- 触发表达式:使用表达式,其中,value为关键字,监听字段的值会代入到value中,执行表达式。表达式语法与java/c语言一致,详情请见下面案例
- 触发后发送的内容:可使用文本,也可以使用表达式。表达式语法与java一致,详情请见下面案例
触发表达式案例
javascript
//触发表达式
//数字类型比较
表达式1:"27.0001 > value && value < 27.0001001"。
表达式解析,value大于27.0001且小于27.0001001,执行出发器。
value=27.000001,运行结果为true,执行触发器
表达式2:"27.0001 > value || value > 27.0002"。
表达式解析,value小于27.0001或大于27.0002,执行出发器。
value=27.00015,运行结果为false,不执行触发器
value=27.0003,运行结果为true,执行触发器
value="27.0003",运行结果异常,不执行触发器
//字符串比较
表达式1:"value == 'ok'"
表达式解析,value等于字符串ok字符串时,触发器执行。区分大小写
//布尔类型比较
表达式1:value == true
表达式解析:当value为true,执行触发器,除了true,其余都不执行,如,false, "true", 0, 1
表达式2:value
表达式解析:当value为true,执行触发器,除了true,其余都不执行,如,false, "true", 0, 1
触发后发送的内容
- 文本:直接发送文本,如,设置为“注意:温度异常”,当温度超过阈值后,发送“注意:温度异常”
- 表达式
javascript
表达式1: "注意:空调阀门值 '+ (value ? '开':'关')"
value=true:发送内容:注意,空调阀门值开
value=false:发送内容:注意,空调阀门值关
表达式2: "'当前温度值: ' + value "
value=43:发送内容:当前温度值:43、
注意:创建触发器后,需要点开启并点击启动监听 触发器才可生效