From 616514a7415721831d7af34bf1bbe445b1b3c0aa Mon Sep 17 00:00:00 2001 From: andig Date: Tue, 15 Mar 2022 13:36:23 +0000 Subject: [PATCH] Ignore pv self-consumption (#2873) --- core/site.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/core/site.go b/core/site.go index cf3e4252f..509aca3f9 100644 --- a/core/site.go +++ b/core/site.go @@ -275,8 +275,9 @@ func (site *Site) updateMeters() error { err := retry.Do(site.updateMeter(meter, &power), retryOptions...) if err == nil { - site.pvPower += power - if power < -1000 { + // ignore negative values which represent self-consumption + site.pvPower += math.Max(0, power) + if power < -500 { site.log.WARN.Printf("pv %d power: %.0fW is negative - check configuration if sign is correct", id, power) } } else { @@ -353,7 +354,7 @@ func (site *Site) sitePower(totalChargePower float64) (float64, error) { for id, battery := range site.batteryMeters { soc, err := battery.(api.Battery).SoC() if err != nil { - err = fmt.Errorf("updating battery soc %d: %v", id, err) + err = fmt.Errorf("battery soc %d: %v", id, err) site.log.ERROR.Println(err) } else { site.log.DEBUG.Printf("battery soc %d: %.0f%%", id, soc) @@ -367,7 +368,7 @@ func (site *Site) sitePower(totalChargePower float64) (float64, error) { // if battery is charging below prioritySoC give it priority if socs < site.PrioritySoC && batteryPower < 0 { - site.log.DEBUG.Printf("giving priority to battery charging at soc: %.0f", socs) + site.log.DEBUG.Printf("giving priority to battery charging at soc: %.0f%%", socs) batteryPower = 0 }