diff --git a/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreenRecords.cs b/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreenRecords.cs index 51489facb..3ec59c6cc 100644 --- a/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreenRecords.cs +++ b/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreenRecords.cs @@ -19,6 +19,10 @@ public class BatteryDeligreenRecords public required Boolean DischargeSwitchState { get; init; } public required Int32 AvailableDischBatteries { get; init; } public required Int32 AvailableChBatteries { get; init; } + public required Int32 ChargeModeBatteries { get; init; } + public required Int32 DischargeModeBatteries { get; init; } + public required Int32 StandbyModeBatteries { get; init; } + public required Int32 ShutDownModeBatteries { get; init; } public required Boolean Eoc { get; init; } // End of Charge public required Boolean Eod { get; init; } // End of Discharge @@ -57,7 +61,13 @@ public class BatteryDeligreenRecords DischargeSwitchState = records.All(r => r.BatteryDeligreenAlarmRecord.OnOffState.DischargeSwitchState), AvailableDischBatteries = records.Select(r => r.BatteryDeligreenAlarmRecord.OnOffState.DischargeSwitchState ? 1 : 0).Sum(), AvailableChBatteries = records.Select(r => r.BatteryDeligreenAlarmRecord.OnOffState.ChargeSwitchState ? 1 : 0).Sum(), - Eoc = records.All(r => r.BatteryDeligreenAlarmRecord.AlarmEvent2.MonomerOvervoltageProtection), + ChargeModeBatteries = records.Count(r => r.BatteryDeligreenAlarmRecord.SystemState.Charge), + DischargeModeBatteries = records.Count(r => r.BatteryDeligreenAlarmRecord.SystemState.Discharge ), + ShutDownModeBatteries = records.Count(r => r.BatteryDeligreenAlarmRecord.SystemState.Shutdown), + StandbyModeBatteries = records.Count(r => r.BatteryDeligreenAlarmRecord.SystemState.Standby), + Eoc = records.All(r => + r.BatteryDeligreenAlarmRecord.AlarmEvent2.OvervoltageProtectionForTotalVoltage || + r.BatteryDeligreenAlarmRecord.AlarmEvent2.MonomerOvervoltageProtection), Eod = records.All(r => r.BatteryDeligreenAlarmRecord.AlarmEvent2.MonomerUnderVoltageProtection), }; }