From 31f59c9eaf5651fd42640883b407baec97be648a Mon Sep 17 00:00:00 2001 From: andig Date: Mon, 15 Apr 2024 09:26:48 +0200 Subject: [PATCH] chore: simplify --- core/loadpoint.go | 21 +++++++-------------- core/site.go | 12 ++++-------- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/core/loadpoint.go b/core/loadpoint.go index 74e95fc7f..7f9aba93e 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -1282,28 +1282,21 @@ func (lp *Loadpoint) UpdateChargePower() { bo := backoff.NewExponentialBackOff() bo.MaxElapsedTime = time.Second - if err := backoff.Retry(func() error { - value, err := lp.chargeMeter.CurrentPower() - if err != nil { - return err - } - + if power, err := backoff.RetryWithData(lp.chargeMeter.CurrentPower, bo); err == nil { lp.Lock() - lp.chargePower = value // update value if no error + lp.chargePower = power // update value if no error lp.Unlock() - lp.log.DEBUG.Printf("charge power: %.0fW", value) - lp.publish(keys.ChargePower, value) + lp.log.DEBUG.Printf("charge power: %.0fW", power) + lp.publish(keys.ChargePower, power) // https://github.com/evcc-io/evcc/issues/2153 // https://github.com/evcc-io/evcc/issues/6986 // https://github.com/evcc-io/evcc/issues/13378 - if lp.chargePower < -100 && lp.shouldBeConsistent() { - lp.log.WARN.Printf("charge power must not be negative: %.0f", lp.chargePower) + if power < -100 && lp.shouldBeConsistent() { + lp.log.WARN.Printf("charge power must not be negative: %.0f", power) } - - return nil - }, bo); err != nil { + } else { lp.log.ERROR.Printf("charge meter: %v", err) } } diff --git a/core/site.go b/core/site.go index 766ab93bc..bec18a0e7 100644 --- a/core/site.go +++ b/core/site.go @@ -542,8 +542,7 @@ func (site *Site) updateGridMeter() error { return nil } - res, err := backoff.RetryWithData(site.gridMeter.CurrentPower, bo()) - if err == nil { + if res, err := backoff.RetryWithData(site.gridMeter.CurrentPower, bo()); err == nil { site.gridPower = res site.log.DEBUG.Printf("grid meter: %.0fW", res) site.publish(keys.GridPower, res) @@ -554,8 +553,7 @@ func (site *Site) updateGridMeter() error { // grid phase powers var p1, p2, p3 float64 if phaseMeter, ok := site.gridMeter.(api.PhasePowers); ok { - p1, p2, p3, err = phaseMeter.Powers() - if err == nil { + if p1, p2, p3, err := phaseMeter.Powers(); err == nil { phases := []float64{p1, p2, p3} site.log.DEBUG.Printf("grid powers: %.0fW", phases) site.publish(keys.GridPowers, phases) @@ -566,8 +564,7 @@ func (site *Site) updateGridMeter() error { // grid phase currents (signed) if phaseMeter, ok := site.gridMeter.(api.PhaseCurrents); ok { - i1, i2, i3, err := phaseMeter.Currents() - if err == nil { + if i1, i2, i3, err := phaseMeter.Currents(); err == nil { phases := []float64{util.SignFromPower(i1, p1), util.SignFromPower(i2, p2), util.SignFromPower(i3, p3)} site.log.DEBUG.Printf("grid currents: %.3gA", phases) site.publish(keys.GridCurrents, phases) @@ -578,8 +575,7 @@ func (site *Site) updateGridMeter() error { // grid energy (import) if energyMeter, ok := site.gridMeter.(api.MeterEnergy); ok { - f, err := energyMeter.TotalEnergy() - if err == nil { + if f, err := energyMeter.TotalEnergy(); err == nil { site.publish(keys.GridEnergy, f) } else { site.log.ERROR.Printf("grid energy: %v", err)