Home Assistantを外からVPNなしで|Cloudflare Tunnel

太陽光・EV充電

 

当ブログではアフィリエイト・Google AdSenseによる広告を掲載しています

うちはラズパイのHome Assistantで、EV充電やエコキュート、全館空調を動かしています。

MatterでAlexaとGoogle Homeにつないでから、エアコンくらいならVPNなしで操作できるようになりました。ただ、自作のパネルやグラフを見るときは、VPNでつないでいました。

Home AssistantをMatter連携|VPNなしで外から操作
Home AssistantをMatterでAlexaとGoogle Homeにつなぎ、VPNなしで外から全館空調を操作できました。発電は100Wを1度として声で聞く工夫と、充電が止まった失敗も書きました。

今回はHome AssistantのアプリをVPNなしで外から開けるように、Cloudflare Tunnelでつないだので紹介します。最初に試したTailscale Funnelは遅くてやめました。かかった費用はドメイン代で、1年目の支払いは960円でした。

スポンサーリンク

VPNなしで外からHome Assistantにつなぐ方法

Claude Codeに聞くと、候補はこの3つでした。どれもネットワークのポートを開ける必要はないそうです。

方法費用必要なもの
Nabu Casa(公式)月6.50ドルまたは年65ドル(税別)Home Assistantの画面で有効にする
Cloudflare Tunnel無料、ドメイン代は別自分のドメインとアドオン
Tailscale Funnel無料Tailscaleの管理画面の設定

Nabu Casaの料金は2026年11月5日に公式サイトで見たものです。円の価格は見当たりませんでした。12月2日からは、サービス名がHome Assistant CloudからHome Assistant Linkに変わるそうです。

最初はCloudflare Tunnelにするつもりでしたが、ドメインにお金がかかると言うのは避けていました。VPNでTailscaleをすでに使っていたので、Funnelなら無料でいけそうだと思って、そちらから試しました。

Tailscale Funnelは遅くてやめた

Funnelは、VPNに入っていないスマホからも開ける公開用のURLを作る機能です。Tailscaleの管理画面でHTTPSとFunnelを許可して、アドオンの設定を切り替えるだけです。

一度、HTTPSを有効にする前に切り替えてしまい、Tailscaleのアドオンごと止まりました。

アプリのURLを公開用に変えると、VPNを切った外出先からつながりました。ただ、アプリを開いてからの反応が遅くて、タイムアウトも出ます。

Claude Codeに自宅のMacから13KBのファイルを取得して測ってもらうと、気のせいではありませんでした。

経路取得完了まで
家の中で直接約0.01秒
Tailscale Funnel3.2〜9.3秒
Cloudflare Tunnel0.05〜0.14秒

Funnelは10回の測定です。Cloudflare Tunnelはあとでつなぎ終わったときに10回測った数字で、ここだけ先に載せています。どちらも自宅のMacからで、外の回線では測っていません。

切り替える前に、Claude CodeがCloudflareの一時的なURLで試してくれて、同じ条件で0.08〜0.27秒でした。これを見て、ドメイン代を払うことにしました。

その便利さで1年で1000円以内と言うのは安いもんです。

Cloudflare Tunnelでつなぐ手順

Cloudflareでドメインを買う

ドメインは年額払いで、後ろの種類によって値段が全然違いました。年5ドルくらいのものから候補をいくつか出して、どれがいいかClaude Codeに相談しました。

種類初年度更新
.trade5.18ドル65ドル
.win4.18ドル5.18ドル
.fyi確認せず15ドル
.co.uk5.30ドル5.30ドル

2026年11月3日にCloudflareの画面で見た金額で、税は入っていないようです。.tradeは初年度が安くても、更新が65ドルでした。買うときは更新料まで見たほうがいいです。

Claude Codeによると、.winや.tradeのようなスパムに使われやすい種類は、会社やホテルのネットワークで遮断されることがあるそうです。.co.ukはイギリスの企業や個人に広く使われていて、その心配が少ないようなので、一番安定して良さそうなこれにしました。

名前に自宅と分かる言葉を入れるのもやめました。公開の記録に残るそうです。この記事でもドメイン名は隠しています。

有料ですが年間1000円以下なので、これでかなり便利になるなら価値があると思います。

.ukは日本に住む個人でも買えました。登録者タイプは「Non-UK Individual」を選び、本名と住所を正しく入力します。赤枠のところが年額と登録者タイプです。

Cloudflareのドメイン登録画面。登録期間1年、自動更新オン、年額5.30ドル、登録者タイプNon-UK Individualを赤枠で囲み、ドメイン名と登録者情報はモザイクで隠している

住所が公開されないか気になったので、取得後にイギリスのレジストリのWHOISで調べてみました。私のドメインでは氏名も住所も出ていませんでした。

合わなかったときのことを考えて1年にしました。更新が切れると外からつながらなくなるので、自動更新はオンです。

確認画面は赤枠のとおり、WHOISプライバシーが含まれて5.30ドルでした。ただ、実際の支払いは5.83ドルで、カードの引き落としは960円でした。差額は税だと思いますが、内訳までは見ていません。

