using System.Diagnostics.CodeAnalysis; using InnovEnergy.Lib.StatusApi; using InnovEnergy.Lib.Units; namespace InnovEnergy.Lib.Devices.Battery48TL; using T = Battery48TLStatus; [SuppressMessage("ReSharper", "InconsistentNaming")] public record Battery48TLStatus : BatteryStatus { public Voltage CellsVoltage { get; init; } public Power MaxChargingPower { get; init; } public Power MaxDischargingPower { get; init; } public LedState GreenLed { get; init; } public LedState AmberLed { get; init; } public LedState BlueLed { get; init; } public LedState RedLed { get; init; } public IReadOnlyList Warnings { get; init; } = Array.Empty(); public IReadOnlyList Alarms { get; init; } = Array.Empty(); public Boolean EocReached { get; init; } public Boolean ConnectedToDc { get; init; } public Boolean Heating { get; init; } public TemperatureState TemperatureState { get; init; } // cold | operating temperature | overheated public Current TotalCurrent { get; init; } // TODO: strings // TODO // public State LimitedBy { get; init; } // TODO // public Boolean AlarmOutActive { get; init; } // public Boolean InternalFanActive { get; init; } // public Boolean VoltMeasurementAllowed { get; init; } // public Boolean AuxRelay { get; init; } // public Boolean RemoteState { get; init; } }