场景自动化
2026/11/3大约 1 分钟
场景自动化
App 用户的场景/自动化规则(等同管理后台「规则引擎」的个人版):触发器 → 条件 → 动作。前缀:/app-api/iot/rule_engine(注意路径是下划线 rule_engine),均需登录态,仅能操作本人场景。
场景分页 / 列表 / 详情
| 接口 | 方法与URL |
|---|---|
| 分页 | GET /page |
| 列表 | GET /list |
| 详情 | GET /{id}(含触发器/条件/动作 JSON) |
响应参数(每项):
id、ruleName(场景名)、ruleContent(规则内容 JSON 字符串)、ruleDescription(描述)、startup(1:启动;0:停止)、createTime。
创建 / 修改场景
- 创建:
POST /addScene - 修改:
POST /updateScene(需传 id)
请求参数(body)
| 参数名称 | 参数说明 | 是否必须 | 数据类型 |
|---|---|---|---|
| ruleName | 场景名称 | true | string |
| ruleDescription | 场景描述 | true | string |
| ruleContent | 规则内容,JSON 字符串(结构见下) | false | string |
| startup | 启动状态;1:启动;0:停止 | false | int |
ruleContent 结构(与后台规则引擎一致):
{
"triggers": [ { "uri": "trigger/device/property", "params": { } } ],
"conditions": [ { "uri": "condition/timeRange", "params": { } } ],
"actions": [ { "uri": "action/device/invokeService", "params": { } } ]
}触发器/条件/动作的可选类型见管理后台规则引擎。
手动触发 / 启停 / 删除
| 接口 | 方法与URL | 说明 |
|---|---|---|
| 手动执行 | POST /trigger/{id} | 立即执行一次场景动作 |
| 启用/停用 | POST /startup/{id}?startUp= | startUp:1 启用;0 停用 |
| 删除场景 | DELETE /{id} | — |
| 删除触发器 | DELETE /trigger/{id} | — |
注意
部分 App 版本还会调用 DELETE /condition/{id} 与 DELETE /action/{id},这两个接口后端已停用(返回 404)。修改场景时请通过 updateScene 提交完整 ruleContent 覆盖,而不是单独删除条件/动作。