Cupra Connect SoC

Alles rund um SoC (Ladezustand des Fahrzeuges). Probleme, Fragen, Fehlfunktionen gehören hier hin
ChristophR
Beiträge: 1146
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 56 times
Been thanked: 89 times

Re: Cupra Connect SoC

Beitrag von ChristophR »

Ich habe das brandneue Cupra SoC Modul ausprobiert.
Die GUI ist zwar noch nicht fertig, habe die Daten (User-ID, Passwort, VIN) manuell in der JSON eingetragen.
Beim Abrufen des SoC erhalte ich folgenden Fehler:

Code: Alles auswählen

2025-07-14 20:58:03,275 - {modules.common.configurable_vehicle:63} - {DEBUG:fetch soc_ev2} - Vehicle Instance <class 'modules.vehicles.cupra.config.Cupra'>
2025-07-14 20:58:03,275 - {modules.common.configurable_vehicle:64} - {DEBUG:fetch soc_ev2} - Calculated SoC-State CalculatedSocState(imported_start=None, manual_soc=None, soc_start=60.55)
2025-07-14 20:58:03,276 - {modules.common.configurable_vehicle:65} - {DEBUG:fetch soc_ev2} - Vehicle Update Data VehicleUpdateData(plug_state=False, charge_state=False, imported=None, battery_capacity=55000, efficiency=90, soc_from_cp=None, timestamp_soc_from_cp=None, soc_timestamp=1752511457.828435)
2025-07-14 20:58:03,276 - {modules.common.configurable_vehicle:66} - {DEBUG:fetch soc_ev2} - General Config GeneralVehicleConfig(use_soc_from_cp=False, request_interval_charging=300, request_interval_not_charging=900, request_only_plugged=False)
2025-07-14 20:58:03,277 - {modules.common.component_context:29} - {DEBUG:fetch soc_ev2} - Update Komponente ['Cupra']
2025-07-14 20:58:03,283 - {asyncio:59} - {DEBUG:fetch soc_ev2} - Using selector: EpollSelector
2025-07-14 20:58:03,296 - {modules.vehicles.vwgroup.vwgroup:49} - {DEBUG:fetch soc_ev2} - set refreshToken to initial value
2025-07-14 20:58:03,300 - {modules.vehicles.vwgroup.vwgroup:63} - {DEBUG:fetch soc_ev2} - set accessToken to initial value
2025-07-14 20:58:03,616 - {modules.vehicles.cupra.libcupra:239} - {DEBUG:fetch soc_ev2} - Refreshing tokens
2025-07-14 20:58:03,790 - {modules.vehicles.cupra.libcupra:245} - {INFO:fetch soc_ev2} - Reconnecting
2025-07-14 20:58:05,001 - {modules.common.fault_state:49} - {ERROR:fetch soc_ev2} - Cupra: FaultState FaultStateLevel.ERROR, FaultStr <class 'KeyError'> ('Location',), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 73, in update
    car_state = self._get_carstate_by_source(vehicle_update_data, source)
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 126, in _get_carstate_by_source
    return self.__component_updater(vehicle_update_data)
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/soc.py", line 26, in updater
    return fetch(vehicle_update_data, vehicle_config, vehicle)
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/soc.py", line 19, in fetch
    soc, range, soc_ts, soc_tsX = api.fetch_soc(config, vehicle)
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/api.py", line 31, in fetch_soc
    soc, range, soc_ts, soc_tsX = loop.run_until_complete(a._fetch_soc())
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/api.py", line 20, in _fetch_soc
    return await super().request_data(cupra)
  File "/var/www/html/openWB/packages/modules/vehicles/vwgroup/vwgroup.py", line 69, in request_data
    self.data = await library.get_status()
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/libcupra.py", line 246, in get_status
    if await self.reconnect():
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/libcupra.py", line 161, in reconnect
    url = response.headers['Location']
