SoC mit der openWB Pro beim anstecken auslesen und verwenden

Alles rund um SoC (Ladezustand des Fahrzeuges). Probleme, Fragen, Fehlfunktionen gehören hier hin
Antworten
raudi
Beiträge: 54
Registriert: Fr Jun 24, 2022 6:50 pm
Been thanked: 1 time

SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von raudi »

Moin zusammen,

ich habe die Tage viel gelesen und getestet aber komme irgendwie nicht weiter.

Ich möchte einfach nur den SoC, der beim einstecken von der openWB Pro ermittelt wird, übernehmen und nutzen. Nur das bekomme ich nicht zuverlässig hin. Oder ich mache hier einen Fehler und sehe den Wald vor lauter Bäumen nicht.

Zum Einsatz kommt eine openWB Standalone mit 2.1.6-Alpha.1 vom 18.09.24 und 3x eine openWB Pro mit Charging Stack Version 3.2.1. Der PKW ist ein Skoda Enyaq von 08/24 mit der Software 5.2. Also alles auf dem aktuellsten Stand.

Die openWB Pro kann den SoC zuverlässig auslesen, dieser wird mir über die connect.php immer korrekt angezeigt.

Nur wie bekomme ich die openWB Software dazu diesen SoC auch zu verwenden?

Ich hatte beim Skoda "Manueller SoC" eingestellt und den Punkt "SoC direkt aus Fahrzeug auslesen" auf "Ja" gestellt. Der Hilfe nach, genau das was ich eigentlich will. Aber das funktioniert irgendwie nicht zuverlässig. Wenn ich andere Posts hier im Forum korrekt verstehe ist hier das Problem, dass der SoC scheinbar nur übernommen wird, wenn der SoC im KFZ höher ist, als der zuletzt in der openWB gespeicherte.

Also ich lade bis 95%, ziehe ab und fahre bis auf 65% runter. Stecke dann wieder ran, dann zeigt die GUI nach wie vor 95% an und der Wert wird beim anstecken auch nicht angepasst. Setze ich den Wert vor dem anstecken manuell auf z.B. 55%, dann wird der Wert übernommen. Das habe ich aber nur 2x getestet. Einmal hat es funktioniert und ein mal nicht. Da habe ich aber erstmal nicht weiter analysiert, denn da kam mir dann eine andere Idee.

Warum nicht das MQTT Modul verwenden, hier kann ich genauso sagen, dass beim einstecken der SoC direkt ausgelesen werden soll. Denn ich dachte mir, wenn auch hier das gleiche Problem besteht, dass er den SoC nicht übernimmt, wenn der Ladestand beim abziehen höher war als später beim anstecken, dann lasse ich über ein Script einfach den SoC auf 0 setzen.

Also z.B. mit
mosquitto_sub -h 192.168.77.70 -t 'openWB/chargepoint/6/get/plug_state' -C 1

abfragen ob ein KFZ angeschlossen ist und mit
mosquitto_sub -h 192.168.77.70 -t 'openWB/chargepoint/6/get/soc' -C 1

den aktuellen SoC ermitteln, der in der GUI angezeigt wird. Wenn nun kein PKW angeschlossen und der SoC größer 0, dann mit
mosquitto_pub -h 192.168.77.70 -t 'openWB/set/vehicle/2/get/soc' -m 0

den SoC einfach auf "0" setzen, so dass dieser beim Stecken wieder gesetzt wird.

Aber das funktioniert leider auch nicht, denn beim MQTT Modul wird der SoC beim Stecken nicht übernommen. Er wird korrekt ausgelesen:

Code: Alles auswählen

2024-09-20 20:28:03,028 - {modules.common.configurable_vehicle:58} - {DEBUG:fetch soc_ev2} - Vehicle Update Data VehicleUpdateData(plug_state=True, charge_state=False, imported=224945, battery_capacity=77000, efficiency=90, soc_from_cp=96, timestamp_soc_from_cp=1726856874)
2024-09-20 20:28:03,028 - {modules.common.configurable_vehicle:59} - {DEBUG:fetch soc_ev2} - General Config GeneralVehicleConfig(use_soc_from_cp=True, request_interval_charging=300, request_interval_not_charging=43200, request_only_plugged=True)
2024-09-20 20:28:03,029 - {modules.common.component_context:25} - {DEBUG:fetch soc_ev2} - Update Komponente ['MQTT']
2024-09-20 20:28:03,030 - {modules.common.configurable_vehicle:64} - {DEBUG:fetch soc_ev2} - No soc update necessary.
Abfragen kann man ihn auch hier:
root@srv44:~mosquitto_sub -h 192.168.77.70 -t 'openWB/chargepoint/6/get/soc' -C 1 1
96

