Home Assistant
控制器透過 MQTT 與 Home Assistant 溝通。開啟自動探索後,冷氣會自動出現在 Home Assistant,不需要寫 YAML,也不需要安裝自訂整合。
需要準備
- Home Assistant 2024.11 或更新版本
- 一台 MQTT 伺服器。使用 Home Assistant OS 時,安裝官方的 Mosquitto broker 附加元件即可;其他安裝方式請自行架設 MQTT 伺服器。
- Home Assistant 已加入 MQTT 整合,並連到同一台 MQTT 伺服器
- 建議為控制器建立專用的 MQTT 帳號密碼
設定
- 依照本地設定進行,在「連線模式」選「本地 MQTT(Home Assistant)」。
- 「MQTT 伺服器位址」填寫 MQTT 伺服器位址,例如
mqtt://192.168.1.10:1883。若 Mosquitto 裝在 Home Assistant 上,就填 Home Assistant 的 IP 位址。 - 填寫 MQTT 帳號密碼,並保持勾選「啟用 Home Assistant 自動探索」。
- 完成設定。控制器重新啟動並連上 MQTT 伺服器後,冷氣會出現在 Home Assistant 的「設定 → 裝置與服務 → MQTT」。
已完成設定的控制器,也可以在狀態頁的「設定」改為本地 MQTT。
會出現的項目
| 項目 | 類型 | 內容 |
|---|---|---|
| 冷氣(以裝置名稱命名) | climate | 模式:關、冷氣、暖氣、除濕、送風、自動;風速:自動、低、中、高;上下擺風;設定溫度 16–30 °C,每次 1 度 |
| Sleep | switch | 睡眠模式 |
| Turbo | switch | 強力模式 |
| Horizontal swing | switch | 左右擺風 |
| Room temperature | sensor | 室內溫度 |
| Error | sensor(診斷) | 冷氣回報的錯誤代碼,正常時為 none |
控制器離線時,這些項目會顯示為「無法使用」。
沒有出現在 Home Assistant 時
- 開啟狀態頁,確認「連線狀態」顯示「已連線」。若顯示「未連線」,請檢查 MQTT 伺服器位址與帳號密碼。
- 確認狀態頁「Home Assistant」的自動探索為「開啟」,且「MQTT Discovery 前綴」為
homeassistant,與 Home Assistant MQTT 整合的設定相同(Home Assistant 預設即為homeassistant)。 - 重新啟動 Home Assistant 後,控制器會自動重新通報,不需要重新設定。
進階:MQTT 主題
設定好的控制器使用以下主題,xxxxxx 為 6 碼裝置代號(小寫):
| 主題 | 用途 |
|---|---|
nhiot/xxxxxx/state | 狀態 JSON(保留訊息) |
nhiot/xxxxxx/avail | 上線狀態 |
nhiot/xxxxxx/cmd | 傳送指令 |
nhiot/xxxxxx/cmd/res | 指令結果 |
指令範例(設定 26 °C):
{"id":"1","method":"setTemp","params":{"value":26}}
用 Home Assistant 接 Apple「家庭」
已經使用 Home Assistant 時,也可以用 Home Assistant 的 HomeKit Bridge 整合把冷氣加入 Apple「家庭」。或者直接使用控制器內建的 HomeKit,請見 Apple「家庭」。兩種方式擇一即可,不要同時使用,否則「家庭」App 中會出現兩台相同的冷氣。