43 條給 AI 用的 HA 指令,直接複製就能用
把 Home Assistant 接上 Claude/ChatGPT/Gemini + ha-mcp-woow 之類的 HA MCP server,就能用中文對話控制整間屋子。這本收 43 條真實家庭場景的提示詞,分 8 類,每一條都寫給 LLM agent 用——你複製、貼進對話框、把「客廳」換成你家實際的區域就能送出。
這本是什麼
Home Assistant 的 REST API、WebSocket API 與新版的 MCP server 讓 LLM agent 能呼叫任何 service、讀任何實體狀態、跑任何模板。搭配 ha-mcp-woow 或官方的 MCP Server integration,你的 AI 就能:
- 控制:呼叫
light.turn_on、climate.set_temperature、cover.open_cover等所有 service - 查詢:讀實體狀態、屬性、歷史數據,回答「客廳現在幾度」「上週用電多少」
- 編輯:新增/改/刪自動化、腳本、場景、儀表板
- 管理:裝/移除 add-ons、HACS 套件、integration,跑備份與升級
這本收的每一條,都是寫給 AI agent 讀的自然語言提示——不是給 Voice Assistant 的短指令,而是能讓 AI 主動翻譯成一或多個 service 呼叫、跟你來回確認、留下操作紀錄的完整需求描述。
怎麼開始用
-
把 HA 接上 MCP server
方案一:官方 MCP Server integration(HA 2025.7+)→ Claude Desktop/VS Code Copilot 之類的 client 直連。方案二:
ha-mcp-woow(WoowTech 出的加強版,含更完整 config/HACS/備份工具,見 第 19 章 與 第 20 章)。 -
暴露實體給 LLM
Settings → Voice Assistants → Expose:勾要讓 AI 動的區域與實體。安全建議:先只暴露「無害」的(燈、感測器),驗證行為對了再放行安全類(門鎖、警報)。
-
複製這本裡對應場景的提示詞
把「客廳」「主臥」「26 度」這種括號感的字換成你家實際的區域/裝置/參數,貼進 Claude/ChatGPT/Gemini 的對話框。
-
養成「先報告再動手」的習慣
會改設定的提示詞都保留「做完先給我摘要、我確認再套用」——重要改動先看再放行,是最便宜的保險。
燈光與場景控制
最基本、最常呼叫的一類。都會走 light.turn_on/light.turn_off/scene.turn_on/light.toggle。
把客廳所有的燈開到 60% 亮度、色溫調成 3000K 暖白。
走 light.turn_on 帶 brightness_pct+kelvin;若燈不支援色溫會自動 fallback。
列出目前所有還亮著的燈,順便告訴我每一盞在哪個區域。
走 light domain 的 state 查詢+area_registry 交叉比對。
觸發「電影模式」場景:客廳主燈關、氣氛燈調暗紅、電視背光開。如果沒有這個場景就先幫我建,用 scene.create 動態場景。
把主臥燈調成日出模擬效果:從 5% 慢慢升到 100%、色溫從 2200K 拉到 5000K,持續 20 分鐘。用 script transition 做,別用一堆 turn_on 硬幹。
建議走 light.turn_on 帶 transition,或呼叫已有的 script.wake_up。
關掉家裡所有燈,除了小夜燈(entity_id 開頭 light.nightlight_ 的都保留)。
幫我把玄關的燈色變成迎賓效果:紫色→藍色→白色循環三次,然後停在正常白光。用可支援 RGB 的燈就好,色溫燈跳過。
氣候與空調控制
走 climate.set_temperature/climate.set_hvac_mode/climate.set_fan_mode。回答時常需要交叉查詢 sensor.*_temperature 與 weather.*。
現在家裡各區域的溫濕度是多少?如果室內比室外冷氣還冷,關掉那一區的空調並告訴我。
state 查詢+weather.* 對照+條件呼叫 climate.turn_off。
把所有冷氣改成睡眠模式:主臥 25 度/風速低,其他房間 26 度/自動風。做之前先列出你要改哪些 entity,我確認再執行。
如果外面下雨(weather.forecast_home 有 rainy)且家裡濕度超過 70%,開全屋的除濕機並設 55%。半小時後回頭看濕度,還沒降就通知我。
依現在的氣象預報與明天早上 8 點的溫度預測,判斷主臥冷氣今晚是設「睡眠 26 度」還是「省電模式」比較舒服。做出建議,我同意再改。
列出所有 climate 實體目前的 hvac_mode、target_temperature、current_temperature,用表格排好。順便標出「設定溫度跟當前溫度差超過 3 度」的異常項。
能源監控與省電分析
走 history/recorder 查詢+sensor.*_energy 分析。大型分析建議搭配推理較強的模型(Claude Opus/GPT-5)。
用 ha_get_history 抓過去 7 天所有 sensor.*_energy,算出今日、昨日、過去 7 天的平均日耗電。列前 5 名吃電怪獸並猜是什麼設備。
看過去 30 天客廳冷氣的用電曲線,跟外溫做關聯分析:設 25 度 vs 26 度耗電差多少?依我家的使用時段給省電建議。
現在的即時總功率是多少?(sensor.total_power)如果超過 5000W 持續 3 分鐘,把可延後的高耗電設備(除濕機、洗碗機、烘乾機)暫停 30 分鐘,避開契約用電上限。
我家用台電時間電價。找出過去一週在尖峰時段(週一到週五 16:00–22:00)用電最多的設備,估算全部移到離峰一個月能省多少。
生成本週能源週報:對比上週的總耗電、Top 5 高耗電設備變化、平均室內溫度、太陽能發電量(如果有 sensor.solar_*)。用 notify.mobile_app_* 推到我手機。
通知與推播
走 notify.mobile_app_*/notify.persistent_notification/notify.notify。actionable notification 要帶 data.actions。
用 notify.mobile_app_myphone 推一則測試通知,標題「HA 通知測試」,訊息帶當下時間戳。順便檢查有沒有其他 mobile_app service 也能發,列給我。
洗衣機(switch.washer)從 on 變 off 且功率沒動超過 3 分鐘 → 推 actionable notification 給我,帶「已收好」跟「延後 30 分鐘」兩顆按鈕。按下後對應改自動化狀態。
把所有電池低於 20% 的裝置整理成一則通知:一次列出來,附上區域、實體名稱、目前電量。用 label.battery 的 label 快篩,找不到 label 就從 *_battery 命名撈。
當漏水感測器(binary_sensor.*_leak)任何一顆觸發 → 立刻推最高優先級通知,訊息帶「哪一顆」+「該區域的水閥 entity_id」,並自動呼叫 switch.turn_off 關那顆閥。
今晚 22:00 檢查所有門窗感測器,有沒關的就用手機通知我,告訴我在哪、關了多久。全部關好就不用通知。
寫/改自動化與腳本
走 ha_config_set_automation/ha_config_set_script/ha_config_set_scene。這一類最需要 AI 有「先計畫再動手」的紀律——每一條都寫明「先給摘要」。
幫我寫一個「回家模式」自動化:所有家人的手機 device_tracker 從 not_home 變 home,任一觸發就開玄關燈(light.entrance)、把冷氣設 26 度、播我常用的音樂 playlist。做好先給我 YAML 摘要,我確認再啟用。
重要:AI 別用 device_id 寫死,一律用 entity_id(見 第 8 章)。
改「晚安模式」:加一條——如果隔天早上有 8 點前的 calendar.family 事件,把早晨情境提早 30 分鐘啟動。先讀現有 automation 的 YAML 給我看,再說你要怎麼加。
把「客廳冷氣自動開關」這個 automation 拆成兩個:一個負責「超過 28 度開」,一個負責「25 度以下關」。用 mode: restart,避免動作打架。
寫一個 script script.movie_night:關全屋主燈、開客廳氣氛燈紅色 30% 亮度、電視開機、切到 Netflix。做完可以在儀表板上放一顆按鈕跑它。
列出我目前所有 automation,找出「用了 device_id」「用了 wait_for_trigger 但沒有 timeout」「trigger 只有一個時間但沒條件」這三種可能出包的寫法,一個個列出來並建議怎麼改。
用 blueprint 匯入這一顆:https://community.home-assistant.io/t/motion-activated-light/262970,然後用主臥的動作感測器(binary_sensor.master_motion)跟主臥燈(light.master_bedroom)產一個 automation instance。
感測器與裝置查詢
走 ha_get_state/ha_get_history/ha_search/ha_get_device/ha_list_floors_areas。
列出家裡所有的區域(Floor→Area),每個區域下有哪些裝置。表格排版,方便我看有沒有還沒歸位的實體。
現在客廳的溫度、濕度、CO2、PM2.5 是多少?跟外面差多少?如果 CO2 超過 1000ppm 就建議我開新風系統或開窗。
用 ha_get_history 撈過去 24 小時 binary_sensor.front_door 的所有變化,統計「開了幾次、平均開多久、最長開多久」,判斷有沒有異常。
找出所有「7 天沒回報狀態」的實體(可能是感測器沒電或斷線),一次列出來——這是最容易被忽略的隱患。
我要把「客廳感測器」(entity_id sensor.living_temp)改名成 sensor.living_room_temperature。先列出所有引用到它的 automation、script、scene、dashboard,我確認後你一起改,不要漏。
HA 有 ha_get_entity 帶 references,記得用。
列出目前所有 device_class: motion 的實體,看過去 24 小時哪些從沒觸發過——多半是壞了或位置擋住了。
日常語音對話(簡短版)
下面這些適合語音助理與 chat 兩用——短、口語、能觸發正確的 service。搭配 第 19 章 的 Assist 用最直接。
開客廳燈。
我要出門,關掉所有的燈,鎖大門,冷氣改成離家模式。
冷氣 26 度,睡眠風速。
明天 7 點提醒我倒垃圾。用 todo.family 加一項,並設 due date。
現在家裡幾度?外面幾度?下午會下雨嗎?
故障排除與維運
走 ha_get_logs/ha_get_automation_traces/ha_get_system_health/ha_manage_backup。這些是 HA 出狀況時最有價值的一批。
「日落開燈」這個 automation 今天早上沒觸發,用 ha_get_automation_traces 撈最近 5 次執行紀錄,找出失敗原因。有 fix 就先給我摘要,我確認再改。
用 ha_get_logs 抓過去 24 小時 log_level=ERROR 以上的紀錄,分組整理:哪個 integration/哪個 entity 出現最多錯誤?給我 3 條最需要處理的建議。
跑一次 ha_get_system_health,看 recorder、supervisor、network 三大塊有沒有 unhealthy。有的話依 HA 官方文件建議修復步驟。
列出過去 7 天的自動備份紀錄,確認每天都有跑、每個檔都 > 100MB(太小可能有問題)。超過 24 小時沒新備份就先幫我跑一次完整備份再回報。
Repairs 中心(ha_report_issue 對應的區塊)目前有多少個未解決的問題?一個個列出來、依嚴重性排序,告訴我哪些可以忽略、哪些一定要處理。
給 AI 用的提示詞寫法小抄
看完 43 條,套路其實只有五招。給 AI agent 寫指令跟給人寫指令不太一樣:
| 這樣講 | 不要這樣講 | 為什麼 |
|---|---|---|
用 entity_id 講:「開 light.living」或用 friendly name「開客廳主燈」 |
「開那個燈」「開亮一點」 | AI agent 需要具體的 entity_id 或明確名稱才能呼叫 service。 |
指定要用哪個 service:「用 climate.set_temperature 設 26」 |
「調成 26 度」(讓 AI 亂猜) | 複雜控制講明工具,AI 不會用錯 service。簡單指令可以口語。 |
| 先讀後寫:「先讀現有 automation YAML 給我看,再說你要怎麼改」 | 「幫我改 xxx automation」 | 不看原文就改,多半改壞。這是保住現有設定的鐵律。 |
| 先摘要再套用:「做好給我 YAML 摘要,我確認再啟用」 | 「幫我加一條自動化」 | 會動 config 的一律加這句,最便宜的保險。 |
用 entity_id 而非 device_id:「觸發 binary_sensor.front_door」 |
用 device_id UUID | device_id 改設備會斷連結,entity_id 穩定;這也是 第 8 章的鐵律。 |
常見問題
MCP server 跟 REST API、Voice Assistant 差在哪?
要用 ha-mcp-woow 還是官方 MCP Server integration?
ha-mcp-woow 是 WoowTech 的加強版,多出 config 編輯、HACS 管理、備份工具、log/trace 查詢等(本冊很多提示詞用到的 ha_config_set_*、ha_get_automation_traces、ha_manage_backup 就是它出的)。想要完整體驗選 ha-mcp-woow,只想安全嘗鮮選官方。AI 常呼叫錯 service 或給錯 entity_id 怎麼辦?
sensor.abc123 比 sensor.living_temperature 難用),(3) LLM 上下文塞太多,重要的實體被截掉。修法:先命名(第 4 章)、再暴露、最後只暴露相關區域。會不會很花 token/很貴?
可以自動觸發、不用每次手動貼提示詞嗎?
script 帶 service: conversation.process 送給 LLM。進階做法:用 HA 自動化在特定 event(漏水、電池低)觸發 LLM 分析並執行對應動作——但這時要格外注意安全,別讓 AI 有能力做無法回復的操作。提示詞可以直接給家人用嗎?
把這本帶走
整本是自包含單檔 HTML,圖示全部內嵌,下載後離線可開、可直接轉寄家人與同事。