Nutze Echtzeitdaten deines Fahrzeugs in Homey mit Fleet-Telemetry

Fleet-Telemetry ist ein Übertragungsprotokoll, mit dem dein Fahrzeug Daten in Echtzeit bereitstellt, die Ende-zu-Ende verschlüsselt übertragen werden.
Profitiere von einer viel besseren Reaktion auf Daten und Statusänderungen in Homey. Wo bisher mit Datenabrufen im Bereich von 10 bis 15 Minuten gearbeitet wurde, kann nun in Echtzeit reagiert werden, z.B.:
- Reagiere auf eine Standortänderung und öffnen die Garage beim Eintreffen an deinem Zuhause.
Telemetry ist verfügbar ab App-Version 4.0.0
Was ist zu tun?
Aktiviere Telemetry in den Einstellungen des Fahrzeug-Gerätes:

Ist Telemetry aktiviert, dann kann der Datenabruf deaktiviert werden. Beachte bitte die vorhandenen Einschränkungen.
Was is der Unterschied zum bisherigen Verfahren?
Bisherige Datenabrufe
Die Datenabrufe erfolgten über „Polling“, d.h. die Homey-App ruft die Daten in fest definierten Zeitabständen ab. Aufgrund der Beschränkung durch die API-Kosten erfolgt dieser Abruf meist alle 10 bis 15 Minuten.
Änderungen zwischen diesen Abrufen können nicht erkannt werden. Es wird immer nur der Stand zum Abruf übertragen. Damit sind keine direkten Reaktionen auf Änderungen möglich über AdvancedFlows.

Datenübertragung mit Fleet-Telemetry
Fleet-Telemetry wird von Tesla als Übertragungsprotokoll bereitgestellt, um Echtzeitdaten des Fahrzeugs zu erhalten.
Der Hauptunterschied ist, dass hierbei das Fahrzeug selbst die Daten aktiv sendet. Bei der Datenübertragung ist kein Tesla-Server beteiligt. Deshalb wird diese Übertragung deutlich günstiger auf die API-Kosten berechnet. Man erhält viel schneller und zuverlässig Daten und spart dabei noch Kosten (API-Kosten im Tesla-Developer-Account).

Wie funktioniert Fleet-Telemetry?
Für Fleet-Telemetry ist ein Telemetry-Server erforderlich. Das ist ein zentraler Server im Internet, der als „Sammelstelle“ agiert.
Schritt 1: Aktivierung
Im ersten Schritt wird Telemetry aktiviert, indem die Homey-App eine Konfiguration an das Fahrzeug sendet. Das Senden erfolgt wie bei Kommandos über die Tesla-Server. Der Tesla-Server gibt diese Konfiguration an das Fahrzeug weiter, sobald dieses erreichbar ist.
Die Konfiguration enthält die Liste der zu sendenden Felder/Werte sowie Details wie Sendeintervall oder eine mindestens erforderliche Änderung. Zusätzlich sind die Informationen zum Telemetry-Server enthalten, damit das Fahrzeug die Daten an den gewünschten Server übertragen kann.
Außerdem kann eine Deaktiverungsaufforderung gesendet werden, um eine Übertragung der Telemetrie-Daten zu stoppen.
Schritt 2: Übertragung der Fahrzeugdaten
Das Fahrzeug sendet nun alle Datenänderungen für die angeforderten Datenfelder an diesen Server. Dort wird der letzte übertragene Wert jedes Feldes Zwischengespeichert.
Schritt 3: Übertragung der Daten an Homey
Die Homey-App meldet sich beim Telemetry-Server an. Bei der Anmeldung am Telemetry-Server prüft dieser die Authentifizierung gegen den Tesla-Server. Eine Anmeldung ist also nur möglich, wenn die Homey-App (bzw. das Fahrzeug) eine gültige Anmeldung für die Tesla-API besitzt.
Die Homey-App (bzw. das Fahrzeug) erhält auch nur Zugriff auf die VIN-spezifischen Daten. Sicherheit und Datensschutz ist garantiert.
Sendet das Fahrzeug eine Nachricht an den Telemetry-Server, so werden diese Daten sofort an den angemeldeten Homey weitergeleitet.
Als Datenbank wird ein MQTT Broker verwendet. Der Broker kann jederzeit die Fahrzeugdaten entgennehmen und speichert den letzten Wert. Beim Wiederverbinden des Homey erhält dieser alle im Broker gespeicherten Daten. Homey wird damit immer mit den neuesten Daten versorgt – bzw. mit den zuletzt bekannten Daten, falls das Fahrzeug „schläft“.
Einschränkungen
Telemetry verwendet abweichende Daten bzw. Felder im Vergleich zum Datenabruf über Fleet-API.
Die Homey-App bringt passende Daten auf das gleiche Format, so dass sowohl der Datenabruf über Fleet-API als auch über Fleet-Telemetry gleichermaßen verwendet werden können, auch zeitgleich.
Es gibt aber Datenfelder, die im bisherigen Abruf enthalten waren, über Fleet-Telemetry aber nicht mehr gelesen werden können:
- Batterie-Leistung (ein-/ausgehende Leistung)
- Software-Updatestatus. Verwende das Feld „verfügbare Version“, um per Flow auf eine neue Firmware zu reagieren.