Er wird aber nicht in der GUI angezeigt und auch nicht hier:
root@srv44:~# mosquitto_sub -h 192.168.77.70 -t 'openWB/chargepoint/6/get/connected_vehicle/soc' -C 1
{"fault_str": "Kein Fehler.", "fault_state": 0, "range_charged": 0, "range_unit": "km", "range": 0, "soc": 0, "timestamp": 1726857163.664594}

Also, das war nun viel Text, was mache ich falsch? Wie kann ich die Funktion, die von der openWB Pro angeboten wird in der openWB nutzen?

Ich habe hier am letzten Mittwoch auch schon ein Ticket beim Support auf gemacht, da kam am Freitagnachmittag die Antwort, ob ich vielleicht die Einstellung "SoC direkt aus Fahrzeug auslesen" nicht auf "ja" gesetzt hätte. Dabei bezog sich meine Frage doch genau auf diese Funktion...

Ich habe irgendwie die Hoffnung, dass ich irgendetwas übersehe oder grundsätzlich falsch mache. Denn ich kann mir nicht vorstellen, dass dieses sonst keiner verwendet oder dass es einfach nicht möglich sein sollte. Daher dachte ich mir, stelle die Frage noch mal hier in die Runde, wer nutzt diese Funktion und wie habt ihr das umgesetzt?

Ich hoffe es hat da noch jemand einen Tipp für mich.

Schon mal besten Dank fürs lesen und viele Grüße
Stefan
openWB Standalone (mit Display) und 3x openWB Pro - Skoda Enyaq RS Coupe - Seat Mii Electric
sonnenBatterie 10 performance 44 kWh - 2x Kostal mit 30 kWp
Gero
Beiträge: 3411
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 59 times

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von Gero »

Ich vermute mal was ins Blaue: Manueller SoC ist die Funktion, die es erlaubt, einen SoC manuell z.B. via Bildschirmtastatur auf dem Display / Handy vorzugeben. Das würde sich mit dem automatisch auslesen lassen beißen.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
raudi
Beiträge: 54
Registriert: Fr Jun 24, 2022 6:50 pm
Been thanked: 1 time

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von raudi »

Danke für die Antwort, aber nein. Eben hat es wieder funktioniert, ich habe es auf "Manueller SoC" gestellt und der SoC stand bei 11%:

Code: Alles auswählen

2024-09-21 14:20:24,659 - {modules.common.configurable_vehicle:56} - {DEBUG:fetch soc_ev2} - Vehicle Instance <class 'modules.vehicles.manual.config.ManualSoc'>
2024-09-21 14:20:24,660 - {modules.common.configurable_vehicle:57} - {DEBUG:fetch soc_ev2} - Calculated SoC-State CalculatedSocState(imported_start=224945, manual_soc=None, soc_start=11)
2024-09-21 14:20:24,660 - {modules.common.configurable_vehicle:58} - {DEBUG:fetch soc_ev2} - Vehicle Update Data VehicleUpdateData(plug_state=True, charge_state=False, imported=224945, battery_capacity=77000, efficiency=90, soc_from_cp=89, timestamp_soc_from_cp=1726921208)
2024-09-21 14:20:24,662 - {modules.common.configurable_vehicle:59} - {DEBUG:fetch soc_ev2} - General Config GeneralVehicleConfig(use_soc_from_cp=True, request_interval_charging=300, request_interval_not_charging=43200, request_only_plugged=True)
2024-09-21 14:20:24,664 - {modules.common.component_context:25} - {DEBUG:fetch soc_ev2} - Update Komponente ['Manueller SoC']
2024-09-21 14:20:24,666 - {modules.common.configurable_vehicle:67} - {DEBUG:fetch soc_ev2} - Requested start soc from chargepoint: 89%
2024-09-21 14:20:24,670 - {modules.common.store._api:26} - {DEBUG:fetch soc_ev2} - Raw data CarState(soc=89, range=None, soc_timestamp=0)
2024-09-21 14:20:24,786 - {modules.common.store._api:31} - {INFO:store soc_ev2} - Saving CarState(soc=89, range=None, soc_timestamp=0)
Er hat die 89% ausgelesen und gesetzt.

