Event and Rule Control Actions
About 3 min
Event and Rule Control Actions
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- Event and Rule Control Actions context and expected reader workflow.
- Configuration, verification, and release-readiness details.
- Source-aligned implementation notes, screenshots, and troubleshooting references.
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
事件与规则控制动作
动作类型
| 动作 | actionType | 说明 |
|---|---|---|
| ACTION_TRIGGER_EVENT | 21 | 触发设备事件 |
| ACTION_ENABLE_EXEC_RULE | 22 | 启用指定规则 |
| ACTION_DISABLE_EXEC_RULE | 23 | 禁用指定规则 |
配置示例
方式1:Web界面配置(推荐)
外设执行页面如下。事件动作配置时重点核对事件 ID、目标规则和是否会形成循环触发。
示例1:触发设备事件(链式联动)
场景:触发一个自定义事件,供其他规则订阅
配置步骤:
在外设执行管理页面编辑规则
点击 添加动作 按钮
填写动作配置:
字段 填写内容 说明 动作类型 选择 触发事件 触发设备事件 事件ID 填写 evt_alarm自定义事件ID 事件数据 填写 高温报警可选,事件携带的数据 点击 保存 按钮
💡 提示:
- 其他规则可通过事件触发器订阅此事件
- 启用“上报数据”后事件会通过MQTT DEVICE_EVENT主题上报
示例2:启用指定规则
场景:动态启用温控规则exec_temp_ctrl
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 启用规则
- 目标规则ID:填写
exec_temp_ctrl
点击 保存
💡 提示:targetPeriphId必须是已存在的规则ID(格式:exec_XXXXXXX)
示例3:禁用指定规则
场景:动态禁用指定规则
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 禁用规则
- 目标规则ID:填写要禁用的规则ID
点击 保存
💡 提示:enable/disable操作会持久化到periph_exec.json
应用场景
场景1:按键切换规则启用状态
步骤:
- 创建规则,名称:
按键切换温控 - 触发器:事件触发 →
button_click→ 目标btn1 - 动作:选择 启用规则 → 目标
exec_temp_ctrl - 保存
💡 提示:可创建两条规则,单击启用,双击禁用
场景2:链式联动(规则A→规则B)
步骤:
规则A配置:
- 动作1:执行主要逻辑
- 动作2:选择 触发事件 → 事件ID填写规则A自己的ID
规则B配置:
- 触发器:事件触发 → 事件ID填写规则A的ID
- 动作:执行后续逻辑
💡 提示:避免形成A→B→A的循环触发
方式2:JSON配置文件导入
注意事项
- 循环保护:避免 A启用B → B启用A 形成循环
- 事件去重:同一事件 500ms 内不会重复触发
- 规则ID:targetPeriphId 必须是已存在的规则 ID(格式:
exec_XXXXXXX) - 持久化:enable/disable 操作会持久化到 periph_exec.json
