From a602fc5eacb0bf5e164249d318c085df74ba168c Mon Sep 17 00:00:00 2001 From: atef Date: Mon, 1 Jul 2024 15:14:11 +0200 Subject: [PATCH] Update ToVeproperty function. cleaner way.Comment need to be deleted in the futur --- csharp/App/SchneiderMeterDriver/Signal.cs | 46 +++++++++++------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/csharp/App/SchneiderMeterDriver/Signal.cs b/csharp/App/SchneiderMeterDriver/Signal.cs index a6354878e..c2e76da9a 100644 --- a/csharp/App/SchneiderMeterDriver/Signal.cs +++ b/csharp/App/SchneiderMeterDriver/Signal.cs @@ -18,39 +18,37 @@ public record Signal(Func Source, ObjectPath Pa using InnovEnergy.Lib.Devices.IEM3kGridMeter; using InnovEnergy.Lib.Protocols.DBus.Protocol.DataTypes; using InnovEnergy.Lib.Victron.VeDBus; -using System; - namespace InnovEnergy.App.SchneiderDriver { - public record Signal(Func Source, ObjectPath Path, string Format = "") + public record Signal(Func Source, ObjectPath Path, String Format = "") { // Converts the status object to a VeProperty, handling null status gracefully public VeProperty ToVeProperty(Iem3KGridMeterRegisters status) { // Check if status is null and log a message - if (status == null) - { - Console.WriteLine($"Status is null for path: {Path}"); - // Return a default VeProperty if status is null - return new VeProperty(Path, default(double), string.Format($"{{0:{Format}}}", default(double))); - } + // if (status == null) + // { + // Console.WriteLine($"Status is null for path: {Path}"); + // // Return a default VeProperty if status is null + // return new VeProperty(Path, default(double), string.Format($"{{0:{Format}}}", default(double))); + // } +// + // // Retrieve the value using the provided source function + var value = Source(status); + // + // // Handle the case where the value itself might be null + // if (value == null) + // { + // Console.WriteLine($"Value is null for path: {Path}"); + // // Return a default VeProperty if value is null + // return new VeProperty(Path, default(double), string.Format($"{{0:{Format}}}", default(double))); + // } - // Retrieve the value using the provided source function - var value = Source(status); - - // Handle the case where the value itself might be null - if (value == null) - { - Console.WriteLine($"Value is null for path: {Path}"); - // Return a default VeProperty if value is null - return new VeProperty(Path, default(double), string.Format($"{{0:{Format}}}", default(double))); - } - - if (value is float floatValue) - { - value = (double)floatValue; - } + if (value is Single floatValue) + { + value = (Double)floatValue; + } // Create and return the VeProperty with the actual value and format return new VeProperty(Path, value, string.Format($"{{0:{Format}}}", value));