Repository: evcc-io/evcc

Issue:
EVCC steuert nach Ladestart die Daheimladen WB nicht mehr
### Describe the bug

Guten Abend zusammen,

ich versuche gerade einem Phänomen auf die Spur zu kommen, dass ich so ganz nachvollziehen kann. Dazu vorab, wie es bei mir bisher war, "war" deshalb, weil ich nicht genau weiß, seit wann dieses Verhalten Einzug gehalten hat und ob es ggf. mit einem Release von EVCC zu tun hat:

- WB = Daheimladen Smart Pro 22 kW, Nachladen ist aktiviert
- EV = Hyundai Ioniq 5 (2022)
- Ich lade primär mit PV-Überschuss im Modus PV
- Wenn ich nach Hause kommen, schließe ich einfach das Ladekabel an, egal, ob nun PV-Überschuss da ist oder nicht
- Ich habe keine automatischen Start der WB aktiviert, weil diese öffentlich hängt, ich aktiviere den Ladevorgang immer mit der RFID-Karte, direkt nachdem ich das Ladekabel angesteckt habe
- Bisher war das Verhalten so, dass danach die Ladung mit max. Ladestrom begann (Status im EVCC war erst "Ladebereit. Warte auf Fahrzeug …" und dann "lädt"), EVCC das mitgekommen hat und dann im Modus PV entsprechend geregelt hat. Dies ging dann natürlich auch bis auf 0A runter, wenn kein PV-Überschuss da war. In diesem Zustand verharrte dann das ganze System, bis wieder Strom vom Dach zur Verfügung steht

Das alles hat wie gesagt wunderbar funktioniert. Vor kurzem fiel mir dann auf, dass das Ganze nicht mehr tut. Ich verhalte mich identisch, schließe an und starte die Wallbox über RFID. Der Ladevorgang startet auch wieder mit Max, aber regelt danach nicht runter, bleibt bei Max, auch wenn kein Überschuss da ist. Der Status ist "verbunden", die 6,8 kW (1-phasig) werden angezeigt im EVCC und das war es dann. Ich kann diese Situation auch nicht mehr über EVCC beenden, ich muss dann über Modbus das Register 95 an der WB passend auf 2 setzen, dann beendet sich der Ladevorgang.
Ich kann dieses Verhalten auch jederzeit provozieren über das o.g. Verfahren, ist also ein Schema. Das Ganze sieht auf der UI dann so aus:

<img width="600" alt="Image" src="https://github.com/user-attachments/assets/eefd1159-7027-47a6-a4cb-00ea7994a9bf" />

Es werden auch keine Ladewerte etc. mehr angezeigt, also wie viele kWh schon in den Tank gelaufen sind. Es wirkt so, als ob EVCC mit der Wallbox nicht korrekt reden kann. Parallel habe ich den Status am EV und an der WB geprüft, die zeigen alles ganz korrekt an. Was ich auch festgestellt habe: Wenn ich den Ladevorgang über setzen des Registers deaktiviert habe und dann den Modus von PV z.B. auf Mini+PV wechsle, dann spring der Status auf "Ladebereit. Warte auf Fahrzeug …", aber es tut sich nix weiter. Auch wenn ich auf "Schnell" wechsle, startet kein Ladevorgang. Auffallend ist noch, dass wenn ich wieder auf PV zurückstelle, der Status wieder auf "Verbunden" wechselt. Ggf. passiert das auch nur nach einer gewissen Zeit, das habe ich jetzt nicht so genau beobachtet.

Hier mal die Trace-Logs eines solchen Vorgangs, der nicht korrekt läuft, ich hoffe, ich habe das richtige getroffen. Das EV wurde um 20:11:42 verbunden. Ich hoffe, Ihr findet darin etwas Spannendes...

Ich danke Euch herzlich für Eure Hilfe und wünsche allen einen schönen Abend.

LG
Lutz

### Steps to reproduce

1. EV anschließen
2. Ladevorgang an der WB starten mittels RFID
3. Danach passiert das Phänomen, dass der Ladevorgang mit Max startet, aber von EVCC nicht mehr untergeregelt wird


### Configuration details

```yaml
Meine Konfig steckt in der DB, nicht in der YAML
```

### Log details

