Hallo Tesla Fahrer,
da Marius H. die Arbeit an dem bisherigen TeslaConnect Plugin eingestellt hat, habe ich die Herausforderung angenommen und Unterstützung für die neue Vehicle Command API hinzugefügt sowie einige Verbesserungen innerhalb der Benutzeroberfläche zum Senden von Testabfragen vorgenommen. Die neue Version hat einen neuen Namen bekommen (und beginnt mit Version 0.1.1), da es nach der Erstveröffentlichung nicht mehr erlaubt ist, u.a. den Namen des Autors eines LoxBerry-Plugins zu ändern. Hier ist die erste Beta-Version mit dem Namen Tesla Command.
Es ist sicherlich mittlerweile jedem bekannt, dass Tesla eine neue API, die Vehicle Command API im Oktober 2023 als Nachfolger der (inoffiziellen) Owner's API veröffentlicht hat. Fahrzeuge der Modelle S und X, die vor 2021 hergestellt wurden, unterstützen nicht das neue Protokoll, aber alle anderen Fahrzeuge werden in 2024 auf das neue Protokoll umgestellt.
Das Tesla Vehicle Command SDK enthält das Tesla Control Utility über welches Befehle entweder über Bluetooth Low Energy (BLE) oder das Internet über die Tesla Fleet API an das Fahrzeug gesendet werden können. Derzeit ist für das Plugin nur BLE implementiert und es gibt derzeit keine Pläne die Fleet API zu unterstützen. BLE bietet zwar nur eine begrenzte Reichweite, hat aber den Vorteil, dass es keine Beschränkungen in der Anzahl der API Aufrufe gibt und kostenfrei ist.
Bisher (Stand Juli 2024) gibt es in der neuen API nur Befehle zum Steuern von Funktionen, wie z.B. das Ein- oder Ausschalten der Klimaanlage, das Einstellen des maximalen Ladestroms oder zum Öffnen bzw. Schließen des Kofferraumes. Die API enthält einen einzigen Befehl 'body-controller-state', um den Status für diverse Systeme abzufragen, u.a. Schlafzustand, Präsenz, Schließzustand für Türen und Kofferraum. Insgesamt gibt es 38 Befehle, die entweder neu dazu gekommen sind oder an die neue API angepasst wurden.
Diese Plugin unterstützt daher weiterhin die bisherige (inoffizielle) Owner's API für alle Befehle, die darüber noch funktionieren, um z.B. Statusinformationen zum Fahrzeug oder einer Power Wall abzufragen. In den Einstellungen kann man für jedes Fahrzeug bzw. Powerwall festlegen, welche API verwendet werden soll:
- die alte (inoffizielle) Owner's API für ALLE Befehle. Dies ist sinnvoll sofern das Fahrzeug die alten Befehle noch unterstützt oder eine Powerwall verwendet wird.
- ein Mix aus der (inoffizielle) Owner's API um Statusinformationen abzufragen und die neue Vehicle Command API, um Befehle über BLE an das Fahrzeug zu senden. Diese werden über das Tool 'Tesla Control Utility' (tesla-control) gesendet.
Über das Plugin können Informationen zu den verwendeten Tesla Produkten abgerufen oder Befehle an die Tesla Produkte gesendet werden. Alle Produkte, welche in der Tesla App (Android oder iPhone) angezeigt werden können abgefragt werden. Da ich selber nur ein Fahrzeug (Model 3) habe, konnte ich bisher nur die Funktionen von einem Fahrzeug testen.
Ich habe das Plugin auf einem Raspberry PI 3 mit einem neuem Diet-PI Image (Bookworm, 64-Bit) getestet. Für die Installation bitte sowohl das Readme zum Plugin, als auch das Readme in Github durchlesen. In letzterem sind die zusätzlich erforderlichen Befehle aufgeführt, um das Plugin nutzen zu können.
Da es sich noch um eine Beta Version handelt, bitte hier Rückmeldungen und Fragen stellen.
Hier noch ein paar Hinweise für User, die bereits das alte TeslaConnect Plugin verwendet haben:
- Im Menüpunkt 'Settings' wählt man die gewünschte API aus.
- Die URLs haben sich alle verändert - siehe Menüpunkt 'Queries', aber sind sehr ähnlich zu den bisherigen URLs. Bei einigen Befehle wurden von Tesla die Parameter verändert - bitte daher alle Befehle einzeln überprüfen.
- Die neuen Befehle sind ähnlich zu den bisherigen Befehlen und erfordern weiterhin die ID für das jeweilige Fahrzeug. Das Plugin merkt sich die VIN und verwendet diese beim Senden über BLE.
- Über den Menüpunkt 'Test Queries' kann man die Befehle testen. Das integrierte Aufwecken funktioniert derzeit noch nicht (es werden nur die erforderlichen Befehle angezeigt), als einzelner Befehl aber schon.
Viel Spass damit,
Jan
Kommentar