触发方案
触发方案把“何时检查、什么条件、执行什么动作”组织成可复用规则。
一个方案可包含多个触发器;每个触发器包含条件和动作,条件可按 AND / OR 组合。方案可启停,并设置整体生效日期。
| 条件 | 用途 |
|---|---|
| CRON | 按日历计划执行 |
| TIME_POINT | 按每日指定时刻执行,可结合方案日期范围 |
| TIME_PERIOD | 在指定时间段内检查 |
| INTERVAL | 按固定间隔检查 |
| DATA_CHANGE | 点位变化时计算条件,支持共享数据 |
数据条件脚本返回布尔值。数据缺失时应显式判断或先用 tonumber 转换,避免把缺失数据当作有效观测。
动作与返回值
Section titled “动作与返回值”动作可以写入可写点位、分时计划、聚合变量或远端设备,也可以记录告警、提交告警观测和发布 MQTT。
| 方案或场景 | 脚本返回 |
|---|---|
| EXPRESSION 方案 | 从下标 1 开始的动作数组 |
| MIXED 单点写入 | 对应点位的单个值 |
| 数据变化条件 | true / false |
例如在 EXPRESSION 动作中更新聚合运行变量:
return {buildGeneralWriteMap("Aggregation", "demo_state", "ready", false)}使用前将示例点位换成实际配置。函数只构造待执行动作,不表示设备已经执行成功。
简单通知可生成逐条告警记录。需要恢复和处理流程时,使用 告警事件:持续报告 ACTIVE、NORMAL 或 UNKNOWN 观测,不要只在异常时触发。
后处理与执行记录
Section titled “后处理与执行记录”动作支持通过 needPostProcess / postProcessContent 配置后处理。脚本校验可以检查返回结构,但表达式会被求值,含直接调用的脚本应先核对副作用。
查询触发记录可检查条件、执行结果和错误。控制设备时还应查看 设备控制日志 和点位回读,区分请求已发送与设备实际执行。
动态设备与方案启停
Section titled “动态设备与方案启停”通过前缀、后缀等查询可以处理数量变化的设备。批量查询返回以 dataKey 为键的表,应使用 pairs();动态拼接的查询模式需要验证依赖是否完整。影响点位可在方案中配置,详情展示这些点位的当前值,便于理解策略。
禁用、删除或失效的方案会卸载运行任务,并在执行前检查父方案状态;已发往设备的指令仍应核实实际结果。高频策略按需要限频,减少重复下发。
详细脚本见 触发动作参考 与 Lua 参考;通过 Agent 配置可用 触发方案 Skill。