From 38defb679eb87fd5e265784d0fc1add781a3bd3f Mon Sep 17 00:00:00 2001 From: andig Date: Thu, 17 Mar 2022 15:38:05 +0000 Subject: [PATCH] Offset available power by dc-generated battery charge (#2735) --- core/helper.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/helper.go b/core/helper.go index 6ad10c4a9..ed31f703b 100644 --- a/core/helper.go +++ b/core/helper.go @@ -23,13 +23,15 @@ func powerToCurrent(power float64, phases int) float64 { return power / (float64(phases) * Voltage) } -// consumedPower estimates how much power the charger might have consumed given it was the only load -// func consumedPower(pv, battery, grid float64) float64 { -// return math.Abs(pv) + battery + grid -// } - // sitePower returns the available delta power that the charger might additionally consume // negative value: available power (grid export), positive value: grid import func sitePower(grid, battery, residual float64) float64 { + // For hybrid inverters, battery can be charged from DC power in excess of + // inverter AC rating. This must be offset by the grid consumption when calculating + // available site power. + // (https://github.com/evcc-io/evcc/issues/2734) + if grid > 0 && battery < 0 && grid-battery > 50 { + battery = 0 + } return grid + battery + residual }