在规则引擎中统计设备平均温度

原理: 利用ReactorQL订阅设备的实时数据,使用聚合函数来处理数据.

创建规则实例

  1. 进入系统: 规则引擎-规则实例-创建规则

  2. 输入id、名称。

  3. 点击确定进行保存。

create

创建ReactorQL节点

  1. 点击规则实例上的编辑按钮。

进入设计器

  1. 在工作区中拖入监听HTTP节点。

创建ReactorQL节点

使用方式可参考工作区右侧的节点帮助

  1. 双击节点进入编辑页。

update-ReactorQL

使用SQL如下:

  1. select
  2. avg(this.properties.temperature) avg, --平均温度
  3. max(this.properties.temperature) max, --最大值
  4. min(this.properties.temperature) min, --最小值
  5. count(1) count --总计上报次数
  6. from "/device/t-sensor/*/message/property/**" --订阅t-sensor型号下所有设备
  7. group by interval('1m')
  8. having avg > 30 -- 平均温度高于30 就发送数据到下一个节点

发送邮件通知

在工作区中拖入消息通知节点,并编辑。

create-notify

配置请参考通知-邮件

使用jetlinks源码中的模拟器模拟上报温度数据,平均温度高于30度,将会发送邮件。

device-avg-temp-debug

收到邮件

email