diff --git a/csharp/App/SaliMax/src/Ess/Controller.cs b/csharp/App/SaliMax/src/Ess/Controller.cs index 6cfd84f3e..5b24b0fb0 100644 --- a/csharp/App/SaliMax/src/Ess/Controller.cs +++ b/csharp/App/SaliMax/src/Ess/Controller.cs @@ -1,6 +1,5 @@ using InnovEnergy.Lib.Devices.Battery48TL; using InnovEnergy.Lib.Devices.Battery48TL.DataTypes; -using InnovEnergy.Lib.Devices.Trumpf.TruConvertAc; using InnovEnergy.Lib.Devices.Trumpf.TruConvertAc.DataTypes; using InnovEnergy.Lib.Units; using InnovEnergy.Lib.Utils; @@ -104,8 +103,8 @@ public static class Controller private static EssControl LimitDischargePower(this EssControl control, StatusRecord s) { - var maxBatteryDischargeDelta = s.Battery?.Devices.Sum(b => b.MaxDischargePower) ?? 0; - var keepMinSocLimitDelta = s.ControlBatteryPower(s.HoldMinSocPower()); + var maxBatteryDischargeDelta = s.Battery?.Devices.Where(b => b.ConnectedToDcBus).Sum(b => b.MaxDischargePower) ?? 0; + var keepMinSocLimitDelta = s.ControlBatteryPower(s.HoldMinSocPower()); return control .LimitDischargePower(maxBatteryDischargeDelta , EssLimit.DischargeLimitedByBatteryPower) @@ -187,24 +186,9 @@ public static class Controller return s.Battery?.Devices ?? Array.Empty(); } - private static Boolean MustDoCalibrationCharge(this StatusRecord statusRecord) { - // var config = statusRecord.Config; - // - // if (statusRecord.Battery.Eoc) - // { - // "Batteries have reached EOC".LogInfo(); - // config.LastEoc = UnixTime.Now; - // return false; - // } - // - // return UnixTime.Now - statusRecord.Config.LastEoc > MaxTimeWithoutEoc; - - // no need to return false in case of EOC reached - // because the BMS will set the Time Since TOC to 0 as soon a battery reach EOC - // then Calibration Charge flag will be set false by the software - return statusRecord.Battery?.CalibrationChargeRequested ?? false; + return statusRecord.Battery?.CalibrationChargeRequested ?? false; }