Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Alles rund um SoC (Ladezustand des Fahrzeuges). Probleme, Fragen, Fehlfunktionen gehören hier hin
zut
Beiträge: 609
Registriert: Di Feb 23, 2021 9:34 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von zut »

Das Projekt befindet sich im Zustand "works for me". Daher wird bis zur Rückmeldung anderer Nutzer kaum Weiterentwicklung erfolgen. Ich lege neue Versionen ab jetzt im ersten Beitrag des Threads ab.

Neue Version:

2023-10-08

Geändert: Readme.txt aktualisiert und leicht verbessert. Keine funktionale Änderung.
Ilchi
Beiträge: 187
Registriert: Di Feb 23, 2021 9:18 am
Been thanked: 2 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von Ilchi »

Absolut cool und m.E. sehr praktikabel. Endlich läuft man in den SoC-Modulen nicht mehr den Änderungen der Cloud hinterher. Zudem wäre auch eine Unterstützung von Cloudlosen Autos möglich. Habt ihr schon eine Idee, ob das auf andere Autos, z.B. Hyndai Kona übertragen werden soll/ kann?
zut
Beiträge: 609
Registriert: Di Feb 23, 2021 9:34 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von zut »

Habt ihr schon eine Idee, ob das auf andere Autos, z.B. Hyndai Kona übertragen werden soll/ kann?
Du musst mich nicht im Majestäts-Plural anreden :lol:

Es besteht eine gute Chance, daß die Lösung mit fast allen anderen Fahrzeugen zusammen arbeitet, da OBD2 eine Art Standard ist. Voraussetzung ist, daß bekannt ist, mit welchem Befehl der SOC (und ggf der Kilometerstand) abgefragt werden kann. Das variiert je nach Konzern und / oder Fahrzeugfamilie.
In der Konfigurationsdatei kann ein OBD-Kommando zur Abfrage des SOC definiert werden. Umrechung geschieht derzeit leider noch in Code.

Der e-up (und vermutlich andere VW/Seat/Cupra/Skoda-Fahrzeuge) reden nur auf Kommando OBD2 - seit der letzten Firmware-Update des WiCAN kann man angeblich auch Filter setzen für Fahrzeuge, deren CAN-Bus permanent anliegt.

HIer ist was zu Kia/Hyundai: viewtopic.php?p=6852#p6852 Möglicherweise kann man da drauf aufbauen.
HIer noch ein Projekt: https://github.com/nickn17/evDash

Letztlich muss ein Kia/Hyundai-Besitzer ins kalte Wasser springen und versuchen, meinen Code zum laufen zu bekommen. Ich bin gerne beratend dabei, habe aber mangels Fuhrpark wenig Möglichkeiten.
zut
Beiträge: 609
Registriert: Di Feb 23, 2021 9:34 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von zut »

Ich habe gerade gemerkt, daß mir mein Log vollgeschrieben worden ist mit " Stecker steckt nicht" oder "Stecker steckt" alle etwa 1,75s seit dem 14.10. Anscheinend wurde eine Änderung vorgenommen, daß verschiedene Topics des Chargepoints permanent beschrieben werden und nicht nur bei Änderung. Ich habe parallel eine Frage gestellt, ob das so gewollt ist. Vermutlich werde ich selbst auf Änderungen prüfen müssen.
Eine geänderte Version werde ich im ersten Post einstellen, wenn sie vorhanden ist.

Ergänzung: Das Topic für das Setzen des manuellen SOC hat sich nach 2.1.1 auch geändert. Ich denke, ich habe das Richtige ausgemacht. Nach einem gelungenen Test werde ich veröffentlichen.
zut
Beiträge: 609
Registriert: Di Feb 23, 2021 9:34 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von zut »

Vorgehend beschriebenen Fehler durch Löschen der Ausgabe verhindert. SOC-Topic für 2.1.1-Beta1 und folgende passt auch. Etliche Ergänzungen für Software 1.9.
Aktuelle Version im ersten Beitrag.
solarproggy
Beiträge: 21
Registriert: Di Nov 22, 2022 4:41 pm

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von solarproggy »

@ zut

