---
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](https://docs.teslamate.org) |
| **GitHub** | [teslamate-org/teslamate](https://github.com/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é)
```yaml
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
- [Site officiel](https://docs.teslamate.org)
- [Documentation complète](https://docs.teslamate.org/docs/installation)
- [Discord communautaire](https://discord.gg/teslamate)
- [Démarrage rapide](https://docs.teslamate.org/docs/getting_started)
- [Tableau des dashboards Grafana](https://github.com/teslamate-org/teslamate/tree/main/grafana-dashboards)

## Pages Liées
- [[cat-tracking]]
- [[recettes-docker-compose]]
- [[cat-vehicle-tracking]]