Das einzige was ich anders gemacht habe, zuvor stand der Ladepunkt bei meinen Tests immer auf "Stop", ich dachte ich stecke an und er kommuniziert und liest den SoC, er sollte ja nicht laden. In der openWB Pro ist es ja auch angekommen, aber in der GUI nicht, vermutlich weil er auf "Stop" stand, denn eben habe ich 2x angesteckt, beim ersten mal stand er noch auf "Stop" und beim zweiten mal habe ich vorher auf PV gestellt, dann hat es funktioniert.

Ich werde noch mal versuchen irgendwie ein Schema zu ermitteln, ob es wirklich so ist.

Übrigens kann ich auch wenn ich auf "Manueller SoC" stehe den SoC per MQTT auf Null setzen...

Aber grundsätzlich gebe ich dir natürlich von der Logik her recht, aber leider gibt es bei der Auswahl des SoC Moduls kein "openWB Pro", man muss immer irgendein anderes anwählen, damit der Punkt "SoC direkt aus Fahrzeug auslesen" erscheint und anwählbar wird...
openWB Standalone (mit Display) und 3x openWB Pro - Skoda Enyaq RS Coupe - Seat Mii Electric
sonnenBatterie 10 performance 44 kWh - 2x Kostal mit 30 kWp
raudi
Beiträge: 54
Registriert: Fr Jun 24, 2022 6:50 pm
Been thanked: 1 time

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von raudi »

Ich glaube die openWB speichert noch an anderer Stelle den SoC ab. Und wenn man nun abzieht, den manuellen SoC auf Null setzt und wieder steckt, dann meint er, er müsse nichts machen, da sich der SoC vom PKW nicht geändert hat. Anders kann ich mir das nicht wirklich erklären...

So ist es mit testen echt schwierig... Mal schauen was passiert, wenn ich morgen unterwegs war und wieder anstecke...
openWB Standalone (mit Display) und 3x openWB Pro - Skoda Enyaq RS Coupe - Seat Mii Electric
sonnenBatterie 10 performance 44 kWh - 2x Kostal mit 30 kWp
raudi
Beiträge: 54
Registriert: Fr Jun 24, 2022 6:50 pm
Been thanked: 1 time

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von raudi »

Soo... Ich habe gestern noch mal einige Tests gemacht.

Stelle ich den SoC auf MQTT, dann wird beim anstecken scheinbar nicht der übermittelte SoC übernommen. Hier wird dieses vermutlich ignoriert, ob wohl es das Setup-Menü ja suggeriert, dass es gemacht wird.

Stelle ich auf "Manueller SoC" dann wird jedes mal, wenn ich zuvor den SoC auf Null gesetzt und die openWB neugestartet habe, dieser übernommen.

Setze ich nur den SoC auf Null und stecke neu an, dann wird der SoC nicht übernommen. Vermutlich weil er irgendwo in einem flüchtigen Bereich noch mal abgelegt und durch das manuelle setzen des SoC dort nicht geändert wird. Und beim erneuten anstecken wird der SoC dann ignoriert, weil er sich nicht geändert hat, so meine Vermutung.

Ist ja vermutlich im normalen Betrieb kein Problem, aber wenn man einfach nur testen möchte um zu ermitteln, ob und wie es funktioniert, dann ist ein solches Verhalten nicht hilfreich, da ja erstmal etwas anderes erwartet wird.

Oder wer weiß, evtl. ist es ja sogar ein Fehler und soll gar nicht so sein.
openWB Standalone (mit Display) und 3x openWB Pro - Skoda Enyaq RS Coupe - Seat Mii Electric
sonnenBatterie 10 performance 44 kWh - 2x Kostal mit 30 kWp
Gero
Beiträge: 3411
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 4 times
Been thanked: 59 times

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von Gero »

Ixh bin erstaunt, dass es so kompliziert sein soll eine pro zum auslesen des SoCs zu bringen. Hier haben ja einige eine pro und das mit dem SoC ist ja nun mal das Feature, was schon benutzbar ist. Vorausgesgetzt natürlich, dass das EV eins derer von der Kompatibilitätsliste ist.

Vielleicht hilft noch der Tip, dass die Ladefreigabe über die RFiD-Funktionalität geht und es an dieser Stelle noch hakt. Ich hab‘ keine pro, deshalb kann ich nur vermuten.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
raudi
Beiträge: 54
Registriert: Fr Jun 24, 2022 6:50 pm
Been thanked: 1 time

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von raudi »

