Sommaire
Introduction et généralités
Home assistant ne fournit plus une intégration Tesla en standard, celle-ci nécessitant un outil tiers pour extraire le token de sécurité nécessaire à la connexion à l'API, ce qui ne rentre pas dans les bonnes pratiques acceptées par Nabu Casa.
Il est donc important d'avoir conscience qu'il faudra utiliser un outil tiers fourni par un inconnu sur internet pour récupérer la clé d'accès au contrôle de votre voiture... et sa position.
Pour cet exemple, je vais utiliser une extension chrome qui n'a pas accès à internet... donc personne ne pourra récupérer votre token).
Ceci étant clarifié, cet article va couvrir les éléments suivants :
- Installation et connexion de la voiture.
- Les entités disponibles.
- Une méthode de suivi de la puissance de charge en Watts.
- Trucs et astuces variés.
Installation et configuration
Le pré-requis principal est HACS, car l'add-on que nous allons utiliser y est stocké.
Il s'agit de Tesla Custom Integration par Alan Tse. Pour l'installer, il suffit de suivre une procédure standard comme pour n'importe quelle intégration HACS. Ensuite, redémarrez votre HA.
Second élément nécessaire : extraire le token de reconnexion. Ceci peut se faire le plus simplement par l'extension Chrome : "Access Token Generator for Tesla". Cela s'installe depuis Chrome ou autre navigateur à base de Chrome (paramètres>extension).
Une fois installé, on peut cliquer sur l'extension qui ouvrira la page auth.tesla.com, utilisez votre login et mot de passe Tesla. Une fois connecté, l'écran affiche votre "Refresh token", copiez le et gardez-le dans le bloc-notes. (Attention, il est long.).
Une fois le token récupéré, vous pourrez ajouter votre voiture (ou Wall-charger ou Powerwall). Pour cela rendez-vous dans les intégrations de HA et cliquez sur (+) puis cherchez "Tesla" dans la liste ou utilisez directement le lien ci-dessous :
La boite suivante s'affichera : il suffit d'y renseigner votre adresse e-mail utilisée comme login et le "Refresh Token" récupéré plus haut.
Une fois les informations correctes validées, l'appareil sera ajouté et dans la page des intégrations. Une nouvelle tuile Tesla Custom Intégration sera présente.
Les entités disponibles
Par défaut, pas moins de 55 entités sont disponibles pour une voiture (modèle 3). Je ne sais pas ce qui est disponible pour les Chargeurs ou les Powerwall, la suite sera donc principalement sur les voitures.
Avec une telle quantité d'infos, et plus encore si on s'aventure dans les attributs de certaines entités, il est possible de faire énormément de choses.
Les entités disponibles vont des basiques comme l'état du véhicule (climatisation, batterie, odomètres), la charge (activation, désactivation, puissance, vitesse), les ouvertures (toutes les portes, coffres, trappes), GPS (Position, destination, trajet), sécurité (vidéosurveillance, pression des pneus, serrures)... et j'en oublie.
Dans les sections suivantes, je vais couvrir celles que j'utilise le plus souvent ces trois dernières années.
Suivi de la charge à domicile.
Chose assez intéressante, il est possible de suivre et d'ajouter dans son dashboard énergie la consommation de la voiture, et ce, sans aucun appareil extérieur : pas de pince, pas de compteur, simplement HA.
Est-ce précis ? Plutôt oui. En comparant avec une pince de mesure, c'est à quelques Watts près en plus ou en moins.
C'est assez simple, en visitant les outils de développement, on peut trouver le capteur "sensor.voiture_charger_power" qui donne la puissance de charge instantanée en kW... ce qui pour le coup n'est pas super précis.
MAIS on voit aussi qu'il y a 2 attributs qui sont l'intensité et le voltage instantanés, avec ceux-ci, il est possible de retrouver la puissance de charge en Watts !
Un simple capteur template dans les "entrées" suffit pour calculer cette valeur.
Une comparaison avec une pince ampèremétrique sur la phase du chargeur me permet de dire que les résultats sont assez bons, quelques watts de différence.
Et pour être encore plus précis, si on veut ajouter sur le dashboard énergie de la maison, un filtre pour n'enregistrer que si la voiture est à la maison aide aussi pour éviter d'enregistrer des charges sur d'autres bornes AC !
Ce qui donne ceci :
{% if states.device_tracker.voiture_location_tracker.state == "home" %}
{{ (state_attr('sensor.voiture_charger_power', 'charger_amps_actual') | int(default=0)) * (state_attr('sensor.voiture_charger_power', 'charger_volts') | int(default=0))}}
{% endif %}
De là pour calculer le cumul des W en kWh, un somme de Riemann s'impose, et toujours dans les entrées, il suffit de créer une entité "sensor.energie_voiture" avec les bonnes configurations pour être ajoutée au dashboard énergie.
Exemple :
Autres trucs et astuces variés
Voici quelques retours d'expérience ou utilisations.
Réveil de la voiture
La voiture se met d'elle-même en veille profonde au bout d'un moment, ce qui a pour incidence dans certains cas de ne pas remontrer des mises à jour d'informations quand rien ne se passe. Il peut donc arriver que quand on branche le câble de charge l'info ne remonte pas à HA.
Pour pallier ce souci, dans mes automatisations sensibles (lancement de charge ou arrêt) j'appelle au préalable le service "button.press" sur une des 2 entités : "button.voiture_force_data_update" ou "button.voiture_wake_up"
Alerte pression des pneus
Pour se simplifier la vie et les automatisations, les cartes ou autres utilisations, on peut créer une entité "warning" qui est active dès qu'un des pneus est sous la pression minimale.
Il suffit d'aller dans les entrées ; créer une nouvelle entrée Template - Capteur Binaire.
Classe d'appareil : "Sécurité".
{% if ((states.sensor.voiture_tpms_front_left.state | float < 2.70)
or (states.sensor.voiture_tpms_front_right.state | float < 2.70)
or (states.sensor.voiture_tpms_rear_left.state | float < 2.70)
or (states.sensor.voiture_tpms_rear_right.state | float < 2.70)) %}
on
{%- else -%}
off
{%- endif -%}
Vitesse de la voiture
Il est possible d'afficher la vitesse de la voiture ou d'en faire une entité en récupérant l'attribut "Speed" de l'entité "device_tracker.voiture_location_tracker"
Charge Solaire Adaptative
Je ne vais pas m'étendre sur le sujet, mais avec toutes les entités fournies, il est assez facile de faire des automatisations de charge adaptative sur surplus solaire.
Cela se fait en faisant varier le "number.voiture_charging_amps" suivi éventuellement d'un appel à "button.voiture_force_data_update".
EV Charger Card
Pour ceux qui utilisent un chargeur non connecté et qui veulent avoir sur leur tableau de bord une carte qui représente leur chargeur. HACS propose la carte "EV Charger Card" qui prend en charge les voitures Tesla.
Test d'émissions
Le bouton test d'émission est un favori de mon fils qui a un widget de l'app sur son téléphone...
Conclusion
Voilà, vous avez pu intégrer votre produit Tesla dans Home Assistant. Vous constatez que le nombre d'informations remontées est très important, et donc également les possibilités d'affichage et automatisations.
N'hésitez pas à poser vos questions, faire vos retours d'expérience et partager vos découvertes dans les commentaires.