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! Ab 2.1.4-alpha, beta der OpenWB ist dem wican der Zugriff auf den MQTT-Broker der OpenWB versperrt. Mit diesen Versionen wird es nicht funktionieren, siehe auch https://github.com/openWB/core/issues/1586. Bis 2024-03-19 06:56:08 +0100 [a6b648645] ist die Funktionsfähigkeit gegeben.
- 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
Das Projekt ist im Zustand "works for me and my collegue" und lebt von Eurem Feedback - meine Wünsche werden erfüllt, Eure kenne ich nicht. Ich freue mich, daß jemand vorhat, den soc_helper auf seinen Cupra Born(?) loszulassen. Möglicherweise kommt dann ein weiteres Fahrzeug in die Funktioniert-Liste. Sollte wohl ID4-kompatibel sein?
Code: Alles auswählen
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.