Home Assistant(HA)への Tesla の統合は非常に人気のある機能ですが、Tesla の公式 API は頻繁に変更されるため(特に 2024 年に Fleet API とより厳格な認証機構が導入されて以降)、公式の Tesla 統合は正常に動作しないことがよくあります。
現在もっとも安定しており機能も最も充実した方法は、HACS(Home Assistant Community Store)を使ってサードパーティ製の Tesla Custom Integration をインストールすることです。
以下は 2024/2025 年時点で最新の詳細なチュートリアルです。
事前準備
- Home Assistant がインストールされ、正常に動作していること。
- HACS(統合ストア)がインストールされていること。
- HACS をまだインストールしていない場合は、まず「Home Assistant HACS インストール」のチュートリアルを検索してください。HA を使う上で必須のツールです。
Tesla アカウント(メールアドレスとパスワード)。
Token を取得するツール(後述します。パスワードで直接ログインすることはできません)。
ステップ1:Tesla Custom Integration をインストールする(HACS 経由)
HA 内蔵の「Tesla」統合は使わないでください。おそらく動作しません。ここでは alandtse 氏がメンテナンスしているバージョンを使用します。
- Home Assistant の左側メニューから HACS を開きます。
- Integrations(統合)をクリックします。
- 右下の Explore & Download Repositories(リポジトリを探してダウンロード)をクリックします。
- 検索バーに Tesla と入力します。
- Tesla Custom Integration を見つけます(作者は通常 alandtse などと表示されます。間違えないようにしてください)。
- クリックして開き、右下の Download(ダウンロード)をクリックします。
- ダウンロード完了後、Home Assistant を再起動します(設定 -> システム -> 再起動)。
ステップ2:Refresh Token(リフレッシュトークン)を取得する
Tesla は複雑な検証(MFA/確認コード)を有効にしているため、HA に直接アカウントとパスワードを入力しても通常は失敗します。まず外部で Refresh Token を生成する必要があります。
Token を安全に取得するには、以下のサードパーティ製アプリの使用を推奨します(これらは Tesla API トークンの生成専用アプリです):
- Android ユーザー:Tesla Tokens をダウンロード(Play Store または GitHub で検索)。
- iOS / macOS ユーザー:Auth for Tesla をダウンロード(App Store で検索)。
- 汎用 Web 版(アプリが不安な場合):オープンソースの Token 生成スクリプトも利用できますが、現在はアプリがもっとも便利です。
操作手順:
- 上記のアプリを開きます。
- Tesla アカウントでログインします。
- ログインに成功すると、アプリが文字列を生成します。
- Refresh Token(リフレッシュトークン)を見つけてコピーします。
- 注意:Token は非常に長い文字列です。必ず最後までコピーしてください。
ステップ3:Home Assistant で統合を設定する
- HA の再起動が完了していることを確認します。
- 左側メニューの 設定(Settings)-> デバイスとサービス(Devices & Services)をクリックします。
- 右下の 統合を追加(Add Integration)をクリックします。
- Tesla Custom Integration を検索します(注意:”Tesla” と表示される場合があり、アイコンは通常赤い T です。先ほど HACS でインストールしたものであることを必ず確認してください。リストに Tesla が 2 つある場合は、通常「Custom」の表示があるもの、または上に表示されているものを選びます。1 つしかない場合はそのままクリックしてください)。
- 表示された設定ウィンドウで:
- Email:Tesla アカウントのメールアドレスを入力します。
- Refresh Token:ステップ2で取得した長い文字列を貼り付けます。
- Access Token(任意):通常は入力不要です。空欄のままで構いません。
- URL Proxy(任意):自前の Fleet API プロキシがない場合は空欄にします。
送信(Submit)をクリックします。
すべてうまくいけば、HA が Tesla サーバーに接続し、車両をどの「地域」に配置するかを選択するよう求められます。完了すると、新しいデバイス(あなたの車の名前)が表示されます。
ステップ4:機能の確認とエンティティの紹介
設定が成功したら、「デバイスとサービス」で Tesla を見つけ、「デバイス」を開くと、数十個のエンティティが表示されます。
よく使うエンティティは次のとおりです:
- Binary Sensor(バイナリセンサー):
- binary_sensor.tesla_online:車がオンラインかどうか(起きている状態)。
- binary_sensor.tesla_charging:充電中かどうか。
- binary_sensor.tesla_parking_brake:パーキングブレーキの状態。
Sensor(センサー):
- sensor.tesla_battery_level:バッテリー残量のパーセント。
- sensor.tesla_range:残りの航続距離。
- sensor.tesla_charging_rate:充電速度。
- sensor.tesla_location:車両の位置(地図での追跡に使用)。
- sensor.tesla_inside_temperature:車内温度。
Switch(スイッチ – 操作可能):
- switch.tesla_charger:充電の開始/停止。
- switch.tesla_sentry_mode:セントリーモードのスイッチ。
- switch.tesla_heated_steering_wheel:ステアリングヒーター。
Lock(ロック):
- lock.tesla_door_lock:ドアロックの制御。
Climate(空調):
- climate.tesla_hvac_climate_system:空調のオン/オフ、温度設定。
ステップ5:重要な設定 – 車の「不眠」を防ぐ(電力消費問題)
これがもっとも重要なステップです!設定を誤ると、HA が常に車両の状態を問い合わせ続け、車がスリープできなくなり、深刻なバンパイアドレイン(吸血鬼放電)を引き起こします。
- Tesla 統合のページで自分のデバイスをクリックし、設定(Configure)ボタンを見つけます(または統合一覧ページで「オプション」をクリックします)。
- Enable Polling(ポーリングを有効化):
- デフォルトでは、この統合はスマートポーリングを試みます。
- Active polling(アクティブポーリング)のオプションにある設定をチェックすることをおすすめしますが、慎重に行ってください。
強く推奨する設定:
- Polling Policy(ポーリングポリシー):車がスリープしているときに HA が強制的に起こさないようにしてください。
- 通常、統合が自動的に処理します:binary_sensor.tesla_online が Off になると、HA は指示の送信を停止し、あなたが手動でスイッチ(空調のオンなど)を操作するか、車が自ら起きる(ドアを開けるなど)まで待ちます。
- 統合のオプションで Wake Up ポリシーを設定できます。HA でいつでも車を操作する必要がない場合は、「自動起動」をオフにすることをおすすめします。
ベストプラクティス:
- 毎分バッテリーを確認する自動化を設定しないでください。
- HA の button.tesla_wake_up エンティティを活用します。車を操作する必要がある場合(例:朝8時に空調を入れる自動化)、「空調をオン」サービスを呼び出す前に「車を起動」サービスを呼び出し、数秒待ってから指示を送ります。
応用:自動化の作り方(例)
シナリオ:太陽光パネルの余剰電力が出たときに自動充電する、または深夜の安い電力量単価で充電する。
- トリガー条件:時刻が午後10:00(安い電力量単価の開始)。
- 環境条件:車が自宅にある(device_tracker.tesla_location が Home ゾーン内)かつ 充電ケーブルが接続されている(binary_sensor.tesla_charger_sensor が Connected)。
- アクション:
- サービスを呼び出す:switch.turn_on -> ターゲット:switch.tesla_charger。
シナリオ:夏に出かける前に自動で車内を冷やす。
- トリガー条件:スマホのアラームが止まる(Android の場合)または 時刻が午前8:00 に達する。
- アクション:
- サービスを呼び出す:climate.set_temperature -> ターゲット:Tesla 空調 -> 温度:22度。
- サービスを呼び出す:climate.set_hvac_mode -> モード:Heat/Cool。
よくある問題とトラブルシューティング
- 401 / 403 エラー(Authentication Failed):
- Refresh Token が期限切れです。アプリで新しい Token を生成し直し、HA の統合ページで「再設定」をクリックして新しい Token を入力してください。
車がいつまでもスリープしない:
- 他のサードパーティ製アプリ(TeslaFi、Tessie など)も頻繁にアクセスしていないか確認してください。
- HA の統合オプションで「Wake up on start」(起動時に起動)をオフにしてください。
操作の遅延:
- これは正常です。車がスリープ状態の場合、指示を送るにはまず車を起動する必要があり(約15〜30秒)、その後で操作が実行されます。
API 制限(Fleet API):
- Tesla は現在 API 呼び出し回数に制限を設けています。まったく操作できない場合は、その日の呼び出し回数が上限を超えた可能性があります。1日休めば通常は自動的に回復します。
このチュートリアルが Tesla の Home Assistant への統合に役立てば幸いです!
投稿者紹介 — 莱特智能(Laite)は2010年設立、スマートホームのトータルソリューションを専門としています。Now ALL IN HA。