KeyError: 'Location'
P.S: Ist auch ein Cupra Born
openWB Series 2 Standard+, SW-Version 2
SolarEdge SE10K-RWS, BYD LVS 8, 16,8 kWp.
CUPRA Born
ChristophR
Beiträge: 1146
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 56 times
Been thanked: 89 times

Re: Cupra Connect SoC

Beitrag von ChristophR »

ChristophR hat geschrieben: Mo Jul 14, 2025 7:05 pm Ich habe das brandneue Cupra SoC Modul ausprobiert.
Die GUI ist zwar noch nicht fertig, habe die Daten (User-ID, Passwort, VIN) manuell in der JSON eingetragen.
Beim Abrufen des SoC erhalte ich folgenden Fehler:

Code: Alles auswählen

2025-07-14 20:58:03,275 - {modules.common.configurable_vehicle:63} - {DEBUG:fetch soc_ev2} - Vehicle Instance <class 'modules.vehicles.cupra.config.Cupra'>
2025-07-14 20:58:03,275 - {modules.common.configurable_vehicle:64} - {DEBUG:fetch soc_ev2} - Calculated SoC-State CalculatedSocState(imported_start=None, manual_soc=None, soc_start=60.55)
2025-07-14 20:58:03,276 - {modules.common.configurable_vehicle:65} - {DEBUG:fetch soc_ev2} - Vehicle Update Data VehicleUpdateData(plug_state=False, charge_state=False, imported=None, battery_capacity=55000, efficiency=90, soc_from_cp=None, timestamp_soc_from_cp=None, soc_timestamp=1752511457.828435)
2025-07-14 20:58:03,276 - {modules.common.configurable_vehicle:66} - {DEBUG:fetch soc_ev2} - General Config GeneralVehicleConfig(use_soc_from_cp=False, request_interval_charging=300, request_interval_not_charging=900, request_only_plugged=False)
2025-07-14 20:58:03,277 - {modules.common.component_context:29} - {DEBUG:fetch soc_ev2} - Update Komponente ['Cupra']
2025-07-14 20:58:03,283 - {asyncio:59} - {DEBUG:fetch soc_ev2} - Using selector: EpollSelector
2025-07-14 20:58:03,296 - {modules.vehicles.vwgroup.vwgroup:49} - {DEBUG:fetch soc_ev2} - set refreshToken to initial value
2025-07-14 20:58:03,300 - {modules.vehicles.vwgroup.vwgroup:63} - {DEBUG:fetch soc_ev2} - set accessToken to initial value
2025-07-14 20:58:03,616 - {modules.vehicles.cupra.libcupra:239} - {DEBUG:fetch soc_ev2} - Refreshing tokens
2025-07-14 20:58:03,790 - {modules.vehicles.cupra.libcupra:245} - {INFO:fetch soc_ev2} - Reconnecting
2025-07-14 20:58:05,001 - {modules.common.fault_state:49} - {ERROR:fetch soc_ev2} - Cupra: FaultState FaultStateLevel.ERROR, FaultStr <class 'KeyError'> ('Location',), Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 73, in update
    car_state = self._get_carstate_by_source(vehicle_update_data, source)
  File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 126, in _get_carstate_by_source
    return self.__component_updater(vehicle_update_data)
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/soc.py", line 26, in updater
    return fetch(vehicle_update_data, vehicle_config, vehicle)
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/soc.py", line 19, in fetch
    soc, range, soc_ts, soc_tsX = api.fetch_soc(config, vehicle)
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/api.py", line 31, in fetch_soc
    soc, range, soc_ts, soc_tsX = loop.run_until_complete(a._fetch_soc())
  File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
    return future.result()
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/api.py", line 20, in _fetch_soc
    return await super().request_data(cupra)
  File "/var/www/html/openWB/packages/modules/vehicles/vwgroup/vwgroup.py", line 69, in request_data
    self.data = await library.get_status()
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/libcupra.py", line 246, in get_status
    if await self.reconnect():
  File "/var/www/html/openWB/packages/modules/vehicles/cupra/libcupra.py", line 161, in reconnect
    url = response.headers['Location']