```text
`
[lp-1 ] INFO 2025/06/26 20:11:42 car connected
[lp-1 ] DEBUG 2025/06/26 20:11:42 vehicle api refresh
[lp-1 ] DEBUG 2025/06/26 20:11:42 pv timer elapse
[lp-1 ] DEBUG 2025/06/26 20:11:42 pv timer inactive
[daheimladen-mb] TRACE 2025/06/26 20:11:42 modbus: send 01 fd 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/06/26 20:11:42 modbus: recv 01 fd 00 00 00 07 ff 03 04 00 00 19 f6
[lp-1 ] DEBUG 2025/06/26 20:11:42 charge total import: 664.600kWh
[hyundai] TRACE 2025/06/26 20:11:42 GET https://prd.eu-ccapi.hyundai.com:8080/api/v1/spa/vehicles/3b37221b-0aa1-4767-9970-6f6aec112f0f/status/latest
[hyundai] TRACE 2025/06/26 20:11:42 {"retCode":"S","resCode":"0000","resMsg":{"vehicleStatusInfo":{"vehicleLocation":{"coord":{"lat":50.019936,"lon":8.232758,"alt":0,"type":0},"head":115,"speed":{"value":0,"unit":0},"accuracy":{"hdop":0,"pdop":0},"time":"20250626184458"},"vehicleStatus":{"airCtrlOn":false,"engine":false,"doorLock":false,"doorOpen":{"frontLeft":0,"frontRight":0,"backLeft":0,"backRight":0},"trunkOpen":false,"airTemp":{"value":"02H","unit":0,"hvacTempType":1},"defrost":false,"acc":false,"evStatus":{"batteryCharge":false,"batteryStatus":63,"batteryPlugin":0,"remainTime2":{"etc1":{"value":7,"unit":1},"etc2":{"value":315,"unit":1},"etc3":{"value":75,"unit":1},"atc":{"value":0,"unit":1}},"drvDistance":[{"rangeByFuel":{"evModeRange":{"value":273,"unit":1},"totalAvailableRange":{"value":273,"unit":1}},"type":2}],"reservChargeInfos":{"reservChargeInfo":{"reservChargeInfoDetail":{"reservInfo":{"day":[9],"time":{"time":"1200","timeSection":0}},"reservChargeSet":false,"reservFatcSet":{"defrost":false,"airTemp":{"value":"00H","unit":0,"hvacTempType":1},"airCtrl":0,"heating1":0}}},"offpeakPowerInfo":{"offPeakPowerTime1":{"starttime":{"time":"1200","timeSection":0},"endtime":{"time":"1200","timeSection":0}},"offPeakPowerFlag":0},"reserveChargeInfo2":{"reservChargeInfoDetail":{"reservInfo":{"day":[9],"time":{"time":"1200","timeSection":0}},"reservChargeSet":false,"reservFatcSet":{"defrost":false,"airTemp":{"value":"00H","unit":0,"hvacTempType":0},"airCtrl":0,"heating1":0}}},"reservFlag":0,"ect":{"start":{"day":9,"time":{"time":"1959","timeSection":1}},"end":{"day":9,"time":{"time":"1959","timeSection":1}}},"targetSOClist":[{"targetSOClevel":80,"dte":{"rangeByFuel":{"evModeRange":{"value":348,"unit":1},"totalAvailableRange":{"value":348,"unit":1}},"type":2},"plugType":0},{"targetSOClevel":80,"dte":{"rangeByFuel":{"evModeRange":{"value":348,"unit":1},"totalAvailableRange":{"value":348,"unit":1}},"type":2},"plugType":1}]},"chargePortDoorOpenStatus":1,"batteryPreconditioning":false,"batterySoh":0,"batteryPower":{"batteryFstChrgPower":0,"batteryStndChrgPower":0,"batteryDischrgPower":0}},"ign3":false,"hoodOpen":false,"transCond":true,"steerWheelHeat":0,"sideBackWindowHeat":0,"tirePressureLamp":{"tirePressureLampAll":0,"tirePressureLampFL":0,"tirePressureLampFR":0,"tirePressureLampRL":0,"tirePressureLampRR":0},"battery":{"batSoc":78,"batState":0,"sjbDeliveryMode":1,"batSignalReferenceValue":{"batWarning":65},"powerAutoCutMode":2},"lampWireStatus":{"stopLamp":{"leftLamp":false,"rightLamp":false},"headLamp":{"headLampStatus":false,"leftLowLamp":false,"rightLowLamp":false,"leftHighLamp":false,"rightHighLamp":false,"leftBifuncLamp":false,"rightBifuncLamp":false},"turnSignalLamp":{"leftFrontLamp":false,"rightFrontLamp":false,"leftRearLamp":false,"rightRearLamp":false}},"smartKeyBatteryWarning":false,"washerFluidStatus":false,"breakOilStatus":false,"sleepModeCheck":false,"time":"20250626184500","remoteWaitingTimeAlert":{"remoteControlAvailable":1,"remoteControlWaitingTime":168,"elapsedTime":"00:39:10"},"systemCutOffAlert":0,"tailLampStatus":0,"hazardStatus":0},"odometer":{"value":38032.7,"unit":1}}},"msgId":"033f68c0-52b9-11f0-b5b7-ef2bbfbacab9"}
[hyundai] TRACE 2025/06/26 20:11:42 GET https://prd.eu-ccapi.hyundai.com:8080/api/v1/spa/vehicles/3b37221b-0aa1-4767-9970-6f6aec112f0f/status
[hyundai] TRACE 2025/06/26 20:11:47 {"retCode":"S","resCode":"0000","resMsg":{"airCtrlOn":false,"engine":false,"doorLock":true,"doorOpen":{"frontLeft":0,"frontRight":0,"backLeft":0,"backRight":0},"trunkOpen":false,"airTemp":{"value":"02H","unit":0,"hvacTempType":1},"defrost":false,"acc":false,"evStatus":{"batteryCharge":true,"batteryStatus":64,"batteryPlugin":2,"remainTime2":{"etc1":{"value":7,"unit":1},"etc2":{"value":315,"unit":1},"etc3":{"value":75,"unit":1},"atc":{"value":125,"unit":1}},"drvDistance":[{"rangeByFuel":{"evModeRange":{"value":274,"unit":1},"totalAvailableRange":{"value":274,"unit":1}},"type":2}],"reservChargeInfos":{"reservChargeInfo":{"reservChargeInfoDetail":{"reservInfo":{"day":[9],"time":{"time":"1200","timeSection":0}},"reservChargeSet":false,"reservFatcSet":{"defrost":false,"airTemp":{"value":"00H","unit":0,"hvacTempType":1},"airCtrl":0,"heating1":0}}},"offpeakPowerInfo":{"offPeakPowerTime1":{"starttime":{"time":"1200","timeSection":0},"endtime":{"time":"1200","timeSection":0}},"offPeakPowerFlag":0},"reserveChargeInfo2":{"reservChargeInfoDetail":{"reservInfo":{"day":[9],"time":{"time":"1200","timeSection":0}},"reservChargeSet":false,"reservFatcSet":{"defrost":false,"airTemp":{"value":"00H","unit":0,"hvacTempType":0},"airCtrl":0,"heating1":0}}},"reservFlag":0,"ect":{"start":{"day":9,"time":{"time":"1959","timeSection":1}},"end":{"day":9,"time":{"time":"1959","timeSection":1}}},"targetSOClist":[{"targetSOClevel":80,"dte":{"rangeByFuel":{"evModeRange":{"value":348,"unit":1},"totalAvailableRange":{"value":348,"unit":1}},"type":2},"plugType":0},{"targetSOClevel":80,"dte":{"rangeByFuel":{"evModeRange":{"value":348,"unit":1},"totalAvailableRange":{"value":348,"unit":1}},"type":2},"plugType":1}]},"chargePortDoorOpenStatus":1,"batteryPreconditioning":false,"batterySoh":0,"batteryPower":{"batteryFstChrgPower":0,"batteryStndChrgPower":6.9,"batteryDischrgPower":6.9}},"ign3":true,"hoodOpen":false,"transCond":true,"steerWheelHeat":0,"sideBackWindowHeat":0,"tirePressureLamp":{"tirePressureLampAll":0,"tirePressureLampFL":0,"tirePressureLampFR":0,"tirePressureLampRL":0,"tirePressureLampRR":0},"battery":{"batSoc":78,"batState":0,"sjbDeliveryMode":1,"batSignalReferenceValue":{"batWarning":65},"powerAutoCutMode":2},"lampWireStatus":{"stopLamp":{"leftLamp":false,"rightLamp":false},"headLamp":{"headLampStatus":false,"leftLowLamp":false,"rightLowLamp":false,"leftHighLamp":false,"rightHighLamp":false,"leftBifuncLamp":false,"rightBifuncLamp":false},"turnSignalLamp":{"leftFrontLamp":false,"rightFrontLamp":false,"leftRearLamp":false,"rightRearLamp":false}},"smartKeyBatteryWarning":false,"washerFluidStatus":false,"breakOilStatus":false,"sleepModeCheck":false,"time":"20250626191147","remoteWaitingTimeAlert":{"remoteControlAvailable":1,"remoteControlWaitingTime":168,"elapsedTime":"01:05:57"},"systemCutOffAlert":0,"tailLampStatus":0,"hazardStatus":0},"msgId":"03533ee0-52b9-11f0-80c5-c33ca4e9e39c"}
[main ] DEBUG 2025/06/26 20:11:47 vehicle status: C (IONIQ 5 grau)
[lp-1 ] INFO 2025/06/26 20:11:47 vehicle updated: unknown -> IONIQ 5 grau
[lp-1 ] DEBUG 2025/06/26 20:11:47 set charge mode: pv
[daheimladen-mb] TRACE 2025/06/26 20:11:47 modbus: send 01 fe 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/06/26 20:11:47 modbus: recv 01 fe 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/06/26 20:11:47 modbus: send 01 ff 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/06/26 20:11:47 modbus: recv 01 ff 00 00 00 05 ff 03 02 00 00
[lp-1 ] DEBUG 2025/06/26 20:11:47 vehicle status: C
[lp-1 ] DEBUG 2025/06/26 20:11:47 vehicle soc: 64%
[lp-1 ] DEBUG 2025/06/26 20:11:47 vehicle soc limit: 80%
[lp-1 ] DEBUG 2025/06/26 20:11:47 vehicle range: 274km
[daheimladen-mb] TRACE 2025/06/26 20:11:47 modbus: send 02 00 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/06/26 20:11:47 modbus: recv 02 00 00 00 00 05 ff 03 02 00 00
[lp-1 ] DEBUG 2025/06/26 20:11:47 pv charge current: 0A = 0A + -1.74A (400W @ 1p)
[lp-1 ] DEBUG 2025/06/26 20:11:47 pv enable timer reset
[lp-1 ] DEBUG 2025/06/26 20:11:47 pv timer inactive
[httpd ] TRACE 2025/06/26 20:12:07 GET /ws
[site ] DEBUG 2025/06/26 20:12:08 ----
[daheimladen-mb] TRACE 2025/06/26 20:12:08 modbus: send 02 01 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/06/26 20:12:08 modbus: recv 02 01 00 00 00 07 ff 03 04 00 00 1a f4
[lp-1 ] DEBUG 2025/06/26 20:12:08 charge power: 6900W
[daheimladen-mb] TRACE 2025/06/26 20:12:08 modbus: send 02 02 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/06/26 20:12:08 modbus: recv 02 02 00 00 00 0d ff 03 0a 01 36 00 00 00 00 00 00 00 00
[lp-1 ] DEBUG 2025/06/26 20:12:08 charge currents: [31 0 0]A
[db:8 ] TRACE 2025/06/26 20:12:08 modbus: send 02 38 00 00 00 06 01 03 90 f9 00 02
[db:8 ] TRACE 2025/06/26 20:12:08 modbus: recv 02 38 00 00 00 07 01 03 04 ff ff e2 ee
[site ] DEBUG 2025/06/26 20:12:08 grid power: 7442W
[db:6 ] TRACE 2025/06/26 20:12:08 modbus: send 02 39 00 00 00 06 01 03 7d 50 00 02
[db:6 ] TRACE 2025/06/26 20:12:08 modbus: recv 02 39 00 00 00 07 01 03 04 00 00 00 e6
[site ] DEBUG 2025/06/26 20:12:08 pv 1 power: 230W
[db:8 ] TRACE 2025/06/26 20:12:08 modbus: send 02 3a 00 00 00 06 01 03 90 f3 00 02
[db:8 ] TRACE 2025/06/26 20:12:10 modbus: recv 02 3a 00 00 00 07 01 03 04 ff ff f3 71
[db:8 ] TRACE 2025/06/26 20:12:10 modbus: send 02 3b 00 00 00 06 01 03 90 f5 00 02
[db:8 ] TRACE 2025/06/26 20:12:10 modbus: recv 02 3b 00 00 00 07 01 03 04 ff ff ff 4d
[db:6 ] TRACE 2025/06/26 20:12:10 modbus: send 02 3c 00 00 00 06 01 03 7d 6a 00 02
[db:6 ] TRACE 2025/06/26 20:12:11 modbus: recv 02 3c 00 00 00 07 01 03 04 00 05 d6 9a
[db:8 ] TRACE 2025/06/26 20:12:11 modbus: send 02 3d 00 00 00 06 01 03 90 f7 00 02
[db:8 ] TRACE 2025/06/26 20:12:12 modbus: recv 02 3d 00 00 00 07 01 03 04 00 00 00 84
[site ] DEBUG 2025/06/26 20:12:12 grid currents: [32.1 1.79 -1.32]A
[db:8 ] TRACE 2025/06/26 20:12:12 modbus: send 02 3e 00 00 00 06 01 03 91 01 00 02
[db:8 ] TRACE 2025/06/26 20:12:14 modbus: recv 02 3e 00 00 00 07 01 03 04 00 0f 3e 81
[site ] DEBUG 2025/06/26 20:12:14 site power: 7442W
[hyundai] TRACE 2025/06/26 20:12:14 GET https://prd.eu-ccapi.hyundai.com:8080/api/v1/spa/vehicles/3b37221b-0aa1-4767-9970-6f6aec112f0f/status/latest
[hyundai] TRACE 2025/06/26 20:12:14 {"retCode":"S","resCode":"0000","resMsg":{"vehicleStatusInfo":{"vehicleLocation":{"coord":{"lat":50.019936,"lon":8.232758,"alt":0,"type":0},"head":115,"speed":{"value":0,"unit":0},"accuracy":{"hdop":0,"pdop":0},"time":"20250626184458"},"vehicleStatus":{"airCtrlOn":false,"engine":false,"doorLock":true,"doorOpen":{"frontLeft":0,"frontRight":0,"backLeft":0,"backRight":0},"trunkOpen":false,"airTemp":{"value":"02H","unit":0,"hvacTempType":1},"defrost":false,"acc":false,"evStatus":{"batteryCharge":true,"batteryStatus":64,"batteryPlugin":2,"remainTime2":{"etc1":{"value":7,"unit":1},"etc2":{"value":315,"unit":1},"etc3":{"value":75,"unit":1},"atc":{"value":125,"unit":1}},"drvDistance":[{"rangeByFuel":{"evModeRange":{"value":274,"unit":1},"totalAvailableRange":{"value":274,"unit":1}},"type":2}],"reservChargeInfos":{"reservChargeInfo":{"reservChargeInfoDetail":{"reservInfo":{"day":[9],"time":{"time":"1200","timeSection":0}},"reservChargeSet":false,"reservFatcSet":{"defrost":false,"airTemp":{"value":"00H","unit":0,"hvacTempType":1},"airCtrl":0,"heating1":0}}},"offpeakPowerInfo":{"offPeakPowerTime1":{"starttime":{"time":"1200","timeSection":0},"endtime":{"time":"1200","timeSection":0}},"offPeakPowerFlag":0},"reserveChargeInfo2":{"reservChargeInfoDetail":{"reservInfo":{"day":[9],"time":{"time":"1200","timeSection":0}},"reservChargeSet":false,"reservFatcSet":{"defrost":false,"airTemp":{"value":"00H","unit":0,"hvacTempType":0},"airCtrl":0,"heating1":0}}},"reservFlag":0,"ect":{"start":{"day":9,"time":{"time":"1959","timeSection":1}},"end":{"day":9,"time":{"time":"1959","timeSection":1}}},"targetSOClist":[{"targetSOClevel":80,"dte":{"rangeByFuel":{"evModeRange":{"value":348,"unit":1},"totalAvailableRange":{"value":348,"unit":1}},"type":2},"plugType":0},{"targetSOClevel":80,"dte":{"rangeByFuel":{"evModeRange":{"value":348,"unit":1},"totalAvailableRange":{"value":348,"unit":1}},"type":2},"plugType":1}]},"chargePortDoorOpenStatus":1,"batteryPreconditioning":false,"batterySoh":0,"batteryPower":{"batteryFstChrgPower":0,"batteryStndChrgPower":6.9,"batteryDischrgPower":6.9}},"ign3":true,"hoodOpen":false,"transCond":true,"steerWheelHeat":0,"sideBackWindowHeat":0,"tirePressureLamp":{"tirePressureLampAll":0,"tirePressureLampFL":0,"tirePressureLampFR":0,"tirePressureLampRL":0,"tirePressureLampRR":0},"battery":{"batSoc":78,"batState":0,"sjbDeliveryMode":1,"batSignalReferenceValue":{"batWarning":65},"powerAutoCutMode":2},"lampWireStatus":{"stopLamp":{"leftLamp":false,"rightLamp":false},"headLamp":{"headLampStatus":false,"leftLowLamp":false,"rightLowLamp":false,"leftHighLamp":false,"rightHighLamp":false,"leftBifuncLamp":false,"rightBifuncLamp":false},"turnSignalLamp":{"leftFrontLamp":false,"rightFrontLamp":false,"leftRearLamp":false,"rightRearLamp":false}},"smartKeyBatteryWarning":false,"washerFluidStatus":false,"breakOilStatus":false,"sleepModeCheck":false,"time":"20250626191147","remoteWaitingTimeAlert":{"remoteControlAvailable":1,"remoteControlWaitingTime":168,"elapsedTime":"01:05:57"},"systemCutOffAlert":0,"tailLampStatus":0,"hazardStatus":0},"odometer":{"value":38032.7,"unit":1}}},"msgId":"162905e0-52b9-11f0-80c5-310db5d58718"}
[lp-1 ] DEBUG 2025/06/26 20:12:14 vehicle odometer: 38033km
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: send 02 03 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: recv 02 03 00 00 00 0d ff 03 0a 08 be 00 00 00 00 00 00 00 00
[lp-1 ] DEBUG 2025/06/26 20:12:14 charge voltages: [224 0 0]V
[lp-1 ] DEBUG 2025/06/26 20:12:14 detected connected phases: 1p
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: send 02 04 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: recv 02 04 00 00 00 07 ff 03 04 00 00 19 f7
[lp-1 ] DEBUG 2025/06/26 20:12:14 charge total import: 664.700kWh
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: send 02 05 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: recv 02 05 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: send 02 06 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: recv 02 06 00 00 00 05 ff 03 02 00 00
[lp-1 ] DEBUG 2025/06/26 20:12:14 charger status: B
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: send 02 07 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/06/26 20:12:14 modbus: recv 02 07 00 00 00 05 ff 03 02 00 00
[lp-1 ] DEBUG 2025/06/26 20:12:14 pv charge current: 0A = 0A + -32.4A (7442W @ 1p)
[site ] TRACE 2025/06/26 20:12:14 telemetry: charge: Δ0/0Wh @ 6900W
[site ] TRACE 2025/06/26 20:12:14 POST https://api.evcc.io/v1/charge
[site ] TRACE 2025/06/26 20:12:14 {"instanceId":"118cb1103196bc3e655e8657e6d17c3af6e179a7fe4e79d69ec404c13f044538","chargePower":6900,"greenPower":0,"chargeEnergy":0,"greenEnergy":0} -- {"status":"ok"}
[httpd ] TRACE 2025/06/26 20:12:21 GET /api/auth/status
[httpd ] TRACE 2025/06/26 20:12:21 GET /assets/Log-D6kJ5dsc.js
[httpd ] TRACE 2025/06/26 20:12:21 GET /assets/Log-IEwxmZmw.css
[httpd ] TRACE 2025/06/26 20:12:21 GET /api/system/log
[httpd ] TRACE 2025/06/26 20:12:21 GET /api/system/log/areas
[httpd ] TRACE 2025/06/26 20:12:23 GET /api/system/log
`
```

### What type of operating system or environment does evcc run on?

HomeAssistant Add-on

### External automation

- [x] I have made sure that no external automation like HomeAssistant or Node-RED is active or accessing any of the mentioned devices when this issue occurs.

### Nightly build

- [x] I have verified that the issue is reproducible with the latest nightly build

### Version

0.204.5

Discussion:
@mfuchs1984: Das Interface zur Daheimladen wallbox wurde umgebaut auf mA Control, siehe https://github.com/evcc-io/evcc/pull/21908, was laut deren Modbus Spezifikation unterstützt wird. Hat die wallbox die neueste Firmware?@LutzDi: Ja, die FW ist aktuell, zumindest bekomme ich keine neue angeboten. Das mit den mA habe ich mitbekommen, da gab es ja ein bisschen Schluckauf mit dieser Änderung.

Kann ich zur Lösung noch was beitragen?@andig: Welche Version funktioniert noch?@andig: Du kannst das auf der Kommandozeile auch leicht mit

    evcc charger

ausprobieren, aber nicht auf HA. Hilfreich wäre trace Log dafür von aktueller und funktionierender Version. @VolkerK62: > Ich kann diese Situation auch nicht mehr über EVCC beenden, ich muss dann über Modbus das Register 95 an der WB passend auf 2 setzen, dann beendet sich der Ladevorgang.
>Wenn ich den Ladevorgang über setzen des Registers deaktiviert habe und dann den Modus von PV z.B. auf Mini+PV wechsle, dann spring der Status auf "Ladebereit. Warte auf Fahrzeug …", aber es tut sich nix weiter. 

Register 95 wird von evcc nicht "angefasst". 
Deshalb startet danach auch kein weiterer Ladevorgang. @VolkerK62: >Bisher war das Verhalten so, dass danach die Ladung mit max. Ladestrom begann (Status im EVCC war erst "Ladebereit. Warte auf Fahrzeug …" und dann "lädt"), EVCC das mitgekommen hat und dann im Modus PV entsprechend geregelt hat.

Da macht mich schon stutzig.
Entweder hat die PRO gewollt ein anderes Verhalten, oder es ist ein Bug in der Firmware.

Ich habe das mit meiner "alten" DaheimLaden Smart nachgestellt.
Funktioniert so wie es sein soll.
Auto anstecken (Modus PV), RFID dran, Box zeigt "charging", aber da Ladestrom auf 0 steht, wird nicht geladen.
Min+PV eingestellt, Box lädt.
Auf PV zurück, nach Ablauf des Timer hört die Ladung auf.


@LutzDi: Hi zusammen,

danke für Eure Antworten.

@andig: ich bin jetzt mal auf V0.204.2 und V0.204.1 zurück, beide zeigen das gleiche Verhalten.

@VolkerK62: Kannst Du das ein wenig genauer erläutern, was Du damit meinst und warum EVCC "danach keinen Ladevorgang mehr startet? Wie startet denn EVCC den Ladevorgang, wenn ich mittels RFID die Box freigebe? Oder soll ich die Freigabe anders als RFID regeln und wenn ja, wie?

@VolkerK62: Genau das Verhalten war bei meiner Smart Pro auch so. Ich habe sie erst seit 2 Monaten, ist also auch ganz neu. Da das Verhalten auch bei älteren EVCC-Versionen so ist, gehe ich davon aus, dass Daheimladen was geändert hat. Ich schreibe die gleich mal an...

Folgenden Test habe ich noch gemacht:

- Wieder hoch auf V0.204.5
- Das Gesamte System zurückgesetzt, WB neu gestartet, EVCC neu gestartet, EV neu angeschlossen
- WB offline gesetzt, also keine App-Verbindung
- Ladevorgang mittels RFID gestartet
- > Verhalten ist das Gleiche, es wird nix runtergeregelt von EVCC, es bleibt bei Max, auch wenn der Modus PV ist...

Ich teste gerne alles, ggf. fehlt mir auch ein Stück Wissen, um es zu durchdringen, daher freue mich auf Unterstützung.

LG
Lutz

