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