diff --git a/core/keys/loadpoint.go b/core/keys/loadpoint.go index 82d90ca7f..76620aac0 100644 --- a/core/keys/loadpoint.go +++ b/core/keys/loadpoint.go @@ -24,7 +24,7 @@ const ( BatteryBoost = "batteryBoost" PhasesConfigured = "phasesConfigured" // desired phase mode (0/1/3, 0 = automatic), user selection - PhasesActive = "phasesActive" // active phases as used by vehicle (1/2/3) + PhasesActive = "phasesActive" // expectedly active phases, taking vehicle into account (1/2/3) ChargerIcon = "chargerIcon" // charger icon for ui ChargerFeature = "chargerFeature" // charger feature @@ -86,6 +86,7 @@ const ( // vehicle VehicleName = "vehicleName" // vehicle name + VehicleTitle = "vehicleTitle" // vehicle title VehicleIdentity = "vehicleIdentity" // vehicle identity VehicleDetectionActive = "vehicleDetectionActive" // vehicle detection active VehicleOdometer = "vehicleOdometer" // vehicle odometer diff --git a/core/loadpoint.go b/core/loadpoint.go index 93083228d..4192e334b 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -648,8 +648,8 @@ func (lp *Loadpoint) Prepare(site site.API, uiChan chan<- util.Param, pushChan c } // vehicle - lp.publish(keys.VehicleName, "") - lp.publish(keys.VehicleOdometer, 0.0) + lp.unpublishVehicleIdentity() + lp.unpublishVehicle() // assign and publish default vehicle if lp.defaultVehicle != nil { diff --git a/core/loadpoint_vehicle.go b/core/loadpoint_vehicle.go index 981e380d7..c1652a22f 100644 --- a/core/loadpoint_vehicle.go +++ b/core/loadpoint_vehicle.go @@ -141,6 +141,7 @@ func (lp *Loadpoint) setActiveVehicle(v api.Vehicle) { lp.socEstimator = soc.NewEstimator(lp.log, lp.charger, v, estimate) lp.publish(keys.VehicleName, vehicle.Settings(lp.log, v).Name()) + lp.publish(keys.VehicleTitle, v.Title()) if mode, ok := v.OnIdentified().GetMode(); ok { lp.SetMode(mode) @@ -151,9 +152,7 @@ func (lp *Loadpoint) setActiveVehicle(v api.Vehicle) { lp.progress.Reset() } else { lp.socEstimator = nil - lp.publish(keys.VehicleSoc, 0) - lp.publish(keys.VehicleName, "") - lp.publish(keys.VehicleOdometer, 0.0) + lp.unpublishVehicleIdentity() } // re-publish vehicle settings @@ -198,6 +197,12 @@ func (lp *Loadpoint) wakeUpResurrector(resurrector api.Resurrector, name string) } } +// unpublishVehicleIdentity resets published vehicle identification +func (lp *Loadpoint) unpublishVehicleIdentity() { + lp.publish(keys.VehicleName, "") + lp.publish(keys.VehicleTitle, "") +} + // unpublishVehicle resets published vehicle data func (lp *Loadpoint) unpublishVehicle() { lp.vehicleSoc = 0 @@ -206,6 +211,7 @@ func (lp *Loadpoint) unpublishVehicle() { lp.publish(keys.VehicleSoc, 0.0) lp.publish(keys.VehicleRange, int64(0)) lp.publish(keys.VehicleLimitSoc, 0.0) + lp.publish(keys.VehicleOdometer, 0.0) lp.setRemainingEnergy(0) lp.setRemainingDuration(0)