hier stelle ich meinen soc_helper zur Verfügung, der den SOC des Fahrzeugs in die OpenWB übertragen kann, wenn das Fahrzeug in den Bereich des heimischen WLANs fährt. Eine automatisierte Nutzung von Spritmonitor ist möglich.
Es ist ein spezieller OBD-Dongle nötig sowie ein einfacher Rechner im Haus, der immer läuft (Raspi Zero W genügt), dafür kann man sich das Hersteller-Abo und die Abhängigkeit von dessen Server für das Zielladen sparen.
Entwickelt und getestet wird mit einem VW e-up; das Programm dürfte mit entsprechender Konfiguration auch mit anderen Fahrzeugen funktionieren.
ACHTUNG! Es ist aus meiner Sicht absehbar, daß die MQTT-Pfade außerhalb von openwb/set im nächsten Release 2.1.4 zunächst für das Schreiben gesperrt sind. Deshalb zieht mit Version 2024-05-20 des soc_helper die WiCAN-Kommunikation unter den Zweig openWB/set/wican um. Damit das funktioniert, sind drei Maßnahmen nötig:
- Der WiCAN muß auf Firmware-Version 2.98 oder neuer geflasht werden. Dort können die Pfade für die MQTT-Kommunikation des WiCAN angegeben werden.
- Die Pfade müssen wie in der Datei Inbetriebnahme soc_helper.html im Unterverzeichnis Doku beschrieben eingestellt werden:
- TX Topic: openWB/set/wican/can/tx
- RX Topic: openWB/set/wican/can/rx
- Status Topic: openWB/set/wican/status
- Die Felder für MQTT-Nutzer und -Kennwort im WiCAN müssen leer sein.
Bis 2024-03-19 06:56:08 +0100 [a6b648645] (Release 2.1.3) ist die Funktionsfähigkeit der soc_helper-Version 2024-05-16 gegeben.
Ab Release 2.1.4 Step 2 soll der Zweig others/ schreibbar gemacht werden: https://github.com/openWB/core/pull/1598. Für diese (saubere) Lösung muß wiederum der WiCAN umkonfiguriert werden, daher lohnt es sich möglicherweise, mit dem Update von Release 2.1.3 auf 2.1.4 zu warten, bis 2.1.4 Step 2 draussen ist.
Projektstand:
- VW e-up! funktioniert
- e-Golf vorbereitet: Einträge für SOC eingefügt, OBD2 identisch zu e-up!, möglicherweise funktioniert Kilomterstand auch. Zu prüfen.
- Ora Funky Cat steht vor der Überprüfung
- VW ID3 (MEB?) ist vorbereitet und wartet auf Tester
- Fiat 500e ist vorbereitet und wartet auf Tester
- andere Fahrzeuge sind leicht zu ergänzen, sofern SOC-Request und -Response der OBD2-Kommunikation bekannt sind
Code: Alles auswählen
2024-05-20:
* Umzug der wican-Topics nach openwb/set/wican/, um mit Release 2.1.4
weiterhin zusammenarbeiten zu können. Anpassung von README.txt
* Anleitung zum Beenden eines laufenden soc_helper im Hintergrund geändert,
nachdem ich das "pkill"-Kommando kennengelernt habe.
2024-05-18:
* Spritmonitor: Hinzufügen der neuen API-Informationen "charging_power=11"[kw]
und charge_info="ac,source_wallbox"
2024-05-16:
* Hinzufügen e-Golf (Korrektheit ODO-Meter ist offen, SOC ist bis auf
Umrechung identisch zu e-up!)
* Ändern der Rückgabewerte auf im Kombi angezeigten SOC, damit das Fahrzeug
nicht vor angezeigten 100% SOC die Ladung anscheinend vorzeitig beendet
(Umrechnungsformeln bei EVNotify abgeschaut)
* Abfangen von SOC-Werten kleiner 0 und größer 100 in soc_helper.py -
zumindest einmal konnte ich feststellen, daß bei einem e-Up ein Wert
Rohwert von 253 übermittelt wurde, was oberhalb angezeigter 100% wäre und
vermutlich eher ein "nicht bereit" oder Fehlerwert darstellt. Momentan
wird bei einem solchermaßen abgefangenen SOC-Wert nichts übertragen. Man
könnte überlegen, ob ein Wert von 0 besser wäre oder der zuletzt gültige.
2024-05-07:
* !ACHTUNG: Änderung der Schlüsselwörter für OBD-Kommunikation in configuration.py.
Die Abkürzungen wurden umgestellt vom uneindeutigen SEND und RECEIVE auf REQUEST
und RESPONSE.
Eine alte configuration.py wird nicht mehr funktionieren, daher bitte die Werte der alten
Datei in die entsprechenden Stellen der neuen Datei übertragen!
* Robustheit: Prüfe beim Start, ob der Abruf der Fahrzeugdaten bei Spritmonitor
funktioniert
* Beginn einer Dokumentation für Linux-Anfänger - noch lange nicht fertig.
* Hinzufügen der Kommunikation für Fiat 500e (ungeprüft)
Ursprungspost:
Guten Tag zusammen,
ich habe ein Python-Programm in der Entwicklung, welches mit Hilfe eines MeatPI WiCAN OBD-Adapters (https://www.meatpi.com/products/wican) den Fahrzeug-SOC ausliest und an die OpenWB schickt. Vorteil ist der Verzicht auf externe Cloud-Technik, die ausfallen kann und Geld kostet. Darüber hinaus ist eine optionale Spritmonitor-Anbindung in der Entwicklung - nach dem Abstecken wird der Kilometerstand des Fahrzeugs und die seit dem letzten Spritmonitor-Eintrag zurückgelegte Distanz sowie die seit Anstecken geladene Arbeit automatisiert bei Spritmonitor hochgeladen.
Ich vermute, daß eine Anpassung auch an andere Fahrzeugmarken relativ einfach möglich ist, sofern die Information vorliegt, wie man den SOC an der OBD-Buchse abfragt.
Das Projekt ist momentan im Alpha-Stadium und könnte gerne noch ein paar Tester gebrauchen. Bevor ich mir die Mühe mit den Lizenzen und der Dokumentation mache, würde ich gerne wissen, wie hoch das Interesse an einer Veröffentlichung ist.
Falls Interesse am Testen besteht, bitte hier im Thread melden.