diff --git a/csharp/App/SaliMax/src/Ess/Controller.cs b/csharp/App/SaliMax/src/Ess/Controller.cs
index befeed857..5eab3ec60 100644
--- a/csharp/App/SaliMax/src/Ess/Controller.cs
+++ b/csharp/App/SaliMax/src/Ess/Controller.cs
@@ -12,8 +12,8 @@ public static class Controller
private static readonly Double BatteryHeatingPower = 200.0; // TODO: move to config
private static Boolean _hasRepetitiveCalibrationChargeChecked = false;
private static DateTime _nextDayAt10Am = DateTime.Now;
-
- public static EssMode SelectControlMode(this StatusRecord s)
+
+ private static EssMode SelectControlMode(this StatusRecord s)
{
//return EssMode.OptimizeSelfConsumption;
@@ -120,6 +120,7 @@ public static class Controller
//var maxInverterChargePower = s.ControlInverterPower(s.Config.MaxInverterPower);
var maxBatteryChargePower = s.MaxBatteryChargePower();
+ maxBatteryChargePower.WriteLine("MaxBattery Charge Power");
return control
//.LimitChargePower(, EssLimit.ChargeLimitedByInverterPower)
diff --git a/csharp/App/SaliMax/src/Program.cs b/csharp/App/SaliMax/src/Program.cs
index 9cf80d254..c73a7980d 100644
--- a/csharp/App/SaliMax/src/Program.cs
+++ b/csharp/App/SaliMax/src/Program.cs
@@ -1,12 +1,9 @@
#undef Amax
#undef GridLimit
-using System.Diagnostics;
using System.IO.Compression;
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
-using System.Reflection.Metadata;
-using System.Security;
using System.Text;
using Flurl.Http;
using InnovEnergy.App.SaliMax.Devices;
@@ -28,7 +25,6 @@ using InnovEnergy.Lib.Protocols.Modbus.Channels;
using InnovEnergy.Lib.Units;
using InnovEnergy.Lib.Utils;
using InnovEnergy.App.SaliMax.DataTypes;
-using InnovEnergy.Lib.Utils.Net;
using static System.Int32;
using static InnovEnergy.App.SaliMax.AggregationService.Aggregator;
using static InnovEnergy.App.SaliMax.MiddlewareClasses.MiddlewareAgent;
@@ -696,6 +692,7 @@ internal static class Program
});
}
+ // To test, most probably the curtailing flag will not work
private static void PerformLed(this StatusRecord record)
{
if (record.StateMachine.State == 23)
@@ -746,7 +743,7 @@ internal static class Program
if (criticalAlarm is not null)
{
- record.Relays?.PerformSolidRedLed();
+ record.Relays?.PerformFastFlashingRedLed();
}
}
diff --git a/csharp/App/SodiStoreMax/Doc/AllStates.graphml b/csharp/App/SodiStoreMax/Doc/AllStates.graphml
new file mode 100644
index 000000000..5877679af
--- /dev/null
+++ b/csharp/App/SodiStoreMax/Doc/AllStates.graphml
@@ -0,0 +1,934 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 23
+ K1 ✓
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 19
+ K1 ✓
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 3
+ K1 ✓
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 9
+ K1 ✓
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ K1 ✓
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 13
+ K1 ✓
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 29
+ K1 ✓
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+ K1 ✓
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 7
+ K1 ✓
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 11
+ K1 ✓
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 15
+ K1 ✓
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 21
+ K1 ✓
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 17
+ K1 ✓
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 25
+ K1 ✓
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 27
+ K1 ✓
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 31
+ K1 ✓
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 28
+ K1 ✘
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 24
+ K1 ✘
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 8
+ K1 ✘
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 6
+ K1 ✘
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ K1 ✘
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 4
+ K1 ✘
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 22
+ K1 ✘
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 16
+ K1 ✘
+K2 ✘
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 20
+ K1 ✘
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 18
+ K1 ✘
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ K1 ✘
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+ K1 ✘
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 12
+ K1 ✘
+K2 ✘
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 14
+ K1 ✘
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ 26
+ K1 ✘
+K2 ✓
+K3 ✘
+
+
+
+
+
+
+
+
+
+
+
+
+ 30
+ K1 ✘
+K2 ✓
+K3 ✓
+
+
+
+
+
+
+
+
+
+
+
+
+ turn off
+Inverters
+
+
+
+
+
+
+
+
+
+
+ switch to
+grid tie
+
+
+
+
+
+
+
+
+
+
+ K3's open
+
+
+
+
+
+
+
+
+
+
+ close K2
+
+
+
+
+
+
+
+
+
+
+ turn on
+Inverters
+
+
+
+
+
+
+
+
+
+
+ K3's close
+
+
+
+
+
+
+
+
+
+
+
+
+
+ open K2
+
+
+
+
+
+
+
+
+
+
+ open K2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverter
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters and open K2
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters and open K2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters
+
+
+
+
+
+
+
+
+
+
+ K3's close
+
+
+
+
+
+
+
+
+
+
+ turn off
+Inverters
+
+
+
+
+
+
+
+
+
+
+ switch to
+island mode
+
+
+
+
+
+
+
+
+
+
+ turn on
+inverters
+
+
+
+
+
+
+
+
+
+
+ turn off
+Inverters
+
+
+
+
+
+
+
+
+
+
+ K3 opens
+
+
+
+
+
+
+
+
+
+
+ open K2
+
+
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters and Open K2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ open K2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ open K2
+
+
+
+
+
+
+
+
+
+
+ K3 opens
+
+
+
+
+
+
+
+
+
+
+ open K2
+
+
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters and open K2
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters
+
+
+
+
+
+
+
+
+
+
+ K1 closes
+
+
+
+
+
+
+
+
+
+
+ K1 opens
+
+
+
+
+
+
+
+
+
+
+
+
+
+ turn off
+inverters
+
+
+
+
+
+
+
+
+
+
+
+
+
+ K3's open
+
+
+
+
+
+
+
+
+
+
+
+
+
+ K3's open
+
+
+
+
+
+
+
+
+
diff --git a/csharp/App/SodiStoreMax/resources/Battery.Service b/csharp/App/SodiStoreMax/resources/Battery.Service
new file mode 100644
index 000000000..ebead9a53
--- /dev/null
+++ b/csharp/App/SodiStoreMax/resources/Battery.Service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Battery48TL_TCP_Bridge
+
+[Service]
+Type=simple
+ExecStart=socat -x -d -d TCP-LISTEN:6855 GOPEN:/dev/ttyUSB0,rawer,b115200,cs8,parenb=1,parodd=1
+Restart=always
+RestartSec=500ms
+StartLimitInterval=0
+
+[Install]
+WantedBy=multi-user.target
diff --git a/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreen.csproj b/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreen.csproj
index 03f0a38e1..140b6f843 100644
--- a/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreen.csproj
+++ b/csharp/Lib/Devices/BatteryDeligreen/BatteryDeligreen.csproj
@@ -6,10 +6,6 @@
InnovEnergy.Lib.Devices.BatteryDeligreen
-
-
-
-