Gibt es eine API, um den Ladezustand des Fahrzeugs zu lesen?

V
Varen-programmer
BYD Gast
Ich möchte einen BYD Dolphin kaufen, aber nur, wenn es eine API gibt, um den SOC für mein Energielastmanagement zu erhalten. Ich finde nichts in Google, dass es eine API für BYD gibt, wie bei allen anderen Marken. Hat jemand einen Tipp? Die einzige Lösung scheint ein ODBC-Adapter mit SIM zu sein? Die App-Kommunikation scheint verschlüsselt zu sein und kann bis jetzt nicht entschlüsselt werden.
 
Ich würde mir einen Bluetooth OBD2-Dongle und Elm327-Befehle anschauen, um den SOC abzurufen. Car Scanner kann diese Informationen abrufen, also verwendet es wahrscheinlich einige gängige OBD2-Nachrichten.
 
SOC befindet sich im benutzerdefinierten Segment und nicht im Standardsegment. Du musst dieses Signal also für jede Marke einrichten. Es ist bei BYD bekannt und du kannst es zum Beispiel aus dem Open-Source-Projekt von Freematics erhalten.
 
Ich habe mich darüber noch nicht genauer informiert, außer dass ich es mit dem Auto-Scanner überprüft habe, aber ich nehme an, dass es irgendwo veröffentlicht wurde.
 
Ich weiß nicht, ist meine Antwort auf deine Frage.

Als Alternative zeigt dir die BYD-App definitiv den Ladezustand an. Könntest du nicht ein Skript oder eine Verknüpfung auf deinem Telefon schreiben, um den Ladezustand in der App zu überprüfen und dann entsprechende Maßnahmen zu ergreifen?
 
Eine Möglichkeit, dies zu lösen, wäre die App auf meinem Server in einem Emulator auszuführen und den Inhalt zu erfassen. Aber das ist wirklich sehr schlecht und nicht besonders stabil. Jedes App-Update wird den Code zerstören. Daher müssen Sie ständig einen sehr komplexen Screengrabber aktualisieren :(.

Eine bessere Lösung wäre etwa https://freematics.com/, aber dafür ist eine monatliche Gebühr für eine zusätzliche SIM-Karte erforderlich.

Andere Anbieter wie Tesla haben einfach eine offene API und es "funktioniert einfach". Warum nicht auch für BYD :(
 
Da sie Chinesen sind, ist es für chinesische Unternehmen sehr üblich, das zu tun.
 
Ich weiß aus sicherer Quelle, dass BYD android Infotainment einen Entwicklerzugriff auf die API hat. Die Dokumentation und alles ist in Chinesisch. Ich habe keine Ahnung, wie man deine Binärdatei signiert.

Was die Remote-API betrifft, habe ich noch keine Dokumentation gesehen.

Die Leute, die ich kenne, lesen den SOC von EVSE, um die Ladegeschwindigkeit entsprechend der Energiekosten und der Solarenergieproduktion anzupassen.
 
Lösungen wie evCC unterstützen BYD nicht, da sie keine API haben :(.

Ich denke, ich steige aus und kaufe ein anderes Auto mit einer geeigneten API...
 
Du könntest zu Hause einen Gleichstromlader mit Open-Source-Software installieren, die dir den SOC anzeigen kann. Allerdings ist das teuer.
 
Nur gib es als Eingabewert an; du parkst, steckst ein, gibst den Wert ein und lässt es den Rest erledigen.

Eine API wäre jedoch schön.
 
Mit einen OBD2 Dongle funktioniert es ebenefalls nicht da die Arlamanlage beim abrufen von Daten los geht wenn das Auto zugesperrt ist.
Ist bei mir zumindest beim BYD Seal U.
 
Bezüglich API habe ich leider keine Lösung gefunden, aber ein Workaround.
Dazu benötigt man einen Raspberry Pi mit PiOS und ein altes Smartphone, auf dem die BYD App läuft.

am Raspberry folgendes installieren:
sudo apt install adb tesseract-ocr imagemagick

Dann das Smartphone mittels USB Kabel verbinden und in den Entwickleroptionen ADB einschalten (Verbindung beim ersten Mal dauerhaft bestätigen).
folgende Befehle in einem Script ausführen (die Koordinaten beim "input tap" und beim "crop" muss man sich von einem Screenshot "ausmessen" und dementsprechend anpassen, je nach verwendetem Gerät):

adb shell input keyevent KEYCODE_HOME // HomeScreen anzeigen
sleep 5
adb shell input tap 540 1700 // App neu öffnen (wenn BYD App-Link bei diesen Koordinaten)
sleep 5
adb shell input tap 760 330 // Daten aktualisieren
sleep 1
adb shell input tap 760 270 // Daten aktualisieren (falls SOC nicht angezeigt wird)
sleep 30
adb exec-out screencap -p > screenshot.png // Screenshot erstellen
convert screenshot.png -crop 200x100+220+200 cropped.png // Screenshot zuscheiden
tesseract cropped.png stdout -c tessedit_char_whitelist=0123456789 --psm 6

Und das sollte den Wert des SOC ausgeben. Den Wert kann man dann auf unterschiedlichste Weise weiter verarbeiten, ich schicke mir diesen zB an meinen Loxone Miniserver für die intelligente Ladesteuerung.

Ich habe das Bildschirmtimeout auf 30 Minuten gestellt, Helligkeit aufs Minimum und frage jede Minute ab, damit die ADB Verbindung aufrecht bleibt. Läuft seit ein paar Tagen stabil.
 

Similar threads: Gibt es eine API, um den Ladezustand des Fahrzeugs zu lesen?

Ladelimit - nicht einstellbar? Das gibts doch nicht!

in BYD Han Forum Motor & Technik
Ladelimit - nicht einstellbar? Das gibts doch nicht!: Hallo! Die Frage wurde bereits im Juni gestellt, aber nie beantwortet. Es muss doch möglich sein, das Ladelimit auf 90% einzustellen. Ich habe...
Android Auto im Atto 3, gibt es das überhaupt?: Hallo. Ich war heut in der Service Stelle von BYD in Erfurt, da ich Probleme habe Android Auto zum laufen zu bringen. Es hat sich...
BYD gibt zwischen 3000 und 17.255 Euro Rabatt auf E-Autos: Es scheint, als würden wir eine alte Nachricht wiederholen. Das ist jedoch nicht der Fall, denn der chinesische Autohersteller BYD hat tatsächlich...
Zurück
Oben