
Teslaが従来のオーナーAPIを廃止して以降、Home Assistant から車を操作するには、Client ID、Client Secret、そして署名付きコマンドプロキシを備えた、あなた自身のTesla Fleet APIアプリケーションが必要になりました。以前はこれに何時間ものセットアップが必要でした。MyTeslaMateなら、コード不要でわずか2ステップで動かせます:
- ステップ1 — 独自のTesla APIを作成する(Client IDとSecret)
- ステップ2 — Home Assistantに接続する
なぜ独自のTesla Fleet APIが必要なのか
2023年後半、Teslaは古い連携が依存していた従来の オーナーAPI を停止しました。今日Teslaと通信するすべてのアプリは Tesla Fleet API を使わなければならず、Teslaは各コマンドが、独自の公開鍵をホスティングする登録済みアプリケーションによって 暗号署名 されることを求めています。実際には、次の3つが必要になります:
- 登録済みのTesla開発者アプリケーションから発行される Client ID と Client Secret。
- あなた自身のドメイン上の固定URLで公開される 公開鍵。
- Teslaに届く前にすべてのリクエストへ署名する コマンドプロキシ。
これらすべてをご自身で運用することも可能ですが、手間がかかります。MyTeslaMateが公開鍵をホスティングし、コマンドに署名し、リクエストをプロキシします——ですのでHome Assistantに必要なのは、Client ID、Client Secret、そしてあなたの個人用サブドメインだけです。
1. 独自のTesla APIを作成する
まずTesla APIアプリケーションを作成する必要があります。公開鍵のホスティング、コマンドの署名、Teslaへのリクエストのプロキシといった難しい部分はMyTeslaMateが引き受けるので、これらをご自身で運用する必要はありません。
ガイドに従ってTesla APIを1分で登録し、その後 Tesla APIページ でHome Assistantのセットアップを開いてください。

お疲れさまでした——Home AssistantでTesla APIを使う準備が整いました。
2. Home Assistantでの独自のTesla API
約1分で、Home Assistant から直接Teslaを監視・操作できるようになります:
- 公式の Tesla Fleet連携 を追加し(設定 > デバイスとサービス > 統合を追加 > Tesla > Tesla Fleet へ進みます)、前のステップの Client ID と Client Secret を貼り付けます。

- Teslaでサインインした後、次の形式で個人用サブドメインを入力します:
app-xxxxx.myteslamate.com

- これでHome Assistantで車両を確認できるようになります。

- コマンド(施錠、空調、充電など)を送信するには、次の操作が必要です:
- MyTeslaMateから APIを車両にインストール し、
- 秘密鍵をダウンロードしてHome Assistantにコピーします。ファイルを次のパスにアップロードしてください:
/config/tesla-fleet.key

素晴らしい——これでHome AssistantがあなたのTesla APIアプリケーションと連携しました! ここから、すべてのTeslaエンティティを自動化、ダッシュボード、スクリプトで利用できます。
Home Assistantから操作できること
Tesla Fleet連携が接続されると、Home Assistantはあなたの車を数十個のエンティティとして公開します。特に便利なものは次のとおりです:
- 充電 — 充電の開始/停止、充電上限の設定、充電電流の調整、充電ポートのドアの開閉。
- 空調 — 空調のオン/オフ、目標温度の設定、車内過熱保護の有効化、シートやステアリングホイールの加熱。
- セキュリティ — ドアの施錠/解錠、Sentryモード の切り替え、ライトの点滅、クラクションの吹鳴。
- 開閉 — 窓の換気/閉鎖、フランクやトランクの開放。
- ライブデータ — バッテリー残量、航続距離、充電状態、車内/車外温度、走行距離計、位置情報(
device_tracker)。
これらはすべて標準的なHome Assistantエンティティなので、ダッシュボードに配置したり、音声アシスタントに公開したり、オートメーションのトリガーやアクションとして利用したりできます。
オートメーションの例
Teslaオーナーが最もよく設定する3つのオートメーションを紹介します。my_tesla はあなたの車両のエンティティスラッグに置き換えてください。
帰宅時に充電上限を80%に設定する:
automation:
- alias: "Tesla – 80% charge limit at home"
trigger:
- platform: zone
entity_id: device_tracker.my_tesla_location
zone: zone.home
event: enter
action:
- service: number.set_value
target:
entity_id: number.my_tesla_charge_limit
data:
value: 80充電が完了したら通知を受け取る:
automation:
- alias: "Tesla – charging complete"
trigger:
- platform: state
entity_id: sensor.my_tesla_charging
to: "Complete"
action:
- service: notify.mobile_app
data:
message: "Your Tesla is fully charged 🔋"朝の通勤の30分前に車内を予熱する:
automation:
- alias: "Tesla – preheat before commute"
trigger:
- platform: time
at: "07:30:00"
condition:
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
action:
- service: climate.turn_on
target:
entity_id: climate.my_tesla_climateトラブルシューティング
よく起こる問題と、その素早い解決方法をいくつか紹介します:
- コマンドが失敗する、またはエンティティが読み取り専用になる。 車両に仮想キーをインストールしていません。MyTeslaMateからAPIを車両にインストールし、その後秘密鍵を
/config/tesla-fleet.keyにコピーして、Home Assistantを再起動してください。 - 「無効なサブドメイン」または接続エラー。 サブドメインは正確に
app-xxxxx.myteslamate.comである必要があります(app-プレフィックス付きで、https://は付けません)。 - エンティティが 利用不可 と表示される。 車がスリープ中です。Teslaは車両が起きているときにしか最新データを報告しません。起動 ボタンは控えめに使ってください。頻繁なポーリングは12Vバッテリーを消耗させ、APIクレジットを消費します。
- 動いていたのに、しばらくして止まった。 Teslaトークンの有効期限が切れています。設定 > デバイスとサービス > Tesla Fleet > 設定 から連携を再認証してください。
よくある質問
Home Assistantを使うのにMyTeslaMateのサブスクリプションは必要ですか?
いいえ。独自のTesla APIを作成し、当社のプロキシ経由でHome Assistantに接続するのは無料です。サブスクリプションは、ホスト型のTeslaMateダッシュボード、バックアップ、サポートを追加するだけのものです。
これはTeslaMateの代わりになりますか?
いいえ——補完的なものです。TeslaMateは履歴を記録して可視化し、Home Assistant連携は車を 操作 してオートメーションを構築できるようにします。多くのオーナーは両方を並行して使っています。
なぜ車に「仮想キー」が必要なのですか?
Teslaはすべてのコマンドに暗号署名を求めています。仮想キー(車両上のあなたのAPI)をインストールすると、MyTeslaMateのプロキシがコマンドに署名する権限を得て、Home Assistantがドアを施錠したり充電を開始したりできるようになります。
Home AssistantはTeslaを起こしたままにしますか?
過度にポーリングした場合のみです。この連携は、車がスリープ中はキャッシュされたデータを読み取り、既定ではスリープを妨げません。数分ごとに車を起こすようなオートメーションは避けてください。
チャットでぜひフィードバックをお寄せください :)
