跳到內容
返回官網

觸發方案

觸發方案把“何時檢查、什麼條件、執行什麼動作”組織成可重複使用規則。

一個方案可包含多個觸發器;每個觸發器包含條件和動作,條件可按 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。