Sessions: add start/stop soc
Fix https://github.com/evcc-io/evcc/issues/6144. Replace https://github.com/evcc-io/evcc/pull/19254
- [ ] What happens on manual vehicle change? Overwrite prev SocStart (like title)? Start new session (https://github.com/evcc-io/evcc/pull/19479)?
- [ ] What happens if SoC isn't present on start (online api delay)? Use first known Soc?
~~This PR also updates session end time to the last charging segment. This might help with long connection times where sessions span multiple days (https://github.com/evcc-io/evcc/issues/18230).~~
What happens on manual vehicle change
@naltatis wie wollen wir mit Sessions umgehen? Ich wäre für:
- splitten wenn wir eine Änderung im Backend bemerken (Wechsel innerhalb des Intervalls) und
- beibehalten wenn User-induzierte Änderung
Letzteres bedeutet, dass wir dann Soc und Odo nuken müssen. Ok?
beibehalten wenn User-induzierte Änderung
Lass uns beim Wechsel durch Nutzerinteraktion SoC und Odo überschreiben. Split ist ja separat https://github.com/evcc-io/evcc/pull/19479
What happens if SoC isn't present on start?
Würde hier als Nutzer den "ersten bekannten SoC vom Fahrzeug" erwarten. Also auch wenn der noch nicht direkt nach dem Anstecken sondern erst später beim Laden ermittelt werden kann (spotty mobile connection, sleep, ...)
Hab die Werte jetzt mal ins UI (Session Detail Modal) aufgenommen.
Funktioniert grundsätzlich. Der Start Soc wurde in meinem manuellen Test nicht zuverlässig gesetzt.
- Start mit
demo.yaml - Beide Ladepunkte auf schnell stellen
- evcc stoppen
In der DB war bei nur der Start SoC nur bei einem der Fahrzeuge gesetzt. Der End SoC war bei beiden vorhanden. Habe nicht tiefer debuggt. Wenn wir den Start SoC setzen sobald er verfügbar ist (siehe letzter Teil vom vorherigen Kommentar) ist das vmtl. gelöst.