KeyError: 'Location'
P.S: Ist auch ein Cupra Born
OK, jetzt habe ich den Wiki-Eintrag gefunden, es fehlte die Verbindung über die Seat App.
Nun wurde der AccessToken aktualisiert und im Log erscheint auch der SoC und die Range.
Allerdings aktualisiert er den SoC nicht, da er ihm zu alt ist.
Mein letzter Stand über den manuellen SoC war von 2:49 Uhr, der neue SoC meldet sich mit 2:33 Uhr:

Code: Alles auswählen

2025-07-15 03:15:25,167 - {modules.vehicles.cupra.soc:20} - {INFO:fetch soc_ev2} - Result: soc=61, range=210.0@2025-07-15T02:33:10
2025-07-15 03:15:25,168 - {modules.common.configurable_vehicle:77} - {DEBUG:fetch soc_ev2} - Requested start soc from api: 61%
2025-07-15 03:15:25,172 - {modules.common.configurable_vehicle:94} - {DEBUG:fetch soc_ev2} - Not updating SoC, because timestamp is older.
Werden die Zugangsdaten eigentlich noch benötigt, wenn der Token einmal aktualisiert wurde?
Die würde ich eigentlich gerne wieder raus nehmen.
openWB Series 2 Standard+, SW-Version 2
SolarEdge SE10K-RWS, BYD LVS 8, 16,8 kWp.
CUPRA Born
vuffiraa
Beiträge: 268
Registriert: Mo Apr 19, 2021 11:26 am
Has thanked: 1 time
Been thanked: 8 times

Re: Cupra Connect SoC

Beitrag von vuffiraa »

Du warst ziemlich schnell mit dem Probieren.

Auf die My SEAT App bist du aber auch alleine gekommen. Sobald auch das UI zur Konfiguration gemergt ist, wollte ich hier einen Thread ähnlich zu Skoda/VW starten.

Der Zeitstempel wird vom Cupra-Server geliefert und liefert damit den letzten Stand vom Server, und wann dieser registriert wurde. Eventuell brauchst du doch dann den Manuellen SoC noch mehr oder?

Du hast recht, wenn ein Refresh Token vorhanden ist, wird das verwendet. Die Zugangsdaten werden nur dann wieder benötigt, wenn die Kommunikation mal nicht (mehr) klappt. Dann wird die komplette Anmeldung von vorne durchgespielt.

VG
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
10mamai
Beiträge: 5
Registriert: Do Jul 09, 2020 11:39 am
Has thanked: 1 time

Re: Cupra Connect SoC

Beitrag von 10mamai »

Hi zusammen,
Irgendwie habe ich den Wiki-Eintrag nicht gefunden. Funktioniert die Ermittlung des Tokens mit der My Cupra App?
vuffiraa
Beiträge: 268
Registriert: Mo Apr 19, 2021 11:26 am
Has thanked: 1 time
Been thanked: 8 times

Re: Cupra Connect SoC

Beitrag von vuffiraa »

10mamai hat geschrieben: Di Jul 15, 2025 2:16 pm Hi zusammen,
Irgendwie habe ich den Wiki-Eintrag nicht gefunden. Funktioniert die Ermittlung des Tokens mit der My Cupra App?
Schau mal hier: https://github.com/openWB/core/wiki/SoC-Cupra

Bei der App wird bei Seat/Cupra leider zweigleisig gefahren. Das Modul folgt dabei der My SEAT App. Diese App muss eingerichtet werden, damit die openWB Software Daten abrufen kann. Die My CUPRA App funktioniert zwar mit den gleichen Zugangsdaten, benutzt aber wohl nicht die gleichen Server.

VG
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
ChristophR
Beiträge: 1146
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 56 times
Been thanked: 89 times

Re: Cupra Connect SoC

Beitrag von ChristophR »

