diff --git a/core/loadpoint_plan.go b/core/loadpoint_plan.go index c4e23faac..389ecbb5b 100644 --- a/core/loadpoint_plan.go +++ b/core/loadpoint_plan.go @@ -87,9 +87,9 @@ func (lp *Loadpoint) plannerActive() (active bool) { lp.setPlanActive(active) }() - var planStart time.Time - var planEnd time.Time + var planStart, planEnd time.Time var planOverrun time.Duration + defer func() { lp.publish(keys.PlanProjectedStart, planStart) lp.publish(keys.PlanProjectedEnd, planEnd) @@ -100,6 +100,7 @@ func (lp *Loadpoint) plannerActive() (active bool) { if planTime.IsZero() { return false } + // keep overrunning plans as long as a vehicle is connected if lp.clock.Until(planTime) < 0 && (!lp.planActive || !lp.connected()) { lp.log.DEBUG.Println("plan: deleting expired plan")