Cupra Connect SoC

Alles rund um SoC (Ladezustand des Fahrzeuges). Probleme, Fragen, Fehlfunktionen gehören hier hin
ChristophR
Beiträge: 1140
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 55 times
Been thanked: 88 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: 1140
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 55 times
Been thanked: 88 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: 267
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: 267
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: 1140
Registriert: So Okt 30, 2022 8:07 am
Has thanked: 55 times
Been thanked: 88 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
Antworten