@LutzDi: @VolkerK62, ich weiß, Du hast die Pro, aber ggf. hilft Dein funktionierende Trace im Vergleich zu mienem?
@andig: @lutzdi und was ist mit .0?@VolkerK62: >Kannst Du das ein wenig genauer erläutern, was Du damit meinst und warum EVCC "danach keinen Ladevorgang mehr startet? Wie startet denn EVCC den Ladevorgang, wenn ich mittels RFID die Box freigebe? 

Du hast über Register 95 ein "Stop Charging" geschickt. Da evcc dieses Register nicht ändert, bleibt es beim "Stop".
Vmtl. braucht es danach eine neue RFID Freigabe.
evcc regelt das nur über den Ladestrom (Register 91).

@LutzDi: @andig, Da kann ich leider nicht mehr hin zurück, gibt mein Backup nicht mehr her...@LutzDi: > > Kannst Du das ein wenig genauer erläutern, was Du damit meinst und warum EVCC "danach keinen Ladevorgang mehr startet? Wie startet denn EVCC den Ladevorgang, wenn ich mittels RFID die Box freigebe?
> 
> Du hast über Register 95 ein "Stop Charging" geschickt. Da evcc dieses Register nicht ändert, bleibt es beim "Stop". Vmtl. braucht es danach eine neue RFID Freigabe. evcc regelt das nur über den Ladestrom (Register 91).

Korrekter Punkt, kann ich aber ausschließen, denn a. starte ich ja mittels RFID (ggf. auch nachdem ich Reg 95 gesetzt habe, resettet habe ich auch) und b. ist das Verhalten identisch, wenn ich das Register 95 wieder auf 1 stelle. Dieses Register ist ja die Freigabe "Start Charching", ich lege mich da mal fest, dass dieses Register auch bedient wird, wenn Du die RFID dranhätst.@VolkerK62: @LutzDi  vergleich mal deine Firmware mit https://github.com/evcc-io/evcc/discussions/19999#discussioncomment-12768706


@LutzDi: @VolkerK62; sind die gleichen Versionen wie bei mir, hier meine Daten:

Hardware Version > YEVAXYJTX13E-B
Software Version (H) > AC_M3W_3.09STP.P108
Software Version (P) > AC_NEW_1.08
LCD Version > YEVAXYJ4313X-A
Modbus RTU Version > V1.01
Web Version > V1.0.1@LutzDi: Kurze Zusammenfassung der Antwort von Jonas von Daheimladen:

- Es gab kein FW Update in den letzten 4 Wochen
- Ich habe die aktuelle drauf
- Er bietet mit die Testversion 3.10pn2 an, die auch die Phasenumschaltung können soll. Und Ihr seid wohl mit denen genau wegen dieser Phasenumschaltung in Kontakt, korrekt?

Jonas würde mir die 3.10pn2 aufspielen, ich hab da nix gegen, wenn Ihr sagt, dass es a. bei diesem Problem hier nicht schadet und b. ich ggf. die Phasenumschaltung testen soll... Sagt mir gerne Bescheid, welches Vorgehen Ihr für sinnvoll haltet.

LG
Lutz@LutzDi: Kurzes Feedback noch, weil es gerade passiert ist:

- Ich habe mal nebenbei was Arbeiten müssen und einige Stunden nichts am EVCC gemacht, EV steht draußen und ist verbunden
- Im EVCC ist in dieser Zeit von "verbunden" auf "Ladebereit. Warte auf Fahrzeug …"  gesprungen - warum auch immer, ich habe wie gesagt Nichts geändert.
- Ich habe mal das max. Log angehängt, dass ich bei mir abrufen kann, in der Hoffnung, dass der Punkt drin ist.
- Jetzt warte ich mal, ob Überschuss vom Dach kommt und die Ladung losläuft, aktuell ist zu schattig...

