diff --git a/csharp/App/SchniederMeterDriver/Config.cs b/csharp/App/SchneiderMeterDriver/Config.cs similarity index 66% rename from csharp/App/SchniederMeterDriver/Config.cs rename to csharp/App/SchneiderMeterDriver/Config.cs index 415808049..c7dd3ccde 100644 --- a/csharp/App/SchniederMeterDriver/Config.cs +++ b/csharp/App/SchneiderMeterDriver/Config.cs @@ -1,7 +1,7 @@ using System.Reflection; using InnovEnergy.Lib.Victron.VeDBus; -namespace InnovEnergy.App.SchniederDriver; +namespace InnovEnergy.App.SchneiderDriver; public static class Config { @@ -20,20 +20,20 @@ public static class Config public static readonly IReadOnlyList Signals = new Signal[] { - new(s => s.Ac.L1.Current, "/Ac/L1/Current", "0.0 A"), - new(s => s.Ac.L2.Current, "/Ac/L2/Current", "0.0 A"), - new(s => s.Ac.L3.Current, "/Ac/L3/Current", "0.0 A"), - new(s => s.Ac.L1.Current + s.Ac.L2.Current + s.Ac.L3.Current, "/Ac/Current", "0.0 A"), + // new(s => s..CurrentL1, "/Ac/L1/Current", "0.0 A"), + // new(s => s..CurrentL2, "/Ac/L2/Current", "0.0 A"), + // new(s => s..CurrentL3, "/Ac/L3/Current", "0.0 A"), + // new(s => s..CurrentL1 + s.Ac.L2.Current + s.Ac.L3.Current, "/Ac/Current", "0.0 A"), - new(s => s.Ac.L1.Voltage, "/Ac/L1/Voltage", "0.0 A"), - new(s => s.Ac.L2.Voltage, "/Ac/L2/Voltage", "0.0 A"), - new(s => s.Ac.L3.Voltage, "/Ac/L3/Voltage", "0.0 A"), - new(s => (s.Ac.L1.Voltage + s.Ac.L2.Voltage + s.Ac.L3.Voltage) / 3.0m, "/Ac/Voltage", "0.0 A"), + // new(s => s.Ac.L1.Voltage, "/Ac/L1/Voltage", "0.0 A"), + // new(s => s.Ac.L2.Voltage, "/Ac/L2/Voltage", "0.0 A"), + // new(s => s.Ac.L3.Voltage, "/Ac/L3/Voltage", "0.0 A"), + // new(s => (s.Ac.L1.Voltage + s.Ac.L2.Voltage + s.Ac.L3.Voltage) / 3.0m, "/Ac/Voltage", "0.0 A"), - new(s => s.Ac.L1.ActivePower, "/Ac/L1/Power", "0 W"), - new(s => s.Ac.L2.ActivePower, "/Ac/L2/Power", "0 W"), - new(s => s.Ac.L3.ActivePower, "/Ac/L3/Power", "0 W"), - new(s => s.Ac.ActivePower, "/Ac/Power", "0 W"), + new(s => s.ActivePowerL1, "/Ac/L1/Power", "0 W"), + new(s => s.ActivePowerL2, "/Ac/L2/Power", "0 W"), + new(s => s.ActivePowerL3, "/Ac/L3/Power", "0 W"), + new(s => (s.ActivePowerL1 + s.ActivePowerL2 + s.ActivePowerL3), "/Ac/Power", "0 W"), // new(s => s.EnergyImportL123, "Ac/Energy/Forward", "0.00 kWh"), // new(s => s.EnergyExportL123, "Ac/Energy/Reverse", "0.00 kWh"), @@ -51,7 +51,7 @@ public static class Config public static VeProperties DefaultProperties => new VeProperties { new("/ProductName" , "Grid meter" ), - new("/CustomName" , "EMU Professional II"), + new("/CustomName" , "Schneider Professional II"), new("/DeviceInstance" , 30), new("/DeviceType" , 72), new("/Mgmt/Connection" , "Modbus TCP"), diff --git a/csharp/App/SchniederMeterDriver/Program.cs b/csharp/App/SchneiderMeterDriver/Program.cs similarity index 86% rename from csharp/App/SchniederMeterDriver/Program.cs rename to csharp/App/SchneiderMeterDriver/Program.cs index d7a975cc1..54bc7c2b8 100644 --- a/csharp/App/SchniederMeterDriver/Program.cs +++ b/csharp/App/SchneiderMeterDriver/Program.cs @@ -1,4 +1,4 @@ -using InnovEnergy.App.SchniederDriver; +using InnovEnergy.App.SchneiderDriver; using InnovEnergy.Lib.Protocols.DBus; using InnovEnergy.Lib.Utils; using InnovEnergy.Lib.Utils.Net; @@ -9,7 +9,7 @@ using InnovEnergy.Lib.Utils.Net; // ssh root@10.2.1.6 /home/root/emu/EmuMeter -Console.WriteLine("Starting Schnieder Driver " + Config.Version); +Console.WriteLine("Starting Schneider Driver " + Config.Version); var networkInterfaces = await Nic.GetNetworkInterfaces(); @@ -43,9 +43,9 @@ foreach (var nic in candidates) if (ping) { Console.WriteLine($"Got answer from {Config.PeerAddress}"); - var ex = await SchniederMeterDriver.Run($"{Config.PeerAddress}:{Config.PeerPort}", Bus.System); + var ex = await SchneiderMeterDriver.Run($"{Config.PeerAddress}:{Config.PeerPort}", Bus.System); - Console.WriteLine($"{nameof(SchniederMeterDriver)} FAILED with\n{ex}"); + Console.WriteLine($"{nameof(SchneiderMeterDriver)} FAILED with\n{ex}"); } else { @@ -57,4 +57,4 @@ foreach (var nic in candidates) Console.WriteLine(removed ? "done" : "failed"); } -Console.WriteLine("Stopping EmuMeter Driver"); \ No newline at end of file +Console.WriteLine("Stopping SchneiderMeter Driver"); \ No newline at end of file diff --git a/csharp/App/SchniederMeterDriver/SchniederMeterDriver.cs b/csharp/App/SchneiderMeterDriver/SchneiderMeterDriver.cs similarity index 96% rename from csharp/App/SchniederMeterDriver/SchniederMeterDriver.cs rename to csharp/App/SchneiderMeterDriver/SchneiderMeterDriver.cs index 786be532c..7a9205037 100644 --- a/csharp/App/SchniederMeterDriver/SchniederMeterDriver.cs +++ b/csharp/App/SchneiderMeterDriver/SchneiderMeterDriver.cs @@ -5,9 +5,9 @@ using InnovEnergy.Lib.Protocols.Modbus.Clients; using InnovEnergy.Lib.Utils; using InnovEnergy.Lib.Victron.VeDBus; -namespace InnovEnergy.App.SchniederDriver; +namespace InnovEnergy.App.SchneiderDriver; -public static class SchniederMeterDriver +public static class SchneiderMeterDriver { public static Task Run(String hostName, Bus dbusAddress) { diff --git a/csharp/App/SchniederMeterDriver/SchniederMeterDriver.csproj b/csharp/App/SchneiderMeterDriver/SchneiderMeterDriver.csproj similarity index 92% rename from csharp/App/SchniederMeterDriver/SchniederMeterDriver.csproj rename to csharp/App/SchneiderMeterDriver/SchneiderMeterDriver.csproj index ea039329c..ac5b87bcd 100644 --- a/csharp/App/SchniederMeterDriver/SchniederMeterDriver.csproj +++ b/csharp/App/SchneiderMeterDriver/SchneiderMeterDriver.csproj @@ -2,7 +2,7 @@ - InnovEnergy.App.SchniederDriver + InnovEnergy.App.SchneiderDriver SchniederDriver diff --git a/csharp/App/SchniederMeterDriver/Signal.cs b/csharp/App/SchneiderMeterDriver/Signal.cs similarity index 85% rename from csharp/App/SchniederMeterDriver/Signal.cs rename to csharp/App/SchneiderMeterDriver/Signal.cs index a8415d94e..9f9bb2254 100644 --- a/csharp/App/SchniederMeterDriver/Signal.cs +++ b/csharp/App/SchneiderMeterDriver/Signal.cs @@ -1,9 +1,8 @@ -using InnovEnergy.Lib.Devices.EmuMeter; using InnovEnergy.Lib.Devices.IEM3kGridMeter; using InnovEnergy.Lib.Protocols.DBus.Protocol.DataTypes; using InnovEnergy.Lib.Victron.VeDBus; -namespace InnovEnergy.App.SchniederDriver; +namespace InnovEnergy.App.SchneiderDriver; // TODO: Does not compile diff --git a/csharp/App/SchneiderMeterDriver/debug.sh b/csharp/App/SchneiderMeterDriver/debug.sh new file mode 100755 index 000000000..c138cfdb8 --- /dev/null +++ b/csharp/App/SchneiderMeterDriver/debug.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +csproj="SchneiderMeterDriver.csproj" +exe="SchneiderMeterDriver" +#remote="10.2.1.6" +remote="10.2.4.155" + +netVersion="net6.0" +platform="linux-arm" +config="Release" +host="root@$remote" +dir="/opt/victronenergy/$exe" + +set -e + +dotnet publish "$csproj" -c $config -r $platform -p:SuppressTrimmAnalysisWarnings=true -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false --self-contained true +rsync -av "bin/$config/$netVersion/$platform/publish/" "$host:$dir" +#clear +#ssh "$host" "$dir/$exe" + \ No newline at end of file diff --git a/csharp/InnovEnergy.sln b/csharp/InnovEnergy.sln index 60951da25..10c541c54 100644 --- a/csharp/InnovEnergy.sln +++ b/csharp/InnovEnergy.sln @@ -91,7 +91,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sofar", "App\Sofar\Sofar.cs EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SofarInverter", "Lib\Devices\SofarInverter\SofarInverter.csproj", "{2C7F3D89-402B-43CB-988E-8D2D853BEF44}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SchniederMeterDriver", "App\SchniederMeterDriver\SchniederMeterDriver.csproj", "{2E7E7657-3A53-4B62-8927-FE9A082B81DE}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SchneiderMeterDriver", "App\SchneiderMeterDriver\SchneiderMeterDriver.csproj", "{2E7E7657-3A53-4B62-8927-FE9A082B81DE}" EndProject Global