Ich habe das Projekt jetzt zum Laufen gebracht, erhalte aber keinen SOC Wert in openwb.
Folgende Meldung kommt in der Konsole des Raspberrypi
"python soc_helper.py
2023-11-12 21:40:26.984720 Öffne existierende Datei /home/leo/soc_helper/energydata.csv
2023-11-12 21:40:27.047912 Connected with result code 0
2023-11-12 21:40:27.600504 Ladestecker wurde gesteckt bei Zähler 2029.4"

Meine Anlage:
openWB Version: 1.9.303.0
e-up Baujahr 2022
Wallbox go-e V3 Firmware 055.7
Meatpi Firmware v. 2.80

Keine Ahnung wo es hakt. Für Hilfe wäre ich sehr dankbar.
wb-2020
Beiträge: 114
Registriert: Di Aug 04, 2020 1:41 pm

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von wb-2020 »

Ich suche auch noch nach einer Möglichkeit, den SOC unseres e-Up in die openWB zu bringen. Deshalb finde ich die vorgestellte Idee sehr interessant.

Ich nutze auch den ioBroker. Wenn ich es richtig verstanden habe, sendet der OBD-Dongle Informationen über MQTT. Über den MQTT-Adapter des ioBroker sollte man die entsprechenden Topics bekommen und daraus den SOC berechnen können. Und den könnte man dann über das http- oder das mqtt-SOC-Modul der openWB zurückmelden.
Ich kenne mich aber leider mit den technischen Details nicht aus und helfe mir immer, indem ich Anleitung wie diese hier kopiere und 1:1 verwende. In der Doku des Dongles auf GitHub ist der Abruf und die Berechnung des SOC als Beispiel dargestellt. Allerdings im JSON-Format(?). Ich habe bisher nur Anwendungen verwendet, bei denen über einen MQTT-Adapter die Topics direkt ausgelesen werden. Und mit diesen Werten kann man dann weiter arbeiten. Funktioniert das für den SOC-Abruf über den Dongle genauso? Das würde mir eine neue "Baustelle" in Gestalt einer Python-Installation ersparen.
zut
Beiträge: 609
Registriert: Di Feb 23, 2021 9:34 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von zut »

solarproggy hat geschrieben: So Nov 12, 2023 9:04 pm @ zut

Ich habe das Projekt jetzt zum Laufen gebracht, erhalte aber keinen SOC Wert in openwb.
Folgende Meldung kommt in der Konsole des Raspberrypi
"python soc_helper.py
2023-11-12 21:40:26.984720 Öffne existierende Datei /home/leo/soc_helper/energydata.csv
2023-11-12 21:40:27.047912 Connected with result code 0
2023-11-12 21:40:27.600504 Ladestecker wurde gesteckt bei Zähler 2029.4"

Meine Anlage:
openWB Version: 1.9.303.0
e-up Baujahr 2022
Wallbox go-e V3 Firmware 055.7
Meatpi Firmware v. 2.80

Keine Ahnung wo es hakt. Für Hilfe wäre ich sehr dankbar.
Anscheinend kommt noch nicht die Information, dass das Fahrzeug online ist.
Hat du die Fahrbereitschaft hergestellt? Nötig, um das Dongle aufzuwecken.
War das Dongle online und im Heimnetz? Ist das Dongle richtig konfiguriert, so dass es sich einbucht? (Fritzbox oder andere Router zeigen dass an)?
Ist die Konfigurationsdatei configuration.py angepasst? Besonders die Seriennummer des Dongle muss passen.
Soc_helper loggt, wenn der Status "online" unter der richtigen Seriennummer ankommt.
Ich kann hoffentlich heute Abend mehr schreiben.
Du kannst mit dem MQTT-explorer unter Linux oder iOS schauen, ob die Botschaften des Dongle im Broker der openWB ankommen.
Und immer dran denken: nachdem das Dongle im LAN ist, nicht mehr in seinen Access Point einbuchen und nicht mehr mit Bluetooth verbinden, sondern nur über die Heimnetz-IP, sonst setzt er die Einstellungen zurück.
solarproggy
Beiträge: 21
Registriert: Di Nov 22, 2022 4:41 pm

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von solarproggy »

Q zut

Vielen Dank für die schnelle ausführliche Antwort.
Meine Python Kenntnisse sind sehr rudimentär und mehr Versuch und Irrtum.

