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

    喊「開燈」要等三秒:把延遲一段一段量出來,再對症下藥

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 01:46:51 | 顯示全部樓層 |閱讀模式
    語音開燈慢,大部分人的反應是「雲端就是這樣」然後放棄。但延遲是由四段組成的,而且每一段都量得出來。量完你會知道該修哪一段 —— 有時候問題根本不在雲端,是那顆燈自己就要兩秒。

    語音開燈慢,大部分人的反應是「雲端就是這樣」然後放棄。但延遲是由四段組成的,而且每一段都量得出來。量完你會知道該修哪一段 —— 有時候問題根

    ■ 先把「延遲」拆成四段

    從你開口到燈亮,這中間會經過:


    • A 段 語音辨識 —— 音箱收音、判斷你說完了、把聲音轉成文字
    • B 段 雲端往返 —— 文字送到 Google 的伺服器解讀、轉成指令、再送到你家 HA
    • C 段 HA 處理 —— HA 收到指令、決定要對哪個實體做什麼、送出去
    • D 段 裝置反應 —— 燈或插座收到指令、真的動作


    這四段的可改善程度差很多:A 段和 B 段只有「換掉整條路」才能改;C 段通常只有幾十毫秒,不是問題;D 段常常是最大的一段,而且最容易被誤判成 B 段。

    所以第一件事不是調設定,是量。

    ■ 步驟 1:量 D 段(裝置自己要多久)

    這一段完全不經過語音和雲端,所以可以單獨量。


    • 到 開發者工具 → 動作
    • 動作欄輸入 light.turn_on
    • 切到 YAML 模式(右上角有一個切換),貼進去:

    1. action: light.turn_on
    2. target:
    3.   entity_id: light.ke_ting_deng
    複製代碼

    (light.ke_ting_deng 換成你自己的實體 ID,在 開發者工具 → 狀態 那一頁抄。)

    先把燈關掉,然後一邊看著燈、一邊按「執行動作」,用手機碼表或心裡默數。

    你會看到三種情況:


    • 幾乎是按下去就亮(小於 0.3 秒) —— D 段沒問題,延遲不在裝置。典型是 Zigbee 裝置、或有線的 Shelly、或 ESPHome 自製的東西
    • 明顯有感的停頓(0.5 到 1.5 秒) —— 典型是 Wi-Fi 智慧插座、Wi-Fi 燈泡。這一段就佔掉你抱怨的「三秒」裡的一半
    • 超過 2 秒,或有時快有時慢 —— 裝置在睡眠或 Wi-Fi 訊號不好。這是最該先修的


    更精確的量法(不用碼表,用 HA 自己的時間戳):

    執行動作之後,到 設定 → 日誌簿,找那盞燈。你會看到兩筆紀錄:
    1. 21:04:33  客廳燈 被 開啟      觸發者:Charles
    2. 21:04:34  客廳燈 已開啟
    複製代碼

    這兩行的時間差就是 D 段。 第一行是 HA 送出指令的時刻,第二行是裝置回報「我真的開了」的時刻。

    只看到一行 → 那顆燈不會主動回報狀態(HA 是用輪詢的方式去問它),這種裝置通常也比較慢。

    ■ 步驟 2:量 C 段(HA 自己花了多久)

    這一段幾乎不會是瓶頸,但量一次可以把它排除掉。

    到 設定 → 系統 → 系統資訊 那一頁,往下捲。你會看到一個叫 處理器使用率 與 記憶體使用率 的區塊。

    判讀:


    • 處理器長期在 80% 以上 → HA 主機吃不消,C 段會被拖慢。常見原因是資料庫太大、或跑了太多影像辨識的整合
    • 記憶體快滿 → 同上
    • 兩個都在一半以下 → C 段沒問題,可以排除


    資料庫大小的查法:到 開發者工具 → 狀態,篩選欄輸入 sensor.home_assistant_v2_db。

    你會看到一個數字,單位是 MiB。超過 2000(約 2 GB)就該處理了 —— 到 configuration.yaml 加上保留天數:
    1. recorder:
    2.   purge_keep_days: 10
    3.   commit_interval: 5
    複製代碼

    這段放在 configuration.yaml 的最外層(最左邊,前面沒有空格)。改完到 開發者工具 → YAML → 檢查設定,你會看到「設定有效!」,然後重新啟動。

    ■ 步驟 3:量 A+B 段(語音到 HA 之間)

    這一段沒辦法直接看到,但可以用減法算出來。

    做法:


    • 準備碼表(手機內建的就好),另一個人幫忙按或用錄影
    • 對音箱說「Hey Google,客廳燈打開」,說完最後一個字的瞬間開始計時
    • 燈亮的瞬間停止
    • 重複五次,取中位數(不要取平均,偶爾一次特別慢會把平均拉歪)


    假設量到 2.8 秒,而步驟 1 量到 D 段是 0.9 秒,步驟 2 確認 C 段可以忽略,那麼:
    1. A + B ≈ 2.8 - 0.9 = 1.9 秒
    複製代碼

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

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

    本版積分規則

    延伸閱讀

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

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

    GMT+8, 2026-11-10 01:01 , Processed in 0.126513 second(s), 25 queries .

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