SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Anfragen zum Erstellen von Modulen, Fragen zu Modulen
Pendragon
Beiträge: 147
Registriert: Di Jan 30, 2024 5:43 pm

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von Pendragon »

mrinas hat geschrieben: So Dez 08, 2024 8:50 am Nein, diese Modul fragt den PSA car Controller per http ab. Den müsste man also parallel betreiben.
Jetzt lese ich es auch im Post von andlem wo du es geschrieben hast.

Ja, das macht Sinn. Verbessert die Ausfallsicherheit, wenn der Umwandlungsserver dazwischen nicht mehr gebraucht wird.
openWB series 2 custom 1/3 Umschaltung 22kW & RFID
16kWp mit Huawei Sun2000-12KTL
Opel Corsa-e mit 46kWh
Datenfluss: Datenabfrage via Solaranzeige.de (alle 20s), Verarbeitung mit Edomi und direkte Weiterleitung via MQTT
andlem
Beiträge: 87
Registriert: Mi Jun 29, 2022 9:06 am
Has thanked: 1 time
Been thanked: 8 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von andlem »

Vor allem kann die Abfragehäufigkeit bei PSA damit deutlich reduziert werden.
Andi
Beiträge: 417
Registriert: So Jun 21, 2020 8:48 am
Has thanked: 4 times
Been thanked: 2 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von Andi »

MarcDerSeemann hat geschrieben: Sa Nov 23, 2024 8:38 am
Die kleinen aber entscheidenden Kniffe sind jetzt:
- openWB wird bei SOC auf „Manuell + Berechnung“ gestellt. Der SOC wird via MQTT gesetzt aber nicht mit dem (überall zu findenden): openWB.lp.1.%Soc sondern mit:
openWB/set/lp/1/manualSoc

- Jetzt kommt NodeRed ins Spiel, bzw. der dort eingesetzte Filter. Dieser blockt die Weiterleitung des SOC solange es keine Wertänderung gibt.

Nodes:

Code: Alles auswählen

