Skip to content

规则引擎 ​

名尚智联内置基于 LiteFlow 的可视化规则引擎(Phase 4),支持在管理后台以「块式编排」方式定义数据流转与联动逻辑,无需编写代码。

能力概览 ​

能力说明
触发源设备属性上报、设备事件、定时任务(Cron)、手动触发
条件阈值比较(> / < / = / 区间)、多条件 AND / OR 组合、跨设备联动
动作下发设备指令、写入告警、发送通知(钉钉/企微/短信/邮件)、转发至 Kafka
编排LiteFlow Chain 编程式注册,支持串行 / 并行 / 条件分支 / 循环

数据流 ​

设备上报 → EMQX Webhook → 属性入库(TDengine) → 规则引擎匹配
     → 命中规则 → 执行动作(指令下发 / 告警 / 通知 / 转发)

管理接口 ​

http
GET    /api/rule/list          # 规则列表
GET    /api/rule/{id}          # 规则详情
POST   /api/rule/save          # 新增/更新规则
POST   /api/rule/enable/{id}   # 启用
POST   /api/rule/disable/{id}  # 停用
DELETE /api/rule/{id}          # 删除

规则定义示例 ​

json
{
  "name": "温度超限联动告警",
  "triggerType": "PROPERTY",
  "productId": 1001,
  "conditions": [
    { "identifier": "temperature", "op": "GT", "value": 80 }
  ],
  "actions": [
    { "type": "ALERT", "level": "MAJOR", "message": "温度过高:${temperature}" },
    { "type": "COMMAND", "targetSerial": "FAN-001", "identifier": "power", "value": 1 },
    { "type": "NOTIFY", "channels": ["dingtalk", "wecom"] }
  ],
  "enabled": true
}

说明 ​

  • 规则命中后动作按声明顺序执行;指令下发走设备原有通道(MQTT / TCP / CoAP / HTTP)。
  • ${identifier} 占位符会在执行期替换为本次上报的实际值。
  • 定时触发规则使用标准 Cron 表达式,例如 0 0/5 * * * ? 表示每 5 分钟。
  • 引擎基于 LiteFlow,无需 XML,Chain 由服务启动时编程式注册。