Files
wiki/Catalogue-Self-Hosted/apps/app-teslamate.md
T
2026-06-09 18:40:21 +02:00

5.8 KiB


title: TeslaMate created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, tracking, tesla, elixir, vehicle] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Vehicle+Tracking, https://github.com/teslamate-org/teslamate]

🚗 TeslaMate

Logger de données Tesla puissant et open source : chaque trajet, charge, parking et update est historisé dans une base PostgreSQL et visualisable via Grafana.

Métadonnée Valeur
Site web docs.teslamate.org
GitHub teslamate-org/teslamate
License MIT
Langage principal Elixir (Phoenix)
Étoiles GitHub 935
Dernière MAJ 2026-05-30
Catégorie cat-tracking

Description

TeslaMate est un logger de données pour véhicules Tesla écrit en Elixir/Phoenix. Il s'authentifie avec votre compte Tesla (token d'application) et collecte en continu les données de votre (vos) voiture(s) : position GPS, niveau de batterie, vitesse, consommation, température, statut des portes, état de charge, mises à jour OTA, software releases, etc. Le tout est stocké en PostgreSQL puis exposé en Grafana avec une vingtaine de dashboards prêts à l'emploi.

L'objectif est de garder un historique complet de la vie de votre Tesla, ce que l'app mobile Tesla ne fait que partiellement. TeslaMate permet ainsi de détecter une dégradation de batterie sur le long terme, de connaître le coût réel (€ / kWh) de chaque charge, de revoir ses trajets sur une carte, d'exporter au format GPX, ou d'identifier des comportements anormaux.

Le projet est MIT, mature, multi-voitures (avec gestion multi-utilisateurs possible), et dispose d'une communauté Discord très active. Il est compatible avec Tesla API v3 et s'auto-heberge parfaitement sur un petit serveur (2 vCPU, 2 Go de RAM suffisent).

Installation

Via Docker (recommandé)

version: "3.8"
services:
  teslamate:
    image: teslamate/teslamate:latest
    container_name: teslamate
    restart: unless-stopped
    ports:
      - "4000:4000"
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASSWORD=changez_moi
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=db
      - MQTT_HOST=mosquitto
      - VIRTUAL_HOST=teslamate.local
      - TZ=Europe/Paris
    depends_on:
      - db
      - mosquitto

  db:
    image: postgres:16-alpine
    container_name: teslamate-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: teslamate
      POSTGRES_PASSWORD: changez_moi
      POSTGRES_DB: teslamate
    volumes:
      - teslamate_db:/var/lib/postgresql/data

  mosquitto:
    image: eclipse-mosquitto:2
    container_name: teslamate-mqtt
    restart: unless-stopped
    command: mosquitto -c /mosquitto-no-auth.conf
    volumes:
      - mosquitto_data:/mosquitto/data

  grafana:
    image: teslamate/grafana:latest
    container_name: teslamate-grafana
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - DATABASE_USER=teslamate
      - DATABASE_PASSWORD=changez_moi
      - DATABASE_NAME=teslamate
      - DATABASE_HOST=db
    depends_on:
      - db

volumes:
  teslamate_db:
  mosquitto_data:

Installation manuelle

  1. Installer Elixir 1.15+ et Node 18+ via asdf ou le gestionnaire système
  2. Cloner : git clone https://github.com/teslamate-org/teslamate.git && cd teslamate
  3. Copier .env.example vers .env et remplir les variables
  4. Lancer : mix deps.get && mix ecto.create && mix ecto.migrate && mix phx.server
  5. Installer Grafana séparément et importer les dashboards depuis le dossier grafana-dashboards/
  6. Authentifier votre Tesla depuis l'UI web (port 4000 par défaut)

Configuration

  • Lancer l'authentification Tesla via OAuth (le projet supporte MFA/TOTP)
  • Configurer le fuseau horaire dans la variable TZ
  • Activer l'export MQTT pour relier TeslaMate à Home Assistant via le topic
  • Personnaliser les unités (km vs miles, °C vs °F)
  • Définir une adresse de résidence pour calculer les coûts par trajet
  • Importer les dashboards Grafana depuis le dépôt officiel (URL JSON)
  • Configurer les alertes Telegram (via webhook) en cas de charge/décharge inattendue

Alternatives

Open source

  • TeslaLogger (Java) — alternative plus ancienne, base MySQL
  • TeslaFi (version open source) — clones communautaires
  • TeslaBleHttpProxy — proxy BLE pour nouveaux modèles
  • Scratch maison via TeslaPy — script Python, pas d'UI

Propriétaires

  • TeslaFi — service cloud commercial historique (récemment fermé)
  • TeslaScope — dashboard payant, plus de visualisations
  • Stats for Tesla — app mobile premium
  • TeslaMate Cloud — hébergé clé en main par des tiers

Sécurité

  • Utiliser un token Tesla dédié avec 2FA activé sur le compte
  • Ne pas exposer le port Grafana publiquement, garder en LAN ou derrière VPN (WireGuard)
  • Activer HTTPS avec Traefik devant l'UI Phoenix (Let's Encrypt)
  • Sauvegarder régulièrement le volume teslamate_db (dump PostgreSQL)
  • Changer le mot de passe Grafana par défaut (admin/admin)
  • Surveiller l'espace disque (les positions GPS s'accumulent vite)
  • Mettre à jour régulièrement l'image (alertes Diun / Watchtower)

Ressources

Pages Liées