L’application Tesla officielle est bien faite. Mais elle est limitée : pas d’historique de trajet exploitable, pas d’alertes personnalisées, pas d’intégration avec le reste de la maison. TeslaMate règle tous ces problèmes en récupérant les données de la Tesla via l’API officielle et en les stockant localement.
Voici comment j’ai intégré TeslaMate dans mon homelab pour des automatisations Home Assistant basées sur la voiture.
[SCREENSHOT: TeslaMate — dashboard Grafana avec les métriques de la Tesla : charge batterie, trajets récents, consommation]Ce que fait TeslaMate
- Logging des trajets : chaque trajet est enregistré avec la route, la durée, la consommation, la vitesse max
- Historique de charge : quand, où, combien de kWh, le coût estimé
- Géofencing : définir des zones (Maison, Travail, Superchargeur) pour des automatisations
- Publication MQTT : tous les états de la voiture publiés en temps réel sur un broker MQTT
- Dashboards Grafana : visualisations préconfigurées de toutes les métriques
Architecture
TeslaMate utilise plusieurs services. La stack complète :
- TeslaMate : l’application principale (Elixir)
- PostgreSQL : stockage des données
- Mosquitto : broker MQTT (partagé avec Zigbee2MQTT si tu veux)
- Grafana : outil open source de dashboards — TeslaMate fournit des dashboards préconfigurés
Installation via Dockge
services:
teslamate:
image: teslamate/teslamate:latest
container_name: teslamate
restart: unless-stopped
ports:
- "4000:4000"
environment:
- ENCRYPTION_KEY=[À COMPLÉTER: générer avec openssl rand -hex 32]
- DATABASE_URL=ecto://teslamate:motdepasse@database/teslamate
- MQTT_HOST=192.168.1.10 # IP de ton broker Mosquitto
- TZ=Europe/Paris
depends_on:
- database
database:
image: postgres:15
container_name: teslamate_db
restart: unless-stopped
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=motdepasse
- POSTGRES_DB=teslamate
volumes:
- postgres_data:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
container_name: teslamate_grafana
restart: unless-stopped
ports:
- "3100:3000"
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=motdepasse
- DATABASE_HOST=database
- DATABASE_NAME=teslamate
volumes:
postgres_data:
[SCREENSHOT: TeslaMate — interface web avec l’état actuel de la voiture : localisation, batterie, état de charge]
Configuration initiale
Accès à http://<IP>:4000. TeslaMate te demande de te connecter à ton compte Tesla pour obtenir un token d’API. Depuis 2023, Tesla utilise un processus OAuth sur son site — TeslaMate gère ça depuis son interface web.
Une fois connecté, TeslaMate commence immédiatement à logger les données de la voiture. Les trajets passés ne sont pas récupérables, mais tout ce qui se passe à partir de maintenant est enregistré.
Intégration Home Assistant via MQTT
C’est la partie la plus utile pour l’automatisation. TeslaMate publie l’état de la voiture sur MQTT :
teslamate/cars/1/state → asleep, online, charging, driving
teslamate/cars/1/battery_level → 85
teslamate/cars/1/geofence → Home, Work, ...
teslamate/cars/1/plugged_in → true/false
teslamate/cars/1/charge_port_door_open → true/false
Dans Home Assistant, avec l’intégration MQTT active, ces topics deviennent des entités via le fichier configuration.yaml :
mqtt:
sensor:
- name: "Tesla Battery Level"
state_topic: "teslamate/cars/1/battery_level"
unit_of_measurement: "%"
device_class: battery
- name: "Tesla State"
state_topic: "teslamate/cars/1/state"
- name: "Tesla Geofence"
state_topic: "teslamate/cars/1/geofence"
Automatisations basées sur la Tesla
Notification charge terminée
alias: "Tesla - Charge terminée"
trigger:
- platform: mqtt
topic: teslamate/cars/1/state
payload: online
condition:
- condition: template
value_template: "{{ trigger.payload_json == 'online' }}"
- condition: numeric_state
entity_id: sensor.tesla_battery_level
above: 95
action:
- service: notify.telegram
data:
message: "Tesla chargée à {{ states('sensor.tesla_battery_level') }}%"
Volets automatiques à l’arrivée
alias: "Tesla - Arrivée maison"
trigger:
- platform: mqtt
topic: teslamate/cars/1/geofence
payload: "Home"
action:
- delay: "00:02:00"
- service: script.volets_ouvrir_salon_cuisine
- service: scene.turn_on
target:
entity_id: scene.salon_accueil
Le topic geofence est plus fiable que le device_tracker GPS natif pour les automatisations d’arrivée — TeslaMate filtre les faux positifs mieux que HA par défaut.
Les dashboards Grafana
TeslaMate installe automatiquement des dashboards Grafana préconfigurés. Tu as immédiatement accès à :
- Résumé des trajets (distance, consommation, efficacité)
- Historique de charge (durée, kWh ajoutés, coût)
- Carte des trajets avec visualisation géographique
- État de la batterie dans le temps
- Comparaison de consommation par météo
Accès Grafana : http://<IP>:3100. Login par défaut : admin/admin.
Consommation du setup
La stack TeslaMate consomme ~300 Mo de RAM au total (TeslaMate + PostgreSQL + Grafana). Ça tourne sur le nœud 2 de mon cluster sans impact perceptible.
Définis une zone « Travail » dans TeslaMate en plus de « Maison ». TeslaMate calcule automatiquement les statistiques par destination — trajets domicile-travail, consommation spécifique, durée moyenne. C’est aussi utile pour les automatisations HA : tu peux déclencher des actions différentes selon que la voiture arrive au travail ou à la maison. Par exemple : ne pas ouvrir les volets si la voiture arrive mais pas à la maison (quelqu’un d’autre conduit la voiture).
👉 Pour aller plus loin : mes automatisations Home Assistant, Zigbee2MQTT pour les autres appareils, et le setup homelab complet.
TeslaMate : la Tesla dans ton homelab
TeslaMate transforme la Tesla en source de données exploitable. Ce n’est pas juste un logger de trajets — c’est un tableau de bord qui permet de comprendre et d’optimiser son usage.
Si tu as Home Assistant, les entités MQTT TeslaMate s’intègrent parfaitement pour des automatisations : notifications de charge, arrivée à la maison, alerte batterie faible.
FAQ
TeslaMate provoque-t-il du vampire drain sur la batterie ?
TeslaMate peut réveiller la voiture pour récupérer les données. En mode « sleep », il attend que la voiture se réveille naturellement. Sur ma Model 3, je mesure environ 1 % de perte par jour — similaire à l’app officielle Tesla.
L’utilisation de TeslaMate annule-t-elle la garantie Tesla ?
Non. TeslaMate utilise l’API officielle Tesla, la même que l’application mobile. Aucune modification du véhicule n’est nécessaire.
Peut-on utiliser TeslaMate sans Home Assistant ?
Oui, TeslaMate fonctionne de manière autonome avec ses dashboards Grafana. L’intégration Home Assistant via MQTT est optionnelle mais apporte les automatisations (ex : lancer la charge quand l’électricité est moins chère).









