Tesla API

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

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

Ueberspringen

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.

Tessie Zusammenfassung