Fix default vehicle soc estimation (#27364)
This commit is contained in:
parent
f05daa3611
commit
79da63671b
1 changed files with 5 additions and 7 deletions
|
|
@ -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()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue