规则引擎系列文档基本上都是照官网翻译的,也结合了一部分自己实践,写的有点糙。

规则引擎是基于事件构建的工作流是易于使用的框架。有3个主要组成部分:

  • Message - 接收任何事件。它可以是来自Device,设备生命周期事件,REST API事件,RPC请求等的传入数据。
  • Rule Node - 处理消息执行的功能。对接收的节点进行过滤、转换或者执行的能力。
  • Rule Chain - 关联节点之的连接,接收来自节点的出站消息将其发送至下一个节点。

ThingsBoard规则引擎是一个高度可定制的框架,用于复杂事件的处理。以下是一些可以通过ThingsBoard规则链配置的常见用例:

  • 在保存到数据库之前,对接收的遥测数据或属性进行验证和修改。
  • 将遥测或属性从设备复制到相关资产,以便可以汇总遥测。例如,可以将多个设备中的数据汇总到相关资产(理解为设施更为合适)中。
  • 根据定义的条件对alarms进行创建、更新、清除。
  • 根据设备生命周期事件触发操作。例如,如果设备处于在线/离线状态,则创建警告。
  • 加载所需的其他处理数据。例如,在客户设备或租户属性中定义的设备的负载温度阈值。
  • 触发对外部系统的REST API调用。
  • 发生复杂事件时发送电子邮件,并使用“电子邮件模板”中其他实体的属性。
  • 在事件处理期间要考虑用户的偏好。
  • 根据定义的条件进行RPC调用。
  • 与外部管道(如Kafka,Spark,AWS服务等)集成。