Home Assistant 讓你可以在手機上控制家中所有設備,但是在預設的狀況下只能在家中和 HA 使用同一個 WiFi 網路時可以操作。
如果想要不在家也能遠端控制 Home Assistant 最省事的選擇就是訂閱 Home Assistant Cloud 服務,每年 US$65 或每月 US$6.5,當作贊助 Home Assistant 團隊,那客家一點的選擇就是自己搞定內網穿透啦。
我自己是訂閱 Home Assistant Cloud 已經 4 年了,突然想要客一點,今天就帶你來使用 Cloudflare tunnel 做內網穿透遠端控制 Home Assistant!
Step 0. 購買網域 (Domain)
在任何地方購買網域都可以,我自己是直接在 Cloudflare 買,你也可以找其他方式,只要弄到一個網域就好。
登入 https://dash.cloudflare.com/ 後在左側選單選擇 "網域 > 購買",買一個自己看得順眼的 domain,便宜的一年大概 US$10 左右,比起 Home Assistant Cloud 便宜不少。

Step 1. 在 HA 安裝 Cloudflared 應用程式
「HA > 設定 > 應用程式」點擊右下方「安裝應用程式」。

找到 "Cloudflared" 並且安裝。

Step 2. 設定 Cloudflared
- 打開 "Cloudflared" 並且切換到「設定」分頁。
- 在 External Home Assistant Hostname 輸入你想要設定的網址,通常會用 subdomain (當然你想要奢華一點直接用 domain 也是可以)。
- 點擊「儲存」。

Step 3. 啟動並登入驗證 Cloudflare
- 同樣在 "Cloudflared" 切換到「資訊」分頁。
- 打開 Watchdog 這樣當機的時候 Cloudflared 才會自動重啟。
- 點擊「啟動」

- 切換到「日誌」。
- 在 log 末端你會看到一串網址,打開這個網址。

- 登入 Cloudflare。
- 在 Domain list 選擇你要使用的 domain,點擊「授權」。


到這裡你就成功啦!已經可以使用在 Step 2. 設定的網址進入 Home Assistant 啦!
如果想要使用自訂網域把 Home Assistant 接入 Google Home 來做語音控制,可以接著看這篇:


Discussion