23 KiB
融合网关功能接口文档-规则引擎
请求地址说明
融合网关所有功能接口请求地址均为/edge/operations/{deviceId}/{functionId}/invoke。
其中deviceId为边缘设备网关设备Id functionId为功能标识。
注意:当在网关本地调用以下接口时,deviceId参数值固定为当前网关deviceId
一、规则实例
1. 保存规则实例
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-save/invoke
功能标识: rule-instance-save
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | id | |
| name | string | 是 | 名称 | |
| description | string | 否 | 描述 |
返回参数示例
该接口无返回值
2. 获取规则实例列表
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-list/invoke
功能标识: rule-instance-list
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 示例值 |
|---|---|---|---|---|
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
{
"pageIndex":0,
"pageSize":8,
"total":1,
"data":[
{
"id":"111",
"modelId":"111",
"name":"111",
"description":"111",
"modelType":"node-red",
"modelMeta":"{"rev":"51e38394e0590da94e73864208a5799d","flows":[{"disabled":false,"id":"111","label":"111","type":"tab","info":"111"}]}",
"modelVersion":1,
"createTime":1616725735700,
"state":{
"text":"已停止",
"value":"stopped"
}
}
]
}
3. 获取规则实例信息
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-info/invoke
功能标识: rule-instance-info
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id |
返回参数示例
{
"id":"111",
"modelId":"111",
"name":"111",
"description":"111",
"modelType":"node-red",
"modelMeta":"{"rev":"51e38394e0590da94e73864208a5799d","flows":[{"disabled":false,"id":"111","label":"111","type":"tab","info":"111"}]}",
"modelVersion":1,
"createTime":1616725735700,
"state":{
"text":"已停止",
"value":"stopped"
}
}
4. 启动规则实例
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-start/invoke
功能标识: rule-instance-start
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id |
返回参数示例
{
"result": "true"
}
5. 停止规则实例
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-stop/invoke
功能标识: rule-instance-stop
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id |
返回参数示例
{
"result": "true"
}
6. 删除规则实例
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-delete/invoke
功能标识: rule-instance-delete
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id |
返回参数示例
该接口无返回值
7. 复制规则实例
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-instance-save/invoke
功能标识: rule-instance-save
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | id | |
| name | string | 是 | 名称 | |
| modelMeta | string | 是 | 规则模型配置 | |
| modelType | string | 是 | 规则类型 | |
| description | string | 否 | 描述 |
执行规则
1. 执行任务
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-task-execute/invoke
功能标识: rule-task-execute
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id | |
| taskId | string | 是 | 任务Id | |
| ruleData | 对象 | 是 | { "id":"节点Id", "contextId":"上下文Id", "data":{//数据}, "headers":{//节点头部信息} } |
返回参数示例
该接口无返回值
2. 获取规则引擎执行事件
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-execute-events/invoke
功能标识: rule-engine-execute-events
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id | |
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
{
"result":{
"pageIndex":0,
"pageSize":10,
"total":1,
"data":[
{
"id":"26dae0a4-5346-4748-bb62-6771895ceb74",
"event":"error",
"createTime":1616737500013,
"instanceId":"test",
"nodeId":"54c10747.e54cc8",
"ruleData":"{}",
"contextId":"8d69f6c9-681d-47be-bb0c-4e0ce187fd9e"
}
]
},
"status":200,
"code":"success"
}
3. 获取规则引擎执行日志
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-execute-logs/invoke
功能标识: rule-engine-execute-logs
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id | |
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
{
"result":{
"pageIndex":0,
"pageSize":10,
"total":1,
"data":[
{
"id":"26dae0a4-5346-4748-bb62-6771895ceb74",
"instanceId":"test",
"nodeId":"节点Id",
"level":"日志级别",
"message":"内容",
"createTime":"1616737500013",
"timestamp":"日志时间",
"context":"上下文数据"
}
]
},
"status":200,
"code":"success"
}
场景规则
1. 保存场景规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-save/invoke
功能标识: rule-engine-scene-save
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id | |
| name | string | 是 | 场景名称 | |
| actions | 数组对象 | 是 | 执行动作 | |
| parallel | string | 是 | 是否并行执行动作 | |
| triggers | 数组对象 | 否 | 触发条件 |
返回参数示例
该接口无返回值
2. 获取场景规则分页列表
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-page-list/invoke
功能标识: rule-engine-scene-page-list
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id | |
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
{
"pageIndex":0,
"pageSize":8,
"total":1,
"data":[
{
"id":"test-ld",
"name":"测试场景联动",
"triggers":[
{
"trigger":"timer",
"cron":"1213123"
}
],
"parallel":false,
"actions":[
{
"executor":"device-message-sender",
"configuration":{
"notifyType":"dingTalk",
"productId":"edge-gateway-product",
"message":{
"messageType":"WRITE_PROPERTY",
"properties":{
"cpuTemp":"121"
}
},
"deviceId":"edge-gateway-device-001"
}
}
],
"state":{
"text":"已停止",
"value":"stopped"
}
}
]
}
3. 获取场景规则列表
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-list/invoke
功能标识: rule-engine-scene-list
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| ruleInstanceId | string | 是 | 规则实例id | |
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
[
{
"id":"test-ld",
"name":"测试场景联动",
"triggers":[
{
"trigger":"timer",
"cron":"1213123"
}
],
"parallel":false,
"actions":[
{
"executor":"device-message-sender",
"configuration":{
"notifyType":"dingTalk",
"productId":"edge-gateway-product",
"message":{
"messageType":"WRITE_PROPERTY",
"properties":{
"cpuTemp":"121"
}
},
"deviceId":"edge-gateway-device-001"
}
}
],
"state":{
"text":"已停止",
"value":"stopped"
}
}
]
4. 执行场景规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-execute/invoke
功能标识: rule-engine-scene-execute
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id | |
| args | 对象 | 否 | 执行参数 |
返回参数示例
该接口无返回值
5. 删除场景规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-delete/invoke
功能标识: rule-engine-scene-delete
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id |
返回参数示例
该接口无返回值
6. 启动场景规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-start/invoke
功能标识: rule-engine-scene-start
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id |
返回参数示例
该接口无返回值
7. 停止场景规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-stop/invoke
功能标识: rule-engine-scene-stop
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id |
返回参数示例
该接口无返回值
8. 获取场景规则信息
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-scene-info/invoke
功能标识: rule-engine-scene-info
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id |
返回参数示例
{
"id":"test-ld",
"name":"测试场景联动",
"triggers":[
{
"trigger":"timer",
"cron":"1213123"
}
],
"parallel":false,
"actions":[
{
"executor":"device-message-sender",
"configuration":{
"notifyType":"dingTalk",
"productId":"edge-gateway-product",
"message":{
"messageType":"WRITE_PROPERTY",
"properties":{
"cpuTemp":"121"
}
},
"deviceId":"edge-gateway-device-001"
}
}
],
"state":{
"text":"已停止",
"value":"stopped"
}
}
告警配置
1. 保存告警配置
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-save/invoke
功能标识: rule-engine-alarm-save
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | Id | |
| name | string | 是 | 名称 | |
| description | string | 否 | 说明 | |
| target | string | 是 | device或者product | |
| targetId | string | 是 | deviceId或者productId | |
| alarmRule | 对象 | 是 | 规则配置 |
返回参数示例
该接口无返回值
2. 获取告警配置规则分页列表
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-page-list/invoke
功能标识: rule-engine-alarm-page-list
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
{
"pageIndex":0,
"pageSize":8,
"total":1,
"data":[
{
"id":"test-ld",
"name":"测试场景联动",
"description":"说明",
"target":"device",
"targetId":"deviceId",
"alarmRule": {
}
,
"state":{
"text":"已停止",
"value":"stopped"
}
}
]
}
3. 获取告警配置规则列表
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-list/invoke
功能标识: rule-engine-alarm-list
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
[
{
"id":"test-ld",
"name":"测试场景联动",
"description":"说明",
"target":"device",
"targetId":"deviceId",
"alarmRule": {
}
,
"state":{
"text":"已停止",
"value":"stopped"
}
}
]
4. 启动告警配置规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-start/invoke
功能标识: rule-engine-alarm-start
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id | |
| args | 对象 | 否 | 执行参数 |
返回参数示例
该接口无返回值
5. 删除告警配置规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-delete/invoke
功能标识: rule-engine-alarm-delete
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id |
返回参数示例
该接口无返回值
6. 停止告警配置规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-stop/invoke
功能标识: rule-engine-alarm-stop
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 场景Id |
返回参数示例
该接口无返回值
7. 获取告警配置规则信息
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-info/invoke
功能标识: rule-engine-alarm-info
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| target | string | 是 | device或product | |
| targetId | string | 是 | deviceId或productId |
返回参数示例
{
"id":"test-ld",
"name":"测试场景联动",
"description":"说明",
"target":"device",
"targetId":"deviceId",
"alarmRule": {
}
,
"state":{
"text":"已停止",
"value":"stopped"
}
}
告警记录
1. 获取告警记录规则分页列表
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-history-page-list/invoke
功能标识: rule-engine-alarm-history-page-list
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| where | string | 否 | where条件表达式,与terms参数不能共存.语法: name = 张三 and age > 16 | |
| orderBy | string | 否 | orderBy条件表达式,与sorts参数不能共存.语法: age asc,createTime desc | |
| total | string | 否 | 设置了此值后将不重复执行count查询总数 | |
| paging | string | 否 | 是否分页 | |
| firstPageIndex | string | 否 | 第一页索引 | |
| pageSize | 对象 | 否 | 每页数量 |
返回参数示例
{
"pageIndex":0,
"pageSize":8,
"total":1,
"data":[
{
"id":"test-ld",
"productId":"产品Id",
"productName":"产品名称",
"deviceId":"设备ID",
"deviceName":"设备名称",
"alarmId":"告警ID",
"alarmName":"告警名称",
"alarmTime":"告警时间",
"updateTime":"修改时间",
"description":"说明",
"alarmData": {
}
,
"state":"状态"
}
]
}
2. 删除告警记录规则
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-history-delete/invoke
功能标识: rule-engine-alarm-history-delete
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | Id |
返回参数示例
该接口无返回值
3. 修改告警记录
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-history-update/invoke
功能标识: rule-engine-alarm-history-update
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | Id | |
| state | string | 是 | 状态 | |
| descriptionMono | string | 否 | 备注 |
返回参数示例
该接口无返回值
4. 告警记录信息
请求方式: POST
请求地址: /edge/operations/{deviceId}/rule-engine-alarm-history-info/invoke
功能标识: rule-engine-alarm-history-info
请求参数说明
| 参数 | 类型 | 是否必传 | 描述 | 默认值 |
|---|---|---|---|---|
| id | string | 是 | 告警id |
返回参数示例
{
"id":"test-ld",
"productId":"产品Id",
"productName":"产品名称",
"deviceId":"设备ID",
"deviceName":"设备名称",
"alarmId":"告警ID",
"alarmName":"告警名称",
"alarmTime":"告警时间",
"updateTime":"修改时间",
"description":"说明",
"alarmData": {
}
,
"state":"状态"
}