觸發方案
觸發方案把“何時檢查、什麼條件、執行什麼動作”組織成可重複使用規則。
一個方案可包含多個觸發器;每個觸發器包含條件和動作,條件可按 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。