Describe the bug
Loadingmode: NotReadyForCharging could be Status A or Status B depending from other values
NotReadyForCharging is A if cable not connected
NotReadyForCharging is B if cable connected, not loading, Car in standby - the mycupra app says "Keine Stromversorgung"
with this
wrong detection "Ladeplan" does not work"
Für dein Issue/PR kannst du es so formulieren:
In Cupra v5, services.charging.status=NotReadyForCharging is ambiguous.
It occurs both when the vehicle is unplugged and when the vehicle is plugged in but the EVSE does not provide power / charging is not enabled. Therefore mapping NotReadyForCharging unconditionally to StatusA or StatusB is unreliable. The vehicle API does not seem to provide a reliable plug state in this payload. If available, plug state should be derived from the charger/EVSE instead, while Cupra should only provide SoC and active charging state.
Solution A:
use a second value from the /v5/users/.../vehicles/.../mycar Endpoint to detect if Status A or B
Solution B:
use the old endpoint /v1/vehicles/{vin}/charging status.plug.connection
to detect Status A, B, C in cobination with
/v5/users/.../vehicles/.../mycar chargignmode
only tested with cupra tavascan software v5.4 but coud be the same one other cupra or other MEB cars
Steps to reproduce
reproduceable by changing from "PV Only" to "Aus"
status is A with cable connected
Steps to reproduce
- reproduceable by changing from "PV Only" to "Aus"
- status is A with cable connected
Configuration details
admin@evcc:~$ sudo evcc config --database /var/lib/evcc/evcc.db
[sudo] password for admin:
[main ] INFO 2026/05/20 15:54:04 config file not found, database-only mode
[main ] INFO 2026/05/20 15:54:04 using sqlite database: /var/lib/evcc/evcc.db?_pragma=busy_timeout(5000)&_pragma=synchronous(NORMAL)&_time_format=sqlite
charger
---
db:28 {Type:template Title: Icon: Product:go-e Charger Gemini} map[host:192.168.1.39 template:go-e-v3]
meter
---
db:1 {Type:template Title: Icon: Product:M-TEC Energy Butler GEN3} map[baudrate:9600 comset:8N1 host:192.168.1.27 id:255 modbus:tcpip port:502 template:mtec-eb-gen3 usage:grid]
db:2 {Type:template Title:PV Icon: Product:M-TEC Energy Butler GEN3} map[baudrate:9600 comset:8N1 host:192.168.1.27 id:255 modbus:tcpip port:502 template:mtec-eb-gen3 usage:pv]
db:3 {Type:template Title:Speicher Icon: Product:M-TEC Energy Butler GEN3} map[baudrate:9600 capacity:15.36 comset:8N1 host:192.168.1.27 id:255 modbus:tcpip port:502 template:mtec-eb-gen3 usage:battery]
db:26 {Type:template Title:Küche Icon:generic Product:Shelly Pro 3 EM} map[host:192.168.1.57 template:shelly-pro-3em usage:charge]
db:27 {Type:template Title:Waschküche Icon:generic Product:Shelly Pro 3 EM} map[host:192.168.1.58 template:shelly-pro-3em usage:charge]
vehicle
---
db:6 {Type:template Title: Icon: Product:Generisches Fahrzeug} map[icon:car maxCurrent:16 minCurrent:6 mode:pv phases: template:offline title:Offline PKW]
db:29 {Type:template Title: Icon: Product:Seat CupraConnect Gen4 (Born, Formentor, Tavascan)} map[cache:15m capacity:77 coarsecurrent:true icon:car minCurrent:-1 mode:pv password:***** priority:0 template:cupra title:Cupra user:***** vin:***** welcomecharge:true]
tariff
---
db:18 {Type:template Title: Icon: Product:Fester Preis} map[price:0.3 template:fixed]
db:19 {Type:template Title: Icon: Product:Fester Preis} map[price:0.08 template:fixed]
db:20 {Type:template Title:Solcast Icon: Product:Solcast} map[interval:3h site:0247-339e-b8d1-e48a template:solcast token:*****]
db:23 {Type:template Title: Icon: Product:Grünstromindex} map[template:grünstromindex zip:*****]
db:24 {Type:template Title: Icon: Product:Fester Preis} map[price:0.3 template:fixed]
loadpoint
---
db:14 {Type: Title: Icon: Product:} map[batteryBoostLimit:100 charger:db:28 circuit: defaultMode:pv limitSoc:0 meter: minCurrent:6 mode:pv phasesConfigured:0 planEnergy:0 planStrategy:map[continuous:false precondition:0] planTime:0001-01-01T00:00:00Z soc:map[estimate:true poll:map[interval:3.6e+12 mode:charging]] thresholds:map[disable:map[delay:1.8e+11 threshold:0] enable:map[delay:6e+10 threshold:0]] title:go-e vehicle:]
Log details
das payload für kein Kabel gesckt:
[cupra ] TRACE 2026/05/19 17:43:22 {"engines":{"primary":{"fuelType":"electric","rangeKm":131.0,"levelPct":35.0}},"services":{"charging":{"status":"NotReadyForCharging","targetPct":100,"currentPct":35,"chargeSettings":"default","chargeMode":"manual","preferredChargeMode":"manual","batteryCardStatus":"notConnected","active":false,"remainingTime":0,"progressBarPct":35.0},"climatisation":{"status":"Off","targetTemperatureCelsius":22.0,"targetTemperatureFahrenheit":72.0,"climatisationTrigger":"off","active":false,"remainingTime":0,"progressBarPct":0.0},"windowHeating":{"status":"Off","active":false}}}
das payload für Kabel geteckt:
[cupra ] TRACE 2026/05/19 18:47:22 {"engines":{"primary":{"fuelType":"electric","rangeKm":77.0,"levelPct":20.0}},"services":{"charging":{"status":"Charging","targetPct":100,"currentPct":20,"chargeSettings":"default","chargeMode":"manual","preferredChargeMode":"manual","active":true,"remainingTime":3000,"progressBarPct":20.0},"climatisation":{"status":"Off","targetTemperatureCelsius":22.0,"targetTemperatureFahrenheit":72.0,"climatisationTrigger":"off","active":false,"remainingTime":0,"progressBarPct":0.0},"windowHeating":{"status":"Off","active":false}}}
payload for the wrong status A instead of B:
[cupra ] TRACE 2026/05/20 07:59:08 {"engines":{"primary":{"fuelType":"electric","rangeKm":194.0,"levelPct":50.0}},"services":{"charging":{"status":"NotReadyForCharging","targetPct":100,"currentPct":50,"chargeSettings":"default","chargeMode":"off","preferredChargeMode":"manual","active":false,"remainingTime":0,"progressBarPct":50.0},"climatisation":{"status":"Off","targetTemperatureCelsius":22.0,"targetTemperatureFahrenheit":72.0,"climatisationTrigger":"off","active":false,"remainingTime":0,"progressBarPct":0.0},"windowHeating":{"status":"Off","active":false}}}
What type of operating system or environment does evcc run on?
Linux
External automation
Nightly build
Version
V0.306.3
Describe the bug
Loadingmode: NotReadyForCharging could be Status A or Status B depending from other values
NotReadyForCharging is A if cable not connected
NotReadyForCharging is B if cable connected, not loading, Car in standby - the mycupra app says "Keine Stromversorgung"
with this
wrong detection "Ladeplan" does not work"
Für dein Issue/PR kannst du es so formulieren:
In Cupra v5, services.charging.status=NotReadyForCharging is ambiguous.
It occurs both when the vehicle is unplugged and when the vehicle is plugged in but the EVSE does not provide power / charging is not enabled. Therefore mapping NotReadyForCharging unconditionally to StatusA or StatusB is unreliable. The vehicle API does not seem to provide a reliable plug state in this payload. If available, plug state should be derived from the charger/EVSE instead, while Cupra should only provide SoC and active charging state.
Solution A:
use a second value from the /v5/users/.../vehicles/.../mycar Endpoint to detect if Status A or B
Solution B:
use the old endpoint /v1/vehicles/{vin}/charging status.plug.connection
to detect Status A, B, C in cobination with
/v5/users/.../vehicles/.../mycar chargignmode
only tested with cupra tavascan software v5.4 but coud be the same one other cupra or other MEB cars
Steps to reproduce
reproduceable by changing from "PV Only" to "Aus"
status is A with cable connected
Steps to reproduce
Configuration details
Log details
What type of operating system or environment does evcc run on?
Linux
External automation
Nightly build
Version
V0.306.3