Tesla API
Allgemeines
Nach dem ich jetzt mein zweites Model 3 (Highland LR 2026) fahre, eines vorweg. Das Auto kommt mich etwas "erwachsener" vor als mein Modell 3 aus 2022.
Ich benutze die Tessie-App auf meinem Android und bin eigentlich zufrieden damit, aber als Ingenieur ist es doch reizvoll die Moeglichkeiten der API-Konnektivitaet auszuprobieren.
Tesla bietet dazu unter der URL [1] den Einstieg in die (Fleet-)API.
Tessie
Erst mal untersuchen wie es Tessie macht.
KI-Antwort
Tessie ist im Prinzip genau die Zwischenschicht, die wir für dein eigenes Dashboard ebenfalls bauen könnten – nur als kommerzieller Cloud-Dienst.
Bei einem aktuellen Model 3 läuft der Zugriff heute im Wesentlichen so:
Tesla Model 3
│
│ Fleet Telemetry
│ Ende-zu-Ende verschlüsselt
▼
Tessie Server
│
├── Datenbank / Historie
├── Auswertung
├── Tessie API
└── Fahrzeug-Kommandos
│
▼
Tesla Fleet API / Vehicle Command Protocol
│
▼
Tesla Model 3
Tessie selbst beschreibt für moderne Fahrzeuge Direct Telemetry: Das Fahrzeug wird so konfiguriert, dass es Telemetriedaten direkt an Tessie streamt. Das klassische regelmäßige Abfragen über Tesla wird laut Tessie hauptsächlich noch für ältere MCU1-Model-S/X und bestimmte Business-Fahrzeuge verwendet. de.help.tessie.com
1. Du gibst Tessie nicht dein Tesla-Passwort
Beim Verbinden wirst du zur Tesla-Anmeldung geleitet. Tesla verwendet dafür OAuth 2.0. Tessie erhält anschließend ein Token mit den von dir genehmigten Berechtigungen. Tessie gibt ausdrücklich an, dein Tesla-Passwort nicht zu speichern. tessie.com
Tesla unterscheidet dabei einzelne Berechtigungen, etwa vehicle_device_data, vehicle_location, vehicle_cmds und vehicle_charging_cmds. Du kannst einer Drittanbieter-App also gezielt Fahrzeugdaten, Standort, Kommandos oder Ladefunktionen erlauben. Tesla Entwickler
2. Zusätzlich bekommt Tessie einen „Virtual Key“
Das ist für dein Model 3 2026 besonders wichtig. Du fügst über die Tesla-App einen virtuellen Schlüssel hinzu. Danach erscheint tessie.com im Fahrzeug unter den Schlüsseln. de.help.tessie.com
Tesla erklärt den Zweck ziemlich eindeutig: Ein solcher Virtual Key ermöglicht einer autorisierten Drittanbieter-Anwendung insbesondere Echtzeitdaten zu empfangen und Fahrzeugkommandos auszuführen. Tesla Entwickler
Das ist also mehr als nur ein API-Passwort.
3. Das Model 3 kann seine Daten direkt an Tessie schicken
Hier liegt der interessante Unterschied zu einer einfachen REST-Abfrage.
Bei deinem Model 3 kann Fleet Telemetry ungefähr so funktionieren:
Internet
│
Model 3 ────────────┼──────────► Tessie
│
Telemetry Stream
Das Fahrzeug selbst baut die Verbindung zum Telemetrie-Server auf. Tesla verlangt dafür u. a. eine ausreichend aktuelle Fahrzeugsoftware und einen gepaarten Virtual Key. Tesla Entwickler
Dadurch muss Tessie nicht alle fünf Sekunden Tesla fragen:
Tessie → Tesla Cloud → Auto
"Wie hoch ist SOC?"
sondern bekommt Änderungen direkt geliefert.
4. Kommandos laufen in die andere Richtung
Wenn du beispielsweise in Tessie Klima einschalten drückst, muss ein entsprechendes Fahrzeugkommando sicher authentifiziert bzw. signiert werden.
Tessie wirbt ausdrücklich damit, dieses Command Signing des Tesla Vehicle Command Protocol für den Benutzer zu übernehmen. Auch Wiederholungen bei fehlgeschlagenen Kommandos werden von Tessie behandelt. tessie.com
Damit ergibt sich:
TELEMETRIE
Model 3 ───────────────────────► Tessie
SOC
Temperatur
Laden
Standort
Türen
Leistung
usw.
KOMMANDOS
Tessie ─────► Tesla/Fahrzeug ─────► Model 3
│
▼
signiert
Klima EIN
Laden START
Ladestrom
Verriegeln
Kofferraum
usw.
5. Und Tessie bietet darüber wieder eine eigene API
Das ist für dein Projekt sehr interessant. Tessie stellt die gesammelten Tesla-Daten und Steuerfunktionen wiederum über die Tessie API zur Verfügung. Tessie sagt selbst, dass sämtliche eigenen Integrationen darauf aufbauen. de.help.tessie.com
Damit könntest du unser eben erstelltes Dashboard beispielsweise so aufbauen:
TESLA-BROWSER
│
│ HTTPS
▼
tesla.deine-domain.de
│
▼
HOMESERVER
│
├────────────► Home Assistant
│ │
│ ├─ PV
│ ├─ FOX ESS
│ ├─ Wallbox
│ ├─ KNX
│ └─ Haus
│
└────────────► Tessie API
│
▼
Model 3
Damit könntest du Tesla Fleet API, OAuth, Virtual-Key-Signing und Telemetry-Infrastruktur zunächst Tessie überlassen und auf deinem Homeserver nur eine sehr einfache Schnittstelle bauen. tessie.com
Aber: Wir könnten Tessie auch vollständig ersetzen
Für dein Vorhaben halte ich das langfristig sogar für interessanter:
DEIN SYSTEM
Model 3
│
│ Fleet Telemetry
▼
┌──────────────────────────┐
│ Homeserver │
│ │
│ Tesla Telemetry Server │
│ │ │
│ ▼ │
│ MQTT │
│ │ │
│ Home Assistant │
│ │ │
│ REST API │
└──────────┬───────────────┘
│
▼
Tesla HTML Dashboard
Dann hätten wir keinen Tessie-Cloud-Umweg. Dein Homeserver empfängt die Telemetrie, speichert sie beispielsweise in MQTT/Home Assistant/InfluxDB und stellt genau die REST-Endpunkte bereit, die ich bereits in dein HTML-Dashboard eingebaut habe.
Der aufwendigere Teil ist dabei nicht das Dashboard, sondern Tesla-OAuth + Virtual Key + Vehicle Command Protocol + öffentlich erreichbarer Telemetry-Endpunkt. Tesla verlangt für Drittanbieter-Apps Registrierung, OAuth und einen registrierten öffentlichen Schlüssel. Tesla
Für nur dein eigenes Model 3 ist das aber durchaus machbar. Und dann könnten wir die REST-Schnittstelle sogar so bauen, dass dein Dashboard Tesla, FOX ESS, PV, Wallbox und Home Assistant unter einer einzigen API sieht. Das wäre meiner Meinung nach die sauberste Architektur für dein Projekt.