vuffiraa hat geschrieben: Di Jul 15, 2025 9:29 am Der Zeitstempel wird vom Cupra-Server geliefert und liefert damit den letzten Stand vom Server, und wann dieser registriert wurde. Eventuell brauchst du doch dann den Manuellen SoC noch mehr oder?
Hast schon recht, muss mich für einen entscheiden. Beide gehen ja sowieso nicht, war nur verwirrend, da ich schon einen Timestamp hatte, ist ja sonst nicht der Fall.

Ich nutze den WiCAN OBD2 Dongle nachdem mein Testzeitraum bei Tronity ausgelaufen war.
Ich konnte den SoC zwar einfach weiter reinschreiben, den Timestamp aktualisiert er dann aber nicht mehr.
Da die VW Server hin und wieder Probleme hatten, dachte ich ich könnte mir ein automatisches Backup bauen. Aber dann hüpft der SoC immer hin und her, das wird nix. ;)
vuffiraa hat geschrieben: Di Jul 15, 2025 9:29 am Du hast recht, wenn ein Refresh Token vorhanden ist, wird das verwendet. Die Zugangsdaten werden nur dann wieder benötigt, wenn die Kommunikation mal nicht (mehr) klappt. Dann wird die komplette Anmeldung von vorne durchgespielt.

VG
Beim Tesla SoC Modul muss man sich einmal per Web anmelden und muss den Token selber ins SoC Modul übernehmen. Ist zwar einmalig etwas anstrengender, läuft hier aber schon über 2 Jahre ohne erneute Anmeldung.
Ich fände es schöner, nur den Token zu speichern, daher die Frage.

Auf jeden Fall großes Lob für die Arbeit, das hilft bestimmt einigen.
openWB Series 2 Standard+, SW-Version 2
SolarEdge SE10K-RWS, BYD LVS 8, 16,8 kWp.
CUPRA Born
vuffiraa
Beiträge: 268
Registriert: Mo Apr 19, 2021 11:26 am
Has thanked: 1 time
Been thanked: 8 times

Re: Cupra Connect SoC

Beitrag von vuffiraa »

ChristophR hat geschrieben: Di Jul 15, 2025 7:47 pm Beim Tesla SoC Modul muss man sich einmal per Web anmelden und muss den Token selber ins SoC Modul übernehmen. Ist zwar einmalig etwas anstrengender, läuft hier aber schon über 2 Jahre ohne erneute Anmeldung.
Ich fände es schöner, nur den Token zu speichern, daher die Frage.

Auf jeden Fall großes Lob für die Arbeit, das hilft bestimmt einigen.
Ich bin mir nicht sicher, ob man die Anmeldedaten in Dummy-Werte ändern könnte, ohne dass das Token gelöscht wird. Wenn das geht, würde immer zuerst das Token verwendet werden. Ich muss aber mal ausprobieren, ob das Token auch erhalten bleibt, wenn die Kommunikation mal (wieder) gestört ist.

Danke für dein Feedback!
openWB serie 2 custom 11kW
Skoda Enyaq iV80
PV 9,4kWp SSW, Fronius Symo 8.2-3-M, Fronius Smart Meter 63A
ChristophR
Beiträge: 1146
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 56 times
Been thanked: 89 times

Re: Cupra Connect SoC

Beitrag von ChristophR »

vuffiraa hat geschrieben: Mi Jul 16, 2025 12:15 pm
ChristophR hat geschrieben: Di Jul 15, 2025 7:47 pm Beim Tesla SoC Modul muss man sich einmal per Web anmelden und muss den Token selber ins SoC Modul übernehmen. Ist zwar einmalig etwas anstrengender, läuft hier aber schon über 2 Jahre ohne erneute Anmeldung.
Ich fände es schöner, nur den Token zu speichern, daher die Frage.

Auf jeden Fall großes Lob für die Arbeit, das hilft bestimmt einigen.
Ich bin mir nicht sicher, ob man die Anmeldedaten in Dummy-Werte ändern könnte, ohne dass das Token gelöscht wird. Wenn das geht, würde immer zuerst das Token verwendet werden. Ich muss aber mal ausprobieren, ob das Token auch erhalten bleibt, wenn die Kommunikation mal (wieder) gestört ist.

