Skip to content

Commit 8ab2a78

Browse files
authored
Solar forecast: reset inconsistent metrics (#19605)
1 parent 1f82ce3 commit 8ab2a78

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

core/site.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,14 +323,28 @@ func (site *Site) restoreSettings() error {
323323
fcstEnergy, err := settings.Float(keys.SolarAccForecast)
324324

325325
if err == nil && settings.Json(keys.SolarAccYield, &pvEnergy) == nil {
326-
site.fcstEnergy.Accumulated = fcstEnergy
327-
326+
var nok bool
328327
for _, name := range site.Meters.PVMetersRef {
329328
if fcst, ok := pvEnergy[name]; ok {
330329
site.pvEnergy[name].Accumulated = fcst
331330
} else {
332-
// TODO decide auto-reset?
333-
site.log.WARN.Printf("cannot restore accumulated solar yield for: %s (may need to reset solar statistics)", name)
331+
nok = true
332+
site.log.WARN.Printf("accumulated solar yield: cannot restore %s", name)
333+
}
334+
}
335+
336+
if !nok {
337+
site.fcstEnergy.Accumulated = fcstEnergy
338+
site.log.DEBUG.Printf("accumulated solar yield: restored %.3fkWh forecasted, %+v produced", fcstEnergy, pvEnergy)
339+
} else {
340+
// reset metrics
341+
site.log.WARN.Printf("accumulated solar yield: metrics reset")
342+
343+
settings.Delete(keys.SolarAccForecast)
344+
settings.Delete(keys.SolarAccYield)
345+
346+
for _, pe := range site.pvEnergy {
347+
pe.Accumulated = 0
334348
}
335349
}
336350
}

core/site_tariffs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@ func (site *Site) solarDetails(solar timeseries) solarDetails {
157157
scale := produced / fcst
158158
site.log.DEBUG.Printf("solar forecast: accumulated %.3fkWh, produced %.3fkWh, scale %.3f", fcst, produced, scale)
159159

160-
const minEnergy = 0.1
161-
if produced > minEnergy && fcst > minEnergy { /*kWh*/
160+
const minEnergy = 0.5 // kWh
161+
if produced+fcst > minEnergy {
162162
res.Scale = lo.ToPtr(scale)
163163
}
164164
}

0 commit comments

Comments
 (0)