Eigentlich ist es nicht kompliziert, wenn man weiß wie es tickt...

Man darf nur nicht anfangen zu viel zu testen, also PKW anstecken, Wert auslesen lassen, abziehen, Wert manuell verändern, wieder stecken und erwarten, dass der Wert beim anstecken wieder ausgelesen und angezeigt wird.

Aber vielleicht ist es ja auch ein Fehler, dass der Wert beim manuellen Anpassen des SoC ein einer Stelle nicht aktualisiert wird und ich daher dieses komische Verhalten habe...

Ich habe gestern angesteckt, ein SoC von 94% wurde ausgelesen und angezeigt. Ich habe das Kabel wieder gezogen und per MQTT den SoC auf Null gesetzt. Eben sind wir etwas gefahren und ich habe wieder gesteckt. Der SoC von 89% wurde erkannt und angezeigt, so wie es sein soll...

Nun werde ich noch mal testen, was passiert, wenn ich den SoC nicht auf Null setze. Das sehe ich aber erst, wenn ich morgen vom Kunden wieder komme. Denn das Verhalten, dass der SoC nicht übernommen wird, wenn der in der openWB angezeigte SoC höher ist als im PKW, das hatte ich hier zuvor ja auch noch, und das haben auch andere hier im Forum bereits berichtet.
openWB Standalone (mit Display) und 3x openWB Pro - Skoda Enyaq RS Coupe - Seat Mii Electric
sonnenBatterie 10 performance 44 kWh - 2x Kostal mit 30 kWp
raudi
Beiträge: 54
Registriert: Fr Jun 24, 2022 6:50 pm
Been thanked: 1 time

Re: SoC mit der openWB Pro beim anstecken auslesen und verwenden

Beitrag von raudi »

Okay, ich denke nun kann ich das Verhalten vollständig beschreiben... Hier die Zusammenfassung:

Hat man keinen weiteren Cloud Dienst etc. und möchte den SoC mit einem kompatiblem PKW beim einstecken von der openWP Pro nutzen, dann muss man in der Fahrzeug-Konfiguration auf auf "Manueller SoC" stellen. Auch wenn einem durch die Konfiguration suggeriert wird, das bei der Auswahl von MQTT auch der SoC beim einstecken ausgelesen wird, dieses funktioniert nicht.

Des weiteren ist darauf zu achten, dass der SoC "vor" dem einstecken manuell auf einen Wert gestellt wird, der geringer ist als der SoC im KFZ.

Ich nutze dazu dieses keine Bash Script:

Code: Alles auswählen

#! /bin/bash
plugstate=`mosquitto_sub -h 192.168.77.70 -t 'openWB/chargepoint/6/get/plug_state' -C 1`
soc=` mosquitto_sub -h 192.168.77.70 -t 'openWB/chargepoint/6/get/connected_vehicle/soc' -C 1 | grep -o -P '.{0,0}"soc":.{0,5}' | sed 's/[^0-9.-]//g'`

if [[ $plugstate == "false" ]]
then
   if [[ $soc != "0" ]]
   then
      mosquitto_pub -h 192.168.77.70 -t 'openWB/set/vehicle/2/get/soc' -m 0
   fi
fi
Damit wird, wenn kein PKW angeschlossen ist und der SoC nicht Null ist, dieser auf Null gesetzt. Das lasse ich einfach über einen Cron alle 5 Minuten laufen. Interessanter weise kann der SoC mittels MQTT auch bei der Einstellung "Manueller SoC" gesetzt werden.

Hintergrund ist, in der GUI der openWB wird der letzte SoC Wert immer noch angezeigt, der beim abziehen Aktuell war, z.B. 95%. Ist der SoC im KFZ auf 60% runter, so wird dieser von der openWB nicht übernommen. Setzt man jedoch zuvor den SoC auf z.B. Null, dann wird der SoC übernommen.

Und dann wie hier geschrieben, das Verhalten beim erneuten Anstecken, wenn sich der PKW SoC nicht geändert hat, dass in diesem Fall der SoC nicht übernommen wird, auch wenn der SoC über die GUI vorm anstecken verändert wurde. Das funktioniert nur, wenn man die openWB einmal neustartet. Das kann beim Testen zu extremen Verwirrungen führen.
openWB Standalone (mit Display) und 3x openWB Pro - Skoda Enyaq RS Coupe - Seat Mii Electric
sonnenBatterie 10 performance 44 kWh - 2x Kostal mit 30 kWp
Antworten