Fix default vehicle soc estimation (#27364)

This commit is contained in:
Michael Panzer 2026-02-12 08:56:53 +01:00 • committed by GitHub
parent f05daa3611
commit 79da63671b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -248,13 +248,11 @@ func (lp *Loadpoint) vehicleUnidentified() bool {
// vehicleDefaultOrDetect will assign and update default vehicle or start detection
func (lp *Loadpoint) vehicleDefaultOrDetect() {
if lp.defaultVehicle != nil {
if lp.vehicle != lp.defaultVehicle {
lp.setActiveVehicle(lp.defaultVehicle)
} else {
// default vehicle is already active, update odometer anyway
// need to do this here since setActiveVehicle would short-circuit
lp.addTask(lp.vehicleOdometer)
}
// Always call setActiveVehicle even if defaultVehicle is already active.
// This ensures a fresh SOC estimator is created on each vehicle connect,
// which resets the estimator's initial values for the new charging session.
// setActiveVehicle is safe to call repeatedly - it only logs when vehicle actually changes.
lp.setActiveVehicle(lp.defaultVehicle)
} else if len(lp.coordinatedVehicles()) > 0 && lp.connected() {
lp.startVehicleDetection()
}