玩智慧家庭,除了使用廠商提供的成熟方案(如米家),還有一種自己手動搭建的方案較為流行的就是 Home Assistant
Home Assistant 的安裝方法大致有兩種,一種是官方推薦的 HassOS,另一種是 HassIO
其實這兩種都是官方提供的安裝方式,只是安裝方式略有不同。HassOS 是一個官方配置好的鏡像,什麼依賴都不用配置,寫入磁盤就能直接運行,別看牠是以鏡像方式安裝,裡面還是有不少坑。而 HassIO 則是以 docker 容器的方式安裝,別看是 docker,需要手動配置的東西一點都不少,而且到處都是坑。
以前 HassIO 一鍵腳本還在維護的時候,HassIO 安裝起來還算漸,但目前已經被廢棄無法使用了,嘗試過手動安裝結果掉坑裡爬不出來了,繼而轉投 HassOS。
# 下載 HassOS 鏡像
HassOS 鏡像的下載地址官網有提供,同時也可以自行去官方的 HassOS GitHub 倉庫 下載,選擇
haos_generic-x86-64的 img 鏡像或是haos_ova的虛擬機鏡像都可以,因為在 PVE 上可以使用命令進行轉換。這裡選擇名稱為haos_generic-x86-64後綴為img.xz的 x86 通用鏡像下載。![01]()
下載完成後解壓得到
.img文件,存放到本地備用
# PVE 創建虛擬機
- 登錄 PVE 管理頁面,選擇右上角的
建立VM,並根據向導填寫相關配置資訊![02]()
一般:
選擇好 節點 、 VM ID 並填寫 名稱 ,這裡需要記下 VM ID 的值,後續會用到
作業系統:
選擇 不要使用任何媒體
系統:
保持默認
磁盤:
磁盤大小調整為 1GiB ,這裡只是創建需要,後續還需要刪除所以不用給很大
CPU:
核心數根據需求進行調整,這裡給兩個核心(其實一個都已經夠了)
記憶體:
初始化的時候需要消耗不少資源,可以先給大一點(這裡給 2048MiB),當配置完成後,可以將記憶體降低到 1024MiB
網路:橋接 這裡一般保持默認即可,除非機器有多個網卡才需要進行調整, 型號 建議選擇 Intel E1000 ,選擇 VirtIO (半虛擬化) 可能會出現無法識別網路卡的問題
確認:
確認所有信息無誤後點擊 完成
# 修改虛擬機硬體
在 PVE 管理界面左側點選剛剛建立的虛擬機,在點選該虛擬機的
硬體選項![11]()
CD/DVD 裝置,由於用不到,可以選擇移除
![12]()
選擇剛剛創建的 1GiB 的硬碟,點選
中斷連結![13]()
中斷連結後,磁盤會變為
未使用的磁碟,選擇該未使用的磁碟並點選移除![14]()
點選
BISO, 將其更改為 OVMF(UEFI)並保存![15]()
# 上傳鏡像
# 方法 1
使用支援 sftp 的軟體登錄 PVE(這裡使用 WinSCP)
用戶名和密碼就是登錄 PVE 管理頁面的用戶名和密碼
將鏡像上傳至 /var/lib/vz/images 路徑
# 方法 2
當然也可以將鏡像傳到 USB 隨身碟上,使用 mount 命令掛載進系統
- 先創建一個用於掛載 USB 隨身碟的路徑,在
/mnt下創建一個名為usb的資料夾
mkdir /mnt/usb |
- 使用
mount命令掛載進系統
mount /dev/sdb /mnt/usb |
/dev/sdb : USB 隨身碟路徑/mnt/usb : USB 隨身碟掛載到系統的路徑
使用完成後,可以使用 umount 移除使用完成的 USB 隨身碟
umount /mnt/usb
# 使用鏡像
回到 PVE 的管理頁面,點擇 PVE 節點後並點選右側的
命令列![17]()
在命令列中執行以下命令
qm importdisk 101 /var/lib/vz/images/haos_generic-x86-64.img local-lvm |
101 : 剛剛創建虛擬機時選擇的 VM ID ,根據自己的設置進行修改/var/lib/vz/images/haos_generic-x86-64.img : 剛剛上傳的鏡像的所在路徑
- 鏡像轉換完成後,會在 HassOS 虛擬機的
硬體菜單中多出一個未使用的磁碟![18]()
雙擊該 未使用的磁碟 ,匯流排 / 裝置選擇 SATA 後點選 增加
之後就可以看到添加好了該磁碟
- 點選左側的
選項,雙擊開機順序,將剛剛添加的 SATA 磁碟勾選並拖動到第一位,再點選完成![21]()
# 啟動 HassOS 虛擬機
- 點選左側的
主控台,再次點選右上角的啟動![22]()
# 修改 HassOS 配置檔案
HassOS 虛擬機啟動等待初始化,直至出現此界面表示啟動完成,但還需要進行一些配置才能夠使用
由於官方在某次版本更新中修改了設置,有可能導致 Home Assistant 頁面無法登錄,因此需要添加反向代理配置
首先需要在此頁面輸入 login 才能執行命令(很難理解官方是怎麼想出這種神奇操作)
其次需要找到 configuration.yaml 檔案所在的目錄,一般在 /mnt/data/supervisor/homeassistant/configuration.yaml
如果找不到,可以執行全盤查找命令,查找出來的結果只有幾個,很容易就能排查出來
find / -name configuration.yaml -print |

- 編輯
configuration.yaml檔案
vi /mnt/data/supervisor/homeassistant/configuration.yaml |
- 在
- platform: google_translate下插入下列參數
http: | |
use_x_forwarded_for: true | |
trusted_proxies: | |
- 172.30.30.0/24 |
- 172.30.30.0/24 : HassOS 虛擬機所在局域網的 IP 段
按
ESC鍵輸入:wq回車保存並退出重啟 HassOS 虛擬機
# 進入 Home Assistant 管理頁面
在進行此步驟時,最好關閉廣告攔截軟體(如:AdGuard),並使用瀏覽器隱私模式打開
待重啟完成重新出現此頁面,就可以使用瀏覽器輸入
http://IP:8123或http://homeassistant.local:8123進入管理頁面![26]()
之後一路根據頁面向導填寫資訊即可,如果有備份則點左下角的還原備份
![27]()












