Add new variable to the Deligreen Battery

This commit is contained in:
atef 2025-05-28 12:03:28 +02:00
parent 2c7db29592
commit c1e345b602
1 changed files with 11 additions and 1 deletions

View File

@ -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),
};
}