using System.Text.Json.Nodes; using InnovEnergy.Lib.Devices.Trumpf.TruConvertDc; using static InnovEnergy.SaliMax.Log.JsonUtil; namespace InnovEnergy.SaliMax.Log; using JO = JsonObject; public static class TruConvertDc { // TODO: remove serialNb arg, embed TruConvertDcStatus public static JsonObject? Log(this TruConvertDcStatus? s, String serialNb) { if (s is null) return null; var dcCurrent = s.DcLinkVoltage != 0m ? s.DcPower / s.DcLinkVoltage : 0m; return new JO { { $"TruConvertDc {serialNb}", new JO { { "Dc" , CreateDcPhase(dcCurrent, s.DcLinkVoltage) }, { "Dc48" , CreateDcPhase(s.BatteryCurrent, s.BatteryVoltage) }, { "Warnings", s.Warnings.ToJsonArray() }, { "Alarms" , s.Alarms.ToJsonArray() }, } } }; // return DeviceType // .DcDc // .CreateDevice("TruConvertDc") // //.AddDcConnection(Decimal.Round(current, 3), s.DcLinkVoltage) // .AddDc48Connection(Decimal.Round(s.BatteryCurrent, 3), Decimal.Round(s.BatteryVoltage, 3)) // .AddWarnings(s.Warnings) // .AddAlarms(s.Alarms) // .AddProp("DC Power", s.DcPower); } }