diff --git a/core/planner/planner.go b/core/planner/planner.go index 950394c03..62fa7012b 100644 --- a/core/planner/planner.go +++ b/core/planner/planner.go @@ -124,11 +124,16 @@ func (t *Planner) Plan(requiredDuration, precondition time.Duration, targetTime // treat like normal target charging if we don't have rates if len(rates) == 0 || err != nil { + t.log.DEBUG.Printf("planner: no rates available (count=%d, err=%v)- falling back to simple plan", len(rates), err) return simplePlan } + t.log.TRACE.Printf("planner: %d rates available from %v to %v", + len(rates), rates[0].Start.Local(), rates[len(rates)-1].End.Local()) + // consume remaining time if t.clock.Until(targetTime) <= requiredDuration { + t.log.DEBUG.Printf("planner: insufficient time until target- charging continuously from now") return continuousPlan(rates, latestStart, targetTime) } @@ -156,6 +161,8 @@ func (t *Planner) Plan(requiredDuration, precondition time.Duration, targetTime // check if rate coverage is sufficient for planning if len(rates) == 0 || rates[len(rates)-1].End.Sub(rates[0].Start) < requiredDuration { + t.log.DEBUG.Printf("planner: rate coverage in [%v,%v] insufficient for required duration %v- falling back to simple plan", + now.Local(), targetTime.Local(), requiredDuration.Round(time.Second)) return simplePlan }