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

    用網頁版 AI 寫 Home Assistant 設定:問法範本,與十二種該直接丟掉的回答

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-25 01:46:40 | 顯示全部樓層 |閱讀模式
    這一篇講的 AI 不在你家裡跑,也不花 API 的錢 —— 就是你平常開網頁在用的那個。把它當成一個「幫你寫 YAML 的助手」,是所有 AI 用法裡門檻最低、回收最快的一種。

    這一篇講的 AI 不在你家裡跑,也不花 API 的錢 —— 就是你平常開網頁在用的那個。把它當成一個「幫你寫 YAML 的助手」,是所有 A

    但它有一個很具體的失敗模式:它給你的東西語法完全正確、設定檢查照樣通過、自動化在清單上顯示啟用中,然後永遠不執行,一個字的錯誤訊息都沒有。

    這篇分成兩半:前半是怎麼問(四個可以直接複製的範本),後半是怎麼驗(四步驗證流程,加上十二種一看就該丟掉的回答,每一種都附驗證方法與正確寫法)。

    ---

    步驟 1:開始問之前,先把三樣東西備好

    大部分人問出爛答案的原因不是提示詞技巧不夠,是沒給它必要的資料。這三樣東西花五分鐘準備,之後每次問都能用。

    1-1 你的 Home Assistant 版本

    到設定 → 關於。

    你會看到類似這樣的一行:
    1. Home Assistant 2026.9.3
    2. 作業系統 18.3
    3. 前端 20260826.6
    複製代碼

    第一行就是你要的。每次問的時候都把版本號寫進去 —— 這是讓它避開已移除功能最有效的一句話。

    1-2 相關實體的完整 ID 清單

    這是差別最大的一項。AI 沒辦法知道你家的實體叫什麼,你不給它就一定會編。

    到設定 → 工具 → 範本(2026.2 起「開發者工具」搬進「設定」底下,2026.8 起改名叫工具;找不到直接按 Ctrl+K 搜尋「範本」)。

    把左邊的內容全部清掉,貼這一段:
    1. 燈:
    2. {{ states.light | map(attribute='entity_id') | list | join(', ') }}
    3. 開關:
    4. {{ states.switch | map(attribute='entity_id') | list | join(', ') }}
    5. 二元感測器:
    6. {{ states.binary_sensor | map(attribute='entity_id') | list | join(', ') }}
    7. 感測器(只列有數值的):
    8. {{ states.sensor | selectattr('attributes.unit_of_measurement', 'defined')
    9.    | map(attribute='entity_id') | list | join(', ') }}
    複製代碼

    你會看到右邊即時列出你家所有實體的 ID。

    只想要某個區域的(清單太長的話):
    1. {{ area_entities('living_room') | join(', ') }}
    複製代碼

    區域 ID 不知道怎麼寫的話用這一行先查:
    1. {{ areas() | join(', ') }}
    複製代碼

    把要用到的那幾行複製起來。

    1-3 決定你要它給你什麼形式

    三種,差別很大:


    • 整條自動化的 YAML —— 你打算貼進「以 YAML 編輯」。這是最好用的一種
    • 一段模板 —— 你只是卡在某個 Jinja 算式
    • 操作步驟 —— 你想用 UI 點出來。這種要明講,不然它一定給你 YAML


    ---

    步驟 2:問法範本(直接複製改數值)

    把這一整段貼過去,中括號的地方換成你的:
    1. 我在用 Home Assistant 2026.9.3。
    2. 我家有這些相關的實體:
    3. - binary_sensor.hallway_motion(走廊的人體感應器)
    4. - light.hallway(走廊的燈,支援亮度與色溫)
    5. - sensor.hallway_illuminance(走廊照度,單位 lx)
    6. 我想做到:
    7. 1. 偵測到人就開走廊燈
    8. 2. 五分鐘沒人就關掉
    9. 3. 照度高於 50 lx 的時候不要開(白天不用)
    10. 4. 晚上十一點之後只開 20% 亮度,色溫調到最暖
    11. 請給我一整條自動化的 YAML,我會貼進「以 YAML 編輯」。
    12. 幾個限制:
    13. - 只能用我上面列出來的實體,不要假設我還有別的
    14. - 如果需要額外的輔助元件(input_boolean 之類),請明確告訴我
    15.   要去哪裡建、名稱填什麼、實體 ID 會變成什麼
    16. - 用目前官方文件上的寫法
    17. - 每一個區塊請用註解說明它在做什麼
    18. 最後請列出:這份設定裡我需要自己去確認存不存在的東西有哪些。
    複製代碼

    這段範本裡每一句都有作用,不要刪:


    • 版本號 —— 讓它避開已經移除的東西
    • 實體清單附中文說明 —— 它才知道哪個是哪個,不會拿照度去判斷有沒有人
    • 「只能用我列出來的實體」 —— 這一句擋掉最常見的錯誤來源
    • 「需要額外輔助元件要明確告訴我」 —— 擋掉「它引用了一個自己沒定義的東西」,那是最難發現的一種錯
    • 「請用註解說明」 —— 你看得懂才維護得下去。半年後回來改,看不懂等於重寫
    • 最後那一句 —— 直接叫它幫你產生驗證清單,省掉你自己找


    ---

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

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

    本版積分規則

    延伸閱讀

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

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

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

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