[trace-02.txt](https://github.com/user-attachments/files/20946253/trace-02.txt)

ABER: Es beginnt nicht zu laden, obwohl Überschuss da ist... Wechsle ich auf Modus "Aus", geht der Status wieder auf "Verbunden", zurück auf PV bleibt bei "Verbunden". EVCC zeigt auch an, dass PV-Überschuss ist, zählt 1 min runter und danach tut sich nix. Halte ich dann die RFID dran, starte den Ladevorgang, lädt die WB wieder mit Max, EVCC regelt aber nicht. Ich lass das Ganze jetzt mal wieder so stehen... @VolkerK62: Hast du mal ausprobiert, was passiert, wenn du RFID ausschaltest?@LutzDi: > Hast du mal ausprobiert, was passiert, wenn du RFID ausschaltest?

Du meinst an der Box an sich...? Habe ich eben probiert, same same. Aktiviert habe ich dann mit dem Button. Es spielt keine Rolle, wie man den Ladevorgang startet.

Oder meintest Du etwas anderes?@VolkerK62: Wenn die Box auf "freies Laden" eingestellt ist, braucht man doch nichts aktivieren? Nur Auto anstecken und in evcc einen Lademodus einstellen.

Hier https://github.com/evcc-io/evcc/issues/22100 gibt es ein anderes Problem, aber der Ladestart funktioniert normal.

Weil es in der Vergangenheit mal damit Probleme gab: Wie ist die Box angeschlossen, LAN oder WLAN?@LutzDi: > Wenn die Box auf "freies Laden" eingestellt ist, braucht man doch nichts aktivieren? Nur Auto anstecken und in evcc einen Lademodus einstellen.
> 
> Hier [#22100](https://github.com/evcc-io/evcc/issues/22100) gibt es ein anderes Problem, aber der Ladestart funktioniert normal.
> 
> Weil es in der Vergangenheit mal damit Probleme gab: Wie ist die Box angeschlossen, LAN oder WLAN?

Habe den Test mit Autostart gemacht, Verhalten ist bis auf einen Punkt gleich: Jetzt erkennt EVCC die Ladung mit dem Hinweis "Ladevorrgang aktiv...", regelt aber dennoch nicht runter, läuft weiterhin auf Max...

Angeschlossen über WLAN, AP hängt genau hinter der WB. Für das Netzwerk bei mir lege ich die Hand ins Feuer, dass hier keine Verbindungsprobleme auftreten. Das ist alles mit Unifi-Komponeten aufgebaut, keine Fritz oder ähnliches. Da kenne ich mich ganz brauchbar aus :).

Bez. der Phaseunumschaltung und https://github.com/evcc-io/evcc/issues/22100: Da bräuchte er ja schon die Beta-FW, oder? Die aktuell Prod-Version, oder habe ich was verpasst?@andig: Bitte mit

    evcc charger

schauen was nicht funktioniert. Damit können alle Funktionen einzeln angesteuert werden.@VolkerK62: > Für das Netzwerk bei mir lege ich die Hand ins Feuer

Das meinte ich nicht. Bei DaheimLaden (nicht PRO) gab es früher mal Probleme mit Modbus über WLAN. 
@LutzDi: > > Für das Netzwerk bei mir lege ich die Hand ins Feuer
> 
> Das meinte ich nicht. Bei DaheimLaden (nicht PRO) gab es früher mal Probleme mit Modbus über WLAN.

Ich kann gerne parallel über den Modbustester mal abfragen, ob und welche Werte kommen. Was sollte ich prüfen? Hast Du passende Register für mich...?@andig: Können wir bitte nicht weiter drauflos raten sondern strukturiert analysieren? Dafür https://github.com/evcc-io/evcc/issues/22079#issuecomment-3015201330@LutzDi: > Bitte mit
> 
> ```
> evcc charger
> ```
> 
> schauen was nicht funktioniert. Damit können alle Funktionen einzeln angesteuert werden.

@andig, jederzeit. Wenn Du mir kurz einen Hint gibst, wie ich das unter HA umsetzen kann? In den Docker komme ich rein, aber er mag/findet meine Konfig nicht... Thx for help...@mfuchs1984: Eine einfache Möglichkeit: evcc temporär anstatt im HA auf deinem PC starten@andig: > wie ich das unter HA umsetzen kann

Die Antwort ist immer gleich: gar nicht. Das schrieb ich oben schon. Einfach ohne HA machen.@LutzDi: > Die Antwort ist immer gleich: gar nicht. Das schrieb ich oben schon. Einfach ohne HA machen.

Das ist nicht hilfreich und auch nicht zielführend. Es gibt sicher Gründe, warum man es im HA macht und nicht Stand-Alone. 

> Eine einfache Möglichkeit: evcc temporär anstatt im HA auf deinem PC starten

Das ist hilfreich, danke @mfuchs1984, ich werde mir mal ein Testbed einrichten für solche Fälle.@andig: > Das ist nicht hilfreich und auch nicht zielführend. Es gibt sicher Gründe, warum man es im HA macht und nicht Stand-Alone.

Du kannst "das" natürlich in HA machen, es ist super, dass das möglich ist. Aber: `evcc charger` testen geht auf HA halt nicht. Kann man doof finden, ist aber leider so. Da testen hier notwendig wäre  *und*  wir keinen HA Support geben machen wir hier zu bis es Testergebnisse gibt. @LutzDi: @andig, ich muss ehrlich sagen, dass ich sehr verwirrt bin, wie Du hier mit Deinem Gegenüber umgehst... Deine Hinweis sind kurz, recht harsch. Es scheint für Dich nur Deinen Weg zu geben und alles andere scheint nicht wichtig und vor allem richtig zu sein. Hatte ich nicht geschrieben, dass ich mir eine Lösung suche. evcc charger umzusetzen? Dann darf ich fragen, was Dich veranlasst, das issue hier zu schließen? Das führt nur dazu, dass ich wieder öffnen werden. Bitte öffne es wieder. Danke.@mfuchs1984: Er schreibt, er macht zu, bis es Testergebnisse gibt. D.h. wenn sie da und verwertbar sind, wird das Ticket wieder geöffnet, das Vorgehen ist also klar.@andig: @lutzdi OT auf „es gibt gute Gründe die Hilfe nicht anzunehmen oder woanders zu suchen“ gibts nicht unendlich viele Möglichkeiten weiter zu helfen. Ich erlaube mir daher auch nochmal darauf hinzuweisen, dass wir für HA keinen Support geben können, so wie es beim anlegen des Issues deutlich gemacht wird. Ich persönlich finde es daher extrem ermüdend, immer wieder in Diskussionen gezogen zu werden, die erklären wollen warum oder wie die Lösung auf Basis HA jetzt aussehen müsste. Der Platz dafür sind nicht die Guthub Issues, wir haben daher für HA extra eine eigene Diskussionskategorie eingerichtet. @LutzDi: Hi @andig,

anbei der Output von evcc charger:

[main  ] INFO 2025/06/29 10:51:56 using config file: C:\Temp\evcc\evcc.yaml
Power:          6900W
Energy:         682.2kWh
Current L1..L3: 30.9A 0A 0A
Voltage L1..L3: 224V 0V 0V
Charge status:  B
Enabled:        false@LutzDi: Noch eine Ergänzung: Ich habe heute morgen die Windows-Instanz gestartet und die läuft. Dabei fiel auf, dass der Status des Fahrzeugs wechselt zwischen "verbunden" und "Ladebereit. Warte auf Fahrzeug …", aktuell wird aber nix von mir geändert, das Ganze steht einfach nur so da. Aber: es beginnt kein Überschussladen, egal welcher Status.

Ich habe Euch das Log dazu einmal hier angehängt.

[evcc-win-trace 30-06_01.txt](https://github.com/user-attachments/files/20976087/evcc-win-trace.30-06_01.txt)@andig: @naltatis wie unterscheiden wir diese beiden Statuus?@LutzDi: Noch eine Ergänzung: Folgernde Ablauf, den ich nachstellen kann:

- EVCC ist im Status "Ladebereit. Warte auf Fahrzeug …"
- Ich aktiviere den Ladevorgang über die WB
- Ladevorgang startet und orientiert sich erfolgreich am PV-Überschuss, lädt korrekt
- Ich beende den Ladeevorgang über evcc über Wechsel zu Profil "Aus"
- Status wechselt in "verbunden", keine Ladung
-  Wechsel wieder zu Profil "PV"
- Timer für PV-Überschuss beginnt zu laufen (Überschuss ist da)
- Timer läuft ab, adie Ladung beginngt nach 30s, vermutlich der Updatezyklus
- In diesem ganzen Ablauf erfolgt der Wechsel in den Status "Ladebereit. Warte auf Fahrzeug …"

Anbei noch das Log für den o.g. Vorgang.

[evcc-win-trace 30-06_02.txt](https://github.com/user-attachments/files/20976758/evcc-win-trace.30-06_02.txt)

@VolkerK62: was mir im ersten Log (30-06_01) aufgefallen ist: 
du hast im Auto ein Limit von 80% eingestellt und das Auto zeigt 79%. Nicht, das dadurch ein Ladestart vom Auto abgelehnt wird.
Setz das Limit im Auto mal auf 100%@LutzDi: > was mir im ersten Log (30-06_01) aufgefallen ist: du hast im Auto ein Limit von 80% eingestellt und das Auto zeigt 79%. Nicht, das dadurch ein Ladestart vom Auto abgelehnt wird. Setz das Limit im Auto mal auf 100%

Mach ich gerne, kann ich aber fast schon verneinen, denn das war auch bei niedrigeren Zahlen der Fall. Ich probiere es aus und melde mich...

EDIT: jetzt hat es natürlich funktioniert, wie heute morgen auch schon mal... Ich muss jetzt erst nochmal genau herausfinden, wie ich das provozieren kann, um es nachzustellen. Hat jemand von Euch eine Idee, woran es liegen könnte, damit ich weiß, was ich ausprobieren könnte?@LutzDi: Noch eine Auffälligkeit, ggf. auch normal, denn das war auch ohne das hier genannte Problem ab und an der Fall: Wenn ich einen Ladevorgang starte, dann kommt folgende Fehlermeldung mit Ausrufezeichen im EVCC:

KS-LADESTATION-1: charger logic error: current mismatch (got 31A measured, expected 10.9A) - make sure your interval is at least 30s

Mein Intervall steht auf 30s... jfyi.@VolkerK62: Es wird geladen, gestoppt und dann ohne erneutes ab-/anstecken wieder gestartet und dann funktioniert es nicht mehr?
Hmm... bei VW gibt es so etwas auch, aufgrund mangelhafter Software. Möglich das Hyndai da auch etwas verbockt hat.
Mein Ioniq5 (von 2021) funktioniert prima, aber ich habe die neueren Serviceaktionen noch nicht machen lassen. 

Die Sache mit dem current mismatch:
Die Warnung kommt, wenn der gemessene Wert erheblich vom freigegebenen abweicht. Das kann gelegentlich mal passieren, sollte aber kein Dauerzustand sein. Der weitere Hinweis ist drin, da es oft an einem zu kleinen Intervall liegt.  @andig: > EDIT: jetzt hat es natürlich funktioniert, wie heute morgen auch schon mal... Ich muss jetzt erst nochmal genau herausfinden, wie ich das provozieren kann, um es nachzustellen. Hat jemand von Euch eine Idee, woran es liegen könnte, damit ich weiß, was ich ausprobieren könnte?

@LutzDi mach doch mal bitte das Fahrzeuglimit aus und den Akku etwas leerer. Dann neu testen. Zu Deinen Tests dann vollständige Angaben bzw. Logfile.@LutzDi: > Es wird geladen, gestoppt und dann ohne erneutes ab-/anstecken wieder gestartet und dann funktioniert es nicht mehr? Hmm... bei VW gibt es so etwas auch, aufgrund mangelhafter Software. Möglich das Hyundai da auch etwas verbockt hat. Mein Ioniq5 (von 2021) funktioniert prima, aber ich habe die neueren Serviceaktionen noch nicht machen lassen.
> 
> Die Sache mit dem current mismatch: Die Warnung kommt, wenn der gemessene Wert erheblich vom freigegebenen abweicht. Das kann gelegentlich mal passieren, sollte aber kein Dauerzustand sein. Der weitere Hinweis ist drin, da es oft an einem zu kleinen Intervall liegt.

Punkt 2: OK, ich dachte mir das auch schon, dass das ein Timing-Thema ist. Passiert auch nicht dauernd. Ich habe das Gefühl, dass EVCC schon von der Leistung aus dem Überschuss ausgeht, die letzte Antwort von der WB aber vor z.B. 20s eben viel höher war und erst in 10s aktualisiert wird, in meinem Fall eben für 30s. Macht es Sinn, da ggf. auch ein Timing einzubauen? Und was nehmt Ihr so als Intervall?

Punkt 1: Fairer Punkt, dass ggf. das Auto das Problem ist. Kann ich das irgendwie mit einem Dummy-Auto simulieren, sprich den Ioniq 5 rausnehmen, Dummy-Car rein und dann diese Fehlerquelle ausschließen? Oder habt Ihr eine Idee, das einzugrenzen?@LutzDi: > > EDIT: jetzt hat es natürlich funktioniert, wie heute morgen auch schon mal... Ich muss jetzt erst nochmal genau herausfinden, wie ich das provozieren kann, um es nachzustellen. Hat jemand von Euch eine Idee, woran es liegen könnte, damit ich weiß, was ich ausprobieren könnte?
> 
> [@LutzDi](https://github.com/LutzDi) mach doch mal bitte das Fahrzeuglimit aus und den Akku etwas leerer. Dann neu testen. Zu Deinen Tests dann vollständige Angaben bzw. Logfile.

Hi @andig,

gerne! Habe eben meinen ersten Test gemacht. Hier die Rahmenparameter dazu. Fehler ist genau so wieder aufgetreten:

Test 1: > Logfile: evcc-20250701-090358-trace.log

Ausgangslage
- EVCC neu gestartet
- EV nicht abgeschlossen
- SOC 59%
- Ladelimit 100% (EVCC und Fahrzeug)
- Kein Günstiges Netzladen aktiviert
- Kein Ladeplan
- Modus "PV"
- WB mit 1 Phase 32A angeschlossen

Ablauf 08:57:52 Uhr
- Kein PV-Überschuss (WP boostet gerade)
- EV angeschlossen
- Fahrzeug wird erkannt
- SOC ist korrekt
- Status des Fahrzeugs "verbunden"
- Start des Ladevorgangs mittels App der WB 08:59 Uhr
- WB beginnt zu laden mit Max = 6,9 kW
- Status ändert sich nicht, bleibt auf "verbunden"
- Es erfolgt kein Runterregeln auf 0 kW, da kein PV-Überschuss
- Stopp des Ladevorgangs mittels App der WB um 09:01 Uhr

[evcc-20250701-090358-trace.log](https://github.com/user-attachments/files/20994176/evcc-20250701-090358-trace.log)@andig: Ok, jetzt mal bitte Auto dran lassen, evcc stoppen. Dann:

    evcc charger --log error,daheimladen-mb:trace -i 8 --enable

lädt er dann und macht das auch weiter? 

Dann

    evcc charger --log error,daheimladen-mb:trace -i 8.3 --enable

lädt er dann immer noch und macht das auch weiter?

Ziel: wir wollen rausfinden, ob es an den krummen Strömen liegt.@LutzDi: > evcc charger --log error,daheimladen-mb:trace -i 8 --enable

Ggf. habe ich das falsch verstanden, wenn ich evcc stoppe und diesen String ausführe, dann kommen ein paar Trace-Zeilen, EVCC läuft danach aber nicht. Soll ich dann nochmal mit evcc -c evcc.yaml starten?@andig: Nein! Das startet einfach Deine Wallbox die dann weiter laden sollte. Es gibt ja eine Welt ohne evcc ;)@LutzDi: Dann muss ich wohl mal kurz vor die Garage :)

> evcc charger --log error,daheimladen-mb:trace -i 8 --enable

Nein, WB startet nicht und lädt nicht.

> evcc charger --log error,daheimladen-mb:trace -i 8.3 --enable

Nein, WB startet nicht und lädt nicht.

Nur mal als Test-OT: Ich habe im gleichen Setup wie bei den o.g. Aufrufen einfach mal über ModBus-Tester das Register 95 auf 1 schreibe, dann startet der Ladevorgang direkt wie gewünscht. Ggf. hilft es ja.
@andig: evcc macht gar nichts mit Register 95 und hat es auch in alten Versionen nicht gemacht. Falls das nötig sein sollte fehlt uns da ein Hinweis von Daheimladen was sich daran geändert haben sollte.@VolkerK62: Ist die Box im RFID-Modus?  Das `evcc charger` ersetzt nicht die RFID Freigabe.@LutzDi: > Ist die Box im RFID-Modus? Das `evcc charger` ersetzt nicht die RFID Freigabe.

Danke für den Hinweis, ja, ist sie, sonst würde sie ja ganz von alleine loslaufen ohne irgendeinen Befehl. Wie soll der Test von @andig, dann genau laufen? Mit oder ohne RFID, einfach loslaufen lassen und dann den EVCC charger befehlt ausführen? Sprich soll ich die Aufrufen ausführen, während die WB lädt? Bitte lasst mich auch die Details wissen, damit Ihr die passenden Infos bekommt und ich es so mache, wie Ihr es braucht.

Das mit dem Register 95 ist nur ein Versuch gewesen, ob sich überhaupt was tut. Magst Du @andig mir mal kurz sagen, wie die von Dir genannten Aufrufe die WB starten sollen? Welches Register wird bedient? Ich denke, hier spielt auch rein, was @VolkerK62  geschrieben hat, das Register 95 wird auf über die RFID oder den Button genutzt, um der WB zu sagen, jetzt geht es los.@VolkerK62: >evcc macht gar nichts mit Register 95 und hat es auch in alten Versionen nicht gemacht. Falls das nötig sein sollte fehlt uns da ein Hinweis von Daheimladen was sich daran geändert haben sollte.

@andig 
Register95 ersetzt praktisch die RFID Freigabe.
Das war am Anfang mal in der Implementierung drin. Hat aber in Zusammenhang mit dem Ladestart Probleme gemacht.
Wenn ich mich recht erinnere, wird beim Start ja 6A geschickt und danach dann das eigentlich gewünschte Current. Das wurde dann aber gelegentlich "verschluckt", sodass es dann bei 6A geblieben ist, bis danach eine Änderung kam.
Seit Register95 raus ist, passiert das nciht mehr.
https://github.com/evcc-io/evcc/pull/7026
@andig: Das ist ja schon ewig so und keine aktuelle Änderung, kann also nicht ursächlich sein. Die Frage an @LutzDi ist: welche Änderung hat zu diesem Verhalten geführt? Im Zweifel schrittweise Änderungen, evcc Versionen, etc rückgängig machen und testen. Falls es prinzipiell an RFID liegen sollte stellt sich ebenfalls die Frage, warum das bisher funktioniert haben soll?@VolkerK62: @LutzDi  gab es bei dir ein Firmware Update?
Hintergrund der Frage: 
Meine 3 Jahre als Smart funktioniert wunderbar. Gestern habe ich (wegen einer anderen Sache) die aktuelle Firmware bekommen. Damit hab ich Probleme: 
Ladestart geht mit voller Leistung los, lässt sich dann aber einfangen; nach dem Abschalten startet die Box wieder ...
Damit ich vernünftig laden konnte, habe ich mir die alte FW wieder aufspielen lassen.
Wenn es bei dir vorher mal richtig funktioniert hat, dann frag mal bei Support, ob du ein FW-Update bekommen hast.@LutzDi: > [@LutzDi](https://github.com/LutzDi) gab es bei dir ein Firmware Update? Hintergrund der Frage: Meine 3 Jahre als Smart funktioniert wunderbar. Gestern habe ich (wegen einer anderen Sache) die aktuelle Firmware bekommen. Damit hab ich Probleme: Ladestart geht mit voller Leistung los, lässt sich dann aber einfangen; nach dem Abschalten startet die Box wieder ... Damit ich vernünftig laden konnte, habe ich mir die alte FW wieder aufspielen lassen. Wenn es bei dir vorher mal richtig funktioniert hat, dann frag mal bei Support, ob du ein FW-Update bekommen hast.

Kann ich gerne nachfragen, ich glaube aber nicht. Ich habe die WB erst seit Anfang Mai im Einsatz und da gab es ganz am Anfang beim Einrichten ein Update... Mit Jonas habe ich besprochen, dass er mit die Beta aufspielen kann für das Testen der Phasenumschaltung... Ich möchte aber gerne wie von @andig korrekt angemerkt, strukturiert vorgehen und nicht zu viel ändern, sonst wissen wir nachher gar nix mehr.

EDIT: Aber auf alte FW zurückgehen ist ja nicht wirklich ne Lösung, vor allem warte ich sehnsüchtig auf das Thema Phasenumschaltung, da muss ich zwangsweise auf eine neue FW. Das brauche ich bei meiner kleinen Anlage im Winter auf jeden Fall...@LutzDi: > Das ist ja schon ewig so und keine aktuelle Änderung, kann also nicht ursächlich sein. Die Frage an [@LutzDi](https://github.com/LutzDi) ist: welche Änderung hat zu diesem Verhalten geführt? Im Zweifel schrittweise Änderungen, evcc Versionen, etc rückgängig machen und testen. Falls es prinzipiell an RFID liegen sollte stellt sich ebenfalls die Frage, warum das bisher funktioniert haben soll?

Bevor ich das aufgreife, lasst mich nochmal die Frage stellen, wie ich die gewünschten Aufrufe von @andig testen soll. Ich stelle es mir so vor:

- Ich schließe das EV an
- Ich starte den Ladevorgang über RFID oder Register 95
- Ich rufe die beiden Befehle von @andig auf und teile das Ergebnis

Korrekt?

Zu Deine Frage: Ich habe seit Anbeginn dieses Setup, mache natürlich die Update von EVCC brav mit. Das Thema mit dem Überschussladen ist wie gesagt seit ca. 3 Wochen bei mir spürbar. Ich habe in dieser Zeit nur mit Plänen, Zielladen und Günstigem Netzladen gearbeitet in Abhängigkeit von meinen täglichen Anforderungen. Das Setup mit WB, EV, Solar, Tibber und SmartMeter-Überschuss ist gleichgeblieben...Insofern wüsste ich nicht, was ich an Konfig zurückdrehen soll... Meine Probleme begannen gefühlt mit der Umstellung auf mA, die Diskussion kennt Ihr ja... Das wäre ein Moment, kann diesen aber nicht beweisen...@LutzDi: Habe den Test wie folgt gemacht:

- Ich schließe das EV an
- Ich starte den Ladevorgang über RFID oder Register 95
- Ich rufe die beiden Befehle von @andig auf

WB startet mit max. Ladeleistung, bei mir 6,9 kW

> evcc charger --log error,daheimladen-mb:trace -i 8 --enable

WB läuft weiter, Ladeleistung bleibt bei 6,9 kW

> evcc charger --log error,daheimladen-mb:trace -i 8.3 --enable

WB läuft weiter, Ladeleistung wird auf 1.8 kW reduziert, was meinem aktuellen Überschuss entspricht

Den Test habe ich 2x gemacht, Ergebnis ist identisch... Spricht das Verhalten mit Euch?
@VolkerK62: Hmm ..... evtl braucht es ein `i 8.0`

und ... die angezeigte Ladeleistung ändert sich nur in 100W Schritten. Nimm mal `9.3` 
 @LutzDi: > Hmm ..... evtl braucht es ein `i 8.0`
> 
> und ... die angezeigte Ladeleistung ändert sich nur in 100W Schritten. Nimm mal `9.3`

Mache ich gerne... Vorab hier eine Extrakt aus der Antwort von Daheimladen-Support bez. dieses Problems: "meine Vermutung, die ich EVCC auch schon kommuniziert habe, ist, dass das Problem mit der mA Steuerung zusammenhängt. Unsere Wallboxen können nur in 0,1A Schritten die Stromstärke Steuern." Da sei man mit Euch wohl schon in Kontakt...

Hier das Ergebnis mit 9.3: Start > 6,9 kW > 9.3 ausgeführt > runter auf 2,1 kW (Überschuss aktuell aber bei ca. 3 kW)@mfuchs1984: Nur um sicherzugehen: läuft bei deinen Tests evcc noch irgendwo oder hast du es vorher beendet?@LutzDi: Alles beendet, es läuft keine Instanz von EVCC@mfuchs1984: Wenn du jeweils noch den Output der Kommandos hier bereitstellst, sieht man auch, welche Werte an die Wallbox gesendet werden.@andig: > Hier das Ergebnis mit 9.3: Start > 6,9 kW > 9.3 ausgeführt > runter auf 2,1 kW (Überschuss aktuell aber bei ca. 3 kW)

Deine Box ist 3p angeschlossen? Da sind unter 4,1kW egtl. komplett unmöglich, es sei denn das Auto (!!!) nimmt sich weniger. Die Ergabnisse widersprechen damit der Physik, nicht nur der Programmlogik :/@LutzDi: > > Hier das Ergebnis mit 9.3: Start > 6,9 kW > 9.3 ausgeführt > runter auf 2,1 kW (Überschuss aktuell aber bei ca. 3 kW)
> 
> Deine Box ist 3p angeschlossen? Da sind unter 4,1kW egtl. komplett unmöglich, es sei denn das Auto (!!!) nimmt sich weniger. Die Ergabnisse widersprechen damit der Physik, nicht nur der Programmlogik :/

Nope, die WB ist 1p angeschlossen und auch so konfiguriert. Ist meiner kleinen PV geschuldet. Du weißt doch, Physik lügt nicht :)@andig: Dann sind aber 6,9kW unmöglich- oder hast du 32A?@LutzDi: > Wenn du jeweils noch den Output der Kommandos hier bereitstellst, sieht man auch, welche Werte an die Wallbox gesendet werden.

Gerne:

C:\Temp\evcc>evcc charger --log error,daheimladen-mb:trace -i 8 --enable
[main  ] INFO 2025/07/01 12:03:56 using config file: C:\Temp\evcc\evcc.yaml
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: send 00 01 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: recv 00 01 00 00 00 05 ff 03 02 00 50
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: send 00 02 00 00 00 06 ff 03 00 59 00 01
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: recv 00 02 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: send 00 03 00 00 00 09 ff 10 00 5b 00 01 02 00 50
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: recv 00 03 00 00 00 06 ff 10 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: send 00 04 00 00 00 09 ff 10 00 5b 00 01 02 00 50
[daheimladen-mb] TRACE 2025/07/01 12:03:56 modbus: recv 00 04 00 00 00 06 ff 10 00 5b 00 01

C:\Temp\evcc>evcc charger --log error,daheimladen-mb:trace -i 8.3 --enable
[main  ] INFO 2025/07/01 12:05:01 using config file: C:\Temp\evcc\evcc.yaml
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: send 00 01 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: recv 00 01 00 00 00 05 ff 03 02 00 50
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: send 00 02 00 00 00 06 ff 03 00 59 00 01
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: recv 00 02 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: send 00 03 00 00 00 09 ff 10 00 5b 00 01 02 00 53
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: recv 00 03 00 00 00 06 ff 10 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: send 00 04 00 00 00 09 ff 10 00 5b 00 01 02 00 53
[daheimladen-mb] TRACE 2025/07/01 12:05:01 modbus: recv 00 04 00 00 00 06 ff 10 00 5b 00 01

C:\Temp\evcc>evcc charger --log error,daheimladen-mb:trace -i 9.3 --enable
[main  ] INFO 2025/07/01 12:59:34 using config file: C:\Temp\evcc\evcc.yaml
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: send 00 01 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: recv 00 01 00 00 00 05 ff 03 02 00 53
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: send 00 02 00 00 00 06 ff 03 00 59 00 01
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: recv 00 02 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: send 00 03 00 00 00 09 ff 10 00 5b 00 01 02 00 5d
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: recv 00 03 00 00 00 06 ff 10 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: send 00 04 00 00 00 09 ff 10 00 5b 00 01 02 00 5d
[daheimladen-mb] TRACE 2025/07/01 12:59:34 modbus: recv 00 04 00 00 00 06 ff 10 00 5b 00 01

@LutzDi: > Dann sind aber 6,9kW unmöglich- oder hast du 32A?

Korrekt, auch hier lügt die Physik nicht. 22kW max, ergo 32A, wie gesagt, der kleinen PV (7,.8kWp) geschuldet. Daher habe ich die 32A genommen, sonst komme ich damit nicht hin.@mfuchs1984: > Unsere Wallboxen können nur in 0,1A Schritten die Stromstärke Steuern.

Evcc sendet 80, 83 und 93 an das Register 91. Das entspricht 0,1A Schritten. Das wiederholt evcc dann direkt auch noch für das "enable".@andig: Da bleibt egtl. nir noch die Schlussfolgerung, dass die Box durcheinander kommt. Sonst sollte sie bei 83 mit 8,3A laden!@LutzDi: Ich trete gerne an Daheimladen heran, kein Problem, brauche aber etwas mehr als Vermutungen. Ich fasse für mich mal zusammen:

- Die Box lädt ohne EVCC wie sie soll, einfach Max und los geht's
- Wenn ich über `evcc charger --log error,daheimladen-mb:trace -i x.x --enable` Werte übergebe, reagiert die WB drauf > ergo tut auch, was es soll
- Ich habe eben nochmal ein paar Versuche gemacht und der WB unterschiedliche A angeboten, mal 11.5, mal 15.3, mal 9.5, das hat im laufenden Betrieb alles dazu geführt, dass sie das tut, was sie soll, die kW sind gestiegen/gesunken
- Ich habe allerdings ein komisches Phänomen gehabt: Den Ladevorgang wie genannt gestartet, lädt mit 6,9 kW, dann habe ich folgende Aufrufe abgesetzt:

`evcc charger --log error,daheimladen-mb:trace -i 8 --enable`
`evcc charger --log error,daheimladen-mb:trace -i 8.0 --enable`
`evcc charger --log error,daheimladen-mb:trace -i 8.1 --enable`

Alle drei haben keinerlei Modbus-Befehl abgesetzt, auf der Console wurde nichts ausgegeben, erst beim 4. Aufruf, in dem Fall `evcc charger --log error,daheimladen-mb:trace -i 9.3 --enable` wurde ein Modbus-Call ausgeführt und die Leistung angepasst. Danach konnte ich wie o.g. steuern. Was wäre der Grund, warum EVCC den Modbus-Call nicht erstellt?

Was wäre denn jetzt aus Eurer Sicht das probate Mittel für ein weiteres Vorgehen, denn @VolkerK62 hat dieses Verhalten ja auch bestätigen können... Ich wäre für Hilfestellung dankbar, was wir Daheimladen fragen wollen, denn "geht nicht" möchte ich nicht als Fehlermeldung absetzen :)...@andig: > Alle drei haben keinerlei Modbus-Befehl abgesetzt, auf der Console wurde nichts ausgegeben, erst beim 4. Aufruf, in dem Fall 'evcc charger --log error,daheimladen-mb:trace -i 9.3 --enable' wurde ein Modbus-Call ausgeführt und die Leistung angepasst. Danach konnte ich wie o.g. steuern. Was wäre der Grund, warum EVCC den Modbus-Call nicht erstellt?

Vollständies Log dieses Vorgangs? Ich halte das für ausgeschlossen!@LutzDi: <img width="765" alt="Image" src="https://github.com/user-attachments/assets/4315cdf4-5821-48a9-9827-c852454394a8" />

@andig: Wo sind die Logs, wenn EVCC nicht läuft?@andig: Also bei den ersten 4 Experimenten sehe ich keine Fehlermeldung, aber enable ist keine gültige Option. Die heisst `--enable`. @LutzDi: Disregard, mein Typo...

Wie machen wir jetzt weiter?@andig: Du machst das ganze nochmal da der Test keiner war?@LutzDi: > Du machst das ganze nochmal da der Test keiner war?

Was meinst Du genau? Was war das, was ich dann gestern über den Tag gemacht habe? Vergiss den Typo...@mfuchs1984: In deinem Screenshot oben hast du dreimal das Kommando falsch ausgeführt, ohne `--` vor dem `enable`. Nur der letzte Aufruf mit 9.3 war valide.@mfuchs1984: @andig soweit ich sehe ist in daheimladen-mb.go ein Heartbeat implementiert. Sind die Tests mit einzelnen Kommandos dann überhaupt aussagekräftig, ohne Heartbeat fällt die Wallbox zumindest nach einer Weile auf ihr failsafe current zurück, wenn ich mich nicht irre?@LutzDi: > In deinem Screenshot oben hast du dreimal das Kommando falsch ausgeführt, ohne `--` vor dem `enable`. Nur der letzte Aufruf mit 9.3 war valide.

Ja, aber ich habe nun wirklich viele Tests gestern gemacht über den Tag, vergesst doch mal mein Typo, das war dämlichen Tastaturbelegung meiner VM geschuldet. Dicke Finger eben.

Was genau soll zusätzlich getestet werden, damit wir mehr Erkenntnisse bekommen? Ich habe nicht den Einblick in die Details, um zu wissen, was getestet werden soll, um den Fehler einzugrenzen. Von daher bräuchte ich bitte Anweisungen, was getestet werden soll. Mein Versuch von gestern Abend mit dem Typos war nur ein Schuss ins Blaue...@andig: > [@andig](https://github.com/andig) soweit ich sehe ist in daheimladen-mb.go ein Heartbeat implementiert. Sind die Tests mit einzelnen Kommandos dann überhaupt aussagekräftig, ohne Heartbeat fällt die Wallbox zumindest nach einer Weile auf ihr failsafe current zurück, wenn ich mich nicht irre?

Good catch. Falls der Heartbeat Timeout aktiv ist nutzt uns das so nichts :( Ich schaue nochmal dass wir einen Warteschritt einbauen der es `evcc charger` erlaubt, noch ein bisschen zu warten und den Heartbeat zu bedienen bevor es sich beendet.@andig: Da hilft: https://github.com/evcc-io/evcc/pull/22170@LutzDi: > Da hilft: [#22170](https://github.com/evcc-io/evcc/pull/22170)

Ok, Danke dafür. Damit ich es richtig anwende:

- Das kommt heute ins nightly?
- Ich rufe dann auf 'evcc charger --log error,daheimladen-mb:trace -i 9.3 --enable --heartbeat'

Korrekt? Wie genau soll ich testen, welche Varianten und welchen Output braucht Ihr? Thx for info.@LutzDi: Hi zusammen,

damit ich das Richtige richtig teste, wäre ich für eine kurze Info dankbar, was ich ausprobieren und worauf ich achten soll und welche Information als Outcome benötigt werden. Ich danke Euch...

LG
Lutz@VolkerK62: erstmal muss #22170 fertig sein.@andig: Der geht hoffentlich gleich rein.

> damit ich das Richtige richtig teste, wäre ich für eine kurze Info dankbar, was ich ausprobieren und worauf ich achten soll und welche Information als Outcome benötigt werden. Ich danke Euch...

Du musst halt einfach testen was Deine WB nicht verarbeitet. Bisher gibts keine Indikation dass sie irgendwas nicht wie erwartet ausführen würde.@LutzDi: Guten Morgen zusammen,

ich habe gestern und heute ein wenig versucht, das Verhalten provozierbar zu machen und ich glaube, dass ich damit ein wenig erfolgreich war.

Wie habe ich getestet?
- V0.204.5
- Modus = PV
- Sowohl als HA Add-On als auch als Win-Stand-Alone-Installation
- Modbus ist über einen Proxy angebunden, damit ich parallel lesen und auch schreiben kann
- Ich nutze den Modbus-Tester
- Es ist kein ausreichender PV-Überschuss da, EVCC soll also runterregeln auf 0 kW

Wie kann ich das Problem immer wieder nachstellen?
- EV anschließen
- Warten, bis EVCC das EV erkannt hat
- - Status EV an WB = verbunden
- - WB Ladebereit = nein
- Ladevorgang mittels Reg 95 = 1 oder auch mittels RFID starten
- Ladevorgang startet mit Max, bei mir 1p 32A = ca. 6,9 kW
- Danach kann ich alles stehen lassen, die WB lädt mit 6,9 kW und EVCC steuert nicht ein, es erscheint kein Timer wegen zu geringen PVÜ (Log#1)
- Wenn ich dann über Modbus-Tester das Register 91 mit dem Wert 65 schreibe, reduziert sich die Ladeleistung umgehend auf 1,4 kW. Ich kann das auch mit anderen Werten machen, der Wert an sich spielt keine Rolle (Log#2)
- - Es spielt auch keine Rolle, ob PVÜ da ist oder nicht, auch bei vorhandenem PVÜ regelt EVCC initial nicht ein
- Danach "erwacht" EVCC plötzlich, der Timer springt ab, zählt von 3 min runter und hat erkannt, dass zu wenig PVÜ da ist
- Nach Ablauf der 3 min wird die Ladung erwartungsgemäß pausiert und auf 0 kW runtergeregelt (Log#3)
- In diesem Zustand, nach dem Runterregeln auf 0 kW springt das Laden auch jederzeit wieder an, wenn ausreichend PVÜ vorhanden ist. Wenn ich einmal einen Max Current von außen gesendet habe, dann läuft ab dann mit EVCC alles erwartungsgemäß.

Was sagen mit die Logs dazu, hier nur Modbus an Wallbox:

Log#1:
- Liege ich richtig, wenn ich kein Write sehe, sondern nur Read und der Rückgabewert auf Reg 91 = 0 ist?
- Heißt dass, dass EVCC nichts an die Wallbox bez. Max Current sendet?
```
[daheimladen-mb] TRACE 2025/07/06 08:32:05 modbus: send 00 10 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:32:05 modbus: recv 00 10 00 00 00 0d ff 03 0a 09 0a 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:32:05 modbus: send 00 11 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:32:05 modbus: recv 00 11 00 00 00 07 ff 03 04 00 00 1b 4c
[daheimladen-mb] TRACE 2025/07/06 08:32:05 modbus: send 00 12 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:32:05 modbus: recv 00 12 00 00 00 05 ff 03 02 00 03
[daheimladen-mb] TRACE 2025/07/06 08:32:06 modbus: send 00 13 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:32:06 modbus: recv 00 13 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:32:25 modbus: send 00 14 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:32:25 modbus: recv 00 14 00 00 00 07 ff 03 04 00 00 1a f4
[daheimladen-mb] TRACE 2025/07/06 08:32:25 modbus: send 00 15 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:32:25 modbus: recv 00 15 00 00 00 0d ff 03 0a 01 36 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: send 00 16 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: recv 00 16 00 00 00 0d ff 03 0a 08 ba 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: send 00 17 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: recv 00 17 00 00 00 07 ff 03 04 00 00 1b 4d
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: send 00 18 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: recv 00 18 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: send 00 19 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: recv 00 19 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: send 00 1a 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:32:29 modbus: recv 00 1a 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:32:55 modbus: send 00 1b 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:32:55 modbus: recv 00 1b 00 00 00 07 ff 03 04 00 00 1a f4
[daheimladen-mb] TRACE 2025/07/06 08:32:55 modbus: send 00 1c 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:32:55 modbus: recv 00 1c 00 00 00 0d ff 03 0a 01 36 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: send 00 1d 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: recv 00 1d 00 00 00 0d ff 03 0a 08 b4 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: send 00 1e 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: recv 00 1e 00 00 00 07 ff 03 04 00 00 1b 4d
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: send 00 1f 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: recv 00 1f 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: send 00 20 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: recv 00 20 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: send 00 21 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:33:04 modbus: recv 00 21 00 00 00 05 ff 03 02 00 00
```

Log#2:
- Hier sehe ich mein von außen eingesteuertes Max. Current
```
[daheimladen-mb] TRACE 2025/07/06 08:33:25 modbus: send 00 22 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:33:25 modbus: recv 00 22 00 00 00 07 ff 03 04 00 00 1a f4
[daheimladen-mb] TRACE 2025/07/06 08:33:25 modbus: send 00 23 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:33:25 modbus: recv 00 23 00 00 00 0d ff 03 0a 01 36 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: send 00 24 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: recv 00 24 00 00 00 0d ff 03 0a 08 b8 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: send 00 25 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: recv 00 25 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: send 00 26 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: recv 00 26 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: send 00 27 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: recv 00 27 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: send 00 28 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:33:31 modbus: recv 00 28 00 00 00 05 ff 03 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:33:55 modbus: send 00 29 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:33:55 modbus: recv 00 29 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:33:55 modbus: send 00 2a 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:33:55 modbus: recv 00 2a 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:34:00 modbus: send 00 2b 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: recv 00 2b 00 00 00 0d ff 03 0a 08 fb 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: send 00 2c 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: recv 00 2c 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: send 00 2d 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: recv 00 2d 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: send 00 2e 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: recv 00 2e 00 00 00 05 ff 03 02 00 41
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: send 00 2f 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: recv 00 2f 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: send 00 30 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:01 modbus: recv 00 30 00 00 00 05 ff 03 02 00 41
```

Log#3
- Hier finde ich den ersten Write-Vorgang, der von EVCC ausgelöst wurde, runter auf 0 kW am Ende des Timers bez. PVÜ
- Vorher hat EVCC nix geschrieben, oder?
```
[daheimladen-mb] TRACE 2025/07/06 08:34:25 modbus: send 00 32 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:25 modbus: recv 00 32 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:34:25 modbus: send 00 33 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:34:25 modbus: recv 00 33 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: send 00 34 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: recv 00 34 00 00 00 0d ff 03 0a 08 f8 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: send 00 35 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: recv 00 35 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: send 00 36 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: recv 00 36 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: send 00 37 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: recv 00 37 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: send 00 38 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: recv 00 38 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: send 00 39 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:31 modbus: recv 00 39 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:34:55 modbus: send 00 3a 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:55 modbus: recv 00 3a 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:34:55 modbus: send 00 3b 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:34:55 modbus: recv 00 3b 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: send 00 3c 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: recv 00 3c 00 00 00 0d ff 03 0a 08 f8 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: send 00 3d 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: recv 00 3d 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: send 00 3e 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: recv 00 3e 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: send 00 3f 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: recv 00 3f 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: send 00 40 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: recv 00 40 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: send 00 41 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:34:59 modbus: recv 00 41 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:35:25 modbus: send 00 42 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:35:25 modbus: recv 00 42 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:35:25 modbus: send 00 43 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:35:25 modbus: recv 00 43 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: send 00 44 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: recv 00 44 00 00 00 0d ff 03 0a 08 f3 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: send 00 45 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: recv 00 45 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: send 00 46 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: recv 00 46 00 00 00 07 ff 03 04 00 00 1b 4e
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: send 00 47 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: recv 00 47 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: send 00 48 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: recv 00 48 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: send 00 49 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:35:30 modbus: recv 00 49 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:35:55 modbus: send 00 4a 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:35:55 modbus: recv 00 4a 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:35:55 modbus: send 00 4b 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:35:55 modbus: recv 00 4b 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: send 00 4c 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: recv 00 4c 00 00 00 0d ff 03 0a 08 ef 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: send 00 4d 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: recv 00 4d 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: send 00 4e 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: recv 00 4e 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: send 00 4f 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: recv 00 4f 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: send 00 50 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: recv 00 50 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: send 00 51 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:36:02 modbus: recv 00 51 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:36:25 modbus: send 00 52 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:36:25 modbus: recv 00 52 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:36:25 modbus: send 00 53 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:36:25 modbus: recv 00 53 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: send 00 54 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: recv 00 54 00 00 00 0d ff 03 0a 08 f1 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: send 00 55 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: recv 00 55 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: send 00 56 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: recv 00 56 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: send 00 57 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: recv 00 57 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: send 00 58 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: recv 00 58 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: send 00 59 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:36:32 modbus: recv 00 59 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:36:55 modbus: send 00 5a 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:36:55 modbus: recv 00 5a 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:36:55 modbus: send 00 5b 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:36:55 modbus: recv 00 5b 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: send 00 5c 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: recv 00 5c 00 00 00 0d ff 03 0a 08 f1 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: send 00 5d 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: recv 00 5d 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: send 00 5e 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: recv 00 5e 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: send 00 5f 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: recv 00 5f 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: send 00 60 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: recv 00 60 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: send 00 61 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:01 modbus: recv 00 61 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:37:25 modbus: send 00 62 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:37:25 modbus: recv 00 62 00 00 00 07 ff 03 04 00 00 05 14
[daheimladen-mb] TRACE 2025/07/06 08:37:25 modbus: send 00 63 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:37:25 modbus: recv 00 63 00 00 00 0d ff 03 0a 00 39 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 64 00 00 00 06 ff 03 00 6d 00 05
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 64 00 00 00 0d ff 03 0a 08 f8 00 00 00 00 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 65 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 65 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 66 00 00 00 06 ff 03 00 1c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 66 00 00 00 07 ff 03 04 00 00 1b 4f
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 67 00 00 00 06 ff 03 00 00 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 67 00 00 00 05 ff 03 02 00 04
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 68 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 68 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 69 00 00 00 06 ff 03 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 69 00 00 00 05 ff 03 02 00 3c
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: send 00 6a 00 00 00 09 ff 10 00 5b 00 01 02 00 00
[daheimladen-mb] TRACE 2025/07/06 08:37:30 modbus: recv 00 6a 00 00 00 06 ff 10 00 5b 00 01
[daheimladen-mb] TRACE 2025/07/06 08:37:55 modbus: send 00 6b 00 00 00 06 ff 03 00 0c 00 02
[daheimladen-mb] TRACE 2025/07/06 08:37:55 modbus: recv 00 6b 00 00 00 07 ff 03 04 00 00 00 00
[daheimladen-mb] TRACE 2025/07/06 08:37:55 modbus: send 00 6c 00 00 00 06 ff 03 00 06 00 05
[daheimladen-mb] TRACE 2025/07/06 08:37:55 modbus: recv 00 6c 00 00 00 0d ff 03 0a 00 00 00 00 00 00 00 00 00 00
```

Meine Fragen:
- Habe ich das korrekt interpretiert, was in den Logs steht? Ich frage, weil ich das Gefühl habe, dass die Modbus-Doku von Daheimladen nicht mit der Realität übereinstimmt. Read wird als Function Code 1 (DEC) angegeben, den finde ich aber in den Logs nicht, nur 3 (Hex)
- Machen meine Erkenntnis für Euch Sinn? Spricht das irgendwie mit Euch? Warum sendet EVCC zu Beginn des Ladevorgangs kein Max Current an die Box, egal ob PVÜ oder nicht ausreichend vorliegt?
- Ich habe bei meinen Versuchen ab und an folgende Fehlermeldung im EVCC bekommen (rotes Ausrufezeichen: "KS-LADESTATION-1: charger out of sync: expected disabled, got enabled". Ich nenne das hier nur als Info, ggf. passt es ja zu dem genannten Verhalten. 
- Unklar ist mir der Status "Ladebereit" der WB im EVCC. Wie wird dieser Wert ermittelt, welche Parameter werden dazu herangezogen?
- - Wenn ich das EV anschließe, erkennt EVCC Gastfahrzeug und kreiselt dann auf der Suche nach dem Fahrzeug. In diesem Zustand ist die Ladestation im Status "Ladebereit = ja" und "Ladebereit, warte auf Fahrzeug"
- - Wenn dann das konkrete EV gefunden wurde, ist der Status "Ladebereit = nein" und "verbunden"

Ich habe Euch den gesamten Vorgang nochmals als gesamtes Log von EVCC in der folgenden Datei angehängt > evcc-20250706-101238-trace.log. Kurz für Euch die wesentlichen ungefähren Time-Stamps:

[evcc-20250706-101238-trace.log](https://github.com/user-attachments/files/21087332/evcc-20250706-101238-trace.log)

- 10:04:59: EV angeschlossen
- 10:06:54: Write Reg 95 = 1 über Modbus-Tester
- 10:08:28: Write Reg 91 = 65 über Modbus-Tester > hier steht dann seitens EVCC auch das erste mal "start charching"
- 10:11:30: Nach Ablauf des Timers wird auf 0 kW runtergeregelt, da kein PVÜ

Bitte lasst mich wissen, wenn etwas unklar ist, oder Ihr was vermisst, ansonsten freue ich mich natürlich über konstruktives Feedback, ob ich auf der richtigen Spur bin...

EDIT 1: Wenn ich nach dem Runterregeln durch EVCC nach Ablauf des Timers von Win-EVCC zu HA-Add-On switche, dann bleibt die Box im Pause-Modus, ich kann jederzeit ohne erneutes Starten des Ladevorgangs (Reg 95 = 1) einen Wert über z.B. Reg 91 = 65 die Ladung fortsetzen, EVCC reagiert darauf auch sofort über den Timer. jfyi.

EDT 2: Baw. sende ich einfach mit dem Reg 95 = 1 auch ein Reg 91 = 60 per Automation im HA, damit startet sowohl der Ladevorgang, als auch wird er umgehend auf 1,3 kW runtergeregelt und EVCC fängt direkt mit der Steuerung an... Workaround funktioniert, aber schöner wäre natürlich, dass EVCC das alleine hinbekommt... :)

Happy sunday.
@premultiply: Die Box tut hier offensichtlich Dinge die sie seitens evcc nicht darf. 
Register 95 ist erzwungener "Start"/"Stop" und darf im Regelbetrieb nicht genutzt werden.

evcc hat mit dem Ladestrom 0A keine Ladefreigabe erteilt. Dennnoch setzt sich die Box damit darüber hinweg.
Die Freigabe erfolgt ausschließlich über den Ladestrom!
Sollte eine erfolgreiche lokale RFID-Authentifizierung sich grundsätzlich über die Ladestromvorgabe hinwegsetzen klingt das nach einen Firmware-Problem (oder Absicht im Sondermodus?).

Vorgesehen ist normalerweise nur der "Plug and Play" Modus. Die Freigabe erfolgt über die Fahrzeugerkennung (enthält auch RFID) von evcc. Üblicherweise braucht es dazu nicht eine weitere Authentifizierungsebene in der Box selbst.
Vielleicht ist das schon der ganze Verständnis- und Konfigurationsfehler?@Delta1977: Hab was ähnliches mit einer WB die über Plugchoice angebunden ist. 
Egal welches Ladeprofil gewählt wurde die WB läd einfach weiter. 
Ist seit ca. 2-3 evcc Versionen so. 
Muss mal dazu einen separaten bug aufmachen und Logs sammeln. @LutzDi: Danke für die Antwort. Dann fangen wir mal vorne an:

- Vorweg: Ggf. liegt es wirklich an meiner fehlenden Kenntnis über die Interna, daher freue mich ich mich über Details, damit ich es nachvollziehen kann.
- Box mit OCPP an oder aus? Ich will es nicht beschreien, aber ich würde sagen, das hat keine Auswirkung. Also, sagen wir mal OCPP 
= AUS. Ich stelle in der Konfig der Box dann Plug&Charge ein. Sprich, die Ladung wird direkt nach Anschluss einen EV gestartet
- Wie soll/kann ich die Fremdnutzung einer Box, die auf Plug&Charge steht und die Box im Freien hängt, schützen? Wenn es auf Plug&Charge steht, kann jeder fleißig zapfen. Wie soll das gehen?

Zu Deinen Anmerkungen @premultiply:
> Register 95 ist erzwungener "Start"/"Stop" und darf im Regelbetrieb nicht genutzt werden.

Ist das wirklich so? Dass ist das Register, das benutzt wird, um einen Ladevorgang zu starten, sprich mit RFID/Button (wenn OCCP =AUS) oder auch über die App (wenn OCPP=AN). Warum darf man das nicht nutzen? Was macht man damit falsch? Einzig sagt man der Box, dass es losgeht, nachdem ein Fahrzeug verbunden ist. Ist das nicht das normale Verhalten, wenn ich mal EVCC ganz weglassen? Irgendwie muss ich doch der Box sagen, dass es losgeht, vor allem, wenn ich meinen Punkt des Schutzes vor Fremdnutzung mit ins Kalkül ziehe. 

> Sollte eine erfolgreiche lokale RFID-Authentifizierung sich grundsätzlich über die Ladestromvorgabe hinwegsetzen klingt das nach einen Firmware-Problem (oder Absicht im Sondermodus?).

Ich sehe in den Logs kein Write der Laststromvorgabe von EVCC an die Box... Hast Du etwas darüber gefunden im benannten Zeitraum? Der erste Write auf Register 91 ist mein manuell eingefügter Wert 65. Vorher schreibt EVCC nix an die Box meiner Analyse nach. Daher würde ich sagen, die Box setzt sich nicht darüber hinweg, sondern sie bekommt einfach keine Ladestromvorgabe von EVCC. Wenn ich was im Log übersehen habe, dann lass es mich gerne wissen

@Delta1977: ich bin sicherlich kein Pro, aber es is exakt das gleiche Verhalten, auch dass es seit Kurzem so ist. Ich würde daher mal vermuten, dass wir in diesem Issue hier sammeln können, da dürfen aber gerne die Pros was dazu sagen. Kannst Du einmal den Reg 91 mit einem zu Deiner Anbindung passenden Wert schreiben? Geht das? Ich würde gerne wissen, ob es bei Dir ab diesem Zeitpunkt auch wieder normal läuft wie bei mir... Sag mal Bescheid.@premultiply: Wenn die Box an evcc angebunden ist, dann ist evcc das führende System.
Hier kann nicht damit gerechnet werden dass irgendwer/irgendwas in die gültigen Vereinbarungen zwischen Box und evcc hineinwirkt.
Da evcc keine Freigabe erteilt hat braucht es auch nicht ständig nochmal zu sagen dass das immer noch gilt.
Und da offensichtlich im Register 91 weiterhin 0 drin steht weiss evcc dass seine nicht erteilte Ladefreigabe weiterhin Gültigkeit hat.
Weicht das Register vom letzten Willen ab wird dies früher oder später mit "charger out of sync" quittiert und versucht den Zustand wiederherzustellen.

Die Box standalone ist eine ganze andere Geschichte als wenn man sie an ein Ladesteuerung oder EMS ankoppelt um darüber als führendes System zu steuern.

Also nochmal:
Was funktioniert ganz konkret nicht, wenn die Box auf Modus "Plug and Play" steht und nichts anderes hineinpfuscht?

Vorläufige These: Durch unpassenden Box-Betriebsmodus hausgemachtes Problem.
Ggf. wirkt dabei dann auch noch unglückliches Verhalten der Box-Firmware mit bei der durch die erfolgreiche lokale RFID-Authentifizierung gleichzeitig intern die geltende Ladestromvorgabe (bzw. Ladesperre) missachtet wird und mit voller Stromvorgabe geladen wird. Dabei bleibt der Wert in Register 91 auf 0 und ein externe System kann nicht bemerken dass hier tatsächlich ungewollt etwas ganz anderes vonstatten geht.@mfuchs1984: > Wie soll/kann ich die Fremdnutzung einer Box, die auf Plug&Charge steht und die Box im Freien hängt, schützen? Wenn es auf Plug&Charge steht, kann jeder fleißig zapfen. Wie soll das gehen?

Loadpoint default mode auf 'off'. Dann startet die Ladung nur nach einem Moduswechsel auf 'pv', 'minpv' oder 'now'. Dieser Wechsel kann entweder automatisch über die Fahrzeugerkennung und den default mode beim vehicle oder manuell über die evcc Oberfläche herbeigeführt werden.@mfuchs1984: > Wenn ich das EV anschließe, erkennt EVCC Gastfahrzeug und kreiselt dann auf der Suche nach dem Fahrzeug. In diesem Zustand ist die Ladestation im Status "Ladebereit = ja" und "Ladebereit, warte auf Fahrzeug"
Wenn dann das konkrete EV gefunden wurde, ist der Status "Ladebereit = nein" und "verbunden"

In deinem Log ist der Modus auf PV und es gibt keinen Überschuss. Deshalb gibt's keinen Ladestart und keine Ladestromvorgabe.@LutzDi: Ich habe denselben Test nochmal mit den o.g. Einstellung und Plug&Play gemacht. Das Ganze funktioniert wie von Dir beschrieben, Ladung startet und wird von EVCC eingeregelt. Insofern ok. Dann drei Anmerkungen:

- Offen bleibt für mich dann weiterhin der Schutz vor Fremdladung. Mit Plg&Charge bin ich offen und das kann so nicht bleiben. Bin für Ideen offen, auch wenn ich mangelndes Wissen haben sollte. @mfuchs1984: Werde ich mal durchgehen, könnte eine Idee sein. Ist für mich dennoch hintenrum, siehe dazu auch mein halbes OT unten. Auch muss ich ja das Ladeende sauber überwachen, um dann wieder auf OFF zu stellen... oder? Also alles wieder Dinge, die auch schief gehen können. Daher bleibe ich dabei: Warum nicht mittels der Wallbox-eigenen Logik starten und dann EVCC steuern lassen. Es geht nur im den Start...
- Ist mir eben aufgefallen: Solange der EV nicht erkannt wurde und Gastfahrzeug genutzt wird, erfolgt keine Steuerung durch EVCC. Wenn also diese Erkennung mal nicht funktioniert - wovon man ausgehen muss, dann lädt die Box mit Max. Ich weiß nicht, ob das so gewollt ist oder nicht, aber warum nicht auch das Gastfahrzeug im Modus PV runterregeln.
- Ich werde die Frage mal an DL stellen, warum die Box die Vorgabe 0 ignoriert, denn der Wert des Reg 91 is ja nachweislich 0. In dem Punkt bin ich bei Dir

Zusatz: egal ob mit oder ohne Plug&Charge, ich bekomme immer mit Anstecken des EV die Fehlermeldung "charger out of sync: expected disabled, got enabled"

Halbes OT:
Architektonisch bin ich nicht ganz bei Dir, dass EVCC nicht davon ausgehen muss, dass jemand anderes reinpfuscht:
- EVCC reagiert ja auch auf den automatischen Start der Box mittels Plug&Play und regelt dann nach. Warum sollte sie das dann nicht auch tun, wenn mittels Reg 95 der Start von außen initiiert wird?
- Muss EVCC nicht auch immer davon ausgehen, dass die Box mal Dinge - warum auch immer - alleine tut, ohne vorher zu fragen?
- Fragt nicht auch EVCC regelmäßig den Status verschiedener Reg-Werte ab? Ich persönlich finde von außen betrachtet, dass EVCC durchaus auf einen Ladestart und damit auch auf den aktuellen Ladestrom reagieren könnte. Warum nicht?@LutzDi: > > Wenn ich das EV anschließe, erkennt EVCC Gastfahrzeug und kreiselt dann auf der Suche nach dem Fahrzeug. In diesem Zustand ist die Ladestation im Status "Ladebereit = ja" und "Ladebereit, warte auf Fahrzeug"
> > Wenn dann das konkrete EV gefunden wurde, ist der Status "Ladebereit = nein" und "verbunden"
> 
> In deinem Log ist der Modus auf PV und es gibt keinen Überschuss. Deshalb gibt's keinen Ladestart und keine Ladestromvorgabe.

Das ist schon klar, es geht aber eher darum, warum EVCC nicht nachsteuert, wenn ein Fremdstart des Ladevorgangs mittels z.B. RFID stattfindet und die Box mit 6,9kW = 31A (bei mir !!) lädt. Das Ganze soll mittels SmartHome und HEMS einfacher und nicht schwieriger werden. Wenn ich an meine 88-jährige Mutter denke, die auch ein EV bekommen soll, dann will ich Ihr nur sagen: Steck das Kabel an, der Rest funktioniert von alleine, also nicht noch EVCC starten und da von OFF auf PV umstellen. Halte das Smartphone an die Box, warte bis es piepst und fertig.

Mit HA wird das alles etwas einfacher, da kann ich mir ja ein Automation bauen, dennoch bin ich so halb der Meinung, dass hier noch auf Seiten EVCC ergänzt werden könnte, oder?@mfuchs1984: > EVCC reagiert ja auch auf den automatischen Start der Box mittels Plug&Play und regelt dann nach. Warum sollte sie das dann nicht auch tun, wenn mittels Reg 95 der Start von außen initiiert wird?

Wenn dein Netzwerk nicht gesichert ist, kann natürlich jeder per Modbus die Wallbox steuern. @mfuchs1984: > Muss EVCC nicht auch immer davon ausgehen, dass die Box mal Dinge - warum auch immer - alleine tut, ohne vorher zu fragen?

Wenn sie das tut, wird sie spätestens nach Ablauf der PV disable timers wieder eingefangen, default sind 2 Minuten.@mfuchs1984: > Das ist schon klar, es geht aber eher darum, warum EVCC nicht nachsteuert, wenn ein Fremdstart des Ladevorgangs mittels z.B. RFID stattfindet und die Box mit 6,9kW = 31A (bei mir !!) lädt. 

Grundsätzlich macht evcc das, warum es bei deiner Wallbox nicht funktioniert, misst du den Hersteller fragen.@LutzDi: @mfuchs1984, danke für Dein Feeback:

> Wenn dein Netzwerk nicht gesichert ist, kann natürlich jeder per Modbus die Wallbox steuern.

Den Punkt verstehe ich nicht, warum sollte mein NW nicht gesichert sein? Insofern gehen wir mal davon aus, dass der Zugriff via Modbus auf die WB durchaus ein gerüttelt Maß an Aufwand für einen Dritten bedeutet...

> Wenn sie das tut, wird sie spätestens nach Ablauf der PV disable timers wieder eingefangen, default sind 2 Minuten.

Ok, aber der PV-Timer startet nicht, weil EVCC davon ausgeht, dass 0A Ladelimit gesetzt sind. An der Stelle noch ein Einwurf: Ich habe eben gerade die Mail an DL schreiben wollen, warum das Reg 91=0 ist, wenn die Box über RFID gestartet wird und damit eigentlich 32 sein müsste, wenn Sie Max lädt. Das muss es ja sein, weil die WB auf diesem Reg Eingaben von Außen erwartet. Würde es dieses Register selbst beschreiben, damit z.B. EVCC darauf reagieren kann, hätten wir nachher zwei Herren die das Reg 91 schreiben, einmal EVCC und einmal die WB selbst. Ich habe das Gefühl, dass die 0 da so stehen muss. EVCC müsste also auf die aktuelle Ladeleistung auswerten und darauf mit einem Schreiben des Reg 91 reagieren. Der Wert für die aktuelle Ladeleistung wird ja bereits gelesen und auch angezeigt, insofern wäre das ja schon gegeben. 

Ich habe jetzt mal 5 min gewartet, nachdem ich über Reg 95 den Start initiiert habe. Da schläft kein Timer zu, da kein Timer läuft, da vermutlich EVCC davon ausgeht, dass alles passt, da der Wert des Reg 91=0 ist. Siehe dazu auch den nächsten Punkt.

> Grundsätzlich macht evcc das, warum es bei deiner Wallbox nicht funktioniert, misst du den Hersteller fragen.

Da musst Du mir nochmal helfen... In den Logs findet sich in diesem Zustand kein einziger Schreibvorgang von EVCC auf Reg 91 an die WB, auch nicht nach Ablauf von 5 min. Wenn ich in meinem zweiten Punkt richtig liege, dann wird die WB nie das Reg 91 selbst beschreiben, sonst wäre sie ja im Konflikt mit einem externen Steuerer. Somit bleibt es 0 und EVCC tut nichts, bis sich dieser Wert von 0 ändert. Oder? Woran machst Du fest, dass EVCC es doch in dieser Situation steuert?@premultiply: Ich mache hier mal zu, da das Problem nicht im Bereich von evcc liegt.
Der Rest ist Konfigurationssache oder Frage an den Hersteller.

Solution patch:
diff --git a/.github/workflows/claude-issue-triage.yml b/.github/workflows/claude-issue-triage.yml
index e4fd0c99..fa64fcd0 100644
--- a/.github/workflows/claude-issue-triage.yml
+++ b/.github/workflows/claude-issue-triage.yml
@@ -15,31 +15,23 @@ jobs:
       - name: Checkout repository
         uses: actions/checkout@v4
 
-      - name: Setup GitHub MCP Server
-        run: |
-          mkdir -p /tmp/mcp-config
-          cat > /tmp/mcp-config/mcp-servers.json << 'EOF'
-          {
-            "mcpServers": {
-              "github": {
-                "command": "npx",
-                "args": ["-y", "@modelcontextprotocol/server-github"],
-                "env": {
-                "GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
-                }
-              }
-            }
-          }
-
-          EOF
-          cat /tmp/mcp-config/mcp-servers.json
-
       - name: Run Claude Code
         uses: anthropics/claude-code-base-action@beta
         env:
           GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
         with:
-          mcp_config: /tmp/mcp-config/mcp-servers.json
+          mcp_config: |
+            {
+              "mcpServers": {
+                "github": {
+                  "command": "npx",
+                  "args": ["-y", "@modelcontextprotocol/server-github"],
+                  "env": {
+                  "GITHUB_PERSONAL_ACCESS_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
+                  }
+                }
+              }
+            }
           prompt: |
             You're an issue triage assistant for GitHub issues. Your task is to analyze the issue and select appropriate labels from the provided list.
 
@@ -57,7 +49,7 @@ jobs:
                 - You have access to these tools:
                 - mcp__github__get_issue: Use this to retrieve the current issue's details including title, description, and existing labels
                 - mcp__github__get_issue_comments: Use this to read any discussion or additional context provided in the comments
-                - mcp__github__update_issue: Use this to apply labels to the issue (do not use this for commenting)
+                - mcp__github__update_issue: Use this to apply labels to the issue or set issue type (do not use this for commenting)
                 - mcp__github__search_issues: Use this to find similar issues that might provide context for proper categorization and to identify potential duplicate issues
                 - mcp__github__list_issues: Use this to understand patterns in how other issues are labeled
                 - Start by using mcp__github__get_issue to get the issue details
@@ -75,7 +67,11 @@ jobs:
                 - Be specific but comprehensive
                 - If you find similar issues using mcp__github__search_issues, consider using a "duplicate" label if appropriate. Only do so if the issue is a duplicate of another OPEN issue.
 
-            5. Apply the selected labels:
+            5. Use issue type instead of labels if the issue is a feature request or bug report:
+                - If the issue is a feature request, set the issue type to "feature request". Do not apply the "enhancement" label.
+                - If the issue is a bug report, set the issue type to "bug". Do not apply the "bug" label.
+
+            6. Apply the selected labels:
                 - Use mcp__github__update_issue to apply your selected labels
                 - DO NOT post any comments explaining your decision
                 - DO NOT communicate directly with users
diff --git a/assets/js/components/TelemetrySettings.vue b/assets/js/components/TelemetrySettings.vue
index e54980db..1888cc37 100644
--- a/assets/js/components/TelemetrySettings.vue
+++ b/assets/js/components/TelemetrySettings.vue
@@ -55,7 +55,7 @@ export default defineComponent({
 	},
 	computed: {
 		enabled() {
-			return settings.telemetry;
+			return !!settings.telemetry;
 		},
 		docsLink() {
 			return `${docsPrefix()}/docs/faq#telemetry`;
diff --git a/assets/js/settings.ts b/assets/js/settings.ts
index 0bacaefd..6c4acea6 100644
--- a/assets/js/settings.ts
+++ b/assets/js/settings.ts
@@ -58,7 +58,7 @@ function saveArray(key: string) {
 }
 
 export interface Settings {
-  telemetry: boolean;
+  telemetry: boolean | null; // status is unknown on start
   locale: keyof typeof LOCALES | null;
   theme: THEME | null;
   unit: string;
@@ -78,7 +78,7 @@ export interface Settings {
 }
 
 const settings: Settings = reactive({
-  telemetry: false,
+  telemetry: null,
   locale: read(SETTINGS_LOCALE),
   theme: read(SETTINGS_THEME),
   unit: read(SETTINGS_UNIT),
diff --git a/charger/em2go.go b/charger/em2go.go
index e7a8178b..f0322599 100644
--- a/charger/em2go.go
+++ b/charger/em2go.go
@@ -145,11 +145,15 @@ func (wb *Em2Go) Status() (api.ChargeStatus, error) {
 	}
 
 	switch binary.BigEndian.Uint16(b) {
-	case 1:
+	case 1: //Standby
 		return api.StatusA, nil
-	case 2, 3:
+	case
+		2, //Connected
+		3, //Starting
+		6: //Charging end
 		return api.StatusB, nil
-	case 4, 6:
+	case
+		4: //Charging
 		return api.StatusC, nil
 	default:
 		return api.StatusNone, fmt.Errorf("invalid status: %d", b[1])
diff --git a/cmd/charger.go b/cmd/charger.go
index f29351ae..d7580948 100644
--- a/cmd/charger.go
+++ b/cmd/charger.go
@@ -3,6 +3,7 @@ package cmd
 import (
 	"strconv"
 	"strings"
+	"time"
 
 	"github.com/evcc-io/evcc/api"
 	"github.com/evcc-io/evcc/util/config"
@@ -27,6 +28,7 @@ func init() {
 	chargerCmd.Flags().Bool(flagDiagnose, false, flagDiagnoseDescription)
 	chargerCmd.Flags().BoolP(flagWakeup, "w", false, flagWakeupDescription)
 	chargerCmd.Flags().IntP(flagPhases, "p", 0, flagPhasesDescription)
+	chargerCmd.Flags().Bool(flagHeartbeat, false, flagHeartbeatDescription)
 }
 
 func runCharger(cmd *cobra.Command, args []string) {
@@ -117,6 +119,11 @@ func runCharger(cmd *cobra.Command, args []string) {
 		}
 	}
 
+	if ok, _ := cmd.Flags().GetBool(flagHeartbeat); flagUsed && ok {
+		log.INFO.Println("running heartbeat until interrupted (Ctrl-C to stop)")
+		time.Sleep(time.Hour)
+	}
+
 	if !flagUsed {
 		d := dumper{len: len(chargers)}
 		flag := cmd.Flag(flagDiagnose).Changed
@@ -129,6 +136,9 @@ func runCharger(cmd *cobra.Command, args []string) {
 				d.DumpDiagnosis(v)
 			}
 		}
+	} else if ok, _ := cmd.Flags().GetBool(flagHeartbeat); ok {
+		log.INFO.Println("running heartbeat (if any) until interrupted (Ctrl-C to stop)")
+		time.Sleep(time.Hour)
 	}
 
 	// wait for shutdown
diff --git a/cmd/flags.go b/cmd/flags.go
index 5d34301a..c4a2736f 100644
--- a/cmd/flags.go
+++ b/cmd/flags.go
@@ -65,6 +65,9 @@ const (
 	flagRepeatInterval            = "repeat-interval"
 	flagRepeatIntervalDescription = "Interval between repetitions"
 
+	flagHeartbeat            = "heartbeat"
+	flagHeartbeatDescription = "After command, continue running device heartbeats (if any) until interrupted"
+
 	flagDigits = "digits"
 	flagDelay  = "delay"
 	flagForce  = "force"
diff --git a/cmd/meter.go b/cmd/meter.go
index d2f0c573..e07be80f 100644
--- a/cmd/meter.go
+++ b/cmd/meter.go
@@ -22,6 +22,7 @@ func init() {
 	meterCmd.Flags().DurationP(flagBatteryModeWait, "w", 0, flagBatteryModeWaitDescription)
 	meterCmd.Flags().BoolP(flagRepeat, "r", false, flagRepeatDescription)
 	meterCmd.Flags().Duration(flagRepeatInterval, 0, flagRepeatIntervalDescription)
+	meterCmd.Flags().Bool(flagHeartbeat, false, flagHeartbeatDescription)
 }
 
 func runMeter(cmd *cobra.Command, args []string) {
@@ -83,6 +84,9 @@ func runMeter(cmd *cobra.Command, args []string) {
 			}
 			goto REPEAT
 		}
+	} else if ok, _ := cmd.Flags().GetBool(flagHeartbeat); ok {
+		log.INFO.Println("running heartbeat (if any) until interrupted (Ctrl-C to stop)")
+		time.Sleep(time.Hour)
 	}
 
 	// wait for shutdown
diff --git a/go.mod b/go.mod
index 309b0a20..2b2bbb25 100644
--- a/go.mod
+++ b/go.mod
@@ -57,7 +57,7 @@ require (
 	github.com/jarcoal/httpmock v1.4.0
 	github.com/jeremywohl/flatten v1.0.1
 	github.com/jinzhu/now v1.1.5
-	github.com/joeshaw/carwings v0.0.0-20250124122309-e366d592915c
+	github.com/joeshaw/carwings v0.0.0-20250704173606-1708e349f36c
 	github.com/joho/godotenv v1.5.1
 	github.com/jpfielding/go-http-digest v0.0.0-20240123121450-cffc47d5d6d8
 	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
diff --git a/go.sum b/go.sum
index c26aaaf1..a37ae5e2 100644
--- a/go.sum
+++ b/go.sum
@@ -380,8 +380,8 @@ github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9Y
 github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
 github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
-github.com/joeshaw/carwings v0.0.0-20250124122309-e366d592915c h1:0B5ZN4KU2Zy6xn21hSnovLsXQX1pF+vNYG7rlh5m3iM=
-github.com/joeshaw/carwings v0.0.0-20250124122309-e366d592915c/go.mod h1:tB0OlpicmRVTL1Vksc5XRiYo+wkK2kl/GI7eGMIl6Rs=
+github.com/joeshaw/carwings v0.0.0-20250704173606-1708e349f36c h1:qAJHVJ+s+pbLuvNiYhYVblTfgkFiPwUuAJMUNKh0uJc=
+github.com/joeshaw/carwings v0.0.0-20250704173606-1708e349f36c/go.mod h1:rNwwhAzMSNqlTsRQZ7a+jXHu4Mgn2ztr3aYCqRgWGlA=
 github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
 github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
 github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=



Test patch:
diff --git a/tests/plan.spec.ts b/tests/plan.spec.ts
index f13978fd..c2485665 100644
--- a/tests/plan.spec.ts
+++ b/tests/plan.spec.ts
@@ -9,15 +9,6 @@ const mobile = devices["iPhone 12 Mini"].viewport;
 const CONFIG = "plan.evcc.yaml";
 const CONFIG_NO_TARIFF = "basics.evcc.yaml";
 
-async function fillTimeField(locator: Locator, time: string) {
-  // increase stability; avoid interference with rendering and data-binding
-  await locator.waitFor({ state: "visible" });
-  await locator.focus();
-  await locator.clear();
-  await locator.fill(time);
-  await expect(locator).toHaveValue(time);
-}
-
 test.beforeEach(async () => {
   await start(CONFIG);
 });
@@ -85,7 +76,7 @@ test.describe("basic functionality", async () => {
     await lp1.getByTestId("charging-plan").getByRole("button", { name: "none" }).click();
 
     await page.getByTestId("static-plan-day").selectOption({ index: 1 });
-    await fillTimeField(page.getByTestId("static-plan-time"), "09:30");
+    await page.getByTestId("static-plan-time").fill("09:30");
     await page.getByTestId("static-plan-soc").selectOption("80%");
     await page.getByTestId("static-plan-precondition-lg-toggle").click();
     await page
@@ -294,7 +285,7 @@ test.describe("preview", async () => {
 
       // initial set -> preview plan
       await page.getByTestId("static-plan-day").selectOption({ index: 1 });
-      await fillTimeField(page.getByTestId("static-plan-time"), "09:30");
+      await page.getByTestId("static-plan-time").fill("09:30");
       await page.getByTestId(c.goalId).selectOption("80");
       await expect(page.getByTestId("plan-preview-title")).toHaveText("Preview plan");
 
@@ -308,9 +299,10 @@ test.describe("preview", async () => {
       // apply -> active plan
       await expect(page.getByTestId("static-plan-apply")).toBeVisible();
       await page.getByTestId("static-plan-apply").click();
+      await expect(page.getByTestId("static-plan-apply")).not.toBeVisible();
       await expect(page.getByTestId("plan-preview-title")).toHaveText("Active plan");
 
-      await fillTimeField(page.getByTestId("static-plan-time"), "23:30");
+      await page.getByTestId("static-plan-time").fill("23:30");
       await expect(page.getByTestId("plan-preview-title")).toHaveText("Active plan");
       await expect(page.getByTestId("static-plan-apply")).toBeVisible();
 
@@ -356,12 +348,12 @@ test.describe("warnings", async () => {
     await expect(page.getByTestId("plan-entry-warnings")).not.toBeVisible();
 
     await page.getByTestId("static-plan-day").selectOption({ index: 0 });
-    await fillTimeField(page.getByTestId("static-plan-time"), "00:01");
+    await page.getByTestId("static-plan-time").fill("00:01");
 
     await expect(page.getByTestId("plan-entry-warnings")).toContainText(
       "Pick a time in the future, Marty."
     );
-    await fillTimeField(page.getByTestId("static-plan-time"), "00:01");
+    await page.getByTestId("static-plan-time").fill("00:01");
   });
 });
 
@@ -410,7 +402,7 @@ test.describe("repeating", async () => {
     await expect(modal.getByTestId("plan-entry")).toHaveCount(1);
 
     await modal.getByTestId("static-plan-day").selectOption({ index: 1 }); // tomorrow
-    await fillTimeField(modal.getByTestId("static-plan-time"), "09:00");
+    await modal.getByTestId("static-plan-time").fill("09:00");
 
     await expect(modal.getByTestId("plan-preview-title")).toHaveText("Preview plan");
     await expect(modal.getByTestId("target-text")).toContainText("09:00");
@@ -419,9 +411,10 @@ test.describe("repeating", async () => {
     await modal.getByRole("button", { name: "Add repeating plan" }).click();
     await modal.getByTestId("repeating-plan-weekdays").click();
     await modal.getByRole("checkbox", { name: "Select all" }).check();
-    await fillTimeField(modal.getByTestId("repeating-plan-time"), "11:11");
+    await modal.getByTestId("repeating-plan-time").fill("11:11");
 
     // switch between previews
+    await page.waitForLoadState("networkidle");
     await modal
       .getByTestId("plan-preview-title")
       .getByRole("combobox")
@@ -491,7 +484,7 @@ test.describe("repeating", async () => {
     await modal.getByTestId("repeating-plan-weekdays").click(); // close
 
     // activate
-    await fillTimeField(modal.getByTestId("repeating-plan-time"), "02:22");
+    await modal.getByTestId("repeating-plan-time").fill("02:22");
     await modal.getByTestId("repeating-plan-active").click();
 
     // specific weekday and time
@@ -517,7 +510,7 @@ test.describe("repeating", async () => {
     // configure static plan for tomorrow
     const plan1 = modal.getByTestId("plan-entry").nth(0);
     await plan1.getByTestId("static-plan-day").selectOption({ index: 1 });
-    await fillTimeField(plan1.getByTestId("static-plan-time"), "09:30");
+    await plan1.getByTestId("static-plan-time").fill("09:30");
     await plan1.getByTestId("static-plan-soc").selectOption("80%");
     await plan1.getByTestId("static-plan-active").click();
 
@@ -530,7 +523,7 @@ test.describe("repeating", async () => {
     await days2.getByRole("checkbox", { name: "Select all" }).click();
     await days2.getByRole("checkbox", { name: tomorrow }).check();
     await days2.click(); // close
-    await fillTimeField(plan2.getByTestId("repeating-plan-time"), "09:20");
+    await plan2.getByTestId("repeating-plan-time").fill("09:20");
     await plan2.getByTestId("repeating-plan-active").click();
 
     // add repeating plan for every day
@@ -540,7 +533,7 @@ test.describe("repeating", async () => {
     await days3.click();
     await days3.getByRole("checkbox", { name: "Select all" }).check();
     await days3.click(); // close
-    await fillTimeField(plan3.getByTestId("repeating-plan-time"), "09:10");
+    await plan3.getByTestId("repeating-plan-time").fill("09:10");
     await plan3.getByTestId("repeating-plan-active").click();
 
     // check next plans
@@ -563,14 +556,17 @@ test.describe("repeating", async () => {
 
     // apply
     await plan2.getByTestId("repeating-plan-apply").click();
+    await expect(plan2.getByTestId("repeating-plan-apply")).not.toBeVisible();
     await expect(modal.getByTestId("plan-preview-title")).toHaveText("Next plan #1");
     await expect(modal.getByTestId("target-text")).toContainText("9:30");
 
     // set lower targets than vehicle soc (50%)
     await plan1.getByTestId("static-plan-soc").selectOption("40%");
     await plan1.getByTestId("static-plan-apply").click();
+    await expect(plan1.getByTestId("static-plan-apply")).not.toBeVisible();
     await plan2.getByTestId("repeating-plan-soc").selectOption("40%");
     await plan2.getByTestId("repeating-plan-apply").click();
+    await expect(plan2.getByTestId("repeating-plan-apply")).not.toBeVisible();
     await expect(modal.getByTestId("plan-preview-title")).toHaveText("Goal already reached");
   });
 
@@ -594,7 +590,7 @@ test.describe("repeating", async () => {
     await plan.getByRole("checkbox", { name: "Select all" }).click(); // check all
     await plan.getByRole("checkbox", { name: "Select all" }).click(); // uncheck all
     await plan.getByRole("checkbox", { name: tomorrow }).check();
-    await fillTimeField(plan.getByTestId("repeating-plan-time"), "09:20");
+    await plan.getByTestId("repeating-plan-time").fill("09:20");
     await plan.getByTestId("repeating-plan-precondition-lg-toggle").click();
     await plan
       .getByTestId("repeating-plan-precondition-lg-select")