注文の最終確認画面。WHOISプライバシーの行と本日期限5.30ドルの行を赤枠で囲んでいる
ドメインが取得中ですと表示された画面

すぐに取得できました。

ドメインの取得が完了しましたと表示された画面

Cloudflaredのアドオンを入れて承認する

Tunnelの本体は、ラズパイのHome Assistantのアドオンで動かします。Cloudflaredというコミュニティ製のアドオンです。

インストールから中継の設定、再起動までClaude Codeに任せて、私は承認だけです。

ログに出たURLを開いてドメインを選び、赤枠の「承認」を押します。

Cloudflareの画面。ドメインのTunnelを許可しますという確認が出て、承認ボタンを赤枠で囲み、ドメイン名とアカウント名はモザイクで隠している

赤枠のとおり、成功の画面が出ました。あとはアドオンがTunnelとDNSを作ってくれて、すぐに開通しました。

Cloudflaredが証明書をインストールしました、Cloudflare Tunnelを開始できますと表示された成功画面。メッセージを赤枠で囲んでいる

アプリは「コンパニオンアプリ」の「Home AssistantのURL」を新しいURLに書き換えるだけです。

日本以外からのアクセスをブロックする

URLが分かれば、ログイン画面まではインターネットから届きます。充電もエアコンもカメラも操作できてしまうので、最初にClaude Codeからも注意されました。

Funnelのときに、管理者アカウントの2段階認証は設定済みです。これは外に公開する前に必ずやっておいたほうがいいと思います。

Claude Codeからは、Cloudflareのメール認証を手前に置く案も出ました。ただ、アプリの通信が止まる可能性が高いそうなので、日本以外をブロックするルールにしました。Cloudflareの無料の範囲で作れます。

ルールはClaude Codeに入れてもらうので、MacのCloudflare CLI(cf)にサインインしました。赤枠の「Authorize」を押します。

The Cloudflare CLI wants to access your accountと表示された承認画面。Authorizeボタンを赤枠で囲み、メールアドレスとアカウント名はモザイクで隠している
You're signed inと表示されたサインイン完了画面

海外旅行のときはルールを無効にする必要があります。海外から実際にブロックされるかは、まだ試せていません。

外出先からVPNなしで開いてみた

実際に外出先のスマホで開いてみました。赤枠の5Gの表示で、Wi-Fiにはつながっていません。

スマホのステータスバー。5Gの表示を赤枠で囲んでいて、Wi-Fiのアイコンはない

ホーム画面は、VPNを切った状態でも快適に開きます。赤枠の電力の流れも、家の中と同じように見られます。

Home Assistantアプリのホーム画面。太陽光、EV、エコキュート、買電の電力の流れを赤枠で囲んでいる

充電の設定と、赤枠のモデルYLの状態です。

Home AssistantアプリのEV充電のタブ。自動モードや上限の電流、赤枠で囲んだモデルYLのバッテリー30%などが並んでいる

自作の全館空調のパネルも、VPNなしで開けるようになりました。赤枠のところで階ごとの運転を見られます。

Home Assistantで全館空調の操作パネルと暖房スケジュールを作った
Home Assistantで全館空調をスマホ操作。複数の変更を1回で送る自作パネルをClaude Codeに作ってもらい、電気代と太陽光に合わせた暖房スケジュールも設定しました。
全館空調の操作パネル。1F、2F、床の運転状態と設定温度を赤枠で囲んでいる

赤枠の日付のとおり、当日のグラフも見られます。

当日の電力グラフ。赤枠で囲んだ日付は2026年11月5日で、昼の発電と夜の買電の推移が表示されている

カメラの映像も外から映りました。Claude Codeによると、Cloudflareの規約で大量の映像配信は制限されることがあるそうなので、長時間流しっぱなしにするのは避けたほうがよさそうです。

まとめ

Home AssistantをCloudflare Tunnelでつないで、VPNなしで外から普段どおりアプリを使えるようになりました。無料のTailscale Funnelでもつながりましたが、うちでは遅くて使えませんでした。

費用はドメイン代で、1年目の支払いは5.83ドル、カードの引き落としは960円でした。Nabu Casaの月6.50ドルと比べると、かなり安く済んでいます。VPNにつながなくても開けるので、私にはその価値がありました。

Tailscaleの経路は予備に残しています。

設定はほとんどClaude Codeに任せました。

これだけ快適に家の外からもつながるなら、家のネットにつながっている他の機器も全部Home Assistantに統合して、このアプリ1つで管理できそうだと思いました。またこれからいろいろやっていこうと思います。

Home Assistantを動かしているラズパイの話はこちらです。

プログラミングできないけどラズパイを買った|自宅充電自動化②
実証事業が終わった翌日、Raspberry Pi 4のスターターセットを20,515円で購入。遠隔制御で困ったことと、ラズパイとHome Assistantで太陽光の余りや契約容量に合わせてEV充電を自動化する計画をまとめました。
タイトルとURLをコピーしました