一、安裝過程#
- Docker 安裝 HomeAssistant
- Git 安裝 HA - 米家集成
- 配置內網穿透實現公網訪問
- 安裝 Hass Panel 面板
- 配置 Apple 家庭 HomeKit Bridge
二、踩雷#
由於我的 docker 是通過 1panel 一鍵安裝的,然後自然 HomeAssistant 也是 1panel 應用商店一鍵安裝,1panel 默認的路徑是 /opt/1panel/apps/home-assistant/home-assistant/data
。
小米官方倉庫中的 README.md 寫的是:
cd config
git clone https://github.com/XiaoMi/ha_xiaomi_home.git
cd ha_xiaomi_home
./install.sh /config
我以為 config
文件夾是指自己在 /opt/1panel/apps/home-assistant/home-assistant/data
文件夾下新建一個 config
,安裝完怎麼都無法顯示 xiaomi_home
,後來看了一篇文章才知道 data
就是文章中所說的 config
文件夾,也就是說如果是通過 1panel 安裝的 HomeAssistant 的話,只需要 cd
到/opt/1panel/apps/home-assistant/home-assistant/data
然後執行安裝就可以,1panel 默認的應用商店安裝真的很多坑,很多容器安裝起來都有這樣那樣的問題,非常麻煩。
解決了這個問題之後就可以成功安裝 HA - 米家集成。
安裝完成之後按照 Github 中的教程按步驟配置登錄就可以了,目前米家中的大部分產品都可以直接導入,除了一些藍牙等連接的設備還不可以。
三、配置公網訪問#
本來我以為這一步驟是最簡單的一步了,結果按照之前的操作在 cloudflare zero trust 面板設置好域名綁定之後訪問居然報錯,然後又折騰了好久,最後在 HA 的社區論壇找到了對應的討論帖,成功解決。
配置過程中遇到的問題:#
-
配置好之後訪問報錯:
400: Bad Request
- 解決方法:修改配置文件
- 一般是需要在 HA 的
configuration.yaml
文件中添加如下代碼:
http: use_x_forwarded_for: true trusted_proxies: - 192.168.31.137/32
其中的
trusted_proxies
欄位下部分要改為自己部署設備的 ip。 -
Recovery mode(恢復模式)
-
https://community.home-assistant.io/t/cloudflare-400-bad-request-error/326047/24
-
有時候當修改完
configuration.yaml
之後重啟 HA 你會發現 HA 會進入 recovery mode。 -
原因在於配置文件格式有問題或者其他原因導致無法加載配置文件,系統進入恢復模式。
-
解決方法:仔細檢查
configuration.yaml
格式,需要注意的一點是trusted_proxies
只能接受 IP 地址或 CIDR 格式的子網掩碼,而不能直接使用域名。當 Home Assistant 嘗試解析這些域名時,會拋出錯誤,導致http
組件啟動失敗。
-
-
連帶問題:依賴
http
的組件無法加載http
是許多核心組件的基礎,包括frontend
(前端界面)、websocket_api
(WebSocket 通信)、zeroconf
(零配置網絡發現)等。- 如果
http
組件未加載,所有依賴它的功能都會失效,從而導致大量錯誤。
四、安裝 Hass panel 面板#
1. 問題彙總:#
-
配置公網訪問後 HA 面板中提示:
the operation is insecure
-
Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
2. 原因:#
這兩個問題或者說這種問題的原因都是類似的,就是首次部署成功之後,初始化填的 http
開頭的本地地址,後續 HA 綁定域名之後在 HA 中訪問 Hasspanel 便會變成 https
跳向 http
,不安全行為會被瀏覽器攔截。
3. 解決方法:#
重新初始化 Hasspanel,填 Url 的時候填寫 https
地址。
五、Apple HomeKit Bridge#
HA 面板 - 設置 - 設備與服務 - 添加集成 - 搜索 “Apple”,然後選擇 “HomeKit Bridge”,一路下一步之後,HA 會有一條消息,點開消息用 iPhone 掃描消息中的二維碼配對添加就可以了,沒什麼難度。
控制中心也是可以添加滴!
不過還是那個問題,目前米家集成還沒有支持的設備也無法添加到 Apple 家庭中去。同時,有些設備比如空氣淨化器其實是有溫濕度傳感器的,在 HA 面板中也是可以檢測到和添加到面板的,但是在 Apple 家庭中無法使用,就只有簡單的空氣淨化器的開關功能,算是遺憾吧。
五、總結#
到這裡 ,HA 的折騰基本上就完成了,
晚上研究東西真的是靈感爆炸,解決問題的能力 upup~,白天總感覺靜不下來,而且很沒有效率。
解決完畢, alexblue
登出!