跳转到内容
返回官网

触发方案

触发方案把“何时检查、什么条件、执行什么动作”组织成可复用规则。

一个方案可包含多个触发器;每个触发器包含条件和动作,条件可按 AND / OR 组合。方案可启停,并设置整体生效日期。

条件 用途
CRON 按日历计划执行
TIME_POINT 按每日指定时刻执行,可结合方案日期范围
TIME_PERIOD 在指定时间段内检查
INTERVAL 按固定间隔检查
DATA_CHANGE 点位变化时计算条件,支持共享数据

数据条件脚本返回布尔值。数据缺失时应显式判断或先用 tonumber 转换,避免把缺失数据当作有效观测。

动作可以写入可写点位、分时计划、聚合变量或远端设备,也可以记录告警、提交告警观测和发布 MQTT。

方案或场景 脚本返回
EXPRESSION 方案 从下标 1 开始的动作数组
MIXED 单点写入 对应点位的单个值
数据变化条件 true / false

例如在 EXPRESSION 动作中更新聚合运行变量:

return {buildGeneralWriteMap("Aggregation", "demo_state", "ready", false)}

使用前将示例点位换成实际配置。函数只构造待执行动作,不表示设备已经执行成功。

简单通知可生成逐条告警记录。需要恢复和处理流程时,使用 告警事件:持续报告 ACTIVE、NORMAL 或 UNKNOWN 观测,不要只在异常时触发。

动作支持通过 needPostProcess / postProcessContent 配置后处理。脚本校验可以检查返回结构,但表达式会被求值,含直接调用的脚本应先核对副作用。

查询触发记录可检查条件、执行结果和错误。控制设备时还应查看 设备控制日志 和点位回读,区分请求已发送与设备实际执行。

通过前缀、后缀等查询可以处理数量变化的设备。批量查询返回以 dataKey 为键的表,应使用 pairs();动态拼接的查询模式需要验证依赖是否完整。影响点位可在方案中配置,详情展示这些点位的当前值,便于理解策略。

禁用、删除或失效的方案会卸载运行任务,并在执行前检查父方案状态;已发往设备的指令仍应核实实际结果。高频策略按需要限频,减少重复下发。

详细脚本见 触发动作参考 与 Lua 参考;通过 Agent 配置可用 触发方案 Skill。