Intégration Tesla dans Home Assistant 2025.1

Bonjour à tous,

vu que j’ai passé un peu de temps cet après-midi à faire fonctionner l’intégration Tesla suite mise à jour 2025.1 de Home Assistant, je poste ici le résultat de mon expérience car on ne peut pas dire que Tesla nous facilite la tâche sur ce coup là :exploding_head:. J’imagine que c’est pour limiter les abus.

Contexte

Depuis 01/2025 il est nécessaire de créer une application sur le site développeur de Tesla. Un crédit de 10€ mensuel est accordé pour l’utilisation personnelle. (Note : Il n’est pas nécessaire de rentrer une carte de crédit sur le compte développeur.)

Prérequis

Pour ce tuto, vous allez avoir besoin de

Comptes:

1 compte github https://github.com/
1 compte postman https://web.postman.co/
1 compte développeur Tesla https://developer.tesla.com/

Applications :

  • Microsoft VSCode
  • Machine virtuelle linux ou clé USB
Etape 1 : Création des clés open SSL publique et privée

Utiliser une clé USB Linux ou une machine virtuelle (VM) pour pouvoir générer les clés SSL.

Dans mon cas, j’ai utilisé une VM Debian sur ma freebox delta pour générer les clés Open SSL. Je me connecte en SSH depuis VSCODE pour utiliser cette VM.

On génère la clé privée:

openssl ecparam -name prime256v1 -genkey -noout -out private-key.pem

Puis la clé publique:

openssl ec -in private-key.pem -pubout -out public-key.pem

On peut faire un clic droit sur chaque fichier puis Download pour récupérer les deux fichiers.

Renommer le fichier public-key.pem en com.tesla.3p.public-key.pem

Note : si vous êtes bloqués pour récupérer la clé privée exécuter la commande suivante dans le terminal

sudo chmod 644 /home/dossier/private-key.pem

Etape 2 : Créer un repo GitHub et activer GitHub Pages

Créer un repo github nommé .well-known
A la racine créer un répertoire appspecific (note: pour créer un répertoire dans github il faut créer un nouveau fichier et ajouter un / à la fin du nom de fichier)
A la racine créér un fichier .nojekyll
Contenu du fichier .nojekyll

git add .nojekyll
git commit -m "Disable Jekyll for GitHub Pages"
git push

Dans le répertoire appspecific uploader votre fichier com.tesla.3p.public-key.pem

Dans les réglages du repo activer GitHub Pages pour exposer le contenu de votre repo.

Vérifiez que vous accédez bien à votre fichier PEM en tapant l’url lié à votre page

https://pseudo.github.io/.well-known/appspecific/com.tesla.3p.public-key.pem

Etape 3 : Création de l’application sur le compte développeur Tesla

Rendez-vous sur https://developer.tesla.com/

  1. Renseigner le nom, la description et l’utilisation de votre application
  2. URL origine autorisée => le nom de votre page github https://pseudo.github.com
    URL redirection => https://my.home-assistant.io/redirect/oauth

  1. Sélectionner les autorisations nécessaires

sur la page facturation cliquer sur ignorer et soumettre

Voilà vous avez créé votre application.

Récupérez l’ID du client et le secret du client

Etape 4 : Enregistrement du endpoint

Ouvrir Postman https://web.postman.co/

1. Générer un token d’authentification

Créer une nouvelle collection.
Ouvrir l’onglet authorization
Choisir l’authentification de type OAUTH 2.0
Choisir la méthode client credentials
Renseigner l’URL https://fleet-auth.prd.vn.cloud.tesla.com/oauth2/v3/token
Choisir l’option send client credentials in body
Renseignez les client ID et client secret générés lors de la création de votre application Tesla

Cliquer sur le bouton Get New Access Token
Cliquer sur Proceed
Cliquer sur Use Token

2. Enregistrer votre endpoint chez Tesla

Créer une nouvelle requête dans la collection que vous venez de créer :

POST https://fleet-api.prd.eu.vn.cloud.tesla.com/api/1/partner_accounts?domain=pseudo.github.io

Vérifiez que le Auth Type est bien à inherit auth from parent

Appuyez sur Send

Si tout est ok, vous allez avoir un code 200 et dans la réponse les informations liées à votre application Tesla.

Etape 5 : Configuration de l’intégration Home assistant

Cliquer sur https://my.home-assistant.io/redirect/application_credentials/

et ajouter des nouvelles informations d’identification

Intégration Tesla Fleet

Nom => le nom de votre application Tesla

ID client et Secret client => les id et secret récupérés dans l’application Tesla.

Voilà normalement, tout doit rentrer dans l’ordre. :sunglasses:

6 « J'aime »

Merci, super tuto !

Et sinon, au final, ca coute 10€ par mois pour integrer sa tesla à HA?

1 « J'aime »

non Tesla « offre » 10€ de crédit mensuel pour les petites applications.

tu peux voir ta consommation sur le site Tesla | Developer

Merci @Skzf pour cet excellent tuto !
Bon je bloque au niveau de la création du dossier appspecific est-ce possible de détaillé la procédure sur GitHub ?

pour créer un répertoire il faut créer un nouveau fichier :upside_down_face:

dès qu’on ajoute un / à la fin du nom du fichier ça créé un répertoire :grinning:


image

1 « J'aime »

Merci !, cela serait tellement plus facile avec un accès en ssh

Merci pour le tuto, je vais tester ça dès que possible ! :+1:

Si je comprends bien, chaque requète est payante mais on bénéficie de 10€ gratuit par mois. Est ce que tu sais ce qu’il se passe une fois la limite des 10€ atteintes sans carte de crédit ?

Merci encore !

Hello, j’ai pas tout lu mais je me pose une question de fond :
si on a déjà fait tout ce qui est marqué ici : Configuration de l'addon Tesla Http Proxy - #36 par Millenius, il faut recommencer ?

1 « J'aime »

je ne sais pas mais j’imagine que ça va juste s’arrêter de fonctionner jusqu’au 1er jour du mois suivant.

Pour info après 48h j’arrive presque à l’euro de consommation donc je vais pas tenir le mois :smiley: . (avec la voiture en mode sentinelle au boulot pendant environ 10h par jour donc qui ne se met pas en veille et continue d’envoyer de la data).

A ce sujet, je ne sais pas s’il y’a des astuces pour maitriser cette consommation ? (je ne me suis pas encore penché sur le sujet)

Merci beaucoup pour le tuto !

J’étais avec l’intégration Tesla Fleet déjà avant mais depuis le passage en 2025.1 l’authentification ne se faisait plus. J’ai donc pu récupérer la remontée d’info grâce à ce tuto.

Par contre, je pensais peut être pouvoir effectuer les commandes (que je ne pouvais pas déjà faire avant) mais j’ai toujours un « Command failed: Unknown Key ID » quand je veux lancer une commande.

Est-ce que cela veut dire que pour pouvoir réaliser des commandes sur le véhicule, je dois forcement passer par la technique du http proxy ou de mqtt ble ?

1 « J'aime »

Pourquoi ne pas utiliser cette integration gratuite et dans toutes ces contraintes?

Je me réponds à moi même. j’ai eu aucun soucis lors du passage en 2025.1.2 directement.

J’avais déjà suivi le tuto qui est ici avant la maj.

Et du cou, tu arrives à lancer des commandes depuis cette intégration ?

(message supprimé par son auteur)