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。

相关新闻

cloud@haiots.com

QQ
微信