Danke für dein Feedback!
Aktuell klappt es, wenn man einen Token hat und dann die Anmeldedaten auf null setzt.
Überlebt sogar einen Neustart, obwohl die Datei aus der Ramdisk dann noch nicht existiert.
Spannend wäre, ob der Token vor Ablauf ohne Zugangsdaten aktualisiert werden kann.
Und natürlich, wie Du schon schreibst, was passiert, wenn die Server spinnen. ;-)

Habe aktuell noch ein Problem mit Aktualisierung beim Anstecken, das ist ein bisschen hinderlich, gehört aber vermutlich zum normalen master-Feedback:
viewtopic.php?p=130283#p130283
openWB Series 2 Standard+, SW-Version 2
SolarEdge SE10K-RWS, BYD LVS 8, 16,8 kWp.
CUPRA Born
rleidner
Beiträge: 1327
Registriert: Mo Nov 02, 2020 9:50 am
Has thanked: 35 times
Been thanked: 103 times

Re: Cupra Connect SoC

Beitrag von rleidner »

ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm Aktuell klappt es, wenn man einen Token hat und dann die Anmeldedaten auf null setzt.
Überlebt sogar einen Neustart, obwohl die Datei aus der Ramdisk dann noch nicht existiert.
Das liegt daran, dass der Refresh-Token im Broker gespeichert ist.
ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm Spannend wäre, ob der Token vor Ablauf ohne Zugangsdaten aktualisiert werden kann.
Siehe oben - das hast Du vermutlich schon getestet. ;-)
ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm Und natürlich, wie Du schon schreibst, was passiert, wenn die Server spinnen. ;-)
Da kann halt alles mögliche passieren. Theoretisch wie der Fall oben, d.h. es wird ein Refresh der Token gemacht, wenn der Server wieder antwortet...
ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm Habe aktuell noch ein Problem mit Aktualisierung beim Anstecken, das ist ein bisschen hinderlich, gehört aber vermutlich zum normalen master-Feedback:

Ich hätte erwartet, da das Aktualisieren des SoC nach Anstecken schon drin ist.
Falls nicht: Ich habe vor einiger Zeit die Aktualisierung nach Charging-Stop eingebaut. Den PR könnte man als Muster nehmen: https://github.com/openWB/core/pull/2287
ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm
BTW: Ich lasse die Anmelde-Daten immer in der Konfiguration stehen. Dann funktioniert zumindest auch der Fallback. (außer bei BMW/Mini wegen des notwendigen Captcha-Token...)
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
ChristophR
Beiträge: 1146
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 56 times
Been thanked: 89 times

Re: Cupra Connect SoC

Beitrag von ChristophR »

rleidner hat geschrieben: Mi Jul 16, 2025 1:04 pm
ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm Spannend wäre, ob der Token vor Ablauf ohne Zugangsdaten aktualisiert werden kann.
Siehe oben - das hast Du vermutlich schon getestet. ;-)
Der aktuelle Token läuft noch bis zum 11.01.2026, das kann ich daher ohne Zeitmaschine noch nicht testen. ;)
rleidner hat geschrieben: Mi Jul 16, 2025 1:04 pm
ChristophR hat geschrieben: Mi Jul 16, 2025 12:41 pm Habe aktuell noch ein Problem mit Aktualisierung beim Anstecken, das ist ein bisschen hinderlich, gehört aber vermutlich zum normalen master-Feedback:

Ich hätte erwartet, da das Aktualisieren des SoC nach Anstecken schon drin ist.
Falls nicht: Ich habe vor einiger Zeit die Aktualisierung nach Charging-Stop eingebaut. Den PR könnte man als Muster nehmen: https://github.com/openWB/core/pull/2287
Mal sehen, was als Rückmeldung von Lena kommt, wird ja für alle SoC Module gleichermaßen relevant sein.
openWB Series 2 Standard+, SW-Version 2
SolarEdge SE10K-RWS, BYD LVS 8, 16,8 kWp.
CUPRA Born
Antworten