找回密碼
 立即註冊
    查看: 155|回覆: 0

    single、restart、queued、parallel:自動化的 mode 怎麼挑,怎麼確認自己挑錯了

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 08:37:37 | 顯示全部樓層 |閱讀模式
    這個設定藏在自動化編輯器右上角的三個點裡,很多人從來沒動過它。但「自動化行為怪怪的」有一大半是它造成的,而且它壞掉的時候不會報錯,只會在記錄檔裡留一行沒人看的警告。

    這個設定藏在自動化編輯器右上角的三個點裡,很多人從來沒動過它。但「自動化行為怪怪的」有一大半是它造成的,而且它壞掉的時候不會報錯,只會在記錄

    這一篇不從「四個選項的定義」開始。我們先做一個一定會壞的自動化,親眼看到它怎麼壞、在哪裡看到證據,然後才改。這樣你之後遇到自己的案例才認得出來。

    全程只用 Home Assistant 介面,不需要任何硬體,做完可以整個刪掉。

    mode 在解決什麼問題

    一句話:自動化還在跑,又被觸發了一次,該怎麼辦?

    只有「還在跑」這件事成立時才有意義。一條「觸發 → 開燈」的自動化,一瞬間就跑完了,永遠不會有兩個執行重疊,mode 設什麼都一樣。

    會讓自動化「跑很久」的有這幾種:


    • delay —— 明確的等待
    • wait_for_trigger / wait_template —— 等某件事發生
    • repeat —— 迴圈
    • 很慢的動作,例如對一台反應遲鈍的裝置下指令、或呼叫外部服務


    步驟 1:先建一個會壞的測試自動化

    設定 → 自動化與場景 → 建立自動化 → 建立新的自動化,進去之後按右上角三個點 → 以 YAML 編輯,把整個內容換成:
    1. alias: "mode 測試 A"
    2. description: "故意用 single,觀察它怎麼漏掉觸發"
    3. mode: single
    4. triggers:
    5.   - trigger: state
    6.     entity_id: input_boolean.mode_test
    7.     to: "on"
    8. actions:
    9.   - action: notify.persistent_notification
    10.     data:
    11.       title: "mode 測試"
    12.       message: "開始,現在是 {{ now().strftime('%H:%M:%S') }}"
    13.   - delay:
    14.       seconds: 30
    15.   - action: notify.persistent_notification
    16.     data:
    17.       title: "mode 測試"
    18.       message: "結束,現在是 {{ now().strftime('%H:%M:%S') }}"
    複製代碼

    先別存檔 —— 它用到一個還不存在的開關。

    步驟 2:建立那個測試開關

    設定 → 裝置與服務 → 輔助工具 → 建立輔助工具 → 切換,名稱打 mode test,建立。

    你會看到輔助工具清單裡多出一項。點進去,記下它的實體 ID —— 應該是 input_boolean.mode_test。

    實體 ID 不是這個(例如變成 input_boolean.mode_test_2)→ 把步驟 1 的 YAML 裡那一行改成你實際看到的。名稱打中文的話會被轉成拼音,一定要去複製實際的那一串,不要用猜的。

    回到步驟 1 那頁,存檔。

    你會看到自動化清單裡出現「mode 測試 A」,右邊的開關是開著的。

    步驟 3:讓它壞給你看

    到 設定 → 裝置與服務 → 輔助工具,點 mode test,把它打開。

    你會看到右上角跳出一則通知:「開始,現在是 14:22:05」。

    現在在 30 秒之內做這件事:把開關關掉、再打開。

    你會看到什麼:


    • 沒有第二則「開始」的通知 —— 第二次觸發被完全忽略了
    • 30 秒後,只出現一則「結束」通知,時間是第一次開始 +30 秒


    這就是 single 的行為:還在跑就忽略,而且在畫面上一點跡象都沒有。

    步驟 4:去找那行證據(這是本篇最有用的一招)

    設定 → 系統 → 記錄檔。

    你會看到一則警告,展開後長這樣:

    以下還有約 81% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-11-10 00:36 , Processed in 0.118327 second(s), 25 queries .

    快速回覆 返回頂部 返回列表