[{"id":"b3da9059104c47c8","type":"http request","z":"90f78b.543da878","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://IP:5000/get_vehicleinfo/VIN","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":330,"y":100,"wires":[["1dfbda7e8303ea5c"]]},{"id":"8cf7fe1150950d01","type":"inject","z":"90f78b.543da878","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"360","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":100,"wires":[["b3da9059104c47c8"]]},{"id":"1dfbda7e8303ea5c","type":"rbe","z":"90f78b.543da878","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload.energy[0].level","topi":"topic","x":510,"y":100,"wires":[["9d90cdc55a161864"]]},{"id":"046b177666c75062","type":"mqtt out","z":"90f78b.543da878","name":"SOC setzen","topic":"openWB/set/lp/1/manualSoc","qos":"0","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"cd7464abf11d1ee0","x":1150,"y":100,"wires":[]},{"id":"9d90cdc55a161864","type":"change","z":"90f78b.543da878","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.energy[0].level","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":910,"y":100,"wires":[["046b177666c75062"]]},{"id":"cd7464abf11d1ee0","type":"mqtt-broker","name":"OpenWB","broker":"192.168.178.31","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]
Hi Marc,
danke für den Denkanstoß, ich hab es bei mir nun auch umgestellt. Allerdings habe ich das Topic für den manual Soc für das entsprechende Auto genommen, da mit Deinem topic immer der Ladepunkt beschrieben wird, auch wenn da mal ein anderes Auto dran hängt.
Ich habe dieses topic nun verwendet, das schreibt dann den SoC in das entsprechende Fahrzeugprofil und funktioniert für mich deutlich besser:

openwb/set/vehicle/1/soc_module/calculated_soc_state/manual_soc
miradarya
Beiträge: 106
Registriert: Fr Apr 17, 2020 7:38 am
Has thanked: 2 times
Been thanked: 2 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von miradarya »

andlem hat geschrieben: Mo Dez 02, 2024 10:14 pm Ich habe ein neues SoC-Modul für den PSA Car Controller geschrieben.
Das Modul fragt den SoC nur genau dann ab, wenn er gebraucht wird, während der Ladung wird der SoC aus zum Zählerstand berechnet.
Der Vorteil gegenüber MQTT ist, dass keine zyklische Abfrage über die PSA API mit anschließender Filterung durchgeführt werden muss. Damit werden weniger Anfragen am PSA-Server generiert und die Filterung muss nicht in Node-Red o. ä. durchgeführt werden. Bei zu vielen zyklischen Anfragen könnte PSA sonst den Zugang in Zukunft noch weiter einschränken.
Pull-Request ist erstellt.
Ein ganz dickes Dankeschön für das neue psacc-Modul! Habe es letzte Woche mit der 2.1.7 Beta 1 eingerichtet und es funktioniert bisher einwandfrei.
andlem
Beiträge: 87
Registriert: Mi Jun 29, 2022 9:06 am
Has thanked: 1 time
Been thanked: 8 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von andlem »

Gerne. Es freut mich, wenn es nützlich ist. 🙂
miradarya
Beiträge: 106
Registriert: Fr Apr 17, 2020 7:38 am
Has thanked: 2 times
Been thanked: 2 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von miradarya »

Mir ist noch etwas aufgefallen beim psacc-Modul: Zuerst hatte ich das Zeitintervall zur Aktualisierung der Fahrzeugdaten während der Ladung auf 720 Minuten gestellt, weil das Auto während der Ladung ja ohnehin keinen aktuellen SOC meldet und deshalb der SOC in der openwb eigenständig berechnet wird. Mit dieser Einstellung ist der SOC während der Ladung aber eingefroren. Offenbar findet also auch die interne Berechnung nur mit dem eingestellten Zeitintervall statt. Ich habe das Intervall dann auf 2 Minuten gestellt, dann funktioniert es.

Jetzt habe ich aber in den Logs des PSA Car Controller gesehen, dass während einer Ladung tatsächlich alle 2 Minuten der SOC abgefragt wird. Der wird dann zwar von der openwb nicht übernommen, weil er ja nicht aktuell ist und daher die interne Berechnung stattfindet, aber dadurch ist die Abfrage ja unnötig.

Müsste da noch etwas angepasst werden? Für mich sieht es so aus als müsste entweder die interne SOC-Berechnung unabhängig von der Zeitintervall-Einstellung stattfinden oder die SOC-Abfrage müsste während der Ladung (bis auf die initiale Abfrage) unterdrückt werden.
andlem
Beiträge: 87
Registriert: Mi Jun 29, 2022 9:06 am
Has thanked: 1 time
Been thanked: 8 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von andlem »

Es ist richtig, dass das Zeitintervall während der Ladung auf z. B. 5 Minuten eingestellt werden muss. Das hat zur Folge, dass alle 5 Minuten der SoC neu berechnet wird. Dies sieht man auch im SoC-Log. Dort sollten aber keine http-Abfragen sichtbar sein, während die Ladung läuft.
miradarya
Beiträge: 106
Registriert: Fr Apr 17, 2020 7:38 am
Has thanked: 2 times
Been thanked: 2 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von miradarya »

Ok, das hatte ich mir schon gedacht. Die http-Abfragen sind aber da, und zwar habe ich gerade festgestellt, dass die sogar dann erfolgen, wenn ein anderes Fahrzeug lädt.

Vielleicht kurz zu meinem Setup: Ich habe in der openwb drei Fahrzeuge: Das Standard-Fahrzeug ohne SoC-Modul, den Corsa-e mit psacc-Modul und den IONIQ5 mit Kia/Hyundai-Modul. Im psacc-Modul habe ich als Zeitintervall 2 Minuten während der Ladung und 720 Minuten ohne Ladung eingestellt.

Jetzt aktuell lädt zwar der Corsa, es ist aber das Standard-Fahrzeug in der openwb ausgewählt (meine Frau hat vergessen, beim Einstöpseln den Corsa auszuwählen). Trotzdem sehe ich im Log des PSA Car Controllers alle 2 Minuten SoC-Abfragen, und auch im SoC-Log der openwb steht:

Code: Alles auswählen

2025-01-30 11:28:25,287 - {modules.common.configurable_vehicle:56} - {DEBUG:fetch soc_ev3} - Vehicle Instance <class 'modules.vehicles.psacc.config.PSACCVehicleSoc'>
2025-01-30 11:28:25,293 - {modules.common.configurable_vehicle:57} - {DEBUG:fetch soc_ev3} - Calculated SoC-State CalculatedSocState(imported_start=None, manual_soc=None, soc_start=47.0)
2025-01-30 11:28:25,296 - {modules.common.configurable_vehicle:58} - {DEBUG:fetch soc_ev3} - Vehicle Update Data VehicleUpdateData(plug_state=False, charge_state=False, imported=None, battery_capacity=42000, efficiency=90, soc_from_cp=None, timestamp_soc_from_cp=None, soc_timestamp=1737109851.754224)
2025-01-30 11:28:25,299 - {modules.common.configurable_vehicle:59} - {DEBUG:fetch soc_ev3} - General Config GeneralVehicleConfig(use_soc_from_cp=False, request_interval_charging=120, request_interval_not_charging=43200, request_only_plugged=False)
2025-01-30 11:28:25,302 - {modules.common.component_context:26} - {DEBUG:fetch soc_ev3} - Update Komponente ['PSA Car Controller']
2025-01-30 11:28:25,313 - {urllib3.connectionpool:227} - {DEBUG:fetch soc_ev3} - Starting new HTTP connection (1): pitahaya.fritz.box:5000
2025-01-30 11:28:25,313 - {urllib3.connectionpool:227} - {DEBUG:fetch soc_ev3} - Starting new HTTP connection (1): pitahaya.fritz.box:5000
2025-01-30 11:28:25,655 - {urllib3.connectionpool:452} - {DEBUG:fetch soc_ev3} - http://pitahaya.fritz.box:5000 "GET /get_vehicleinfo/VXKUH... HTTP/1.1" 200 2012
2025-01-30 11:28:25,655 - {urllib3.connectionpool:452} - {DEBUG:fetch soc_ev3} - http://pitahaya.fritz.box:5000 "GET /get_vehicleinfo/VXKUH... HTTP/1.1" 200 2012
2025-01-30 11:28:25,663 - {modules.common.req:32} - {DEBUG:fetch soc_ev3} - Get-Response: {"embedded": null, "links": {"_self": {"deprecation": null, "href": "https://api.groupe-psa.com/connectedcar/v4/user/vehicles/.../status?profile=endUser", "hreflang": null, "name": null, "profile": null, "templated": null, "title": null, "type": null}, "vehicle": {"deprecation": null, "href": "https://api.groupe-psa.com/connectedcar/v4/user/vehicles/...", "hreflang": null, "name": null, "profile": null, "templated": null, "title": null, "type": null}}, "battery": {"current": null, "voltage": 82.5}, "doors_state": null, "energy": [{"updated_at": "2025-01-30 10:19:26+00:00", "autonomy": 206.0, "battery": null, "charging": {"charging_mode": "Slow", "charging_rate": 56, "next_delayed_time": "PT0S", "plugged": true, "remaining_time": "PT0S", "status": "InProgress"}, "consumption": null, "level": 75.0, "residual": null, "type": "Electric"}], "environment": {"created_at": null, "air": {"temp": 6.5}, "luminosity": {"day": true}}, "ignition": {"type": "Stop"}, "kinetic": {"acceleration": null, "moving": false, "pace": null, "speed": null}, "last_position": {"type": "Feature", "geometry": {"coordinates": [8.55609, 51.73253, 91.0], "type": "Point"}, "properties": {"heading": 69.0, "signal_quality": 9.0, "type": "Acquire", "updated_at": "2025-01-30 08:26:50+00:00"}}, "preconditionning": {"air_conditioning": {"failure_cause": null, "status": "Disabled", "updated_at": "2025-01-30 10:19:23+00:00", "created_at": "2025-01-30 10:19:23+00:00"}}, "privacy": {"state": "None"}, "safety": null, "service": {"type": "Electric", "updated_at": null}, "timed_odometer": {"updated_at": "2025-01-30 10:19:23+00:00", "mileage": 47979.5}}
2025-01-30 11:28:25,681 - {modules.vehicles.json.soc:35} - {DEBUG:fetch soc_ev3} - parse_data: data='{'embedded': None, 'links': {'_self': {'deprecation': None, 'href': 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/.../status?profile=endUser', 'hreflang': None, 'name': None, 'profile': None, 'templated': None, 'title': None, 'type': None}, 'vehicle': {'deprecation': None, 'href': 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/...', 'hreflang': None, 'name': None, 'profile': None, 'templated': None, 'title': None, 'type': None}}, 'battery': {'current': None, 'voltage': 82.5}, 'doors_state': None, 'energy': [{'updated_at': '2025-01-30 10:19:26+00:00', 'autonomy': 206.0, 'battery': None, 'charging': {'charging_mode': 'Slow', 'charging_rate': 56, 'next_delayed_time': 'PT0S', 'plugged': True, 'remaining_time': 'PT0S', 'status': 'InProgress'}, 'consumption': None, 'level': 75.0, 'residual': None, 'type': 'Electric'}], 'environment': {'created_at': None, 'air': {'temp': 6.5}, 'luminosity': {'day': True}}, 'ignition': {'type': 'Stop'}, 'kinetic': {'acceleration': None, 'moving': False, 'pace': None, 'speed': None}, 'last_position': {'type': 'Feature', 'geometry': {'coordinates': [8.55609, 51.73253, 91.0], 'type': 'Point'}, 'properties': {'heading': 69.0, 'signal_quality': 9.0, 'type': 'Acquire', 'updated_at': '2025-01-30 08:26:50+00:00'}}, 'preconditionning': {'air_conditioning': {'failure_cause': None, 'status': 'Disabled', 'updated_at': '2025-01-30 10:19:23+00:00', 'created_at': '2025-01-30 10:19:23+00:00'}}, 'privacy': {'state': 'None'}, 'safety': None, 'service': {'type': 'Electric', 'updated_at': None}, 'timed_odometer': {'updated_at': '2025-01-30 10:19:23+00:00', 'mileage': 47979.5}}' pattern='.energy[0].level'
2025-01-30 11:28:26,076 - {modules.vehicles.json.soc:44} - {DEBUG:fetch soc_ev3} - result='75'
2025-01-30 11:28:26,084 - {modules.vehicles.json.soc:35} - {DEBUG:fetch soc_ev3} - parse_data: data='{'embedded': None, 'links': {'_self': {'deprecation': None, 'href': 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/.../status?profile=endUser', 'hreflang': None, 'name': None, 'profile': None, 'templated': None, 'title': None, 'type': None}, 'vehicle': {'deprecation': None, 'href': 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/...', 'hreflang': None, 'name': None, 'profile': None, 'templated': None, 'title': None, 'type': None}}, 'battery': {'current': None, 'voltage': 82.5}, 'doors_state': None, 'energy': [{'updated_at': '2025-01-30 10:19:26+00:00', 'autonomy': 206.0, 'battery': None, 'charging': {'charging_mode': 'Slow', 'charging_rate': 56, 'next_delayed_time': 'PT0S', 'plugged': True, 'remaining_time': 'PT0S', 'status': 'InProgress'}, 'consumption': None, 'level': 75.0, 'residual': None, 'type': 'Electric'}], 'environment': {'created_at': None, 'air': {'temp': 6.5}, 'luminosity': {'day': True}}, 'ignition': {'type': 'Stop'}, 'kinetic': {'acceleration': None, 'moving': False, 'pace': None, 'speed': None}, 'last_position': {'type': 'Feature', 'geometry': {'coordinates': [8.55609, 51.73253, 91.0], 'type': 'Point'}, 'properties': {'heading': 69.0, 'signal_quality': 9.0, 'type': 'Acquire', 'updated_at': '2025-01-30 08:26:50+00:00'}}, 'preconditionning': {'air_conditioning': {'failure_cause': None, 'status': 'Disabled', 'updated_at': '2025-01-30 10:19:23+00:00', 'created_at': '2025-01-30 10:19:23+00:00'}}, 'privacy': {'state': 'None'}, 'safety': None, 'service': {'type': 'Electric', 'updated_at': None}, 'timed_odometer': {'updated_at': '2025-01-30 10:19:23+00:00', 'mileage': 47979.5}}' pattern='.energy[0].autonomy'
2025-01-30 11:28:26,457 - {modules.vehicles.json.soc:44} - {DEBUG:fetch soc_ev3} - result='206'
2025-01-30 11:28:26,459 - {modules.vehicles.json.soc:72} - {DEBUG:fetch soc_ev3} - timestamp_pattern='.energy[0].updated_at'
2025-01-30 11:28:26,464 - {modules.vehicles.json.soc:35} - {DEBUG:fetch soc_ev3} - parse_data: data='{'embedded': None, 'links': {'_self': {'deprecation': None, 'href': 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/.../status?profile=endUser', 'hreflang': None, 'name': None, 'profile': None, 'templated': None, 'title': None, 'type': None}, 'vehicle': {'deprecation': None, 'href': 'https://api.groupe-psa.com/connectedcar/v4/user/vehicles/...', 'hreflang': None, 'name': None, 'profile': None, 'templated': None, 'title': None, 'type': None}}, 'battery': {'current': None, 'voltage': 82.5}, 'doors_state': None, 'energy': [{'updated_at': '2025-01-30 10:19:26+00:00', 'autonomy': 206.0, 'battery': None, 'charging': {'charging_mode': 'Slow', 'charging_rate': 56, 'next_delayed_time': 'PT0S', 'plugged': True, 'remaining_time': 'PT0S', 'status': 'InProgress'}, 'consumption': None, 'level': 75.0, 'residual': None, 'type': 'Electric'}], 'environment': {'created_at': None, 'air': {'temp': 6.5}, 'luminosity': {'day': True}}, 'ignition': {'type': 'Stop'}, 'kinetic': {'acceleration': None, 'moving': False, 'pace': None, 'speed': None}, 'last_position': {'type': 'Feature', 'geometry': {'coordinates': [8.55609, 51.73253, 91.0], 'type': 'Point'}, 'properties': {'heading': 69.0, 'signal_quality': 9.0, 'type': 'Acquire', 'updated_at': '2025-01-30 08:26:50+00:00'}}, 'preconditionning': {'air_conditioning': {'failure_cause': None, 'status': 'Disabled', 'updated_at': '2025-01-30 10:19:23+00:00', 'created_at': '2025-01-30 10:19:23+00:00'}}, 'privacy': {'state': 'None'}, 'safety': None, 'service': {'type': 'Electric', 'updated_at': None}, 'timed_odometer': {'updated_at': '2025-01-30 10:19:23+00:00', 'mileage': 47979.5}}' pattern='.energy[0].updated_at'
2025-01-30 11:28:26,855 - {modules.vehicles.json.soc:44} - {DEBUG:fetch soc_ev3} - result='2025-01-30 10:19:26+00:00'
2025-01-30 11:28:26,858 - {modules.common.configurable_vehicle:67} - {DEBUG:fetch soc_ev3} - Requested start soc from api: 75.0%
2025-01-30 11:28:26,861 - {modules.common.store._api:26} - {DEBUG:fetch soc_ev3} - Raw data CarState(soc=75.0, range=206, soc_timestamp=1738232366)
2025-01-30 11:28:26,893 - {modules.common.store._api:31} - {INFO:store soc_ev3} - Saving CarState(soc=75.0, range=206, soc_timestamp=1738232366)
Irgendwas stimmt da also nicht. Die SoC-Abfragen sollten nicht alle zwei Minuten kommen, schon gar nicht, wenn der Corsa gar nicht als Fahrzeug in der openwb beim Laden ausgewählt ist.
andlem
Beiträge: 87
Registriert: Mi Jun 29, 2022 9:06 am
Has thanked: 1 time
Been thanked: 8 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von andlem »

