diff --git a/Common/.shared/SharedAssemblyInfo.cs b/Common/.shared/SharedAssemblyInfo.cs
index 38ebda7a..74f253b7 100644
--- a/Common/.shared/SharedAssemblyInfo.cs
+++ b/Common/.shared/SharedAssemblyInfo.cs
@@ -13,4 +13,4 @@ using System.Reflection;
//
//[assembly: AssemblyVersion("1.2.*.0")]
-[assembly: AssemblyVersion("2.8.14.*")]
+[assembly: AssemblyVersion("2.8.15.*")]
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
index 0abf6b55..c8e0afb6 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
@@ -1648,6 +1648,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
///
/// - Excluded register versions explicit specified in the 'configuration.json' as version.exclude list.
///
+ ///
+ /// - Excluded all registers from apps which are NOT installed (isInstalled == false).
+ ///
public void BuildValidMeterRegisters(List> tempConfigRegisters)
{
if (tempConfigRegisters == null || tempConfigRegisters.Count == 0)
@@ -1668,7 +1671,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
foreach (var registerToCheck in tempConfigRegisters)
{
if (registerToCheck.Key?.RegisterDetail?.Version == null ||
- MeterAppListVersion.All(f => f.AppId != registerToCheck.Key.AppAddress))
+ MeterAppListVersion.All(f => f.AppId != registerToCheck.Key.AppAddress || !f.IsInstalled))
continue;
var currentGroup = MeterAppListVersion.First(f => f.AppId == registerToCheck.Key.AppAddress);
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs
index 1bf43e2b..702c4c93 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs
@@ -274,13 +274,13 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
///
private static readonly List _excludedFromReadParameters = new List
{
- "CUSTOMER_InternalLoginTest", // Does NOT respond
+ "CUSTOMER_InternalLoginTest", //TODO THW check again which FW is impacted - Does NOT respond
"CUSTOMER_AlarmVisualAutoClearMask", // Does NOT respond
"SYSTEM_CRC", // Needs application number written to it
"SYSTEM_CRC32", // Needs application number written to it
"SYSTEM_ExitReason", // Needs application number written to it
"SYSTEM_DriveCapacity", // Needs drive number written to it
- "GENESISFLOW_TriggerActive", // Does NOT respond
+ "GENESISFLOW_TriggerActive", //TODO THW check again which FW is impacted - Does NOT respond
"SENSUSRADIO_CurrentLoopMax", // Does NOT respond
"SENSUSRADIO_CurrentLoopSource", // Does NOT respond
"SENSUSRADIO_CustomerText", // Does NOT respond
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json b/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json
index 8db2482b..cd226e53 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json
@@ -17806,7 +17806,7 @@
},
"values": {
"default": 206906379,
- "minimum": 201344787,
+ "minimum": 3,
"maximum": 4294967295
},
"statictype": "infrequentlyupdated",
@@ -18099,7 +18099,7 @@
},
"values": {
"default": 206906379,
- "minimum": 201344787,
+ "minimum": 3,
"maximum": 4294967295
},
"statictype": "infrequentlyupdated",
@@ -21744,7 +21744,7 @@
},
"values": {
"default": 206906379,
- "minimum": 201344787,
+ "minimum": 3,
"maximum": 4294967295
},
"statictype": "infrequentlyupdated",
@@ -22011,7 +22011,7 @@
},
"values": {
"default": 206906379,
- "minimum": 201344787,
+ "minimum": 3,
"maximum": 4294967295
},
"statictype": "infrequentlyupdated",
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs
index 076de17e..88e44b00 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs
@@ -40,6 +40,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
///
/// - Threshold for allowed reboots to detect erroneous hardware.
///
+ ///
+ /// - Reboot counter temporary deactivated with WARNING.
+ ///
public override StatusReturn ExecuteProcess()
{
Boolean retVal;
@@ -70,14 +73,16 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
// Read reboot count and compare with hardcoded maximum value
var rebootCount =
RegisterConverter.ByteArrayToValue(Meter.ReadRegister("CUSTOMER_RebootCount"));
- if (rebootCount > MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW)
- {
- ErrorMsgDispatcher(Resources.StrErrorMsgTooManyReboots +
- $" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" +
- $" - {Resources.StrProcessStateDetected}: {rebootCount}");
- return StatusReturn.Failed;
- }
+ //TODO THW reactivate for REBOOT Ctr check
+ //if (rebootCount > MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW)
+ //{
+ // ErrorMsgDispatcher(Resources.StrErrorMsgTooManyReboots +
+ // $" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" +
+ // $" - {Resources.StrProcessStateDetected}: {rebootCount}");
+ // return StatusReturn.Failed;
+ //}
+ WarningMsgDispatcher(Resources.StrWarningRebbotCounterCheckSkipped);
// If interface is outdated
if (!Meter.InterfaceSupportsFwVersion)
{
diff --git a/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs b/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs
index c255b213..3e1d9e5d 100644
--- a/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs
+++ b/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs
@@ -2642,5 +2642,14 @@ namespace Xylem.Common.Production.ProductionUiCordonel.Properties {
return ResourceManager.GetString("StrWarningMsgServiceSirtSkipped", resourceCulture);
}
}
+
+ ///
+ /// Looks up a localized string similar to WARNING: Reboot counter check skipped.
+ ///
+ internal static string StrWarningRebbotCounterCheckSkipped {
+ get {
+ return ResourceManager.GetString("StrWarningRebbotCounterCheckSkipped", resourceCulture);
+ }
+ }
}
}
diff --git a/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx b/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx
index 36cf7e4a..3f1105ce 100644
--- a/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx
+++ b/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx
@@ -681,9 +681,12 @@
WARNUNG: Ergebnis muß überprüft werden! Prozeß
+
+
+ WARNUNG: Hardwareneustartüberprüfung (Reboot) ausgelassen
- FEHLER: Hardwareneustarts über der erlaubten Grenze
+ FEHLER: Hardwareneustarts (Reboot) über der erlaubten Grenze
FEHLER: CSD ist für die Production gesperrt
diff --git a/Common/Production/ProductionUiCordonel/Properties/Resources.resx b/Common/Production/ProductionUiCordonel/Properties/Resources.resx
index 638066f7..1565232e 100644
--- a/Common/Production/ProductionUiCordonel/Properties/Resources.resx
+++ b/Common/Production/ProductionUiCordonel/Properties/Resources.resx
@@ -681,6 +681,9 @@
WARNING: Result needs inspection! Process
+
+
+ WARNING: Reboot counter check skipped
ERROR: Hardware reboots higher than allowed threshold