From eda1ced3aa4b0ca4721c72dc3a1cc83c697a8eb6 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 10 Aug 2025 17:01:32 +0200 Subject: [PATCH] chore: debug solar production jump (#22888) --- core/site.go | 2 ++ core/site_tariffs.go | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/site.go b/core/site.go index 0745cb1a5..51071a629 100644 --- a/core/site.go +++ b/core/site.go @@ -590,11 +590,13 @@ func (site *Site) updatePvMeters() { // use stored devices, not ui-updated instances! name := dev.Config().Name + prev := site.pvEnergy[name].AccumulatedEnergy() if mm[i].Energy > 0 { site.pvEnergy[name].AddMeterTotal(mm[i].Energy) } else { site.pvEnergy[name].AddPower(mm[i].Power) } + site.log.DEBUG.Printf("accumulated solar yield: %s moved from %.3f to %.3f", name, prev, site.pvEnergy[name].AccumulatedEnergy()) } // store diff --git a/core/site_tariffs.go b/core/site_tariffs.go index dbb07a813..2feb44d41 100644 --- a/core/site_tariffs.go +++ b/core/site_tariffs.go @@ -149,12 +149,16 @@ func (site *Site) solarDetails(solar api.Rates) solarDetails { } // accumulate forecasted energy since last update - site.fcstEnergy.AddEnergy(solarEnergy(solar, site.fcstEnergy.updated, time.Now()) / 1e3) + energy := solarEnergy(solar, site.fcstEnergy.updated, time.Now()) / 1e3 + site.log.DEBUG.Printf("solar forecast: accumulated %.3f from %v to %v", energy, site.fcstEnergy.updated, time.Now()) + + site.fcstEnergy.AddEnergy(energy) settings.SetFloat(keys.SolarAccForecast, site.fcstEnergy.Accumulated) produced := lo.SumBy(slices.Collect(maps.Values(site.pvEnergy)), func(v *meterEnergy) float64 { return v.AccumulatedEnergy() }) + site.log.DEBUG.Printf("solar forecast: produced %.3f", produced) if fcst := site.fcstEnergy.AccumulatedEnergy(); fcst > 0 { scale := produced / fcst