using InnovEnergy.Lib.Devices.Trumpf.TruConvert; using InnovEnergy.Lib.Devices.Trumpf.TruConvertAc.Enums; using InnovEnergy.Lib.StatusApi; using InnovEnergy.Lib.Units; namespace InnovEnergy.Lib.Devices.Trumpf.TruConvertAc; using AlarmMessages = IReadOnlyList; using WarningMessages = IReadOnlyList; // ReSharper disable UnusedAutoPropertyAccessor.Global #pragma warning disable CS8618 public record TruConvertAcStatus : ThreePhaseInverterStatus { public MainState MainState { get; init; } public String SerialNumber { get; init; } public AcDcGridType GridType { get; init; } public WarningMessages Warnings { get; init; } public AlarmMessages Alarms { get; init; } public Decimal NumberOfConnectedSlaves { get; init; } public Decimal NumberOfConnectedSubSlaves { get; init; } public Frequency AcDcNominalGridFrequency { get; init; } public Voltage AcDcNominalGridVoltage { get; init; } public Power AcDcActNominalPower { get; init; } public Decimal AcDcPowerLimitingStatusAct { get; init; } // TODO: enum public Voltage AcDcDcVoltageReference { get; init; } public Voltage AcDcDcLinkVoltageMinAct { get; init; } public Voltage AcDcDcLinkVoltageMaxAct { get; init; } public Voltage AcDcDcLinkChargedMinVoltage { get; init; } public Decimal AcDcStmActCustomer { get; init; } public Decimal AcDcOverloadIntegratorStatusL1 { get; init; } public Decimal AcDcOverloadIntegratorStatusL2 { get; init; } public Decimal AcDcOverloadIntegratorStatusL3 { get; init; } public Power AcSignedPowerValue { get; init; } public Voltage ActualDcLinkVoltageUpperHalf { get; init; } public Voltage ActualDcLinkVoltageLowerHalf { get; init; } public Voltage ActualDcLinkVoltageUpperHalfExt { get; init; } public Voltage ActualDcLinkVoltageLowerHalfExt { get; init; } public Voltage VoltageIntNtoPe { get; init; } public Voltage VoltageExtNtoPe { get; init; } public Temperature InletAirTemperature { get; init; } }