玩智慧家庭,除了使用廠商提供的成熟方案(如米家),還有一種自己手動搭建的方案較為流行的就是 Home Assistant
Home Assistant 的安裝方法大致有兩種,一種是官方推薦的 HassOS,另一種是 HassIO
其實這兩種都是官方提供的安裝方式,只是安裝方式略有不同。HassOS 是一個官方配置好的鏡像,什麼依賴都不用配置,寫入磁盤就能直接運行,別看牠是以鏡像方式安裝,裡面還是有不少坑。而 HassIO 則是以 docker 容器的方式安裝,別看是 docker,需要手動配置的東西一點都不少,而且到處都是坑。
以前 HassIO 一鍵腳本還在維護的時候,HassIO 安裝起來還算漸,但目前已經被廢棄無法使用了,嘗試過手動安裝結果掉坑裡爬不出來了,繼而轉投 HassOS。


# 下載 HassOS 鏡像

  1. HassOS 鏡像的下載地址官網有提供,同時也可以自行去官方的 HassOS GitHub 倉庫 下載,選擇 haos_generic-x86-64 的 img 鏡像或是 haos_ova 的虛擬機鏡像都可以,因為在 PVE 上可以使用命令進行轉換。這裡選擇名稱為 haos_generic-x86-64 後綴為 img.xz 的 x86 通用鏡像下載。
    01

  2. 下載完成後解壓得到 .img 文件,存放到本地備用

# PVE 創建虛擬機

  1. 登錄 PVE 管理頁面,選擇右上角的 建立VM ,並根據向導填寫相關配置資訊
    02

一般:
選擇好 節點VM ID 並填寫 名稱 ,這裡需要記下 VM ID 的值,後續會用到
03

作業系統:
選擇 不要使用任何媒體
04

系統:
保持默認
05

磁盤:
磁盤大小調整為 1GiB ,這裡只是創建需要,後續還需要刪除所以不用給很大
06

CPU:
核心數根據需求進行調整,這裡給兩個核心(其實一個都已經夠了)
07

記憶體:
初始化的時候需要消耗不少資源,可以先給大一點(這裡給 2048MiB),當配置完成後,可以將記憶體降低到 1024MiB
08

網路:
橋接 這裡一般保持默認即可,除非機器有多個網卡才需要進行調整, 型號 建議選擇 Intel E1000 ,選擇 VirtIO (半虛擬化) 可能會出現無法識別網路卡的問題
09

確認:
確認所有信息無誤後點擊 完成
10

# 修改虛擬機硬體

  1. 在 PVE 管理界面左側點選剛剛建立的虛擬機,在點選該虛擬機的 硬體 選項
    11

  2. CD/DVD 裝置,由於用不到,可以選擇移除
    12

  3. 選擇剛剛創建的 1GiB 的硬碟,點選 中斷連結
    13

  4. 中斷連結後,磁盤會變為 未使用的磁碟 ,選擇該 未使用的磁碟 並點選移除
    14

  5. 點選 BISO , 將其更改為 OVMF(UEFI)並保存
    15

# 上傳鏡像

# 方法 1

使用支援 sftp 的軟體登錄 PVE(這裡使用 WinSCP)
用戶名和密碼就是登錄 PVE 管理頁面的用戶名和密碼
將鏡像上傳至 /var/lib/vz/images 路徑
16

# 方法 2

當然也可以將鏡像傳到 USB 隨身碟上,使用 mount 命令掛載進系統

  1. 先創建一個用於掛載 USB 隨身碟的路徑,在 /mnt 下創建一個名為 usb 的資料夾
mkdir /mnt/usb
  1. 使用 mount 命令掛載進系統
mount /dev/sdb /mnt/usb

/dev/sdb : USB 隨身碟路徑
/mnt/usb : USB 隨身碟掛載到系統的路徑

使用完成後,可以使用 umount 移除使用完成的 USB 隨身碟

umount /mnt/usb

# 使用鏡像

  1. 回到 PVE 的管理頁面,點擇 PVE 節點後並點選右側的 命令列
    17

  2. 在命令列中執行以下命令

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 : 剛剛上傳的鏡像的所在路徑

  1. 鏡像轉換完成後,會在 HassOS 虛擬機的 硬體 菜單中多出一個 未使用的磁碟
    18

雙擊該 未使用的磁碟 ,匯流排 / 裝置選擇 SATA 後點選 增加
19

之後就可以看到添加好了該磁碟
20

  1. 點選左側的 選項 ,雙擊 開機順序 ,將剛剛添加的 SATA 磁碟勾選並拖動到第一位,再點選完成
    21

# 啟動 HassOS 虛擬機

  1. 點選左側的 主控台 ,再次點選右上角的 啟動
    22

# 修改 HassOS 配置檔案

HassOS 虛擬機啟動等待初始化,直至出現此界面表示啟動完成,但還需要進行一些配置才能夠使用
23

由於官方在某次版本更新中修改了設置,有可能導致 Home Assistant 頁面無法登錄,因此需要添加反向代理配置
首先需要在此頁面輸入 login 才能執行命令(很難理解官方是怎麼想出這種神奇操作)

其次需要找到 configuration.yaml 檔案所在的目錄,一般在 /mnt/data/supervisor/homeassistant/configuration.yaml

如果找不到,可以執行全盤查找命令,查找出來的結果只有幾個,很容易就能排查出來

find / -name configuration.yaml -print

24

  1. 編輯 configuration.yaml 檔案
vi /mnt/data/supervisor/homeassistant/configuration.yaml
  1. - platform: google_translate 下插入下列參數
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.30.0/24

- 172.30.30.0/24 : HassOS 虛擬機所在局域網的 IP 段
25

  1. ESC 鍵輸入 :wq 回車保存並退出

  2. 重啟 HassOS 虛擬機

# 進入 Home Assistant 管理頁面

在進行此步驟時,最好關閉廣告攔截軟體(如:AdGuard),並使用瀏覽器隱私模式打開

  1. 待重啟完成重新出現此頁面,就可以使用瀏覽器輸入 http://IP:8123http://homeassistant.local:8123 進入管理頁面
    26

  2. 之後一路根據頁面向導填寫資訊即可,如果有備份則點左下角的還原備份
    27

更新於

閣下的好意本人心領了,但本人不接受任何形式的捐贈,如果依然想捐贈,那就請捐贈給那些讓世界變得更美好的非營利組織吧

鹽 聯合國系統及其機構

聯合國系統及其機構

鹽 紅十字國際委員會

紅十字國際委員會

鹽 sci-hub

sci-hub