Die Fahrbereitschaft ist hergestellt und das Dongle ist im Heimnetz zu errreichen. Ich hatte anfangs den sleep Modus ausgeschaltet.
Bei der configuration.py ist mir nicht ganz klar,
"TOPIC_PREFIX = 'wican/DC5475625AEC' #12-stellige ID des Gerätes, sie ist dem Namen des WLAN-APs des WiCAN zu entnehmen"
was die 12 stellige ID des Gerätes ist. Ich habe hier die Mac Adresse, ersichtlich in der Fritzbox, ohne die Doppelpunkte eingegeben. Ich wüsste nicht wo ich die Seriennummer des Wican finden kann.
Den MQTT Exlorer habe ich heruntergeladen, mir ist allerdings nicht ganz klar wie ihn ihn verwenden kann.
Ich habe mal meine configuration.py und die soc_helper.py angehängt. Den Spritmonitor habe ich auskommentiert.
Auf das Auto habe ich ab 2.30 Uhr wieder Zugriff, wenn meine Frau zurückkommt.
Dateianhänge

[Die Dateierweiterung zip wurde deaktiviert und kann nicht länger angezeigt werden.]

zut
Beiträge: 609
Registriert: Di Feb 23, 2021 9:34 pm
Has thanked: 5 times
Been thanked: 11 times

Re: Projekt: SOC von OBD2-Buchse in die Wallbox (ohne Cloud)

Beitrag von zut »

Dann will ich mal weit ausholen...

Der erste Schritt ist, daß du per Browser über dein Heimnetz auf das Dongle zugreifen und es konfigurieren kannst. Das hast du erledigt. Ich nehme an, du hast auch die anderen Einstellungen gemäß README erledigt. Glückwunsch.

Als zweiten Schritt muß der Dongle sich beim Aufwachen oder Anmelden am Broker der OpenWB anmelden und seine "Status:online"-Botschaft absetzen. Dazu sollte der Dongle so eingestellt werden, daß es die IP-Adresse der openWB als Broker hat. Ich meine es wäre egal, welchen user und passwort man einstellt. Das kontrollieren wir jetzt. Dazu brauchen wir die ID und den MQTT-Explorer:
solarproggy hat geschrieben: Mo Nov 13, 2023 6:02 pm Bei der configuration.py ist mir nicht ganz klar,
"TOPIC_PREFIX = 'wican/DC5475625AEC' #12-stellige ID des Gerätes, sie ist dem Namen des WLAN-APs des WiCAN zu entnehmen"
was die 12 stellige ID des Gerätes ist. Ich habe hier die Mac Adresse, ersichtlich in der Fritzbox, ohne die Doppelpunkte eingegeben. Ich wüsste nicht wo ich die Seriennummer des Wican finden kann.
Im Grunde steht es im Kommentar: Die ID siehst du, wenn du z.B. in Android die existierenden WLANs in der Nähe des Dongles anzeigst. Das Dongle spannt einen eigenen AP auf. In dem Namen ist die ID enthalten. Keine Ahnung, ob das auch die MAC-Adresse ist. Diese sollte hinter den Schrägstrich eingetragen werden. Bitte nicht mit dem WLAN verbinden!
Den MQTT Exlorer habe ich heruntergeladen, mir ist allerdings nicht ganz klar wie ihn ihn verwenden kann.
Am Begrüßungsschirm solltest du eine neue Verbindung erstellen. Mit dem Namen der OpenWB und der richtigen IP-Adresse. SIeht dann so aus:
Screenshot_20231113_204305.png
Vor dem Connect das Speichern nicht vergessen.

Nach Verbinden sieht es erstmal so aus:
Screenshot_20231113_204514.png
Wenn die Frau mit dem Auto nach Hause kommt und sich das Dongle im WLAN anmeldet, sollte das Dongle seine Statusmeldung an den Broker schicken. Dann steht unterhalb der IP-ADresse links eine dritte Zeile, in der das Topic wican/<ID> zu sehen ist. Da kann man die ID auch ablesen. Dieses Topic sollte dann auch in der Konfigurationsdatei eingetragen werden.

Dann den soc_helper nochmal starten und die Betriebsbereitschaft des Fahrzeugs herstellen. Im MQTT-Explorer sollte das wican-Topic aufploppen und auf der Konsole sollte soc_helper jetzt etwas mehr ausspucken. Bitte schreib mal, ob das klappt, danach sehen wir weiter.
Antworten