Das Verhalten ist merkwürdig und bei mir definitiv nicht so.
Das SoC-Modul selbst hat, so weit ich weiß, aber gar keinen Einfluss darauf, wann es abgefragt wird.
Evtl. es ist es ein genereller Bug, der außerhalb des Moduls liegt? Kannst Du das mit der neuen RC1 testen und ggf. in den Rückmeldungen reporten?
miradarya
Beiträge: 106
Registriert: Fr Apr 17, 2020 7:38 am
Has thanked: 2 times
Been thanked: 2 times

Re: SoC für den neuen Opel Corsa e (ggf. auch Peugeot 208e?)

Beitrag von miradarya »

Ja, das kann ich am Wochenende machen.

Damit erstmal nicht ganz so viele Anfragen an den PSA-Server gehen, habe ich das Zeitintervall während der Ladung jetzt auf 5 Minuten erhöht. Trotzdem fragt die openwb aber weiterhin im 2-Minuten-Takt den SoC ab, hab's gerade nochmal probiert. Da wird also komischerweise auch die Zeiteinstellung nicht richtig berücksichtigt, denn 2 Minuten sind jetzt nirgends mehr eingetragen.

Das Kia/Hyundai-Modul ist übrigens währenddessen still, da finden keine ungewünschten SoC-Abfragen statt.
Antworten