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

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

Step 3. 啟動並登入驗證 Cloudflare

  1. 同樣在 "Cloudflared" 切換到「資訊」分頁。
  2. 打開 Watchdog 這樣當機的時候 Cloudflared 才會自動重啟。
  3. 點擊「啟動」
  1. 切換到「日誌」。
  2. 在 log 末端你會看到一串網址,打開這個網址。
  1. 登入 Cloudflare。
  2. 在 Domain list 選擇你要使用的 domain,點擊「授權」。

到這裡你就成功啦!已經可以使用在 Step 2. 設定的網址進入 Home Assistant 啦!


如果想要使用自訂網域把 Home Assistant 接入 Google Home 來做語音控制,可以接著看這篇:

Home Assistant 接入 Google Home (非透過 Nabu Casa)
不想花錢訂閱 Nabu Casa,一樣可以讓 Home Assistant 接上 Google Home!本文帶你一步步完成設定,從建立 Google 專案到 HA 設定檔,照著做就能用語音控制家裡的裝置。