规则引擎
名尚智联内置基于 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 由服务启动时编程式注册。