From 86d3157a9645a5cfb22369fb8bcf7cd737f0f12e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 28 Aug 2021 16:50:17 +0200 Subject: [PATCH 01/81] removed uneeded code, changed a few obis structs to be fileprivate so it's clear that they are not used anywhere else --- Sources/sma2mqtt/Obis.swift | 9 +++------ Sources/sma2mqtt/SMA.swift | 39 ------------------------------------- 2 files changed, 3 insertions(+), 45 deletions(-) diff --git a/Sources/sma2mqtt/Obis.swift b/Sources/sma2mqtt/Obis.swift index e69db43..20eb67b 100644 --- a/Sources/sma2mqtt/Obis.swift +++ b/Sources/sma2mqtt/Obis.swift @@ -2,7 +2,7 @@ import Foundation import BinaryCoder import JLog -enum ObisDefinitionType:String,Encodable,Decodable +fileprivate enum ObisDefinitionType:String,Encodable,Decodable { case version = "softwareversion" case ipv4address @@ -12,7 +12,7 @@ enum ObisDefinitionType:String,Encodable,Decodable case uint64 } -struct ObisDefinition:Encodable,Decodable +fileprivate struct ObisDefinition:Encodable,Decodable { let id:String let type:ObisDefinitionType @@ -24,7 +24,7 @@ struct ObisDefinition:Encodable,Decodable let mqtt:Bool } -struct Obis +fileprivate struct Obis { static let obisDefinitions:[String:ObisDefinition] = { if let url = Bundle.module.url(forResource: "obisdefinition", withExtension: "json") @@ -134,9 +134,6 @@ extension ObisType:Decodable,Encodable } - - - struct ObisValue { let id:String diff --git a/Sources/sma2mqtt/SMA.swift b/Sources/sma2mqtt/SMA.swift index 2a96a70..099ed6d 100644 --- a/Sources/sma2mqtt/SMA.swift +++ b/Sources/sma2mqtt/SMA.swift @@ -3,19 +3,6 @@ import BinaryCoder import JLog -struct InterestingValue : Encodable -{ - let id: String - let topic: String - let name: String - let title: String - let unit: String - let value: String - let payload: String - let devicename = "sunnymanager" - let time = Date() -} - struct SMAMulticastPacket: BinaryDecodable { @@ -25,31 +12,6 @@ struct SMAMulticastPacket: BinaryDecodable var serialnumber:UInt32? var currenttimems:UInt32? -// var interestingValues : [InterestingValue] -// { get { -// let jsonData = try! JSONEncoder().encode(obis) -// return String(data:jsonData,encoding:.utf8) -// -//// return obis.compactMap{ obisValue in -//// if let interestingValue = Obis.obisDefinitions[obisValue.id] -//// { -//// -//// return InterestingValue(id: obisValue.id, -//// topic: interestingValue.topic, -//// name: interestingValue.name, -//// title: interestingValue.title, -//// unit: interestingValue.unit, -//// -//// value: obisValue.value.description, -//// payload : obisValue.value.description -//// ) -//// } -//// JLog.error("Could not decode obisValue:\(obisValue)") -//// return nil -// } -// } -// } - init(fromBinary decoder: BinaryDecoder) throws { JLog.debug("Decoding SMAMulticastPacket") @@ -177,7 +139,6 @@ struct SMAMulticastPacket: BinaryDecodable var description : String { return "Decoded: \( obis.map{ $0.value.description + "\n"}.joined() ) \n" -// return "Decoded: \(self.id) \(self.time_in_ms) \( obis.map{ $0.description + "\n"}.joined() ) \n" } } From 84a6606b750da3e4cc635a7560e720f6cc662a0e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 29 Aug 2021 12:34:54 +0200 Subject: [PATCH 02/81] Code cleanup removal for swift 5.5 --- Sources/sma2mqtt/ObisDefinition.swift | 53 ++++++ Sources/sma2mqtt/ObisProtocol.swift | 66 +++++++ .../sma2mqtt/{Obis.swift => ObisValue.swift} | 145 ++-------------- .../sma2mqtt/Resources/obisdefinition.json | 162 +++++++++--------- Sources/sma2mqtt/SMA.swift | 26 +-- Sources/sma2mqtt/main.swift | 6 +- 6 files changed, 222 insertions(+), 236 deletions(-) create mode 100644 Sources/sma2mqtt/ObisDefinition.swift create mode 100644 Sources/sma2mqtt/ObisProtocol.swift rename Sources/sma2mqtt/{Obis.swift => ObisValue.swift} (57%) diff --git a/Sources/sma2mqtt/ObisDefinition.swift b/Sources/sma2mqtt/ObisDefinition.swift new file mode 100644 index 0000000..a3ef2f6 --- /dev/null +++ b/Sources/sma2mqtt/ObisDefinition.swift @@ -0,0 +1,53 @@ +// +// ObisDefinition.swift +// +// +// Created by Patrick Stein on 29.08.21. +// + +import Foundation +import JLog + +struct ObisDefinition:Encodable,Decodable +{ + enum ObisDefinitionType:String,Encodable,Decodable + { + case version = "softwareversion" + case ipv4address + + case uint32 + case int32 + case uint64 + } + + let id:String + + let type:ObisDefinitionType + let factor:Decimal? + let unit:String + let topic:String + let mqtt:ObisValue.MQTTVisibilty + let title:String +} + + +extension ObisDefinition +{ + static let obisDefinitions:[String:ObisDefinition] = + { + if let url = Bundle.module.url(forResource: "obisdefinition", withExtension: "json") + { + if let jsonData = try? Data(contentsOf: url), + let obisDefinitions = try? JSONDecoder().decode([ObisDefinition].self, from: jsonData) + { + return Dictionary(uniqueKeysWithValues: obisDefinitions.map { ($0.id, $0) }) + } + JLog.error("Could not decode obisdefintion resource file") + return [String:ObisDefinition]() + } + JLog.error("Could not find obisdefintion resource file") + return [String:ObisDefinition]() + }() +} + + diff --git a/Sources/sma2mqtt/ObisProtocol.swift b/Sources/sma2mqtt/ObisProtocol.swift new file mode 100644 index 0000000..5fb85de --- /dev/null +++ b/Sources/sma2mqtt/ObisProtocol.swift @@ -0,0 +1,66 @@ +// +// ObisProtocol.swift +// +// +// Created by Patrick Stein on 29.08.21. +// +import Foundation +import BinaryCoder +import JLog + +struct ObisProtocol +{ + let systemid:UInt16 + let serialnumber:UInt32 + let mseconds:UInt32 + let obisvalues:[ObisValue] +} + + +extension ObisProtocol:BinaryDecodable +{ + enum ObisDecodingError: Error + { + case decoding(String) + } + + + init(fromBinary decoder: BinaryDecoder) throws + { + JLog.debug("Decoding ObisValue") + + do + { + self.systemid = try decoder.decode(UInt16.self).bigEndian + self.serialnumber = try decoder.decode(UInt32.self).bigEndian + self.mseconds = try decoder.decode(UInt32.self).bigEndian + + var obisvalues = [ObisValue]() + + while !decoder.isAtEnd + { + let currentposition = decoder.position + + do + { + let aObis = try ObisValue(fromBinary: decoder ) + obisvalues.append(aObis) + } + catch let error + { + JLog.error("Got decoding error:\(error) advancing 1 byte") + decoder.position = currentposition + 1 + } + } + self.obisvalues = obisvalues + } + catch + { + JLog.error("Could not decode ObisProtocol: at position:\(decoder.position)") + throw ObisDecodingError.decoding("Could not decode ObisProtocol.") + } + } +} + + + diff --git a/Sources/sma2mqtt/Obis.swift b/Sources/sma2mqtt/ObisValue.swift similarity index 57% rename from Sources/sma2mqtt/Obis.swift rename to Sources/sma2mqtt/ObisValue.swift index 20eb67b..92cf469 100644 --- a/Sources/sma2mqtt/Obis.swift +++ b/Sources/sma2mqtt/ObisValue.swift @@ -2,149 +2,34 @@ import Foundation import BinaryCoder import JLog -fileprivate enum ObisDefinitionType:String,Encodable,Decodable +struct ObisValue { - case version = "softwareversion" - case ipv4address - - case uint32 - case int32 - case uint64 -} -fileprivate struct ObisDefinition:Encodable,Decodable -{ let id:String - let type:ObisDefinitionType - let factor:Decimal? - let unit:String - let topic:String - let title:String - let retain:Bool - let mqtt:Bool -} + let value:ObisType -fileprivate struct Obis -{ - static let obisDefinitions:[String:ObisDefinition] = { - if let url = Bundle.module.url(forResource: "obisdefinition", withExtension: "json") - { - if let jsonData = try? Data(contentsOf: url), - let obisDefinitions = try? JSONDecoder().decode([ObisDefinition].self, from: jsonData) - { - return Dictionary(uniqueKeysWithValues: obisDefinitions.map { ($0.id, $0) }) - } - JLog.error("Could not decode obisdefintion resource file") - return [String:ObisDefinition]() - } - JLog.error("Could not find obisdefintion resource file") - return [String:ObisDefinition]() - }() -} + var includeTopicInJSON = false + var topic:String { ObisDefinition.obisDefinitions[id]?.topic ?? "id/\(id)" } -extension Array where Element == ObisValue -{ - init(fromBinary decoder:BinaryDecoder) + enum MQTTVisibilty:String,Encodable,Decodable { - var obisvalues = [ObisValue]() - - while !decoder.isAtEnd - { - let currentposition = decoder.position - - do - { - let aObis = try ObisValue(fromBinary: decoder ) - obisvalues.append(aObis) - } - catch let error - { - JLog.error("Got decoding error:\(error) advancing 1 byte") - decoder.position = currentposition + 1 - } - } - self = obisvalues + case invisible,visible,retained } + var mqtt:MQTTVisibilty { ObisDefinition.obisDefinitions[id]?.mqtt ?? .invisible } } - enum ObisType { case string(String) case uint(UInt64) case int(Int64) - - var description:String - { - switch self - { - case .string(let value): return value.description - case .uint(let value): return value.description - case .int(let value): return value.description - } - } } +extension ObisType:Decodable {} -extension ObisType:Decodable,Encodable -{ - private enum CodingKeys: String, CodingKey { - case string - case uint - case int - } - enum PostTypeCodingError: Error - { - case decoding(String) - } - - init(from decoder: Decoder) throws - { - let values = try decoder.container(keyedBy: CodingKeys.self) - if let value = try? values.decode(String.self, forKey: .string) - { - self = .string(value) - return - } - if let value = try? values.decode(UInt64.self, forKey: .uint) - { - self = .uint(value) - return - } - if let value = try? values.decode(Int64.self, forKey: .int) - { - self = .int(value) - return - } - throw PostTypeCodingError.decoding("Whoops! \(dump(values))") - } - - func encode(to encoder: Encoder) throws - { - var container = encoder.singleValueContainer() - - switch self - { - case .string(let value): try container.encode(value) - case .uint(let value): try container.encode(value) - case .int(let value): try container.encode(value) - } - } -} - - -struct ObisValue +extension ObisValue:Encodable { - let id:String - let value:ObisType - - var topic:String { Obis.obisDefinitions[id]?.topic ?? "id/\(id)" } - var retain:Bool { Obis.obisDefinitions[id]?.retain ?? false } - var mqtt:Bool { Obis.obisDefinitions[id]?.mqtt ?? false } - - - var includeTopic:Bool = false var json:String { let jsonEncoder = JSONEncoder() @@ -152,15 +37,9 @@ struct ObisValue return String(data: jsonData, encoding: .utf8)! } -} - - - -extension ObisValue:Encodable -{ func encode(to encoder: Encoder) throws { - let obisDefinition = Obis.obisDefinitions[id]! + let obisDefinition = ObisDefinition.obisDefinitions[id]! enum CodingKeys: String, CodingKey { @@ -176,7 +55,7 @@ extension ObisValue:Encodable try container.encode(obisDefinition.unit ,forKey:.unit) try container.encode(obisDefinition.title ,forKey:.title) - if includeTopic + if includeTopicInJSON { try container.encode(obisDefinition.topic ,forKey:.topic) } @@ -229,7 +108,7 @@ extension ObisValue:BinaryDecodable let value:ObisType - if let obisDefinition = Obis.obisDefinitions[id] + if let obisDefinition = ObisDefinition.obisDefinitions[id] { switch obisDefinition.type { diff --git a/Sources/sma2mqtt/Resources/obisdefinition.json b/Sources/sma2mqtt/Resources/obisdefinition.json index 469b52c..41580f0 100644 --- a/Sources/sma2mqtt/Resources/obisdefinition.json +++ b/Sources/sma2mqtt/Resources/obisdefinition.json @@ -1,83 +1,83 @@ [ - { "id" : "1:0.0.0" , "type" : "ipv4address" , "unit" : "none", "topic" : "deviceaddress1" , "retain" : false , "mqtt" : false , "title" : "Device Address 1"}, - - { "id" : "1:1.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/usage" , "retain" : false , "mqtt" : true , "title" : "Grid Usage"}, - { "id" : "1:1.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/usage" , "retain" : false , "mqtt" : true , "title" : "Grid Usage Counter"}, - { "id" : "1:2.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/feedin" , "retain" : false , "mqtt" : true , "title" : "Grid Feedin"}, - { "id" : "1:2.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/feedin" , "retain" : false , "mqtt" : true , "title" : "Grid Feedin Counter"}, - - { "id" : "1:3.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Reactive Usage"}, - { "id" : "1:3.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Reactive Usage Counter"}, - { "id" : "1:4.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Reactive Feedin"}, - { "id" : "1:4.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Reactive Feedin Counter"}, - - { "id" : "1:9.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Apparent Usage"}, - { "id" : "1:9.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Apparent Usage Counter"}, - { "id" : "1:10.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Apparent Feedin"}, - { "id" : "1:10.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Apparent Feedin Counter"}, - - { "id" : "1:13.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "cos(φ)","topic" : "immediate/powerfactor" , "retain" : false , "mqtt" : false , "title" : "Power factor"}, - { "id" : "1:14.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "immediate/gridfrequency" , "retain" : false , "mqtt" : true , "title" : "Grid Frequency"}, - - { "id" : "1:21.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/usage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Grid Usage"}, - { "id" : "1:21.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/usage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Grid Usage Counter"}, - { "id" : "1:22.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/feedin" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Grid Feedin"}, - { "id" : "1:22.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/feedin" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Grid Feedin Counter"}, - - { "id" : "1:23.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Reactive Usage"}, - { "id" : "1:23.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Reactive Usage Counter"}, - { "id" : "1:24.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Reactive Feedin"}, - { "id" : "1:24.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Reactive Feedin Counter"}, - - { "id" : "1:29.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Apparent Usage"}, - { "id" : "1:29.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Apparent Usage Counter"}, - { "id" : "1:30.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Apparent Feedin"}, - { "id" : "1:30.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Apparent Feedin Counter"}, - - { "id" : "1:31.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "A" , "topic" : "phase1/immediate/current" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Current"}, - { "id" : "1:32.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "V" , "topic" : "phase1/immediate/voltage" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Voltage"}, - { "id" : "1:33.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase1/immediate/powerfactor" , "retain" : false , "mqtt" : false , "title" : "Phase 1 Power factor"}, - { "id" : "1:34.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase1/immediate/gridfrequency" , "retain" : false , "mqtt" : false , "title" : "Grid Frequency"}, - - { "id" : "1:41.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/usage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Grid Usage"}, - { "id" : "1:41.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/usage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Grid Usage Counter"}, - { "id" : "1:42.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/feedin" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Grid Feedin"}, - { "id" : "1:42.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/feedin" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Grid Feedin Counter"}, - - { "id" : "1:43.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Reactive Usage"}, - { "id" : "1:43.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Reactive Usage Counter"}, - { "id" : "1:44.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Reactive Feedin"}, - { "id" : "1:44.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Reactive Feedin Counter"}, - - { "id" : "1:49.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Apparent Usage"}, - { "id" : "1:49.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Apparent Usage Counter"}, - { "id" : "1:50.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Apparent Feedin"}, - { "id" : "1:50.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Apparent Feedin Counter"}, - - { "id" : "1:51.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "A" , "topic" : "phase2/immediate/current" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Current"}, - { "id" : "1:52.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "V" , "topic" : "phase2/immediate/voltage" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Voltage"}, - { "id" : "1:53.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase2/immediate/powerfactor" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Power factor"}, - { "id" : "1:54.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase2/immediate/gridfrequency" , "retain" : false , "mqtt" : false , "title" : "Phase 2 Grid Frequency"}, - - { "id" : "1:61.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/usage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Grid Usage"}, - { "id" : "1:61.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/usage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Grid Usage Counter"}, - { "id" : "1:62.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/feedin" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Grid Feedin"}, - { "id" : "1:62.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/feedin" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Grid Feedin Counter"}, - - { "id" : "1:63.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Reactive Usage"}, - { "id" : "1:63.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/reactiveusage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Reactive Usage Counter"}, - { "id" : "1:64.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Reactive Feedin"}, - { "id" : "1:64.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/reactivefeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Reactive Feedin Counter"}, - - { "id" : "1:69.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Apparent Usage"}, - { "id" : "1:69.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/apparentusage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Apparent Usage Counter"}, - { "id" : "1:70.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Apparent Feedin"}, - { "id" : "1:70.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/apparentfeedin" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Apparent Feedin Counter"}, - - { "id" : "1:71.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "A" , "topic" : "phase3/immediate/current" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Current"}, - { "id" : "1:72.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "V" , "topic" : "phase3/immediate/voltage" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Voltage"}, - { "id" : "1:73.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase3/immediate/powerfactor" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Power factor"}, - { "id" : "1:74.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase3/immediate/gridfrequency" , "retain" : false , "mqtt" : false , "title" : "Phase 3 Grid Frequency"}, - - { "id" : "144:0.0.0", "type" : "softwareversion" , "unit" : "none", "topic" : "version" , "retain" : true , "mqtt" : false , "title" : "Software Version"} + { "id" : "1:0.0.0" , "type" : "ipv4address" , "unit" : "none", "topic" : "deviceaddress1" , "mqtt" : "invisible" , "title" : "Device Address 1"}, + + { "id" : "1:1.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/usage" , "mqtt" : "visible" , "title" : "Grid Usage"}, + { "id" : "1:1.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/usage" , "mqtt" : "visible" , "title" : "Grid Usage Counter"}, + { "id" : "1:2.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/feedin" , "mqtt" : "visible" , "title" : "Grid Feedin"}, + { "id" : "1:2.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/feedin" , "mqtt" : "visible" , "title" : "Grid Feedin Counter"}, + + { "id" : "1:3.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/reactiveusage" , "mqtt" : "invisible" , "title" : "Reactive Usage"}, + { "id" : "1:3.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/reactiveusage" , "mqtt" : "invisible" , "title" : "Reactive Usage Counter"}, + { "id" : "1:4.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/reactivefeedin" , "mqtt" : "invisible" , "title" : "Reactive Feedin"}, + { "id" : "1:4.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/reactivefeedin" , "mqtt" : "invisible" , "title" : "Reactive Feedin Counter"}, + + { "id" : "1:9.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/apparentusage" , "mqtt" : "invisible" , "title" : "Apparent Usage"}, + { "id" : "1:9.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/apparentusage" , "mqtt" : "invisible" , "title" : "Apparent Usage Counter"}, + { "id" : "1:10.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/apparentfeedin" , "mqtt" : "invisible" , "title" : "Apparent Feedin"}, + { "id" : "1:10.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/apparentfeedin" , "mqtt" : "invisible" , "title" : "Apparent Feedin Counter"}, + + { "id" : "1:13.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "cos(φ)","topic" : "immediate/powerfactor" , "mqtt" : "invisible" , "title" : "Power factor"}, + { "id" : "1:14.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "immediate/gridfrequency" , "mqtt" : "visible" , "title" : "Grid Frequency"}, + + { "id" : "1:21.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/usage" , "mqtt" : "invisible" , "title" : "Phase 1 Grid Usage"}, + { "id" : "1:21.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/usage" , "mqtt" : "invisible" , "title" : "Phase 1 Grid Usage Counter"}, + { "id" : "1:22.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/feedin" , "mqtt" : "invisible" , "title" : "Phase 1 Grid Feedin"}, + { "id" : "1:22.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/feedin" , "mqtt" : "invisible" , "title" : "Phase 1 Grid Feedin Counter"}, + + { "id" : "1:23.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/reactiveusage" , "mqtt" : "invisible" , "title" : "Phase 1 Reactive Usage"}, + { "id" : "1:23.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/reactiveusage" , "mqtt" : "invisible" , "title" : "Phase 1 Reactive Usage Counter"}, + { "id" : "1:24.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/reactivefeedin" , "mqtt" : "invisible" , "title" : "Phase 1 Reactive Feedin"}, + { "id" : "1:24.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/reactivefeedin" , "mqtt" : "invisible" , "title" : "Phase 1 Reactive Feedin Counter"}, + + { "id" : "1:29.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/apparentusage" , "mqtt" : "invisible" , "title" : "Phase 1 Apparent Usage"}, + { "id" : "1:29.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/apparentusage" , "mqtt" : "invisible" , "title" : "Phase 1 Apparent Usage Counter"}, + { "id" : "1:30.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase1/immediate/apparentfeedin" , "mqtt" : "invisible" , "title" : "Phase 1 Apparent Feedin"}, + { "id" : "1:30.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase1/counter/apparentfeedin" , "mqtt" : "invisible" , "title" : "Phase 1 Apparent Feedin Counter"}, + + { "id" : "1:31.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "A" , "topic" : "phase1/immediate/current" , "mqtt" : "invisible" , "title" : "Phase 1 Current"}, + { "id" : "1:32.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "V" , "topic" : "phase1/immediate/voltage" , "mqtt" : "invisible" , "title" : "Phase 1 Voltage"}, + { "id" : "1:33.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase1/immediate/powerfactor" , "mqtt" : "invisible" , "title" : "Phase 1 Power factor"}, + { "id" : "1:34.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase1/immediate/gridfrequency" , "mqtt" : "invisible" , "title" : "Grid Frequency"}, + + { "id" : "1:41.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/usage" , "mqtt" : "invisible" , "title" : "Phase 2 Grid Usage"}, + { "id" : "1:41.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/usage" , "mqtt" : "invisible" , "title" : "Phase 2 Grid Usage Counter"}, + { "id" : "1:42.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/feedin" , "mqtt" : "invisible" , "title" : "Phase 2 Grid Feedin"}, + { "id" : "1:42.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/feedin" , "mqtt" : "invisible" , "title" : "Phase 2 Grid Feedin Counter"}, + + { "id" : "1:43.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/reactiveusage" , "mqtt" : "invisible" , "title" : "Phase 2 Reactive Usage"}, + { "id" : "1:43.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/reactiveusage" , "mqtt" : "invisible" , "title" : "Phase 2 Reactive Usage Counter"}, + { "id" : "1:44.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/reactivefeedin" , "mqtt" : "invisible" , "title" : "Phase 2 Reactive Feedin"}, + { "id" : "1:44.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/reactivefeedin" , "mqtt" : "invisible" , "title" : "Phase 2 Reactive Feedin Counter"}, + + { "id" : "1:49.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/apparentusage" , "mqtt" : "invisible" , "title" : "Phase 2 Apparent Usage"}, + { "id" : "1:49.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/apparentusage" , "mqtt" : "invisible" , "title" : "Phase 2 Apparent Usage Counter"}, + { "id" : "1:50.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase2/immediate/apparentfeedin" , "mqtt" : "invisible" , "title" : "Phase 2 Apparent Feedin"}, + { "id" : "1:50.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase2/counter/apparentfeedin" , "mqtt" : "invisible" , "title" : "Phase 2 Apparent Feedin Counter"}, + + { "id" : "1:51.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "A" , "topic" : "phase2/immediate/current" , "mqtt" : "invisible" , "title" : "Phase 2 Current"}, + { "id" : "1:52.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "V" , "topic" : "phase2/immediate/voltage" , "mqtt" : "invisible" , "title" : "Phase 2 Voltage"}, + { "id" : "1:53.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase2/immediate/powerfactor" , "mqtt" : "invisible" , "title" : "Phase 2 Power factor"}, + { "id" : "1:54.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase2/immediate/gridfrequency" , "mqtt" : "invisible" , "title" : "Phase 2 Grid Frequency"}, + + { "id" : "1:61.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/usage" , "mqtt" : "invisible" , "title" : "Phase 3 Grid Usage"}, + { "id" : "1:61.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/usage" , "mqtt" : "invisible" , "title" : "Phase 3 Grid Usage Counter"}, + { "id" : "1:62.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/feedin" , "mqtt" : "invisible" , "title" : "Phase 3 Grid Feedin"}, + { "id" : "1:62.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/feedin" , "mqtt" : "invisible" , "title" : "Phase 3 Grid Feedin Counter"}, + + { "id" : "1:63.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/reactiveusage" , "mqtt" : "invisible" , "title" : "Phase 3 Reactive Usage"}, + { "id" : "1:63.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/reactiveusage" , "mqtt" : "invisible" , "title" : "Phase 3 Reactive Usage Counter"}, + { "id" : "1:64.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/reactivefeedin" , "mqtt" : "invisible" , "title" : "Phase 3 Reactive Feedin"}, + { "id" : "1:64.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/reactivefeedin" , "mqtt" : "invisible" , "title" : "Phase 3 Reactive Feedin Counter"}, + + { "id" : "1:69.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/apparentusage" , "mqtt" : "invisible" , "title" : "Phase 3 Apparent Usage"}, + { "id" : "1:69.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/apparentusage" , "mqtt" : "invisible" , "title" : "Phase 3 Apparent Usage Counter"}, + { "id" : "1:70.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "phase3/immediate/apparentfeedin" , "mqtt" : "invisible" , "title" : "Phase 3 Apparent Feedin"}, + { "id" : "1:70.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "phase3/counter/apparentfeedin" , "mqtt" : "invisible" , "title" : "Phase 3 Apparent Feedin Counter"}, + + { "id" : "1:71.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "A" , "topic" : "phase3/immediate/current" , "mqtt" : "invisible" , "title" : "Phase 3 Current"}, + { "id" : "1:72.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "V" , "topic" : "phase3/immediate/voltage" , "mqtt" : "invisible" , "title" : "Phase 3 Voltage"}, + { "id" : "1:73.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase3/immediate/powerfactor" , "mqtt" : "invisible" , "title" : "Phase 3 Power factor"}, + { "id" : "1:74.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase3/immediate/gridfrequency" , "mqtt" : "invisible" , "title" : "Phase 3 Grid Frequency"}, + + { "id" : "144:0.0.0", "type" : "softwareversion" , "unit" : "none", "topic" : "version" , "mqtt" : "retained" , "title" : "Software Version"} ] diff --git a/Sources/sma2mqtt/SMA.swift b/Sources/sma2mqtt/SMA.swift index 099ed6d..fdd184a 100644 --- a/Sources/sma2mqtt/SMA.swift +++ b/Sources/sma2mqtt/SMA.swift @@ -59,20 +59,9 @@ struct SMAMulticastPacket: BinaryDecodable { case 0x6069: JLog.debug("recognizing BigEndian obis protocol") - if let systemid = try? smaNetDecoder.decode(UInt16.self).bigEndian, - let serialnumber = try? smaNetDecoder.decode(UInt32.self).bigEndian, - let currenttimems = try? smaNetDecoder.decode(UInt32.self).bigEndian + if let obisProtocol = try? ObisProtocol.init(fromBinary: smaNetDecoder) { - self.systemid = systemid - self.serialnumber = serialnumber - self.currenttimems = currenttimems - JLog.debug("got \(String(format:"systemid:0x%x serialnumber:0x%x time:0x%xms",systemid,serialnumber,currenttimems))") - - obisvalues = Array(fromBinary: smaNetDecoder) - } - else - { - JLog.error("BigEndian header decoding error:\(smaNetData.dump)") + obisvalues = obisProtocol.obisvalues } @@ -103,8 +92,6 @@ struct SMAMulticastPacket: BinaryDecodable { JLog.debug("packetidhigh:\(packetidhigh) low:\(packetidlow) somevalue:\(somevalue) littleEndian: sysid:\(sysID) serial:\(serial)") - obisvalues = Array(fromBinary: smaNetDecoder) - } else { @@ -117,8 +104,9 @@ struct SMAMulticastPacket: BinaryDecodable JLog.error("littleEndianData header decoding error:\(smaNetData.dump)") } - default: JLog.error("prototocol unknown - will try decoding") - obisvalues = Array(fromBinary: smaNetDecoder) + default: JLog.error("prototocol unknown.") + + } } @@ -128,7 +116,7 @@ struct SMAMulticastPacket: BinaryDecodable } default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.dump) trying detection") - obisvalues = Array(fromBinary: smaNetDecoder) + } } } @@ -138,7 +126,7 @@ struct SMAMulticastPacket: BinaryDecodable var description : String { - return "Decoded: \( obis.map{ $0.value.description + "\n"}.joined() ) \n" + return "Decoded: \( obis.description ) \n" } } diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index 5f77259..d625418 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -187,17 +187,17 @@ final class SMAMessageReceiver: ChannelInboundHandler for var obisvalue in sma.obis { - if obisvalue.mqtt + if obisvalue.mqtt != .invisible { let topic = "\(mqttServer.topic)/\(obisvalue.topic)" mqttClient.publish( topic: topic, payload: obisvalue.json, - retain: obisvalue.retain + retain: obisvalue.mqtt == .retained ) } if jsonOutput { - obisvalue.includeTopic = true + obisvalue.includeTopicInJSON = true print("\(obisvalue.json)") } } From 1a02f8f8148227b5576baae3928555b13eaa5b7b Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 29 Aug 2021 19:46:56 +0200 Subject: [PATCH 03/81] formatting only. --- Sources/sma2mqtt/SMA.swift | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/Sources/sma2mqtt/SMA.swift b/Sources/sma2mqtt/SMA.swift index fdd184a..f91b6f0 100644 --- a/Sources/sma2mqtt/SMA.swift +++ b/Sources/sma2mqtt/SMA.swift @@ -84,20 +84,18 @@ struct SMAMulticastPacket: BinaryDecodable JLog.error("Expected expectinglength:\(expectinglength) but seems to have more - ignoring") } - if let packetidlow = try? littleEndianDecoder.decode(UInt32.self).littleEndian, - let packetidhigh = try? littleEndianDecoder.decode(UInt16.self).littleEndian, - let somevalue = try? littleEndianDecoder.decode(UInt16.self), - let sysID = try? littleEndianDecoder.decode(UInt16.self).littleEndian, - let serial = try? littleEndianDecoder.decode(UInt32.self).littleEndian - { - JLog.debug("packetidhigh:\(packetidhigh) low:\(packetidlow) somevalue:\(somevalue) littleEndian: sysid:\(sysID) serial:\(serial)") - - } - else - { - JLog.error("littleEndianDecoder header decoding error:\(littleEndianData.dump)") - - } + if let packetidlow = try? littleEndianDecoder.decode(UInt32.self).littleEndian, + let packetidhigh = try? littleEndianDecoder.decode(UInt16.self).littleEndian, + let somevalue = try? littleEndianDecoder.decode(UInt16.self), + let sysID = try? littleEndianDecoder.decode(UInt16.self).littleEndian, + let serial = try? littleEndianDecoder.decode(UInt32.self).littleEndian + { + JLog.debug("packetidhigh:\(packetidhigh) low:\(packetidlow) somevalue:\(somevalue) littleEndian: sysid:\(sysID) serial:\(serial)") + } + else + { + JLog.error("littleEndianDecoder header decoding error:\(littleEndianData.dump)") + } } else { From 6e357d431a12115c13ea33e00232a614e3d915b3 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Tue, 31 Aug 2021 17:34:57 +0200 Subject: [PATCH 04/81] Updated Gitignore, updated to use official docker image from swiftlang now that it supports arm. --- .gitignore | 5 +++++ Sources/sma2mqtt/ObisValue.swift | 1 - build.sh | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 8584fac..0600135 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,8 @@ Package.resolved Reverseengineering/ Documentation/ perl5/ +.local +.swiftpm +.cache +.bash_history +docker diff --git a/Sources/sma2mqtt/ObisValue.swift b/Sources/sma2mqtt/ObisValue.swift index 92cf469..7f48fa5 100644 --- a/Sources/sma2mqtt/ObisValue.swift +++ b/Sources/sma2mqtt/ObisValue.swift @@ -4,7 +4,6 @@ import JLog struct ObisValue { - let id:String let value:ObisType diff --git a/build.sh b/build.sh index 6b79e83..cb84c56 100755 --- a/build.sh +++ b/build.sh @@ -42,7 +42,7 @@ DOCKER_UID=$(id -u ${USER}) DOCKER_GID=$(id -g ${USER}) docker build -t swift:latest -< Date: Wed, 1 Sep 2021 17:59:00 +0200 Subject: [PATCH 05/81] restturctured so that tests will work. sma2mqttLibrary introduced. --- Package.swift | 25 +++++++++---- Sources/sma2mqtt/main.swift | 1 + .../Extensions.swift | 0 .../ObisDefinition.swift | 0 .../ObisProtocol.swift | 0 .../ObisValue.swift | 18 +++++----- .../Resources/obisdefinition.json | 0 .../{sma2mqtt => sma2mqttLibrary}/SMA.swift | 14 +++----- Tests/sma2mqttTests/sma2mqttTests.swift | 36 +++++++++++++++++++ 9 files changed, 69 insertions(+), 25 deletions(-) rename Sources/{sma2mqtt => sma2mqttLibrary}/Extensions.swift (100%) rename Sources/{sma2mqtt => sma2mqttLibrary}/ObisDefinition.swift (100%) rename Sources/{sma2mqtt => sma2mqttLibrary}/ObisProtocol.swift (100%) rename Sources/{sma2mqtt => sma2mqttLibrary}/ObisValue.swift (91%) rename Sources/{sma2mqtt => sma2mqttLibrary}/Resources/obisdefinition.json (100%) rename Sources/{sma2mqtt => sma2mqttLibrary}/SMA.swift (96%) create mode 100644 Tests/sma2mqttTests/sma2mqttTests.swift diff --git a/Package.swift b/Package.swift index c13094b..3fefaf8 100644 --- a/Package.swift +++ b/Package.swift @@ -11,6 +11,10 @@ let package = Package( .tvOS(.v13), .watchOS(.v6) ], + products: [ + .executable(name: "sma2mqtt", targets: ["sma2mqtt"]), + .library(name: "sma2mqttLibrary", targets: ["sma2mqttLibrary"]), + ], dependencies: [ .package(url: "https://github.com/apple/swift-argument-parser", from: "0.3.2"), .package(url: "https://github.com/apple/swift-nio", from: "2.32.0"), @@ -23,20 +27,27 @@ let package = Package( targets: [ .executableTarget( name: "sma2mqtt", - dependencies: [ .product(name: "NIO", package: "swift-nio"), + dependencies: [ "sma2mqttLibrary", + .product(name: "NIO", package: "swift-nio"), .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "MQTTNIO", package: "mqtt-nio"), .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "JLog", package: "JLog") + ] + ), + .target( + name: "sma2mqttLibrary", + dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), + .product(name: "JLog", package: "JLog") ], resources: [ .copy("Resources/obisdefinition.json") ] -// ), -// .testTarget( name: "sma2mqttTests", -// dependencies: [ "sma2mqtt", -// .product(name: "BinaryCoder", package: "BinaryCoder"), -// .product(name: "JLog", package: "JLog") -// ] + ), + .testTarget( name: "sma2mqttTests", + dependencies: [ "sma2mqttLibrary", + .product(name: "BinaryCoder", package: "BinaryCoder"), + .product(name: "JLog", package: "JLog") + ] ) ] ) diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index d625418..ae65aa5 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -6,6 +6,7 @@ import MQTTNIO import BinaryCoder import ArgumentParser import JLog +import sma2mqttLibrary struct JNXServer { diff --git a/Sources/sma2mqtt/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift similarity index 100% rename from Sources/sma2mqtt/Extensions.swift rename to Sources/sma2mqttLibrary/Extensions.swift diff --git a/Sources/sma2mqtt/ObisDefinition.swift b/Sources/sma2mqttLibrary/ObisDefinition.swift similarity index 100% rename from Sources/sma2mqtt/ObisDefinition.swift rename to Sources/sma2mqttLibrary/ObisDefinition.swift diff --git a/Sources/sma2mqtt/ObisProtocol.swift b/Sources/sma2mqttLibrary/ObisProtocol.swift similarity index 100% rename from Sources/sma2mqtt/ObisProtocol.swift rename to Sources/sma2mqttLibrary/ObisProtocol.swift diff --git a/Sources/sma2mqtt/ObisValue.swift b/Sources/sma2mqttLibrary/ObisValue.swift similarity index 91% rename from Sources/sma2mqtt/ObisValue.swift rename to Sources/sma2mqttLibrary/ObisValue.swift index 7f48fa5..046caf6 100644 --- a/Sources/sma2mqtt/ObisValue.swift +++ b/Sources/sma2mqttLibrary/ObisValue.swift @@ -2,22 +2,22 @@ import Foundation import BinaryCoder import JLog -struct ObisValue +public struct ObisValue { let id:String let value:ObisType - var includeTopicInJSON = false - var topic:String { ObisDefinition.obisDefinitions[id]?.topic ?? "id/\(id)" } + public var includeTopicInJSON = false + public var topic:String { ObisDefinition.obisDefinitions[id]?.topic ?? "id/\(id)" } - enum MQTTVisibilty:String,Encodable,Decodable + public enum MQTTVisibilty:String,Encodable,Decodable { case invisible,visible,retained } - var mqtt:MQTTVisibilty { ObisDefinition.obisDefinitions[id]?.mqtt ?? .invisible } + public var mqtt:MQTTVisibilty { ObisDefinition.obisDefinitions[id]?.mqtt ?? .invisible } } -enum ObisType +public enum ObisType { case string(String) case uint(UInt64) @@ -29,14 +29,14 @@ extension ObisType:Decodable {} extension ObisValue:Encodable { - var json:String + public var json:String { let jsonEncoder = JSONEncoder() let jsonData = try! jsonEncoder.encode(self) return String(data: jsonData, encoding: .utf8)! } - func encode(to encoder: Encoder) throws + public func encode(to encoder: Encoder) throws { let obisDefinition = ObisDefinition.obisDefinitions[id]! @@ -92,7 +92,7 @@ extension ObisValue:Encodable extension ObisValue:BinaryDecodable { - init(fromBinary decoder: BinaryDecoder) throws + public init(fromBinary decoder: BinaryDecoder) throws { JLog.debug("Decoding ObisValue") diff --git a/Sources/sma2mqtt/Resources/obisdefinition.json b/Sources/sma2mqttLibrary/Resources/obisdefinition.json similarity index 100% rename from Sources/sma2mqtt/Resources/obisdefinition.json rename to Sources/sma2mqttLibrary/Resources/obisdefinition.json diff --git a/Sources/sma2mqtt/SMA.swift b/Sources/sma2mqttLibrary/SMA.swift similarity index 96% rename from Sources/sma2mqtt/SMA.swift rename to Sources/sma2mqttLibrary/SMA.swift index f91b6f0..95c973b 100644 --- a/Sources/sma2mqtt/SMA.swift +++ b/Sources/sma2mqttLibrary/SMA.swift @@ -4,15 +4,15 @@ import JLog -struct SMAMulticastPacket: BinaryDecodable +public struct SMAMulticastPacket: BinaryDecodable { - let obis:[ObisValue] + public let obis:[ObisValue] var group:UInt32? var systemid:UInt16? var serialnumber:UInt32? var currenttimems:UInt32? - init(fromBinary decoder: BinaryDecoder) throws + public init(fromBinary decoder: BinaryDecoder) throws { JLog.debug("Decoding SMAMulticastPacket") @@ -21,7 +21,7 @@ struct SMAMulticastPacket: BinaryDecodable if smaprefix != 0x534d4100 // == 'SMA\0' { JLog.error("packet does not start with SMA header (SMA\0)") - throw BinaryDecoder.Error.typeNotConformingToBinaryDecodable(ObisValue.self) + throw BinaryDecoder.Error.typeNotConformingToBinaryDecodable(SMAMulticastPacket.self) } JLog.debug("Valid SMA Header") @@ -103,18 +103,14 @@ struct SMAMulticastPacket: BinaryDecodable } default: JLog.error("prototocol unknown.") - - - } } else { - JLog.error("Could not decode prototocol:\(tag) length:\(length) data:\(smaNetData.dump)") + JLog.error("Could not decode protocol:\(tag) length:\(length) data:\(smaNetData.dump)") } default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.dump) trying detection") - } } } diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift new file mode 100644 index 0000000..7298619 --- /dev/null +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -0,0 +1,36 @@ +import XCTest +import class Foundation.Bundle + +@testable import JLog +@testable import BinaryCoder +@testable import sma2mqttLibrary + +func hex(from string: String) -> Data +{ + let stringWithoutSpaces = string.replacingOccurrences(of:" ", with:"") + + let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) + .map{ stringWithoutSpaces[stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1)] } + .map{ UInt8($0, radix: 16)! } + return Data(uInt8Array) +} + + + +final class sma2mqttTests: XCTestCase +{ + func testExample() throws + { + JLog.loglevel = .trace + + let data = hex(from:"534d4100 0004 02a0 00000001 0046 0010 6065 11 e0 07050102030400a19901f6 a22fb3 0001 0000 0000f1b10102005400000000010000000101260068d50f613b975300000000000122260068d50f61b81f00000000000000000000") + let binaryDecoder = BinaryDecoder(data: [UInt8](data) ) + + + let packet = try? SMAMulticastPacket(fromBinary:binaryDecoder) + + JLog.debug("Packet:\(packet)") + + XCTAssert(true) + } +} From 641877ab7dcbf1222753a20bc628383c0d1d2848 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 1 Sep 2021 18:29:27 +0200 Subject: [PATCH 06/81] changed that smq2mqtt no longer requires BinaryDecoder itself. --- Package.swift | 1 - Sources/sma2mqtt/main.swift | 10 ++++------ Sources/sma2mqttLibrary/SMA.swift | 13 +++++++++++++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Package.swift b/Package.swift index 3fefaf8..11b1c99 100644 --- a/Package.swift +++ b/Package.swift @@ -31,7 +31,6 @@ let package = Package( .product(name: "NIO", package: "swift-nio"), .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "MQTTNIO", package: "mqtt-nio"), - .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "JLog", package: "JLog") ] ), diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index ae65aa5..30fb0b8 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -3,7 +3,6 @@ import Foundation import NIO import MQTTNIO -import BinaryCoder import ArgumentParser import JLog import sma2mqttLibrary @@ -172,17 +171,16 @@ final class SMAMessageReceiver: ChannelInboundHandler { let envelope = self.unwrapInboundIn(data) var buffer = envelope.data - var lasttime:Date = Date.distantPast let timenow = Date() if timenow.timeIntervalSince(lasttime) > mqttServer.emitInterval, - let byteData = buffer.readBytes(length: buffer.readableBytes) + let byteArray = buffer.readBytes(length: buffer.readableBytes) { - JLog.debug("\(timenow) Data: \(byteData.count) from: \(envelope.remoteAddress) ") + JLog.debug("\(timenow) Data: \(byteArray.count) from: \(envelope.remoteAddress) ") + - let binaryDecoder = BinaryDecoder(data: byteData ) - if let sma = try? binaryDecoder.decode(SMAMulticastPacket.self) + if let sma = try? SMAMulticastPacket(byteArray:byteArray) { JLog.debug("Decoded: \(sma)") diff --git a/Sources/sma2mqttLibrary/SMA.swift b/Sources/sma2mqttLibrary/SMA.swift index 95c973b..fb92661 100644 --- a/Sources/sma2mqttLibrary/SMA.swift +++ b/Sources/sma2mqttLibrary/SMA.swift @@ -12,6 +12,19 @@ public struct SMAMulticastPacket: BinaryDecodable var serialnumber:UInt32? var currenttimems:UInt32? + public init(data:Data) throws + { + let byteArray = [UInt8](data) + let binaryDecoder = BinaryDecoder(data: byteArray) + self = try binaryDecoder.decode(SMAMulticastPacket.self) + } + + public init(byteArray:[UInt8]) throws + { + let binaryDecoder = BinaryDecoder(data: byteArray) + self = try binaryDecoder.decode(SMAMulticastPacket.self) + } + public init(fromBinary decoder: BinaryDecoder) throws { JLog.debug("Decoding SMAMulticastPacket") From c53705000901e8bad389dee422744ece5aeca3cc Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 1 Sep 2021 18:33:40 +0200 Subject: [PATCH 07/81] added test for decoding data object. --- Tests/sma2mqttTests/sma2mqttTests.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 7298619..b826f48 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -19,17 +19,17 @@ func hex(from string: String) -> Data final class sma2mqttTests: XCTestCase { - func testExample() throws + func testSMADecoding() throws { JLog.loglevel = .trace let data = hex(from:"534d4100 0004 02a0 00000001 0046 0010 6065 11 e0 07050102030400a19901f6 a22fb3 0001 0000 0000f1b10102005400000000010000000101260068d50f613b975300000000000122260068d50f61b81f00000000000000000000") - let binaryDecoder = BinaryDecoder(data: [UInt8](data) ) - + let binaryDecoder = BinaryDecoder(data: [UInt8](data) ) let packet = try? SMAMulticastPacket(fromBinary:binaryDecoder) - JLog.debug("Packet:\(packet)") + let packet2 = try? SMAMulticastPacket(data:data) + JLog.debug("Packet2:\(packet2)") XCTAssert(true) } From d6d88b85b967750bb485c54cebb2b88fea5f7c9e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 4 Mar 2022 07:28:33 +0100 Subject: [PATCH 08/81] Added username password for mqttServeer --- Sources/sma2mqtt/main.swift | 37 ++- smatester.perl | 478 +++++++++--------------------------- 2 files changed, 150 insertions(+), 365 deletions(-) diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index 30fb0b8..ec73c57 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -4,6 +4,8 @@ import Foundation import NIO import MQTTNIO import ArgumentParser +import BinaryCoder + import JLog import sma2mqttLibrary @@ -11,6 +13,16 @@ struct JNXServer { let hostname: String let port: UInt16 + let username: String? + let password: String? + + init(hostname:String,port:UInt16,username:String? = nil, password:String? = nil) + { + self.hostname = hostname + self.port = port + self.username = username + self.password = password + } } struct JNXMQTTServer @@ -40,6 +52,12 @@ struct sma2mqtt: ParsableCommand @Option(name: .long, help: "MQTT Server port") var mqttPort: UInt16 = 1883; + @Option(name: .long, help: "MQTT Server username") + var mqttUsername: String = "mqtt" + + @Option(name: .long, help: "MQTT Server password") + var mqttPassword: String = "" + @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") var interval: Double = 1.0 @@ -60,7 +78,7 @@ struct sma2mqtt: ParsableCommand mutating func run() throws { - let mqttServer = JNXMQTTServer(server: JNXServer(hostname: mqttServername, port: mqttPort), emitInterval: interval, topic: topic) + let mqttServer = JNXMQTTServer(server: JNXServer(hostname: mqttServername, port: mqttPort,username:mqttUsername,password:mqttPassword), emitInterval: interval, topic: topic) let mcastServer = JNXMCASTGroup(server: JNXServer(hostname: mcastAddress, port: mcastPort), bind: JNXServer(hostname: bindAddress, port: bindPort) ) if debug > 0 @@ -77,7 +95,22 @@ sma2mqtt.main() func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput:Bool) { let mqttEventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: 2) - let mqttClient = MQTTClient(configuration: .init(target: .host(mqttServer.server.hostname, port: Int(mqttServer.server.port)) ), eventLoopGroup: mqttEventLoopGroup ) + + let credentials:MQTTConfiguration.Credentials? + + if let username = mqttServer.server.username, + let password = mqttServer.server.password + { + credentials = MQTTConfiguration.Credentials(username:username, password:password) + } + else + { + credentials = nil + } + let mqttClient = MQTTClient(configuration: .init(target: .host(mqttServer.server.hostname, port: Int(mqttServer.server.port)), + credentials: credentials + ), + eventLoopGroup: mqttEventLoopGroup ) mqttClient.connect() // We allow users to specify the interface they want to use here. diff --git a/smatester.perl b/smatester.perl index 9eaeb3d..2cd5340 100644 --- a/smatester.perl +++ b/smatester.perl @@ -6,105 +6,27 @@ use strict; use utf8; -use FindBin; use lib "$FindBin::Bin/perl5/lib/perl5","$FindBin::Bin/JNX","$FindBin::Bin"; - use IO::Socket::INET; -use IO::Socket::Multicast; use POSIX; use Data::Dumper; use constant USER_TYPE_ADMIN => 0xBB; use constant USER_TYPE_USER => 0x88; -use constant MAXIMUM_PACKET_SIZE => scalar 9000; +use constant MAXIMUM_PACKET_SIZE => scalar 90000; use constant TIMOUT_RECEIVE => scalar 2; -my $historyfile = 0; if( @ARGV == 1 ) { - $historyfile = 1; dumpFile(@ARGV); exit; } die "Usage $0 or [outputfilename]\n" unless @ARGV >= 2; my ($hostname,$password,$filename) = @ARGV; +my $portnumber = 9522; my $usertype = USER_TYPE_USER; - - - my $broadcastpacket = "534d4100" . "0004" . "02a0" . "FFFF FFFF 0000 0020" . "0000 0000"; - $broadcastpacket =~ s/ //g; - my $broadcastdata = pack "H*",$broadcastpacket; - - - - -my $multicastgroup = '239.12.255.254'; -my $multicastreceive = '239.12.255.255'; -my $portnumber = 9522; - -#my $receivesocket = new IO::Socket::INET( -## LocalAddr => '10.112.16.115', -## LocalAddr => '0.0.0.0', -## LocalAddr => $multicastgroup, -# LocalAddr => $multicastreceive, -# LocalPort => 9522, -# Proto => 'udp', -# ReuseAddr => 1, -# Broadcast => 0, -# Timeout => 2 -# ) || die "Can't open socket due to:$!\n"; - - - my $receivesocket = IO::Socket::Multicast->new(Proto=>'udp', -# PeerHost => $multicastgroup, -# PeerPort => $portnumber, -# LocalAddr => '10.112.16.115', - LocalAddr => '0.0.0.0', -# LocalAddr => $multicastgroup, -# LocalAddr => $multicastreceive, - LocalPort => $portnumber, - Timeout => 2, - ReuseAddr => 1, -# Broadcast => 1, -) || die "error creating mcast socket: $!" ; - $receivesocket->mcast_if('vlan2') || die "no vlan access $!"; - $receivesocket->mcast_ttl(4); - -# -# if( ! fork() ) -# { -# my $size = $receivesocket->mcast_send($broadcastdata,"$multicastgroup:$portnumber"); -# my $size = $receivesocket->mcast_send($broadcastdata,"$multicastgroup:$portnumber"); -# my $size = $receivesocket->mcast_send($broadcastdata,"$multicastgroup:$portnumber"); -# my $size = $receivesocket->mcast_send($broadcastdata,"$multicastgroup:$portnumber"); -# my $size = $receivesocket->mcast_send($broadcastdata,"$multicastgroup:$portnumber"); -# my $size = $receivesocket->mcast_send($broadcastdata,"$multicastgroup:$portnumber"); -## my $size = $receivesocket->mcast_send($broadcastdata,"$multicastreceive:$portnumber"); -## my $size = $receivesocket->send($broadcastdata,0,"$multicastgroup:$portnumber"); -# print "sent $multicastgroup:$portnumber -> size:$size\n"; -# -# exit; -# } -# exit; - $receivesocket->mcast_add($multicastreceive) || die "Couldn't add group: $!\n"; - $receivesocket->mcast_add('239.12.1.87') || die "Couldn't add group: $!\n"; - $receivesocket->mcast_add($multicastgroup) || die "Couldn't add group: $!\n"; - $receivesocket->setsockopt(SOL_SOCKET, SO_RCVTIMEO, pack('l!l!', TIMOUT_RECEIVE, 0)) || die "error setting SO_RCVTIMEO: $!"; - - for my $counter (1..10) - { -# $receivesocket->mcast_add($multicastreceive) || die "Couldn't set group: $!\n"; - - # $receivesocket->setsockopt(SOL_SOCKET,SO_BROADCAST,1); - while( receiveCommand($receivesocket) ){} - } -exit; - - - -my $socket = new IO::Socket::INET( - PeerHost => $hostname, # 239.12.255.254 +my $socket = new IO::Socket::INET (PeerHost => $hostname, PeerPort => $portnumber, Proto => 'udp', Timeout => 2) || die "Can't open socket due to:$!\n"; @@ -114,69 +36,49 @@ my $sessionid = sprintf '1234 %04x 4321',0; # int(rand(0x10000)); my $inverterid = 'ffff ffff ffff'; - my @commands = ( +# "0000 0052 0048 4600 ffff 4600 ", # multivalues if first +# "0000 0051 0048 4600 ffff 4600 ", # normal values # "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 -# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: -# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 - - -# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: -# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT # "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 -# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 -# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ -# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS -# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY -# "0000 0052 0077 2300 ff77 2300 ", # InverterTemperature: # "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL -# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM - -# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 -# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: -# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 -# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: -# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 -# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 -# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ -# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: -# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS -# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY -# "0000 0052 0077 2300 ff77 2300 ", # InverterTemperature: + # "0000 0053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 # "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL -# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM -# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS -# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION +# "0000 0053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 + + + "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 + "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: + "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 + "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: + "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT + "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 + "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 + "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ + "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: + "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS + "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY + "0000 0052 0077 2300 ff77 2300 ", # InverterTemperature: + "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 + "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 + "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL + "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM + "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS + "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION # "0000 0264 008d 6100 ff8d 6100 ", # sbftest: logout #"0C04 fdff ffffffff ", # logout, shuts down socket for quite some time -); + ); + -for my $command (0x51 .. 0x60) -{ - for my $cmdtype (0x20 .. 0x80) - { - for my $range (0x00 .. 0xFF) - { - push(@commands,''.sprintf("0000 00%02x 00%02x %02x00 FF%02x %02x00 ",$command,$range,$cmdtype,$range,$cmdtype)); - } - } -} -print join("\n",@commands); -#exit; my $loggedin = 0; my $loop = 0; @@ -217,7 +119,7 @@ } } - jnxsleep(.3); + jnxsleep(.5); } jnxsleep(5) if $loop; @@ -233,17 +135,7 @@ sub sendReceiveCommand my $data; sendCommand($socket,$command,$sessionid,$inverterid); - - return receiveCommand($socket) -} - -sub receiveCommand -{ - my($socket) = @_; - - my $data; - - my $srcpaddr = $socket->recv($data, MAXIMUM_PACKET_SIZE); + $socket->recv($data, MAXIMUM_PACKET_SIZE); if( 0 == length($data) ) { @@ -251,16 +143,11 @@ sub receiveCommand return undef; } - if( $srcpaddr ) - { - my ($port, $ipaddr) = sockaddr_in($srcpaddr); - print "Read " . (gethostbyaddr($ipaddr, AF_INET) || "UNKNOWN") . ", + " . inet_ntoa($ipaddr) ."\n"; - } writeDataToFile($data); my $response = printSMAPacket('recv',$data); print "\n\n"; - return 1; + return $response; } @@ -339,115 +226,26 @@ sub printSMAPacket my($prefix,$data) = @_; my $smaheader = unpack('N',substr($data,0,4)); - if($smaheader != 0x534d4100) + my $proto = unpack('n',substr($data,16,2)); + my $length = unpack('C',substr($data,18,1)) * 4; + my $expectedlen = length($data) -18 - 4; + my $footer = unpack('N',substr($data,-4)); + + if( $smaheader != 0x534d4100 + || $proto != 0x6065 + || $footer != 0x0 + || $length != $expectedlen + ) { - printf "SMApacket: SMA prefix missing data:%s\n",prettyhexdata($data); + printf "%s: invalid SMA packet: %0x %0x %d=%d %0x %s\n",$prefix,$smaheader,$proto,$length,$expectedlen,$footer,prettyhexdata($data); return undef; } - printf "%s SMApacket: length:%d raw:%s\n",$prefix,length($data),prettyhexdata($data); - - my $smadata = substr($data,4); - - SMADATA: while( length($smadata) >= 4 ) - { - my $length = unpack('n',substr($smadata,0,2)); - my $tag = unpack('n',substr($smadata,2,2)); - - printf "SMApacket: Tag:0x%04x length:%d\n",$tag,$length; - - $smadata = substr($smadata,4); + printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); - if( $length > length($smadata) ) - { - printf "SMApacket: Invalid remaining size:%d\n",length($smadata); - next SMADATA; - } + my $smanetdata = substr($data,18,$length); - my $tagdata = substr($smadata,0,$length); - $smadata = substr($smadata,$length); - - - if( $tag == 0x2a0 ) # discovery request - { - my $expectedlength = $length; - - if( length($tagdata) < $expectedlength) - { - printf "SMApacket: discovery type too short: %d < expected:%d %s\n",length($tagdata),$expectedlength,prettyhexdata($tagdata); - next SMADATA; - } - - my $value = unpack('N',substr($tagdata,0,4)); - - my %knownvalues = ( 0xffffffff => 'DISCOVERY', 0x0000001 => 'NORMAL' ); - - printf "SMApacket: discovery type:0x%08x %s\n",$value, $knownvalues{$value} || 'UNKNOWN.'.$value; - - next SMADATA; - } - - if( $tag == 0x02C0 ) # group content - { - print "SMAPacket: group tag.\n"; - - if( length($tagdata) >=4 ) - { - printf "SMApacket: Group Number 0x%08\n",unpack('N',$tagdata); - } - else - { - printf "SMApacket: Invalid remaining size:%d\n",length($tagdata); - } - - next SMADATA; - } - - if( $tag == 0x0 ) # End of packets - { - print "SMAPacket: END tag.\n"; - - if( length($tagdata) != 0 ) - { - printf "SMAPacket: END tag reached but still have data left length:%d\n",length($smadata); - } - last SMADATA; - } - - if( $tag == 0x10 ) # SMAnet - { - print "SMAPacket: SMAnet tag.\n"; - - if( length($tagdata) < 2 ) - { - printf "SMAPacket: SMAnet packet. too small: %d data: %s\n",length($tagdata),prettyhexdata($tagdata); - next SMADATA; - } - - my $protocolid = unpack('n',substr($tagdata,0,2)); - printf "SMAPacket: SMAnet packet protocol 0x%04x length:%d\n",$protocolid,$length; - - if( $protocolid == 0x6065 ) - { - printSMANetPacket( substr($tagdata,2) ); - next SMADATA; - } - print "SMANetPacket: can't decode protocol - skipping packet\n"; - next SMADATA; - } - - # unknown tags - - printf "SMAPacket: tag:0x%04x length:%d %s\n",$tag,$length,$length>0 ? 'raw:'.prettyhexdata($tagdata) :''; - - - } - - if( length($smadata) > 0 ) - { - printf "SMApacket: unexpected %dd bytes data at end: %s...\n",length($smadata),prettyhexdata(substr($smadata,0,40)); - } - print "\n"; + printSMANetPacket($smanetdata); } sub printSMANetPacket @@ -460,11 +258,11 @@ sub printSMANetPacket my $smanet_length = unpack('C',substr($data,0,1)) * 4; if( length($data) < 2 - || $smanet_length < 20 || length($data) != $smanet_length + || $smanet_length < 32 ) { - printf "weird SMANet packet: %d != %d < 20 :%s\n",$smanet_length,length($data),prettyhexdata($data); + printf "Invalid SMANet packet: %d != %d < 32 :%s\n",$smanet_length,length($data),prettyhexdata($data); return undef; } } @@ -486,63 +284,35 @@ sub printSMANetPacket } } - my $footer = substr($data,36); - my $source = unpack('H*',substr($data,10,6)); - my $command = unpack('v',substr($data,26,2)); - my $option1 = unpack('V',substr($data,28,4)); - my $option2 = unpack('V',substr($data,32,4)); - - printf "opt1:0x%08x opt2:0x%08x ",$option1,$option2; - - my $shortnumberformat = 0; - - if( - $option1 == 0x04 # 0100 - || $option1 == 0x38 # 1000 - || $option1 == 0x3a # 1010 - || $option1 == 0x3b # 1010 - || $option1 == 0x39 # 1001 - ) { - print "SHORTNUMBER "; - $shortnumberformat = 1; - $footer = substr($data,32); - } + my $valuetype = unpack('V',substr($data,28,4)); + my $valuecount = unpack('V',substr($data,32,4)); - print 'raw:'.prettyhexdata(substr($data,28))."\n"; - - return undef if $command == 0x2800; + my $header = substr($data,0,36); + printf "type:0x%08x count:0x%08x raw:%s\n",$valuetype,$valuecount,prettyhexdata($header); + } + my $footer = substr($data,36); + my $source = unpack('H*',substr($data,10,6)); + my $command = unpack('v',substr($data,26,2)); FOOTERPARSING: while( length($footer) > 7 ) { - my $number = unpack('C',substr($footer,0,1)); - my $code = unpack('v',substr($footer,1,2)); - my $type = unpack('C',substr($footer,3,1)); - my $packettime = unpack('V',substr($footer,4,4)); - - my $packet_timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($packettime)); + my $number = unpack('C',substr($footer,0,1)); + my $code = unpack('v',substr($footer,1,2)); + my $type = unpack('C',substr($footer,3,1)); + my $time = unpack('V',substr($footer,4,4)); + my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); my $typelength = 40; - if( $packettime == 0 || abs($packettime - time()) < 1000) - { - # time ok - } - else + if( $time ne 0 && '2021' ne substr($timestring,0,4) ) { - if( $packettime < 10*365*86400 ) # everything that is below ten years might be a running time - { - $packet_timestring = sprintf("runtime: %0dd %02d:%02d:%02d",int($packettime/86400),int( ($packettime%86400)/3600),int(($packettime%3600)/60),int($packettime%60)); - } - elsif( ($packettime < 0x60000000) || ($packettime >(time() + 1000)) ) # everything before the program existed or in the future is weird - { - printf "Weird time %s raw: %s\n",$packet_timestring,prettyhexdata( substr($footer,0,60) ).'...'; - $footer = substr($footer,1); - next FOOTERPARSING; - } + printf "Weird time %s raw: %s\n",$timestring,prettyhexdata( substr($footer,0,60) ).'...'; + exit; + $footer = substr($footer,1); + next FOOTERPARSING; } -# $type = 0 if $shortnumberformat ; my $typeinformation = code2Typeinformation($code); my $name = $$typeinformation{name}; @@ -552,69 +322,52 @@ sub printSMANetPacket # print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; - printf "%s%s Code:0x%04x-0x%04x No:0x%02x Type:0x%02x %s %27s ",' ' x 7,$source,$command,$code,$number,$type,$packet_timestring,$name; + printf "%s%s Code:0x%04x-0x%04x No:0x%02x Type:0x%02x %s %27s ",' ' x 7,$source,$command,$code,$number,$type,$timestring,$name; ##### TYPE decoding - if( $type == 0x00 || $type == 0x40 || $shortnumberformat ) # integer + if( $type == 0x00 || $type == 0x40 ) # integer { -# my @values = map { unpack('V',substr($footer,8+(4*$_),4)) } (0..8); - my @values = unpack('V*',substr($footer,8,28)); - - if( $shortnumberformat ) + my @values = map { unpack('V',substr($footer,8+(4*$_),4)) } (0..8); + my $shortmarker = @values[1]; + my $longmarker = @values[4]; + + if( @values[0] == 0x0 # version number scheme + && @values[1] == 0x0 + && @values[2] == 0xFFFFFFFE + && @values[3] == 0xFFFFFFFE + && @values[4] == @values[5] + && @values[6] == 0x0 + && @values[7] == 0x0 + ) + { + $typelength = 40; + @values = unpack('C*',pack('N',@values[4])); + } + elsif( $longmarker == 1 + || ($longmarker == 0 && @values[2] == 0 && @values[3] == 0) + ) { - splice(@values,2); + $typelength = 28; + splice(@values,4); + splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same + } + elsif( $shortmarker == 0 +# && @values[0] == @values[1] +# && @values[0] == @values[2] +# && @values[0] == @values[3] + ) + { + splice(@values,1); $typelength = 16; } else { - my $shortmarker = @values[1] == 0 - || (@values[0] == 0xffffffff && @values[1] == 0xffffffff) - || (@values[0] == 0xffffffff && @values[1] == 0xffffff07) - ? 1 : 0; - my $longmarker = ( (@values[0] == 0 && @values[1] == 0 && @values[2] == 0 && @values[3] == 0) - || ( ((@values[2] & 0xffff0000) == 0xffff0000) && ((@values[3] & 0xffff0000) == 0xffff0000) ) - # || (@values[0] == 0xffffffff && @values[1] == 0xffffffff && @values[2] == 0xffffffff && @values[3] == 0xffffffff) - || !$shortmarker -# || (@values[0] != 0 && @values[1] != 0 && @values[2] != 0 && @values[3] != 0) - ) - && (@values[4] == 1 || @values[4] == 0) - ? 1 : 0; -# # 56012b7fbc76 Code:0x6400-0x543a No:0x01 Type:0x00 2021-08-20T16:39:59 - printf "S:%d L:%d 0x%08x 0x%08x",$shortmarker,$longmarker,@values[2] & 0xffff0000,@values[3] & 0xffff0000; - - if( @values[0] == 0x0 # version number scheme - && @values[1] == 0x0 - && ( (@values[2] == 0xFFFFFED8 && @values[3] == 0xFFFFFED8 ) - || (@values[2] == 0xFFFFFFFE && @values[3] == 0xFFFFFFFE ) - ) - && @values[4] == @values[5] - && @values[6] == 0x0 - && @values[7] == 0x0 - ) - { - $typelength = 40; - @values = unpack('C*',pack('N',@values[4])); - } - elsif( $longmarker ) - { - $typelength = 28; - splice(@values,4); - splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same - } - elsif( $shortmarker ) - { - splice(@values,1); - $typelength = 16; - } - else - { - print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; - print "Weird NUmber"; - $footer = substr($footer,1); - next FOOTERPARSING; - } + print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; + print "Weird"; + exit; } + my @results; for my $value (@values) @@ -654,7 +407,7 @@ sub printSMANetPacket $position += 4; } - printf "%30s ",'v:'.join('.',@values); + printf "%30s ",join('.',@values); } else { @@ -722,11 +475,11 @@ sub code2Typeinformation 0x295A => { name => 'battery.system.soc', unit => '%' }, 0x495B => { name => 'battery.system.temperature', unit => 'ºC' }, 0x495C => { name => 'battery.system.voltage', unit => 'V', factor => 0.01 }, - 0x2622 => { name => 'counter.day.yield', unit => 'kWh', factor => ( 1.0 / 1000 ) }, + 0x2622 => { name => 'counter.day.yield', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, 0x462F => { name => 'counter.feedintime',unit => 's'}, 0x462E => { name => 'counter.operatingtime',unit => 's'}, - 0x263F => { name => 'grid.power.feedin', unit => 'W'}, - 0x2601 => { name => 'counter.total.yield', unit => 'kWh', factor => ( 1.0 / 1000 ) }, + 0x263F => { name => 'counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x2601 => { name => 'counter.total.yield', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, 0x4521 => { name => 'dc.amperage', unit => 'A', factor => 0.001 }, 0x251E => { name => 'dc.power', unit => 'W'}, 0x451F => { name => 'dc.voltage', unit => 'V', factor => 0.01 }, @@ -734,7 +487,6 @@ sub code2Typeinformation 0x464B => { name => 'grid.powerfactor.phaseA', unit => '%'}, 0x464C => { name => 'grid.powerfactor.phaseB', unit => '%'}, 0x464D => { name => 'grid.powerfactor.phaseC', unit => '%'}, - 0x464E => { name => 'grid.displacementfactor', unit => '%'}, 0x4653 => { name => 'grid.current.phaseA', unit => 'A', factor => 0.001 }, 0x4654 => { name => 'grid.current.phaseB', unit => 'A', factor => 0.001 }, 0x4655 => { name => 'grid.current.phaseC', unit => 'A', factor => 0.001 }, @@ -760,19 +512,19 @@ sub code2Typeinformation 0x491E => { name => 'type.unknown.maybe.battery.counter.charges'}, 0x4926 => { name => 'type.unknown.maybe.battery.total.charge', unit => 'Ah'}, 0x4927 => { name => 'type.unknown.maybe.battery.total.discharge', unit => 'Ah'}, - 0x4627 => { name => 'type.unknown.maybe.counter.day.feedin', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x4628 => { name => 'type.unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x46AA => { name => 'type.unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x4626 => { name => 'type.unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x4624 => { name => 'type.unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x4623 => { name => 'type.unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x4625 => { name => 'type.unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 1000 ) }, + 0x4627 => { name => 'type.unknown.maybe.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4628 => { name => 'type.unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x46AA => { name => 'type.unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4626 => { name => 'type.unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4624 => { name => 'type.unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4623 => { name => 'type.unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4625 => { name => 'type.unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, 0x4650 => { name => 'type.unknown.maybe.grid.current.phaseA', unit => 'A', factor => 0.001 }, 0x4651 => { name => 'type.unknown.maybe.grid.current.phaseB', unit => 'A', factor => 0.001 }, 0x4652 => { name => 'type.unknown.maybe.grid.current.phaseC', unit => 'A', factor => 0.001 }, 0x4631 => { name => 'type.unknown.maybe.grid.failure'}, - 0x463A => { name => 'type.unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 1000 ) }, - 0x463B => { name => 'type.unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 1000 ) }, + 0x463A => { name => 'type.unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x463B => { name => 'type.unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, 0x4639 => { name => 'type.unknown.maybe.grid.total.consumption', unit => 'W'}, 0x4635 => { name => 'type.unknown.maybe.grid.total.generation', unit => 'W'}, 0x46AB => { name => 'type.unknown.maybe.power.ownconsumption'}, From 17a3cde3e47985d7d27e729927b69fd3cb9256ea Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 4 Mar 2022 08:05:29 +0100 Subject: [PATCH 09/81] added failure on connecting and reconnecting mqtt server --- Sources/sma2mqtt/main.swift | 42 ++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index ec73c57..38b23b1 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -111,7 +111,21 @@ func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput credentials: credentials ), eventLoopGroup: mqttEventLoopGroup ) - mqttClient.connect() + let mqttClientConnectionFuture = mqttClient.connect() + + do + { + try mqttClientConnectionFuture.wait() + } + catch let error + { + fatalError("Could not connect to mqtt server:\(error)") + } + + guard mqttClient.isConnected else + { + fatalError("Could not connect to mqtt server") + } // We allow users to specify the interface they want to use here. var targetDevice: NIONetworkDevice? = nil @@ -221,6 +235,32 @@ final class SMAMessageReceiver: ChannelInboundHandler { if obisvalue.mqtt != .invisible { + if !mqttClient.isConnected + { + JLog.error("No longer connected to mqtt server - reconnecting") + + + RunLoop.current.schedule + { + let reconnectionFuture = self.mqttClient.reconnect() + do + { + try reconnectionFuture.wait() + } + catch let error + { + fatalError("Could not connect to mqtt server:\(error)") + } + + guard self.mqttClient.isConnected else + { + fatalError("Could not connect to mqtt server") + } + } + } + + + let topic = "\(mqttServer.topic)/\(obisvalue.topic)" mqttClient.publish( topic: topic, payload: obisvalue.json, From 325b44986169744290fc11a149d86a76ead01ea2 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 4 Mar 2022 09:24:25 +0100 Subject: [PATCH 10/81] Updated nio and nio-mqtt --- Package.swift | 4 ++-- Sources/sma2mqtt/main.swift | 4 ++-- build.sh | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Package.swift b/Package.swift index 11b1c99..a1a2b58 100644 --- a/Package.swift +++ b/Package.swift @@ -17,8 +17,8 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/apple/swift-argument-parser", from: "0.3.2"), - .package(url: "https://github.com/apple/swift-nio", from: "2.32.0"), - .package(url: "https://github.com/jollyjinx/mqtt-nio", from: "1.0.1"), + .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), + .package(url: "https://github.com/sroebert/mqtt-nio.git", from: "2.0.0"), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.2.3"), // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("f2e6dad") ), .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4"), diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index 38b23b1..646608c 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -262,9 +262,9 @@ final class SMAMessageReceiver: ChannelInboundHandler let topic = "\(mqttServer.topic)/\(obisvalue.topic)" - mqttClient.publish( topic: topic, + mqttClient.publish( MQTTMessage(topic: topic, payload: obisvalue.json, - retain: obisvalue.mqtt == .retained + retain: obisvalue.mqtt == .retained) ) } if jsonOutput diff --git a/build.sh b/build.sh index cb84c56..e0dcd7b 100755 --- a/build.sh +++ b/build.sh @@ -16,8 +16,8 @@ programname=sma2mqtt releasepath=release if [[ ! -d "$packagedir" ]]; then - echo "$packagedir does not exist." - exit 1 + echo "$packagedir does not exist." + exit 1 fi cd "$packagedir" @@ -29,8 +29,8 @@ cat >"buildandstart.sh" < Date: Fri, 4 Mar 2022 11:59:18 +0000 Subject: [PATCH 11/81] removed RunLoop schedule as its not working on linux ? --- Sources/sma2mqtt/main.swift | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index 646608c..8cc825b 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -240,23 +240,12 @@ final class SMAMessageReceiver: ChannelInboundHandler JLog.error("No longer connected to mqtt server - reconnecting") - RunLoop.current.schedule - { let reconnectionFuture = self.mqttClient.reconnect() - do - { - try reconnectionFuture.wait() - } - catch let error - { - fatalError("Could not connect to mqtt server:\(error)") - } guard self.mqttClient.isConnected else { fatalError("Could not connect to mqtt server") } - } } From aef072533db2fcb94a7ee4704cf633b941771ef0 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 4 Mar 2022 14:54:00 +0100 Subject: [PATCH 12/81] enable sorted key json output formatting. --- Sources/sma2mqttLibrary/ObisValue.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/sma2mqttLibrary/ObisValue.swift b/Sources/sma2mqttLibrary/ObisValue.swift index 046caf6..c84bec3 100644 --- a/Sources/sma2mqttLibrary/ObisValue.swift +++ b/Sources/sma2mqttLibrary/ObisValue.swift @@ -32,6 +32,7 @@ extension ObisValue:Encodable public var json:String { let jsonEncoder = JSONEncoder() + jsonEncoder.outputFormatting = .sortedKeys let jsonData = try! jsonEncoder.encode(self) return String(data: jsonData, encoding: .utf8)! } From 28adbc7999f700c1881d94fcf738745ce9c6c54d Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Mon, 30 May 2022 12:34:30 +0200 Subject: [PATCH 13/81] changed commands --- smatester.perl | 360 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 264 insertions(+), 96 deletions(-) diff --git a/smatester.perl b/smatester.perl index 2cd5340..1081d1e 100644 --- a/smatester.perl +++ b/smatester.perl @@ -5,15 +5,17 @@ # use strict; +use FindBin; use lib "$FindBin::Bin/perl5/lib/perl5","$FindBin::Bin","$FindBin::Bin/JNX"; use utf8; use IO::Socket::INET; use POSIX; use Data::Dumper; +use Net::MQTT::Simple; use constant USER_TYPE_ADMIN => 0xBB; use constant USER_TYPE_USER => 0x88; use constant MAXIMUM_PACKET_SIZE => scalar 90000; -use constant TIMOUT_RECEIVE => scalar 2; +use constant TIMEOUT_RECEIVE => scalar 2; if( @ARGV == 1 ) { @@ -26,66 +28,178 @@ my $portnumber = 9522; my $usertype = USER_TYPE_USER; +print "hostname:$hostname\n"; +my $mqttsender = lc((split(/\./,$hostname))[0]); + +my $mqtt = Net::MQTT::Simple->new("10.112.10.3") || die "Can't create mqtt client"; +my $mqttprefix = "test"; + + + my $socket = new IO::Socket::INET (PeerHost => $hostname, PeerPort => $portnumber, Proto => 'udp', Timeout => 2) || die "Can't open socket due to:$!\n"; - $socket->setsockopt(SOL_SOCKET, SO_RCVTIMEO, pack('l!l!', TIMOUT_RECEIVE, 0)) || die "error setting SO_RCVTIMEO: $!"; + $socket->setsockopt(SOL_SOCKET, SO_RCVTIMEO, pack('l!l!', TIMEOUT_RECEIVE, 0)) || die "error setting SO_RCVTIMEO: $!"; -my $sessionid = sprintf '1234 %04x 4321',0; # int(rand(0x10000)); +my $sessionid = sprintf '1234 %04x 4321',int(rand(0x10000)); my $inverterid = 'ffff ffff ffff'; -my @commands = ( - # "0000 0052 0048 4600 ffff 4600 ", # multivalues if first # "0000 0051 0048 4600 ffff 4600 ", # normal values +my @commandarguments = ( + +[0x00, 0x00, 0x00, 0x51, 0x00410000, 0x0041ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00420000, 0x0042ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00430000, 0x0043ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00440000, 0x0044ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00450000, 0x0045ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00460000, 0x0046ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00470000, 0x0047ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00480000, 0x0048ffff ], +); + +my @commandarguments2 = ( + +[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +[0x00, 0x00, 0x00, 0x51, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: +[0x00, 0x00, 0x00, 0x51, 0x00411e00, 0x004120ff ],# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 +[0x00, 0x00, 0x00, 0x51, 0x00463600, 0x004637ff ],# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: +[0x00, 0x00, 0x00, 0x51, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 +[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x004655ff ],# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 +#[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff ], +[0x00, 0x00, 0x00, 0x51, 0x00465700, 0x004657ff ],# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ +[0x00, 0x00, 0x00, 0x51, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: +[0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: +[0x00, 0x00, 0x00, 0x51, 0x00832a00, 0x00832aff ],# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 +[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x00237702 ], +[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature +[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff ], +[0x00, 0x00, 0x00, 0x53, 0x00251e00, 0x00251eff ], +[0x00, 0x00, 0x00, 0x53, 0x00251e02, 0x00251eff ], +[0x00, 0x00, 0x00, 0x54, 0x00260100, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield +[0x00, 0x00, 0x00, 0x54, 0x00462e00, 0x00462fff ],# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM +[0x00, 0x00, 0x00, 0x58, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS +[0x00, 0x00, 0x00, 0x58, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION +[0x00, 0x00, 0x80, 0x51, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS +[0x00, 0x00, 0x80, 0x51, 0x00416400, 0x004164ff ],# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY +[0x00, 0x00, 0x80, 0x53, 0x00251e00, 0x00251eff ],# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 +[0x00, 0x00, 0x80, 0x53, 0x00251e01, 0x00251e01 ], +[0x00, 0x00, 0x80, 0x53, 0x00251e02, 0x00251e02 ], +[0x00, 0x00, 0x80, 0x53, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x02, 0x64, 0x00618d00, 0x00618dff ], +); -# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 -# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 -# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 - - - # "0000 0053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -# "0000 0053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 - - +my @commands = ( "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 + "0000 0051 0040 4600 FF42 4600 ", # grid power phases "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 + "0000 0051 0048 4600 ffff 4600 ", # normal values + "0000 0051 0057 4600 FF57 4600 ", "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ + "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: - "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS - "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY + "0000 0052 0048 4600 ffff 4600 ", # multivalues if first + "0000 0052 0077 2300 1077 2300 ", # InverterTemperature: "0000 0052 0077 2300 ff77 2300 ", # InverterTemperature: - "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 - "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 + "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature + "0000 0053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 + "0000 0053 021E 2500 FF1E 2500 ", # current power 0 "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION + "0000 0264 008d 6100 ff8d 6100 ", # sbftest: logout + "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS + "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY + "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 + "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 + "0000 8053 011E 2500 011E 2500 ", # current power 1 + "0000 8053 021E 2500 021E 2500 ", # current power 0 -# "0000 0264 008d 6100 ff8d 6100 ", # sbftest: logout +# "0C04 fdff ffffffff ", # logout, shuts down socket for quite some time + ); +# +#for my $command (0x51 .. 0x60) +#{ +# for my $cmdtype (0x20 .. 0x80) +# { +# for my $range (0x00 .. 0xFF) +# { +# push(@commands,''.sprintf("0000 00%02x 00%02x %02x00 FF%02x %02x00 ",$command,$range,$cmdtype,$range,$cmdtype)); +# } +# } +#} +#print join("\n",@commands); +# - #"0C04 fdff ffffffff ", # logout, shuts down socket for quite some time - ); +if(1) +{ + my @work = @commands; + + while( scalar @work ) + { + my $command = lc shift @work; + my @bla = string2command($command); + my $retcommand = command2string(@bla); + $command =~ s/\s//g; + if( $retcommand ne $command ) + { + print "Differ:\n\t$command\n\t$retcommand\n"; + exit; + } -my $loggedin = 0; -my $loop = 0; + print "\n"; + + } + exit; +} + +sub string2command +{ + my($string) = @_; + $string =~ s/\s//g; + my $commandpacket = pack('H*',$string); + my @command = unpack('CCCCVV',$commandpacket); + + #printf "string2command $string -> %02x %02x %02x %02x %08x %08x\n",@command; + + printf "[0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%08x, 0x%08x ],\n",@command; + return @command; +} + +sub command2string +{ + my @command = @_; + + my $commandpacket = pack('CCCCVV',@command); + my $string = unpack('H*',$commandpacket); + +# printf "command2string %02x %02x %02x %02x %08x %08x -> $string\n",@command; + + return $string; +} + + +my $loggedin = 0; +my $loop = 1; +my $commandwaittime = 0.1; +my $looptime = 5; do { - my @work = @commands; + my @work = @commandarguments; while( scalar @work ) { @@ -108,7 +222,8 @@ } else { - my $command = shift @work; + my $arguments = shift @work; + my $command = command2string(@{$arguments}); $response = sendReceiveCommand($socket,$command,$sessionid,$inverterid); @@ -119,10 +234,10 @@ } } - jnxsleep(.5); + jnxsleep($commandwaittime); } - jnxsleep(5) if $loop; + jnxsleep($looptime) if $loop; } while( $loop ); @@ -228,19 +343,34 @@ sub printSMAPacket my $smaheader = unpack('N',substr($data,0,4)); my $proto = unpack('n',substr($data,16,2)); my $length = unpack('C',substr($data,18,1)) * 4; - my $expectedlen = length($data) -18 - 4; - my $footer = unpack('N',substr($data,-4)); + + $data = substr($data,0,18 + 4 + $length); + if( $smaheader != 0x534d4100 - || $proto != 0x6065 - || $footer != 0x0 - || $length != $expectedlen ) { - printf "%s: invalid SMA packet: %0x %0x %d=%d %0x %s\n",$prefix,$smaheader,$proto,$length,$expectedlen,$footer,prettyhexdata($data); + printf "%s: invalid packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); return undef; } + + if( $proto != 0x6065 + ) + { + printf "%s SMA packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); + return undef; + } + + my $footer = unpack('N',substr($data,-4)); + + if( $footer != 0x0 ) + { + print "Invalid footer\n"; + return undef; + } + + printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); my $smanetdata = substr($data,18,$length); @@ -297,8 +427,10 @@ sub printSMANetPacket my $source = unpack('H*',substr($data,10,6)); my $command = unpack('v',substr($data,26,2)); + my $resultnumber = 0; FOOTERPARSING: while( length($footer) > 7 ) { + print "\n"; my $number = unpack('C',substr($footer,0,1)); my $code = unpack('v',substr($footer,1,2)); my $type = unpack('C',substr($footer,3,1)); @@ -306,20 +438,26 @@ sub printSMANetPacket my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); my $typelength = 40; - if( $time ne 0 && '2021' ne substr($timestring,0,4) ) + my $year = substr($timestring,0,4); + if( $time ne 0 && $year !~ m/^(?:1970|2021|2022)$/o ) { printf "Weird time %s raw: %s\n",$timestring,prettyhexdata( substr($footer,0,60) ).'...'; - exit; - $footer = substr($footer,1); - next FOOTERPARSING; +# $footer = substr($footer,1); +# next FOOTERPARSING; } my $typeinformation = code2Typeinformation($code); my $name = $$typeinformation{name}; + my $unit = $$typeinformation{unit}; + my $factor = $$typeinformation{factor}|| 1; + my $path = $name.'.'.$resultnumber; + $resultnumber++; + $name .= '.'.$number if $number > 0 && $number <7; $name .= ' ('.$$typeinformation{unit}.')' if $$typeinformation{unit}; + # print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; printf "%s%s Code:0x%04x-0x%04x No:0x%02x Type:0x%02x %s %27s ",' ' x 7,$source,$command,$code,$number,$type,$timestring,$name; @@ -365,7 +503,7 @@ sub printSMANetPacket { print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; print "Weird"; - exit; + $footer = substr($footer,1); } my @results; @@ -383,6 +521,9 @@ sub printSMANetPacket } } printf "%30s ",join(':',@results); + + sendMQTT($path,$unit,$factor,@results); + } elsif( $type == 0x10 ) # string { @@ -425,6 +566,32 @@ sub printSMANetPacket return undef; } +sub sendMQTT +{ + my($path,$unit,$factor,@values) = @_; + + return if !$mqttsender; + my $topic = join('/', ($mqttprefix,$mqttsender,split(/\./,$path)) ); + + $topic =~ s/\/(\d+)$/_$1/; + + my @outvalues = map { $_ eq 'NaN' ? 'null' : $_ * $factor } @values; + + + print "\nMqtt: device:$mqttsender path:$path topic:$topic unit:$unit value:@values @outvalues\n"; + + + if( @outvalues > 1 ) + { + $mqtt->publish($topic => '{"unit":"'.$unit.'","value":"'.join(':',@outvalues).'"}' ); + } + else + { + $mqtt->publish($topic => '{"unit":"'.$unit.'","value":'.@outvalues[0].'}' ); + } + +} + sub encodePassword { @@ -468,68 +635,69 @@ sub code2Typeinformation my $typeInformation = { + 0x2148 => { name => 'immediate.system.status'}, + 0x2377 => { name => 'immediate.system.externaltemperature'}, + 0x251E => { name => 'immediate.dc.power', unit => 'W'}, + 0x2601 => { name => 'counter.totaldischarge', unit => 'kWh', factor => 0.001 }, + 0x2622 => { name => 'counter.dailyyield', unit => 'kWh', factor => 0.001 }, + 0x263F => { name => 'immediate.gridusage', unit => 'W' }, + 0x295A => { name => 'immediate.soc', unit => '%' }, + 0x411E => { name => 'system.nominalpowerstatus'}, + 0x411F => { name => 'immediate.system.warning'}, + 0x4120 => { name => 'immediate.system.powerfault'}, + 0x4164 => { name => 'immediate.ac.contactstatus'}, + 0x4166 => { name => 'immediate.ac.feedinwaittime', unit => 's'}, + 0x451F => { name => 'immediate.dc.voltage', unit => 'V', factor => 0.01 }, + 0x4521 => { name => 'immediate.dc.amperage', unit => 'A', factor => 0.001 }, + 0x4623 => { name => 'unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4624 => { name => 'unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4625 => { name => 'unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4626 => { name => 'unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4627 => { name => 'unknown.maybe.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4628 => { name => 'unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x462E => { name => 'immediate.operatingtime',unit => 's'}, + 0x462F => { name => 'counter.feedintime',unit => 's'}, + 0x4631 => { name => 'type.unknown.maybe.grid.failure'}, + 0x4635 => { name => 'type.unknown.maybe.grid.total.generation', unit => 'W'}, + 0x4636 => { name => 'counter.total.feedin', unit => 'W'}, + 0x4637 => { name => 'counter.total.usage', unit => 'W'}, + 0x4639 => { name => 'unknown.maybe.grid.total.consumption', unit => 'W'}, + 0x463A => { name => 'unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x463B => { name => 'unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4640 => { name => 'immediate.ac.power.phaseA', unit => 'W'}, + 0x4641 => { name => 'immediate.ac.power.phaseB', unit => 'W'}, + 0x4642 => { name => 'immediate.ac.power.phaseC', unit => 'W'}, + 0x4648 => { name => 'immediate.ac.voltage.phaseA', unit => 'V', factor => 0.01 }, + 0x4649 => { name => 'immediate.ac.voltage.phaseB', unit => 'V', factor => 0.01 }, + 0x464A => { name => 'immediate.ac.voltage.phaseC', unit => 'V', factor => 0.01 }, + 0x464B => { name => 'immediate.ac.powerfactor.phaseA', unit => '%'}, + 0x464C => { name => 'immediate.ac.powerfactor.phaseB', unit => '%'}, + 0x464D => { name => 'immediate.ac.powerfactor.phaseC', unit => '%'}, + 0x464E => { name => 'unknown.maybe.something', unit => '?'}, + 0x4650 => { name => 'unknown.maybe.grid.current.phaseA', unit => 'A', factor => 0.001 }, + 0x4651 => { name => 'unknown.maybe.grid.current.phaseB', unit => 'A', factor => 0.001 }, + 0x4652 => { name => 'unknown.maybe.grid.current.phaseC', unit => 'A', factor => 0.001 }, + 0x4653 => { name => 'immediate.ac.current.phaseA', unit => 'A', factor => 0.001 }, + 0x4654 => { name => 'immediate.ac.current.phaseB', unit => 'A', factor => 0.001 }, + 0x4655 => { name => 'immediate.ac.current.phaseC', unit => 'A', factor => 0.001 }, + 0x4657 => { name => 'immediate.ac.frequency', unit => 'Hz', factor => 0.01 }, + 0x46AA => { name => 'type.unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x46AB => { name => 'type.unknown.maybe.power.ownconsumption'}, + 0x491E => { name => 'type.unknown.maybe.battery.counter.charges'}, 0x4922 => { name => 'battery.cells.maxtemperature', unit => 'ºC', factor => 0.1 }, 0x4923 => { name => 'battery.cells.mintemperature', unit => 'ºC', factor => 0.1 }, - 0x4933 => { name => 'battery.cells.setcharging.voltage', unit => 'V', factor => 0.01 }, - 0x495D => { name => 'battery.system.current', unit => 'A', factor => 0.001 }, - 0x295A => { name => 'battery.system.soc', unit => '%' }, - 0x495B => { name => 'battery.system.temperature', unit => 'ºC' }, - 0x495C => { name => 'battery.system.voltage', unit => 'V', factor => 0.01 }, - 0x2622 => { name => 'counter.day.yield', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x462F => { name => 'counter.feedintime',unit => 's'}, - 0x462E => { name => 'counter.operatingtime',unit => 's'}, - 0x263F => { name => 'counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x2601 => { name => 'counter.total.yield', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4521 => { name => 'dc.amperage', unit => 'A', factor => 0.001 }, - 0x251E => { name => 'dc.power', unit => 'W'}, - 0x451F => { name => 'dc.voltage', unit => 'V', factor => 0.01 }, - 0x4164 => { name => 'grid.contactstatus'}, - 0x464B => { name => 'grid.powerfactor.phaseA', unit => '%'}, - 0x464C => { name => 'grid.powerfactor.phaseB', unit => '%'}, - 0x464D => { name => 'grid.powerfactor.phaseC', unit => '%'}, - 0x4653 => { name => 'grid.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4654 => { name => 'grid.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4655 => { name => 'grid.current.phaseC', unit => 'A', factor => 0.001 }, - 0x4166 => { name => 'grid.feedinwaittime', unit => 's'}, - 0x4657 => { name => 'grid.frequency', unit => 'Hz', factor => 0.001 }, - 0x4640 => { name => 'grid.power.phaseA', unit => 'W'}, - 0x4641 => { name => 'grid.power.phaseB', unit => 'W'}, - 0x4642 => { name => 'grid.power.phaseC', unit => 'W'}, - 0x4636 => { name => 'grid.total.feedin', unit => 'W'}, - 0x4637 => { name => 'grid.total.usage', unit => 'W'}, - 0x4648 => { name => 'grid.voltage.phaseA', unit => 'V', factor => 0.01 }, - 0x4649 => { name => 'grid.voltage.phaseB', unit => 'V', factor => 0.01 }, - 0x464A => { name => 'grid.voltage.phaseC', unit => 'V', factor => 0.01 }, - 0x821F => { name => 'system.mainmodel'}, - 0x821E => { name => 'system.name'}, - 0x411E => { name => 'system.nominalpowerstatus'}, - 0x4120 => { name => 'system.powerfault'}, - 0x8234 => { name => 'system.softwareversion'}, - 0x2148 => { name => 'system.status'}, - 0x8220 => { name => 'system.type'}, - 0x411F => { name => 'system.warning'}, 0x4924 => { name => 'type.unknown.maybe.battery.cells'}, - 0x491E => { name => 'type.unknown.maybe.battery.counter.charges'}, 0x4926 => { name => 'type.unknown.maybe.battery.total.charge', unit => 'Ah'}, 0x4927 => { name => 'type.unknown.maybe.battery.total.discharge', unit => 'Ah'}, - 0x4627 => { name => 'type.unknown.maybe.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4628 => { name => 'type.unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x46AA => { name => 'type.unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4626 => { name => 'type.unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4624 => { name => 'type.unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4623 => { name => 'type.unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4625 => { name => 'type.unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4650 => { name => 'type.unknown.maybe.grid.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4651 => { name => 'type.unknown.maybe.grid.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4652 => { name => 'type.unknown.maybe.grid.current.phaseC', unit => 'A', factor => 0.001 }, - 0x4631 => { name => 'type.unknown.maybe.grid.failure'}, - 0x463A => { name => 'type.unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x463B => { name => 'type.unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4639 => { name => 'type.unknown.maybe.grid.total.consumption', unit => 'W'}, - 0x4635 => { name => 'type.unknown.maybe.grid.total.generation', unit => 'W'}, - 0x46AB => { name => 'type.unknown.maybe.power.ownconsumption'}, - 0x832A => { name => 'type.unknown.maybe.system.maximumpoweroutput'}, - 0x2377 => { name => 'type.unknown.maybe.system.temperature'}, + 0x4933 => { name => 'battery.cells.setcharging.voltage', unit => 'V', factor => 0.01 }, + 0x495B => { name => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 }, + 0x495C => { name => 'battery.system.voltage', unit => 'V', factor => 0.01 }, + 0x495D => { name => 'battery.system.current', unit => 'A', factor => 0.001 }, + 0x821E => { name => 'settings.system.name'}, + 0x821F => { name => 'static.mainmodel'}, + 0x8220 => { name => 'static.systemtype'}, + 0x8234 => { name => 'static.softwareversion'}, + 0x832A => { name => 'unknown.maybe.system.maximumpoweroutput'}, }; my $code = $$typeInformation{$number} || { name => 'type.unkown.'.sprintf("0x%04x",$number) }; From 6e219d3e3bc7af2689d5296bddf3ef68f5bc3137 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 1 Jun 2022 12:18:36 +0200 Subject: [PATCH 14/81] Simplfied hasFactor --- Sources/sma2mqttLibrary/ObisValue.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/sma2mqttLibrary/ObisValue.swift b/Sources/sma2mqttLibrary/ObisValue.swift index c84bec3..7402f4b 100644 --- a/Sources/sma2mqttLibrary/ObisValue.swift +++ b/Sources/sma2mqttLibrary/ObisValue.swift @@ -61,7 +61,7 @@ extension ObisValue:Encodable } let factor = obisDefinition.factor - let hasFactor = obisDefinition.factor != nil && obisDefinition.factor! != 0 + let hasFactor = obisDefinition.factor != nil && obisDefinition.factor! != 0 && obisDefinition.factor! != 1 switch value { From dc4b12539aa8fe79c1b9a0c002e6cf2cce413fb1 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Thu, 2 Jun 2022 06:10:08 +0200 Subject: [PATCH 15/81] start scanning 0x6065 SMANet packtes now. --- Sources/sma2mqtt/main.swift | 2 +- .../{SMA.swift => SMAPacket.swift} | 87 ++-- Tests/sma2mqttTests/sma2mqttTests.swift | 61 ++- smatester.perl | 404 +++++++++++++----- 4 files changed, 388 insertions(+), 166 deletions(-) rename Sources/sma2mqttLibrary/{SMA.swift => SMAPacket.swift} (51%) diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/main.swift index 8cc825b..235dfda 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/main.swift @@ -227,7 +227,7 @@ final class SMAMessageReceiver: ChannelInboundHandler JLog.debug("\(timenow) Data: \(byteArray.count) from: \(envelope.remoteAddress) ") - if let sma = try? SMAMulticastPacket(byteArray:byteArray) + if let sma = try? SMAPacket(byteArray:byteArray) { JLog.debug("Decoded: \(sma)") diff --git a/Sources/sma2mqttLibrary/SMA.swift b/Sources/sma2mqttLibrary/SMAPacket.swift similarity index 51% rename from Sources/sma2mqttLibrary/SMA.swift rename to Sources/sma2mqttLibrary/SMAPacket.swift index fb92661..facb06e 100644 --- a/Sources/sma2mqttLibrary/SMA.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -4,48 +4,67 @@ import JLog -public struct SMAMulticastPacket: BinaryDecodable +public struct SMAPacket: BinaryDecodable { - public let obis:[ObisValue] var group:UInt32? var systemid:UInt16? var serialnumber:UInt32? var currenttimems:UInt32? + var obisPackets = [ObisPacket]() + var smaNetPackets = [SMANetPacket]() + + public var obis:[ObisValue] { obisPackets.first!.obisvalues } + + enum Error: Swift.Error { + /// The decoder hit the end of the data while the values it was decoding expected + /// more. + case prematureEndOfData + + /// Attempted to decode a type which is `Decodable`, but not `BinaryDecodable`. (We + /// require `BinaryDecodable` because `BinaryDecoder` doesn't support full keyed + /// coding functionality.) + case typeNotConformingToSMAPacket(Decodable.Type) + } + public init(data:Data) throws { let byteArray = [UInt8](data) let binaryDecoder = BinaryDecoder(data: byteArray) - self = try binaryDecoder.decode(SMAMulticastPacket.self) + self = try binaryDecoder.decode(SMAPacket.self) } public init(byteArray:[UInt8]) throws { let binaryDecoder = BinaryDecoder(data: byteArray) - self = try binaryDecoder.decode(SMAMulticastPacket.self) + self = try binaryDecoder.decode(SMAPacket.self) } public init(fromBinary decoder: BinaryDecoder) throws { - JLog.debug("Decoding SMAMulticastPacket") + JLog.debug("") let smaprefix = try decoder.decode(UInt32.self).bigEndian if smaprefix != 0x534d4100 // == 'SMA\0' { JLog.error("packet does not start with SMA header (SMA\0)") - throw BinaryDecoder.Error.typeNotConformingToBinaryDecodable(SMAMulticastPacket.self) + throw Error.typeNotConformingToSMAPacket(SMAPacket.self) } JLog.debug("Valid SMA Header") - var obisvalues = [ObisValue]() while !decoder.isAtEnd { let length = try decoder.decode(UInt16.self).bigEndian + + if length == 0 + { + break; + } let tag = try decoder.decode(UInt16.self).bigEndian - JLog.debug("Decoding SMAMulticastPacket tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") + JLog.debug("Decoding tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") if length > 0 { @@ -70,52 +89,32 @@ public struct SMAMulticastPacket: BinaryDecodable switch protocolid { - case 0x6069: JLog.debug("recognizing BigEndian obis protocol") + case 0x6069: JLog.debug("recognizing ObisPacket") - if let obisProtocol = try? ObisProtocol.init(fromBinary: smaNetDecoder) + do { - obisvalues = obisProtocol.obisvalues + let obisPacket = try ObisPacket.init(fromBinary: smaNetDecoder) + self.obisPackets.append(obisPacket) + } + catch + { + JLog.error("ObisPacket decoding error:\(error)") } - case 0x6065: JLog.debug("recognizing LittleEndian speedwire protocol") + case 0x6065: JLog.debug("recognizing SMANetPacket") - if let fourbytecount = try? smaNetDecoder.decode(UInt8.self), - let countertype = try? smaNetDecoder.decode(UInt8.self) + do { - let expectinglength = Int(fourbytecount) * 2 - - JLog.debug("got fourbytecount:\(fourbytecount) =>\(expectinglength) countertype:\(countertype)") - - let littleEndianData = try smaNetDecoder.decode(Data.self,length:Int(expectinglength)) - let littleEndianDecoder = BinaryDecoder(data: [UInt8](littleEndianData) ) - - JLog.debug("got fourbytecount:\(fourbytecount) =>\(expectinglength) == current:\(littleEndianData.count) countertype:\(countertype)") - - if !smaNetDecoder.isAtEnd - { - JLog.error("Expected expectinglength:\(expectinglength) but seems to have more - ignoring") - } - - if let packetidlow = try? littleEndianDecoder.decode(UInt32.self).littleEndian, - let packetidhigh = try? littleEndianDecoder.decode(UInt16.self).littleEndian, - let somevalue = try? littleEndianDecoder.decode(UInt16.self), - let sysID = try? littleEndianDecoder.decode(UInt16.self).littleEndian, - let serial = try? littleEndianDecoder.decode(UInt32.self).littleEndian - { - JLog.debug("packetidhigh:\(packetidhigh) low:\(packetidlow) somevalue:\(somevalue) littleEndian: sysid:\(sysID) serial:\(serial)") - } - else - { - JLog.error("littleEndianDecoder header decoding error:\(littleEndianData.dump)") - } + let smanetPacket = try SMANetPacket.init(fromBinary: smaNetDecoder) + self.smaNetPackets.append(smanetPacket) } - else + catch { - JLog.error("littleEndianData header decoding error:\(smaNetData.dump)") + JLog.error("SMANetPacket decoding error:\(error)") } - default: JLog.error("prototocol unknown.") + default: JLog.error("protocol unknown.") } } else @@ -127,8 +126,6 @@ public struct SMAMulticastPacket: BinaryDecodable } } } - self.obis = obisvalues - } var description : String diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index b826f48..897381c 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -15,6 +15,31 @@ func hex(from string: String) -> Data return Data(uInt8Array) } +extension Data { + func split(separator: Data) -> [Data] + { + + var chunks: [Data] = [] + var pos = startIndex + // Find next occurrence of separator after current position: + while let r = self[pos...].range(of: separator) + { + // Append if non-empty: + if r.lowerBound > pos + { + chunks.append(self[(pos - separator.count).. 0xBB; use constant USER_TYPE_USER => 0x88; use constant MAXIMUM_PACKET_SIZE => scalar 90000; use constant TIMEOUT_RECEIVE => scalar 2; + if( @ARGV == 1 ) { dumpFile(@ARGV); @@ -45,27 +47,57 @@ my $sessionid = sprintf '1234 %04x 4321',int(rand(0x10000)); my $inverterid = 'ffff ffff ffff'; + my $commandconversion = 'CCCC VV'; + $commandconversion =~ s/ //g; # "0000 0052 0048 4600 ffff 4600 ", # multivalues if first # "0000 0051 0048 4600 ffff 4600 ", # normal values - +# 0x52000200, 0x00237700, 0x002377FF inverter temp my @commandarguments = ( -[0x00, 0x00, 0x00, 0x51, 0x00410000, 0x0041ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00420000, 0x0042ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00430000, 0x0043ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00440000, 0x0044ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00450000, 0x0045ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00460000, 0x0046ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00470000, 0x0047ffff ], -#[0x00, 0x00, 0x00, 0x51, 0x00480000, 0x0048ffff ], +#[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x52, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT + +#[0x00, 0x00, 0x00, 0x51, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: +#[0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: +#[0x00, 0x00, 0x00, 0x54, 0x00262200, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield +#[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT + +#[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff, ], + +#[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff, ], + +#[0x00, 0x00, 0x00, 0x50, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x53, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x54, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x55, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x56, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x57, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x58, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x59, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x5A, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT + +#[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff, ], +#[0x00, 0x00, 0x80, 0x51, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x52, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x53, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +##[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff, ], +#[0x00, 0x00, 0x80, 0x54, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x55, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x56, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x57, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x58, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x00, 0x00, 0x80, 0x59, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 + ); my @commandarguments2 = ( +[0x00, 0x00, 0x80, 0x51, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS [0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT [0x00, 0x00, 0x00, 0x51, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: [0x00, 0x00, 0x00, 0x51, 0x00411e00, 0x004120ff ],# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 +[0x00, 0x00, 0x80, 0x51, 0x00416400, 0x004164ff ],# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY [0x00, 0x00, 0x00, 0x51, 0x00463600, 0x004637ff ],# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: [0x00, 0x00, 0x00, 0x51, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 [0x00, 0x00, 0x00, 0x51, 0x00464800, 0x004655ff ],# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 @@ -74,21 +106,23 @@ [0x00, 0x00, 0x00, 0x51, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: [0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: [0x00, 0x00, 0x00, 0x51, 0x00832a00, 0x00832aff ],# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 + [0x00, 0x00, 0x00, 0x52, 0x00237700, 0x00237702 ], [0x00, 0x00, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature [0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff ], + [0x00, 0x00, 0x00, 0x53, 0x00251e00, 0x00251eff ], +[0x00, 0x00, 0x80, 0x53, 0x00251e00, 0x00251eff ],# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 +[0x00, 0x00, 0x80, 0x53, 0x00251e01, 0x00251e01 ], +[0x00, 0x00, 0x80, 0x53, 0x00251e02, 0x00251e02 ], [0x00, 0x00, 0x00, 0x53, 0x00251e02, 0x00251eff ], +[0x00, 0x00, 0x80, 0x53, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 + [0x00, 0x00, 0x00, 0x54, 0x00260100, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield [0x00, 0x00, 0x00, 0x54, 0x00462e00, 0x00462fff ],# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM + [0x00, 0x00, 0x00, 0x58, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS [0x00, 0x00, 0x00, 0x58, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION -[0x00, 0x00, 0x80, 0x51, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS -[0x00, 0x00, 0x80, 0x51, 0x00416400, 0x004164ff ],# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY -[0x00, 0x00, 0x80, 0x53, 0x00251e00, 0x00251eff ],# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -[0x00, 0x00, 0x80, 0x53, 0x00251e01, 0x00251e01 ], -[0x00, 0x00, 0x80, 0x53, 0x00251e02, 0x00251e02 ], -[0x00, 0x00, 0x80, 0x53, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 #[0x00, 0x00, 0x02, 0x64, 0x00618d00, 0x00618dff ], ); @@ -142,7 +176,7 @@ #print join("\n",@commands); # -if(1) +if(0) { my @work = @commands; @@ -166,17 +200,88 @@ exit; } +if( scalar @commandarguments ) +{ + my $loop = 1; + my $looptime = 5; + + do + { + my @work = @commandarguments; + doWork(@work); + + jnxsleep($looptime) if $loop; + } + while( $loop ); + + exit; +} + +for my $type (0x40..0x60) +{ + for my $command (0x0..0xff) + { + my $start = $command << 24; + my $end = ($command << 24) | 0xffffff; + + my @cmd = [0x00, 0x00, 0x00, $type, $start, $end ]; + + doWork( @cmd ); + my @cmd = [0x00, 0x00, 0x80, $type, $start, $end ]; + + doWork( @cmd ); + } +} +exit; + + sub string2command { my($string) = @_; $string =~ s/\s//g; - my $commandpacket = pack('H*',$string); - my @command = unpack('CCCCVV',$commandpacket); + my $data = pack('H*',$string); + + print "string2command $string -> "; + return data2command($data,$commandconversion); +} + +sub data2command +{ + my($data,$convertstring) = @_; + + $convertstring =~ s/\s+//g; + $convertstring .= 'H*'; + my @command = unpack($convertstring,$data); + push(@command, pack('H*',pop(@command))); + + my @commandcopy = @command; + print "["; + + while( $convertstring =~ /([HCvnVN]{1}(?:\d+|\*)?)/g ) + { + my $type = $1; + my $value = shift @commandcopy; +# print "\n".'Type:'.$type." "; + + if( $type eq 'C' ) { printf "0x%02x, ",$value } + elsif( $type eq 'v' ) { printf "0x%04x, ",$value } + elsif( $type eq 'n' ) { printf "0x%04x, ",$value } + elsif( $type eq 'V' ) { printf "0x%08x, ",$value } + elsif( $type eq 'N' ) { printf "0x%08x, ",$value } + elsif( $type eq 'H*') { printf "",length($value),prettyhexdata( $value ) } + else + { + print "type: $type unknown\n"; + exit; + } + } + + print "]\n"; #printf "string2command $string -> %02x %02x %02x %02x %08x %08x\n",@command; - printf "[0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%08x, 0x%08x ],\n",@command; +# printf "[0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%08x, 0x%08x ],\n",@command; return @command; } @@ -184,22 +289,20 @@ sub command2string { my @command = @_; - my $commandpacket = pack('CCCCVV',@command); + my $commandpacket = pack($commandconversion,@command); my $string = unpack('H*',$commandpacket); -# printf "command2string %02x %02x %02x %02x %08x %08x -> $string\n",@command; + printf "command2string %02x %02x %02x %02x %08x %08x -> $string\n",@command; return $string; } -my $loggedin = 0; -my $loop = 1; -my $commandwaittime = 0.1; -my $looptime = 5; -do +sub doWork { - my @work = @commandarguments; + my @work = @_; + my $loggedin = 0; + my $commandwaittime = 0.1; while( scalar @work ) { @@ -236,12 +339,7 @@ sub command2string jnxsleep($commandwaittime); } - - jnxsleep($looptime) if $loop; } -while( $loop ); - -exit; sub sendReceiveCommand @@ -250,8 +348,11 @@ sub sendReceiveCommand my $data; sendCommand($socket,$command,$sessionid,$inverterid); + my $starttime = time(); $socket->recv($data, MAXIMUM_PACKET_SIZE); + my $endtime = time(); + printf "Responsetime = %.3f ms\n",($endtime - $starttime) * 1000; if( 0 == length($data) ) { print "no response.\n"; @@ -307,10 +408,11 @@ sub sendCommand my $data = pack "H*",$hexstring; - my $size = $socket->send($data); - writeDataToFile($data); - printSMAPacket('sent',$data); + + printSMAPacket('sending',$data); + + my $size = $socket->send($data); } sub writeDataToFile @@ -333,6 +435,7 @@ sub prettyhexdata my ($data) = @_; my $prettyreceived = unpack('H*',$data); $prettyreceived =~ s/(....)/$1 /g; + $prettyreceived =~ s/ $//; return $prettyreceived; } @@ -347,45 +450,71 @@ sub printSMAPacket $data = substr($data,0,18 + 4 + $length); - if( $smaheader != 0x534d4100 - ) + if( $smaheader != 0x534d4100 ) { printf "%s: invalid packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); return undef; } - - if( $proto != 0x6065 - ) + if( $proto != 0x6065 ) { printf "%s SMA packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); return undef; } - my $footer = unpack('N',substr($data,-4)); + my $footer = unpack('N',substr($data,-4)); - if( $footer != 0x0 ) + if( $footer != 0x0 ) { print "Invalid footer\n"; return undef; } - - printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); my $smanetdata = substr($data,18,$length); - printSMANetPacket($smanetdata); + return printSMANetPacket($smanetdata); } + +#sub decodeSMANetHeader +#{ +# my($data) = @_; +# +# my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$p10 ,$packetid, $p12, $command, $remaining) = data2command($data ,'CC nN CC nN v CC v v v v'); +# +# my $packetflag = $packetid & 0x8000 ? '1' : '0'; +# $packetid = $packetid & 0x7FFF; +# +# printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$packetflag,$packetid,length($remaining); +# +# if( $response != 0 || $command == 0xFFFD ) +# { +# printf "raw:%s\n",prettyhexdata($data); +# return $response; +# } +# +# sub decodeSMANetValuesStart +# { +# my ($a,$kind,$format,$time,$remaining) = data2command($remaining , 'C v C V'); +# my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); +# +# print "time: $timestring\n"; +# } +# +# +#} + + + sub printSMANetPacket { my($data) = @_; - print " SMANet Packet:"; { my $smanet_length = unpack('C',substr($data,0,1)) * 4; + printf " SMANet Packet: length=%d %s\n",$smanet_length,prettyhexdata(substr($data,0,28)); if( length($data) < 2 || length($data) != $smanet_length @@ -397,15 +526,42 @@ sub printSMANetPacket } } + { - my $response = unpack('v',substr($data,18,2)); - my $command = unpack('v',substr($data,26,2)); + { + my @header = data2command($data ,'CC nN CC nN v CC v v v v'); + + my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$p10 ,$packetid, $p12, $command, $remaining) = @header; + + my $packetflag = $packetid & 0x8000 ? '1' : '0'; + $packetid = $packetid & 0x7FFF; + + printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$packetflag,$packetid,length($remaining); + + if( $response != 0 || $command == 0xFFFD ) + { + printf "raw:%s\n",prettyhexdata($data); + return $response; + } + + { + my ($a,$kind,$format,$time,$remaining) = data2command($remaining , 'C v C V'); + my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); + + print "time:$timestring" ; + } + + + } + my $destination = unpack('H*',substr($data,2,6)); my $source = unpack('H*',substr($data,10,6)); + my $response = unpack('v',substr($data,18,2)); + my $command = unpack('v',substr($data,26,2)); my $packetid = unpack('v',substr($data,22,2)) & 0x7FFF; my $packetflag = unpack('v',substr($data,22,2)) & 0x8000 ? '1' : '0'; - printf "command:%04x response:%04x: source:%s destination:%s pktflg:%s pktid:0x%04x ",$command,$response,$source,$destination,$packetflag,$packetid; + printf "command:%04x response:%04x: source:%s destination:%s pktflg:%s pktid:0x%04x\n",$command,$response,$source,$destination,$packetflag,$packetid; if( $response != 0 || $command == 0xFFFD ) { @@ -447,10 +603,11 @@ sub printSMANetPacket } my $typeinformation = code2Typeinformation($code); - my $name = $$typeinformation{name}; + my $name = $$typeinformation{path}; my $unit = $$typeinformation{unit}; my $factor = $$typeinformation{factor}|| 1; + my $title = $$typeinformation{title}; my $path = $name.'.'.$resultnumber; $resultnumber++; @@ -522,7 +679,7 @@ sub printSMANetPacket } printf "%30s ",join(':',@results); - sendMQTT($path,$unit,$factor,@results); + sendMQTT($path,$unit,$factor,$title,@results); } elsif( $type == 0x10 ) # string @@ -568,7 +725,7 @@ sub printSMANetPacket sub sendMQTT { - my($path,$unit,$factor,@values) = @_; + my($path,$unit,$factor,$title,@values) = @_; return if !$mqttsender; my $topic = join('/', ($mqttprefix,$mqttsender,split(/\./,$path)) ); @@ -583,11 +740,11 @@ sub sendMQTT if( @outvalues > 1 ) { - $mqtt->publish($topic => '{"unit":"'.$unit.'","value":"'.join(':',@outvalues).'"}' ); + $mqtt->publish($topic => '{"unit":"'.$unit.'","value":"'.join(':',@outvalues).'","title","'.$title.'"}' ); } else { - $mqtt->publish($topic => '{"unit":"'.$unit.'","value":'.@outvalues[0].'}' ); + $mqtt->publish($topic => '{"unit":"'.$unit.'","value":'.@outvalues[0].'","title","'.$title.'"}' ); } } @@ -633,74 +790,85 @@ sub code2Typeinformation { my($number) = @_; + my $battery = { + 0x295A => { path => 'immediate.soc', unit => '%' , title => "Battery State of Charge"}, + 0x2622 => { path => 'counter.dailydischarge', unit => 'kWh', factor => 0.001 , title => "Daily Discharge" }, + 0x495B => { path => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 , title => "Battery Temperature" }, + 0x263F => { path => 'immediate.gridusage', unit => 'W' , title => "Grid Usage"}, + + 0x251E => { path => 'immediate.dc.power', unit => 'W', title => "Power DC"}, + + }; + + my $typeInformation = { - 0x2148 => { name => 'immediate.system.status'}, - 0x2377 => { name => 'immediate.system.externaltemperature'}, - 0x251E => { name => 'immediate.dc.power', unit => 'W'}, - 0x2601 => { name => 'counter.totaldischarge', unit => 'kWh', factor => 0.001 }, - 0x2622 => { name => 'counter.dailyyield', unit => 'kWh', factor => 0.001 }, - 0x263F => { name => 'immediate.gridusage', unit => 'W' }, - 0x295A => { name => 'immediate.soc', unit => '%' }, - 0x411E => { name => 'system.nominalpowerstatus'}, - 0x411F => { name => 'immediate.system.warning'}, - 0x4120 => { name => 'immediate.system.powerfault'}, - 0x4164 => { name => 'immediate.ac.contactstatus'}, - 0x4166 => { name => 'immediate.ac.feedinwaittime', unit => 's'}, - 0x451F => { name => 'immediate.dc.voltage', unit => 'V', factor => 0.01 }, - 0x4521 => { name => 'immediate.dc.amperage', unit => 'A', factor => 0.001 }, - 0x4623 => { name => 'unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4624 => { name => 'unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4625 => { name => 'unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4626 => { name => 'unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4627 => { name => 'unknown.maybe.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4628 => { name => 'unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x462E => { name => 'immediate.operatingtime',unit => 's'}, - 0x462F => { name => 'counter.feedintime',unit => 's'}, - 0x4631 => { name => 'type.unknown.maybe.grid.failure'}, - 0x4635 => { name => 'type.unknown.maybe.grid.total.generation', unit => 'W'}, - 0x4636 => { name => 'counter.total.feedin', unit => 'W'}, - 0x4637 => { name => 'counter.total.usage', unit => 'W'}, - 0x4639 => { name => 'unknown.maybe.grid.total.consumption', unit => 'W'}, - 0x463A => { name => 'unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x463B => { name => 'unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4640 => { name => 'immediate.ac.power.phaseA', unit => 'W'}, - 0x4641 => { name => 'immediate.ac.power.phaseB', unit => 'W'}, - 0x4642 => { name => 'immediate.ac.power.phaseC', unit => 'W'}, - 0x4648 => { name => 'immediate.ac.voltage.phaseA', unit => 'V', factor => 0.01 }, - 0x4649 => { name => 'immediate.ac.voltage.phaseB', unit => 'V', factor => 0.01 }, - 0x464A => { name => 'immediate.ac.voltage.phaseC', unit => 'V', factor => 0.01 }, - 0x464B => { name => 'immediate.ac.powerfactor.phaseA', unit => '%'}, - 0x464C => { name => 'immediate.ac.powerfactor.phaseB', unit => '%'}, - 0x464D => { name => 'immediate.ac.powerfactor.phaseC', unit => '%'}, - 0x464E => { name => 'unknown.maybe.something', unit => '?'}, - 0x4650 => { name => 'unknown.maybe.grid.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4651 => { name => 'unknown.maybe.grid.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4652 => { name => 'unknown.maybe.grid.current.phaseC', unit => 'A', factor => 0.001 }, - 0x4653 => { name => 'immediate.ac.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4654 => { name => 'immediate.ac.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4655 => { name => 'immediate.ac.current.phaseC', unit => 'A', factor => 0.001 }, - 0x4657 => { name => 'immediate.ac.frequency', unit => 'Hz', factor => 0.01 }, - 0x46AA => { name => 'type.unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x46AB => { name => 'type.unknown.maybe.power.ownconsumption'}, - 0x491E => { name => 'type.unknown.maybe.battery.counter.charges'}, - 0x4922 => { name => 'battery.cells.maxtemperature', unit => 'ºC', factor => 0.1 }, - 0x4923 => { name => 'battery.cells.mintemperature', unit => 'ºC', factor => 0.1 }, - 0x4924 => { name => 'type.unknown.maybe.battery.cells'}, - 0x4926 => { name => 'type.unknown.maybe.battery.total.charge', unit => 'Ah'}, - 0x4927 => { name => 'type.unknown.maybe.battery.total.discharge', unit => 'Ah'}, - 0x4933 => { name => 'battery.cells.setcharging.voltage', unit => 'V', factor => 0.01 }, - 0x495B => { name => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 }, - 0x495C => { name => 'battery.system.voltage', unit => 'V', factor => 0.01 }, - 0x495D => { name => 'battery.system.current', unit => 'A', factor => 0.001 }, - 0x821E => { name => 'settings.system.name'}, - 0x821F => { name => 'static.mainmodel'}, - 0x8220 => { name => 'static.systemtype'}, - 0x8234 => { name => 'static.softwareversion'}, - 0x832A => { name => 'unknown.maybe.system.maximumpoweroutput'}, + 0x2148 => { path => 'immediate.system.status'}, + 0x2377 => { path => 'immediate.system.externaltemperature'}, + 0x251E => { path => 'immediate.dc.power', unit => 'W', title => "Power DC"}, + 0x2601 => { path => 'counter.totaldischarge', unit => 'kWh', factor => 0.001 }, + 0x2622 => { path => 'counter.dailydischarge', unit => 'kWh', factor => 0.001 , title => "Daily Discharge" }, + 0x263F => { path => 'immediate.gridusage', unit => 'W' , title => "Grid Usage"}, + 0x295A => { path => 'immediate.soc', unit => '%' , title => "Battery State of Charge"}, + 0x411E => { path => 'system.nominalpowerstatus'}, + 0x411F => { path => 'immediate.system.warning'}, + 0x4120 => { path => 'immediate.system.powerfault'}, + 0x4164 => { path => 'immediate.ac.contactstatus'}, + 0x4166 => { path => 'immediate.ac.feedinwaittime', unit => 's'}, + 0x451F => { path => 'immediate.dc.voltage', unit => 'V', factor => 0.01 }, + 0x4521 => { path => 'immediate.dc.amperage', unit => 'A', factor => 0.001 }, + 0x4623 => { path => 'unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4624 => { path => 'unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4625 => { path => 'unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4626 => { path => 'unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4627 => { path => 'unknown.maybe.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4628 => { path => 'unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x462E => { path => 'immediate.operatingtime',unit => 's'}, + 0x462F => { path => 'counter.feedintime',unit => 's'}, + 0x4631 => { path => 'unknown.maybe.grid.failure'}, + 0x4635 => { path => 'unknown.maybe.grid.total.generation', unit => 'W'}, + 0x4636 => { path => 'counter.total.feedin', unit => 'W'}, + 0x4637 => { path => 'counter.total.usage', unit => 'W'}, + 0x4639 => { path => 'unknown.maybe.grid.total.consumption', unit => 'W'}, + 0x463A => { path => 'unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x463B => { path => 'unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4640 => { path => 'immediate.ac.power.phaseA', unit => 'W'}, + 0x4641 => { path => 'immediate.ac.power.phaseB', unit => 'W'}, + 0x4642 => { path => 'immediate.ac.power.phaseC', unit => 'W'}, + 0x4648 => { path => 'immediate.ac.voltage.phaseA', unit => 'V', factor => 0.01 }, + 0x4649 => { path => 'immediate.ac.voltage.phaseB', unit => 'V', factor => 0.01 }, + 0x464A => { path => 'immediate.ac.voltage.phaseC', unit => 'V', factor => 0.01 }, + 0x464B => { path => 'immediate.ac.powerfactor.phaseA', unit => '%'}, + 0x464C => { path => 'immediate.ac.powerfactor.phaseB', unit => '%'}, + 0x464D => { path => 'immediate.ac.powerfactor.phaseC', unit => '%'}, + 0x464E => { path => 'unknown.maybe.something', unit => '?'}, + 0x4650 => { path => 'unknown.maybe.grid.current.phaseA', unit => 'A', factor => 0.001 }, + 0x4651 => { path => 'unknown.maybe.grid.current.phaseB', unit => 'A', factor => 0.001 }, + 0x4652 => { path => 'unknown.maybe.grid.current.phaseC', unit => 'A', factor => 0.001 }, + 0x4653 => { path => 'immediate.ac.current.phaseA', unit => 'A', factor => 0.001 }, + 0x4654 => { path => 'immediate.ac.current.phaseB', unit => 'A', factor => 0.001 }, + 0x4655 => { path => 'immediate.ac.current.phaseC', unit => 'A', factor => 0.001 }, + 0x4657 => { path => 'immediate.ac.frequency', unit => 'Hz', factor => 0.01 }, + 0x46AA => { path => 'unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x46AB => { path => 'unknown.maybe.power.ownconsumption'}, + 0x491E => { path => 'unknown.maybe.battery.counter.charges'}, + 0x4922 => { path => 'battery.cells.maxtemperature', unit => 'ºC', factor => 0.1 }, + 0x4923 => { path => 'battery.cells.mintemperature', unit => 'ºC', factor => 0.1 }, + 0x4924 => { path => 'unknown.maybe.battery.cells'}, + 0x4926 => { path => 'unknown.maybe.battery.total.charge', unit => 'Ah'}, + 0x4927 => { path => 'unknown.maybe.battery.total.discharge', unit => 'Ah'}, + 0x4933 => { path => 'battery.cells.setcharging.voltage', unit => 'V', factor => 0.01 }, + 0x495B => { path => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 , title => "Battery Temperature" }, + 0x495C => { path => 'battery.system.voltage', unit => 'V', factor => 0.01 }, + 0x495D => { path => 'battery.system.current', unit => 'A', factor => 0.001 }, + 0x821E => { path => 'settings.system.name'}, + 0x821F => { path => 'static.mainmodel'}, + 0x8220 => { path => 'static.systemtype'}, + 0x8234 => { path => 'static.softwareversion'}, + 0x832A => { path => 'unknown.maybe.system.maximumpoweroutput'}, }; - my $code = $$typeInformation{$number} || { name => 'type.unkown.'.sprintf("0x%04x",$number) }; + my $code = $$typeInformation{$number} || { path => 'type.unkown.'.sprintf("0x%04x",$number) }; return $code; } From 8d73e262ef63f685b410c8d3b8acadf4ae70ba59 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Thu, 2 Jun 2022 12:24:14 +0200 Subject: [PATCH 16/81] updated tests to use data splitter renamed ObisProtocol to ObisPacket --- Package.swift | 4 +- Sources/sma2mqttLibrary/ObisPacket.swift | 65 ++++++++++++++++++++++++ Tests/sma2mqttTests/sma2mqttTests.swift | 55 +++++++++++++++++++- 3 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 Sources/sma2mqttLibrary/ObisPacket.swift diff --git a/Package.swift b/Package.swift index a1a2b58..4a4f7e3 100644 --- a/Package.swift +++ b/Package.swift @@ -19,8 +19,8 @@ let package = Package( .package(url: "https://github.com/apple/swift-argument-parser", from: "0.3.2"), .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), .package(url: "https://github.com/sroebert/mqtt-nio.git", from: "2.0.0"), - .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.2.3"), -// .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("f2e6dad") ), + .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), +// .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4"), // .package(url: "/Users/jolly/Documents/GitHub/JLog", .revision("440b721") ), ], diff --git a/Sources/sma2mqttLibrary/ObisPacket.swift b/Sources/sma2mqttLibrary/ObisPacket.swift new file mode 100644 index 0000000..213f12f --- /dev/null +++ b/Sources/sma2mqttLibrary/ObisPacket.swift @@ -0,0 +1,65 @@ +// +// ObisProtocol.swift +// +// +// Created by Patrick Stein on 29.08.21. +// +import Foundation +import BinaryCoder +import JLog + +struct ObisPacket +{ + let systemid:UInt16 + let serialnumber:UInt32 + let mseconds:UInt32 + let obisvalues:[ObisValue] +} + + +extension ObisPacket:BinaryDecodable +{ + enum ObisDecodingError: Error + { + case decoding(String) + } + + + init(fromBinary decoder: BinaryDecoder) throws + { + JLog.debug("Decoding ObisValue") + + do + { + self.systemid = try decoder.decode(UInt16.self).bigEndian + self.serialnumber = try decoder.decode(UInt32.self).bigEndian + self.mseconds = try decoder.decode(UInt32.self).bigEndian + + var obisvalues = [ObisValue]() + + while !decoder.isAtEnd + { + let currentposition = decoder.position + + do + { + let aObis = try ObisValue(fromBinary: decoder ) + obisvalues.append(aObis) + } + catch let error + { + JLog.error("Got decoding error:\(error) advancing 1 byte") + decoder.position = currentposition + 1 + } + } + self.obisvalues = obisvalues + } + catch + { + throw ObisDecodingError.decoding("Could not decode at position:\(decoder.position)") + } + } +} + + + diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 897381c..f9773fc 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -14,6 +14,57 @@ func hex(from string: String) -> Data .map{ UInt8($0, radix: 16)! } return Data(uInt8Array) } +struct DataSplitter:Sequence, IteratorProtocol +{ + let data : Data + var index : Data.Index + let splitData:Data + + init(data: Data,splitData:Data) { + self.data = data + self.splitData = splitData + self.index = data.startIndex + print("init") + } + + mutating func next() -> Data? + { +// print("\(#line) index:\(index)") + + guard self.index != self.data.endIndex else { return nil } + +// print("\(#line) index:\(index)") + + guard let range = data[index ..< data.endIndex].range(of: splitData) + else + { +// print("\(#line) index:\(index)") + if index == data.startIndex + { + index = data.endIndex + return nil + } + + let returnData = data[ (index-splitData.count) ..< data.endIndex] + index = data.endIndex + return returnData + } +// print("\(#line) index:\(index) range:\(range) ") + + if index == data.startIndex + { +// print("\(#line) index:\(index) range:\(range) ") + index = range.endIndex + return next() + } +// print("\(#line) index:\(index) range:\(range) ") + + let returnData = data[ (index-splitData.count) ..< range.startIndex] + index = range.endIndex + + return returnData + } +} extension Data { func split(separator: Data) -> [Data] @@ -74,9 +125,9 @@ final class sma2mqttTests: XCTestCase let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/sb4.out"),options:.mappedRead) let separator = Data(bytes: [0x53, 0x4d, 0x41, 0x00] ) - let chunks = data.split(separator: separator) var counter = 0 - for chunk in chunks + let splitter = DataSplitter(data: data, splitData: separator) + for chunk in splitter { // counter += 1 let binaryDecoder = BinaryDecoder(data: [UInt8](chunk) ) From d15863e4da179bd66fe0755640f79cae8db26a78 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 3 Jun 2022 18:09:27 +0200 Subject: [PATCH 17/81] updated have all packets conform to Encodable/Decodable so description works --- Package.swift | 6 +- Sources/sma2mqttLibrary/Extensions.swift | 11 +- Sources/sma2mqttLibrary/ObisPacket.swift | 2 +- Sources/sma2mqttLibrary/ObisProtocol.swift | 66 ----- Sources/sma2mqttLibrary/ObisValue.swift | 24 +- .../Resources/obisdefinition.json | 4 +- Tests/sma2mqttTests/sma2mqttTests.swift | 229 +++++++++++++++++- smatester.perl | 22 +- 8 files changed, 270 insertions(+), 94 deletions(-) delete mode 100644 Sources/sma2mqttLibrary/ObisProtocol.swift diff --git a/Package.swift b/Package.swift index 4a4f7e3..91d9f18 100644 --- a/Package.swift +++ b/Package.swift @@ -6,10 +6,10 @@ import PackageDescription let package = Package( name: "sma2mqtt", platforms: [ - .iOS(.v13), .macOS(.v10_15), - .tvOS(.v13), - .watchOS(.v6) +// .iOS(.v13), +// .tvOS(.v13), +// .watchOS(.v6) ], products: [ .executable(name: "sma2mqtt", targets: ["sma2mqtt"]), diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 7bb2873..7f91d12 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -27,4 +27,13 @@ public extension Data } } - +extension Encodable +{ + public var json:String + { + let jsonEncoder = JSONEncoder() + jsonEncoder.outputFormatting = .sortedKeys + let jsonData = try! jsonEncoder.encode(self) + return String(data: jsonData, encoding: .utf8)! + } +} diff --git a/Sources/sma2mqttLibrary/ObisPacket.swift b/Sources/sma2mqttLibrary/ObisPacket.swift index 213f12f..50d7b12 100644 --- a/Sources/sma2mqttLibrary/ObisPacket.swift +++ b/Sources/sma2mqttLibrary/ObisPacket.swift @@ -8,7 +8,7 @@ import Foundation import BinaryCoder import JLog -struct ObisPacket +struct ObisPacket:Encodable,Decodable { let systemid:UInt16 let serialnumber:UInt32 diff --git a/Sources/sma2mqttLibrary/ObisProtocol.swift b/Sources/sma2mqttLibrary/ObisProtocol.swift deleted file mode 100644 index 5fb85de..0000000 --- a/Sources/sma2mqttLibrary/ObisProtocol.swift +++ /dev/null @@ -1,66 +0,0 @@ -// -// ObisProtocol.swift -// -// -// Created by Patrick Stein on 29.08.21. -// -import Foundation -import BinaryCoder -import JLog - -struct ObisProtocol -{ - let systemid:UInt16 - let serialnumber:UInt32 - let mseconds:UInt32 - let obisvalues:[ObisValue] -} - - -extension ObisProtocol:BinaryDecodable -{ - enum ObisDecodingError: Error - { - case decoding(String) - } - - - init(fromBinary decoder: BinaryDecoder) throws - { - JLog.debug("Decoding ObisValue") - - do - { - self.systemid = try decoder.decode(UInt16.self).bigEndian - self.serialnumber = try decoder.decode(UInt32.self).bigEndian - self.mseconds = try decoder.decode(UInt32.self).bigEndian - - var obisvalues = [ObisValue]() - - while !decoder.isAtEnd - { - let currentposition = decoder.position - - do - { - let aObis = try ObisValue(fromBinary: decoder ) - obisvalues.append(aObis) - } - catch let error - { - JLog.error("Got decoding error:\(error) advancing 1 byte") - decoder.position = currentposition + 1 - } - } - self.obisvalues = obisvalues - } - catch - { - JLog.error("Could not decode ObisProtocol: at position:\(decoder.position)") - throw ObisDecodingError.decoding("Could not decode ObisProtocol.") - } - } -} - - - diff --git a/Sources/sma2mqttLibrary/ObisValue.swift b/Sources/sma2mqttLibrary/ObisValue.swift index 7402f4b..6646f65 100644 --- a/Sources/sma2mqttLibrary/ObisValue.swift +++ b/Sources/sma2mqttLibrary/ObisValue.swift @@ -2,7 +2,14 @@ import Foundation import BinaryCoder import JLog -public struct ObisValue +public enum ObisType:Encodable,Decodable +{ + case string(String) + case uint(UInt64) + case int(Int64) +} + +public struct ObisValue:Decodable { let id:String let value:ObisType @@ -17,26 +24,11 @@ public struct ObisValue public var mqtt:MQTTVisibilty { ObisDefinition.obisDefinitions[id]?.mqtt ?? .invisible } } -public enum ObisType -{ - case string(String) - case uint(UInt64) - case int(Int64) -} -extension ObisType:Decodable {} extension ObisValue:Encodable { - public var json:String - { - let jsonEncoder = JSONEncoder() - jsonEncoder.outputFormatting = .sortedKeys - let jsonData = try! jsonEncoder.encode(self) - return String(data: jsonData, encoding: .utf8)! - } - public func encode(to encoder: Encoder) throws { let obisDefinition = ObisDefinition.obisDefinitions[id]! diff --git a/Sources/sma2mqttLibrary/Resources/obisdefinition.json b/Sources/sma2mqttLibrary/Resources/obisdefinition.json index 41580f0..4222608 100644 --- a/Sources/sma2mqttLibrary/Resources/obisdefinition.json +++ b/Sources/sma2mqttLibrary/Resources/obisdefinition.json @@ -2,9 +2,9 @@ { "id" : "1:0.0.0" , "type" : "ipv4address" , "unit" : "none", "topic" : "deviceaddress1" , "mqtt" : "invisible" , "title" : "Device Address 1"}, { "id" : "1:1.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/usage" , "mqtt" : "visible" , "title" : "Grid Usage"}, - { "id" : "1:1.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/usage" , "mqtt" : "visible" , "title" : "Grid Usage Counter"}, + { "id" : "1:1.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/totalusage" , "mqtt" : "visible" , "title" : "Grid Usage Counter"}, { "id" : "1:2.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/feedin" , "mqtt" : "visible" , "title" : "Grid Feedin"}, - { "id" : "1:2.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/feedin" , "mqtt" : "visible" , "title" : "Grid Feedin Counter"}, + { "id" : "1:2.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/totalfeedin" , "mqtt" : "visible" , "title" : "Grid Feedin Counter"}, { "id" : "1:3.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/reactiveusage" , "mqtt" : "invisible" , "title" : "Reactive Usage"}, { "id" : "1:3.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/reactiveusage" , "mqtt" : "invisible" , "title" : "Reactive Usage Counter"}, diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index f9773fc..84f214f 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -140,5 +140,232 @@ final class sma2mqttTests: XCTestCase XCTAssert(true) } - + func testSMANetPacketDecoding() throws + { + let data1 = hex(from:""" +1800 0000 2f00 0000 +01 2952 00 3fd5 9462 0000 0000 0000 0000 1027 0000 1027 0000 ffff ffff ffff ffff ffff ffff ffff ffff +01 2752 00 3fd59462 0000 0000 0000 0000 321e 0000 321e 0000 a00f 0000 a00f 0000 ffff ffff ffff ffff +01 aa4a 08 0ed59462 3301 0001 b706 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 bb4a 08 37d59462 260d 0001 270d 0000 280d 0000 290d 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 bc4a 08 3ed59462 2f01 0001 3301 0000 bd06 0000 5208 0000 fd0c 0000 620d 0000 feff ff00 0000 0000 +01 2a52 08 3fd59462 1104 0000 1204 0000 fdff ff01 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +01 2f52 08 3fd59462 2f01 0000 3401 0001 2203 0000 1f0d 0000 fdff ff00 feff ff00 0000 0000 0000 0000 +01 1e4b 08 40d59462 2508 0000 5208 0000 6c08 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +01 1e4b 08 40d59462 2f01 0001 3301 0000 b706 0000 bd06 0000 f007 0000 f107 0000 f207 0000 f707 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 2465 08 84659162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01 b74a 10 37d59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 + +01 b84a 10 37d59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 b94a 10 37d59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 ba4a 10 37d59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 + +01 2852 40 3fd59462 0000 0000 0000 0000 321e 0000 321e 0000 0000 0080 0000 0080 0000 0080 0000 0080 +""") + let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) + let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + } + + func testSMANetPacketDecoding2a() throws + { + let data1 = hex(from:""" +0000 0000 2200 0000 +01 1f41 00 3fd59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 2041 00 3fd59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 1e41 00 3fd59462 a00f 0000 a00f 0000 a00f 0000 a00f 0000 0100 0000 +01 6641 00 3fd59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 8041 00 3fd59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4946 00 40d59462 275c 0000 275c 0000 275c 0000 275c 0000 0100 0000 +01 4e46 00 40d59462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 +01 5746 00 40d59462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 +01 8146 00 40d59462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 +01 c246 00 40d59462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 +01 4846 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4a46 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4b46 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4c46 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4d46 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 7746 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 7846 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 7946 00 40d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 + +01 3746 40 40d59462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 +01 4046 40 40d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 4246 40 40d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 5346 40 40d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 5546 40 40d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 9946 40 40d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 6546 40 40d59462 1a0a 0000 1a0a 0000 1a0a 0000 1a0a 0000 0100 0000 +01 3646 40 40d59462 2805 0000 2805 0000 2805 0000 2805 0000 0100 0000 +01 8f46 40 40d59462 2f05 0000 2f05 0000 2f05 0000 2f05 0000 0100 0000 +01 6c46 40 40d59462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 +01 6d46 40 40d59462 6b03 0000 6b03 0000 6b03 0000 6b03 0000 0100 0000 +01 6b46 40 40d59462 8b03 0000 8b03 0000 8b03 0000 8b03 0000 0100 0000 +01 3f26 40 40d59462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 +01 4146 40 40d59462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 +01 6e46 40 40d59462 b900 0000 b900 0000 b900 0000 b900 0000 0100 0000 +01 6646 40 40d59462 df0e 0000 df0e 0000 df0e 0000 df0e 0000 0100 0000 +01 5446 40 40d59462 f90f 0000 f90f 0000 f90f 0000 f90f 0000 0100 0000 +""") + let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) + let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + } + + func testSMANetPacketDecoding2() throws + { + let data1 = hex(from:""" + +0000 0000 0900 0000 +0101 2600 56d59462 b43b 7f00 0000 0000 +0122 2600 57d59462 0248 0000 0000 0000 +0124 4600 57d59462 b67c 8700 0000 0000 +0125 4600 57d59462 8cb0 1200 0000 0000 +012e 4600 56d59462 bafe cd01 0000 0000 +012f 4600 56d59462 93b7 bb01 0000 0000 +0191 4600 57d59462 1eb2 9e00 0000 0000 +0192 4600 57d59462 c4a5 3500 0000 0000 +01c3 4600 56d59462 b43b 7f00 0000 0000 +018c 6100 af659162 3508 0000 0000 0000 +""") + let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) + let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + } + func testSMANetPacketDecoding3() throws + { + let data1 = hex(from:""" + +0000 0000 2200 0000 +01 1f41 00 3fd59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 2041 00 3fd59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01 1e41 00 3fd59462 a00f 0000 a00f 0000 a00f 0000 a00f 0000 0100 0000 +01 6641 00 3fd59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 8041 00 3fd59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4946 00 41d59462 255c 0000 255c 0000 255c 0000 255c 0000 0100 0000 +01 4e46 00 41d59462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 +01 5746 00 41d59462 8613 0000 8613 0000 8613 0000 8613 0000 0100 0000 +01 8146 00 41d59462 8613 0000 8613 0000 8613 0000 8613 0000 0100 0000 +01 c246 00 41d59462 ae03 0000 ae03 0000 ae03 0000 ae03 0000 0100 0000 +01 4846 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4a46 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4b46 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4c46 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 4d46 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 7746 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 7846 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +01 7946 00 41d59462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 + +01 3746 40 41d59462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 +01 4046 40 41d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 4246 40 41d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 5346 40 41d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 5546 40 41d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 9946 40 41d59462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 +01 6546 40 41d59462 1b0a 0000 1b0a 0000 1b0a 0000 1b0a 0000 0100 0000 +01 3646 40 41d59462 2705 0000 2705 0000 2705 0000 2705 0000 0100 0000 +01 8f46 40 41d59462 2e05 0000 2e05 0000 2e05 0000 2e05 0000 0100 0000 +01 6c46 40 41d59462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 +01 6d46 40 41d59462 6b03 0000 6b03 0000 6b03 0000 6b03 0000 0100 0000 +01 6b46 40 41d59462 8e03 0000 8e03 0000 8e03 0000 8e03 0000 0100 0000 +01 3f26 40 41d59462 ae03 0000 ae03 0000 ae03 0000 ae03 0000 0100 0000 +01 4146 40 41d59462 ae03 0000 ae03 0000 ae03 0000 ae03 0000 0100 0000 +01 6e46 40 41d59462 ba00 0000 ba00 0000 ba00 0000 ba00 0000 0100 0000 +01 6646 40 41d59462 e20e 0000 e20e 0000 e20e 0000 e20e 0000 0100 0000 +01 5446 40 41d59462 f70f 0000 f70f 0000 f70f 0000 f70f 0000 0100 0000 +""") + let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) + let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + } + func testSMANetPacketDecoding4() throws + { + let data1 = hex(from:""" +0000 0000 0500 0000 +01 1e25 40 56d59462 1d02 0000 1d02 0000 1d02 0000 1d02 0000 0100 0000 +02 1e25 40 56d59462 e101 0000 e101 0000 e101 0000 e101 0000 0100 0000 +01 1f45 40 56d59462 f99d 0000 f99d 0000 f99d 0000 f99d 0000 0100 0000 +02 1f45 40 56d59462 8182 0000 8182 0000 8182 0000 8182 0000 0100 0000 +01 2145 40 56d59462 3a05 0000 3a05 0000 3a05 0000 3a05 0000 0100 0000 +02 2145 40 56d59462 a105 0000 a105 0000 a105 0000 a105 0000 0100 0000 +""") + let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) + let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + } + } + + +/* + + + + +1800 0000 2f00 0000 +01aa 4a08 0ed5 9462 3301 0001 b706 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01b7 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01b8 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01b9 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01ba 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01bb 4a08 37d5 9462 260d 0001 270d 0000 280d 0000 290d 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01bc 4a08 3ed5 9462 2f01 0001 3301 0000 bd06 0000 5208 0000 fd0c 0000 620d 0000 feff ff00 0000 0000 +011e 4b08 40d5 9462 2f01 0001 3301 0000 b706 0000 bd06 0000 f007 0000 f107 0000 f207 0000 f707 0000 +011e 4b08 40d5 9462 2508 0000 5208 0000 6c08 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +0127 5200 3fd5 9462 0000 0000 0000 0000 321e 0000 321e 0000 a00f 0000 a00f 0000 ffff ffff ffff ffff +0128 5240 3fd5 9462 0000 0000 0000 0000 321e 0000 321e 0000 0000 0080 0000 0080 0000 0080 0000 0080 +0129 5200 3fd5 9462 0000 0000 0000 0000 1027 0000 1027 0000 ffff ffff ffff ffff ffff ffff ffff ffff +012a 5208 3fd5 9462 1104 0000 1204 0000 fdff ff01 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +012f 5208 3fd5 9462 2f01 0000 3401 0001 2203 0000 1f0d 0000 fdff ff00 feff ff00 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 + + + + + +3000 0000 4700 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 + + +4800 0000 5f00 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8565 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 + +*/ diff --git a/smatester.perl b/smatester.perl index a38e220..3ab73d3 100644 --- a/smatester.perl +++ b/smatester.perl @@ -18,6 +18,7 @@ use constant MAXIMUM_PACKET_SIZE => scalar 90000; use constant TIMEOUT_RECEIVE => scalar 2; +# perl smatester.perl Temp/Reverseengineering/sb4.out |perl -ne 'print "$2 $4$3 $5 $9$8$7$6 $10\n" if /(len:\d+ raw: (..)(..) (..)(..) (..)(..) (..)(..) (.*))/' |perl -ne 'if( /^\S\S (\S\S\S\S) / ){ $v=$1;$l=length($_); print "Match: $l $v $_"; if( exists($p{$v}{l}) && $p{$v}{l} != $l){ print "$l != $p{$v}{l}\n\t$p{$v}{v}\t$_";} $p{$v}{l} = $l;$p{$v}{v} = $_;}' |grep -v Match |grep -v ' != ' |sort -u -k 2 if( @ARGV == 1 ) { @@ -432,10 +433,16 @@ sub writeDataToFile sub prettyhexdata { - my ($data) = @_; + my ($data,$splitlength) = @_; my $prettyreceived = unpack('H*',$data); - $prettyreceived =~ s/(....)/$1 /g; - $prettyreceived =~ s/ $//; + + if( $splitlength > 0) + { + $splitlength *= 2; + $prettyreceived =~ s/([\da-f]{$splitlength})/$1\n/g + } + $prettyreceived =~ s/([\da-f]{4})/$1 /gs; + $prettyreceived =~ s/ $//; return $prettyreceived; } @@ -514,7 +521,14 @@ sub printSMANetPacket { my $smanet_length = unpack('C',substr($data,0,1)) * 4; - printf " SMANet Packet: length=%d %s\n",$smanet_length,prettyhexdata(substr($data,0,28)); + my $valuetype = unpack('V',substr($data,28,4)); + my $valuecount = unpack('V',substr($data,32,4)); + + my $remaining = $smanet_length - 36; + my $divided = $remaining > 16 && $valuetype != 0 ? $remaining / $valuetype : 0; + + $divided = 16 if $divided < 16; + printf " SMANet Packet: length=%d a=$valuetype b=$valuecount remaining: $remaining diveded:$divided \n%s\n\%s\n",$smanet_length,prettyhexdata(substr($data,28,8)), prettyhexdata(substr($data,36),40); if( length($data) < 2 || length($data) != $smanet_length From 5d014c44408fb9382acbbb86d039fdda4c531b65 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Mon, 6 Jun 2022 10:00:08 +0200 Subject: [PATCH 18/81] correctly recognizing packet values lengths --- Sources/sma2mqttLibrary/SMANetPacket.swift | 158 ++++++++++++++++++ .../sma2mqttLibrary/SMANetPacketValue.swift | 131 +++++++++++++++ Sources/sma2mqttLibrary/SMAPacket.swift | 38 ++--- smatester.perl | 122 ++++++++++++-- 4 files changed, 412 insertions(+), 37 deletions(-) create mode 100644 Sources/sma2mqttLibrary/SMANetPacket.swift create mode 100644 Sources/sma2mqttLibrary/SMANetPacketValue.swift diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift new file mode 100644 index 0000000..9037586 --- /dev/null +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -0,0 +1,158 @@ +// +// SMANetPacketHeader.swift +// +// +// Created by Patrick Stein on 01.06.2022. +// +import Foundation +import BinaryCoder +import JLog + + +struct SMANetPacket:Encodable,Decodable +{ + let header:SMANetPacketHeader + var values = [SMANetPacketValue]() +} + +extension SMANetPacket:BinaryDecodable +{ + enum SMANetPacketDecodingError: Error + { + case decoding(String) + } + init(fromBinary decoder: BinaryDecoder) throws + { + JLog.debug("") + + self.header = try decoder.decode(SMANetPacketHeader.self) + + if decoder.isAtEnd + { + return + } + + while decoder.countToEnd >= SMANetPacketValue.size + { + let positionok = decoder.position + + do + { + let value = try decoder.decode(SMANetPacketValue.self) + JLog.debug("command:\( String(format:"%4x",header.command) ) length:\(decoder.countToEnd) time:\(value.time) \(value.description)") + } + catch + { + decoder.position = positionok + JLog.error("could not decode:\( Data(decoder.dataToEnd).dump )") + } + } + assert(decoder.isAtEnd) + } +} + + +struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable +{ + enum SMANetPacketHeaderDecodingError: Error + { + case decoding(String) + } + + let quaterlength:UInt8 + let type:UInt8 + + let sourceSystemId:UInt16 + let sourceSerial:UInt32 + + let unknown1:UInt8 + let unknown2:UInt8 + + let destinationSystemId:UInt16 + let destinationSerial:UInt32 + + let unknown3:UInt16 + + let response:UInt16 + + let unknown4:UInt8 + let unknown5:UInt8 + + private let _packetId:UInt16 + + let unknown6:UInt16 + + let command:UInt16 + + // calculated + var packetId: UInt16 { _packetId & 0x7FFF } + var packetFlag: Bool { _packetId & 0x8000 != 0 } + + let valuecountAll:UInt32 + let valuecountDone:UInt32 + + static var size:Int { 36 } + private var followingdatasize:Int { ( Int(quaterlength) * 4 ) - Self.size } + + var valueCount:Int { + guard followingdatasize > 0 else { return 0 } + + return Int(self.valuecountAll) - Int(self.valuecountDone) + 1 + } + var valueSize:Int { + guard valueCount > 0 else { return 0 } + + return followingdatasize / valueCount + } + + var description:String { self.json } + + + init(fromBinary decoder: BinaryDecoder) throws + { + let startposition = decoder.position + + self.quaterlength = try decoder.decode(UInt8.self).littleEndian + + guard Int(self.quaterlength) * 4 == (decoder.countToEnd + 1) else { throw SMANetPacketHeaderDecodingError.decoding("internal data error") } + + self.type = try decoder.decode(UInt8.self).littleEndian + + self.sourceSystemId = try decoder.decode(UInt16.self).littleEndian + self.sourceSerial = try decoder.decode(UInt32.self).littleEndian + + self.unknown1 = try decoder.decode(UInt8.self).littleEndian + self.unknown2 = try decoder.decode(UInt8.self).littleEndian + + self.destinationSystemId = try decoder.decode(UInt16.self).littleEndian + self.destinationSerial = try decoder.decode(UInt32.self).littleEndian + + self.unknown3 = try decoder.decode(UInt16.self).littleEndian + + self.response = try decoder.decode(UInt16.self).littleEndian + + self.unknown4 = try decoder.decode(UInt8.self).littleEndian + self.unknown5 = try decoder.decode(UInt8.self).littleEndian + + self._packetId = try decoder.decode(UInt16.self).littleEndian + + self.unknown6 = try decoder.decode(UInt16.self).littleEndian + + self.command = try decoder.decode(UInt16.self).littleEndian + + if decoder.isAtEnd + { + self.valuecountAll = 0 + self.valuecountDone = 0 + } + else + { + self.valuecountAll = try decoder.decode(UInt32.self) + self.valuecountDone = try decoder.decode(UInt32.self) + } + + assert(Self.size == decoder.position - startposition) + } +} + + diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMANetPacketValue.swift new file mode 100644 index 0000000..8ba9074 --- /dev/null +++ b/Sources/sma2mqttLibrary/SMANetPacketValue.swift @@ -0,0 +1,131 @@ +// +// SMANetPacketValue.swift +// +// +// Created by Patrick Stein on 01.06.2022. +// +import Foundation +import BinaryCoder +import JLog + + +struct SMANetPacketValue:Encodable,Decodable +{ + let number:UInt8 + let code:UInt16 + let type:UInt8 + private let _time:UInt32 + + var time:Date { Date(timeIntervalSince1970: Double(_time) ) } + + enum ValueType:UInt8 + { + case uint = 0 + case int = 0x40 + case string = 0x10 + case version = 0x08 + case password = 0x51 + } + + enum PacketValue:Encodable,Decodable + { + case uint([UInt32]) + case int([Int32]) + case string(String) + case version([UInt16]) + case password(Data) + } + var value:PacketValue + + static var size:Int { 8 } + var description:String { self.json } +} + + +extension SMANetPacketValue:BinaryDecodable +{ + init(fromBinary decoder: BinaryDecoder) throws + { + let startposition = decoder.position + + self.number = try decoder.decode(UInt8.self).littleEndian + self.code = try decoder.decode(UInt16.self).littleEndian + self.type = try decoder.decode(UInt8.self).littleEndian + self._time = try decoder.decode(UInt32.self).littleEndian + + assert(Self.size == decoder.position - startposition) + + + repeat + { + let valuetype = ValueType(rawValue: type)! + + JLog.debug("pos:\(decoder.position - startposition) toEnd:\(decoder.countToEnd) Got Type: \(valuetype)") + + switch valuetype + { + case .uint: fallthrough + case .int: assert(decoder.countToEnd >= 16 ) + + let a = try decoder.decode(Int32.self) + let b = try decoder.decode(Int32.self) + + if b == 0 + { + value = .int([a]) + break + } + + assert(decoder.countToEnd >= 16 ) + let c = try decoder.decode(Int32.self) + let d = try decoder.decode(Int32.self) + + + try decoder.decode(Data.self,length: 32) + + value = .int([]) + + case .string: assert(decoder.countToEnd >= 32 ) + let data = try decoder.decode(Data.self,length: 32) + let string = String(data: data, encoding: .utf8)! + value = .string(string) + + case .version: var values = [UInt16]() + + let endposition = decoder.position + 32 + + repeat + { + let a = try decoder.decode(UInt16.self).littleEndian + let b = try decoder.decode(UInt16.self).littleEndian + + if a == 0xFFFE && b == 0x00FF + { + break + } + values.append( a ) + } + while decoder.position < endposition + value = .version(values) + + case .password: if decoder.isAtEnd + { + value = .password(Data()) + } + else + { + assert(decoder.countToEnd == 12 ) + let data = try decoder.decode(Data.self,length: 12) + // let string = String(data: data, encoding: .utf8)! + value = .password(data) + } + } + JLog.debug("Got Value: \(value)") + } + while !decoder.isAtEnd + + + } + +} + diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index facb06e..432252e 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -4,29 +4,29 @@ import JLog -public struct SMAPacket: BinaryDecodable +public struct SMAPacket:Encodable,Decodable { + var smaprefix:UInt32 var group:UInt32? var systemid:UInt16? var serialnumber:UInt32? var currenttimems:UInt32? - var obisPackets = [ObisPacket]() - var smaNetPackets = [SMANetPacket]() + var obisPackets:[ObisPacket] + var smaNetPackets:[SMANetPacket] public var obis:[ObisValue] { obisPackets.first!.obisvalues } +} + +extension SMAPacket:BinaryDecodable +{ enum Error: Swift.Error { - /// The decoder hit the end of the data while the values it was decoding expected - /// more. case prematureEndOfData - - /// Attempted to decode a type which is `Decodable`, but not `BinaryDecodable`. (We - /// require `BinaryDecodable` because `BinaryDecoder` doesn't support full keyed - /// coding functionality.) - case typeNotConformingToSMAPacket(Decodable.Type) + case typeNotConformingToSMAPacket(String) } + public init(data:Data) throws { let byteArray = [UInt8](data) @@ -44,15 +44,18 @@ public struct SMAPacket: BinaryDecodable { JLog.debug("") - let smaprefix = try decoder.decode(UInt32.self).bigEndian + obisPackets = [ObisPacket]() + smaNetPackets = [SMANetPacket]() - if smaprefix != 0x534d4100 // == 'SMA\0' + smaprefix = try decoder.decode(UInt32.self).bigEndian + + guard smaprefix == 0x534d4100 // == 'SMA\0' + else { - JLog.error("packet does not start with SMA header (SMA\0)") - throw Error.typeNotConformingToSMAPacket(SMAPacket.self) + throw Error.typeNotConformingToSMAPacket("packet not sma packet - does not start with SMA\\0") } - JLog.debug("Valid SMA Header") + JLog.debug("Valid SMA Prefix") while !decoder.isAtEnd { @@ -127,10 +130,5 @@ public struct SMAPacket: BinaryDecodable } } } - - var description : String - { - return "Decoded: \( obis.description ) \n" - } } diff --git a/smatester.perl b/smatester.perl index 3ab73d3..50f17ff 100644 --- a/smatester.perl +++ b/smatester.perl @@ -249,12 +249,12 @@ sub string2command sub data2command { - my($data,$convertstring) = @_; + my($data,$convertstring,$oneline) = @_; $convertstring =~ s/\s+//g; - $convertstring .= 'H*'; + $convertstring .= 'H*' if !$oneline; my @command = unpack($convertstring,$data); - push(@command, pack('H*',pop(@command))); + push(@command, pack('H*',pop(@command))) if !$oneline; my @commandcopy = @command; @@ -279,7 +279,8 @@ sub data2command } } - print "]\n"; + print "]"; + print "\n" if !$oneline; #printf "string2command $string -> %02x %02x %02x %02x %08x %08x\n",@command; # printf "[0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%08x, 0x%08x ],\n",@command; @@ -434,16 +435,15 @@ sub writeDataToFile sub prettyhexdata { my ($data,$splitlength) = @_; - my $prettyreceived = unpack('H*',$data); + my $hexstring = unpack('H*',$data); - if( $splitlength > 0) + if( $splitlength ) { - $splitlength *= 2; - $prettyreceived =~ s/([\da-f]{$splitlength})/$1\n/g + my $linesize = $splitlength * 2; + $hexstring =~ s/(\S{$linesize})/\1\n/g; } - $prettyreceived =~ s/([\da-f]{4})/$1 /gs; - $prettyreceived =~ s/ $//; - return $prettyreceived; + $hexstring =~ s/(\S{4})/\1 /g; + return $hexstring; } sub printSMAPacket @@ -512,7 +512,44 @@ sub printSMAPacket # #} +sub counttimeswrong +{ + my($valuesdata,$valuesize) = @_; + + +my %validtypes = ( + 0 => 1, + 0x40 => 1, + 0x10 => 1, + 0x08 => 1, + 0x51 => 1, +); + + my $timesnotok = 0; + while( length($valuesdata) ) + { + my $time = unpack('V',substr($valuesdata,4 , 8)); + my $type = unpack('C',substr($valuesdata,3 , 1)); + $valuesdata = substr($valuesdata,$valuesize); + + $timesnotok += 1000 if 1 != $validtypes{$type}; + + next if $time == 0; + + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time); + + if( $year < 2010 || $year > 2022 ) + { + $timesnotok += 10; + } + elsif( $year < 2021 ) + { + $timesnotok += 1; + } + } + return $timesnotok; +} sub printSMANetPacket { @@ -521,14 +558,64 @@ sub printSMANetPacket { my $smanet_length = unpack('C',substr($data,0,1)) * 4; - my $valuetype = unpack('V',substr($data,28,4)); - my $valuecount = unpack('V',substr($data,32,4)); - my $remaining = $smanet_length - 36; - my $divided = $remaining > 16 && $valuetype != 0 ? $remaining / $valuetype : 0; - $divided = 16 if $divided < 16; - printf " SMANet Packet: length=%d a=$valuetype b=$valuecount remaining: $remaining diveded:$divided \n%s\n\%s\n",$smanet_length,prettyhexdata(substr($data,28,8)), prettyhexdata(substr($data,36),40); + my $valuesheader = substr($data,28,8); + my $valuesdata = substr($data,36); + + printf "SMANet Packet:"; + printf " len=%4d",$remaining; + printf " head:".prettyhexdata($valuesheader); + + my ($all,$already) = unpack('VV',$valuesheader); + my $valuecount = $already-$all + 1; + + my $divided = $remaining / $valuecount; + printf " cnt:0x%02d partlen=%2d",$valuecount,$divided; + my @validsizes = grep( $_ != undef , map { $remaining % $_ == 0 ? $_ : undef } (16,20,28,40) ) ; + my $countisvalid = ( 1 == scalar grep($_ == $divided,@validsizes) ); + + printf " cntisvalid=%d",$countisvalid; + + if( $remaining > 28 ) + { + print " "; + my(@values) = data2command($valuesheader,'CCCCCCC',1); + + if( $countisvalid + && @values[0] == 0 && @values[1] == 0 && @values[2] == 0 && @values[3] == 0 + && @values[5] == 0 && @values[6] == 0 && @values[7] == 0 + ) + { + print " no need to check\n"; + printf prettyhexdata($valuesdata,$divided); + } + else + { + my %counttimeswrong = map { $_ => counttimeswrong($valuesdata,$_) } @validsizes; + + my @mostprobably = sort{ $counttimeswrong{$a} <=> $counttimeswrong{$b} } @validsizes; + printf " (%s)",join(',',map { %counttimeswrong{$_} } @mostprobably); + my $mostprobably = @mostprobably[0]; + + my $countismostprobably = $valuecount == $mostprobably; + + printf " cnt==probable:%d",$countismostprobably; + printf " cntnow:0x%02x", ($remaining / $mostprobably); + + printf " %s",($valuecount == ($remaining / $mostprobably) ? "OK" : "FAIL"); + + + printf "\n"; + printf prettyhexdata($valuesdata,$divided); + } + } + else + { + printf "\n"; + printf prettyhexdata($valuesdata); + } + print "\n" x 10; if( length($data) < 2 || length($data) != $smanet_length @@ -536,6 +623,7 @@ sub printSMANetPacket ) { printf "Invalid SMANet packet: %d != %d < 32 :%s\n",$smanet_length,length($data),prettyhexdata($data); + exit; return undef; } } From 33dfa0fa3251c0c40e58f24a404317ebe49db687 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Tue, 7 Jun 2022 08:33:23 +0200 Subject: [PATCH 19/81] added unknown packet value type to correctly identify type 1 2 3 packets and no longer bail out on just one unkown valuetype --- Sources/sma2mqttLibrary/Extensions.swift | 19 ++- Sources/sma2mqttLibrary/SMANetPacket.swift | 33 +++-- .../sma2mqttLibrary/SMANetPacketValue.swift | 112 ++++++++--------- Sources/sma2mqttLibrary/SMAPacket.swift | 20 +-- Tests/sma2mqttTests/sma2mqttTests.swift | 118 ++++++++++++++++-- smatester.perl | 26 +++- 6 files changed, 224 insertions(+), 104 deletions(-) diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 7f91d12..7cb741a 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -15,9 +15,10 @@ public extension UInt32 public extension Data { - var dump:String + var fullDump:String { - var string:String = "\n" + var string:String = hexDump + "\n" + for (offset,value) in self.enumerated() { @@ -26,6 +27,20 @@ public extension Data return string } } +public extension Data +{ + var hexDump:String + { + var string:String = "" + + for (offset,value) in self.enumerated() + { + string += String(format:"%02x",value) + if (offset+1) % 2 == 0 { string += " " } + } + return string + } +} extension Encodable { diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 9037586..709da71 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -7,6 +7,7 @@ import Foundation import BinaryCoder import JLog +import AppKit struct SMANetPacket:Encodable,Decodable @@ -23,7 +24,7 @@ extension SMANetPacket:BinaryDecodable } init(fromBinary decoder: BinaryDecoder) throws { - JLog.debug("") + JLog.trace("") self.header = try decoder.decode(SMANetPacketHeader.self) @@ -32,20 +33,15 @@ extension SMANetPacket:BinaryDecodable return } - while decoder.countToEnd >= SMANetPacketValue.size + let valueSize = self.header.valueSize + + while !decoder.isAtEnd // 0... 0 else { return 0 } - + guard followingdatasize > 28 else { return 1 } return Int(self.valuecountAll) - Int(self.valuecountDone) + 1 } var valueSize:Int { guard valueCount > 0 else { return 0 } - return followingdatasize / valueCount } @@ -142,13 +137,13 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable if decoder.isAtEnd { - self.valuecountAll = 0 self.valuecountDone = 0 + self.valuecountAll = 0 } else { - self.valuecountAll = try decoder.decode(UInt32.self) self.valuecountDone = try decoder.decode(UInt32.self) + self.valuecountAll = try decoder.decode(UInt32.self) } assert(Self.size == decoder.position - startposition) diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMANetPacketValue.swift index 8ba9074..4d8c4a7 100644 --- a/Sources/sma2mqttLibrary/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMANetPacketValue.swift @@ -20,11 +20,14 @@ struct SMANetPacketValue:Encodable,Decodable enum ValueType:UInt8 { - case uint = 0 + case uint = 0x00 case int = 0x40 case string = 0x10 case version = 0x08 case password = 0x51 + + + case unknown = 0x01 } enum PacketValue:Encodable,Decodable @@ -34,6 +37,7 @@ struct SMANetPacketValue:Encodable,Decodable case string(String) case version([UInt16]) case password(Data) + case unknown(Data) } var value:PacketValue @@ -55,76 +59,66 @@ extension SMANetPacketValue:BinaryDecodable assert(Self.size == decoder.position - startposition) + let valuetype = ValueType(rawValue: type) ?? .unknown - repeat + switch valuetype { - let valuetype = ValueType(rawValue: type)! - - JLog.debug("pos:\(decoder.position - startposition) toEnd:\(decoder.countToEnd) Got Type: \(valuetype)") - - switch valuetype - { - case .uint: fallthrough - case .int: assert(decoder.countToEnd >= 16 ) - - let a = try decoder.decode(Int32.self) - let b = try decoder.decode(Int32.self) - - if b == 0 - { - value = .int([a]) - break - } + case .uint: var values = [UInt32]() + while !decoder.isAtEnd + { + let value = try decoder.decode(UInt32.self) - assert(decoder.countToEnd >= 16 ) - let c = try decoder.decode(Int32.self) - let d = try decoder.decode(Int32.self) + values.append(value) + } + value = .uint(values) + case .int: var values = [Int32]() + while !decoder.isAtEnd + { + let value = try decoder.decode(Int32.self) - try decoder.decode(Data.self,length: 32) + values.append(value) + } + value = .int(values) - value = .int([]) + case .string: //assert(decoder.countToEnd >= 32 ) + let data = try decoder.decode(Data.self,length: decoder.countToEnd) + let string = String(data: data, encoding: .ascii)! + value = .string(string) - case .string: assert(decoder.countToEnd >= 32 ) - let data = try decoder.decode(Data.self,length: 32) - let string = String(data: data, encoding: .utf8)! - value = .string(string) + case .version: var values = [UInt16]() - case .version: var values = [UInt16]() + while !decoder.isAtEnd + { + let a = try decoder.decode(UInt16.self).littleEndian + let b = try decoder.decode(UInt16.self).littleEndian - let endposition = decoder.position + 32 - - repeat - { - let a = try decoder.decode(UInt16.self).littleEndian - let b = try decoder.decode(UInt16.self).littleEndian - - if a == 0xFFFE && b == 0x00FF - { - break - } - values.append( a ) - } - while decoder.position < endposition - value = .version(values) - - case .password: if decoder.isAtEnd - { - value = .password(Data()) - } - else + if a == 0xFFFE && b == 0x00FF { - assert(decoder.countToEnd == 12 ) - let data = try decoder.decode(Data.self,length: 12) - // let string = String(data: data, encoding: .utf8)! - value = .password(data) + break } - } - JLog.debug("Got Value: \(value)") - } - while !decoder.isAtEnd - + values.append( a ) + } + value = .version(values) + + case .password: if decoder.isAtEnd + { + value = .password(Data()) + } + else + { + assert(decoder.countToEnd == 12 ) + let data = try decoder.decode(Data.self,length: 12) +// let string = String(data: data, encoding: .utf8)! + value = .password(data) + } + + case .unknown: let data = try decoder.decode(Data.self, length:decoder.countToEnd) + value = .unknown(data) + JLog.error("unkown: \( String(format:"no:0x%02x code:0x%04x type:0x%02x",number,code,type) ) time:\(time) data:\(data.hexDump) ") + } + JLog.trace("Got Value: \(value)") } } diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index 432252e..0e68abe 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -21,9 +21,9 @@ public struct SMAPacket:Encodable,Decodable extension SMAPacket:BinaryDecodable { - enum Error: Swift.Error { - case prematureEndOfData - case typeNotConformingToSMAPacket(String) + enum SMAPacketError: Swift.Error { + case notaSMAPacket(String) + case prematureEndOfSMAContentData(String) } @@ -52,7 +52,7 @@ extension SMAPacket:BinaryDecodable guard smaprefix == 0x534d4100 // == 'SMA\0' else { - throw Error.typeNotConformingToSMAPacket("packet not sma packet - does not start with SMA\\0") + throw SMAPacketError.notaSMAPacket("packet not sma packet - does not start with SMA\\0") } JLog.debug("Valid SMA Prefix") @@ -71,6 +71,12 @@ extension SMAPacket:BinaryDecodable if length > 0 { + guard Int(length) <= decoder.countToEnd + else + { + throw SMAPacketError.prematureEndOfSMAContentData("sma content too short expected length:\(length) has:\(decoder.countToEnd)") + } + let smaNetData = try decoder.decode(Data.self,length:Int(length)) let smaNetDecoder = BinaryDecoder(data: [UInt8](smaNetData) ) @@ -83,7 +89,7 @@ extension SMAPacket:BinaryDecodable } else { - JLog.error(("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.dump)")) + JLog.error(("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump)")) } case 0x0010: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian @@ -122,10 +128,10 @@ extension SMAPacket:BinaryDecodable } else { - JLog.error("Could not decode protocol:\(tag) length:\(length) data:\(smaNetData.dump)") + JLog.error("Could not decode protocol:\(tag) length:\(length) data:\(smaNetData.hexDump)") } - default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.dump) trying detection") + default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump) trying detection") } } } diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 84f214f..789f6ff 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -8,6 +8,8 @@ import class Foundation.Bundle func hex(from string: String) -> Data { let stringWithoutSpaces = string.replacingOccurrences(of:" ", with:"") + .replacingOccurrences(of:"\n", with:"") + .replacingOccurrences(of:"\t", with:"") let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) .map{ stringWithoutSpaces[stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1)] } @@ -113,7 +115,7 @@ final class sma2mqttTests: XCTestCase func testSMANetDecoding() throws { - JLog.loglevel = .debug + JLog.loglevel = .trace let data1 = hex(from:"534d 4100 0004 02a0 0000 0001 003a 0010 6065 0ea0 ffff ffff ffff 0001 1234 25f6 4321 0001 0000 0000 0180 0c04 fdff 0700 0000 8403 0000 4c20 cb51 0000 0000 dbb8 f4e9 fae7 ddfb edfa 8888 0000") let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) @@ -121,20 +123,36 @@ final class sma2mqttTests: XCTestCase let packet1 = try? SMAPacket(fromBinary:binaryDecoder1) assert(binaryDecoder1.isAtEnd) + } - let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/sb4.out"),options:.mappedRead) + func testSMAFile() throws + { + JLog.loglevel = .info + let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) let separator = Data(bytes: [0x53, 0x4d, 0x41, 0x00] ) var counter = 0 let splitter = DataSplitter(data: data, splitData: separator) for chunk in splitter { -// counter += 1 + counter += 1 let binaryDecoder = BinaryDecoder(data: [UInt8](chunk) ) -// print(counter) - let packet = try? SMAPacket(fromBinary:binaryDecoder) + if counter % 1000 == 0 + { + print(counter) + } + -// JLog.debug("Packet:\(packet)") + do + { + let packet = try SMAPacket(fromBinary:binaryDecoder) + + JLog.debug("Packet \(counter):\(packet)") + } + catch + { + JLog.error("Packet \(counter): got error: \(error) data:\(chunk.hexDump)") + } } XCTAssert(true) @@ -142,6 +160,7 @@ final class sma2mqttTests: XCTestCase func testSMANetPacketDecoding() throws { + JLog.loglevel = .debug let data1 = hex(from:""" 1800 0000 2f00 0000 01 2952 00 3fd5 9462 0000 0000 0000 0000 1027 0000 1027 0000 ffff ffff ffff ffff ffff ffff ffff ffff @@ -172,11 +191,12 @@ final class sma2mqttTests: XCTestCase 01 2852 40 3fd59462 0000 0000 0000 0000 321e 0000 321e 0000 0000 0080 0000 0080 0000 0080 0000 0080 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) - let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + let packet1 = try? SMANetPacketValue(fromBinary:binaryDecoder1) } func testSMANetPacketDecoding2a() throws { + JLog.loglevel = .debug let data1 = hex(from:""" 0000 0000 2200 0000 01 1f41 00 3fd59462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -217,11 +237,12 @@ final class sma2mqttTests: XCTestCase 01 5446 40 40d59462 f90f 0000 f90f 0000 f90f 0000 f90f 0000 0100 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) - let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + let packet1 = try? SMANetPacketValue(fromBinary:binaryDecoder1) } func testSMANetPacketDecoding2() throws { + JLog.loglevel = .debug let data1 = hex(from:""" 0000 0000 0900 0000 @@ -237,10 +258,11 @@ final class sma2mqttTests: XCTestCase 018c 6100 af659162 3508 0000 0000 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) - let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + let packet1 = try? SMANetPacketValue(fromBinary:binaryDecoder1) } func testSMANetPacketDecoding3() throws { + JLog.loglevel = .debug let data1 = hex(from:""" 0000 0000 2200 0000 @@ -282,10 +304,11 @@ final class sma2mqttTests: XCTestCase 01 5446 40 41d59462 f70f 0000 f70f 0000 f70f 0000 f70f 0000 0100 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) - let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + let packet1 = try? SMANetPacketValue(fromBinary:binaryDecoder1) } func testSMANetPacketDecoding4() throws { + JLog.loglevel = .debug let data1 = hex(from:""" 0000 0000 0500 0000 01 1e25 40 56d59462 1d02 0000 1d02 0000 1d02 0000 1d02 0000 0100 0000 @@ -296,9 +319,82 @@ final class sma2mqttTests: XCTestCase 02 2145 40 56d59462 a105 0000 a105 0000 a105 0000 a105 0000 0100 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) - let packet1 = try? SMANetPacket(fromBinary:binaryDecoder1) + let packet1 = try? SMANetPacketValue(fromBinary:binaryDecoder1) + } + + + func testSMANetPacketDecoding5() throws + { + JLog.loglevel = .trace + let data1 = hex(from:""" +534d 4100 +0004 02a0 +0000 0001 +03fa 0010 +6065 +fea0 1234 5a97 4321 00a1 9901 f6a2 2fb3 0001 0000 +eb00 54f6 0102 005d + +0000 0000 3000 0000 +00 0000 00 0000 0000 0000 0000 0000 0000 0000 0000 +01 0000 01 5370 7400 0000 0000 0000 0000 0000 0000 +02 0000 01 4163 746c 5661 6c00 0000 0000 0000 0000 +03 0000 01 4163 7450 7772 0000 0000 0000 0000 0000 +04 0000 00 5b64 426d 5d00 0000 0000 0000 0000 0000 +05 0000 00 5b64 6567 5d00 0000 0000 0000 0000 0000 +06 0000 00 5b68 5d00 0000 0000 0000 0000 0000 0000 +07 0000 00 5b48 7a5d 0000 0000 0000 0000 0000 0000 +08 0000 00 5b6b 5768 5d00 0000 0000 0000 0000 0000 +09 0000 00 5b6d 2f73 5d00 0000 0000 0000 0000 0000 +0a 0000 00 5b6d 735d 0000 0000 0000 0000 0000 0000 +0b 0000 00 5b4f 686d 5d00 0000 0000 0000 0000 0000 +0c 0000 00 5b50 615d 0000 0000 0000 0000 0000 0000 +0d 0000 00 5b73 5d00 0000 0000 0000 0000 0000 0000 +0e 0000 00 5b56 5d00 0000 0000 0000 0000 0000 0000 +0f 0000 00 5b56 415d 0000 0000 0000 0000 0000 0000 +10 0000 00 5b56 4172 5d00 0000 0000 0000 0000 0000 +11 0000 00 5b57 2f6d b25d 0000 0000 0000 0000 0000 +12 0000 00 5b57 5d00 0000 0000 0000 0000 0000 0000 +13 0000 00 5b57 685d 0000 0000 0000 0000 0000 0000 +14 0000 00 4100 0000 0000 0000 0000 0000 0000 0000 +15 0000 00 4162 7347 7269 5377 436e 7400 0000 0000 +16 0000 00 4162 734f 7054 6d73 0000 0000 0000 0000 +17 0000 00 4162 7346 6565 6454 6d73 0000 0000 0000 +18 0000 00 4162 7357 6849 6e00 0000 0000 0000 0000 +19 0000 00 4162 7357 684f 7574 0000 0000 0000 0000 +1a 0000 00 4163 6b6e 0000 0000 0000 0000 0000 0000 +1b 0000 00 4164 6a00 0000 0000 0000 0000 0000 0000 +1c 0000 00 4169 6400 0000 0000 0000 0000 0000 0000 +1d 0000 00 4163 7143 6e74 0000 0000 0000 0000 0000 +1e 0000 00 4163 7154 6d00 0000 0000 0000 0000 0000 +1f 0000 00 5b4b 5d00 0000 0000 0000 0000 0000 0000 +20 0000 00 5bb0 465d 0000 0000 0000 0000 0000 0000 +21 0000 00 5b57 2f73 5d00 0000 0000 0000 0000 0000 +22 0000 00 5b6d 696e 5d00 0000 0000 0000 0000 0000 +23 0000 00 416c 6d00 0000 0000 0000 0000 0000 0000 +24 0000 00 414d 6178 4f66 7300 0000 0000 0000 0000 +25 0000 00 414d 6178 4f66 7354 6d6d 7300 0000 0000 +26 0000 00 416d 7000 0000 0000 0000 0000 0000 0000 +27 0000 00 416d 704e 6f6d 0000 0000 0000 0000 0000 +28 0000 00 416e 6746 6163 7400 0000 0000 0000 0000 +29 0000 00 414e 6f6d 0000 0000 0000 0000 0000 0000 +2a 0000 00 4153 3437 3737 2e33 0000 0000 0000 0000 +2b 0000 00 4e6f 7441 646a 0000 0000 0000 0000 0000 +2c 0000 00 4175 7831 0000 0000 0000 0000 0000 0000 +2d 0000 00 4175 7832 0000 0000 0000 0000 0000 0000 +2e 0000 00 4261 7400 0000 0000 0000 0000 0000 0000 +2f 0000 00 4274 5077 7200 0000 0000 0000 0000 0000 +30 0000 00 4361 6200 0000 0000 0000 0000 0000 0000 + +0000 0000 +""") + print(data1.hexDump) + let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) + let packet1 = try? SMAPacket(fromBinary:binaryDecoder1) } + + } diff --git a/smatester.perl b/smatester.perl index 50f17ff..2f44e1e 100644 --- a/smatester.perl +++ b/smatester.perl @@ -514,7 +514,7 @@ sub printSMAPacket sub counttimeswrong { - my($valuesdata,$valuesize) = @_; + my($valuesdata,$valuesize,$warn) = @_; my %validtypes = ( @@ -526,6 +526,9 @@ sub counttimeswrong ); my $timesnotok = 0; + + my $invalidtypes = 0; + while( length($valuesdata) ) { my $time = unpack('V',substr($valuesdata,4 , 8)); @@ -535,6 +538,8 @@ sub counttimeswrong $timesnotok += 1000 if 1 != $validtypes{$type}; + $invalidtypes++ if 1 != $validtypes{$type}; + next if $time == 0; my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time); @@ -548,6 +553,12 @@ sub counttimeswrong $timesnotok += 1; } } + + if($warn) + { + printf " typeok:%d",0 == $invalidtypes; + } + return $timesnotok; } @@ -567,8 +578,8 @@ sub printSMANetPacket printf " len=%4d",$remaining; printf " head:".prettyhexdata($valuesheader); - my ($all,$already) = unpack('VV',$valuesheader); - my $valuecount = $already-$all + 1; + my ($already,$all) = unpack('VV',$valuesheader); + my $valuecount = $all-$already + 1; my $divided = $remaining / $valuecount; printf " cnt:0x%02d partlen=%2d",$valuecount,$divided; @@ -576,12 +587,11 @@ sub printSMANetPacket my $countisvalid = ( 1 == scalar grep($_ == $divided,@validsizes) ); printf " cntisvalid=%d",$countisvalid; - - if( $remaining > 28 ) - { print " "; my(@values) = data2command($valuesheader,'CCCCCCC',1); + if( $remaining > 28 ) + { if( $countisvalid && @values[0] == 0 && @values[1] == 0 && @values[2] == 0 && @values[3] == 0 && @values[5] == 0 && @values[6] == 0 && @values[7] == 0 @@ -600,13 +610,17 @@ sub printSMANetPacket my $countismostprobably = $valuecount == $mostprobably; + printf " cnt==probable:%d",$countismostprobably; printf " cntnow:0x%02x", ($remaining / $mostprobably); + counttimeswrong($valuesdata,$divided,1); + printf " %s",($valuecount == ($remaining / $mostprobably) ? "OK" : "FAIL"); printf "\n"; + printf prettyhexdata($valuesdata,$divided); } } From 0a10bad489b582a7f737d88a79e389aebca67dc3 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 8 Jun 2022 07:52:18 +0200 Subject: [PATCH 20/81] Added SMANetPackDefinition and printing --- Package.swift | 3 +- .../Resources/SMANetPacketDefinitions.json | 66 +++++++ .../SMANetPacketDefition.swift | 42 +++++ .../sma2mqttLibrary/SMANetPacketValue.swift | 66 +++++-- Tests/sma2mqttTests/sma2mqttTests.swift | 177 +++--------------- smatester.perl | 2 + 6 files changed, 195 insertions(+), 161 deletions(-) create mode 100644 Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json create mode 100644 Sources/sma2mqttLibrary/SMANetPacketDefition.swift diff --git a/Package.swift b/Package.swift index 91d9f18..9e4303b 100644 --- a/Package.swift +++ b/Package.swift @@ -39,7 +39,8 @@ let package = Package( dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "JLog", package: "JLog") ], - resources: [ .copy("Resources/obisdefinition.json") + resources: [ .copy("Resources/obisdefinition.json"), + .copy("Resources/SMANetPacketDefinitions.json") ] ), .testTarget( name: "sma2mqttTests", diff --git a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json new file mode 100644 index 0000000..903407a --- /dev/null +++ b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json @@ -0,0 +1,66 @@ +[ + { "address" : "0x0000", "topic" : "unknown/null" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x2148", "topic" : "immediate/system/status" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x2377", "topic" : "immediate/system/externaltemperature" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x251E", "topic" : "immediate/dc/power" , "unit" : "W" , "factor" : 1 , "title" : "Power DC" }, + { "address" : "0x2601", "topic" : "counter/totaldischarge" , "unit" : "kWh" , "factor" : 1000 , "title" : "" }, + { "address" : "0x2622", "topic" : "counter/dailydischarge" , "unit" : "kWh" , "factor" : 1000 , "title" : "Daily Discharge" }, + { "address" : "0x263F", "topic" : "immediate/gridusage" , "unit" : "W" , "factor" : 1 , "title" : "Grid Usage" }, + { "address" : "0x295A", "topic" : "immediate/soc" , "unit" : "%" , "factor" : 1 , "title" : "Battery State of Charge" }, + { "address" : "0x411E", "topic" : "system/nominalpowerstatus" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x411F", "topic" : "immediate/system/warning" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4120", "topic" : "immediate/system/powerfault" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4164", "topic" : "immediate/ac/contactstatus" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4166", "topic" : "immediate/ac/feedinwaittime" , "unit" : "s" , "factor" : 1 , "title" : "" }, + { "address" : "0x451F", "topic" : "immediate/dc/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x4521", "topic" : "immediate/dc/amperage" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4623", "topic" : "unknown/maybe/counter/total/generation" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4624", "topic" : "unknown/maybe/counter/total/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4625", "topic" : "unknown/maybe/counter/total/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4626", "topic" : "unknown/maybe/counter/total/consumption" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4627", "topic" : "unknown/maybe/counter/day,feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4628", "topic" : "unknown/maybe/counter/day/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x462E", "topic" : "immediate/operatingtime" , "unit" : "s" , "factor" : 1 , "title" : "" }, + { "address" : "0x462F", "topic" : "counter/feedintime" , "unit" : "s" , "factor" : 1 , "title" : "" }, + { "address" : "0x4631", "topic" : "unknown/maybe/grid/failure" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4635", "topic" : "unknown/maybe/grid/total/generation" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4636", "topic" : "counter/total/feedin" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4637", "topic" : "counter/total/usage" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4639", "topic" : "unknown/maybe/grid/total/consumption" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x463A", "topic" : "unknown/maybe/grid/power/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x463B", "topic" : "unknown/maybe/grid/power/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4640", "topic" : "immediate/ac/power/phaseA" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4641", "topic" : "immediate/ac/power/phaseB" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4642", "topic" : "immediate/ac/power/phaseC" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4648", "topic" : "immediate/ac/voltage/phaseA" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x4649", "topic" : "immediate/ac/voltage/phaseB" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x464A", "topic" : "immediate/ac/voltage/phaseC" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x464B", "topic" : "immediate/ac/powerfactor/phaseA" , "unit" : "%" , "factor" : 1 , "title" : "" }, + { "address" : "0x464C", "topic" : "immediate/ac/powerfactor/phaseB" , "unit" : "%" , "factor" : 1 , "title" : "" }, + { "address" : "0x464D", "topic" : "immediate/ac/powerfactor/phaseC" , "unit" : "%" , "factor" : 1 , "title" : "" }, + { "address" : "0x464E", "topic" : "unknown/maybe/something" , "unit" : "?" , "factor" : 1 , "title" : "" }, + { "address" : "0x4650", "topic" : "unknown/maybe/grid/current/phaseA" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4651", "topic" : "unknown/maybe/grid/current/phaseB" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4652", "topic" : "unknown/maybe/grid/current/phaseC" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4653", "topic" : "immediate/ac/current/phaseA" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4654", "topic" : "immediate/ac/current/phaseB" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4655", "topic" : "immediate/ac/current/phaseC" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4657", "topic" : "immediate/ac/frequency" , "unit" : "Hz" , "factor" : 100 , "title" : "" }, + { "address" : "0x46AA", "topic" : "unknown/maybe/counter/ownconsumption" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x46AB", "topic" : "unknown/maybe/power/ownconsumption" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x491E", "topic" : "unknown/maybe/battery/counter/charges" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4922", "topic" : "battery/cells/maxtemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "" }, + { "address" : "0x4923", "topic" : "battery/cells/mintemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "" }, + { "address" : "0x4924", "topic" : "unknown/maybe/battery/cells" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4926", "topic" : "unknown/maybe/battery/total/charge" , "unit" : "Ah" , "factor" : 1 , "title" : "" }, + { "address" : "0x4927", "topic" : "unknown/maybe/battery/total/discharge" , "unit" : "Ah" , "factor" : 1 , "title" : "" }, + { "address" : "0x4933", "topic" : "battery/cells/setcharging/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x495B", "topic" : "immediate/batterytemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "Battery Temperature" }, + { "address" : "0x495C", "topic" : "battery/system/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x495D", "topic" : "battery/system/current" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x821E", "topic" : "settings/system/name" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x821F", "topic" : "static/mainmodel" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x8220", "topic" : "static/systemtype" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x8234", "topic" : "static/softwareversion" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x832A", "topic" : "unknown/maybe/system/maximumpoweroutput" , "unit" : "" , "factor" : 1 , "title" : "" }, + ] diff --git a/Sources/sma2mqttLibrary/SMANetPacketDefition.swift b/Sources/sma2mqttLibrary/SMANetPacketDefition.swift new file mode 100644 index 0000000..dad34d3 --- /dev/null +++ b/Sources/sma2mqttLibrary/SMANetPacketDefition.swift @@ -0,0 +1,42 @@ +// +// SMANetPacketDefinition.swift +// +// +// Created by Patrick Stein on 08.06.22. +// + +import Foundation +import JLog + +struct SMANetPacketDefinition:Encodable,Decodable +{ + let address:String + + let topic:String + let unit:String + let factor:Decimal? + + let title:String +} + + +extension SMANetPacketDefinition +{ + static let definitions:[UInt16:SMANetPacketDefinition] = + { + if let url = Bundle.module.url(forResource: "SMANetPacketDefinitions", withExtension: "json") + { + if let jsonData = try? Data(contentsOf: url), + let netpacketDefinitions = try? JSONDecoder().decode([SMANetPacketDefinition].self, from: jsonData) + { + return Dictionary(uniqueKeysWithValues: netpacketDefinitions.map { (UInt16( Int($0.address.dropFirst(2), radix:16)! ), $0) }) + } + JLog.error("Could not decode resource file \(url)") + return [UInt16:SMANetPacketDefinition]() + } + JLog.error("Could not find SMANetPacketDefinitions.json resource file") + return [UInt16:SMANetPacketDefinition]() + }() +} + + diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMANetPacketValue.swift index 4d8c4a7..6fab1b7 100644 --- a/Sources/sma2mqttLibrary/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMANetPacketValue.swift @@ -9,14 +9,14 @@ import BinaryCoder import JLog -struct SMANetPacketValue:Encodable,Decodable +struct SMANetPacketValue:Decodable { let number:UInt8 - let code:UInt16 + let address:UInt16 let type:UInt8 - private let _time:UInt32 + let time:UInt32 - var time:Date { Date(timeIntervalSince1970: Double(_time) ) } + var date:Date { Date(timeIntervalSince1970: Double(time) ) } enum ValueType:UInt8 { @@ -26,7 +26,6 @@ struct SMANetPacketValue:Encodable,Decodable case version = 0x08 case password = 0x51 - case unknown = 0x01 } @@ -45,6 +44,49 @@ struct SMANetPacketValue:Encodable,Decodable var description:String { self.json } } +extension SMANetPacketValue:Encodable +{ + public func encode(to encoder: Encoder) throws + { + let packetDefinition = SMANetPacketDefinition.definitions[address] ?? SMANetPacketDefinition.definitions[0]! + + enum CodingKeys: String, CodingKey + { + case address, + topic, + unit, + title, + + number, + value, + date + + } + var container = encoder.container(keyedBy:CodingKeys.self) + + try container.encode("0x" + String(self.address,radix: 16) ,forKey:.address) + try container.encode(packetDefinition.unit ,forKey:.unit) + try container.encode(packetDefinition.title ,forKey:.title) + + + let factor = packetDefinition.factor + let hasFactor = packetDefinition.factor != nil && packetDefinition.factor! != 0 && packetDefinition.factor! != 1 + + switch value + { + case .uint(let values): let toEncode = values.map { $0 == .max ? nil : (hasFactor ? Decimal($0) / factor! : Decimal($0)) } + try container.encode( toEncode,forKey:CodingKeys.value) + + case .int(let values): let toEncode = values.map { $0 == .min ? nil : (hasFactor ? Decimal($0) / factor! : Decimal($0)) } + try container.encode( toEncode,forKey:CodingKeys.value) + + case .string(let value): try container.encode(value,forKey:CodingKeys.value) + case .version(let values): try container.encode(values,forKey:CodingKeys.value) + case .password(let value): try container.encode(value,forKey:CodingKeys.value) + case .unknown(let value): try container.encode(value,forKey:CodingKeys.value) + } + } +} extension SMANetPacketValue:BinaryDecodable { @@ -53,9 +95,9 @@ extension SMANetPacketValue:BinaryDecodable let startposition = decoder.position self.number = try decoder.decode(UInt8.self).littleEndian - self.code = try decoder.decode(UInt16.self).littleEndian + self.address = try decoder.decode(UInt16.self).littleEndian self.type = try decoder.decode(UInt8.self).littleEndian - self._time = try decoder.decode(UInt32.self).littleEndian + self.time = try decoder.decode(UInt32.self).littleEndian assert(Self.size == decoder.position - startposition) @@ -68,7 +110,7 @@ extension SMANetPacketValue:BinaryDecodable { let value = try decoder.decode(UInt32.self) - values.append(value) + values.append( value ) } value = .uint(values) @@ -79,7 +121,7 @@ extension SMANetPacketValue:BinaryDecodable values.append(value) } - value = .int(values) + value = .int( values ) case .string: //assert(decoder.countToEnd >= 32 ) let data = try decoder.decode(Data.self,length: decoder.countToEnd) @@ -99,7 +141,7 @@ extension SMANetPacketValue:BinaryDecodable } values.append( a ) } - value = .version(values) + value = .version( values ) case .password: if decoder.isAtEnd { @@ -115,10 +157,10 @@ extension SMANetPacketValue:BinaryDecodable case .unknown: let data = try decoder.decode(Data.self, length:decoder.countToEnd) value = .unknown(data) - JLog.error("unkown: \( String(format:"no:0x%02x code:0x%04x type:0x%02x",number,code,type) ) time:\(time) data:\(data.hexDump) ") + JLog.error("unkown: \( String(format:"no:0x%02x code:0x%04x type:0x%02x",number,address,type) ) time:\(date) data:\(data.hexDump) ") } - JLog.trace("Got Value: \(value)") + JLog.trace("Got Value: \(self.json)") } } diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 789f6ff..9aa7cb8 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -16,31 +16,28 @@ func hex(from string: String) -> Data .map{ UInt8($0, radix: 16)! } return Data(uInt8Array) } + struct DataSplitter:Sequence, IteratorProtocol { let data : Data var index : Data.Index let splitData:Data - init(data: Data,splitData:Data) { + init(data: Data,splitData:Data) + { self.data = data self.splitData = splitData self.index = data.startIndex - print("init") + JLog.debug("init") } mutating func next() -> Data? { -// print("\(#line) index:\(index)") - guard self.index != self.data.endIndex else { return nil } -// print("\(#line) index:\(index)") - guard let range = data[index ..< data.endIndex].range(of: splitData) else { -// print("\(#line) index:\(index)") if index == data.startIndex { index = data.endIndex @@ -51,15 +48,11 @@ struct DataSplitter:Sequence, IteratorProtocol index = data.endIndex return returnData } -// print("\(#line) index:\(index) range:\(range) ") - if index == data.startIndex { -// print("\(#line) index:\(index) range:\(range) ") index = range.endIndex return next() } -// print("\(#line) index:\(index) range:\(range) ") let returnData = data[ (index-splitData.count) ..< range.startIndex] index = range.endIndex @@ -71,19 +64,18 @@ struct DataSplitter:Sequence, IteratorProtocol extension Data { func split(separator: Data) -> [Data] { - var chunks: [Data] = [] var pos = startIndex // Find next occurrence of separator after current position: - while let r = self[pos...].range(of: separator) + while let matchedRange = self[pos...].range(of: separator) { // Append if non-empty: - if r.lowerBound > pos + if matchedRange.lowerBound > pos { - chunks.append(self[(pos - separator.count).. Date: Thu, 9 Jun 2022 07:30:43 +0200 Subject: [PATCH 21/81] receiving multiple packets - figured out packetcounter. --- Package.swift | 4 + .../Resources/SMANetPacketDefinitions.json | 35 ++++- Sources/sma2mqttLibrary/SMANetPacket.swift | 10 +- .../sma2mqttLibrary/SMANetPacketValue.swift | 15 +- Tests/sma2mqttTests/sma2mqttTests.swift | 147 ++++++++++-------- smatester.perl | 55 +++++-- 6 files changed, 173 insertions(+), 93 deletions(-) diff --git a/Package.swift b/Package.swift index 9e4303b..59c342d 100644 --- a/Package.swift +++ b/Package.swift @@ -47,7 +47,11 @@ let package = Package( dependencies: [ "sma2mqttLibrary", .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "JLog", package: "JLog") + ], + resources: [ .copy("Resources/obisdefinition.json"), + .copy("Resources/SMANetPacketDefinitions.json") ] + ) ] ) diff --git a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json index 903407a..f2da4fd 100644 --- a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json +++ b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json @@ -59,8 +59,35 @@ { "address" : "0x495C", "topic" : "battery/system/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, { "address" : "0x495D", "topic" : "battery/system/current" , "unit" : "A" , "factor" : 1000 , "title" : "" }, { "address" : "0x821E", "topic" : "settings/system/name" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x821F", "topic" : "static/mainmodel" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x8220", "topic" : "static/systemtype" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x8234", "topic" : "static/softwareversion" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x832A", "topic" : "unknown/maybe/system/maximumpoweroutput" , "unit" : "" , "factor" : 1 , "title" : "" }, + + { "address" : "0x821F", "topic" : "system/mainmodel" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x8220", "topic" : "system/systemtype" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x2330", "topic" : "system/manufacturer" , "unit" : "" , "title" : "Manufacturer" }, + { "address" : "0x2332", "topic" : "system/modelname" , "unit" : "" , "title" : "Model Name" }, + { "address" : "0x8234", "topic" : "system/softwareversion" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x832A", "topic" : "system/maximumpoweroutput" , "unit" : "W" , "factor" : 1 , "title" : "Maximum Power Output" }, + + + { "address" : "0xcb20", "topic" : "settings/password" , "unit" : "" , "factor" : 1 , "title" : "" }, + + { "address" : "0x838f", "topic" : "settings/network/ntpserver" , "unit" : "" , "title" : "NTP Server" }, + + { "address" : "0xA22f", "topic" : "settings/network/ethernetaddress" , "unit" : "" , "title" : "Ethernet MAC Address" }, + + { "address" : "0x4A9A", "topic" : "settings/network/ipaddress" , "unit" : "" , "title" : "Ethernet IP Address" }, + { "address" : "0x4a9b", "topic" : "settings/network/netmask" , "unit" : "" , "title" : "Ethernet Netmask" }, + { "address" : "0x4a9c", "topic" : "settings/network/gateway" , "unit" : "" , "title" : "Ethernet Gateway" }, + { "address" : "0x4a9d", "topic" : "settings/network/gateway2" , "unit" : "" , "title" : "Ethernet Gateway2" }, + + { "address" : "0x8a53", "topic" : "settings/wifi/ipaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI IP Address" }, + { "address" : "0x8a54", "topic" : "settings/wifi/netmask" , "unit" : "" , "factor" : 1 , "title" : "WiFi Netmask" }, + { "address" : "0x8a55", "topic" : "settings/wifi/gateway" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway" }, + { "address" : "0x8a56", "topic" : "settings/wifi/gateway2" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway2" }, + { "address" : "0x8a59", "topic" : "settings/wifi/ssid" , "unit" : "" , "factor" : 1 , "title" : "WiFI SSID" }, + + + { "address" : "0xa230", "topic" : "settings/wifi/ethernetaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI MAC Address" }, + { "address" : "0xaa61", "topic" : "settings/wifi/ipaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI IP Address" }, + { "address" : "0xaa62", "topic" : "settings/wifi/netmask" , "unit" : "" , "factor" : 1 , "title" : "WiFi Netmask" }, + { "address" : "0xaa63", "topic" : "settings/wifi/gateway" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway" }, ] diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 709da71..b37f5f9 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -68,12 +68,9 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable let destinationSerial:UInt32 let unknown3:UInt16 - let response:UInt16 - let unknown4:UInt8 - let unknown5:UInt8 - + let remainingpackets:UInt16 private let _packetId:UInt16 let unknown6:UInt16 @@ -82,7 +79,7 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable // calculated var packetId: UInt16 { _packetId & 0x7FFF } - var packetFlag: Bool { _packetId & 0x8000 != 0 } + var firstpacket: Bool { _packetId & 0x8000 != 0 } let valuecountDone:UInt32 let valuecountAll:UInt32 @@ -126,8 +123,7 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable self.response = try decoder.decode(UInt16.self).littleEndian - self.unknown4 = try decoder.decode(UInt8.self).littleEndian - self.unknown5 = try decoder.decode(UInt8.self).littleEndian + self.remainingpackets = try decoder.decode(UInt16.self).littleEndian self._packetId = try decoder.decode(UInt16.self).littleEndian diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMANetPacketValue.swift index 6fab1b7..7d4f50d 100644 --- a/Sources/sma2mqttLibrary/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMANetPacketValue.swift @@ -56,16 +56,22 @@ extension SMANetPacketValue:Encodable topic, unit, title, + - number, + anumber, value, + time, date } var container = encoder.container(keyedBy:CodingKeys.self) - try container.encode("0x" + String(self.address,radix: 16) ,forKey:.address) + try container.encode(String(format:"0x%04x",self.address),forKey:.address) + try container.encode(number ,forKey:.anumber) + try container.encode(time ,forKey:.time) + try container.encode(date.description ,forKey:.date) try container.encode(packetDefinition.unit ,forKey:.unit) + try container.encode(packetDefinition.topic ,forKey:.topic) try container.encode(packetDefinition.title ,forKey:.title) @@ -124,8 +130,9 @@ extension SMANetPacketValue:BinaryDecodable value = .int( values ) case .string: //assert(decoder.countToEnd >= 32 ) - let data = try decoder.decode(Data.self,length: decoder.countToEnd) - let string = String(data: data, encoding: .ascii)! + var ok = true + let data = try decoder.decode(Data.self,length: decoder.countToEnd).filter{ ok = ok && ($0 != 0) ; return ok } + let string = String(data:data ,encoding: .isoLatin1)! value = .string(string) case .version: var values = [UInt16]() diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 9aa7cb8..296af4f 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -119,7 +119,7 @@ final class sma2mqttTests: XCTestCase func testSMAFile() throws { - JLog.loglevel = .debug + JLog.loglevel = .trace JLog.info("loading data") let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) JLog.info("data loaded") @@ -208,70 +208,95 @@ final class sma2mqttTests: XCTestCase { JLog.loglevel = .trace let data1 = hex(from:""" -534d 4100 -0004 02a0 -0000 0001 -03fa 0010 -6065 -fea0 1234 5a97 4321 00a1 9901 f6a2 2fb3 0001 0000 -eb00 54f6 0102 005d - -0000 0000 3000 0000 -00 0000 00 0000 0000 0000 0000 0000 0000 0000 0000 -01 0000 01 5370 7400 0000 0000 0000 0000 0000 0000 -02 0000 01 4163 746c 5661 6c00 0000 0000 0000 0000 -03 0000 01 4163 7450 7772 0000 0000 0000 0000 0000 -04 0000 00 5b64 426d 5d00 0000 0000 0000 0000 0000 -05 0000 00 5b64 6567 5d00 0000 0000 0000 0000 0000 -06 0000 00 5b68 5d00 0000 0000 0000 0000 0000 0000 -07 0000 00 5b48 7a5d 0000 0000 0000 0000 0000 0000 -08 0000 00 5b6b 5768 5d00 0000 0000 0000 0000 0000 -09 0000 00 5b6d 2f73 5d00 0000 0000 0000 0000 0000 -0a 0000 00 5b6d 735d 0000 0000 0000 0000 0000 0000 -0b 0000 00 5b4f 686d 5d00 0000 0000 0000 0000 0000 -0c 0000 00 5b50 615d 0000 0000 0000 0000 0000 0000 -0d 0000 00 5b73 5d00 0000 0000 0000 0000 0000 0000 -0e 0000 00 5b56 5d00 0000 0000 0000 0000 0000 0000 -0f 0000 00 5b56 415d 0000 0000 0000 0000 0000 0000 -10 0000 00 5b56 4172 5d00 0000 0000 0000 0000 0000 -11 0000 00 5b57 2f6d b25d 0000 0000 0000 0000 0000 -12 0000 00 5b57 5d00 0000 0000 0000 0000 0000 0000 -13 0000 00 5b57 685d 0000 0000 0000 0000 0000 0000 -14 0000 00 4100 0000 0000 0000 0000 0000 0000 0000 -15 0000 00 4162 7347 7269 5377 436e 7400 0000 0000 -16 0000 00 4162 734f 7054 6d73 0000 0000 0000 0000 -17 0000 00 4162 7346 6565 6454 6d73 0000 0000 0000 -18 0000 00 4162 7357 6849 6e00 0000 0000 0000 0000 -19 0000 00 4162 7357 684f 7574 0000 0000 0000 0000 -1a 0000 00 4163 6b6e 0000 0000 0000 0000 0000 0000 -1b 0000 00 4164 6a00 0000 0000 0000 0000 0000 0000 -1c 0000 00 4169 6400 0000 0000 0000 0000 0000 0000 -1d 0000 00 4163 7143 6e74 0000 0000 0000 0000 0000 -1e 0000 00 4163 7154 6d00 0000 0000 0000 0000 0000 -1f 0000 00 5b4b 5d00 0000 0000 0000 0000 0000 0000 -20 0000 00 5bb0 465d 0000 0000 0000 0000 0000 0000 -21 0000 00 5b57 2f73 5d00 0000 0000 0000 0000 0000 -22 0000 00 5b6d 696e 5d00 0000 0000 0000 0000 0000 -23 0000 00 416c 6d00 0000 0000 0000 0000 0000 0000 -24 0000 00 414d 6178 4f66 7300 0000 0000 0000 0000 -25 0000 00 414d 6178 4f66 7354 6d6d 7300 0000 0000 -26 0000 00 416d 7000 0000 0000 0000 0000 0000 0000 -27 0000 00 416d 704e 6f6d 0000 0000 0000 0000 0000 -28 0000 00 416e 6746 6163 7400 0000 0000 0000 0000 -29 0000 00 414e 6f6d 0000 0000 0000 0000 0000 0000 -2a 0000 00 4153 3437 3737 2e33 0000 0000 0000 0000 -2b 0000 00 4e6f 7441 646a 0000 0000 0000 0000 0000 -2c 0000 00 4175 7831 0000 0000 0000 0000 0000 0000 -2d 0000 00 4175 7832 0000 0000 0000 0000 0000 0000 -2e 0000 00 4261 7400 0000 0000 0000 0000 0000 0000 -2f 0000 00 4274 5077 7200 0000 0000 0000 0000 0000 -30 0000 00 4361 6200 0000 0000 0000 0000 0000 0000 +534d 4100 0004 02a0 0000 0001 03e6 0010 6065 +f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0400 3480 0102 8051 0000 0000 1700 0000 + +0148 2108 747e a162 3301 0001 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +0128 4108 747e a162 2701 0001 7d01 0000 bb01 0000 7005 0000 7105 0000 bb05 0000 bd05 0000 c805 0000 +0128 4108 747e a162 3f07 0000 4708 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +0129 4108 737e a162 2e01 0001 6b0c 0000 6c0c 0000 6d0c 0000 6e0c 0000 feff ff00 0000 0000 0000 0000 +0132 4108 747e a162 2f01 0000 3401 0001 2203 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 +0133 4108 747e a162 2f01 0000 3401 0001 2203 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 +0149 4108 6b7e a162 7603 0001 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +014a 4108 6b7e a162 5001 0000 5101 0000 5201 0000 7703 0001 feff ff00 0000 0000 0000 0000 0000 0000 +014b 4108 6b7e a162 7503 0001 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +014c 4108 6b7e a162 2300 0000 2f01 0000 3301 0001 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0164 4108 747e a162 3300 0001 3701 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +0165 4108 747e a162 2d02 0000 7403 0001 a906 0000 c00d 0000 fdff ff00 feff ff00 0000 0000 0000 0000 +0168 4308 747e a162 a005 0001 a105 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +015a 4608 747e a162 1104 0001 1204 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +01a6 4608 747e a162 f306 0000 f406 0001 f506 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 +012c 4a08 447e a162 2e01 0000 6f24 0001 9f24 0000 a024 0000 dd24 0000 634a 0000 feff ff00 0000 0000 +012e 4a08 249c 9a62 2e01 0001 3301 0000 b706 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +0164 4a08 6c7e a162 2f01 0001 3301 0000 620d 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +0196 4a08 6e7e a162 2300 0000 3301 0001 c701 0000 bd06 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0197 4a08 6e7e a162 2e01 0000 b806 0000 b906 0001 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +019a 4a10 727e a162 3130 2e31 3132 2e31 362e 3132 3700 0000 0000 0000 0000 0000 0000 0000 0000 0000 +019b 4a10 727e a162 3235 352e 3235 352e 3235 352e 3000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +019c 4a10 727e a162 3130 2e31 3132 2e31 362e 3100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +019d 4a10 727e a162 3130 2e31 3132 2e31 362e 3100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 + + +534d 4100 0004 02a0 0000 0001 03e6 0010 6065 +f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0300 3400 0102 8051 1800 0000 2f00 0000 + +01aa 4a08 547e a162 3301 0001 b706 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01b7 4a10 6c7e a162 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01b8 4a10 6c7e a162 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01b9 4a10 6c7e a162 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01ba 4a10 6c7e a162 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +01bb 4a08 6c7e a162 260d 0001 270d 0000 280d 0000 290d 0000 feff ff00 0000 0000 0000 0000 0000 0000 +01bc 4a08 727e a162 2f01 0001 3301 0000 bd06 0000 5208 0000 fd0c 0000 620d 0000 feff ff00 0000 0000 +011e 4b08 747e a162 2f01 0001 3301 0000 b706 0000 bd06 0000 f007 0000 f107 0000 f207 0000 f707 0000 +011e 4b08 747e a162 2508 0000 5208 0000 6c08 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +0127 5200 747e a162 0000 0000 0000 0000 321e 0000 321e 0000 a00f 0000 a00f 0000 ffff ffff ffff ffff +0128 5240 747e a162 0000 0000 0000 0000 321e 0000 321e 0000 0000 0080 0000 0080 0000 0080 0000 0080 +0129 5200 747e a162 0000 0000 0000 0000 1027 0000 1027 0000 ffff ffff ffff ffff ffff ffff ffff ffff +012a 5208 747e a162 1104 0000 1204 0000 fdff ff01 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 +012f 5208 747e a162 2f01 0000 3401 0001 2203 0000 1f0d 0000 fdff ff00 feff ff00 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0000 0000 + + +534d 4100 0004 02a0 0000 0001 03e6 0010 6065 +f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0200 3400 0102 8051 3000 0000 4700 0000 + +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 + +534d 4100 0004 02a0 0000 0001 03e6 0010 6065 +f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0100 3400 0102 8051 4800 0000 5f00 0000 + +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 + + +534d 4100 0004 02a0 0000 0001 0206 0010 6065 +81a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0000 3400 0102 8051 6000 0000 6b00 0000 + +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0125 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 013a 6508 249c 9a62 2e01 0001 3301 0000 c701 0000 2203 0000 feff ff00 0000 0000 0000 0000 0000 0000 011e 6708 747e a162 1b00 0000 3201 0000 3901 0000 4d01 0000 b601 0000 af04 0000 561d 0001 591d 0000 011e 6708 747e a162 5a1d 0000 5d1d 0000 5e1d 0000 631d 0000 671d 0000 6c1d 0000 6d1d 0000 701d 0000 011e 6708 747e a162 721d 0000 731d 0000 7d1d 0000 7e1d 0000 7f1d 0000 841d 0000 851d 0000 8d1d 0000 011e 6708 747e a162 8e1d 0000 8f1d 0000 901d 0000 911d 0000 951d 0000 961d 0000 fdff ff00 feff ff00 0000 0000 + """) - print(data1.hexDump) +// print(data1.hexDump) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) - let packet1 = try? SMAPacket(fromBinary:binaryDecoder1) + + var packetcounter = 0 + while !binaryDecoder1.isAtEnd + { + let packet = try? SMAPacket(fromBinary:binaryDecoder1) + print(packet) + packetcounter += 1 + } + XCTAssert(packetcounter == 5) } diff --git a/smatester.perl b/smatester.perl index 80191dd..4b5f416 100644 --- a/smatester.perl +++ b/smatester.perl @@ -42,7 +42,7 @@ my $socket = new IO::Socket::INET (PeerHost => $hostname, PeerPort => $portnumber, Proto => 'udp', - Timeout => 2) || die "Can't open socket due to:$!\n"; + Timeout => 1) || die "Can't open socket due to:$!\n"; $socket->setsockopt(SOL_SOCKET, SO_RCVTIMEO, pack('l!l!', TIMEOUT_RECEIVE, 0)) || die "error setting SO_RCVTIMEO: $!"; @@ -56,8 +56,12 @@ # 0x52000200, 0x00237700, 0x002377FF inverter temp my @commandarguments = ( -#[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x52, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x00, 0x00, 0x00, 0x51, 0x00237700, 0x00237702 ], +#[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x00237702 ], +# +#[0x00, 0x00, 0x00, 0x51, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature +#[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature +# #[0x00, 0x00, 0x00, 0x51, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: #[0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: @@ -218,7 +222,7 @@ exit; } -for my $type (0x40..0x60) +for my $type (0x51..0x60) { for my $command (0x0..0xff) { @@ -350,25 +354,42 @@ sub sendReceiveCommand my $data; sendCommand($socket,$command,$sessionid,$inverterid); - my $starttime = time(); - $socket->recv($data, MAXIMUM_PACKET_SIZE); - my $endtime = time(); - printf "Responsetime = %.3f ms\n",($endtime - $starttime) * 1000; - if( 0 == length($data) ) - { - print "no response.\n"; - return undef; - } + my $response = receiveData($socket); - writeDataToFile($data); - my $response = printSMAPacket('recv',$data); - - print "\n\n"; return $response; + } +sub receiveData +{ + my($socket) = @_; + my $data; + my $response = undef; + my $responsecounter = 0; + while(1) + { + my $starttime = time(); + $socket->recv($data, MAXIMUM_PACKET_SIZE); + my $endtime = time(); + + printf "Responsetime = %.3f ms\n",($endtime - $starttime) * 1000; + if( 0 == length($data) ) + { + print "no response.\n" if undef == $response; + return $response; + } + writeDataToFile($data); + + $responsecounter++; + + print "RESPONSECOUNTER:$responsecounter\n"; + + $response = printSMAPacket('recv',$data); + print "\n\n"; + } +} { From fc413b1f9d82dd5db6fc5714dd1aea9f91a2cd80 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Thu, 9 Jun 2022 10:03:10 +0200 Subject: [PATCH 22/81] added packets to come counter recognition to perl script --- smatester.perl | 248 ++++++++++++++++++++++++------------------------- 1 file changed, 123 insertions(+), 125 deletions(-) diff --git a/smatester.perl b/smatester.perl index 4b5f416..f40edcb 100644 --- a/smatester.perl +++ b/smatester.perl @@ -42,7 +42,7 @@ my $socket = new IO::Socket::INET (PeerHost => $hostname, PeerPort => $portnumber, Proto => 'udp', - Timeout => 1) || die "Can't open socket due to:$!\n"; + Timeout => 3) || die "Can't open socket due to:$!\n"; $socket->setsockopt(SOL_SOCKET, SO_RCVTIMEO, pack('l!l!', TIMEOUT_RECEIVE, 0)) || die "error setting SO_RCVTIMEO: $!"; @@ -367,6 +367,7 @@ sub receiveData my $data; my $response = undef; + my $moretocome = undef; my $responsecounter = 0; while(1) { @@ -386,8 +387,10 @@ sub receiveData print "RESPONSECOUNTER:$responsecounter\n"; - $response = printSMAPacket('recv',$data); + ($response,$moretocome) = printSMAPacket('recv',$data); print "\n\n"; + + return $response if 0==$moretocome; } } @@ -481,13 +484,13 @@ sub printSMAPacket if( $smaheader != 0x534d4100 ) { printf "%s: invalid packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); - return undef; + return (undef,0); } if( $proto != 0x6065 ) { printf "%s SMA packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); - return undef; + return (undef,0); } printf "Complete Packet:\n".prettyhexdata($data)."\n"; @@ -497,7 +500,7 @@ sub printSMAPacket if( $footer != 0x0 ) { print "Invalid footer\n"; - return undef; + return (undef,0); } printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); @@ -513,10 +516,10 @@ sub printSMAPacket # # my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$p10 ,$packetid, $p12, $command, $remaining) = data2command($data ,'CC nN CC nN v CC v v v v'); # -# my $packetflag = $packetid & 0x8000 ? '1' : '0'; +# my $firstpacket = $packetid & 0x8000 ? '1' : '0'; # $packetid = $packetid & 0x7FFF; # -# printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$packetflag,$packetid,length($remaining); +# printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$firstpacket,$packetid,length($remaining); # # if( $response != 0 || $command == 0xFFFD ) # { @@ -589,7 +592,7 @@ sub printSMANetPacket { my($data) = @_; - + my $valueslength = 0; { my $smanet_length = unpack('C',substr($data,0,1)) * 4; my $remaining = $smanet_length - 36; @@ -613,6 +616,8 @@ sub printSMANetPacket print " "; my(@values) = data2command($valuesheader,'CCCCCCC',1); + $valueslength = $remaining; + if( $remaining > 28 ) { if( $countisvalid @@ -646,6 +651,7 @@ sub printSMANetPacket printf prettyhexdata($valuesdata,$divided); } + $valueslength = $divided; } else { @@ -670,17 +676,17 @@ sub printSMANetPacket { my @header = data2command($data ,'CC nN CC nN v CC v v v v'); - my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$p10 ,$packetid, $p12, $command, $remaining) = @header; + my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$packetstocome ,$packetid, $p12, $command, $remaining) = @header; - my $packetflag = $packetid & 0x8000 ? '1' : '0'; + my $firstpacket = $packetid & 0x8000 ? '1' : '0'; $packetid = $packetid & 0x7FFF; - printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$packetflag,$packetid,length($remaining); + printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$firstpacket,$packetid,length($remaining); if( $response != 0 || $command == 0xFFFD ) { printf "raw:%s\n",prettyhexdata($data); - return $response; + return ($response,$packetstocome); } { @@ -697,15 +703,17 @@ sub printSMANetPacket my $source = unpack('H*',substr($data,10,6)); my $response = unpack('v',substr($data,18,2)); my $command = unpack('v',substr($data,26,2)); + my $packetstocome = unpack('v',substr($data,20,2)); my $packetid = unpack('v',substr($data,22,2)) & 0x7FFF; - my $packetflag = unpack('v',substr($data,22,2)) & 0x8000 ? '1' : '0'; + my $firstpacket = unpack('v',substr($data,22,2)) & 0x8000 ? '1' : '0'; + + printf "command:%04x response:%04x: source:%s destination:%s packetstocome:%d firstpkt:%s pktid:0x%04x valueslength:%d\n",$command,$response,$source,$destination,$packetstocome,$firstpacket,$packetid,$valueslength; - printf "command:%04x response:%04x: source:%s destination:%s pktflg:%s pktid:0x%04x\n",$command,$response,$source,$destination,$packetflag,$packetid; if( $response != 0 || $command == 0xFFFD ) { printf "raw:%s\n",prettyhexdata($data); - return $response; + return ($response,$packetstocome); } } @@ -722,146 +730,136 @@ sub printSMANetPacket my $source = unpack('H*',substr($data,10,6)); my $command = unpack('v',substr($data,26,2)); - my $resultnumber = 0; - FOOTERPARSING: while( length($footer) > 7 ) + while( length($footer) ) { - print "\n"; - my $number = unpack('C',substr($footer,0,1)); - my $code = unpack('v',substr($footer,1,2)); - my $type = unpack('C',substr($footer,3,1)); - my $time = unpack('V',substr($footer,4,4)); - my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); - my $typelength = 40; - - my $year = substr($timestring,0,4); - if( $time ne 0 && $year !~ m/^(?:1970|2021|2022)$/o ) - { - printf "Weird time %s raw: %s\n",$timestring,prettyhexdata( substr($footer,0,60) ).'...'; -# $footer = substr($footer,1); -# next FOOTERPARSING; - } + my $data = substr($footer,0,$valueslength); - my $typeinformation = code2Typeinformation($code); - my $name = $$typeinformation{path}; + SMANetPacketValueParsing($source,$command,$data); + $footer = substr($footer,$valueslength); + } + print "\n\n"; - my $unit = $$typeinformation{unit}; - my $factor = $$typeinformation{factor}|| 1; - my $title = $$typeinformation{title}; - my $path = $name.'.'.$resultnumber; - $resultnumber++; + return undef; +} - $name .= '.'.$number if $number > 0 && $number <7; - $name .= ' ('.$$typeinformation{unit}.')' if $$typeinformation{unit}; +sub SMANetPacketValueParsing +{ + my($source,$command,$footer) = @_; -# print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; + my $number = unpack('C',substr($footer,0,1)); + my $code = unpack('v',substr($footer,1,2)); + my $type = unpack('C',substr($footer,3,1)); + my $time = unpack('V',substr($footer,4,4)); + my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); - printf "%s%s Code:0x%04x-0x%04x No:0x%02x Type:0x%02x %s %27s ",' ' x 7,$source,$command,$code,$number,$type,$timestring,$name; + my $typeinformation = code2Typeinformation($code); + my $name = $$typeinformation{path}; - ##### TYPE decoding + my $unit = $$typeinformation{unit}; + my $factor = $$typeinformation{factor}|| 1; + my $title = $$typeinformation{title}; + my $path = $name.'.'.$number; - if( $type == 0x00 || $type == 0x40 ) # integer - { - my @values = map { unpack('V',substr($footer,8+(4*$_),4)) } (0..8); - my $shortmarker = @values[1]; - my $longmarker = @values[4]; - - if( @values[0] == 0x0 # version number scheme - && @values[1] == 0x0 - && @values[2] == 0xFFFFFFFE - && @values[3] == 0xFFFFFFFE - && @values[4] == @values[5] - && @values[6] == 0x0 - && @values[7] == 0x0 - ) - { - $typelength = 40; - @values = unpack('C*',pack('N',@values[4])); - } - elsif( $longmarker == 1 - || ($longmarker == 0 && @values[2] == 0 && @values[3] == 0) - ) - { - $typelength = 28; - splice(@values,4); - splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same - } - elsif( $shortmarker == 0 -# && @values[0] == @values[1] -# && @values[0] == @values[2] -# && @values[0] == @values[3] - ) - { - splice(@values,1); - $typelength = 16; - } - else - { - print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; - print "Weird"; - $footer = substr($footer,1); - } + $name .= '.'.$number if $number > 0 && $number <7; + $name .= ' ('.$$typeinformation{unit}.')' if $$typeinformation{unit}; - my @results; - for my $value (@values) - { - if( $type == 0x00 ) - { - push(@results, $value != 4294967295 ? sprintf("%d",$value) : 'NaN'); - } - else - { - my $signed = unpack('l',pack('L',$value)); - push(@results, $signed != -2147483648 ? sprintf("%d",$signed) : 'NaN'); - } - } - printf "%30s ",join(':',@results); + printf "%s%s Code:0x%04x-0x%04x No:0x%02x Type:0x%02x %s %27s ",' ' x 7,$source,$command,$code,$number,$type,$timestring,$name; - sendMQTT($path,$unit,$factor,$title,@results); + ##### TYPE decoding + if( $type == 0x00 || $type == 0x40 ) # integer + { + my @values = map { unpack('V',substr($footer,8+(4*$_),4)) } (0..8); + my $shortmarker = @values[1]; + my $longmarker = @values[4]; + + if( @values[0] == 0x0 # version number scheme + && @values[1] == 0x0 + && @values[2] == 0xFFFFFFFE + && @values[3] == 0xFFFFFFFE + && @values[4] == @values[5] + && @values[6] == 0x0 + && @values[7] == 0x0 + ) + { + @values = unpack('C*',pack('N',@values[4])); } - elsif( $type == 0x10 ) # string + elsif( $longmarker == 1 + || ($longmarker == 0 && @values[2] == 0 && @values[3] == 0) + ) { - my $value = unpack('Z*',substr($footer,8,32)); - - printf "%30s ",$value; + splice(@values,4); + splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same } - elsif( $type == 0x08) # dotted version + elsif( $shortmarker == 0 + # && @values[0] == @values[1] + # && @values[0] == @values[2] + # && @values[0] == @values[3] + ) { - my $position = 8; - my @values = (); + splice(@values,1); + } + else + { + print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; + print "Weird"; + } - while( $position < 36) + my @results; + + for my $value (@values) + { + if( $type == 0x00 ) + { + push(@results, $value != 4294967295 ? sprintf("%d",$value) : 'NaN'); + } + else { - my $valueA = unpack('v',substr($footer,$position,2)); - my $valueB = unpack('v',substr($footer,$position+2,2)); + my $signed = unpack('l',pack('L',$value)); + push(@results, $signed != -2147483648 ? sprintf("%d",$signed) : 'NaN'); + } + } + printf "%30s ",join(':',@results); - last if $valueB == 0xFFFE && $valueA == 0x00FF; + sendMQTT($path,$unit,$factor,$title,@results); - push(@values, sprintf("%04d",$valueA) ) if $valueB & 0x100 ; + } + elsif( $type == 0x10 ) # string + { + my $value = unpack('Z*',substr($footer,8,32)); - $position += 4; - } + printf "%30s ",$value; + } + elsif( $type == 0x08) # dotted version + { + my $position = 8; + my @values = (); - printf "%30s ",join('.',@values); - } - else + while( $position < 36) { - printf "TYPE %02x UNKOWN ",$type; - $typelength = 2; + my $valueA = unpack('v',substr($footer,$position,2)); + my $valueB = unpack('v',substr($footer,$position+2,2)); + + last if $valueB == 0xFFFE && $valueA == 0x00FF; + + push(@values, sprintf("%04d",$valueA) ) if $valueB & 0x100 ; + + $position += 4; } - printf "realtype:0x%02x len:%d raw: %s\n",$type,$typelength,prettyhexdata(substr($footer,0,$typelength)); - $footer = substr($footer,$typelength); - } - if ( length( $footer ) > 0 ) + printf "%30s ",join('.',@values); + } + else { - printf "\tFOOTER raw:%s\n",prettyhexdata( $footer ); + printf "TYPE %02x UNKOWN ",$type; } - return undef; + printf "realtype:0x%02x raw: %s\n",$type,prettyhexdata($footer); } + + sub sendMQTT { my($path,$unit,$factor,$title,@values) = @_; From 51aceaaed6d913e5d14b7878f23ed020ebd85211 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 10 Jun 2022 16:31:42 +0200 Subject: [PATCH 23/81] updated decoding in perl script for improved recognition of smanetpackets. --- .../Resources/SMANetPacketDefinitions.json | 1 + Sources/sma2mqttLibrary/SMANetPacket.swift | 22 +- smatester.perl | 320 ++++++++++-------- 3 files changed, 197 insertions(+), 146 deletions(-) diff --git a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json index f2da4fd..b95f590 100644 --- a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json +++ b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json @@ -14,6 +14,7 @@ { "address" : "0x4166", "topic" : "immediate/ac/feedinwaittime" , "unit" : "s" , "factor" : 1 , "title" : "" }, { "address" : "0x451F", "topic" : "immediate/dc/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, { "address" : "0x4521", "topic" : "immediate/dc/amperage" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x461f", "topic" : "unknown/maybe/counter/something" , "unit" : "" , "factor" : 1 , "title" : "" }, { "address" : "0x4623", "topic" : "unknown/maybe/counter/total/generation" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, { "address" : "0x4624", "topic" : "unknown/maybe/counter/total/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, { "address" : "0x4625", "topic" : "unknown/maybe/counter/total/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index b37f5f9..21143f7 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -55,22 +55,22 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable case decoding(String) } - let quaterlength:UInt8 - let type:UInt8 + let quaterlength:UInt8 // 0 + let type:UInt8 // 1 - let sourceSystemId:UInt16 - let sourceSerial:UInt32 + let sourceSystemId:UInt16 // 2-3 + let sourceSerial:UInt32 // 4-7 - let unknown1:UInt8 - let unknown2:UInt8 + let unknown1:UInt8 // 8 always 0x00 + let unknown2:UInt8 // 9 0x01 0xa1 0xe1 - let destinationSystemId:UInt16 - let destinationSerial:UInt32 + let destinationSystemId:UInt16 // 10, 11 + let destinationSerial:UInt32 // 12-15 - let unknown3:UInt16 - let response:UInt16 + let unknown3:UInt16 // 16-17 0x100 + let response:UInt16 // 18-19 0x00 , 0x14, 0x15 - let remainingpackets:UInt16 + let remainingpackets:UInt16 // 20 private let _packetId:UInt16 let unknown6:UInt16 diff --git a/smatester.perl b/smatester.perl index f40edcb..1a7683e 100644 --- a/smatester.perl +++ b/smatester.perl @@ -19,6 +19,7 @@ use constant TIMEOUT_RECEIVE => scalar 2; # perl smatester.perl Temp/Reverseengineering/sb4.out |perl -ne 'print "$2 $4$3 $5 $9$8$7$6 $10\n" if /(len:\d+ raw: (..)(..) (..)(..) (..)(..) (..)(..) (.*))/' |perl -ne 'if( /^\S\S (\S\S\S\S) / ){ $v=$1;$l=length($_); print "Match: $l $v $_"; if( exists($p{$v}{l}) && $p{$v}{l} != $l){ print "$l != $p{$v}{l}\n\t$p{$v}{v}\t$_";} $p{$v}{l} = $l;$p{$v}{v} = $_;}' |grep -v Match |grep -v ' != ' |sort -u -k 2 +my $mqttsender = undef; if( @ARGV == 1 ) { @@ -32,7 +33,9 @@ my $usertype = USER_TYPE_USER; print "hostname:$hostname\n"; -my $mqttsender = lc((split(/\./,$hostname))[0]); +# $mqttsender = lc((split(/\./,$hostname))[0]); + + my $mqtt = Net::MQTT::Simple->new("10.112.10.3") || die "Can't create mqtt client"; my $mqttprefix = "test"; @@ -55,6 +58,15 @@ # "0000 0051 0048 4600 ffff 4600 ", # normal values # 0x52000200, 0x00237700, 0x002377FF inverter temp my @commandarguments = ( +#[0x00, 0x02, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature + +# [0x00,0x02,0x00,0x46, 0x00237700, 0x002377FF], +#[0x00, 0x00, 0x00, 0x61, 0x0046ea00, 0x0046eaFF ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: + + +# [0x00, 0x02, 0x00, 0x46, 0x00237700, 0x002377FF ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: +# elsif ($i eq "sup_InverterTemperature") { +# ($sup_InverterTemperature,$inv_TEMP,$inv_susyid,$inv_serial) = SMAInverter_SMAcommand($hash, $hash->{HOST}, 0x52000200, 0x00237700, 0x002377FF); #[0x00, 0x00, 0x00, 0x51, 0x00237700, 0x00237702 ], #[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x00237702 ], @@ -69,7 +81,7 @@ #[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT #[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff, ], - +# #[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff, ], #[0x00, 0x00, 0x00, 0x50, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT @@ -222,19 +234,21 @@ exit; } -for my $type (0x51..0x60) +for my $command (0x00..0x40) # (0x00..0xff) { - for my $command (0x0..0xff) + for my $type (0x00,0x80) # (0x00..0xff) # 0x02 logout { - my $start = $command << 24; - my $end = ($command << 24) | 0xffffff; + for my $address (0x20..0x5F) + { + my $start = ($address << 16) | 0x0000; + my $end = ($address << 16) | 0xffff; - my @cmd = [0x00, 0x00, 0x00, $type, $start, $end ]; +# [0x00, 0x00, 0x00, 0x51, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: - doWork( @cmd ); - my @cmd = [0x00, 0x00, 0x80, $type, $start, $end ]; + my @cmd = [0x00, 0x00, $type, $command, $start, $end ]; - doWork( @cmd ); + doWork( @cmd ); + } } } exit; @@ -369,6 +383,7 @@ sub receiveData my $response = undef; my $moretocome = undef; my $responsecounter = 0; + while(1) { my $starttime = time(); @@ -592,11 +607,18 @@ sub printSMANetPacket { my($data) = @_; - my $valueslength = 0; + my $valueslength; + my $valuescount; { my $smanet_length = unpack('C',substr($data,0,1)) * 4; my $remaining = $smanet_length - 36; + if( $smanet_length != length($data) ) + { + printf "invalid SMANetPacket length $smanet_length != ".length($data)." data:".prettyhexdata($data)."\n"; + return undef; + } + my $valuesheader = substr($data,28,8); my $valuesdata = substr($data,36); @@ -604,75 +626,87 @@ sub printSMANetPacket printf " len=%4d",$remaining; printf " head:".prettyhexdata($valuesheader); - my ($already,$all) = unpack('VV',$valuesheader); - my $valuecount = $all-$already + 1; - - my $divided = $remaining / $valuecount; - printf " cnt:0x%02d partlen=%2d",$valuecount,$divided; - my @validsizes = grep( $_ != undef , map { $remaining % $_ == 0 ? $_ : undef } (16,20,28,40) ) ; - my $countisvalid = ( 1 == scalar grep($_ == $divided,@validsizes) ); - printf " cntisvalid=%d",$countisvalid; - print " "; - my(@values) = data2command($valuesheader,'CCCCCCC',1); - - $valueslength = $remaining; - - if( $remaining > 28 ) { - if( $countisvalid - && @values[0] == 0 && @values[1] == 0 && @values[2] == 0 && @values[3] == 0 - && @values[5] == 0 && @values[6] == 0 && @values[7] == 0 - ) + if( $remaining < 32 ) { - print " no need to check\n"; - printf prettyhexdata($valuesdata,$divided); + $valueslength = $remaining; + $valuescount = $remaining > 0 ? 1 : 0; } else { - my %counttimeswrong = map { $_ => counttimeswrong($valuesdata,$_) } @validsizes; - - my @mostprobably = sort{ $counttimeswrong{$a} <=> $counttimeswrong{$b} } @validsizes; - printf " (%s)",join(',',map { %counttimeswrong{$_} } @mostprobably); - my $mostprobably = @mostprobably[0]; - - my $countismostprobably = $valuecount == $mostprobably; - - - printf " cnt==probable:%d",$countismostprobably; - printf " cntnow:0x%02x", ($remaining / $mostprobably); - - counttimeswrong($valuesdata,$divided,1); - - printf " %s",($valuecount == ($remaining / $mostprobably) ? "OK" : "FAIL"); + my ($from,$to) = unpack('VV',$valuesheader); + $valuescount = $to - $from + 1; + $valueslength = $remaining / $valuescount; + } + printf " valcnt:0x%02d vallen=%2d",$valuescount,$valueslength; - printf "\n"; + my @validsizes = grep( $_ != undef , map { $remaining % $_ == 0 ? $_ : undef } (16,20,28,40) ) ; + my $countisvalid = ( 1 == scalar grep($_ == $valueslength,@validsizes) ); - printf prettyhexdata($valuesdata,$divided); - } - $valueslength = $divided; - } - else - { - printf "\n"; - printf prettyhexdata($valuesdata); + printf " cntisvalid=%d",$countisvalid; + print " "; + my(@values) = data2command($valuesheader,'CCCCCCC',1); } - print "\n" x 10; - if( length($data) < 2 - || length($data) != $smanet_length - || $smanet_length < 32 - ) - { - printf "Invalid SMANet packet: %d != %d < 32 :%s\n",$smanet_length,length($data),prettyhexdata($data); - exit; - return undef; - } +# $valueslength = $remaining; +# +# if( $remaining > 28 ) +# { +# if( $countisvalid +# && @values[0] == 0 && @values[1] == 0 && @values[2] == 0 && @values[3] == 0 +# && @values[5] == 0 && @values[6] == 0 && @values[7] == 0 +# ) +# { +# print " no need to check\n"; +# printf prettyhexdata($valuesdata,$divided); +# } +# else +# { +# my %counttimeswrong = map { $_ => counttimeswrong($valuesdata,$_) } @validsizes; +# +# my @mostprobably = sort{ $counttimeswrong{$a} <=> $counttimeswrong{$b} } @validsizes; +# printf " (%s)",join(',',map { %counttimeswrong{$_} } @mostprobably); +# my $mostprobably = @mostprobably[0]; +# +# my $countismostprobably = $valuecount == $mostprobably; +# +# +# printf " cnt==probable:%d",$countismostprobably; +# printf " cntnow:0x%02x", ($remaining / $mostprobably); +# +# counttimeswrong($valuesdata,$divided,1); +# +# printf " %s",($valuecount == ($remaining / $mostprobably) ? "OK" : "FAIL"); +# +# +# printf "\n"; +# +# printf prettyhexdata($valuesdata,$divided); +# } +# $valueslength = $divided; +# } +# else +# { +# printf "\n"; +# printf prettyhexdata($valuesdata); +# } +# print "\n" x 10; +# +# if( length($data) < 2 +# || length($data) != $smanet_length +# || $smanet_length < 32 +# ) +# { +# printf "Invalid SMANet packet: %d != %d < 32 :%s\n",$smanet_length,length($data),prettyhexdata($data); +# exit; +# return undef; +# } } - { +# { { my @header = data2command($data ,'CC nN CC nN v CC v v v v'); @@ -710,26 +744,26 @@ sub printSMANetPacket printf "command:%04x response:%04x: source:%s destination:%s packetstocome:%d firstpkt:%s pktid:0x%04x valueslength:%d\n",$command,$response,$source,$destination,$packetstocome,$firstpacket,$packetid,$valueslength; - if( $response != 0 || $command == 0xFFFD ) - { - printf "raw:%s\n",prettyhexdata($data); - return ($response,$packetstocome); - } - } - - { - my $valuetype = unpack('V',substr($data,28,4)); - my $valuecount = unpack('V',substr($data,32,4)); - - my $header = substr($data,0,36); +# if( $response != 0 || $command == 0xFFFD ) +# { +# printf "raw:%s\n",prettyhexdata($data); +# return ($response,$packetstocome); +# } +# } - printf "type:0x%08x count:0x%08x raw:%s\n",$valuetype,$valuecount,prettyhexdata($header); - } +# { +# my $valuetype = unpack('V',substr($data,28,4)); +# my $valuecount = unpack('V',substr($data,32,4)); +# +# my $header = substr($data,0,36); +# +# printf "type:0x%08x count:0x%08x raw:%s\n",$valuetype,$valuecount,prettyhexdata($header); +# } - my $footer = substr($data,36); my $source = unpack('H*',substr($data,10,6)); my $command = unpack('v',substr($data,26,2)); + my $footer = substr($data,36); while( length($footer) ) { my $data = substr($footer,0,$valueslength); @@ -739,7 +773,7 @@ sub printSMANetPacket } print "\n\n"; - return undef; + return ($response,$packetstocome); } @@ -761,20 +795,28 @@ sub SMANetPacketValueParsing my $title = $$typeinformation{title}; my $path = $name.'.'.$number; - $name .= '.'.$number if $number > 0 && $number <7; + $name .= '.'.$number ;# if $number > 0 && $number <7; $name .= ' ('.$$typeinformation{unit}.')' if $$typeinformation{unit}; + my %knownsources = ( '69016d3326b3' => 'sbs', + '56012b7fbc76' => 'sb3', + '9901f6a22fb3' => 'sb4', + '7a01d39c05b3' => 'sbt', + ); + $source = $knownsources{$source} || $source; - printf "%s%s Code:0x%04x-0x%04x No:0x%02x Type:0x%02x %s %27s ",' ' x 7,$source,$command,$code,$number,$type,$timestring,$name; + printf "%s|Code:0x%04x|0x%04x|No:0x%02x|Type:0x%02x|len:%2d|%s|%37s|",$source,$command,$code,$number,$type,length($footer),$timestring,$name; ##### TYPE decoding if( $type == 0x00 || $type == 0x40 ) # integer { my @values = map { unpack('V',substr($footer,8+(4*$_),4)) } (0..8); - my $shortmarker = @values[1]; - my $longmarker = @values[4]; + +# my $shortmarker = @values[1]; +# my $longmarker = @values[4]; +# if( @values[0] == 0x0 # version number scheme && @values[1] == 0x0 && @values[2] == 0xFFFFFFFE @@ -786,27 +828,26 @@ sub SMANetPacketValueParsing { @values = unpack('C*',pack('N',@values[4])); } - elsif( $longmarker == 1 - || ($longmarker == 0 && @values[2] == 0 && @values[3] == 0) - ) - { - splice(@values,4); - splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same - } - elsif( $shortmarker == 0 - # && @values[0] == @values[1] - # && @values[0] == @values[2] - # && @values[0] == @values[3] - ) - { - splice(@values,1); - } - else - { - print "\nFooter DATA:".prettyhexdata(substr($footer,0,40))."\n"; - print "Weird"; - } - +# elsif( $longmarker == 1 +# || ($longmarker == 0 && @values[2] == 0 && @values[3] == 0) +# ) +# { +# splice(@values,4); +# splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same +# } +# elsif( $shortmarker == 0 +# # && @values[0] == @values[1] +# # && @values[0] == @values[2] +# # && @values[0] == @values[3] +# ) +# { +# splice(@values,1); +# } +# else +# { +# printf "Weird"; +# } +# my @results; for my $value (@values) @@ -821,7 +862,7 @@ sub SMANetPacketValueParsing push(@results, $signed != -2147483648 ? sprintf("%d",$signed) : 'NaN'); } } - printf "%30s ",join(':',@results); + printf "%34s ",join(':',@results); sendMQTT($path,$unit,$factor,$title,@results); @@ -830,7 +871,7 @@ sub SMANetPacketValueParsing { my $value = unpack('Z*',substr($footer,8,32)); - printf "%30s ",$value; + printf "%34s ",$value; } elsif( $type == 0x08) # dotted version { @@ -849,13 +890,22 @@ sub SMANetPacketValueParsing $position += 4; } - printf "%30s ",join('.',@values); + printf "%34s ",join('.',@values); } else { - printf "TYPE %02x UNKOWN ",$type; + printf "type unknown "; } - printf "realtype:0x%02x raw: %s\n",$type,prettyhexdata($footer); + + my %types = ( 0x00 => 'uint', + 0x40 => ' int', + 0x10 => ' str', + 0x08 => ' dot', + ); + my $realtype = defined $types{$type} ? $types{$type} : sprintf('0x%02d',$type); + + + printf "|typ:%s|raw: %s\n",$realtype,prettyhexdata($footer); } @@ -954,21 +1004,21 @@ sub code2Typeinformation 0x4166 => { path => 'immediate.ac.feedinwaittime', unit => 's'}, 0x451F => { path => 'immediate.dc.voltage', unit => 'V', factor => 0.01 }, 0x4521 => { path => 'immediate.dc.amperage', unit => 'A', factor => 0.001 }, - 0x4623 => { path => 'unknown.maybe.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4624 => { path => 'unknown.maybe.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4625 => { path => 'unknown.maybe.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4626 => { path => 'unknown.maybe.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4627 => { path => 'unknown.maybe.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4628 => { path => 'unknown.maybe.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4623 => { path => 'unknown.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4624 => { path => 'unknown.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4625 => { path => 'unknown.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4626 => { path => 'unknown.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4627 => { path => 'unknown.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4628 => { path => 'unknown.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, 0x462E => { path => 'immediate.operatingtime',unit => 's'}, 0x462F => { path => 'counter.feedintime',unit => 's'}, - 0x4631 => { path => 'unknown.maybe.grid.failure'}, - 0x4635 => { path => 'unknown.maybe.grid.total.generation', unit => 'W'}, + 0x4631 => { path => 'unknown.grid.failure'}, + 0x4635 => { path => 'unknown.grid.total.generation', unit => 'W'}, 0x4636 => { path => 'counter.total.feedin', unit => 'W'}, 0x4637 => { path => 'counter.total.usage', unit => 'W'}, - 0x4639 => { path => 'unknown.maybe.grid.total.consumption', unit => 'W'}, - 0x463A => { path => 'unknown.maybe.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x463B => { path => 'unknown.maybe.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x4639 => { path => 'unknown.grid.total.consumption', unit => 'W'}, + 0x463A => { path => 'unknown.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x463B => { path => 'unknown.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, 0x4640 => { path => 'immediate.ac.power.phaseA', unit => 'W'}, 0x4641 => { path => 'immediate.ac.power.phaseB', unit => 'W'}, 0x4642 => { path => 'immediate.ac.power.phaseC', unit => 'W'}, @@ -978,22 +1028,22 @@ sub code2Typeinformation 0x464B => { path => 'immediate.ac.powerfactor.phaseA', unit => '%'}, 0x464C => { path => 'immediate.ac.powerfactor.phaseB', unit => '%'}, 0x464D => { path => 'immediate.ac.powerfactor.phaseC', unit => '%'}, - 0x464E => { path => 'unknown.maybe.something', unit => '?'}, - 0x4650 => { path => 'unknown.maybe.grid.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4651 => { path => 'unknown.maybe.grid.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4652 => { path => 'unknown.maybe.grid.current.phaseC', unit => 'A', factor => 0.001 }, + 0x464E => { path => 'unknown.something', unit => '?'}, + 0x4650 => { path => 'unknown.grid.current.phaseA', unit => 'A', factor => 0.001 }, + 0x4651 => { path => 'unknown.grid.current.phaseB', unit => 'A', factor => 0.001 }, + 0x4652 => { path => 'unknown.grid.current.phaseC', unit => 'A', factor => 0.001 }, 0x4653 => { path => 'immediate.ac.current.phaseA', unit => 'A', factor => 0.001 }, 0x4654 => { path => 'immediate.ac.current.phaseB', unit => 'A', factor => 0.001 }, 0x4655 => { path => 'immediate.ac.current.phaseC', unit => 'A', factor => 0.001 }, 0x4657 => { path => 'immediate.ac.frequency', unit => 'Hz', factor => 0.01 }, - 0x46AA => { path => 'unknown.maybe.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x46AB => { path => 'unknown.maybe.power.ownconsumption'}, - 0x491E => { path => 'unknown.maybe.battery.counter.charges'}, + 0x46AA => { path => 'unknown.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, + 0x46AB => { path => 'unknown.power.ownconsumption'}, + 0x491E => { path => 'unknown.battery.counter.charges'}, 0x4922 => { path => 'battery.cells.maxtemperature', unit => 'ºC', factor => 0.1 }, 0x4923 => { path => 'battery.cells.mintemperature', unit => 'ºC', factor => 0.1 }, - 0x4924 => { path => 'unknown.maybe.battery.cells'}, - 0x4926 => { path => 'unknown.maybe.battery.total.charge', unit => 'Ah'}, - 0x4927 => { path => 'unknown.maybe.battery.total.discharge', unit => 'Ah'}, + 0x4924 => { path => 'unknown.battery.cells'}, + 0x4926 => { path => 'unknown.battery.total.charge', unit => 'Ah'}, + 0x4927 => { path => 'unknown.battery.total.discharge', unit => 'Ah'}, 0x4933 => { path => 'battery.cells.setcharging.voltage', unit => 'V', factor => 0.01 }, 0x495B => { path => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 , title => "Battery Temperature" }, 0x495C => { path => 'battery.system.voltage', unit => 'V', factor => 0.01 }, @@ -1002,10 +1052,10 @@ sub code2Typeinformation 0x821F => { path => 'static.mainmodel'}, 0x8220 => { path => 'static.systemtype'}, 0x8234 => { path => 'static.softwareversion'}, - 0x832A => { path => 'unknown.maybe.system.maximumpoweroutput'}, + 0x832A => { path => 'unknown.system.maximumpoweroutput'}, }; - my $code = $$typeInformation{$number} || { path => 'type.unkown.'.sprintf("0x%04x",$number) }; + my $code = $$typeInformation{$number} || { path => 'type.unknown.'.sprintf("0x%04x",$number) }; return $code; } From 2e134d7cf4c516d2088fa2fe4566c6a6be7f3952 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 11 Jun 2022 08:00:18 +0200 Subject: [PATCH 24/81] fixed SMAPacket reading / tests --- Package.swift | 6 +- Sources/sma2mqttLibrary/SMAPacket.swift | 140 ++++++++++++------------ Tests/sma2mqttTests/sma2mqttTests.swift | 17 ++- smatester.perl | 106 ++++++++---------- 4 files changed, 137 insertions(+), 132 deletions(-) diff --git a/Package.swift b/Package.swift index 59c342d..12b50a2 100644 --- a/Package.swift +++ b/Package.swift @@ -47,11 +47,7 @@ let package = Package( dependencies: [ "sma2mqttLibrary", .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "JLog", package: "JLog") - ], - resources: [ .copy("Resources/obisdefinition.json"), - .copy("Resources/SMANetPacketDefinitions.json") - ] - + ] ) ] ) diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index 0e68abe..ec2d8be 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -26,7 +26,6 @@ extension SMAPacket:BinaryDecodable case prematureEndOfSMAContentData(String) } - public init(data:Data) throws { let byteArray = [UInt8](data) @@ -47,7 +46,14 @@ extension SMAPacket:BinaryDecodable obisPackets = [ObisPacket]() smaNetPackets = [SMANetPacket]() - smaprefix = try decoder.decode(UInt32.self).bigEndian + do + { + smaprefix = try decoder.decode(UInt32.self).bigEndian + } + catch + { + throw SMAPacketError.prematureEndOfSMAContentData("not long enough for SMA\\0 header") + } guard smaprefix == 0x534d4100 // == 'SMA\0' else @@ -57,84 +63,84 @@ extension SMAPacket:BinaryDecodable JLog.debug("Valid SMA Prefix") - while !decoder.isAtEnd + var endPacketRead = false + + repeat { let length = try decoder.decode(UInt16.self).bigEndian + let tag = try decoder.decode(UInt16.self).bigEndian - if length == 0 + JLog.debug("Decoding tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") + guard Int(length) <= decoder.countToEnd + else { - break; + throw SMAPacketError.prematureEndOfSMAContentData("sma content too short expected length:\(length) has:\(decoder.countToEnd)") } - let tag = try decoder.decode(UInt16.self).bigEndian - JLog.debug("Decoding tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") + let smaNetData = try decoder.decode(Data.self,length:Int(length)) + let smaNetDecoder = BinaryDecoder(data: [UInt8](smaNetData) ) - if length > 0 + switch tag { - guard Int(length) <= decoder.countToEnd - else - { - throw SMAPacketError.prematureEndOfSMAContentData("sma content too short expected length:\(length) has:\(decoder.countToEnd)") - } - - let smaNetData = try decoder.decode(Data.self,length:Int(length)) - let smaNetDecoder = BinaryDecoder(data: [UInt8](smaNetData) ) - - switch tag - { - case 0x02A0: if let group = try? smaNetDecoder.decode(UInt32.self).bigEndian - { - JLog.trace("\(String(format:"group: 0x%08x d:%d",group,group))") - self.group = group - } - else - { - JLog.error(("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump)")) - } - - case 0x0010: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian - { - JLog.debug("got protocol id:\(String(format:"0x%x",protocolid))") - - switch protocolid - { - case 0x6069: JLog.debug("recognizing ObisPacket") - - do - { - let obisPacket = try ObisPacket.init(fromBinary: smaNetDecoder) - self.obisPackets.append(obisPacket) - } - catch - { - JLog.error("ObisPacket decoding error:\(error)") - } - - - case 0x6065: JLog.debug("recognizing SMANetPacket") - - do - { - let smanetPacket = try SMANetPacket.init(fromBinary: smaNetDecoder) - self.smaNetPackets.append(smanetPacket) - } - catch - { - JLog.error("SMANetPacket decoding error:\(error)") - } - - default: JLog.error("protocol unknown.") - } - } - else + case 0x0000: endPacketRead = true + if length != 0 + { + JLog.error("Weird SMAPacket End Tag with length:\(length) - ignoring") + } + + case 0x02A0: if let group = try? smaNetDecoder.decode(UInt32.self).bigEndian + { + JLog.trace("\(String(format:"group: 0x%08x d:%d",group,group))") + self.group = group + } + else + { + JLog.error(("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump)")) + } + + case 0x0010: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian + { + JLog.debug("got protocol id:\(String(format:"0x%x",protocolid))") + + switch protocolid { - JLog.error("Could not decode protocol:\(tag) length:\(length) data:\(smaNetData.hexDump)") + case 0x6069: JLog.debug("recognizing ObisPacket") + + do + { + let obisPacket = try ObisPacket.init(fromBinary: smaNetDecoder) + self.obisPackets.append(obisPacket) + } + catch + { + JLog.error("ObisPacket decoding error:\(error)") + } + + + case 0x6065: JLog.debug("recognizing SMANetPacket") + + do + { + let smanetPacket = try SMANetPacket.init(fromBinary: smaNetDecoder) + self.smaNetPackets.append(smanetPacket) + } + catch + { + JLog.error("SMANetPacket decoding error:\(error)") + } + + default: JLog.error("protocol unknown.") } + } + else + { + JLog.error("Could not decode protocol:\(tag) length:\(length) data:\(smaNetData.hexDump)") + } - default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump) trying detection") - } + default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump) trying detection") } } + while !decoder.isAtEnd && !endPacketRead } } diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 296af4f..086ec64 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -119,10 +119,11 @@ final class sma2mqttTests: XCTestCase func testSMAFile() throws { - JLog.loglevel = .trace + JLog.loglevel = .info JLog.info("loading data") let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) JLog.info("data loaded") + let separator = Data(bytes: [0x53, 0x4d, 0x41, 0x00] ) var counter = 0 @@ -283,7 +284,19 @@ f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0100 3400 0102 8051 4800 0000 534d 4100 0004 02a0 0000 0001 0206 0010 6065 81a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0000 3400 0102 8051 6000 0000 6b00 0000 -0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0125 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 013a 6508 249c 9a62 2e01 0001 3301 0000 c701 0000 2203 0000 feff ff00 0000 0000 0000 0000 0000 0000 011e 6708 747e a162 1b00 0000 3201 0000 3901 0000 4d01 0000 b601 0000 af04 0000 561d 0001 591d 0000 011e 6708 747e a162 5a1d 0000 5d1d 0000 5e1d 0000 631d 0000 671d 0000 6c1d 0000 6d1d 0000 701d 0000 011e 6708 747e a162 721d 0000 731d 0000 7d1d 0000 7e1d 0000 7f1d 0000 841d 0000 851d 0000 8d1d 0000 011e 6708 747e a162 8e1d 0000 8f1d 0000 901d 0000 911d 0000 951d 0000 961d 0000 fdff ff00 feff ff00 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0124 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0125 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +0126 6508 249c 9a62 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 +013a 6508 249c 9a62 2e01 0001 3301 0000 c701 0000 2203 0000 feff ff00 0000 0000 0000 0000 0000 0000 +011e 6708 747e a162 1b00 0000 3201 0000 3901 0000 4d01 0000 b601 0000 af04 0000 561d 0001 591d 0000 +011e 6708 747e a162 5a1d 0000 5d1d 0000 5e1d 0000 631d 0000 671d 0000 6c1d 0000 6d1d 0000 701d 0000 +011e 6708 747e a162 721d 0000 731d 0000 7d1d 0000 7e1d 0000 7f1d 0000 841d 0000 851d 0000 8d1d 0000 +011e 6708 747e a162 8e1d 0000 8f1d 0000 901d 0000 911d 0000 951d 0000 961d 0000 fdff ff00 feff ff00 +0000 0000 """) // print(data1.hexDump) diff --git a/smatester.perl b/smatester.perl index 1a7683e..8dfc25e 100644 --- a/smatester.perl +++ b/smatester.perl @@ -51,60 +51,44 @@ my $sessionid = sprintf '1234 %04x 4321',int(rand(0x10000)); my $inverterid = 'ffff ffff ffff'; - my $commandconversion = 'CCCC VV'; + my $commandconversion = 'VVV'; $commandconversion =~ s/ //g; # "0000 0052 0048 4600 ffff 4600 ", # multivalues if first # "0000 0051 0048 4600 ffff 4600 ", # normal values # 0x52000200, 0x00237700, 0x002377FF inverter temp my @commandarguments = ( -#[0x00, 0x02, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature - -# [0x00,0x02,0x00,0x46, 0x00237700, 0x002377FF], -#[0x00, 0x00, 0x00, 0x61, 0x0046ea00, 0x0046eaFF ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: - - -# [0x00, 0x02, 0x00, 0x46, 0x00237700, 0x002377FF ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: -# elsif ($i eq "sup_InverterTemperature") { -# ($sup_InverterTemperature,$inv_TEMP,$inv_susyid,$inv_serial) = SMAInverter_SMAcommand($hash, $hash->{HOST}, 0x52000200, 0x00237700, 0x002377FF); - -#[0x00, 0x00, 0x00, 0x51, 0x00237700, 0x00237702 ], -#[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x00237702 ], +#[0x51008000, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS +#[0x51000000, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT +#[0x51000000, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: +#[0x51000000, 0x00411e00, 0x004120ff ],# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 +#[0x51008000, 0x00416400, 0x004164ff ],# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY +#[0x51000000, 0x00463600, 0x004637ff ],# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: +#[0x51000000, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 +#[0x51000000, 0x00464800, 0x004655ff ],# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 +#[0x51000000, 0x00464800, 0x0046ffff ], +#[0x51000000, 0x00465700, 0x004657ff ],# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ +#[0x51000000, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: +#[0x51000000, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: +#[0x51000000, 0x00832a00, 0x00832aff ],# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 # -#[0x00, 0x00, 0x00, 0x51, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature -#[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature +#[0x52000000, 0x00237700, 0x00237702 ], +#[0x52000000, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature +#[0x52000000, 0x00464800, 0x0046ffff ], # - -#[0x00, 0x00, 0x00, 0x51, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: -#[0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: -#[0x00, 0x00, 0x00, 0x54, 0x00262200, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield -#[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT - -#[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff, ], +#[0x53000000, 0x00251e00, 0x00251eff ], +#[0x53008000, 0x00251e00, 0x00251eff ],# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 +#[0x53008000, 0x00251e01, 0x00251e01 ], +#[0x53008000, 0x00251e02, 0x00251e02 ], +#[0x53000000, 0x00251e02, 0x00251eff ], +#[0x53008000, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +# +#[0x54000000, 0x00260100, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield +#[0x54000000, 0x00462e00, 0x00462fff ],# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM # -#[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff, ], - -#[0x00, 0x00, 0x00, 0x50, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x53, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x54, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x55, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x56, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x57, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x58, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x59, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x00, 0x00, 0x00, 0x5A, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT - -#[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff, ], -#[0x00, 0x00, 0x80, 0x51, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x52, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x53, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -##[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff, ], -#[0x00, 0x00, 0x80, 0x54, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x55, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x56, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x57, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x58, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -#[0x00, 0x00, 0x80, 0x59, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 +#[0x58000000, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS +#[0x58000000, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION +#[0x64000200, 0x00618d00, 0x00618dff ], ); @@ -118,7 +102,7 @@ [0x00, 0x00, 0x00, 0x51, 0x00463600, 0x004637ff ],# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: [0x00, 0x00, 0x00, 0x51, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 [0x00, 0x00, 0x00, 0x51, 0x00464800, 0x004655ff ],# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 -#[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff ], +[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff ], [0x00, 0x00, 0x00, 0x51, 0x00465700, 0x004657ff ],# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ [0x00, 0x00, 0x00, 0x51, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: [0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: @@ -140,7 +124,7 @@ [0x00, 0x00, 0x00, 0x58, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS [0x00, 0x00, 0x00, 0x58, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION -#[0x00, 0x00, 0x02, 0x64, 0x00618d00, 0x00618dff ], +[0x00, 0x00, 0x02, 0x64, 0x00618d00, 0x00618dff ], ); my @commands = ( @@ -234,23 +218,29 @@ exit; } -for my $command (0x00..0x40) # (0x00..0xff) +for my $a ( 0x52 ) { - for my $type (0x00,0x80) # (0x00..0xff) # 0x02 logout - { - for my $address (0x20..0x5F) - { - my $start = ($address << 16) | 0x0000; - my $end = ($address << 16) | 0xffff; +for my $b ( 0x00, 0x80 ) +{ +for my $c ( 0x01..0xff ) +{ +for my $d ( 0x00 ) +{ + my $command = ($a << 24) | ($b << 16) | ($c << 8) | $d; -# [0x00, 0x00, 0x00, 0x51, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: + for my $address (0x20..0x5F) + { + my $start = ($address << 16) | 0x0000; + my $end = ($address << 16) | 0xffff; - my @cmd = [0x00, 0x00, $type, $command, $start, $end ]; + my @cmd = [$command, $start, $end ]; - doWork( @cmd ); - } + doWork( @cmd ); } } +} +} +} exit; From e7047e645fcd9d869efd845791083667a57fa54d Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 12 Jun 2022 12:15:07 +0200 Subject: [PATCH 25/81] update to improve packet recognition --- SMA Protocol.md | 8 +- Sources/sma2mqttLibrary/SMANetPacket.swift | 2 +- Tests/sma2mqttTests/sma2mqttTests.swift | 103 ++----- smatester.perl | 322 +++++++++++---------- 4 files changed, 201 insertions(+), 234 deletions(-) diff --git a/SMA Protocol.md b/SMA Protocol.md index 6cdfbfb..281815d 100644 --- a/SMA Protocol.md +++ b/SMA Protocol.md @@ -210,12 +210,16 @@ I've not seen any response from a logout. addr | type| explanation ----------------------------------- - 0x16 | U8 | ?? flags maybe usually 0x01 + 0x16 | U8 | ?? flags maybe usually 0x01, 0x0C , 0x0D, | | flags 0000 0000b | | ---- ---Xb 0 = request | | 1 = answer | | ---- X--0b 8 -> response 9 as if adding one to the request - 0x17 | U8 | ?? usually 02 + 0x17 | U8 | values seen: 00 , 01 , 02, 04 + | | 00 packet data directly following address 0x1A + | | 01 address 0x1A contains packet count + | | 02 address 0x1A contains start , 0x20 contains end + | | 04 ? 0x18 | U16 | Command used in request | | 0x0000 keep alive ? contains no data option 1 & 2 : 0x0000 0000 & 0x0000 00ff | | can contain 56 static bytes as well diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 21143f7..c5acbff 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -106,7 +106,7 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable self.quaterlength = try decoder.decode(UInt8.self).littleEndian - guard Int(self.quaterlength) * 4 == (decoder.countToEnd + 1) else { throw SMANetPacketHeaderDecodingError.decoding("internal data error") } + guard Int(self.quaterlength) * 4 == (decoder.countToEnd + 1) else { throw SMANetPacketHeaderDecodingError.decoding("quaterlength \(self.quaterlength) != countToEnd \(decoder.countToEnd)") } self.type = try decoder.decode(UInt8.self).littleEndian diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 086ec64..fcc4b0a 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -121,7 +121,8 @@ final class sma2mqttTests: XCTestCase { JLog.loglevel = .info JLog.info("loading data") - let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) + let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/mirror.sb4.pcap"),options:.mappedRead) +// let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) JLog.info("data loaded") let separator = Data(bytes: [0x53, 0x4d, 0x41, 0x00] ) @@ -179,7 +180,14 @@ final class sma2mqttTests: XCTestCase JLog.loglevel = .trace let data1 = hex(from:""" -534d 4100 0004 02a0 0000 0001 03fa 0010 6065 fea0 1234 25f6 4321 00a1 9901 f6a2 2fb3 0001 0000 0900 4604 0102 0051 2300 0000 4500 0000 01e5 4600 40d5 9462 275c 0000 275c 0000 275c 0000 275c 0000 0100 0000 01e6 4600 40d5 9462 305c 0000 305c 0000 305c 0000 305c 0000 0100 0000 01e7 4600 40d5 9462 175c 0000 175c 0000 175c 0000 175c 0000 0100 0000 01e8 4600 40d5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 01e9 4600 40d5 9462 6a03 0000 6a03 0000 6a03 0000 6a03 0000 0100 0000 01ea 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01eb 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01ec 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01ed 4600 40d5 9462 a000 0000 a000 0000 a000 0000 a000 0000 0100 0000 01ee 4640 40d5 9462 0600 0000 0600 0000 0600 0000 0600 0000 0100 0000 01ef 4640 40d5 9462 2300 0000 2300 0000 2300 0000 2300 0000 0100 0000 01f0 4640 40d5 9462 5d00 0000 5d00 0000 5d00 0000 5d00 0000 0100 0000 01f1 4640 40d5 9462 8600 0000 8600 0000 8600 0000 8600 0000 0100 0000 01b6 4a00 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 011f 5740 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0000 0000 +534d 4100 0004 02a0 0000 0001 03fa 0010 6065 +fea0 1234 25f6 4321 00a1 9901 f6a2 2fb3 0001 0000 0900 4604 0102 0051 +2300 0000 4500 0000 +01e5 4600 40d5 9462 275c 0000 275c 0000 275c 0000 275c 0000 0100 0000 +01e6 4600 40d5 9462 305c 0000 305c 0000 305c 0000 305c 0000 0100 0000 +01e7 4600 40d5 9462 175c 0000 175c 0000 175c 0000 175c 0000 0100 0000 +01e8 4600 40d5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 +01e9 4600 40d5 9462 6a03 0000 6a03 0000 6a03 0000 6a03 0000 0100 0000 01ea 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01eb 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01ec 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01ed 4600 40d5 9462 a000 0000 a000 0000 a000 0000 a000 0000 0100 0000 01ee 4640 40d5 9462 0600 0000 0600 0000 0600 0000 0600 0000 0100 0000 01ef 4640 40d5 9462 2300 0000 2300 0000 2300 0000 2300 0000 0100 0000 01f0 4640 40d5 9462 5d00 0000 5d00 0000 5d00 0000 5d00 0000 0100 0000 01f1 4640 40d5 9462 8600 0000 8600 0000 8600 0000 8600 0000 0100 0000 01b6 4a00 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 011f 5740 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0000 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) let packet1 = try? SMAPacket(fromBinary:binaryDecoder1) @@ -189,7 +197,15 @@ final class sma2mqttTests: XCTestCase JLog.loglevel = .trace let data1 = hex(from:""" -534d 4100 0004 02a0 0000 0001 03fa 0010 6065 fea0 1234 25f6 4321 00a1 9901 f6a2 2fb3 0001 0000 0a00 4684 0102 0051 0000 0000 2200 0000 013f 2640 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 011e 4100 3fd5 9462 a00f 0000 a00f 0000 a00f 0000 a00f 0000 0100 0000 011f 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0120 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0166 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0180 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0136 4640 40d5 9462 2805 0000 2805 0000 2805 0000 2805 0000 0100 0000 0137 4640 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0140 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0141 4640 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 0142 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0148 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0149 4600 40d5 9462 275c 0000 275c 0000 275c 0000 275c 0000 0100 0000 014a 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014b 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014c 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014d 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014e 4600 40d5 9462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 0153 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0154 4640 40d5 9462 f90f 0000 f90f 0000 f90f 0000 f90f 0000 0100 0000 0155 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0157 4600 40d5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 0165 4640 40d5 9462 1a0a 0000 1a0a 0000 1a0a 0000 1a0a 0000 0100 0000 0166 4640 40d5 9462 df0e 0000 df0e 0000 df0e 0000 df0e 0000 0100 0000 016b 4640 40d5 9462 8b03 0000 8b03 0000 8b03 0000 8b03 0000 0100 0000 016c 4640 40d5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 016d 4640 40d5 9462 6b03 0000 6b03 0000 6b03 0000 6b03 0000 0100 0000 016e 4640 40d5 9462 b900 0000 b900 0000 b900 0000 b900 0000 0100 0000 0177 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0178 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0179 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0181 4600 40d5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 018f 4640 40d5 9462 2f05 0000 2f05 0000 2f05 0000 2f05 0000 0100 0000 0199 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 01c2 4600 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 0000 0000 +534d 4100 0004 02a0 0000 0001 03fa 0010 6065 +fea0 1234 25f6 4321 00a1 9901 f6a2 2fb3 0001 0000 0a00 4684 0102 0051 +0000 0000 2200 0000 +013f 2640 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 +011e 4100 3fd5 9462 a00f 0000 a00f 0000 a00f 0000 a00f 0000 0100 0000 +011f 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +0120 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +0166 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 +0180 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0136 4640 40d5 9462 2805 0000 2805 0000 2805 0000 2805 0000 0100 0000 0137 4640 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0140 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0141 4640 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 0142 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0148 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0149 4600 40d5 9462 275c 0000 275c 0000 275c 0000 275c 0000 0100 0000 014a 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014b 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014c 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014d 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014e 4600 40d5 9462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 0153 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0154 4640 40d5 9462 f90f 0000 f90f 0000 f90f 0000 f90f 0000 0100 0000 0155 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0157 4600 40d5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 0165 4640 40d5 9462 1a0a 0000 1a0a 0000 1a0a 0000 1a0a 0000 0100 0000 0166 4640 40d5 9462 df0e 0000 df0e 0000 df0e 0000 df0e 0000 0100 0000 016b 4640 40d5 9462 8b03 0000 8b03 0000 8b03 0000 8b03 0000 0100 0000 016c 4640 40d5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 016d 4640 40d5 9462 6b03 0000 6b03 0000 6b03 0000 6b03 0000 0100 0000 016e 4640 40d5 9462 b900 0000 b900 0000 b900 0000 b900 0000 0100 0000 0177 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0178 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0179 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0181 4600 40d5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 018f 4640 40d5 9462 2f05 0000 2f05 0000 2f05 0000 2f05 0000 0100 0000 0199 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 01c2 4600 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 0000 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) let packet1 = try? SMAPacket(fromBinary:binaryDecoder1) @@ -198,7 +214,13 @@ final class sma2mqttTests: XCTestCase { JLog.loglevel = .trace let data1 = hex(from:""" -534d 4100 0004 02a0 0000 0001 03fa 0010 6065 fea0 1234 25f6 4321 00a1 9901 f6a2 2fb3 0001 0000 0a00 4284 0102 0051 0000 0000 2200 0000 013f 2640 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 011e 4100 3fd5 9462 a00f 0000 a00f 0000 a00f 0000 a00f 0000 0100 0000 011f 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0120 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0166 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0180 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0136 4640 3fd5 9462 2405 0000 2405 0000 2405 0000 2405 0000 0100 0000 0137 4640 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0140 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0141 4640 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 0142 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0148 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0149 4600 3fd5 9462 255c 0000 255c 0000 255c 0000 255c 0000 0100 0000 014a 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014b 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014c 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014d 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014e 4600 3fd5 9462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 0153 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0154 4640 3fd5 9462 e30f 0000 e30f 0000 e30f 0000 e30f 0000 0100 0000 0155 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0157 4600 3fd5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 0165 4640 3fd5 9462 1b0a 0000 1b0a 0000 1b0a 0000 1b0a 0000 0100 0000 0166 4640 3fd5 9462 cf0e 0000 cf0e 0000 cf0e 0000 cf0e 0000 0100 0000 016b 4640 3fd5 9462 8603 0000 8603 0000 8603 0000 8603 0000 0100 0000 016c 4640 3fd5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 016d 4640 3fd5 9462 6603 0000 6603 0000 6603 0000 6603 0000 0100 0000 016e 4640 3fd5 9462 b800 0000 b800 0000 b800 0000 b800 0000 0100 0000 0177 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0178 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0179 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0181 4600 3fd5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 018f 4640 3fd5 9462 2b05 0000 2b05 0000 2b05 0000 2b05 0000 0100 0000 0199 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 01c2 4600 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 0000 0000 +534d 4100 0004 02a0 0000 0001 03fa 0010 6065 +fe a0 123425f64321 00a1 9901f6a22fb3 0001 0000 0a00 4284 0102 0051 +0000 0000 2200 0000 +013f 2640 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 +011e 4100 3fd5 9462 a00f 0000 a00f 0000 a00f 0000 a00f 0000 0100 0000 +011f 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +0120 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0166 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0180 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0136 4640 3fd5 9462 2405 0000 2405 0000 2405 0000 2405 0000 0100 0000 0137 4640 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0140 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0141 4640 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 0142 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0148 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0149 4600 3fd5 9462 255c 0000 255c 0000 255c 0000 255c 0000 0100 0000 014a 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014b 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014c 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014d 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014e 4600 3fd5 9462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 0153 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0154 4640 3fd5 9462 e30f 0000 e30f 0000 e30f 0000 e30f 0000 0100 0000 0155 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0157 4600 3fd5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 0165 4640 3fd5 9462 1b0a 0000 1b0a 0000 1b0a 0000 1b0a 0000 0100 0000 0166 4640 3fd5 9462 cf0e 0000 cf0e 0000 cf0e 0000 cf0e 0000 0100 0000 016b 4640 3fd5 9462 8603 0000 8603 0000 8603 0000 8603 0000 0100 0000 016c 4640 3fd5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 016d 4640 3fd5 9462 6603 0000 6603 0000 6603 0000 6603 0000 0100 0000 016e 4640 3fd5 9462 b800 0000 b800 0000 b800 0000 b800 0000 0100 0000 0177 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0178 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0179 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0181 4600 3fd5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 018f 4640 3fd5 9462 2b05 0000 2b05 0000 2b05 0000 2b05 0000 0100 0000 0199 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 01c2 4600 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 0000 0000 """) let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1) ) let packet1 = try? SMAPacket(fromBinary:binaryDecoder1) @@ -211,8 +233,8 @@ final class sma2mqttTests: XCTestCase let data1 = hex(from:""" 534d 4100 0004 02a0 0000 0001 03e6 0010 6065 -f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0400 3480 0102 8051 0000 0000 1700 0000 - +f9 a0 123457374321 00a1 9901f6a22fb3 0001 0000 0400 3480 0102 8051 +0000 0000 1700 0000 0148 2108 747e a162 3301 0001 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0128 4108 747e a162 2701 0001 7d01 0000 bb01 0000 7005 0000 7105 0000 bb05 0000 bd05 0000 c805 0000 0128 4108 747e a162 3f07 0000 4708 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 @@ -315,72 +337,3 @@ f9a0 1234 5737 4321 00a1 9901 f6a2 2fb3 0001 0000 0100 3400 0102 8051 4800 0000 } - - -/* - - - - -1800 0000 2f00 0000 -01aa 4a08 0ed5 9462 3301 0001 b706 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -01b7 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -01b8 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -01b9 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -01ba 4a10 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -01bb 4a08 37d5 9462 260d 0001 270d 0000 280d 0000 290d 0000 feff ff00 0000 0000 0000 0000 0000 0000 -01bc 4a08 3ed5 9462 2f01 0001 3301 0000 bd06 0000 5208 0000 fd0c 0000 620d 0000 feff ff00 0000 0000 -011e 4b08 40d5 9462 2f01 0001 3301 0000 b706 0000 bd06 0000 f007 0000 f107 0000 f207 0000 f707 0000 -011e 4b08 40d5 9462 2508 0000 5208 0000 6c08 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 -0127 5200 3fd5 9462 0000 0000 0000 0000 321e 0000 321e 0000 a00f 0000 a00f 0000 ffff ffff ffff ffff -0128 5240 3fd5 9462 0000 0000 0000 0000 321e 0000 321e 0000 0000 0080 0000 0080 0000 0080 0000 0080 -0129 5200 3fd5 9462 0000 0000 0000 0000 1027 0000 1027 0000 ffff ffff ffff ffff ffff ffff ffff ffff -012a 5208 3fd5 9462 1104 0000 1204 0000 fdff ff01 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 -012f 5208 3fd5 9462 2f01 0000 3401 0001 2203 0000 1f0d 0000 fdff ff00 feff ff00 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 - - - - - -3000 0000 4700 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 - - -4800 0000 5f00 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 -0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8565 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 - -*/ diff --git a/smatester.perl b/smatester.perl index 8dfc25e..13707b9 100644 --- a/smatester.perl +++ b/smatester.perl @@ -58,6 +58,18 @@ # "0000 0051 0048 4600 ffff 4600 ", # normal values # 0x52000200, 0x00237700, 0x002377FF inverter temp my @commandarguments = ( + + +# sbs|Code:0x5100|0x46f0|No:0x07|Type:0x40|len:28|2022-06-10T17:00:07| type.unknown.0x46f0.7| 90:90:90:90:1 |typ: int|raw: 07f0 4640 775c a362 5a00 0000 5a00 0000 5a00 0000 5a00 0000 0100 0000 +# sbs|Code:0x5100|0x46f0|No:0x07|Type:0x40|len:28|2022-06-12T06:54:17| type.unknown.0x46f0.7| 92:92:92:92:1 |typ: int|raw: 07f0 4640 7971 a562 5c00 0000 5c00 0000 5c00 0000 5c00 0000 0100 0000 +# sbs|Code:0x5200|0x46f0|No:0x07|Type:0x40|len:28|2021-08-14T07:30:00| type.unknown.0x46f0.7| 69:83:76:76:1 |typ: int|raw: 07f0 4640 d854 1761 4500 0000 5300 0000 4c00 0000 4c00 0000 0100 0000 + +#[0x51000000, 0x00460000, 0x0046ffff], +#[0x51800000, 0x00460000, 0x0046ffff], +#[0x52000000, 0x00460000, 0x0046ffff], + +#[0x53800000, 0x00251E00, 0x00251EFF], +#[0x51800000, 0x00251E00, 0x00251EFF], #[0x51008000, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS #[0x51000000, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT #[0x51000000, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: @@ -89,7 +101,43 @@ #[0x58000000, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS #[0x58000000, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION #[0x64000200, 0x00618d00, 0x00618dff ], - +# {0x5100, 0x00263F00, 0x00263FFF, 0x00, 0x263F, ActivePowerPlus, 0}, +# {0x5100, 0x00295A00, 0x00295AFF, 0x00, 0x295A, BatteryCharge, 0}, +# {0x5100, 0x00411E00, 0x004120FF, 0x00, 0x411E, ActivePowerMax, 0}, +# {0x5100, 0x00464000, 0x004642FF, 0x00, 0x4640, ActivePowerPlusL1, 0}, +# {0x5100, 0x00464000, 0x004642FF, 0x00, 0x4641, ActivePowerPlusL2, 0}, +# {0x5100, 0x00464000, 0x004642FF, 0x00, 0x4642, ActivePowerPlusL3, 0}, +# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4648, VoltageL1, 0.01}, +# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4649, VoltageL2, 0.01}, +# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x464a, VoltageL3, 0.01}, +# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4653, CurrentL1, 0.001}, +# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4654, CurrentL2, 0.001}, +# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4655, CurrentL3, 0.001}, +# {0x5100, 0x00465700, 0x004657FF, 0x00, 0x4657, UtilityFrequency, 0.01}, +# {0x5100, 0x00491E00, 0x00495DFF, 0x00, 0x495B, BatteryTemperature, 0.1}, +# +# // TODO more decoding for device_status & device_grid_relay +# {0x5180, 0x00214800, 0x002148FF, 0x00, 0x2148, DeviceStatus, 0}, +# {0x5180, 0x00416400, 0x004164FF, 0x00, 0x4164, DeviceGridRelay, 0}, +# +# {0x5200, 0x00237700, 0x002377FF, 0x00, 0x2377, DeviceTemperature, 0.01}, +# +# {0x5380, 0x00251E00, 0x00251EFF, 0x01, 0x251E, PowerS1, 0}, +# {0x5380, 0x00251E00, 0x00251EFF, 0x02, 0x251E, PowerS2, 0}, +# {0x5380, 0x00451F00, 0x004521FF, 0x01, 0x451F, VoltageS1, 0.01}, +# {0x5380, 0x00451F00, 0x004521FF, 0x02, 0x451F, VoltageS2, 0.01}, +# {0x5380, 0x00451F00, 0x004521FF, 0x01, 0x4521, CurrentS1, 0.001}, +# {0x5380, 0x00451F00, 0x004521FF, 0x02, 0x4521, CurrentS2, 0.001}, +# +# {0x5400, 0x00260100, 0x002622FF, 0x00, 0x2601, ActiveEnergyPlus, 3600}, +# {0x5400, 0x00260100, 0x002622FF, 0x00, 0x2622, ActiveEnergyPlusToday, 3600}, +# {0x5400, 0x00462E00, 0x00462FFF, 0x00, 0x462E, TimeOperating, 0}, +# {0x5400, 0x00462E00, 0x00462FFF, 0x00, 0x462F, TimeFeed, 0}, +# +# {0x5800, 0x00821E00, 0x008220FF, 0x00, 0x821E, DeviceName, 0}, +# {0x5800, 0x00821E00, 0x008220FF, 0x00, 0x821F, DeviceClass, 0}, +# {0x5800, 0x00821E00, 0x008220FF, 0x00, 0x8220, DeviceType, 0}, +# ); my @commandarguments2 = ( @@ -218,17 +266,17 @@ exit; } -for my $a ( 0x52 ) +for my $a ( 0x51..0x54,0x58,0x5d,0x61..0x64,0x68,0xf0,0xff ) { -for my $b ( 0x00, 0x80 ) +for my $b ( 0x00,0x02,0x22,0x80,0x82,0xfd ) { -for my $c ( 0x01..0xff ) +for my $c ( 0x00 ) { for my $d ( 0x00 ) { my $command = ($a << 24) | ($b << 16) | ($c << 8) | $d; - for my $address (0x20..0x5F) + for my $address (0x24..0x99 ) { my $start = ($address << 16) | 0x0000; my $end = ($address << 16) | 0xffff; @@ -548,13 +596,13 @@ sub counttimeswrong my($valuesdata,$valuesize,$warn) = @_; -my %validtypes = ( - 0 => 1, - 0x40 => 1, - 0x10 => 1, - 0x08 => 1, - 0x51 => 1, -); + my %validtypes = ( + 0 => 1, + 0x40 => 1, + 0x10 => 1, + 0x08 => 1, + 0x51 => 1, + ); my $timesnotok = 0; @@ -593,180 +641,149 @@ sub counttimeswrong return $timesnotok; } -sub printSMANetPacket +sub checkSMANetPacketCompleteness { my($data) = @_; - my $valueslength; - my $valuescount; + my $smanet_length = unpack('C',substr($data,0,1)) * 4; + my $remaining = $smanet_length - 36; + + if( $smanet_length != length($data) ) { - my $smanet_length = unpack('C',substr($data,0,1)) * 4; - my $remaining = $smanet_length - 36; + printf "invalid SMANetPacket length $smanet_length != ".length($data)." data:".prettyhexdata($data)."\n"; + return undef; + } + return 1; +} - if( $smanet_length != length($data) ) - { - printf "invalid SMANetPacket length $smanet_length != ".length($data)." data:".prettyhexdata($data)."\n"; - return undef; - } - my $valuesheader = substr($data,28,8); - my $valuesdata = substr($data,36); +sub printSMANetPacket # return ( $result, $moretocome ) +{ + my($data) = @_; - printf "SMANet Packet:"; - printf " len=%4d",$remaining; - printf " head:".prettyhexdata($valuesheader); + return (undef,undef) if !checkSMANetPacketCompleteness($data); - { - if( $remaining < 32 ) - { - $valueslength = $remaining; - $valuescount = $remaining > 0 ? 1 : 0; - } - else - { - my ($from,$to) = unpack('VV',$valuesheader); - $valuescount = $to - $from + 1; - $valueslength = $remaining / $valuescount; - } - printf " valcnt:0x%02d vallen=%2d",$valuescount,$valueslength; + my @header = data2command($data , + 'C C n N C C n N v C C v v c c v'); + #0 1 2 4 8 9 10 12 16 18 19 20 22 24 25 26 + my ($quaterlength,$packettype, $dstid,$dstserial, $p8,$p9, $srcid,$srcserial, $type,$result,$px,$packetstocome ,$pktidflg, $p24, $valuetype, $command, $remaining) = @header; + printf "SMANet Packet:"; - my @validsizes = grep( $_ != undef , map { $remaining % $_ == 0 ? $_ : undef } (16,20,28,40) ) ; - my $countisvalid = ( 1 == scalar grep($_ == $valueslength,@validsizes) ); + my $packetid = $pktidflg & 0x7FFF; + my $direction = $pktidflg & 0x8000 ? 1 : 0; - printf " cntisvalid=%d",$countisvalid; - print " "; - my(@values) = data2command($valuesheader,'CCCCCCC',1); - } + print $direction ? "request " : "response"; -# $valueslength = $remaining; -# -# if( $remaining > 28 ) -# { -# if( $countisvalid -# && @values[0] == 0 && @values[1] == 0 && @values[2] == 0 && @values[3] == 0 -# && @values[5] == 0 && @values[6] == 0 && @values[7] == 0 -# ) -# { -# print " no need to check\n"; -# printf prettyhexdata($valuesdata,$divided); -# } -# else -# { -# my %counttimeswrong = map { $_ => counttimeswrong($valuesdata,$_) } @validsizes; -# -# my @mostprobably = sort{ $counttimeswrong{$a} <=> $counttimeswrong{$b} } @validsizes; -# printf " (%s)",join(',',map { %counttimeswrong{$_} } @mostprobably); -# my $mostprobably = @mostprobably[0]; -# -# my $countismostprobably = $valuecount == $mostprobably; -# -# -# printf " cnt==probable:%d",$countismostprobably; -# printf " cntnow:0x%02x", ($remaining / $mostprobably); -# -# counttimeswrong($valuesdata,$divided,1); -# -# printf " %s",($valuecount == ($remaining / $mostprobably) ? "OK" : "FAIL"); -# -# -# printf "\n"; -# -# printf prettyhexdata($valuesdata,$divided); -# } -# $valueslength = $divided; -# } -# else -# { -# printf "\n"; -# printf prettyhexdata($valuesdata); -# } -# print "\n" x 10; -# -# if( length($data) < 2 -# || length($data) != $smanet_length -# || $smanet_length < 32 -# ) -# { -# printf "Invalid SMANet packet: %d != %d < 32 :%s\n",$smanet_length,length($data),prettyhexdata($data); -# exit; -# return undef; -# } - } + printf " 0x%02x",$result; +# print $result != 0 ? ' ok ': 'fail'; + my $srchostid = sprintf("%02x%04x",$srcid,$srcserial); + my $dsthostid = sprintf("%02x%04x",$dstid,$dstserial); -# { - { - my @header = data2command($data ,'CC nN CC nN v CC v v v v'); + printf " ".hostid2name($srchostid); + printf "->".hostid2name($dsthostid); + printf " pktid:0x%04x pktremain:%2d",$packetid,$packetstocome; - my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$packetstocome ,$packetid, $p12, $command, $remaining) = @header; + printf " command:%04x",$command; + printf " p24:0x%02x",$p24; + printf " valtype:0x%02x",$valuetype; - my $firstpacket = $packetid & 0x8000 ? '1' : '0'; - $packetid = $packetid & 0x7FFF; - printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$firstpacket,$packetid,length($remaining); + my $remainingsize = length($remaining); + printf " remainsize:%3d",$remainingsize; - if( $response != 0 || $command == 0xFFFD ) - { - printf "raw:%s\n",prettyhexdata($data); - return ($response,$packetstocome); - } + if( $remainingsize > 0) + { + if( 0x02 == $valuetype ) + { + print "WEIRD:".prettyhexdata($data) if length($remaining) < 8; + + my $valuesheader = substr($remaining,0,8); + my $valuesdata = substr($remaining,8); + my ($from,$to) = unpack('VV',$valuesheader); + my $valuescount = $to - $from + 1; + + printf " start:0x%08x end:0x%08x valcnt:%2d",$from,$to,$valuescount; + + if( $valuescount > 0) { - my ($a,$kind,$format,$time,$remaining) = data2command($remaining , 'C v C V'); - my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); + my $valuelength = length($valuesdata) / $valuescount; - print "time:$timestring" ; + printValues($srchostid,$command,$valuelength,$valuesdata); } + } + elsif( 0x01 == $valuetype || 0x04 == $valuetype ) + { + print "WEIRD:".prettyhexdata($data) if length($remaining) < 4; + my $valuesheader = substr($remaining,0,4); + my $valuesdata = substr($remaining,4); - } + my ($unknown) = unpack('V',$valuesheader); - my $destination = unpack('H*',substr($data,2,6)); - my $source = unpack('H*',substr($data,10,6)); - my $response = unpack('v',substr($data,18,2)); - my $command = unpack('v',substr($data,26,2)); - my $packetstocome = unpack('v',substr($data,20,2)); - my $packetid = unpack('v',substr($data,22,2)) & 0x7FFF; - my $firstpacket = unpack('v',substr($data,22,2)) & 0x8000 ? '1' : '0'; + my $valueslength = length($valuesdata); + my $valuelength = 0x01 == $valuetype ? 16 : $valueslength; - printf "command:%04x response:%04x: source:%s destination:%s packetstocome:%d firstpkt:%s pktid:0x%04x valueslength:%d\n",$command,$response,$source,$destination,$packetstocome,$firstpacket,$packetid,$valueslength; + printf " valhead:0%08x vallen=%2d",$unknown,$valuelength; + printValues($srchostid,$command,$valuelength,$valuesdata); + } + elsif( 0x00 == $valuetype ) + { + print " keepalivepacket"; + } + else + { + print " typeunknown: ",prettyhexdata($remaining); + } + } + print "\n\n"; -# if( $response != 0 || $command == 0xFFFD ) -# { -# printf "raw:%s\n",prettyhexdata($data); -# return ($response,$packetstocome); -# } -# } + return ($result,$packetstocome); +} -# { -# my $valuetype = unpack('V',substr($data,28,4)); -# my $valuecount = unpack('V',substr($data,32,4)); -# -# my $header = substr($data,0,36); -# -# printf "type:0x%08x count:0x%08x raw:%s\n",$valuetype,$valuecount,prettyhexdata($header); -# } - my $source = unpack('H*',substr($data,10,6)); - my $command = unpack('v',substr($data,26,2)); +sub printValues +{ + my($srchostid,$command,$valuelength,$valuesdata) = @_; + + my $valueslength = length($valuesdata); - my $footer = substr($data,36); - while( length($footer) ) + if( $valueslength > 0) { - my $data = substr($footer,0,$valueslength); + printf " lenisvalid=%d\n",length($valueslength % $valuelength == 0); - SMANetPacketValueParsing($source,$command,$data); - $footer = substr($footer,$valueslength); - } - print "\n\n"; + while( length($valuesdata) >= $valuelength ) + { + my $data = substr($valuesdata,0,$valuelength); - return ($response,$packetstocome); + SMANetPacketValueParsing($srchostid,$command,$data); + $valuesdata = substr($valuesdata,$valuelength); + } + } + return undef; } + +sub hostid2name +{ + my($source) = @_; + + my %knownsources = ( '69016d3326b3' => 'sbs', + '56012b7fbc76' => 'sb3', + '9901f6a22fb3' => 'sb4', + '7a01d39c05b3' => 'sbt', + '740110e7f0b2' => 'shm', + 'ffffffffffff' => 'jnx', + ); + $source = $knownsources{$source} || $source; + return $source; +} + sub SMANetPacketValueParsing { my($source,$command,$footer) = @_; @@ -788,14 +805,7 @@ sub SMANetPacketValueParsing $name .= '.'.$number ;# if $number > 0 && $number <7; $name .= ' ('.$$typeinformation{unit}.')' if $$typeinformation{unit}; - my %knownsources = ( '69016d3326b3' => 'sbs', - '56012b7fbc76' => 'sb3', - '9901f6a22fb3' => 'sb4', - '7a01d39c05b3' => 'sbt', - ); - $source = $knownsources{$source} || $source; - - printf "%s|Code:0x%04x|0x%04x|No:0x%02x|Type:0x%02x|len:%2d|%s|%37s|",$source,$command,$code,$number,$type,length($footer),$timestring,$name; + printf "%10s|Code:0x%04x|0x%04x|No:0x%02x|Type:0x%02x|len:%2d|%s|%37s|",hostid2name($source),$command,$code,$number,$type,length($footer),$timestring,$name; ##### TYPE decoding From 8024fee46a3f931d6dc8488b8c6a996c9199cde0 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 12 Jun 2022 16:01:52 +0200 Subject: [PATCH 26/81] removed unused code. --- smatester.perl | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/smatester.perl b/smatester.perl index 13707b9..a21c6a7 100644 --- a/smatester.perl +++ b/smatester.perl @@ -778,7 +778,8 @@ sub hostid2name '9901f6a22fb3' => 'sb4', '7a01d39c05b3' => 'sbt', '740110e7f0b2' => 'shm', - 'ffffffffffff' => 'jnx', + 'ffffffffffff' => 'any', + '1234b2c14321' => 'jnx', ); $source = $knownsources{$source} || $source; return $source; @@ -811,12 +812,8 @@ sub SMANetPacketValueParsing if( $type == 0x00 || $type == 0x40 ) # integer { - my @values = map { unpack('V',substr($footer,8+(4*$_),4)) } (0..8); + my @values = unpack('V*',substr($footer,8)); - -# my $shortmarker = @values[1]; -# my $longmarker = @values[4]; -# if( @values[0] == 0x0 # version number scheme && @values[1] == 0x0 && @values[2] == 0xFFFFFFFE @@ -828,36 +825,19 @@ sub SMANetPacketValueParsing { @values = unpack('C*',pack('N',@values[4])); } -# elsif( $longmarker == 1 -# || ($longmarker == 0 && @values[2] == 0 && @values[3] == 0) -# ) -# { -# splice(@values,4); -# splice(@values,1) if '' eq join('',map { @values[$_-1] == @values[0] ? '' : 'somevalue' } (1..@values) ); # print one value if all are same -# } -# elsif( $shortmarker == 0 -# # && @values[0] == @values[1] -# # && @values[0] == @values[2] -# # && @values[0] == @values[3] -# ) -# { -# splice(@values,1); -# } -# else -# { -# printf "Weird"; -# } -# + my @results; - for my $value (@values) + VALUE_LOOP: for my $value (@values) { if( $type == 0x00 ) { +# last VALUE_LOOP if $value == 0xFFFFFFFF push(@results, $value != 4294967295 ? sprintf("%d",$value) : 'NaN'); } else { +# last VALUE_LOOP if $value == 0x80000000 my $signed = unpack('l',pack('L',$value)); push(@results, $signed != -2147483648 ? sprintf("%d",$signed) : 'NaN'); } From c98f3fdb7a0cfa276a8087fa686f3d583bc7d2c0 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 12 Jun 2022 18:39:05 +0200 Subject: [PATCH 27/81] swift uses updated mqtt version. --- Package.swift | 8 +- Sources/sma2mqtt/{main.swift => File.swift} | 133 +++++--------------- Sources/sma2mqtt/MQTTPublisher.swift | 17 +++ Sources/sma2mqtt/sma2mqtt.swift | 69 ++++++++++ 4 files changed, 126 insertions(+), 101 deletions(-) rename Sources/sma2mqtt/{main.swift => File.swift} (60%) create mode 100644 Sources/sma2mqtt/MQTTPublisher.swift create mode 100644 Sources/sma2mqtt/sma2mqtt.swift diff --git a/Package.swift b/Package.swift index 12b50a2..808c285 100644 --- a/Package.swift +++ b/Package.swift @@ -16,9 +16,13 @@ let package = Package( .library(name: "sma2mqttLibrary", targets: ["sma2mqttLibrary"]), ], dependencies: [ - .package(url: "https://github.com/apple/swift-argument-parser", from: "0.3.2"), + .package(url: "https://github.com/apple/swift-argument-parser", from: "1.1.2"), .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), - .package(url: "https://github.com/sroebert/mqtt-nio.git", from: "2.0.0"), +// .package(url: "https://github.com/sroebert/mqtt-nio.git", from: "2.6.0"), +// .package(url: "https://github.com/sroebert/mqtt-nio.git", .revision("6d75778") ), +// .package(url: "https://github.com/swift-server-community/mqtt-nio", from: "2.6.0"), + .package(url: "https://github.com/swift-server-community/mqtt-nio", .revision("bc68c7c")), + .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4"), diff --git a/Sources/sma2mqtt/main.swift b/Sources/sma2mqtt/File.swift similarity index 60% rename from Sources/sma2mqtt/main.swift rename to Sources/sma2mqtt/File.swift index 235dfda..0974037 100644 --- a/Sources/sma2mqtt/main.swift +++ b/Sources/sma2mqtt/File.swift @@ -1,22 +1,29 @@ -import Dispatch +// +// File.swift +// +// +// Created by Patrick Stein on 12.06.22. +// + import Foundation +import JLog + import NIO import MQTTNIO -import ArgumentParser + import BinaryCoder -import JLog import sma2mqttLibrary struct JNXServer { let hostname: String - let port: UInt16 + let port: Int let username: String? let password: String? - init(hostname:String,port:UInt16,username:String? = nil, password:String? = nil) + init(hostname:String,port:Int,username:String? = nil, password:String? = nil) { self.hostname = hostname self.port = port @@ -38,96 +45,26 @@ struct JNXMCASTGroup let bind: JNXServer } -struct sma2mqtt: ParsableCommand -{ - @Flag(name: .shortAndLong, help: "optional debug output") - var debug: Int - - @Flag(name: .long, help: "send json output to stdout") - var json:Bool = false - - @Option(name: .long, help: "MQTT Server hostname") - var mqttServername: String = "mqtt" - @Option(name: .long, help: "MQTT Server port") - var mqttPort: UInt16 = 1883; - - @Option(name: .long, help: "MQTT Server username") - var mqttUsername: String = "mqtt" - - @Option(name: .long, help: "MQTT Server password") - var mqttPassword: String = "" - - @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") - var interval: Double = 1.0 - - @Option(name: .shortAndLong, help: "MQTT Server topic.") - var topic: String = "sma/sunnymanager" - - @Option(name: .long, help: "Multicast Binding Listening Interface Address.") - var bindAddress: String = "0.0.0.0" - - @Option(name: .long, help: "Multicast Binding Listening Port number.") - var bindPort: UInt16 = 0; - - @Option(name: .long, help: "Multicast Group Address.") - var mcastAddress: String = "239.12.255.254" - - @Option(name: .long, help: "Multicast Group Port number.") - var mcastPort: UInt16 = 9522; - - mutating func run() throws - { - let mqttServer = JNXMQTTServer(server: JNXServer(hostname: mqttServername, port: mqttPort,username:mqttUsername,password:mqttPassword), emitInterval: interval, topic: topic) - let mcastServer = JNXMCASTGroup(server: JNXServer(hostname: mcastAddress, port: mcastPort), bind: JNXServer(hostname: bindAddress, port: bindPort) ) - - if debug > 0 - { - JLog.loglevel = debug > 1 ? .trace : .debug - } - startSma2mqtt(mcastServer:mcastServer,mqttServer:mqttServer,jsonOutput:json) - } -} -sma2mqtt.main() - - - -func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput:Bool) +func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput:Bool) async throws { - let mqttEventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: 2) + let mqttClient = MQTTClient( + host: mqttServer.server.hostname, + port: mqttServer.server.port, + identifier: ProcessInfo().processName, + eventLoopGroupProvider: .createNew, + configuration: .init(userName: mqttServer.server.username, password: mqttServer.server.password) + ) - let credentials:MQTTConfiguration.Credentials? + let _ = try mqttClient.connect().wait() - if let username = mqttServer.server.username, - let password = mqttServer.server.password - { - credentials = MQTTConfiguration.Credentials(username:username, password:password) - } - else + guard mqttClient.isActive() else { - credentials = nil + fatalError("Could not connect to mqtt server") } - let mqttClient = MQTTClient(configuration: .init(target: .host(mqttServer.server.hostname, port: Int(mqttServer.server.port)), - credentials: credentials - ), - eventLoopGroup: mqttEventLoopGroup ) - let mqttClientConnectionFuture = mqttClient.connect() - do - { - try mqttClientConnectionFuture.wait() - } - catch let error - { - fatalError("Could not connect to mqtt server:\(error)") - } - guard mqttClient.isConnected else - { - fatalError("Could not connect to mqtt server") - } - // We allow users to specify the interface they want to use here. var targetDevice: NIONetworkDevice? = nil if mcastServer.bind.hostname != "0.0.0.0", let targetAddress = try? SocketAddress(ipAddress: mcastServer.bind.hostname, port: Int(mcastServer.bind.port)) @@ -154,7 +91,7 @@ func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput let datagramBootstrap = DatagramBootstrap(group: group) .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) .channelInitializer { channel in - return channel.pipeline.addHandler(ChatMessageEncoder()).flatMap { + return channel.pipeline.addHandler(SMAMessageEncoder()).flatMap { channel.pipeline.addHandler( SMAMessageReceiver(mqttClient:mqttClient,mqttServer:mqttServer,jsonOutput:jsonOutput) ) } } @@ -235,26 +172,24 @@ final class SMAMessageReceiver: ChannelInboundHandler { if obisvalue.mqtt != .invisible { - if !mqttClient.isConnected + if !mqttClient.isActive() { JLog.error("No longer connected to mqtt server - reconnecting") + let _ = try? mqttClient.connect().wait() - let reconnectionFuture = self.mqttClient.reconnect() - - guard self.mqttClient.isConnected else - { - fatalError("Could not connect to mqtt server") - } + guard self.mqttClient.isActive() else + { + fatalError("Could not connect to mqtt server") + } } let topic = "\(mqttServer.topic)/\(obisvalue.topic)" - mqttClient.publish( MQTTMessage(topic: topic, - payload: obisvalue.json, - retain: obisvalue.mqtt == .retained) - ) + let byteBuffer = ByteBuffer(string: obisvalue.json) + let _ = mqttClient.publish(to: topic, payload: byteBuffer, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) + } if jsonOutput { @@ -273,7 +208,7 @@ final class SMAMessageReceiver: ChannelInboundHandler } -private final class ChatMessageEncoder: ChannelOutboundHandler { +private final class SMAMessageEncoder: ChannelOutboundHandler { public typealias OutboundIn = AddressedEnvelope public typealias OutboundOut = AddressedEnvelope diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift new file mode 100644 index 0000000..60053d4 --- /dev/null +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -0,0 +1,17 @@ +// +// File 2.swift +// +// +// Created by Patrick Stein on 12.06.22. +// + +import Foundation +import MQTTNIO +import JLog + + +actor MQTTPublisher +{ + + +} diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift new file mode 100644 index 0000000..a672e97 --- /dev/null +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -0,0 +1,69 @@ +import Foundation +import ArgumentParser +import JLog + +@main +struct sma2mqtt: AsyncParsableCommand +{ + @Flag(name: .shortAndLong, help: "optional debug output") + var debug: Int + + @Flag(name: .long, help: "send json output to stdout") + var json:Bool = false + + + + @Option(name: .long, help: "MQTT Server hostname") + var mqttServername: String = "mqtt" + + @Option(name: .long, help: "MQTT Server port") + var mqttPort: UInt16 = 1883; + + @Option(name: .long, help: "MQTT Server username") + var mqttUsername: String = "mqtt" + + @Option(name: .long, help: "MQTT Server password") + var mqttPassword: String = "" + + @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") + var interval: Double = 1.0 + + #if DEBUG + @Option(name: .shortAndLong, help: "MQTT Server topic.") + var topic: String = "test/sma/sunnymanager" + #else + @Option(name: .shortAndLong, help: "MQTT Server topic.") + var topic: String = "sma/sunnymanager" + #endif + + + @Option(name: .long, help: "Multicast Binding Listening Interface Address.") + var bindAddress: String = "0.0.0.0" + + @Option(name: .long, help: "Multicast Binding Listening Port number.") + var bindPort: UInt16 = 0; + + @Option(name: .long, help: "Multicast Group Address.") + var mcastAddress: String = "239.12.255.254" + + @Option(name: .long, help: "Multicast Group Port number.") + var mcastPort: UInt16 = 9522; +} + + +extension sma2mqtt +{ + mutating func run() async throws + { + let mqttServer = JNXMQTTServer(server: JNXServer(hostname: mqttServername, port: Int(mqttPort),username:mqttUsername,password:mqttPassword), emitInterval: interval, topic: topic) + let mcastServer = JNXMCASTGroup(server: JNXServer(hostname: mcastAddress, port: Int(mcastPort)), bind: JNXServer(hostname: bindAddress, port: Int(bindPort)) ) + + if debug > 0 + { + JLog.loglevel = debug > 1 ? .trace : .debug + } + try await startSma2mqtt(mcastServer:mcastServer,mqttServer:mqttServer,jsonOutput:json) + } +} +//sma2mqtt.main() + From 57b1d8fc5c22ea3f7a651a176a361574b7cd94a0 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Mon, 13 Jun 2022 07:03:51 +0200 Subject: [PATCH 28/81] updated tests --- Package.swift | 5 +- Sources/sma2mqtt/File.swift | 3 +- Sources/sma2mqtt/sma2mqtt.swift | 14 +- Sources/sma2mqttLibrary/SMANetPacket.swift | 12 +- Tests/sma2mqttTests/TestHelpers.swift | 97 +++++ Tests/sma2mqttTests/sma2mqttTests.swift | 446 ++++++++++++++------- 6 files changed, 418 insertions(+), 159 deletions(-) create mode 100644 Tests/sma2mqttTests/TestHelpers.swift diff --git a/Package.swift b/Package.swift index 808c285..71f7360 100644 --- a/Package.swift +++ b/Package.swift @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "sma2mqtt", platforms: [ - .macOS(.v10_15), + .macOS(.v11), // .iOS(.v13), // .tvOS(.v13), // .watchOS(.v6) @@ -18,9 +18,6 @@ let package = Package( dependencies: [ .package(url: "https://github.com/apple/swift-argument-parser", from: "1.1.2"), .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), -// .package(url: "https://github.com/sroebert/mqtt-nio.git", from: "2.6.0"), -// .package(url: "https://github.com/sroebert/mqtt-nio.git", .revision("6d75778") ), -// .package(url: "https://github.com/swift-server-community/mqtt-nio", from: "2.6.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .revision("bc68c7c")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), diff --git a/Sources/sma2mqtt/File.swift b/Sources/sma2mqtt/File.swift index 0974037..286994b 100644 --- a/Sources/sma2mqtt/File.swift +++ b/Sources/sma2mqtt/File.swift @@ -6,7 +6,6 @@ // import Foundation - import JLog import NIO @@ -121,7 +120,7 @@ func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput }.wait() JLog.info("Receiving SMA Data\nPress ^C to exit.") - RunLoop.current.run() + Thread.sleep(until: Date.distantFuture) // // while let line = readLine(strippingNewline: false) { // datagramChannel.writeAndFlush(AddressedEnvelope(remoteAddress: chatMulticastGroup, data: line), promise: nil) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index a672e97..b8b6980 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -12,9 +12,13 @@ struct sma2mqtt: AsyncParsableCommand var json:Bool = false - + #if DEBUG + @Option(name: .long, help: "MQTT Server hostname") + var mqttServername: String = "pltmqtt.jinx.eu." + #else @Option(name: .long, help: "MQTT Server hostname") var mqttServername: String = "mqtt" + #endif @Option(name: .long, help: "MQTT Server port") var mqttPort: UInt16 = 1883; @@ -36,9 +40,14 @@ struct sma2mqtt: AsyncParsableCommand var topic: String = "sma/sunnymanager" #endif - + #if DEBUG + @Option(name: .long, help: "Multicast Binding Listening Interface Address.") + var bindAddress: String = "10.112.16.115" + #else @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "0.0.0.0" + #endif + @Option(name: .long, help: "Multicast Binding Listening Port number.") var bindPort: UInt16 = 0; @@ -63,6 +72,7 @@ extension sma2mqtt JLog.loglevel = debug > 1 ? .trace : .debug } try await startSma2mqtt(mcastServer:mcastServer,mqttServer:mqttServer,jsonOutput:json) + } } //sma2mqtt.main() diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index c5acbff..3c2eaf9 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -73,18 +73,19 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable let remainingpackets:UInt16 // 20 private let _packetId:UInt16 - let unknown6:UInt16 - + let unknown6:UInt8 + let valuetypes:UInt8 let command:UInt16 + // calculated var packetId: UInt16 { _packetId & 0x7FFF } - var firstpacket: Bool { _packetId & 0x8000 != 0 } + var direction: Bool { _packetId & 0x8000 != 0 } let valuecountDone:UInt32 let valuecountAll:UInt32 - static var size:Int { 36 } + static var size:Int { 36 } private var followingdatasize:Int { ( Int(quaterlength) * 4 ) - Self.size } var valueCount:Int { @@ -127,7 +128,8 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable self._packetId = try decoder.decode(UInt16.self).littleEndian - self.unknown6 = try decoder.decode(UInt16.self).littleEndian + self.unknown6 = try decoder.decode(UInt8.self).littleEndian + self.valuetypes = try decoder.decode(UInt8.self).littleEndian self.command = try decoder.decode(UInt16.self).littleEndian diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift new file mode 100644 index 0000000..c045cef --- /dev/null +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -0,0 +1,97 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 13.06.22. +// + +import XCTest +import class Foundation.Bundle + +@testable import JLog +@testable import BinaryCoder +@testable import sma2mqttLibrary + +extension String +{ + func hexStringToData() -> Data + { + let stringWithoutSpaces = self.replacingOccurrences(of:" ", with:"") + .replacingOccurrences(of:"\n", with:"") + .replacingOccurrences(of:"\t", with:"") + + let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) + .map{ stringWithoutSpaces[stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1)] } + .map{ UInt8($0, radix: 16)! } + return Data(uInt8Array) +} +} + +struct DataSplitter:Sequence, IteratorProtocol +{ + let data : Data + var index : Data.Index + let splitData:Data + + init(data: Data,splitData:Data) + { + self.data = data + self.splitData = splitData + self.index = data.startIndex + JLog.debug("init") + } + + mutating func next() -> Data? + { + guard self.index != self.data.endIndex else { return nil } + + guard let range = data[index ..< data.endIndex].range(of: splitData) + else + { + if index == data.startIndex + { + index = data.endIndex + return nil + } + + let returnData = data[ (index-splitData.count) ..< data.endIndex] + index = data.endIndex + return returnData + } + if index == data.startIndex + { + index = range.endIndex + return next() + } + + let returnData = data[ (index-splitData.count) ..< range.startIndex] + index = range.endIndex + + return returnData + } +} + +extension Data { + func split(separator: Data) -> [Data] + { + var chunks: [Data] = [] + var pos = startIndex + // Find next occurrence of separator after current position: + while let matchedRange = self[pos...].range(of: separator) + { + // Append if non-empty: + if matchedRange.lowerBound > pos + { + chunks.append(self[(pos - separator.count).. Data -{ - let stringWithoutSpaces = string.replacingOccurrences(of:" ", with:"") - .replacingOccurrences(of:"\n", with:"") - .replacingOccurrences(of:"\t", with:"") - - let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) - .map{ stringWithoutSpaces[stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1)] } - .map{ UInt8($0, radix: 16)! } - return Data(uInt8Array) -} -struct DataSplitter:Sequence, IteratorProtocol -{ - let data : Data - var index : Data.Index - let splitData:Data - init(data: Data,splitData:Data) - { - self.data = data - self.splitData = splitData - self.index = data.startIndex - JLog.debug("init") +final class sma2mqttTests: XCTestCase +{ + override func setUp() async throws { + JLog.loglevel = .trace } - mutating func next() -> Data? - { - guard self.index != self.data.endIndex else { return nil } - - guard let range = data[index ..< data.endIndex].range(of: splitData) - else - { - if index == data.startIndex - { - index = data.endIndex - return nil - } - - let returnData = data[ (index-splitData.count) ..< data.endIndex] - index = data.endIndex - return returnData - } - if index == data.startIndex - { - index = range.endIndex - return next() - } - - let returnData = data[ (index-splitData.count) ..< range.startIndex] - index = range.endIndex - - return returnData - } -} -extension Data { - func split(separator: Data) -> [Data] + func testSMANetDecoding() throws { - var chunks: [Data] = [] - var pos = startIndex - // Find next occurrence of separator after current position: - while let matchedRange = self[pos...].range(of: separator) - { - // Append if non-empty: - if matchedRange.lowerBound > pos - { - chunks.append(self[(pos - separator.count).. Date: Mon, 13 Jun 2022 20:42:15 +0200 Subject: [PATCH 29/81] fixed parsing SMANetPackets with headervaluetypes 0x0,0x1,0x4 --- .../Resources/SMANetPacketDefinitions.json | 168 +++++++++--------- Sources/sma2mqttLibrary/SMANetPacket.swift | 110 +++++++----- ...ion.swift => SMANetPacketDefinition.swift} | 0 Tests/sma2mqttTests/TestHelpers.swift | 2 +- Tests/sma2mqttTests/sma2mqttTests.swift | 2 +- 5 files changed, 148 insertions(+), 134 deletions(-) rename Sources/sma2mqttLibrary/{SMANetPacketDefition.swift => SMANetPacketDefinition.swift} (100%) diff --git a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json index b95f590..f40395b 100644 --- a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json +++ b/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json @@ -1,94 +1,96 @@ [ - { "address" : "0x0000", "topic" : "unknown/null" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x2148", "topic" : "immediate/system/status" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x2377", "topic" : "immediate/system/externaltemperature" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x251E", "topic" : "immediate/dc/power" , "unit" : "W" , "factor" : 1 , "title" : "Power DC" }, - { "address" : "0x2601", "topic" : "counter/totaldischarge" , "unit" : "kWh" , "factor" : 1000 , "title" : "" }, - { "address" : "0x2622", "topic" : "counter/dailydischarge" , "unit" : "kWh" , "factor" : 1000 , "title" : "Daily Discharge" }, - { "address" : "0x263F", "topic" : "immediate/gridusage" , "unit" : "W" , "factor" : 1 , "title" : "Grid Usage" }, - { "address" : "0x295A", "topic" : "immediate/soc" , "unit" : "%" , "factor" : 1 , "title" : "Battery State of Charge" }, - { "address" : "0x411E", "topic" : "system/nominalpowerstatus" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x411F", "topic" : "immediate/system/warning" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4120", "topic" : "immediate/system/powerfault" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4164", "topic" : "immediate/ac/contactstatus" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4166", "topic" : "immediate/ac/feedinwaittime" , "unit" : "s" , "factor" : 1 , "title" : "" }, - { "address" : "0x451F", "topic" : "immediate/dc/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, - { "address" : "0x4521", "topic" : "immediate/dc/amperage" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x461f", "topic" : "unknown/maybe/counter/something" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4623", "topic" : "unknown/maybe/counter/total/generation" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x4624", "topic" : "unknown/maybe/counter/total/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x4625", "topic" : "unknown/maybe/counter/total/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x4626", "topic" : "unknown/maybe/counter/total/consumption" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x4627", "topic" : "unknown/maybe/counter/day,feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x4628", "topic" : "unknown/maybe/counter/day/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x462E", "topic" : "immediate/operatingtime" , "unit" : "s" , "factor" : 1 , "title" : "" }, - { "address" : "0x462F", "topic" : "counter/feedintime" , "unit" : "s" , "factor" : 1 , "title" : "" }, - { "address" : "0x4631", "topic" : "unknown/maybe/grid/failure" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4635", "topic" : "unknown/maybe/grid/total/generation" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x4636", "topic" : "counter/total/feedin" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x4637", "topic" : "counter/total/usage" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x4639", "topic" : "unknown/maybe/grid/total/consumption" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x463A", "topic" : "unknown/maybe/grid/power/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x463B", "topic" : "unknown/maybe/grid/power/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x4640", "topic" : "immediate/ac/power/phaseA" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x4641", "topic" : "immediate/ac/power/phaseB" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x4642", "topic" : "immediate/ac/power/phaseC" , "unit" : "W" , "factor" : 1 , "title" : "" }, - { "address" : "0x4648", "topic" : "immediate/ac/voltage/phaseA" , "unit" : "V" , "factor" : 100 , "title" : "" }, - { "address" : "0x4649", "topic" : "immediate/ac/voltage/phaseB" , "unit" : "V" , "factor" : 100 , "title" : "" }, - { "address" : "0x464A", "topic" : "immediate/ac/voltage/phaseC" , "unit" : "V" , "factor" : 100 , "title" : "" }, - { "address" : "0x464B", "topic" : "immediate/ac/powerfactor/phaseA" , "unit" : "%" , "factor" : 1 , "title" : "" }, - { "address" : "0x464C", "topic" : "immediate/ac/powerfactor/phaseB" , "unit" : "%" , "factor" : 1 , "title" : "" }, - { "address" : "0x464D", "topic" : "immediate/ac/powerfactor/phaseC" , "unit" : "%" , "factor" : 1 , "title" : "" }, - { "address" : "0x464E", "topic" : "unknown/maybe/something" , "unit" : "?" , "factor" : 1 , "title" : "" }, - { "address" : "0x4650", "topic" : "unknown/maybe/grid/current/phaseA" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x4651", "topic" : "unknown/maybe/grid/current/phaseB" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x4652", "topic" : "unknown/maybe/grid/current/phaseC" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x4653", "topic" : "immediate/ac/current/phaseA" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x4654", "topic" : "immediate/ac/current/phaseB" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x4655", "topic" : "immediate/ac/current/phaseC" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x4657", "topic" : "immediate/ac/frequency" , "unit" : "Hz" , "factor" : 100 , "title" : "" }, - { "address" : "0x46AA", "topic" : "unknown/maybe/counter/ownconsumption" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x46AB", "topic" : "unknown/maybe/power/ownconsumption" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x491E", "topic" : "unknown/maybe/battery/counter/charges" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4922", "topic" : "battery/cells/maxtemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "" }, - { "address" : "0x4923", "topic" : "battery/cells/mintemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "" }, - { "address" : "0x4924", "topic" : "unknown/maybe/battery/cells" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4926", "topic" : "unknown/maybe/battery/total/charge" , "unit" : "Ah" , "factor" : 1 , "title" : "" }, - { "address" : "0x4927", "topic" : "unknown/maybe/battery/total/discharge" , "unit" : "Ah" , "factor" : 1 , "title" : "" }, - { "address" : "0x4933", "topic" : "battery/cells/setcharging/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, - { "address" : "0x495B", "topic" : "immediate/batterytemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "Battery Temperature" }, - { "address" : "0x495C", "topic" : "battery/system/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, - { "address" : "0x495D", "topic" : "battery/system/current" , "unit" : "A" , "factor" : 1000 , "title" : "" }, - { "address" : "0x821E", "topic" : "settings/system/name" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x0000", "topic" : "unknown/null" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x2148", "topic" : "immediate/system/status" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x2377", "topic" : "immediate/system/externaltemperature" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x251E", "topic" : "immediate/dc/power" , "unit" : "W" , "factor" : 1 , "title" : "Power DC" }, + { "address" : "0x2601", "topic" : "counter/totaldischarge" , "unit" : "kWh" , "factor" : 1000 , "title" : "" }, + { "address" : "0x2622", "topic" : "counter/dailydischarge" , "unit" : "kWh" , "factor" : 1000 , "title" : "Daily Discharge" }, + { "address" : "0x263F", "topic" : "immediate/gridusage" , "unit" : "W" , "factor" : 1 , "title" : "Grid Usage" }, + { "address" : "0x295A", "topic" : "immediate/soc" , "unit" : "%" , "factor" : 1 , "title" : "Battery State of Charge" }, + { "address" : "0x411E", "topic" : "system/nominalpowerstatus" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x411F", "topic" : "immediate/system/warning" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4120", "topic" : "immediate/system/powerfault" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4164", "topic" : "immediate/ac/contactstatus" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4166", "topic" : "immediate/ac/feedinwaittime" , "unit" : "s" , "factor" : 1 , "title" : "" }, + { "address" : "0x451F", "topic" : "immediate/dc/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x4521", "topic" : "immediate/dc/amperage" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x461f", "topic" : "unknown/maybe/counter/something" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4623", "topic" : "unknown/maybe/counter/total/generation" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4624", "topic" : "unknown/maybe/counter/total/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4625", "topic" : "unknown/maybe/counter/total/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4626", "topic" : "unknown/maybe/counter/total/consumption" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4627", "topic" : "unknown/maybe/counter/day,feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x4628", "topic" : "unknown/maybe/counter/day/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x462E", "topic" : "immediate/operatingtime" , "unit" : "s" , "factor" : 1 , "title" : "" }, + { "address" : "0x462F", "topic" : "counter/feedintime" , "unit" : "s" , "factor" : 1 , "title" : "" }, + { "address" : "0x4631", "topic" : "unknown/maybe/grid/failure" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4635", "topic" : "unknown/maybe/grid/total/generation" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4636", "topic" : "counter/total/feedin" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4637", "topic" : "counter/total/usage" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4639", "topic" : "unknown/maybe/grid/total/consumption" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x463A", "topic" : "unknown/maybe/grid/power/feedin" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x463B", "topic" : "unknown/maybe/grid/power/usage" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, - { "address" : "0x821F", "topic" : "system/mainmodel" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x8220", "topic" : "system/systemtype" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x2330", "topic" : "system/manufacturer" , "unit" : "" , "title" : "Manufacturer" }, - { "address" : "0x2332", "topic" : "system/modelname" , "unit" : "" , "title" : "Model Name" }, - { "address" : "0x8234", "topic" : "system/softwareversion" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x832A", "topic" : "system/maximumpoweroutput" , "unit" : "W" , "factor" : 1 , "title" : "Maximum Power Output" }, + { "address" : "0x4640", "topic" : "immediate/ac/power/phaseA" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4641", "topic" : "immediate/ac/power/phaseB" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4642", "topic" : "immediate/ac/power/phaseC" , "unit" : "W" , "factor" : 1 , "title" : "" }, + { "address" : "0x4648", "topic" : "immediate/ac/voltage/phaseA" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x4649", "topic" : "immediate/ac/voltage/phaseB" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x464A", "topic" : "immediate/ac/voltage/phaseC" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x464B", "topic" : "immediate/ac/powerfactor/phaseA" , "unit" : "%" , "factor" : 1 , "title" : "" }, + { "address" : "0x464C", "topic" : "immediate/ac/powerfactor/phaseB" , "unit" : "%" , "factor" : 1 , "title" : "" }, + { "address" : "0x464D", "topic" : "immediate/ac/powerfactor/phaseC" , "unit" : "%" , "factor" : 1 , "title" : "" }, + { "address" : "0x464E", "topic" : "unknown/maybe/something" , "unit" : "?" , "factor" : 1 , "title" : "" }, + { "address" : "0x4650", "topic" : "unknown/maybe/grid/current/phaseA" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4651", "topic" : "unknown/maybe/grid/current/phaseB" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4652", "topic" : "unknown/maybe/grid/current/phaseC" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4653", "topic" : "immediate/ac/current/phaseA" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4654", "topic" : "immediate/ac/current/phaseB" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4655", "topic" : "immediate/ac/current/phaseC" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x4657", "topic" : "immediate/ac/frequency" , "unit" : "Hz" , "factor" : 100 , "title" : "" }, + { "address" : "0x46AA", "topic" : "unknown/maybe/counter/ownconsumption" , "unit" : "kWh" , "factor" : 3600000 , "title" : "" }, + { "address" : "0x46AB", "topic" : "unknown/maybe/power/ownconsumption" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x491E", "topic" : "unknown/maybe/battery/counter/charges" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4922", "topic" : "battery/cells/maxtemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "" }, + { "address" : "0x4923", "topic" : "battery/cells/mintemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "" }, + { "address" : "0x4924", "topic" : "unknown/maybe/battery/cells" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x4926", "topic" : "unknown/maybe/battery/total/charge" , "unit" : "Ah" , "factor" : 1 , "title" : "" }, + { "address" : "0x4927", "topic" : "unknown/maybe/battery/total/discharge" , "unit" : "Ah" , "factor" : 1 , "title" : "" }, + { "address" : "0x4933", "topic" : "battery/cells/setcharging/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x495B", "topic" : "immediate/batterytemperature" , "unit" : "ºC" , "factor" : 10 , "title" : "Battery Temperature" }, + { "address" : "0x495C", "topic" : "battery/system/voltage" , "unit" : "V" , "factor" : 100 , "title" : "" }, + { "address" : "0x495D", "topic" : "battery/system/current" , "unit" : "A" , "factor" : 1000 , "title" : "" }, + { "address" : "0x821E", "topic" : "settings/system/name" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0xcb20", "topic" : "settings/password" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x821F", "topic" : "system/mainmodel" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x8220", "topic" : "system/systemtype" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x2330", "topic" : "system/manufacturer" , "unit" : "" , "title" : "Manufacturer" }, + { "address" : "0x2332", "topic" : "system/modelname" , "unit" : "" , "title" : "Model Name" }, + { "address" : "0x8234", "topic" : "system/softwareversion" , "unit" : "" , "factor" : 1 , "title" : "" }, + { "address" : "0x832A", "topic" : "system/maximumpoweroutput" , "unit" : "W" , "factor" : 1 , "title" : "Maximum Power Output" }, - { "address" : "0x838f", "topic" : "settings/network/ntpserver" , "unit" : "" , "title" : "NTP Server" }, - { "address" : "0xA22f", "topic" : "settings/network/ethernetaddress" , "unit" : "" , "title" : "Ethernet MAC Address" }, + { "address" : "0xcb20", "topic" : "settings/password" , "unit" : "" , "factor" : 1 , "title" : "" }, - { "address" : "0x4A9A", "topic" : "settings/network/ipaddress" , "unit" : "" , "title" : "Ethernet IP Address" }, - { "address" : "0x4a9b", "topic" : "settings/network/netmask" , "unit" : "" , "title" : "Ethernet Netmask" }, - { "address" : "0x4a9c", "topic" : "settings/network/gateway" , "unit" : "" , "title" : "Ethernet Gateway" }, - { "address" : "0x4a9d", "topic" : "settings/network/gateway2" , "unit" : "" , "title" : "Ethernet Gateway2" }, + { "address" : "0x838f", "topic" : "settings/network/ntpserver" , "unit" : "" , "title" : "NTP Server" }, - { "address" : "0x8a53", "topic" : "settings/wifi/ipaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI IP Address" }, - { "address" : "0x8a54", "topic" : "settings/wifi/netmask" , "unit" : "" , "factor" : 1 , "title" : "WiFi Netmask" }, - { "address" : "0x8a55", "topic" : "settings/wifi/gateway" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway" }, - { "address" : "0x8a56", "topic" : "settings/wifi/gateway2" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway2" }, - { "address" : "0x8a59", "topic" : "settings/wifi/ssid" , "unit" : "" , "factor" : 1 , "title" : "WiFI SSID" }, + { "address" : "0xA22f", "topic" : "settings/network/ethernetaddress" , "unit" : "" , "title" : "Ethernet MAC Address" }, + { "address" : "0x4A9A", "topic" : "settings/network/ipaddress" , "unit" : "" , "title" : "Ethernet IP Address" }, + { "address" : "0x4a9b", "topic" : "settings/network/netmask" , "unit" : "" , "title" : "Ethernet Netmask" }, + { "address" : "0x4a9c", "topic" : "settings/network/gateway" , "unit" : "" , "title" : "Ethernet Gateway" }, + { "address" : "0x4a9d", "topic" : "settings/network/gateway2" , "unit" : "" , "title" : "Ethernet Gateway2" }, - { "address" : "0xa230", "topic" : "settings/wifi/ethernetaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI MAC Address" }, - { "address" : "0xaa61", "topic" : "settings/wifi/ipaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI IP Address" }, - { "address" : "0xaa62", "topic" : "settings/wifi/netmask" , "unit" : "" , "factor" : 1 , "title" : "WiFi Netmask" }, - { "address" : "0xaa63", "topic" : "settings/wifi/gateway" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway" }, + { "address" : "0x8a53", "topic" : "settings/wifi/ipaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI IP Address" }, + { "address" : "0x8a54", "topic" : "settings/wifi/netmask" , "unit" : "" , "factor" : 1 , "title" : "WiFi Netmask" }, + { "address" : "0x8a55", "topic" : "settings/wifi/gateway" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway" }, + { "address" : "0x8a56", "topic" : "settings/wifi/gateway2" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway2" }, + { "address" : "0x8a59", "topic" : "settings/wifi/ssid" , "unit" : "" , "factor" : 1 , "title" : "WiFI SSID" }, + + + { "address" : "0xa230", "topic" : "settings/wifi/ethernetaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI MAC Address" }, + { "address" : "0xaa61", "topic" : "settings/wifi/ipaddress" , "unit" : "" , "factor" : 1 , "title" : "WiFI IP Address" }, + { "address" : "0xaa62", "topic" : "settings/wifi/netmask" , "unit" : "" , "factor" : 1 , "title" : "WiFi Netmask" }, + { "address" : "0xaa63", "topic" : "settings/wifi/gateway" , "unit" : "" , "factor" : 1 , "title" : "Wifi Gateway" }, ] diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 3c2eaf9..48a795f 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -13,7 +13,8 @@ import AppKit struct SMANetPacket:Encodable,Decodable { let header:SMANetPacketHeader - var values = [SMANetPacketValue]() + let valuesheader:[Int] + let values:[SMANetPacketValue] } extension SMANetPacket:BinaryDecodable @@ -22,39 +23,65 @@ extension SMANetPacket:BinaryDecodable { case decoding(String) } + init(fromBinary decoder: BinaryDecoder) throws { JLog.trace("") - self.header = try decoder.decode(SMANetPacketHeader.self) + self.header = try decoder.decode(SMANetPacketHeader.self) + var valuesheader = [Int]() + var values = [SMANetPacketValue]() if decoder.isAtEnd { + self.valuesheader = valuesheader + self.values = values return } - let valueSize = self.header.valueSize + let valuesize:Int - while !decoder.isAtEnd // 0...= 4 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } + let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) + valuesheader.append(startvalue) + valuesize = header.valuestype == 0x01 ? 16 : decoder.countToEnd + + case 0x02: guard decoder.countToEnd >= 8 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } + let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) + let endvalue = try Int(decoder.decode(UInt32.self).littleEndian) + + valuesheader.append(contentsOf:[startvalue,endvalue]) + let valuecount = endvalue - startvalue + 1 + valuesize = valuecount > 0 ? decoder.countToEnd / valuecount : 0 + guard decoder.countToEnd == valuecount * valuesize else { throw SMANetPacketDecodingError.decoding("valuecount wrong: header:\(header) valuecount:\(valuecount) toEnd:\(decoder.countToEnd)") } + + case 0x00: valuesize = decoder.countToEnd // keepalive packet + default: throw SMANetPacketDecodingError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + } - let value = try valueDecoder.decode(SMANetPacketValue.self) - values.append(value) + if valuesize > 0 + { + while !decoder.isAtEnd // 0... 0 else { return 0 } - guard followingdatasize > 28 else { return 1 } - return Int(self.valuecountAll) - Int(self.valuecountDone) + 1 - } - var valueSize:Int { - guard valueCount > 0 else { return 0 } - return followingdatasize / valueCount - } - var description:String { self.json } +extension SMANetPacketHeader:BinaryDecodable +{ + enum SMANetPacketHeaderDecodingError: Error + { + case decoding(String) + } +// var description:String { self.json } init(fromBinary decoder: BinaryDecoder) throws @@ -129,21 +152,10 @@ struct SMANetPacketHeader:BinaryDecodable,Encodable,Decodable self._packetId = try decoder.decode(UInt16.self).littleEndian self.unknown6 = try decoder.decode(UInt8.self).littleEndian - self.valuetypes = try decoder.decode(UInt8.self).littleEndian + self.valuestype = try decoder.decode(UInt8.self).littleEndian self.command = try decoder.decode(UInt16.self).littleEndian - if decoder.isAtEnd - { - self.valuecountDone = 0 - self.valuecountAll = 0 - } - else - { - self.valuecountDone = try decoder.decode(UInt32.self) - self.valuecountAll = try decoder.decode(UInt32.self) - } - assert(Self.size == decoder.position - startposition) } } diff --git a/Sources/sma2mqttLibrary/SMANetPacketDefition.swift b/Sources/sma2mqttLibrary/SMANetPacketDefinition.swift similarity index 100% rename from Sources/sma2mqttLibrary/SMANetPacketDefition.swift rename to Sources/sma2mqttLibrary/SMANetPacketDefinition.swift diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift index c045cef..5cab340 100644 --- a/Tests/sma2mqttTests/TestHelpers.swift +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -24,7 +24,7 @@ extension String .map{ stringWithoutSpaces[stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1)] } .map{ UInt8($0, radix: 16)! } return Data(uInt8Array) -} + } } struct DataSplitter:Sequence, IteratorProtocol diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 470c098..541c6b3 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -50,7 +50,7 @@ final class sma2mqttTests: XCTestCase JLog.debug("splitter instanciated") - JLog.loglevel = .critical // too much output otherwise + JLog.loglevel = .error // too much output otherwise var goodcounter = 0 var badcounter = 0 From 85849d867c9281d8eef1ea068b1cffa2547ea806 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Tue, 14 Jun 2022 18:31:46 +0200 Subject: [PATCH 30/81] cleanup now has MQTTPublisher and SunnyHomeManager --- Package.swift | 4 +- Sources/sma2mqtt/File.swift | 219 ------------------------ Sources/sma2mqtt/MQTTPublisher.swift | 47 ++++- Sources/sma2mqtt/SunnyHomeManager.swift | 148 ++++++++++++++++ Sources/sma2mqtt/sma2mqtt.swift | 44 ++--- 5 files changed, 219 insertions(+), 243 deletions(-) delete mode 100644 Sources/sma2mqtt/File.swift create mode 100644 Sources/sma2mqtt/SunnyHomeManager.swift diff --git a/Package.swift b/Package.swift index 71f7360..fcb9661 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.4 +// swift-tools-version:5.5 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "sma2mqtt", platforms: [ - .macOS(.v11), + .macOS(.v12), // .iOS(.v13), // .tvOS(.v13), // .watchOS(.v6) diff --git a/Sources/sma2mqtt/File.swift b/Sources/sma2mqtt/File.swift deleted file mode 100644 index 286994b..0000000 --- a/Sources/sma2mqtt/File.swift +++ /dev/null @@ -1,219 +0,0 @@ -// -// File.swift -// -// -// Created by Patrick Stein on 12.06.22. -// - -import Foundation -import JLog - -import NIO -import MQTTNIO - -import BinaryCoder - -import sma2mqttLibrary - -struct JNXServer -{ - let hostname: String - let port: Int - let username: String? - let password: String? - - init(hostname:String,port:Int,username:String? = nil, password:String? = nil) - { - self.hostname = hostname - self.port = port - self.username = username - self.password = password - } -} - -struct JNXMQTTServer -{ - let server: JNXServer - let emitInterval: Double - let topic: String -} - -struct JNXMCASTGroup -{ - let server: JNXServer - let bind: JNXServer -} - - -func startSma2mqtt(mcastServer:JNXMCASTGroup,mqttServer:JNXMQTTServer,jsonOutput:Bool) async throws -{ - let mqttClient = MQTTClient( - host: mqttServer.server.hostname, - port: mqttServer.server.port, - identifier: ProcessInfo().processName, - eventLoopGroupProvider: .createNew, - configuration: .init(userName: mqttServer.server.username, password: mqttServer.server.password) - ) - - let _ = try mqttClient.connect().wait() - - guard mqttClient.isActive() else - { - fatalError("Could not connect to mqtt server") - } - - - - var targetDevice: NIONetworkDevice? = nil - if mcastServer.bind.hostname != "0.0.0.0", - let targetAddress = try? SocketAddress(ipAddress: mcastServer.bind.hostname, port: Int(mcastServer.bind.port)) - { - for device in try! System.enumerateDevices() - { - if device.address == targetAddress - { - targetDevice = device - break - } - } - - if targetDevice == nil - { - fatalError("Could not find device for \(targetAddress)") - } - } - - let smaMulticastAddress = try! SocketAddress(ipAddress: mcastServer.server.hostname, port: Int(mcastServer.server.port)) - let group = MultiThreadedEventLoopGroup(numberOfThreads: 1) - - // Begin by setting up the basics of the bootstrap. - let datagramBootstrap = DatagramBootstrap(group: group) - .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) - .channelInitializer { channel in - return channel.pipeline.addHandler(SMAMessageEncoder()).flatMap { - channel.pipeline.addHandler( SMAMessageReceiver(mqttClient:mqttClient,mqttServer:mqttServer,jsonOutput:jsonOutput) ) - } - } - - // We cast our channel to MulticastChannel to obtain the multicast operations. - let datagramChannel = try! datagramBootstrap - .bind(host:mcastServer.server.hostname, port: Int(mcastServer.server.port)) - .flatMap { channel -> EventLoopFuture in - let channel = channel as! MulticastChannel - return channel.joinGroup(smaMulticastAddress, device: targetDevice).map { channel } - }.flatMap { channel -> EventLoopFuture in - guard let targetDevice = targetDevice else { - return channel.eventLoop.makeSucceededFuture(channel) - } - - let provider = channel as! SocketOptionProvider - switch targetDevice.address { - case .some(.v4(let addr)): - return provider.setIPMulticastIF(addr.address.sin_addr).map { channel } - case .some(.v6): - return provider.setIPv6MulticastIF(CUnsignedInt(targetDevice.interfaceIndex)).map { channel } - case .some(.unixDomainSocket): - preconditionFailure("Should not be possible to create a multicast socket on a unix domain socket") - case .none: - preconditionFailure("Should not be possible to create a multicast socket on an interface without an address") - } - }.wait() - - JLog.info("Receiving SMA Data\nPress ^C to exit.") - Thread.sleep(until: Date.distantFuture) -// -// while let line = readLine(strippingNewline: false) { -// datagramChannel.writeAndFlush(AddressedEnvelope(remoteAddress: chatMulticastGroup, data: line), promise: nil) -// } -// - // Close the channel. - try! datagramChannel.close().wait() - try! group.syncShutdownGracefully() - - - } - - - -/// Implements a simple chat protocol -final class SMAMessageReceiver: ChannelInboundHandler -{ - public typealias InboundIn = AddressedEnvelope - let mqttServer:JNXMQTTServer - let mqttClient:MQTTClient - let jsonOutput:Bool - - init(mqttClient:MQTTClient,mqttServer:JNXMQTTServer,jsonOutput:Bool = false) - { - self.mqttClient = mqttClient - self.mqttServer = mqttServer - self.jsonOutput = jsonOutput - } - - public func channelRead(context: ChannelHandlerContext, data: NIOAny) - { - let envelope = self.unwrapInboundIn(data) - var buffer = envelope.data - var lasttime:Date = Date.distantPast - let timenow = Date() - - if timenow.timeIntervalSince(lasttime) > mqttServer.emitInterval, - let byteArray = buffer.readBytes(length: buffer.readableBytes) - { - JLog.debug("\(timenow) Data: \(byteArray.count) from: \(envelope.remoteAddress) ") - - - if let sma = try? SMAPacket(byteArray:byteArray) - { - JLog.debug("Decoded: \(sma)") - - for var obisvalue in sma.obis - { - if obisvalue.mqtt != .invisible - { - if !mqttClient.isActive() - { - JLog.error("No longer connected to mqtt server - reconnecting") - - let _ = try? mqttClient.connect().wait() - - guard self.mqttClient.isActive() else - { - fatalError("Could not connect to mqtt server") - } - } - - - - let topic = "\(mqttServer.topic)/\(obisvalue.topic)" - let byteBuffer = ByteBuffer(string: obisvalue.json) - let _ = mqttClient.publish(to: topic, payload: byteBuffer, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) - - } - if jsonOutput - { - obisvalue.includeTopicInJSON = true - print("\(obisvalue.json)") - } - } - lasttime = timenow - } - else - { - JLog.error("did not decode") - } - } - } -} - - -private final class SMAMessageEncoder: ChannelOutboundHandler { - public typealias OutboundIn = AddressedEnvelope - public typealias OutboundOut = AddressedEnvelope - - func write(context: ChannelHandlerContext, data: NIOAny, promise: EventLoopPromise?) { - let message = self.unwrapOutboundIn(data) - let buffer = context.channel.allocator.buffer(string: message.data) - context.write(self.wrapOutboundOut(AddressedEnvelope(remoteAddress: message.remoteAddress, data: buffer)), promise: promise) - } -} diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index 60053d4..c288e71 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -1,17 +1,60 @@ // -// File 2.swift +// MQTTPublisher.swift // // // Created by Patrick Stein on 12.06.22. // import Foundation -import MQTTNIO import JLog +import NIO +import MQTTNIO + actor MQTTPublisher { + let mqttClient:MQTTClient + let emitInterval: Double + let baseTopic: String + + var lasttimeused = [String:Date]() + + init(hostname:String,port:Int,username:String? = nil, password:String? = nil,emitInterval:Double = 1.0 ,baseTopic:String = "") async throws + { + self.emitInterval = emitInterval + self.baseTopic = baseTopic + + self.mqttClient = MQTTClient(host: hostname, + port: port, + identifier: ProcessInfo().processName, + eventLoopGroupProvider: .createNew, + configuration: .init(userName: username, password: password) + ) + try await activateClient() + } + + private func activateClient() async throws + { + if !mqttClient.isActive() + { + try await mqttClient.connect() + } + } + + func publish(to topic:String,payload:String,qos: MQTTQoS,retain: Bool) async throws + { + let topic = "\(baseTopic)/\(topic)" + + let timenow = Date() + let lasttime = lasttimeused[topic,default:.distantPast] + + guard timenow.timeIntervalSince(lasttime) > emitInterval else { return } + lasttimeused[topic] = timenow + let byteBuffer = ByteBuffer(string:payload) + try await activateClient() + try await mqttClient.publish(to: topic, payload: byteBuffer, qos:qos , retain:retain) + } } diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift new file mode 100644 index 0000000..3a08650 --- /dev/null +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -0,0 +1,148 @@ +// +// SunnyHomeManager.swift +// +// +// Created by Patrick Stein on 14.06.22. +// + +import Foundation +import NIO +import MQTTNIO +import JLog +import sma2mqttLibrary + +class SunnyHomeManager +{ + let datagramBootstrap:DatagramBootstrap + let datagramChannel:Channel + let group:MultiThreadedEventLoopGroup + + init(mqttPublisher:MQTTPublisher,multicastAddress:String, multicastPort:Int, bindAddress:String = "0.0.0.0",bindPort:Int = 12222) throws + { + var targetDevice: NIONetworkDevice? = nil + + if bindAddress != "0.0.0.0" + { + let targetAddress = try SocketAddress(ipAddress: bindAddress, port: bindPort) + + targetDevice = try System.enumerateDevices().filter{$0.address == targetAddress}.first + guard targetDevice != nil else { fatalError("Could not find device for \(targetAddress)") } + } + + + let smaMulticastAddress = try SocketAddress(ipAddress: multicastAddress, port: multicastPort) + self.group = MultiThreadedEventLoopGroup(numberOfThreads: 1) + + self.datagramBootstrap = DatagramBootstrap(group: self.group) + .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) + .channelInitializer + { + channel in + + return channel.pipeline.addHandler(SMAMessageEncoder()).flatMap { + channel.pipeline.addHandler( SMAMessageReceiver(mqttPublisher:mqttPublisher) ) + } + } + + // We cast our channel to MulticastChannel to obtain the multicast operations. + self.datagramChannel = try! datagramBootstrap + .bind(host:multicastAddress, port: multicastPort) + .flatMap + { + channel -> EventLoopFuture in + + let channel = channel as! MulticastChannel + return channel.joinGroup(smaMulticastAddress, device: targetDevice).map { channel } + }.flatMap + { + channel -> EventLoopFuture in + + guard let targetDevice = targetDevice else { + return channel.eventLoop.makeSucceededFuture(channel) + } + + let provider = channel as! SocketOptionProvider + + switch targetDevice.address + { + case .some(.v4(let addr)): return provider.setIPMulticastIF(addr.address.sin_addr).map { channel } + case .some(.v6): return provider.setIPv6MulticastIF(CUnsignedInt(targetDevice.interfaceIndex)).map { channel } + case .some(.unixDomainSocket): preconditionFailure("Should not be possible to create a multicast socket on a unix domain socket") + case .none: preconditionFailure("Should not be possible to create a multicast socket on an interface without an address") + } + }.wait() + } + + + func shutdown() async throws + { + try datagramChannel.close().wait() + try group.syncShutdownGracefully() + } +} + + +final class SMAMessageReceiver: ChannelInboundHandler +{ + public typealias InboundIn = AddressedEnvelope + let mqttPublisher:MQTTPublisher + + init(mqttPublisher:MQTTPublisher) + { + self.mqttPublisher = mqttPublisher + } + + public func channelRead(context: ChannelHandlerContext, data: NIOAny) + { + let envelope = self.unwrapInboundIn(data) + var buffer = envelope.data + var lasttime:Date = Date.distantPast + let timenow = Date() + + if timenow.timeIntervalSince(lasttime) > mqttPublisher.emitInterval, + let byteArray = buffer.readBytes(length: buffer.readableBytes) + { + JLog.debug("\(timenow) Data: \(byteArray.count) from: \(envelope.remoteAddress) ") + + + if let sma = try? SMAPacket(byteArray:byteArray) + { + JLog.debug("Decoded: \(sma)") + + for obisvalue in sma.obis + { + if obisvalue.mqtt != .invisible + { + Task.detached + { + try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) + } + } +// if jsonOutput +// { +// var obisvalue = obisvalue +// obisvalue.includeTopicInJSON = true +// print("\(obisvalue.json)") +// } + } + lasttime = timenow + } + else + { + JLog.error("did not decode") + } + } + } +} + + +private final class SMAMessageEncoder: ChannelOutboundHandler { + public typealias OutboundIn = AddressedEnvelope + public typealias OutboundOut = AddressedEnvelope + + func write(context: ChannelHandlerContext, data: NIOAny, promise: EventLoopPromise?) { + let message = self.unwrapOutboundIn(data) + let buffer = context.channel.allocator.buffer(string: message.data) + context.write(self.wrapOutboundOut(AddressedEnvelope(remoteAddress: message.remoteAddress, data: buffer)), promise: promise) + } +} diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index b8b6980..f8f094a 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -1,12 +1,18 @@ import Foundation import ArgumentParser import JLog +import Logging @main struct sma2mqtt: AsyncParsableCommand { - @Flag(name: .shortAndLong, help: "optional debug output") - var debug: Int + #if DEBUG + @Option(name: .shortAndLong, help: "optional debug output") + var debug: String = "trace" + #else + @Option(name: .shortAndLong, help: "optional debug output") + var debug: String = "notice" + #endif @Flag(name: .long, help: "send json output to stdout") var json:Bool = false @@ -21,7 +27,7 @@ struct sma2mqtt: AsyncParsableCommand #endif @Option(name: .long, help: "MQTT Server port") - var mqttPort: UInt16 = 1883; + var mqttPort: UInt16 = 1883 @Option(name: .long, help: "MQTT Server username") var mqttUsername: String = "mqtt" @@ -34,10 +40,10 @@ struct sma2mqtt: AsyncParsableCommand #if DEBUG @Option(name: .shortAndLong, help: "MQTT Server topic.") - var topic: String = "test/sma/sunnymanager" + var basetopic: String = "test/sma/sunnymanager" #else @Option(name: .shortAndLong, help: "MQTT Server topic.") - var topic: String = "sma/sunnymanager" + var basetopic: String = "sma/sunnymanager" #endif #if DEBUG @@ -57,23 +63,21 @@ struct sma2mqtt: AsyncParsableCommand @Option(name: .long, help: "Multicast Group Port number.") var mcastPort: UInt16 = 9522; -} - -extension sma2mqtt -{ - mutating func run() async throws + func run() async throws { - let mqttServer = JNXMQTTServer(server: JNXServer(hostname: mqttServername, port: Int(mqttPort),username:mqttUsername,password:mqttPassword), emitInterval: interval, topic: topic) - let mcastServer = JNXMCASTGroup(server: JNXServer(hostname: mcastAddress, port: Int(mcastPort)), bind: JNXServer(hostname: bindAddress, port: Int(bindPort)) ) - - if debug > 0 - { - JLog.loglevel = debug > 1 ? .trace : .debug - } - try await startSma2mqtt(mcastServer:mcastServer,mqttServer:mqttServer,jsonOutput:json) - + JLog.loglevel = Logger.Level(rawValue:debug) ?? Logger.Level.notice + + let mqttPublisher = try await MQTTPublisher( hostname: mqttServername, + port: Int(mqttPort), + username:mqttUsername, + password:mqttPassword, + emitInterval: interval, + baseTopic: basetopic + ) + let sunnyHome = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:mcastAddress, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) + try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) + try await sunnyHome.shutdown() } } -//sma2mqtt.main() From 586cf5f25fd0737bbd8f02329c9a232c2023ddb5 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Mon, 27 Jun 2022 18:11:24 +0200 Subject: [PATCH 31/81] added SMADataObject reading SMA object and translation files. --- Package.swift | 9 +- SMA Protocol.md | 73 +- Sources/sma2mqtt/SunnyHomeManager.swift | 6 +- Sources/sma2mqtt/sma2mqtt.swift | 63 +- .../Resources/sma.data.Translation_Names.json | 7423 +++++++++++++++++ .../Resources/sma.data.objectMetaData.json | 5819 +++++++++++++ Sources/sma2mqttLibrary/SMADataObject.swift | 161 + Sources/sma2mqttLibrary/SMANetPacket.swift | 15 +- .../sma2mqttLibrary/SMANetPacketValue.swift | 3 +- Sources/sma2mqttLibrary/SMAPacket.swift | 5 +- Tests/sma2mqttTests/SMAObjectTests.swift | 48 + Tests/sma2mqttTests/sma2mqttTests.swift | 49 +- smatester.perl | 335 +- 13 files changed, 13886 insertions(+), 123 deletions(-) create mode 100644 Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json create mode 100644 Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json create mode 100644 Sources/sma2mqttLibrary/SMADataObject.swift create mode 100644 Tests/sma2mqttTests/SMAObjectTests.swift diff --git a/Package.swift b/Package.swift index fcb9661..a5ad3c0 100644 --- a/Package.swift +++ b/Package.swift @@ -19,7 +19,7 @@ let package = Package( .package(url: "https://github.com/apple/swift-argument-parser", from: "1.1.2"), .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .revision("bc68c7c")), - + .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4"), @@ -38,10 +38,13 @@ let package = Package( .target( name: "sma2mqttLibrary", dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), - .product(name: "JLog", package: "JLog") + .product(name: "JLog", package: "JLog"), + .product(name: "Regex", package: "Regex") ], resources: [ .copy("Resources/obisdefinition.json"), - .copy("Resources/SMANetPacketDefinitions.json") + .copy("Resources/SMANetPacketDefinitions.json"), + .copy("Resources/sma.data.objectMetaData.json"), + .copy("Resources/sma.data.Translation_Names.json") ] ), .testTarget( name: "sma2mqttTests", diff --git a/SMA Protocol.md b/SMA Protocol.md index 281815d..946fb7f 100644 --- a/SMA Protocol.md +++ b/SMA Protocol.md @@ -9,6 +9,9 @@ I did not find any thorough documentation on the SMA UDP Protocol, so I started - SBSpot [SBSpot](https://github.com/SBFspot/SBFspot) seems to have a few things correct - SMA old Protocol [smadat-11-ze2203.pdf](http://test.sma.de/dateien/1995/SMADAT-11-ZE2203.pdf) - SMA [YASDI](https://www.sma.de/en/products/monitoring-control/yasdi.html) +- Objects http(s)://inverter/data/ObjectMetadata_Istl.json +- Translation http(s)://inverter/data/l10n/en-US.json + ## SMA Protocol @@ -124,40 +127,42 @@ Responses from the inverter have the same header with data then attached (e.g. a ### 0x6065 Protocol Header - addr | type| explanation - ----------------------------------- - 0x00 | U8 | Length in 32bit words, to get length in bytes * 4 - 0x01 | U8 | Type 0xA0 1010 0000b Dest.SysID != 0xF4 - | | 0xE0 1110 0000b Dest.SysID == 0xF4 == 244 = 1111 0100 - | | -X-- ---- 0 network address ? - | | 1 group address ? - - 0x02 | U16 | Source SysID - 0x04 | U32 | Source Serial number - - 0x08 | U8 | 0x00 needs to be 0x00 - 0x09 | U8 | 0x00 sending does not seem to matter except for login - | | receiving same value sent except bit 6 - | | 0xA1 1010 0000b - | | 0xE0 1110 0000b e0 means failed - | | -X-- ---- 0 ok, 1, failed - - - 0x0A | U16 | Destination SysID Any: 0xFFFF - 0x0C | U32 | Destination Serial number Any: 0xFFFF FFFF - - 0x10 | U16 | ??ctrl 0x0000 sending 0xA0 0x01 0x03 - 0x12 | U16 | Result: 0x0000 ok - | | 0x0002 0000 0010b incorrect command ? - | | 0x0014 unkown command ? - | | 0x0015 0000 1111b no values - | | 0x0017 0001 0001b not logged in - | | 0x0102 login not possible (busy)? - - 0x14 | U16 | Bit 0-14 packet id - | | bit 15 request / bit 15 needs to be set - | | response 0 - fail - | | 1 - ok + addr |addr | type| explanation + ----- ----------------------------------- + 0x00 | 00 | U8 | Length in 32bit words, to get length in bytes * 4 + 0x01 | 01 | U8 | Type 0xA0 1010 0000b Dest.SysID != 0xF4 + | | | 0xE0 1110 0000b Dest.SysID == 0xF4 == 244 = 1111 0100 + | | | -X-- ---- 0 network address ? + | | | 1 group address ? + + 0x02 | 02 | U16 | Destination SysID + 0x04 | 04 | U32 | Destination Serial number + + 0x08 | 08 | U8 | 0x00 needs to be 0x00 + 0x09 | 09 | U8 | 0x00 sending does not seem to matter except for login + | | | receiving same value sent except bit 6 + | | | 0xA1 1010 0000b + | | | 0xE0 1110 0000b e0 means failed + | | | -X-- ---- 0 ok, 1, failed + + + 0x0A | 10 | U16 | Source SysID Any: 0xFFFF + 0x0C | 12 | U32 | Source Serial number Any: 0xFFFF FFFF + + 0x10 | 16 | U16 | ??ctrl 0x0000 sending 0xA0 0x01 0x03 + 0x12 | 18 | U16 | Result: 0x0000 ok + | | | 0x0002 0000 0010b incorrect command ? + | | | 0x0014 unkown command ? + | | | 0x0015 0000 1111b no values + | | | 0x0017 0001 0001b not logged in + | | | 0x0102 login not possible (busy)? + + 0x14 | | U16 | Bit 0-14 packet id + | | | bit 15 request / bit 15 needs to be set + | | | response 0 - fail + | | | 1 - ok + + # Requests to Inverter diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index 3a08650..a36eff3 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -99,12 +99,12 @@ final class SMAMessageReceiver: ChannelInboundHandler var lasttime:Date = Date.distantPast let timenow = Date() - if timenow.timeIntervalSince(lasttime) > mqttPublisher.emitInterval, - let byteArray = buffer.readBytes(length: buffer.readableBytes) + print("remoteAddress:\(envelope.remoteAddress.ipAddress)") + + if let byteArray = buffer.readBytes(length: buffer.readableBytes) { JLog.debug("\(timenow) Data: \(byteArray.count) from: \(envelope.remoteAddress) ") - if let sma = try? SMAPacket(byteArray:byteArray) { JLog.debug("Decoded: \(sma)") diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index f8f094a..df018d8 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -4,7 +4,7 @@ import JLog import Logging @main -struct sma2mqtt: AsyncParsableCommand +struct sma2mqtt: ParsableCommand { #if DEBUG @Option(name: .shortAndLong, help: "optional debug output") @@ -64,20 +64,59 @@ struct sma2mqtt: AsyncParsableCommand @Option(name: .long, help: "Multicast Group Port number.") var mcastPort: UInt16 = 9522; - func run() async throws + func run() throws { JLog.loglevel = Logger.Level(rawValue:debug) ?? Logger.Level.notice - let mqttPublisher = try await MQTTPublisher( hostname: mqttServername, - port: Int(mqttPort), - username:mqttUsername, - password:mqttPassword, - emitInterval: interval, - baseTopic: basetopic - ) - let sunnyHome = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:mcastAddress, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) - try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) - try await sunnyHome.shutdown() + Task + { + let mqttPublisher = try await MQTTPublisher( hostname: mqttServername, + port: Int(mqttPort), + username:mqttUsername, + password:mqttPassword, + emitInterval: interval, + baseTopic: basetopic + ) + let multicastGroups = [ + "239.12.0.78", + "239.12.1.105", // 10.112.16.166 + "239.12.1.153", // 10.112.16.127 + "239.12.1.55", // 10.112.16.166 + "239.12.1.87", // 10.112.16.107 + + "239.12.255.253", + "239.12.255.254", + "239.12.255.255" +// "239.192.0.0", // + +// "239.12.0.78", +// "239.12.255.253", +// "239.12.255.254", +// "239.12.255.255", +// "224.0.0.251", // 10.112.16.195 +// +// "239.192.0.0", // +// +// "239.12.1.153", // 10.112.16.127 +// "239.12.1.105", // 10.112.16.166 +// +// // senden +// "239.12.255.255", // 10.112.16.127 +// +// "239.12.1.55", // 10.112.16.166 +// "239.12.255.255", // 10.112.16.166 +// +// +// "239.12.1.87", // 10.112.16.107 + ] + for multicastGroup in multicastGroups + { + let sunnyHomeB = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) + } + } + dispatchMain() +// try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) +// try await sunnyHome.shutdown() } } diff --git a/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json b/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json new file mode 100644 index 0000000..a06dc48 --- /dev/null +++ b/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json @@ -0,0 +1,7423 @@ +{ + "1": "[%]", + "2": "[°C]", + "3": "[A]", + "4": "[dBm]", + "5": "[deg]", + "6": "[h]", + "7": "[Hz]", + "8": "[kWh]", + "9": "[m/s]", + "10": "[ms]", + "11": "[Ohm]", + "12": "[Pa]", + "13": "[s]", + "14": "[V]", + "15": "[VA]", + "16": "[VAr]", + "17": "[W/m²]", + "18": "[W]", + "19": "[Wh]", + "20": "A", + "21": "AbsGriSwCnt", + "22": "AbsOpTms", + "23": "AbsFeedTms", + "24": "AbsWhIn", + "25": "AbsWhOut", + "26": "Ackn", + "27": "Adj", + "28": "Aid", + "29": "AcqCnt", + "30": "AcqTm", + "31": "[K]", + "32": "[°F]", + "33": "[W/s]", + "34": "[min]", + "35": "Alm", + "36": "AMaxOfs", + "37": "AMaxOfsTmms", + "38": "Amp", + "39": "AmpNom", + "40": "AngFact", + "41": "ANom", + "42": "AS4777.3", + "43": "NotAdj", + "44": "Aux1", + "45": "Aux2", + "46": "Bat", + "47": "BtPwr", + "48": "Cab", + "49": "Func", + "50": "Stt", + "51": "Cls", + "52": "ValRsIstl", + "53": "Cntry", + "54": "CntrySet", + "55": "ComFlt", + "56": "CntrySettings", + "57": "ConstVolCtl", + "58": "Coolsys", + "59": "DatLog", + "60": "DatStoCnt", + "61": "DcAmpMax", + "62": "DcCfg", + "63": "LodFnc", + "64": "Dhcp", + "65": "DclVol", + "66": "DcMinFlt", + "67": "DcMs", + "68": "DcOp", + "69": "DcVMax", + "70": "[KiB]", + "71": "DevFlt", + "72": "DfltParaLod", + "73": "DifInsol", + "74": "DirInsol", + "75": "DK5940E2.2", + "76": "Dsc", + "77": "DscFuChk", + "78": "DscGnChk", + "79": "DscGnSw", + "80": "DscParaChk", + "81": "DscSupChk", + "82": "Env", + "83": "EvtAcAMax", + "84": "EvtAcAMaxHw", + "85": "EvtAcAMaxSw", + "86": "EvtAcAOfsSns", + "87": "EvtAcHz", + "88": "EvtAcHzNom", + "89": "EvtAcSw", + "90": "EvtAcVDif", + "91": "EvtAcVMaxHw", + "92": "EvtAcVMaxPhVFst", + "93": "EvtAcVMaxPhVSlw", + "94": "EvtAcVMaxPhVSpt", + "95": "EvtAcVMinPhVFst", + "96": "EvtAcVMinPhVSlw", + "97": "EvtAcVOfs", + "98": "EvtAcVRPro", + "99": "EvtAmpMax", + "100": "EvtBrdSup", + "101": "EvtBsp", + "102": "EvtCntDvlp", + "103": "EvtCntIstl", + "104": "EvtCntSvc", + "105": "EvtCntUsr", + "106": "EvtCoolStr", + "107": "EvtCpldHwTst", + "108": "EvtCpldVerTst", + "109": "EvtCpuSlfTst", + "110": "EvtdAmp", + "111": "EvtdAmpCom", + "112": "EvtdAmpMax", + "113": "EvtdAmpTst", + "114": "EvtDataMemBlck", + "115": "EvtDcAmpMaxA", + "116": "EvtDcAmpMaxB", + "117": "EvtDcAOfsA", + "118": "EvtDcAOfsB", + "119": "EvtDcFeed", + "120": "EvtDclAMaxHwA", + "121": "EvtDclAMaxHwB", + "122": "EvtDclVMaxHw", + "123": "EvtDclVMaxSw", + "124": "EvtDcVDif", + "125": "EvtDcVMaxA", + "126": "EvtDcVMaxB", + "127": "EvtDcVolMin", + "128": "EvtDcWattMin", + "129": "EvtDcWCirA", + "130": "EvtDcWCirB", + "131": "EvtDiscon", + "132": "EvtEe", + "133": "EvtEeHw", + "134": "EvtEeRsto", + "135": "EvtExlWd", + "136": "EvtGGNoChange", + "137": "EvtGGWait", + "138": "EvtGrdGuardLock", + "139": "EvtHwTst", + "140": "EvtSysRestr", + "141": "EvtInfoDerat", + "142": "EvtInitSys", + "143": "EvtInstCodeNok", + "144": "EvtInstCodeOk", + "145": "EvtIntAcSw", + "146": "EvtIntAcSwTst", + "147": "EvtIntDat", + "148": "EvtItnlCom", + "149": "EvtLeakRis", + "150": "EvtLeakRisSns", + "151": "EvtLeakRisSw", + "152": "EvtNoShrt", + "153": "EvtNo", + "154": "EvtNoGri", + "155": "EvtOffGri", + "156": "EvtOp", + "157": "EvtOpSys", + "158": "EvtOsl", + "159": "EvtOvTmpInt", + "160": "EvtOvTmpWCir", + "161": "EvtOvVPro", + "162": "EvtPEOpn", + "163": "EvtPhNChg", + "164": "EvtPhPh", + "165": "EvtPLLAcVtg", + "166": "EvtRam", + "167": "EvtRefVTst", + "168": "EvtRom", + "169": "EvtSDFail", + "170": "EvtSDFileRead", + "171": "EvtSDNoParaFile", + "172": "EvtSDSetPara", + "173": "EvtSDSetParaNok", + "174": "EvtSDSetParaOk", + "175": "EvtSDUpdAkt", + "176": "EvtSDUpdFileNok", + "177": "EvtSDUpdFileOk", + "178": "EvtSDUpdNoFile", + "179": "EvtShdMem", + "180": "EvtSlfTst", + "181": "EvtSlfTstBrk", + "182": "EvtSlfTstErr", + "183": "EvtSlfTstLim", + "184": "EvtSlfTstNrm", + "185": "EvtSlfTstTms", + "186": "EvtSlfTstVal", + "187": "EvtSPIDataFail", + "188": "EvtSPIFail", + "189": "EvtSt", + "190": "EvtStrSys", + "191": "EvtSysData", + "192": "EvtTmpSnsInt", + "193": "EvtTmpSnsWCir", + "194": "EvtUpdBT", + "195": "EvtUpdBTErr", + "196": "EvtUpdEnd", + "197": "EvtUpdHP", + "198": "EvtUpdHPErr", + "199": "EvtUpdi485", + "200": "EvtUpdi485Err", + "201": "EvtUpdKom", + "202": "EvtUpdLang", + "203": "EvtUpdLangErr", + "204": "EvtUpdLCD", + "205": "EvtUpdLCDErr", + "206": "EvtWCir", + "207": "EvtWCirScir", + "208": "EvtWd", + "209": "EvtWdTst", + "210": "Eth", + "211": "FanCab1", + "212": "FanCab2", + "213": "FanHs", + "214": "FanTrf1", + "215": "FanTrf2", + "216": "FanTst", + "217": "FltA", + "218": "FltAmpMax", + "219": "FltANom", + "220": "FltdAmpMax", + "221": "FltPhPh", + "222": "FrqCtl", + "223": "G83/1", + "224": "EvtSlfTstStrt", + "225": "GGNoChange", + "226": "GGWait", + "227": "GnMod", + "228": "GrdGuardLock", + "229": "GridGuard", + "230": "GridMs", + "231": "GriFlt", + "232": "GriFltMonTms", + "233": "GriFltReConTms", + "234": "GriFltTms", + "235": "GriOp", + "236": "GriStrTms", + "237": "GriSwCnt", + "238": "GriSwStt", + "239": "GrpSet", + "240": "Health", + "241": "HealthStt", + "242": "hhLim", + "243": "hhLimTmms", + "244": "EvtDclAMaxHwC", + "245": "hLim", + "246": "hLimTmms", + "247": "G83/1-1", + "248": "Hmdt", + "249": "HorWDir", + "250": "HorWSpd", + "251": "Hs1", + "252": "Hs2", + "253": "HwRev", + "254": "Hz", + "255": "HzdLim", + "256": "HzdStr", + "257": "HzFlt", + "258": "GriSwCpy", + "259": "HzNom", + "260": "HTTP", + "261": "InfoDerat", + "262": "InstabOp", + "263": "InstCdNok", + "264": "InstCdOk", + "265": "InstCode", + "266": "Itf", + "267": "Inverter", + "268": "Isolation", + "269": "ItnlDataStoFail", + "270": "KEPCO-Guide", + "271": "[KB]", + "272": "LeakRis", + "273": "LeakRisMin", + "274": "LeakRisNom", + "275": "Lim10m", + "276": "LimFst", + "277": "DrtStt", + "278": "lLim", + "279": "lLimTmms", + "280": "[Byte]", + "281": "llLim", + "282": "llLimTmms", + "283": "[B]", + "284": "Location", + "285": "KEMCO501/2008", + "286": "MainModel", + "287": "Max", + "288": "MaxTmms", + "289": "Mdul", + "290": "Metering", + "291": "Min", + "292": "MinTmms", + "293": "MinW", + "294": "Model", + "295": "Mpp", + "296": "Mdm", + "297": "Msg", + "298": "Nam", + "299": "Nameplate", + "300": "Nat", + "301": "NoGri", + "302": "None", + "303": "Off", + "304": "OffGri", + "305": "OFF-Grid", + "306": "OFF-Grid60", + "307": "Ok", + "308": "On", + "309": "Operation", + "310": "OpMod", + "311": "Opn", + "312": "OutPhs", + "313": "OFF-Grid50", + "314": "WLim", + "315": "WMax", + "316": "WMod", + "317": "AllPhs", + "318": "OvLod", + "319": "OvTmp", + "320": "OvVPro", + "321": "Pcb", + "322": "PEOpn", + "323": "PEOpnMon", + "324": "PhNChg", + "325": "phsA", + "326": "phsABC", + "327": "phsB", + "328": "Proxy", + "329": "phsC", + "330": "Port", + "331": "PhV", + "332": "PhVNom", + "333": "PPC", + "334": "Pres", + "335": "Prio", + "336": "PrioA", + "337": "PrioC", + "338": "PrioIna", + "339": "CtrlType", + "340": "Plnt", + "341": "PrioStt", + "342": "ProdTst", + "343": "RD1663", + "344": "RsOpDat", + "345": "Reg", + "346": "RemEna", + "347": "ReStr", + "348": "Rev", + "349": "RlyClse", + "350": "RmgTms", + "351": "Rpro", + "352": "RD1663/661", + "353": "RsEvtCnt", + "354": "RsMaxVals", + "355": "RsTotWhLog", + "356": "RsPermStoOp", + "357": "RsCnt", + "358": "SB4000TL-20", + "359": "SB5000TL-20", + "360": "Card", + "361": "SDFail", + "362": "SDFileRead", + "363": "SDNoParaFile", + "364": "SDSetPara", + "365": "SDSetParaNok", + "366": "SDSetParaOk", + "367": "SDUpdAkt", + "368": "SDUpdFileNok", + "369": "SDUpdFileOk", + "370": "SDUpdNoFile", + "371": "SensSet", + "372": "SerNum", + "373": "RD1663-A", + "374": "SlfDiag", + "375": "SlfTst", + "376": "SlfTstErr", + "377": "S0Cnt", + "378": "S0WhIn", + "379": "SwUpdRev", + "380": "StopTms", + "381": "Stop", + "382": "AbsDcSwCnt", + "383": "StringAFlt", + "384": "StringBFlt", + "385": "StrTms", + "386": "StrTmSet", + "387": "StrVol", + "388": "SttOp", + "389": "SttReStr", + "390": "SttStop", + "391": "SttStr", + "392": "SttTstHw", + "393": "SwRev", + "394": "Sys", + "395": "Tmp", + "396": "TmpLim", + "397": "TmpNom", + "398": "Tm", + "399": "TmpSns", + "400": "TmpVal", + "401": "TmpValMax", + "402": "phsAB", + "403": "phsAC", + "404": "phsBC", + "405": "TotTmhSet", + "406": "TotA", + "407": "TotANom", + "408": "TotOpTmhSet", + "409": "TotOpTms", + "410": "TotFeedTmhSet", + "411": "TotFeedTms", + "412": "TotVA", + "413": "TotVAr", + "414": "TotVArNom", + "415": "TotVArNomSet", + "416": "TotW", + "417": "TotWhIn", + "418": "TotWhOut", + "419": "TotWNom", + "420": "TotWNomLimSet", + "421": "TotWNomSet", + "422": "Tr", + "423": "TSYS", + "424": "UpdBT", + "425": "UpdBTErr", + "426": "UpdEnd", + "427": "UpdHP", + "428": "UpdHPErr", + "429": "Updi485", + "430": "Updi485Err", + "431": "UpdKom", + "432": "UpdLang", + "433": "UpdLangErr", + "434": "UpdLCD", + "435": "UpdLCDErr", + "436": "VA", + "437": "VAr", + "438": "VDE0126-1-1", + "439": "VDE0126-1-1 A", + "440": "Vendor", + "441": "Vol", + "442": "VolCtl", + "443": "VolDCConst", + "444": "VolLim", + "445": "VolMax", + "446": "VolNom", + "447": "Vset", + "448": "W", + "449": "VRtg", + "450": "Watt", + "451": "WattNom", + "452": "WebSvc", + "453": "CntryBas", + "454": "Clb", + "455": "Wrn", + "456": "WtDcMin", + "457": "WtGri", + "458": "SunnyCentral", + "459": "EvtDcAmpMaxHw", + "460": "SunnyBoy", + "461": "SMA", + "462": "EvtBrdSup15", + "463": "DscDcGenChk", + "464": "EvtOvVDcHw", + "465": "EvtDcSw", + "466": "EvtDcVMax", + "467": "EvtDcAmpMax", + "468": "EvtInitCan", + "469": "EvtInitDa", + "470": "FltRvA", + "471": "EvtIPCCom", + "472": "EvtInitRtc", + "473": "FltOvVSec", + "474": "EvtGfdi", + "475": "EvtWdCnt", + "476": "EvtWdTot", + "477": "EvtRvA", + "478": "DscInvChk", + "479": "DscInvComChk", + "480": "DscInvFanChk", + "481": "DscInvSwChk", + "482": "DscInvFwChk", + "483": "EvtComCan", + "484": "EvtComIpc", + "485": "FanFlt", + "486": "EvtFanIn", + "487": "EvtFanIn2", + "488": "EvtFanHs", + "489": "EvtFanHs2", + "490": "EvtFanSw", + "491": "EvtFanTrf", + "492": "EvtFanTrf2", + "493": "DscGriFuChk", + "494": "DscGriHzChk", + "495": "EvtAcHzMax", + "496": "EvtAcHzMaxSlw", + "497": "EvtAcHzMin", + "498": "EvtAcHzMinSlw", + "499": "DscGriVChk", + "500": "EvtAcVMaxPpVFst", + "501": "EvtAcVMinPpVFst", + "502": "EvtSmkAlm", + "503": "EvtTmpSnsExl", + "504": "EvtTmpSnsBat", + "505": "EvtVDcSns", + "506": "EvtTmpSnsWCir2", + "507": "TmpSnsFanOn", + "508": "EvtTmpSnsTrf", + "509": "EvtAcSyn", + "510": "EvtTeamSw", + "511": "EvtOvVEvr", + "512": "EvtOvVSec", + "513": "DscOvVSecChk", + "514": "EvtOvAEvr", + "515": "EvtOvTmpExl", + "516": "EvtOvTmpBat", + "517": "EvtOvTmpEvr", + "518": "EvtOvTmpWCirHw", + "519": "EvtOvTmpWCir2", + "520": "EvtOvTmpTrf", + "521": "EvtOvTmpSw", + "522": "EvtNoDevAddr", + "523": "EvtNoParaFile", + "524": "EvtUnkHwErr", + "525": "EvtWdBfr", + "526": "EvtWdDsp", + "527": "EvtSlfTstStr", + "528": "TotInsol", + "529": "ExInsol", + "530": "TotkWhOutSet", + "531": "TotkWhInSet", + "532": "TmpValMaxSet", + "533": "ComRev", + "534": "GnCtl", + "535": "EvtDcFuFlt", + "536": "EvtDcWCirC", + "537": "EvtTmpPwrLim", + "538": "EvtdZMax", + "539": "EvtExlIn", + "540": "EvtGndFuOpn", + "541": "EvtDcAOfsC", + "542": "EvtdAmpDif", + "543": "EvtHzDif", + "544": "EvtMsDif", + "545": "EvtZDif", + "546": "EvtOfs", + "547": "EvtAcPwrDif", + "548": "EvtTeamErr", + "549": "EvtTeamWrn", + "550": "EvtTeamCfg", + "551": "EvtTeamCls", + "552": "EvtTeamOpn", + "553": "EvtTeamMstrCfg", + "554": "EvtTeamFlt", + "555": "EvtZMax", + "556": "EvtGriOp", + "557": "TmpDrt", + "558": "SB3000TL-20", + "559": "VDE0126-1-1 B", + "560": "EN50438", + "561": "EN50438-CZ", + "562": "C10/11", + "563": "DyWhOut", + "564": "GriSwCntSet", + "565": "Turbine", + "566": "WMaxTm", + "567": "ValRsSvc", + "568": "DoAll", + "569": "Run", + "570": "ForcedWrite", + "571": "StoEvtHis", + "572": "StoFailHis", + "573": "AvalGrpUsr", + "574": "AvalGrpIstl", + "575": "AvalGrpSvc", + "576": "AvalGrpDvlp", + "577": "PlntPerf", + "578": "PerfRat", + "579": "Rvn", + "580": "CO2Red", + "581": "DevPerf", + "582": "ModWMax", + "583": "SwRevStt", + "584": "Acs", + "585": "EvtSetSclParaOk", + "586": "EvtSetSclParaNok", + "587": "EvtSetSttParaOk", + "588": "EvtSetSttParaNok", + "589": "EvtSetStrParaOk", + "590": "EvtSetStrParaNok", + "591": "PwdUsr", + "592": "PwdIstl", + "593": "PwdSvc", + "594": "PwdDvlp", + "595": "EvtUpdOk", + "596": "EvtUpdNok", + "597": "EvtOldTm", + "598": "EvtNewTm", + "599": "EvtUpdOkRev", + "600": "MnoStr", + "601": "AvalGrpMet1", + "602": "AvalGrpMet2", + "603": "AvalGrpMet3", + "604": "AvalGrpMet4", + "605": "AvalGrpMet5", + "606": "AvalGrpMet6", + "607": "AvalGrpMet7", + "608": "AvalGrpMet8", + "609": "AvalGrpMet9", + "610": "AvalGrpMet10", + "611": "AvalGrpMet11", + "612": "AvalGrpMet12", + "613": "AvalGrpMet13", + "614": "AvalGrpMet14", + "615": "AvalGrpMet15", + "616": "AvalGrpMet16", + "617": "AvalGrpMet17", + "618": "AvalGrpMet18", + "619": "AvalGrpMet19", + "620": "AvalGrpMet20", + "621": "AvalGrpMet21", + "622": "AvalGrpMet22", + "623": "AvalGrpMet23", + "624": "AvalGrpMet24", + "625": "AvalGrpMet25", + "626": "AvalGrpMet26", + "627": "AvalGrpMet27", + "628": "AvalGrpMet28", + "629": "AvalGrpMet29", + "630": "AvalGrpMet30", + "631": "AvalGrpPara1", + "632": "AvalGrpPara2", + "633": "AvalGrpPara3", + "634": "AvalGrpPara4", + "635": "AvalGrpPara5", + "636": "AvalGrpPara6", + "637": "AvalGrpPara7", + "638": "AvalGrpPara8", + "639": "AvalGrpPara9", + "640": "AvalGrpPara10", + "641": "AvalGrpPara11", + "642": "AvalGrpPara12", + "643": "AvalGrpPara13", + "644": "AvalGrpPara14", + "645": "AvalGrpPara15", + "646": "AvalGrpPara16", + "647": "AvalGrpPara17", + "648": "AvalGrpPara18", + "649": "AvalGrpPara19", + "650": "AvalGrpPara20", + "651": "AvalGrpPara21", + "652": "AvalGrpPara22", + "653": "AvalGrpPara23", + "654": "AvalGrpPara24", + "655": "AvalGrpPara25", + "656": "AvalGrpPara26", + "657": "AvalGrpPara27", + "658": "AvalGrpPara28", + "659": "AvalGrpPara29", + "660": "AvalGrpPara30", + "661": "C0Value0", + "662": "C0Value1", + "663": "C0Value2", + "664": "C0Value3", + "665": "C0Value4", + "666": "C0Value5", + "667": "C1Scalar0", + "668": "C1Scalar1", + "669": "C1Scalar2", + "670": "C1Scalar3", + "671": "C1Scalar4", + "672": "C1Scalar5", + "673": "200ms", + "674": "600ms", + "675": "1000ms", + "700": "Itf1Hw", + "701": "Itf2Hw", + "702": "Itf3Hw", + "703": "DtTm", + "704": "Upd", + "705": "DevUpd", + "706": "PortalFnc", + "707": "PortalUsrSettings", + "708": "PortalBscSettings", + "709": "DnsSvc", + "710": "FTPPush", + "711": "FTPSrv", + "712": "UntId", + "713": "HwVer", + "714": "DnsSrvIp", + "715": "GwIp", + "716": "Ip", + "717": "SnetMsk", + "718": "WanIp", + "719": "IspIp", + "720": "NetwParaRs", + "721": "SerNumTxt", + "722": "IsDlSvTm", + "723": "FtySet", + "724": "DtFmt", + "725": "Lang", + "726": "LenUnt", + "727": "NumFmt", + "728": "TmpUnt", + "729": "TmFmt", + "730": "DlSvIsOn", + "731": "TmSynIsOn", + "732": "TmZn", + "733": "IsOn", + "734": "IntvTm", + "735": "Login", + "736": "Pwd", + "737": "Srv", + "738": "ConnTst", + "739": "GprsApn", + "740": "IspPhone", + "741": "IspPwd", + "742": "Pin", + "743": "SigTst", + "744": "DatUpld", + "745": "DatUpldStt", + "746": "PortalTst", + "747": "PortalTstStt", + "748": "Regist", + "749": "RegistStt", + "750": "Email", + "751": "PlntNam", + "752": "PlntId", + "753": "UpldIntv", + "754": "DatStoEna", + "755": "GprsAlwsOn", + "756": "FuncExe", + "757": "FabMod", + "758": "TotWRng", + "759": "TotWLim", + "760": "PhVRng", + "761": "DclVolRng", + "762": "DcVolRng", + "763": "DcVol", + "764": "FuncEna", + "765": "PvMod", + "766": "DtFmtDyMt4YrPt", + "767": "DtFmtMtDy4YrSlsh", + "768": "DtFmt4YrMtDyPt", + "769": "DtFmtMtDy4YrPt", + "770": "DtFmtDyMt4YrSlsh", + "771": "DtFmt4YrMtDySlsh", + "772": "DtFmtDyMt4YrDsh", + "773": "DtFmt4YrMtDyDsh", + "774": "DtFmtMtDy4YrDsh", + "775": "TmFmt24hMn", + "776": "TmFmt12hMn", + "777": "LangDE", + "778": "LangEN", + "779": "LangIT", + "780": "LangES", + "781": "LangFR", + "782": "LangEL", + "783": "LangKO", + "784": "LangCS", + "785": "LangPT", + "786": "LangNL", + "787": "NumFmtDcPt", + "788": "NumFmtDcCm", + "789": "NumFmtPtDcCm", + "790": "NumFmtCmDcPt", + "791": "TmpUntCelsius", + "792": "TmpUntKelvin", + "793": "TmpUntFahrenheit", + "794": "LenUntMetr", + "795": "LenUntImp", + "796": "LangSL", + "797": "LangBG", + "798": "LangPL", + "799": "LangJA", + "800": "Dsa", + "801": "LangTH", + "802": "Act", + "803": "Ina", + "804": "LangHE", + "805": "TmFmt24hMns", + "806": "TmFmt12hMns", + "807": "EvtBatLodInTm", + "808": "EvtBatLodEndTm", + "809": "EvtOvABatChaSwLim", + "810": "EvtOvABatDshaSwLim", + "811": "EvtUnVBatSwLim", + "812": "EvtOvVBatSwLim", + "813": "NotCfg", + "814": "MppSrchStt", + "815": "EstMaxWdc", + "816": "EstMaxWac", + "817": "Sec", + "818": "Nsd", + "819": "ExsDev", + "820": "PlntPwd", + "821": "WMaxAsym", + "822": "WMaxAsymMod", + "823": "MsCyc", + "824": "WIn", + "825": "EvtLoginFail", + "826": "FtyRs", + "827": "EvtBatMinStrFail", + "828": "HwRevStr", + "829": "PrtNum", + "830": "LriGrpStt", + "831": "LriGrpNameplate", + "832": "LriGrpDev", + "833": "LriGrpAcs", + "834": "LriGrpDc", + "835": "LriGrpAc", + "836": "LriGrpGuard", + "837": "LriGrpGn", + "838": "LriGrpBat", + "839": "LriGrpPlntCom", + "840": "LriGrpExCom", + "841": "LriGrpDatSto", + "842": "LriGrpPortal", + "843": "LriGrpApp", + "844": "LriGrpMtrlgy", + "845": "LriGrpBrglry", + "846": "LriGrpCmp", + "847": "LriGrpPlntCtl", + "848": "LriGrpPCC", + "849": "LriGrpEMS", + "850": "LriGrpPlntCtl2", + "861": "Usr", + "862": "Istl", + "863": "Svc", + "864": "Dvlp", + "865": "Evry", + "866": "GriGrd", + "867": "ItfEth10", + "868": "ItfEth100", + "869": "ItfBt", + "870": "ItfSpdwr", + "871": "ItfMdm", + "872": "ItfGSM", + "873": "ItfGPRS", + "874": "ItfUMTS", + "875": "PkgRev", + "876": "EvtPaRsTotWhLog", + "877": "DevSig", + "878": "Signal", + "879": "Cmp", + "880": "SusyId", + "881": "SunnyExplorer", + "882": "SubPlntNam", + "883": "PlntTmOfs", + "884": "NoneDrt", + "885": "NoneDsc", + "886": "NoneMsg", + "887": "NonePrio", + "888": "Evt", + "889": "Bt", + "890": "TotWIn", + "891": "WebBox-20", + "892": "StrFltDet", + "893": "EvtUpdDsp", + "894": "EvtUpdDspErr", + "895": "S0EnMtr", + "896": "ActBatChrg", + "897": "ChaCtlComStt", + "898": "OpHt", + "899": "OpCool", + "900": "CmpMain", + "901": "CmpCom", + "902": "CmpFltASw", + "903": "CmpDisp", + "904": "CmpSigProc", + "905": "CmpRS485", + "906": "CmpZb", + "907": "CmpBt", + "908": "CmpOS", + "909": "CmpPvPro", + "910": "CmpProtConv", + "911": "CmpMdul", + "912": "CmpWebConn", + "913": "CmpPwrCtlMdul", + "914": "CmpMdul2", + "915": "CmpBMS", + "916": "CmpEpsMdul", + "917": "CmpMfrMdul", + "918": "CmpGriMon", + "919": "CmpAcsMdul", + "920": "CmpSnsMdul", + "921": "CmpWl", + "922": "CmpIOMdul", + "923": "CmpRS485Mdul", + "924": "CmpRS485BIM", + "932": "EvtFlwInitStr", + "933": "EvtFlwInitStop", + "934": "EvtFlwRunStr", + "935": "EvtFlwRunStop", + "936": "EvtFlwShtdwnStr", + "937": "EvtFlwShtdwnStop", + "938": "EvtFlwFail", + "939": "EvtFlwOv", + "940": "EvtFlwStr", + "941": "EvtFlwRscLodFail", + "942": "EvtFlwSrvStrFail", + "943": "EvtComSetTmOut", + "944": "EvtComLoginOk", + "945": "EvtComLogoutOk", + "946": "EvtComLoginAcsFail", + "947": "EvtComLoginFail", + "948": "EvtComDetStr", + "949": "EvtComDev", + "950": "EvtComSigRx", + "951": "EvtComSigTx", + "952": "EvtComUnkObj", + "953": "EvtComMst", + "954": "EvtComLoginStr", + "955": "EvtComLoginStop", + "956": "EvtComLogoutStr", + "957": "EvtComBtCon", + "958": "EvtComBtConStop", + "959": "EvtComBtConFail", + "960": "EvtComDevInf", + "961": "EvtComDevRmv", + "962": "EvtComNetwInf", + "963": "EvtExNotAval", + "964": "EvtExComFail", + "965": "EvtExLoginFail", + "966": "EvtExTx", + "967": "EvtExBinTx", + "968": "EvtExTxAbrt", + "969": "EvtTmSynFail", + "970": "EvtPrmMss", + "971": "EvtODBAcsFail", + "972": "DscDcChk", + "973": "NaN", + "974": "PvPro", + "975": "RsLrn", + "976": "EvtDcInRvSC", + "977": "EvtDcInFlt", + "978": "EvtDcEIGBTFail", + "979": "EvtDcSwFail", + "980": "EvtDcCapacFail", + "981": "EvtDcHIGBTFail", + "982": "EvtPVSComFail", + "983": "EvtDcSCALimA", + "984": "EvtDcSCCB", + "985": "EvtOvVProTmp", + "986": "EvtOvVProArc", + "987": "EvtOvVProLgtProA", + "988": "EvtOvHeat", + "989": "MsgDcInRv", + "990": "MsgDcInFlt", + "991": "MsgLgtProIna", + "992": "MsgOvHeat", + "993": "EvtDcInRv", + "994": "EvtPhNMss", + "995": "DscDcNotDscon", + "996": "DscDcCon", + "997": "DscOvVProChk", + "998": "DscLgtProChkA", + "999": "DscDcAcDscon", + "1000": "EvtComDevLim", + "1001": "EvtComParaTx", + "1002": "MdlBtRpt", + "1003": "EvtDclCapacVFlt", + "1004": "EvtGriDetFlt", + "1005": "EvtAcASns", + "1006": "UnkFlt", + "1007": "EvtGndAmpMax", + "1008": "ENS", + "1009": "G77", + "1010": "AGL", + "1011": "UL1741", + "1012": "UL1741/2005", + "1013": "OthStd", + "1014": "DK5950", + "1015": "UL1741/2001", + "1016": "I-Konst", + "1017": "PEA", + "1018": "MEA", + "1019": "TxTst", + "1020": "MVtgDirective", + "1021": "JP", + "1022": "VArMod", + "1023": "WCtlHzMod", + "1024": "VArModCfg", + "1025": "VArCtlVolCfg", + "1026": "VDif", + "1027": "VDifTms", + "1028": "VOfsNom", + "1029": "VArGra", + "1030": "VStop", + "1031": "VArNom", + "1032": "MVtgDirectiveInt", + "1033": "VArCtlWCfg", + "1034": "VArStr", + "1035": "WStr", + "1036": "VArStop", + "1037": "WStop", + "1038": "PFCnstCfg", + "1039": "PF", + "1040": "PFExt", + "1041": "OvExt", + "1042": "UnExt", + "1043": "PFCtlWCfg", + "1044": "PFExtStr", + "1045": "PFStr", + "1046": "PFExtStop", + "1047": "PFStop", + "1048": "WModCfg", + "1049": "WCnstCfg", + "1050": "WNom", + "1051": "WNomRef", + "1052": "WCtlHzModCfg", + "1053": "WCtlHzCfg", + "1054": "HzStr", + "1055": "WGra", + "1056": "HzStop", + "1057": "HystEna", + "1058": "TmSyn", + "1059": "VArMax", + "1060": "VArLim", + "1061": "VAMax", + "1062": "VALim", + "1063": "PFAbsMin", + "1064": "PFAbsLim", + "1065": "WGraRecon", + "1066": "WGraReconEna", + "1067": "VArCnstCfg", + "1068": "WGraEna", + "1069": "VArCtlVol", + "1070": "VArCnstNom", + "1071": "VArCnst", + "1072": "VArCtlCom", + "1073": "VArCtlW", + "1074": "PFCnst", + "1075": "PFCtlCom", + "1076": "PFCtlW", + "1077": "WCnst", + "1078": "WCnstNom", + "1079": "WCtlCom", + "1080": "PlntCtl", + "1081": "EvtAcSwOpn", + "1082": "InstFltGri", + "1083": "DscGriPhSeqChk", + "1084": "EvtPhSeq", + "1085": "PriMst", + "1086": "ScdMst", + "1087": "InvCtl", + "1088": "EvtDatDif", + "1089": "EvtAcPwrCirInop", + "1090": "EvtHFAMax", + "1091": "EvtHFSC", + "1092": "EvtDclVMin", + "1093": "EvtTmpSnsPcbRdt", + "1094": "EvtFanEx", + "1095": "BstConv1", + "1096": "BstConv2", + "1097": "PhAngMax", + "1098": "PhAngMaxTmms", + "1099": "ChgMax", + "1100": "ChgMaxTmms", + "1101": "ReconMin", + "1102": "ReconMax", + "1103": "HzRtg", + "1104": "TotVANom", + "1105": "BstConv", + "1106": "EvtOvTmpBstConv", + "1107": "EvtHzGraMax", + "1108": "ClbAcVol", + "1109": "ClbAcVolStt", + "1110": "EvtClbAcVolFail", + "1111": "Fail", + "1112": "NotPrf", + "1113": "GndFuFlt", + "1114": "DscGndFuChk", + "1115": "DscFanRep", + "1116": "DscFanCln", + "1117": "EvtOvVProFlt", + "1118": "ClbFail", + "1119": "ClbAcVolPhs", + "1120": "GndAmpMax", + "1121": "GndAmpMaxTmms", + "1122": "GndMdt", + "1123": "GndModReq", + "1124": "GndModStt", + "1125": "GndModPs", + "1126": "GndModNg", + "1127": "GndModNone", + "1128": "GndModNoneReq", + "1129": "Yes", + "1130": "No", + "1131": "GriSwOpn", + "1132": "WCtlHz", + "1133": "VArCnstNomCfg", + "1134": "WCnstNomCfg", + "1135": "UpdPvProErr", + "1136": "EvtUpdPvProErr", + "1137": "UpdPvPro", + "1138": "EvtUpdPvPro", + "1139": "UL1741/2005/208", + "1140": "UL1741/2005/240", + "1141": "GndFlt", + "1142": "EvtGndModRv", + "1143": "DscGndModRv", + "1144": "PlntTmSet", + "1145": "PortalAct", + "1146": "Do", + "1147": "AdptSttNotCrea", + "1148": "AdptSttIdle", + "1149": "AdptSttInqAct", + "1150": "AdptSttInqStop", + "1151": "AdptSttConn", + "1152": "AdptSttDscon", + "1153": "AdptSttSwUpdStr", + "1154": "AdptSttSwUpdStop", + "1156": "AdptCmdCrea", + "1157": "AdptCmdConn", + "1158": "AdptCmdDscon", + "1159": "AdptCmdInqStr", + "1160": "AdptCmdAbrt", + "1161": "AdptCmdFltRs", + "1162": "AdptCmdUpdSw", + "1163": "AdptZb", + "1164": "AdptBt", + "1165": "AdptEth", + "1166": "AdptSer", + "1167": "AdptSpdwr", + "1168": "AdptWebConn", + "1170": "RAA", + "1171": "DAA", + "1172": "AdptCmd", + "1173": "AdptConnNd", + "1174": "AdptNdLst", + "1175": "AdptConnQual", + "1176": "AdptStt", + "1177": "AdptFlt", + "1179": "AdptNetId", + "1180": "AdptEvt", + "1186": "EvtDcAmpMsFlt", + "1187": "Intv15Mnt", + "1188": "Intvh", + "1189": "IntvDy", + "1190": "SysLog", + "1191": "ActStopDt", + "1192": "VArCtlComCfg", + "1193": "WCtlComCfg", + "1194": "PFCtlComCfg", + "1195": "IntvTmsMax", + "1196": "Exp", + "1197": "DatExpNoTag", + "1198": "EvtExpNoTag", + "1199": "PPDS", + "1200": "PvProOk", + "1201": "MPPShdw", + "1202": "CycTms", + "1203": "WMaxMpp", + "1204": "VolSpt", + "1205": "VRef", + "1206": "DclVolSpt", + "1207": "SwPkgLcn", + "1208": "AdptEvtConnAbrt", + "1209": "AdptEvtNetIdMdf", + "1210": "AdptSttFlt", + "1211": "AdptSttHwFlt", + "1212": "AdptSttNetFlt", + "1213": "DAAID", + "1214": "RAAID", + "1215": "EvtPlntCtlMstFlt", + "1216": "EvtPlntCtlCfgSet", + "1217": "HystVolNom", + "1218": "ArGraNom", + "1219": "VolRefNom", + "1220": "VArMaxNom", + "1221": "PwrCirInopVol", + "1222": "VArGraNom", + "1223": "VArTms", + "1224": "WNomStr", + "1225": "WNomStop", + "1226": "VRefOfs", + "1227": "PwrCirInopVolNom", + "1228": "PwrCirInopTms", + "1229": "ArGraMod", + "1230": "DGSModCfg", + "1231": "EvtComNetwId", + "1232": "AvalChkIstl", + "1233": "SDLWindV", + "1234": "Diag", + "1235": "CpuMon", + "1236": "CpuLod", + "1237": "RemStoLcn", + "1238": "EvtUpdStr", + "1239": "UpdQryOk", + "1240": "UpdQryNok", + "1241": "UpdAbrt", + "1242": "UpdDwldStr", + "1243": "UpdDwldOk", + "1244": "UpdDwldNok", + "1245": "RevUnk", + "1246": "PkgSzFlt", + "1247": "ParaMss", + "1248": "NxtConnTm1", + "1249": "NxtConnTm2", + "1250": "NxtConnTm3", + "1251": "IREStt", + "1252": "AdptEvtRecon", + "1253": "DbVolNomMin", + "1254": "DbVolNomMax", + "1255": "EvtAcV", + "1256": "UpdSpdwr", + "1257": "EvtUpdSpdwr", + "1258": "ConnTstRsl", + "1259": "EvtDcSCALimB", + "1260": "EvtOvVProLgtProB", + "1261": "DscLgtProChkB", + "1262": "DGSFlCfg", + "1263": "DGSMod", + "1264": "DGSFl", + "1265": "DGSPa", + "1266": "[mA]", + "1267": "[km/h]", + "1268": "[mph]", + "1269": "[kOhm]", + "1270": "[mOhm]", + "1271": "[mV]", + "1272": "[kVA]", + "1273": "[kVAr]", + "1274": "[kW/m2]", + "1275": "[kW]", + "1276": "[MW]", + "1277": "[GW]", + "1278": "[MWh]", + "1279": "[GWh]", + "1280": "[Ws]", + "1281": "[g]", + "1282": "[kg]", + "1283": "[lb]", + "1284": "[t]", + "1285": "[m2]", + "1286": "[sqft]", + "1287": "[m]", + "1288": "[km]", + "1289": "[ft]", + "1290": "[g/kWh]", + "1291": "[kg/kWh]", + "1292": "[kWh/kWp]", + "1293": "[Ah]", + "1294": "[As]", + "1295": "Stdby", + "1296": "UpdAval", + "1297": "EvtFtpTstOk", + "1298": "EvtFtpTstNok", + "1299": "EvtFtpSvrStr", + "1300": "EvtFtpSvrStop", + "1301": "EvtFtpSvrStrFail", + "1302": "EvtFtpSvrStopFail", + "1303": "EvtFtpUpld", + "1304": "EvtFtpUpldFail", + "1305": "GndModLrn", + "1306": "EvtUpdSpdwrErr", + "1307": "EvtExComFailSrv", + "1308": "EvtExLoginFailTag", + "1309": "EvtTmSynFailTag", + "1310": "EvtExTxAbrtTag", + "1311": "EvtDevClssUnk", + "1312": "EvtSysErr", + "1313": "EvtAcsErr", + "1314": "EvtWebSvcConnFail", + "1315": "EvtWebboxNotRgst", + "1316": "PkgUpdRev", + "1317": "AutoUpdIsOn", + "1318": "AutoUpdTm", + "1319": "NoRev", + "1320": "EvtWanIpDetFail", + "1321": "GndFltRea", + "1322": "GndFltDscon", + "1323": "GndFltWrn", + "1324": "EvtExComFailSrvTag", + "1325": "DatExpCSVIsOn", + "1326": "DatExpXMLIsOn", + "1327": "TotPF", + "1328": "VArGraMod", + "1329": "VolWidNom", + "1330": "Hyst", + "1331": "Db", + "1332": "HzMon", + "1333": "AsymDet", + "1334": "AsymMax", + "1335": "AsymMaxTmms", + "1336": "HzMonTmms", + "1337": "UL1741/120", + "1338": "UL1741/208", + "1339": "UL1741/240", + "1340": "MltFncSw", + "1341": "FltInd", + "1342": "FanCtl", + "1343": "SelfCsmp", + "1344": "MinOnTmm", + "1345": "MinOnPwr", + "1346": "MinOnPwrTmm", + "1347": "OpMode", + "1348": "DevRstr", + "1349": "ComCtl", + "1350": "DcCtlTurCfg", + "1351": "PC1", + "1352": "PC2", + "1353": "PC3", + "1354": "PC4", + "1355": "KP", + "1356": "KI", + "1357": "KD", + "1358": "StopVol", + "1359": "BatCha", + "1360": "MinReconTmm", + "1361": "[1E-3]", + "1362": "[1E-6]", + "1363": "FeedInTar", + "1364": "SelfCsmpTar", + "1365": "PwrTar", + "1366": "FeedInRvn", + "1367": "SelfCsmpRvn", + "1368": "PwrCost", + "1369": "LoginMdt", + "1370": "EvtTrfEnclFlt", + "1371": "EvtStopDet", + "1372": "EvtCanInOv", + "1373": "EvtDatChkFlt", + "1374": "EvtAcSwFlt", + "1375": "MsgPlntCtl", + "1376": "EvtWMaxAnInval", + "1377": "EvtWMaxBinCont", + "1378": "EvtVArMaxAnInval", + "1379": "EvtPFAbsMinAnInval", + "1380": "EvtCabOpn", + "1381": "EvtFliSto", + "1382": "EvtFliCrea", + "1383": "EvtWDrt", + "1384": "EvtHzDrt", + "1385": "EvtTmpDrt", + "1386": "EvtDcDrt", + "1387": "VArCnstNomAnIn", + "1388": "PFCnstAnIn", + "1389": "VArCtlVolHystDb", + "1390": "WCnstNomAnIn", + "1391": "WCnstNomDgIn", + "1392": "Flt", + "1393": "WaitPV", + "1394": "WaitGri", + "1395": "DcDm", + "1396": "Gri", + "1397": "DscPlntCtl", + "1398": "DscCabOpn", + "1399": "DscTrfEnclFlt", + "1400": "EvtDcVMaxFst", + "1401": "TotPFPrc", + "1402": "TotPFExt", + "1403": "TotWhMod", + "1404": "PvWhOut", + "1405": "GriWhOut", + "1406": "GriWhIn", + "1407": "PvMs", + "1408": "TotWOut", + "1409": "HzLim", + "1410": "ImpMon", + "1411": "AmpAmpl", + "1412": "MaxImpGra", + "1413": "PerAid", + "1414": "Ampl", + "1415": "hLimNom", + "1416": "lLimNom", + "1417": "ReconMaxNom", + "1418": "ReconMinNom", + "1419": "CO2RedSpc", + "1420": "GriTyp", + "1421": "Imp", + "1422": "PMid", + "1423": "VMid", + "1424": "VMax", + "1425": "VStr", + "1426": "RplDet", + "1427": "GndVol", + "1428": "BckOpMod", + "1429": "BckStt", + "1430": "PwrBal", + "1431": "PwrGrd", + "1432": "MaxW", + "1433": "GriTyp277V", + "1434": "GriTyp208V", + "1435": "GriTyp240V", + "1436": "GriTyp208VwoN", + "1437": "GriTyp240VwoN", + "1438": "Auto", + "1439": "OnAllPhs", + "1440": "ModGri", + "1441": "ModOffGri", + "1442": "ModPhsGrd", + "1443": "ModPwrGrd", + "1444": "ModFltGrd", + "1445": "PasAid", + "1446": "GridGuardRev", + "1447": "TotS0Out", + "1448": "TotS0In", + "1449": "EvtLeakRisIgn", + "1450": "EvtGfdiIgn", + "1451": "EvtIsoMonCfg", + "1452": "EvtRemGfdiSw", + "1453": "EvtIsoFltPmt", + "1454": "EvtSoftGnd", + "1455": "EvtEmgStop", + "1456": "Csmp", + "1457": "AbsSelfCsmpInc", + "1458": "DySelfCsmpInc", + "1459": "PvGriConn", + "1460": "CsmpGriConnStt", + "1461": "GriConn", + "1462": "GriConnNoBck", + "1463": "Bck", + "1464": "CapacThrpCnt", + "1465": "BatChaSttMin", + "1466": "Wait", + "1467": "Str", + "1468": "MppSrch", + "1469": "Shtdwn", + "1470": "Dst", + "1471": "EvtWrnErrTxOk", + "1472": "EvtWrnErrTxNok", + "1473": "EvtPlntDatTxOk", + "1474": "EvtPlntDatTxNok", + "1475": "EvtErrTxOk", + "1476": "EvtErrTxNok", + "1477": "EvtWrnTxOk", + "1478": "EvtWrnTxNok", + "1479": "GriFltMon", + "1480": "WaitUtil", + "1481": "SunnyCentralControl", + "1482": "EvtPlntUnkPortal", + "1483": "EvtDevExsPortal", + "1484": "EvtParaInval", + "1485": "EvtUnkDevRev", + "1486": "EvtInopAcsMss", + "1487": "EvtDevRgstOk", + "1488": "ComFltSSMId", + "1489": "SMUWrnId", + "1490": "SigIn1Stt", + "1491": "SigIn2Stt", + "1492": "EvtEFDcDscon", + "1493": "EvtEFDcDsconPmt", + "1494": "DscClrEF", + "1495": "EvtStrgFlt", + "1496": "DscStrgChk", + "1497": "EvtWdSmidCtl", + "1498": "EvtWdSmidCT", + "1499": "EvtBrdSup12", + "1500": "DscSDChg", + "1501": "TxAttCnt", + "1502": "TxAttTm", + "1503": "UpdSrc", + "1504": "AutoUpd", + "1505": "ManUpd", + "1506": "UpdPortal", + "1507": "Inf", + "1508": "EvtDcSwCnt90", + "1509": "EvtDcSwCnt100", + "1510": "Cmps", + "1511": "CmpsDlt", + "1512": "EvtSDExpInaUpd", + "1513": "EvtSDExpAct", + "1514": "EvtUpdPlntTx1", + "1515": "EvtUpdPlntTx2", + "1516": "EvtUpdPlntTx3", + "1517": "EvtDevUpdOk", + "1518": "EvtDevUpdNok", + "1519": "EvtDevUpdAbrt", + "1520": "EvtUpdDwldNok1", + "1521": "EvtUpdDwldNok2", + "1522": "EvtUpdDwldNok3", + "1523": "EvtUpdWait", + "1524": "S0kWhOut", + "1525": "S0kWhIn", + "1526": "PkgTrtRev", + "1527": "Forc", + "1528": "EvtReconFlt", + "1529": "EvtReconFltTm", + "1530": "GriTyp208VWYE", + "1531": "GriSw", + "1532": "AutoComFailStt", + "1533": "InitAutoStt", + "1534": "AutoSttSet", + "1535": "JetOffTst", + "1536": "ComTmOut", + "1537": "StrDet", + "1538": "ArGraNomPrc", + "1539": "AutoEna", + "1540": "EvtFstStop", + "1541": "EvtUnkDspFlt", + "1542": "EvtUnkBfrFlt", + "1543": "EvtOvTmpDcCl", + "1544": "EvtDcSwWrn", + "1545": "EvtIsoFltStk", + "1546": "EvtGfdiWrn", + "1547": "EvtGfdiPmt", + "1548": "EvtSoftGndWrn", + "1549": "EvtSoftGndPmt", + "1550": "EvtSoftGndIgn", + "1551": "EvtSoftGndHw", + "1552": "EvtIsoFltWrn", + "1553": "NotChg", + "1554": "EvtTmpSnsDisp", + "1555": "EvtDisp", + "1556": "EvtDispInopTmp", + "1557": "EvtDispInopUnk", + "1558": "EvtDispInopMss", + "1559": "DscUpdExec", + "1560": "EvtRemStop", + "1561": "TxAttRev", + "1562": "phsA2B", + "1563": "AOfs", + "1564": "K1", + "1565": "K1K2", + "1566": "K1K2K3", + "1567": "K1K2K3K4", + "1568": "K1K2K4", + "1569": "K1K3", + "1570": "K1K3K4", + "1571": "K1K4", + "1572": "K2", + "1573": "K2K3", + "1574": "K2K3K4", + "1575": "K2K4", + "1576": "K3", + "1577": "K3K4", + "1578": "K4", + "1579": "RstrTms", + "1580": "EvtAcDcConn", + "1581": "FeedIn", + "1582": "ValRsUsr", + "1583": "ADir", + "1584": "Ps", + "1585": "Ng", + "1586": "EvtPortalBsy", + "1587": "EvtNetwFail", + "1588": "VArTrt", + "1589": "PFTrt", + "1590": "ActFnc", + "1591": "RemSocCtl", + "1592": "EvtOvTmpCol", + "1593": "EvtUpdBinRxOk", + "1594": "EvtPwdFtySet", + "1595": "EvtNetwFtySet", + "1596": "EvtFtySet", + "1597": "EvtCardFl", + "1598": "EvtTrfConnFlt", + "1599": "GriSwOpnZerW", + "1600": "WCtlVolModCfg", + "1601": "CrvNum", + "1602": "UtilCrvCfg", + "1603": "Crv", + "1604": "CrvTms", + "1605": "RmpDec", + "1606": "RmpInc", + "1607": "NumPt", + "1608": "XVal1", + "1609": "YVal1", + "1610": "XVal2", + "1611": "YVal2", + "1612": "XVal3", + "1613": "YVal3", + "1614": "XVal4", + "1615": "YVal4", + "1616": "XVal5", + "1617": "YVal5", + "1618": "XVal6", + "1619": "YVal6", + "1620": "HzStopWGra", + "1621": "WGraConn", + "1622": "WGraMpp", + "1623": "RtNd", + "1624": "EvtPwdRvyFail", + "1625": "Portal", + "1626": "NtpSrv", + "1627": "Alrm", + "1628": "Mb", + "1629": "TcpSrv", + "1630": "UdpSrv", + "1631": "DhcpSrv", + "1632": "RptInf", + "1633": "Recp", + "1634": "TstEmailTx", + "1635": "UpldCyc", + "1636": "MinIp", + "1637": "MaxIp", + "1638": "TmSynSrc", + "1639": "InOut", + "1640": "DigInGrp1", + "1641": "DigInGrp2", + "1642": "AnInA1", + "1643": "AnInA2", + "1644": "AnInA3", + "1645": "AnInVol1", + "1646": "FreMem", + "1647": "StrgFltDet", + "1648": "PaStrgFltDet", + "1649": "EvtStrgPwr", + "1650": "EvtPaStrgPwr", + "1651": "VolSpp", + "1652": "VolSppMinPwrNom", + "1653": "SnsFlt", + "1654": "EvtDcAcMsFlt", + "1655": "EvtAfci", + "1656": "EvtAfciStrg", + "1657": "EvtAfciSlfTst", + "1658": "EvtAfciSlfTstOk", + "1659": "DscAfciRs", + "1660": "AfciIsOn", + "1661": "SttHealthMsgPrio", + "1662": "MsItf1", + "1663": "MsItf2", + "1664": "MsItf3", + "1665": "ConnLcn", + "1666": "MsType", + "1667": "S0In", + "1668": "S0Out", + "1669": "D0In", + "1670": "D0Out", + "1671": "D0InOut", + "1672": "OffGriAct", + "1673": "EvtTurPwr", + "1674": "EvtComIsNotLoginRsl", + "1675": "EvtComLoginSttRsl", + "1676": "EvtComIsNotLoginStr", + "1677": "EvtComLoginSttStr", + "1678": "EvtComDevLoginStt", + "1679": "EvtComDevLoginStr", + "1680": "EvtComDevLogoutStr", + "1681": "EvtComMdtDat", + "1682": "InsolMin", + "1683": "InsolMax", + "1684": "MsValMin", + "1685": "MsValMax", + "1686": "InsolSns", + "1687": "USB", + "1688": "USB2", + "1689": "DyWhIn", + "1690": "FstStop", + "1691": "Typ", + "1692": "StrgPwrRed", + "1693": "StrgNotConn", + "1694": "EvtDcSwTr", + "1695": "EvtDcSwWaitOth", + "1696": "EvtDcSwSpdl", + "1697": "EvtDcSwManLok", + "1698": "EvtDcSw3Tr", + "1699": "EvtDcSwFlt", + "1700": "KeySwStt", + "1701": "LcnTm", + "1702": "DcSw", + "1703": "StrgStt", + "1704": "WMaxDrt", + "1705": "HzDrt", + "1706": "DcAmpDrt", + "1707": "EvtRemSocChg", + "1708": "Spdwr", + "1709": "ComSocA", + "1710": "ComSocB", + "1711": "ConnSpd", + "1712": "ActlIp", + "1713": "ActlSnetMsk", + "1714": "ActlGwIp", + "1715": "ActlDnsSrvIp", + "1716": "WebConn", + "1717": "MacId", + "1718": "AutoCfgIsOn", + "1719": "ComNok", + "1720": "ConnSpd10", + "1721": "ConnSpd100", + "1722": "EvtIREFlt", + "1723": "TotWOutCalc", + "1724": "TotWhOutCalc", + "1725": "NotConn", + "1726": "HalfDpx", + "1727": "FulDpx", + "1728": "DpxMode", + "1729": "EvtComWCir", + "1730": "BatMs", + "1731": "TotAhIn", + "1732": "TotAhOut", + "1733": "Cha", + "1734": "ActChaMod", + "1735": "Maint", + "1736": "FulEqCha", + "1737": "ChaStt", + "1738": "WhIn", + "1739": "WhOut", + "1740": "Gn", + "1741": "AutoStr", + "1742": "GnDmdReas", + "1743": "GnMs", + "1744": "ManCtl", + "1745": "GnDmdBatCha", + "1746": "Tm1OffLim", + "1747": "Tm1OnLim", + "1748": "StrCnt", + "1749": "FulStop", + "1750": "SelfCsmpInc", + "1751": "ActlSelfCsmp", + "1752": "ActlCapacNom", + "1753": "BstChaTmm", + "1754": "EqChaTmh", + "1755": "FulChaTmh", + "1756": "FltRstrMaxCnt", + "1757": "MaxChaAmp", + "1758": "ActlChaVolSpt", + "1759": "CapacRtg", + "1760": "TmpMax", + "1761": "ARtg", + "1762": "GnDmdW", + "1763": "WOff", + "1764": "WOn", + "1765": "OpStt", + "1766": "SelfCsmpIncIsOn", + "1767": "BstCha", + "1768": "FulCha", + "1769": "EqCha", + "1770": "TrcCha", + "1771": "PVCha", + "1772": "GriPVCha", + "1773": "NotDmd", + "1774": "Lod", + "1775": "TmCtl", + "1776": "Man1h", + "1777": "ManStr", + "1778": "ExSrc", + "1779": "Dscon", + "1780": "PubGri", + "1781": "IsoGri", + "1782": "BatTypVRLA", + "1783": "BatTypFLA", + "1784": "BatTypNiCd", + "1785": "BatTypLiIon", + "1786": "S0kWh", + "1787": "Init", + "1788": "Rdy", + "1789": "Warming", + "1790": "Syn", + "1791": "ConnAct", + "1792": "ReSyn", + "1793": "GnDscon", + "1794": "StopDl", + "1795": "Lok", + "1796": "FltLok", + "1797": "DyWhFeed", + "1798": "GriCreaSrc", + "1799": "NoneSrc", + "1800": "GnSrc", + "1801": "GriSrc", + "1802": "GriGnSrc", + "1803": "EvtPvOutCfgInval", + "1804": "EvtGriOutCfgInval", + "1805": "EvtGriInCfgInval", + "1806": "EvtPvOutDatNotRx", + "1807": "EvtGriOutDatNotRx", + "1808": "EvtGriInDatNotRx", + "1809": "LodCtlCfgInval", + "1810": "EvtExComKey", + "1811": "EvtPlntTmSet", + "1812": "EvtComBtSerNum", + "1813": "EvtComBtConnQual", + "1814": "EvtComBtNotConn", + "1815": "EvtComBtConnStr", + "1816": "EvtComBtFail", + "1817": "EvtComBtRemSocFail", + "1818": "GriFailTms", + "1819": "AmpMsCnt", + "1820": "USB1", + "1821": "ExIsoMs", + "1822": "EvtAlgnNotReg", + "1823": "EvtDcInChg", + "1824": "EvtAfciAct", + "1825": "SmtpSrv", + "1826": "Cry", + "1827": "Ssh", + "1828": "DoTmSynSrc", + "1829": "CryAlwsSSLTLS", + "1830": "CryDmdSSLTLS", + "1831": "CryNone", + "1832": "EvtComCon", + "1833": "EvtComConStop", + "1834": "EvtComConFail", + "1835": "EvtTmpSnsMdul", + "1836": "EvtFanLif", + "1837": "EvtPyrFlt", + "1838": "EvtPyrClbReq", + "1839": "EvtBckModOn", + "1840": "EvtPortalFltTm", + "1841": "EvtPortalFlt", + "1842": "EvtUpdDevTx", + "1843": "EvtUpdDevTxFlt", + "1844": "IgmpIsOn", + "1845": "SpdwrGrp", + "1846": "EvtNetwLod", + "1847": "EvtNetwOvLod", + "1848": "EvtPkgFlt", + "1849": "EvtComSttChg", + "1850": "EvtConnFail", + "1851": "EvtConnSpdChg", + "1852": "EvtDpxModChg", + "1853": "DscLodRed", + "1854": "EvtSocOp", + "1855": "SocOp", + "1856": "AnInA4", + "1857": "AnInVol2", + "1858": "AnInVol3", + "1859": "AnInVol4", + "1860": "SelfCsmpWh", + "1861": "EvtNetwLodOk", + "1862": "Hi", + "1863": "EvtHwDetFail", + "1864": "EvtUnkHw", + "1865": "EvtUpdTxStr", + "1866": "EvtUpdTxOk", + "1867": "EvtUpdTxNok", + "1868": "EvtDevNotAval", + "1869": "ComCry", + "1870": "SigCyc", + "1871": "UpldTm", + "1872": "Intv30Mnt", + "1873": "Intv2h", + "1874": "Intv4h", + "1875": "Intv6h", + "1876": "Intv8h", + "1877": "Intv12h", + "1878": "EvtBtInit", + "1879": "HwId", + "1880": "MonSrv", + "1881": "RmvDev", + "1882": "RmvAllDev", + "1883": "Dev", + "1884": "STP200IFX-AST", + "1885": "STP200-AST", + "1886": "STP200FCH-AST", + "1887": "SysEnv", + "1888": "STP208HW12", + "1889": "STP208HW13", + "1890": "STP208HW14", + "1891": "STP208HW15", + "1892": "Smtp", + "1893": "ActPwrTxt", + "1894": "ReaPwrTxt", + "1895": "DigInTxt", + "1896": "AnInTxt", + "1897": "MbTxt", + "1898": "EvtWCtlTx", + "1899": "EvtVArCtlTx", + "1900": "EvtWVArCtlInval", + "1901": "EvtWCtlValNom", + "1902": "EvtVArCtlValNom", + "1903": "EvtVArCtlVal", + "1904": "EvtVArCtlValTag", + "1905": "EvtFlbAct", + "1906": "WndDir", + "1907": "[°]", + "1908": "ComValRsSvc", + "1909": "SPISysParaDlt", + "1910": "SPIODBExptDlt", + "1911": "SPIHPDlt", + "1912": "SPISwDlt", + "1913": "SPIDlt", + "1914": "ComRs", + "1915": "EvtUpdWebConn", + "1916": "EvtUpdWebConnErr", + "1917": "EvtFstStopPID", + "1918": "EvtSlfTstFail", + "1919": "EvtLeakRisMon", + "1920": "DscLeakRisChk", + "1921": "EvtPwrCirErr", + "1922": "EvtPwrCirChg", + "1923": "EvtExCCLoginFailTag", + "1924": "EvtExCCLoginOk", + "1925": "EvtExDevLoginOk", + "1926": "EvtExDevLoginFail", + "1927": "EvtExSigFail", + "1928": "NetwLatHi", + "1929": "VolMaxTst", + "1930": "AlrmWCtl", + "1931": "AlrmVArCtl", + "1932": "FilCfg", + "1933": "EvtEmailTx", + "1934": "EvtEmailFail", + "1935": "EvtAlrm", + "1936": "TstEmailRsl", + "1937": "EvtActlNetwId", + "1938": "EvtNetwId1", + "1939": "EvtIpLoginOk", + "1940": "EvtIpLoginFail", + "1941": "EvtIpLogoutOk", + "1942": "EvtSetSclParaOkVal", + "1943": "EvtSetSttParaOkTag", + "1944": "EvtSetStrParaOkStr1", + "1945": "EvtSetStrParaOkStr2", + "1946": "EvtSetSclParaNokVal", + "1947": "EvtSetSttParaNokTag", + "1948": "EvtSetStrParaNokStr1", + "1949": "EvtSetStrParaNokStr2", + "1950": "EvtWdRs", + "1951": "EvtCardDet", + "1952": "EvtCardRmv", + "1953": "EvtCardPaFul", + "1954": "EvtCardPro", + "1955": "EvtCardNotDet", + "1956": "EvtCardUs", + "1957": "EvtCardFul", + "1958": "EvtCardMss", + "1959": "EvtSysLogAct", + "1960": "EvtFtpTstNokTag", + "1961": "TrtDevNotRea", + "1962": "TrtDevNotConn", + "1963": "UsrCntHi", + "1964": "UsrIdFlt", + "1965": "DatLcnFlt", + "1966": "EvtFtpUpldFailTag", + "1967": "EvtDevValTx", + "1968": "EvtWCtlValPhs", + "1969": "EvtVArCtlValPhs", + "1970": "EvtPFCtlValPhs", + "1971": "EvtUnkCtl", + "1972": "EvtComDevRmvTs", + "1973": "XRef", + "1974": "YRef", + "1975": "XRefV", + "1976": "XRefVNom", + "1977": "YRefVarNom", + "1978": "YRefWNom", + "1979": "YRefWNomActl", + "1980": "XVal7", + "1981": "YVal7", + "1982": "XVal8", + "1983": "YVal8", + "1984": "VArCtlVolCrv", + "1985": "VArCtlVolCrvCfg", + "1986": "EnaW", + "1987": "DsaW", + "1988": "HzStopWGraTms", + "1989": "EnaVol", + "1990": "DsaVol", + "1991": "Crv2", + "1992": "EvtDevSttChg", + "1993": "IntvUpld", + "1994": "EvtAcDrt", + "1995": "EvtEpsSw", + "1996": "EvtMbSrvStr", + "1997": "EvtMbSrvStop", + "1998": "EvtMbSrvStrFlt", + "1999": "EvtMbCfgLod", + "2000": "EvtMbCfgFlt", + "2001": "ComSocC", + "2002": "ComSocD", + "2003": "PwrCtlMdul", + "2004": "DigInStt", + "2005": "ModRemOff", + "2006": "StringCFlt", + "2007": "EvtWndSns", + "2008": "HzStopMin", + "2009": "HzStopMax", + "2010": "GoAppId", + "2011": "SwMax", + "2012": "SwMaxTmms", + "2013": "SwMin", + "2014": "SwMinTmms", + "2015": "SrcHzLimRedCom", + "2016": "SrcFstStop", + "2017": "HzLimRed", + "2018": "IecCfg", + "2019": "GoCfg", + "2020": "IecGo", + "2021": "AlrmWrn", + "2022": "OptTxAdr", + "2023": "Abs", + "2024": "Pct", + "2025": "FileUpldOk", + "2026": "FileUpldFail", + "2027": "FileUpldRej", + "2028": "EvtFstStopTx", + "2029": "EvtWebConnAct", + "2030": "EvtWebConnIna", + "2031": "EvtWcNotConn", + "2032": "GwNotCfg", + "2033": "DnsSrvNotCfg", + "2034": "DnsQryNok", + "2035": "SipProxyUnk", + "2036": "StunSrvUnk", + "2037": "StunQryNok", + "2038": "SipPktNok", + "2039": "SipRgstRej", + "2040": "EvtUsbNoLog", + "2041": "VArAct", + "2042": "WNomPrc", + "2043": "VArNomPrc", + "2044": "SwExt", + "2045": "CnstExt", + "2046": "EvtCardDef", + "2047": "EvtCardDatStr", + "2048": "EvtCardDatStop", + "2049": "EvtPlntCtlIna", + "2050": "EvtPlntCtlInval", + "2051": "EvtRpcInval", + "2052": "EvtEmailFail2", + "2053": "DigInSttGrp1", + "2054": "DigInSttGrp2", + "2055": "DI1", + "2056": "DI1DI2", + "2057": "DI1DI2DI3", + "2058": "DI1DI2DI3DI4", + "2059": "DI1DI2DI4", + "2060": "DI1DI3", + "2061": "DI1DI3DI4", + "2062": "DI1DI4", + "2063": "DI2", + "2064": "DI2DI3", + "2065": "DI2DI3DI4", + "2066": "DI2DI4", + "2067": "DI3", + "2068": "DI3DI4", + "2069": "DI4", + "2070": "DI5", + "2071": "DI5DI6", + "2072": "DI5DI6DI7", + "2073": "DI5DI6DI7DI8", + "2074": "DI5DI6DI8", + "2075": "DI5DI7", + "2076": "DI5DI7DI8", + "2077": "DI5DI8", + "2078": "DI6", + "2079": "DI6DI7", + "2080": "DI6DI7DI8", + "2081": "DI6DI8", + "2082": "DI7", + "2083": "DI7DI8", + "2084": "DI8", + "2085": "SipRgstUnk", + "2086": "EvtWcGwNotCfg", + "2087": "EvtWcDnsSrvNotCfg", + "2088": "EvtWcDnsQryNok", + "2089": "EvtWcSipProxyUnk", + "2090": "EvtWcStunSrvUnk", + "2091": "EvtWcStunQryNok", + "2092": "EvtWcSipPktNok", + "2093": "EvtWcSipRgstRej", + "2094": "EvtWcSipRgstUnk", + "2095": "EvtWcComNok", + "2096": "STP208HW11", + "2097": "phsB2C", + "2098": "phsC2A", + "2099": "PwrCirCom", + "2100": "BalDrt", + "2101": "IsoMs", + "2102": "EvtHzTmOut", + "2103": "EvtComRevFlt", + "2104": "EvtDevInval", + "2105": "EvtMaxDevExc", + "2106": "EvtDcVolMax", + "2107": "DscPkgLod", + "2108": "DscRmvDev", + "2109": "CndRemUpd", + "2110": "EvtUsbSysFlt", + "2111": "RproTmms", + "2112": "GoMacId", + "2113": "PCC", + "2114": "ASpt", + "2115": "ArSpt", + "2116": "AMax", + "2117": "GnCtlCom", + "2118": "GnCtlComCfg", + "2119": "Drt", + "2120": "FltAMod", + "2121": "Mod30mA", + "2122": "Mod40mA", + "2123": "Mod50mA", + "2124": "Mod60mA", + "2125": "Mod70mA", + "2126": "Mod80mA", + "2127": "Mod90mA", + "2128": "Mod100mA", + "2129": "TotS0", + "2130": "ConnSet", + "2131": "EvtPvOutDatOk", + "2132": "EvtGriOutDatOk", + "2133": "EvtGriInDatOk", + "2134": "DcWRtg", + "2135": "WMaxMod", + "2136": "DynWMax", + "2137": "CnstTrtW", + "2138": "CnstTrtNom", + "2139": "Crv0", + "2140": "WMaxNom", + "2141": "EvtComSwFlt", + "2142": "EvtComSwOk", + "2143": "EvtSwFltAckn", + "2144": "EvtDynWMaxDrt", + "2145": "EvtDynWMaxDrtStop", + "2146": "EvtWCnstCfgFlt", + "2147": "EvtWCnstFlt", + "2148": "EvtWDrtTm", + "2149": "EvtWCnstwoSelfCsmp", + "2150": "EvtWCnstSelfCsmp", + "2151": "EvtGriOutWCnstIna", + "2152": "EvtInvWCnstIna", + "2153": "EvtUsrSlfTst", + "2154": "EvtUsrSlfTstOk", + "2155": "EvtWCnstFltUsr", + "2156": "SipRgstNok", + "2157": "EvtWcSipRgstNok", + "2158": "PmtHzLimRed", + "2159": "EvtCndChkOk", + "2160": "EvtCndChkNok", + "2161": "STP267HW07", + "2162": "ExSwCnt", + "2163": "OpnTmms", + "2164": "ClsTmms", + "2165": "ExSw", + "2166": "EvtDcVMaxDrt", + "2167": "EvtGfdiSwCnt", + "2168": "DscGfdiSw", + "2169": "EvtVArCtlValPhs2", + "2170": "EvtPFCtlValPhs2", + "2171": "DschStopVol", + "2172": "ChaAmpMax", + "2173": "DschAmpMax", + "2174": "BstChaVolSpt", + "2175": "FulChaVolSpt", + "2176": "EqChaVolSpt", + "2177": "TrcChaVolSpt", + "2178": "ReconMinDif", + "2179": "ReconMaxDif", + "2180": "RvPwrMax", + "2181": "RvPwrMaxTms", + "2182": "ExtGridMs", + "2183": "GriConnNoFeed", + "2184": "EnSavGri", + "2185": "EnSavStop", + "2186": "EnSavStr", + "2187": "EvtIpLoginOk2", + "2188": "EvtIpLoginOk3", + "2189": "EvtIpLoginFail2", + "2190": "EvtIpLogoutOk2", + "2191": "EvtUnTmp", + "2192": "EvtUpdZb", + "2193": "EvtUpdZbErr", + "2194": "EvtUnCurPro", + "2195": "UnCurProCnt", + "2196": "UnDcVolDrt", + "2197": "WDcVolDrt", + "2198": "BiasVol", + "2199": "Rl", + "2200": "VARtg", + "2201": "LoVolLin", + "2202": "MedVolLin", + "2203": "Trf", + "2204": "RisLen", + "2205": "InducReactLen", + "2206": "CapacReactLen", + "2207": "SCVol", + "2208": "HiVolRtg", + "2209": "[Ohm/km]", + "2210": "LoVolLen", + "2211": "MedVolLen", + "2212": "EvtAcVolInvLo", + "2213": "EvtAcVolGriLo", + "2214": "EvtAcVolGriFlt", + "2215": "EvtAcAMsFlt", + "2216": "EvtAcVolGriHz", + "2217": "EvtChaCirFlt", + "2218": "DscAcLinVolChk", + "2219": "EvtBatFlt", + "2220": "EvtAfciAct2", + "2221": "DscAcLinAChk", + "2222": "DscParaDSPChk", + "2223": "DscChaCirFuChk", + "2224": "EvtChaCirAct", + "2225": "EvtReactOp", + "2226": "EvtRvCurDet", + "2227": "EvtSwFlt", + "2228": "EvtSwWrn", + "2229": "UnkFlt2", + "2230": "EvtCapacTstFail", + "2231": "DscCapacChk", + "2232": "SMAMsIn", + "2233": "SMAMsOut", + "2234": "PIC", + "2235": "SMAMsInOut", + "2236": "EvtPlcDst", + "2237": "EvtPlcAf", + "2238": "Plc", + "2239": "PkgFlt", + "2240": "EvtDclCapacVSw", + "2241": "EvtBtSpdwrCfgInval", + "2242": "VolSppWCtlVol", + "2243": "VolSppVArCtlVol", + "2244": "SerNumEN", + "2245": "WCnstCls", + "2246": "DigInD00", + "2247": "DigInD01", + "2248": "DigInD02", + "2249": "DigInD03", + "2250": "DigInD04", + "2251": "DigInD05", + "2252": "DigInD06", + "2253": "DigInD07", + "2254": "DigInD08", + "2255": "DigInD09", + "2256": "DigInD10", + "2257": "DigInD11", + "2258": "DigInD12", + "2259": "DigInD13", + "2260": "DigInD14", + "2261": "DigInD15", + "2262": "FlbTmh", + "2263": "FlbVal", + "2264": "FltClrTms", + "2265": "VArModDmd", + "2266": "VArCnstCfgDmd", + "2267": "ArGraSag", + "2268": "ArGraSwell", + "2269": "CrvMod", + "2270": "VArPFCtlCom", + "2271": "XRefW", + "2272": "YRefEEI", + "2273": "CrvModCfg", + "2274": "CrvEna", + "2275": "EnaTrg", + "2276": "DsaTrg", + "2277": "TrgRef", + "2278": "CrvPt1", + "2279": "CrvPt2", + "2280": "CrvPt3", + "2281": "XVal", + "2282": "YVal", + "2283": "SvcMod", + "2284": "ChaVolSptSvc", + "2285": "DschVolSptSvc", + "2286": "ChaAmpMaxSvc", + "2287": "DschAmpMaxSvc", + "2288": "BatConv", + "2289": "BatChaMod", + "2290": "BatDschMod", + "2291": "BatWait", + "2292": "BatChaStt", + "2293": "BatDschStt", + "2294": "EvtUpdBMS", + "2295": "EvtUpdBMSNok", + "2296": "EvtBatDet", + "2297": "EvtOvABatChaSw", + "2298": "EvtOvABatDschSw", + "2299": "EvtUnVBat", + "2300": "EvtOvVBat", + "2301": "EvtOvTmpBatConv", + "2302": "EvtDcBatOfs", + "2303": "EvtSetParaNokDep", + "2304": "EvtOvABat", + "2305": "EvtBatInFlt", + "2306": "EvtOvABatChaHw", + "2307": "EvtOvABatDschHw", + "2308": "EvtOvVBatHw", + "2309": "EvtUnVBatSw", + "2310": "EvtOvVBatSw", + "2311": "DscChkInvCbl", + "2312": "RsBMSLog", + "2313": "RsBMSEvt", + "2314": "MsSpdwr", + "2315": "CelVol", + "2316": "STP208HW10", + "2317": "EvtDevConFail", + "2318": "EvtDevConOk", + "2319": "EvtComFail", + "2320": "RsRmpInc", + "2321": "WMaxAv", + "2322": "Qtl", + "2323": "QtlPvHi", + "2324": "QtlPvLo", + "2325": "QtlBatHi", + "2326": "QtlBatLo", + "2327": "QtlInvHi", + "2328": "QtlInvLo", + "2329": "PaQtlPvHi", + "2330": "PaQtlPvLo", + "2331": "PaQtlBatHi", + "2332": "PaQtlBatLo", + "2333": "PaQtlInvHi", + "2334": "PaQtlInvLo", + "2335": "EvtHwFstStop", + "2336": "DscChkFstStop", + "2337": "EvtIsoMs", + "2338": "EvtCardLogSto", + "2339": "EvtCapacTstAbrt", + "2340": "LGChem", + "2341": "SrcShm", + "2342": "ProdTm", + "2343": "SwCnt", + "2344": "ChaSwCnt", + "2345": "DschaSwCnt", + "2346": "AbsChaSwCnt", + "2347": "AbsDschaSwCnt", + "2348": "OpTms", + "2349": "EpsChaSttMin", + "2350": "CapacRtgWh", + "2351": "CelTmpVal", + "2352": "StoOpMode", + "2353": "AmpSpt", + "2354": "BAT-2.0A-SE-10", + "2355": "SwCntBMS", + "2356": "EvtVDrt", + "2357": "WSpt", + "2358": "WCtlComAct", + "2359": "VArSpt", + "2360": "PvGen", + "2361": "TotVal", + "2362": "CurVal", + "2363": "BatChrg", + "2364": "BatDsch", + "2365": "StoNom", + "2366": "PvWh", + "2367": "TotCsmp", + "2368": "DirCsmp", + "2369": "PvW", + "2370": "CurBatCha", + "2371": "CurBatDsch", + "2372": "SelfCsmpNom", + "2373": "CurStoNom", + "2374": "AtcNom", + "2375": "DirCsmpNom", + "2376": "PvWhSet", + "2377": "TotCsmpSet", + "2378": "SelfCsmpSet", + "2379": "DirCsmpSet", + "2380": "BatChrgSet", + "2381": "BatDschSet", + "2382": "SrvIsOn", + "2383": "ManRstr", + "2384": "GfdiSwStt", + "2385": "RstrLokStt", + "2386": "OvVol", + "2387": "UnVol", + "2388": "OvHz", + "2389": "UnHz", + "2390": "PID", + "2391": "EvtComMtrDst", + "2392": "EvtComShmDst", + "2393": "EvtBatLif", + "2394": "EvtBatConn", + "2395": "EvtBatNotAuth", + "2396": "EvtBatVolDif", + "2397": "EvtBatSysDef", + "2398": "EvtBatInDef", + "2399": "EvtBatSwDef", + "2400": "EvtBatConvDef", + "2401": "EvtBatComFlt", + "2402": "EvtBatSigFlt", + "2403": "EvtBatCelOvVol", + "2404": "EvtBatCelUnVol", + "2405": "EvtBatUnTmp", + "2406": "EvtBatOvTmp", + "2407": "EvtBatBal", + "2408": "EvtBatHw", + "2409": "DscComChk", + "2410": "DscBatConnChk", + "2411": "DscDcDscon", + "2412": "DscLcnChk", + "2413": "TotMem", + "2414": "RsBatProMod", + "2415": "AbsPvWh", + "2416": "AbsBatChrg", + "2417": "AbsBatDsch", + "2418": "EvtBatConvSwCtl", + "2419": "BatChaMinW", + "2420": "BatChaMaxW", + "2421": "BatDschMinW", + "2422": "BatDschMaxW", + "2423": "GridWSpt", + "2424": "Dft", + "2425": "TmpHealth", + "2426": "NoCmpUpd", + "2427": "WMaxPv", + "2428": "WMaxCha", + "2429": "WMinCha", + "2430": "WMaxDsch", + "2431": "WMinDsch", + "2432": "ActlCapacDet", + "2433": "EvtWSptValNom", + "2434": "EvtUpdGriMon", + "2435": "EvtUpdGriMonNok", + "2436": "EvtUpdComNok", + "2437": "EvtWSptVal", + "2438": "EvtGriGrdAsg", + "2439": "EvtDynWMaxDrtStop2", + "2440": "EvtStrFlt", + "2441": "EvtComFlt", + "2442": "EvtSMUFlt", + "2443": "EvtStrFlt2", + "2444": "EvtComFlt2", + "2445": "EvtSMUFlt2", + "2446": "EvtBatSigDef", + "2447": "EvtAcCapacMin", + "2448": "AcCapacMon", + "2449": "TmpValIstl", + "2450": "TmpValMaxIstl", + "2451": "InstCodeSvc", + "2452": "STP267HW09", + "2453": "BootEnvRs", + "2454": "SelfSup", + "2455": "ActBatDsch", + "2456": "Mon", + "2457": "EvtRplACapac", + "2458": "EvtRplARplV", + "2459": "DscInvCapacChk", + "2460": "EvtFanIn3", + "2461": "EvtPhFltMedV", + "2462": "EvtIsoMsValUnk", + "2463": "DscIsoMsChk", + "2464": "EvtOvABatHw", + "2465": "EvtBatInit", + "2466": "EvtFRTDet", + "2467": "[V/A]", + "2468": "NrwBndSprt", + "2469": "BrdBndSprt", + "2470": "Gain", + "2471": "Dmp", + "2472": "ActlCapacNomOv", + "2473": "SwPkgNom", + "2474": "TotkWhOutOfs", + "2475": "TotkWhInOfs", + "2476": "VArModRef", + "2477": "DynDsconModCfg", + "2478": "XRefTms", + "2479": "YRefVNom", + "2480": "EvtPwrCirAbrt", + "2481": "VrsStt", + "2482": "PFExtPFStr", + "2483": "PFExtPFStop", + "2484": "EpsMs", + "2485": "EpsMod", + "2486": "EpsActTm", + "2487": "EpsInaTm", + "2488": "AbsWh", + "2489": "FanCab3", + "2490": "PLD", + "2491": "EvtUpdBlt", + "2492": "EvtUpdBltNok", + "2493": "EvtUpdWebSrv", + "2494": "EvtUpdWebSrvNok", + "2495": "EvtDcAmpMaxC", + "2496": "EvtDcVMaxC", + "2497": "SwCmp", + "2498": "CmpComBlt", + "2499": "CmpWebSrv", + "2500": "CtlComCfg", + "2501": "CtlComMssMod", + "2502": "TmsOut", + "2503": "FlbVArNom", + "2504": "FlbPF", + "2505": "FlbPFExt", + "2506": "UsStp", + "2507": "UsFlb", + "2508": "Dmd", + "2509": "WCtl", + "2510": "VArCtl", + "2511": "PFCtl", + "2512": "PFExtCtl", + "2513": "FlbWNom", + "2514": "ImpCpn", + "2515": "OhmRis", + "2516": "InducRis", + "2517": "CapacRis", + "2518": "HzVAr", + "2519": "HaVAr", + "2520": "MaxVAr", + "2521": "Slv1", + "2522": "Slv2", + "2523": "Master", + "2524": "BltRev", + "2525": "AcTyp", + "2526": "TotWhSICha", + "2527": "TotWhPv", + "2528": "DyWhPv", + "2529": "TotWPv", + "2530": "CltFltMod", + "2531": "EnSavMod", + "2532": "BatUsDm", + "2533": "StatTm", + "2534": "ChaFact", + "2535": "EqChaCnt", + "2536": "FulChaCnt", + "2537": "FulDschNom", + "2538": "EqDschNom", + "2539": "ChaAMax", + "2540": "DschAMax", + "2541": "OvTmpRstr", + "2542": "DcRis", + "2543": "FulChaCycTm", + "2544": "EqChaCycTm", + "2545": "TmpCpn", + "2546": "EqChaAuto", + "2547": "AbsPhsAct", + "2548": "BatChaDif", + "2549": "EqChaMan", + "2550": "SltMod", + "2551": "TrcChaSltTm", + "2552": "SltTrcChaTm", + "2553": "BMSInaVol", + "2554": "StrTm", + "2555": "StopTm", + "2556": "ChaSttLim", + "2557": "AuxDcTyp", + "2558": "EnCntTm", + "2559": "AutoHzCtl", + "2560": "AcChaAMax", + "2561": "ExCT", + "2562": "ActTm", + "2563": "RptCyc", + "2564": "ProLokTm", + "2565": "DschProDmLim", + "2566": "DschProDmMin", + "2567": "BckDmMin", + "2568": "SelfCsmpBrd", + "2569": "SelfCsmpBrdMin", + "2570": "MaxYldMth", + "2571": "SanModAct", + "2572": "OnLim", + "2573": "OffLim", + "2574": "IntvStrTm", + "2575": "DmdMod", + "2576": "TrtDevIp", + "2577": "WAvTm", + "2578": "MinRunTm", + "2579": "MinStopTm", + "2580": "CoolTm", + "2581": "FltStopTm", + "2582": "WrmTm", + "2583": "RunTm", + "2584": "GnDmdChaMod", + "2585": "ChaMod", + "2586": "GnDmdDigIn", + "2587": "DigInRea", + "2588": "RmgMinRunTm", + "2589": "ALimMod", + "2590": "GnFltDet", + "2591": "ExtGriAMax", + "2592": "FeedPerm", + "2593": "PwrMon", + "2594": "StrPvFeedTm", + "2595": "StopPvFeedTm", + "2596": "ChaSttFeedAct", + "2597": "ChaSttFeedIna", + "2598": "GriDmdBatCha", + "2599": "GriDmdChaMod", + "2600": "LodShd1", + "2601": "LodShd2", + "2602": "ChaStrLim", + "2603": "ChaStopLim", + "2604": "Tmr", + "2605": "TmCtlOn", + "2606": "TmCtlCyc", + "2607": "BatFanTmp", + "2608": "DigIn", + "2609": "MltBox6", + "2610": "MltBox12", + "2611": "MltBox36", + "2612": "CtnOp", + "2613": "StopAllDev", + "2614": "SelfCsmpDm", + "2615": "ChaSttDm", + "2616": "BckDm", + "2617": "DschProDm", + "2618": "ExhDschDm", + "2619": "AcSrcChaReg", + "2620": "OthChaReg", + "2621": "ComChaReg", + "2622": "IntvOc", + "2623": "IntvWk", + "2624": "JunMaxYld", + "2625": "DecMaxYld", + "2626": "ValALimMod", + "2627": "HzALimMod", + "2628": "LowMod", + "2629": "MedMod", + "2630": "NrmMod", + "2631": "HiMod", + "2632": "AutoGn", + "2633": "LodShdMod", + "2634": "LodShd1Mod", + "2635": "LodShd2Mod", + "2636": "Tmr1", + "2637": "Tmr2", + "2638": "AuxLodCtl", + "2639": "GnSwOn", + "2640": "ExSrcSwOn", + "2641": "PubGriSwOn", + "2642": "FltSwOff", + "2643": "WrnSwOn", + "2644": "CltSwOn", + "2645": "BatFanCtl", + "2646": "EltPmpCtl", + "2647": "ComSyn", + "2648": "DrtSwOn", + "2649": "BckModDscon", + "2650": "BckModGnd", + "2651": "TmpValMin", + "2652": "RmgChaTm", + "2653": "FulChaRmgTm", + "2654": "EqChaRmgTm", + "2655": "GnDmdTm", + "2656": "GriDmdW", + "2657": "TmCtlStr", + "2658": "[V/°C]", + "2659": "ProMod", + "2660": "ExtGri", + "2661": "TmDm", + "2662": "EvtDevUpdAbrt2", + "2663": "EvtRemUpdSprt", + "2664": "DscRemUpdSprt", + "2665": "WMin", + "2666": "WMinTmms", + "2667": "LokTms", + "2668": "SutEMS", + "2669": "NotSut", + "2670": "LimSut", + "2671": "OkSut", + "2672": "EvtChaDschLim", + "2673": "SwOnRqt", + "2674": "EvtGriGrdNok", + "2675": "LodCmdLst", + "2676": "EvtBatSysDefExt", + "2677": "SttGnOp", + "2678": "ExtGriOp", + "2679": "EvtEnSavPhs", + "2680": "EvtEnSavGri", + "2681": "EvtFltShtdwn", + "2682": "EvtExhCha", + "2683": "EvtAutoStr", + "2684": "EvtManStr", + "2685": "EvtManStop", + "2686": "EvtEnSavStr", + "2687": "EvtEnSavStop", + "2688": "EvtStrComCtl", + "2689": "EvtStopComCtl", + "2690": "EvtHzCtlStr", + "2691": "EvtHzCtlStop", + "2692": "EvtSelfCsmpStr", + "2693": "EvtSelfCsmpStop", + "2694": "EvtSelfCsmpCha", + "2695": "EvtSelfCsmpGri", + "2696": "EvtSelfCsmpRet", + "2697": "EvtDevOff", + "2698": "EvtComCtlAct", + "2699": "EvtComCtlIna", + "2700": "EvtRsBMSBat", + "2701": "EvtTrcCha", + "2702": "EvtBstCha", + "2703": "EvtFulCha", + "2704": "EvtBMSClb", + "2705": "EvtAutoGnStr", + "2706": "EvtAutoGnStop", + "2707": "EvtManGnStr", + "2708": "EvtManGnStop", + "2709": "EvtGnFltAckn", + "2710": "EvtGnRqt", + "2711": "EvtCurGnStr", + "2712": "EvtCurGnStop", + "2713": "EvtBatChaGriRqt", + "2714": "EvtBatChaGriRel", + "2715": "EvtWLimGriRqt", + "2716": "EvtWLimGriRel", + "2717": "EvtManGriRqt", + "2718": "EvtManGriRel", + "2719": "EvtFncSwStt", + "2720": "EvtTrsSwStt", + "2721": "EvtUpdClt", + "2722": "EvtRemCtlAct", + "2723": "EvtDatMdulFlt", + "2724": "EvtUpdModel", + "2725": "EvtPvChaDet1", + "2726": "EvtSwItf", + "2727": "EvtTmpDrt2A", + "2728": "EvtOvVBatExt", + "2729": "EvtBatCapac", + "2730": "EvtClbBatCha", + "2731": "EvtCurTrsSwA", + "2732": "EvtAcVMinPpV2A", + "2733": "EvtAcVMaxPpV2A", + "2734": "EvtAcHzMin2A", + "2735": "EvtAcHzMax2A", + "2736": "EvtExtOffAidA", + "2737": "EvtExtOffLimA", + "2738": "EvtAcVRPro2A", + "2739": "EvtExtOffBatVA", + "2740": "EvtExtOffPhsA", + "2741": "EvtExtOffSCA", + "2742": "EvtExtPhSeq", + "2743": "EvtExtOffCurA", + "2744": "EvtExtOffVHzA", + "2745": "EvtRvPwrGn", + "2746": "EvtGnLokOnCnt", + "2747": "EvtRvPwrGriA", + "2748": "EvtFeedCurExcA", + "2749": "EvtTrsSwOnFltA", + "2750": "EvtWdCnt2B", + "2751": "EvtComCanFltB", + "2752": "EvtTmpSnsBatSC", + "2753": "EvtTmpSnsBatFlt", + "2754": "EvtSynReaMssB", + "2755": "EvtTxMssB", + "2756": "EvtSynGnNok", + "2757": "EvtDtInval", + "2758": "EvtBatProMod1", + "2759": "EvtSCDCOut", + "2760": "EvtTmOutDspB", + "2761": "EvtBoxPvNok", + "2762": "EvtBoxGnNok", + "2763": "EvtBoxGriVNok", + "2764": "EvtBoxSwFlt4", + "2765": "EvtTmpGnd", + "2766": "EvtComMtrCBox1", + "2767": "EvtComDevCBox", + "2768": "EvtWdCBox", + "2769": "EvtCBoxProt1", + "2770": "EvtMtrCBox", + "2771": "EvtDevShm", + "2772": "EvtBatConnPvCha1", + "2773": "EvtBatOvVPvCha1", + "2774": "EvtOvVPvCha1", + "2775": "EvtVPvCha1", + "2776": "EvtTmpSnsPvCha1", + "2777": "EvtOvTmpPvCha1", + "2778": "EvtComDcChaNok1", + "2779": "EvtDrpCfg", + "2780": "EvtTmOutBMS", + "2781": "EvtOvTmpTrf2A", + "2782": "EvtOvTmpWCir3A", + "2783": "EvtCurLimA", + "2784": "EvtDevOvVA", + "2785": "EvtDevOvHzA", + "2786": "EvtDevUnHzA", + "2787": "EvtDevUnVA", + "2788": "EvtGriVDetA", + "2789": "EvtOvW5A", + "2790": "EvtOvW30A", + "2791": "EvtOvW1A", + "2792": "EvtSlvFlt", + "2793": "EvtCurSnsNok", + "2794": "EvtDevBatOvVA", + "2795": "EvtExtBMSDet", + "2796": "EvtDevUnVBatA", + "2797": "EvtExtVFlt", + "2798": "EvtPhSeqFltA", + "2799": "EvtGriVSwOpnA", + "2800": "EvtGriSwFlt", + "2801": "EvtNSwFltA", + "2802": "EvtTrsSwFltA", + "2803": "EvtRsDspDetA", + "2804": "EvtInvalClb", + "2805": "EvtTmOutW", + "2806": "EvtTmOutVAr", + "2807": "EvtTmOutPF", + "2808": "DscWaitCool", + "2809": "DscWRedSC", + "2810": "DscAcConn", + "2811": "DscWRed", + "2812": "DscDevExtAcTst", + "2813": "DscDrtParaBatTst", + "2814": "DscWaitBatCool", + "2815": "DscBatTstTyp", + "2816": "DscLodRedBatTst", + "2817": "DscVHzExtAc", + "2818": "DscGriConnTst", + "2819": "DscBatVTst", + "2820": "DscExtSC", + "2821": "DscPhsExtTst", + "2822": "DscAcConnTst", + "2823": "DscCtlAcSwTst", + "2824": "DscNSwTst", + "2825": "DscAcDrtTst", + "2826": "DscGnFltAckn", + "2827": "DscLodRedAcDrt", + "2828": "DscSysIstlTst", + "2829": "DscCanRisTst", + "2830": "DscSnsSttTst", + "2831": "DscCfgCltTst", + "2832": "DscGnTst", + "2833": "DscDtSet", + "2834": "DscCfgBatCha", + "2835": "DscExtCltVTst", + "2836": "DscCltComTst", + "2837": "DscSwTst", + "2838": "DscGriPhsTst", + "2839": "DscGndRisCool", + "2840": "DscComMtrTst", + "2841": "DscComCBox", + "2842": "DscShmComTst", + "2843": "DscCanBMSTst", + "2844": "DscDevIstlAcV", + "2845": "DscSlvFlt", + "2846": "DscDevTrf", + "2847": "DscBatChaVTst", + "2848": "DscSysCfgTst", + "2849": "DscVHzAcTst", + "2850": "DscComBoxTst", + "2851": "DscCfgCltTst2", + "2852": "DscSlvCltTst", + "2853": "DscMsBoxTst", + "2854": "Vol1Nom", + "2855": "Vol2Nom", + "2856": "HystDb", + "2857": "EvtSwItf1", + "2858": "EvtSwItf2", + "2859": "EvtSwItf3", + "2860": "EvtSwItf4", + "2861": "EvtSwItf5", + "2862": "EvtSwItf6", + "2863": "EvtSwItf7", + "2864": "EvtSwItf8", + "2865": "EvtSwItf9", + "2866": "EvtSwItf10", + "2867": "EvtSwItf11", + "2868": "EvtSwItf12", + "2869": "EvtSwItf13", + "2870": "EvtSwItf14", + "2871": "EvtSwItf16", + "2872": "EvtAutoStrCntA", + "2873": "EvtHwLim", + "2874": "EvtTmpSnsTrf2A", + "2875": "EvtTmpSnsWCir3A", + "2876": "EvtSynSigMss", + "2877": "EvtCltCfg", + "2878": "EvtCltDevAdr", + "2879": "EvtCltRxNok", + "2880": "EvtComSPIA", + "2881": "EvtComCan2A", + "2882": "EvtComBox", + "2883": "EvtCltVMssA", + "2884": "EvtDspAidFlt", + "2885": "EvtCltNok", + "2886": "EvtAidMonFltA", + "2887": "EvtSynCanMssA", + "2888": "EvtDevVFltA", + "2889": "EvtBoxSwFail", + "2890": "EvtBoxParaFail", + "2891": "EvtBoxVFlt15", + "2892": "EvtBoxPhsFlt", + "2893": "EvtBoxCurVMsA", + "2894": "EvtClbDatNokA", + "2895": "EvtDcVtgBstCnvA", + "2896": "EvtTmpSnsCom", + "2897": "EvtDcVtgBstCnvB", + "2898": "EvtDcVtgBstCnvC", + "2899": "VArCtlVolHystDbAct", + "2900": "MccBatFanCtl", + "2901": "MccLodShd", + "2902": "EvtEMSGwOk", + "2903": "EvtEMSGwNok", + "2904": "EvtEMSDevRgst", + "2905": "EvtEMSDevRmv", + "2906": "SEMP", + "2907": "MieleHome", + "2908": "EvtTmpDrt2B", + "2909": "EvtTmpDrt2C", + "2910": "EvtCurTrsSwB", + "2911": "EvtAcVMinPpV2B", + "2912": "EvtAcVMaxPpV2B", + "2913": "EvtAcHzMin2B", + "2914": "EvtAcHzMax2B", + "2915": "EvtExtOffAidB", + "2916": "EvtExtOffLimB", + "2917": "EvtAcVRPro2B", + "2918": "EvtExtOffBatVB", + "2919": "EvtExtOffPhsB", + "2920": "EvtExtOffSCB", + "2921": "EvtCurTrsSwC", + "2922": "EvtAcVMinPpV2C", + "2923": "EvtAcVMaxPpV2C", + "2924": "EvtAcHzMin2C", + "2925": "EvtAcHzMax2C", + "2926": "EvtExtOffAidC", + "2927": "EvtExtOffLimC", + "2928": "EvtAcVRPro2C", + "2929": "EvtExtOffBatVC", + "2930": "EvtExtOffPhsC", + "2931": "EvtExtOffSCC", + "2932": "EvtExtOffCurB", + "2933": "EvtExtOffCurC", + "2934": "EvtExtOffVHzB", + "2935": "EvtExtOffVHzC", + "2936": "EvtRvPwrGriB", + "2937": "EvtFeedCurExcB", + "2938": "EvtTrsSwOnFltB", + "2939": "EvtWdCnt2C", + "2940": "EvtComCanFltC", + "2941": "EvtRvPwrGriC", + "2942": "EvtFeedCurExcC", + "2943": "EvtTrsSwOnFltC", + "2944": "EvtSynReaMssC", + "2945": "EvtTxMssC", + "2946": "EvtBatProMod2", + "2947": "EvtBatProMod3", + "2948": "EvtTmOutDspC", + "2949": "EvtBoxSwFlt5", + "2950": "EvtBoxSwFlt7", + "2951": "EvtBoxSwFlt9", + "2952": "EvtBoxSwFlt10", + "2953": "EvtCBoxProt2", + "2954": "EvtBatConnPvCha2", + "2955": "EvtBatOvVPvCha2", + "2956": "EvtOvVPvCha2", + "2957": "EvtVPvCha2", + "2958": "EvtTmpSnsPvCha2", + "2959": "EvtOvTmpPvCha2", + "2960": "EvtComDcChaNok2", + "2961": "EvtBatConnPvCha3", + "2962": "EvtBatOvVPvCha3", + "2963": "EvtOvVPvCha3", + "2964": "EvtVPvCha3", + "2965": "EvtTmpSnsPvCha3", + "2966": "EvtOvTmpPvCha3", + "2967": "EvtComDcChaNok3", + "2968": "EvtBatConnPvCha4", + "2969": "EvtBatOvVPvCha4", + "2970": "EvtOvVPvCha4", + "2971": "EvtVPvCha4", + "2972": "EvtTmpSnsPvCha4", + "2973": "EvtOvTmpPvCha4", + "2974": "EvtComDcChaNok4", + "2975": "EvtOvTmpTrf2B", + "2976": "EvtOvTmpWCir3B", + "2977": "EvtCurLimB", + "2978": "EvtDevOvVB", + "2979": "EvtDevOvHzB", + "2980": "EvtDevUnHzB", + "2981": "EvtDevUnVB", + "2982": "EvtGriVDetB", + "2983": "EvtOvW5B", + "2984": "EvtOvW30B", + "2985": "EvtOvW1B", + "2986": "EvtOvTmpTrf2C", + "2987": "EvtOvTmpWCir3C", + "2988": "EvtCurLimC", + "2989": "EvtDevOvVC", + "2990": "EvtDevOvHzC", + "2991": "EvtDevUnHzC", + "2992": "EvtDevUnVC", + "2993": "EvtGriVDetC", + "2994": "EvtOvW5C", + "2995": "EvtOvW30C", + "2996": "EvtOvW1C", + "2997": "EvtDevBatOvVB", + "2998": "EvtDevBatOvVC", + "2999": "EvtDevUnVBatB", + "3000": "EvtDevUnVBatC", + "3001": "EvtPhSeqFltB", + "3002": "EvtGriVSwOpnB", + "3003": "EvtPhSeqFltC", + "3004": "EvtGriVSwOpnC", + "3005": "EvtNSwFltB", + "3006": "EvtTrsSwFltB", + "3007": "EvtRsDspDetB", + "3008": "EvtNSwFltC", + "3009": "EvtTrsSwFltC", + "3010": "EvtRsDspDetC", + "3011": "EvtAutoStrCntB", + "3012": "EvtAutoStrCntC", + "3013": "EvtTmpSnsTrf2B", + "3014": "EvtTmpSnsWCir3B", + "3015": "EvtTmpSnsTrf2C", + "3016": "EvtTmpSnsWCir3C", + "3017": "EvtComSPIB", + "3018": "EvtComCan2B", + "3019": "EvtComSPIC", + "3020": "EvtComCan2C", + "3021": "EvtCltVMssB", + "3022": "EvtCltVMssC", + "3023": "EvtAidMonFltB", + "3024": "EvtSynCanMssB", + "3025": "EvtDevVFltB", + "3026": "EvtAidMonFltC", + "3027": "EvtSynCanMssC", + "3028": "EvtDevVFltC", + "3029": "EvtBoxVFlt24", + "3030": "EvtBoxCurVMsB", + "3031": "EvtClbDatNokB", + "3032": "EvtBoxCurVMsC", + "3033": "EvtClbDatNokC", + "3034": "MsCapac", + "3035": "IstlMod", + "3036": "EvtBatChaMod", + "3037": "EvtBatDschMod", + "3038": "EvtBatIstlNok", + "3039": "AddTm", + "3040": "EvtComMtrCBox2", + "3041": "EvtBatChaModOk", + "3042": "EvtBatDschModOk", + "3043": "EvtBatChaModNok", + "3044": "EvtBatDchModNok", + "3045": "CardFileRead", + "3046": "CardUpdAkt", + "3047": "PlntWSrc", + "3048": "PlntVArSrc", + "3049": "PlntW", + "3050": "PlntVAr", + "3051": "PCCMs", + "3052": "MsSrcInv", + "3053": "MsSrcMtr", + "3054": "MsSrcAnIn", + "3055": "MsSrcMb", + "3056": "DctMrk", + "3057": "DscAfciRs2", + "3058": "EvtAfciSlfIstl", + "3059": "EvtAfciSlfDev", + "3060": "EvtEqCha", + "3061": "ChaCtlComAval", + "3062": "WMon", + "3063": "SigVal1", + "3064": "SigVal2", + "3065": "AnOut", + "3066": "DigOut", + "3067": "CurMsVal", + "3068": "GriConnFeed", + "3069": "SelfCsmpDmLim", + "3070": "PvChaMs", + "3071": "ManRstrOvVol", + "3072": "ManRstrUnVol", + "3073": "ManRstrHz", + "3074": "EvtExtOffAid", + "3075": "ManRstrPID", + "3076": "ManRstrAID", + "3077": "DevId", + "3078": "ModelStr", + "3079": "URL", + "3080": "ComProt", + "3081": "MsValAcq", + "3082": "ValAcqMs", + "3083": "ValAcqEst", + "3084": "NoneValAcq", + "3085": "ExWMax", + "3086": "ExVArCtl", + "3087": "ItrWMax", + "3088": "ItrVArCtl", + "3089": "MsWPCC", + "3090": "MsVArPCC", + "3091": "EvtPvChaDet2", + "3092": "EvtPvChaDet3", + "3093": "EvtPvChaDet4", + "3094": "EvtStopMod", + "3095": "DscStopMod", + "3096": "MNConn", + "3097": "OpModeSlv1", + "3098": "OpModeSlv2", + "3099": "SttSlv1", + "3100": "SttSlv2", + "3101": "Abrt", + "3102": "CardFul", + "3103": "FileSysNotDet", + "3104": "FileSysNotSut", + "3105": "ParaSto", + "3106": "ParaStoFail", + "3107": "LogSto", + "3108": "CardNotExs", + "3109": "PreDyWhFeed", + "3110": "MthWhFeed", + "3111": "PreMthWhFeed", + "3112": "PreDyWhIn", + "3113": "MthWhIn", + "3114": "PreMthWhIn", + "3115": "CurMaxW", + "3116": "CurWCtl", + "3117": "TotVArIn", + "3118": "WDecMaxShrt", + "3119": "TotVArOut", + "3120": "TotVAOut", + "3121": "NotUsW", + "3122": "ComWdOut", + "3123": "ComWdIn", + "3124": "TotFuelCsmp", + "3125": "EstFuelCsmp", + "3126": "MaxVA", + "3127": "FscCnt", + "3128": "RemSvc", + "3129": "ManMod", + "3130": "SlvMod", + "3131": "EvtParaUpldOk", + "3132": "NConn", + "3133": "SelfTst", + "3134": "[m3]", + "3135": "[l/h]", + "3136": "EvtDcRv", + "3137": "EvtDcMinBat", + "3138": "EvtDcMinNoBat", + "3139": "EvtVolGra", + "3140": "EvtAmpGra", + "3141": "EvtTmOutItrCom", + "3142": "EvtVolMinSyn", + "3143": "EvtPwrCirCha", + "3144": "EvtCtlModInval", + "3145": "InitOk", + "3146": "YesManRstr", + "3147": "IgmpQryTx", + "3148": "EvtOffCapacTst", + "3149": "EvtOnCapacTst", + "3150": "DscCapacParaChk", + "3151": "EvtCapacTstStop", + "3152": "EvtDcSwDrt", + "3153": "EvtComAFE", + "3154": "EvtMsFltAFE", + "3155": "EvtRamECC", + "3156": "EvtBitFltFPGA", + "3157": "EvtSlfTstECC", + "3158": "XRefWNom", + "3159": "CrvModCfg2", + "3160": "EvtEMSGwCom", + "3161": "EvtEMSDevCom", + "3162": "EvtEMSGwSw", + "3163": "EvtEMSDevSw", + "3164": "EvtEMSComFlt", + "3165": "PLL", + "3166": "PLDLoVol", + "3167": "ActIsldDet", + "3168": "EvtMemAFE", + "3169": "EvtPromAFE", + "3170": "EvtPromDcEmc", + "3171": "EvtPromAcRly", + "3172": "HpRs", + "3173": "SysRs", + "3174": "OptmUpd", + "3175": "WCtlHzWMax", + "3176": "EvtUpdDevIdNok", + "3177": "EvtUpdFileFmt", + "3178": "EvtUpdLoginNok", + "3179": "UpdRx", + "3180": "UpdExec", + "3181": "UpdOk", + "3182": "UpdNok", + "3183": "WCtlTmms", + "3184": "EvtBckFileTxStr", + "3185": "EvtDcInFltA", + "3186": "EvtDcInFltB", + "3187": "EvtDcInFltC", + "3188": "AcCol", + "3189": "StrgCnt", + "3190": "StrgCntAct", + "3191": "HiVol", + "3192": "HiA", + "3193": "VASpt", + "3194": "OptmWebConn", + "3195": "AdrEvtLog", + "3196": "NtpTm", + "3197": "CmpWebUsrItf", + "3198": "EvtAcAFEInop", + "3199": "UsSerNumEN", + "3200": "CmpMainBlt", + "3201": "CmpPreBlt", + "3202": "EvtTmpSnsBstConv", + "3203": "EvtTmpSnsCol", + "3204": "ZnMon", + "3205": "MaxAmpNomDif", + "3206": "AvAmpNomDif", + "3207": "FltTm", + "3208": "Strg", + "3209": "AmpMax", + "3210": "AvgAmpDifFlt", + "3211": "FltTmEvt", + "3212": "MinAmpAct", + "3213": "EvtSetParaStt", + "3214": "HzPrc", + "3215": "PlntVw", + "3216": "DiagLog", + "3217": "SelfTstDmd", + "3218": "AvVol", + "3219": "BatDmd", + "3220": "CalcWCtl", + "3221": "CalcVArCtl", + "3222": "BatHealthStt", + "3223": "TotAvalCha", + "3224": "TotAvalDsch", + "3225": "DyWhCha", + "3226": "PreDyWhCha", + "3227": "MthWhCha", + "3228": "PreMthWhCha", + "3229": "DyWhDsch", + "3230": "PreDyWhDsch", + "3231": "MthWhDsch", + "3232": "PreMthWhDsch", + "3233": "IgmpQryTms", + "3234": "OvLdTst", + "3235": "DoFli", + "3236": "EvtAuthLok", + "3237": "AutoSynTm", + "3238": "PrdCsmp", + "3239": "PrdCsmpUs", + "3240": "EvtPwrRs", + "3241": "EvtDftLod", + "3242": "EvtManAckn", + "3243": "EvtSttChgFlt", + "3244": "EvtComFltSDE", + "3245": "EvtItrStoRs", + "3246": "EvtItrStoRsFail", + "3247": "EvtGriGrdSet", + "3248": "EvtApStiInval", + "3249": "EvtApStiMss", + "3250": "EvtApStiDef", + "3251": "EvtApStiInfDef", + "3252": "EvtApStiHw", + "3253": "EvtApStiSw", + "3254": "DscApStiChk", + "3255": "EvtClbAmp", + "3256": "EvtClbVol", + "3257": "EvtComIpc2", + "3258": "SetDlSvTm", + "3259": "EvtDifPres", + "3260": "EvtFanIn4", + "3261": "EvtLeakRisInd", + "3262": "DscInvIndChk", + "3263": "EvtRemGfdiSw2", + "3264": "DoOpn", + "3265": "DoCls", + "3266": "EvtDcShMss", + "3267": "EvtDcShConn", + "3268": "EvtComCan2", + "3269": "EvtSnsPres", + "3270": "EvtUpdWl", + "3271": "EvtUpdWlNok", + "3272": "Prothttp", + "3273": "ProtD2", + "3274": "ProtMb", + "3275": "GrnLedWInd", + "3276": "EvtComCmp", + "3277": "EvtComCmp2", + "3278": "CmpSC30DST", + "3279": "CmpSC30ACC", + "3280": "CmpSC30DCC", + "3281": "CmpSC30RIO", + "3282": "CmpSC30CONT", + "3283": "CmpSC30CONT1", + "3284": "CmpSC30CONT2", + "3285": "EvtTmpSnsCmp", + "3286": "EvtOvTmpCmp", + "3287": "EvtGriMonIna", + "3288": "IndOrange", + "3289": "IndYellow", + "3290": "IndGreen", + "3291": "IndRed", + "3292": "EvtTmOutWOn", + "3293": "EvtTmOutWOff", + "3294": "EvtOvTmpColOn", + "3295": "EvtOvTmpColOff", + "3296": "EvtFstStopDcOvA", + "3297": "EvtFstStopGfdi", + "3298": "EvtFstStopCab", + "3299": "EvtFstStopExt", + "3300": "EvtFstStopAcSw", + "3301": "EvtFstStopAcDcn", + "3302": "EvtFstStopSC", + "3303": "EvtFstStopSw", + "3304": "EvtFstStopDcDcn", + "3305": "EvtWlCmpDef", + "3306": "EvtWlConnNok", + "3307": "EvtWlConn", + "3308": "EvtWlConnFail", + "3309": "EvtLeakRisPast", + "3310": "EvtPwrDif", + "3311": "DscAcDcAVolChk", + "3312": "ParaSet20", + "3313": "Wl", + "3314": "SigPwr", + "3315": "ExsNetw", + "3316": "ConnStt", + "3317": "AntMod", + "3318": "SoftAcsIsOn", + "3319": "Ssid", + "3320": "Psk", + "3321": "DoWPS", + "3322": "CryWEP", + "3323": "CryWPA", + "3324": "CryWPA2", + "3325": "ConnFail", + "3326": "ItrAnt", + "3327": "ExAnt", + "3328": "CmpTmZn", + "3329": "ParaSetAck", + "3330": "EvtSlfTstIT", + "3331": "EvtActlRpro", + "3332": "EvtActlVhLim", + "3333": "EvtActlVlLim", + "3334": "EvtActlVllLim", + "3335": "EvtActlSwMax", + "3336": "EvtActlSwMin", + "3337": "EvtActlFrqhLim", + "3338": "EvtActlFrqlLim", + "3339": "EvtSlfTstMsLim", + "3340": "EvtSlfTstLim2", + "3341": "EvtSlfTstMsTm", + "3342": "DoAcq", + "3343": "MsSrcAnIn1", + "3344": "MsSrcAnIn2", + "3345": "MsSrcAnIn3", + "3346": "WRtg", + "3347": "AnIn", + "3348": "MsSrc", + "3349": "EvtUpdTmZn", + "3350": "EvtUpdTmZnNok", + "3351": "CryWEPIdx", + "3352": "ModOpnCtl", + "3353": "ModClsCtl", + "3354": "EvtTmOutClsCtl", + "3355": "DscSnsFanChk", + "3356": "UsCh", + "3357": "UsCh11", + "3358": "UsCh13", + "3359": "LimW", + "3360": "FlbInv", + "3361": "NtpSrvUnk", + "3362": "NtpQryFail", + "3363": "EvtWlCmpDet", + "3364": "EvtVArTst", + "3365": "AcqStt", + "3366": "WlAcqNone", + "3367": "WlAcqAct", + "3368": "WlAcqNok", + "3369": "WlAcqOk", + "3370": "S0WndSpd", + "3371": "S0Wnd", + "3372": "S0Pv", + "3373": "Pt100", + "3374": "Pt1000", + "3375": "[1/s]", + "3376": "Cfg", + "3377": "DigInGrp", + "3378": "DigInCfg00", + "3379": "DigInCfg01", + "3380": "DigInCfg02", + "3381": "DigInCfg03", + "3382": "DigInCfg04", + "3383": "DigInCfg05", + "3384": "DigInCfg06", + "3385": "DigInCfg07", + "3386": "DigInCfg08", + "3387": "DigInCfg09", + "3388": "DigInCfg10", + "3389": "DigInCfg11", + "3390": "DigInCfg12", + "3391": "DigInCfg13", + "3392": "DigInCfg14", + "3393": "DigInCfg15", + "3394": "CryWPATkip", + "3395": "CryWPAAes", + "3396": "CryWPA2Tkip", + "3397": "CryWPA2Aes", + "3398": "CryWPA2Mix", + "3399": "WlMacId", + "3400": "AprMod", + "3401": "AprModCfg", + "3402": "AprCnstCfg", + "3403": "AprCtlComCfg", + "3404": "PriBnd", + "3405": "AprUp", + "3406": "AprLo", + "3407": "AprUpNom", + "3408": "AprLoNom", + "3409": "Apr", + "3410": "AprAct", + "3411": "PsAprStt", + "3412": "NgAprStt", + "3413": "AprMax", + "3414": "AprDmd", + "3415": "AprCnst", + "3416": "AprCnstNom", + "3417": "AprCtlCom", + "3418": "UpBnd", + "3419": "LoBnd", + "3420": "XRefHz", + "3421": "XRefHzDif", + "3422": "YRefApr", + "3423": "YRefAprNom", + "3424": "AprScd", + "3425": "AprScdNom", + "3426": "WPSAct", + "3427": "EvtSocOvVol", + "3428": "EvtSocPvPwr", + "3429": "EvtSocSC", + "3430": "EvtSocNotAval", + "3431": "EvtAcGndFlt", + "3432": "CmpMain1", + "3433": "DscInvOvVProChk", + "3434": "EvtAfci2", + "3435": "EvtAfciStrg2", + "3436": "EvtAfciSlfTst2", + "3437": "EvtAfciSlfIstl2", + "3438": "EvtAfciSlfDev2", + "3439": "EvtDcAmpMaxD", + "3440": "EvtDcAmpMaxE", + "3441": "EvtDcAmpMaxF", + "3442": "EvtDclAMaxHwD", + "3443": "EvtDclAMaxHwE", + "3444": "EvtDclAMaxHwF", + "3445": "StringDFlt", + "3446": "StringEFlt", + "3447": "StringFFlt", + "3448": "EvtDcAOfsD", + "3449": "EvtDcAOfsE", + "3450": "EvtDcAOfsF", + "3451": "EvtDcWCirD", + "3452": "EvtDcWCirE", + "3453": "EvtDcWCirF", + "3454": "EvtDcVMaxD", + "3455": "EvtDcVMaxE", + "3456": "EvtDcVMaxF", + "3457": "EvtDcVtgBstCnvD", + "3458": "EvtDcVtgBstCnvE", + "3459": "EvtDcVtgBstCnvF", + "3460": "EvtOvVBstConvA", + "3461": "EvtOvVBstConvB", + "3462": "EvtOvVBstConvC", + "3463": "EvtOvVBstConvD", + "3464": "EvtOvVBstConvE", + "3465": "EvtOvVBstConvF", + "3466": "EvtDcInFltD", + "3467": "EvtDcInFltE", + "3468": "EvtDcInFltF", + "3469": "VArLimQ1", + "3470": "VArLimQ2", + "3471": "VArLimQ3", + "3472": "VArLimQ4", + "3473": "PFLimQ1", + "3474": "PFLimQ2", + "3475": "PFLimQ3", + "3476": "PFLimQ4", + "3477": "WMaxInv", + "3478": "EvtUpdWebUI", + "3479": "EvtUpdWebUINok", + "3480": "AfciRbs", + "3481": "PFEEI", + "3482": "MinEff", + "3483": "MinEffTmms", + "3484": "MaxEff", + "3485": "MaxEffTmms", + "3486": "SigVal1NoUnt", + "3487": "SigVal2NoUnt", + "3488": "YVal1NoUnt", + "3489": "YVal2NoUnt", + "3490": "EvtDcInLoA", + "3491": "EvtDcInNoA", + "3492": "EvtDcInNoCfg", + "3493": "EvtComInOut", + "3494": "AlrmEna", + "3495": "Tol", + "3496": "WrnTm", + "3497": "TotPFEEI", + "3498": "SysVCalc", + "3499": "TotVArOutCalc", + "3500": "EvtWSptRsl", + "3501": "AvalW", + "3502": "InsolSns20mA", + "3503": "InsolSns10V", + "3504": "EvtBatAmpOfs", + "3505": "EvtParaSetCnt", + "3506": "EvtReactOpOff", + "3507": "AntSet", + "3508": "NewDev", + "3509": "ActTms", + "3510": "EvtPlgWsOk", + "3511": "EvtLeakRisAbrt", + "3512": "S0ItfIn", + "3513": "Crv3", + "3514": "EvtLimAPwrCir", + "3515": "EvtFloCtl", + "3516": "CrvModCfg3", + "3517": "YRefBatWNom", + "3518": "EvtBrgStrDet", + "3519": "EvtNoBrgStrDet", + "3520": "VDrt", + "3521": "FwFltStt", + "3522": "UpdStt", + "3523": "SysRsStt", + "3524": "ConnAcStt", + "3525": "ConnDcStt", + "3526": "FeedStt", + "3527": "FRTStt", + "3528": "SbyStt", + "3529": "VArDmdStt", + "3530": "WGraStt", + "3531": "OpnCtlStt", + "3532": "VLoop", + "3533": "InOutTst", + "3534": "DcSrc", + "3535": "OpnCtlRef", + "3536": "OpnCtlRefGri", + "3537": "CmWoGri", + "3538": "CmMpp", + "3539": "AlrmFlt", + "3540": "PlntGriSwOpn", + "3541": "PlntGriSwCls", + "3542": "TotInvW", + "3543": "WCtlUnHzCfg", + "3544": "WCtlUnOvHz", + "3545": "CtlMsSrc", + "3546": "PhsCtlMod", + "3547": "MsSrcDev", + "3548": "MsSrcMltBox", + "3549": "GriOffOpMod", + "3550": "OnGriMod", + "3551": "OffGriMod", + "3552": "AcAmpDrt", + "3553": "VADrt", + "3554": "VArDmdDrt", + "3555": "VArRsvDrt", + "3556": "DcVolMaxDrt", + "3557": "SwAmpDrt", + "3558": "EvtAcVMaxFst", + "3559": "EvtAcVMinFst", + "3560": "DclVolSptMin", + "3561": "CurWCtlNom", + "3562": "CurWCtlComNom", + "3563": "CurWCtlDrkNom", + "3564": "CurWCtlMinNom", + "3565": "YRefVArNomAval", + "3566": "EvtLeakRisCtl", + "3567": "DscLeakRisCtl", + "3568": "EvtGfdiDrv", + "3569": "PriA", + "3570": "ScdA", + "3571": "MsgCyc", + "3572": "EEBus", + "3573": "PwrCirOvVolInopVolNom", + "3574": "PwrCirOvVolInopTms", + "3575": "TotkWhSet", + "3576": "TotWh", + "3577": "OpSelfCsmpDm", + "3578": "OpTrtCha", + "3579": "OpExtTrt", + "3580": "OpHzCtrl", + "3581": "ConnSpdNone", + "3582": "DpxModNone", + "3583": "SwRevSttNone", + "3584": "UpdSttNone", + "3585": "SelfTstDmdNone", + "3586": "ActlCapac", + "3587": "ChaSttAbs", + "3588": "FlbWSpt", + "3589": "ARtgMod", + "3590": "BatChaSttMax", + "3591": "GridWChaSpt", + "3592": "GridWDschSpt", + "3593": "EvtDcInRvA", + "3594": "EvtDcInRvB", + "3595": "EvtDcInRvC", + "3596": "EvtDcInRvD", + "3597": "EvtDcInRvE", + "3598": "EvtDcInRvF", + "3599": "AvailBatChrg", + "3600": "AvailBatDsch", + "3601": "EnvTmp", + "3602": "EnaStt", + "3603": "ThmPwrDmd", + "3604": "DCBusVtg", + "3605": "DCBusW", + "3606": "LDSupVtg", + "3607": "ThmMgtSupVtg", + "3608": "TmSynFail", + "3609": "EvtUpdBMSNokExt", + "3610": "RS485", + "3611": "CntDevAqc", + "3612": "AqcTms", + "3613": "DevCnt", + "3614": "StrDevAqc", + "3615": "InitCom", + "3616": "CtrlTst", + "3617": "CtrlStk", + "3618": "StkTst", + "3619": "ClrVdcLnk", + "3620": "OpSttDSP", + "3621": "VArDmdVArMax", + "3622": "ChGrp", + "3623": "ChStrgNum", + "3624": "SnsLvl", + "3625": "WPrc", + "3626": "SymMod", + "3627": "SymModCfg", + "3628": "SymFeedIn", + "3629": "USymFeedIn", + "3630": "AtcVolSym", + "3631": "Arr", + "3632": "PwrCir", + "3633": "VArPrc", + "3634": "OptKpAlvTms", + "3635": "VArModPwrIn", + "3636": "BatVTyp", + "3637": "AcVHzTyp", + "3638": "Clt", + "3639": "CltMod", + "3640": "SysFncSel", + "3641": "EzaTyp", + "3642": "QCG", + "3643": "44V", + "3644": "46V", + "3645": "48V", + "3646": "120V_60Hz", + "3647": "230V_50Hz", + "3648": "220V_60Hz", + "3649": "1Phs", + "3650": "3Phs", + "3651": "2Phs", + "3652": "SingleClt", + "3653": "MainClt", + "3654": "ExtnClt", + "3655": "SelfConsOnly", + "3656": "BackupOnly", + "3657": "SelfConsBackup", + "3658": "Sym", + "3659": "Asym", + "3660": "NewSys", + "3661": "NewBat", + "3662": "Addr", + "3663": "MltClt", + "3664": "EmgCha", + "3665": "ConnSpd1200", + "3666": "ConnSpd19200", + "3667": "EvtComDetStop", + "3668": "EvtComDetDev", + "3669": "EvtComDetFltMax", + "3670": "EvtComDetFltSpd", + "3671": "EvtComFltSpd", + "3672": "EvtInvChnNam", + "3673": "EvtInvRng", + "3674": "EvtSysRstr", + "3675": "WMaxInNomPrc", + "3676": "WMaxIn", + "3677": "FlbWMaxInNom", + "3678": "YRefWInNom", + "3679": "EvtBatNotCfg", + "3680": "WMaxAct", + "3681": "NoGrp", + "3682": "Grp1", + "3683": "Grp2", + "3684": "Grp3", + "3685": "WGraPrc", + "3686": "QCGStr", + "3687": "SymPlntSet", + "3688": "AsymPlntSet", + "3689": "EvtBatSysEvt", + "3690": "EvtBatSysEvtExt", + "3691": "EvtBMSChk", + "3693": "EvtAuxComFlt", + "3694": "EvtSoCHys", + "3695": "Evt485DetStr", + "3696": "EvtRamDSP", + "3697": "EvtRomDSP", + "3698": "EvtCpuSlfTstDSP", + "3699": "QCGStt", + "3700": "ASTType", + "3701": "SIAST50-24", + "3702": "SIAST50-48", + "3703": "SIASTU-48", + "3704": "SIASTBU-24", + "3705": "SIASTBU-48S", + "3706": "SIAST50-48-12", + "3707": "SIAST50-48S-12", + "3708": "EvtOvTmpAcBus", + "3709": "DscOvTmpAcBus", + "3710": "EvtBfpErr", + "3711": "DscBfpErr", + "3712": "EvtComInv2Inv", + "3713": "DscComInv2Inv", + "3714": "EvtTmOutGriMgtOn", + "3715": "EvtTmOutGriMgtOff", + "3716": "ClbMod", + "3717": "EvtBatOpTmOut", + "3718": "DscBMSChk", + "3719": "EvtBatSysWrnExt", + "3720": "LocCrdLong", + "3721": "LocCrdLat", + "3722": "RefTmMax", + "3723": "TrkDifMin", + "3724": "TolElev", + "3725": "SensBckX", + "3726": "SensBckY", + "3727": "ElevLim", + "3728": "TypSel", + "3729": "LastOvRide", + "3730": "AziMotAMax", + "3731": "ElevMotAMax", + "3732": "ElevAActl", + "3733": "AziAActl", + "3734": "AziActl", + "3735": "ElevActl", + "3736": "TrtAzi", + "3737": "TrtElev", + "3738": "EndPosX", + "3739": "SupV", + "3740": "OvRideCnt", + "3741": "OvDrv", + "3742": "EvtTmpErr", + "3743": "EvtPmtErr", + "3744": "MotTst", + "3745": "Ref", + "3746": "WtTm", + "3747": "SafStt", + "3748": "Trk", + "3749": "RetEast", + "3750": "NightMod", + "3751": "RemOp", + "3752": "BltMod", + "3753": "Rf30s", + "3754": "StpActCmd", + "3755": "UpEast", + "3756": "Up", + "3757": "Dn", + "3758": "East", + "3759": "West", + "3760": "OvDrvUp", + "3761": "OvDrvDn", + "3762": "West90", + "3763": "South", + "3764": "East90", + "3765": "Elev35", + "3766": "ForcErr", + "3767": "AcknRem", + "3768": "RefSouth", + "3769": "RefAstro", + "3770": "RPCBsy", + "3771": "RPCMax", + "3772": "EvtFuErr", + "3773": "EvtRlyErr", + "3774": "EvtInvalXDir", + "3775": "EvtInvalYDir", + "3776": "EvtTmOut", + "3777": "EvtPlsCntErr", + "3778": "EvtXRngErr", + "3779": "EvtSnsPosErr", + "3780": "EvtRefCntErr", + "3781": "EvtRPCHltErr", + "3782": "EvtIMaxErr", + "3783": "EvtIStopErr", + "3784": "EvtInvalXRef", + "3785": "EvtInvalYRef", + "3786": "EvtXMovErr", + "3787": "EvtYMovErr", + "3788": "EvtTstErr", + "3789": "EvtYRngErr", + "3790": "EvtXDlErr", + "3791": "EvtYDlErr", + "3792": "EvtSupV", + "3793": "EvtSwBat", + "3794": "EvtSCBatSys", + "3795": "EvtThmMgtBatSys", + "3796": "EvtHtBatSys", + "3797": "EvtDrtBatSys", + "3798": "EvtBatSysOff", + "3799": "EvtBalBatSys", + "3800": "EvtSOCCalBatSys", + "3801": "EvtThmMgtBatSysOn", + "3802": "Detl", + "3803": "HtMod", + "3804": "GriHtMod", + "3805": "AcDschAMax", + "3806": "SerNumDev1", + "3807": "SerNumDev2", + "3808": "PhsDev1", + "3809": "PhsDev2", + "3810": "EvtVerFlt", + "3811": "PkgUpdAval", + "3812": "EvtFanMVTrf", + "3813": "LastTmSyn", + "3814": "DevNum", + "3815": "DevPwd", + "3816": "RefErrMax", + "3817": "RemStep", + "3818": "ElevOfs", + "3819": "UpdNotAval", + "3820": "SoftAcsConnStt", + "3821": "Mod300mA", + "3822": "DrpCtlStt", + "3823": "PPO", + "3824": "EvtAcVMaxPpV2phs", + "3825": "EvtAcVMinPpV2phs", + "3826": "EvtAcVRPro2phs", + "3827": "EvtExtOffAidphs", + "3828": "EvtAcHzMin2phs", + "3829": "EvtAcHzMax2phs", + "3830": "EvtPhSeqFltphs", + "3831": "EvtExtOffBatVphs", + "3832": "EvtExtOffPhsphs", + "3833": "EvtExtOffSCphs", + "3834": "EvtExtOffVHzphs", + "3835": "EvtFeedCurExcphs", + "3836": "EvtDevOvVphs", + "3837": "EvtDevOvHzphs", + "3838": "EvtDevUnHzphs", + "3839": "EvtDevUnVphs", + "3840": "EvtGriVDetphs", + "3841": "EvtBoxCurVMsphs", + "3842": "EvtCurLimphs", + "3843": "EvtTrsSwFltphs", + "3844": "EvtExtOffLimDev", + "3845": "EvtTmOutDspDev", + "3846": "EvtRsDspDetDev", + "3847": "EvtAutoStrCntDev", + "3848": "EvtAidMonFltDev", + "3849": "EvtDevVFltDev", + "3850": "EvtOvTmpWCir3Dev", + "3851": "EvtOvTmpTrf2Dev", + "3852": "EvtCurTrsSwDev", + "3853": "EvtOvW5Dev", + "3854": "EvtOvW30Dev", + "3855": "EvtOvW1Dev", + "3856": "EvtComCan2Dev", + "3857": "EvtTxMssDev", + "3858": "EvtComSPIDev", + "3859": "EvtSynCanMssDev", + "3860": "EvtCltVMssDev", + "3861": "EvtDevBatOvVDev", + "3862": "EvtDevUnVBatDev", + "3863": "BatChrgSetA", + "3864": "BatDschSetA", + "3866": "SiChaPvPwr", + "3867": "SocFrqDstr", + "3868": "ACtl", + "3869": "EvtWdCnt2Slv", + "3870": "EvtOvVPvCha", + "3871": "EvtVPvCha", + "3872": "EvtOvTmpPvCha", + "3873": "EvtTmpSnsPvCha", + "3874": "EvtComDcChaNok", + "3875": "EvtPvChaDet", + "3876": "EvtBatConnPvCha", + "3877": "EvtBatOvVPvCha", + "3878": "EvtBoxSwFlt", + "3879": "EvtDcAmpMaxIn", + "3880": "EvtBoxVFltSup", + "3881": "EvtTmpSnsWCir3", + "3882": "EvtTmpSnsTrf2", + "3883": "EvtComMtrCBox", + "3884": "EvtCBoxProt", + "3885": "EvtNSwFlt", + "3886": "EvtTmpDrt2", + "3887": "EvtBatProMod", + "3888": "EvtSwItfMsg", + "3889": "Allg", + "3890": "BatOvVol", + "3891": "BatUnVol", + "3892": "BatOvTmp", + "3893": "BatUnTmp", + "3894": "BatOvTmpChrg", + "3895": "BatUnTmpChrg", + "3896": "BatOvA", + "3897": "BatUnA", + "3898": "Sw", + "3899": "SC", + "3900": "BMSIntl", + "3901": "CellImBal", + "3902": "Rsv", + "3903": "PvCnt", + "3904": "GridCnt", + "3905": "EvtGriVSwOpnphs", + "3906": "SKI", + "3907": "EvtCstMsgOutOfMem", + "3908": "EvtStopLogInvalidTm", + "3909": "EvtStrLogValidTm", + "3910": "RdtBckModDscon", + "3911": "ExARtg", + "3912": "CmpBUC", + "3913": "CmpBIM", + "3914": "EvtDigInStt", + "3915": "EvtBatUsDm", + "3916": "EvtSysConFlt", + "3917": "EvtExAExcAMax", + "3918": "EvtSCLod", + "3919": "EvtDataSetExtnCltFlt", + "3920": "EvtMainCltSwOnFlt", + "3921": "EvtBatDm", + "3922": "EvtExVVac2", + "3923": "AcDscon", + "3924": "WaitAcDscon", + "3925": "Unld", + "3926": "WaitUnld", + "3927": "InitECC", + "3928": "InitBCC", + "3929": "WaitVLoop", + "3930": "SicAll", + "3931": "BatVInit", + "3932": "EvtSwNOpn", + "3933": "EvtSwOpn", + "3934": "EvtExSwNCls", + "3935": "OpVEx", + "3936": "RproEna", + "3937": "VldTm", + "3938": "HzMin", + "3939": "HzMax", + "3940": "AcChaA", + "3941": "AcDschA", + "3942": "AziOfs", + "3943": "AziOfsOut", + "3944": "ElevOfsOut", + "3945": "MsAvCnt", + "3946": "El2Lim", + "3947": "El2StrDt", + "3948": "El2EndDt", + "3949": "Lim2Ang", + "3950": "Lim2StrDt", + "3951": "Lim2EndDt", + "3952": "FxEl", + "3953": "FxAng2", + "3954": "FxAzi", + "3955": "FxAng1", + "3956": "FxClrPos", + "3957": "HyTrackFactX", + "3958": "HyTrackFactY", + "3959": "HyTrackJmpWid", + "3960": "HyTrack_V1", + "3961": "HyTrack_V2", + "3962": "HyTrack_V3", + "3963": "HyTrack_V4", + "3964": "HyTrack_Xincl", + "3965": "HyTrack_Yincl", + "3966": "HyTrack_Rot", + "3967": "HyTrack_Temp", + "3968": "HyTrack", + "3969": "TrkTm", + "3970": "FailTm", + "3971": "NightAng", + "3972": "MotAActl1", + "3973": "MotAActl2", + "3974": "MotAMax1", + "3975": "MotAMax2", + "3976": "ActlAng1", + "3977": "ActlAng2", + "3978": "TgtAng1", + "3979": "TgtAng2", + "3980": "DrvEna", + "3981": "DrvAll", + "3982": "Drv1", + "3983": "Drv2", + "3984": "OcvPtCnt", + "3985": "SttMstr", + "3986": "ActChrgMod", + "3987": "RsCntDev", + "3988": "TrkErr", + "3990": "Pro", + "3991": "BatResSOC", + "3992": "BatProSOC", + "3993": "CntWrnOvV", + "3994": "CntErrOvV", + "3995": "CntWrnSOCLo", + "3996": "ConnSpd9600", + "3997": "ConnSpd115200", + "3998": "EvtChgGriHzFlt", + "3999": "ChaSttArr", + "4000": "ActlCapacNomArr", + "4001": "ActlCapacArr", + "4002": "ChaSttAbsArr", + "4003": "CapacRtgWhArr", + "4004": "CurBatChaArr", + "4005": "CurBatDschArr", + "4006": "BatChrgArr", + "4007": "BatDschArr", + "4008": "AbsBatChrgArr", + "4009": "AbsBatDschArr", + "4010": "ActBatDschArr", + "4011": "BatChrgSetArr", + "4012": "BatDschSetArr", + "4013": "ActBatChrgArr", + "4014": "ActlCapacNomOvArr", + "4015": "EvtBatDetIdx", + "4016": "EvtBatLifIdx", + "4017": "EvtBatConnIdx", + "4018": "EvtBatNotAuthIdx", + "4019": "EvtBatVolDifIdx", + "4020": "EvtBatSysDefIdx", + "4021": "EvtBatComFltIdx", + "4022": "EvtBatCelOvVolIdx", + "4023": "EvtBatCelUnVolIdx", + "4024": "EvtBatUnTmpIdx", + "4025": "EvtBatOvTmpIdx", + "4026": "EvtBatBalIdx", + "4027": "EvtBatHwIdx", + "4028": "EvtBatChaModIdx", + "4029": "EvtBatDschModIdx", + "4030": "EvtBatIstlNokIdx", + "4031": "EvtBatChaModOkIdx", + "4032": "EvtBatDschModOkIdx", + "4033": "EvtBatChaModNokIdx", + "4034": "EvtBatDchModNokIdx", + "4035": "EvtBatMinStrFailIdx", + "4036": "EvtSwBatIdx", + "4037": "EvtSCBatSysIdx", + "4038": "EvtThmMgtBatSysIdx", + "4039": "EvtUpdBIM", + "4040": "EvtUpdBIMErr", + "4041": "EvtUpdBUC", + "4042": "EvtUpdBUCErr", + "4043": "ExSwV", + "4044": "StrComTest", + "4045": "SttComTest", + "4046": "BatCurSnsTyp", + "4047": "BatCurGain50", + "4048": "BatCurGain60", + "4049": "SnsTyp50mV", + "4050": "SnsTyp60mV", + "4051": "ExVHiRes", + "4052": "TotWInPk", + "4053": "TotWOutPk", + "4054": "AISens", + "4055": "CurCtlMod", + "4056": "Ac2NSel", + "4057": "TN-Netz", + "4058": "TT-Netz", + "4059": "MsSrcSel", + "4060": "MsSrcMtrBox", + "4061": "TotLodW", + "4062": "TmCtlUpd", + "4063": "EvtSetParaNokStop", + "4064": "EvtSetParaNokQCG", + "4065": "PanLevCtl", + "4066": "PanLevCom", + "4067": "PanLevMdul", + "4068": "Lbl", + "4069": "MPPTrk", + "4070": "Char_A", + "4071": "Char_B", + "4072": "Char_C", + "4073": "Char_D", + "4074": "Char_E", + "4075": "Char_F", + "4076": "Char_G", + "4077": "Char_H", + "4078": "Char_I", + "4079": "Char_J", + "4080": "Char_K", + "4081": "Char_L", + "4082": "Char_M", + "4083": "Char_N", + "4084": "Char_O", + "4085": "Char_P", + "4086": "Char_Q", + "4087": "Char_R", + "4088": "Char_S", + "4089": "Char_T", + "4090": "Char_U", + "4091": "Char_V", + "4092": "Char_W", + "4093": "Char_X", + "4094": "Char_Y", + "4095": "Char_Z", + "4096": "FrqDrp", + "4097": "VtgDrp", + "4098": "[Hz/kW]", + "4099": "[V/kVAr]", + "4100": "EvtData1Err", + "4101": "EvtNumDevExc", + "4102": "DscRedDevCnt", + "4103": "EvtPosUnKnwn", + "4104": "EvtDsconUnSym", + "4105": "EvtSlfCsmpStop", + "4106": "HwRevStrg", + "4107": "DscSupVChk", + "4108": "EvtFuHeatFan", + "4109": "EvtOvLdChaCir", + "4110": "DscFuHeatFanChk", + "4111": "EvtOvDrv", + "4112": "EvtInvalRef1", + "4113": "EvtInvalRef2", + "4114": "EvtMovErr1", + "4115": "EvtMovErr2", + "4116": "BothEast", + "4117": "Angl2East", + "4118": "Angl2West", + "4119": "Angl1East", + "4120": "Angl1West", + "4121": "BothWest", + "4122": "BothTable", + "4123": "AnglTable", + "4124": "Ang2Table", + "4125": "RefTable", + "4126": "BothDrv", + "4127": "FstShtdownTigo", + "4128": "FstShtdownSma", + "4129": "HzHiRes", + "4130": "EvtBckOvVolHv2", + "4131": "EvtBckOvVolHv1", + "4132": "EvtBckInPwr", + "4133": "EvtBckSC", + "4134": "EvtBUCComFlt", + "4135": "EvtBIMComFlt", + "4136": "PanLevStrg", + "4137": "StrSOCClb", + "4138": "StopSOCClb", + "4139": "StrDrt", + "4140": "StopDrt", + "4141": "PrevBatStop", + "4142": "BatCurSns", + "4143": "EnMtrSerNumTxt", + "4144": "EnMtrTyp", + "4145": "StrSrch", + "4146": "AbrtSrch", + "4147": "RSSOpMode", + "4148": "MdulCnt", + "4149": "OptCnt", + "4150": "RSSFnc", + "4151": "CfgStt", + "4152": "MinTmm", + "4153": "VtgDif", + "4154": "TestGw", + "4155": "TIGO_CCASw", + "4156": "EvtSysFlt", + "4157": "GwCnt", + "4158": "EvtBiMetSw", + "4159": "EvtRlyFlt", + "4160": "EvtNPEMonBckMdul", + "4161": "EvtHwFltBckMdul", + "4162": "EvtTmpBckMdul", + "4163": "EvtSwTstBckMdul", + "4164": "EvtCfgFltBck", + "4165": "EvtStrtBatVLow", + "4166": "EvtHwFltBIM", + "4167": "EvtSupVBIM", + "4168": "EvtSupVOutBIM", + "4169": "EvtComFltBIM", + "4170": "EvtComMultiBIM", + "4171": "EvtTstModBIM", + "4172": "EvtAInCtlLim", + "4173": "EvtAInCtlFlt", + "4174": "EvtBckOp", + "4175": "EvtSocInptPwr", + "4176": "VMinBckStrt", + "4177": "SwStt", + "4178": "ComHealth", + "4179": "BckBoxOpMod", + "4180": "RdtSw", + "4181": "PhsCpl", + "4182": "NGnd", + "4183": "HiChaSttDrtInv", + "4184": "SwAcknTmms", + "4185": "SwOnVMin", + "4186": "SwOnVminTmms", + "4187": "VRmpTmms", + "4188": "RstBatCfg", + "4189": "DCInCfg", + "4190": "CanTstMod", + "4191": "Eps", + "4192": "EvtMltCltFWDif", + "4193": "DscEqFW", + "4194": "EvtFstShtdown", + "4195": "Det", + "4196": "NotDet", + "4197": "EvtUpdTGIB", + "4198": "EvtUpdTGIBErr", + "4199": "EvtComPvModGw", + "4200": "EvtComPvLevMod", + "4201": "EvtSDTyp", + "4202": "DscSDUpdUs", + "4203": "EvtUSymLast", + "4204": "OptFnd", + "4205": "GwFnd", + "4206": "DtSel", + "4207": "TOU", + "4208": "PLS", + "4209": "TOURng", + "4210": "PLSRng", + "4211": "ChrgW", + "4212": "DschW", + "4213": "EnMtrARtg", + "4214": "EvtAInClsNok", + "4215": "[W/Wp]", + "4216": "EvtOvCurDet", + "4217": "MsSrcAnIn4", + "4218": "MsSrcAnIn5", + "4219": "MsSrcAnIn6", + "4220": "AnOut1", + "4221": "AnOut2", + "4222": "AnOut3", + "4223": "AnOut4", + "4224": "AnOut5", + "4225": "AnOut6", + "4226": "OffSngStrgCnf", + "4227": "[d]", + "4228": "EvtBckVFreSw", + "4229": "VFreMonEna", + "4230": "RS485Mod", + "4231": "MbRTU", + "4232": "SMAData", + "4233": "PVMdulCtl", + "4234": "AcVolSpt", + "4235": "Ri", + "4236": "OCV", + "4237": "AcCfg", + "4238": "HzSpt", + "4239": "LeakAMax", + "4240": "LeakRisAMax", + "4241": "CelMdm", + "4242": "IMEI", + "4243": "ICCID", + "4244": "SimCard", + "4245": "MNP", + "4246": "EnnexOS", + "4247": "EvtComCelMdmDst", + "4248": "EvtComEnnexOSDst", + "4249": "Term", + "4250": "EvtWlAct", + "4251": "EvtWlIna", + "4252": "EvtWlAcsPtConn", + "4253": "EvtSocOvLod", + "4254": "EvtBckOvLod", + "4255": "DscComCelMdmDst", + "4256": "DscComEnnexOSDst", + "4257": "RSSSigTest", + "4258": "Mark", + "4259": "Space", + "4260": "DcChaCir", + "4261": "EvtMstSlvCfgWrn", + "4262": "DscMstSlvChk", + "4263": "EvtTmDcChaCir", + "4264": "EvtBatSysFltExt", + "4265": "ConnFllbkTmm", + "4266": "MdmFail", + "4267": "InternetFail", + "4268": "RSSTrgTest", + "4269": "EvtRSSFlt", + "4270": "EvtRSSOk", + "4271": "EvtASCTstThyCls", + "4272": "EvtCtlClkFlt", + "4273": "DscThyChg", + "4274": "EvtIOTstAbrt", + "4275": "EvtRSIExt", + "4276": "EvtNoPV", + "4277": "RCDOpStop", + "4278": "EthDiag", + "4279": "LabMod", + "4280": "CurVArCtlMinNom", + "4281": "CurVArCtlNom", + "4282": "Cor", + "4283": "CorTmms", + "4284": "GraCtlTmCor", + "4285": "ComDiag", + "4286": "EvtRSSRdtDschNok", + "4287": "DscCntSvc", + "4288": "SIS", + "4289": "RsCfgDat", + "4290": "EthWifi", + "4291": "AvValTyp", + "4292": "5minAvVal", + "4293": "10minAvVal", + "4294": "EvtUpdPanLevMdul", + "4295": "EvtCelMdmHwErr", + "4296": "EvtCelMdmNoCar", + "4297": "EvtCelMdmConnLos", + "4298": "EvtRGMErr", + "4299": "BckModLodDeAct", + "4300": "Flb", + "4301": "VArLimMod", + "4302": "VArTms95", + "4303": "VolRef", + "4304": "VolRefAdjMod", + "4305": "FlbVArMod", + "4306": "DrpChr", + "4307": "8PntHystChr", + "4308": "6PntChr", + "4309": "8PntChr", + "4310": "10PntChr", + "4311": "12PntChr", + "4312": "14PntChr", + "4313": "MaxVol", + "4314": "[p.u.]", + "4315": "VolAvg", + "4316": "DrpHyst", + "4317": "DrpDb", + "4318": "DrpHystDb", + "4319": "YRefMod", + "4320": "NumPhs", + "4321": "VolMod", + "4322": "AutnAdjMod", + "4323": "EnaTms", + "4324": "DsaTms", + "4325": "PlntPhV", + "4326": "Can", + "4327": "SIComCtl", + "4328": "VArCpn", + "4329": "NumPvStrg", + "4330": "NotSec", + "4331": "BasSec", + "4332": "HiSec", + "4333": "BatTypNotCfg", + "4334": "NumPtMax", + "4335": "AutnAdjTms", + "4336": "VArNomRefMod", + "4337": "Intv5Mnt", + "4338": "Intv10Mnt", + "4339": "15minAvVal", + "4340": "WMaxOutRtg", + "4341": "WMaxInRtg", + "4342": "WMinOutRtg", + "4343": "WMinInRtg", + "4344": "VArMaxQ1Rtg", + "4345": "VArMaxQ2Rtg", + "4346": "VArMaxQ3Rtg", + "4347": "VArMaxQ4Rtg", + "4348": "PFMinQ1Rtg", + "4349": "PFMinQ2Rtg", + "4350": "PFMinQ3Rtg", + "4351": "PFMinQ4Rtg", + "4352": "VAMaxOutRtg ", + "4353": "VAMaxInRtg", + "4354": "WMaxOut", + "4355": "WMinOut", + "4356": "WMinIn", + "4357": "VAMaxOut", + "4358": "VAMaxIn", + "4359": "VArMaxQ1", + "4360": "VArMaxQ2", + "4361": "VArMaxQ3", + "4362": "VArMaxQ4", + "4363": "VArMaxZerWQ1", + "4364": "VArMaxZerWQ2", + "4365": "VArMaxZerWQ3", + "4366": "VArMaxZerWQ4", + "4367": "PFMinQ1", + "4368": "PFMinQ2", + "4369": "PFMinQ3", + "4370": "PFMinQ4", + "4371": "EvtUpdPanLevMdulErr", + "4372": "PanLevLog", + "4373": "PFOut", + "4374": "PFExtOut", + "4375": "PFIn", + "4376": "PFExtIn", + "4377": "FlbPFOut", + "4378": "FlbPFExtOut", + "4379": "FlbPFIn", + "4380": "FlbPFExtIn", + "4381": "WFilTmEna", + "4382": "WFilTms", + "4383": "VArTmEna", + "4384": "VArGraEna", + "4385": "PFCfg", + "4390": "[VAr/s]", + "4391": "[m^3/h]", + "4392": "[kWh/m^3]", + "4402": "GFCI", + "4403": "GFCILim", + "4404": "GFCILimEna", + "4409": "VArGraPos", + "4410": "VArGraNeg", + "4451": "BlckStrStr", + "4452": "BlckStrAbrt", + "4453": "GnIsoOp", + "4454": "BatIsoOp", + "4455": "GriIsoOp", + "4456": "GnUnld", + "4457": "GnShtdown", + "4458": "GnStrPrp", + "4459": "GnStr", + "4460": "IdleAc", + "4461": "Idle", + "4462": "BlckStrPrpBat", + "4463": "BatBlckStrConn", + "4464": "BatBlckStrRmpUp", + "4465": "SynPrp", + "4466": "SynConn", + "4467": "DeSynPrp", + "4468": "DeSynRmpDwn", + "4469": "DeSynDiscon", + "6109": "Reserved", + "7500": "Enel-GUIDA", + "7501": "RD1663/661-A", + "7502": "IEC61727/MEA", + "7503": "IEC61727/PEA", + "7504": "SI4777-2", + "7505": "CGC/GF001", + "7506": "VDE0126-1-1/UTE", + "7507": "KEMCO502/2009", + "7508": "JP50", + "7509": "JP60", + "7510": "VDE-AR-N4105", + "7511": "GB-T19939-2005", + "7512": "G59/2", + "7513": "VDE-AR-N4105-MP", + "7514": "VDE-AR-N4105-HP", + "7515": "KEMCO501/2009", + "7516": "CEI0-21", + "7517": "CEI0-21Int", + "7518": "CEI0-21Ext", + "7519": "UL1741/2010/277", + "7520": "UL1741/2010/120", + "7521": "UL1741/2010/240", + "7522": "NEN-EN50438", + "7523": "C10/11/2012", + "7524": "RD1699", + "7525": "G83/2", + "7526": "VFR2013", + "7527": "VFR2014", + "7528": "G59/3", + "7529": "SI4777_HS131_Pf", + "7530": "MEA2013", + "7531": "PEA2013", + "7532": "EN50438_2013", + "7533": "NEN-EN50438_13", + "7534": "SA220V/60Hz", + "7535": "WorstCase", + "7536": "DftEN", + "7537": "OthStd60Hz", + "7538": "SI4777_HS131_13", + "7539": "RD1699/413", + "7540": "KEMCO2013", + "7541": "UL1741/2010/208", + "7542": "GPPWide", + "7543": "VDE0126-1-1_CH", + "7544": "VDE-AR-N4105-DK", + "7545": "VDE-AR-N4105-MC", + "7546": "Adjusted-MC", + "7547": "OENORME80014712", + "7548": "HECO2015", + "7549": "AS4777.2_2015", + "7550": "NRS97-2-1", + "7551": "NT_Ley2057", + "7552": "HECO2015/120", + "7553": "HECO2015/208", + "7554": "HECO2015/240", + "7555": "IEC61727", + "7556": "MEA2016", + "7557": "PEA2016", + "7558": "UL1741/2016/277", + "7559": "UL1741/2016/120", + "7560": "UL1741/2016/240", + "7561": "UL1741/2016/208", + "7562": "HECO2017/120", + "7563": "HECO2017/208", + "7564": "HECO2017/240", + "7565": "ABNT_NBR_16149_2013", + "7566": "IE-EN50438_2013", + "7567": "DEWA_2016_intern", + "7568": "DEWA_2016_extern", + "7569": "TOR_D4_2016", + "7570": "IEEE1547", + "7571": "CARule21", + "7572": "CEI0-16ext", + "7573": "G83/2-1_2018", + "7574": "G59/3-4_2018", + "8000": "DevClss0", + "8001": "DevClss1", + "8002": "DevClss2", + "8007": "DevClss7", + "8033": "DevClss33", + "8064": "DevClss64", + "8065": "DevClss65", + "8096": "DevClss96", + "8128": "DevClss128", + "8500": "ObjRoot", + "8501": "ObjVMem", + "8502": "ObjPwt", + "8503": "ObjCom", + "8504": "ObjFwChk", + "8505": "ObjCond", + "8506": "ObjSet", + "8507": "ObjLogDev", + "8508": "ObjLogObj", + "8509": "ObjTags", + "8510": "ObjPhyDev", + "8511": "ObjPhyObj", + "8512": "ObjLexe", + "8513": "ObjLexn", + "8514": "ObjLexa", + "8515": "ObjLs", + "8530": "ObjCnt", + "8531": "ObjAvMs", + "8532": "ObjMs", + "8533": "ObjStt", + "8534": "ObjPara", + "8535": "ObjStrgAvMs", + "8536": "ObjStrgLst", + "8537": "ObjStrgPara", + "8538": "ObjStrgMs", + "8539": "ObjAdpt", + "8540": "ObjLogTotWh", + "8541": "ObjLogEvt", + "8542": "ObjLogDyWh", + "8543": "ObjEvtCnt", + "8544": "ObjEvt", + "8545": "ObjTagLst", + "8546": "ObjTm", + "8547": "ObjPlntCtlPara", + "8548": "ObjVolCtlAvMs", + "8549": "ObjVolCtlMs", + "8550": "ObjVolCtlPara", + "8551": "ObjPlntCtl", + "8552": "ObjVolCtlStt", + "8553": "ObjLogTotWhOut", + "8554": "ObjLogTotWhIn", + "8555": "ObjLogDyWhOut", + "8556": "ObjLogDyWhIn", + "8557": "ObjExPlntCtl", + "8558": "ObjLogVPhA", + "8559": "ObjLogVPhB", + "8560": "ObjLogVPhC", + "8561": "ObjLogDcVol", + "8562": "ObjLogHz", + "8563": "ObjLogPcbTmp", + "8564": "ObjLogBatVolAv", + "8565": "ObjLogBatVolMax", + "8566": "ObjLogBatVolMin", + "8567": "ObjLogBatAmp", + "8568": "ObjLogBatTmpAv", + "8569": "ObjLogBatTmpMax", + "8570": "ObjLogBatTmpMin", + "8571": "ObjLogBatCapac", + "8572": "ObjLogPvWh", + "8573": "ObjLogTotCsmp", + "8574": "ObjLogSelfCsmp", + "8575": "ObjLogDirCsmp", + "8576": "ObjLogBatChrg", + "8577": "ObjLogBatDsch", + "8578": "ObjLogPvBat", + "8579": "ObjLogSelfSup", + "8580": "ObjLogGriW", + "8581": "MltLogPhsV", + "8582": "MltLogPhsA", + "8583": "ObjLogDcW", + "8584": "MltLogDcVol", + "8585": "MltLogDcAmp", + "8586": "ObjLogLeakRis", + "8587": "MltLogFltA", + "8588": "ObjLogHealth", + "8589": "ObjLogTotCsmpDy", + "8590": "ObjLogWhIn", + "8591": "ObjLogDyIn", + "8592": "ObjLogBatCha", + "8593": "GenLog1Min", + "8594": "GenLog5Min", + "8595": "GenLogDy", + "8596": "ObjLogBatChrgDy", + "8597": "ObjLogBatDschDy", + "8598": "ObjLogBatOpStt", + "8599": "ObjLogBatActlCapac", + "8600": "ObjLogBatChaStt", + "8601": "ObjLogBatActChrg", + "8602": "ObjLogBatActDsch", + "8603": "ObjLogAvailBatChrg", + "8604": "ObjLogAvailBatDsch", + "8605": "Tesla", + "8606": "Sony", + "8607": "Daily-Powerwall-6.4kWh", + "8608": "RESU-8.0", + "8609": "RESU-9.8", + "8610": "RESU-10.0", + "8611": "ObjLogEnvTmp", + "8612": "ObjLogEnaStt", + "8613": "ObjLogThmPwrDmd", + "8614": "ObjLogDCBusVtg", + "8615": "ObjLogDCBusW", + "8616": "ObjLogLDSupVtg", + "8617": "ObjLogThmMgtSupVtg", + "8618": "ObjLogCmpBMSOpMode", + "8619": "TypOth", + "8620": "BYD", + "8621": "B-BOX-HV", + "8622": "Kirchner", + "8623": "RESU-7.0", + "8624": "GenLogFlRec", + "8625": "ObjLogDcW_B", + "8626": "MltLogDcVol_B", + "8627": "MltLogDcAmp_B", + "9000": "SWR 700", + "9001": "SWR 850", + "9002": "SWR 850E", + "9003": "SWR 1100", + "9004": "SWR 1100E", + "9005": "SWR 1100LV", + "9006": "SWR 1500", + "9007": "SWR 1600", + "9008": "SWR 1700E", + "9009": "SWR 1800U", + "9010": "SWR 2000", + "9011": "SWR 2400", + "9012": "SWR 2500", + "9013": "SWR 2500U", + "9014": "SWR 3000", + "9015": "SB 700", + "9016": "SB 700U", + "9017": "SB 1100", + "9018": "SB 1100U", + "9019": "SB 1100LV", + "9020": "SB 1700", + "9021": "SB 1900TLJ", + "9022": "SB 2100TL", + "9023": "SB 2500", + "9024": "SB 2800", + "9025": "SB 2800i", + "9026": "SB 3000", + "9027": "SB 3000US", + "9028": "SB 3300", + "9029": "SB 3300U", + "9030": "SB 3300TL", + "9031": "SB 3300TL HC", + "9032": "SB 3800", + "9033": "SB 3800U", + "9034": "SB 4000US", + "9035": "SB 4200TL", + "9036": "SB 4200TL HC", + "9037": "SB 5000TL", + "9038": "SB 5000TLW", + "9039": "SB 5000TL HC", + "9040": "Convert 2700", + "9041": "SMC 4600A", + "9042": "SMC 5000", + "9043": "SMC 5000A", + "9044": "SB 5000US", + "9045": "SMC 6000", + "9046": "SMC 6000A", + "9047": "SB 6000US", + "9048": "SMC 6000UL", + "9049": "SMC 6000TL", + "9050": "SMC 6500A", + "9051": "SMC 7000A", + "9052": "SMC 7000HV", + "9053": "SB 7000US", + "9054": "SMC 7000TL", + "9055": "SMC 8000TL", + "9056": "SMC 9000TL", + "9057": "SMC 10000TL", + "9058": "SMC 11000TL", + "9059": "SB 3000 K", + "9060": "InvUnk", + "9061": "Sensorbox", + "9062": "SMC 11000TLRP", + "9063": "SMC 10000TLRP", + "9064": "SMC 9000TLRP", + "9065": "SMC 7000HVRP", + "9066": "SB 1200", + "9067": "STP 10000TL-10", + "9068": "STP 12000TL-10", + "9069": "STP 15000TL-10", + "9070": "STP 17000TL-10", + "9071": "SB 2000HF-30", + "9072": "SB 2500HF-30", + "9073": "SB 3000HF-30", + "9074": "SB 3000TL-21", + "9075": "SB 4000TL-21", + "9076": "SB 5000TL-21", + "9077": "SB 2000HFUS-30", + "9078": "SB 2500HFUS-30", + "9079": "SB 3000HFUS-30", + "9080": "SB 8000TLUS", + "9081": "SB 9000TLUS", + "9082": "SB 10000TLUS", + "9083": "SB 8000US", + "9084": "WB 3600TL-20", + "9085": "WB 5000TL-20", + "9086": "SB 3800US-10", + "9087": "Sunny Beam BT11", + "9088": "SC 500CP", + "9089": "SC 630CP", + "9090": "SC 800CP", + "9091": "SC 250U", + "9092": "SC 500U", + "9093": "SC 500HEUS", + "9094": "SC 760CP", + "9095": "SC 720CP", + "9096": "SC 910CP", + "9097": "SMU", + "9098": "STP 5000TL-20", + "9099": "STP 6000TL-20", + "9100": "STP 7000TL-20", + "9101": "STP 8000TL-10", + "9102": "STP 9000TL-20", + "9103": "STP 8000TL-20", + "9104": "SB 3000TL-JP-21", + "9105": "SB 3500TL-JP-21", + "9106": "SB 4000TL-JP-21", + "9107": "SB 4500TL-JP-21", + "9108": "SCSMC", + "9109": "SB 1600TL-10", + "9110": "SSMUS", + "9111": "RemSoc", + "9112": "WB 2000HF-30", + "9113": "WB 2500HF-30", + "9114": "WB 3000HF-30", + "9115": "WB 2000HFUS-30", + "9116": "WB 2500HFUS-30", + "9117": "WB 3000HFUS-30", + "9118": "VIEW-10", + "9119": "Sunny HomeManager", + "9120": "SMID", + "9121": "SC 800HE-20", + "9122": "SC 630HE-20", + "9123": "SC 500HE-20", + "9124": "SC 720HE-20", + "9125": "SC 760HE-20", + "9126": "SMC 6000A-11", + "9127": "SMC 5000A-11", + "9128": "SMC 4600A-11", + "9129": "SB 3800-11", + "9130": "SB 3300-11", + "9131": "STP 20000TL-10", + "9132": "CT Meter", + "9133": "SB 2000HFUS-32", + "9134": "SB 2500HFUS-32", + "9135": "SB 3000HFUS-32", + "9136": "WB 2000HFUS-32", + "9137": "WB 2500HFUS-32", + "9138": "WB 3000HFUS-32", + "9139": "STP 20000TLHE-10", + "9140": "STP 15000TLHE-10", + "9141": "SB 3000US-12", + "9142": "SB 3800-US-12", + "9143": "SB 4000US-12", + "9144": "SB 5000US-12", + "9145": "SB 6000US-12", + "9146": "SB 7000US-12", + "9147": "SB 8000US-12", + "9148": "SB 8000TLUS-12", + "9149": "SB 9000TLUS-12", + "9150": "SB 10000TLUS-12", + "9151": "SB 11000TLUS-12", + "9152": "SB 7000TLUS-12", + "9153": "SB 6000TLUS-12", + "9154": "SB 1300TL-10", + "9155": "SBU 2200", + "9156": "SBU 5000", + "9157": "SI 2012", + "9158": "SI 2224", + "9159": "SI 5048", + "9160": "SB 3600TL-20", + "9161": "SB 3000TL-JP-22", + "9162": "SB 3500TL-JP-22", + "9163": "SB 4000TL-JP-22", + "9164": "SB 4500TL-JP-22", + "9165": "SB 3600TL-21", + "9166": "LUFFT", + "9167": "Cluster Controller", + "9168": "SC630HE-11", + "9169": "SC500HE-11", + "9170": "SC400HE-11", + "9171": "WB 3000TL-21", + "9172": "WB 3600TL-21", + "9173": "WB 4000TL-21", + "9174": "WB 5000TL-21", + "9175": "SC 250", + "9176": "SMA Meteo Station", + "9177": "SB 240-10", + "9178": "SB 240-US-10", + "9179": "Multigate-10", + "9180": "Multigate-US-10", + "9181": "STP 20000TLEE-10", + "9182": "STP 15000TLEE-10", + "9183": "SB 2000TLST-21", + "9184": "SB 2500TLST-21", + "9185": "SB 3000TLST-21", + "9186": "WB 2000TLST-21", + "9187": "WB 2500TLST-21", + "9188": "WB 3000TLST-21", + "9189": "WTP 5000TL-20", + "9190": "WTP 6000TL-20", + "9191": "WTP 7000TL-20", + "9192": "WTP 8000TL-20", + "9193": "WTP 9000TL-20", + "9194": "STP 12kTL-US-10", + "9195": "STP 15kTL-US-10", + "9196": "STP 20kTL-US-10", + "9197": "STP 24kTL-US-10", + "9198": "SB 3000TL-US-22", + "9199": "SB 3800TL-US-22", + "9200": "SB 4000TL-US-22", + "9201": "SB 5000TL-US-22", + "9202": "WB 3000TL-US-22", + "9203": "WB 3800TL-US-22", + "9204": "WB 4000TL-US-22", + "9205": "WB 5000TL-US-22", + "9206": "SC 500CP-JP", + "9207": "SC 850CP", + "9208": "SC 900CP", + "9209": "SC 850 CP-US", + "9210": "SC 900 CP-US", + "9211": "SC 619CP", + "9212": "SMA Meteo Station Pro", + "9213": "SC 800 CP-US", + "9214": "SC 630 CP-US", + "9215": "SC 500 CP-US", + "9216": "SC 720 CP-US", + "9217": "SC 750 CP-US", + "9218": "SB 240 Dev", + "9219": "SB 240-US BTF", + "9220": "Grid Gate-20", + "9221": "SC 500 CP-US/600V", + "9222": "STP 10kTL-JP-10", + "9223": "SI 6.0H", + "9224": "SI 8.0H", + "9225": "SB 5000SE-10", + "9226": "SB 3600SE-10", + "9227": "SC 800CP-JP", + "9228": "SC 630CP-JP", + "9229": "WebBox-30", + "9230": "Power Reducer Box", + "9231": "S0 Box", + "9232": "SBC", + "9233": "SBC+", + "9234": "SBCL", + "9235": "SC 100 outdoor", + "9236": "SC 1000MV", + "9237": "SC 100LV", + "9238": "SC 1120MV", + "9239": "SC 125LV", + "9240": "SC 150", + "9241": "SC 200", + "9242": "SC 200HE", + "9243": "SC 250HE", + "9244": "SC 350", + "9245": "SC 350HE", + "9246": "SC 400HE-11", + "9247": "SC 400MV", + "9248": "SC 500HE", + "9249": "SC 500MV", + "9250": "SC 560HE", + "9251": "SC 630HE-11", + "9252": "SC 700MV", + "9253": "SCBFS", + "9254": "SI 3324", + "9255": "SI 4.0M", + "9256": "SI 4248", + "9257": "SI 4248U", + "9258": "SI 4500", + "9259": "SI 4548U", + "9260": "SI 5.4M", + "9261": "SI 5048U", + "9262": "SI 6048U", + "9263": "SMC 7000HV-11", + "9264": "Solar Tracker", + "9265": "Sunny Beam", + "9266": "SWR 700/150", + "9267": "SWR 700/200", + "9268": "SWR 700/250", + "9269": "WebBox SC", + "9270": "WebBox-10", + "9271": "STP 20kTL-JP-11", + "9272": "STP 10kTL-JP-11", + "9273": "SB 6000TL-21", + "9274": "SB 6000TL-US-22", + "9275": "SB 7000TL-US-22", + "9276": "SB 7600TL-US-22", + "9277": "SB 8000TL-US-22", + "9278": "SI 3.0M", + "9279": "SI 4.4M", + "9280": "NonSMACsmp", + "9281": "STP 10000TL-20", + "9282": "STP 11000TL-20", + "9283": "STP 12000TL-20", + "9284": "STP 20000TL-30", + "9285": "STP 25000TL-30", + "9286": "SCS-500", + "9287": "SCS-630", + "9288": "SCS-720", + "9289": "SCS-760", + "9290": "SCS-800", + "9291": "SCS-850", + "9292": "SCS-900", + "9293": "SB 7700TL-US-22", + "9294": "SB20.0-3SP-40", + "9295": "SB30.0-3SP-40", + "9296": "SC 1000 CP", + "9297": "Zeversolar 1000", + "9298": "SC 2200-10", + "9299": "SC 2200-US-10", + "9300": "SC 2475-EV-10", + "9301": "SB1.5-1VL-40", + "9302": "SB2.5-1VL-40", + "9303": "SB2.0-1VL-40", + "9304": "SB5.0-1SP-US-40", + "9305": "SB6.0-1SP-US-40", + "9306": "SB7.7-1SP-US-40", + "9307": "Energy Meter", + "9308": "ZoneMonitoring", + "9309": "STP 27kTL-US-10", + "9310": "STP 30kTL-US-10", + "9311": "STP 25kTL-JP-30", + "9312": "SSM30", + "9313": "SB50.0-3SP-40", + "9314": "PlugwiseCircle", + "9315": "PlugwiseSting", + "9316": "SCS-1000", + "9317": "SB 5400TL-JP-22", + "9318": "SCS-1000-KRBS", + "9319": "SB3.0-1AV-40", + "9320": "SB3.6-1AV-40", + "9321": "SB4.0-1AV-40", + "9322": "SB5.0-1AV-40", + "9323": "MltBox12-2", + "9324": "SBS1.5-1VL-10", + "9325": "SBS2.0-1VL-10", + "9326": "SBS2.5-1VL-10", + "9327": "SMA Energy Meter", + "9328": "SB3.0-1SP-US-40", + "9329": "SB3.8-1SP-US-40", + "9330": "SB7.0-1SP-US-40", + "9331": "SI 3.0M-12", + "9332": "SI 4.4M-12", + "9333": "SI 6.0H-12", + "9334": "SI 8.0H-12", + "9335": "SMA Com Gateway", + "9336": "STP 15000TL-30", + "9337": "STP 17000TL-30", + "9338": "STP50-40", + "9339": "STP50-US-40", + "9340": "STP50-JP-40", + "9341": "Edimax SP-2101W", + "9342": "Edimax SP-2110W", + "9343": "Sunny HomeManager 2.0", + "9344": "STP4.0-3AV-40", + "9345": "STP5.0-3AV-40", + "9346": "STP6.0-3AV-40", + "9347": "STP8.0-3AV-40", + "9348": "STP10.0-3AV-40", + "9349": "STP4.0-3SP-40", + "9350": "STP5.0-3SP-40", + "9351": "STP6.0-3SP-40", + "9352": "STP8.0-3SP-40", + "9353": "STP10.0-3SP-40", + "9354": "STP 24.5kTL-JP-30", + "9355": "STP 20kTL-JP-30", + "9356": "SBS3.7-10", + "9357": "gelöscht", + "9358": "SBS5.0-10", + "9359": "SBS6.0-10", + "9360": "SBS3.8-US-10", + "9361": "SBS5.0-US-10", + "9362": "SBS6.0-US-10", + "9363": "SBS4.0-JP-10", + "9364": "SBS5.0-JP-10", + "9365": "Edimax SP-2101W V2", + "9366": "STP3.0-3AV-40", + "9367": "STP3.0-3SP-40", + "9368": "TIGO_TS4_M", + "9369": "TIGO_TS4_S", + "9370": "TIGO_TS4_O", + "9371": "TIGO_TS4_L", + "9372": "TIGO_ES75", + "9373": "TIGO_2ES", + "9374": "TIGO_JBOX", + "9375": "Wattnote Modbus RTU", + "9376": "SunSpec Modbus RTU", + "9377": "SMA-TGIB", + "9378": "SMA-CelMdm", + "9379": "SC 1850-US-10", + "9380": "SC 2500-US-EV-10", + "9381": "SC 2940-10", + "9382": "SC 2940-US-10", + "9383": "SCS 2200-10", + "9384": "SCS 2500-EV-10", + "9385": "SCS 2500-EV-US-10", + "9386": "SCS 2200-US-10", + "9387": "SC 2750-EV-10", + "9388": "SC 2750-EV-US-10", + "9389": "SCS 2750-EV-10", + "9390": "SCS 2750-EV-US-10", + "9391": "SCS 2475-10", + "9392": "SCS 2475-US-10", + "9393": "SB/STP Demo", + "9394": "TIGO_GW", + "9395": "TIGO_GW2", + "9396": "SMA DATA MANAGER M", + "9397": "EDMM-10", + "9398": "EDMM-US-10", + "9399": "EDMS-10", + "9400": "EDMS-US-10", + "9401": "SB3.0-1AV-41", + "9402": "SB3.6-1AV-41", + "9403": "SB4.0-1AV-41", + "9404": "SB5.0-1AV-41", + "9405": "SB6.0-1AV-41", + "9406": "SHP 100k-20", + "9407": "SHP 150k-20", + "9408": "SHP 125k-US-20", + "9409": "SHP 150k-US-20", + "9410": "SHP 100k-JP-20", + "9411": "SHP 150k-JP-20", + "9412": "SC 2475-10", + "9413": "SC 3000-EV-10", + "9414": "SCS 3000-EV-10", + "9415": "SC 1760-US-10", + "9416": "SC 2000-US-10", + "9417": "SC 2500-EV-10", + "9418": "SCS 1900-10", + "9419": "SCS 1900-US-10", + "9420": "SCS 2900-10", + "9421": "SCS 2900-US-10", + "9422": "SB3.0-1AV-US_42", + "9423": "SB3.8-1AV-US_42", + "9424": "SB4.8-1AV-US_42", + "9425": "SB5.8-1AV-US_42", + "9426": "SB4.4-1AV-JP-42", + "9427": "SB5.5-1AV-JP-42", + "9428": "STP62-US-41", + "9429": "STP50-US-41", + "9430": "STP33-US-41", + "9431": "STP50-41", + "9432": "STP50-JP-41", + "9433": "SC2000-EV-US-10", + "9434": "SMA DATA MANAGER L", + "9435": "EDML-10", + "9436": "EDML-US-10", + "9437": "SMA Revenue Grade Meter", + "9438": "SMASpot", + "9439": "SB3.0-1SP-US-41", + "9440": "SB3.8-1SP-US-41", + "9441": "SB5.0-1SP-US-41", + "9442": "SB6.0-1SP-US-41", + "9443": "SB7.0-1SP-US-41", + "9444": "SB7.7-1SP-US-41", + "9445": "SB3.0-1TP-US-41", + "9446": "SB3.8-1TP-US-41", + "9447": "SB5.0-1TP-US-41", + "9448": "SB6.0-1TP-US-41", + "9449": "SB7.0-1TP-US-41", + "9450": "SB7.7-1TP-US-41", + "9451": "SLQ15.0-3AV-41", + "9452": "SLQ18.0-3AV-41", + "9453": "SLQ20.0-3AV-41", + "9454": "SLQ23.0-3AV-41", + "9455": "SB5.5-LV-JP-41", + "9456": "STPS60-10", + "9457": "SC 4000-UP", + "9458": "SC 4000-UP-US", + "9459": "SCS 4000-UP", + "9460": "SCS 4000-UP-US", + "9461": "SC 4200-UP", + "9462": "SC 4200-UP-US", + "9463": "SCS 4200-UP", + "9464": "SCS 4200-UP-US", + "9465": "SC 4400-UP", + "9466": "SC 4400-UP-US", + "9467": "SCS 4400-UP", + "9468": "SCS 4400-UP-US", + "9469": "SC 4600-UP", + "9470": "SC 4600-UP-US", + "9471": "SCS 4600-UP", + "9472": "SCS 4600-UP-US", + "9499": "TmZnTmSvr", + "9500": "TmZn+0430Kabul", + "9501": "TmZn-0900Alaska", + "9502": "TmZn+0300Kuwait", + "9503": "TmZn+0400AbuDhabi", + "9504": "TmZn+0300Bagdad", + "9505": "TmZn-0400Atlantik", + "9506": "TmZn+0930Darwin", + "9507": "TmZn+1000Canberra", + "9508": "TmZn+0400Baku", + "9509": "TmZn-0100Azoren", + "9510": "TmZn-0600Saskatchewan", + "9511": "TmZn-0100Kapverden", + "9512": "TmZn+0400Eriwan", + "9513": "TmZn+0930Adelaide", + "9515": "TmZn+0600Astana", + "9516": "TmZn-0400Manaus", + "9517": "TmZn+0100Belgrad", + "9518": "TmZn+0100Sarajevo", + "9519": "TmZn+1100Magadan", + "9520": "TmZn-0600Zentralamerika", + "9521": "TmZn-0600GuadalajaraAlt", + "9522": "TmZn+0800Peking", + "9523": "TmZn-1200Westen", + "9524": "TmZn+0300Nairobi", + "9525": "TmZn+1000Brisbane", + "9526": "TmZn+0200Minsk", + "9527": "TmZn-0300Brasilia", + "9528": "TmZn-0500NewYork", + "9529": "TmZn+0200Kairo", + "9530": "TmZn+0500Jekaterinburg", + "9531": "TmZn+1200Fidschi", + "9532": "TmZn+0200Helsinki", + "9533": "TmZn+0400Tiflis", + "9534": "TmZn+0000Dublin", + "9535": "TmZn-0300Groenland", + "9536": "TmZn+0000Monrovia", + "9537": "TmZn+0200Athen", + "9538": "TmZn-1000Hawaii", + "9539": "TmZn+0530Chennai", + "9540": "TmZn+0330Teheran", + "9541": "TmZn+0200Jerusalem", + "9542": "TmZn+0200Amman", + "9543": "TmZn+0900Seoul", + "9544": "TmZn+0800KualaLumpur", + "9545": "TmZn-0200Mittelatlantik", + "9546": "TmZn+0200Beirut", + "9547": "TmZn-0700Denver", + "9548": "TmZn-0700ChihuahuaAlt", + "9549": "TmZn+0630Yangon", + "9550": "TmZn+0600Nowosibirsk", + "9551": "TmZn+0200Windhuk", + "9552": "TmZn+0545Katmandu", + "9553": "TmZn+1200Auckland", + "9554": "TmZn-0330Neufundland", + "9555": "TmZn+0800Irkutsk", + "9556": "TmZn+0700Krasnojarsk", + "9557": "TmZn-0400Santiago", + "9558": "TmZn-0800Pacific", + "9559": "TmZn-0800Tijuana", + "9560": "TmZn+0100Bruessel", + "9561": "TmZn+0300Moskau", + "9562": "TmZn-0300BuenosAires", + "9563": "TmZn-0500Bogota", + "9564": "TmZn-0430Caracas", + "9565": "TmZn-1100Midway", + "9566": "TmZn+0700Bangkok", + "9567": "TmZn+0200Harare", + "9568": "TmZn+0530SriJayawardenepura", + "9569": "TmZn+0800Taipeh", + "9570": "TmZn+1000Hobart", + "9571": "TmZn+0900Osaka", + "9572": "TmZn+1300Nukualofa", + "9573": "TmZn-0500Indiana", + "9574": "TmZn-0700Arizona", + "9575": "TmZn+1000Wladiwostok", + "9576": "TmZn+0800Perth", + "9577": "TmZn+0100WestZentralafrika", + "9578": "TmZn+0100Amsterdam", + "9579": "TmZn+0500Islamabad", + "9580": "TmZn+1000Guam", + "9581": "TmZn+0900Jakutsk", + "9582": "TmZn+0400Kaukasus", + "9583": "TmZn-0600Chicago", + "9584": "TmZn-0600GuadalajaraNeu", + "9585": "TmZn+0000Casablanca", + "9586": "TmZn+0400PortLouis", + "9587": "TmZn-0700ChihuahuaNeu", + "9588": "TmZn-0300Montevideo", + "9589": "TmZn+0500Taschkent", + "9591": "TmZn-0400LaPaz", + "9592": "TmZn+0800UlanBator", + "9593": "TmZn-0300Cayenne", + "9594": "TmZn-0400Asuncion", + "9595": "TmZn+1200Petropawlowsk", + "9596": "TmZn+0300Minsk", + "9597": "TmZn+0700Nowosibirsk", + "9598": "TmZn-0400Caracas", + "10001": "Metering.TotWhOut", + "10002": "Metering.TotW", + "10003": "Operation.Apr.MppSrchStt", + "10004": "Operation.EstMaxWdc", + "10005": "Metering.TotWhIn", + "10006": "Operation.EstMaxWac", + "10007": "PCC.WMaxAsym", + "10008": "Coolsys.FanCab3.AbsOpTms", + "10009": "Operation.EvtCntUsr", + "10010": "Operation.GriSwCnt", + "10011": "Metering.TotOpTms", + "10012": "Metering.TotFeedTms", + "10013": "Operation.EvtCntIstl", + "10014": "Operation.EvtCntSvc", + "10015": "Metering.AbsWhIn", + "10016": "Metering.AbsWhOut", + "10017": "Metering.AbsOpTms", + "10018": "Metering.AbsFeedTms", + "10019": "Operation.AbsGriSwCnt", + "10020": "Coolsys.FanCab1.AbsOpTms", + "10021": "Coolsys.FanCab2.AbsOpTms", + "10022": "Coolsys.FanHs.AbsOpTms", + "10023": "Coolsys.FanTrf1.AbsOpTms", + "10024": "Coolsys.FanTrf2.AbsOpTms", + "10025": "Operation.DatStoCnt", + "10026": "Operation.EvtCntDvlp", + "10027": "Operation.Evt.EvtNoShrt", + "10028": "Operation.RmgTms", + "10029": "PCC.WMaxAsymMod", + "10030": "GridMs.TotW", + "10031": "GridMs.W.phsA", + "10032": "GridMs.W.phsB", + "10033": "GridMs.W.phsC", + "10034": "Itf.MsCyc", + "10035": "GridMs.PhV.phsA", + "10036": "GridMs.PhV.phsB", + "10037": "GridMs.PhV.phsC", + "10038": "GridMs.TotA", + "10039": "GridMs.A.phsA", + "10040": "GridMs.A.phsB", + "10041": "GridMs.A.phsC", + "10042": "GridMs.Hz", + "10043": "GridMs.TotVAr", + "10044": "GridMs.VAr.phsA", + "10045": "GridMs.VAr.phsB", + "10046": "GridMs.VAr.phsC", + "10047": "GridMs.TotVA", + "10048": "GridMs.VA.phsA", + "10049": "GridMs.VA.phsB", + "10050": "GridMs.VA.phsC", + "10051": "Isolation.FltANom", + "10052": "Isolation.LeakRisNom", + "10053": "GridMs.VolNom", + "10054": "GridMs.PhVNom.phsA", + "10055": "GridMs.PhVNom.phsB", + "10056": "GridMs.PhVNom.phsC", + "10057": "GridMs.HzNom", + "10058": "GridMs.TotWNom", + "10059": "GridMs.TotWNomSet", + "10060": "GridMs.TotWNomLimSet", + "10061": "GridMs.TotVArNom", + "10062": "GridMs.TotVArNomSet", + "10063": "GridMs.TotANom", + "10064": "GridMs.ANom.phsA", + "10065": "GridMs.ANom.phsB", + "10066": "GridMs.ANom.phsC", + "10067": "Coolsys.TmpNom", + "10068": "Env.TmpValMax", + "10069": "Env.TmpVal", + "10070": "Env.TotInsol", + "10071": "Env.DifInsol", + "10072": "Env.DirInsol", + "10073": "Env.ExInsol", + "10074": "Env.HorWSpd", + "10075": "Env.HorWDir", + "10076": "Env.Hmdt", + "10077": "Env.Pres", + "10078": "Isolation.FltA", + "10079": "Isolation.LeakRis", + "10080": "Nameplate.SerNum", + "10081": "Operation.HealthStt.Ok", + "10082": "Operation.HealthStt.Wrn", + "10083": "Operation.HealthStt.Alm", + "10084": "Operation.HealthStt.Off", + "10085": "Operation.PrioStt.PrioA", + "10086": "Operation.PrioStt.PrioC", + "10087": "Coolsys.Aux1.TmpVal", + "10088": "Coolsys.Aux1.TmpValMax", + "10089": "Coolsys.Aux2.TmpVal", + "10090": "Coolsys.Aux2.TmpValMax", + "10091": "Coolsys.Cab.TmpVal", + "10092": "Coolsys.Cab.TmpValMax", + "10093": "Coolsys.Hs1.TmpVal", + "10094": "Coolsys.Hs1.TmpValMax", + "10095": "Coolsys.Hs2.TmpVal", + "10096": "Coolsys.Hs2.TmpValMax", + "10097": "Coolsys.Tr.TmpVal", + "10098": "Coolsys.Tr.TmpValMax", + "10099": "Coolsys.Cab.TmpValIstl", + "10100": "Coolsys.Cab.TmpValMaxIstl", + "10101": "Mdul.TmpVal", + "10102": "Mdul.TmpValMax", + "10103": "Coolsys.Inverter.TmpValMax", + "10104": "Coolsys.Inverter.TmpVal", + "10105": "Coolsys.Pcb.TmpValMax", + "10106": "Coolsys.Pcb.TmpVal", + "10107": "Acs.InstCode", + "10108": "Inverter.DclVol", + "10109": "Operation.Evt.EvtNo", + "10110": "Operation.Health", + "10111": "Operation.Evt.Prio", + "10112": "Operation.Evt.Msg", + "10113": "Operation.Evt.Dsc", + "10114": "Operation.GriSwStt", + "10115": "Operation.DrtStt", + "10116": "Operation.CtrlType", + "10117": "Acs.InstCodeSvc", + "10118": "Operation.CmpBMS.Typ", + "10119": "Operation.Ackn", + "10120": "Operation.RemEna", + "10121": "Inverter.WLim", + "10122": "Card.Stt", + "10123": "Operation.OpMod", + "10124": "Coolsys.FanTst", + "10125": "Inverter.StopTms", + "10126": "GridGuard.Cntry", + "10127": "Nameplate.Location", + "10128": "Nameplate.MainModel", + "10129": "Nameplate.Model", + "10130": "Nameplate.Vendor", + "10131": "GnCtl.GnMod", + "10132": "GnCtl.Reg.KI", + "10133": "GnCtl.MinW", + "10134": "Metering.TotOpTmhSet", + "10135": "Metering.TotFeedTmhSet", + "10136": "Coolsys.FanCab1.TotTmhSet", + "10137": "Coolsys.FanCab2.TotTmhSet", + "10138": "Coolsys.FanHs.TotTmhSet", + "10139": "Coolsys.FanTrf1.TotTmhSet", + "10140": "Coolsys.FanTrf2.TotTmhSet", + "10141": "Operation.ValRsIstl", + "10142": "Coolsys.FanCab3.TotTmhSet", + "10143": "Operation.LodFnc", + "10144": "Card.Func", + "10145": "Coolsys.Aux1.TmpLim", + "10146": "Coolsys.Aux2.TmpLim", + "10147": "Coolsys.Cab.TmpLim", + "10148": "Coolsys.Cab.Tmp", + "10149": "Coolsys.Hs1.TmpLim", + "10150": "Coolsys.Hs1.Tmp", + "10151": "Coolsys.Hs2.TmpLim", + "10152": "Coolsys.Hs2.Tmp", + "10153": "Coolsys.Tr.TmpLim", + "10154": "Coolsys.Tr.Tmp", + "10155": "Coolsys.Pcb.TmpLim", + "10156": "Coolsys.Inverter.TmpLim", + "10157": "Eth.TrtDevIp", + "10158": "Eth.MsgCyc", + "10159": "Inverter.WMax", + "10160": "Inverter.WMaxA", + "10161": "Inverter.WMaxB", + "10162": "Inverter.WMaxC", + "10163": "Inverter.WMod", + "10164": "Inverter.OutPhs", + "10165": "Inverter.OffGri.HzdStr", + "10166": "Inverter.OffGri.HzdLim", + "10167": "GridGuard.Cntry.AMaxOfs", + "10168": "GridGuard.Cntry.AMaxOfsTmms", + "10169": "GridGuard.Cntry.GriFltTms", + "10170": "GridGuard.Cntry.GriFltReConTms", + "10171": "GridGuard.Cntry.GriFltMonTms", + "10172": "GridGuard.Cntry.GriStrTms", + "10173": "GridGuard.Cntry.Aid.AngFact", + "10174": "GridGuard.Cntry.FrqCtl.Max", + "10175": "GridGuard.Cntry.FrqCtl.MaxTmms", + "10176": "GridGuard.Cntry.FrqCtl.hhLim", + "10177": "GridGuard.Cntry.FrqCtl.hhLimTmms", + "10178": "GridGuard.Cntry.FrqCtl.hLim", + "10179": "GridGuard.Cntry.FrqCtl.hLimTmms", + "10180": "GridGuard.Cntry.FrqCtl.lLim", + "10181": "GridGuard.Cntry.FrqCtl.lLimTmms", + "10182": "GridGuard.Cntry.FrqCtl.llLim", + "10183": "GridGuard.Cntry.FrqCtl.llLimTmms", + "10184": "GridGuard.Cntry.FrqCtl.Min", + "10185": "GridGuard.Cntry.FrqCtl.MinTmms", + "10186": "GridGuard.Cntry.VolCtl.Max", + "10187": "GridGuard.Cntry.VolCtl.MaxTmms", + "10188": "GridGuard.Cntry.VolCtl.hhLim", + "10189": "GridGuard.Cntry.VolCtl.hhLimTmms", + "10190": "GridGuard.Cntry.VolCtl.hLim", + "10191": "GridGuard.Cntry.VolCtl.hLimTmms", + "10192": "GridGuard.Cntry.VolCtl.lLim", + "10193": "GridGuard.Cntry.VolCtl.lLimTmms", + "10194": "GridGuard.Cntry.VolCtl.llLim", + "10195": "GridGuard.Cntry.VolCtl.llLimTmms", + "10196": "GridGuard.Cntry.VolCtl.Min", + "10197": "GridGuard.Cntry.VolCtl.MinTmms", + "10198": "GridGuard.Cntry.VolCtl.Rpro", + "10199": "PubGri.ACtl.Max", + "10200": "Bt.BtPwr", + "10201": "GridGuard.CntrySet", + "10202": "GridGuard.Cntry.PEOpnMon", + "10203": "GridGuard.Cntry.LeakRisMin", + "10204": "Operation.ProdTst", + "10205": "GridGuard.CntryBas", + "10207": "Card.DatLog", + "10209": "DcMs.Vol", + "10210": "DcMs.VolA", + "10211": "DcMs.VolB", + "10212": "DcMs.VolC", + "10213": "DcMs.Amp", + "10214": "DcMs.AmpA", + "10215": "DcMs.AmpB", + "10216": "DcMs.AmpC", + "10217": "DcMs.Watt", + "10218": "DcMs.WattA", + "10219": "DcMs.WattB", + "10220": "DcMs.WattC", + "10221": "DcMs.AmpNom", + "10222": "DcMs.VolNom", + "10223": "DcMs.WattNom", + "10224": "DcMs.VolMax", + "10225": "DcMs.VolMaxA", + "10226": "DcMs.VolMaxB", + "10227": "DcMs.VolMaxC", + "10228": "DcMs.AmpA1", + "10229": "DcMs.AmpA2", + "10230": "DcMs.AmpA3", + "10231": "DcMs.AmpA4", + "10232": "DcMs.AmpA5", + "10233": "DcMs.AmpB1", + "10241": "DcCfg.StrTms", + "10242": "DcCfg.StrVol", + "10243": "DcCfg.VolLim", + "10244": "DcCfg.VolLimA", + "10245": "DcCfg.VolLimB", + "10246": "DcCfg.VolLimC", + "10247": "DcCfg.ConstVolCtl.Vset", + "10248": "DcCfg.ConstVolCtl.VsetA", + "10249": "DcCfg.ConstVolCtl.VsetB", + "10250": "DcCfg.ConstVolCtl.VsetC", + "10257": "GridGuard.Cntry.VRtg", + "10258": "Nameplate.ComRev", + "10259": "Metering.TotkWhOutSet", + "10260": "Metering.TotkWhInSet", + "10261": "Env.TmpValMaxSet", + "10263": "Coolsys.Cab.TmpValMaxSet", + "10264": "Coolsys.Hs1.TmpValMaxSet", + "10265": "Coolsys.Hs2.TmpValMaxSet", + "10266": "Coolsys.Tr.TmpValMaxSet", + "10267": "Coolsys.Inverter.TmpValMaxSet", + "10268": "Coolsys.Pcb.TmpValMaxSet", + "10269": "Coolsys.Aux1.TmpValMaxSet", + "10270": "Coolsys.Aux2.TmpValMaxSet", + "10272": "Metering.DyWhOut", + "10273": "Operation.GriSwCntSet", + "10274": "Inverter.WMaxTm", + "10275": "Operation.ValRsSvc", + "10276": "Mdul.TmpValMaxSet", + "10277": "Operation.ValRsUsr", + "10278": "DtTm.Tm", + "10279": "Nameplate.AvalGrpUsr", + "10280": "Nameplate.AvalGrpIstl", + "10281": "Nameplate.AvalGrpSvc", + "10282": "Nameplate.AvalGrpDvlp", + "10283": "Sys.SwRevStt", + "10284": "Acs.PwdUsr", + "10285": "Acs.PwdIstl", + "10286": "Acs.PwdSvc", + "10287": "Acs.PwdDvlp", + "10288": "Plnt.AcqCnt", + "10289": "Plnt.AcqTm", + "10290": "Itf.Itf1Hw", + "10291": "Itf.Itf2Hw", + "10292": "Itf.Itf3Hw", + "10293": "Acs.PlntPwd", + "10294": "Nameplate.Bat.Detl.Vendor", + "10295": "Nameplate.Bat.Detl.Typ", + "10297": "Eth.Dhcp.DnsSrvIp", + "10298": "Eth.Dhcp.GwIp", + "10299": "Eth.Dhcp.Ip", + "10300": "Eth.Dhcp.Nam", + "10301": "Eth.Dhcp.SnetMsk", + "10302": "Eth.Nat.WanIp", + "10303": "Mdm.IspIp", + "10304": "Operation.Bat.HtMod", + "10305": "Operation.Bat.GriHtMod", + "10306": "DtTm.IsDlSvTm", + "10308": "CntrySettings.DtFmt", + "10309": "CntrySettings.Lang", + "10310": "CntrySettings.LenUnt", + "10311": "CntrySettings.NumFmt", + "10312": "CntrySettings.TmpUnt", + "10313": "CntrySettings.TmFmt", + "10314": "DtTm.DlSvIsOn", + "10315": "DtTm.TmSynIsOn", + "10316": "DtTm.TmZn", + "10317": "Upd.AutoUpdIsOn", + "10318": "Upd.AutoUpdTm", + "10319": "DevUpd.IsOn", + "10320": "Eth.Dhcp.IsOn", + "10321": "Eth.DnsSrvIp", + "10322": "Eth.GwIp", + "10323": "Eth.Ip", + "10324": "Eth.SnetMsk", + "10325": "Eth.Nat.Port", + "10326": "Eth.Proxy.IsOn", + "10327": "Eth.Proxy.Login", + "10328": "Eth.Proxy.Port", + "10329": "Eth.Proxy.Pwd", + "10330": "Eth.Proxy.Srv", + "10331": "WebSvc.Port", + "10332": "HTTP.Port", + "10333": "Mdm.ConnTst", + "10334": "Mdm.GprsApn", + "10335": "Mdm.IspPhone", + "10336": "Mdm.IspPwd", + "10337": "Mdm.Pin", + "10338": "Mdm.SigTst", + "10339": "PortalFnc.DatUpld", + "10340": "PortalFnc.DatUpldStt", + "10341": "PortalFnc.PortalTst", + "10342": "PortalFnc.PortalTstStt", + "10343": "PortalFnc.Regist", + "10344": "PortalFnc.RegistStt", + "10345": "PortalUsrSettings.Nam", + "10346": "PortalUsrSettings.Email", + "10347": "PortalUsrSettings.PlntNam", + "10348": "PortalUsrSettings.PlntId", + "10349": "PortalBscSettings.PortalAct", + "10350": "PortalBscSettings.UpldIntv", + "10351": "DnsSvc.Stt", + "10352": "DnsSvc.IsOn", + "10353": "DnsSvc.Pwd", + "10354": "FTPPush.IsOn", + "10355": "FTPPush.ConnTst", + "10356": "FTPPush.Login", + "10357": "FTPPush.Port", + "10358": "FTPPush.Pwd", + "10359": "FTPPush.Srv", + "10360": "FTPSrv.IsOn", + "10361": "FTPSrv.DatStoEna", + "10362": "Mdm.GprsAlwsOn", + "10363": "Nameplate.CmpMdul.SwRev", + "10364": "Nameplate.CmpMdul.HwRev", + "10365": "Nameplate.CmpMdul.Rev", + "10366": "Nameplate.CmpMdul.SwUpdRev", + "10367": "Nameplate.CmpMdul.SerNum", + "10368": "Nameplate.CmpMdul.SusyId", + "10372": "Nameplate.DevNum", + "10373": "Nameplate.PkgRev", + "10374": "Sys.DevSig", + "10375": "Nameplate.CmpMain.SwRev", + "10376": "Nameplate.CmpMain.HwRev", + "10377": "Nameplate.CmpMain.Rev", + "10378": "Nameplate.CmpMain.SwUpdRev", + "10379": "Nameplate.CmpMain.SerNum", + "10380": "Nameplate.CmpMain.SusyId", + "10381": "Nameplate.CmpCom.SwRev", + "10382": "Nameplate.CmpCom.HwRev", + "10383": "Nameplate.CmpCom.Rev", + "10384": "Nameplate.CmpCom.SwUpdRev", + "10385": "Nameplate.CmpCom.SerNum", + "10386": "Nameplate.CmpCom.SusyId", + "10387": "Nameplate.CmpFltASw.SwRev", + "10388": "Nameplate.CmpFltASw.HwRev", + "10389": "Nameplate.CmpFltASw.Rev", + "10390": "Nameplate.CmpFltASw.SwUpdRev", + "10391": "Nameplate.CmpFltASw.SerNum", + "10392": "Nameplate.CmpFltASw.SusyId", + "10393": "Nameplate.CmpDisp.SwRev", + "10394": "Nameplate.CmpDisp.HwRev", + "10395": "Nameplate.CmpDisp.Rev", + "10396": "Nameplate.CmpDisp.SwUpdRev", + "10397": "Nameplate.CmpDisp.SerNum", + "10398": "Nameplate.CmpDisp.SusyId", + "10399": "Nameplate.CmpSigProc.SwRev", + "10400": "Nameplate.CmpSigProc.HwRev", + "10401": "Nameplate.CmpSigProc.Rev", + "10402": "Nameplate.CmpSigProc.SwUpdRev", + "10403": "Nameplate.CmpSigProc.SerNum", + "10404": "Nameplate.CmpSigProc.SusyId", + "10405": "Nameplate.CmpRS485.SwRev", + "10406": "Nameplate.CmpRS485.HwRev", + "10407": "Nameplate.CmpRS485.Rev", + "10408": "Nameplate.CmpRS485.SwUpdRev", + "10409": "Nameplate.CmpRS485.SerNum", + "10410": "Nameplate.CmpRS485.SusyId", + "10411": "Nameplate.CmpZb.SwRev", + "10412": "Nameplate.CmpZb.HwRev", + "10413": "Nameplate.CmpZb.Rev", + "10414": "Nameplate.CmpZb.SwUpdRev", + "10415": "Nameplate.CmpZb.SerNum", + "10416": "Nameplate.CmpZb.SusyId", + "10417": "Nameplate.CmpBt.SwRev", + "10418": "Nameplate.CmpBt.HwRev", + "10419": "Nameplate.CmpBt.Rev", + "10420": "Nameplate.CmpBt.SwUpdRev", + "10421": "Nameplate.CmpBt.SerNum", + "10422": "Nameplate.CmpBt.SusyId", + "10423": "Nameplate.CmpOS.SwRev", + "10424": "Nameplate.CmpOS.HwRev", + "10425": "Nameplate.CmpOS.Rev", + "10426": "Nameplate.CmpOS.SwUpdRev", + "10427": "Nameplate.CmpOS.SerNum", + "10428": "Nameplate.CmpOS.SusyId", + "10429": "Nameplate.SubPlntNam", + "10430": "PortalBscSettings.Srv", + "10431": "DtTm.PlntTmOfs", + "10432": "Metering.S0Cnt", + "10433": "Metering.S0WhIn", + "10434": "Operation.RsCnt", + "10435": "GridMs.TotWIn", + "10436": "Operation.StrFltDet.ValRsIstl", + "10437": "Operation.StrFltDet.OpMod", + "10438": "Inverter.VArModCfg.VArMod", + "10439": "Inverter.WModCfg.WMod", + "10440": "Inverter.WCtlHzModCfg.WCtlHzMod", + "10441": "Operation.PlntCtl.Stt", + "10443": "Inverter.VArModCfg.VArCtlVolCfg.VDif", + "10444": "Inverter.VArModCfg.VArCtlVolCfg.VDifTms", + "10445": "Inverter.VArModCfg.VArCtlVolCfg.VOfsNom", + "10446": "Inverter.VArModCfg.VArCtlVolCfg.VArGra", + "10447": "Inverter.VArModCfg.VArModPwrIn", + "10448": "Inverter.VArModCfg.VArCnstCfg.VAr", + "10449": "Inverter.VArModCfg.VArCnstCfg.VArNom", + "10451": "Inverter.VArModCfg.VArCtlWCfg.VArStr", + "10452": "Inverter.VArModCfg.VArCtlWCfg.WStr", + "10453": "Inverter.VArModCfg.VArCtlWCfg.VArStop", + "10454": "Inverter.VArModCfg.VArCtlWCfg.WStop", + "10455": "Inverter.VArModCfg.PFCnstCfg.PF", + "10456": "Inverter.VArModCfg.PFCnstCfg.PFExt", + "10457": "Inverter.VArModCfg.PFCtlWCfg.PFExtStr", + "10458": "Inverter.VArModCfg.PFCtlWCfg.PFStr", + "10459": "Inverter.VArModCfg.PFCtlWCfg.WStr", + "10460": "Inverter.VArModCfg.PFCtlWCfg.PFExtStop", + "10461": "Inverter.VArModCfg.PFCtlWCfg.PFStop", + "10462": "Inverter.VArModCfg.PFCtlWCfg.WStop", + "10463": "Inverter.WModCfg.WCnstCfg.W", + "10464": "Inverter.WModCfg.WCnstCfg.WNom", + "10466": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStr", + "10467": "Inverter.WCtlHzModCfg.WCtlHzCfg.WGra", + "10468": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStop", + "10469": "Inverter.WCtlHzModCfg.WCtlHzCfg.HystEna", + "10471": "Inverter.VArMax", + "10472": "Inverter.VArLim", + "10473": "Inverter.VAMax", + "10474": "Inverter.VALim", + "10475": "Inverter.PFAbsMin", + "10476": "Inverter.PFAbsLim", + "10477": "Inverter.WGraRecon", + "10478": "Inverter.WGraReconEna", + "10479": "Inverter.WGra", + "10480": "Inverter.WGraEna", + "10481": "Nameplate.CmpPvPro.SwRev", + "10482": "Nameplate.CmpPvPro.HwRev", + "10483": "Nameplate.CmpPvPro.SwUpdRev", + "10484": "Nameplate.CmpPvPro.Rev", + "10485": "Nameplate.CmpPvPro.SerNum", + "10486": "Nameplate.CmpPvPro.SusyId", + "10487": "Operation.InvCtl.Stt", + "10488": "GridMs.TotVANom", + "10489": "Coolsys.BstConv1.TmpVal", + "10490": "Coolsys.BstConv1.TmpValMax", + "10491": "Coolsys.BstConv2.TmpVal", + "10492": "Coolsys.BstConv2.TmpValMax", + "10493": "Coolsys.BstConv.TmpLim", + "10494": "Coolsys.BstConv1.TmpValMaxSet", + "10495": "Coolsys.BstConv2.TmpValMaxSet", + "10496": "GridGuard.Cntry.Aid.PhAngMax", + "10497": "GridGuard.Cntry.Aid.PhAngMaxTmms", + "10498": "GridGuard.Cntry.FrqCtl.ChgMax", + "10499": "GridGuard.Cntry.FrqCtl.ChgMaxTmms", + "10500": "GridGuard.Cntry.FrqCtl.ReconMin", + "10501": "GridGuard.Cntry.FrqCtl.ReconMax", + "10502": "GridGuard.Cntry.HzRtg", + "10503": "Operation.ClbAcVol", + "10504": "Operation.ClbAcVolStt", + "10505": "Operation.ClbAcVolPhs", + "10506": "GridGuard.Cntry.Mdul.GndAmpMax", + "10507": "GridGuard.Cntry.Mdul.GndAmpMaxTmms", + "10508": "Cntry.Mdul.GndMdt", + "10509": "Cntry.Mdul.GndModReq", + "10510": "Mdul.GndModStt", + "10511": "Nameplate.CmpProtConv.SwRev", + "10512": "Nameplate.CmpProtConv.HwRev", + "10513": "Nameplate.CmpProtConv.Rev", + "10514": "Nameplate.CmpProtConv.SwUpdRev", + "10515": "Nameplate.CmpProtConv.SerNum", + "10516": "Nameplate.CmpProtConv.SusyId", + "10517": "DtTm.PlntTmSet", + "10518": "DtTm.TmSyn", + "10519": "SysLog.ActStopDt", + "10520": "Dev.ExCT", + "10521": "Dev.PriA", + "10522": "Dev.ScdA", + "10523": "AdptBt.RAA.AdptCmd", + "10524": "AdptBt.DAA.AdptCmd", + "10525": "AdptEth.RAA.AdptCmd", + "10526": "AdptEth.DAA.AdptCmd", + "10527": "AdptSer.RAA.AdptCmd", + "10528": "AdptSer.DAA.AdptCmd", + "10529": "AdptSpdwr.RAA.AdptCmd", + "10530": "AdptSpdwr.DAA.AdptCmd", + "10531": "AdptWebConn.RAA.AdptCmd", + "10532": "AdptWebConn.DAA.AdptCmd", + "10535": "AdptBt.RAA.AdptConnNd", + "10536": "AdptBt.DAA.AdptConnNd", + "10537": "AdptEth.RAA.AdptConnNd", + "10538": "AdptEth.DAA.AdptConnNd", + "10539": "AdptSer.RAA.AdptConnNd", + "10540": "AdptSer.DAA.AdptConnNd", + "10541": "AdptSpdwr.RAA.AdptConnNd", + "10542": "AdptSpdwr.DAA.AdptConnNd", + "10543": "AdptWebConn.RAA.AdptConnNd", + "10544": "AdptWebConn.DAA.AdptConnNd", + "10547": "AdptBt.RAA.AdptNdLst", + "10548": "AdptBt.DAA.AdptNdLst", + "10549": "AdptEth.RAA.AdptNdLst", + "10550": "AdptEth.DAA.AdptNdLst", + "10551": "AdptSer.RAA.AdptNdLst", + "10552": "AdptSer.DAA.AdptNdLst", + "10553": "AdptSpdwr.RAA.AdptNdLst", + "10554": "AdptSpdwr.DAA.AdptNdLst", + "10555": "AdptWebConn.RAA.AdptNdLst", + "10556": "AdptWebConn.DAA.AdptNdLst", + "10559": "AdptBt.RAA.AdptConnQual", + "10560": "AdptBt.DAA.AdptConnQual", + "10561": "AdptEth.RAA.AdptConnQual", + "10562": "AdptEth.DAA.AdptConnQual", + "10563": "AdptSer.RAA.AdptConnQual", + "10564": "AdptSer.DAA.AdptConnQual", + "10565": "AdptSpdwr.RAA.AdptConnQual", + "10566": "AdptSpdwr.DAA.AdptConnQual", + "10567": "AdptWebConn.RAA.AdptConnQual", + "10568": "AdptWebConn.DAA.AdptConnQual", + "10571": "AdptBt.RAA.AdptStt", + "10572": "AdptBt.DAA.AdptStt", + "10573": "AdptEth.RAA.AdptStt", + "10574": "AdptEth.DAA.AdptStt", + "10575": "AdptSer.RAA.AdptStt", + "10576": "AdptSer.DAA.AdptStt", + "10577": "AdptSpdwr.RAA.AdptStt", + "10578": "AdptSpdwr.DAA.AdptStt", + "10579": "AdptWebConn.RAA.AdptStt", + "10580": "AdptWebConn.DAA.AdptStt", + "10583": "Inverter.VArModCfg.VArCtlComCfg.VAr", + "10584": "Inverter.VArModCfg.VArCtlComCfg.VArNom", + "10585": "Inverter.WModCfg.WCtlComCfg.W", + "10586": "Inverter.WModCfg.WCtlComCfg.WNom", + "10587": "Inverter.VArModCfg.PFCtlComCfg.PF", + "10588": "Inverter.VArModCfg.PFCtlComCfg.PFExt", + "10589": "Inverter.PlntCtl.IntvTmsMax", + "10590": "Exp.DatExpNoTag", + "10591": "Exp.EvtExpNoTag", + "10592": "AdptBt.RAA.AdptFlt", + "10593": "AdptBt.DAA.AdptFlt", + "10594": "AdptEth.RAA.AdptFlt", + "10595": "AdptEth.DAA.AdptFlt", + "10596": "AdptSer.RAA.AdptFlt", + "10597": "AdptSer.DAA.AdptFlt", + "10598": "AdptSpdwr.RAA.AdptFlt", + "10599": "AdptSpdwr.DAA.AdptFlt", + "10600": "AdptWebConn.RAA.AdptFlt", + "10601": "AdptWebConn.DAA.AdptFlt", + "10610": "DcCfg.MPPShdw.CycTms", + "10611": "DcCfg.MPPShdw.WMaxMpp", + "10612": "DcCfg.MPPShdw.IsOn", + "10613": "AdptBt.RAA.AdptNetId", + "10614": "AdptBt.DAA.AdptNetId", + "10615": "AdptEth.RAA.AdptNetId", + "10616": "AdptEth.DAA.AdptNetId", + "10617": "AdptSer.RAA.AdptNetId", + "10618": "AdptSer.DAA.AdptNetId", + "10619": "AdptSpdwr.RAA.AdptNetId", + "10620": "AdptSpdwr.DAA.AdptNetId", + "10621": "AdptWebConn.RAA.AdptNetId", + "10622": "AdptWebConn.DAA.AdptNetId", + "10625": "AdptBt.RAA.AdptEvt", + "10626": "AdptBt.DAA.AdptEvt", + "10627": "AdptEth.RAA.AdptEvt", + "10628": "AdptEth.DAA.AdptEvt", + "10629": "AdptSer.RAA.AdptEvt", + "10630": "AdptSer.DAA.AdptEvt", + "10631": "AdptSpdwr.RAA.AdptEvt", + "10632": "AdptSpdwr.DAA.AdptEvt", + "10633": "AdptWebConn.RAA.AdptEvt", + "10634": "AdptWebConn.DAA.AdptEvt", + "10637": "DcMs.VolSpt", + "10638": "DcMs.DrtStt", + "10639": "Inverter.DclVolSpt", + "10640": "Upd.SwPkgLcn", + "10641": "Plnt.DAAID", + "10642": "Metering.S0kWh", + "10643": "Metering.TotS0", + "10644": "Metering.TotkWhSet", + "10645": "Metering.TotWh", + "10646": "Inverter.WGraPrc", + "10647": "Plnt.RAAID", + "10648": "GridGuard.Cntry.VolCtl.ReconMin", + "10649": "GridGuard.Cntry.VolCtl.ReconMax", + "10650": "Inverter.VArModCfg.VArCtlVolCfg.VolRefNom", + "10651": "Inverter.VArModCfg.VArCtlVolCfg.VArMaxNom", + "10652": "Inverter.VArModCfg.VArCtlVolCfg.VolWidNom", + "10653": "Inverter.VArModCfg.VArCtlVolCfg.VArGraNom", + "10654": "Inverter.VArModCfg.VArCtlVolCfg.VArTms", + "10655": "Inverter.VArModCfg.PFCtlWCfg.WNomStr", + "10656": "Inverter.VArModCfg.PFCtlWCfg.WNomStop", + "10657": "Nameplate.PkgUpdAval", + "10658": "Inverter.DGSModCfg.PwrCirOvVolInopVolNom", + "10659": "Inverter.DGSModCfg.PwrCirOvVolInopTms", + "10660": "Inverter.PlntCtl.VRef", + "10661": "Inverter.VArGra", + "10662": "Inverter.PlntCtl.VRefOfs", + "10663": "Inverter.DGSModCfg.PwrCirInopVolNom", + "10664": "Inverter.DGSModCfg.PwrCirInopTms", + "10665": "Inverter.DGSModCfg.DGSFlCfg.ArGraMod", + "10666": "Inverter.DGSModCfg.DGSFlCfg.ArGraNom", + "10667": "Upd.AvalChkIstl", + "10668": "Inverter.DGSModCfg.HystVolNom", + "10669": "Diag.CmpMain.CpuMon", + "10670": "Diag.CmpMain.CpuLod", + "10671": "FTPPush.RemStoLcn", + "10672": "Operation.IREStt", + "10673": "Operation.AbsDcSwCnt", + "10674": "Inverter.DGSModCfg.DGSFlCfg.DbVolNomMin", + "10675": "Inverter.DGSModCfg.DGSFlCfg.DbVolNomMax", + "10676": "FTPPush.ConnTstRsl", + "10677": "Inverter.DGSModCfg.DGSMod", + "10678": "Nameplate.PkgTrtRev", + "10679": "Nameplate.PkgUpdRev", + "10680": "Cntry.Mdul.GndFltRea", + "10681": "FTPPush.DatExpNoTag", + "10682": "FTPPush.DatExpCSVIsOn", + "10683": "FTPPush.DatExpXMLIsOn", + "10684": "Exp.DatExpCSVIsOn", + "10685": "Exp.DatExpXMLIsOn", + "10686": "GridMs.TotPF", + "10687": "Inverter.VArModCfg.VArCtlVolCfg.VArGraMod", + "10688": "GridGuard.Cntry.Aid.HzMon.Stt", + "10689": "GridGuard.Cntry.Aid.HzMon.HzMonTmms", + "10690": "GridGuard.Cntry.Aid.AsymDet.Stt", + "10691": "GridGuard.Cntry.Aid.AsymDet.AsymMax", + "10692": "GridGuard.Cntry.Aid.AsymDet.AsymMaxTmms", + "10693": "MltFncSw.OpMode", + "10694": "MltFncSw.SelfCsmp.MinOnTmm", + "10695": "MltFncSw.SelfCsmp.MinOnPwr", + "10696": "MltFncSw.SelfCsmp.MinOnPwrTmm", + "10697": "Sys.DevRstr", + "10698": "MltFncSw.ComCtl.Stt", + "10699": "Inverter.DcCtlTurCfg.PC1", + "10700": "Inverter.DcCtlTurCfg.PC2", + "10701": "Inverter.DcCtlTurCfg.PC3", + "10702": "Inverter.DcCtlTurCfg.PC4", + "10703": "Inverter.DcCtlTurCfg.KP", + "10704": "Inverter.DcCtlTurCfg.KI", + "10705": "Inverter.DcCtlTurCfg.KD", + "10706": "DcCfg.StopVol", + "10707": "MltFncSw.BatCha.MinOnPwr", + "10708": "MltFncSw.BatCha.MinReconTmm", + "10709": "GridGuard.Cntry.LoginMdt", + "10710": "GridMs.TotPFPrc", + "10711": "GridMs.TotPFExt", + "10712": "Metering.TotWhMod", + "10713": "Metering.PvMs.TotWhOut", + "10714": "Metering.GridMs.TotWhOut", + "10715": "Metering.GridMs.TotWhIn", + "10716": "Metering.PvMs.TotWOut", + "10717": "Metering.GridMs.TotWOut", + "10718": "Metering.GridMs.TotWIn", + "10719": "GridGuard.Cntry.Aid.HzMon.HzLim", + "10720": "GridGuard.Cntry.Aid.ImpMon.AmpAmpl", + "10721": "GridGuard.Cntry.Aid.ImpMon.MaxImpGra", + "10722": "GridGuard.Cntry.Aid.ImpMon.Stt", + "10723": "GridGuard.Cntry.Aid.PerAid.Ampl", + "10724": "GridGuard.Cntry.Aid.PerAid.Hz", + "10725": "GridGuard.Cntry.Aid.PasAid.Stt", + "10726": "GridGuard.Cntry.VolCtl.hLimNom", + "10727": "GridGuard.Cntry.VolCtl.lLimNom", + "10728": "GridGuard.Cntry.VolCtl.ReconMaxNom", + "10729": "GridGuard.Cntry.VolCtl.ReconMinNom", + "10730": "GridGuard.Cntry.VRefOfs", + "10731": "GridMs.CO2Red", + "10732": "GridMs.CO2RedSpc", + "10733": "GridMs.GriTyp", + "10734": "GridMs.Imp", + "10735": "Inverter.DcCtlTurCfg.PMid", + "10736": "Inverter.DcCtlTurCfg.PwrCirInopVol", + "10737": "Inverter.DcCtlTurCfg.VMid", + "10738": "Inverter.DcCtlTurCfg.VMax", + "10739": "Inverter.DcCtlTurCfg.VStr", + "10740": "Inverter.DcCtlTurCfg.WGra", + "10741": "Inverter.RplDet.Ampl", + "10742": "Inverter.RplDet.Hz", + "10743": "Inverter.RplDet.OpMod", + "10744": "Mdul.GndVol", + "10745": "Nameplate.BstConv.HwRev", + "10746": "Nameplate.BstConv.SwRev", + "10747": "Operation.BckOpMod", + "10748": "Operation.BckStt", + "10749": "Operation.PwrBal.OpMod", + "10750": "Operation.PwrBal.PwrGrd.MaxW", + "10751": "Metering.PvMs.TotS0Out", + "10752": "Metering.GridMs.TotS0Out", + "10753": "Metering.GridMs.TotS0In", + "10754": "GridGuard.Cntry.GridGuardRev", + "10755": "Metering.SelfCsmp.TotWIn", + "10756": "Metering.Csmp.TotWIn", + "10757": "Metering.SelfCsmp.AbsSelfCsmpInc", + "10758": "Metering.SelfCsmp.DySelfCsmpInc", + "10759": "Operation.PvGriConn", + "10760": "Operation.CsmpGriConnStt", + "10761": "Bat.Diag.CapacThrpCnt", + "10762": "SelfCsmp.OpMod", + "10763": "SelfCsmp.BatChaSttMin", + "10764": "Operation.ComFltSSMId", + "10765": "Operation.StrFltDet.SMUWrnId", + "10766": "Diag.SigIn1Stt", + "10767": "Diag.SigIn2Stt", + "10768": "DevUpd.OpMode", + "10769": "DevUpd.UpdSrc", + "10770": "DevUpd.Stt", + "10771": "Upd.TxAttCnt", + "10772": "Upd.TxAttTm", + "10773": "Metering.PvMs.S0kWhOut", + "10774": "Metering.GridMs.S0kWhOut", + "10775": "Metering.GridMs.S0kWhIn", + "10776": "Upd.OpMode", + "10777": "GriSw.AutoComFailStt", + "10778": "GriSw.InitAutoStt", + "10779": "GriSw.Stt", + "10780": "GriSw.AutoSttSet", + "10781": "GriSw.Auto", + "10782": "Operation.ComTmOut", + "10783": "GriSw.StrDet", + "10784": "Inverter.DGSModCfg.DGSFlCfg.ArGraNomPrc", + "10785": "Operation.AutoEna", + "10786": "Metering.Csmp.TotWhIn", + "10787": "Upd.TxAttRev", + "10788": "GridMs.PhV.phsA2B", + "10789": "Diag.AOfs", + "10790": "Metering.GridMs.TotkWhOutSet", + "10791": "Metering.GridMs.TotkWhInSet", + "10792": "Metering.ADir.phsA", + "10793": "Metering.ADir.phsB", + "10794": "Operation.ActFnc", + "10795": "Inverter.WModCfg.GriSwOpnZerW", + "10796": "Inverter.WCtlVolModCfg.CrvNum", + "10797": "Inverter.UtilCrvCfg.Crv.CrvTms", + "10798": "Inverter.UtilCrvCfg.Crv.RmpDec", + "10799": "Inverter.UtilCrvCfg.Crv.RmpInc", + "10800": "Inverter.UtilCrvCfg.Crv.NumPt", + "10801": "Inverter.UtilCrvCfg.Crv.XVal1", + "10802": "Inverter.UtilCrvCfg.Crv.YVal1", + "10803": "Inverter.UtilCrvCfg.Crv.XVal2", + "10804": "Inverter.UtilCrvCfg.Crv.YVal2", + "10805": "Inverter.UtilCrvCfg.Crv.XVal3", + "10806": "Inverter.UtilCrvCfg.Crv.YVal3", + "10807": "Inverter.UtilCrvCfg.Crv.XVal4", + "10808": "Inverter.UtilCrvCfg.Crv.YVal4", + "10809": "Inverter.UtilCrvCfg.Crv.XVal5", + "10810": "Inverter.UtilCrvCfg.Crv.YVal5", + "10811": "Inverter.UtilCrvCfg.Crv.XVal6", + "10812": "Inverter.UtilCrvCfg.Crv.YVal6", + "10813": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopWGra", + "10814": "Inverter.WGraConn", + "10815": "Inverter.WGraMpp", + "10816": "AdptBt.RtNd.SerNum", + "10817": "AdptBt.RtNd.SusyId", + "10818": "Alrm.Email.IsOn", + "10819": "Alrm.Email.RptInf", + "10820": "Alrm.Email.Recp", + "10821": "Alrm.Email.TstEmailTx", + "10822": "Alrm.FTPPush.IsOn", + "10823": "FTPPush.UpldCyc", + "10824": "Mb.TcpSrv.IsOn", + "10825": "Mb.TcpSrv.Port", + "10826": "Mb.UdpSrv.IsOn", + "10827": "Mb.UdpSrv.Port", + "10828": "Spdwr.DhcpSrv.IsOn", + "10829": "Spdwr.DhcpSrv.MinIp", + "10830": "Spdwr.DhcpSrv.MaxIp", + "10831": "Spdwr.DhcpSrv.SnetMsk", + "10832": "Spdwr.DhcpSrv.Ip", + "10833": "DtTm.TmSynSrc", + "10834": "DtTm.NtpSrv", + "10835": "InOut.DigInGrp1", + "10836": "InOut.DigInGrp2", + "10837": "InOut.AnInA1", + "10838": "InOut.AnInA2", + "10839": "InOut.AnInA3", + "10840": "InOut.AnInVol1", + "10841": "Card.FreMem", + "10842": "Inverter.AfciIsOn", + "10843": "Metering.Csmp.TotkWhInSet", + "10844": "Metering.MsItf1.ConnLcn", + "10845": "Metering.MsItf2.ConnLcn", + "10846": "Metering.MsItf3.ConnLcn", + "10847": "Metering.MsItf1.MsType", + "10848": "Metering.MsItf2.MsType", + "10849": "Metering.MsItf3.MsType", + "10850": "Metering.ADir.phsC", + "10851": "Inverter.OffGri.OffGriAct", + "10852": "Env.InsolSns.Crv0.InsolMin", + "10853": "Env.InsolSns.Crv0.InsolMax", + "10854": "Env.InsolSns.Crv0.MsValMin", + "10855": "Env.InsolSns.Crv0.MsValMax", + "10856": "USB.FreMem", + "10857": "USB2.FreMem", + "10858": "Inverter.FstStop", + "10859": "Metering.GridMs.DyWhOut", + "10860": "Metering.GridMs.DyWhIn", + "10861": "Nameplate.CmpMain.Typ", + "10862": "Nameplate.CmpCom.Typ", + "10863": "Nameplate.CmpFltASw.Typ", + "10864": "Nameplate.CmpDisp.Typ", + "10865": "Nameplate.CmpSigProc.Typ", + "10866": "Nameplate.CmpRS485.Typ", + "10867": "Nameplate.CmpZb.Typ", + "10868": "Nameplate.CmpBt.Typ", + "10869": "Nameplate.CmpOS.Typ", + "10870": "Nameplate.CmpPvPro.Typ", + "10871": "Nameplate.CmpProtConv.Typ", + "10872": "Nameplate.CmpMdul.Typ", + "10873": "Operation.KeySwStt", + "10874": "DtTm.LcnTm", + "10875": "Operation.DcSw.Stt", + "10876": "Operation.DcSw.Evt.Msg", + "10877": "DcMs.StrgStt", + "10878": "Spdwr.ComSocA.Stt", + "10879": "Spdwr.ComSocA.ConnSpd", + "10880": "Spdwr.ComSocB.Stt", + "10881": "Spdwr.ComSocB.ConnSpd", + "10882": "Spdwr.ActlIp", + "10883": "Spdwr.ActlSnetMsk", + "10884": "Spdwr.ActlGwIp", + "10885": "Spdwr.ActlDnsSrvIp", + "10886": "WebConn.Stt", + "10887": "WebConn.IsOn", + "10888": "Nameplate.MacId", + "10889": "Spdwr.AutoCfgIsOn", + "10890": "Spdwr.Ip", + "10891": "Spdwr.SnetMsk", + "10892": "Spdwr.GwIp", + "10893": "Spdwr.DnsSrvIp", + "10894": "Metering.PvMs.TotWOutCalc", + "10895": "Metering.PvMs.TotWhOutCalc", + "10896": "Spdwr.ComSocA.DpxMode", + "10897": "Spdwr.ComSocB.DpxMode", + "10898": "Bat.Diag.TotAhIn", + "10899": "Bat.Diag.TotAhOut", + "10900": "Cha.ActChaMod", + "10901": "Metering.GnMs.TotWOut", + "10902": "Maint.FulEqCha", + "10903": "Bat.ChaStt", + "10904": "Bat.TmpVal", + "10905": "Bat.Vol", + "10906": "Metering.WhIn", + "10907": "Metering.WhOut", + "10908": "Gn.AutoStr", + "10909": "Operation.GnDmdReas", + "10910": "Metering.GnMs.TotWhOutCalc", + "10911": "Gn.ManCtl", + "10912": "Metering.GnMs.TotOpTms", + "10913": "GnDmdBatCha.Tm1OffLim", + "10914": "GnDmdBatCha.Tm1OnLim", + "10915": "Gn.Diag.StrCnt", + "10916": "Operation.GriCreaSrc", + "10917": "MltFncSw.Stt", + "10918": "Metering.SelfCsmp.SelfCsmpWh", + "10919": "Metering.SelfCsmp.SelfCsmpInc", + "10920": "Metering.SelfCsmp.ActlSelfCsmp", + "10921": "Bat.Diag.ActlCapacNom", + "10922": "Bat.Amp", + "10923": "Cha.BstChaTmm", + "10924": "Cha.EqChaTmh", + "10925": "Cha.FulChaTmh", + "10926": "Operation.FltRstrMaxCnt", + "10927": "Cha.MaxChaAmp", + "10928": "Cha.ActlChaVolSpt", + "10929": "Bat.CapacRtg", + "10930": "Bat.TmpMax", + "10931": "Bat.Typ", + "10932": "Bat.VRtg", + "10933": "Gn.Operation.Ackn", + "10934": "Gn.ARtg", + "10935": "GnDmdW.IsOn", + "10936": "GnDmdW.WOff", + "10937": "GnDmdW.WOn", + "10938": "Gn.OpStt", + "10939": "SelfCsmp.SelfCsmpIncIsOn", + "10940": "Metering.GridMs.DyWhFeed", + "10941": "Metering.GriFailTms", + "10942": "DcMs.AmpMsCnt", + "10943": "USB1.FreMem", + "10944": "Maint.ExIsoMs", + "10945": "Smtp.Srv", + "10946": "Smtp.Port", + "10947": "Smtp.Login", + "10948": "Smtp.Pwd", + "10949": "Smtp.Cry", + "10950": "DtTm.DoTmSynSrc", + "10951": "Ssh.IsOn", + "10952": "Spdwr.IgmpIsOn", + "10953": "Spdwr.SpdwrGrp", + "10954": "InOut.AnInA4", + "10955": "InOut.AnInVol2", + "10956": "InOut.AnInVol3", + "10957": "InOut.AnInVol4", + "10958": "PortalBscSettings.ComCry", + "10959": "PortalBscSettings.SigCyc", + "10960": "PortalBscSettings.UpldTm", + "10961": "Nameplate.HwId", + "10962": "MonSrv.DatLog", + "10963": "Dev.RmvDev", + "10964": "Dev.RmvAllDev", + "10965": "WebConn.SysEnv", + "10966": "Env.WndDir", + "10967": "Operation.ComValRsSvc", + "10968": "Alrm.FilCfg.AlrmWCtl", + "10969": "Alrm.FilCfg.AlrmVArCtl", + "10970": "Alrm.Email.TstEmailRsl", + "10971": "Inverter.UtilCrvCfg.Crv.XVal7", + "10972": "Inverter.UtilCrvCfg.Crv.YVal7", + "10973": "Inverter.UtilCrvCfg.Crv.XVal8", + "10974": "Inverter.UtilCrvCfg.Crv.YVal8", + "10975": "Inverter.VArModCfg.VArCtlVolCrvCfg.CrvNum", + "10976": "Inverter.VArModCfg.VArCtlVolCrvCfg.EnaW", + "10977": "Inverter.VArModCfg.VArCtlVolCrvCfg.DsaW", + "10978": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopWGraTms", + "10979": "Inverter.VArModCfg.PFCtlWCfg.EnaVol", + "10980": "Inverter.VArModCfg.PFCtlWCfg.DsaVol", + "10981": "Inverter.UtilCrvCfg.Crv.XRef", + "10982": "Inverter.UtilCrvCfg.Crv.YRef", + "10983": "Inverter.UtilCrvCfg.Crv2.CrvTms", + "10984": "Inverter.UtilCrvCfg.Crv2.RmpDec", + "10985": "Inverter.UtilCrvCfg.Crv2.RmpInc", + "10986": "Inverter.UtilCrvCfg.Crv2.NumPt", + "10987": "Inverter.UtilCrvCfg.Crv2.XRef", + "10988": "Inverter.UtilCrvCfg.Crv2.YRef", + "10989": "Inverter.UtilCrvCfg.Crv2.XVal1", + "10990": "Inverter.UtilCrvCfg.Crv2.XVal2", + "10991": "Inverter.UtilCrvCfg.Crv2.XVal3", + "10992": "Inverter.UtilCrvCfg.Crv2.XVal4", + "10993": "Inverter.UtilCrvCfg.Crv2.XVal5", + "10994": "Inverter.UtilCrvCfg.Crv2.XVal6", + "10995": "Inverter.UtilCrvCfg.Crv2.XVal7", + "10996": "Inverter.UtilCrvCfg.Crv2.XVal8", + "10997": "Inverter.UtilCrvCfg.Crv2.YVal1", + "10998": "Inverter.UtilCrvCfg.Crv2.YVal2", + "10999": "Inverter.UtilCrvCfg.Crv2.YVal3", + "11000": "Inverter.UtilCrvCfg.Crv2.YVal4", + "11001": "Inverter.UtilCrvCfg.Crv2.YVal5", + "11002": "Inverter.UtilCrvCfg.Crv2.YVal6", + "11003": "Inverter.UtilCrvCfg.Crv2.YVal7", + "11004": "Inverter.UtilCrvCfg.Crv2.YVal8", + "11005": "Spdwr.ComSocC.Stt", + "11006": "Spdwr.ComSocC.ConnSpd", + "11007": "Spdwr.ComSocD.Stt", + "11008": "Spdwr.ComSocD.ConnSpd", + "11009": "Spdwr.ComSocC.DpxMode", + "11010": "Spdwr.ComSocD.DpxMode", + "11011": "PwrCtlMdul.OpMode", + "11012": "PwrCtlMdul.DigInStt", + "11013": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopMin", + "11014": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopMax", + "11015": "IecCfg.GoCfg.GoAppId", + "11016": "GridGuard.Cntry.FrqCtl.SwMax", + "11017": "GridGuard.Cntry.FrqCtl.SwMaxTmms", + "11018": "GridGuard.Cntry.FrqCtl.SwMin", + "11019": "GridGuard.Cntry.FrqCtl.SwMinTmms", + "11020": "GridGuard.Cntry.FrqCtl.SrcHzLimRedCom", + "11021": "Operation.PlntCtl.SrcFstStop", + "11022": "Inverter.HzLimRed", + "11023": "Alrm.FilCfg.AlrmWrn", + "11024": "Alrm.Email.Lang", + "11025": "Smtp.OptTxAdr", + "11026": "Inverter.VArModCfg.VArAct", + "11027": "Inverter.WModCfg.WCtlComCfg.WNomPrc", + "11028": "Inverter.VArModCfg.VArCtlComCfg.VArNomPrc", + "11029": "InOut.DigInSttGrp1", + "11030": "InOut.DigInSttGrp2", + "11031": "GridMs.PhV.phsB2C", + "11032": "GridMs.PhV.phsC2A", + "11033": "Inverter.PwrCirCom", + "11034": "GridGuard.Cntry.VolCtl.RproTmms", + "11035": "IecCfg.GoCfg.GoMacId", + "11036": "PCC.ARtg", + "11037": "Inverter.WModCfg.WCtlComCfg.ASpt", + "11038": "Inverter.VArModCfg.VArCtlComCfg.ArSpt", + "11039": "Inverter.WModCfg.GnCtlComCfg.AMax", + "11040": "Operation.OpStt", + "11041": "Inverter.FltAMod", + "11042": "PortalBscSettings.Port", + "11043": "Plnt.DcWRtg", + "11044": "PCC.WMaxMod", + "11045": "PCC.DynWMax", + "11046": "PCC.WMax", + "11047": "PCC.WMaxNom", + "11048": "PlntCtl.IsOn", + "11049": "AdptZb.DAA.AdptConnQual", + "11050": "ExSw.ExSwCnt", + "11051": "ExSw.OpnTmms", + "11052": "ExSw.ClsTmms", + "11053": "GnMs.TotOpTms", + "11054": "GnMs.TotWhOutCalc", + "11055": "GnMs.TotWOut", + "11056": "Cha.DschStopVol", + "11057": "Cha.ChaAmpMax", + "11058": "Cha.DschAmpMax", + "11059": "PubGri.Stt", + "11060": "Cha.BstChaVolSpt", + "11061": "Cha.FulChaVolSpt", + "11062": "Cha.EqChaVolSpt", + "11063": "Cha.TrcChaVolSpt", + "11064": "GridGuard.Cntry.VolCtl.ReconMinDif", + "11065": "GridGuard.Cntry.VolCtl.ReconMaxDif", + "11066": "GridGuard.Cntry.FrqCtl.ReconMinDif", + "11067": "GridGuard.Cntry.FrqCtl.ReconMaxDif", + "11068": "Gn.VolCtl.Min", + "11069": "Gn.VolCtl.Max", + "11070": "Gn.VolCtl.ReconMinDif", + "11071": "Gn.VolCtl.ReconMaxDif", + "11072": "Gn.FrqCtl.Min", + "11073": "Gn.FrqCtl.Max", + "11074": "Gn.FrqCtl.ReconMinDif", + "11075": "Gn.FrqCtl.ReconMaxDif", + "11076": "Gn.WMon.RvPwrMax", + "11077": "Gn.WMon.RvPwrMaxTms", + "11078": "ExtGridMs.TotW", + "11079": "ExtGridMs.W.phsA", + "11080": "ExtGridMs.W.phsB", + "11081": "ExtGridMs.W.phsC", + "11082": "ExtGridMs.TotVAr", + "11083": "ExtGridMs.VAr.phsA", + "11084": "ExtGridMs.VAr.phsB", + "11085": "ExtGridMs.VAr.phsC", + "11086": "ExtGridMs.Hz", + "11087": "ExtGridMs.PhV.phsA", + "11088": "ExtGridMs.PhV.phsB", + "11089": "ExtGridMs.PhV.phsC", + "11090": "ExtGridMs.A.phsA", + "11091": "ExtGridMs.A.phsB", + "11092": "ExtGridMs.A.phsC", + "11093": "GridMs.PhVNom.phsA2B", + "11094": "GridMs.PhVNom.phsB2C", + "11095": "GridMs.PhVNom.phsC2A", + "11096": "Diag.UnCurProCnt", + "11097": "Diag.UnDcVolDrt", + "11098": "Diag.WDcVolDrt", + "11099": "Diag.BiasVol.phsA", + "11100": "Diag.BiasVol.phsB", + "11101": "Diag.BiasVol.Rl", + "11102": "Plnt.VARtg", + "11103": "Plnt.LoVolLin.RisLen", + "11104": "Plnt.LoVolLin.InducReactLen", + "11105": "Plnt.LoVolLin.LoVolLen", + "11106": "Plnt.MedVolLin.RisLen", + "11107": "Plnt.MedVolLin.CapacReactLen", + "11108": "Plnt.MedVolLin.MedVolLen", + "11109": "Plnt.Trf.VARtg", + "11110": "Plnt.Trf.SCVol", + "11111": "PCC.HiVolRtg", + "11112": "Metering.MsItf1.SerNumEN", + "11113": "Metering.MsItf2.SerNumEN", + "11114": "Metering.MsItf3.SerNumEN", + "11115": "Plc.Diag.PkgFlt", + "11116": "Nameplate.CmpMdul2.SwRev", + "11117": "Nameplate.CmpMdul2.HwRev", + "11118": "Nameplate.CmpMdul2.Rev", + "11119": "Nameplate.CmpMdul2.SwUpdRev", + "11120": "Nameplate.CmpMdul2.SerNum", + "11121": "Nameplate.CmpMdul2.SusyId", + "11122": "Nameplate.CmpMdul2.Typ", + "11123": "PwrCtlMdul.WCnstCls.DigInD00", + "11124": "PwrCtlMdul.WCnstCls.DigInD01", + "11125": "PwrCtlMdul.WCnstCls.DigInD02", + "11126": "PwrCtlMdul.WCnstCls.DigInD03", + "11127": "PwrCtlMdul.WCnstCls.DigInD04", + "11128": "PwrCtlMdul.WCnstCls.DigInD05", + "11129": "PwrCtlMdul.WCnstCls.DigInD06", + "11130": "PwrCtlMdul.WCnstCls.DigInD07", + "11131": "PwrCtlMdul.WCnstCls.DigInD08", + "11132": "PwrCtlMdul.WCnstCls.DigInD09", + "11133": "PwrCtlMdul.WCnstCls.DigInD10", + "11134": "PwrCtlMdul.WCnstCls.DigInD11", + "11135": "PwrCtlMdul.WCnstCls.DigInD12", + "11136": "PwrCtlMdul.WCnstCls.DigInD13", + "11137": "PwrCtlMdul.WCnstCls.DigInD14", + "11138": "PwrCtlMdul.WCnstCls.DigInD15", + "11139": "PwrCtlMdul.FlbTmh", + "11140": "PwrCtlMdul.FlbVal", + "11141": "PwrCtlMdul.FltClrTms", + "11142": "Inverter.VArModCfg.VArModDmd", + "11143": "Inverter.VArModCfg.VArCnstCfgDmd.VAr", + "11144": "Inverter.VArModCfg.VArCnstCfgDmd.VArNom", + "11145": "Inverter.DGSModCfg.DGSFlCfg.ArGraSag", + "11146": "Inverter.DGSModCfg.DGSFlCfg.ArGraSwell", + "11147": "Inverter.UtilCrvCfg.CrvModCfg.CrvNum", + "11148": "Inverter.UtilCrvCfg.CrvModCfg.CrvEna", + "11149": "Inverter.UtilCrvCfg.CrvModCfg.EnaTrg", + "11150": "Inverter.UtilCrvCfg.CrvModCfg.DsaTrg", + "11151": "Inverter.UtilCrvCfg.CrvModCfg.TrgRef", + "11152": "Inverter.UtilCrvCfg.CrvPt1.XVal", + "11153": "Inverter.UtilCrvCfg.CrvPt1.YVal", + "11154": "Inverter.UtilCrvCfg.CrvPt2.XVal", + "11155": "Inverter.UtilCrvCfg.CrvPt2.YVal", + "11156": "Inverter.UtilCrvCfg.CrvPt3.XVal", + "11157": "Inverter.UtilCrvCfg.CrvPt3.YVal", + "11158": "Bat.SvcMod", + "11159": "Cha.ChaVolSptSvc", + "11160": "Cha.DschVolSptSvc", + "11161": "Cha.ChaAmpMaxSvc", + "11162": "Cha.DschAmpMaxSvc", + "11163": "Bat.OpStt", + "11164": "Coolsys.BatConv.TmpVal", + "11165": "Coolsys.BatConv.TmpValMax", + "11166": "Nameplate.CmpBMS.SwRev", + "11167": "Nameplate.CmpBMS.HwRev", + "11168": "Nameplate.CmpBMS.Rev", + "11169": "Nameplate.CmpBMS.SwUpdRev", + "11170": "Nameplate.CmpBMS.SerNum", + "11171": "Nameplate.CmpBMS.SusyId", + "11172": "Nameplate.CmpBMS.Typ", + "11173": "Metering.MsSpdwr.SerNumEN", + "11174": "Metering.MsSpdwr.Health", + "11175": "Bat.CelVol", + "11176": "Operation.Inverter.Health", + "11177": "Operation.Bat.Health", + "11178": "Inverter.UtilCrvCfg.Crv0.CrvTms", + "11179": "Inverter.UtilCrvCfg.Crv0.RmpDec", + "11180": "Inverter.UtilCrvCfg.Crv0.RmpInc", + "11181": "Inverter.UtilCrvCfg.Crv0.RsRmpInc", + "11182": "Inverter.UtilCrvCfg.Crv0.NumPt", + "11183": "Inverter.UtilCrvCfg.Crv0.XRef", + "11184": "Inverter.UtilCrvCfg.Crv0.YRef", + "11185": "PCC.WMaxAv", + "11186": "Qtl.QtlPvHi", + "11187": "Qtl.QtlPvLo", + "11188": "Qtl.QtlBatHi", + "11189": "Qtl.QtlBatLo", + "11190": "Qtl.QtlInvHi", + "11191": "Qtl.QtlInvLo", + "11192": "Qtl.PaQtlPvHi", + "11193": "Qtl.PaQtlPvLo", + "11194": "Qtl.PaQtlBatHi", + "11195": "Qtl.PaQtlBatLo", + "11196": "Qtl.PaQtlInvHi", + "11197": "Qtl.PaQtlInvLo", + "11198": "Bat.AmpSpt", + "11199": "Nameplate.Bat.Vendor", + "11200": "Nameplate.Bat.ProdTm", + "11201": "Operation.CmpBMS.SwCnt", + "11202": "Operation.BatConv.ChaSwCnt", + "11203": "Operation.BatConv.DschaSwCnt", + "11204": "Operation.BatConv.AbsChaSwCnt", + "11205": "Operation.BatConv.AbsDschaSwCnt", + "11206": "Bat.OpTms", + "11207": "Bat.EpsChaSttMin", + "11208": "Bat.CapacRtgWh", + "11209": "Bat.CelTmpVal", + "11210": "Operation.StoOpMode", + "11211": "Inverter.WModCfg.WCtlComCfg.WSpt", + "11212": "Inverter.WModCfg.WCtlComCfg.WCtlComAct", + "11213": "Inverter.VArModCfg.VArCtlComCfg.VArSpt", + "11214": "PvGen.PvWh", + "11215": "TotVal.TotCsmp", + "11216": "TotVal.SelfCsmp", + "11217": "TotVal.DirCsmp", + "11218": "BatChrg.BatChrg", + "11219": "BatDsch.BatDsch", + "11220": "PvGen.PvW", + "11221": "CurVal.TotCsmp", + "11222": "CurVal.SelfCsmp", + "11223": "CurVal.DirCsmp", + "11224": "BatChrg.CurBatCha", + "11225": "BatDsch.CurBatDsch", + "11226": "CurVal.SelfCsmpNom", + "11227": "TotVal.SelfCsmpNom", + "11228": "StoNom.CurStoNom", + "11229": "StoNom.StoNom", + "11230": "CurVal.AtcNom", + "11231": "TotVal.AtcNom", + "11232": "CurVal.DirCsmpNom", + "11233": "TotVal.DirCsmpNom", + "11234": "PvGen.PvWhSet", + "11235": "TotVal.TotCsmpSet", + "11236": "TotVal.SelfCsmpSet", + "11237": "TotVal.DirCsmpSet", + "11238": "BatChrg.BatChrgSet", + "11239": "BatDsch.BatDschSet", + "11240": "IecCfg.SrvIsOn", + "11241": "Operation.GfdiSwStt", + "11242": "Operation.RstrLokStt", + "11243": "Nameplate.CmpGriMon.SwRev", + "11244": "Nameplate.CmpGriMon.HwRev", + "11245": "Nameplate.CmpGriMon.Rev", + "11246": "Nameplate.CmpGriMon.SwUpdRev", + "11247": "Nameplate.CmpGriMon.SerNum", + "11248": "Nameplate.CmpGriMon.SusyId", + "11249": "Nameplate.CmpGriMon.Typ", + "11250": "USB1.TotMem", + "11251": "USB2.TotMem", + "11252": "PvGen.AbsPvWh", + "11253": "BatChrg.AbsBatChrg", + "11254": "BatDsch.AbsBatDsch", + "11255": "CmpBMS.OpMod", + "11256": "CmpBMS.BatChaMinW", + "11257": "CmpBMS.BatChaMaxW", + "11258": "CmpBMS.BatDschMinW", + "11259": "CmpBMS.BatDschMaxW", + "11260": "CmpBMS.GridWSpt", + "11261": "Operation.Bat.TmpHealth", + "11262": "DcCfg.WMaxPv", + "11263": "BatConv.WMaxCha", + "11264": "BatConv.WMinCha", + "11265": "BatConv.WMaxDsch", + "11266": "BatConv.WMinDsch", + "11267": "CmpBMS.ActlCapacDet", + "11268": "Diag.AcCapacMon", + "11269": "TotVal.SelfSup", + "11270": "CurVal.SelfSup", + "11271": "BatDsch.ActBatDsch", + "11272": "CmpBMS.Mon", + "11273": "Inverter.RplDet.NrwBndSprt.Gain", + "11274": "Inverter.RplDet.NrwBndSprt.Dmp", + "11275": "Inverter.RplDet.NrwBndSprt.Hz", + "11276": "Inverter.RplDet.BrdBndSprt.Gain", + "11277": "Inverter.RplDet.BrdBndSprt.Hz", + "11278": "Bat.Diag.ActlCapacNomOv", + "11279": "Sys.SwPkgNom", + "11280": "Metering.GridMs.TotkWhOutOfs", + "11281": "Metering.GridMs.TotkWhInOfs", + "11282": "GridGuard.Cntry.Aid.Stt", + "11283": "Inverter.DynDsconModCfg.CrvNum", + "11284": "Nameplate.ARtg", + "11285": "Inverter.VArModCfg.PFCtlWCfg.PFExtPFStr", + "11286": "Inverter.VArModCfg.PFCtlWCfg.PFExtPFStop", + "11287": "EpsMs.Vol", + "11288": "EpsMs.Amp", + "11289": "EpsMs.Watt", + "11290": "EpsMs.WhOut", + "11291": "EpsMs.AbsWh", + "11292": "Operation.EpsMod", + "11293": "Operation.EpsActTm", + "11294": "Operation.EpsInaTm", + "11295": "SwCmp.CmpComBlt.SwRev", + "11296": "SwCmp.CmpWebSrv.SwRev", + "11297": "Inverter.CtlComCfg.WCtlCom.CtlComMssMod", + "11298": "Inverter.CtlComCfg.WCtlCom.TmsOut", + "11299": "Inverter.CtlComCfg.WCtlCom.FlbWNom", + "11300": "Inverter.CtlComCfg.VArCtlCom.CtlComMssMod", + "11301": "Inverter.CtlComCfg.VArCtlCom.TmsOut", + "11302": "Inverter.CtlComCfg.VArCtlCom.FlbVArNom", + "11303": "Inverter.CtlComCfg.PFCtlCom.CtlComMssMod", + "11304": "Inverter.CtlComCfg.PFCtlCom.TmsOut", + "11305": "Inverter.CtlComCfg.PFCtlCom.FlbPF", + "11306": "Inverter.CtlComCfg.PFCtlCom.FlbPFExt", + "11307": "Operation.Dmd.WCtl", + "11308": "Operation.Dmd.VArCtl", + "11309": "Operation.Dmd.PFCtl", + "11310": "Operation.Dmd.PFExtCtl", + "11311": "Inverter.VArModCfg.ImpCpn.IsOn", + "11312": "Inverter.VArModCfg.ImpCpn.OhmRis", + "11313": "Inverter.VArModCfg.ImpCpn.InducRis", + "11314": "Inverter.VArModCfg.ImpCpn.CapacRis", + "11315": "GridGuard.Cntry.Aid.HzVAr.MaxVAr", + "11316": "GridGuard.Cntry.Aid.HaVAr.VAr", + "11317": "Nameplate.SerNum.Slv1", + "11318": "Nameplate.SerNum.Slv2", + "11319": "Operation.Health.Master", + "11320": "Operation.Health.Slv1", + "11321": "Operation.Health.Slv2", + "11322": "Nameplate.CmpMain.BltRev", + "11323": "Nameplate.CmpSigProc.BltRev", + "11324": "Sys.AcTyp", + "11325": "Metering.PvChaMs.TotWhSICha", + "11326": "Metering.PvChaMs.TotWhPv", + "11327": "Metering.PvChaMs.DyWhPv", + "11328": "Metering.PvChaMs.TotWPv", + "11329": "Metering.PvChaMs.Amp", + "11330": "Operation.CltFltMod", + "11331": "Operation.EnSavMod", + "11332": "BatUsDm.Stt", + "11333": "Bat.Diag.StatTm", + "11334": "Bat.Diag.ChaFact", + "11335": "Bat.Diag.TmpValMin", + "11336": "Bat.Diag.TmpValMax", + "11337": "Cha.EqChaCnt", + "11338": "Cha.FulChaCnt", + "11339": "Cha.FulDschNom", + "11340": "Cha.EqDschNom", + "11341": "Bat.Diag.VolMax", + "11342": "Bat.Diag.ChaAMax", + "11343": "Bat.Diag.DschAMax", + "11344": "Bat.OvTmpRstr", + "11345": "Bat.DcRis", + "11346": "Cha.FulChaCycTm", + "11347": "Cha.EqChaCycTm", + "11348": "Cha.TmpCpn", + "11349": "Cha.EqChaAuto", + "11350": "Bat.RmgChaTm", + "11351": "Bat.FulChaRmgTm", + "11352": "Bat.EqChaRmgTm", + "11353": "Bat.AbsPhsAct", + "11354": "Bat.BatChaDif", + "11355": "Bat.Operation.EqChaMan", + "11356": "SltMod.TrcChaSltTm", + "11357": "SltMod.SltTrcChaTm", + "11358": "Cha.BMSInaVol", + "11359": "ProMod.StrTm", + "11360": "ProMod.StopTm", + "11361": "ProMod.ChaSttLim", + "11362": "Sys.AuxDcTyp", + "11363": "Metering.EnCntTm", + "11364": "Operation.AutoHzCtl", + "11365": "Inverter.VRtg", + "11366": "Inverter.HzRtg", + "11367": "Inverter.AcChaAMax", + "11368": "Operation.TmCtl.IsOn", + "11369": "Operation.TmCtl.StrTm", + "11370": "Operation.TmCtl.ActTm", + "11371": "Operation.TmCtl.RptCyc", + "11372": "ExtGridMs.TotA", + "11373": "ExtGridMs.ProLokTm", + "11374": "BatUsDm.DschProDmLim", + "11375": "BatUsDm.DschProDmMin", + "11376": "BatUsDm.BckDmMin", + "11377": "BatUsDm.SelfCsmpBrd", + "11378": "BatUsDm.SelfCsmpBrdMin", + "11379": "BatUsDm.MaxYldMth", + "11380": "BatUsDm.SanModAct", + "11381": "GnDmdBatCha.OnLim", + "11382": "GnDmdBatCha.OffLim", + "11383": "GnDmdBatCha.AddTm.StopTm", + "11384": "Operation.HzRtg", + "11385": "Gn.DmdMod", + "11386": "GnDmdW.WAvTm", + "11387": "Operation.MinRunTm", + "11388": "Operation.MinStopTm", + "11389": "Operation.CoolTm", + "11390": "Operation.FltStopTm", + "11391": "Operation.WrmTm", + "11392": "GnDmdTm.IsOn", + "11393": "GnDmdTm.StrTm", + "11394": "GnDmdTm.RunTm", + "11395": "GnDmdTm.RptCyc", + "11396": "GnDmdChaMod.ChaMod", + "11397": "GnDmdDigIn.DigInRea", + "11398": "Operation.RmgMinRunTm", + "11399": "Operation.ALimMod", + "11400": "Operation.GnFltDet", + "11401": "PubGri.ExtGriAMax", + "11402": "PubGri.FeedPerm", + "11403": "SltMod.IsOn", + "11404": "PubGri.PwrMon.RvPwrMax", + "11405": "PubGri.PwrMon.RvPwrMaxTms", + "11406": "ExtGri.StrPvFeedTm", + "11407": "ExtGri.StopPvFeedTm", + "11408": "BatUsDm.ChaSttFeedAct", + "11409": "BatUsDm.ChaSttFeedIna", + "11410": "PubGri.GriDmdBatCha.IsOn", + "11411": "PubGri.GriDmdBatCha.OnLim", + "11412": "PubGri.GriDmdBatCha.OffLim", + "11413": "PubGri.GriDmdBatCha.AddTm.StopTm", + "11414": "PubGri.GriDmdW.IsOn", + "11415": "PubGri.GriDmdW.WOn", + "11416": "PubGri.GriDmdW.WOff", + "11417": "PubGri.ManCtl", + "11418": "PubGri.GriDmdChaMod.ChaMod", + "11419": "LodShd1.ChaStrLim", + "11420": "LodShd1.ChaStopLim", + "11421": "LodShd1.AddTm.StopTm", + "11422": "LodShd2.ChaStrLim", + "11423": "LodShd2.ChaStopLim", + "11424": "LodShd2.AddTm.StopTm", + "11425": "MltFncSw.Tmr.TmCtlStr", + "11426": "MltFncSw.Tmr.TmCtlOn", + "11427": "MltFncSw.Tmr.TmCtlCyc", + "11428": "MltFncSw.OpModeSlv1", + "11429": "MltFncSw.OpModeSlv2", + "11430": "MltFncSw.BatFanTmp", + "11431": "MltFncSw.SttSlv1", + "11432": "MltFncSw.SttSlv2", + "11433": "DigIn.OpMod", + "11434": "GriSw.StrDet.WMin", + "11435": "GriSw.StrDet.WMinTmms", + "11436": "GriSw.StrDet.LokTms", + "11437": "Metering.MsItf1.SutEMS", + "11438": "Metering.MsItf2.SutEMS", + "11439": "Metering.MsItf3.SutEMS", + "11440": "Operation.SwOnRqt", + "11441": "PortalFnc.LodCmdLst", + "11442": "Inverter.VArModCfg.VArCtlVolCfg.Vol1Nom", + "11443": "Inverter.VArModCfg.VArCtlVolCfg.Vol2Nom", + "11444": "Bat.Diag.MsCapac", + "11445": "Bat.IstlMod", + "11446": "GnDmdBatCha.AddTm.OnLim", + "11447": "GnDmdBatCha.AddTm.OffLim", + "11448": "GnDmdBatCha.AddTm.StrTm", + "11449": "LodShd1.AddTm.ChaStopLim", + "11450": "LodShd2.AddTm.ChaStopLim", + "11451": "LodShd1.AddTm.ChaStrLim", + "11452": "LodShd2.AddTm.ChaStrLim", + "11453": "LodShd1.AddTm.StrTm", + "11454": "LodShd2.AddTm.StrTm", + "11455": "PubGri.GriDmdBatCha.AddTm.StrTm", + "11456": "PubGri.GriDmdBatCha.AddTm.OffLim", + "11457": "PubGri.GriDmdBatCha.AddTm.OnLim", + "11458": "Metering.PCCMs.PlntWSrc", + "11459": "Metering.PCCMs.PlntVArSrc", + "11460": "Metering.PCCMs.PlntW", + "11461": "Metering.PCCMs.PlntVAr", + "11462": "Inverter.DctMrk.VArModCfg.VArCtlComCfg.VArNomPrc", + "11463": "Inverter.DctMrk.WModCfg.WCtlComCfg.WNomPrc", + "11464": "Inverter.DctMrk.VArModCfg.PFCtlComCfg.PF", + "11465": "Inverter.DctMrk.VArModCfg.PFCtlComCfg.PFExt", + "11466": "Bat.ChaCtlComAval", + "11467": "InOut.AnOut.Func", + "11468": "InOut.AnOut.XVal1", + "11469": "InOut.AnOut.SigVal1", + "11470": "InOut.AnOut.XVal2", + "11471": "InOut.AnOut.SigVal2", + "11472": "InOut.AnOut.CurMsVal", + "11473": "InOut.DigOut.Func", + "11474": "InOut.DigOut.Stt", + "11475": "BatUsDm.SelfCsmpDmLim", + "11476": "Operation.ManRstr.IsOn", + "11477": "Operation.ManRstr.ManRstrOvVol", + "11478": "Operation.ManRstr.ManRstrUnVol", + "11479": "Operation.ManRstr.ManRstrHz", + "11480": "Nameplate.CmpBMS.SerNumTxt", + "11481": "Operation.ManRstr.ManRstrPID", + "11482": "Operation.ManRstr.ManRstrAID", + "11483": "Nameplate.DevId", + "11484": "Nameplate.ModelStr", + "11485": "Nameplate.URL", + "11486": "Nameplate.ComProt", + "11487": "Nameplate.MsValAcq", + "11488": "Operation.MNConn", + "11489": "Operation.CurMaxW", + "11490": "Inverter.CurWCtl", + "11491": "Metering.Csmp.TotVArIn", + "11492": "Operation.WDecMaxShrt", + "11493": "Metering.PvMs.TotVArOut", + "11494": "Metering.PvMs.TotVAOut", + "11495": "Operation.NotUsW", + "11496": "Sys.ComWdOut", + "11497": "Sys.ComWdIn", + "11498": "Metering.PvMs.DyWhFeed", + "11499": "Metering.PvMs.PreDyWhFeed", + "11500": "Metering.PvMs.MthWhFeed", + "11501": "Metering.PvMs.PreMthWhFeed", + "11502": "Metering.GnMs.DyWhFeed", + "11503": "Metering.GnMs.PreDyWhFeed", + "11504": "Metering.GnMs.MthWhFeed", + "11505": "Metering.GnMs.PreMthWhFeed", + "11506": "Metering.GridMs.PreDyWhFeed", + "11507": "Metering.GridMs.MthWhFeed", + "11508": "Metering.GridMs.PreMthWhFeed", + "11509": "Metering.GridMs.PreDyWhIn", + "11510": "Metering.GridMs.MthWhIn", + "11511": "Metering.GridMs.PreMthWhIn", + "11512": "Metering.Csmp.DyWhIn", + "11513": "Metering.Csmp.PreDyWhIn", + "11514": "Metering.Csmp.MthWhIn", + "11515": "Metering.Csmp.PreMthWhIn", + "11516": "Gn.TotFuelCsmp", + "11517": "Gn.EstFuelCsmp", + "11518": "Gn.TotW", + "11519": "Gn.MaxVA", + "11520": "Gn.TotVAr", + "11521": "Gn.MinW", + "11522": "PCC.TotW", + "11523": "PCC.TotVAr", + "11524": "Operation.NConn", + "11525": "Sys.SelfTst", + "11526": "Sys.InitOk", + "11527": "Spdwr.IgmpQryTx", + "11528": "Inverter.UtilCrvCfg.CrvModCfg2.CrvNum", + "11529": "Inverter.UtilCrvCfg.CrvModCfg2.CrvEna", + "11530": "Inverter.UtilCrvCfg.CrvModCfg2.EnaTrg", + "11531": "Inverter.UtilCrvCfg.CrvModCfg2.DsaTrg", + "11532": "Inverter.UtilCrvCfg.CrvModCfg2.TrgRef", + "11533": "Upd.Stt", + "11534": "Inverter.WCtlHzModCfg.WCtlHzCfg.WCtlTmms", + "11535": "Coolsys.AcCol.TmpVal", + "11536": "Coolsys.AcCol.TmpValMax", + "11537": "Coolsys.AcCol.TmpLim", + "11538": "Bat.StrgCnt", + "11539": "Bat.StrgCntAct", + "11540": "Trf.HiVol", + "11541": "Trf.HiA", + "11542": "Operation.Dmd.WSpt", + "11543": "SwCmp.CmpWebUsrItf.SwRev", + "11544": "Operation.Dmd.VASpt", + "11545": "Inverter.TotW", + "11546": "Inverter.TotVAr", + "11547": "Bat.LeakRis", + "11548": "Inverter.LeakRis", + "11549": "Inverter.RmgTms", + "11550": "Coolsys.BstConv.TmpVal", + "11551": "Coolsys.BstConv.TmpValMax", + "11552": "Metering.MsSpdwr.UsSerNumEN", + "11553": "SwCmp.CmpMainBlt.SwRev", + "11554": "SwCmp.CmpPreBlt.SwRev", + "11555": "Diag.ZnMon.Strg.MaxAmpNomDif", + "11556": "Diag.ZnMon.Strg.AvAmpNomDif", + "11557": "Diag.ZnMon.Strg.FltTm", + "11558": "DcCfg.Strg.AmpMax", + "11559": "Diag.ZnMon.AvgAmpDifFlt", + "11560": "Diag.ZnMon.FltTmEvt", + "11561": "Diag.ZnMon.CycTms", + "11562": "Diag.ZnMon.MinAmpAct", + "11563": "Inverter.DatLog", + "11564": "Inverter.PlntVw", + "11565": "Inverter.DiagLog", + "11566": "Sys.SelfTstDmd", + "11567": "GridMs.AvVol", + "11568": "Metering.BatMs.TotWOut", + "11569": "Metering.BatMs.TotWIn", + "11570": "Metering.BatMs.TotVArOut", + "11571": "Operation.BatDmd.CalcWCtl", + "11572": "Operation.BatDmd.CalcVArCtl", + "11573": "Operation.BatHealthStt.Ok", + "11574": "Bat.TotAvalCha", + "11575": "Bat.TotAvalDsch", + "11576": "Metering.BatMs.DyWhCha", + "11577": "Metering.BatMs.PreDyWhCha", + "11578": "Metering.BatMs.MthWhCha", + "11579": "Metering.BatMs.PreMthWhCha", + "11580": "Metering.BatMs.DyWhDsch", + "11581": "Metering.BatMs.PreDyWhDsch", + "11582": "Metering.BatMs.MthWhDsch", + "11583": "Metering.BatMs.PreMthWhDsch", + "11584": "Metering.BatMs.TotWhIn", + "11585": "Metering.BatMs.TotWhOut", + "11586": "Metering.GnMs.TotWhOut", + "11587": "GridMs.HzPrc", + "11588": "Spdwr.IgmpQryTms", + "11589": "Diag.DoFli", + "11590": "Operation.PrdCsmp", + "11591": "Operation.PrdCsmpUs", + "11592": "DtTm.SetDlSvTm", + "11593": "Nameplate.CmpWl.SwRev", + "11594": "Nameplate.CmpWl.HwRev", + "11595": "Nameplate.CmpWl.Rev", + "11596": "Nameplate.CmpWl.SwUpdRev", + "11597": "Nameplate.CmpWl.SerNum", + "11598": "Nameplate.CmpWl.SusyId", + "11599": "Nameplate.CmpWl.Typ", + "11600": "Operation.GrnLedWInd", + "11601": "Wl.SigPwr", + "11602": "Wl.ActlIp", + "11603": "Wl.ActlSnetMsk", + "11604": "Wl.ActlGwIp", + "11605": "Wl.ActlDnsSrvIp", + "11606": "Wl.ExsNetw", + "11607": "Wl.ConnStt", + "11608": "Wl.AntMod", + "11609": "Wl.IsOn", + "11610": "Wl.SoftAcsIsOn", + "11611": "Wl.Ssid", + "11612": "Wl.Psk", + "11613": "Wl.Cry", + "11614": "Wl.DoWPS", + "11615": "Wl.AutoCfgIsOn", + "11616": "Wl.Ip", + "11617": "Wl.SnetMsk", + "11618": "Wl.GwIp", + "11619": "Wl.DnsSrvIp", + "11620": "SwCmp.CmpTmZn.SwRev", + "11621": "Wl.DoAcq", + "11622": "Plnt.WRtg", + "11623": "InOut.AnIn.SigVal1", + "11624": "InOut.AnIn.YVal1", + "11625": "InOut.AnIn.SigVal2", + "11626": "InOut.AnIn.YVal2", + "11627": "Env.InsolSns.Crv0.MsSrc", + "11628": "Metering.GridMs.TotVArOut", + "11629": "Operation.PlntCtl.OpMode", + "11630": "Wl.CryWEPIdx", + "11631": "Wl.UsCh", + "11632": "Operation.WCtl.Stt", + "11633": "Operation.VArCtl.Stt", + "11634": "PCC.FlbInv.WMax", + "11635": "PCC.FlbInv.WMaxNom", + "11636": "Wl.AcqStt", + "11637": "Env.S0WndSpd", + "11638": "PwrCtlMdul.DigInGrp.Cfg", + "11639": "PwrCtlMdul.DigInGrp.WCnstCls", + "11640": "PwrCtlMdul.DigInGrp.VArTrt", + "11641": "Nameplate.WlMacId", + "11642": "Inverter.AprModCfg.AprMod", + "11643": "Inverter.AprModCfg.AprCnstCfg.PriBnd", + "11644": "Inverter.AprModCfg.AprCnstCfg.AprUp", + "11645": "Inverter.AprModCfg.AprCnstCfg.AprLo", + "11646": "Inverter.AprModCfg.AprCnstCfg.AprUpNom", + "11647": "Inverter.AprModCfg.AprCnstCfg.AprLoNom", + "11648": "Inverter.AprModCfg.AprCtlComCfg.PriBnd", + "11649": "Inverter.AprModCfg.AprCtlComCfg.AprUp", + "11650": "Inverter.AprModCfg.AprCtlComCfg.AprLo", + "11651": "Inverter.AprModCfg.AprCtlComCfg.AprUpNom", + "11652": "Inverter.AprModCfg.AprCtlComCfg.AprLoNom", + "11653": "Operation.Apr.AprAct", + "11654": "Operation.Apr.PsAprStt", + "11655": "Operation.Apr.NgAprStt", + "11656": "Operation.Apr.AprMax", + "11657": "Operation.Apr.AprDmd", + "11658": "Inverter.AprModCfg.AprCnstCfg.AprScd", + "11659": "Inverter.AprModCfg.AprCnstCfg.AprScdNom", + "11660": "Inverter.AprModCfg.AprCtlComCfg.AprScd", + "11661": "Inverter.AprModCfg.AprCtlComCfg.AprScdNom", + "11662": "SwCmp.CmpMain1.SwRev", + "11663": "Inverter.VArLimQ1", + "11664": "Inverter.VArLimQ2", + "11665": "Inverter.VArLimQ3", + "11666": "Inverter.VArLimQ4", + "11667": "Inverter.PFLimQ1", + "11668": "Inverter.PFLimQ2", + "11669": "Inverter.PFLimQ3", + "11670": "Inverter.PFLimQ4", + "11671": "Operation.WMaxInv", + "11672": "Inverter.AfciRbs", + "11673": "Inverter.VArModCfg.PFCtlComCfg.PFEEI", + "11674": "GridGuard.Cntry.VolCtl.MaxEff", + "11675": "GridGuard.Cntry.VolCtl.MaxEffTmms", + "11676": "GridGuard.Cntry.VolCtl.MinEff", + "11677": "GridGuard.Cntry.VolCtl.MinEffTmms", + "11678": "Metering.PvMs.TotkWhOutSet", + "11679": "InOut.AnIn.SigVal1NoUnt", + "11680": "InOut.AnIn.YVal1NoUnt", + "11681": "InOut.AnIn.SigVal2NoUnt", + "11682": "InOut.AnIn.YVal2NoUnt", + "11683": "InOut.AnIn.Func", + "11684": "Diag.AlrmEna", + "11685": "Operation.StrFltDet.Tol", + "11686": "Operation.StrFltDet.WrnTm", + "11687": "GridMs.TotPFEEI", + "11688": "Metering.PCCMs.SysVCalc", + "11689": "Metering.PCCMs.TotWOutCalc", + "11690": "Metering.PCCMs.TotVArOutCalc", + "11691": "Metering.GnMs.TotVArOut", + "11692": "GnMs.TotVArOut", + "11693": "BatMs.TotWOut", + "11694": "BatMs.TotWIn", + "11695": "BatMs.TotVArOut", + "11696": "Gn.AvalW", + "11697": "Wl.AntSet", + "11698": "Sys.NewDev", + "11699": "Inverter.UtilCrvCfg.Crv2.ActTms", + "11700": "InOut.S0ItfIn.Func", + "11701": "Inverter.UtilCrvCfg.Crv3.CrvTms", + "11702": "Inverter.UtilCrvCfg.Crv3.RmpDec", + "11703": "Inverter.UtilCrvCfg.Crv3.RmpInc", + "11704": "Inverter.UtilCrvCfg.Crv3.NumPt", + "11705": "Inverter.UtilCrvCfg.Crv3.XRef", + "11706": "Inverter.UtilCrvCfg.Crv3.YRef", + "11707": "Inverter.UtilCrvCfg.Crv3.XVal1", + "11708": "Inverter.UtilCrvCfg.Crv3.XVal2", + "11709": "Inverter.UtilCrvCfg.Crv3.XVal3", + "11710": "Inverter.UtilCrvCfg.Crv3.XVal4", + "11711": "Inverter.UtilCrvCfg.Crv3.XVal5", + "11712": "Inverter.UtilCrvCfg.Crv3.XVal6", + "11713": "Inverter.UtilCrvCfg.Crv3.XVal7", + "11714": "Inverter.UtilCrvCfg.Crv3.XVal8", + "11715": "Inverter.UtilCrvCfg.Crv3.YVal1", + "11716": "Inverter.UtilCrvCfg.Crv3.YVal2", + "11717": "Inverter.UtilCrvCfg.Crv3.YVal3", + "11718": "Inverter.UtilCrvCfg.Crv3.YVal4", + "11719": "Inverter.UtilCrvCfg.Crv3.YVal5", + "11720": "Inverter.UtilCrvCfg.Crv3.YVal6", + "11721": "Inverter.UtilCrvCfg.Crv3.YVal7", + "11722": "Inverter.UtilCrvCfg.Crv3.YVal8", + "11723": "Inverter.UtilCrvCfg.CrvModCfg3.CrvNum", + "11724": "Inverter.WCtlHzModCfg.WCtlUnHzCfg.HzStr", + "11725": "Inverter.WCtlHzModCfg.WCtlUnHzCfg.WGra", + "11726": "Inverter.WModCfg.WCtlComCfg.W.phsA", + "11727": "Inverter.WModCfg.WCtlComCfg.W.phsB", + "11728": "Inverter.WModCfg.WCtlComCfg.W.phsC", + "11729": "Inverter.VArModCfg.VArCtlComCfg.VArSpt.phsA", + "11730": "Inverter.VArModCfg.VArCtlComCfg.VArSpt.phsB", + "11731": "Inverter.VArModCfg.VArCtlComCfg.VArSpt.phsC", + "11732": "Inverter.CtlComCfg.CtlMsSrc", + "11733": "Inverter.CtlComCfg.PhsCtlMod", + "11734": "Inverter.GriOffOpMod", + "11735": "Inverter.DclVolSptMin", + "11736": "Plnt.WMaxNom", + "11737": "InOut.DigIn.CurWCtlNom", + "11738": "InOut.AnIn.CurWCtlNom", + "11739": "Inverter.CurWCtlComNom", + "11740": "Inverter.CurWCtlDrkNom", + "11741": "Inverter.CurWCtlMinNom", + "11742": "Inverter.CurWCtlNom", + "11743": "Operation.Nameplate.MainModel", + "11744": "Operation.Alm", + "11745": "Operation.FuncExe", + "11746": "Operation.FabMod", + "11747": "Operation.Clb.TotWRng", + "11748": "Operation.Clb.TotWLim", + "11749": "Operation.Clb.TotW", + "11750": "Operation.Clb.PhVRng", + "11751": "Operation.Clb.PhV", + "11752": "Operation.Clb.DclVolRng", + "11753": "Operation.Clb.DclVol", + "11754": "Operation.Clb.DcVolRng", + "11755": "Operation.Clb.DcVol", + "11756": "Operation.FuncEna", + "11757": "Operation.PvMod", + "11758": "Operation.Nameplate.Vendor", + "11759": "Operation.Nameplate.SerNum", + "11760": "Operation.Nameplate.Model", + "11761": "Operation.Wrn", + "11762": "Operation.MnoStr", + "11763": "Mb.UntId", + "11764": "Nameplate.CmpOS.HwVer", + "11765": "Nameplate.CmpPvPro.HwVer", + "11766": "Nameplate.CmpProtConv.HwVer", + "11767": "Nameplate.CmpMdul.HwVer", + "11768": "Nameplate.CmpMdul2.HwVer", + "11769": "Nameplate.CmpBMS.HwVer", + "11770": "Nameplate.CmpGriMon.HwVer", + "11771": "Nameplate.CmpWl.HwVer", + "11772": "Inverter.UtilCrvCfg.Crv0.ActTms", + "11773": "Wl.Sec.Ssid", + "11774": "Wl.Sec.Psk", + "11775": "Wl.Sec.Cry", + "11776": "Nsd.IsOn", + "11777": "Nsd.ExsDev", + "11778": "Env.TmpVal.Func", + "11779": "Mdul.TmpVal.Func", + "11780": "Nameplate.CmpMain.HwVer", + "11781": "Nameplate.CmpCom.HwVer", + "11782": "Nameplate.CmpFltASw.HwVer", + "11783": "Nameplate.CmpDisp.HwVer", + "11784": "Nameplate.CmpSigProc.HwVer", + "11785": "Nameplate.CmpRS485.HwVer", + "11786": "Nameplate.CmpZb.HwVer", + "11787": "Nameplate.CmpBt.HwVer", + "11788": "Metering.GridMs.PhV.phsA", + "11789": "Metering.GridMs.PhV.phsB", + "11790": "Metering.GridMs.PhV.phsC", + "11791": "Metering.GridMs.W.phsA", + "11792": "Metering.GridMs.W.phsB", + "11793": "Metering.GridMs.W.phsC", + "11794": "Metering.GridMs.WIn.phsA", + "11795": "Metering.GridMs.WIn.phsB", + "11796": "Metering.GridMs.WIn.phsC", + "11797": "Metering.GridMs.VAr.phsA", + "11798": "Metering.GridMs.VAr.phsB", + "11799": "Metering.GridMs.VAr.phsC", + "11800": "Metering.GridMs.TotVAr", + "11801": "Nameplate.CmpBMS.HwRevStr", + "11802": "Nameplate.CmpBMS.PrtNum", + "11803": "Operation.CmpBMS.OpStt", + "11804": "BatChrg.ActBatChrg", + "11805": "Bat.ChaCtlComStt", + "11806": "Bat.Diag.ActlCapac", + "11807": "Inverter.WModCfg.WCtlComCfg.FlbWSpt", + "11808": "Inverter.WModCfg.WCtlComCfg.TmsOut", + "11809": "Bat.ChaSttAbs", + "11810": "PCC.ARtgMod", + "11811": "BatUsDm.WCtlComCfg.BatChaSttMin", + "11812": "BatUsDm.WCtlComCfg.BatChaSttMax", + "11813": "PCC.SelfCsmp.GridWChaSpt", + "11814": "PCC.SelfCsmp.GridWDschSpt", + "11815": "Bat.AvailBatChrg", + "11816": "Bat.AvailBatDsch", + "11817": "Bat.EnvTmp", + "11818": "Bat.EnaStt", + "11819": "Bat.ThmPwrDmd", + "11820": "Bat.DCBusVtg", + "11821": "Bat.DCBusW", + "11822": "Bat.LDSupVtg", + "11823": "Bat.ThmMgtSupVtg", + "11824": "Operation.CmpBMS.OpMode", + "11825": "RS485.ConnSpd", + "11826": "RS485.AqcTms", + "11827": "RS485.DevCnt", + "11828": "Operation.SysRs", + "11829": "Operation.StrDevAqc", + "11830": "Operation.CntDevAqc", + "11831": "WebConn.OptKpAlvTms", + "11832": "Inverter.OpSttDSP", + "11833": "Inverter.VArDmdVArMax", + "11834": "Operation.StrFltDet.ChGrp", + "11835": "Operation.StrFltDet.ChStrgNum", + "11836": "Operation.StrFltDet.SnsLvl", + "11837": "Inverter.WModCfg.WCtlComCfg.WPrc.phsA", + "11838": "Inverter.WModCfg.WCtlComCfg.WPrc.phsB", + "11839": "Inverter.WModCfg.WCtlComCfg.WPrc.phsC", + "11840": "Inverter.VArModCfg.VArCtlComCfg.VArPrc.phsA", + "11841": "Inverter.VArModCfg.VArCtlComCfg.VArPrc.phsB", + "11842": "Inverter.VArModCfg.VArCtlComCfg.VArPrc.phsC", + "11843": "Inverter.SymModCfg.SymMod", + "11844": "Coolsys.PwrCir.TmpVal", + "11845": "Coolsys.PwrCir.TmpValMax", + "11846": "Operation.QCGStt", + "11847": "Inverter.ASTType", + "11850": "Bat.BatVTyp", + "11851": "Inverter.AcVHzTyp", + "11852": "Inverter.Clt.Typ", + "11853": "Inverter.Clt.Sys", + "11854": "Inverter.Clt.CltMod", + "11855": "Inverter.Clt.Addr", + "11856": "Inverter.SysFncSel", + "11857": "GridGuard.EzaTyp", + "11858": "Operation.Cfg.QCG", + "11859": "Inverter.WModCfg.WCtlComCfg.WMaxInNomPrc", + "11860": "Inverter.WModCfg.WCtlComCfg.WMaxIn", + "11861": "Inverter.CtlComCfg.WCtlCom.FlbWMaxInNom", + "11862": "PCC.WMaxAct", + "11863": "Operation.Clb.ClbMod", + "11864": "Operation.Clb.VAr", + "11865": "Operation.LocCrdLong", + "11866": "Operation.LocCrdLat", + "11867": "Operation.RefTmMax", + "11868": "Operation.TrkDifMin", + "11869": "Operation.TolElev", + "11870": "Operation.SensBckX", + "11871": "Operation.SensBckY", + "11872": "Operation.ElevLim", + "11873": "Operation.TypSel", + "11874": "Operation.LastOvRide", + "11875": "Operation.AziMotAMax", + "11876": "Operation.ElevMotAMax", + "11877": "Operation.ElevAActl", + "11878": "Operation.AziAActl", + "11879": "Operation.AziActl", + "11880": "Operation.ElevActl", + "11881": "Operation.TrtAzi", + "11882": "Operation.TrtElev", + "11883": "Operation.EndPosX", + "11884": "Operation.SupV", + "11885": "Operation.OvRideCnt", + "11886": "Operation.RemOp", + "11888": "Inverter.Clt.SerNumDev1", + "11889": "Inverter.Clt.SerNumDev2", + "11890": "Inverter.Clt.PhsDev1", + "11891": "Inverter.Clt.PhsDev2", + "11892": "Operation.LastTmSyn", + "11893": "Operation.DevPwd", + "11894": "Operation.RefErrMax", + "11895": "Operation.StrTms", + "11896": "Operation.RemStep", + "11897": "Operation.ElevOfs", + "11898": "Wl.SoftAcsConnStt", + "11899": "Operation.DrpCtlStt", + "11900": "Inverter.AcDschAMax", + "11901": "SelfCsmp.A.BatChrg", + "11902": "SelfCsmp.A.BatDsch", + "11903": "Inverter.FrqCtl.Max", + "11904": "Inverter.FrqCtl.Min", + "11905": "Inverter.VolCtl.Max", + "11906": "Inverter.VolCtl.Min", + "11907": "BatChrg.BatChrgSetA", + "11908": "BatDsch.BatDschSetA", + "11909": "Metering.PvChaMs.SiChaPvPwr", + "11910": "MltClt.TotWIn", + "11911": "MltClt.TotWOut", + "11912": "Bat.Diag.SocFrqDstr", + "11913": "Gn.ACtl.Max", + "11914": "EEBus.SKI", + "11915": "Operation.ExARtg", + "11916": "Nameplate.CmpBUC.SwRev", + "11917": "Nameplate.CmpBUC.HwVer", + "11918": "Nameplate.CmpBUC.Rev", + "11919": "Nameplate.CmpBUC.SerNum", + "11920": "Nameplate.CmpBUC.SusyId", + "11921": "Nameplate.CmpBIM.SwRev", + "11922": "Nameplate.CmpBIM.HwVer", + "11923": "Nameplate.CmpBIM.Rev", + "11924": "Nameplate.CmpBIM.SerNum", + "11925": "Nameplate.CmpBIM.SusyId", + "11926": "DevUpd.AutoUpdTm", + "11927": "GridGuard.Cntry.VolCtl.RproEna", + "11928": "GridGuard.Cntry.VldTm", + "11929": "ExtGridMs.HzMin", + "11930": "ExtGridMs.HzMax", + "11931": "Inverter.AcChaA", + "11932": "Inverter.AcDschA", + "11933": "Inverter.Addr", + "11934": "Operation.AziOfs", + "11937": "Operation.MsAvCnt", + "11938": "Operation.El2Lim", + "11939": "Operation.El2StrDt", + "11940": "Operation.El2EndDt", + "11941": "Operation.Lim2Ang", + "11942": "Operation.Lim2StrDt", + "11943": "Operation.Lim2EndDt", + "11944": "Operation.FxEl", + "11945": "Operation.FxAng2", + "11946": "Operation.FxAzi", + "11947": "Operation.FxAng1", + "11948": "Operation.FxClrPos", + "11949": "Operation.HyTrackFactX", + "11950": "Operation.HyTrackFactY", + "11951": "Operation.HyTrackJmpWid", + "11952": "Operation.HyTrack_V1", + "11953": "Operation.HyTrack_V2", + "11954": "Operation.HyTrack_V3", + "11955": "Operation.HyTrack_V4", + "11956": "Operation.HyTrack_Xincl", + "11957": "Operation.HyTrack_Yincl", + "11958": "Operation.HyTrack_Rot", + "11959": "Operation.HyTrack_Temp", + "11960": "Operation.HyTrack", + "11961": "Operation.TrkTm", + "11962": "Operation.FailTm", + "11963": "Operation.NightAng", + "11964": "Operation.MotAActl1", + "11965": "Operation.MotAActl2", + "11966": "Operation.MotAMax1", + "11967": "Operation.MotAMax2", + "11968": "Operation.ActlAng1", + "11969": "Operation.ActlAng2", + "11970": "Operation.TgtAng1", + "11971": "Operation.TgtAng2", + "11972": "Operation.DrvEna", + "11973": "Bat.Diag.OcvPtCnt", + "11974": "MltFncSw.SttMstr", + "11975": "Cha.ActChrgMod", + "11976": "Operation.RsCntDev", + "11977": "Operation.OpMode", + "11978": "Operation.TrkErr", + "11979": "Bat.Diag.CntWrnOvV", + "11980": "Bat.Diag.CntErrOvV", + "11981": "Bat.Diag.CntWrnSOCLo", + "11982": "Operation.Addr", + "11983": "Bat.ChaSttArr", + "11984": "Bat.Diag.ActlCapacNomArr", + "11985": "Bat.Diag.ActlCapacArr", + "11986": "Bat.ChaSttAbsArr", + "11987": "Bat.CapacRtgWhArr", + "11988": "BatChrg.CurBatChaArr", + "11989": "BatDsch.CurBatDschArr", + "11990": "BatChrg.BatChrgArr", + "11991": "BatDsch.BatDschArr", + "11992": "BatChrg.AbsBatChrgArr", + "11993": "BatDsch.AbsBatDschArr", + "11994": "BatDsch.ActBatDschArr", + "11995": "BatChrg.BatChrgSetArr", + "11996": "BatDsch.BatDschSetArr", + "11997": "Bat.Diag.ActlCapacNomOvArr", + "11998": "BatChrg.ActBatChrgArr", + "11999": "ExtGridMs.ExSwV", + "12000": "MltClt.StrComTest", + "12001": "MltClt.SttComTest", + "12002": "Bat.BatCurSnsTyp", + "12003": "Bat.BatCurGain50", + "12004": "Bat.BatCurGain60", + "12005": "ExtGridMs.ExVHiRes", + "12006": "Metering.GridMs.TotWInPk", + "12007": "Metering.GridMs.TotWOutPk", + "12008": "GridGuard.Cntry.AISens", + "12009": "Gn.CurCtlMod", + "12010": "Operation.Ac2NSel", + "12011": "Metering.GridMs.MsSrcSel", + "12012": "MltClt.TotLodW", + "12013": "DcCfg.PanLevCtl.SerNum", + "12014": "DcCfg.PanLevCtl.PlntId", + "12015": "DcCfg.PanLevCtl.SwRev", + "12016": "DcCfg.PanLevCom.SerNum", + "12017": "DcCfg.PanLevMdul.Lbl", + "12018": "DcCfg.PanLevMdul.SerNum", + "12019": "DcCfg.PanLevStrg.Lbl", + "12020": "DcCfg.PanLevMdul.Model", + "12021": "DcMs.PanLevMdul.Vol", + "12022": "DcMs.PanLevMdul.Amp", + "12023": "DcMs.PanLevMdul.Watt", + "12024": "DcMs.PanLevMdul.Tmp", + "12025": "DcMs.PanLevMdul.SigPwr", + "12026": "Operation.PanLevMdul.Health", + "12027": "Operation.PanLevCtl.Health", + "12028": "Operation.PanLevCom.Health", + "12029": "Metering.PanLevMdul.WhOut", + "12030": "Inverter.FrqDrp", + "12031": "Inverter.VtgDrp", + "12032": "ExtGridMs.HzHiRes", + "12033": "Operation.CmpBUC.Health", + "12034": "Operation.CmpBIM.Health", + "12035": "Nameplate.CmpMain.HwRevStrg", + "12036": "Metering.Mb.EnMtrSerNumTxt", + "12037": "Metering.EnMtrTyp", + "12038": "Bat.Clb.BatCurSns", + "12039": "Metering.Mb.EnMtrTyp", + "12040": "Operation.RSSOpMode", + "12041": "DcCfg.PanLevStrg.MPPTrk", + "12042": "DcCfg.PanLevStrg.MdulCnt", + "12043": "DcCfg.PanLevStrg.OptCnt", + "12044": "DcCfg.PanLevCtl.RSSFnc", + "12045": "DcMs.PanLevCtl.CfgStt", + "12046": "DcCfg.PanLevCtl.Model", + "12047": "DcCfg.PanLevCom.Model", + "12048": "DcCfg.PanLevCom.SwRev", + "12049": "DcCfg.PanLevMdul.SwRev", + "12050": "MltFncSw.AuxLodCtl.MinTmm", + "12051": "MltFncSw.AuxLodCtl.VtgDif", + "12052": "Metering.Mb.Health", + "12053": "DcCfg.PanLevCom.GwCnt", + "12054": "Eps.Vset", + "12055": "Bck.Vset", + "12056": "Bck.VolCtl.hhLim", + "12057": "Bck.VolCtl.hhLimTmms", + "12058": "Bck.VolCtl.hLim", + "12059": "Bck.VolCtl.hLimTmms", + "12060": "Bck.VMinBckStrt", + "12061": "Bck.SwStt", + "12062": "Bck.ComHealth", + "12063": "Bck.BckBoxOpMod", + "12064": "Bck.RdtSw", + "12065": "Bck.PhsCpl", + "12066": "Bck.NGnd", + "12067": "Bck.HiChaSttDrtInv", + "12068": "Bck.SwAcknTmms", + "12069": "Bck.SwOnVMin", + "12070": "Bck.SwOnVminTmms", + "12071": "Bck.VRmpTmms", + "12072": "Operation.RstBatCfg", + "12073": "Operation.DCInCfg", + "12074": "Operation.CanTstMod", + "12075": "DcCfg.PanLevMdul.HwRev", + "12076": "DcCfg.PanLevCom.HwRev", + "12077": "Bck.TmpLim", + "12078": "DcMs.PanLevCtl.OptFnd", + "12079": "DcMs.PanLevCtl.GwFnd", + "12080": "PCC.PPO.FuncEna", + "12081": "PCC.PPO.ChrgW", + "12082": "PCC.PPO.DschW", + "12083": "PCC.PPO.StrTm", + "12084": "PCC.PPO.StopTm", + "12085": "PCC.PPO.DtSel", + "12086": "PCC.PPO.OpMod", + "12087": "PCC.PPO.Nam", + "12088": "BatUsDm.PPO.TOURng", + "12089": "BatUsDm.PPO.PLSRng", + "12090": "Metering.EnMtrARtg", + "12091": "Metering.GridMs.TotPF", + "12092": "Metering.GridMs.A.phsA", + "12093": "Metering.GridMs.A.phsB", + "12094": "Metering.GridMs.A.phsC", + "12095": "Metering.GridMs.VA.phsA", + "12096": "Metering.GridMs.VA.phsB", + "12097": "Metering.GridMs.VA.phsC", + "12098": "Metering.GridMs.Hz", + "12099": "Metering.GridMs.PhV.phsC2A", + "12100": "Metering.GridMs.PhV.phsA2B", + "12101": "Metering.GridMs.PhV.phsB2C", + "12102": "Metering.GridMs.TotVA", + "12103": "PCC.SelfCsmp.GridWSpt", + "12104": "Bck.VFreMonEna", + "12105": "CmpMdul.RS485Mod", + "12106": "CmpMdul2.RS485Mod", + "12107": "RS485.RS485Mod", + "12108": "AcCfg.HzSpt", + "12109": "AcCfg.AcVolSpt", + "12110": "DcCfg.DcSrc.Ri", + "12111": "DcCfg.DcSrc.OCV", + "12112": "GridGuard.Cntry.LeakAMax", + "12113": "GridGuard.Cntry.LeakRisAMax", + "12114": "CelMdm.IsOn", + "12115": "CelMdm.Do", + "12116": "CelMdm.IMEI", + "12117": "CelMdm.SimCard.ICCID", + "12118": "Operation.CelMdm.Health", + "12119": "Operation.CelMdm.SigPwr", + "12120": "Operation.CelMdm.MNP", + "12121": "Portal.EnnexOS.IsOn", + "12122": "Portal.EnnexOS.Do", + "12123": "Operation.EnnexOS.Health", + "12124": "RS485.Term", + "12125": "Metering.Mb.SwRev", + "12126": "CelMdm.ConnFllbkTmm", + "12127": "Operation.CelMdm.ConnStt", + "12128": "Portal.EnnexOS.ConnStt", + "12129": "Operation.RSSSigTest", + "12130": "Operation.RSSTrgTest", + "12131": "CelMdm.SwRev", + "12132": "WebConn.SwRev", + "12133": "GridGuard.Cntry.RCDOpStop", + "12134": "Sys.EthDiag", + "12135": "Inverter.CurVArCtlNom", + "12136": "Operation.LabMod.IsOn", + "12137": "Inverter.CurVArCtlMinNom", + "12138": "GridGuard.Cntry.VolCtl.Cor", + "12139": "GridGuard.Cntry.VolCtl.CorTmms", + "12140": "GridGuard.Cntry.FrqCtl.Cor", + "12141": "GridGuard.Cntry.FrqCtl.CorTmms", + "12142": "GridGuard.Cntry.AMaxOfs.Cor", + "12143": "GridGuard.Cntry.AMaxOfs.CorTmms", + "12144": "Inverter.GraCtlTmCor", + "12145": "Sys.ComDiag", + "12146": "Operation.SIS.IsOn", + "12147": "Portal.EnnexOS.EthWifi.UpldCyc", + "12148": "Portal.EnnexOS.CelMdm.UpldCyc", + "12149": "Portal.EnnexOS.AvValTyp", + "12150": "Bck.BckModLodDeAct", + "12151": "Inverter.VArModCfg.VArCtlVolCfg.Crv.NumPt", + "12152": "Inverter.VArModCfg.VArCtlVolCfg.WMax", + "12153": "Inverter.VArModCfg.VArNomRefMod", + "12154": "Inverter.NumPvStrg", + "12155": "Inverter.NumPhs", + "12156": "Inverter.VArModCfg.VArCtlVolCfg.VolMod", + "12157": "Inverter.VArModCfg.VArCtlVolCfg.Crv.XVal", + "12158": "Inverter.VArModCfg.VArCtlVolCfg.Crv.YVal", + "12159": "Inverter.VArModCfg.VArCtlVolCfg.VArMax", + "12160": "Inverter.VArModCfg.VArCtlVolCfg.VArLimMod", + "12161": "Inverter.VArModCfg.VArCtlVolCfg.VArTms95", + "12162": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.Vol", + "12163": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.AutnAdjMod", + "12164": "Inverter.VArModCfg.FlbVArMod", + "12165": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.Flb", + "12166": "Inverter.VArModCfg.VArCtlVolCfg.Lok.On", + "12167": "Inverter.VArModCfg.VArCtlVolCfg.Lok.Off", + "12168": "Inverter.VArModCfg.VArCtlVolCfg.Lok.EnaTms", + "12169": "Inverter.VArModCfg.VArCtlVolCfg.Lok.DsaTms", + "12170": "Metering.PCCMs.PlntPhV.phsA", + "12171": "Metering.PCCMs.PlntPhV.phsB", + "12172": "Metering.PCCMs.PlntPhV.phsC", + "12173": "Operation.CurCtlMod", + "12174": "Can.SIComCtl", + "12175": "Operation.VArCpn", + "12176": "Spdwr.Cry", + "12177": "Inverter.VArModCfg.VArCtlVolCfg.Crv.NumPtMax", + "12178": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.AutnAdjTms", + "12179": "Isolation.FuncEna", + "12180": "Inverter.WMaxOutRtg", + "12181": "Inverter.WMaxInRtg", + "12182": "Inverter.WMinOutRtg", + "12183": "Inverter.WMinInRtg", + "12184": "Inverter.VArMaxQ1Rtg", + "12185": "Inverter.VArMaxQ2Rtg", + "12186": "Inverter.VArMaxQ3Rtg", + "12187": "Inverter.VArMaxQ4Rtg", + "12188": "Inverter.PFMinQ1Rtg", + "12189": "Inverter.PFMinQ2Rtg", + "12190": "Inverter.PFMinQ3Rtg", + "12191": "Inverter.PFMinQ4Rtg", + "12192": "Inverter.VAMaxOutRtg ", + "12193": "Inverter.VAMaxInRtg", + "12194": "Inverter.WMaxOut", + "12195": "Inverter.WMaxIn", + "12196": "Inverter.WMinOut", + "12197": "Inverter.WMinIn", + "12198": "Inverter.VAMaxOut", + "12199": "Inverter.VAMaxIn", + "12200": "Inverter.VArMaxQ1", + "12201": "Inverter.VArMaxQ2", + "12202": "Inverter.VArMaxQ3", + "12203": "Inverter.VArMaxQ4", + "12204": "Inverter.VArMaxZerWQ1", + "12205": "Inverter.VArMaxZerWQ2", + "12206": "Inverter.VArMaxZerWQ3", + "12207": "Inverter.VArMaxZerWQ4", + "12208": "Inverter.PFMinQ1", + "12209": "Inverter.PFMinQ2", + "12210": "Inverter.PFMinQ3", + "12211": "Inverter.PFMinQ4", + "12212": "Card.PanLevLog", + "12213": "Metering.GridMs.AbsWhOut", + "12214": "Metering.GridMs.AbsWhIn", + "12223": "Inverter.VArModCfg.PFCnstCfg.PFOut", + "12224": "Inverter.VArModCfg.PFCnstCfg.PFExtOut", + "12225": "Inverter.VArModCfg.PFCnstCfg.PFIn", + "12226": "Inverter.VArModCfg.PFCnstCfg.PFExtIn", + "12227": "Inverter.VArModCfg.PFCfg.WFilTmEna", + "12228": "Inverter.VArModCfg.PFCfg.WFilTms", + "12229": "Inverter.VArModCfg.PFCfg.VArTmEna", + "12230": "Inverter.VArModCfg.PFCfg.VArTms", + "12231": "Inverter.VArModCfg.PFCfg.VArGraEna", + "12232": "Inverter.VArModCfg.PFCfg.VArGraPos", + "12251": "GridGuard.Cntry.GFCI.GFCILim.GFCILim", + "12252": "GridGuard.Cntry.GFCI.GFCILim.GFCILimEna", + "12258": "Inverter.VArModCfg.PFCfg.VArGraNeg", + "12804": null, + "12807": null, + "20000": "StrD1", + "29999": "StopD1", + "130001": "EvtMon", + "130002": "AlmGriMgt", + "130003": "WaitTmAftFrstOcc", + "130004": "SetPtMon", + "130005": "SetPtMonDesc", + "130006": "SetPtMonUpLim", + "130007": "SetPtMonLowLim", + "130008": "PerfRatMon", + "130009": "PerfRatMonDesc", + "130010": "PerfRatMonLowLim", + "130011": "BasCustMsgRept", + "130012": "BasCustMsgReptDesc", + "130013": "BasCustMsgReptLev", + "130014": "BasCustMsgReptCat", + "200002": "GriCsmp", + "200003": "GriFeedIn", + "200004": "EvtCompAlm", + "200005": "EvtPerfRatAlm", + "200006": "CompAlmMail", + "200007": "CompAlmMailInf", + "200008": "InvCompStt", + "200010": "Deb", + "200011": "DeviceState", + "200012": "TmpIn", + "200013": "OnlNotEmtRept", + "200014": "ProdGrpIOSys", + "200015": "ProdGrpMonCtl", + "200016": "ProdGrpSnsTec", + "200017": "ProdGrpMdulInv", + "200018": "ProdGrpCtrInv", + "200019": "ProdGrpDCTec", + "200020": "ProdGrpDCOpt", + "200021": "EvtUsrCreaBy", + "200022": "EvtUsrDltBy", + "200023": "EvtUsrEdtBy", + "200024": "EvtParaChgInit", + "200025": "Data Manager M", + "200026": "PrtlNam", + "200027": "SpcAcPwr", + "200028": "EvtSptChgVal", + "200029": "PwrFeedIn", + "200030": "PwrCsmp", + "200031": "ConfMsgInvalVal", + "200032": "BasInfRept", + "200033": "InfReptDesc", + "200034": "TmpIn1", + "200035": "TmpIn2", + "200036": "TmpIn3", + "200037": "TmpIn4", + "200038": "TmpIn5", + "200039": "TmpIn6", + "200040": "NamMr", + "200041": "NamMrs", + "200042": "UsrRole", + "200043": "Admin", + "200044": "UsrRole.Admin", + "200045": "InOut.DigIn.VArSpt", + "200046": "Inverter.VArSpt", + "200047": "EvtFllBkDurInvSpt", + "200048": "EvtConSpt", + "200049": "EvtCfgMsgInvVal", + "200050": "EvtZerYldAlm", + "200051": "ComMonFlt", + "200052": "TxRept", + "200053": "SatelliteSns", + "200056": "ComMonAlm", + "200057": "DescComMon", + "200058": "ComMonMsg", + "200059": "ComMonMsgClr", + "200060": "EvtDevDltByUsr", + "200061": "EvtNewDevRgst", + "200062": "ComMonMsgRmd", + "200064": "UniDirEnMtrFeed", + "200065": "BiDirEnMtrSepChn", + "200067": "ActReaPwrTxt", + "200068": "ActVDepReaPwrTxt", + "200070": "UniDirEnMtrCsmp", + "200071": "BiDirEnMtr", + "200072": "EvtComFltDev", + "200073": "EvtDevFlt", + "200080": "ProdGrpChaSta", + "210000": "Metering.PCCMs.PlntWh", + "210001": "Metering.PCCMs.PlntCsmpWh", + "210002": "Metering.PCCMs.PlntCsmpW", + "210004": "InOut.DigoutGrp1", + "210005": "InOut.TmpIn", + "210006": "Measurement.Metering.PCCMs.PlntPhV.phsA", + "210007": "Measurement.Metering.PCCMs.PlntPhV.phsB", + "210008": "Measurement.Metering.PCCMs.PlntPhV.phsC", + "210009": "Measurement.Metering.PCCMs.PlntPF", + "210010": "Metering.GridMs.TotWhOut.PV", + "210011": "Metering.GridMs.TotWhOut.Bat", + "210012": "Metering.GridMs.TotWOut.PV", + "210013": "Metering.GridMs.TotWOut.Bat", + "210014": "Metering.GridMs.TotWhIn.Bat", + "210015": "Metering.GridMs.TotWIn.Bat", + "210016": "GridMs.TotW.PV", + "210017": "Measurement.Inverter.CurWCtlMinNom", + "210018": "Measurement.Inverter.CurWCtlNom", + "210019": "Measurement.Metering.PCCMs.PlntCsmpW", + "210020": "Measurement.Metering.PCCMs.PlntW", + "210021": "Measurement.Inverter.CurVArCtlNom", + "210022": "Measurement.Inverter.CurVArCtlMinNom", + "210035": "Measurement.Env.PlntExSnsInsol", + "210036": "Measurement.Env.PlntHorWndSpd", + "210037": "Measurement.Env.PlntEnvTmpVal", + "210038": "Measurement.Env.PlntMdulTmpVal", + "16777213": "NaNStt", + "16777214": "EndOfTagLst", + "16777216": "TxTstTo", + "16777217": "Spt", + "16777218": "ActlVal", + "16777219": "ActPwr" +} diff --git a/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json b/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json new file mode 100644 index 0000000..2a0005f --- /dev/null +++ b/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json @@ -0,0 +1,5819 @@ +{ + "6180_08414B00": { + "Prio": 2, + "TagId": 76, + "TagIdEvtMsg": 10113, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6100_00418000": { + "Prio": 2, + "TagId": 153, + "TagIdEvtMsg": 10109, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08414900": { + "Prio": 2, + "TagId": 297, + "TagIdEvtMsg": 10112, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6180_08414A00": { + "Prio": 2, + "TagId": 335, + "TagIdEvtMsg": 10111, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6100_00412000": { + "Prio": 2, + "TagId": 35, + "TagIdEvtMsg": 10083, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411E00": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 10081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411F00": { + "Prio": 2, + "TagId": 455, + "TagIdEvtMsg": 10082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6402_00618D00": { + "Prio": 3, + "TagId": 103, + "TagIdEvtMsg": 10013, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6400_00618C00": { + "Prio": 3, + "TagId": 105, + "TagIdEvtMsg": 10009, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6180_08416400": { + "Prio": 2, + "TagId": 238, + "TagIdEvtMsg": 10114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00416600": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 10028, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08811F00": { + "Prio": 4, + "TagId": 3145, + "TagIdEvtMsg": 11526, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 394 + ] + }, + "6180_08412900": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11533, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 704 + ] + }, + "6802_08822200": { + "Prio": 4, + "TagId": 574, + "TagIdEvtMsg": 10280, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822100": { + "Prio": 4, + "TagId": 573, + "TagIdEvtMsg": 10279, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6802_00823300": { + "Prio": 4, + "TagId": 533, + "TagIdEvtMsg": 10258, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "680E_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A22F00": { + "Prio": 5, + "TagId": 1717, + "TagIdEvtMsg": 10888, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823400": { + "Prio": 4, + "TagId": 875, + "TagIdEvtMsg": 10373, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A23000": { + "Prio": 5, + "TagId": 3399, + "TagIdEvtMsg": 11641, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08837800": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": 10309, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6102_40633E00": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10104, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00832F00": { + "Prio": 4, + "TagId": 1062, + "TagIdEvtMsg": 10474, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832E00": { + "Prio": 4, + "TagId": 1061, + "TagIdEvtMsg": 10473, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6800_00832A00": { + "Prio": 4, + "TagId": 314, + "TagIdEvtMsg": 10121, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832B00": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 10159, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6800_00233400": { + "Prio": 1, + "TagId": 3716, + "TagIdEvtMsg": 11863, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232B00": { + "Prio": 1, + "TagId": 65, + "TagIdEvtMsg": 11753, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232A00": { + "Prio": 1, + "TagId": 761, + "TagIdEvtMsg": 11752, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232D00": { + "Prio": 1, + "TagId": 763, + "TagIdEvtMsg": 11755, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232C00": { + "Prio": 1, + "TagId": 762, + "TagIdEvtMsg": 11754, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232900": { + "Prio": 1, + "TagId": 331, + "TagIdEvtMsg": 11751, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232800": { + "Prio": 1, + "TagId": 760, + "TagIdEvtMsg": 11750, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232700": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 11749, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232600": { + "Prio": 1, + "TagId": 759, + "TagIdEvtMsg": 11748, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232500": { + "Prio": 1, + "TagId": 758, + "TagIdEvtMsg": 11747, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00233500": { + "Prio": 1, + "TagId": 437, + "TagIdEvtMsg": 11864, + "Unit": 16, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232200": { + "Prio": 1, + "TagId": 286, + "TagIdEvtMsg": 11743, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233200": { + "Prio": 1, + "TagId": 294, + "TagIdEvtMsg": 11760, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_00233100": { + "Prio": 1, + "TagId": 372, + "TagIdEvtMsg": 11759, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233000": { + "Prio": 1, + "TagId": 440, + "TagIdEvtMsg": 11758, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6100_00234D00": { + "Prio": 1, + "TagId": 35, + "TagIdEvtMsg": 11744, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232400": { + "Prio": 1, + "TagId": 757, + "TagIdEvtMsg": 11746, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232E00": { + "Prio": 1, + "TagId": 764, + "TagIdEvtMsg": 11756, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232300": { + "Prio": 1, + "TagId": 756, + "TagIdEvtMsg": 11745, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834300": { + "Prio": 4, + "TagId": 3275, + "TagIdEvtMsg": 11600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08837300": { + "Prio": 4, + "TagId": 63, + "TagIdEvtMsg": 10143, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08831E00": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232F00": { + "Prio": 1, + "TagId": 765, + "TagIdEvtMsg": 11757, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08834D00": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10141, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00234E00": { + "Prio": 1, + "TagId": 455, + "TagIdEvtMsg": 11761, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08833A00": { + "Prio": 4, + "TagId": 3133, + "TagIdEvtMsg": 11525, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08833900": { + "Prio": 4, + "TagId": 3217, + "TagIdEvtMsg": 11566, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08838B00": { + "Prio": 4, + "TagId": 730, + "TagIdEvtMsg": 10314, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_10838F00": { + "Prio": 4, + "TagId": 1626, + "TagIdEvtMsg": 10834, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838C00": { + "Prio": 4, + "TagId": 3258, + "TagIdEvtMsg": 11592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08836E00": { + "Prio": 4, + "TagId": 731, + "TagIdEvtMsg": 10315, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838D00": { + "Prio": 4, + "TagId": 732, + "TagIdEvtMsg": 10316, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6802_00839C00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11295, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 2498 + ] + }, + "6802_00839F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11620, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3328 + ] + }, + "6802_00839E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11543, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3197 + ] + }, + "6802_10841F00": { + "Prio": 4, + "TagId": 592, + "TagIdEvtMsg": 10285, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6800_10841E00": { + "Prio": 4, + "TagId": 591, + "TagIdEvtMsg": 10284, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6322_00854D00": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 10247, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 57 + ] + }, + "6802_00855D00": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 10610, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_08855C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10612, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6802_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6200_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6300_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6310_40651E00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6202_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00852A00": { + "Prio": 4, + "TagId": 2134, + "TagIdEvtMsg": 11043, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 340 + ] + }, + "6200_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6180_08465A00": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 10711, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_08861E00": { + "Prio": 4, + "TagId": 312, + "TagIdEvtMsg": 10164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6800_40A63B00": { + "Prio": 5, + "TagId": 2475, + "TagIdEvtMsg": 11281, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63A00": { + "Prio": 5, + "TagId": 2474, + "TagIdEvtMsg": 11280, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_00462500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00262200": { + "Prio": 1, + "TagId": 563, + "TagIdEvtMsg": 10272, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_00A62B00": { + "Prio": 5, + "TagId": 410, + "TagIdEvtMsg": 10135, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462F00": { + "Prio": 2, + "TagId": 411, + "TagIdEvtMsg": 10012, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63500": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10259, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6802_00A62A00": { + "Prio": 5, + "TagId": 408, + "TagIdEvtMsg": 10134, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462E00": { + "Prio": 2, + "TagId": 409, + "TagIdEvtMsg": 10011, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00260100": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6402_00666F00": { + "Prio": 3, + "TagId": 237, + "TagIdEvtMsg": 10010, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Sum": true, + "SumD": true + }, + "6200_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Sum": true, + "SumD": true + }, + "6802_0887A500": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 11282, + "DataFrmt": 18, + "Scale": 1, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_00878200": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10176, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878300": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10177, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878400": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10178, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878500": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10179, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878600": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10180, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878700": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10181, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878800": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10182, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878900": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10183, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878F00": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10501, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878E00": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10500, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879000": { + "Prio": 4, + "TagId": 2011, + "TagIdEvtMsg": 11016, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879100": { + "Prio": 4, + "TagId": 2012, + "TagIdEvtMsg": 11017, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879200": { + "Prio": 4, + "TagId": 2013, + "TagIdEvtMsg": 11018, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879300": { + "Prio": 4, + "TagId": 2014, + "TagIdEvtMsg": 11019, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875000": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10188, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875100": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10189, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875200": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10190, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875300": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10191, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875400": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10192, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875500": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10193, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875600": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10194, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875700": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10195, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876000": { + "Prio": 4, + "TagId": 3484, + "TagIdEvtMsg": 11674, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876100": { + "Prio": 4, + "TagId": 3485, + "TagIdEvtMsg": 11675, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876200": { + "Prio": 4, + "TagId": 3482, + "TagIdEvtMsg": 11676, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876300": { + "Prio": 4, + "TagId": 3483, + "TagIdEvtMsg": 11677, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877900": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877800": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10648, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877600": { + "Prio": 4, + "TagId": 351, + "TagIdEvtMsg": 10198, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877500": { + "Prio": 4, + "TagId": 2111, + "TagIdEvtMsg": 11034, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40879400": { + "Prio": 4, + "TagId": 36, + "TagIdEvtMsg": 10167, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00879500": { + "Prio": 4, + "TagId": 37, + "TagIdEvtMsg": 10168, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873700": { + "Prio": 4, + "TagId": 232, + "TagIdEvtMsg": 10171, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873600": { + "Prio": 4, + "TagId": 233, + "TagIdEvtMsg": 10170, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873500": { + "Prio": 4, + "TagId": 234, + "TagIdEvtMsg": 10169, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873800": { + "Prio": 4, + "TagId": 236, + "TagIdEvtMsg": 10172, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00877F00": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 10502, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872A00": { + "Prio": 4, + "TagId": 273, + "TagIdEvtMsg": 10203, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872000": { + "Prio": 4, + "TagId": 1369, + "TagIdEvtMsg": 10709, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872B00": { + "Prio": 4, + "TagId": 323, + "TagIdEvtMsg": 10202, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00874D00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10257, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6180_08671E00": { + "Prio": 3, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6800_08871E00": { + "Prio": 4, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08672200": { + "Prio": 3, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ], + "Deprecated": true + }, + "6802_08872200": { + "Prio": 4, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08871F00": { + "Prio": 4, + "TagId": 54, + "TagIdEvtMsg": 10201, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229 + ] + }, + "6180_084AAA00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA200": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11173, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA300": { + "Prio": 4, + "TagId": 3199, + "TagIdEvtMsg": 11552, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_088A3300": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12146, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309, + 4288 + ], + "Hidden": true + }, + "6802_108A2300": { + "Prio": 4, + "TagId": 819, + "TagIdEvtMsg": 11777, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 818 + ] + }, + "6180_084A9700": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10879, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6182_084A9E00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10896, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10878, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_104A9D00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 10885, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9C00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 10884, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9A00": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 10882, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9B00": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 10883, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A8A00": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 10889, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6400": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10893, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10892, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6802_008A7600": { + "Prio": 4, + "TagId": 3233, + "TagIdEvtMsg": 11588, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6802_088A7500": { + "Prio": 4, + "TagId": 3147, + "TagIdEvtMsg": 11527, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10890, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10891, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A5B00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5A00", + "6800_108A5900" + ], + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5A00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11774, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5900" + ], + "Len": 63, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5900": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11773, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5A00" + ], + "Len": 32, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6180_084ABB00": { + "Prio": 2, + "TagId": 3365, + "TagIdEvtMsg": 11636, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104ABA00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 11605, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB900": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 11604, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB700": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 11602, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB800": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 11603, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5200": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 11615, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5600", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABC00": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 11607, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5600": { + "Prio": 4, + "TagId": 714, + "TagIdEvtMsg": 11619, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA500": { + "Prio": 4, + "TagId": 3342, + "TagIdEvtMsg": 11621, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5100": { + "Prio": 4, + "TagId": 3321, + "TagIdEvtMsg": 11614, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108AA400": { + "Prio": 4, + "TagId": 3315, + "TagIdEvtMsg": 11606, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5500": { + "Prio": 4, + "TagId": 715, + "TagIdEvtMsg": 11618, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5300": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 11616, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11609, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6100_004AB600": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 11601, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_108A5400": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 11617, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5300" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4D00": { + "Prio": 4, + "TagId": 3318, + "TagIdEvtMsg": 11610, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088B7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_008B7100": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10825, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_088B7200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_008B7300": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10827, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_088B5200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10887, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1716 + ] + }, + "6180_084B1E00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10886, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_008B2E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12132, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6802_008B8A00": { + "Prio": 4, + "TagId": 2010, + "TagIdEvtMsg": 11015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6802_108B8B00": { + "Prio": 4, + "TagId": 2112, + "TagIdEvtMsg": 11035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6800_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "680E_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6802_00912A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10382, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10383, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10385, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10386, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10381, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10377, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10379, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10375, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00919900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11593, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_0892EC00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11303, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_4092EE00": { + "Prio": 4, + "TagId": 2504, + "TagIdEvtMsg": 11305, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892EF00": { + "Prio": 4, + "TagId": 2505, + "TagIdEvtMsg": 11306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0092ED00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11304, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892E900": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11300, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_4092EB00": { + "Prio": 4, + "TagId": 2503, + "TagIdEvtMsg": 11302, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0092EA00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11301, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0892E600": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E800": { + "Prio": 4, + "TagId": 2513, + "TagIdEvtMsg": 11299, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E700": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11298, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00928000": { + "Prio": 4, + "TagId": 1538, + "TagIdEvtMsg": 10784, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928C00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10797, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928F00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10800, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928A00": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10981, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929000": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10801, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929200": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10803, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929400": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10805, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929600": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10807, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928B00": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10982, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929100": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10802, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929300": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10804, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929500": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10806, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929700": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 10808, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_0092B400": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10983, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B700": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10986, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B800": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10987, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BA00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10989, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BC00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10990, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BE00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10991, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C000": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10992, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B900": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10988, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BB00": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10997, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BD00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10998, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BF00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10999, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C100": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11000, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_08920500": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11705, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920700": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11707, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920900": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11708, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920B00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 11709, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920D00": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 11710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920600": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11706, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11715, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920A00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11716, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920C00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 11717, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920E00": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11718, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08924D00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11529, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00924C00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11528, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40923100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10455, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_08923200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10456, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6A02_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_40923700": { + "Prio": 4, + "TagId": 3481, + "TagIdEvtMsg": 11673, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6802_00927400": { + "Prio": 4, + "TagId": 1990, + "TagIdEvtMsg": 10980, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927300": { + "Prio": 4, + "TagId": 1989, + "TagIdEvtMsg": 10979, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08927200": { + "Prio": 4, + "TagId": 1046, + "TagIdEvtMsg": 10460, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08926F00": { + "Prio": 4, + "TagId": 1044, + "TagIdEvtMsg": 10457, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927100": { + "Prio": 4, + "TagId": 1047, + "TagIdEvtMsg": 10461, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926E00": { + "Prio": 4, + "TagId": 1045, + "TagIdEvtMsg": 10458, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927000": { + "Prio": 4, + "TagId": 1225, + "TagIdEvtMsg": 10656, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926D00": { + "Prio": 4, + "TagId": 1224, + "TagIdEvtMsg": 10655, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40922B00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10449, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6A02_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6802_0092AA00": { + "Prio": 4, + "TagId": 1987, + "TagIdEvtMsg": 10977, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092A900": { + "Prio": 4, + "TagId": 1986, + "TagIdEvtMsg": 10976, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_08922900": { + "Prio": 4, + "TagId": 1022, + "TagIdEvtMsg": 10438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08925D00": { + "Prio": 4, + "TagId": 1057, + "TagIdEvtMsg": 10469, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925C00": { + "Prio": 4, + "TagId": 1056, + "TagIdEvtMsg": 10468, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925E00": { + "Prio": 4, + "TagId": 1620, + "TagIdEvtMsg": 10813, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925A00": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 10466, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00926200": { + "Prio": 4, + "TagId": 3183, + "TagIdEvtMsg": 11534, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925B00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10467, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08925900": { + "Prio": 4, + "TagId": 1023, + "TagIdEvtMsg": 10440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00924200": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10463, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_00924300": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10464, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6A02_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_08924000": { + "Prio": 4, + "TagId": 1599, + "TagIdEvtMsg": 10795, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6802_08924100": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6A02_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A12_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A02_0892B100": { + "Prio": 4, + "TagId": 2017, + "TagIdEvtMsg": 11022, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922300": { + "Prio": 4, + "TagId": 1621, + "TagIdEvtMsg": 10814, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921700": { + "Prio": 4, + "TagId": 3685, + "TagIdEvtMsg": 10646, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922000": { + "Prio": 4, + "TagId": 1065, + "TagIdEvtMsg": 10477, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08922100": { + "Prio": 4, + "TagId": 1066, + "TagIdEvtMsg": 10478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6180_08522F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11632, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2509 + ] + }, + "6800_0092D700": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11046, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0892D600": { + "Prio": 4, + "TagId": 2135, + "TagIdEvtMsg": 11044, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D800": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11047, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6400_00543C00": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11217, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543B00": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11216, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543D00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11269, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543A00": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11215, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6200_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + } +} diff --git a/Sources/sma2mqttLibrary/SMADataObject.swift b/Sources/sma2mqttLibrary/SMADataObject.swift new file mode 100644 index 0000000..c2e596f --- /dev/null +++ b/Sources/sma2mqttLibrary/SMADataObject.swift @@ -0,0 +1,161 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 26.06.22. +// + +import Foundation +import Regex +import JLog + +struct SMADataObject +{ + let object:Int + let lri:Int + + let Prio:Int + let TagId:Int + + let TagIdEventMsg:Int? + + let Unit:Int? + let DataFrmt:Int + let Scale:Double? + let Typ:Int + + let WriteLevel:Int + let GridGuard:Bool + let TagHier:[Int] + + let Min:Bool + let Max:Bool + let Sum:Bool + let Avg:Bool + let Cnt:Bool + let MinD:Bool + let MaxD:Bool + let SumD:Bool + +} + +extension SMADataObject // Descriptions +{ + var id:String { "\( String(object,radix: 16) )_\( String(lri,radix: 16) )" } + var tagName:String { Self.translation[TagId] ?? "tag-\( Int(TagId) )" } + var eventName:String { TagIdEventMsg != nil ? Self.translation[TagIdEventMsg!] ?? "event-\( Int(TagIdEventMsg!) )" : "" } + var tagHierachy:String { TagHier.map{ Self.translation[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") } + var unitName:String { Unit != nil ? Self.translation[Unit!] ?? "unit-\( Int(Unit!) )" : "" } + + var description:String { "\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(self.json)" } +} + +extension SMADataObject:Decodable,Encodable +{ + private enum CodingKeys : String, CodingKey { + case object,lri,Prio,TagId,TagIdEventMsg,Unit,DataFrmt,Scale,Typ,WriteLevel,GridGuard,TagHier,Min,Max,Sum,Avg,Cnt,MinD,MaxD,SumD + } + + init(from decoder: Decoder) throws + { + let values = try decoder.container(keyedBy: CodingKeys.self) + + let objectString = try values.decode(String.self, forKey: .object) + guard let object = Int(objectString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode hex string") } + self.object = object + + let lriString = try values.decode(String.self, forKey: .lri) + guard let lri = Int(lriString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode hex string") } + self.lri = lri + + Prio = try values.decode(Int.self, forKey: .Prio) + TagId = try values.decode(Int.self, forKey: .TagId) + TagIdEventMsg = try values.decodeIfPresent(Int.self, forKey: .TagIdEventMsg) + Unit = try values.decodeIfPresent(Int.self, forKey: .Unit) + DataFrmt = try values.decode(Int.self, forKey: .DataFrmt) + Scale = try values.decodeIfPresent(Double.self, forKey: .Scale) + + Typ = try values.decode(Int.self, forKey: .Typ) + WriteLevel = try values.decode(Int.self, forKey: .WriteLevel) + GridGuard = try values.decodeIfPresent(Bool.self, forKey: .GridGuard) ?? false + TagHier = try values.decode([Int].self, forKey: .TagHier) + + Min = try values.decodeIfPresent(Bool.self, forKey: .Min) ?? false + Max = try values.decodeIfPresent(Bool.self, forKey: .Max) ?? false + Sum = try values.decodeIfPresent(Bool.self, forKey: .Sum) ?? false + Avg = try values.decodeIfPresent(Bool.self, forKey: .Avg) ?? false + Cnt = try values.decodeIfPresent(Bool.self, forKey: .Cnt) ?? false + MinD = try values.decodeIfPresent(Bool.self, forKey: .MinD) ?? false + MaxD = try values.decodeIfPresent(Bool.self, forKey: .MaxD) ?? false + SumD = try values.decodeIfPresent(Bool.self, forKey: .SumD) ?? false + + } + +} + + +extension SMADataObject +{ + static let translation:[Int:String] = + { + guard let url = Bundle.module.url(forResource: "sma.data.Translation_Names", withExtension: "json") + else + { + JLog.error("Could not find Translation_Names resource file") + return [Int:String]() + } + + do + { + let jsonData = try Data(contentsOf: url) + let translations = try JSONDecoder().decode([String:String?].self, from: jsonData) + + return Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } + guard let stringvalue = $1 else { return nil } + return (intvalue , stringvalue) + } ) + } + catch + { + JLog.error("Could not create Translation_Names Objects \(error)") + } + return [Int:String]() + }() +} + +extension SMADataObject +{ + static let dataObjects:[String:SMADataObject] = + { + guard let url = Bundle.module.url(forResource: "sma.data.objectMetaData", withExtension: "json") + else + { + JLog.error("Could not find objectMetaData resource file") + return [String:SMADataObject]() + } + + do + { + let jsonString = try String(contentsOf: url) + let regexString = "(\"([\\da-f]{4})_([\\da-f]{8})\": \\{)" + let regex = regexString.r + let replaced = regex?.replaceAll(in: jsonString, with: "$0 \"object\" : \"$2\", \"lri\" : \"$3\",") + + if let jsonData = replaced?.data(using: .utf8) + { + let jsonObjects = try JSONDecoder().decode([String:SMADataObject].self, from: jsonData) + + return jsonObjects + } + } + catch + { + JLog.error("Could not create Data Objects \(error)") + } + return [String:SMADataObject]() + }() +} + + + + diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 48a795f..58ae7aa 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -15,6 +15,7 @@ struct SMANetPacket:Encodable,Decodable let header:SMANetPacketHeader let valuesheader:[Int] let values:[SMANetPacketValue] + let directvalue:String? } extension SMANetPacket:BinaryDecodable @@ -31,11 +32,13 @@ extension SMANetPacket:BinaryDecodable self.header = try decoder.decode(SMANetPacketHeader.self) var valuesheader = [Int]() var values = [SMANetPacketValue]() + var directvalue:String? = nil if decoder.isAtEnd { self.valuesheader = valuesheader self.values = values + self.directvalue = nil return } @@ -58,8 +61,17 @@ extension SMANetPacket:BinaryDecodable valuesize = valuecount > 0 ? decoder.countToEnd / valuecount : 0 guard decoder.countToEnd == valuecount * valuesize else { throw SMANetPacketDecodingError.decoding("valuecount wrong: header:\(header) valuecount:\(valuecount) toEnd:\(decoder.countToEnd)") } + case 0x0C: valuesize = 0 + if decoder.countToEnd > 0 + { + var ok = true + let data = try decoder.decode(Data.self,length: decoder.countToEnd).filter{ ok = ok && ($0 != 0) ; return ok } + directvalue = String(data:data ,encoding: .isoLatin1)! + } + case 0x00: valuesize = decoder.countToEnd // keepalive packet - default: throw SMANetPacketDecodingError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + default: throw SMANetPacketDecodingError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + } if valuesize > 0 @@ -76,6 +88,7 @@ extension SMANetPacket:BinaryDecodable assert(decoder.isAtEnd) self.valuesheader = valuesheader self.values = values + self.directvalue = directvalue } } diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMANetPacketValue.swift index 7d4f50d..c43c19a 100644 --- a/Sources/sma2mqttLibrary/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMANetPacketValue.swift @@ -74,7 +74,6 @@ extension SMANetPacketValue:Encodable try container.encode(packetDefinition.topic ,forKey:.topic) try container.encode(packetDefinition.title ,forKey:.title) - let factor = packetDefinition.factor let hasFactor = packetDefinition.factor != nil && packetDefinition.factor! != 0 && packetDefinition.factor! != 1 @@ -164,7 +163,7 @@ extension SMANetPacketValue:BinaryDecodable case .unknown: let data = try decoder.decode(Data.self, length:decoder.countToEnd) value = .unknown(data) - JLog.error("unkown: \( String(format:"no:0x%02x code:0x%04x type:0x%02x",number,address,type) ) time:\(date) data:\(data.hexDump) ") + JLog.info("unkown: \( String(format:"no:0x%02x code:0x%04x type:0x%02x",number,address,type) ) time:\(date) data:\(data.hexDump) ") } JLog.trace("Got Value: \(self.json)") diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index ec2d8be..71a32c8 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -15,7 +15,7 @@ public struct SMAPacket:Encodable,Decodable var obisPackets:[ObisPacket] var smaNetPackets:[SMANetPacket] - public var obis:[ObisValue] { obisPackets.first!.obisvalues } + public var obis:[ObisValue] { obisPackets.first?.obisvalues ?? []} } @@ -141,6 +141,9 @@ extension SMAPacket:BinaryDecodable } } while !decoder.isAtEnd && !endPacketRead + + print("\npayload:\(self.json)") + } } diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift new file mode 100644 index 0000000..34e3935 --- /dev/null +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -0,0 +1,48 @@ +// +// SMAObjectTests.swift +// +// +// Created by Patrick Stein on 27.06.22. +// + +import XCTest +import class Foundation.Bundle + +@testable import JLog +@testable import BinaryCoder +@testable import sma2mqttLibrary + +final class SMAObjectTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + + let dataObjects = SMADataObject.dataObjects + + + for (key,value) in dataObjects + { + print("===") + print(value.description) +// print(value.tagName) +// print(value.tagHierachy) +// print(value.unitName) +// print(value.eventName) +// print(value.description) + } + + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } + +} diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 541c6b3..4bab506 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -42,11 +42,12 @@ final class sma2mqttTests: XCTestCase func testSMAFile() throws { JLog.debug("loading data") - let data = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) +// let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) + let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/shm.20220615.pcap"),options:.mappedRead) JLog.debug("data loaded") let separator = Data.init( [0x53, 0x4d, 0x41, 0x00] ) - var splitter = DataSplitter(data: data, splitData: separator) + var splitter = DataSplitter(data: filedata, splitData: separator) JLog.debug("splitter instanciated") @@ -54,6 +55,50 @@ final class sma2mqttTests: XCTestCase var goodcounter = 0 var badcounter = 0 + var position = 0 + let binaryDecoder = BinaryDecoder(data: [UInt8](filedata) ) + + while position < (filedata.count - separator.count) + { + let chunk = filedata[position..> 8 |0x80)) ; @@ -552,10 +614,10 @@ sub printSMAPacket if( $footer != 0x0 ) { - print "Invalid footer\n"; + print "invalid footer\n"; return (undef,0); } - printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); + #printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); my $smanetdata = substr($data,18,$length); @@ -563,33 +625,6 @@ sub printSMAPacket } -#sub decodeSMANetHeader -#{ -# my($data) = @_; -# -# my ($length,$pkttype, $dstid,$destination, $p8,$p9, $srcid,$source, $type,$response,$px,$p10 ,$packetid, $p12, $command, $remaining) = data2command($data ,'CC nN CC nN v CC v v v v'); -# -# my $firstpacket = $packetid & 0x8000 ? '1' : '0'; -# $packetid = $packetid & 0x7FFF; -# -# printf "command:%04x response:%04x: source:%02x%04x destination:%02x%04x pktflg:%s pktid:0x%04x remaining length:%d\n",$command,$response,$srcid,$source,$dstid,$destination,$firstpacket,$packetid,length($remaining); -# -# if( $response != 0 || $command == 0xFFFD ) -# { -# printf "raw:%s\n",prettyhexdata($data); -# return $response; -# } -# -# sub decodeSMANetValuesStart -# { -# my ($a,$kind,$format,$time,$remaining) = data2command($remaining , 'C v C V'); -# my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); -# -# print "time: $timestring\n"; -# } -# -# -#} sub counttimeswrong { @@ -665,59 +700,205 @@ sub printSMANetPacket # return ( $result, $moretocome ) my @header = data2command($data , - 'C C n N C C n N v C C v v c c v'); - #0 1 2 4 8 9 10 12 16 18 19 20 22 24 25 26 - my ($quaterlength,$packettype, $dstid,$dstserial, $p8,$p9, $srcid,$srcserial, $type,$result,$px,$packetstocome ,$pktidflg, $p24, $valuetype, $command, $remaining) = @header; + 'C C n N C C n N C C v v v C C v'); + #0 1 2 4 8 9 10 12 16 17 18 20 22 24 25 26 + my ($quaterlength,$packettype, $dstid,$dstserial, $p8,$p9, $srcid,$srcserial, $p16,$p17 ,$result,$packetstocome ,$pktidflg, $p24, $p25, $command, $remaining) = @header; - printf "SMANet Packet:"; + printf "SMANet:"; my $packetid = $pktidflg & 0x7FFF; my $direction = $pktidflg & 0x8000 ? 1 : 0; - print $direction ? "request " : "response"; - printf " 0x%02x",$result; + # print $result != 0 ? ' ok ': 'fail'; my $srchostid = sprintf("%02x%04x",$srcid,$srcserial); my $dsthostid = sprintf("%02x%04x",$dstid,$dstserial); - printf " ".hostid2name($srchostid); - printf "->".hostid2name($dsthostid); - printf " pktid:0x%04x pktremain:%2d",$packetid,$packetstocome; - printf " command:%04x",$command; - printf " p24:0x%02x",$p24; - printf " valtype:0x%02x",$valuetype; + printf "".hostid2name($srchostid); + printf "-".hostid2name($dsthostid); + + printf "|p1:0x%02x",$packettype,$packettype; + +# printf "|p8:0x%02x %08b",$p8,$p8; # always zero +# printf "|p9:0x%02x %08b",$p9,$p9; + printf "|p9:0x%02x",$p9,$p9; + +# printf "|p16:0x%02x %08b",$p16,$p16; # always zero + printf "|p17:0x%02x",$p17,$p17; +# printf "|reslt:%04x %016b",$result,$result; + printf "|reslt:%04x",$result; + printf "|2come:0x%02x",$packetstocome; + + printf "|%s",$direction ? "res" : "req"; + printf "|pktid:0x%04x",$packetid; + printf "|p24:0x%02x",$p24,$p24; + printf "|p25:0x%02x",$p25,$p25; +# printf "|p25-p24:0x%02x-0x%02x",$p25,$p24; +# printf "|p24:0x%02x %08b",$p24,$p24; + printf "|cmd:%04x",$command; my $remainingsize = length($remaining); - printf " remainsize:%3d",$remainingsize; + printf "|len:%03x-%03d",$remainingsize,$remainingsize; + printf "|head:%s%s\n",prettyhexdata(substr($remaining,0,62)),($remainingsize > 62 ? '..' : ''); + +#for i in $(cat ~/Desktop/values |grep '^SMANet:sb'|perl -e 'while(<>){$count{$1}++ if /\|(p25.*?)\|/o;} while( my($a,$b) = each %count ) {print "$a\n" }'|sort|perl -pe 's/\n/ /') (6:52:36) +#do +#echo $i ; +#b=`cat ~/Desktop/values|grep "$i"|perl -ne 'print $1."\n" if /len:(\d+) /;'|sort -nu|perl -pe 's/\n/ /g;'` +#echo "b:$b";for c in $(echo "$b") +#do +#cat ~/Desktop/values|grep "$i" |grep "len:$c"|head -10 +#done +#done + + +# p25:0x00 cnt:256312 cmd=2800, sb3 only, len 12 weird , or 52 ( start 0003 5000 x*16 bytes normal +# len 12 0100 3001 time 201c 0000 +# +# p25:0x01 cnt:437139 cmd 6a02, len 20 , 0400 0000 | x* 16 bytes normal , cmd fffd len 4 , data ffff ffff +# cmd fffd ,len 16 0000 0000 | 12 bytes weird + +#SMANet:sbs-any|p1:0xa0|p9:0x03|p17:0x03|..........|..........|...|............|p24:0x0e|p25:0x01|cmd:fffd|len:004-004|head:ffff|ffff +#SMANet:sh1-any|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|.... +#SMANet:sb3-sh1|p1:0xe0|.......|........|..........|..........|...|............|p24:0x0d|p25:0x01|........|len:010-016|head:0000|0000|4c4f|434b|4544|....|0000|0000 + + +#SMANet:sh1-sb4|p1:0xe0|p9:0x01|.||.|.|.|p24:0x0e|p25:0x01|cmd:6a02|len:014-020|head:0400|0000|0149|9240|0000|2061|a00f|0000|3a00|fec4 +#SMANet:sh1-sb3|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|....|....|b80b|....|....|068a +#SMANet:sh1-sb4|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|....|2161|a00f|....|....|4145 +#SMANet:sh1-sb3|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|....|....|b80b|....|....|b90b +#..............|.......|.......|.||.|.|.|........|........|........|len:034-052|.........|....|0745|9208|0429|2061|....|....|....|9d8b|0744|9240|0429|2061|00|074|200|3a00|f9df +#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|1829|....|....|....|....|7a80|....|....|1829|....|....|....|....|a960|....|....|1829|....|....|....|....|1ed4 +#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|83ae|ab62|....|....|....|4b04|....|....|83ae|ab62|....|....|....|98e4|....|....|83ae|ab62|....|....|....|2f50 +#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|97ae|....|....|....|....|8566|....|....|97ae|....|....|....|....|5686|....|....|97ae|....|....|....|....|e132 +#..............|.......|.......|.||.|.|.|........|........|........|len:064-100|.........|....|0760|8908|0035|ac62|7809|....|....|dbc3|0761|8900|0035|ac62|....|....|....|e1cf|0762|8900|0035|ac62|....|....|....|16c1|0763|8900|0035|ac62|0000|.. +#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|0044|....|....|....|....|e860|....|....|0044|....|....|....|....|d26c|....|....|0044|....|....|....|....|2562|....|....|0044|....|....|.. +#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|0087|1f61|....|....|....|8f90|....|....|0087|1f61|....|....|....|b59c|....|....|0087|1f61|....|....|....|4292|....|....|0087|1f61|....|.. +#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|00ae|ab62|....|....|....|5bcd|....|....|00ae|ab62|....|....|....|61c1|....|....|00ae|ab62|....|....|....|96cf|....|....|00ae|ab62|....|.. +# + + +# p25:0x02 cnt:604718 normal +# p25:0x03 cnt:26 cmd 68*, len 12 weird 0100 0000 xxxx 0000 xxxx xxxx + +#SMANet:sb3-sh1|p1:0xe8|p9:0x00|p17:0x00|reslt:0000|2come:0x00|res|pktid:0x....|p24:0x00|p25:0x03|cmd:6800|len:00c-012|head:0100|0000|5601|0000|2b7f|bc76 +#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|6901|....|6d33|26b3 +#SMANet:sh1-sb3|.......|.......|........|..........|..........|...|............|p24:0x01|........|........|...........|.........|....|7401|....|10e7|f0b2 +#SMANet:sh1-sbs|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|.... +#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|p24:0x00|........|cmd:6802|...........|.........|....|6901|....|6d33|26b3 +#SMANet:sh1-sbs|.......|.......|........|..........|..........|...|............|p24:0x01|........|........|...........|.........|....|7401|....|10e7|f0b2 +#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|p24:0x00|........|........|...........|head:0101|0001|6901|....|6d33|26b3 +# + +# +# p25:0x04 cnt:15 cmnd fffd , 0a00 0000 | x* 16 bytes normal + +#SMANet:sb3-jnx|p1:0xe0|p9:0x00|p17:0x00|reslt:0018|2come:0x00|res|pktid:0x....|p24:0x0d|p25:0x04|cmd:fffd|len:010-016|head:0700|0000|8403|0000|4c20|cb51|0000|0000 +#..............|.......|p9:0x01|p17:0x01|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|.......|........|reslt:0102|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|p9:0x02|p17:0x02|reslt:0018|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sb4-jnx|.......|p9:0x00|p17:0x00|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|p9:0x01|........|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|.......|p17:0x01|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|.......|........|reslt:0102|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sbs-jnx|.......|.......|........|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|.......|........|reslt:0102|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sbt-jnx|.......|.......|........|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sb3-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|head:0a00|....|....|....|5fae|ab62|....|.... +#SMANet:sb4-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sb3-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|6704|ac62|....|.... +#SMANet:sb4-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|9504|....|....|.... +#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b004|....|....|.... +#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b1ef|2061|....|.... +#SMANet:sb3-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d328|....|....|.... +#SMANet:sb4-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... +#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d5ef|....|....|.... +#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|df04|ac62|....|.... +#SMANet:sh1-any|p1:0xa0|.......|........|..........|..........|...|............|p24:0x0c|........|........|len:01c-028|.........|....|....|....|5fae|ab62|....|....|0b07|0feb|1a0e|2a27|1c2d|bbbb +#SMANet:sh1-sb3|p1:0xe0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|6704|ac62|....|....|....|....|....|....|....|.... +#SMANet:sh1-sb4|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|9504|....|....|....|....|....|....|....|....|.... +#SMANet:sh1-sbs|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b004|....|....|....|....|....|....|....|....|.... +#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b1ef|2061|....|....|....|....|....|....|....|.... +#SMANet:sh1-any|p1:0xa0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d328|....|....|....|....|....|....|....|....|.... +#SMANet:sh1-sbs|p1:0xe0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d5ef|....|....|....|....|....|....|....|....|.... +#SMANet:sbs-any|p1:0xa0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d9ef|....|....|....|....|....|....|....|....|.... +#SMANet:sh1-sbs|p1:0xe0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|df04|ac62|....|....|....|....|....|....|....|.... +#SMANet:sbs-any|p1:0xa0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|e404|....|....|....|....|....|....|....|....|.... + + + + + + + +# p25-p24:0x00-0x0c +# p25-p24:0x00-0x0e 0003 5000 | x*16 bytes normal +# p25-p24:0x01-0x0d +# p25-p24:0x01-0x0e 0400 0000 | x* 16 bytes normal +# p25-p24:0x02-0x00 +# p25-p24:0x02-0x01 normal +# p25-p24:0x02-0x0a normal +# p25-p24:0x03-0x00 normal ? (8 only) +# p25-p24:0x04-0x0c normal ? (8 only) +# p25-p24:0x04-0x0d 0a00 0000 | x*16 bytes normal +# 0700 0000 | x*16 bytes normal + +# 02 0a normal +# 02 01 normal +# 03 00 normal ? (8 only) +# 04 00 normal ? (8 only) +# +# 00 0e 0003 5000 | 12 bytes time ? | 16 bytes ? | 4bytes 0 | 16 bytes +# +# 01 0e 0400 0000 | x* 16 bytes normal +# +# 04 0d 0a00 0000 | x*16 bytes normal +# 0700 0000 | x*16 bytes normal + + +# + + + + if( $remainingsize > 0) { - if( 0x02 == $valuetype ) + if( 0x02 == $p25 ) { - print "WEIRD:".prettyhexdata($data) if length($remaining) < 8; + if( 0x0000 == $command ) + { + print " data:".prettyhexdata($remaining); + } + else + { + print " invalid:".prettyhexdata($data) if length($remaining) < 8; - my $valuesheader = substr($remaining,0,8); - my $valuesdata = substr($remaining,8); + my $valuesheader = substr($remaining,0,8); + my $valuesdata = substr($remaining,8); - my ($from,$to) = unpack('VV',$valuesheader); - my $valuescount = $to - $from + 1; + my ($from,$to) = unpack('VV',$valuesheader); + my $valuescount = $to - $from + 1; - printf " start:0x%08x end:0x%08x valcnt:%2d",$from,$to,$valuescount; + printf " start:0x%08x end:0x%08x valcnt:%2d",$from,$to,$valuescount; - if( $valuescount > 0) - { - my $valuelength = length($valuesdata) / $valuescount; + if( $valuescount > 0) + { + my $valuelength = length($valuesdata) / $valuescount; - printValues($srchostid,$command,$valuelength,$valuesdata); + printValues($srchostid,$command,$valuelength,$valuesdata); + } } } - elsif( 0x01 == $valuetype || 0x04 == $valuetype ) + elsif( 0x01 == $p25 || 0x04 == $p25 ) { - print "WEIRD:".prettyhexdata($data) if length($remaining) < 4; + print " invalid:".prettyhexdata($data) if length($remaining) < 4; my $valuesheader = substr($remaining,0,4); my $valuesdata = substr($remaining,4); @@ -725,15 +906,15 @@ sub printSMANetPacket # return ( $result, $moretocome ) my ($unknown) = unpack('V',$valuesheader); my $valueslength = length($valuesdata); - my $valuelength = 0x01 == $valuetype ? 16 : $valueslength; + my $valuelength = 0x01 == $p25 ? 16 : $valueslength; printf " valhead:0%08x vallen=%2d",$unknown,$valuelength; printValues($srchostid,$command,$valuelength,$valuesdata); } - elsif( 0x00 == $valuetype ) + elsif( 0x00 == $p25 ) { - print " keepalivepacket"; + print " keepalivepacket:".prettyhexdata($remaining); } else { @@ -777,18 +958,42 @@ sub hostid2name '56012b7fbc76' => 'sb3', '9901f6a22fb3' => 'sb4', '7a01d39c05b3' => 'sbt', - '740110e7f0b2' => 'shm', + '740110e7f0b2' => 'sh1', + '57012b7fbc76' => 'sh2', + '3701ffffffff' => 'sh3', 'ffffffffffff' => 'any', - '1234b2c14321' => 'jnx', + 'fdffffffffff' => 'an2', + 'e70064063a2e' => 'jn2', ); - $source = $knownsources{$source} || $source; - return $source; + + my $newsource = $knownsources{$source}; + + if( !$newsource ) + { + if( substr($source,0,4) eq '1234' && substr($source,-4) == '4321' ) + { + $newsource = 'jnx'; + } + else + { + $newsource = 'unk'.$source; + } + } + + return $newsource; } sub SMANetPacketValueParsing { my($source,$command,$footer) = @_; + if($command == 0x7020 || $command == 0x7000) + { + my $time = unpack('V',substr($footer,0,4)); + my $value = unpack('V',substr($footer,4,4)); + printf "time:".localtime($time)."value:".$value."\n"; + } + my $number = unpack('C',substr($footer,0,1)); my $code = unpack('v',substr($footer,1,2)); my $type = unpack('C',substr($footer,3,1)); From fa7c49082b683f4038e2d7406ab45ec59d63403a Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 9 Jul 2022 08:22:19 +0200 Subject: [PATCH 32/81] cleaned up SMAInverter SMAPacket --- Sources/sma2mqtt/SunnyHomeManager.swift | 2 +- .../Resources/sma.data.Translation_Names.json | 16364 +++--- .../Resources/sma.data.objectMetaData.json | 45344 ++++++++++++++-- Sources/sma2mqttLibrary/SMADataObject.swift | 27 +- Sources/sma2mqttLibrary/SMAInverter.swift | 116 + Sources/sma2mqttLibrary/SMAPacket.swift | 67 +- Tests/sma2mqttTests/SMAObjectTests.swift | 19 +- smatester.perl | 4 +- 8 files changed, 51289 insertions(+), 10654 deletions(-) create mode 100644 Sources/sma2mqttLibrary/SMAInverter.swift diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index a36eff3..3e67dd4 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -107,7 +107,7 @@ final class SMAMessageReceiver: ChannelInboundHandler if let sma = try? SMAPacket(byteArray:byteArray) { - JLog.debug("Decoded: \(sma)") + JLog.debug("Decoded: \(sma.json)") for obisvalue in sma.obis { diff --git a/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json b/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json index a06dc48..9411dc3 100644 --- a/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json +++ b/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json @@ -1,3654 +1,3530 @@ { - "1": "[%]", - "2": "[°C]", - "3": "[A]", - "4": "[dBm]", - "5": "[deg]", - "6": "[h]", - "7": "[Hz]", - "8": "[kWh]", - "9": "[m/s]", - "10": "[ms]", - "11": "[Ohm]", - "12": "[Pa]", - "13": "[s]", - "14": "[V]", - "15": "[VA]", - "16": "[VAr]", - "17": "[W/m²]", - "18": "[W]", - "19": "[Wh]", - "20": "A", - "21": "AbsGriSwCnt", - "22": "AbsOpTms", - "23": "AbsFeedTms", - "24": "AbsWhIn", - "25": "AbsWhOut", - "26": "Ackn", - "27": "Adj", - "28": "Aid", - "29": "AcqCnt", - "30": "AcqTm", - "31": "[K]", - "32": "[°F]", - "33": "[W/s]", - "34": "[min]", - "35": "Alm", - "36": "AMaxOfs", - "37": "AMaxOfsTmms", - "38": "Amp", - "39": "AmpNom", - "40": "AngFact", - "41": "ANom", - "42": "AS4777.3", - "43": "NotAdj", - "44": "Aux1", - "45": "Aux2", - "46": "Bat", - "47": "BtPwr", - "48": "Cab", - "49": "Func", - "50": "Stt", - "51": "Cls", - "52": "ValRsIstl", - "53": "Cntry", - "54": "CntrySet", - "55": "ComFlt", - "56": "CntrySettings", - "57": "ConstVolCtl", - "58": "Coolsys", - "59": "DatLog", - "60": "DatStoCnt", - "61": "DcAmpMax", - "62": "DcCfg", - "63": "LodFnc", - "64": "Dhcp", - "65": "DclVol", - "66": "DcMinFlt", - "67": "DcMs", - "68": "DcOp", - "69": "DcVMax", - "70": "[KiB]", - "71": "DevFlt", - "72": "DfltParaLod", - "73": "DifInsol", - "74": "DirInsol", - "75": "DK5940E2.2", - "76": "Dsc", - "77": "DscFuChk", - "78": "DscGnChk", - "79": "DscGnSw", - "80": "DscParaChk", - "81": "DscSupChk", - "82": "Env", - "83": "EvtAcAMax", - "84": "EvtAcAMaxHw", - "85": "EvtAcAMaxSw", - "86": "EvtAcAOfsSns", - "87": "EvtAcHz", - "88": "EvtAcHzNom", - "89": "EvtAcSw", - "90": "EvtAcVDif", - "91": "EvtAcVMaxHw", - "92": "EvtAcVMaxPhVFst", - "93": "EvtAcVMaxPhVSlw", - "94": "EvtAcVMaxPhVSpt", - "95": "EvtAcVMinPhVFst", - "96": "EvtAcVMinPhVSlw", - "97": "EvtAcVOfs", - "98": "EvtAcVRPro", - "99": "EvtAmpMax", - "100": "EvtBrdSup", - "101": "EvtBsp", - "102": "EvtCntDvlp", - "103": "EvtCntIstl", - "104": "EvtCntSvc", - "105": "EvtCntUsr", - "106": "EvtCoolStr", - "107": "EvtCpldHwTst", - "108": "EvtCpldVerTst", - "109": "EvtCpuSlfTst", - "110": "EvtdAmp", - "111": "EvtdAmpCom", - "112": "EvtdAmpMax", - "113": "EvtdAmpTst", - "114": "EvtDataMemBlck", - "115": "EvtDcAmpMaxA", - "116": "EvtDcAmpMaxB", - "117": "EvtDcAOfsA", - "118": "EvtDcAOfsB", - "119": "EvtDcFeed", - "120": "EvtDclAMaxHwA", - "121": "EvtDclAMaxHwB", - "122": "EvtDclVMaxHw", - "123": "EvtDclVMaxSw", - "124": "EvtDcVDif", - "125": "EvtDcVMaxA", - "126": "EvtDcVMaxB", - "127": "EvtDcVolMin", - "128": "EvtDcWattMin", - "129": "EvtDcWCirA", - "130": "EvtDcWCirB", - "131": "EvtDiscon", - "132": "EvtEe", - "133": "EvtEeHw", - "134": "EvtEeRsto", - "135": "EvtExlWd", - "136": "EvtGGNoChange", - "137": "EvtGGWait", - "138": "EvtGrdGuardLock", - "139": "EvtHwTst", - "140": "EvtSysRestr", - "141": "EvtInfoDerat", - "142": "EvtInitSys", - "143": "EvtInstCodeNok", - "144": "EvtInstCodeOk", - "145": "EvtIntAcSw", - "146": "EvtIntAcSwTst", - "147": "EvtIntDat", - "148": "EvtItnlCom", - "149": "EvtLeakRis", - "150": "EvtLeakRisSns", - "151": "EvtLeakRisSw", - "152": "EvtNoShrt", - "153": "EvtNo", - "154": "EvtNoGri", - "155": "EvtOffGri", - "156": "EvtOp", - "157": "EvtOpSys", - "158": "EvtOsl", - "159": "EvtOvTmpInt", - "160": "EvtOvTmpWCir", - "161": "EvtOvVPro", - "162": "EvtPEOpn", - "163": "EvtPhNChg", - "164": "EvtPhPh", - "165": "EvtPLLAcVtg", - "166": "EvtRam", - "167": "EvtRefVTst", - "168": "EvtRom", - "169": "EvtSDFail", - "170": "EvtSDFileRead", - "171": "EvtSDNoParaFile", - "172": "EvtSDSetPara", - "173": "EvtSDSetParaNok", - "174": "EvtSDSetParaOk", - "175": "EvtSDUpdAkt", - "176": "EvtSDUpdFileNok", - "177": "EvtSDUpdFileOk", - "178": "EvtSDUpdNoFile", - "179": "EvtShdMem", - "180": "EvtSlfTst", - "181": "EvtSlfTstBrk", - "182": "EvtSlfTstErr", - "183": "EvtSlfTstLim", - "184": "EvtSlfTstNrm", - "185": "EvtSlfTstTms", - "186": "EvtSlfTstVal", - "187": "EvtSPIDataFail", - "188": "EvtSPIFail", - "189": "EvtSt", - "190": "EvtStrSys", - "191": "EvtSysData", - "192": "EvtTmpSnsInt", - "193": "EvtTmpSnsWCir", - "194": "EvtUpdBT", - "195": "EvtUpdBTErr", - "196": "EvtUpdEnd", - "197": "EvtUpdHP", - "198": "EvtUpdHPErr", - "199": "EvtUpdi485", - "200": "EvtUpdi485Err", - "201": "EvtUpdKom", - "202": "EvtUpdLang", - "203": "EvtUpdLangErr", - "204": "EvtUpdLCD", - "205": "EvtUpdLCDErr", - "206": "EvtWCir", - "207": "EvtWCirScir", - "208": "EvtWd", - "209": "EvtWdTst", - "210": "Eth", - "211": "FanCab1", - "212": "FanCab2", - "213": "FanHs", - "214": "FanTrf1", - "215": "FanTrf2", - "216": "FanTst", - "217": "FltA", - "218": "FltAmpMax", - "219": "FltANom", - "220": "FltdAmpMax", - "221": "FltPhPh", - "222": "FrqCtl", - "223": "G83/1", - "224": "EvtSlfTstStrt", - "225": "GGNoChange", - "226": "GGWait", - "227": "GnMod", - "228": "GrdGuardLock", - "229": "GridGuard", - "230": "GridMs", - "231": "GriFlt", - "232": "GriFltMonTms", - "233": "GriFltReConTms", - "234": "GriFltTms", - "235": "GriOp", - "236": "GriStrTms", - "237": "GriSwCnt", - "238": "GriSwStt", - "239": "GrpSet", - "240": "Health", - "241": "HealthStt", - "242": "hhLim", - "243": "hhLimTmms", - "244": "EvtDclAMaxHwC", - "245": "hLim", - "246": "hLimTmms", - "247": "G83/1-1", - "248": "Hmdt", - "249": "HorWDir", - "250": "HorWSpd", - "251": "Hs1", - "252": "Hs2", - "253": "HwRev", - "254": "Hz", - "255": "HzdLim", - "256": "HzdStr", - "257": "HzFlt", - "258": "GriSwCpy", - "259": "HzNom", + "1": "%", + "2": "°C", + "3": "A", + "4": "dBm", + "5": "deg", + "6": "h", + "7": "Hz", + "8": "kWh", + "9": "m/s", + "10": "ms", + "11": "Ohm", + "12": "Pa", + "13": "s", + "14": "V", + "15": "VA", + "16": "var", + "17": "W/m²", + "18": "W", + "19": "Wh", + "20": "Phase currents", + "21": "Number grid connections device", + "22": "Total operating time of device", + "23": "Total feed-in time of device", + "24": "Total energy absorbed from the grid by the device", + "25": "Total counter reading, feed-in counter", + "26": "Acknowledge fault", + "27": "Special setting", + "28": "Islanding detection", + "29": "Number of detections", + "30": "Time of the last detection", + "31": "K", + "32": "°F", + "33": "W/s", + "34": "min", + "35": "Fault", + "36": "Tripping threshold DC current monitoring", + "37": "Tripping time DC current monitoring", + "38": "Current", + "39": "Operating condition current", + "40": "Escalation factor", + "41": "Operating condition current", + "42": "[AU] AS4777.3", + "44": "External", + "45": "External 2", + "46": "Battery", + "47": "Maximum Bluetooth transmission power", + "48": "Interior", + "49": "Function", + "50": "Status", + "51": "Closed", + "52": "Reset operating data", + "53": "Country standard", + "54": "Set country standard", + "55": "Communication impaired", + "56": "Country settings", + "57": "Constant voltage control", + "58": "Cooling system", + "59": "Data logging", + "60": "Number of Flash write cycles", + "61": "DC overcurrent", + "62": "DC settings", + "63": "Load parameter", + "64": "DHCP", + "65": "Intermediate circuit voltage", + "66": "Start conditions not met", + "67": "DC measurements", + "68": "DC control", + "69": "DC overvoltage", + "70": "KiB", + "71": "Interference device", + "72": "Load preset", + "73": "Diffuse insolation", + "74": "Direct insolation", + "75": "[DK] 5940E2.2", + "76": "Fault correction measure", + "77": "Check AC circuit breaker", + "78": "Check generator", + "79": "Disconnect generator", + "80": "Check parameter", + "81": "Check connection", + "82": "Environment", + "83": "UCE monitoring", + "84": "Overcurrent grid (HW)", + "85": "Overcurrent grid (SW)", + "86": "Offset grid current sensor", + "87": "Grid frequency disturbance", + "88": "Grid frequency not permitted", + "89": "Grid disconnection point", + "90": "Deviation grid voltage measurement", + "91": "Overvoltage grid (HW)", + "92": "Grid overvoltage fast", + "93": "Grid overvoltage slow", + "94": "Grid overvoltage (spot value)", + "95": "Grid undervoltage fast", + "96": "Grid undervoltage slow", + "97": "Grid voltage measurement Offset", + "98": "Voltage increase protection", + "99": "High discharge current", + "100": "On-board supply system disturbance", + "101": "General BSP fault", + "102": "Events for developer", + "103": "Events for installer", + "104": "Events for service", + "105": "Events for user", + "106": "Execution (Reboot)", + "107": "CPLD (HW)", + "108": "CPLD version check", + "109": "CPU self-test HP", + "110": "DI converter fault", + "111": "DI converter communication", + "112": "Residual current", + "113": "DI converter test current", + "114": "Data storage blocked", + "115": "Overcurrent input A (SW)", + "116": "Overcurrent input B (SW)", + "117": "Offset DC current sensor A", + "118": "Offset DC current sensor B", + "119": "DC grid feed-in", + "120": "Overcurrent input A (HW)", + "121": "Overcurrent input B (HW)", + "122": "Overvoltage intermediate circuit (HW)", + "123": "Overvoltage intermediate circuit (SW)", + "124": "DC voltage measurement deviation", + "125": "Overvoltage input A (SW)", + "126": "Overvoltage input B (SW)", + "127": "Generator voltage too low", + "128": "DC power too low", + "129": "DC converter string A defective", + "130": "DC converter string B defective", + "131": "Generator output too low", + "132": "System data defective", + "133": "System data access not possible", + "134": "System data restored", + "135": "External watchdog (enable)", + "136": "Grid parameter unchanged", + "137": "Waiting for main CPU", + "138": "Grid parameter locked", + "139": "Execution (Test HW)", + "140": "Restart diagnosis system", + "141": "Derating occurred", + "142": "Execution (Taskinit)", + "143": "Installer code invalid", + "144": "Installer code valid", + "145": "Relay defect", + "146": "24 hour relay test", + "147": "Execution (Mail)", + "148": "Internal communication", + "149": "Insulation failure", + "150": "Sensor system insulation resistance", + "151": "Relay insulation resistance", + "152": "Current event number", + "153": "Event number manufacturer", + "154": "Grid failure", + "155": "Island grid", + "156": "Execution (Operation)", + "157": "Execution", + "158": "General OSL fault", + "159": "Overtemperature interior", + "160": "Overtemperature power unit", + "161": "Varistor defective", + "162": "PE not connected", + "163": "L / N swapped", + "164": "2nd phase connected to N", + "165": "PLL outside limits", + "166": "Memory defective", + "167": "Reference voltage test", + "168": "Code memory defective", + "169": "SD memory card defective", + "170": "SD memory card is read", + "171": "Parameter file not found or defective", + "172": "Set parameter", + "173": "Parameter setting failed", + "174": "Parameters set successfully", + "175": "No new update on the SD mempry card", + "176": "Update file defective", + "177": "Update file OK", + "178": "No update file found", + "179": "Execution (SharedMemory)", + "180": "Self-test", + "181": "Abort self-test", + "182": "Abort self-test", + "183": "Self-test current disconnection limit", + "184": "Self-test standard value for display", + "185": "Self-test disconnection time for display", + "186": "Self-test disconnection limit for display", + "187": "Long term data defective", + "188": "Data storage defective", + "189": "Execution (State machine)", + "190": "Execution (Startup)", + "191": "No system data", + "192": "Fault sensor interior temperature", + "193": "Fault sensor power unit temperature", + "194": "Update Bluetooth", + "195": "Update Bluetooth failed", + "196": "Update completed", + "197": "Update main CPU", + "198": "Update main CPU failed", + "199": "Update RS485i module", + "200": "Update RS485i module failed", + "201": "Update communication", + "202": "Update language table", + "203": "Update language table failed", + "204": "Update display", + "205": "Update display failed", + "206": "Power unit", + "207": "Bridge short-circuit", + "208": "Execution (Watchdog)", + "209": "24h watchdog test", + "210": "Ethernet", + "211": "Fan interior", + "212": "Fan interior 2", + "213": "Fan heat sink", + "214": "Fan transformer", + "215": "Fan transformer 2", + "216": "Fan test", + "217": "Residual current", + "218": "High discharge curr.", + "219": "Operating condition residual current", + "220": "Residual current too high", + "221": "Installation error", + "222": "Frequency monitoring", + "223": "[GB] G83/1", + "224": "Display self-test start message", + "225": "Grid parameter unchanged", + "226": "Changing of grid parameters not possible", + "228": "Grid parameter locked", + "229": "Grid monitoring", + "230": "Grid measurements", + "231": "Grid incident", + "232": "Reconnection time after grid fault", + "233": "Reconnection time upon short interruption", + "234": "Maximum duration of a short interruption", + "235": "Parallel grid operation", + "236": "Reconnection time upon restart", + "237": "N° grid conn. at grid conn.pt.", + "238": "Grid relay status", + "239": "Set group", + "240": "Condition", + "241": "Device status", + "242": "Median maximum threshold", + "243": "Median maximum threshold tripping time", + "244": "Overcurrent input C (HW)", + "245": "Lower maximum threshold", + "246": "Lower maximum threshold tripping time", + "247": "[GB] G83/1-1", + "248": "Air humidity", + "249": "Wind direction", + "250": "Wind speed", + "251": "Heat sink", + "252": "Heat sink 2", + "253": "Hardware version", + "254": "Grid frequency", + "255": "End point of the power control via frequency", + "256": "Start point of the power control via frequency", + "257": "Frequency not permitted", + "258": "Switching status grid relay", + "259": "Operating condition grid frequency", "260": "HTTP", - "261": "InfoDerat", - "262": "InstabOp", - "263": "InstCdNok", - "264": "InstCdOk", - "265": "InstCode", - "266": "Itf", + "261": "Derating occurred", + "262": "Unstable operation", + "263": "SMA Grid Guard code invalid", + "264": "SMA Grid Guard code valid", + "265": "GridGuard password", + "266": "Interface", "267": "Inverter", - "268": "Isolation", - "269": "ItnlDataStoFail", - "270": "KEPCO-Guide", - "271": "[KB]", - "272": "LeakRis", - "273": "LeakRisMin", - "274": "LeakRisNom", - "275": "Lim10m", - "276": "LimFst", - "277": "DrtStt", - "278": "lLim", - "279": "lLimTmms", - "280": "[Byte]", - "281": "llLim", - "282": "llLimTmms", - "283": "[B]", - "284": "Location", - "285": "KEMCO501/2008", - "286": "MainModel", - "287": "Max", - "288": "MaxTmms", - "289": "Mdul", - "290": "Metering", - "291": "Min", - "292": "MinTmms", - "293": "MinW", - "294": "Model", - "295": "Mpp", - "296": "Mdm", - "297": "Msg", - "298": "Nam", - "299": "Nameplate", + "268": "Insulation monitoring", + "269": "Data storage not possible", + "270": "[KR] KEPCO-Guide", + "271": "kB", + "272": "Insulation resistance", + "273": "Minimum insulation resistance", + "274": "Operating condition insulation resistance", + "275": "10 minute average", + "276": "Instantaneous value", + "277": "Reason for derating", + "278": "Upper minimum threshold", + "279": "Upper minimum threshold tripping time", + "280": "Byte", + "281": "Median minimum threshold", + "282": "Median minimum threshold tripping time", + "283": "B", + "284": "Device name", + "285": "[KR] KEMCO501/2008", + "286": "Device class", + "287": "Upper maximum threshold", + "288": "Upper maximum threshold tripping time", + "289": "PV module", + "290": "Measured values", + "291": "Lower minimum threshold", + "292": "Lower minimum threshold tripping time", + "294": "Device type", + "295": "MPP", + "296": "Modem", + "297": "Message", + "298": "Name", + "299": "Type Label", "300": "Nat", - "301": "NoGri", - "302": "None", + "301": "Grid failure", + "302": "-------", "303": "Off", - "304": "OffGri", - "305": "OFF-Grid", - "306": "OFF-Grid60", + "304": "Island mode", + "305": "Island mode", + "306": "SMA Island mode 60 Hz", "307": "Ok", "308": "On", "309": "Operation", - "310": "OpMod", - "311": "Opn", - "312": "OutPhs", - "313": "OFF-Grid50", - "314": "WLim", - "315": "WMax", - "316": "WMod", - "317": "AllPhs", - "318": "OvLod", - "319": "OvTmp", - "320": "OvVPro", - "321": "Pcb", - "322": "PEOpn", - "323": "PEOpnMon", - "324": "PhNChg", - "325": "phsA", - "326": "phsABC", - "327": "phsB", - "328": "Proxy", - "329": "phsC", + "310": "General operating mode", + "311": "Open", + "312": "Phase assignment", + "313": "SMA Island mode 50 Hz", + "314": "Maximum active power", + "315": "Maximum active power output", + "316": "Operating mode active power setting", + "317": "All phases", + "318": "Overload", + "319": "Overtemperature", + "320": "Varistor defective", + "321": "Printed circuit board", + "322": "PE connection missing", + "323": "PE connection monitoring", + "324": "L / N swapped", + "325": "Phase L1", + "326": "Phases L1, L2 and L3", + "327": "Phase L2", + "328": "Proxy settings", + "329": "Phase L3", "330": "Port", - "331": "PhV", - "332": "PhVNom", - "333": "PPC", - "334": "Pres", - "335": "Prio", - "336": "PrioA", - "337": "PrioC", - "338": "PrioIna", - "339": "CtrlType", - "340": "Plnt", - "341": "PrioStt", - "342": "ProdTst", - "343": "RD1663", - "344": "RsOpDat", - "345": "Reg", - "346": "RemEna", - "347": "ReStr", - "348": "Rev", - "349": "RlyClse", - "350": "RmgTms", - "351": "Rpro", - "352": "RD1663/661", - "353": "RsEvtCnt", - "354": "RsMaxVals", - "355": "RsTotWhLog", - "356": "RsPermStoOp", - "357": "RsCnt", - "358": "SB4000TL-20", - "359": "SB5000TL-20", - "360": "Card", - "361": "SDFail", - "362": "SDFileRead", - "363": "SDNoParaFile", - "364": "SDSetPara", - "365": "SDSetParaNok", - "366": "SDSetParaOk", - "367": "SDUpdAkt", - "368": "SDUpdFileNok", - "369": "SDUpdFileOk", - "370": "SDUpdNoFile", - "371": "SensSet", - "372": "SerNum", - "373": "RD1663-A", - "374": "SlfDiag", - "375": "SlfTst", - "376": "SlfTstErr", - "377": "S0Cnt", - "378": "S0WhIn", - "379": "SwUpdRev", - "380": "StopTms", + "331": "Phase voltage", + "332": "Operating condition voltage", + "333": "[GR] PPC", + "334": "Atmospheric pressure", + "335": "Recommended action", + "336": "Contact manufacturer", + "337": "Contact installer", + "338": "invalid", + "339": "DC voltage control type", + "340": "PV system", + "341": "Recommended action", + "342": "Production test mode", + "343": "[ES] RD1663", + "344": "Reset operating data", + "345": "Controller", + "346": "Remote control", + "347": "Device restart triggered", + "348": "Revision status", + "349": "Grid relay closed", + "350": "Waiting time until feed-in", + "351": "Voltage increase protection", + "352": "[ES] RD1663/661", + "353": "Reset events", + "354": "Reset maximum values", + "355": "Reset energy logger", + "356": "Reset operation inhibition", + "357": "Number of Resets", + "358": "SB 4000TL-20", + "359": "SB 5000TL-20", + "360": "Storage card", + "361": "SD memory card defective", + "362": "Reading SD memory card", + "363": "Parameter file not found or defective", + "364": "Set parameter", + "365": "Parameter setting failed", + "366": "Parameters set successfully", + "367": "No new update on the SD memory card", + "368": "Update file defective", + "369": "Update file OK", + "370": "No update file found", + "372": "Serial number", + "373": "[ES] RD1663-A", + "374": "Self-diagnosis", + "375": "self-test", + "376": "Abort self-test", + "377": "Number of S0 impulses", + "378": "Consumed energy", + "379": "Software version Update", + "380": "Deactivation delay", "381": "Stop", - "382": "AbsDcSwCnt", - "383": "StringAFlt", - "384": "StringBFlt", - "385": "StrTms", - "386": "StrTmSet", - "387": "StrVol", - "388": "SttOp", - "389": "SttReStr", - "390": "SttStop", - "391": "SttStr", - "392": "SttTstHw", - "393": "SwRev", - "394": "Sys", - "395": "Tmp", - "396": "TmpLim", - "397": "TmpNom", - "398": "Tm", - "399": "TmpSns", - "400": "TmpVal", - "401": "TmpValMax", - "402": "phsAB", - "403": "phsAC", - "404": "phsBC", - "405": "TotTmhSet", - "406": "TotA", - "407": "TotANom", - "408": "TotOpTmhSet", - "409": "TotOpTms", - "410": "TotFeedTmhSet", - "411": "TotFeedTms", - "412": "TotVA", - "413": "TotVAr", - "414": "TotVArNom", - "415": "TotVArNomSet", - "416": "TotW", - "417": "TotWhIn", - "418": "TotWhOut", - "419": "TotWNom", - "420": "TotWNomLimSet", - "421": "TotWNomSet", - "422": "Tr", - "423": "TSYS", - "424": "UpdBT", - "425": "UpdBTErr", - "426": "UpdEnd", - "427": "UpdHP", - "428": "UpdHPErr", - "429": "Updi485", - "430": "Updi485Err", - "431": "UpdKom", - "432": "UpdLang", - "433": "UpdLangErr", - "434": "UpdLCD", - "435": "UpdLCDErr", - "436": "VA", - "437": "VAr", - "438": "VDE0126-1-1", - "439": "VDE0126-1-1 A", - "440": "Vendor", - "441": "Vol", - "442": "VolCtl", - "443": "VolDCConst", - "444": "VolLim", - "445": "VolMax", - "446": "VolNom", - "447": "Vset", - "448": "W", - "449": "VRtg", - "450": "Watt", - "451": "WattNom", - "452": "WebSvc", - "453": "CntryBas", - "454": "Clb", - "455": "Wrn", - "456": "WtDcMin", - "457": "WtGri", - "458": "SunnyCentral", - "459": "EvtDcAmpMaxHw", - "460": "SunnyBoy", + "382": "Number of DC disconnects", + "383": "Input A defective", + "384": "Input B defective", + "385": "Start delay", + "386": "unclear", + "387": "Critical voltage to start feed-in", + "388": "Operation status", + "389": "Startup status", + "390": "Stop status", + "391": "Cold start status", + "392": "Test HW status", + "393": "Software version", + "394": "System", + "395": "Temperature", + "396": "Derating temperature", + "397": "Operating condition temperatures", + "398": "Time", + "399": "Sensor error fan permanently on", + "400": "Temperature", + "401": "Highest measured temperature", + "402": "Phases L1 and L2", + "403": "Phases L1 and L3", + "404": "Phases L2 and L3", + "405": "Set total time", + "406": "Phase total Current", + "407": "Operating condition current", + "408": "Set operating time", + "409": "Operating time", + "410": "Set feed-in time", + "411": "Feed-in time", + "412": "Apparent power", + "413": "Reactive power", + "414": "Operating condition reactive power", + "416": "Power", + "417": "Absorbed energy", + "418": "Total yield", + "419": "Operating condition power", + "422": "Transformer", + "423": "Validation system", + "424": "Update Bluetooth", + "425": "Update Bluetooth failed", + "426": "Update completed", + "427": "Update main CPU", + "428": "Update main CPU failed", + "429": "Update RS485i module", + "430": "Update RS485i module failed", + "431": "Update communication", + "432": "Update language table", + "433": "Update language table failed", + "434": "Update display", + "435": "Update display failed", + "436": "Apparent power", + "437": "Reactive power", + "438": "[DE] VDE0126-1-1", + "439": "[DE] Special setting VDE0126-1-1", + "440": "Manufacturer", + "441": "Voltage", + "442": "Voltage monitoring", + "443": "Constant voltage", + "444": "Voltage limit", + "445": "Maximum voltage", + "446": "Operating condition voltage", + "447": "Voltage setpoint", + "448": "Active power", + "449": "Nominal voltage", + "450": "Power", + "451": "Operating condition power", + "452": "Web service", + "453": "Underlying country standard", + "454": "Calibration", + "455": "Warning", + "456": "Waiting for DC start conditions", + "457": "Waiting for grid voltage", + "458": "Sunny Central", + "459": "Overcurrent, input in short-circuit (HW)", + "460": "Sunny Boy", "461": "SMA", - "462": "EvtBrdSup15", - "463": "DscDcGenChk", - "464": "EvtOvVDcHw", - "465": "EvtDcSw", - "466": "EvtDcVMax", - "467": "EvtDcAmpMax", - "468": "EvtInitCan", - "469": "EvtInitDa", - "470": "FltRvA", - "471": "EvtIPCCom", - "472": "EvtInitRtc", - "473": "FltOvVSec", - "474": "EvtGfdi", - "475": "EvtWdCnt", - "476": "EvtWdTot", - "477": "EvtRvA", - "478": "DscInvChk", - "479": "DscInvComChk", - "480": "DscInvFanChk", - "481": "DscInvSwChk", - "482": "DscInvFwChk", - "483": "EvtComCan", - "484": "EvtComIpc", - "485": "FanFlt", - "486": "EvtFanIn", - "487": "EvtFanIn2", - "488": "EvtFanHs", - "489": "EvtFanHs2", - "490": "EvtFanSw", - "491": "EvtFanTrf", - "492": "EvtFanTrf2", - "493": "DscGriFuChk", - "494": "DscGriHzChk", - "495": "EvtAcHzMax", - "496": "EvtAcHzMaxSlw", - "497": "EvtAcHzMin", - "498": "EvtAcHzMinSlw", - "499": "DscGriVChk", - "500": "EvtAcVMaxPpVFst", - "501": "EvtAcVMinPpVFst", - "502": "EvtSmkAlm", - "503": "EvtTmpSnsExl", - "504": "EvtTmpSnsBat", - "505": "EvtVDcSns", - "506": "EvtTmpSnsWCir2", - "507": "TmpSnsFanOn", - "508": "EvtTmpSnsTrf", - "509": "EvtAcSyn", - "510": "EvtTeamSw", - "511": "EvtOvVEvr", - "512": "EvtOvVSec", - "513": "DscOvVSecChk", - "514": "EvtOvAEvr", - "515": "EvtOvTmpExl", - "516": "EvtOvTmpBat", - "517": "EvtOvTmpEvr", - "518": "EvtOvTmpWCirHw", - "519": "EvtOvTmpWCir2", - "520": "EvtOvTmpTrf", - "521": "EvtOvTmpSw", - "522": "EvtNoDevAddr", - "523": "EvtNoParaFile", - "524": "EvtUnkHwErr", - "525": "EvtWdBfr", - "526": "EvtWdDsp", - "527": "EvtSlfTstStr", - "528": "TotInsol", - "529": "ExInsol", - "530": "TotkWhOutSet", - "531": "TotkWhInSet", - "532": "TmpValMaxSet", - "533": "ComRev", - "534": "GnCtl", - "535": "EvtDcFuFlt", - "536": "EvtDcWCirC", + "462": "On-board supply sys. dist. 15V", + "463": "Check DC generator", + "464": "DC overvoltage (HW)", + "465": "DC switch", + "466": "DC overvoltage", + "467": "DC overcurrent", + "468": "Fault CAN Initialization", + "469": "Fault DA converter", + "470": "Fault reverse current", + "471": "Fault IPC communication", + "472": "Fault RTC Initialization", + "473": "Fault overvoltage protector", + "474": "Ground fault detected", + "475": "Frequent watchdog fault", + "476": "Internal timing fault", + "477": "Reverse current", + "478": "Check inverter electronics", + "479": "Check inv. electr. and comm.", + "480": "Check inverter electr. and fan", + "481": "Chk inv.electr. and contactors", + "482": "Check inv.electr. and SW vers.", + "483": "Communication error CAN", + "484": "Communication error IPC", + "485": "Fan fault", + "486": "Fan fault interior", + "487": "Fan fault interior 2", + "488": "Fan fault heat sink", + "489": "Fan fault heat sink 2", + "490": "Fan fault motor prot. switch", + "491": "Fan fault coilware", + "492": "Fan fault coilware 2", + "493": "Check grid and fuses", + "494": "Check grid frequency", + "495": "Maximum grid frequency disturbance", + "496": "Maximum grid frequency disturbance", + "497": "Minimum grid frequency disturbance", + "498": "Minimum grid frequency disturbance", + "499": "Check grid voltage", + "500": "Grid overvoltage fast", + "501": "Grid undervoltage fast", + "502": "Smoke alarm", + "503": "Fault sensor ambient temp.", + "504": "Fault sensor battery temp.", + "505": "Fault sensor DC voltage", + "506": "Fault sensor pow.unit temp2", + "507": "Fault sensor fan perm. on", + "508": "Fault sensor transf. temp.", + "509": "Synchronization error", + "510": "Team switch", + "511": "Overvoltage EVR (HW)", + "512": "Overvoltage protector", + "513": "Check overvoltage protector", + "514": "Overcurrent EVR (HW)", + "515": "Overtemperature outside", + "516": "Overtemperature battery", + "517": "Overtemperature EVR (HW)", + "518": "Overtemp. power unit (HW)", + "519": "Overtemperature power unit 2", + "520": "Overtemp. transformer area", + "521": "Overtemperature switch", + "522": "Invalid device address", + "523": "Invalid parameter file", + "524": "Unspecified HW fault (HW)", + "525": "Watchdog BFR", + "526": "Watchdog DSP", + "527": "Display self-test start mess.", + "528": "Irradiation", + "529": "Irradiation on external sensor", + "530": "Set total yield", + "531": "Set absorbed energy", + "532": "Set highest measured temperature", + "533": "Communication version", + "534": "Generator control", + "535": "String protection defective", + "536": "DC converter string C defective", "537": "EvtTmpPwrLim", - "538": "EvtdZMax", + "538": "Grid impedance jump", "539": "EvtExlIn", - "540": "EvtGndFuOpn", - "541": "EvtDcAOfsC", - "542": "EvtdAmpDif", - "543": "EvtHzDif", - "544": "EvtMsDif", - "545": "EvtZDif", - "546": "EvtOfs", - "547": "EvtAcPwrDif", - "548": "EvtTeamErr", - "549": "EvtTeamWrn", - "550": "EvtTeamCfg", - "551": "EvtTeamCls", - "552": "EvtTeamOpn", - "553": "EvtTeamMstrCfg", - "554": "EvtTeamFlt", - "555": "EvtZMax", + "540": "Ground fuse missing", + "541": "DC current sensor C offset", + "542": "Internal meas. comp. fault", + "543": "Internal meas. comp. fault", + "544": "Internal meas. comp. fault", + "545": "Internal meas. comp. fault", + "546": "Meas. recording fault", + "547": "Grid incident reported", + "548": "Team relay defective", + "549": "Team instable", + "550": "Team config", + "551": "Team coupling", + "552": "Team disconnection", + "553": "Team head config", + "554": "Team error", + "555": "Grid impedance too high", "556": "EvtGriOp", - "557": "TmpDrt", - "558": "SB3000TL-20", - "559": "VDE0126-1-1 B", - "560": "EN50438", - "561": "EN50438-CZ", - "562": "C10/11", - "563": "DyWhOut", - "564": "GriSwCntSet", - "565": "Turbine", - "566": "WMaxTm", - "567": "ValRsSvc", - "568": "DoAll", - "569": "Run", - "570": "ForcedWrite", - "571": "StoEvtHis", - "572": "StoFailHis", - "573": "AvalGrpUsr", - "574": "AvalGrpIstl", - "575": "AvalGrpSvc", - "576": "AvalGrpDvlp", - "577": "PlntPerf", - "578": "PerfRat", - "579": "Rvn", - "580": "CO2Red", - "581": "DevPerf", - "582": "ModWMax", - "583": "SwRevStt", - "584": "Acs", - "585": "EvtSetSclParaOk", - "586": "EvtSetSclParaNok", - "587": "EvtSetSttParaOk", - "588": "EvtSetSttParaNok", - "589": "EvtSetStrParaOk", - "590": "EvtSetStrParaNok", - "591": "PwdUsr", - "592": "PwdIstl", - "593": "PwdSvc", - "594": "PwdDvlp", - "595": "EvtUpdOk", - "596": "EvtUpdNok", - "597": "EvtOldTm", - "598": "EvtNewTm", - "599": "EvtUpdOkRev", - "600": "MnoStr", - "601": "AvalGrpMet1", - "602": "AvalGrpMet2", - "603": "AvalGrpMet3", - "604": "AvalGrpMet4", - "605": "AvalGrpMet5", - "606": "AvalGrpMet6", - "607": "AvalGrpMet7", - "608": "AvalGrpMet8", - "609": "AvalGrpMet9", - "610": "AvalGrpMet10", - "611": "AvalGrpMet11", - "612": "AvalGrpMet12", - "613": "AvalGrpMet13", - "614": "AvalGrpMet14", - "615": "AvalGrpMet15", - "616": "AvalGrpMet16", - "617": "AvalGrpMet17", - "618": "AvalGrpMet18", - "619": "AvalGrpMet19", - "620": "AvalGrpMet20", - "621": "AvalGrpMet21", - "622": "AvalGrpMet22", - "623": "AvalGrpMet23", - "624": "AvalGrpMet24", - "625": "AvalGrpMet25", - "626": "AvalGrpMet26", - "627": "AvalGrpMet27", - "628": "AvalGrpMet28", - "629": "AvalGrpMet29", - "630": "AvalGrpMet30", - "631": "AvalGrpPara1", - "632": "AvalGrpPara2", - "633": "AvalGrpPara3", - "634": "AvalGrpPara4", - "635": "AvalGrpPara5", - "636": "AvalGrpPara6", - "637": "AvalGrpPara7", - "638": "AvalGrpPara8", - "639": "AvalGrpPara9", - "640": "AvalGrpPara10", - "641": "AvalGrpPara11", - "642": "AvalGrpPara12", - "643": "AvalGrpPara13", - "644": "AvalGrpPara14", - "645": "AvalGrpPara15", - "646": "AvalGrpPara16", - "647": "AvalGrpPara17", - "648": "AvalGrpPara18", - "649": "AvalGrpPara19", - "650": "AvalGrpPara20", - "651": "AvalGrpPara21", - "652": "AvalGrpPara22", - "653": "AvalGrpPara23", - "654": "AvalGrpPara24", - "655": "AvalGrpPara25", - "656": "AvalGrpPara26", - "657": "AvalGrpPara27", - "658": "AvalGrpPara28", - "659": "AvalGrpPara29", - "660": "AvalGrpPara30", - "661": "C0Value0", - "662": "C0Value1", - "663": "C0Value2", - "664": "C0Value3", - "665": "C0Value4", - "666": "C0Value5", - "667": "C1Scalar0", - "668": "C1Scalar1", - "669": "C1Scalar2", - "670": "C1Scalar3", - "671": "C1Scalar4", - "672": "C1Scalar5", - "673": "200ms", - "674": "600ms", - "675": "1000ms", - "700": "Itf1Hw", - "701": "Itf2Hw", - "702": "Itf3Hw", - "703": "DtTm", - "704": "Upd", - "705": "DevUpd", - "706": "PortalFnc", - "707": "PortalUsrSettings", - "708": "PortalBscSettings", - "709": "DnsSvc", - "710": "FTPPush", - "711": "FTPSrv", - "712": "UntId", - "713": "HwVer", - "714": "DnsSrvIp", - "715": "GwIp", - "716": "Ip", - "717": "SnetMsk", - "718": "WanIp", - "719": "IspIp", - "720": "NetwParaRs", - "721": "SerNumTxt", - "722": "IsDlSvTm", - "723": "FtySet", - "724": "DtFmt", - "725": "Lang", - "726": "LenUnt", - "727": "NumFmt", - "728": "TmpUnt", - "729": "TmFmt", - "730": "DlSvIsOn", - "731": "TmSynIsOn", - "732": "TmZn", - "733": "IsOn", - "734": "IntvTm", + "557": "Overtemperature", + "558": "SB 3000TL-20", + "559": "[FR] VDE0126-1-1 B", + "560": "[EU] EN50438", + "561": "[CZ] EN50438-CZ", + "562": "[BE] C10/11", + "563": "Daily yield", + "564": "Set number of grid connections", + "565": "Power specif. via char. curve", + "566": "Temporal control of the power limitation", + "567": "Reset operating data (for Service)", + "568": "Execute all", + "569": "Activated", + "570": "Execute write operation", + "571": "Write events on memory card", + "572": "Write faults to SD", + "577": "Specific yield of PV system", + "578": "Performance ratio", + "579": "Revenue", + "580": "CO2 avoidance", + "581": "Specific inverter yield", + "582": "Active power limitation", + "583": "Checking firmware", + "584": "Access Control", + "585": "Parameter |ln04| set successfully", + "586": "Setting of parameter |ln04| failed", + "587": "Parameter |ln04| set successfully", + "588": "Setting of parameter |ln04| failed", + "589": "Parameter |ln04| set successfully", + "590": "Setting of parameter |ln04| failed", + "591": "Set user password", + "592": "Set installer password", + "593": "Set service password", + "594": "Set developer password", + "595": "Update successful", + "596": "Update failed", + "597": "Time adjusted / old time", + "598": "Time adjusted / new time", + "599": "Update to version |s0| successful", + "600": "Mono-string mode active", + "661": "Minimum", + "662": "Maximum", + "663": "Sum", + "664": "Average", + "665": "Number of devices", + "666": "Piece/yield", + "667": "Minimum of lower limits", + "668": "Maximum of lower limits", + "669": "Minimum of upper limits", + "670": "Maximum of upper limits", + "671": "Minimum of current values", + "672": "Maximum of current values", + "673": "200 ms", + "674": "600 ms", + "675": "1000 ms", + "700": "Hardware Interface 1", + "701": "Hardware Interface 2", + "702": "Hardware Interface 3", + "703": "Time settings", + "704": "Update", + "705": "Device update", + "706": "Status and Actions", + "707": "User settings", + "708": "Basic settings", + "709": "SunnyDNS", + "710": "FTP Push", + "711": "FTP server", + "712": "Unit ID", + "713": "Hardware version", + "714": "DNS server IP", + "715": "Gateway IP", + "716": "IP address", + "717": "Subnet mask", + "718": "WAN IP", + "719": "Internet service provider IP", + "720": "Reset network parameter", + "721": "Serial number", + "722": "Standard or Daylight Saving Time", + "723": "No translation in Taglist for ID 723", + "724": "Date format", + "725": "Language", + "726": "Unit of length", + "727": "Number format", + "728": "Unit of temperature", + "729": "Time format", + "730": "Standard/Daylight Saving Time conversion on", + "731": "Automatic time synchronization", + "732": "Time zone", + "733": "Activated", + "734": "Time interval", "735": "Login", - "736": "Pwd", - "737": "Srv", - "738": "ConnTst", - "739": "GprsApn", - "740": "IspPhone", - "741": "IspPwd", - "742": "Pin", - "743": "SigTst", - "744": "DatUpld", - "745": "DatUpldStt", - "746": "PortalTst", - "747": "PortalTstStt", - "748": "Regist", - "749": "RegistStt", + "736": "Password", + "737": "Server", + "738": "Connection test", + "739": "GPRS-APN", + "740": "Dial-in number", + "741": "Dial-in password", + "742": "PIN", + "743": "Signal strength test", + "744": "Upload data", + "745": "Result of the last upload", + "746": "Portal connection test", + "747": "Result of the last portal connection test", + "748": "Register", + "749": "Result of the last registration", "750": "Email", - "751": "PlntNam", - "752": "PlntId", - "753": "UpldIntv", - "754": "DatStoEna", - "755": "GprsAlwsOn", - "756": "FuncExe", - "757": "FabMod", - "758": "TotWRng", - "759": "TotWLim", - "760": "PhVRng", - "761": "DclVolRng", - "762": "DcVolRng", - "763": "DcVol", - "764": "FuncEna", - "765": "PvMod", - "766": "DtFmtDyMt4YrPt", - "767": "DtFmtMtDy4YrSlsh", - "768": "DtFmt4YrMtDyPt", - "769": "DtFmtMtDy4YrPt", - "770": "DtFmtDyMt4YrSlsh", - "771": "DtFmt4YrMtDySlsh", - "772": "DtFmtDyMt4YrDsh", - "773": "DtFmt4YrMtDyDsh", - "774": "DtFmtMtDy4YrDsh", - "775": "TmFmt24hMn", - "776": "TmFmt12hMn", - "777": "LangDE", - "778": "LangEN", - "779": "LangIT", - "780": "LangES", - "781": "LangFR", - "782": "LangEL", - "783": "LangKO", - "784": "LangCS", - "785": "LangPT", - "786": "LangNL", - "787": "NumFmtDcPt", - "788": "NumFmtDcCm", - "789": "NumFmtPtDcCm", - "790": "NumFmtCmDcPt", - "791": "TmpUntCelsius", - "792": "TmpUntKelvin", - "793": "TmpUntFahrenheit", - "794": "LenUntMetr", - "795": "LenUntImp", - "796": "LangSL", - "797": "LangBG", - "798": "LangPL", - "799": "LangJA", - "800": "Dsa", - "801": "LangTH", - "802": "Act", - "803": "Ina", - "804": "LangHE", - "805": "TmFmt24hMns", - "806": "TmFmt12hMns", - "807": "EvtBatLodInTm", - "808": "EvtBatLodEndTm", - "809": "EvtOvABatChaSwLim", - "810": "EvtOvABatDshaSwLim", - "811": "EvtUnVBatSwLim", - "812": "EvtOvVBatSwLim", - "813": "NotCfg", - "814": "MppSrchStt", - "815": "EstMaxWdc", - "816": "EstMaxWac", - "817": "Sec", - "818": "Nsd", - "819": "ExsDev", - "820": "PlntPwd", - "821": "WMaxAsym", - "822": "WMaxAsymMod", - "823": "MsCyc", - "824": "WIn", - "825": "EvtLoginFail", - "826": "FtyRs", - "827": "EvtBatMinStrFail", - "828": "HwRevStr", - "829": "PrtNum", - "830": "LriGrpStt", - "831": "LriGrpNameplate", - "832": "LriGrpDev", - "833": "LriGrpAcs", - "834": "LriGrpDc", - "835": "LriGrpAc", - "836": "LriGrpGuard", - "837": "LriGrpGn", - "838": "LriGrpBat", - "839": "LriGrpPlntCom", - "840": "LriGrpExCom", - "841": "LriGrpDatSto", - "842": "LriGrpPortal", - "843": "LriGrpApp", - "844": "LriGrpMtrlgy", - "845": "LriGrpBrglry", - "846": "LriGrpCmp", - "847": "LriGrpPlntCtl", - "848": "LriGrpPCC", - "849": "LriGrpEMS", - "850": "LriGrpPlntCtl2", - "861": "Usr", - "862": "Istl", - "863": "Svc", - "864": "Dvlp", - "865": "Evry", - "866": "GriGrd", - "867": "ItfEth10", - "868": "ItfEth100", - "869": "ItfBt", - "870": "ItfSpdwr", - "871": "ItfMdm", - "872": "ItfGSM", - "873": "ItfGPRS", - "874": "ItfUMTS", - "875": "PkgRev", - "876": "EvtPaRsTotWhLog", - "877": "DevSig", - "878": "Signal", - "879": "Cmp", - "880": "SusyId", - "881": "SunnyExplorer", - "882": "SubPlntNam", - "883": "PlntTmOfs", - "884": "NoneDrt", - "885": "NoneDsc", - "886": "NoneMsg", - "887": "NonePrio", - "888": "Evt", - "889": "Bt", - "890": "TotWIn", + "751": "Name of PV system", + "752": "ID of PV system", + "753": "Upload frequency", + "754": "Write access allowed", + "755": "GPRS-Always-On activated", + "764": "Activate function", + "766": "DD.MM.YYYY", + "767": "MM/DD/YYYY", + "768": "YYYY.MM.DD", + "769": "MM.DD.YYYY", + "770": "DD/MM/YYYY", + "771": "YYYY/MM/DD", + "772": "DD-MM-YYYY", + "773": "YYYY-MM-DD", + "774": "MM-DD-YYYY", + "775": "HH:mm", + "776": "hh:mm", + "777": "Deutsch", + "778": "English", + "779": "Italiano", + "780": "Español", + "781": "Français", + "782": "Ελληνικά", + "783": "한국어", + "784": "Česky", + "785": "Português", + "786": "Nederlands", + "787": "123456.0", + "788": "123456,0", + "789": "123.456,0", + "790": "123,456.0", + "791": "Celsius", + "792": "Kelvin", + "793": "Fahrenheit", + "794": "Metric", + "795": "Imperial", + "796": "Slovenski", + "797": "Български", + "798": "Polski", + "799": "日本語", + "800": "Disabled", + "801": "ภาษาไทย", + "802": "Active", + "803": "Inactive", + "804": "עברית", + "805": "HH:mm:ss", + "806": "hh:mm:ss", + "807": "100 % bat. charge state was reached before the end of the bat. charge time", + "808": "End of bat. charge time, battery state of charge: |d0| %", + "809": "Battery charge overcurr. (SW limit)", + "810": "Battery discharge overcurr. (SW limit)", + "811": "Battery undervoltage (SW limit)", + "812": "Battery overvoltage (SW limit)", + "813": "not configured", + "814": "MPP search status", + "815": "Estimated MPP power", + "816": "Estimated AC-MAX power", + "817": "Security", + "818": "Grid management services", + "819": "Devices found", + "820": "System password", + "821": "Max. asymmetric load", + "822": "Load unbalance limit", + "823": "Measurement interval", + "824": "Active power consumed", + "825": "System password of the connected device |s0| invalid", + "826": "Reset device to factory settings", + "827": "Battery charge too low for start procedure", + "828": "Hardware version", + "830": "Status", + "831": "Type Label", + "832": "Device", + "833": "User Rights", + "834": "DC Side", + "835": "AC Side", + "836": "Grid Monitoring", + "837": "Generator", + "838": "Battery", + "839": "System communication", + "840": "External Communication", + "841": "Data Recording", + "842": "Sunny Portal", + "843": "Further Applications", + "844": "Meteorology", + "845": "Theft Protection", + "846": "Device Components", + "847": "System and device control", + "848": "Grid connection", + "849": "Energy management", + "850": "System and device control", + "851": "System and device control", + "852": "AC Side", + "853": "EV charger", + "854": "Device", + "861": "User", + "862": "Installer", + "863": "Service", + "864": "Developer", + "865": "Any", + "866": "Grid Guard", + "867": "10MBit", + "868": "100MBit", + "869": "Bluetooth", + "870": "Speedwire", + "871": "Analog modem", + "872": "GSM", + "873": "Interface GPRS", + "874": "UMTS", + "875": "Software package", + "876": "Total yield logger partially deleted", + "877": "Find device", + "878": "LED blinking", + "879": "Components", + "880": "SUSyID", + "881": "Sunny Explorer", + "882": "Name of PV system", + "883": "Difference PV system time/system time", + "884": "not active", + "885": "none", + "886": "none", + "887": "none", + "888": "Current event", + "889": "Bluetooth", + "890": "Power absorbed", "891": "WebBox-20", - "892": "StrFltDet", - "893": "EvtUpdDsp", - "894": "EvtUpdDspErr", - "895": "S0EnMtr", - "896": "ActBatChrg", - "897": "ChaCtlComStt", - "898": "OpHt", - "899": "OpCool", - "900": "CmpMain", - "901": "CmpCom", - "902": "CmpFltASw", - "903": "CmpDisp", - "904": "CmpSigProc", - "905": "CmpRS485", - "906": "CmpZb", - "907": "CmpBt", - "908": "CmpOS", - "909": "CmpPvPro", - "910": "CmpProtConv", - "911": "CmpMdul", - "912": "CmpWebConn", - "913": "CmpPwrCtlMdul", - "914": "CmpMdul2", - "915": "CmpBMS", - "916": "CmpEpsMdul", - "917": "CmpMfrMdul", - "918": "CmpGriMon", - "919": "CmpAcsMdul", - "920": "CmpSnsMdul", - "921": "CmpWl", - "922": "CmpIOMdul", - "923": "CmpRS485Mdul", - "924": "CmpRS485BIM", - "932": "EvtFlwInitStr", - "933": "EvtFlwInitStop", - "934": "EvtFlwRunStr", - "935": "EvtFlwRunStop", - "936": "EvtFlwShtdwnStr", - "937": "EvtFlwShtdwnStop", - "938": "EvtFlwFail", - "939": "EvtFlwOv", - "940": "EvtFlwStr", - "941": "EvtFlwRscLodFail", - "942": "EvtFlwSrvStrFail", - "943": "EvtComSetTmOut", - "944": "EvtComLoginOk", - "945": "EvtComLogoutOk", - "946": "EvtComLoginAcsFail", - "947": "EvtComLoginFail", - "948": "EvtComDetStr", - "949": "EvtComDev", - "950": "EvtComSigRx", - "951": "EvtComSigTx", - "952": "EvtComUnkObj", - "953": "EvtComMst", - "954": "EvtComLoginStr", - "955": "EvtComLoginStop", - "956": "EvtComLogoutStr", - "957": "EvtComBtCon", - "958": "EvtComBtConStop", - "959": "EvtComBtConFail", - "960": "EvtComDevInf", - "961": "EvtComDevRmv", - "962": "EvtComNetwInf", - "963": "EvtExNotAval", - "964": "EvtExComFail", - "965": "EvtExLoginFail", - "966": "EvtExTx", - "967": "EvtExBinTx", - "968": "EvtExTxAbrt", - "969": "EvtTmSynFail", - "970": "EvtPrmMss", - "971": "EvtODBAcsFail", - "972": "DscDcChk", - "973": "NaN", - "974": "PvPro", - "975": "RsLrn", - "976": "EvtDcInRvSC", - "977": "EvtDcInFlt", - "978": "EvtDcEIGBTFail", - "979": "EvtDcSwFail", - "980": "EvtDcCapacFail", - "981": "EvtDcHIGBTFail", - "982": "EvtPVSComFail", - "983": "EvtDcSCALimA", - "984": "EvtDcSCCB", - "985": "EvtOvVProTmp", - "986": "EvtOvVProArc", - "987": "EvtOvVProLgtProA", - "988": "EvtOvHeat", - "989": "MsgDcInRv", - "990": "MsgDcInFlt", - "991": "MsgLgtProIna", - "992": "MsgOvHeat", - "993": "EvtDcInRv", - "994": "EvtPhNMss", - "995": "DscDcNotDscon", - "996": "DscDcCon", - "997": "DscOvVProChk", - "998": "DscLgtProChkA", - "999": "DscDcAcDscon", - "1000": "EvtComDevLim", - "1001": "EvtComParaTx", - "1002": "MdlBtRpt", - "1003": "EvtDclCapacVFlt", - "1004": "EvtGriDetFlt", - "1005": "EvtAcASns", - "1006": "UnkFlt", - "1007": "EvtGndAmpMax", - "1008": "ENS", - "1009": "G77", - "1010": "AGL", - "1011": "UL1741", - "1012": "UL1741/2005", - "1013": "OthStd", - "1014": "DK5950", - "1015": "UL1741/2001", - "1016": "I-Konst", - "1017": "PEA", - "1018": "MEA", - "1019": "TxTst", - "1020": "MVtgDirective", - "1021": "JP", - "1022": "VArMod", - "1023": "WCtlHzMod", - "1024": "VArModCfg", - "1025": "VArCtlVolCfg", - "1026": "VDif", - "1027": "VDifTms", - "1028": "VOfsNom", - "1029": "VArGra", - "1030": "VStop", - "1031": "VArNom", - "1032": "MVtgDirectiveInt", - "1033": "VArCtlWCfg", - "1034": "VArStr", - "1035": "WStr", - "1036": "VArStop", - "1037": "WStop", - "1038": "PFCnstCfg", - "1039": "PF", - "1040": "PFExt", - "1041": "OvExt", - "1042": "UnExt", - "1043": "PFCtlWCfg", - "1044": "PFExtStr", - "1045": "PFStr", - "1046": "PFExtStop", - "1047": "PFStop", - "1048": "WModCfg", - "1049": "WCnstCfg", - "1050": "WNom", - "1051": "WNomRef", - "1052": "WCtlHzModCfg", - "1053": "WCtlHzCfg", - "1054": "HzStr", - "1055": "WGra", - "1056": "HzStop", - "1057": "HystEna", - "1058": "TmSyn", - "1059": "VArMax", - "1060": "VArLim", - "1061": "VAMax", - "1062": "VALim", - "1063": "PFAbsMin", - "1064": "PFAbsLim", - "1065": "WGraRecon", - "1066": "WGraReconEna", - "1067": "VArCnstCfg", - "1068": "WGraEna", - "1069": "VArCtlVol", - "1070": "VArCnstNom", - "1071": "VArCnst", - "1072": "VArCtlCom", - "1073": "VArCtlW", - "1074": "PFCnst", - "1075": "PFCtlCom", - "1076": "PFCtlW", - "1077": "WCnst", - "1078": "WCnstNom", - "1079": "WCtlCom", - "1080": "PlntCtl", - "1081": "EvtAcSwOpn", - "1082": "InstFltGri", - "1083": "DscGriPhSeqChk", - "1084": "EvtPhSeq", - "1085": "PriMst", - "1086": "ScdMst", - "1087": "InvCtl", - "1088": "EvtDatDif", - "1089": "EvtAcPwrCirInop", - "1090": "EvtHFAMax", - "1091": "EvtHFSC", - "1092": "EvtDclVMin", - "1093": "EvtTmpSnsPcbRdt", - "1094": "EvtFanEx", - "1095": "BstConv1", - "1096": "BstConv2", - "1097": "PhAngMax", - "1098": "PhAngMaxTmms", - "1099": "ChgMax", - "1100": "ChgMaxTmms", - "1101": "ReconMin", - "1102": "ReconMax", - "1103": "HzRtg", - "1104": "TotVANom", - "1105": "BstConv", - "1106": "EvtOvTmpBstConv", - "1107": "EvtHzGraMax", - "1108": "ClbAcVol", - "1109": "ClbAcVolStt", - "1110": "EvtClbAcVolFail", - "1111": "Fail", - "1112": "NotPrf", - "1113": "GndFuFlt", - "1114": "DscGndFuChk", - "1115": "DscFanRep", - "1116": "DscFanCln", - "1117": "EvtOvVProFlt", - "1118": "ClbFail", - "1119": "ClbAcVolPhs", - "1120": "GndAmpMax", - "1121": "GndAmpMaxTmms", - "1122": "GndMdt", - "1123": "GndModReq", - "1124": "GndModStt", - "1125": "GndModPs", - "1126": "GndModNg", - "1127": "GndModNone", - "1128": "GndModNoneReq", + "892": "String failure detection", + "893": "Signal processor update", + "894": "Signal processor update failed", + "895": "S0 energy counter", + "896": "Charge of current battery", + "897": "Specified battery setpoints", + "898": "heating", + "899": "cooling", + "900": "Main processor", + "901": "Communication assembly", + "902": "Residual current monitoring unit", + "903": "Display", + "904": "Logic component", + "905": "RS485 module", + "906": "Zigbee components", + "907": "Bluetooth component", + "908": "Operating system", + "909": "String protection", + "910": "Protocol converter", + "911": "Module slot 1", + "912": "Webconnect module", + "913": "Power control modules", + "914": "Module slot 2", + "915": "Battery management system", + "916": "Emergency power supply modules", + "917": "Multifunction relay modules", + "918": "Mains watchdog unit", + "919": "Dedicated access module", + "920": "SMA SensorModule", + "921": "Wi-Fi component", + "922": "SMA I/O Module", + "923": "SMA RS485 Module", + "924": "RS485 interface", + "932": "Initialization Start: |tn0|", + "933": "Initialization End: |tn0|", + "934": "Operation Start: |tn0|", + "935": "Operation End: |tn0|", + "936": "Shutdown Start: |tn0|", + "937": "Shutdown End: |tn0|", + "938": "Internal fault 0x|x4||x5||x6||x7|/|u0|", + "939": "Calculation overflow in module |u0|", + "940": "Startup |x5|:|x4|:|x3|:|x2|:|x1|:|x0|:|5u8|", + "941": "Resource |s0| could not load.", + "942": "Server could not start|x5|:|x4|:|x3|:|x2|:|x1|:|x0|:|5u8|", + "943": "24h Timeout at parameter setting |ln8c|", + "944": "Login OK: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|", + "945": "Logout: Level: |u8|Device:|x1||x0||x7||x6||x5||x4|", + "946": "Auth. error: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|", + "947": "Login error: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|Error: |dc|", + "948": "Detection started", + "949": "New Device: |x1||x0||x7||x6||x5||x4|", + "950": "Rec. Hello World: Device: |x1||x0||x7||x6||x5||x4|", + "951": "Sent Hello World", + "952": "New Object Unknown: Device: |x1||x0| |x7||x6||x5||x4| - |x9||x8|", + "953": "New Master: Device: |x1||x0||x7||x6||x5||x4|", + "954": "Login started: Level: |u0|", + "955": "Login End: Level: |u0|", + "956": "Logout started: Level: |u0|", + "957": "Bluetooth connection to root node established", + "958": "Bluetooth connection to root node terminated", + "959": "Bluetooth connection has broken", + "960": "New dev.info [\"['|x5|:|x4|:|x3|:|x2|:|x1|:|x0|']\"], Type=|c8|", + "961": "Conn.device ['|x5|:|x4|:|x3|:|x2|:|x1|:|x0|'] lost", + "962": "BCN: Radio network established", + "963": "Server prob. not available until |s0| due to maint", + "964": "Server not available: |d0|", + "965": "Registration failed |d0|", + "966": "|d0| bytes successfully transmitted in |d4| sec.", + "967": "Data succ. transmitted: |d0| bytes in |d4| seconds", + "968": "Data transm. aborted after |d0| bytes and |d4| sec. flt: |d8|", + "969": "Time synchronization failed |d0|", + "970": "Faulty parameter |ln04|", + "971": "Internal ODB fault |d0|", + "972": "Ensure DC supply", + "973": "------", + "974": "String protection", + "975": "Restart Learning", + "976": "Reverse currents or substring |s0| polarity rev.", + "977": "Substring |s0| failed", + "978": "ESS-IGBT defective Input |s0|", + "979": "ESS Relay fault Input |s0|", + "980": "Relay control defective input |s0|", + "981": "HSS-IGBT defective input |s0|", + "982": "Ring line interrupted", + "983": "Short-circuit String A, risk of arc.Don't pull ESS", + "984": "Arcing danger DC plug input; reinsert ESS", + "985": "Varistor A or B through thermal fuse", + "986": "Varistor A or B through arcing", + "987": "Lightning protection device at input A defective", + "988": "Overheating", + "989": "String |s0| defective", + "990": "String |s0| defective", + "991": "Lightning protection inactive", + "992": "Overheating", + "993": "Reverse currents or input |s0| polarity reversed", + "994": "Phase(s) or neutral conductor not connected", + "995": "Do not disconnect ESS", + "996": "Connect ESS, do not open cover", + "997": "Check varistors", + "998": "Check lightning protector A/PE", + "999": "Disconnect device from generator and grid", + "1000": "New device cannot be administered: Device: |x1||x0| |x7||x6||x5||x4|", + "1001": "Parameter |ln8c| was sent", + "1002": "Bluetooth Repeater", + "1003": "Intermediate circuit voltages not permitted", + "1004": "Grid type detection failed", + "1005": "Grid current sensor defective", + "1006": "General fault", + "1007": "Overcurrent Ground fuse", + "1008": "[DE] ENS", + "1009": "[GB] G77", + "1010": "[AU] AGL", + "1011": "[US] UL1741", + "1012": "[US] UL1741/2005", + "1013": "SMA other standard", + "1014": "[DK] DK5950", + "1015": "[US] UL1741/2001", + "1016": "Constant current", + "1017": "[TH] PEA", + "1018": "[TH] MEA", + "1020": "[DE] Medium-Voltage Directive (Germany)", + "1021": "[JP] Airdolphine", + "1022": "Operating mode of static voltage stabilization", + "1023": "Operating mode active power red., overfreq. P(f)", + "1024": "Reactive power mode", + "1025": "Q(V) characteristic curve", + "1026": "Voltage difference to next charact. curve value", + "1027": "Time to adoption of next charact. curve value", + "1028": "Nominal voltage offset", + "1029": "Reactive power gradient", + "1030": "Stop voltage", + "1031": "Reactive power", + "1032": "[DE] MVtgDirective Internal", + "1033": "Q(P) characteristic curve", + "1034": "Reactive power value starting point", + "1035": "Active power value starting point", + "1036": "Reactive power value end point", + "1037": "Active power value end point", + "1038": "Manual cos φ specification", + "1039": "cos φ setpoint for active power output", + "1040": "Excitation type for active power output", + "1041": "Overexcited", + "1042": "Underexcited", + "1043": "cos φ(P) charac. curve", + "1044": "Excitation type at starting point", + "1045": "cos φ of start point", + "1046": "Excitation type at end point", + "1047": "cos φ of end point", + "1048": "Active power mode", + "1049": "Manual setting", + "1050": "Standardized active power", + "1051": "Reference value for normalized active power", + "1052": "Frequency-dependent active power adapt. P(f)", + "1053": "P(f) characteristic curve", + "1054": "Difference between starting freq. and grid freq.", + "1055": "Active power gradient", + "1056": "Difference between reset frequency and grid freq.", + "1057": "Activation of stay-set indicator function", + "1058": "Synchronize time with time server", + "1059": "Current reactive power limit", + "1060": "Max. reactive power", + "1061": "Currently set apparent power limit", + "1062": "Maximum apparent power", + "1063": "Current cos φ limit", + "1064": "Min. cos φ", + "1065": "Power gradient for reconnection after grid fault", + "1066": "Soft start-up P after grid fault", + "1067": "Manual reactive power setting for active power output", + "1068": "Limitation of change rate", + "1069": "Q(V) characteristic curve", + "1070": "Q, manual setting in %", + "1071": "Q, manual setting in VAr", + "1072": "Q, external setting", + "1073": "Q(P) characteristic curve", + "1074": "cos φ, manual setting", + "1075": "cos φ, external setting", + "1076": "cos φ(P) charac. curve", + "1077": "Manual setting in W", + "1078": "Manual setting in %", + "1079": "External setting", + "1080": "PV system control", + "1081": "AC circuit breaker activated or open", + "1082": "Grid connection installation failure ", + "1083": "Check grid and rotating field", + "1084": "Rotating field left", + "1085": "Primary Master", + "1086": "Secondary Master", + "1087": "Device control", + "1088": "Data inconsistency", + "1089": "AC bridge not ready for operation", + "1090": "UCE monitoring HF half-bridge", + "1091": "Bridge short circuit HF half-bridge", + "1092": "Voltage conditions not met", + "1093": "Fault sensor PCB temperature", + "1094": "External fan fault", + "1095": "Boost converter", + "1096": "Boost converter 2", + "1097": "Maximum phase shift", + "1098": "Tripping time for max. phase shift", + "1099": "Max. frequency change per second", + "1100": "Maximum frequency change tripping time", + "1101": "Lower reconnection limit", + "1102": "Upper reconnection limit", + "1103": "Nominal frequency", + "1104": "Normalized total apparent power", + "1105": "Boost converter", + "1106": "Overtemperature boost converter", + "1107": "Frequency change not permitted", + "1108": "Calibration voltage", + "1109": "Calibration status", + "1110": "AC voltage calibration failed", + "1111": "Failed", + "1112": "Not executed", + "1113": "Ground fuse fault", + "1114": "Check ground fuse", + "1115": "Replace fan", + "1116": "Clean fan", + "1117": "Varistor monitoring defective", + "1118": "Calibration failed", + "1119": "Selection of the voltage(s) to be calibrated", + "1120": "Maximum ground current", + "1121": "Tripping time maximum ground current", + "1122": "Grounding prescribed?", + "1123": "Prescribed grounding type", + "1124": "Grounding status", + "1125": "Positive", + "1126": "Negative", + "1127": "No grounding", + "1128": "None prescribed", "1129": "Yes", "1130": "No", - "1131": "GriSwOpn", - "1132": "WCtlHz", - "1133": "VArCnstNomCfg", - "1134": "WCnstNomCfg", - "1135": "UpdPvProErr", - "1136": "EvtUpdPvProErr", - "1137": "UpdPvPro", - "1138": "EvtUpdPvPro", - "1139": "UL1741/2005/208", - "1140": "UL1741/2005/240", - "1141": "GndFlt", - "1142": "EvtGndModRv", - "1143": "DscGndModRv", - "1144": "PlntTmSet", - "1145": "PortalAct", - "1146": "Do", - "1147": "AdptSttNotCrea", - "1148": "AdptSttIdle", - "1149": "AdptSttInqAct", - "1150": "AdptSttInqStop", - "1151": "AdptSttConn", - "1152": "AdptSttDscon", - "1153": "AdptSttSwUpdStr", - "1154": "AdptSttSwUpdStop", - "1156": "AdptCmdCrea", - "1157": "AdptCmdConn", - "1158": "AdptCmdDscon", - "1159": "AdptCmdInqStr", - "1160": "AdptCmdAbrt", - "1161": "AdptCmdFltRs", - "1162": "AdptCmdUpdSw", - "1163": "AdptZb", - "1164": "AdptBt", - "1165": "AdptEth", - "1166": "AdptSer", - "1167": "AdptSpdwr", - "1168": "AdptWebConn", - "1170": "RAA", - "1171": "DAA", - "1172": "AdptCmd", - "1173": "AdptConnNd", - "1174": "AdptNdLst", - "1175": "AdptConnQual", - "1176": "AdptStt", - "1177": "AdptFlt", - "1179": "AdptNetId", - "1180": "AdptEvt", - "1186": "EvtDcAmpMsFlt", - "1187": "Intv15Mnt", - "1188": "Intvh", - "1189": "IntvDy", - "1190": "SysLog", - "1191": "ActStopDt", - "1192": "VArCtlComCfg", - "1193": "WCtlComCfg", - "1194": "PFCtlComCfg", - "1195": "IntvTmsMax", - "1196": "Exp", - "1197": "DatExpNoTag", - "1198": "EvtExpNoTag", - "1199": "PPDS", - "1200": "PvProOk", - "1201": "MPPShdw", - "1202": "CycTms", - "1203": "WMaxMpp", - "1204": "VolSpt", - "1205": "VRef", - "1206": "DclVolSpt", - "1207": "SwPkgLcn", - "1208": "AdptEvtConnAbrt", - "1209": "AdptEvtNetIdMdf", - "1210": "AdptSttFlt", - "1211": "AdptSttHwFlt", - "1212": "AdptSttNetFlt", - "1213": "DAAID", - "1214": "RAAID", - "1215": "EvtPlntCtlMstFlt", - "1216": "EvtPlntCtlCfgSet", - "1217": "HystVolNom", - "1218": "ArGraNom", - "1219": "VolRefNom", - "1220": "VArMaxNom", - "1221": "PwrCirInopVol", - "1222": "VArGraNom", - "1223": "VArTms", - "1224": "WNomStr", - "1225": "WNomStop", - "1226": "VRefOfs", - "1227": "PwrCirInopVolNom", - "1228": "PwrCirInopTms", - "1229": "ArGraMod", - "1230": "DGSModCfg", - "1231": "EvtComNetwId", - "1232": "AvalChkIstl", + "1131": "Grid relay open", + "1132": "Frequency-dependent active power adapt. P(f)", + "1133": "Configuration of reactive power mode const. Q as %", + "1134": "Configuration of active power mode const. W as %", + "1135": "Update string prot. failed", + "1136": "Update string prot. failed", + "1137": "Update string protection", + "1138": "Update string protection", + "1139": "[US] UL1741/2005, 208 V", + "1140": "[US] UL1741/2005, 240 V", + "1141": "Grounding error", + "1142": "Wrong earthing type", + "1143": "Wrong earthing type; check earthing set", + "1144": "Set PV system time", + "1145": "Use Sunny Portal", + "1146": "Execute", + "1147": "Not initialized", + "1148": "Not connected", + "1149": "Searching", + "1150": "Not connected", + "1151": "Connected", + "1152": "Not connected", + "1153": "Not connected", + "1154": "Firmware update completed", + "1163": "Zigbee", + "1164": "Bluetooth", + "1165": "Ethernet", + "1166": "Serial", + "1167": "Speedwire", + "1168": "Webconnect", + "1170": "Downlink", + "1171": "Uplink", + "1173": "Current root node", + "1174": "Possible root nodes", + "1175": "Connection quality", + "1176": "Status", + "1177": "Fault indication", + "1179": "NetID", + "1180": "Current event", + "1186": "DC current measurement defective", + "1187": "every 15 minutes", + "1188": "hourly", + "1189": "daily", + "1190": "Syslog service", + "1191": "Activated until", + "1192": "Extern. reactive power mode", + "1193": "External setting", + "1194": "cos φ config. method of PV system control", + "1195": "Timeout for communication error indication", + "1196": "Export", + "1197": "Measurement name in local language", + "1198": "Events in local language", + "1199": "[CZ] PPDS", + "1200": "String protection OK", + "1201": "SMA ShadeFix", + "1202": "Cycle time", + "1203": "Power limit", + "1204": "Setpoint for PV voltage", + "1205": "Nominal system voltage", + "1206": "Setpoint for intermediate circuit voltage", + "1207": "Update file", + "1208": "Adaptor: Conn. interrupted", + "1209": "Adapter event: NetID changed", + "1210": "Not connected", + "1211": "Not connected", + "1212": "Not connected", + "1213": "DAA type ID", + "1214": "RAA type ID", + "1215": "Time interval expired", + "1216": "Dynamic settings established", + "1217": "Hysteresis voltage", + "1218": "Gradient K of reactive current droop", + "1219": "Specified voltage UQ0", + "1220": "Symmetrical limit for maximum reactive power", + "1221": "PWM reverse voltage", + "1222": "Reactive power gradient", + "1223": "Setting time for nominal value filter", + "1224": "Active power at starting point", + "1225": "Active power at end point", + "1226": "Reference correction voltage", + "1227": "PWM inverse voltage at undervoltage", + "1228": "PWM inversion delay at undervoltage", + "1229": "Reactive current droop", + "1230": "Dynamic grid support", + "1231": "NetID changed: New ID: |x3||x2||x1||x0|", + "1232": "Check for update and install it", "1233": "SDLWindV", - "1234": "Diag", - "1235": "CpuMon", - "1236": "CpuLod", - "1237": "RemStoLcn", - "1238": "EvtUpdStr", - "1239": "UpdQryOk", - "1240": "UpdQryNok", - "1241": "UpdAbrt", - "1242": "UpdDwldStr", - "1243": "UpdDwldOk", - "1244": "UpdDwldNok", - "1245": "RevUnk", - "1246": "PkgSzFlt", - "1247": "ParaMss", - "1248": "NxtConnTm1", - "1249": "NxtConnTm2", - "1250": "NxtConnTm3", - "1251": "IREStt", - "1252": "AdptEvtRecon", - "1253": "DbVolNomMin", - "1254": "DbVolNomMax", - "1255": "EvtAcV", - "1256": "UpdSpdwr", - "1257": "EvtUpdSpdwr", - "1258": "ConnTstRsl", - "1259": "EvtDcSCALimB", - "1260": "EvtOvVProLgtProB", - "1261": "DscLgtProChkB", - "1262": "DGSFlCfg", - "1263": "DGSMod", - "1264": "DGSFl", - "1265": "DGSPa", - "1266": "[mA]", - "1267": "[km/h]", - "1268": "[mph]", - "1269": "[kOhm]", - "1270": "[mOhm]", - "1271": "[mV]", - "1272": "[kVA]", - "1273": "[kVAr]", - "1274": "[kW/m2]", - "1275": "[kW]", - "1276": "[MW]", - "1277": "[GW]", - "1278": "[MWh]", - "1279": "[GWh]", - "1280": "[Ws]", - "1281": "[g]", - "1282": "[kg]", - "1283": "[lb]", - "1284": "[t]", - "1285": "[m2]", - "1286": "[sqft]", - "1287": "[m]", - "1288": "[km]", - "1289": "[ft]", - "1290": "[g/kWh]", - "1291": "[kg/kWh]", - "1292": "[kWh/kWp]", - "1293": "[Ah]", - "1294": "[As]", - "1295": "Stdby", - "1296": "UpdAval", - "1297": "EvtFtpTstOk", - "1298": "EvtFtpTstNok", - "1299": "EvtFtpSvrStr", - "1300": "EvtFtpSvrStop", - "1301": "EvtFtpSvrStrFail", - "1302": "EvtFtpSvrStopFail", - "1303": "EvtFtpUpld", - "1304": "EvtFtpUpldFail", - "1305": "GndModLrn", - "1306": "EvtUpdSpdwrErr", - "1307": "EvtExComFailSrv", - "1308": "EvtExLoginFailTag", - "1309": "EvtTmSynFailTag", - "1310": "EvtExTxAbrtTag", - "1311": "EvtDevClssUnk", - "1312": "EvtSysErr", - "1313": "EvtAcsErr", - "1314": "EvtWebSvcConnFail", - "1315": "EvtWebboxNotRgst", - "1316": "PkgUpdRev", - "1317": "AutoUpdIsOn", - "1318": "AutoUpdTm", - "1319": "NoRev", - "1320": "EvtWanIpDetFail", - "1321": "GndFltRea", - "1322": "GndFltDscon", - "1323": "GndFltWrn", - "1324": "EvtExComFailSrvTag", - "1325": "DatExpCSVIsOn", - "1326": "DatExpXMLIsOn", - "1327": "TotPF", - "1328": "VArGraMod", - "1329": "VolWidNom", - "1330": "Hyst", - "1331": "Db", - "1332": "HzMon", - "1333": "AsymDet", - "1334": "AsymMax", - "1335": "AsymMaxTmms", - "1336": "HzMonTmms", - "1337": "UL1741/120", - "1338": "UL1741/208", - "1339": "UL1741/240", - "1340": "MltFncSw", - "1341": "FltInd", - "1342": "FanCtl", - "1343": "SelfCsmp", - "1344": "MinOnTmm", - "1345": "MinOnPwr", - "1346": "MinOnPwrTmm", - "1347": "OpMode", - "1348": "DevRstr", - "1349": "ComCtl", - "1350": "DcCtlTurCfg", - "1351": "PC1", - "1352": "PC2", - "1353": "PC3", - "1354": "PC4", - "1355": "KP", - "1356": "KI", - "1357": "KD", - "1358": "StopVol", - "1359": "BatCha", - "1360": "MinReconTmm", - "1361": "[1E-3]", - "1362": "[1E-6]", - "1363": "FeedInTar", - "1364": "SelfCsmpTar", - "1365": "PwrTar", - "1366": "FeedInRvn", - "1367": "SelfCsmpRvn", - "1368": "PwrCost", - "1369": "LoginMdt", - "1370": "EvtTrfEnclFlt", - "1371": "EvtStopDet", - "1372": "EvtCanInOv", - "1373": "EvtDatChkFlt", - "1374": "EvtAcSwFlt", - "1375": "MsgPlntCtl", - "1376": "EvtWMaxAnInval", - "1377": "EvtWMaxBinCont", - "1378": "EvtVArMaxAnInval", - "1379": "EvtPFAbsMinAnInval", - "1380": "EvtCabOpn", - "1381": "EvtFliSto", - "1382": "EvtFliCrea", - "1383": "EvtWDrt", - "1384": "EvtHzDrt", - "1385": "EvtTmpDrt", - "1386": "EvtDcDrt", - "1387": "VArCnstNomAnIn", - "1388": "PFCnstAnIn", - "1389": "VArCtlVolHystDb", - "1390": "WCnstNomAnIn", - "1391": "WCnstNomDgIn", - "1392": "Flt", - "1393": "WaitPV", - "1394": "WaitGri", - "1395": "DcDm", - "1396": "Gri", - "1397": "DscPlntCtl", - "1398": "DscCabOpn", - "1399": "DscTrfEnclFlt", - "1400": "EvtDcVMaxFst", - "1401": "TotPFPrc", - "1402": "TotPFExt", - "1403": "TotWhMod", - "1404": "PvWhOut", - "1405": "GriWhOut", - "1406": "GriWhIn", - "1407": "PvMs", - "1408": "TotWOut", - "1409": "HzLim", - "1410": "ImpMon", - "1411": "AmpAmpl", - "1412": "MaxImpGra", - "1413": "PerAid", - "1414": "Ampl", - "1415": "hLimNom", - "1416": "lLimNom", - "1417": "ReconMaxNom", - "1418": "ReconMinNom", - "1419": "CO2RedSpc", - "1420": "GriTyp", - "1421": "Imp", - "1422": "PMid", - "1423": "VMid", - "1424": "VMax", - "1425": "VStr", - "1426": "RplDet", - "1427": "GndVol", - "1428": "BckOpMod", - "1429": "BckStt", - "1430": "PwrBal", - "1431": "PwrGrd", - "1432": "MaxW", - "1433": "GriTyp277V", - "1434": "GriTyp208V", - "1435": "GriTyp240V", - "1436": "GriTyp208VwoN", - "1437": "GriTyp240VwoN", - "1438": "Auto", - "1439": "OnAllPhs", - "1440": "ModGri", - "1441": "ModOffGri", - "1442": "ModPhsGrd", - "1443": "ModPwrGrd", - "1444": "ModFltGrd", - "1445": "PasAid", - "1446": "GridGuardRev", - "1447": "TotS0Out", - "1448": "TotS0In", - "1449": "EvtLeakRisIgn", - "1450": "EvtGfdiIgn", - "1451": "EvtIsoMonCfg", - "1452": "EvtRemGfdiSw", - "1453": "EvtIsoFltPmt", - "1454": "EvtSoftGnd", - "1455": "EvtEmgStop", - "1456": "Csmp", - "1457": "AbsSelfCsmpInc", - "1458": "DySelfCsmpInc", - "1459": "PvGriConn", - "1460": "CsmpGriConnStt", - "1461": "GriConn", - "1462": "GriConnNoBck", - "1463": "Bck", - "1464": "CapacThrpCnt", - "1465": "BatChaSttMin", + "1234": "Diagnosis", + "1235": "CPU monitor", + "1236": "CPU load", + "1237": "Server path", + "1238": "Update started", + "1239": "Search for update completed successfully", + "1240": "Search for update not compl. successfully: |tn0|", + "1241": "Update aborted", + "1242": "Download of an update started", + "1243": "Download of an update completed successfully", + "1244": "Download of update not compl. successfully: |tn0|", + "1245": "Version unknown", + "1246": "Incorrect package size", + "1247": "One or more parameters are missing", + "1248": "Next connection", + "1249": "Next connection 2", + "1250": "Next connection 3", + "1251": "IRE status", + "1252": "Adaptor event: Conn. restored", + "1253": "Lower limit, voltage dead band", + "1254": "Upper limit, voltage dead band", + "1255": "Grid voltage fault", + "1256": "Update Speedwire", + "1257": "Update Speedwire", + "1258": "Result of the last connection test", + "1259": "Short-circuit String B, risk of arc.Don't pull ESS", + "1260": "Lightning protection device at input B defective", + "1261": "Check lightning protector B/PE", + "1262": "Full dynamic grid support", + "1263": "Operating mode of dynamic grid support", + "1264": "Full dynamic grid support", + "1265": "Limited dynamic grid support", + "1266": "mA", + "1267": "km/h", + "1268": "mph", + "1269": "kOhm", + "1270": "mOhm", + "1271": "mV", + "1272": "kVA", + "1273": "kvar", + "1274": "kW/m²", + "1275": "kW", + "1276": "MW", + "1277": "GW", + "1278": "MWh", + "1279": "GWh", + "1280": "Ws", + "1281": "g", + "1282": "kg", + "1283": "lb.", + "1284": "t", + "1285": "m²", + "1286": "sq.ft.", + "1287": "m", + "1288": "km", + "1289": "ft.", + "1290": "g/kWh", + "1291": "kg/kWh", + "1292": "kWh/kWp", + "1293": "Ah", + "1294": "As", + "1295": "Standby", + "1296": "New update available: Version |s0|", + "1297": "FTP Push connection test successfully completed.", + "1298": "An error occurred in the FTP Push conn. test: |s0|", + "1299": "FTP server started.", + "1300": "FTP server stopped.", + "1301": "An error occurred when start. the FTP server: |s0|", + "1302": "An error occurred when stop. the FTP server: |s0|", + "1303": "FTP upload completed.", + "1304": "An error occurred during the FTP upload: |s0|", + "1305": "Learning", + "1306": "Update Speedwire module failed", + "1307": "Server not available", + "1308": "Registration failed: |tn0|", + "1309": "Time synchronization failed: |tn0|", + "1310": "Data transmission aborted: |tn0|", + "1311": "Unknown device class", + "1312": "System fault", + "1313": "Authentication fault", + "1314": "Web service not available", + "1315": "Sunny WebBox not registered with the Sunny Portal", + "1316": "Update version of the software package", + "1317": "Automatic update", + "1318": "Time of the automatic update", + "1319": "No version available", + "1320": "Identification of WAN IP via Sunny Portal failed", + "1321": "Measures in the case of a grounding error", + "1322": "Disconnect from grid", + "1323": "Warn", + "1324": "Server not available: |lv04|", + "1325": "Data export in CSV format", + "1326": "Data export in XML format", + "1327": "Displacement power factor", + "1328": "Reactive power droop mode", + "1329": "Voltage spread", + "1330": "Hysteresis", + "1331": "Dead band", + "1332": "Frequency monitoring", + "1333": "Unbalance detection", + "1334": "Permissible grid unbalance", + "1335": "Tripping time of the unbalance detection", + "1336": "Tripping time of the frequency monitor", + "1337": "[US] UL1741/120", + "1338": "[US] UL1741/208", + "1339": "[US] UL1741/240", + "1340": "Multifunction relay", + "1341": "Fault indication", + "1342": "Fan control", + "1343": "Self-consumption", + "1344": "Minimum On time", + "1345": "Minimum On power", + "1346": "Minimum power On time", + "1347": "Operating mode", + "1348": "Initiate device restart", + "1349": "Control via communication", + "1350": "Configuration of \"Turbine\" operating mode", + "1351": "Constant deviation of power calculation", + "1352": "Coefficient of power calculation based on Udc", + "1353": "Coefficient of power calculation based on Udc^2", + "1354": "Coefficient of power calculation based on Udc^3", + "1355": "Proportional factor of power control", + "1356": "Integral factor of power control", + "1357": "Differential factor of power control", + "1358": "Critical voltage to end feed-in", + "1359": "Battery bank", + "1360": "Minimum time before reconnection", + "1361": "1E-3", + "1362": "1E-6", + "1363": "Rate for feed-in reimbursement", + "1364": "Rate for self-use reimbursement", + "1365": "Electricity tariff", + "1366": "Feed-in reimbursement", + "1367": "Self-use reimbursement", + "1368": "Electricity costs", + "1370": "Transformer prot. triggered", + "1371": "Quick stop triggered", + "1372": "CAN communication error", + "1374": "AC separating point", + "1376": "Invalid analogue active power specification", + "1377": "Invalid digital active power specification", + "1378": "Invalid analogue reactive power specification", + "1379": "Invalid analogue power factor specification", + "1380": "Doors have been opened during operation", + "1384": "Active power limit AC frequency", + "1385": "Temperature derating", + "1387": "Reactive power Q, specific. via analogue input", + "1388": "cos φ specific. analog input", + "1389": "Reactive power/volt. char. Q(V) param.", + "1390": "Active power limitation P via analogue input", + "1391": "Active power limitation P via digital inputs", + "1392": "Fault", + "1393": "Waiting for PV voltage", + "1394": "Waiting for valid AC grid", + "1395": "DC range", + "1396": "AC grid", + "1397": "Check active and reactive power interface", + "1398": "Close doors and cancel release", + "1399": "Check external transformer", + "1400": "DC overvoltage peak", + "1401": "Displacement power factor", + "1402": "Excitation type of cos φ", + "1403": "Energy counter type", + "1404": "PV generation counter", + "1405": "Grid feed-in counter", + "1406": "Grid reference counter", + "1407": "PV system measurements", + "1408": "Supplied power", + "1409": "Frequency threshold", + "1410": "Grip impedance monitoring", + "1411": "Current amplitude", + "1412": "Max. impedance gradient", + "1413": "Periodic AID", + "1414": "Amplitude", + "1415": "Normalized upper threshold", + "1416": "Normalized lower threshold", + "1417": "Norm. max. reconnection threshold", + "1418": "Norm. min. reconnection threshold", + "1419": "Specific CO2 reduction", + "1420": "Grid type", + "1421": "Impedance", + "1422": "Centre point of P-coordinate", + "1423": "Centre point of U-coordinate", + "1424": "End point of U-coordinate", + "1425": "Start point of U-coordinate", + "1426": "Ripple control signal detection", + "1427": "Ground voltage", + "1428": "Backup mode operating mode", + "1429": "Backup mode status", + "1430": "PowerBalancer", + "1431": "PowerGuard", + "1432": "Power max. Value", + "1433": "277 Volt", + "1434": "208 Volt", + "1435": "240 Volt", + "1436": "208 Volt without neutral conductor", + "1437": "240 Volt without neutral conductor", + "1438": "Automatic", + "1439": "In all phases", + "1440": "Grid mode", + "1441": "Separate network mode", + "1442": "PhaseGuard", + "1443": "PowerGuard", + "1444": "FaultGuard", + "1445": "Passive AID", + "1446": "GridGuard-Version", + "1447": "S0-pulse feed-in", + "1448": "S0-pulse reference", + "1449": "Insulation failure ignored", + "1450": "Grounding error ignored", + "1451": "Insulation monitoring configuration error", + "1452": "No Remote GFDI response", + "1453": "Permanent insulation failure", + "1454": "Soft grounding triggered", + "1455": "Emergency OFF", + "1456": "Consumption", + "1457": "Self consumption increase", + "1458": "Today's increased self-consumption", + "1459": "Mains connection", + "1460": "Power supply status", + "1461": "Mains connected", + "1462": "Backup not available", + "1463": "Backup", + "1464": "Rated capacity throughput", + "1465": "Lower battery discharge limit", "1466": "Wait", - "1467": "Str", - "1468": "MppSrch", - "1469": "Shtdwn", - "1470": "Dst", - "1471": "EvtWrnErrTxOk", - "1472": "EvtWrnErrTxNok", - "1473": "EvtPlntDatTxOk", - "1474": "EvtPlntDatTxNok", - "1475": "EvtErrTxOk", - "1476": "EvtErrTxNok", - "1477": "EvtWrnTxOk", - "1478": "EvtWrnTxNok", - "1479": "GriFltMon", - "1480": "WaitUtil", - "1481": "SunnyCentralControl", - "1482": "EvtPlntUnkPortal", - "1483": "EvtDevExsPortal", - "1484": "EvtParaInval", - "1485": "EvtUnkDevRev", - "1486": "EvtInopAcsMss", - "1487": "EvtDevRgstOk", - "1488": "ComFltSSMId", - "1489": "SMUWrnId", - "1490": "SigIn1Stt", - "1491": "SigIn2Stt", - "1492": "EvtEFDcDscon", - "1493": "EvtEFDcDsconPmt", - "1494": "DscClrEF", - "1495": "EvtStrgFlt", - "1496": "DscStrgChk", - "1497": "EvtWdSmidCtl", - "1498": "EvtWdSmidCT", - "1499": "EvtBrdSup12", - "1500": "DscSDChg", - "1501": "TxAttCnt", - "1502": "TxAttTm", - "1503": "UpdSrc", - "1504": "AutoUpd", - "1505": "ManUpd", - "1506": "UpdPortal", - "1507": "Inf", - "1508": "EvtDcSwCnt90", - "1509": "EvtDcSwCnt100", - "1510": "Cmps", - "1511": "CmpsDlt", - "1512": "EvtSDExpInaUpd", - "1513": "EvtSDExpAct", - "1514": "EvtUpdPlntTx1", - "1515": "EvtUpdPlntTx2", - "1516": "EvtUpdPlntTx3", - "1517": "EvtDevUpdOk", - "1518": "EvtDevUpdNok", - "1519": "EvtDevUpdAbrt", - "1520": "EvtUpdDwldNok1", - "1521": "EvtUpdDwldNok2", - "1522": "EvtUpdDwldNok3", - "1523": "EvtUpdWait", - "1524": "S0kWhOut", - "1525": "S0kWhIn", - "1526": "PkgTrtRev", - "1527": "Forc", - "1528": "EvtReconFlt", - "1529": "EvtReconFltTm", - "1530": "GriTyp208VWYE", - "1531": "GriSw", - "1532": "AutoComFailStt", - "1533": "InitAutoStt", - "1534": "AutoSttSet", - "1535": "JetOffTst", - "1536": "ComTmOut", - "1537": "StrDet", - "1538": "ArGraNomPrc", - "1539": "AutoEna", - "1540": "EvtFstStop", - "1541": "EvtUnkDspFlt", - "1542": "EvtUnkBfrFlt", - "1543": "EvtOvTmpDcCl", - "1544": "EvtDcSwWrn", - "1545": "EvtIsoFltStk", - "1546": "EvtGfdiWrn", - "1547": "EvtGfdiPmt", - "1548": "EvtSoftGndWrn", - "1549": "EvtSoftGndPmt", - "1550": "EvtSoftGndIgn", - "1551": "EvtSoftGndHw", - "1552": "EvtIsoFltWrn", - "1553": "NotChg", - "1554": "EvtTmpSnsDisp", - "1555": "EvtDisp", - "1556": "EvtDispInopTmp", - "1557": "EvtDispInopUnk", - "1558": "EvtDispInopMss", - "1559": "DscUpdExec", - "1560": "EvtRemStop", - "1561": "TxAttRev", - "1562": "phsA2B", - "1563": "AOfs", + "1467": "Start", + "1468": "MPP search", + "1469": "Shut down", + "1470": "Fault", + "1471": "Warning/error mail OK", + "1472": "Warning/error mail not OK", + "1473": "PV system info mail OK", + "1474": "PV system info mail not OK", + "1475": "Error mail OK", + "1476": "Error mail not OK", + "1477": "Warning mail OK", + "1478": "Warning mail not OK", + "1479": "Wait after mains interruption", + "1480": "Waiting for utilities company", + "1481": "Sunny central control", + "1482": "PV system is not available in the portal", + "1483": "Device is already available in the portal", + "1484": "Invalid parameter was transmitted", + "1485": "Unknown device version", + "1486": "No rights to execute the operation", + "1487": "Device successfully registered in the portal", + "1488": "SSM Id for which comm. fault has occurred", + "1489": "SMU warning code for string fault", + "1490": "Status of signal contact 1", + "1491": "Status of signal contact 2", + "1492": "String temporarily deselected due to earth fault", + "1493": "String permanently deselected due to earth fault", + "1494": "Eliminate earth fault", + "1495": "String detected w. yield loss", + "1496": "Check functionality of the whole string", + "1497": "Watchdog SMID CONT", + "1498": "Watchdog SMID CT", + "1499": "On-board supply sys. dist. 12V", + "1500": "Replace SD card with a functional one", + "1501": "Transmission attempts", + "1502": "Time of the last transmission attempt", + "1503": "Update source", + "1504": "Automatic update", + "1505": "Manual update", + "1506": "Update portal", + "1507": "Information", + "1508": "90% of DC switch. cycl. reach.", + "1509": "100% of DC switch. cyc. reach.", + "1510": "Compress", + "1511": "Compress and delete", + "1512": "The data export to the SD card was temporarily deactivated as at least one update file is on the SD card.", + "1513": "The data export to the SD card was re-activated.", + "1514": "The firmware update with version number |u/9/0| for device type |tn4| was sent to the PV system.", + "1515": "The firmware update with version number |u/9/0| for device types |tn8| was sent to the PV system.", + "1516": "The firmware update with version number |u/9/0| for device types |tn4|, |tn8| and |tnc|was sent to the PV system.", + "1517": "The device with serial number |u0| was successfully updated to firmware version |u/9/4|.", + "1518": "The device with serial number |u0| could not be updated to firmware version |u/9/4|.", + "1519": "The device with serial number |u0| and firmware version |u/9/4| is no longer considered for the current update process as this appliance update has failed several times.", + "1520": "Download of the update file with version |u/9/0| for device type |tn4| did not complete successfully.", + "1521": "Download of the update file with version |u/9/0| for device types |tn4| and |tn8| did not complete successfully.", + "1522": "Download of the update file with version |u/9/0| for device types |tn4|, |tn8| and |tnc| did not complete successfully.", + "1523": "Wait for update conditions", + "1524": "S0 pulses per infed kWh", + "1525": "S0 pulses per consumed kWh", + "1526": "Target version of the software package", + "1527": "Force", + "1528": "Reconnection fault grid", + "1529": "Reconnection condition not satisfied", + "1530": "208V WYE", + "1531": "Grid switch", + "1532": "Status after loss of communication in autom. mode", + "1533": "Status after switching on automatic", + "1535": "Jet offline test", + "1536": "Timeout after loss of communication", + "1537": "Starting current detection", + "1538": "Gradient K of the reactive current droop", + "1540": "Quick stop", + "1541": "Unspecif. DSP fault", + "1542": "Unspecif. BFR fault", + "1543": "Overtemperature DC clamps", + "1544": "A DC switch does not close", + "1545": "Insulation failure stack", + "1546": "Warning grounding error", + "1547": "Permanent grounding error", + "1548": "Warning softgrounding activated", + "1549": "Permanent softgrounding error", + "1550": "Softgrounding ignored", + "1551": "Softgrounding hardware fault", + "1552": "Warning insulation failure", + "1553": "Do not change", + "1554": "Disturbance sensor display temperature", + "1555": "No display", + "1556": "Display fault (temp. too low)", + "1557": "Display fault (unknown display type)", + "1558": "Display fault (display not connected)", + "1559": "Run update", + "1560": "Remote control disconnection active", + "1562": "Phase L1 against L2", + "1563": "Offset to AC current", "1564": "K1", - "1565": "K1K2", - "1566": "K1K2K3", - "1567": "K1K2K3K4", - "1568": "K1K2K4", - "1569": "K1K3", - "1570": "K1K3K4", - "1571": "K1K4", + "1565": "K1+K2", + "1566": "K1+K2+K3", + "1567": "K1+K2+K3+K4", + "1568": "K1+K2+K4", + "1569": "K1+K3", + "1570": "K1+K3+K4", + "1571": "K1+K4", "1572": "K2", - "1573": "K2K3", - "1574": "K2K3K4", - "1575": "K2K4", + "1573": "K2+K3", + "1574": "K2+K3+K4", + "1575": "K2+K4", "1576": "K3", - "1577": "K3K4", + "1577": "K3+K4", "1578": "K4", - "1579": "RstrTms", - "1580": "EvtAcDcConn", - "1581": "FeedIn", - "1582": "ValRsUsr", - "1583": "ADir", - "1584": "Ps", - "1585": "Ng", - "1586": "EvtPortalBsy", - "1587": "EvtNetwFail", - "1588": "VArTrt", - "1589": "PFTrt", - "1590": "ActFnc", - "1591": "RemSocCtl", - "1592": "EvtOvTmpCol", - "1593": "EvtUpdBinRxOk", - "1594": "EvtPwdFtySet", - "1595": "EvtNetwFtySet", - "1596": "EvtFtySet", - "1597": "EvtCardFl", - "1598": "EvtTrfConnFlt", - "1599": "GriSwOpnZerW", - "1600": "WCtlVolModCfg", - "1601": "CrvNum", - "1602": "UtilCrvCfg", - "1603": "Crv", - "1604": "CrvTms", - "1605": "RmpDec", - "1606": "RmpInc", - "1607": "NumPt", - "1608": "XVal1", - "1609": "YVal1", - "1610": "XVal2", - "1611": "YVal2", - "1612": "XVal3", - "1613": "YVal3", - "1614": "XVal4", - "1615": "YVal4", - "1616": "XVal5", - "1617": "YVal5", - "1618": "XVal6", - "1619": "YVal6", - "1620": "HzStopWGra", - "1621": "WGraConn", - "1622": "WGraMpp", - "1623": "RtNd", - "1624": "EvtPwdRvyFail", - "1625": "Portal", - "1626": "NtpSrv", - "1627": "Alrm", - "1628": "Mb", - "1629": "TcpSrv", - "1630": "UdpSrv", - "1631": "DhcpSrv", - "1632": "RptInf", - "1633": "Recp", - "1634": "TstEmailTx", - "1635": "UpldCyc", - "1636": "MinIp", - "1637": "MaxIp", - "1638": "TmSynSrc", - "1639": "InOut", - "1640": "DigInGrp1", - "1641": "DigInGrp2", - "1642": "AnInA1", - "1643": "AnInA2", - "1644": "AnInA3", - "1645": "AnInVol1", - "1646": "FreMem", - "1647": "StrgFltDet", - "1648": "PaStrgFltDet", - "1649": "EvtStrgPwr", - "1650": "EvtPaStrgPwr", - "1651": "VolSpp", - "1652": "VolSppMinPwrNom", - "1653": "SnsFlt", - "1654": "EvtDcAcMsFlt", - "1655": "EvtAfci", - "1656": "EvtAfciStrg", - "1657": "EvtAfciSlfTst", - "1658": "EvtAfciSlfTstOk", - "1659": "DscAfciRs", - "1660": "AfciIsOn", - "1661": "SttHealthMsgPrio", - "1662": "MsItf1", - "1663": "MsItf2", - "1664": "MsItf3", - "1665": "ConnLcn", - "1666": "MsType", - "1667": "S0In", - "1668": "S0Out", - "1669": "D0In", - "1670": "D0Out", - "1671": "D0InOut", - "1672": "OffGriAct", - "1673": "EvtTurPwr", - "1674": "EvtComIsNotLoginRsl", - "1675": "EvtComLoginSttRsl", - "1676": "EvtComIsNotLoginStr", - "1677": "EvtComLoginSttStr", - "1678": "EvtComDevLoginStt", - "1679": "EvtComDevLoginStr", - "1680": "EvtComDevLogoutStr", - "1681": "EvtComMdtDat", - "1682": "InsolMin", - "1683": "InsolMax", - "1684": "MsValMin", - "1685": "MsValMax", - "1686": "InsolSns", - "1687": "USB", - "1688": "USB2", - "1689": "DyWhIn", - "1690": "FstStop", - "1691": "Typ", - "1692": "StrgPwrRed", - "1693": "StrgNotConn", - "1694": "EvtDcSwTr", - "1695": "EvtDcSwWaitOth", - "1696": "EvtDcSwSpdl", - "1697": "EvtDcSwManLok", - "1698": "EvtDcSw3Tr", - "1699": "EvtDcSwFlt", - "1700": "KeySwStt", - "1701": "LcnTm", - "1702": "DcSw", - "1703": "StrgStt", - "1704": "WMaxDrt", - "1705": "HzDrt", - "1706": "DcAmpDrt", - "1707": "EvtRemSocChg", - "1708": "Spdwr", - "1709": "ComSocA", - "1710": "ComSocB", - "1711": "ConnSpd", - "1712": "ActlIp", - "1713": "ActlSnetMsk", - "1714": "ActlGwIp", - "1715": "ActlDnsSrvIp", - "1716": "WebConn", - "1717": "MacId", - "1718": "AutoCfgIsOn", - "1719": "ComNok", - "1720": "ConnSpd10", - "1721": "ConnSpd100", - "1722": "EvtIREFlt", - "1723": "TotWOutCalc", - "1724": "TotWhOutCalc", - "1725": "NotConn", - "1726": "HalfDpx", - "1727": "FulDpx", - "1728": "DpxMode", - "1729": "EvtComWCir", - "1730": "BatMs", - "1731": "TotAhIn", - "1732": "TotAhOut", - "1733": "Cha", - "1734": "ActChaMod", - "1735": "Maint", - "1736": "FulEqCha", - "1737": "ChaStt", - "1738": "WhIn", - "1739": "WhOut", - "1740": "Gn", - "1741": "AutoStr", - "1742": "GnDmdReas", - "1743": "GnMs", - "1744": "ManCtl", - "1745": "GnDmdBatCha", - "1746": "Tm1OffLim", - "1747": "Tm1OnLim", - "1748": "StrCnt", - "1749": "FulStop", - "1750": "SelfCsmpInc", - "1751": "ActlSelfCsmp", - "1752": "ActlCapacNom", - "1753": "BstChaTmm", - "1754": "EqChaTmh", - "1755": "FulChaTmh", - "1756": "FltRstrMaxCnt", - "1757": "MaxChaAmp", - "1758": "ActlChaVolSpt", - "1759": "CapacRtg", - "1760": "TmpMax", - "1761": "ARtg", - "1762": "GnDmdW", - "1763": "WOff", - "1764": "WOn", - "1765": "OpStt", - "1766": "SelfCsmpIncIsOn", - "1767": "BstCha", - "1768": "FulCha", - "1769": "EqCha", - "1770": "TrcCha", - "1771": "PVCha", - "1772": "GriPVCha", - "1773": "NotDmd", - "1774": "Lod", - "1775": "TmCtl", - "1776": "Man1h", - "1777": "ManStr", - "1778": "ExSrc", - "1779": "Dscon", - "1780": "PubGri", - "1781": "IsoGri", - "1782": "BatTypVRLA", - "1783": "BatTypFLA", - "1784": "BatTypNiCd", - "1785": "BatTypLiIon", - "1786": "S0kWh", - "1787": "Init", - "1788": "Rdy", + "1579": "Restart in |u0| seconds", + "1580": "Please connect AC and DC", + "1581": "Feeding", + "1582": "Reset measured values", + "1583": "Current flow direction", + "1584": "Positive", + "1585": "Negative", + "1586": "Sunny portal occupied", + "1587": "Network fault", + "1588": "Reactive power specification", + "1589": "cos φ specification", + "1591": "Control of wireless sockets", + "1592": "Overtemperature throttle range", + "1593": "Update file successfully copied", + "1594": "The passwords of the device reset to factory s.", + "1595": "Network settings of device reset to the factory s.", + "1596": "The device has been reset to the factory setting", + "1597": "The memory card is full or write-protected", + "1598": "Transformer incorrectly connected", + "1599": "Grid disconnection for 0% active power setting", + "1600": "Conf. of the PV system control procedure P(U)", + "1601": "Characteristic curve number", + "1602": "Conf. of the grid integr. characteristic curves", + "1603": "Characteristic", + "1604": "Adjustm. time characteristic curve operating point", + "1605": "Decrease ramp", + "1606": "Increase ramp", + "1607": "Number of support points to be used", + "1608": "X value 1", + "1609": "Y value 1", + "1610": "X value 2", + "1611": "Y value 2", + "1612": "X value 3", + "1613": "Y value 3", + "1614": "X value 4", + "1615": "Y value 4", + "1616": "X value 5", + "1617": "Y value 5", + "1618": "X value 6", + "1619": "Y value 6", + "1620": "Active power change rate after fault end", + "1621": "Soft start-up rate P", + "1622": "Increase rate in case of insolation change", + "1623": "Root node", + "1624": "Password recovery failed: Device: |u4|", + "1625": "Sunny Portal", + "1626": "NTP server", + "1627": "Alarm", + "1628": "Modbus", + "1629": "TCP server", + "1630": "UDP server", + "1631": "DHCP server", + "1632": "Repeated notification", + "1633": "Email address(es)", + "1634": "Send test e-mail", + "1635": "Upload interval", + "1636": "Start IP address", + "1637": "End IP address", + "1638": "Time synchronization source", + "1639": "Inputs/outputs", + "1640": "Digital input group 1 (DI1 .. DI4)", + "1641": "Digital input group 2 (DI5 .. DI8)", + "1642": "Analogue current input 1", + "1643": "Analogue current input 2", + "1644": "Analogue current input 3", + "1645": "Analogue voltage input 1", + "1646": "Remaining space", + "1647": "Detect string failures", + "1648": "Detect partial string failures", + "1649": "String |s0| low power", + "1650": "Partial string |s0| low power", + "1651": "Overvoltage suppression", + "1652": "Minimum power reduction", + "1653": "Sensor error", + "1654": "Offset DCinAC defective", + "1655": "Electric arc detected", + "1656": "Serial el.arc in String |s0| detected by AFCI mod.", + "1657": "AFCI self-test failed", + "1658": "AFCI self-test successful", + "1659": "Please confirm by tapping", + "1660": "AFCI switched on", + "1661": "Status: |tn0| / |tn4| / |tn8|", + "1662": "Measuring interface 1", + "1663": "Measuring interface 2", + "1664": "Measuring interface 3", + "1665": "Connection point", + "1666": "Type of counter", + "1667": "S0 reference", + "1668": "S0 feed-in", + "1669": "D0 reference", + "1670": "D0 feed-in", + "1671": "D0 reference and feed-in", + "1672": "Activate island mode", + "1673": "Not enough energy available from wind generator", + "1674": "IsNotLogin response: Device: |x1||x0| |x7||x6||x5||x4|", + "1675": "Login status response: Device: |x1||x0| |x7||x6||x5||x4|, status: |xb||xa||x9||x8|", + "1676": "IsNotLogin query started", + "1677": "LoginStatus query started", + "1678": "Devices LoginStatus query: Device: |x1||x0| |x7||x6||x5||x4|", + "1679": "Devices Login started: Device: |x1||x0| |x7||x6||x5||x4|, Level: |u8|", + "1680": "Devices Logout started: Device: |x1||x0| |x7||x6||x5||x4|, Level: |xb||xa||x9||x8|", + "1681": "MandatoryData queried: Device: |x1||x0| |x7||x6||x5||x4|, Obj: |x9||x8|, LRI: |xf||xe||xd||xc|", + "1682": "Minimum insolation", + "1683": "Maximum insolation", + "1684": "Minimum measurement", + "1685": "Maximum measurement", + "1686": "Insolation sensor", + "1687": "USB connection", + "1688": "USB connection 2", + "1689": "Energy absorbed today", + "1690": "Fast shut-down", + "1691": "Type", + "1692": "String deactivated due to WMax", + "1693": "No string connected", + "1694": "DC switch tripped", + "1695": "DC switch waits for connection", + "1696": "DC switch blocked by spindle", + "1697": "DC switch manually blocked", + "1698": "DC switch 3 x tripped", + "1699": "DC switch defective", + "1700": "Key switch", + "1701": "Local time", + "1702": "DC switch", + "1703": "String status", + "1704": "Derating due to max. power", + "1705": "Frequency deviation", + "1706": "Derating due to PV current", + "1707": "Device has switched to status Automatic=|tn4| and mains switch=|tn8|", + "1708": "Speedwire", + "1709": "SMACOM A", + "1710": "SMACOM B", + "1711": "Connection speed", + "1712": "Current IP address", + "1713": "Current subnet mask", + "1714": "Current gateway address", + "1715": "Current DNS server address", + "1716": "Webconnect", + "1717": "MAC address", + "1718": "Automatic configuration switched on", + "1719": "Faulty communication", + "1720": "10 Mbit/s", + "1721": "100 Mbit/s", + "1722": "IRE faulty", + "1723": "Supplied power (calculated)", + "1724": "Counter status generation counter (calculated)", + "1725": "No connection", + "1726": "Half duplex", + "1727": "Full duplex", + "1728": "Duplex mode", + "1729": "Communication error power unit", + "1730": "Battery values", + "1731": "Energy absorbed charge amount", + "1732": "Charge amount released", + "1733": "Charge", + "1734": "Active charging process", + "1735": "Maintenance", + "1736": "Full and equalization charge", + "1737": "State of charge", + "1738": "Absorbed energy", + "1739": "Energy released", + "1740": "Generator", + "1741": "Automatic start", + "1742": "Reason for requesting generator", + "1743": "Generator measured values", + "1744": "Manual control", + "1745": "Generator queries state of charge", + "1746": "Switch-off limit in time range 1", + "1747": "Switch-off limit in time range 2", + "1748": "Number of starts", + "1749": "Full stop", + "1750": "Actual increased self-consumption", + "1751": "Current self-consumption", + "1752": "Current capacity", + "1753": "Time for boost charge", + "1754": "Time for equalization charge", + "1755": "Time for full charge", + "1756": "Maximum start attempts after error", + "1757": "Maximum charging current", + "1758": "Current set charging voltage", + "1759": "Nominal capacity", + "1760": "Maximum temperature", + "1761": "Nominal current", + "1762": "Generator request via power", + "1763": "Switch-off power", + "1764": "Switch-on power", + "1765": "General operating status", + "1766": "Rise in self-consumption switched on", + "1767": "Boost charge", + "1768": "Full charge", + "1769": "Equalization charge", + "1770": "Float charge", + "1771": "Charge with solar power", + "1772": "Charge with solar and grid power", + "1773": "No request", + "1774": "Load", + "1775": "Time control", + "1776": "Manual one hour", + "1777": "Manual start", + "1778": "External source", + "1779": "Separated", + "1780": "Public electricity mains", + "1781": "Island mains", + "1782": "Valve Regulated Lead Acid battery (VRLA)", + "1783": "Flooded lead acid batt. (FLA)", + "1784": "Nickel/Cadmium (NiCd)", + "1785": "Lithium-Ion (Li-Ion)", + "1786": "S0 impulses/kWh:", + "1787": "Initialization", + "1788": "Ready", "1789": "Warming", - "1790": "Syn", - "1791": "ConnAct", - "1792": "ReSyn", - "1793": "GnDscon", - "1794": "StopDl", - "1795": "Lok", - "1796": "FltLok", - "1797": "DyWhFeed", - "1798": "GriCreaSrc", - "1799": "NoneSrc", - "1800": "GnSrc", - "1801": "GriSrc", - "1802": "GriGnSrc", - "1803": "EvtPvOutCfgInval", - "1804": "EvtGriOutCfgInval", - "1805": "EvtGriInCfgInval", - "1806": "EvtPvOutDatNotRx", - "1807": "EvtGriOutDatNotRx", - "1808": "EvtGriInDatNotRx", - "1809": "LodCtlCfgInval", - "1810": "EvtExComKey", - "1811": "EvtPlntTmSet", - "1812": "EvtComBtSerNum", - "1813": "EvtComBtConnQual", - "1814": "EvtComBtNotConn", - "1815": "EvtComBtConnStr", - "1816": "EvtComBtFail", - "1817": "EvtComBtRemSocFail", - "1818": "GriFailTms", - "1819": "AmpMsCnt", - "1820": "USB1", - "1821": "ExIsoMs", - "1822": "EvtAlgnNotReg", - "1823": "EvtDcInChg", - "1824": "EvtAfciAct", - "1825": "SmtpSrv", - "1826": "Cry", - "1827": "Ssh", - "1828": "DoTmSynSrc", - "1829": "CryAlwsSSLTLS", - "1830": "CryDmdSSLTLS", - "1831": "CryNone", - "1832": "EvtComCon", - "1833": "EvtComConStop", - "1834": "EvtComConFail", - "1835": "EvtTmpSnsMdul", - "1836": "EvtFanLif", - "1837": "EvtPyrFlt", - "1838": "EvtPyrClbReq", - "1839": "EvtBckModOn", - "1840": "EvtPortalFltTm", - "1841": "EvtPortalFlt", - "1842": "EvtUpdDevTx", - "1843": "EvtUpdDevTxFlt", - "1844": "IgmpIsOn", - "1845": "SpdwrGrp", - "1846": "EvtNetwLod", - "1847": "EvtNetwOvLod", - "1848": "EvtPkgFlt", - "1849": "EvtComSttChg", - "1850": "EvtConnFail", - "1851": "EvtConnSpdChg", - "1852": "EvtDpxModChg", - "1853": "DscLodRed", - "1854": "EvtSocOp", - "1855": "SocOp", - "1856": "AnInA4", - "1857": "AnInVol2", - "1858": "AnInVol3", - "1859": "AnInVol4", - "1860": "SelfCsmpWh", - "1861": "EvtNetwLodOk", - "1862": "Hi", - "1863": "EvtHwDetFail", - "1864": "EvtUnkHw", - "1865": "EvtUpdTxStr", - "1866": "EvtUpdTxOk", - "1867": "EvtUpdTxNok", - "1868": "EvtDevNotAval", - "1869": "ComCry", - "1870": "SigCyc", - "1871": "UpldTm", - "1872": "Intv30Mnt", - "1873": "Intv2h", - "1874": "Intv4h", - "1875": "Intv6h", - "1876": "Intv8h", - "1877": "Intv12h", - "1878": "EvtBtInit", - "1879": "HwId", - "1880": "MonSrv", - "1881": "RmvDev", - "1882": "RmvAllDev", - "1883": "Dev", - "1884": "STP200IFX-AST", - "1885": "STP200-AST", - "1886": "STP200FCH-AST", - "1887": "SysEnv", + "1790": "Synchronization", + "1791": "Activated", + "1792": "Resynchronization", + "1793": "Generator separation", + "1794": "Slow down", + "1795": "Bolted", + "1796": "Blocked after error", + "1797": "Energy release today", + "1798": "External sources", + "1799": "No", + "1800": "Generator", + "1801": "Mains", + "1802": "Mains and generator", + "1803": "Invalid configuration for the PV generation counter", + "1804": "Invalid configuration for the mains infeed counter", + "1805": "Invalid configuration for the mains consumption counter", + "1806": "Error in data transfer from the PV gen. counter", + "1807": "Error in data transfer from mains infeed counter", + "1808": "Error in data transfer from mains consump. counter", + "1809": "Invalid configuration for the load control", + "1810": "The communiction key has been replaced", + "1811": "PV system time has been reset", + "1812": "Serial number of the Bluetooth root node is |u0|-|u4|", + "1813": "Bluetooth connection quality to root node: |d0|%", + "1814": "There is no Bluetooth conn.", + "1815": "Establishing Bluetooth connection to root node", + "1816": "Bluetooth connection failed", + "1817": "Connection to load faulty. Load control not poss.", + "1818": "Power outage", + "1819": "Number of DC current measurement units", + "1820": "USB connection 1", + "1821": "External measurement of the insulation resistance", + "1822": "Alignment not homogeneous", + "1823": "PV connection reconfigured", + "1824": "Arc detection triggered", + "1825": "SMTP server", + "1826": "Encryption", + "1827": "SSH", + "1828": "Trigger time synchronization", + "1829": "Always SSL/TLS", + "1830": "SSL/TLS if possible", + "1831": "No encryption", + "1832": "Connection to mains establ.", + "1833": "Connection to mains disconn.", + "1834": "Connection to mains collapsed", + "1835": "Fault sensor module temp.", + "1836": "Fan life-time reached", + "1837": "Error in pyranometer", + "1838": "Pyranometer calibr. necessary", + "1839": "Backup mode switched on", + "1840": "Communication to the Sunny Portal was disrupted for |s0| hours", + "1841": "An error occurred in communication to the Sunny Portal: Error Code |d0|", + "1842": "Transfer of the Firmware update Version number |u/9/0| for device type |tn4|. The transfer can take some time.", + "1843": "Error when transferring the Firmware update Version number |u/9/0| for device type |tn4|. Procedure aborted.", + "1844": "IGMP switched on", + "1845": "Speedwire Group", + "1846": "|tn4|: network busy", + "1847": "|tn4|: network overloaded", + "1848": "|tn4|: faulty data packages", + "1849": "|tn4|: communication status goes to |tn8|", + "1850": "|tn4|: communication disrupted", + "1851": "|tn4|: connection speed goes to |tn8|", + "1852": "|tn4|: duplex mode goes to |tn8|", + "1853": "Load reduced through device reduction or increase of query interval", + "1854": "Stand-alone operation", + "1855": "Stand-alone operation", + "1856": "Analogue current input 4", + "1857": "Analogue voltage input 2", + "1858": "Analogue voltage input 3", + "1859": "Analogue voltage input 4", + "1860": "Energy consumed internally", + "1861": "|tn4|: Network load OK", + "1862": "high", + "1863": "Hardware recognition failed", + "1864": "Unknown hardware ID", + "1865": "Update transport started", + "1866": "Update transport successful", + "1867": "Update transport failed", + "1868": "Communication with device currently not possible. Device may be switched off.", + "1869": "Encrypt communication", + "1870": "Communication monitoring signal", + "1871": "Last successful upload", + "1872": "every 30 minutes", + "1873": "every 2 hours", + "1874": "every 4 hours", + "1875": "every 6 hours", + "1876": "every 8 hours", + "1877": "every 12 hours", + "1878": "BT chip has been reinitialised", + "1879": "Hardware ID", + "1880": "Monitoring server", + "1881": "Remove device", + "1882": "Remove all devices", + "1883": "Device", + "1887": "System environment", "1888": "STP208HW12", "1889": "STP208HW13", "1890": "STP208HW14", "1891": "STP208HW15", - "1892": "Smtp", - "1893": "ActPwrTxt", - "1894": "ReaPwrTxt", - "1895": "DigInTxt", - "1896": "AnInTxt", - "1897": "MbTxt", - "1898": "EvtWCtlTx", - "1899": "EvtVArCtlTx", - "1900": "EvtWVArCtlInval", - "1901": "EvtWCtlValNom", - "1902": "EvtVArCtlValNom", - "1903": "EvtVArCtlVal", - "1904": "EvtVArCtlValTag", - "1905": "EvtFlbAct", - "1906": "WndDir", - "1907": "[°]", - "1908": "ComValRsSvc", - "1909": "SPISysParaDlt", - "1910": "SPIODBExptDlt", - "1911": "SPIHPDlt", - "1912": "SPISwDlt", - "1913": "SPIDlt", - "1914": "ComRs", - "1915": "EvtUpdWebConn", - "1916": "EvtUpdWebConnErr", - "1917": "EvtFstStopPID", - "1918": "EvtSlfTstFail", - "1919": "EvtLeakRisMon", - "1920": "DscLeakRisChk", - "1921": "EvtPwrCirErr", - "1922": "EvtPwrCirChg", - "1923": "EvtExCCLoginFailTag", - "1924": "EvtExCCLoginOk", - "1925": "EvtExDevLoginOk", - "1926": "EvtExDevLoginFail", - "1927": "EvtExSigFail", - "1928": "NetwLatHi", - "1929": "VolMaxTst", - "1930": "AlrmWCtl", - "1931": "AlrmVArCtl", - "1932": "FilCfg", - "1933": "EvtEmailTx", - "1934": "EvtEmailFail", - "1935": "EvtAlrm", - "1936": "TstEmailRsl", - "1937": "EvtActlNetwId", - "1938": "EvtNetwId1", - "1939": "EvtIpLoginOk", - "1940": "EvtIpLoginFail", - "1941": "EvtIpLogoutOk", - "1942": "EvtSetSclParaOkVal", - "1943": "EvtSetSttParaOkTag", - "1944": "EvtSetStrParaOkStr1", - "1945": "EvtSetStrParaOkStr2", - "1946": "EvtSetSclParaNokVal", - "1947": "EvtSetSttParaNokTag", - "1948": "EvtSetStrParaNokStr1", - "1949": "EvtSetStrParaNokStr2", - "1950": "EvtWdRs", - "1951": "EvtCardDet", - "1952": "EvtCardRmv", - "1953": "EvtCardPaFul", - "1954": "EvtCardPro", - "1955": "EvtCardNotDet", - "1956": "EvtCardUs", - "1957": "EvtCardFul", - "1958": "EvtCardMss", - "1959": "EvtSysLogAct", - "1960": "EvtFtpTstNokTag", - "1961": "TrtDevNotRea", - "1962": "TrtDevNotConn", - "1963": "UsrCntHi", - "1964": "UsrIdFlt", - "1965": "DatLcnFlt", - "1966": "EvtFtpUpldFailTag", - "1967": "EvtDevValTx", - "1968": "EvtWCtlValPhs", - "1969": "EvtVArCtlValPhs", - "1970": "EvtPFCtlValPhs", - "1971": "EvtUnkCtl", - "1972": "EvtComDevRmvTs", - "1973": "XRef", - "1974": "YRef", - "1975": "XRefV", - "1976": "XRefVNom", - "1977": "YRefVarNom", - "1978": "YRefWNom", - "1979": "YRefWNomActl", - "1980": "XVal7", - "1981": "YVal7", - "1982": "XVal8", - "1983": "YVal8", - "1984": "VArCtlVolCrv", - "1985": "VArCtlVolCrvCfg", - "1986": "EnaW", - "1987": "DsaW", - "1988": "HzStopWGraTms", - "1989": "EnaVol", - "1990": "DsaVol", - "1991": "Crv2", - "1992": "EvtDevSttChg", - "1993": "IntvUpld", - "1994": "EvtAcDrt", - "1995": "EvtEpsSw", - "1996": "EvtMbSrvStr", - "1997": "EvtMbSrvStop", - "1998": "EvtMbSrvStrFlt", - "1999": "EvtMbCfgLod", - "2000": "EvtMbCfgFlt", - "2001": "ComSocC", - "2002": "ComSocD", - "2003": "PwrCtlMdul", - "2004": "DigInStt", - "2005": "ModRemOff", - "2006": "StringCFlt", - "2007": "EvtWndSns", - "2008": "HzStopMin", - "2009": "HzStopMax", - "2010": "GoAppId", - "2011": "SwMax", - "2012": "SwMaxTmms", - "2013": "SwMin", - "2014": "SwMinTmms", - "2015": "SrcHzLimRedCom", - "2016": "SrcFstStop", - "2017": "HzLimRed", - "2018": "IecCfg", - "2019": "GoCfg", - "2020": "IecGo", - "2021": "AlrmWrn", - "2022": "OptTxAdr", - "2023": "Abs", - "2024": "Pct", - "2025": "FileUpldOk", - "2026": "FileUpldFail", - "2027": "FileUpldRej", - "2028": "EvtFstStopTx", - "2029": "EvtWebConnAct", - "2030": "EvtWebConnIna", - "2031": "EvtWcNotConn", - "2032": "GwNotCfg", - "2033": "DnsSrvNotCfg", - "2034": "DnsQryNok", - "2035": "SipProxyUnk", - "2036": "StunSrvUnk", - "2037": "StunQryNok", - "2038": "SipPktNok", - "2039": "SipRgstRej", - "2040": "EvtUsbNoLog", - "2041": "VArAct", - "2042": "WNomPrc", - "2043": "VArNomPrc", - "2044": "SwExt", - "2045": "CnstExt", - "2046": "EvtCardDef", - "2047": "EvtCardDatStr", - "2048": "EvtCardDatStop", - "2049": "EvtPlntCtlIna", - "2050": "EvtPlntCtlInval", - "2051": "EvtRpcInval", - "2052": "EvtEmailFail2", - "2053": "DigInSttGrp1", - "2054": "DigInSttGrp2", + "1892": "SMTP", + "1893": "Active power", + "1894": "Reactive power", + "1895": "Digital inputs", + "1896": "Analogue inputs", + "1897": "Modbus", + "1898": "Active power limits are being sent to PV system", + "1899": "Reactive power setpoint is sent to system", + "1900": "Invalid spec. for |tn0| from |tn4|", + "1901": "New active power limits from |tn0| parameter |tn4| value |d8|%", + "1902": "New reactive power spec. from |tn0| parameter |tn4| value |f8|%", + "1903": "New reactive power spec. from |tn0| parameter |tn4| value |f8|", + "1904": "New reactive power spec. from |tn0| parameter |tn4| value |tn8|", + "1905": "Default status for |tn0| active", + "1906": "Wind direction", + "1907": "°", + "1908": "Reset communication data", + "1909": "Delete system parameters in SPI", + "1910": "Delete ODB experts in SPI", + "1911": "Delete HP images in SPI", + "1912": "Delete all firmware blocks in SPI", + "1913": "Clear SPI flashes", + "1914": "Reset CP", + "1915": "Webconnect update", + "1916": "Webconnect update failed", + "1917": "PID quick stop triggered", + "1918": "Self-test failed", + "1919": "Insulation monitoring error", + "1920": "Check insulation monitoring", + "1921": "First error stack", + "1922": "Stack error", + "1923": "Cluster controller registration failed: |tn0|", + "1924": "Cluster controller registered", + "1925": "New devices registered", + "1926": "Registration of new devices failed", + "1927": "Heartbeat signal sending failed", + "1928": "Network latency too high", + "1929": "Test at maximum voltage", + "1930": "Alarm at active power limit", + "1931": "Alarm at reactive power specification", + "1932": "Filter settings", + "1933": "E-mail sent", + "1934": "E-mail sending failed", + "1935": "Alarm triggered. Event |d0| at device |d4|:|u8|", + "1936": "Result of the last e-mail dispatch", + "1937": "Set NetID: |s0|", + "1938": "NetID 1 not supported", + "1939": "|tn0| logs in from |ip4|", + "1940": "Login from |ip0| failed", + "1941": "|ip0| successfully logged off", + "1942": "Parameter |ln04| set successfully. |lv04c| to |lv048|", + "1943": "Parameter |ln04| set successfully. |tnc| to |tn8|", + "1944": "Parameter |ln04| set successfully. Old value: |s8|", + "1945": "Parameter |ln04| set successfully. New value: |s8|", + "1946": "Setting of parameter |ln04| failed. |lv04c| to |lv048|", + "1947": "Setting of parameter |ln04| failed. |tnc| to |tn8|", + "1948": "Setting of parameter |ln04| failed. Old value: |s8|", + "1949": "Setting of parameter |ln04| failed. New value: |s8|", + "1950": "Watchdog reset |s0|", + "1951": "Memory card detected (capacity|d0| MB, free |d4| MB)", + "1952": "Memory card removed", + "1953": "Memory card nearly full (capacity|d0| MB, free |d4| MB)", + "1954": "Memory card write-protected", + "1955": "Memory card not detected or not readable", + "1956": "Memory card full (capacity|d0| MB, free |d4| MB)", + "1957": "Memory card full", + "1958": "No memory card inserted", + "1959": "Syslog service act. until: |ts0|", + "1960": "Error occurred in the FTP Push conn. test: |tn0|", + "1961": "Target computer does not respond", + "1962": "Connection rejected by target computer", + "1963": "Too many users logged in", + "1964": "Incorrect user name or password", + "1965": "File/directory not found or no access rights", + "1966": "An error occurred during FTP upload: |tn0|", + "1967": "Energy values for device |u0|:|u4| for time from |ts8| to |tsc| resent", + "1968": "Active power limitation: |b0|%/|b1|%/|b2|% (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1969": "Reactive power spec.: |b0|%/|b1|%/|b2|% (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1970": "cos φ spec.: |f0| (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1971": "Unknown PRB attempted to change |tn0|", + "1972": "Communication error: Contact to device |tn0|, SN: |u4| overdue (last contact: |ts8|)", + "1973": "X-axes reference", + "1974": "Y-axes reference", + "1975": "Voltage in V", + "1976": "Voltage in percentages of Un", + "1977": "Var in percentages of Pmax", + "1978": "Power in percentages of Pmax", + "1979": "Power in percentages of frozen active power", + "1980": "X value 7", + "1981": "Y value 7", + "1982": "X value 8", + "1983": "Y value 8", + "1984": "Reactive power/volt. char. Q(V) with meas. points", + "1985": "Conf. of reactive power/volt. char. Q(V) with meas. points", + "1986": "Activating active power", + "1987": "Deactivating active power", + "1988": "Lag time", + "1989": "Activating voltage", + "1990": "Deactivating voltage", + "1991": "Characteristic 2", + "1992": "PV system switches to status |tn0|", + "1993": "directly after \"Upload\"", + "1994": "Active power currently limited due to AC current limitation", + "1995": "EPS relay fails to open or close", + "1996": "Modbus |tn0| started", + "1997": "Modbus |tn0| terminated", + "1998": "An error occurred during startup of Modbus |tn0|: port |d4|", + "1999": "Modbus configurations file |s0| successfully loaded", + "2000": "Modbus configurations file |s0| corrupt", + "2001": "SMACOM C", + "2002": "SMACOM D", + "2003": "Power control module", + "2004": "Status of digital inputs", + "2005": "Remote shut-down", + "2006": "Input C defective", + "2007": "Fault in wind sensor", + "2008": "Lower frequency deviation limit prior to active power release", + "2009": "Upper frequency deviation limit prior to active power release", + "2010": "Application-ID", + "2011": "Switchable maximum threshold", + "2012": "Switchable maximum threshold tripping time", + "2013": "Switchable minimum threshold", + "2014": "Switchable minimum threshold tripping time", + "2015": "Operating mode of frequency restriction", + "2016": "Source of quick shut-down", + "2017": "Switchable frequency thresholds", + "2018": "IEC 61850 configuration", + "2019": "GOOSE configuration", + "2020": "61850 GOOSE", + "2021": "Alarm upon warnings", + "2022": "Alternative e-mail sender address (optional)", + "2023": "Absolute", + "2024": "In percentages", + "2025": "File upload successful: |s0|", + "2026": "File upload failed: |s0|", + "2027": "File upload rejected: |s0|", + "2028": "NSS quick stop: |tn0| through |tn4| is executed", + "2029": "Webconnect enabled", + "2030": "Webconnect disabled", + "2031": "Webconnect error: no connection", + "2032": "Default gateway not configured", + "2033": "DNS server not configured", + "2034": "No reply to DNS request", + "2035": "SIP proxy DNS resolution failed", + "2036": "Stun server DNS resolution failed", + "2037": "No reply to request to Stun server", + "2038": "No reply to SIP option packs", + "2039": "Webconnect server: Device could not log on", + "2040": "Storage medium detected at USB2; USB1 not assigned, thus no logging", + "2041": "reaction excitation type", + "2042": "Standardized active power", + "2043": "Reactive power setpoint Q", + "2044": "Change excitation type", + "2045": "Do not change excitation type", + "2046": "Internal SD card defective", + "2047": "Data retention refresh started", + "2048": "Data retention refresh completed", + "2049": "NSS not forwarded, is deactivated", + "2050": "Invalid NSS command", + "2051": "Invalid RPC command", + "2052": "E-mail could not be sent. SMTP error code: |d0|", + "2053": "Digital input group 1 (DI1 .. DI4)", + "2054": "Digital input group 2 (DI5 .. DI8)", "2055": "DI1", - "2056": "DI1DI2", - "2057": "DI1DI2DI3", - "2058": "DI1DI2DI3DI4", - "2059": "DI1DI2DI4", - "2060": "DI1DI3", - "2061": "DI1DI3DI4", - "2062": "DI1DI4", + "2056": "DI1 DI2", + "2057": "DI1 DI2 DI3", + "2058": "DI1 DI2 DI3 DI4", + "2059": "DI1 DI2 DI4", + "2060": "DI1 DI3", + "2061": "DI1 DI3 DI4", + "2062": "DI1 DI4", "2063": "DI2", - "2064": "DI2DI3", - "2065": "DI2DI3DI4", - "2066": "DI2DI4", + "2064": "DI2 DI3", + "2065": "DI2 DI3 DI4", + "2066": "DI2 DI4", "2067": "DI3", - "2068": "DI3DI4", + "2068": "DI3 DI4", "2069": "DI4", "2070": "DI5", - "2071": "DI5DI6", - "2072": "DI5DI6DI7", - "2073": "DI5DI6DI7DI8", - "2074": "DI5DI6DI8", - "2075": "DI5DI7", - "2076": "DI5DI7DI8", - "2077": "DI5DI8", + "2071": "DI5 DI6", + "2072": "DI5 DI6 DI7", + "2073": "DI5 DI6 DI7 DI8", + "2074": "DI5 DI6 DI8", + "2075": "DI5 DI7", + "2076": "DI5 DI7 DI8", + "2077": "DI5 DI8", "2078": "DI6", - "2079": "DI6DI7", - "2080": "DI6DI7DI8", - "2081": "DI6DI8", + "2079": "DI6 DI7", + "2080": "DI6 DI7 DI8", + "2081": "DI6 DI8", "2082": "DI7", - "2083": "DI7DI8", + "2083": "DI7 DI8", "2084": "DI8", - "2085": "SipRgstUnk", - "2086": "EvtWcGwNotCfg", - "2087": "EvtWcDnsSrvNotCfg", - "2088": "EvtWcDnsQryNok", - "2089": "EvtWcSipProxyUnk", - "2090": "EvtWcStunSrvUnk", - "2091": "EvtWcStunQryNok", - "2092": "EvtWcSipPktNok", - "2093": "EvtWcSipRgstRej", - "2094": "EvtWcSipRgstUnk", - "2095": "EvtWcComNok", + "2085": "Webconnect server: DNS address cannot be resolved", + "2086": "Webconnect error: Default gateway not configured", + "2087": "Webconnect error: DNS server not configured", + "2088": "Webconnect error: No reply to DNS request |s0|", + "2089": "Webconnect error: Unknown SIP proxy |s0|", + "2090": "Webconnect error: Unknown STUN server", + "2091": "Webconnect error: No reply to request to STUN server", + "2092": "Webconnect error: No reply to SIP option packs", + "2093": "Webconnect error: Device could not log onto server", + "2094": "Webconnect error: DNS address could not be resolved on server (|s0|)", + "2095": "Webconnect error: Faulty communication", "2096": "STP208HW11", - "2097": "phsB2C", - "2098": "phsC2A", - "2099": "PwrCirCom", - "2100": "BalDrt", - "2101": "IsoMs", - "2102": "EvtHzTmOut", - "2103": "EvtComRevFlt", - "2104": "EvtDevInval", - "2105": "EvtMaxDevExc", - "2106": "EvtDcVolMax", - "2107": "DscPkgLod", - "2108": "DscRmvDev", - "2109": "CndRemUpd", - "2110": "EvtUsbSysFlt", - "2111": "RproTmms", - "2112": "GoMacId", - "2113": "PCC", - "2114": "ASpt", - "2115": "ArSpt", - "2116": "AMax", - "2117": "GnCtlCom", - "2118": "GnCtlComCfg", - "2119": "Drt", - "2120": "FltAMod", - "2121": "Mod30mA", - "2122": "Mod40mA", - "2123": "Mod50mA", - "2124": "Mod60mA", - "2125": "Mod70mA", - "2126": "Mod80mA", - "2127": "Mod90mA", - "2128": "Mod100mA", - "2129": "TotS0", - "2130": "ConnSet", - "2131": "EvtPvOutDatOk", - "2132": "EvtGriOutDatOk", - "2133": "EvtGriInDatOk", - "2134": "DcWRtg", - "2135": "WMaxMod", - "2136": "DynWMax", - "2137": "CnstTrtW", - "2138": "CnstTrtNom", - "2139": "Crv0", - "2140": "WMaxNom", - "2141": "EvtComSwFlt", - "2142": "EvtComSwOk", - "2143": "EvtSwFltAckn", - "2144": "EvtDynWMaxDrt", - "2145": "EvtDynWMaxDrtStop", - "2146": "EvtWCnstCfgFlt", - "2147": "EvtWCnstFlt", - "2148": "EvtWDrtTm", - "2149": "EvtWCnstwoSelfCsmp", - "2150": "EvtWCnstSelfCsmp", - "2151": "EvtGriOutWCnstIna", - "2152": "EvtInvWCnstIna", - "2153": "EvtUsrSlfTst", - "2154": "EvtUsrSlfTstOk", - "2155": "EvtWCnstFltUsr", - "2156": "SipRgstNok", - "2157": "EvtWcSipRgstNok", - "2158": "PmtHzLimRed", - "2159": "EvtCndChkOk", - "2160": "EvtCndChkNok", + "2097": "Phase L2 against L3", + "2098": "Phase L3 against L1", + "2099": "Power unit supplies data", + "2100": "Power limitation to prevent load unbalance", + "2101": "Insulation measurement", + "2102": "Frequency restr. due to timeout in |tn0|", + "2103": "Inconsistent communication version", + "2104": "Invalid device combination", + "2105": "Max. permitted number of inverters exceeded", + "2106": "Generator voltage too high", + "2107": "Mirror new complete pack", + "2108": "Remove inverter or delete removed inverters", + "2110": "Unsupported data system to |s0|", + "2111": "Voltage increase protection trigger time", + "2112": "Goose-Mac address", + "2113": "Grid connection point", + "2114": "Active power specification", + "2115": "Reactive power specification", + "2116": "Active power limitation", + "2117": "Generator control", + "2118": "Configuration of generator control", + "2119": "Derating", + "2120": "RCD adjustment", + "2121": "30 mA", + "2122": "40 mA", + "2123": "50 mA", + "2124": "60 mA", + "2125": "70 mA", + "2126": "80 mA", + "2127": "90 mA", + "2128": "100 mA", + "2129": "Number of S0 impulses", + "2130": "Connection establishment", + "2131": "Data transfer from PV generation counter OK", + "2132": "Data transfer from mains infeed counter OK", + "2133": "Data transfer from mains consumption counter OK", + "2134": "Nominal power", + "2135": "Operating mode of active power limitation", + "2136": "Dynamic active power limitation", + "2137": "Fixed specification in Watt", + "2138": "Fixed specification in percentages", + "2139": "Characteristic curve", + "2140": "Set active power limit", + "2141": "Configuration of network switch failed", + "2142": "Configuration of network switch successful", + "2143": "Relay defect confirmed", + "2144": "Dynamic active power limitation started.", + "2145": "Dynamic active power limitation terminated.", + "2146": "Act. power limitation deactivated due to incorr. configuration.", + "2147": "Supplied power: |u0| W (permitted value: |u4| W)", + "2148": "Active power was limited today for |u0| minutes.", + "2149": "Error: act. power limitation activated w/o regard to self consumption", + "2150": "Self-consumption again included for active power limitation.", + "2151": "Permanent 0 W grid supply measured No active power limitation possible, if meter is faulty", + "2152": "Inverter fails to respond to act. power limitation.", + "2153": "Self-test started manually", + "2154": "Manually started self-start completed successfully", + "2155": "Supplied power has exceeded the permitted value several times.", + "2156": "No answer during log on", + "2157": "No answer during log on to server", + "2158": "Permanent freq. restriction", + "2159": "Condition test successful", + "2160": "Condition test failed", "2161": "STP267HW07", - "2162": "ExSwCnt", - "2163": "OpnTmms", - "2164": "ClsTmms", - "2165": "ExSw", - "2166": "EvtDcVMaxDrt", - "2167": "EvtGfdiSwCnt", - "2168": "DscGfdiSw", - "2169": "EvtVArCtlValPhs2", - "2170": "EvtPFCtlValPhs2", - "2171": "DschStopVol", - "2172": "ChaAmpMax", - "2173": "DschAmpMax", - "2174": "BstChaVolSpt", - "2175": "FulChaVolSpt", - "2176": "EqChaVolSpt", - "2177": "TrcChaVolSpt", - "2178": "ReconMinDif", - "2179": "ReconMaxDif", - "2180": "RvPwrMax", - "2181": "RvPwrMaxTms", - "2182": "ExtGridMs", - "2183": "GriConnNoFeed", - "2184": "EnSavGri", - "2185": "EnSavStop", - "2186": "EnSavStr", - "2187": "EvtIpLoginOk2", - "2188": "EvtIpLoginOk3", - "2189": "EvtIpLoginFail2", - "2190": "EvtIpLogoutOk2", - "2191": "EvtUnTmp", - "2192": "EvtUpdZb", - "2193": "EvtUpdZbErr", - "2194": "EvtUnCurPro", - "2195": "UnCurProCnt", - "2196": "UnDcVolDrt", - "2197": "WDcVolDrt", - "2198": "BiasVol", - "2199": "Rl", - "2200": "VARtg", - "2201": "LoVolLin", - "2202": "MedVolLin", - "2203": "Trf", - "2204": "RisLen", - "2205": "InducReactLen", - "2206": "CapacReactLen", - "2207": "SCVol", - "2208": "HiVolRtg", - "2209": "[Ohm/km]", - "2210": "LoVolLen", - "2211": "MedVolLen", - "2212": "EvtAcVolInvLo", - "2213": "EvtAcVolGriLo", - "2214": "EvtAcVolGriFlt", - "2215": "EvtAcAMsFlt", - "2216": "EvtAcVolGriHz", - "2217": "EvtChaCirFlt", - "2218": "DscAcLinVolChk", - "2219": "EvtBatFlt", - "2220": "EvtAfciAct2", - "2221": "DscAcLinAChk", - "2222": "DscParaDSPChk", - "2223": "DscChaCirFuChk", - "2224": "EvtChaCirAct", - "2225": "EvtReactOp", - "2226": "EvtRvCurDet", - "2227": "EvtSwFlt", - "2228": "EvtSwWrn", - "2229": "UnkFlt2", - "2230": "EvtCapacTstFail", - "2231": "DscCapacChk", - "2232": "SMAMsIn", - "2233": "SMAMsOut", + "2162": "Number of section switches", + "2163": "Time to open", + "2164": "Time to close", + "2165": "Section switches", + "2166": "Overload at high DC voltage", + "2167": "Max. operating cycles of the GFDI reached", + "2168": "Replace GFDI", + "2169": "React. power spec.: |d0|%/|d4|%/|d8|%", + "2170": "cos φ spec.: |f0|/|f4|/|f8| |tnc|", + "2171": "Discharge cut-off voltage", + "2172": "Maximum charge current", + "2173": "Maximum discharge current", + "2174": "Cell charge nominal voltage for boost charge", + "2175": "Cell charge nominal voltage for full charging", + "2176": "Cell charge nominal voltage for equalization charge", + "2177": "Cell charge nominal voltage for float charge", + "2178": "Hysteresis minimum threshold", + "2179": "Hysteresis maximum threshold", + "2180": "Maximum reverse power", + "2181": "Maximum reverse power tripping time", + "2182": "Measurements of external power connection", + "2183": "Mains oper. without feed back", + "2184": "Energy saving in the network", + "2185": "End energy saving in the network", + "2186": "Start energy saving in the network", + "2187": "|tn0| logs on", + "2188": "Access to |x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf|", + "2189": "Logging on |x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf| failed", + "2190": "|x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf| was successfully logged off", + "2191": "Minimum operating temperature not reached", + "2192": "Update Zigbee", + "2193": "Zigbee update failed", + "2194": "Energy transfer not possible", + "2195": "Number of UCP events", + "2196": "Derating because of low DC voltage", + "2197": "Derating because of power and DC voltage", + "2198": "Bias voltage", + "2199": "Relative", + "2200": "Nominal apparent power", + "2201": "Low-voltage powerline", + "2202": "Medium-voltage powerline", + "2203": "Transformer", + "2204": "Ohmic resistive coating", + "2205": "Inductive reactive coating", + "2206": "Capacitive reactive coating", + "2207": "Short-circuit voltage", + "2208": "Nominal voltage of the high-voltage side", + "2209": "Ohm/km", + "2210": "Length of the low-voltage powerline", + "2211": "Length of the medium-voltage powerline", + "2212": "AC voltage measurement on the inverter side less than a mains voltage measurement", + "2213": "AC voltage measurement on the mains side less than inverter side voltage measurement", + "2214": "AC voltage measurement of the mains limit controller is defective", + "2215": "AC elect. measurem. is defect.", + "2216": "AC voltage measurement shows a whine on mains side", + "2217": "Defective precharging circuit", + "2218": "Check AC meas. cable and AC voltage sensing", + "2219": "Battery error", + "2220": "Channel 2 arc detection triggered", + "2221": "Check AC cable and AC power meas.", + "2222": "Check parameter settings of the DSP", + "2223": "Check precharg. circuit and fuses", + "2224": "Precharging circuit active", + "2225": "Pure reactive power operation, QonDemand active", + "2226": "Reverse current detection (immed. separation from the PV field)", + "2227": "General firmware error: |u0|", + "2228": "General firmware warning: |u0|", + "2229": "General error: |u0|/|u4|/|u8|/|uc|", + "2230": "Capacitor self-test failed", + "2231": "Check capacitor", + "2232": "SMA energy meter purchase", + "2233": "SMA energy meter supply", "2234": "PIC", - "2235": "SMAMsInOut", - "2236": "EvtPlcDst", - "2237": "EvtPlcAf", - "2238": "Plc", - "2239": "PkgFlt", - "2240": "EvtDclCapacVSw", - "2241": "EvtBtSpdwrCfgInval", - "2242": "VolSppWCtlVol", - "2243": "VolSppVArCtlVol", - "2244": "SerNumEN", - "2245": "WCnstCls", - "2246": "DigInD00", - "2247": "DigInD01", - "2248": "DigInD02", - "2249": "DigInD03", - "2250": "DigInD04", - "2251": "DigInD05", - "2252": "DigInD06", - "2253": "DigInD07", - "2254": "DigInD08", - "2255": "DigInD09", - "2256": "DigInD10", - "2257": "DigInD11", - "2258": "DigInD12", - "2259": "DigInD13", - "2260": "DigInD14", - "2261": "DigInD15", - "2262": "FlbTmh", - "2263": "FlbVal", - "2264": "FltClrTms", - "2265": "VArModDmd", - "2266": "VArCnstCfgDmd", - "2267": "ArGraSag", - "2268": "ArGraSwell", - "2269": "CrvMod", - "2270": "VArPFCtlCom", - "2271": "XRefW", - "2272": "YRefEEI", - "2273": "CrvModCfg", - "2274": "CrvEna", - "2275": "EnaTrg", - "2276": "DsaTrg", - "2277": "TrgRef", - "2278": "CrvPt1", - "2279": "CrvPt2", - "2280": "CrvPt3", - "2281": "XVal", - "2282": "YVal", - "2283": "SvcMod", - "2284": "ChaVolSptSvc", - "2285": "DschVolSptSvc", - "2286": "ChaAmpMaxSvc", - "2287": "DschAmpMaxSvc", - "2288": "BatConv", - "2289": "BatChaMod", - "2290": "BatDschMod", - "2291": "BatWait", - "2292": "BatChaStt", - "2293": "BatDschStt", - "2294": "EvtUpdBMS", - "2295": "EvtUpdBMSNok", - "2296": "EvtBatDet", - "2297": "EvtOvABatChaSw", - "2298": "EvtOvABatDschSw", - "2299": "EvtUnVBat", - "2300": "EvtOvVBat", - "2301": "EvtOvTmpBatConv", - "2302": "EvtDcBatOfs", - "2303": "EvtSetParaNokDep", - "2304": "EvtOvABat", - "2305": "EvtBatInFlt", - "2306": "EvtOvABatChaHw", - "2307": "EvtOvABatDschHw", - "2308": "EvtOvVBatHw", - "2309": "EvtUnVBatSw", - "2310": "EvtOvVBatSw", - "2311": "DscChkInvCbl", - "2312": "RsBMSLog", - "2313": "RsBMSEvt", - "2314": "MsSpdwr", - "2315": "CelVol", + "2235": "SMA energy meter purchase and supply", + "2236": "PLC communication impaired", + "2237": "PLC communication impaired", + "2238": "Power line communication", + "2239": "Package error rate", + "2240": "Intermediate circuit voltages not permitted (SW)", + "2241": "Wrong config: simultan. communication via bluetooth and speedwire", + "2242": "Overvoltage suppression P (U)", + "2243": "Overvoltage suppression Q (U)", + "2244": "Serial Number", + "2245": "Active power limitation", + "2246": "D1: 0 | D2: 0 | D3: 0 | D4: 0", + "2247": "D1: 1 | D2: 0 | D3: 0 | D4: 0", + "2248": "D1: 0 | D2: 1 | D3: 0 | D4: 0", + "2249": "D1: 1 | D2: 1 | D3: 0 | D4: 0", + "2250": "D1: 0 | D2: 0 | D3: 1 | D4: 0", + "2251": "D1: 1 | D2: 0 | D3: 1 | D4: 0", + "2252": "D1: 0 | D2: 1 | D3: 1 | D4: 0", + "2253": "D1: 1 | D2: 1 | D3: 1 | D4: 0", + "2254": "D1: 0 | D2: 0 | D3: 0 | D4: 1", + "2255": "D1: 1 | D2: 0 | D3: 0 | D4: 1", + "2256": "D1: 0 | D2: 1 | D3: 0 | D4: 1", + "2257": "D1: 1 | D2: 1 | D3: 0 | D4: 1", + "2258": "D1: 0 | D2: 0 | D3: 1 | D4: 1", + "2259": "D1: 1 | D2: 0 | D3: 1 | D4: 1", + "2260": "D1: 0 | D2: 1 | D3: 1 | D4: 1", + "2261": "D1: 1 | D2: 1 | D3: 1 | D4: 1", + "2262": "Release time", + "2263": "Release value", + "2264": "Error tolerance time", + "2265": "Operating mode of the stat.volt.maint. for Q on demand", + "2266": "Manual reactive power setpoint for zero power output", + "2267": "K-factor of react. current stat. for undervolt.", + "2268": "K-factor of react. current stat. for overvolt.", + "2269": "Reactive power charact. curve", + "2270": "cos φ or Q specification through optimum PV system control", + "2271": "Active power in watts", + "2272": "cos φ (EEI convention)", + "2273": "Configuration of characteristic curve mode", + "2274": "Activation of the characteristic curve", + "2275": "Activation threshold", + "2276": "Deactivation threshold", + "2277": "Threshold reference", + "2278": "Supporting points of the characteristic curve 1", + "2279": "Supporting points of the characteristic curve 2", + "2280": "Supporting points of the characteristic curve 3", + "2281": "X value", + "2282": "Y value", + "2283": "Service mode", + "2284": "Set charge volt. in serv. mode", + "2285": "Set disch. volt. in serv. mode", + "2286": "Charge current lim. serv. mode", + "2287": "Disch. current lim. serv. mode", + "2288": "Battery switch", + "2289": "Charge battery", + "2290": "Discharge battery", + "2291": "Battery standby", + "2292": "Charge battery", + "2293": "Discharge battery", + "2294": "Update battery management syst.", + "2295": "Battery management system update unsuccessful", + "2296": "New battery identified", + "2297": "Charge battery overcurr. (SW)", + "2298": "Disch. battery overcurr. (SW)", + "2299": "Battery undervoltage", + "2300": "Battery overvoltage", + "2301": "Battery switch overtemperature", + "2302": "Battery current sensor offset", + "2303": "Setting of parameter |ln04| unsuccessful. Conflict w/parameter |ln8c|", + "2304": "Battery overcurrent", + "2305": "Battery input defect", + "2306": "Charge battery overcurr. (HW)", + "2307": "Disch. battery overcurr. (HW)", + "2308": "Battery overvoltage (HW)", + "2309": "Battery undervoltage (SW)", + "2310": "Battery overvoltage (SW)", + "2311": "Check cabling at inverter end", + "2312": "Delete BMS logger", + "2313": "Delete BMS events", + "2314": "Meter on Speedwire", + "2315": "Cell voltage", "2316": "STP208HW10", - "2317": "EvtDevConFail", - "2318": "EvtDevConOk", - "2319": "EvtComFail", - "2320": "RsRmpInc", - "2321": "WMaxAv", - "2322": "Qtl", - "2323": "QtlPvHi", - "2324": "QtlPvLo", - "2325": "QtlBatHi", - "2326": "QtlBatLo", - "2327": "QtlInvHi", - "2328": "QtlInvLo", - "2329": "PaQtlPvHi", - "2330": "PaQtlPvLo", - "2331": "PaQtlBatHi", - "2332": "PaQtlBatLo", - "2333": "PaQtlInvHi", - "2334": "PaQtlInvLo", - "2335": "EvtHwFstStop", - "2336": "DscChkFstStop", - "2337": "EvtIsoMs", - "2338": "EvtCardLogSto", - "2339": "EvtCapacTstAbrt", - "2340": "LGChem", - "2341": "SrcShm", - "2342": "ProdTm", - "2343": "SwCnt", - "2344": "ChaSwCnt", - "2345": "DschaSwCnt", - "2346": "AbsChaSwCnt", - "2347": "AbsDschaSwCnt", - "2348": "OpTms", - "2349": "EpsChaSttMin", - "2350": "CapacRtgWh", - "2351": "CelTmpVal", - "2352": "StoOpMode", - "2353": "AmpSpt", + "2317": "Device with serial no. |u0| has not be contactable since |u4| day(s)", + "2318": "Device with serial no. |u0| is again contactable", + "2319": "Loss of communication with one or more devices", + "2320": "Ramp up after ret. to norm. op", + "2321": "Avg. active power limit", + "2335": "Faulty quick stop", + "2336": "Check quick stop connections", + "2337": "Insulated operation, insulation measurement", + "2338": "Trace data saved on SD board", + "2339": "Capacitor self-test interrupted", + "2340": "LG Chem", + "2341": "Sunny Home Manager preset", + "2342": "Production date", + "2343": "Activation processes", + "2344": "Charge mode activat. processes", + "2345": "Disch. mode activat. processes", + "2346": "All charge mode activ. proc.s", + "2347": "All disch. mode activ. proc.s", + "2348": "Total running time", + "2349": "Charge res. for emerg. curr. op.", + "2350": "Rated capacity", + "2351": "Cell temperature", + "2352": "Storage management operating mode", + "2353": "Set target current value", "2354": "BAT-2.0A-SE-10", - "2355": "SwCntBMS", - "2356": "EvtVDrt", - "2357": "WSpt", - "2358": "WCtlComAct", - "2359": "VArSpt", - "2360": "PvGen", - "2361": "TotVal", - "2362": "CurVal", - "2363": "BatChrg", - "2364": "BatDsch", - "2365": "StoNom", - "2366": "PvWh", - "2367": "TotCsmp", - "2368": "DirCsmp", - "2369": "PvW", - "2370": "CurBatCha", - "2371": "CurBatDsch", - "2372": "SelfCsmpNom", - "2373": "CurStoNom", - "2374": "AtcNom", - "2375": "DirCsmpNom", - "2376": "PvWhSet", - "2377": "TotCsmpSet", - "2378": "SelfCsmpSet", - "2379": "DirCsmpSet", - "2380": "BatChrgSet", - "2381": "BatDschSet", - "2382": "SrvIsOn", - "2383": "ManRstr", - "2384": "GfdiSwStt", - "2385": "RstrLokStt", - "2386": "OvVol", - "2387": "UnVol", - "2388": "OvHz", - "2389": "UnHz", - "2390": "PID", - "2391": "EvtComMtrDst", - "2392": "EvtComShmDst", - "2393": "EvtBatLif", - "2394": "EvtBatConn", - "2395": "EvtBatNotAuth", - "2396": "EvtBatVolDif", - "2397": "EvtBatSysDef", - "2398": "EvtBatInDef", - "2399": "EvtBatSwDef", - "2400": "EvtBatConvDef", - "2401": "EvtBatComFlt", - "2402": "EvtBatSigFlt", - "2403": "EvtBatCelOvVol", - "2404": "EvtBatCelUnVol", - "2405": "EvtBatUnTmp", - "2406": "EvtBatOvTmp", - "2407": "EvtBatBal", - "2408": "EvtBatHw", - "2409": "DscComChk", - "2410": "DscBatConnChk", - "2411": "DscDcDscon", - "2412": "DscLcnChk", - "2413": "TotMem", - "2414": "RsBatProMod", - "2415": "AbsPvWh", - "2416": "AbsBatChrg", - "2417": "AbsBatDsch", - "2418": "EvtBatConvSwCtl", - "2419": "BatChaMinW", - "2420": "BatChaMaxW", - "2421": "BatDschMinW", - "2422": "BatDschMaxW", - "2423": "GridWSpt", - "2424": "Dft", - "2425": "TmpHealth", - "2426": "NoCmpUpd", - "2427": "WMaxPv", - "2428": "WMaxCha", - "2429": "WMinCha", - "2430": "WMaxDsch", - "2431": "WMinDsch", - "2432": "ActlCapacDet", - "2433": "EvtWSptValNom", - "2434": "EvtUpdGriMon", - "2435": "EvtUpdGriMonNok", - "2436": "EvtUpdComNok", - "2437": "EvtWSptVal", - "2438": "EvtGriGrdAsg", - "2439": "EvtDynWMaxDrtStop2", - "2440": "EvtStrFlt", - "2441": "EvtComFlt", - "2442": "EvtSMUFlt", - "2443": "EvtStrFlt2", - "2444": "EvtComFlt2", - "2445": "EvtSMUFlt2", - "2446": "EvtBatSigDef", - "2447": "EvtAcCapacMin", - "2448": "AcCapacMon", - "2449": "TmpValIstl", - "2450": "TmpValMaxIstl", - "2451": "InstCodeSvc", + "2355": "BMS activation processes", + "2356": "Active power limited AC voltage", + "2357": "Active power setpoint", + "2358": "Act./reac. pow. contr. via comm.", + "2359": "Reactive power setpoint", + "2360": "PV generation", + "2361": "Total values", + "2362": "Realtime values", + "2363": "Battery charge", + "2364": "Battery discharge", + "2365": "Electrical storage ratio", + "2366": "Meter count and PV gen. meter", + "2367": "Total consumption", + "2368": "Direct consumption", + "2369": "PV generation power", + "2370": "Present battery charge", + "2371": "Present battery discharge", + "2372": "Self-consumption ratio", + "2373": "Present electrical storage ratio", + "2374": "Autonomy ratio", + "2375": "Direct consumption ratio", + "2376": "Set PV generation meter", + "2377": "Set cumulative total consump.", + "2378": "Set cumulative self-consump.", + "2379": "Set cumulative direct consump.", + "2380": "Set battery charge", + "2381": "Set battery discharge", + "2382": "Server switched on", + "2383": "Manual restart", + "2384": "Gfdi relay status", + "2385": "Block status", + "2386": "Overvoltage", + "2387": "Undervoltage", + "2388": "Overfrequency", + "2389": "Underfrequency", + "2390": "Passive islanding detection", + "2391": "Communication fault with meter unit", + "2392": "Communication fault with Sunny Home Manager", + "2393": "Battery service life expiry", + "2394": "Battery connection fault", + "2395": "Unauthorized battery system", + "2396": "Battery voltage deviation", + "2397": "Battery system defect", + "2398": "Battery input defect", + "2399": "Battery switch relay defect", + "2400": "Battery switch defect", + "2401": "Battery system communication error", + "2402": "Battery system signal fault", + "2403": "Battery cell overvoltage fault", + "2404": "Battery cell undervoltage fault", + "2405": "Battery low temperature fault", + "2406": "Battery high temperature fault", + "2407": "Battery imbalancing fault", + "2408": "Internal battery hardware fault", + "2409": "Check connection", + "2410": "Check battery connection", + "2411": "Isolate generator, open DC switch", + "2412": "Check installation location", + "2413": "Total capacity", + "2414": "Reset battery protection mode", + "2415": "Abs. meter count and PV gen. meter", + "2416": "Absolute battery charge", + "2417": "Absolute battery discharge", + "2418": "Battery switch actuation fault", + "2419": "Min. battery charge capac.", + "2420": "Max. battery charge capac.", + "2421": "Min. battery discharge capac.", + "2422": "Max. battery discharge capac.", + "2423": "Mains exch. capac. target value", + "2424": "Presetting", + "2425": "Temperature", + "2426": "Do not update components", + "2427": "Max. PV power", + "2428": "Max. charge capacity", + "2429": "Min. charge capacity", + "2430": "Max. discharge capacity", + "2431": "Min. discharge capacity", + "2432": "Determine SOH", + "2433": "New active power setpoint via |tn0| parameter |tn4| value |d8|%", + "2434": "Update mains watchdog unit", + "2435": "Mains watchdog unit update unsuccessful", + "2436": "Update communication unsuccessful", + "2437": "New active power setpoint via |tn0| parameter |tn4| value |d8|", + "2438": "Another user already assigned Grid Guard rights", + "2439": "Dynamic active power limitation ends. Curtailment lasted |u0| minutes", + "2440": "Stringstromfehler - kommt", + "2441": "Kommunikationsfehler - kommt", + "2442": "SMU-Fehler (WD, EEPROM) - kommt", + "2443": "Stringstromfehler - geht", + "2444": "Kommunikationsfehler - geht", + "2445": "SMU-Fehler (WD, EEPROM) - geht", + "2446": "Battery system safety signal defect", + "2447": "Aged capacitors in AC filter", + "2448": "Monitoring of AC capacitors", + "2449": "Temperature", + "2450": "Highest measured temp.", + "2451": "GridGuard password", "2452": "STP267HW09", - "2453": "BootEnvRs", - "2454": "SelfSup", - "2455": "ActBatDsch", - "2456": "Mon", - "2457": "EvtRplACapac", - "2458": "EvtRplARplV", - "2459": "DscInvCapacChk", - "2460": "EvtFanIn3", - "2461": "EvtPhFltMedV", - "2462": "EvtIsoMsValUnk", - "2463": "DscIsoMsChk", - "2464": "EvtOvABatHw", - "2465": "EvtBatInit", - "2466": "EvtFRTDet", - "2467": "[V/A]", - "2468": "NrwBndSprt", - "2469": "BrdBndSprt", - "2470": "Gain", - "2471": "Dmp", - "2472": "ActlCapacNomOv", - "2473": "SwPkgNom", - "2474": "TotkWhOutOfs", - "2475": "TotkWhInOfs", - "2476": "VArModRef", - "2477": "DynDsconModCfg", - "2478": "XRefTms", - "2479": "YRefVNom", - "2480": "EvtPwrCirAbrt", - "2481": "VrsStt", - "2482": "PFExtPFStr", - "2483": "PFExtPFStop", - "2484": "EpsMs", - "2485": "EpsMod", - "2486": "EpsActTm", - "2487": "EpsInaTm", - "2488": "AbsWh", - "2489": "FanCab3", - "2490": "PLD", - "2491": "EvtUpdBlt", - "2492": "EvtUpdBltNok", - "2493": "EvtUpdWebSrv", - "2494": "EvtUpdWebSrvNok", - "2495": "EvtDcAmpMaxC", - "2496": "EvtDcVMaxC", - "2497": "SwCmp", - "2498": "CmpComBlt", - "2499": "CmpWebSrv", - "2500": "CtlComCfg", - "2501": "CtlComMssMod", - "2502": "TmsOut", - "2503": "FlbVArNom", - "2504": "FlbPF", - "2505": "FlbPFExt", - "2506": "UsStp", - "2507": "UsFlb", - "2508": "Dmd", - "2509": "WCtl", - "2510": "VArCtl", - "2511": "PFCtl", - "2512": "PFExtCtl", - "2513": "FlbWNom", - "2514": "ImpCpn", - "2515": "OhmRis", - "2516": "InducRis", - "2517": "CapacRis", - "2518": "HzVAr", - "2519": "HaVAr", - "2520": "MaxVAr", - "2521": "Slv1", - "2522": "Slv2", + "2453": "Reset Bootloader Environment", + "2454": "Self-supply", + "2455": "Discharge of current battery", + "2456": "Monitoring", + "2457": "High AC ripple current due to defective sine-wave filter capacitors", + "2458": "High AC ripple current due to too high AC ripple voltage", + "2459": "Check inverter electronics and sine-wave filter capacitors", + "2460": "Fan fault interior 3", + "2461": "Single-phase power failure on the medium voltage level (transformer switch group Ynd)", + "2462": "Megger threshold value unknown", + "2463": "Check megger", + "2464": "Battery overcurrent (HW)", + "2465": "Initialization battery module", + "2466": "FRT case identif. and treated", + "2467": "V/A", + "2468": "Narrow-band support", + "2469": "Broad-band support", + "2470": "Amplification", + "2471": "Damping", + "2472": "Current capacity (Dvlp)", + "2473": "Programming progress", + "2474": "Set offset of the supplied energy", + "2475": "Set offset of the absorbed energy", + "2476": "As static voltage stability", + "2477": "Dynamic grid disconnection", + "2478": "Seconds", + "2479": "Voltage in percentages of Unom", + "2480": "Stack test canc. due to exc. UZK measured value dev.", + "2481": "Numerous statuses", + "2482": "cos φ of start point", + "2483": "cos φ of end point", + "2484": "Emergency power measurements", + "2485": "Operating mode EPS (Emergency Power Supply)", + "2486": "Change-over time to EPS after network failure", + "2487": "Chg-over t EPS to network op after network reconnect", + "2488": "Total energy", + "2489": "Fan interior 3", + "2490": "Phase loss", + "2491": "Update Bootloader", + "2492": "Update Bootloader failed", + "2493": "Update Webserver", + "2494": "Update Webserver failed", + "2495": "Overcurr. inp.C (SW)", + "2496": "Overvoltage input C (SW)", + "2497": "Software component", + "2498": "Communication Bootloader", + "2499": "Webserver", + "2500": "System control and fallback behavior", + "2501": "Fallback behavior", + "2502": "Timeout", + "2503": "Fallback value of reactive power setting", + "2504": "Fallback value of cos φ for active power output", + "2505": "Fallback value of the excitation type for active power output", + "2506": "Values maintained", + "2507": "Apply fallback values", + "2508": "Specification", + "2509": "Active power limitation P", + "2510": "Reactive power mode", + "2511": "cos φ", + "2512": "Excitation type cos φ", + "2513": "Fallback active power P", + "2514": "Impedance compensation", + "2515": "Ohmic resistance", + "2516": "Inductive resistance", + "2517": "Capacitive resistance", + "2518": "Frequency-dependent reactive power supply Q(df/dt)", + "2519": "Harmonic-dep. reactive power supply Q(dTHD/dt)", + "2520": "Max. reactive power", + "2521": "Slave 1", + "2522": "Slave 2", "2523": "Master", - "2524": "BltRev", - "2525": "AcTyp", - "2526": "TotWhSICha", - "2527": "TotWhPv", - "2528": "DyWhPv", - "2529": "TotWPv", - "2530": "CltFltMod", - "2531": "EnSavMod", - "2532": "BatUsDm", - "2533": "StatTm", - "2534": "ChaFact", - "2535": "EqChaCnt", - "2536": "FulChaCnt", - "2537": "FulDschNom", - "2538": "EqDschNom", - "2539": "ChaAMax", - "2540": "DschAMax", - "2541": "OvTmpRstr", - "2542": "DcRis", - "2543": "FulChaCycTm", - "2544": "EqChaCycTm", - "2545": "TmpCpn", - "2546": "EqChaAuto", - "2547": "AbsPhsAct", - "2548": "BatChaDif", - "2549": "EqChaMan", - "2550": "SltMod", - "2551": "TrcChaSltTm", - "2552": "SltTrcChaTm", - "2553": "BMSInaVol", - "2554": "StrTm", - "2555": "StopTm", - "2556": "ChaSttLim", - "2557": "AuxDcTyp", - "2558": "EnCntTm", - "2559": "AutoHzCtl", - "2560": "AcChaAMax", - "2561": "ExCT", - "2562": "ActTm", - "2563": "RptCyc", - "2564": "ProLokTm", - "2565": "DschProDmLim", - "2566": "DschProDmMin", - "2567": "BckDmMin", - "2568": "SelfCsmpBrd", - "2569": "SelfCsmpBrdMin", - "2570": "MaxYldMth", - "2571": "SanModAct", - "2572": "OnLim", - "2573": "OffLim", - "2574": "IntvStrTm", - "2575": "DmdMod", - "2576": "TrtDevIp", - "2577": "WAvTm", - "2578": "MinRunTm", - "2579": "MinStopTm", - "2580": "CoolTm", - "2581": "FltStopTm", - "2582": "WrmTm", - "2583": "RunTm", - "2584": "GnDmdChaMod", - "2585": "ChaMod", - "2586": "GnDmdDigIn", - "2587": "DigInRea", - "2588": "RmgMinRunTm", - "2589": "ALimMod", - "2590": "GnFltDet", - "2591": "ExtGriAMax", - "2592": "FeedPerm", - "2593": "PwrMon", - "2594": "StrPvFeedTm", - "2595": "StopPvFeedTm", - "2596": "ChaSttFeedAct", - "2597": "ChaSttFeedIna", - "2598": "GriDmdBatCha", - "2599": "GriDmdChaMod", - "2600": "LodShd1", - "2601": "LodShd2", - "2602": "ChaStrLim", - "2603": "ChaStopLim", - "2604": "Tmr", - "2605": "TmCtlOn", - "2606": "TmCtlCyc", - "2607": "BatFanTmp", - "2608": "DigIn", - "2609": "MltBox6", - "2610": "MltBox12", - "2611": "MltBox36", - "2612": "CtnOp", - "2613": "StopAllDev", - "2614": "SelfCsmpDm", - "2615": "ChaSttDm", - "2616": "BckDm", - "2617": "DschProDm", - "2618": "ExhDschDm", - "2619": "AcSrcChaReg", - "2620": "OthChaReg", - "2621": "ComChaReg", - "2622": "IntvOc", - "2623": "IntvWk", - "2624": "JunMaxYld", - "2625": "DecMaxYld", - "2626": "ValALimMod", - "2627": "HzALimMod", - "2628": "LowMod", - "2629": "MedMod", - "2630": "NrmMod", - "2631": "HiMod", - "2632": "AutoGn", - "2633": "LodShdMod", - "2634": "LodShd1Mod", - "2635": "LodShd2Mod", - "2636": "Tmr1", - "2637": "Tmr2", - "2638": "AuxLodCtl", - "2639": "GnSwOn", - "2640": "ExSrcSwOn", - "2641": "PubGriSwOn", - "2642": "FltSwOff", - "2643": "WrnSwOn", - "2644": "CltSwOn", - "2645": "BatFanCtl", - "2646": "EltPmpCtl", - "2647": "ComSyn", - "2648": "DrtSwOn", - "2649": "BckModDscon", - "2650": "BckModGnd", - "2651": "TmpValMin", - "2652": "RmgChaTm", - "2653": "FulChaRmgTm", - "2654": "EqChaRmgTm", - "2655": "GnDmdTm", - "2656": "GriDmdW", - "2657": "TmCtlStr", - "2658": "[V/°C]", - "2659": "ProMod", - "2660": "ExtGri", - "2661": "TmDm", - "2662": "EvtDevUpdAbrt2", - "2663": "EvtRemUpdSprt", - "2664": "DscRemUpdSprt", - "2665": "WMin", - "2666": "WMinTmms", - "2667": "LokTms", - "2668": "SutEMS", - "2669": "NotSut", - "2670": "LimSut", - "2671": "OkSut", - "2672": "EvtChaDschLim", - "2673": "SwOnRqt", - "2674": "EvtGriGrdNok", - "2675": "LodCmdLst", - "2676": "EvtBatSysDefExt", - "2677": "SttGnOp", - "2678": "ExtGriOp", - "2679": "EvtEnSavPhs", - "2680": "EvtEnSavGri", - "2681": "EvtFltShtdwn", - "2682": "EvtExhCha", - "2683": "EvtAutoStr", - "2684": "EvtManStr", - "2685": "EvtManStop", - "2686": "EvtEnSavStr", - "2687": "EvtEnSavStop", - "2688": "EvtStrComCtl", - "2689": "EvtStopComCtl", - "2690": "EvtHzCtlStr", - "2691": "EvtHzCtlStop", - "2692": "EvtSelfCsmpStr", - "2693": "EvtSelfCsmpStop", - "2694": "EvtSelfCsmpCha", - "2695": "EvtSelfCsmpGri", - "2696": "EvtSelfCsmpRet", - "2697": "EvtDevOff", - "2698": "EvtComCtlAct", - "2699": "EvtComCtlIna", - "2700": "EvtRsBMSBat", - "2701": "EvtTrcCha", - "2702": "EvtBstCha", - "2703": "EvtFulCha", - "2704": "EvtBMSClb", - "2705": "EvtAutoGnStr", - "2706": "EvtAutoGnStop", - "2707": "EvtManGnStr", - "2708": "EvtManGnStop", - "2709": "EvtGnFltAckn", - "2710": "EvtGnRqt", - "2711": "EvtCurGnStr", - "2712": "EvtCurGnStop", - "2713": "EvtBatChaGriRqt", - "2714": "EvtBatChaGriRel", - "2715": "EvtWLimGriRqt", - "2716": "EvtWLimGriRel", - "2717": "EvtManGriRqt", - "2718": "EvtManGriRel", - "2719": "EvtFncSwStt", - "2720": "EvtTrsSwStt", - "2721": "EvtUpdClt", - "2722": "EvtRemCtlAct", - "2723": "EvtDatMdulFlt", - "2724": "EvtUpdModel", - "2725": "EvtPvChaDet1", - "2726": "EvtSwItf", - "2727": "EvtTmpDrt2A", - "2728": "EvtOvVBatExt", - "2729": "EvtBatCapac", - "2730": "EvtClbBatCha", - "2731": "EvtCurTrsSwA", - "2732": "EvtAcVMinPpV2A", - "2733": "EvtAcVMaxPpV2A", - "2734": "EvtAcHzMin2A", - "2735": "EvtAcHzMax2A", - "2736": "EvtExtOffAidA", - "2737": "EvtExtOffLimA", - "2738": "EvtAcVRPro2A", - "2739": "EvtExtOffBatVA", - "2740": "EvtExtOffPhsA", - "2741": "EvtExtOffSCA", - "2742": "EvtExtPhSeq", - "2743": "EvtExtOffCurA", - "2744": "EvtExtOffVHzA", - "2745": "EvtRvPwrGn", - "2746": "EvtGnLokOnCnt", - "2747": "EvtRvPwrGriA", - "2748": "EvtFeedCurExcA", - "2749": "EvtTrsSwOnFltA", - "2750": "EvtWdCnt2B", - "2751": "EvtComCanFltB", - "2752": "EvtTmpSnsBatSC", - "2753": "EvtTmpSnsBatFlt", - "2754": "EvtSynReaMssB", - "2755": "EvtTxMssB", - "2756": "EvtSynGnNok", - "2757": "EvtDtInval", - "2758": "EvtBatProMod1", - "2759": "EvtSCDCOut", - "2760": "EvtTmOutDspB", - "2761": "EvtBoxPvNok", - "2762": "EvtBoxGnNok", - "2763": "EvtBoxGriVNok", - "2764": "EvtBoxSwFlt4", - "2765": "EvtTmpGnd", - "2766": "EvtComMtrCBox1", - "2767": "EvtComDevCBox", - "2768": "EvtWdCBox", - "2769": "EvtCBoxProt1", - "2770": "EvtMtrCBox", - "2771": "EvtDevShm", - "2772": "EvtBatConnPvCha1", - "2773": "EvtBatOvVPvCha1", - "2774": "EvtOvVPvCha1", - "2775": "EvtVPvCha1", - "2776": "EvtTmpSnsPvCha1", - "2777": "EvtOvTmpPvCha1", - "2778": "EvtComDcChaNok1", - "2779": "EvtDrpCfg", - "2780": "EvtTmOutBMS", - "2781": "EvtOvTmpTrf2A", - "2782": "EvtOvTmpWCir3A", - "2783": "EvtCurLimA", - "2784": "EvtDevOvVA", - "2785": "EvtDevOvHzA", - "2786": "EvtDevUnHzA", - "2787": "EvtDevUnVA", - "2788": "EvtGriVDetA", - "2789": "EvtOvW5A", - "2790": "EvtOvW30A", - "2791": "EvtOvW1A", - "2792": "EvtSlvFlt", - "2793": "EvtCurSnsNok", - "2794": "EvtDevBatOvVA", - "2795": "EvtExtBMSDet", - "2796": "EvtDevUnVBatA", - "2797": "EvtExtVFlt", - "2798": "EvtPhSeqFltA", - "2799": "EvtGriVSwOpnA", - "2800": "EvtGriSwFlt", - "2801": "EvtNSwFltA", - "2802": "EvtTrsSwFltA", - "2803": "EvtRsDspDetA", - "2804": "EvtInvalClb", - "2805": "EvtTmOutW", - "2806": "EvtTmOutVAr", - "2807": "EvtTmOutPF", - "2808": "DscWaitCool", - "2809": "DscWRedSC", - "2810": "DscAcConn", - "2811": "DscWRed", - "2812": "DscDevExtAcTst", - "2813": "DscDrtParaBatTst", - "2814": "DscWaitBatCool", - "2815": "DscBatTstTyp", - "2816": "DscLodRedBatTst", - "2817": "DscVHzExtAc", - "2818": "DscGriConnTst", - "2819": "DscBatVTst", - "2820": "DscExtSC", - "2821": "DscPhsExtTst", - "2822": "DscAcConnTst", - "2823": "DscCtlAcSwTst", - "2824": "DscNSwTst", - "2825": "DscAcDrtTst", - "2826": "DscGnFltAckn", - "2827": "DscLodRedAcDrt", - "2828": "DscSysIstlTst", - "2829": "DscCanRisTst", - "2830": "DscSnsSttTst", - "2831": "DscCfgCltTst", - "2832": "DscGnTst", - "2833": "DscDtSet", - "2834": "DscCfgBatCha", - "2835": "DscExtCltVTst", - "2836": "DscCltComTst", - "2837": "DscSwTst", - "2838": "DscGriPhsTst", - "2839": "DscGndRisCool", - "2840": "DscComMtrTst", - "2841": "DscComCBox", - "2842": "DscShmComTst", - "2843": "DscCanBMSTst", - "2844": "DscDevIstlAcV", - "2845": "DscSlvFlt", - "2846": "DscDevTrf", - "2847": "DscBatChaVTst", - "2848": "DscSysCfgTst", - "2849": "DscVHzAcTst", - "2850": "DscComBoxTst", - "2851": "DscCfgCltTst2", - "2852": "DscSlvCltTst", - "2853": "DscMsBoxTst", - "2854": "Vol1Nom", - "2855": "Vol2Nom", + "2524": "Bootloader version", + "2525": "Type of AC distribution", + "2526": "Solar charger total energy", + "2527": "Total energy photovoltaics", + "2528": "Daily energy photovoltaics", + "2529": "Output of photovoltaics", + "2530": "Cluster behaviour when a device fails", + "2531": "Energy saving mode", + "2532": "Areas of application", + "2533": "Operating time statistics counter", + "2534": "Charge factor", + "2535": "No. of equalization charges", + "2536": "No. of full charges", + "2537": "Relative battery discharge since last full charge", + "2538": "Relative battery discharge since last equalization charge", + "2539": "Max. occurred charge current", + "2540": "Max. occurred discharge current", + "2541": "Switch-on limit after overtemperature shutdown", + "2542": "Line resistance of DC connection", + "2543": "Cycle time full charge", + "2544": "Cycle time equalization charge", + "2545": "Temperature compensation", + "2546": "Automatic equalization charge", + "2547": "Absorption phase active", + "2548": "Fault state of charge", + "2549": "Manual equalization charge", + "2550": "Energy saving mode", + "2551": "Time until change-over to energy saving mode", + "2552": "Maximum duration of energy saving mode", + "2553": "Voltage setpoint with deactivated BMS", + "2554": "Start time", + "2555": "End time", + "2556": "Limit of battery state of charge", + "2557": "Type of additional DC sources", + "2558": "Operating time energy count", + "2559": "Automatic frequency control", + "2560": "Maximum AC charge current", + "2561": "external transformer", + "2562": "Operating time", + "2563": "Repeat cycle", + "2564": "Cut-off time until shutdown", + "2565": "Lower lmt deep disch. protect area prior shutdown", + "2566": "Minimum width of deep discharge protection area", + "2567": "Minimum width of backup power area", + "2568": "Area width for conserving battery state of charge", + "2569": "Minimum width of self-consumption area", + "2570": "Most profitable month", + "2571": "Season operation active", + "2572": "Switch-on limit", + "2573": "Switch-off limit", + "2574": "Start time range", + "2575": "Request", + "2576": "Target address", + "2577": "Average time", + "2578": "Min. operating time", + "2579": "Min. idle period", + "2580": "Cooling time", + "2581": "Idle period after fault", + "2582": "Warm-up time", + "2583": "Operating time", + "2584": "Generator request via charge type", + "2585": "Charge type", + "2586": "Generator request via digital input", + "2587": "Reaction to digital input", + "2588": "Remaining min. operating time", + "2589": "Type of current limitation", + "2590": "Sensitivity of generator failure detection", + "2591": "Maximum current of the ext. network interface", + "2592": "Feed-in permitted", + "2593": "Power monitoring", + "2594": "Start feed-in", + "2595": "Stop feed-in", + "2596": "Upper state of charge for reactivating feed-in", + "2597": "Lower state of charge for locking feed-in", + "2598": "Grid request via battery state of charge", + "2599": "Grid request via charge type", + "2600": "Load shedding 1", + "2601": "Load shedding 2", + "2602": "Limit of battery state of charge for start", + "2603": "Limit of battery state of charge for stop", + "2604": "Timer", + "2605": "Duration in which the relay is activated for timer", + "2606": "Repeat cycle for timer", + "2607": "Temperature limit for battery compartment fan", + "2608": "Digital input", + "2609": "Multicluster Box 6", + "2610": "Multicluster Box 12", + "2611": "Multicluster Box 36", + "2612": "Further operation", + "2613": "Stop all devices", + "2614": "Self-consumption area", + "2615": "State of charge conservation area", + "2616": "Backup power area", + "2617": "Deep discharge protection area", + "2618": "Deep discharge area", + "2619": "AC sources and DC charge controllers", + "2620": "Other DC charge controllers", + "2621": "Communicatively coupled DC charge controller", + "2622": "Once", + "2623": "Weekly", + "2624": "June profitable", + "2625": "December profitable", + "2626": "Fixed limit value for current limitation", + "2627": "Frequency-dependent current limitation", + "2628": "Low", + "2629": "Medium", + "2630": "Normal", + "2631": "High", + "2632": "Automatic generator request", + "2633": "1-stage load shedding", + "2634": "1-stage load shedding or 1st stage with 2-stage load shedding", + "2635": "2nd stage for 2-stage load shedding (load shedding 2)", + "2636": "Timer 1", + "2637": "Timer 2", + "2638": "Control of add. loads", + "2639": "Relay on if generator running", + "2640": "Relay on if ext. source available", + "2641": "Relay on if grid is available", + "2642": "Relay off in case of fault", + "2643": "Relay on in case of warning", + "2644": "Relay on if cluster running", + "2645": "Battery compartment fan", + "2646": "Electrolyte pump", + "2647": "ComSync", + "2648": "Relay on with power limitation", + "2649": "Grid disconnection during emergency operation", + "2650": "Earthing in emer op", + "2651": "Lowest measured temperature", + "2652": "Remaining absorption time", + "2653": "Remaining time until full charge", + "2654": "Remaining time until equalization charge", + "2655": "Time-controlled generator operation", + "2656": "Grid request via power", + "2657": "Start date", + "2658": "V/°C", + "2659": "Protection mode", + "2660": "External network", + "2661": "Time range", + "2662": "Device is no longer updated after several failures", + "2663": "Remote update not supported", + "2664": "Execute firmware update via SD card", + "2665": "Power threshold", + "2666": "Power threshold tripping time", + "2667": "Cut-off time", + "2668": "Suitable for energy management", + "2669": "Unsuitable", + "2670": "Conditionally suitable", + "2671": "Well suited", + "2672": "Max. chg-over frequency charge/disch. direct. reached", + "2673": "Switch-on request", + "2674": "Limit value violation in GridGuard setting", + "2676": "Battery system defect (ID |b0|: 0x|x5||x4|, 0x|x7||x6|, 0x|x9||x8|, 0x|xB||xA|)", + "2677": "Operation at generator (at external input)", + "2678": "Feeding network op (at external input)", + "2679": "Energy saving mode of slaves in single-phase parallel op", + "2680": "Energy saving mode at network", + "2681": "Shutdown due to fault", + "2682": "Emergency charge", + "2683": "Automatic start", + "2684": "Manual start (change-over from standby to op)", + "2685": "Manual stop (change-over from op to standby)", + "2686": "Energy saving mode start", + "2687": "Energy saving mode stop", + "2688": "Ext. start via system control (chg-over from op to standby)", + "2689": "Ext. stop via system control (chg-over from op to standby)", + "2690": "Automatic frequency control intervenes", + "2691": "Automatic frequency control ends", + "2692": "Self-consumption control started", + "2693": "Self-consumption control stopped", + "2694": "Only charge op. in self-consumption mode", + "2695": "Full or equalization charge with active self-consumption optimisation", + "2696": "Return to self-consumption optimisation after completing a full or equalization charge", + "2697": "The device switches off", + "2698": "System control: Setpoint spec. activated", + "2699": "System control: Setpoint spec. deactivated", + "2700": "Reset battery management due to new battery", + "2701": "Status change to battery float charge", + "2702": "Status change to battery boost charge", + "2703": "Status change to battery full charge", + "2704": "20 percent calibration being executed", + "2705": "Automatic generator start due to set criteria, e.g. battery state of charge", + "2706": "Automatic generator stop due to set criteria, e.g. battery state of charge", + "2707": "Manual generator start", + "2708": "Manual generator stop", + "2709": "Manual fault confirmation generator fault", + "2710": "Generator requested", + "2711": "Generator started in current-controlled operation", + "2712": "Generator stopped in current-controlled operation", + "2713": "Grid request due to low battery state of charge", + "2714": "Release of grid disconnect due to sufficient battery state of charge", + "2715": "Grid request due to power limit exceedance", + "2716": "Grid disconnect release as power limit not reached", + "2717": "Manual grid request", + "2718": "Manual grid disconnect release", + "2719": "Multifunction relay |d0| of device at L|d4| is |tn8|", + "2720": "Transfer relay |d0| of device at L|d4| is |tn8|", + "2721": "Master starts firmware update of cluster", + "2722": "Sunny Remote Control activated", + "2723": "Data module |d0| incorr. connected or missing", + "2724": "Device model specified", + "2725": "Solar charger 1 is detected", + "2726": "Event |tn0| of process interface", + "2727": "Derating due to temp. L|d0|", + "2728": "Battery voltage too high and not generated by device", + "2729": "Warning actual battery capacity (SOH) <= 70%", + "2730": "A 20% recalibration of battery state of charge executed with a leap greater than 10%", + "2731": "Excess current transfer relay of device at L1", + "2732": "Ext grid disconnect due to undervoltage at phase L1", + "2733": "Ext grid disconnect due to overvoltage at phase L1", + "2734": "External grid disconnect due to insufficient freq. at phase L1", + "2735": "External grid disconnect due to excess freq. at phase L1", + "2736": "Ext grid disconnect due to undesired island grid at phase L1", + "2737": "Ext source disconnect due to violation of any limits in device at L1 (redundant measurement)", + "2738": "Voltage increase protection phase L1", + "2739": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L1", + "2740": "Ext grid disconnect due to phase failure or overload at phase L1", + "2741": "Ext grid disconnect due to external short circuit at phase L1", + "2742": "Ext. network has no correct rotary field", + "2743": "Ext grid disconnect due to overcurrent at phase L1", + "2744": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L1", + "2745": "Reverse power prot. (generator)", + "2746": "Blocking of generator due to too much connect. processes", + "2747": "Prohibited feedback to utility grid at phase L1", + "2748": "Feed-in current larger than set max. value at phase L1", + "2749": "Transfer relay does not close at phase L1", + "2750": "Watchdog counter Slave 1 expired (multiple cons. watchdog tripping)", + "2751": "Faulty CAN communication with device at L2", + "2752": "Short circuit battery temp. sensor", + "2753": "Cable break battery temp. sensor", + "2754": "No synchronisation signal from device to L2", + "2755": "No message from device at L2", + "2756": "Synchronisation not executed", + "2757": "Invalid date", + "2758": "Battery potection mode 1", + "2759": "Short circuit 24V DC output", + "2760": "Timeout of signal processor in device to L2", + "2761": "No PV in off-grid mode available", + "2762": "Generator mode not possible", + "2763": "No valid grif voltage for requested network op.", + "2764": "Fault 4 contactor", + "2765": "Thermal fuse of earthing resistor has tripped (backup TT)", + "2766": "Communication with PV meter faulty", + "2767": "Communication device with SBUKomBox faulty", + "2768": "Watchdog tripping SBUKomBox", + "2769": "Unsupported protocol detected at eHZ 1", + "2770": "Readout heads of eHZ swapped in KomBox input", + "2771": "Communication with meter faulty", + "2772": "Rev pol. batt. connection or short circuit Solar Charger 1", + "2773": "Battery overvoltage Solar Charger 1", + "2774": "Overvoltage PV generator Solar Charger 1", + "2775": "No PV voltage or short circuit Solar Charger 1", + "2776": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 1", + "2777": "Device overtemp Solar Charger 1", + "2778": "No communication to DC charger for more than 24h Solar Charger 1", + "2779": "P(f)/Q(V) char. curve config. autom. adjusted", + "2780": "Timeout monitoring of battery management has triggered", + "2781": "Overtemp. at device transformer at L1", + "2782": "Overtemp. at power element device at L1", + "2783": "AC current limit phase L1", + "2784": "Inverter overvoltage phase L1", + "2785": "Inverter overfrequency phase L1", + "2786": "Inverter underfrequency phase L1", + "2787": "Inverter undervoltage phase L1", + "2788": "Voltage at AC connection phase L1", + "2789": "Device at L1 was loaded above its 5min capacity", + "2790": "Device at L1 was loaded above its 30min capacity", + "2791": "Device at L1 was loaded above its short-time capacity", + "2792": "A slave is in error state, cluster is stopped", + "2793": "The current sensor is not connected, not available or faulty", + "2794": "Meas. range violation battery voltage in device at L1", + "2795": "Ext. battery management detected but not set", + "2796": "Meas. range violation battery voltage in device at L1", + "2797": "Failure of ext. voltage", + "2798": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L1", + "2799": "With open section switch, AC voltage is applied at phase L1", + "2800": "Section switch does not open", + "2801": "N-cond. relay does not open at L1", + "2802": "Transfer relay does not open at phase L1", + "2803": "Reset signal processor in device detected at L1", + "2804": "Invalid calibration in DSP", + "2805": "Timeout in communication for active power limitation", + "2806": "Timeout in communication for reactive power spec.", + "2807": "Timeout in communication for cos-Phi spec.", + "2808": "Wait until device cools down", + "2809": "Reduce load; trip short circuit", + "2810": "Find cause by gradual application of AC sources", + "2811": "Reduce load", + "2812": "Check device and network-forming sources for corr. AC connection", + "2813": "Regulate AC sources; check DC sources settings; check battery nominal voltage", + "2814": "Wait until battery cools down", + "2815": "Check battery; observe correct battery size when replacing it", + "2816": "Reduce load; check battery nominal voltage", + "2817": "Check voltage and frequency of network-forming AC source", + "2818": "Check network connection (wire cross-sect.)", + "2819": "Check battery voltage (transmission ratio of transformer affects the voltage being set)", + "2820": "Trip external short circuit", + "2821": "Check phase assigt of network-forming AC source", + "2822": "Check ext. and int. AC connections", + "2823": "Check control and wiring of coupling contactor", + "2824": "Check N-cond. relay.", + "2825": "Check whether AC sources can be regulated", + "2826": "Confirm generator management fault", + "2827": "Reduce load; regulate AC sources", + "2828": "Check system wiring; contact SMA Service", + "2829": "Check CAN connections and terminating resistors", + "2830": "Check sensor status and function", + "2831": "Check system config.; check cluster communication (wires / resistors)", + "2832": "Check generator (fuel, fuses, fault status)", + "2833": "Set time and date", + "2834": "Check settings; charge battery; observe battery size when replacing it", + "2835": "Check cabling of extension cluster to main cluster; measure AC voltage", + "2836": "Check cluster communication", + "2837": "Check contactor", + "2838": "Check network connection (phasing); contact Service", + "2839": "Wait until earthing resistor has cooled down; reset thermal fuse", + "2840": "Check communication to meter", + "2841": "Check communication to MeterBox", + "2842": "Check communication to meter", + "2843": "Check CAN connection to external battery management", + "2844": "Device incorrectly connected (AC voltage detected)", + "2845": "Eliminate fault in slave", + "2846": "Send in defective device, repair/replace current transformer", + "2847": "Charge battery; check battery nom. voltage; observe battery size when replacing it", + "2848": "Check system settings.", + "2849": "Check voltage and frequency of connected AC source", + "2850": "Check communication to Box (wires, resistors)", + "2851": "Check system config.; check cluster communication", + "2852": "Eliminate fault of slave; check cluster comm. to slave", + "2853": "Check meas. lines to Box", + "2854": "Voltage at zero-crossing 1", + "2855": "Voltage at zero-crossing 2", "2856": "HystDb", - "2857": "EvtSwItf1", - "2858": "EvtSwItf2", - "2859": "EvtSwItf3", - "2860": "EvtSwItf4", - "2861": "EvtSwItf5", - "2862": "EvtSwItf6", - "2863": "EvtSwItf7", - "2864": "EvtSwItf8", - "2865": "EvtSwItf9", - "2866": "EvtSwItf10", - "2867": "EvtSwItf11", - "2868": "EvtSwItf12", - "2869": "EvtSwItf13", - "2870": "EvtSwItf14", - "2871": "EvtSwItf16", - "2872": "EvtAutoStrCntA", - "2873": "EvtHwLim", - "2874": "EvtTmpSnsTrf2A", - "2875": "EvtTmpSnsWCir3A", - "2876": "EvtSynSigMss", - "2877": "EvtCltCfg", - "2878": "EvtCltDevAdr", - "2879": "EvtCltRxNok", - "2880": "EvtComSPIA", - "2881": "EvtComCan2A", - "2882": "EvtComBox", - "2883": "EvtCltVMssA", - "2884": "EvtDspAidFlt", - "2885": "EvtCltNok", - "2886": "EvtAidMonFltA", - "2887": "EvtSynCanMssA", - "2888": "EvtDevVFltA", - "2889": "EvtBoxSwFail", - "2890": "EvtBoxParaFail", - "2891": "EvtBoxVFlt15", - "2892": "EvtBoxPhsFlt", - "2893": "EvtBoxCurVMsA", - "2894": "EvtClbDatNokA", - "2895": "EvtDcVtgBstCnvA", - "2896": "EvtTmpSnsCom", - "2897": "EvtDcVtgBstCnvB", - "2898": "EvtDcVtgBstCnvC", - "2899": "VArCtlVolHystDbAct", - "2900": "MccBatFanCtl", - "2901": "MccLodShd", - "2902": "EvtEMSGwOk", - "2903": "EvtEMSGwNok", - "2904": "EvtEMSDevRgst", - "2905": "EvtEMSDevRmv", + "2857": "Message from process interface: General", + "2858": "Message from process interface: Battery overvoltage", + "2859": "Message from process interface: Battery undervoltage", + "2860": "Message from process interface: Battery overtemperature", + "2861": "Message from process interface: Battery undertemperature", + "2862": "Message from process interface: Battery overtemp. charge", + "2863": "Message from process interface: Battery undertemp. charge", + "2864": "Message from process interface: Battery overcurrent", + "2865": "Message from process interface: Battery overcurrent charge", + "2866": "Message from process interface: Contactor", + "2867": "Message from process interface: Short circuit", + "2868": "Message from process interface: BMS internal", + "2869": "Message from process interface: Cell imbalance", + "2870": "Message from process interface: Reserved", + "2871": "Message from process interface: Generator", + "2872": "Autostart counter expired in device at L1 (multiple cons. autostart)", + "2873": "Limit value exceedance hardware", + "2874": "Short circuit or cable break temp. sensor of transformer L1", + "2875": "Short circuit or cable break temp. sensor of power elem. L1", + "2876": "No synchronisation signal", + "2877": "Fault in cluster configuration", + "2878": "Fault in address assigt of cluster devices, configuration fault", + "2879": "No message from cluster master (only slave)", + "2880": "No message from cluster master in device at L1", + "2881": "Device int. interprocessor comm. missing in device at L1", + "2882": "Communication with MC-BOX interrupted", + "2883": "Device at L|d0| does not detect output voltage of master cluster", + "2884": "Fault in DSP AI and/or ext. voltage monitoring algorithm", + "2885": "Cluster incomplete", + "2886": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L1", + "2887": "Device int. sync imp missing in device at L1", + "2888": "Processor voltage in device at L1 faulty", + "2889": "Plausibility check MC-BOX failed", + "2890": "Box encoding does not correspond to software settings", + "2891": "Fault in 15V supply of MCBUBox", + "2892": "Box phase missing", + "2893": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L1", + "2894": "Unable to read calibration data or incomplete data in device at L1", + "2895": "Overvoltage boost conv A", + "2896": "Communication to AnalogFrontEnd impaired/defect", + "2897": "Overvoltage boost conv B", + "2898": "Overvoltage boost conv C", + "2899": "Reactive power/voltage param with activation power", + "2900": "Battery fan in Multicluster", + "2901": "Load shedding in Multicluster", + "2902": "EM gateway found: |tn0|, Name: |s4|", + "2903": "EM gateway not found: |tn0|, Name: |s4|", + "2904": "EM device registered: |tn0|, Name: |s4|", + "2905": "EM device removed: |tn0|, Name: |s4|", "2906": "SEMP", - "2907": "MieleHome", - "2908": "EvtTmpDrt2B", - "2909": "EvtTmpDrt2C", - "2910": "EvtCurTrsSwB", - "2911": "EvtAcVMinPpV2B", - "2912": "EvtAcVMaxPpV2B", - "2913": "EvtAcHzMin2B", - "2914": "EvtAcHzMax2B", - "2915": "EvtExtOffAidB", - "2916": "EvtExtOffLimB", - "2917": "EvtAcVRPro2B", - "2918": "EvtExtOffBatVB", - "2919": "EvtExtOffPhsB", - "2920": "EvtExtOffSCB", - "2921": "EvtCurTrsSwC", - "2922": "EvtAcVMinPpV2C", - "2923": "EvtAcVMaxPpV2C", - "2924": "EvtAcHzMin2C", - "2925": "EvtAcHzMax2C", - "2926": "EvtExtOffAidC", - "2927": "EvtExtOffLimC", - "2928": "EvtAcVRPro2C", - "2929": "EvtExtOffBatVC", - "2930": "EvtExtOffPhsC", - "2931": "EvtExtOffSCC", - "2932": "EvtExtOffCurB", - "2933": "EvtExtOffCurC", - "2934": "EvtExtOffVHzB", - "2935": "EvtExtOffVHzC", - "2936": "EvtRvPwrGriB", - "2937": "EvtFeedCurExcB", - "2938": "EvtTrsSwOnFltB", - "2939": "EvtWdCnt2C", - "2940": "EvtComCanFltC", - "2941": "EvtRvPwrGriC", - "2942": "EvtFeedCurExcC", - "2943": "EvtTrsSwOnFltC", - "2944": "EvtSynReaMssC", - "2945": "EvtTxMssC", - "2946": "EvtBatProMod2", - "2947": "EvtBatProMod3", - "2948": "EvtTmOutDspC", - "2949": "EvtBoxSwFlt5", - "2950": "EvtBoxSwFlt7", - "2951": "EvtBoxSwFlt9", - "2952": "EvtBoxSwFlt10", - "2953": "EvtCBoxProt2", - "2954": "EvtBatConnPvCha2", - "2955": "EvtBatOvVPvCha2", - "2956": "EvtOvVPvCha2", - "2957": "EvtVPvCha2", - "2958": "EvtTmpSnsPvCha2", - "2959": "EvtOvTmpPvCha2", - "2960": "EvtComDcChaNok2", - "2961": "EvtBatConnPvCha3", - "2962": "EvtBatOvVPvCha3", - "2963": "EvtOvVPvCha3", - "2964": "EvtVPvCha3", - "2965": "EvtTmpSnsPvCha3", - "2966": "EvtOvTmpPvCha3", - "2967": "EvtComDcChaNok3", - "2968": "EvtBatConnPvCha4", - "2969": "EvtBatOvVPvCha4", - "2970": "EvtOvVPvCha4", - "2971": "EvtVPvCha4", - "2972": "EvtTmpSnsPvCha4", - "2973": "EvtOvTmpPvCha4", - "2974": "EvtComDcChaNok4", - "2975": "EvtOvTmpTrf2B", - "2976": "EvtOvTmpWCir3B", - "2977": "EvtCurLimB", - "2978": "EvtDevOvVB", - "2979": "EvtDevOvHzB", - "2980": "EvtDevUnHzB", - "2981": "EvtDevUnVB", - "2982": "EvtGriVDetB", - "2983": "EvtOvW5B", - "2984": "EvtOvW30B", - "2985": "EvtOvW1B", - "2986": "EvtOvTmpTrf2C", - "2987": "EvtOvTmpWCir3C", - "2988": "EvtCurLimC", - "2989": "EvtDevOvVC", - "2990": "EvtDevOvHzC", - "2991": "EvtDevUnHzC", - "2992": "EvtDevUnVC", - "2993": "EvtGriVDetC", - "2994": "EvtOvW5C", - "2995": "EvtOvW30C", - "2996": "EvtOvW1C", - "2997": "EvtDevBatOvVB", - "2998": "EvtDevBatOvVC", - "2999": "EvtDevUnVBatB", - "3000": "EvtDevUnVBatC", - "3001": "EvtPhSeqFltB", - "3002": "EvtGriVSwOpnB", - "3003": "EvtPhSeqFltC", - "3004": "EvtGriVSwOpnC", - "3005": "EvtNSwFltB", - "3006": "EvtTrsSwFltB", - "3007": "EvtRsDspDetB", - "3008": "EvtNSwFltC", - "3009": "EvtTrsSwFltC", - "3010": "EvtRsDspDetC", - "3011": "EvtAutoStrCntB", - "3012": "EvtAutoStrCntC", - "3013": "EvtTmpSnsTrf2B", - "3014": "EvtTmpSnsWCir3B", - "3015": "EvtTmpSnsTrf2C", - "3016": "EvtTmpSnsWCir3C", - "3017": "EvtComSPIB", - "3018": "EvtComCan2B", - "3019": "EvtComSPIC", - "3020": "EvtComCan2C", - "3021": "EvtCltVMssB", - "3022": "EvtCltVMssC", - "3023": "EvtAidMonFltB", - "3024": "EvtSynCanMssB", - "3025": "EvtDevVFltB", - "3026": "EvtAidMonFltC", - "3027": "EvtSynCanMssC", - "3028": "EvtDevVFltC", - "3029": "EvtBoxVFlt24", - "3030": "EvtBoxCurVMsB", - "3031": "EvtClbDatNokB", - "3032": "EvtBoxCurVMsC", - "3033": "EvtClbDatNokC", - "3034": "MsCapac", - "3035": "IstlMod", - "3036": "EvtBatChaMod", - "3037": "EvtBatDschMod", - "3038": "EvtBatIstlNok", - "3039": "AddTm", - "3040": "EvtComMtrCBox2", - "3041": "EvtBatChaModOk", - "3042": "EvtBatDschModOk", - "3043": "EvtBatChaModNok", - "3044": "EvtBatDchModNok", - "3045": "CardFileRead", - "3046": "CardUpdAkt", - "3047": "PlntWSrc", - "3048": "PlntVArSrc", - "3049": "PlntW", - "3050": "PlntVAr", - "3051": "PCCMs", - "3052": "MsSrcInv", - "3053": "MsSrcMtr", - "3054": "MsSrcAnIn", - "3055": "MsSrcMb", - "3056": "DctMrk", - "3057": "DscAfciRs2", - "3058": "EvtAfciSlfIstl", - "3059": "EvtAfciSlfDev", - "3060": "EvtEqCha", - "3061": "ChaCtlComAval", - "3062": "WMon", - "3063": "SigVal1", - "3064": "SigVal2", - "3065": "AnOut", - "3066": "DigOut", - "3067": "CurMsVal", - "3068": "GriConnFeed", - "3069": "SelfCsmpDmLim", - "3070": "PvChaMs", - "3071": "ManRstrOvVol", - "3072": "ManRstrUnVol", - "3073": "ManRstrHz", - "3074": "EvtExtOffAid", - "3075": "ManRstrPID", - "3076": "ManRstrAID", - "3077": "DevId", - "3078": "ModelStr", + "2907": "Miele@Home", + "2908": "Derating due to temp. L2", + "2909": "Derating due to temp. L3", + "2910": "Excess current transfer relay of device at L2", + "2911": "Ext grid disconnect due to undervoltage at phase L2", + "2912": "Ext grid disconnect due to overvoltage at phase L2", + "2913": "External grid disconnect due to low frequency at phase L2", + "2914": "Ext grid disconnect due to high frequency at phase L2", + "2915": "Ext grid disconnect due to undesired island grid at phase L2", + "2916": "Ext source disconnect due to violation of any limits in device at L2 (redundant measurement)", + "2917": "Voltage increase protection phase L2", + "2918": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L2", + "2919": "Ext grid disconnect due to phase failure or overload at phase L2", + "2920": "Ext grid disconnect due to external short circuit at phase L2", + "2921": "Excess current transfer relay of device at L3", + "2922": "Ext grid disconnect due to undervoltage at phase L3", + "2923": "Ext grid disconnect due to overvoltage at phase L3", + "2924": "External grid disconnect due to low frequency at phase L3", + "2925": "External grid disconnect due to high frequency at phase L3", + "2926": "Ext grid disconnect due to undesired island grid at phase L3", + "2927": "Ext source disconnect due to violation of any limits in device at L3 (redundant measurement)", + "2928": "Voltage increase protection phase L3", + "2929": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L3", + "2930": "Ext grid disconnect due to phase failure or overload at phase L3", + "2931": "Ext grid disconnect due to external short circuit at phase L3", + "2932": "Ext grid disconnect due to overcurrent at phase L2", + "2933": "Ext grid disconnect due to overcurrent at phase L3", + "2934": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L2", + "2935": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L3", + "2936": "Prohibited feedback to grid at phase L2", + "2937": "Feed-in current larger than set max. value at phase L2", + "2938": "Transfer relay does not close at phase L2", + "2939": "Watchdog counter Slave 2 expired (multiple cons. watchdog tripping)", + "2940": "Faulty CAN communication with device at L3", + "2941": "Prohibited feedback to grid at phase L3", + "2942": "Feed-in current larger than set max. value at phase L3", + "2943": "Transfer relay does not close at phase L3", + "2944": "No synchronisation signal from device to L3", + "2945": "No message from device at L3", + "2946": "Battery protection mode 2", + "2947": "Battery protection mode 3", + "2948": "Timeout of signal processor in device to L3", + "2949": "Fault Q5 contactor", + "2950": "Fault Q7 contactor", + "2951": "Fault Q9 contactor", + "2952": "Fault Q10 contactor", + "2953": "Unsupported protocol detected at eHZ 2", + "2954": "Rev pol. batt. connection or short circuit Solar Charger 2", + "2955": "Battery overvoltage Solar Charger 2", + "2956": "Overvoltage PV generator Solar Charger 2", + "2957": "No PV voltage or short circuit Solar Charger 2", + "2958": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 2", + "2959": "Device overtemp Solar Charger 2", + "2960": "No communication to DC charger for more than 24h Solar Charger 2", + "2961": "Rev pol. batt. connection or short circuit Solar Charger 3", + "2962": "Battery overvoltage Solar Charger 3", + "2963": "Overvoltage PV generator Solar Charger 3", + "2964": "No PV voltage or short circuit Solar Charger 3", + "2965": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 3", + "2966": "Device overtemp Solar Charger 3", + "2967": "No communication to DC charger for more than 24h Solar Charger 3", + "2968": "Rev pol. batt. connection or short circuit Solar Charger 4", + "2969": "Battery overvoltage Solar Charger 4", + "2970": "Overvoltage PV generator Solar Charger 4", + "2971": "No PV voltage or short circuit Solar Charger 4", + "2972": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 4", + "2973": "Device overtemp Solar Charger 4", + "2974": "No communication to DC charger for more than 24h Solar Charger 4", + "2975": "Overtemp. at device transformer at L2", + "2976": "Overtemp. at device power elem at L2", + "2977": "AC current limiting phase L2", + "2978": "Inverter overvoltage phase L2", + "2979": "Inverter overfrequency phase L2", + "2980": "Inverter underfrequency phase L2", + "2981": "Inverter undervoltage phase L2", + "2982": "Voltage at AC connection phase L2", + "2983": "Device at L2 was loaded above its 5min capacity", + "2984": "Device at L2 was loaded above its 30min capacity", + "2985": "Device at L2 was loaded above its short-time capacity", + "2986": "Overtemp. at device transformer at L3", + "2987": "Overtemp. at power element device at L3", + "2988": "AC current limiting phase L3", + "2989": "Inverter overvoltage phase L3", + "2990": "Inverter overfrequency phase L3", + "2991": "Inverter underfrequency phase L3", + "2992": "Inverter undervoltage phase L3", + "2993": "Voltage at AC connection phase L3", + "2994": "Device at L3 was loaded above its 5min capacity", + "2995": "Device at L3 was loaded above its 30min capacity", + "2996": "Device at L3 was loaded above its short-time capacity", + "2997": "Meas. range violation battery voltage in device at L2", + "2998": "Meas. range violation battery voltage in device at L3", + "2999": "Meas. range violation battery voltage in device at L2", + "3000": "Meas. range violation battery voltage in device at L3", + "3001": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L2", + "3002": "With open section switch, AC voltage is applied at phase L2", + "3003": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L3", + "3004": "With open section switch, AC voltage is applied at phase L3", + "3005": "N-cond. relay does not open at L2", + "3006": "Transfer relay does not open at phase L2", + "3007": "Reset signal processor in device detected at L2", + "3008": "N-cond. relay does not open at L3", + "3009": "Transfer relay does not open at phase L3", + "3010": "Reset signal processor in device detected at L3", + "3011": "Autostart counter expired in device at L2 (multiple cons. autostart)", + "3012": "Autostart counter expired in device at L3 (multiple cons. autostart)", + "3013": "Short circuit or cable break temp. sensor of transformer L2", + "3014": "Short circuit or cable break temp. sensor of power element L2", + "3015": "Short circuit or cable break temp. sensor of transformer L3", + "3016": "Short circuit or cable break temp. sensor of power element L3", + "3017": "No message from cluster master in device at L2", + "3018": "Device int. interprocessor comm. missing in device at L2", + "3019": "No message from cluster master in device at L3", + "3020": "Device int. interprocessor comm. missing in device at L3", + "3021": "Device at L2 does not detect output voltage of master cluster", + "3022": "Device at L3 does not detect output voltage of master cluster", + "3023": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L2", + "3024": "Device int. sync imp missing in device at L2", + "3025": "Processor voltage in device at L2 faulty", + "3026": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L3", + "3027": "Device int. sync imp missing in device at L3", + "3028": "Processor voltage in device at L3 faulty", + "3029": "Fault in 24V supply of MCBUBox", + "3030": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L2", + "3031": "Unable to read calibration data or incomplete data in device at L2", + "3032": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L3", + "3033": "Unable to read calibration data or incomplete data in device at L3", + "3035": "Installation mode", + "3036": "Battery test charge", + "3037": "Battery test discharge", + "3038": "Start conditions battery test not fulfilled", + "3039": "Additional time range", + "3040": "Communication with grid power meter faulty", + "3041": "Battery test charge successful", + "3042": "Battery test discharge successful", + "3043": "Battery test charge failed", + "3044": "Battery test discharge failed", + "3045": "Memory card is read", + "3046": "No new update on the memory card", + "3047": "Source for system active power", + "3048": "Source for system reactive power", + "3049": "System active power", + "3050": "System reactive power", + "3051": "Measurements at grid connection point", + "3052": "Sum of inverter performance", + "3053": "SMA Energy Meter", + "3054": "Analog input", + "3055": "Modbus", + "3056": "Direct selling", + "3057": "Please confirm", + "3058": "Self-test arc detection: Interference level too high", + "3059": "Self-test arc detection: Signal level too low", + "3060": "Status change to battery equalization charge", + "3061": "Control charging via communication available", + "3062": "Power monitoring", + "3063": "Signal value 1", + "3064": "Signal value 2", + "3065": "Analog output", + "3066": "Digital output", + "3067": "Current measured value", + "3068": "Mains operation with feedback", + "3069": "Lower discharge limit for self-consumption range", + "3070": "Solar charger", + "3071": "After overvoltage", + "3072": "After undervoltage", + "3073": "After frequency error", + "3074": "Ext grid disconnect due to undesired island grid", + "3075": "After passive islanding detection", + "3076": "After active islanding detection", + "3077": "Device ID", + "3078": "Type designation", "3079": "URL", - "3080": "ComProt", - "3081": "MsValAcq", - "3082": "ValAcqMs", - "3083": "ValAcqEst", - "3084": "NoneValAcq", - "3085": "ExWMax", - "3086": "ExVArCtl", - "3087": "ItrWMax", - "3088": "ItrVArCtl", - "3089": "MsWPCC", - "3090": "MsVArPCC", - "3091": "EvtPvChaDet2", - "3092": "EvtPvChaDet3", - "3093": "EvtPvChaDet4", - "3094": "EvtStopMod", - "3095": "DscStopMod", - "3096": "MNConn", - "3097": "OpModeSlv1", - "3098": "OpModeSlv2", - "3099": "SttSlv1", - "3100": "SttSlv2", - "3101": "Abrt", - "3102": "CardFul", - "3103": "FileSysNotDet", - "3104": "FileSysNotSut", - "3105": "ParaSto", - "3106": "ParaStoFail", - "3107": "LogSto", - "3108": "CardNotExs", - "3109": "PreDyWhFeed", - "3110": "MthWhFeed", - "3111": "PreMthWhFeed", - "3112": "PreDyWhIn", - "3113": "MthWhIn", - "3114": "PreMthWhIn", - "3115": "CurMaxW", - "3116": "CurWCtl", - "3117": "TotVArIn", - "3118": "WDecMaxShrt", - "3119": "TotVArOut", - "3120": "TotVAOut", - "3121": "NotUsW", - "3122": "ComWdOut", - "3123": "ComWdIn", - "3124": "TotFuelCsmp", - "3125": "EstFuelCsmp", - "3126": "MaxVA", - "3127": "FscCnt", - "3128": "RemSvc", - "3129": "ManMod", - "3130": "SlvMod", - "3131": "EvtParaUpldOk", - "3132": "NConn", - "3133": "SelfTst", - "3134": "[m3]", - "3135": "[l/h]", - "3136": "EvtDcRv", - "3137": "EvtDcMinBat", - "3138": "EvtDcMinNoBat", - "3139": "EvtVolGra", - "3140": "EvtAmpGra", - "3141": "EvtTmOutItrCom", - "3142": "EvtVolMinSyn", - "3143": "EvtPwrCirCha", - "3144": "EvtCtlModInval", - "3145": "InitOk", - "3146": "YesManRstr", - "3147": "IgmpQryTx", - "3148": "EvtOffCapacTst", - "3149": "EvtOnCapacTst", - "3150": "DscCapacParaChk", - "3151": "EvtCapacTstStop", - "3152": "EvtDcSwDrt", - "3153": "EvtComAFE", - "3154": "EvtMsFltAFE", - "3155": "EvtRamECC", - "3156": "EvtBitFltFPGA", - "3157": "EvtSlfTstECC", - "3158": "XRefWNom", - "3159": "CrvModCfg2", - "3160": "EvtEMSGwCom", - "3161": "EvtEMSDevCom", - "3162": "EvtEMSGwSw", - "3163": "EvtEMSDevSw", - "3164": "EvtEMSComFlt", - "3165": "PLL", - "3166": "PLDLoVol", - "3167": "ActIsldDet", - "3168": "EvtMemAFE", - "3169": "EvtPromAFE", - "3170": "EvtPromDcEmc", - "3171": "EvtPromAcRly", - "3172": "HpRs", - "3173": "SysRs", - "3174": "OptmUpd", - "3175": "WCtlHzWMax", - "3176": "EvtUpdDevIdNok", - "3177": "EvtUpdFileFmt", - "3178": "EvtUpdLoginNok", - "3179": "UpdRx", - "3180": "UpdExec", - "3181": "UpdOk", - "3182": "UpdNok", - "3183": "WCtlTmms", - "3184": "EvtBckFileTxStr", - "3185": "EvtDcInFltA", - "3186": "EvtDcInFltB", - "3187": "EvtDcInFltC", - "3188": "AcCol", - "3189": "StrgCnt", - "3190": "StrgCntAct", - "3191": "HiVol", - "3192": "HiA", - "3193": "VASpt", - "3194": "OptmWebConn", - "3195": "AdrEvtLog", - "3196": "NtpTm", - "3197": "CmpWebUsrItf", - "3198": "EvtAcAFEInop", - "3199": "UsSerNumEN", - "3200": "CmpMainBlt", - "3201": "CmpPreBlt", - "3202": "EvtTmpSnsBstConv", - "3203": "EvtTmpSnsCol", - "3204": "ZnMon", - "3205": "MaxAmpNomDif", - "3206": "AvAmpNomDif", - "3207": "FltTm", - "3208": "Strg", - "3209": "AmpMax", - "3210": "AvgAmpDifFlt", - "3211": "FltTmEvt", - "3212": "MinAmpAct", - "3213": "EvtSetParaStt", - "3214": "HzPrc", - "3215": "PlntVw", - "3216": "DiagLog", - "3217": "SelfTstDmd", - "3218": "AvVol", - "3219": "BatDmd", - "3220": "CalcWCtl", - "3221": "CalcVArCtl", - "3222": "BatHealthStt", - "3223": "TotAvalCha", - "3224": "TotAvalDsch", - "3225": "DyWhCha", - "3226": "PreDyWhCha", - "3227": "MthWhCha", - "3228": "PreMthWhCha", - "3229": "DyWhDsch", - "3230": "PreDyWhDsch", - "3231": "MthWhDsch", - "3232": "PreMthWhDsch", - "3233": "IgmpQryTms", - "3234": "OvLdTst", - "3235": "DoFli", - "3236": "EvtAuthLok", - "3237": "AutoSynTm", - "3238": "PrdCsmp", - "3239": "PrdCsmpUs", - "3240": "EvtPwrRs", - "3241": "EvtDftLod", - "3242": "EvtManAckn", - "3243": "EvtSttChgFlt", - "3244": "EvtComFltSDE", - "3245": "EvtItrStoRs", - "3246": "EvtItrStoRsFail", - "3247": "EvtGriGrdSet", - "3248": "EvtApStiInval", - "3249": "EvtApStiMss", - "3250": "EvtApStiDef", - "3251": "EvtApStiInfDef", - "3252": "EvtApStiHw", - "3253": "EvtApStiSw", - "3254": "DscApStiChk", - "3255": "EvtClbAmp", - "3256": "EvtClbVol", - "3257": "EvtComIpc2", - "3258": "SetDlSvTm", - "3259": "EvtDifPres", - "3260": "EvtFanIn4", - "3261": "EvtLeakRisInd", - "3262": "DscInvIndChk", - "3263": "EvtRemGfdiSw2", - "3264": "DoOpn", - "3265": "DoCls", - "3266": "EvtDcShMss", - "3267": "EvtDcShConn", - "3268": "EvtComCan2", - "3269": "EvtSnsPres", - "3270": "EvtUpdWl", - "3271": "EvtUpdWlNok", - "3272": "Prothttp", - "3273": "ProtD2", - "3274": "ProtMb", - "3275": "GrnLedWInd", - "3276": "EvtComCmp", - "3277": "EvtComCmp2", - "3278": "CmpSC30DST", - "3279": "CmpSC30ACC", - "3280": "CmpSC30DCC", - "3281": "CmpSC30RIO", - "3282": "CmpSC30CONT", - "3283": "CmpSC30CONT1", - "3284": "CmpSC30CONT2", - "3285": "EvtTmpSnsCmp", - "3286": "EvtOvTmpCmp", - "3287": "EvtGriMonIna", - "3288": "IndOrange", - "3289": "IndYellow", - "3290": "IndGreen", - "3291": "IndRed", - "3292": "EvtTmOutWOn", - "3293": "EvtTmOutWOff", - "3294": "EvtOvTmpColOn", - "3295": "EvtOvTmpColOff", - "3296": "EvtFstStopDcOvA", - "3297": "EvtFstStopGfdi", - "3298": "EvtFstStopCab", - "3299": "EvtFstStopExt", - "3300": "EvtFstStopAcSw", - "3301": "EvtFstStopAcDcn", - "3302": "EvtFstStopSC", - "3303": "EvtFstStopSw", - "3304": "EvtFstStopDcDcn", - "3305": "EvtWlCmpDef", - "3306": "EvtWlConnNok", - "3307": "EvtWlConn", - "3308": "EvtWlConnFail", - "3309": "EvtLeakRisPast", - "3310": "EvtPwrDif", - "3311": "DscAcDcAVolChk", - "3312": "ParaSet20", - "3313": "Wl", - "3314": "SigPwr", - "3315": "ExsNetw", - "3316": "ConnStt", - "3317": "AntMod", - "3318": "SoftAcsIsOn", - "3319": "Ssid", - "3320": "Psk", - "3321": "DoWPS", - "3322": "CryWEP", - "3323": "CryWPA", - "3324": "CryWPA2", - "3325": "ConnFail", - "3326": "ItrAnt", - "3327": "ExAnt", - "3328": "CmpTmZn", - "3329": "ParaSetAck", - "3330": "EvtSlfTstIT", - "3331": "EvtActlRpro", - "3332": "EvtActlVhLim", - "3333": "EvtActlVlLim", - "3334": "EvtActlVllLim", - "3335": "EvtActlSwMax", - "3336": "EvtActlSwMin", - "3337": "EvtActlFrqhLim", - "3338": "EvtActlFrqlLim", - "3339": "EvtSlfTstMsLim", - "3340": "EvtSlfTstLim2", - "3341": "EvtSlfTstMsTm", - "3342": "DoAcq", - "3343": "MsSrcAnIn1", - "3344": "MsSrcAnIn2", - "3345": "MsSrcAnIn3", - "3346": "WRtg", - "3347": "AnIn", - "3348": "MsSrc", - "3349": "EvtUpdTmZn", - "3350": "EvtUpdTmZnNok", - "3351": "CryWEPIdx", - "3352": "ModOpnCtl", - "3353": "ModClsCtl", - "3354": "EvtTmOutClsCtl", - "3355": "DscSnsFanChk", - "3356": "UsCh", - "3357": "UsCh11", - "3358": "UsCh13", - "3359": "LimW", - "3360": "FlbInv", - "3361": "NtpSrvUnk", - "3362": "NtpQryFail", - "3363": "EvtWlCmpDet", - "3364": "EvtVArTst", - "3365": "AcqStt", - "3366": "WlAcqNone", - "3367": "WlAcqAct", - "3368": "WlAcqNok", - "3369": "WlAcqOk", - "3370": "S0WndSpd", - "3371": "S0Wnd", - "3372": "S0Pv", - "3373": "Pt100", - "3374": "Pt1000", - "3375": "[1/s]", - "3376": "Cfg", - "3377": "DigInGrp", - "3378": "DigInCfg00", - "3379": "DigInCfg01", - "3380": "DigInCfg02", - "3381": "DigInCfg03", - "3382": "DigInCfg04", - "3383": "DigInCfg05", - "3384": "DigInCfg06", - "3385": "DigInCfg07", - "3386": "DigInCfg08", - "3387": "DigInCfg09", - "3388": "DigInCfg10", - "3389": "DigInCfg11", - "3390": "DigInCfg12", - "3391": "DigInCfg13", - "3392": "DigInCfg14", - "3393": "DigInCfg15", - "3394": "CryWPATkip", - "3395": "CryWPAAes", - "3396": "CryWPA2Tkip", - "3397": "CryWPA2Aes", - "3398": "CryWPA2Mix", - "3399": "WlMacId", - "3400": "AprMod", - "3401": "AprModCfg", - "3402": "AprCnstCfg", - "3403": "AprCtlComCfg", - "3404": "PriBnd", - "3405": "AprUp", - "3406": "AprLo", - "3407": "AprUpNom", - "3408": "AprLoNom", - "3409": "Apr", - "3410": "AprAct", - "3411": "PsAprStt", - "3412": "NgAprStt", - "3413": "AprMax", - "3414": "AprDmd", - "3415": "AprCnst", - "3416": "AprCnstNom", - "3417": "AprCtlCom", - "3418": "UpBnd", - "3419": "LoBnd", - "3420": "XRefHz", - "3421": "XRefHzDif", - "3422": "YRefApr", - "3423": "YRefAprNom", - "3424": "AprScd", - "3425": "AprScdNom", - "3426": "WPSAct", - "3427": "EvtSocOvVol", - "3428": "EvtSocPvPwr", - "3429": "EvtSocSC", - "3430": "EvtSocNotAval", - "3431": "EvtAcGndFlt", - "3432": "CmpMain1", - "3433": "DscInvOvVProChk", - "3434": "EvtAfci2", - "3435": "EvtAfciStrg2", - "3436": "EvtAfciSlfTst2", - "3437": "EvtAfciSlfIstl2", - "3438": "EvtAfciSlfDev2", - "3439": "EvtDcAmpMaxD", - "3440": "EvtDcAmpMaxE", - "3441": "EvtDcAmpMaxF", - "3442": "EvtDclAMaxHwD", - "3443": "EvtDclAMaxHwE", - "3444": "EvtDclAMaxHwF", - "3445": "StringDFlt", - "3446": "StringEFlt", - "3447": "StringFFlt", - "3448": "EvtDcAOfsD", - "3449": "EvtDcAOfsE", - "3450": "EvtDcAOfsF", - "3451": "EvtDcWCirD", - "3452": "EvtDcWCirE", - "3453": "EvtDcWCirF", - "3454": "EvtDcVMaxD", - "3455": "EvtDcVMaxE", - "3456": "EvtDcVMaxF", - "3457": "EvtDcVtgBstCnvD", - "3458": "EvtDcVtgBstCnvE", - "3459": "EvtDcVtgBstCnvF", - "3460": "EvtOvVBstConvA", - "3461": "EvtOvVBstConvB", - "3462": "EvtOvVBstConvC", - "3463": "EvtOvVBstConvD", - "3464": "EvtOvVBstConvE", - "3465": "EvtOvVBstConvF", - "3466": "EvtDcInFltD", - "3467": "EvtDcInFltE", - "3468": "EvtDcInFltF", - "3469": "VArLimQ1", - "3470": "VArLimQ2", - "3471": "VArLimQ3", - "3472": "VArLimQ4", - "3473": "PFLimQ1", - "3474": "PFLimQ2", - "3475": "PFLimQ3", - "3476": "PFLimQ4", - "3477": "WMaxInv", - "3478": "EvtUpdWebUI", - "3479": "EvtUpdWebUINok", - "3480": "AfciRbs", - "3481": "PFEEI", - "3482": "MinEff", - "3483": "MinEffTmms", - "3484": "MaxEff", - "3485": "MaxEffTmms", - "3486": "SigVal1NoUnt", - "3487": "SigVal2NoUnt", - "3488": "YVal1NoUnt", - "3489": "YVal2NoUnt", - "3490": "EvtDcInLoA", - "3491": "EvtDcInNoA", - "3492": "EvtDcInNoCfg", - "3493": "EvtComInOut", - "3494": "AlrmEna", - "3495": "Tol", - "3496": "WrnTm", - "3497": "TotPFEEI", - "3498": "SysVCalc", - "3499": "TotVArOutCalc", - "3500": "EvtWSptRsl", - "3501": "AvalW", - "3502": "InsolSns20mA", - "3503": "InsolSns10V", - "3504": "EvtBatAmpOfs", - "3505": "EvtParaSetCnt", - "3506": "EvtReactOpOff", - "3507": "AntSet", - "3508": "NewDev", - "3509": "ActTms", - "3510": "EvtPlgWsOk", - "3511": "EvtLeakRisAbrt", - "3512": "S0ItfIn", - "3513": "Crv3", - "3514": "EvtLimAPwrCir", - "3515": "EvtFloCtl", - "3516": "CrvModCfg3", - "3517": "YRefBatWNom", - "3518": "EvtBrgStrDet", - "3519": "EvtNoBrgStrDet", - "3520": "VDrt", - "3521": "FwFltStt", - "3522": "UpdStt", - "3523": "SysRsStt", - "3524": "ConnAcStt", - "3525": "ConnDcStt", - "3526": "FeedStt", - "3527": "FRTStt", - "3528": "SbyStt", - "3529": "VArDmdStt", - "3530": "WGraStt", - "3531": "OpnCtlStt", - "3532": "VLoop", - "3533": "InOutTst", - "3534": "DcSrc", - "3535": "OpnCtlRef", - "3536": "OpnCtlRefGri", - "3537": "CmWoGri", - "3538": "CmMpp", - "3539": "AlrmFlt", - "3540": "PlntGriSwOpn", - "3541": "PlntGriSwCls", - "3542": "TotInvW", - "3543": "WCtlUnHzCfg", - "3544": "WCtlUnOvHz", - "3545": "CtlMsSrc", - "3546": "PhsCtlMod", - "3547": "MsSrcDev", - "3548": "MsSrcMltBox", - "3549": "GriOffOpMod", - "3550": "OnGriMod", - "3551": "OffGriMod", - "3552": "AcAmpDrt", - "3553": "VADrt", - "3554": "VArDmdDrt", - "3555": "VArRsvDrt", - "3556": "DcVolMaxDrt", - "3557": "SwAmpDrt", - "3558": "EvtAcVMaxFst", - "3559": "EvtAcVMinFst", - "3560": "DclVolSptMin", - "3561": "CurWCtlNom", - "3562": "CurWCtlComNom", - "3563": "CurWCtlDrkNom", - "3564": "CurWCtlMinNom", - "3565": "YRefVArNomAval", - "3566": "EvtLeakRisCtl", - "3567": "DscLeakRisCtl", - "3568": "EvtGfdiDrv", - "3569": "PriA", - "3570": "ScdA", - "3571": "MsgCyc", + "3080": "Communication protocol", + "3081": "Type of measured value acquisition", + "3082": "Measured", + "3083": "Estimated", + "3084": "None", + "3085": "Setpoint for active power limitation. Reference: available nominal power of inverter", + "3086": "Setpoint for reactive power limitation. Ref.: available nominal power of inverter", + "3087": "Resulting setpoint of active power limitation. Reference: total system power", + "3088": "Resulting setpoint of reactive power limitation. Ref.: total system power", + "3089": "Measured active power at grid connection point. Ref.: total system power", + "3090": "Meas. reactive power at grid connection point. Ref.: total system power", + "3091": "Solar charger 2 is detected", + "3092": "Solar charger 3 is detected", + "3093": "Solar charger 4 is detected", + "3094": "Constant operational limiting", + "3095": "Activate feeding operation", + "3096": "Centre/neutral conductor connection", + "3097": "Operating mode slave 1", + "3098": "Operating mode slave 2", + "3099": "Status slave 1", + "3100": "Status slave 2", + "3101": "Cancel", + "3102": "Memory card full", + "3103": "No file system detected", + "3104": "File system incompatible", + "3105": "Save parameters", + "3106": "Save parameters failed", + "3107": "Save log data", + "3108": "No memory card present", + "3109": "Energy output yesterday", + "3110": "Energy output this month", + "3111": "Energy output last month", + "3112": "Energy absorbed yesterday", + "3113": "Energy absorbed this month", + "3114": "Energy absorbed last month", + "3115": "Available PV power", + "3116": "Internal PV power limitation", + "3117": "Reactive power drawn", + "3118": "Maximum short-term decrease in power", + "3119": "PV reactive power currently supplied from grid", + "3120": "PV apparent power currently supplied from grid", + "3121": "PV power not requested", + "3122": "Return monitoring value", + "3123": "Input monitoring value", + "3124": "Estimated fuel consumption since last reset", + "3125": "Estimated current fuel consumption", + "3126": "Currently available power", + "3127": "Fuel save meter", + "3128": "Remote service", + "3129": "Manual mode", + "3130": "Slave mode", + "3131": "Parameter upload complete", + "3132": "Neutral conductor is connected", + "3133": "Run self test", + "3134": "m3", + "3135": "l/h", + "3136": "DC connection, polarity reversed", + "3137": "Inverter is not reaching measured VDC level in time", + "3138": "Inverter is not assigned measured VDC level in time", + "3139": "DC voltage gradient is exceeding the assigned limits", + "3140": "DC current gradient is exceeding the assigned limits", + "3141": "Timeout between internal communication units", + "3142": "VDC too low for synchronisation of DC intermediate circuit", + "3143": "DC intermediate circuit precharging via DC side failed", + "3144": "Invalid control mode of system control", + "3146": "Yes, with manual restart", + "3147": "Send IGMP requests", + "3148": "Self test of offline capacitor test failed", + "3149": "Self test of online capacitor test failed", + "3150": "Check sine filter capacitor current and parameters for capacitor test", + "3151": "Endless loop between online and offline capacitor test", + "3152": "Derating due to DC switch overcurrent", + "3153": "AFE not communicating", + "3154": "AFE measured values outside of the valid range", + "3155": "Double bit ECC error", + "3156": "Bit flipper in FPGA bit stream", + "3157": "ECC self test failed", + "3158": "Active power as a percentage of Pmax", + "3159": "Configuration of characteristic curve mode, 2nd characteristic curve", + "3160": "Malfunction in communication to EM gateway: |tn0|, Name: |s4|", + "3161": "Malfunction in communication to EM device: |tn0|, Name: |s4|", + "3162": "EM gateway incompatible: |tn0|, Name: |s4|", + "3163": "EM device incompatible: |tn0|, Name: |s4|", + "3164": "Internal error |d0| in EM communication", + "3165": "PLL error", + "3166": "Phase loss on low voltage side", + "3167": "Active islanding detection", + "3168": "AFE memory error", + "3169": "AFE EEPROM error", + "3170": "DC-EMC EEPROM error", + "3171": "AC-RLY EEPROM error", + "3172": "Reset main computer", + "3173": "Reset system", + "3174": "Optimized BU process", + "3175": "Linear gradient of the maximum active power", + "3176": "Incompatible file", + "3177": "Incorrect file format", + "3178": "Incorrect login rights for configuration file", + "3179": "Update is currently being received", + "3180": "Update is currently running", + "3181": "Update performed successfully", + "3182": "An error occurred during the update", + "3183": "Tripping delay", + "3184": "Transfer of a configuration file has started", + "3185": "Monitoring has failed, input A detected", + "3186": "Monitoring has failed, input B detected", + "3187": "Monitoring has failed, input C detected", + "3188": "AC choke", + "3189": "Number of strings present", + "3190": "Number of active strings", + "3191": "Average voltage on the high-voltage side", + "3192": "Average current on the high-voltage side", + "3193": "Assigned apparent power", + "3194": "Optimized BU process", + "3195": "Ari-Ari-Adressierung des Eventloggers", + "3196": "NTP time reference", + "3197": "Version of WebUI", + "3198": "AFE controller not ready for operation", + "3199": "Serial numbers for usable meters", + "3200": "Main processor bootloader", + "3201": "Preloader", + "3202": "Fault boost converter temperature sensor", + "3203": "Fault AC choke temperature sensor", + "3204": "Zone monitoring", + "3205": "Deviation from max. standardised string current", + "3206": "Average deviation", + "3207": "Time since an error occurred", + "3208": "String", + "3209": "Maximum current", + "3210": "Deviation at which an error is present", + "3211": "Time until error is reported", + "3212": "Minimum current for activation", + "3213": "Job status |u0| of |ln48| does not match the action to be performed |uc|", + "3214": "Supply grid frequency with greater accuracy", + "3215": "System view", + "3216": "Diagnostics logger", + "3217": "Prescribed self-test", + "3218": "Mean value of the external conductor voltages", + "3219": "Default value for battery", + "3220": "Calculated active power default value", + "3221": "Calculated reactive power default value", + "3222": "Battery status", + "3223": "Total free capacity", + "3224": "Total accessible charge", + "3225": "Charge energy (today)", + "3226": "Charge energy (yesterday)", + "3227": "Charge energy (current month)", + "3228": "Charge energy (previous month)", + "3229": "Discharge energy (today)", + "3230": "Discharge energy (yesterday)", + "3231": "Discharge energy (current month)", + "3232": "Discharge energy (previous month)", + "3233": "IGMP query interval", + "3234": "Overload test", + "3235": "Write flight data", + "3236": "|tn0|-Login via |tn4| locked", + "3237": "Automatic time synchronisation", + "3240": "On-board power supply reset", + "3241": "Load defaults via communication", + "3242": "Manual acknowledgement", + "3243": "Change to error operating mode", + "3244": "Communication problem SDELimit", + "3245": "Partition restored after CRC error or firmware update", + "3246": "Unable to restore partition", + "3247": "Country standard set and parameters applied", + "3248": "Invalid application coding", + "3249": "Application connector not present or not readable", + "3250": "Application connector faulty", + "3251": "Application coding faulty", + "3252": "Invalid hardware variant on application connector", + "3253": "Invalid firmware variant on application connector", + "3254": "Replace application connector", + "3255": "Unable to load calibration data for the current measurement (|tn0|)", + "3256": "Unable to load calibration data for the voltage measurement (|tn0|)", + "3257": "IPC communication error (|tn0|)", + "3258": "Current time is daylight savings time", + "3259": "Air filter differential pressure too high", + "3260": "Fan fault interior 4", + "3261": "Insulation error display |tn0| faulty", + "3262": "Check inverter electronics and display", + "3263": "Remote GFDI not responding for |tn0|", + "3264": "Open", + "3265": "Close", + "3266": "DC shuntboard |d0| stack |d4| not connected", + "3267": "DC shuntboard |d0| stack |d4| connected incorrectly", + "3268": "CAN communication error (|tn0|)", + "3269": "Sensor error, air filter differential pressure", + "3270": "Update Wi-Fi", + "3271": "Update of Wi-Fi not successful", + "3272": "http", + "3273": "D2+", + "3274": "Modbus", + "3275": "Dynamic power display via green LED", + "3276": "Link to |tn0| |d4| lost", + "3277": "Link from |tn0| |d4| or |tn8| lost", + "3278": "SC30DST", + "3279": "SC30ACC", + "3280": "SC30DCC", + "3281": "SC30RIO", + "3282": "SC30CONT", + "3283": "SC30CONT CPU1", + "3284": "SC30CONT CPU2", + "3285": "Fault interior temperature sensor |tn0|", + "3286": "Overtemperature interior |tn0|", + "3287": "Grid monitoring inactive", + "3288": "Orange", + "3289": "Yellow", + "3290": "Green", + "3291": "Red", + "3292": "Timeout in comm. for power preset, device will continue to run", + "3293": "Timeout in comm. for power preset, device switching off", + "3294": "Overtemperature sine filter choke (warning limit exceeded)", + "3295": "Overtemperature sine filter choke (shut-off limit exceeded)", + "3296": "Fast Stop DC overcurrent triggered", + "3297": "Fast Stop GFDI triggered", + "3298": "Fast Stop Emergency Stop at switch cabinet triggered", + "3299": "Fast Stop external triggered", + "3300": "Fast Stop AC circuit breaker auxiliary contact TRIP triggered", + "3301": "Fast Stop feedback AC remote disconnect triggered", + "3302": "Fast Stop feedback short-circuiter triggered", + "3303": "Fast Stop triggered by software", + "3304": "Fast Stop DC disconnect triggered", + "3305": "Wi-Fi module faulty", + "3306": "No Wi-Fi connection possible", + "3307": "Wi-Fi connection established", + "3308": "Wi-Fi connection lost", + "3309": "Insulation error occurred in the past", + "3310": "Deviation in AC/DC power ratio", + "3311": "Check AC/DC measurement channel and the current and voltage sensors", + "3312": "Set parameters 2.0", + "3313": "Wi-Fi", + "3314": "Signal strength of the selected network", + "3315": "Networks found", + "3316": "Connection status", + "3317": "Antenna type", + "3318": "Soft-access-point is turned on", + "3319": "SSID", + "3320": "Password", + "3321": "Activate WPS", + "3322": "WEP", + "3323": "WPA", + "3324": "WPA2", + "3325": "Error while connecting", + "3326": "Internal antenna", + "3327": "External antenna", + "3328": "Time zone database", + "3329": "Parameter Setzen mit SCAST bestätigen", + "3330": "Self-test start |s0|", + "3331": "Current disconnection limit for voltage increase protection |lv048|", + "3332": "Current disconnection limit for voltage monitoring lower maximum threshold |lv048|", + "3333": "Current disconnection limit for voltage monitoring upper minimum threshold |lv048|", + "3334": "Current disconnection limit for voltage monitoring middle minimum threshold |lv048|", + "3335": "Current disconnection limit for frequency monitoring switchable maximum threshold |lv048|", + "3336": "Current disconnection limit for frequency monitoring switchable minimum threshold |lv048|", + "3337": "Current disconnection limit for frequency monitoring lower maximum threshold |lv048|", + "3338": "Current disconnection limit for frequency monitoring upper minimum threshold |lv048|", + "3339": "Measured disconnection threshold for the running test point |lv048|", + "3340": "Standard value for the running test point |lv048|", + "3341": "Measured disconnection time for the running test point |f0| s", + "3342": "Perform scan", + "3343": "Analogue input 1", + "3344": "Analogue input 2", + "3345": "Analogue input 3", + "3346": "Nominal power", + "3347": "Analogue input", + "3348": "Source of measurement", + "3349": "Update time zone database", + "3350": "Update of time zone database not successful", + "3351": "WEP key index", + "3352": "Open loop control", + "3353": "Closed loop control", + "3354": "Old value for |tn0| of |tn4|", + "3355": "Check fan sensor", + "3356": "Usable channels", + "3357": "Channels 1 to 11", + "3358": "Channels 1 to 13", + "3359": "Limits possible active power", + "3360": "Fallback for inverter", + "3361": "Unknown NTP server", + "3362": "NTP request failed", + "3363": "Wi-Fi module detected", + "3364": "QoDForceNight test mode active", + "3365": "Status of the scan", + "3366": "No scan completed", + "3367": "Scan is active", + "3368": "Scan failed", + "3369": "Scan successful", + "3370": "S0 pulses per m/s", + "3371": "S0 sensor for wind speed", + "3372": "S0 sensor for PV generation counter", + "3373": "Pt100 temperature sensor", + "3374": "Pt1000 temperature sensor", + "3375": "1/s", + "3376": "Configuration", + "3377": "Digital input group D1..D4", + "3378": "0000", + "3379": "1000", + "3380": "0100", + "3381": "1100", + "3382": "0010", + "3383": "1010", + "3384": "0110", + "3385": "1110", + "3386": "0001", + "3387": "1001", + "3388": "0101", + "3389": "1101", + "3390": "0011", + "3391": "1011", + "3392": "0111", + "3393": "1111", + "3394": "WPA-TKIP", + "3395": "WPA-AES", + "3396": "WPA2-TKIP", + "3397": "WPA2-AES", + "3398": "WPA2-MIXED", + "3399": "Wi-Fi-MAC address", + "3400": "Regulating power operating mode", + "3401": "Regulating power configuration", + "3402": "Config. of regulating power, const. assigned value", + "3403": "Config. of regulating power, plant control", + "3404": "Preferred power band", + "3405": "Upper reserved value", + "3406": "Lower reserved value", + "3407": "Upper reserved value", + "3408": "Lower reserved value", + "3409": "Active power reserve", + "3410": "Power reserve active", + "3411": "Required positive power reserve will be reserved", + "3412": "Required negative power reserve will be reserved", + "3413": "Maximum possible power reserve", + "3414": "Required power limit", + "3415": "Regulating power in W", + "3416": "Regulating power as a %", + "3417": "Regulating power through plant control", + "3418": "Upper power band", + "3419": "Lower power band", + "3420": "Hertz", + "3421": "Hertz as the difference from the nominal frequency", + "3422": "Regulating power in W", + "3423": "Regulating power as a % of maximum power", + "3424": "Secondary reserve value", + "3425": "Secondary reserve value", + "3426": "WPS is active", + "3427": "SPS AC overvoltage", + "3428": "PV power for SPS too low", + "3429": "Short circuit in the SPS power outlet", + "3430": "SPS mode not available", + "3431": "AC ground fault", + "3432": "Core1", + "3433": "Check inverter electronics and AC overvoltage protection", + "3434": "Electric arc detected in 2nd string group", + "3435": "Ser. el. arc in string |s0| detected by AFCI mod.", + "3436": "AFCI self-test for 2nd string group failed", + "3437": "Self-test el.arc dtct.f. 2nd string group: intf level too high", + "3438": "Self-test el.arc dtct.f. 2nd string group: signal level too low", + "3439": "Overcurrent input D (SW)", + "3440": "Overcurrent input E (SW)", + "3441": "Overcurrent input F (SW)", + "3442": "Overcurrent input D (HW)", + "3443": "Overcurrent input E (HW)", + "3444": "Overcurrent input F (HW)", + "3445": "Input D fault", + "3446": "Input E fault", + "3447": "Input F fault", + "3448": "Offset DC current sensor D", + "3449": "Offset DC current sensor E", + "3450": "Offset DC current sensor F", + "3451": "DC actuator string D fault", + "3452": "DC actuator string E fault", + "3453": "DC actuator string F fault", + "3454": "Overvoltage input D (SW)", + "3455": "Overvoltage input E (SW)", + "3456": "Overvoltage input F (SW)", + "3457": "Overvoltage boost converter D", + "3458": "Overvoltage boost converter E", + "3459": "Overvoltage boost converter F", + "3460": "Overvoltage boost converter A (SW)", + "3461": "Overvoltage boost converter B (SW)", + "3462": "Overvoltage boost converter C (SW)", + "3463": "Overvoltage boost converter D (SW)", + "3464": "Overvoltage boost converter E (SW)", + "3465": "Overvoltage boost converter F (SW)", + "3466": "Monitoring has failed, input D detected", + "3467": "Monitoring has failed, input E detected", + "3468": "Monitoring has failed, input F detected", + "3469": "Maximum achievable reactive power quadrant 1", + "3470": "Maximum achievable reactive power quadrant 2", + "3471": "Maximum achievable reactive power quadrant 3", + "3472": "Maximum achievable reactive power quadrant 4", + "3473": "Minimum achievable cos(phi) quadrant 1", + "3474": "Minimum achievable cos(phi) quadrant 2", + "3475": "Minimum achievable cos(phi) quadrant 3", + "3476": "Minimum achievable cos(phi) quadrant 4", + "3477": "Currently permitted device power", + "3478": "Update WebUI", + "3479": "Update of WebUI not successful", + "3480": "AFCI robustness", + "3481": "Setpoint cos(phi) as per EEI", + "3482": "Lower minimum threshold as RMS value", + "3483": "Lower min.threshold as RMS value for tripping time", + "3484": "Upper maximum threshold as RMS value", + "3485": "Upper max.threshold as RMS value for tripping time", + "3486": "Signal value 1", + "3487": "Signal value 2", + "3488": "Y value 1", + "3489": "Y value 2", + "3490": "DC input has too low a current", + "3491": "DC input without input current", + "3492": "DC inputs are not configured", + "3493": "No communication with I/O module", + "3494": "Error evaluation of the device", + "3495": "Tolerance", + "3496": "Time until warning", + "3497": "EEI displacement power factor", + "3498": "Positive sequence voltage (calculated)", + "3499": "Supplied reactive power (calculated)", + "3500": "The resulting specified active power is |d0|% (specification based on \"|tn4|\").", + "3501": "Currently available active power", + "3502": "Irradiation sensor 0 to 20 mA", + "3503": "Irradiation sensor 0 to 10 V", + "3504": "Offset value of battery current outside of permitted range", + "3505": "Currently permitted number of parameterizations exceeded", + "3506": "Pure reactive power operation, QonDemand stopped", + "3507": "Antenna switching", + "3508": "Device is new", + "3509": "Tripping delay", + "3510": "Plugwise Stretch |s0| successfully connected w. Sunny Home Manager", + "3511": "PV voltage too high, insulation meas. aborted", + "3512": "S0 input", + "3513": "Characteristic curve 3", + "3514": "Stack cur. is permanently in limitation", + "3515": "Float controller is reporting a error", + "3516": "Conf. of char.curve mode, 3rd char.curve", + "3517": "Battery power as a % of maximum power", + "3518": "Bridged strings determined", + "3519": "No bridged strings determined", + "3520": "Voltage deviation", + "3521": "The FW is faulty", + "3522": "Update of the FW being performed", + "3523": "Device is performing a reset", + "3524": "Connect AC", + "3525": "Connect DC", + "3526": "Supply", + "3527": "Fault Ride Through", + "3528": "Device not supplying, all contactors closed", + "3529": "Reactive power supply", + "3530": "Shutdown of supplied power", + "3531": "Controlled operation", + "3532": "Operation as AC source", + "3533": "IO test active", + "3534": "Operation as DC source", + "3535": "Controlled operation with ext. ref. (AC grid)", + "3536": "Controlled operation with ext. ref. (AC grid) for grid monitoring", + "3537": "Commissioning without grid", + "3538": "Commissioning without grid in MPP mode", + "3539": "Alarm upon errors", + "3540": "All grid relays are open", + "3541": "All grid relays are closed", + "3542": "Total of inverter powers. Ref.: available nominal power of inverter", + "3543": "Config. of linear instantaneous power gradient with underfrequency", + "3544": "Linear instantaneous power gradient for over- and underfrequency", + "3545": "Source of ref. meas. for reactive/active power reduction", + "3546": "Phased reactive/act. power specification", + "3547": "Inverter", + "3548": "MC box", + "3549": "Functions for grid/offgrid operation", + "3550": "Functions for grid operation", + "3551": "Functions for offgrid operation", + "3552": "Derating due to AC current limitation", + "3553": "Derating due to max. apparent power", + "3554": "Reactive power priority", + "3555": "Derating due to reserve for a guaranteed reactive power", + "3556": "High DC voltage", + "3557": "Derating due to too high switching currents with Optiprotect", + "3558": "Grid overvoltage very fast", + "3559": "Grid undervoltage very fast", + "3560": "Minimum setpoint for intermediate circuit voltage", + "3561": "Internal PV power limitation as %", + "3562": "PV power limitation via communication as %", + "3563": "PV power limitation via communication for direct marketing as %", + "3564": "Minimum PV power limitation as %", + "3565": "VAr as percentage of available reactive power", + "3566": "Device error insulation monitoring", + "3567": "Insulation monitoring device must be replaced", + "3568": "Hardware driver for GFDI defective", + "3569": "Primary current", + "3570": "Secondary current", + "3571": "Message interval", "3572": "EEBus", - "3573": "PwrCirOvVolInopVolNom", - "3574": "PwrCirOvVolInopTms", - "3575": "TotkWhSet", - "3576": "TotWh", - "3577": "OpSelfCsmpDm", - "3578": "OpTrtCha", - "3579": "OpExtTrt", - "3580": "OpHzCtrl", - "3581": "ConnSpdNone", - "3582": "DpxModNone", - "3583": "SwRevSttNone", - "3584": "UpdSttNone", - "3585": "SelfTstDmdNone", - "3586": "ActlCapac", - "3587": "ChaSttAbs", - "3588": "FlbWSpt", - "3589": "ARtgMod", - "3590": "BatChaSttMax", - "3591": "GridWChaSpt", - "3592": "GridWDschSpt", - "3593": "EvtDcInRvA", - "3594": "EvtDcInRvB", - "3595": "EvtDcInRvC", - "3596": "EvtDcInRvD", - "3597": "EvtDcInRvE", - "3598": "EvtDcInRvF", - "3599": "AvailBatChrg", - "3600": "AvailBatDsch", - "3601": "EnvTmp", - "3602": "EnaStt", - "3603": "ThmPwrDmd", - "3604": "DCBusVtg", - "3605": "DCBusW", - "3606": "LDSupVtg", - "3607": "ThmMgtSupVtg", - "3608": "TmSynFail", - "3609": "EvtUpdBMSNokExt", + "3573": "PWM inverse voltage at overvoltage", + "3574": "PWM inversion delay at overvoltage", + "3575": "Total yield S0 energy counter", + "3576": "S0 counter status total yield:", + "3577": "Normal operation (self-consumption increase)", + "3578": "Special operation (charge retention)", + "3579": "Special operation (external setpoint)", + "3580": "Special operation (frequency derating)", + "3581": "No connection speed set", + "3582": "No duplex mode set", + "3583": "No software test set", + "3584": "No update status set", + "3585": "No self-test set", + "3588": "Fallback value of the active power setpoint specification", + "3589": "Nominal current control", + "3590": "Upper battery charge limit", + "3591": "Setpoint for battery charge", + "3592": "Setpoint for battery discharge", + "3593": "Reverse currents or substring A polarity reversed", + "3594": "Reverse currents or substring B polarity reversed", + "3595": "Reverse currents or substring C polarity reversed", + "3596": "Reverse currents or substring D polarity reversed", + "3597": "Reverse currents or substring E polarity reversed", + "3598": "Reverse currents or substring F polarity reversed", + "3599": "Available charging power", + "3600": "Available discharging power", + "3601": "Ambient temperature", + "3602": "Status Enable Signal", + "3603": "Climate management supply required", + "3604": "DC-bus voltage", + "3605": "DC-bus power", + "3606": "Logic supply voltage", + "3607": "Climate management supply voltage", + "3608": "Time synchronization failed", + "3609": "Battery management system update unsuccessful(|d0|)", "3610": "RS485", - "3611": "CntDevAqc", - "3612": "AqcTms", - "3613": "DevCnt", - "3614": "StrDevAqc", - "3615": "InitCom", - "3616": "CtrlTst", - "3617": "CtrlStk", - "3618": "StkTst", - "3619": "ClrVdcLnk", - "3620": "OpSttDSP", - "3621": "VArDmdVArMax", - "3622": "ChGrp", - "3623": "ChStrgNum", - "3624": "SnsLvl", - "3625": "WPrc", - "3626": "SymMod", - "3627": "SymModCfg", - "3628": "SymFeedIn", - "3629": "USymFeedIn", - "3630": "AtcVolSym", - "3631": "Arr", - "3632": "PwrCir", - "3633": "VArPrc", - "3634": "OptKpAlvTms", - "3635": "VArModPwrIn", - "3636": "BatVTyp", - "3637": "AcVHzTyp", - "3638": "Clt", - "3639": "CltMod", - "3640": "SysFncSel", - "3641": "EzaTyp", - "3642": "QCG", + "3611": "Number of detected devices", + "3612": "RS485 device detect timeout", + "3613": "Number of RS485 devices to detect", + "3614": "Start device detect", + "3615": "Internal communication starting", + "3616": "Control test status", + "3617": "Stack control", + "3618": "Stack test", + "3619": "DC connection open", + "3620": "DSP operating state", + "3621": "Current reactive power limit at overriding required reactive power", + "3622": "Comparison group", + "3623": "Group string number", + "3624": "Sensor sensitivity", + "3625": "Active power setpoint in percent", + "3626": "Symmetry mode", + "3627": "Symmetry mode configuration", + "3628": "Symmetric feeding", + "3629": "Asymmetric feeding", + "3630": "Autonom. voltage symmetry mode", + "3631": "Array", + "3632": "Power unit", + "3633": "Reactive power value setpoint in percent", + "3634": "Send interval for SIP OPTIONS keepalive messages", + "3635": "Reactive power mode at power input", + "3637": "Nominal voltage and frequency", + "3638": "Cluster", + "3639": "Cluster type in multi-cluster", + "3640": "Operation mode", + "3641": "Design of the generation plant", "3643": "44V", "3644": "46V", "3645": "48V", "3646": "120V_60Hz", "3647": "230V_50Hz", "3648": "220V_60Hz", - "3649": "1Phs", - "3650": "3Phs", - "3651": "2Phs", - "3652": "SingleClt", - "3653": "MainClt", - "3654": "ExtnClt", - "3655": "SelfConsOnly", - "3656": "BackupOnly", - "3657": "SelfConsBackup", - "3658": "Sym", - "3659": "Asym", - "3660": "NewSys", - "3661": "NewBat", - "3662": "Addr", - "3663": "MltClt", - "3664": "EmgCha", - "3665": "ConnSpd1200", - "3666": "ConnSpd19200", - "3667": "EvtComDetStop", - "3668": "EvtComDetDev", - "3669": "EvtComDetFltMax", - "3670": "EvtComDetFltSpd", - "3671": "EvtComFltSpd", - "3672": "EvtInvChnNam", - "3673": "EvtInvRng", - "3674": "EvtSysRstr", - "3675": "WMaxInNomPrc", - "3676": "WMaxIn", - "3677": "FlbWMaxInNom", - "3678": "YRefWInNom", - "3679": "EvtBatNotCfg", - "3680": "WMaxAct", - "3681": "NoGrp", - "3682": "Grp1", - "3683": "Grp2", - "3684": "Grp3", - "3685": "WGraPrc", - "3686": "QCGStr", - "3687": "SymPlntSet", - "3688": "AsymPlntSet", - "3689": "EvtBatSysEvt", - "3690": "EvtBatSysEvtExt", - "3691": "EvtBMSChk", - "3693": "EvtAuxComFlt", - "3694": "EvtSoCHys", - "3695": "Evt485DetStr", - "3696": "EvtRamDSP", - "3697": "EvtRomDSP", - "3698": "EvtCpuSlfTstDSP", - "3699": "QCGStt", - "3700": "ASTType", + "3649": "Single phase", + "3650": "Three-phase", + "3651": "Split phase", + "3652": "Single-cluster", + "3653": "Main-cluster", + "3654": "Extension cluster", + "3655": "Self-consumption only", + "3656": "Backup only", + "3657": "Self-consumption and backup", + "3658": "Symmetric", + "3659": "Asymmetric", + "3660": "New system", + "3661": "New battery", + "3662": "Address", + "3663": "Multi-cluster", + "3664": "Emergency charge mode", + "3665": "1200 bit/s", + "3666": "19200 bit/s", + "3667": "Detect completed. |d0| devices found", + "3668": "Device found: |tn0| SN: |u4|", + "3669": "Maximum number of RS485-bus devices exceeded", + "3670": "Devices with different baud rates detected", + "3671": "Device with wrong baud rate: |tn0| SN: |u4|", + "3672": "D1D2 mapping error unknown channel name |tn0|", + "3673": "D1D2 mapping error invalid range |tn0|", + "3674": "Restart triggered", + "3675": "maximum active power draw in %", + "3676": "Nominal active power WMaxIn", + "3677": "Fallback of power draw control", + "3678": "Max. power draw in % based on Pmax", + "3679": "Battery not configured", + "3680": "Derating of the PV inverter to the grid connection point", + "3681": "no group", + "3682": "Group 1", + "3683": "Group 2", + "3684": "Group 3", + "3685": "Active power gradient", + "3686": "QCG Start", + "3687": "Symmetric plant design", + "3688": "Asymmetric plant design", + "3689": "Battery reports event", + "3690": "Battery |cC| reports event: 0x|x5||x4|, 0x|x7||x6|, 0x|x9||x8|, 0x|xB||xA|", + "3691": "Check BMS", + "3693": "Timeout monitoring external control has tripped", + "3694": "SOC limit set too narrow to take hysteresis into account", + "3695": "RS485 detection started", + "3696": "DSP RAM defective", + "3697": "DSP code memory defective", + "3698": "CPU self-test DSP", + "3700": "AST type", "3701": "SIAST50-24", "3702": "SIAST50-48", "3703": "SIASTU-48", @@ -3656,908 +3532,1736 @@ "3705": "SIASTBU-48S", "3706": "SIAST50-48-12", "3707": "SIAST50-48S-12", - "3708": "EvtOvTmpAcBus", - "3709": "DscOvTmpAcBus", - "3710": "EvtBfpErr", - "3711": "DscBfpErr", - "3712": "EvtComInv2Inv", - "3713": "DscComInv2Inv", - "3714": "EvtTmOutGriMgtOn", - "3715": "EvtTmOutGriMgtOff", - "3716": "ClbMod", - "3717": "EvtBatOpTmOut", - "3718": "DscBMSChk", - "3719": "EvtBatSysWrnExt", - "3720": "LocCrdLong", - "3721": "LocCrdLat", - "3722": "RefTmMax", - "3723": "TrkDifMin", - "3724": "TolElev", - "3725": "SensBckX", - "3726": "SensBckY", - "3727": "ElevLim", - "3728": "TypSel", - "3729": "LastOvRide", - "3730": "AziMotAMax", - "3731": "ElevMotAMax", - "3732": "ElevAActl", - "3733": "AziAActl", - "3734": "AziActl", - "3735": "ElevActl", - "3736": "TrtAzi", - "3737": "TrtElev", - "3738": "EndPosX", - "3739": "SupV", - "3740": "OvRideCnt", - "3741": "OvDrv", - "3742": "EvtTmpErr", - "3743": "EvtPmtErr", - "3744": "MotTst", - "3745": "Ref", - "3746": "WtTm", - "3747": "SafStt", - "3748": "Trk", - "3749": "RetEast", - "3750": "NightMod", - "3751": "RemOp", - "3752": "BltMod", - "3753": "Rf30s", - "3754": "StpActCmd", - "3755": "UpEast", + "3708": "Overtemperature AC Busbar", + "3709": "Attach AC Busbar correctly", + "3710": "Error in Backfeed power", + "3711": "Check HW backfeed power", + "3712": "Timeout in communication between inverters", + "3713": "Check inverter communication parameters", + "3714": "Timeout in comm. for grid mgmt. spec., device continues to run", + "3715": "Timeout in comm. for grid mgmt. spec., device switching off", + "3717": "Timeout for battery status change", + "3718": "Check Battery Management System", + "3719": "The battery management system has reported a warning", + "3720": "Location longitude", + "3721": "Location latitude", + "3722": "Time since last reference run", + "3723": "Minimum deviation before tracking start", + "3724": "Minimum elevation deviation before tracking start", + "3725": "No. of steps when leaving azimuth end position", + "3726": "No. of steps when leaving elevation end position", + "3727": "Maximum tilt angle", + "3728": "Select type", + "3729": "Last external override", + "3730": "Maximum azimuth motor current", + "3731": "Maximum elevation motor current", + "3732": "Actual elevation motor current", + "3733": "Actual azimuth motor current", + "3734": "Current azimuth", + "3735": "Current elevation", + "3736": "Target azimuth", + "3737": "Target elevation", + "3738": "Azimut end position", + "3739": "Voltage supply", + "3740": "Number of external overrides", + "3741": "Overdrive", + "3742": "Temperature error", + "3743": "Permanent error", + "3744": "Motor test", + "3745": "Reference run", + "3746": "Wait time", + "3747": "Safe status", + "3748": "Tracking", + "3749": "Back to east position", + "3750": "Night mode", + "3751": "Remote operation", + "3752": "Boot mode", + "3753": "Refresh after 30 s", + "3754": "Stop current command", + "3755": "Up and east", "3756": "Up", - "3757": "Dn", + "3757": "Down", "3758": "East", "3759": "West", - "3760": "OvDrvUp", - "3761": "OvDrvDn", - "3762": "West90", + "3760": "Remote operation up", + "3761": "Remote operation down", + "3762": "West 90°", "3763": "South", - "3764": "East90", - "3765": "Elev35", - "3766": "ForcErr", - "3767": "AcknRem", - "3768": "RefSouth", - "3769": "RefAstro", - "3770": "RPCBsy", - "3771": "RPCMax", - "3772": "EvtFuErr", - "3773": "EvtRlyErr", - "3774": "EvtInvalXDir", - "3775": "EvtInvalYDir", - "3776": "EvtTmOut", - "3777": "EvtPlsCntErr", - "3778": "EvtXRngErr", - "3779": "EvtSnsPosErr", - "3780": "EvtRefCntErr", - "3781": "EvtRPCHltErr", - "3782": "EvtIMaxErr", - "3783": "EvtIStopErr", - "3784": "EvtInvalXRef", - "3785": "EvtInvalYRef", - "3786": "EvtXMovErr", - "3787": "EvtYMovErr", - "3788": "EvtTstErr", - "3789": "EvtYRngErr", - "3790": "EvtXDlErr", - "3791": "EvtYDlErr", - "3792": "EvtSupV", - "3793": "EvtSwBat", - "3794": "EvtSCBatSys", - "3795": "EvtThmMgtBatSys", - "3796": "EvtHtBatSys", - "3797": "EvtDrtBatSys", - "3798": "EvtBatSysOff", - "3799": "EvtBalBatSys", - "3800": "EvtSOCCalBatSys", - "3801": "EvtThmMgtBatSysOn", - "3802": "Detl", - "3803": "HtMod", - "3804": "GriHtMod", - "3805": "AcDschAMax", - "3806": "SerNumDev1", - "3807": "SerNumDev2", - "3808": "PhsDev1", - "3809": "PhsDev2", - "3810": "EvtVerFlt", - "3811": "PkgUpdAval", - "3812": "EvtFanMVTrf", - "3813": "LastTmSyn", - "3814": "DevNum", - "3815": "DevPwd", - "3816": "RefErrMax", - "3817": "RemStep", - "3818": "ElevOfs", - "3819": "UpdNotAval", - "3820": "SoftAcsConnStt", - "3821": "Mod300mA", - "3822": "DrpCtlStt", - "3823": "PPO", - "3824": "EvtAcVMaxPpV2phs", - "3825": "EvtAcVMinPpV2phs", - "3826": "EvtAcVRPro2phs", - "3827": "EvtExtOffAidphs", - "3828": "EvtAcHzMin2phs", - "3829": "EvtAcHzMax2phs", - "3830": "EvtPhSeqFltphs", - "3831": "EvtExtOffBatVphs", - "3832": "EvtExtOffPhsphs", - "3833": "EvtExtOffSCphs", - "3834": "EvtExtOffVHzphs", - "3835": "EvtFeedCurExcphs", - "3836": "EvtDevOvVphs", - "3837": "EvtDevOvHzphs", - "3838": "EvtDevUnHzphs", - "3839": "EvtDevUnVphs", - "3840": "EvtGriVDetphs", - "3841": "EvtBoxCurVMsphs", - "3842": "EvtCurLimphs", - "3843": "EvtTrsSwFltphs", - "3844": "EvtExtOffLimDev", - "3845": "EvtTmOutDspDev", - "3846": "EvtRsDspDetDev", - "3847": "EvtAutoStrCntDev", - "3848": "EvtAidMonFltDev", - "3849": "EvtDevVFltDev", - "3850": "EvtOvTmpWCir3Dev", - "3851": "EvtOvTmpTrf2Dev", - "3852": "EvtCurTrsSwDev", - "3853": "EvtOvW5Dev", - "3854": "EvtOvW30Dev", - "3855": "EvtOvW1Dev", - "3856": "EvtComCan2Dev", - "3857": "EvtTxMssDev", - "3858": "EvtComSPIDev", - "3859": "EvtSynCanMssDev", - "3860": "EvtCltVMssDev", - "3861": "EvtDevBatOvVDev", - "3862": "EvtDevUnVBatDev", - "3863": "BatChrgSetA", - "3864": "BatDschSetA", - "3866": "SiChaPvPwr", - "3867": "SocFrqDstr", - "3868": "ACtl", - "3869": "EvtWdCnt2Slv", - "3870": "EvtOvVPvCha", - "3871": "EvtVPvCha", - "3872": "EvtOvTmpPvCha", - "3873": "EvtTmpSnsPvCha", - "3874": "EvtComDcChaNok", - "3875": "EvtPvChaDet", - "3876": "EvtBatConnPvCha", - "3877": "EvtBatOvVPvCha", - "3878": "EvtBoxSwFlt", - "3879": "EvtDcAmpMaxIn", - "3880": "EvtBoxVFltSup", - "3881": "EvtTmpSnsWCir3", - "3882": "EvtTmpSnsTrf2", - "3883": "EvtComMtrCBox", - "3884": "EvtCBoxProt", - "3885": "EvtNSwFlt", - "3886": "EvtTmpDrt2", - "3887": "EvtBatProMod", - "3888": "EvtSwItfMsg", - "3889": "Allg", - "3890": "BatOvVol", - "3891": "BatUnVol", - "3892": "BatOvTmp", - "3893": "BatUnTmp", - "3894": "BatOvTmpChrg", - "3895": "BatUnTmpChrg", - "3896": "BatOvA", - "3897": "BatUnA", - "3898": "Sw", - "3899": "SC", - "3900": "BMSIntl", - "3901": "CellImBal", - "3902": "Rsv", - "3903": "PvCnt", - "3904": "GridCnt", - "3905": "EvtGriVSwOpnphs", - "3906": "SKI", - "3907": "EvtCstMsgOutOfMem", - "3908": "EvtStopLogInvalidTm", - "3909": "EvtStrLogValidTm", - "3910": "RdtBckModDscon", - "3911": "ExARtg", - "3912": "CmpBUC", - "3913": "CmpBIM", - "3914": "EvtDigInStt", - "3915": "EvtBatUsDm", - "3916": "EvtSysConFlt", - "3917": "EvtExAExcAMax", - "3918": "EvtSCLod", - "3919": "EvtDataSetExtnCltFlt", - "3920": "EvtMainCltSwOnFlt", - "3921": "EvtBatDm", - "3922": "EvtExVVac2", - "3923": "AcDscon", - "3924": "WaitAcDscon", - "3925": "Unld", - "3926": "WaitUnld", - "3927": "InitECC", - "3928": "InitBCC", - "3929": "WaitVLoop", - "3930": "SicAll", - "3931": "BatVInit", - "3932": "EvtSwNOpn", - "3933": "EvtSwOpn", - "3934": "EvtExSwNCls", - "3935": "OpVEx", - "3936": "RproEna", - "3937": "VldTm", - "3938": "HzMin", - "3939": "HzMax", - "3940": "AcChaA", - "3941": "AcDschA", - "3942": "AziOfs", - "3943": "AziOfsOut", - "3944": "ElevOfsOut", - "3945": "MsAvCnt", - "3946": "El2Lim", - "3947": "El2StrDt", - "3948": "El2EndDt", - "3949": "Lim2Ang", - "3950": "Lim2StrDt", - "3951": "Lim2EndDt", - "3952": "FxEl", - "3953": "FxAng2", - "3954": "FxAzi", - "3955": "FxAng1", - "3956": "FxClrPos", - "3957": "HyTrackFactX", - "3958": "HyTrackFactY", - "3959": "HyTrackJmpWid", - "3960": "HyTrack_V1", - "3961": "HyTrack_V2", - "3962": "HyTrack_V3", - "3963": "HyTrack_V4", - "3964": "HyTrack_Xincl", - "3965": "HyTrack_Yincl", - "3966": "HyTrack_Rot", - "3967": "HyTrack_Temp", - "3968": "HyTrack", - "3969": "TrkTm", - "3970": "FailTm", - "3971": "NightAng", - "3972": "MotAActl1", - "3973": "MotAActl2", - "3974": "MotAMax1", - "3975": "MotAMax2", - "3976": "ActlAng1", - "3977": "ActlAng2", - "3978": "TgtAng1", - "3979": "TgtAng2", - "3980": "DrvEna", - "3981": "DrvAll", - "3982": "Drv1", - "3983": "Drv2", - "3984": "OcvPtCnt", - "3985": "SttMstr", - "3986": "ActChrgMod", - "3987": "RsCntDev", - "3988": "TrkErr", - "3990": "Pro", - "3991": "BatResSOC", - "3992": "BatProSOC", - "3993": "CntWrnOvV", - "3994": "CntErrOvV", - "3995": "CntWrnSOCLo", - "3996": "ConnSpd9600", - "3997": "ConnSpd115200", - "3998": "EvtChgGriHzFlt", - "3999": "ChaSttArr", - "4000": "ActlCapacNomArr", - "4001": "ActlCapacArr", - "4002": "ChaSttAbsArr", - "4003": "CapacRtgWhArr", - "4004": "CurBatChaArr", - "4005": "CurBatDschArr", - "4006": "BatChrgArr", - "4007": "BatDschArr", - "4008": "AbsBatChrgArr", - "4009": "AbsBatDschArr", - "4010": "ActBatDschArr", - "4011": "BatChrgSetArr", - "4012": "BatDschSetArr", - "4013": "ActBatChrgArr", - "4014": "ActlCapacNomOvArr", - "4015": "EvtBatDetIdx", - "4016": "EvtBatLifIdx", - "4017": "EvtBatConnIdx", - "4018": "EvtBatNotAuthIdx", - "4019": "EvtBatVolDifIdx", - "4020": "EvtBatSysDefIdx", - "4021": "EvtBatComFltIdx", - "4022": "EvtBatCelOvVolIdx", - "4023": "EvtBatCelUnVolIdx", - "4024": "EvtBatUnTmpIdx", - "4025": "EvtBatOvTmpIdx", - "4026": "EvtBatBalIdx", - "4027": "EvtBatHwIdx", - "4028": "EvtBatChaModIdx", - "4029": "EvtBatDschModIdx", - "4030": "EvtBatIstlNokIdx", - "4031": "EvtBatChaModOkIdx", - "4032": "EvtBatDschModOkIdx", - "4033": "EvtBatChaModNokIdx", - "4034": "EvtBatDchModNokIdx", - "4035": "EvtBatMinStrFailIdx", - "4036": "EvtSwBatIdx", - "4037": "EvtSCBatSysIdx", - "4038": "EvtThmMgtBatSysIdx", - "4039": "EvtUpdBIM", - "4040": "EvtUpdBIMErr", - "4041": "EvtUpdBUC", - "4042": "EvtUpdBUCErr", - "4043": "ExSwV", - "4044": "StrComTest", - "4045": "SttComTest", - "4046": "BatCurSnsTyp", - "4047": "BatCurGain50", - "4048": "BatCurGain60", - "4049": "SnsTyp50mV", - "4050": "SnsTyp60mV", - "4051": "ExVHiRes", - "4052": "TotWInPk", - "4053": "TotWOutPk", - "4054": "AISens", - "4055": "CurCtlMod", - "4056": "Ac2NSel", - "4057": "TN-Netz", - "4058": "TT-Netz", - "4059": "MsSrcSel", - "4060": "MsSrcMtrBox", - "4061": "TotLodW", - "4062": "TmCtlUpd", - "4063": "EvtSetParaNokStop", - "4064": "EvtSetParaNokQCG", - "4065": "PanLevCtl", - "4066": "PanLevCom", - "4067": "PanLevMdul", - "4068": "Lbl", - "4069": "MPPTrk", - "4070": "Char_A", - "4071": "Char_B", - "4072": "Char_C", - "4073": "Char_D", - "4074": "Char_E", - "4075": "Char_F", - "4076": "Char_G", - "4077": "Char_H", - "4078": "Char_I", - "4079": "Char_J", - "4080": "Char_K", - "4081": "Char_L", - "4082": "Char_M", - "4083": "Char_N", - "4084": "Char_O", - "4085": "Char_P", - "4086": "Char_Q", - "4087": "Char_R", - "4088": "Char_S", - "4089": "Char_T", - "4090": "Char_U", - "4091": "Char_V", - "4092": "Char_W", - "4093": "Char_X", - "4094": "Char_Y", - "4095": "Char_Z", - "4096": "FrqDrp", - "4097": "VtgDrp", - "4098": "[Hz/kW]", - "4099": "[V/kVAr]", - "4100": "EvtData1Err", - "4101": "EvtNumDevExc", - "4102": "DscRedDevCnt", - "4103": "EvtPosUnKnwn", - "4104": "EvtDsconUnSym", - "4105": "EvtSlfCsmpStop", - "4106": "HwRevStrg", - "4107": "DscSupVChk", - "4108": "EvtFuHeatFan", - "4109": "EvtOvLdChaCir", - "4110": "DscFuHeatFanChk", - "4111": "EvtOvDrv", - "4112": "EvtInvalRef1", - "4113": "EvtInvalRef2", - "4114": "EvtMovErr1", - "4115": "EvtMovErr2", - "4116": "BothEast", - "4117": "Angl2East", - "4118": "Angl2West", - "4119": "Angl1East", - "4120": "Angl1West", - "4121": "BothWest", - "4122": "BothTable", - "4123": "AnglTable", - "4124": "Ang2Table", - "4125": "RefTable", - "4126": "BothDrv", - "4127": "FstShtdownTigo", - "4128": "FstShtdownSma", - "4129": "HzHiRes", - "4130": "EvtBckOvVolHv2", - "4131": "EvtBckOvVolHv1", - "4132": "EvtBckInPwr", - "4133": "EvtBckSC", - "4134": "EvtBUCComFlt", - "4135": "EvtBIMComFlt", - "4136": "PanLevStrg", - "4137": "StrSOCClb", - "4138": "StopSOCClb", - "4139": "StrDrt", - "4140": "StopDrt", - "4141": "PrevBatStop", - "4142": "BatCurSns", - "4143": "EnMtrSerNumTxt", - "4144": "EnMtrTyp", - "4145": "StrSrch", - "4146": "AbrtSrch", - "4147": "RSSOpMode", - "4148": "MdulCnt", - "4149": "OptCnt", - "4150": "RSSFnc", - "4151": "CfgStt", - "4152": "MinTmm", - "4153": "VtgDif", - "4154": "TestGw", - "4155": "TIGO_CCASw", - "4156": "EvtSysFlt", - "4157": "GwCnt", - "4158": "EvtBiMetSw", - "4159": "EvtRlyFlt", - "4160": "EvtNPEMonBckMdul", - "4161": "EvtHwFltBckMdul", - "4162": "EvtTmpBckMdul", - "4163": "EvtSwTstBckMdul", - "4164": "EvtCfgFltBck", - "4165": "EvtStrtBatVLow", - "4166": "EvtHwFltBIM", - "4167": "EvtSupVBIM", - "4168": "EvtSupVOutBIM", - "4169": "EvtComFltBIM", - "4170": "EvtComMultiBIM", - "4171": "EvtTstModBIM", - "4172": "EvtAInCtlLim", - "4173": "EvtAInCtlFlt", - "4174": "EvtBckOp", - "4175": "EvtSocInptPwr", - "4176": "VMinBckStrt", - "4177": "SwStt", - "4178": "ComHealth", - "4179": "BckBoxOpMod", - "4180": "RdtSw", - "4181": "PhsCpl", - "4182": "NGnd", - "4183": "HiChaSttDrtInv", - "4184": "SwAcknTmms", - "4185": "SwOnVMin", - "4186": "SwOnVminTmms", - "4187": "VRmpTmms", - "4188": "RstBatCfg", - "4189": "DCInCfg", - "4190": "CanTstMod", - "4191": "Eps", - "4192": "EvtMltCltFWDif", - "4193": "DscEqFW", - "4194": "EvtFstShtdown", - "4195": "Det", - "4196": "NotDet", - "4197": "EvtUpdTGIB", - "4198": "EvtUpdTGIBErr", - "4199": "EvtComPvModGw", - "4200": "EvtComPvLevMod", - "4201": "EvtSDTyp", - "4202": "DscSDUpdUs", - "4203": "EvtUSymLast", - "4204": "OptFnd", - "4205": "GwFnd", - "4206": "DtSel", - "4207": "TOU", - "4208": "PLS", - "4209": "TOURng", - "4210": "PLSRng", - "4211": "ChrgW", - "4212": "DschW", - "4213": "EnMtrARtg", - "4214": "EvtAInClsNok", - "4215": "[W/Wp]", - "4216": "EvtOvCurDet", - "4217": "MsSrcAnIn4", - "4218": "MsSrcAnIn5", - "4219": "MsSrcAnIn6", - "4220": "AnOut1", - "4221": "AnOut2", - "4222": "AnOut3", - "4223": "AnOut4", - "4224": "AnOut5", - "4225": "AnOut6", - "4226": "OffSngStrgCnf", - "4227": "[d]", - "4228": "EvtBckVFreSw", - "4229": "VFreMonEna", - "4230": "RS485Mod", - "4231": "MbRTU", - "4232": "SMAData", - "4233": "PVMdulCtl", - "4234": "AcVolSpt", - "4235": "Ri", - "4236": "OCV", - "4237": "AcCfg", - "4238": "HzSpt", - "4239": "LeakAMax", - "4240": "LeakRisAMax", - "4241": "CelMdm", - "4242": "IMEI", - "4243": "ICCID", - "4244": "SimCard", - "4245": "MNP", + "3764": "East 90°", + "3765": "Tilt 35°", + "3766": "Initiate error", + "3767": "Leave remote operation", + "3768": "Reference south", + "3769": "Reference Astro", + "3770": "RPC busy", + "3771": "RPC maximum", + "3772": "Error fuse failed", + "3773": "Error relay", + "3774": "Error invalid X direction", + "3775": "Error invalid Y direction", + "3776": "Error timeout", + "3777": "Error pulse count", + "3778": "Error X range", + "3779": "Error sensor position", + "3780": "Error reference counter", + "3781": "Error RPC halt", + "3782": "Error maximum current exceeded", + "3783": "Error stop current too high", + "3784": "Error invalid X reference", + "3785": "Error invalid Y reference", + "3786": "Error when moving in X direction", + "3787": "Error when moving in Y direction", + "3788": "Error during test", + "3789": "Error Y range", + "3790": "Error delay in X direction", + "3791": "Error delay in Y direction", + "3792": "Error voltage supply", + "3793": "Incorrect switch position for the battery disconnection point", + "3794": "Battery system short circuit", + "3795": "Battery system thermal management defective", + "3796": "Battery system |cC| heating procedure unsuccessful", + "3797": "Battery system derating", + "3798": "Battery system disconnected", + "3799": "Battery system balancing procedure", + "3800": "Battery system SOC calibration procedure", + "3801": "Battery system themal management activated", + "3802": "Details", + "3803": "Heating mode", + "3804": "Grid drawing during heating OK", + "3805": "Max AC battery discharge current", + "3806": "Serial No. device 1", + "3807": "Serial No. device 2", + "3808": "Phase assignment device 1", + "3809": "Phase assignment device 2", + "3810": "Version test failed", + "3811": "Software package update version available", + "3812": "Fan fault MV transformer", + "3813": "Last time synchronization", + "3814": "Device number", + "3815": "Device password", + "3816": "Maximum number of reference run errors", + "3817": "Traverse angle for remote operation", + "3818": "Elevation correction angle", + "3819": "No new update available", + "3820": "Soft Access Point status", + "3821": "300 mA", + "3823": "Power profile", + "3824": "Ext grid disconnect due to overvoltage at phase |s0|", + "3825": "Ext grid disconnect due to undervoltage at phase |s0|", + "3826": "Voltage increase protection phase |s0|", + "3827": "Ext grid disconnect due to undesired island grid at phase |s0|", + "3828": "External grid disconnect due to low frequency at phase |s0|", + "3829": "External grid disconnect due to high frequency at phase |s0|", + "3830": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase |s0|", + "3831": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase |s0|", + "3832": "Ext grid disconnect due to phase failure or overload at phase |s0|", + "3833": "Ext grid disconnect due to external short circuit at phase |s0|", + "3834": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase |s0|", + "3835": "Feed-in current larger than set max. value at phase |s0|", + "3836": "Inverter overvoltage phase |s0|", + "3837": "Inverter overfrequency phase |s0|", + "3838": "Inverter underfrequency phase |s0|", + "3839": "Inverter undervoltage phase |s0|", + "3840": "Voltage at AC connection phase |s0|", + "3841": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase |s0|", + "3842": "AC current limiting phase |s0|", + "3843": "Transfer relay does not open at phase |s0|", + "3844": "Ext source disconnect due to violation of any limits in device at |s0| (redundant measurement)", + "3845": "Timeout of signal processor in device to |s0|", + "3846": "Reset signal processor in device detected at |s0|", + "3847": "Autostart counter expired in device at |s0| (multiple cons. autostart)", + "3848": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at |s0|", + "3849": "Processor voltage in device at |s0| faulty", + "3850": "Overtemp. at device power element at |s0|", + "3851": "Overtemp. at device transformer at |s0|", + "3852": "Excess current at device transfer relay at |s0|", + "3853": "Device at |s0| was loaded above its 5min capacity", + "3854": "Device at |s0| was loaded above its 30min capacity", + "3855": "Device at |s0| was loaded above its short-time capacity", + "3856": "Device int. interprocessor comm. missing in device at |s0|", + "3857": "No message from device at |s0|", + "3858": "No message from cluster master in device at |s0|", + "3859": "Device int. sync impulse missing in device at |s0|", + "3860": "Device at |s0| does not detect output voltage of master cluster", + "3861": "Meas. range violation battery voltage in device at |s0|", + "3862": "Meas. range violation battery voltage in device at |s0|", + "3863": "Process specification battery charge current", + "3864": "Process specification battery discharge current", + "3865": "Modbus RTU", + "3866": "Power of the SI charger |s0|", + "3867": "Frequency distribution of the state of charge", + "3868": "Current monitoring", + "3869": "Watchdog counter Slave |s0| expired (multiple cons. watchdog tripping)", + "3870": "Overvoltage PV generator Solar Charger |s0|", + "3871": "No PV voltage or short circuit Solar Charger |s0|", + "3872": "Device overtemp Solar Charger |s0|", + "3873": "Sensor error (or undertemp) for DC charger temperature Solar Charger |s0|", + "3874": "No communication to DC charger for more than 24h Solar Charger |s0|", + "3875": "Solar charger |s0| is detected", + "3876": "Rev pol. batt. connection or short circuit Solar Charger |s0|", + "3877": "Battery overvoltage Solar Charger |s0|", + "3878": "Fault |s0| contactor", + "3879": "Overcurrent input |s0| (SW)", + "3880": "Fault in |s0| supply of MCBUBox", + "3881": "Short circuit or cable break temp. sensor of power element |s0|", + "3882": "Short circuit or cable break temp. sensor of transformer |s0|", + "3883": "Communication with |tn0| faulty", + "3884": "Unsupported protocol detected at eHZ |s0|", + "3885": "N-cond. relay does not open at |s0|", + "3886": "Derating due to temp. |s0|", + "3887": "Battery protection mode |s0|", + "3888": "Message from process interface: |tn0|", + "3889": "General", + "3890": "Battery overvoltage", + "3891": "Battery undervoltage", + "3892": "Battery overtemperature", + "3893": "Battery undertemperature", + "3894": "Battery overtemp. charge", + "3895": "Battery undertemp. charge", + "3896": "Battery overcurrent", + "3897": "Battery overcurrent charge", + "3898": "Contactor", + "3899": "Short circuit", + "3900": "BMS internal", + "3901": "Cell imbalance", + "3902": "Reserved", + "3903": "PV meter", + "3904": "Grid power meter", + "3905": "With open section switch, AC voltage is applied at phase |s0|", + "3906": "Subject Key Identifier", + "3907": "Some messages need to be deleted prior to expiry of retention period to free up memory", + "3908": "Data logging stopped due to invalid system time.", + "3909": "Data logging started. The system time is valid.", + "3910": "Redundant grid disconnection control", + "3912": "Backup controller", + "3913": "Battery Interface Module", + "3914": "Digital input at |tn0| has changed its status to |tn4|", + "3915": "Battery utilization range |tn0| reached", + "3916": "The system could not be switched to |tn0| after 3 attempts", + "3917": "The external current at phase |s0| is greater than the max. permissible current", + "3918": "Due to a short circuit on the load side, the supply voltage of |s0| has collapsed and con no longer be maintained", + "3919": "Extension cluster has a country data set configured that is different to that of the main cluster", + "3920": "Main cluster phase |s0| too many unsuccessful attempts to switch to the grid/generator", + "3921": "Battery |tn0| range reached", + "3922": "Voltage at “VAcExt” does not correspond with voltage at “VAc2” (phasing or amplitude)", + "3923": "Grid disconnection", + "3924": "Waiting for grid disconnection", + "3925": "Unload", + "3926": "Waiting for unload", + "3927": "Initialize ECC controller", + "3928": "Initialize BCC controller", + "3929": "Waiting for VLoop", + "3930": "All Sunny Island chargers", + "3931": "Battery voltage initialization", + "3932": "Contactor |s0| not open", + "3933": "Contactor |s0| open", + "3934": "External contactor not closing", + "3935": "VLoop at external source", + "3936": "Enable voltage increase protection", + "3937": "Waiting time until connection", + "3938": "Lowest measured frequency", + "3939": "Highest measured frequency", + "3940": "Charge current limitation", + "3941": "Discharge current limitation", + "3942": "Azimuth correction angle", + "3943": "Azimuth correction angle", + "3944": "Elevation correction angle", + "3945": "ADC average value formation in 0.1 s", + "3946": "Angle of elevation limitation 2", + "3947": "Start of elevation limitation 2", + "3948": "End of elevation limitation 2", + "3949": "Angle of date-dependent rotation limitation", + "3950": "Start of date-dependent rotation limitation", + "3951": "End of date-dependent rotation limitation", + "3952": "Fixed elevation angle", + "3953": "Fixed rotation angle drive 2", + "3954": "Fixed azimuth angle", + "3955": "Fixed rotation angle drive 1", + "3956": "Activation of fixed angle", + "3957": "HyTrack azimuth sensitivity", + "3958": "HyTrack elevation sensitivity", + "3959": "Jump width for HyTrack adjustment", + "3960": "Voltage of HyTrack Q1", + "3961": "Voltage of HyTrack Q2", + "3962": "Voltage of HyTrack Q3", + "3963": "Voltage of HyTrack Q4", + "3964": "X-angle of HyTrack", + "3965": "Y-angle of HyTrack", + "3966": "Rotation of HyTrack", + "3967": "Temperature of HyTrack", + "3968": "Set HyTrack operating mode", + "3969": "Total adjustment time", + "3970": "Total error time", + "3971": "Angle of night position", + "3972": "Current motor current drive 1", + "3973": "Current motor current drive 2", + "3974": "Maximum motor current drive 1", + "3975": "Maximum motor current drive 2", + "3976": "Current angle drive 1", + "3977": "Current angle drive 2", + "3978": "Target angle drive 1", + "3979": "Target angle drive 2", + "3980": "Drives activated", + "3981": "All drives", + "3982": "Drive 1 activated", + "3983": "Drive 2 activated", + "3984": "Open-circuit voltage point counter", + "3985": "Status of master", + "3986": "Active charging process", + "3987": "Number of Resets", + "3988": "Error", + "3990": "Protection", + "3991": "Battery reserve range", + "3992": "Battery protection range", + "3993": "Counter warning battery voltage high", + "3994": "Counter error battery overvoltage", + "3995": "Counter warning battery state of charge low", + "3996": "9600 bit/s", + "3997": "115200 bit/s", + "3998": "Impermissible grid frequency change or grid synchronization not possible", + "3999": "State of charge", + "4000": "Current capacity", + "4003": "Rated capacity", + "4004": "Present battery charge", + "4005": "Present battery discharge", + "4006": "Battery charge", + "4007": "Battery discharge", + "4008": "Absolute battery charge", + "4009": "Absolute battery discharge", + "4010": "Discharge of current battery", + "4011": "Set battery charge", + "4012": "Set battery discharge", + "4013": "Charge of current battery", + "4014": "Current capacity (Dvlp)", + "4015": "New battery |cC| identified", + "4016": "Battery |cC| service life expiry", + "4017": "Battery connection |cC|", + "4018": "Unauthorized battery system |cC|", + "4019": "Battery voltage deviation |cC|", + "4020": "Battery system |cC| defect", + "4021": "Battery system |cC| communication fault", + "4022": "Battery cell |cC| overvoltage fault", + "4023": "Battery cell |cC| undervoltage fault", + "4024": "Battery |cC| low temperature fault", + "4025": "Battery |cC| high temperature fault", + "4026": "Battery |cC| imbalancing fault", + "4027": "Internal battery hardware |cC| fault", + "4028": "Battery |cC| test: charge", + "4029": "Battery |cC| test: discharge", + "4030": "Start conditions battery |cC| test not fulfilled", + "4031": "Battery |cC| test: Charge successful", + "4032": "Battery |cC| test: Discharge successful", + "4033": "Battery |cC| test: charge failed", + "4034": "Battery |cC| test: discharge failed", + "4035": "Battery charge|cC| too low for start procedure", + "4036": "Incorrect switch position for the battery |cC| disconnection point", + "4037": "Battery system|cC| short circuit", + "4038": "Battery system|cC| thermal management activated", + "4039": "Update BIM", + "4040": "Update BIM failed", + "4041": "Update BUC", + "4042": "Update BUC failed", + "4043": "Relay monitoring voltage", + "4044": "Activation of communication test", + "4045": "Status of communication test", + "4046": "Current sensor type (60mV 50mV)", + "4047": "Current sensor gain", + "4048": "Current sensor gain", + "4049": "50 mV/A", + "4050": "60 mV/A", + "4051": "Current at AC2 with high resolution", + "4052": "Highest measured drawn power", + "4053": "Highest measured feed-in power", + "4054": "Anti-islanding sensitivity", + "4055": "Current control mode", + "4056": "Grounding type", + "4057": "TN grid", + "4058": "TT grid", + "4059": "Selection of mains exchange capacity measurement method", + "4060": "Meter Box", + "4061": "Total current load active power", + "4062": "Time-controlled", + "4063": "Setting of parameter |ln04| failed. Device must be stopped first", + "4064": "Setting of parameter |ln04| failed. Installation assistant must be started", + "4065": "PV module control", + "4066": "PV module gateway", + "4067": "PV module electronics", + "4068": "Label", + "4069": "MPP tracker assignment", + "4070": "A", + "4071": "B", + "4072": "C", + "4073": "D", + "4074": "E", + "4075": "F", + "4076": "G", + "4077": "H", + "4078": "I", + "4079": "J", + "4080": "K", + "4081": "L", + "4082": "M", + "4083": "N", + "4084": "O", + "4085": "P", + "4086": "Q", + "4087": "R", + "4088": "S", + "4089": "T", + "4090": "U", + "4091": "V", + "4092": "W", + "4093": "X", + "4094": "Y", + "4095": "Z", + "4096": "Frequency droop P(f)", + "4097": "Voltage droop Q (U)", + "4098": "Hz/kW", + "4099": "V/kVAr", + "4100": "Data1 device reports error: |s0|", + "4101": "Communication bandwidth on RS485 not sufficient to query all connected devices within 5 minutes.", + "4102": "Reduce number of devices, check communication", + "4103": "The current position is not known", + "4104": "Disconnection from grid/generator due to asymmetry between phases", + "4105": "Inverter switches to energy saving mode because battery range reached", + "4106": "Hardware version", + "4107": "Check voltage supply", + "4108": "Circuit breaker for heating and interior fan triggered", + "4109": "Precharging overload protection triggered", + "4110": "Check fuse for heating and interior fan", + "4111": "Overdrive active", + "4112": "Invalid azimuth referencing", + "4113": "Invalid elevation referencing", + "4114": "No azimuth movement", + "4115": "No elevation movement", + "4116": "Move both drives to the east", + "4117": "Drive 2 to the east", + "4118": "Drive 2 to the west", + "4119": "Drive 1 to the east", + "4120": "Drive 1 to the west", + "4121": "Move both drives to the west", + "4122": "Move both drives to the frame", + "4123": "Move drive 1 to the frame", + "4124": "Move drive 2 to the frame", + "4125": "Start frame referencing", + "4126": "Both drives activated", + "4127": "TS4 shutdown", + "4128": "SunSpec shutdown", + "4129": "Frequency at AC2 with high resolution", + "4130": "AC overvoltage backup (fast)", + "4131": "AC overvoltage backup (slow)", + "4132": "Input power for backup too low", + "4133": "Short circuit in backup", + "4134": "Communication to backup module disrupted", + "4135": "Communication to battery interface module disrupted", + "4136": "Panel level string", + "4137": "Start SOC calibration procedure", + "4138": "Stop SOC calibration procedure", + "4139": "Start derating", + "4140": "Stop derating", + "4141": "Preventative battery disconnection", + "4142": "Battery current sensor", + "4143": "Energy counter serial number", + "4144": "Energy meter used", + "4145": "Start search", + "4146": "Cancel search", + "4147": "Rapid Shutdown Mode", + "4148": "Number of PV modules in the string", + "4149": "Number of PV module electronics in the string", + "4150": "Rapid shutdown system function", + "4151": "Commissioning status", + "4152": "Minimum time for the use of excess energy", + "4153": "Voltage difference for the use of excess energy", + "4154": "Perform gateway test", + "4155": "Tigo CCA software", + "4156": "System disturbance", + "4157": "Number of gateways", + "4158": "Backup module bimetal switch", + "4159": "Backup module relay error |u4|", + "4160": "Backup module N-PE monitoring", + "4161": "Backup module hardware error", + "4162": "Backup module overtemperature", + "4163": "Backup mode relay test black start", + "4164": "Backup box configuration incorrect |d0|", + "4165": "Black start battery voltage too low", + "4166": "Battery interface module hardware error", + "4167": "Supply voltage too low", + "4168": "Output supply voltage of the battery interface module too low |b4| |b5|", + "4169": "Battery interface module output communication error |b4| |b5|", + "4170": "More than one node at output |b4| of the battery interface module", + "4171": "Test mode battery interface module |b5|, success rate: |b4|", + "4172": "Limitation of the switching frequency of the input relay for current limitation", + "4173": "Input current limitation fault |s0|", + "4174": "Backup operation", + "4175": "Input power for SPS too low", + "4176": "Minimum voltage for start backup operation", + "4177": "Contactor switching status", + "4178": "Backup box communication status", + "4179": "Backup box operating mode", + "4180": "Redundant grid contactors", + "4181": "Phase coupling", + "4182": "Neutral conductor grounding", + "4183": "Upper limit for the charging state for derating of the PV inverters", + "4184": "Monitoring time contactor monitoring contact", + "4185": "Minimum voltage for activation of the load contactors in backup", + "4186": "Monitoring time for activation of the load contactors in backup", + "4187": "Duration of the AC voltage ramp", + "4188": "DC input configuration reset", + "4189": "DC input configuration [|s0|]", + "4190": "Can test mode", + "4191": "Emergency power mode", + "4192": "Extension cluster firmware not the same as main cluster firmware", + "4193": "Bring all clusters to the same firmware status", + "4194": "Rapid shutdown has been triggered", + "4195": "detected", + "4196": "not detected", + "4197": "Update SMA Gateway Interface Module", + "4198": "Update SMA Gateway Interface Module failed", + "4199": "Communication disturbance with gateway. Serial number: |s0|", + "4200": "Communication disturbance with optimizer. Serial number: |s0|", + "4201": "Update can not be performed. SD memory card type or format not supported.", + "4202": "Copy the update file to an SD card of max. 2 GB and FAT16 format", + "4203": "Asymmetrical load of the inverter", + "4204": "PV module electronics found", + "4205": "Gateways found", + "4206": "Weekday selected", + "4207": "Time of Use", + "4208": "Peak Load Shaving", + "4209": "Width of the usage range for Time of Use", + "4210": "Width of the usage range for Peak Load Shaving", + "4211": "Charging power", + "4212": "Discharging power", + "4213": "Nominal CT current [Amps]", + "4214": "Condition for switching the input relay |s0| not satisfied", + "4215": "W/Wp", + "4216": "Overcurrent in the power element at |s0|", + "4217": "Analogue input 4", + "4218": "Analogue input 5", + "4219": "Analogue input 6", + "4220": "Analog output 1", + "4221": "Analog output 2", + "4222": "Analog output 3", + "4223": "Analog output 4", + "4224": "Analog output 5", + "4225": "Analog output 6", + "4226": "Off with single-string configuration", + "4227": "d", + "4228": "Battery inverter voltage disconnect tripped", + "4229": "Activate voltage disconnect monitoring", + "4230": "RS485 interface application", + "4231": "Energy meter", + "4232": "SMA Data", + "4233": "Module technology", + "4234": "Setpoint for grid voltage", + "4235": "Internal resistance", + "4236": "Open circuit voltage", + "4237": "AC settings", + "4238": "Setpoint for grid frequency", + "4239": "Disconnection limit for leakage current", + "4240": "Disconnection limit for the lagging component of the leakage current", + "4241": "Cellular modem", + "4242": "IMEI International Mobile Equipment Identity", + "4243": "ICCID Integrated Circuit Card Identifier", + "4244": "SIM card", + "4245": "Grid operator", "4246": "EnnexOS", - "4247": "EvtComCelMdmDst", - "4248": "EvtComEnnexOSDst", - "4249": "Term", - "4250": "EvtWlAct", - "4251": "EvtWlIna", - "4252": "EvtWlAcsPtConn", - "4253": "EvtSocOvLod", - "4254": "EvtBckOvLod", - "4255": "DscComCelMdmDst", - "4256": "DscComEnnexOSDst", - "4257": "RSSSigTest", - "4258": "Mark", - "4259": "Space", - "4260": "DcChaCir", - "4261": "EvtMstSlvCfgWrn", - "4262": "DscMstSlvChk", - "4263": "EvtTmDcChaCir", - "4264": "EvtBatSysFltExt", - "4265": "ConnFllbkTmm", - "4266": "MdmFail", - "4267": "InternetFail", - "4268": "RSSTrgTest", - "4269": "EvtRSSFlt", - "4270": "EvtRSSOk", - "4271": "EvtASCTstThyCls", - "4272": "EvtCtlClkFlt", - "4273": "DscThyChg", - "4274": "EvtIOTstAbrt", - "4275": "EvtRSIExt", - "4276": "EvtNoPV", - "4277": "RCDOpStop", - "4278": "EthDiag", - "4279": "LabMod", - "4280": "CurVArCtlMinNom", - "4281": "CurVArCtlNom", - "4282": "Cor", - "4283": "CorTmms", - "4284": "GraCtlTmCor", - "4285": "ComDiag", - "4286": "EvtRSSRdtDschNok", - "4287": "DscCntSvc", - "4288": "SIS", - "4289": "RsCfgDat", - "4290": "EthWifi", - "4291": "AvValTyp", - "4292": "5minAvVal", - "4293": "10minAvVal", - "4294": "EvtUpdPanLevMdul", - "4295": "EvtCelMdmHwErr", - "4296": "EvtCelMdmNoCar", - "4297": "EvtCelMdmConnLos", - "4298": "EvtRGMErr", - "4299": "BckModLodDeAct", - "4300": "Flb", - "4301": "VArLimMod", - "4302": "VArTms95", - "4303": "VolRef", - "4304": "VolRefAdjMod", - "4305": "FlbVArMod", - "4306": "DrpChr", - "4307": "8PntHystChr", - "4308": "6PntChr", - "4309": "8PntChr", - "4310": "10PntChr", - "4311": "12PntChr", - "4312": "14PntChr", - "4313": "MaxVol", - "4314": "[p.u.]", - "4315": "VolAvg", - "4316": "DrpHyst", - "4317": "DrpDb", - "4318": "DrpHystDb", - "4319": "YRefMod", - "4320": "NumPhs", - "4321": "VolMod", - "4322": "AutnAdjMod", - "4323": "EnaTms", - "4324": "DsaTms", - "4325": "PlntPhV", - "4326": "Can", - "4327": "SIComCtl", - "4328": "VArCpn", - "4329": "NumPvStrg", - "4330": "NotSec", - "4331": "BasSec", - "4332": "HiSec", - "4333": "BatTypNotCfg", - "4334": "NumPtMax", - "4335": "AutnAdjTms", - "4336": "VArNomRefMod", - "4337": "Intv5Mnt", - "4338": "Intv10Mnt", - "4339": "15minAvVal", - "4340": "WMaxOutRtg", - "4341": "WMaxInRtg", - "4342": "WMinOutRtg", - "4343": "WMinInRtg", - "4344": "VArMaxQ1Rtg", - "4345": "VArMaxQ2Rtg", - "4346": "VArMaxQ3Rtg", - "4347": "VArMaxQ4Rtg", - "4348": "PFMinQ1Rtg", - "4349": "PFMinQ2Rtg", - "4350": "PFMinQ3Rtg", - "4351": "PFMinQ4Rtg", - "4352": "VAMaxOutRtg ", - "4353": "VAMaxInRtg", - "4354": "WMaxOut", - "4355": "WMinOut", - "4356": "WMinIn", - "4357": "VAMaxOut", - "4358": "VAMaxIn", - "4359": "VArMaxQ1", - "4360": "VArMaxQ2", - "4361": "VArMaxQ3", - "4362": "VArMaxQ4", - "4363": "VArMaxZerWQ1", - "4364": "VArMaxZerWQ2", - "4365": "VArMaxZerWQ3", - "4366": "VArMaxZerWQ4", - "4367": "PFMinQ1", - "4368": "PFMinQ2", - "4369": "PFMinQ3", - "4370": "PFMinQ4", - "4371": "EvtUpdPanLevMdulErr", - "4372": "PanLevLog", - "4373": "PFOut", - "4374": "PFExtOut", - "4375": "PFIn", - "4376": "PFExtIn", - "4377": "FlbPFOut", - "4378": "FlbPFExtOut", - "4379": "FlbPFIn", - "4380": "FlbPFExtIn", - "4381": "WFilTmEna", - "4382": "WFilTms", - "4383": "VArTmEna", - "4384": "VArGraEna", - "4385": "PFCfg", - "4390": "[VAr/s]", - "4391": "[m^3/h]", - "4392": "[kWh/m^3]", - "4402": "GFCI", - "4403": "GFCILim", - "4404": "GFCILimEna", - "4409": "VArGraPos", - "4410": "VArGraNeg", - "4451": "BlckStrStr", - "4452": "BlckStrAbrt", - "4453": "GnIsoOp", - "4454": "BatIsoOp", - "4455": "GriIsoOp", - "4456": "GnUnld", - "4457": "GnShtdown", - "4458": "GnStrPrp", - "4459": "GnStr", - "4460": "IdleAc", - "4461": "Idle", - "4462": "BlckStrPrpBat", - "4463": "BatBlckStrConn", - "4464": "BatBlckStrRmpUp", - "4465": "SynPrp", - "4466": "SynConn", - "4467": "DeSynPrp", - "4468": "DeSynRmpDwn", - "4469": "DeSynDiscon", - "6109": "Reserved", - "7500": "Enel-GUIDA", - "7501": "RD1663/661-A", - "7502": "IEC61727/MEA", - "7503": "IEC61727/PEA", - "7504": "SI4777-2", - "7505": "CGC/GF001", - "7506": "VDE0126-1-1/UTE", - "7507": "KEMCO502/2009", - "7508": "JP50", - "7509": "JP60", - "7510": "VDE-AR-N4105", - "7511": "GB-T19939-2005", - "7512": "G59/2", - "7513": "VDE-AR-N4105-MP", - "7514": "VDE-AR-N4105-HP", - "7515": "KEMCO501/2009", - "7516": "CEI0-21", - "7517": "CEI0-21Int", - "7518": "CEI0-21Ext", - "7519": "UL1741/2010/277", - "7520": "UL1741/2010/120", - "7521": "UL1741/2010/240", - "7522": "NEN-EN50438", - "7523": "C10/11/2012", - "7524": "RD1699", - "7525": "G83/2", - "7526": "VFR2013", - "7527": "VFR2014", - "7528": "G59/3", - "7529": "SI4777_HS131_Pf", - "7530": "MEA2013", - "7531": "PEA2013", - "7532": "EN50438_2013", - "7533": "NEN-EN50438_13", - "7534": "SA220V/60Hz", - "7535": "WorstCase", - "7536": "DftEN", - "7537": "OthStd60Hz", - "7538": "SI4777_HS131_13", - "7539": "RD1699/413", + "4247": "Communication with cellular modem interrupted", + "4248": "Communication with EnnexOS portal interrupted", + "4249": "Termination", + "4250": "Access point activated", + "4251": "Access point deactivated", + "4252": "Connected to access point", + "4253": "Overload at the SPS power outlet", + "4254": "Overload in backup operation", + "4255": "Communication with cellular modem interrupted", + "4256": "Communication with EnnexOS portal interrupted", + "4257": "Generate power line test signal", + "4258": "Mark signal", + "4259": "Space signal", + "4260": "DC precharging", + "4261": "Invalid master/slave configuration", + "4262": "Check master/slave configuration", + "4263": "DC precharging time exceeded", + "4264": "The battery management system has reported an error", + "4265": "Duration until activation of secondary connection", + "4266": "Modem error", + "4267": "No Internet", + "4268": "Rapid Shutdown test", + "4269": "Error in the rapid shutdown system", + "4270": "Rapid shutdown performed successfully", + "4271": "A thyristor did not open after the ASC test", + "4272": "Error in the controller clocking signal", + "4273": "Replace thyristors", + "4274": "IO test interrupted, because inverter is not voltage-free (AC, DC)", + "4275": "Rapid shutdown triggered by external switch", + "4276": "Generator not connected", + "4277": "Limitation to 4 reconnections (24 hrs) after exceeding continuous residual current", + "4278": "Ethernet link diagnostics via LED", + "4279": "Laboratory mode is activated", + "4280": "Minimum PV reactive power limitation as %", + "4281": "Internal PV reactive power limitation as %", + "4284": "Correct power gradient", + "4285": "Communication diagnosis", + "4286": "Redundant rapid shutdown discharge function not assured", + "4287": "Contact SMA service", + "4288": "Smart Inverter Screen", + "4289": "Reset of configuration data", + "4290": "Ethernet Wi-Fi", + "4291": "Average values type", + "4292": "5 minute average values", + "4293": "10 minute average values", + "4294": "Update PV module electronics", + "4295": "Cellular modem defect", + "4296": "No carrier", + "4297": "Cellular modem connection lost", + "4298": "RGM defect", + "4299": "Output power limitation of PV inverter", + "4300": "Fallback", + "4301": "Config. active power mode system control 2. Setpoint input", + "4302": "Minimum active power", + "4303": "Reference voltage adjustment", + "4304": "Operating mode for dynamic voltage setpoint at Q(V)", + "4305": "Fallback of reactive power control with communication fault", + "4306": "Single Droop", + "4307": "Droop with 4 supporting points and hysteresis", + "4308": "Droop with 6 supporting points", + "4309": "Droop with 8 supporting points", + "4310": "Droop with 10 supporting points", + "4311": "Droop with 12 supporting points", + "4312": "Droop with 14 supporting points", + "4313": "Max. value of external conductor voltages", + "4314": "p.u.", + "4315": "Mean value of external conductor voltages", + "4316": "Single Droop with hysteresis", + "4317": "Droop with deadband", + "4318": "Droop with deadband and hysteresis", + "4319": "Reference reactive power", + "4321": "Maximum active power", + "4322": "Operating mode", + "4323": "Maximum active power", + "4324": "Minimum active power", + "4325": "Phase voltage at grid connection point", + "4326": "CAN", + "4327": "Battery and control interface", + "4328": "Reactive power compensation", + "4329": "Number of supported strings", + "4330": "Unencrypted", + "4331": "Basic security", + "4332": "High security", + "4333": "Battery type not specified", + "4334": "Max. number of support points", + "4335": "Setting time for automatic mode", + "4336": "Reference size for reactive power setting", + "4337": "every 5 minutes", + "4338": "every 10 minutes", + "4339": "10 minute average values", + "4340": "Rated active power WMaxOutRtg", + "4341": "Rated active power WMaxInRtg", + "4342": "Rated active power WMinOutRtg", + "4343": "Rated active power WMinInRtg", + "4344": "Rated reactive power VArMaxQ1Rtg", + "4345": "Rated reactive power VArMaxQ2Rtg", + "4346": "Rated reactive power VArMaxQ3Rtg", + "4347": "Rated reactive power VArMaxQ4Rtg", + "4348": "Rated cos φ PFMinQ1Rtg", + "4349": "Rated cos φ PFMinQ2Rtg", + "4350": "Rated cos φ PFMinQ3Rtg", + "4351": "Rated cos φ PFMinQ4Rtg", + "4352": "Rated apparent power VAMaxOutRtg", + "4353": "Rated apparent power VAMaxInRtg", + "4354": "Maximum active power export", + "4355": "Nominal active power WMinOut", + "4356": "Nominal active power WMinIn", + "4357": "Nominal apparent power VAMaxOut", + "4358": "Nominal apparent power VAMaxIn", + "4359": "Nominal reactive power VArMaxQ1", + "4360": "Nominal reactive power VArMaxQ2", + "4361": "Nominal reactive power VArMaxQ3", + "4362": "Nominal reactive power VArMaxQ4", + "4363": "Nominal reactive power VArMaxZerWQ1", + "4364": "Nominal reactive power VArMaxZerWQ2", + "4365": "Nominal reactive power VArMaxZerWQ3", + "4366": "Nominal reactive power VArMaxZerWQ4", + "4367": "Nominal cos φ PFMinQ1", + "4368": "Nominal cos φ PFMinQ2", + "4369": "Nominal cos φ PFMinQ3", + "4370": "Nominal cos φ PFMinQ4", + "4371": "Update of PV module electronics not successful", + "4372": "PV module logger", + "4373": "cos φ nominal value in case of active power output", + "4374": "Excitation type in case of active power output", + "4375": "cos φ nominal value in case of active power draw", + "4376": "Excitation type in case of active power draw", + "4377": "Fallback value of cos φ in case of active power output", + "4378": "Fallback value of excitation type in case of active power output", + "4379": "Fallback value of cos φ in case of active power draw", + "4380": "Fallback value of excitation type in case of active power draw", + "4381": "Actual value filter for active power value", + "4382": "Setting time actual value filter", + "4383": "Nominal value filter", + "4384": "Limitation of change rate", + "4385": "Advanced settings for cos φ setpoint specifications", + "4386": "Fixed reactive power setpoint for active power generation", + "4387": "Fixed reactive power setpoint for active power draw", + "4388": "Fixed reactive power setpoint for low active power", + "4389": "Advanced settings for reactive power setpoint specifications", + "4390": "VAr/s", + "4391": "m3/h", + "4392": "kWh/m3", + "4393": "Active reactive power range", + "4394": "Hysteresis active power", + "4395": "Hysteresis time", + "4396": "Reactive power mode in case of active power output", + "4397": "Reactive power mode in case of active power draw", + "4398": "Reactive power mode in case of zero power output", + "4399": "Fallback behavior in case of active power output", + "4400": "Fallback behavior in case of active power draw", + "4401": "Fallback behavior in case of zero power output", + "4402": "Residual current", + "4403": "Residual current limiting", + "4404": "Activation of residual current limiting", + "4405": "Maximum active power WMax", + "4406": "Maximum reactive power VArMax", + "4407": "Voltage-dependent reactive power limitation", + "4408": "Hysteresis voltage", + "4409": "Increase rate", + "4410": "Decrease rate", + "4411": "Activation", + "4412": "Fault end", + "4413": "Short-term averaging time of the pre-fault voltage", + "4414": "Long-term averaging time of the pre-fault voltage", + "4415": "Averaging for threshold detection", + "4416": "Phase reference of grid nominal voltage", + "4417": "Overvoltage threshold for zero current", + "4418": "Undervoltage threshold for zero current", + "4419": "Reactive current change rate after fault end", + "4420": "Averaging of reactive current static", + "4421": "Overvoltage threshold for reactive current", + "4422": "Undervoltage threshold for reactive current", + "4423": "Voltage leap height", + "4424": "K-factor of react. current stat. in neg. system", + "4425": "Maximum reactive current in case of overvoltage", + "4426": "Active current priority at apparent current limit", + "4427": "Active current change rate after fault end", + "4428": "Time for providing reactive power after voltage leap", + "4429": "Reference voltage, averaged", + "4430": "Outer conductor voltage", + "4431": "Phase voltage", + "4432": "Outer conductor and phase voltage", + "4433": "Zero at dead band boundary", + "4434": "Zero at origin", + "4435": "A/s", + "4436": "Reference value", + "4437": "Setting time for nominal value filter", + "4438": "Buckling overfrequency", + "4439": "Active power change per Hz in case of overfrequency", + "4440": "Buckling underfrequency", + "4441": "Active power change per Hz in case of underfrequency", + "4443": "Current power", + "4444": "Potential power", + "4445": "Hysteresis in case of overfrequency", + "4446": "Hysteresis in case of underfrequency", + "4447": "Maximum reactive current in case of undervoltage", + "4448": "Lag time in case of overvoltage", + "4449": "Lag time in case of undervoltage", + "4450": "Q limitation", + "4451": "Blackstart process start", + "4452": "Blackstart process cancel", + "4453": "Operating mode: Isolated at generator", + "4454": "Operating mode: Isolated at battery", + "4455": "Operating mode: Mains-connected", + "4456": "Generator relief", + "4457": "Generator shutdown", + "4458": "Generator start preparation", + "4459": "Generator start", + "4460": "Waiting, net-forming", + "4461": "Waiting, voltage-free", + "4462": "Black start from battery: Battery preparation", + "4463": "Black start from battery: Connecting", + "4464": "Black start from battery: Power-up", + "4465": "Prepare synchronization from island grid to grid", + "4466": "Connect island grid to grid", + "4467": "Prepare separation of island grid from grid", + "4468": "Power down grid", + "4469": "Disconnect island grid from grid", + "4470": "Waiting state, system stopped", + "4471": "Presetting", + "4472": "Reset overfrequency", + "4473": "Reset underfrequency", + "4474": "Manual reactive power setting in case of active power draw", + "4475": "Gateway", + "4476": "Recording level for log messages", + "4477": "Standardized reactive power setpoint by communication", + "4478": "Version 2", + "4479": "Version 3", + "4480": "External reference voltage setting", + "4481": "Fallback of reference voltage", + "4482": "External reference voltage setting", + "4483": "Hysteresis voltage", + "4484": "Low priority", + "4485": "Fallback value of minimum active power", + "4486": "Fallback value of maximum active power", + "4487": "Nominal value filter", + "4488": "Increase rate", + "4489": "Decrease rate", + "4490": "External active power setting 2", + "4491": "Median maximum threshold", + "4492": "Lower maximum threshold", + "4493": "Upper minimum threshold", + "4494": "Median minimum threshold", + "4495": "Upper maximum threshold", + "4496": "Upper maximum threshold as RMS value", + "4497": "Lower minimum threshold", + "4498": "Lower minimum threshold as RMS value", + "4499": "Volt. increase prot.", + "4500": "Min. voltage for reconnection", + "4501": "Max. voltage for reconnection", + "4502": "Upper deactivation voltage", + "4503": "Upper activation voltage", + "4504": "Planned departure time", + "4505": "Time of reaching target charge", + "4506": "Charge session", + "4507": "38400 bit/s", + "4508": "%/s", + "4509": "Tripping threshold DC current monitoring in A", + "4510": "Tripping threshold DC current monitoring in %", + "4511": "DC monitoring mode", + "4512": "Voltage-dependent active power adjustment P(U)", + "4513": "cos φ(U) charac. curve", + "4514": "Voltage value", + "4517": "Minimum duration of providing reactive current", + "4518": "Maximum duration of providing reactive current", + "4519": "Type of reference voltage", + "4520": "Mean value of phase voltages", + "4521": "Maximum phase voltage", + "4522": "Dynamics", + "4523": "Trigger", + "4524": "System start", + "4525": "Interface COM1", + "4526": "Interface COM2", + "4527": "Interface COM3", + "4528": "Interface COM4", + "4529": "Gas volume flow", + "4530": "Volume", + "4531": "Gas calorific billing value", + "4532": "Gas correction factor", + "4533": "relative value in percent", + "4534": "Speed", + "4535": "Gas", + "4536": "Volume flow", + "4537": "Upper voltage threshold", + "4538": "Upper voltage threshold tripping time", + "4539": "Upper maximum threshold tripping time", + "4540": "Network type 202 split phase Japan", + "4541": "Setpoint not yet received", + "4542": "Setpoint received", + "4543": "Active power setpoint status", + "4545": "Applicable voltages", + "4546": "EKS", + "4547": "NIV", + "4548": "EKS/NIV", + "4549": "Enable command", + "4550": "Reference voltage selection", + "4551": "After arc detection", + "4552": "Manual restart after 0% preset", + "4553": "After fault current", + "4554": "Active power setpoint 2", + "4555": "P(f) curve", + "4556": "P(U) charact. curve", + "4557": "Infeed limit", + "4558": "Draw limit", + "4559": "Draw limit 2", + "4560": "External setting", + "4561": "External setting 2", + "4562": "cos φ(U) charac. curve", + "4563": "Reference value for active power in case of overfrequency", + "4564": "Reference value for active power in case of underfrequency", + "4565": "Analog cos-phi setpoint", + "4566": "Electrical reference point", + "4567": "Priority compared to local charact. curves", + "4568": "Priority compared to local charact. curves", + "4569": "Inverter connection point", + "4570": "Wait for enable operation", + "4571": "Standby status", + "4572": "Operating status", + "4573": "Source of maximum active power setpoint", + "4574": "Source of maximum active power setpoint", + "4575": "Source of minimum active power setpoint", + "4576": "Current maximum active power setpoint", + "4577": "Current minimum active power setpoint", + "4578": "Current reference voltage setpoint for Q(V)", + "4579": "Current cos φ setpoint for active power draw", + "4580": "Function execution level", + "4581": "Voltage-dependent active power adjustment P(U)", + "4582": "Soft start-up P", + "4583": "Maintain procedure", + "4584": "Read only", + "4585": "Increase rate in case of insolation change", + "4586": "GFDI leakage resistor overloaded", + "4587": "GFDI internal measurement error", + "4588": "GFDI ancillary relay not reacting with |tn0|", + "4589": "GFDI ancillary relay not reacting", + "4590": "GFDI fuse down", + "4591": "GFDI program sequence (status machine)", + "4592": "GFDI on-board network fault", + "4593": "Timeout monitoring DC/DC converter |d0|", + "4594": "Timeout monitoring DC/DC converter", + "4595": "Check DC/DC converter connection/configuration", + "4596": "Timeout monitoring battery management system |d0|", + "4597": "Timeout monitoring battery management system", + "4598": "Battery management system, check connection/configuration", + "4599": "Battery management system |d0| reports error", + "4600": "Battery management system reports error", + "4601": "DC/DC converter |d0| reports event", + "4602": "DC/DC converter reports event", + "4603": "Battery management system |d0| reports warning", + "4604": "Battery management system reports warning", + "4605": "DC/DC converter |d0| reports warning", + "4606": "DC/DC converter reports warning", + "4607": "Check DC/DC converter", + "4608": "Check battery management system", + "4609": "Reverse currents or reverse-poled input", + "4610": "Unable to load calibration data for current measurement", + "4611": "Unable to load calibration data for voltage measurement", + "4612": "DC shuntboard not connected", + "4613": "DC shuntboard wrongly connected", + "4614": "Display for insulation fault defective", + "4615": "Link for |tn0| |d4| lost", + "4616": "Waiting for first setting value", + "4617": "Permanently derated", + "4618": "Dynamic with automatic switch-off", + "4619": "Tigo Cloud", + "4620": "Overvoltage grid (SW)", + "4622": "Reactive power, manual setting", + "4623": "Reactive power, analog input", + "4624": "Reactive power, Modbus", + "4625": "Power factor cos φ, manual setpoint specification", + "4626": "Power factor cos φ, analog input", + "4627": "Power factor cos φ, Modbus", + "4628": "Lower deactivation voltage", + "4629": "Lower activation voltage", + "4630": "System and device control", + "4631": "Reactive power control mode", + "4632": "Soft start-up rate Q", + "4633": "Soft start-up Q", + "4634": "P-settings at input 2", + "4635": "%/min", + "4636": "Reactive power dynamic after error end", + "4637": "Active power derating due to apparent power limitation", + "4638": "Number of critical DC switching cycles almost reached", + "4639": "Number of critical DC switching cycles reached", + "4640": "Combined heat and power plant", + "4641": "Hydroelectric power plant", + "4642": "General hardware test error", + "4643": "DC switch is open", + "4644": "General storage or communication error", + "4645": "NTP server for connected devices switched on", + "4646": "Islanding detection mode", + "4647": "Force Normal Active Mode", + "4648": "Maximum active power setpoint specification", + "4649": "Minimum active power setpoint specification", + "4650": "Maximum reactive power setpoint specification", + "4651": "Minimum reactive power setpoint specification", + "4652": "Active reactive power behavior", + "4653": "Charging station", + "4654": "Costs", + "4655": "E-vehicle", + "4656": "Progress of the DC input configuration", + "4657": "Grid and system protection", + "4658": "AC current regulation", + "4659": "Maximum output voltage regulator", + "4660": "Amplification of the resonance regulator", + "4661": "Activation of the AC current controller", + "4662": "Active attenuation", + "4663": "Limit frequency of the active attenuation", + "4664": "Proportional amplification of the active attenuation", + "4665": "Automatic grid connection", + "4666": "Harmonics regulators", + "4667": "Activation of all harmonics regulators", + "4668": "Activation of harmonics regulator number 3", + "4669": "Activation of harmonics regulator number 4", + "4670": "Magnitude of the resonance frequency for harmonics regulator number 3", + "4671": "Magnitude of the resonance frequency for harmonics regulator number 4", + "4672": "Amplification of the resonance regulator for harmonics regulator number 3", + "4673": "Amplification of the resonance regulator for harmonics regulator number 4", + "4674": "Amplification of the proportional regulator for harmonics regulator number 3", + "4675": "Amplification of the proportional regulator for harmonics regulator number 4", + "4676": "Grid voltage feedback", + "4677": "Reduction factor of the fed-back grid voltage", + "4678": "Limit frequency of the band-pass filter", + "4679": "Intermediate circuit voltage regulator", + "4680": "Intermediate circuit symmetry regulation", + "4681": "Software regulation", + "4682": "Weighting factor", + "4683": "1/Ohm", + "4684": "Steepness", + "4685": "Manufacturer", + "4686": "EnnexOS", + "4687": "Framework", + "4688": "Activated", + "4689": "Etherlynx", + "4690": "ComLynx", + "4691": "With conversion information", + "4692": "Without conversion information", + "4693": "Without conversion information and volume flow", + "4694": "{{0}}' connected to '{{1}}'.", + "4695": "{{0}}' disconnected from '{{1}}'.", + "4696": "Not enough memory available: Cannot download update file '{{0}}'.", + "4697": "Photovoltaics", + "4698": "W or Var", + "4699": "The device {{0}} notifies the fault {{1}}", + "4700": "A communication error to device {{0}} has occurred", + "4701": "Activation of the CosPhi reactive power limits", + "4702": "Activation threshold of the reactive power mode for feed-in", + "4703": "Deactivation threshold of the reactive power mode for feed-in", + "4704": "Activation threshold of the reactive power mode for grid power", + "4705": "Deactivation threshold of the reactive power mode for grid power", + "4706": "The supply voltage was interrupted", + "4707": "The supply voltage has been restored", + "4708": "No connection to buffer module available", + "4709": "Acoustic signal for event messages", + "4710": "Autotest SPI CEI 0-21", + "4711": "Result: Test OK", + "4712": "Result: Test not OK", + "4713": "Testfortschritt |d0|", + "4714": "Reactive power, digital input", + "4715": "-", + "4716": "-", + "4717": "-", + "4718": "Boost charging", + "4719": "Optimized charging", + "4720": "Charging with setpoint", + "4721": "Charge stop", + "4722": "Duration", + "4723": "Disconnection after full charge", + "4724": "Standby for charging process to disconnection", + "4725": "Energy", + "4726": "Minimum relay switching time", + "4727": "Minimum charge current", + "4728": "Software-Version", + "4729": "Type of charge controller", + "4730": "Charge energy", + "4731": "Discharge energy", + "4732": "FRITZ!Box", + "4733": "Energy management", + "4734": "External device", + "4735": "Building", + "4736": "Switching request value", + "4737": "Switching request active", + "4738": "Freezer unit rating", + "4739": "Refrigeration unit rating", + "4740": "Freezer system rating", + "4741": "Refrigeration system rating", + "4742": "Hot gas temperature actual value", + "4743": "Hot gas temperature setpoint", + "4744": "Hot gas override limit", + "4745": "Compressor power level", + "4746": "Available underexcited \nreactive power", + "4747": "Available overexcited reactive power", + "4748": "Theoretically available power output", + "4749": "Generation plant availability", + "4750": "External active power reduction", + "4751": "Current active power setpoint", + "4752": "Current reactive power setpoint", + "4753": "Available active power", + "4754": "Available reactive power", + "4755": "Overcurrent at grid connection point, quick stop triggered", + "4756": "Vehicle not compatible", + "4757": "Vehicle signals charging error", + "4758": "Communication problems between charging station and vehicle", + "4759": "Alarm upon warning or error", + "4760": "Modbus profile version", + "4761": "Error code", + "4762": "Device status", + "4763": "Control mode", + "4764": "Number", + "4765": "Load", + "4766": "Reactive power setpoint for whole system (PV and BAT)", + "4767": "Voltage setpoint (phase-phase)", + "4768": "Power factor setpoint", + "4769": "Upper active power limitation for whole plant (PV and BAT)", + "4770": "Lower active power limitation for whole plant (PV and BAT)", + "4771": "Deny inverter restart", + "4772": "Wh", + "4773": "Hybrid controller", + "4774": "Active power setpoint", + "4775": "Service info requested from Sunny Central", + "4776": "Service info transferred from Sunny Central", + "4777": "Transfer of service info failed", + "4778": "Service info transferred to portal", + "4779": "Service info upload to portal failed", + "4780": "Available underexcited reactive power", + "4781": "Available overexcited reactive power", + "4782": "Generation plant availability", + "4783": "AC self-test mode", + "4784": "Parameter change via Sunny Portal", + "4785": "Average expected yield", + "4786": "Specific yield", + "4787": "Modbus error", + "4788": "Wh/Wp", + "4789": "Time of the automatic update", + "4790": "End time", + "4791": "Start time", + "4792": "Start feed-in", + "4793": "Stop feed-in", + "4794": "Operation with meter at point of interconnection", + "4795": "Panasonic", + "4796": "Set active power limit\nfor grid-supplied power at point of interconnection", + "4797": "Available power for\ncharging stations", + "4798": "Current power limitation\nof charging stations", + "4799": "Serial number device", + "4800": "Direct selling enabled", + "4801": "Self-test of AC bridge failed", + "4802": "System current", + "4803": "Mean value Line conductor L-N", + "4804": "Mean value Line conductor L-N", + "4805": "Displacement power factor at point of interconnection", + "4806": "Grid frequency at point of interconnection", + "4807": "Charging station switches to charging mode |tn0|", + "4808": "DUMMY", + "4809": "Difference PV system time/system time", + "4810": "Total nominal power", + "4811": "Nominal AC power", + "4812": "Energy released by string", + "4813": "Total energy released by string", + "4814": "Set offset of energy released by string", + "4815": "String |s0| is in derating mode", + "4816": "SunSpec keepalive signal", + "4817": "Adaptive", + "4818": "Adopting process enabled", + "4819": "Available underexcited reactive power", + "4820": "Available overexcited reactive power", + "4821": "SunSpec signal", + "4822": "Dynamic", + "4823": "Curtailed permanently", + "4824": "Dynamic with automatic disconnection", + "4825": "Current charging power", + "4826": "Current discharging power", + "4827": "No control values are sent from the Data Manager to the inverters because you have configured a Hybrid Controller for control in your system.", + "4828": "Actual value filter for measured frequency value", + "4829": "Setting time for actual value filter", + "4830": "Electric vehicle was connected to charging station.", + "4831": "Electric vehicle was disconnected from electric vehicle.", + "4832": "Charging mode was interrupted by vehicle.", + "4833": "Percent", + "4834": "cos phi", + "4835": "Digital group input", + "4836": "Digital group output", + "4837": "Current battery energy content", + "4838": "Sum of cell voltages", + "4839": "Lowest measured cell voltage", + "4840": "Highest measured cell voltage", + "4841": "End-of-charge voltage", + "4842": "End-of-discharge voltage", + "4843": "Maximum charging current", + "4844": "Maximum discharging current", + "4845": "Measured value of displacement power factor", + "4846": "Sunspec Shutdown & SPS", + "4847": "Temperature of dew point", + "4848": "Absolute air pressure", + "4849": "Relative air pressure", + "4850": "Standard deviation of wind speed", + "4851": "Standard deviation of wind direction", + "4852": "Quality of wind measurement ", + "4853": "Absolute precipitation amount", + "4854": "Differential precipitation amount", + "4855": "Precipitation intensity", + "4856": "Precipitation  type", + "4857": "WMO code", + "4858": "Lightning events", + "4859": "Lightning events (interval)", + "4860": "Weather station error", + "4861": "External temperature sensor", + "4862": "mm", + "4863": "Test of meter at point of interconnection", + "4864": "Grid feed-in", + "4865": "No current transformer", + "4866": "Meter at point of interconnection not installed correctly", + "4867": "Installation test of meter at point of interconnection", + "4868": "Installation test of meter at point of interconnection not carried out yet", + "4869": "Feed-in monitoring at point of interconnection", + "4870": "Percentage feed-in limit at point of interconnection", + "4871": "Feed-in monitoring time at point of interconnection", + "4872": "Active power setpoint in %", + "4873": "Active power setpoint in W", + "4874": "SMA SPOT", + "4875": "Modbus", + "4876": "Analog inputs", + "4877": "Digital inputs", + "4878": "Active power setpoint (electric utility company)", + "4879": "Reactive power setpoint (electric utility company)", + "4880": "Cos phi setpoint (electric utility company)", + "4881": "Active power setpoint (direct seller)", + "4882": "Modbus profile", + "4883": "Installation test of meter at point of interconnection not carried out successfully", + "4884": "Installation test of meter at point of interconnection carried out successfully", + "4885": "Status of installation test of meter at point of interconnection", + "4887": "Standard deviation of solar irradiation", + "4888": "Pollution degree Sensor 1", + "4889": "Transmission loss Sensor 1", + "4890": "Pollution degree Sensor 2", + "4891": "Transmission loss Sensor 2", + "4892": "Data model version", + "4893": "Inclination X-axis", + "4894": "Inclination Y-axis", + "4895": "Calibration date", + "4896": "Year", + "4897": "Month", + "4898": "Day", + "4899": "Pollution sensor\n", + "4900": "Pyranometer", + "4901": "Maximum active power setpoint (grid supply)", + "4902": "Minimum active power setpoint (grid supply)", + "4903": "Voltage regulation, manually set in Volt", + "4904": "Voltage regulation, manually set in p.u.", + "4905": "Voltage regulation, external setpoint", + "4906": "Voltage setpoint (line-to-line)", + "4907": "Voltage regulation, setting time of actual value filter", + "4908": "Voltage regulation, actual value filter for measured voltage value", + "4909": "Upper limit of voltage regulator", + "4910": "Lower limit of voltage regulator", + "4911": "Start conditions for meter test not fulfilled", + "4912": "Number of critical chopper operations almost reached", + "4913": "Number of critical chopper operations reached", + "4914": "Watchdog |tn0|", + "4915": "DC-Current input", + "4916": "DC-Voltage input", + "4917": "Fuse of surge arrester / DC busbar", + "4918": "Initiated number", + "4919": "Successful number", + "4920": "Flags", + "4921": "No precipitation", + "4922": "Liquid precipitation (e.g.rainfall)", + "4923": "Solid precipitation (e.g.snow)", + "4924": "Unspecified precipitation", + "4925": "Freezing rain", + "4926": "Sleet", + "4927": "Hail", + "4928": "hPa", + "4929": "You have selected external setpoint for active or reactive power. The control process starts as soon as the setpoints have been successfully transferred to the Data Manager at least once.", + "4930": "Wait for setpoints", + "4931": "Interval of cyclic insulation measurement", + "4932": "Time of cyclic insulation measurement", + "4933": "Battery overcurrent |cC|", + "4934": "Overcurrent battery charging |cC|", + "4935": "Overcurrent battery discharging |cC|", + "4936": "Configuration", + "4937": "Contactor relay (Q30) opened due to overvoltage", + "4938": "Leakage current-carrying capacity of DC generator too high", + "4939": "Leakage current-carrying capacity of DC generator too high", + "4940": "Start of cyclic insulation test ", + "4941": "Pollution degree Sensor", + "4942": "Transmission loss Sensor", + "4943": "Master with subordinate controller", + "4944": "Deep discharge protection activated", + "4945": "Battery separated externally", + "4946": "DC unbalance detected", + "4947": "DC balancer HW defective", + "4948": "mm/h", + "4949": "Rotary Switch", + "4950": "Smart charging", + "4951": "Gerät von Netz und Batterie dauerhaft trennen Service kontaktieren", + "4952": "DC-Relais öffnete ungewollt", + "4953": "DC-Relais defekt", + "4954": "I-V Kurvenmessung erfolgreich", + "4955": "Messung starten", + "4956": "I-V Kurve", + "4957": "Storage medium full", + "4958": "Storage medium not available", + "4959": "Data logging", + "4960": "Metallspäne in Stack |d0| detektiert", + "4961": "Lockere Flachbandkabel in Stack |d0|", + "4962": "Zukünftiger Ausfall von Stack |d0| erwartet (DCB der IGBTs)", + "4963": "|s0| defekt", + "4964": "Lufteinzug verstopft", + "4965": "Austausch |s0| notwendig", + "4966": "Reinigung des Lufteinzugs notwendig", + "4967": "Lüfter der Wechselrichterbrücke defekt ", + "4968": "Austausch des Lüfters der Wechselrichterbrücke notwendig", + "4969": "Anzuwendende Spannungen für Spannungssprungerkennung", + "4970": "Verzögerungszeit für Nullstrom bei Unterspannung", + "4971": "Verzögerungszeit für Nullstrom bei Überspannung", + "4972": "Mit- und Gegensystemspannung", + "4973": "Obere Grenze Wiederzuschaltung nach Überfrequenz Abschaltung", + "4974": "Obere Grenze Erstzuschaltung", + "4975": "Untere Grenze Erstzuschaltung", + "4976": "Open Charge Point Protocol", + "4977": "Open Charge Point Protocol", + "4978": "Port des OCPP-Servers", + "4979": "Client-ID zur Anmeldung am OCPP-Server", + "4980": "Benutzername zur Anmeldung am OCPP-Server", + "4981": "Maximaler Ladestrom", + "4982": "Aktuell verfügbare Ladepunkte", + "4983": "Maximal verfügbare Ladepunkte", + "4984": "Durchgeführte Ladetransaktionen", + "4985": "Wait for Setpoint", + "4988": "AFCI Zähler", + "4989": "AFCI Zähler zurücksetzen", + "4990": "Rücksetzen", + "4991": "Maximale Anzahl an I-V Kurvenmessungen erreicht", + "4992": "Timeout in Kommunikation für dynamische Referenzspannung der Q(U)-Regelung", + "4993": "Modbus Meter", + "4994": "Improved event generation", + "4995": "Status: |tn0| / |tn4|", + "4996": "Status: |tn0|", + "4997": "Strom-Unsymmetrie AC-Leistungsteil", + "4998": "Primärregelleistung (FSM) ", + "4999": "Bezugswirkleistung für den Wirkleistungsversatz", + "5000": "Schwelle für Aktivierung bei Überfrequenz", + "5001": "Schwelle für Aktivierung bei Unterfrequenz", + "5002": "Reserveleistung bezogen auf die verfügbare Wirkleistung", + "5003": "Filter für die verfügbare Wirkleistung", + "5004": "Einstellzeit Filter für die verfügbare Wirkleistung", + "5005": "Begrenzung der Änderungsrate der verfügbaren Wirkleistung", + "5006": "Anstiegsrate der verfügbaren Wirkleistung", + "5007": "Absenkungsrate der verfügbaren Wirkleistung", + "5008": "Sollwertfilter für Wirkleistungsversatz", + "5009": "Einstellzeit des Sollwertfilters für Wirkleistungsversatz", + "5010": "Begrenzung der Änderungsrate des Wirkleistungsversatzes", + "5011": "Anstiegsrate des Wirkleistungsversatzes", + "5012": "Absenkungsrate des Wirkleistungsversatzes", + "5013": "Basiswirkleistung", + "5014": "Aktuelle maximale Wirkleistungsvorgabe", + "5015": "Minimum aus Wirkleistungsvorgabe und verfügbarer Leistung", + "5016": "Batteriesystem |cC| defekt (Quelle: |tn8|)", + "5017": "Überspannung Batteriezelle |cC| (Quelle: |tn8|) ", + "5018": "Unterspannung Batteriezelle |cC| (Quelle: |tn8|) ", + "5019": "UntertemperaturBatterie |cC| (Quelle: |tn8|) ", + "5020": "Übertemperatur Batterie |cC| (Quelle: |tn8|) ", + "5021": "Imbalancing Batterie |cC| (Quelle: |tn8|) ", + "5022": "Interner Batterie-Hardwarefehler |cC| (Quelle: |tn8|) ", + "5023": "Batterie |cC| meldet Ereignis: 0x|x5||x4|, 0x|x7||x6| (Quelle: |tn8|)", + "5024": "Schaltstellung der Batterietrennstelle |cC| (Quelle: |tn8|) ", + "5025": "Kurzschluss Batteriesystem |cC| (Quelle: |tn8|) ", + "5026": "Überstrom Batterie laden |cC| (Quelle: |tn8|) ", + "5027": "Überstrom Batterie entladen |cC| (Quelle: |tn8|) ", + "5028": "Lebensdauer der Batterie |cC| läuft ab (Quelle: |tn8|) ", + "5029": "Batterieanschluss |cC| (Quelle: |tn8|) ", + "5030": "Thermisches Management des Batteriesystems |cC| (Quelle: |tn8|) ", + "5031": "DC-DC-Steller Batterie", + "5032": "BMS", + "5033": "Oberer Blindleistungsschwellwert in p.u. zur Deaktivierung und Halten der Blindleistungsregelung", + "5034": "Unterer Blindleistungsschwellwert in p.u. zur Deaktivierung und Halten der Blindleistungsregelung", + "5035": "Oberer Blindleistungsschwellwert in p.u. zur Aktivierung der Blindleistungsregelung", + "5036": "Unterer Blindleistungsschwellwert in p.u. zur Aktivierung der Blindleistungsregelung", + "5037": "Faktor der Hysterese zur Deaktivierung der Blindleistungsregelung", + "5038": "Proportionalverstärkung des Blindleistungsreglers", + "5039": "Integralverstärkung des Blindleistungsreglers", + "5040": "Closed loop control", + "5041": "Yes, without permanent operation inhibition", + "5042": "Obere Grenze Erstzuschaltung", + "5043": "Untere Grenze Erstzuschaltung", + "5044": "Wind", + "5045": "Fuel Cell", + "5046": "Hybrid Wechselrichter", + "5047": "Elektrolyseur", + "5048": "Sensorik", + "5049": "Stromzähler", + "5050": "Kommunikation", + "5051": "Betriebsart Backup-Modus der PV-Wechselrichter", + "5052": "Available power output", + "5053": "Manuelle Betriebsartvorgabe im Laborbetrieb", + "5054": "Read system data", + "5055": "Read system control", + "5056": "Control systems", + "5057": "System forecast", + "5058": "Read system data live", + "5059": "Read SmartHome control", + "5060": "SmartHome control", + "5061": "Alle Diagnosedaten exportieren", + "5062": "Nur Alarm-Meldungen exportieren", + "5063": "Nur Ereignisse exportieren", + "5064": "Nur Debugdaten exportieren (1)", + "5065": "Nur Debugdaten exportieren (2)", + "5066": "Nur Debugdaten exportieren (3)", + "5067": "Nur Debugdaten exportieren (4)", + "5068": "Nur Debugdaten exportieren (5)", + "5069": "Nur Debugdaten exportieren (6)", + "5070": "Nur Parameter-Meldungen exportieren", + "5071": "Nur Update-Meldungen eportieren", + "5072": "Nur Waveform Daten exportieren", + "5073": "|tn0| fehlgeschlagen. Fehlercode |d4|.", + "5074": "|tn0| abgeschlossen.", + "5075": "|tn0| gestartet.", + "5076": "Diagnoseexport des Subsystems ausführen", + "5077": "Referenz der Schieflastbegrenzung", + "5078": "Automatische Auswahl des Messpunktes", + "5079": "MQTT", + "5080": "MQTT Bridge aktiviert", + "5081": "MQTT Bridge deaktiviert", + "5082": "Verbindung zum MQTT Broker hergestellt", + "5083": "Verbindung zum MQTT Broker fehlgeschlagen. Fehlercode |d0|.", + "5084": "max. threshold trip. Time for reconnection after grid disconnection", + "5085": "min. threshold trip. Time for reconnection after grid disconnection", + "5086": "max. threshold trip. Time for reconnection after grid disconnection", + "5087": "min. threshold trip. Time for reconnection after grid disconnection", + "5088": "Time until reactivation of reactive power control", + "5089": "Active power upper threshold for activating", + "5090": "Overvoltage threshold for deactivation", + "5091": "Undervoltage threshold for deactivation", + "5092": "Overvoltage threshold for deactivation", + "5093": "Undervoltage threshold for deactivation", + "5094": "Wait time", + "5095": "Manual input", + "5096": "Frequency", + "5097": "Produktschlüssel", + "5098": "WPA2-PSK", + "5099": "RID", + "5100": "DEV-KEY", + "5101": "Ja, vorrübergehend", + "5102": "Ja, dauerhaft", + "5103": "PUK 2.0", + "5105": "Product Key (Installer)", + "5106": "SMA-Service Zugriff", + "5107": "Ablauf SMA-Service Zugriff", + "5108": "PUK 2.0 Login erfolgreich: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5109": "PUK 2.0 Login Authentifizierungsfehler: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5110": "PUK 2.0 Login Fehler: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4| Status: |dc|", + "5111": "PUK 2.0 Produktschlüssel aktualisiert: Level: |u8|", + "5112": "PUK 2.0 Offline Login angefragt: Level: |u8|", + "5113": "PUK 2.0 Offline Login beendet: Level |u8| Status: |xf||xe||xd||xc|", + "5114": "PUK 2.0 Passwort zurücksetzen angefragt: Level |u8|", + "5115": "PUK 2.0 Passwort zurücksetzen beendet: Level |u8| Status: |xf||xe||xd||xc|", + "5116": "PUK 2.0 Portal Token Angefrage beendet: Device: |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5117": "PUK 2.0 Login gestartet: Device |x1||x0| |x7||x6||x5||x4|", + "5118": "PUK 2.0 Login beendet: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5119": "PUK 2.0 Produktschlüssel auf Master aktualisiert: Device |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5120": "PUK 2.0 Password zurücksetzen beendet: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5121": "PUK 2.0 Offline Login beendet: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5122": "SMA-Service Passwort löschen", + "5125": "Energie DC-Eingang A", + "5126": "Energie DC-Eingang B", + "5127": "Energie DC-Eingang C", + "5128": "Energie DC-Eingang D", + "5129": "Energie DC-Eingang E", + "5130": "Energie DC-Eingang F", + "5131": "Energie DC-Eingang G", + "5132": "Energie DC-Eingang H", + "5133": "Energie DC-Eingang I", + "5134": "Energie DC-Eingang J", + "5135": "Energie DC-Eingang K", + "5136": "Energie DC-Eingang L", + "5137": "Energie DC-Eingang M", + "5138": "Energie DC-Eingang N", + "5139": "Energie DC-Eingang O", + "5140": "Energie DC-Eingang P", + "5141": "Tagesplan der möglichen PV Nachladung |d0|", + "5142": "Kurzzeitüberstromschutz hat ausgelöst", + "5143": "YAP available", + "7500": "[IT] Enel-GUIDA", + "7501": "[ES] RD1663/661-A", + "7502": "[TH] IEC61727/MEA", + "7503": "[TH] IEC61727/PEA", + "7504": "[IL] SI4777-2[TH] IEC", + "7505": "[CN] CGC/GF001", + "7506": "[DE] VDE0126-1-1/UTE", + "7507": "[KR] KEMCO502/2009", + "7508": "[JP] JP50", + "7509": "[JP] JP60", + "7510": "[DE] VDE-AR-N4105", + "7511": "[CN] GB-T19939-2005", + "7512": "[GB] G59/2", + "7513": "[DE] VDE-AR-N4105-MP", + "7514": "[DE] VDE-AR-N4105-HP", + "7515": "[KR] KEMCO501/2009", + "7516": "[IT] CEI 0-21", + "7517": "[IT] CEI 0-21 intern", + "7518": "[IT] CEI 0-21 extern", + "7519": "[US] UL1741/2010/277", + "7520": "[US] UL1741/2010/120", + "7521": "[US] UL1741/2010/240", + "7522": "[NL] NEN-EN50438", + "7523": "[BE] C10/11/2012", + "7524": "[ES] RD1699", + "7525": "[GB] G83/2", + "7526": "[FR] VFR2013", + "7527": "[FR] VFR2014", + "7528": "[GB] G59/3", + "7529": "[IL] SI4777_HS131_Pf", + "7530": "[TH] MEA2013", + "7531": "[TH] PEA2013", + "7532": "[EN] EN50438:2013", + "7533": "[NL] NEN-EN50438:2013", + "7534": "[SA] SA220V/60Hz", + "7535": "SMA WorstCase", + "7536": "SMA Default", + "7537": "SMA Other standard (60Hz)", + "7538": "[IL] SI4777_HS131_13", + "7539": "[ES] RD1699/413", "7540": "KEMCO2013", - "7541": "UL1741/2010/208", - "7542": "GPPWide", - "7543": "VDE0126-1-1_CH", - "7544": "VDE-AR-N4105-DK", - "7545": "VDE-AR-N4105-MC", - "7546": "Adjusted-MC", - "7547": "OENORME80014712", - "7548": "HECO2015", - "7549": "AS4777.2_2015", - "7550": "NRS97-2-1", - "7551": "NT_Ley2057", - "7552": "HECO2015/120", - "7553": "HECO2015/208", - "7554": "HECO2015/240", - "7555": "IEC61727", - "7556": "MEA2016", - "7557": "PEA2016", - "7558": "UL1741/2016/277", - "7559": "UL1741/2016/120", - "7560": "UL1741/2016/240", - "7561": "UL1741/2016/208", - "7562": "HECO2017/120", - "7563": "HECO2017/208", - "7564": "HECO2017/240", - "7565": "ABNT_NBR_16149_2013", - "7566": "IE-EN50438_2013", - "7567": "DEWA_2016_intern", - "7568": "DEWA_2016_extern", - "7569": "TOR_D4_2016", - "7570": "IEEE1547", - "7571": "CARule21", - "7572": "CEI0-16ext", - "7573": "G83/2-1_2018", - "7574": "G59/3-4_2018", - "8000": "DevClss0", - "8001": "DevClss1", - "8002": "DevClss2", - "8007": "DevClss7", - "8033": "DevClss33", - "8064": "DevClss64", - "8065": "DevClss65", - "8096": "DevClss96", - "8128": "DevClss128", - "8500": "ObjRoot", - "8501": "ObjVMem", - "8502": "ObjPwt", - "8503": "ObjCom", - "8504": "ObjFwChk", - "8505": "ObjCond", - "8506": "ObjSet", - "8507": "ObjLogDev", - "8508": "ObjLogObj", - "8509": "ObjTags", - "8510": "ObjPhyDev", - "8511": "ObjPhyObj", - "8512": "ObjLexe", - "8513": "ObjLexn", - "8514": "ObjLexa", - "8515": "ObjLs", - "8530": "ObjCnt", - "8531": "ObjAvMs", - "8532": "ObjMs", - "8533": "ObjStt", - "8534": "ObjPara", - "8535": "ObjStrgAvMs", - "8536": "ObjStrgLst", - "8537": "ObjStrgPara", - "8538": "ObjStrgMs", - "8539": "ObjAdpt", - "8540": "ObjLogTotWh", - "8541": "ObjLogEvt", - "8542": "ObjLogDyWh", - "8543": "ObjEvtCnt", - "8544": "ObjEvt", - "8545": "ObjTagLst", - "8546": "ObjTm", - "8547": "ObjPlntCtlPara", - "8548": "ObjVolCtlAvMs", - "8549": "ObjVolCtlMs", - "8550": "ObjVolCtlPara", - "8551": "ObjPlntCtl", - "8552": "ObjVolCtlStt", - "8553": "ObjLogTotWhOut", - "8554": "ObjLogTotWhIn", - "8555": "ObjLogDyWhOut", - "8556": "ObjLogDyWhIn", - "8557": "ObjExPlntCtl", - "8558": "ObjLogVPhA", - "8559": "ObjLogVPhB", - "8560": "ObjLogVPhC", - "8561": "ObjLogDcVol", - "8562": "ObjLogHz", - "8563": "ObjLogPcbTmp", - "8564": "ObjLogBatVolAv", - "8565": "ObjLogBatVolMax", - "8566": "ObjLogBatVolMin", - "8567": "ObjLogBatAmp", - "8568": "ObjLogBatTmpAv", - "8569": "ObjLogBatTmpMax", - "8570": "ObjLogBatTmpMin", - "8571": "ObjLogBatCapac", - "8572": "ObjLogPvWh", - "8573": "ObjLogTotCsmp", - "8574": "ObjLogSelfCsmp", - "8575": "ObjLogDirCsmp", - "8576": "ObjLogBatChrg", - "8577": "ObjLogBatDsch", - "8578": "ObjLogPvBat", - "8579": "ObjLogSelfSup", - "8580": "ObjLogGriW", - "8581": "MltLogPhsV", - "8582": "MltLogPhsA", - "8583": "ObjLogDcW", - "8584": "MltLogDcVol", - "8585": "MltLogDcAmp", - "8586": "ObjLogLeakRis", - "8587": "MltLogFltA", - "8588": "ObjLogHealth", - "8589": "ObjLogTotCsmpDy", - "8590": "ObjLogWhIn", - "8591": "ObjLogDyIn", - "8592": "ObjLogBatCha", - "8593": "GenLog1Min", - "8594": "GenLog5Min", - "8595": "GenLogDy", - "8596": "ObjLogBatChrgDy", - "8597": "ObjLogBatDschDy", - "8598": "ObjLogBatOpStt", - "8599": "ObjLogBatActlCapac", - "8600": "ObjLogBatChaStt", - "8601": "ObjLogBatActChrg", - "8602": "ObjLogBatActDsch", - "8603": "ObjLogAvailBatChrg", - "8604": "ObjLogAvailBatDsch", + "7541": "[US] UL1741/2010/208", + "7542": "[DE] GPPWide", + "7543": "[CH] VDE_0126-1-1-CH", + "7544": "[DK] VDE-AR-N4105-DK", + "7545": "[DE] VDE-AR-N4105-MC", + "7546": "SMA Adjusted-MC", + "7547": "[AT] OENORME80014712", + "7548": "[US] HECO2015", + "7549": "[AU] AS4777.2_2015", + "7550": "[ZA] NRS 097-2-1", + "7551": "[CL] NT_Ley20571", + "7552": "[US] HECO2015/120", + "7553": "[US] HECO2015/208", + "7554": "[US] HECO2015/240", + "7555": "IEC IEC61727", + "7556": "[TH] MEA2016", + "7557": "[TH] PEA2016", + "7558": "[US] UL1741/2016/277", + "7559": "[US] UL1741/2016/120", + "7560": "[US] UL1741/2016/240", + "7561": "[US] UL1741/2016/208", + "7562": "[US] HECO2017/120", + "7563": "[US] HECO2017/208", + "7564": "[US] HECO2017/240", + "7565": "[BR] ABNT NBR 16149:2013", + "7566": "[EU] IE-EN50438:2013", + "7567": "[AE] DEWA 2016 intern", + "7568": "[AE] DEWA 2016 extern", + "7569": "[AT] TOR D4 2016 ", + "7570": "[US] IEEE 1547", + "7571": "[US] CA Rule 21", + "7572": "[IT] CEI 0-16 external", + "7573": "[GB] G83/2-1:2018", + "7574": "[GB] G59/3-4:2018", + "7575": "[US] HECO_OHM Rule 14H SRD 1.1 / 120 L-N-L", + "7576": "[US] HECO_OHM Rule 14H SRD 1.1 / 208 L-L", + "7577": "[US] HECO_OHM Rule 14H SRD 1.1 / 240 L-L", + "7578": "[US] NE-ISO / 120 L-N-L", + "7579": "[US] NE-ISO / 208 L-L", + "7580": "[US] NE-ISO / 240 L-L", + "7581": "[US] CA Rule 21 / 120 L-N-L", + "7582": "[US] CA Rule 21 / 208 L-L", + "7583": "[US] CA Rule 21 / 240 L-L", + "7584": "[DE] VDE-AR-N4105:2018 Generators > 4.6 kVA", + "7584t": "Germany, Low Voltage Directive for generators > 4.6 kVA", + "7585": "[DE] VDE-AR-N4105:2018 Storage > 4.6 kVA", + "7585t": "Germany, Low Voltage Directive for storage > 4.6 kVA", + "7586": "[DE] VDE-AR-N4105:2018 Generators up to 4.6 kVA", + "7586t": "Germany, Low Voltage Directive for generators up to 4.6 kVA", + "7587": "[DE] VDE-AR-N4105:2018 Storage up to 4.6 kVA", + "7587t": "Germany, Low Voltage Directive for up to 4.6 kVA", + "7588": "[DE] VDE-AR-N4110:2018 Generator int. Decoup. Protection Device", + "7588t": "Germany, Medium Voltage Directive for generators with internal decoupling protection", + "7589": "[DE] VDE-AR-N4110:2018 Generator ext. Decoup. Protection Device", + "7589t": "Germany, Medium Voltage Directive for generators with external decoupling protection", + "7590": "[EU] EN50549-1:2018 LV", + "7590t": "Europe, Requirements for generators connected to LV distribution network", + "7591": "[EU] EN50549-2:2018 MV", + "7591t": "Europe, Requirements for generators connected to MV distribution network", + "7592": "SMA Default 2019 50Hz", + "7592t": "Default country dataset for 50Hz networks", + "7593": "SMA Default2019 60Hz", + "7593t": "Default country dataset for 60Hz networks", + "7594": "[UK] ENA-EREC-G98/1:2018", + "7594t": "Great Britain, Requirements for generators with max. 16 A per phase", + "7595": "[UK] ENA-EREC-G99/1:2018", + "7595t": "Great Britain, Requirements for generators with max. 16 A per phase", + "7596": "[BE] C10/11-LV1:2018 LV up to 10kVA", + "7596t": "Belgium, generators on low-voltage grid up to 10 kVA (up to 5 kVA single-phase)", + "7597": "[BE] C10/11-LV2:2018 LV >10kVA", + "7597t": "Belgium, generators on low-voltage grid >10 kVA", + "7598": "[BE] C10/11-MV1:2018 MV", + "7598t": "Belgium, generators on high-voltage grid up to 25 MW", + "7599": "[DK] Dansk Energi DK1:2019 LV", + "7599t": "Denmark, generators on low voltage grid, West Denmark (DK2) ", + "7600": "[DK] Dansk Energi DK2:2019 LV", + "7600t": "Denmark, generators on low voltage grid, East Denmark (DK2) ", + "7601": "SMA Default 2019 for grid management services", + "7602": "[BE] Synergrid C10/11:2019 LV Generators int. Decoup. Protection Device", + "7602t": "Belgien, Generator at low-voltage grid, Internal Decoupling Protection Device", + "7603": "[BE] Synergrid C10/11:2019 LV Generators ext. Decoup. Protection Device", + "7603t": "Belgien, Generator at low-voltage grid, External Decoupling Protection Device", + "7604": "[BE] Synergrid C10/11:2019 MV Generators int. Decoup. Protection Device", + "7604t": "Belgien, Generator at high-voltage grid, Internal Decoupling Protection Device", + "7605": "[BE] Synergrid C10/11:2019 MV Generators ext. Decoup. Protection Device", + "7605t": "Belgien, Generator at high-voltage grid, External Decoupling Protection Device", + "7606": "[BE] Synergrid C10/11:2019 LV Storage int. Decoup. Protection Device", + "7606t": "Belgien, Storage at low-voltage grid, Internal Decoupling Protection Device", + "7607": "[BE] Synergrid C10/11:2019 LV Storage ext. Decoup. Protection Device", + "7607t": "Belgien, Storage at low-voltage grid, External Decoupling Protection Device", + "7608": "[BE] Synergrid C10/11:2019 MV Storage int. Decoup. Protection Device", + "7608t": "Belgien, Storage at high-voltage grid, Internal Decoupling Protection Device", + "7609": "[BE] Synergrid C10/11:2019 MV Storage ext. Decoup. Protection Device", + "7609t": "Belgien, Storage at high-voltage grid, External Decoupling Protection Device", + "7610": "[IT] CEI0-21:2019 System ≤11.08 kW int. Decoup. Protection Device", + "7610t": "Italy, systems in low-voltage grids, up to 11,08 kW, with internal decoupling protection device", + "7611": "[IT] CEI0-21:2019 System ≤11.08 kW ext. Decoup. Protection Device", + "7611t": "Italy, systems in low-voltage grids, up to 11,08 kW, with internal decoupling protection device", + "7612": "[IT] CEI0-21:2019 System >11.08 kW ext. Decoup. Protection Device", + "7612t": "Italy, systems in low-voltage Grids, higher than 11,08 kW, with external decoupling protection device", + "7613": "[IT] CEI0-16:2019 System ≤6 MW", + "7613t": "Italy, systems in medium or high-voltage Grids, up to 6 MW", + "7614": "[AT] TOR Erzeuger Typ A V1.0:2019", + "7615": "[AT] TOR Generator Type A V1.0:2019", + "7615t": "Austria, Generators or Storage Typ A, in low-voltage grids, up to 250 kW", + "7616": "[AT] TOR Generator Type B V1.0:2019 System >250 kW", + "7616t": "Austria, Generators or Storage Typ B, in medium-voltage grids, higher than 250 kW up to 35 MW", + "7617": "[DE] VDE-AR-N 4120:2018", + "7618": "[FR] VFR:2019", + "7619": "[ES] P.O.12.2:2018", + "7620": "[IN] IEC 61727", + "7621": "[KR] PV 502:2013", + "7622": "[TW] CNS 15382:2018", + "7623": "[FI] VJV:2018", + "7624": "Production test", + "7625": "[ES] Orden TED 749:2020 Typ A Erzeugungsanlage ≤ 100 kW", + "7626": "[ES] Orden TED 749:2020 Typ B 100 kW > Erzeugungsanlage ≤ 5MW", + "7627": "[ES] Orden TED 749:2020 Typen C&D Erzeugungsanlage > 5MW", + "7628": "[PL] EN50549-1/19-PL: Typ A", + "7629": "[PL] EN50549-2/19-PL: Typ B", + "7630": "[US] IEEE 1547:2018, Abnormal Performance Cat.I, Normal Performance Cat. B", + "7631": "[US] IEEE 1547:2018, Abnormal Performance Cat.II, Normal Performance Cat. B", + "7632": "[US] IEEE 1547:2018, Abnormal Performance Cat.III, Normal Performance Cat. B", + "7633": "[IT] CEI0-21:2019 Storage ≤11,08 kW int. EKS", + "7634": "[IT] CEI0-21:2019 Storage >11,08 kW ext. EKS", + "7635": "[IT] CEI0-16:2019 Storage", + "8000": "All Devices", + "8001": "Solar Inverters", + "8002": "Wind Turbine Inverter", + "8003": "Wasserkraftwerk", + "8004": "BHKW", + "8005": "Brennstoffzelle", + "8006": "Diesel-Generator", + "8007": "Battery Inverter", + "8008": "Charging station", + "8009": "Hybrid-Wechselrichter", + "8010": "No translation in Taglist for ID 8010", + "8032": "Elektrolyseur", + "8033": "Load", + "8034": "No translation in Taglist for ID 8034", + "8064": "Sensor System in General", + "8065": "Electricity meter", + "8066": "Gas meter", + "8067": "Generic meter", + "8096": "Tracker", + "8128": "Communication products", + "8129": "No translation in Taglist for ID 8129", + "8500": "ROOT", + "8501": "VMEM", + "8502": "PWT", + "8503": "COM", + "8504": "FWCHK", + "8505": "COND", + "8506": "SET", + "8507": "LOGDEV", + "8508": "LOGOBJ", + "8509": "TAGS", + "8510": "PHYDEV", + "8511": "PHYOBJ", + "8512": "LEXE", + "8513": "LEXN", + "8514": "LEXA", + "8515": "LS", + "8516": "VERS", + "8530": "Counter object", + "8531": "5-min value object", + "8532": "Instantaneous value object", + "8533": "Status object", + "8534": "Parameter object", + "8535": "PV string group mean values", + "8536": "String list object", + "8537": "PV string group parameter", + "8538": "PV string group instantaneous values", + "8539": "Adaptor information", + "8540": "Data logger object energy", + "8541": "Data logger object event", + "8542": "Data logger object daily energy", + "8543": "Event counter object", + "8544": "Event object", + "8545": "Taglist object", + "8546": "Time setting object", + "8547": "PV system control parameter", + "8548": "PV voltage level mean values", + "8549": "PV voltage level instantaneous values", + "8550": "PV voltage level parameter", + "8551": "PV system control object", + "8552": "PV voltage level status", + "8553": "Data logger object supplied power", + "8554": "Data logger object consumed power", + "8555": "Data logger object supplied daily power", + "8556": "Data logger object consumed daily power", + "8557": "External PV system control object", + "8558": "Datenloggerobjekt Netzspannung Phase A", + "8559": "Datenloggerobjekt Netzspannung Phase B", + "8560": "Datenloggerobjekt Netzspannung Phase C", + "8561": "Datenloggerobjekt DC-Spannung", + "8562": "Datenloggerobjekt Netzfrequenz", + "8563": "Datenloggerobjekt PCB-Temperatur", + "8564": "Datenloggerobjekt Batteriespannung Mittelwert", + "8565": "Datenloggerobjekt Batteriespannung Max", + "8566": "Datenloggerobjekt Batteriespannung Min", + "8567": "Datenloggerobjekt Batteriestrom", + "8568": "Datenloggerobjekt Batterietemperatur Mittelwert", + "8569": "Datenloggerobjekt Batterietemperatur Max", + "8570": "Datenloggerobjekt Batterietemperatur Min", + "8571": "Datenloggerobjekt Batterie SOH", + "8572": "Datalogger obj. PV gen. meter", + "8573": "Datalogger obj. total consump.", + "8574": "Datalogger obj. self-consump.", + "8575": "Datalogger obj. direct consump.", + "8576": "Datalogger obj. battery charge", + "8577": "Datalogger obj. battery disch.", + "8578": "Datalogger obj. PV/batt. power", + "8579": "Data logger object self-supply", + "8580": "Data logger object feed-in power", + "8581": "Data logger object - phase voltage", + "8582": "Data logger object - phase current", + "8583": "Data logger object - DC power", + "8584": "Data logger object - DC voltage", + "8585": "Data logger object - DC current", + "8586": "Data logger object - insulation resistance", + "8587": "Data logger object - residual current", + "8588": "Data logger object - device state", + "8589": "Data logger object total consumption of current day", + "8590": "Data logger object absorbed energy", + "8591": "Data logger object daily value absorbed energy", + "8592": "Data logger object battery state of charge", + "8593": "Generic 1-minute logger", + "8594": "Generic 5-minute logger", + "8595": "Generic daily logger", + "8596": "Datenloggerobjekt Batterieladung des laufenden Tages", + "8597": "Datenloggerobjekt Batterieentladung des laufenden Tages", + "8598": "Data logger object battery status", + "8599": "Data logger object battery capacity", + "8600": "Data logger object battery state of charge", + "8601": "Datalogger obj. battery charge", + "8602": "Datalogger obj. battery disch.", + "8603": "Datalogger obj. Available charging power", + "8604": "Datalogger obj. Available discharging power", "8605": "Tesla", "8606": "Sony", "8607": "Daily-Powerwall-6.4kWh", "8608": "RESU-8.0", "8609": "RESU-9.8", - "8610": "RESU-10.0", - "8611": "ObjLogEnvTmp", - "8612": "ObjLogEnaStt", - "8613": "ObjLogThmPwrDmd", - "8614": "ObjLogDCBusVtg", - "8615": "ObjLogDCBusW", - "8616": "ObjLogLDSupVtg", - "8617": "ObjLogThmMgtSupVtg", - "8618": "ObjLogCmpBMSOpMode", - "8619": "TypOth", + "8610": "RESU-10H", + "8611": "Datalogger obj. Ambient temperature", + "8612": "Datalogger obj. Status enable signal", + "8613": "Datalogger obj. Climate management supply req.", + "8614": "Datalogger obj. - DC-bus voltage", + "8615": "Datalogger obj. - DC-bus power", + "8616": "Datalogger obj. Logic supply voltage", + "8617": "Datalogger obj. Climate mgmt. supply voltage", + "8618": "Datalogger obj. Battery management system command", + "8619": "Other type", "8620": "BYD", - "8621": "B-BOX-HV", + "8621": "BYD Battery-Box H (4 - 8)", "8622": "Kirchner", - "8623": "RESU-7.0", - "8624": "GenLogFlRec", - "8625": "ObjLogDcW_B", - "8626": "MltLogDcVol_B", - "8627": "MltLogDcAmp_B", + "8623": "RESU-7H", + "8624": "Generischer Logger Flight Recorder", + "8625": "Datenloggerobjekt DC-Leistung für String B", + "8626": "Datenloggerobjekt DC-Spannung für String B", + "8627": "Datenloggerobjekt DC-Strom für String B", + "8628": "Hyperion (3 - 6)", + "8629": "era:powerbase 7.5 - 15 HV", + "8630": "AXIstorage Li SH 3 – 6 Powerpack", + "8631": "BMZ", + "8632": "IBC Solar", + "8633": "Axitec", + "8634": "RESU-10M", + "8635": "SMART SOLAR", + "8636": "RESU16H Prim", + "8637": "LG Energy Solution", + "8638": "RESU10H Prime", "9000": "SWR 700", "9001": "SWR 850", "9002": "SWR 850E", @@ -4614,12 +5318,12 @@ "9053": "SB 7000US", "9054": "SMC 7000TL", "9055": "SMC 8000TL", - "9056": "SMC 9000TL", - "9057": "SMC 10000TL", - "9058": "SMC 11000TL", + "9056": "SMC 9000TL-10", + "9057": "SMC 10000TL-10", + "9058": "SMC 11000TL-10", "9059": "SB 3000 K", - "9060": "InvUnk", - "9061": "Sensorbox", + "9060": "Unknown device", + "9061": "SensorBox", "9062": "SMC 11000TLRP", "9063": "SMC 10000TLRP", "9064": "SMC 9000TLRP", @@ -4646,16 +5350,16 @@ "9085": "WB 5000TL-20", "9086": "SB 3800US-10", "9087": "Sunny Beam BT11", - "9088": "SC 500CP", - "9089": "SC 630CP", - "9090": "SC 800CP", - "9091": "SC 250U", - "9092": "SC 500U", - "9093": "SC 500HEUS", - "9094": "SC 760CP", - "9095": "SC 720CP", - "9096": "SC 910CP", - "9097": "SMU", + "9088": "Sunny Central 500CP", + "9089": "Sunny Central 630CP", + "9090": "Sunny Central 800CP", + "9091": "Sunny Central 250U", + "9092": "Sunny Central 500U", + "9093": "Sunny Central 500HEUS", + "9094": "Sunny Central 760CP", + "9095": "Sunny Central 720CP", + "9096": "Sunny Central 910CP", + "9097": "SMU8", "9098": "STP 5000TL-20", "9099": "STP 6000TL-20", "9100": "STP 7000TL-20", @@ -4668,8 +5372,8 @@ "9107": "SB 4500TL-JP-21", "9108": "SCSMC", "9109": "SB 1600TL-10", - "9110": "SSMUS", - "9111": "RemSoc", + "9110": "SSM US", + "9111": "radio-controlled socket", "9112": "WB 2000HF-30", "9113": "WB 2500HF-30", "9114": "WB 3000HF-30", @@ -4677,20 +5381,20 @@ "9116": "WB 2500HFUS-30", "9117": "WB 3000HFUS-30", "9118": "VIEW-10", - "9119": "Sunny HomeManager", + "9119": "Sunny Home Manager", "9120": "SMID", - "9121": "SC 800HE-20", - "9122": "SC 630HE-20", - "9123": "SC 500HE-20", - "9124": "SC 720HE-20", - "9125": "SC 760HE-20", + "9121": "Sunny Central 800HE-20", + "9122": "Sunny Central 630HE-20", + "9123": "Sunny Central 500HE-20", + "9124": "Sunny Central 720HE-20", + "9125": "Sunny Central 760HE-20", "9126": "SMC 6000A-11", "9127": "SMC 5000A-11", "9128": "SMC 4600A-11", "9129": "SB 3800-11", "9130": "SB 3300-11", "9131": "STP 20000TL-10", - "9132": "CT Meter", + "9132": "SMA CT Meter", "9133": "SB 2000HFUS-32", "9134": "SB 2500HFUS-32", "9135": "SB 3000HFUS-32", @@ -4700,7 +5404,7 @@ "9139": "STP 20000TLHE-10", "9140": "STP 15000TLHE-10", "9141": "SB 3000US-12", - "9142": "SB 3800-US-12", + "9142": "SB 3800US-12", "9143": "SB 4000US-12", "9144": "SB 5000US-12", "9145": "SB 6000US-12", @@ -4713,18 +5417,17 @@ "9152": "SB 7000TLUS-12", "9153": "SB 6000TLUS-12", "9154": "SB 1300TL-10", - "9155": "SBU 2200", - "9156": "SBU 5000", - "9157": "SI 2012", - "9158": "SI 2224", - "9159": "SI 5048", + "9155": "Sunny Backup 2200", + "9156": "Sunny Backup 5000", + "9157": "Sunny Island 2012", + "9158": "Sunny Island 2224", + "9159": "Sunny Island 5048", "9160": "SB 3600TL-20", "9161": "SB 3000TL-JP-22", "9162": "SB 3500TL-JP-22", "9163": "SB 4000TL-JP-22", "9164": "SB 4500TL-JP-22", "9165": "SB 3600TL-21", - "9166": "LUFFT", "9167": "Cluster Controller", "9168": "SC630HE-11", "9169": "SC500HE-11", @@ -4752,25 +5455,25 @@ "9191": "WTP 7000TL-20", "9192": "WTP 8000TL-20", "9193": "WTP 9000TL-20", - "9194": "STP 12kTL-US-10", - "9195": "STP 15kTL-US-10", - "9196": "STP 20kTL-US-10", - "9197": "STP 24kTL-US-10", - "9198": "SB 3000TL-US-22", - "9199": "SB 3800TL-US-22", - "9200": "SB 4000TL-US-22", - "9201": "SB 5000TL-US-22", - "9202": "WB 3000TL-US-22", - "9203": "WB 3800TL-US-22", - "9204": "WB 4000TL-US-22", - "9205": "WB 5000TL-US-22", + "9194": "STP 12000TL-US-10", + "9195": "STP 15000TL-US-10", + "9196": "STP 20000TL-US-10", + "9197": "STP 24000TL-US-10", + "9198": "SB 3000TLUS-22", + "9199": "SB 3800TLUS-22", + "9200": "SB 4000TLUS-22", + "9201": "SB 5000TLUS-22", + "9202": "WB 3000TLUS-22", + "9203": "WB 3800TLUS-22", + "9204": "WB 4000TLUS-22", + "9205": "WB 5000TLUS-22", "9206": "SC 500CP-JP", "9207": "SC 850CP", "9208": "SC 900CP", "9209": "SC 850 CP-US", "9210": "SC 900 CP-US", "9211": "SC 619CP", - "9212": "SMA Meteo Station Pro", + "9212": "SMA Meteo Station", "9213": "SC 800 CP-US", "9214": "SC 630 CP-US", "9215": "SC 500 CP-US", @@ -4780,119 +5483,119 @@ "9219": "SB 240-US BTF", "9220": "Grid Gate-20", "9221": "SC 500 CP-US/600V", - "9222": "STP 10kTL-JP-10", - "9223": "SI 6.0H", - "9224": "SI 8.0H", + "9222": "STP 10000TLEE-JP-10", + "9223": "Sunny Island 6.0H", + "9224": "Sunny Island 8.0H", "9225": "SB 5000SE-10", "9226": "SB 3600SE-10", "9227": "SC 800CP-JP", "9228": "SC 630CP-JP", "9229": "WebBox-30", "9230": "Power Reducer Box", - "9231": "S0 Box", - "9232": "SBC", - "9233": "SBC+", - "9234": "SBCL", - "9235": "SC 100 outdoor", - "9236": "SC 1000MV", - "9237": "SC 100LV", - "9238": "SC 1120MV", - "9239": "SC 125LV", - "9240": "SC 150", - "9241": "SC 200", - "9242": "SC 200HE", - "9243": "SC 250HE", - "9244": "SC 350", - "9245": "SC 350HE", - "9246": "SC 400HE-11", - "9247": "SC 400MV", - "9248": "SC 500HE", - "9249": "SC 500MV", - "9250": "SC 560HE", - "9251": "SC 630HE-11", - "9252": "SC 700MV", - "9253": "SCBFS", - "9254": "SI 3324", - "9255": "SI 4.0M", - "9256": "SI 4248", - "9257": "SI 4248U", - "9258": "SI 4500", - "9259": "SI 4548U", - "9260": "SI 5.4M", - "9261": "SI 5048U", - "9262": "SI 6048U", - "9263": "SMC 7000HV-11", - "9264": "Solar Tracker", + "9231": "Sunny Sensor Counter", + "9232": "Sunny Boy Control", + "9233": "Sunny Boy Control Plus", + "9234": "Sunny Boy Control Light", + "9235": "Sunny Central 100 Outdoor", + "9236": "Sunny Central 1000MV", + "9237": "Sunny Central 100 LV", + "9238": "Sunny Central 1120MV", + "9239": "Sunny Central 125 LV", + "9240": "Sunny Central 150", + "9241": "Sunny Central 200", + "9242": "Sunny Central 200 HE", + "9243": "Sunny Central 250 HE", + "9244": "Sunny Central 350", + "9245": "Sunny Central 350 HE", + "9246": "Sunny Central 400 HE", + "9247": "Sunny Central 400MV", + "9248": "Sunny Central 500 HE", + "9249": "Sunny Central 500MV", + "9250": "Sunny Central 560 HE", + "9251": "Sunny Central 630 HE", + "9252": "Sunny Central 700MV", + "9253": "Sunny Central Betriebsführung", + "9254": "Sunny Island 3324", + "9255": "Sunny Island 4.0M", + "9256": "Sunny Island 4248", + "9257": "Sunny Island 4248U", + "9258": "Sunny Island 4500", + "9259": "Sunny Island 4548U", + "9260": "Sunny Island 5.4M", + "9261": "Sunny Island 5048U", + "9262": "Sunny Island 6048U", + "9263": "Sunny Mini Central 7000HV-11", + "9264": "Sunny Solar Tracker", "9265": "Sunny Beam", - "9266": "SWR 700/150", - "9267": "SWR 700/200", - "9268": "SWR 700/250", - "9269": "WebBox SC", - "9270": "WebBox-10", - "9271": "STP 20kTL-JP-11", - "9272": "STP 10kTL-JP-11", + "9266": "Sunny Boy SWR 700/150", + "9267": "Sunny Boy SWR 700/200", + "9268": "Sunny Boy SWR 700/250", + "9269": "Sunny WebBox for SC", + "9270": "Sunny WebBox", + "9271": "STP 20000TLEE-JP-11", + "9272": "STP 10000TLEE-JP-11", "9273": "SB 6000TL-21", "9274": "SB 6000TL-US-22", "9275": "SB 7000TL-US-22", "9276": "SB 7600TL-US-22", "9277": "SB 8000TL-US-22", - "9278": "SI 3.0M", - "9279": "SI 4.4M", - "9280": "NonSMACsmp", + "9278": "Sunny Island 3.0M", + "9279": "Sunny Island 4.4M", + "9280": "Consumer external device", "9281": "STP 10000TL-20", "9282": "STP 11000TL-20", "9283": "STP 12000TL-20", "9284": "STP 20000TL-30", "9285": "STP 25000TL-30", - "9286": "SCS-500", - "9287": "SCS-630", - "9288": "SCS-720", - "9289": "SCS-760", - "9290": "SCS-800", - "9291": "SCS-850", - "9292": "SCS-900", + "9286": "Sunny Central Storage 500", + "9287": "Sunny Central Storage 630", + "9288": "Sunny Central Storage 720", + "9289": "Sunny Central Storage 760", + "9290": "Sunny Central Storage 800", + "9291": "Sunny Central Storage 850", + "9292": "Sunny Central Storage 900", "9293": "SB 7700TL-US-22", "9294": "SB20.0-3SP-40", "9295": "SB30.0-3SP-40", "9296": "SC 1000 CP", "9297": "Zeversolar 1000", - "9298": "SC 2200-10", - "9299": "SC 2200-US-10", - "9300": "SC 2475-EV-10", - "9301": "SB1.5-1VL-40", - "9302": "SB2.5-1VL-40", - "9303": "SB2.0-1VL-40", - "9304": "SB5.0-1SP-US-40", - "9305": "SB6.0-1SP-US-40", - "9306": "SB7.7-1SP-US-40", + "9298": "Sunny Central 2200", + "9299": "Sunny Central 2200-US", + "9300": "Sunny Central 2475", + "9301": "Sunny Boy 1.5", + "9302": "Sunny Boy 2.5", + "9303": "Sunny Boy 2.0", + "9304": "Sunny Boy 5.0", + "9305": "Sunny Boy 6.0", + "9306": "Sunny Boy 7.7", "9307": "Energy Meter", - "9308": "ZoneMonitoring", - "9309": "STP 27kTL-US-10", - "9310": "STP 30kTL-US-10", - "9311": "STP 25kTL-JP-30", - "9312": "SSM30", + "9308": "Zone Monitoring", + "9309": "STP 27000TL-US-10", + "9310": "STP 30000TL-US-10", + "9311": "STP 25000TL-JP-30", + "9312": "SMA String Monitor", "9313": "SB50.0-3SP-40", - "9314": "PlugwiseCircle", - "9315": "PlugwiseSting", - "9316": "SCS-1000", + "9314": "Plugwise Circle", + "9315": "Plugwise Stealth/Sting", + "9316": "Sunny Central Storage 1000", "9317": "SB 5400TL-JP-22", - "9318": "SCS-1000-KRBS", - "9319": "SB3.0-1AV-40", - "9320": "SB3.6-1AV-40", - "9321": "SB4.0-1AV-40", - "9322": "SB5.0-1AV-40", - "9323": "MltBox12-2", - "9324": "SBS1.5-1VL-10", - "9325": "SBS2.0-1VL-10", - "9326": "SBS2.5-1VL-10", + "9318": "Sunny Central Storage 1000 KRBS", + "9319": "Sunny Boy 3.0", + "9320": "Sunny Boy 3.6", + "9321": "Sunny Boy 4.0", + "9322": "Sunny Boy 5.0", + "9323": "Multicluster Box 12-2", + "9324": "Sunny Boy Storage 1.5", + "9325": "Sunny Boy Storage 2.0", + "9326": "Sunny Boy Storage 2.5", "9327": "SMA Energy Meter", - "9328": "SB3.0-1SP-US-40", - "9329": "SB3.8-1SP-US-40", - "9330": "SB7.0-1SP-US-40", - "9331": "SI 3.0M-12", - "9332": "SI 4.4M-12", - "9333": "SI 6.0H-12", - "9334": "SI 8.0H-12", + "9328": "Sunny Boy 3.0", + "9329": "Sunny Boy 3.8", + "9330": "Sunny Boy 7.0", + "9331": "Sunny Island 3.0M", + "9332": "Sunny Island 4.4M", + "9333": "Sunny Island 6.0H", + "9334": "Sunny Island 8.0H", "9335": "SMA Com Gateway", "9336": "STP 15000TL-30", "9337": "STP 17000TL-30", @@ -4901,2523 +5604,3974 @@ "9340": "STP50-JP-40", "9341": "Edimax SP-2101W", "9342": "Edimax SP-2110W", - "9343": "Sunny HomeManager 2.0", - "9344": "STP4.0-3AV-40", - "9345": "STP5.0-3AV-40", - "9346": "STP6.0-3AV-40", - "9347": "STP8.0-3AV-40", - "9348": "STP10.0-3AV-40", + "9343": "Sunny Home Manager 2.0", + "9344": "SUNNY TRIPOWER 4.0", + "9345": "SUNNY TRIPOWER 5.0", + "9346": "SUNNY TRIPOWER 6.0", + "9347": "SUNNY TRIPOWER 8.0", + "9348": "SUNNY TRIPOWER 10.0", "9349": "STP4.0-3SP-40", "9350": "STP5.0-3SP-40", "9351": "STP6.0-3SP-40", "9352": "STP8.0-3SP-40", "9353": "STP10.0-3SP-40", - "9354": "STP 24.5kTL-JP-30", - "9355": "STP 20kTL-JP-30", + "9354": "STP 24500TL-JP-30", + "9355": "STP 20000TL-JP-30", "9356": "SBS3.7-10", - "9357": "gelöscht", + "9357": "SBS4.6-10", "9358": "SBS5.0-10", "9359": "SBS6.0-10", "9360": "SBS3.8-US-10", "9361": "SBS5.0-US-10", "9362": "SBS6.0-US-10", - "9363": "SBS4.0-JP-10", + "9363": "SPS-SM40-1A", "9364": "SBS5.0-JP-10", "9365": "Edimax SP-2101W V2", "9366": "STP3.0-3AV-40", "9367": "STP3.0-3SP-40", - "9368": "TIGO_TS4_M", - "9369": "TIGO_TS4_S", - "9370": "TIGO_TS4_O", - "9371": "TIGO_TS4_L", - "9372": "TIGO_ES75", - "9373": "TIGO_2ES", - "9374": "TIGO_JBOX", - "9375": "Wattnote Modbus RTU", + "9368": "TS4-M", + "9369": "TS4-S", + "9370": "TS4-O", + "9371": "TS4-L", + "9372": "Tigo_ES75", + "9373": "Tigo_2ES", + "9374": "Tigo_JBOX", + "9375": "Wattnode Modbus RTU", "9376": "SunSpec Modbus RTU", - "9377": "SMA-TGIB", - "9378": "SMA-CelMdm", - "9379": "SC 1850-US-10", - "9380": "SC 2500-US-EV-10", - "9381": "SC 2940-10", - "9382": "SC 2940-US-10", - "9383": "SCS 2200-10", - "9384": "SCS 2500-EV-10", - "9385": "SCS 2500-EV-US-10", - "9386": "SCS 2200-US-10", - "9387": "SC 2750-EV-10", - "9388": "SC 2750-EV-US-10", - "9389": "SCS 2750-EV-10", - "9390": "SCS 2750-EV-US-10", - "9391": "SCS 2475-10", - "9392": "SCS 2475-US-10", - "9393": "SB/STP Demo", - "9394": "TIGO_GW", - "9395": "TIGO_GW2", + "9377": "SMA Gateway Interface Module", + "9378": "SMA Cellular Modem Module", + "9379": "Sunny Central 1850", + "9380": "Sunny Central 2500-US", + "9381": "Sunny Central 2940", + "9382": "Sunny Central 2940-US", + "9383": "Sunny Central Storage 2200", + "9384": "Sunny Central Storage 2500-EV", + "9385": "Sunny Central Storage 2500-US-EV", + "9386": "Sunny Central Storage 2200-US", + "9387": "Sunny Central 2750-EV", + "9388": "Sunny Central 2750-US-EV", + "9389": "Sunny Central Storage 2750-EV", + "9390": "Sunny Central Storage 2750-US-EV", + "9391": "Sunny Central Storage 2475", + "9392": "Sunny Central Storage 2475-US", + "9393": "SB / STP Demo", + "9394": "Tigo Gateway", + "9395": "Tigo Gateway 2", "9396": "SMA DATA MANAGER M", "9397": "EDMM-10", "9398": "EDMM-US-10", - "9399": "EDMS-10", + "9399": "EMETER-30", "9400": "EDMS-US-10", - "9401": "SB3.0-1AV-41", - "9402": "SB3.6-1AV-41", - "9403": "SB4.0-1AV-41", - "9404": "SB5.0-1AV-41", - "9405": "SB6.0-1AV-41", - "9406": "SHP 100k-20", - "9407": "SHP 150k-20", - "9408": "SHP 125k-US-20", - "9409": "SHP 150k-US-20", - "9410": "SHP 100k-JP-20", - "9411": "SHP 150k-JP-20", - "9412": "SC 2475-10", - "9413": "SC 3000-EV-10", - "9414": "SCS 3000-EV-10", - "9415": "SC 1760-US-10", - "9416": "SC 2000-US-10", - "9417": "SC 2500-EV-10", - "9418": "SCS 1900-10", - "9419": "SCS 1900-US-10", - "9420": "SCS 2900-10", - "9421": "SCS 2900-US-10", - "9422": "SB3.0-1AV-US_42", - "9423": "SB3.8-1AV-US_42", - "9424": "SB4.8-1AV-US_42", - "9425": "SB5.8-1AV-US_42", - "9426": "SB4.4-1AV-JP-42", - "9427": "SB5.5-1AV-JP-42", + "9401": "Sunny Boy 3.0", + "9402": "Sunny Boy 3.6", + "9403": "Sunny Boy 4.0", + "9404": "Sunny Boy 5.0", + "9405": "Sunny Boy 6.0", + "9406": "SHP 100-20", + "9407": "SHP 150-20", + "9408": "SHP 125-US-20", + "9409": "SHP 150-US-20", + "9410": "SHP 100-JP-20", + "9411": "SHP 150-JP-20", + "9412": "Sunny Central 2475", + "9413": "Sunny Central 3000-EV", + "9414": "Sunny Central Storage 3000-EV", + "9415": "Sunny Central 1760 US", + "9416": "Sunny Central 2000 US", + "9417": "Sunny Central 2500-EV-10", + "9418": "Sunny Central Storage 1900", + "9419": "Sunny Central Storage 1900-US", + "9420": "Sunny Central Storage 2900", + "9421": "Sunny Central Storage 2900-US", + "9422": "Sunny Boy 3.0-US", + "9423": "Sunny Boy 3.8-US", + "9424": "Sunny Boy 4.8-US", + "9425": "Sunny Boy 5.8-US", + "9426": "Sunny Boy 4.4-JP", + "9427": "Sunny Boy 5.5-JP", "9428": "STP62-US-41", "9429": "STP50-US-41", "9430": "STP33-US-41", "9431": "STP50-41", "9432": "STP50-JP-41", - "9433": "SC2000-EV-US-10", + "9433": "Sunny Central 2000-EV-US", "9434": "SMA DATA MANAGER L", "9435": "EDML-10", "9436": "EDML-US-10", "9437": "SMA Revenue Grade Meter", - "9438": "SMASpot", - "9439": "SB3.0-1SP-US-41", - "9440": "SB3.8-1SP-US-41", - "9441": "SB5.0-1SP-US-41", - "9442": "SB6.0-1SP-US-41", - "9443": "SB7.0-1SP-US-41", - "9444": "SB7.7-1SP-US-41", - "9445": "SB3.0-1TP-US-41", - "9446": "SB3.8-1TP-US-41", - "9447": "SB5.0-1TP-US-41", - "9448": "SB6.0-1TP-US-41", - "9449": "SB7.0-1TP-US-41", - "9450": "SB7.7-1TP-US-41", - "9451": "SLQ15.0-3AV-41", - "9452": "SLQ18.0-3AV-41", - "9453": "SLQ20.0-3AV-41", - "9454": "SLQ23.0-3AV-41", - "9455": "SB5.5-LV-JP-41", - "9456": "STPS60-10", - "9457": "SC 4000-UP", - "9458": "SC 4000-UP-US", - "9459": "SCS 4000-UP", - "9460": "SCS 4000-UP-US", - "9461": "SC 4200-UP", - "9462": "SC 4200-UP-US", - "9463": "SCS 4200-UP", - "9464": "SCS 4200-UP-US", - "9465": "SC 4400-UP", - "9466": "SC 4400-UP-US", - "9467": "SCS 4400-UP", - "9468": "SCS 4400-UP-US", - "9469": "SC 4600-UP", - "9470": "SC 4600-UP-US", - "9471": "SCS 4600-UP", - "9472": "SCS 4600-UP-US", - "9499": "TmZnTmSvr", - "9500": "TmZn+0430Kabul", - "9501": "TmZn-0900Alaska", - "9502": "TmZn+0300Kuwait", - "9503": "TmZn+0400AbuDhabi", - "9504": "TmZn+0300Bagdad", - "9505": "TmZn-0400Atlantik", - "9506": "TmZn+0930Darwin", - "9507": "TmZn+1000Canberra", - "9508": "TmZn+0400Baku", - "9509": "TmZn-0100Azoren", - "9510": "TmZn-0600Saskatchewan", - "9511": "TmZn-0100Kapverden", - "9512": "TmZn+0400Eriwan", - "9513": "TmZn+0930Adelaide", - "9515": "TmZn+0600Astana", - "9516": "TmZn-0400Manaus", - "9517": "TmZn+0100Belgrad", - "9518": "TmZn+0100Sarajevo", - "9519": "TmZn+1100Magadan", - "9520": "TmZn-0600Zentralamerika", - "9521": "TmZn-0600GuadalajaraAlt", - "9522": "TmZn+0800Peking", - "9523": "TmZn-1200Westen", - "9524": "TmZn+0300Nairobi", - "9525": "TmZn+1000Brisbane", - "9526": "TmZn+0200Minsk", - "9527": "TmZn-0300Brasilia", - "9528": "TmZn-0500NewYork", - "9529": "TmZn+0200Kairo", - "9530": "TmZn+0500Jekaterinburg", - "9531": "TmZn+1200Fidschi", - "9532": "TmZn+0200Helsinki", - "9533": "TmZn+0400Tiflis", - "9534": "TmZn+0000Dublin", - "9535": "TmZn-0300Groenland", - "9536": "TmZn+0000Monrovia", - "9537": "TmZn+0200Athen", - "9538": "TmZn-1000Hawaii", - "9539": "TmZn+0530Chennai", - "9540": "TmZn+0330Teheran", - "9541": "TmZn+0200Jerusalem", - "9542": "TmZn+0200Amman", - "9543": "TmZn+0900Seoul", - "9544": "TmZn+0800KualaLumpur", - "9545": "TmZn-0200Mittelatlantik", - "9546": "TmZn+0200Beirut", - "9547": "TmZn-0700Denver", - "9548": "TmZn-0700ChihuahuaAlt", - "9549": "TmZn+0630Yangon", - "9550": "TmZn+0600Nowosibirsk", - "9551": "TmZn+0200Windhuk", - "9552": "TmZn+0545Katmandu", - "9553": "TmZn+1200Auckland", - "9554": "TmZn-0330Neufundland", - "9555": "TmZn+0800Irkutsk", - "9556": "TmZn+0700Krasnojarsk", - "9557": "TmZn-0400Santiago", - "9558": "TmZn-0800Pacific", - "9559": "TmZn-0800Tijuana", - "9560": "TmZn+0100Bruessel", - "9561": "TmZn+0300Moskau", - "9562": "TmZn-0300BuenosAires", - "9563": "TmZn-0500Bogota", - "9564": "TmZn-0430Caracas", - "9565": "TmZn-1100Midway", - "9566": "TmZn+0700Bangkok", - "9567": "TmZn+0200Harare", - "9568": "TmZn+0530SriJayawardenepura", - "9569": "TmZn+0800Taipeh", - "9570": "TmZn+1000Hobart", - "9571": "TmZn+0900Osaka", - "9572": "TmZn+1300Nukualofa", - "9573": "TmZn-0500Indiana", - "9574": "TmZn-0700Arizona", - "9575": "TmZn+1000Wladiwostok", - "9576": "TmZn+0800Perth", - "9577": "TmZn+0100WestZentralafrika", - "9578": "TmZn+0100Amsterdam", - "9579": "TmZn+0500Islamabad", - "9580": "TmZn+1000Guam", - "9581": "TmZn+0900Jakutsk", - "9582": "TmZn+0400Kaukasus", - "9583": "TmZn-0600Chicago", - "9584": "TmZn-0600GuadalajaraNeu", - "9585": "TmZn+0000Casablanca", - "9586": "TmZn+0400PortLouis", - "9587": "TmZn-0700ChihuahuaNeu", - "9588": "TmZn-0300Montevideo", - "9589": "TmZn+0500Taschkent", - "9591": "TmZn-0400LaPaz", - "9592": "TmZn+0800UlanBator", - "9593": "TmZn-0300Cayenne", - "9594": "TmZn-0400Asuncion", - "9595": "TmZn+1200Petropawlowsk", - "9596": "TmZn+0300Minsk", - "9597": "TmZn+0700Nowosibirsk", - "9598": "TmZn-0400Caracas", - "10001": "Metering.TotWhOut", - "10002": "Metering.TotW", - "10003": "Operation.Apr.MppSrchStt", - "10004": "Operation.EstMaxWdc", - "10005": "Metering.TotWhIn", - "10006": "Operation.EstMaxWac", - "10007": "PCC.WMaxAsym", - "10008": "Coolsys.FanCab3.AbsOpTms", - "10009": "Operation.EvtCntUsr", - "10010": "Operation.GriSwCnt", - "10011": "Metering.TotOpTms", - "10012": "Metering.TotFeedTms", - "10013": "Operation.EvtCntIstl", - "10014": "Operation.EvtCntSvc", - "10015": "Metering.AbsWhIn", - "10016": "Metering.AbsWhOut", - "10017": "Metering.AbsOpTms", - "10018": "Metering.AbsFeedTms", - "10019": "Operation.AbsGriSwCnt", - "10020": "Coolsys.FanCab1.AbsOpTms", - "10021": "Coolsys.FanCab2.AbsOpTms", - "10022": "Coolsys.FanHs.AbsOpTms", - "10023": "Coolsys.FanTrf1.AbsOpTms", - "10024": "Coolsys.FanTrf2.AbsOpTms", - "10025": "Operation.DatStoCnt", - "10026": "Operation.EvtCntDvlp", - "10027": "Operation.Evt.EvtNoShrt", - "10028": "Operation.RmgTms", - "10029": "PCC.WMaxAsymMod", - "10030": "GridMs.TotW", - "10031": "GridMs.W.phsA", - "10032": "GridMs.W.phsB", - "10033": "GridMs.W.phsC", - "10034": "Itf.MsCyc", - "10035": "GridMs.PhV.phsA", - "10036": "GridMs.PhV.phsB", - "10037": "GridMs.PhV.phsC", - "10038": "GridMs.TotA", - "10039": "GridMs.A.phsA", - "10040": "GridMs.A.phsB", - "10041": "GridMs.A.phsC", - "10042": "GridMs.Hz", - "10043": "GridMs.TotVAr", - "10044": "GridMs.VAr.phsA", - "10045": "GridMs.VAr.phsB", - "10046": "GridMs.VAr.phsC", - "10047": "GridMs.TotVA", - "10048": "GridMs.VA.phsA", - "10049": "GridMs.VA.phsB", - "10050": "GridMs.VA.phsC", - "10051": "Isolation.FltANom", - "10052": "Isolation.LeakRisNom", - "10053": "GridMs.VolNom", - "10054": "GridMs.PhVNom.phsA", - "10055": "GridMs.PhVNom.phsB", - "10056": "GridMs.PhVNom.phsC", - "10057": "GridMs.HzNom", - "10058": "GridMs.TotWNom", - "10059": "GridMs.TotWNomSet", - "10060": "GridMs.TotWNomLimSet", - "10061": "GridMs.TotVArNom", - "10062": "GridMs.TotVArNomSet", - "10063": "GridMs.TotANom", - "10064": "GridMs.ANom.phsA", - "10065": "GridMs.ANom.phsB", - "10066": "GridMs.ANom.phsC", - "10067": "Coolsys.TmpNom", - "10068": "Env.TmpValMax", - "10069": "Env.TmpVal", - "10070": "Env.TotInsol", - "10071": "Env.DifInsol", - "10072": "Env.DirInsol", - "10073": "Env.ExInsol", - "10074": "Env.HorWSpd", - "10075": "Env.HorWDir", - "10076": "Env.Hmdt", - "10077": "Env.Pres", - "10078": "Isolation.FltA", - "10079": "Isolation.LeakRis", - "10080": "Nameplate.SerNum", - "10081": "Operation.HealthStt.Ok", - "10082": "Operation.HealthStt.Wrn", - "10083": "Operation.HealthStt.Alm", - "10084": "Operation.HealthStt.Off", - "10085": "Operation.PrioStt.PrioA", - "10086": "Operation.PrioStt.PrioC", - "10087": "Coolsys.Aux1.TmpVal", - "10088": "Coolsys.Aux1.TmpValMax", - "10089": "Coolsys.Aux2.TmpVal", - "10090": "Coolsys.Aux2.TmpValMax", - "10091": "Coolsys.Cab.TmpVal", - "10092": "Coolsys.Cab.TmpValMax", - "10093": "Coolsys.Hs1.TmpVal", - "10094": "Coolsys.Hs1.TmpValMax", - "10095": "Coolsys.Hs2.TmpVal", - "10096": "Coolsys.Hs2.TmpValMax", - "10097": "Coolsys.Tr.TmpVal", - "10098": "Coolsys.Tr.TmpValMax", - "10099": "Coolsys.Cab.TmpValIstl", - "10100": "Coolsys.Cab.TmpValMaxIstl", - "10101": "Mdul.TmpVal", - "10102": "Mdul.TmpValMax", - "10103": "Coolsys.Inverter.TmpValMax", - "10104": "Coolsys.Inverter.TmpVal", - "10105": "Coolsys.Pcb.TmpValMax", - "10106": "Coolsys.Pcb.TmpVal", - "10107": "Acs.InstCode", - "10108": "Inverter.DclVol", - "10109": "Operation.Evt.EvtNo", - "10110": "Operation.Health", - "10111": "Operation.Evt.Prio", - "10112": "Operation.Evt.Msg", - "10113": "Operation.Evt.Dsc", - "10114": "Operation.GriSwStt", - "10115": "Operation.DrtStt", - "10116": "Operation.CtrlType", - "10117": "Acs.InstCodeSvc", - "10118": "Operation.CmpBMS.Typ", - "10119": "Operation.Ackn", - "10120": "Operation.RemEna", - "10121": "Inverter.WLim", - "10122": "Card.Stt", - "10123": "Operation.OpMod", - "10124": "Coolsys.FanTst", - "10125": "Inverter.StopTms", - "10126": "GridGuard.Cntry", - "10127": "Nameplate.Location", - "10128": "Nameplate.MainModel", - "10129": "Nameplate.Model", - "10130": "Nameplate.Vendor", - "10131": "GnCtl.GnMod", - "10132": "GnCtl.Reg.KI", - "10133": "GnCtl.MinW", - "10134": "Metering.TotOpTmhSet", - "10135": "Metering.TotFeedTmhSet", - "10136": "Coolsys.FanCab1.TotTmhSet", - "10137": "Coolsys.FanCab2.TotTmhSet", - "10138": "Coolsys.FanHs.TotTmhSet", - "10139": "Coolsys.FanTrf1.TotTmhSet", - "10140": "Coolsys.FanTrf2.TotTmhSet", - "10141": "Operation.ValRsIstl", - "10142": "Coolsys.FanCab3.TotTmhSet", - "10143": "Operation.LodFnc", - "10144": "Card.Func", - "10145": "Coolsys.Aux1.TmpLim", - "10146": "Coolsys.Aux2.TmpLim", - "10147": "Coolsys.Cab.TmpLim", - "10148": "Coolsys.Cab.Tmp", - "10149": "Coolsys.Hs1.TmpLim", - "10150": "Coolsys.Hs1.Tmp", - "10151": "Coolsys.Hs2.TmpLim", - "10152": "Coolsys.Hs2.Tmp", - "10153": "Coolsys.Tr.TmpLim", - "10154": "Coolsys.Tr.Tmp", - "10155": "Coolsys.Pcb.TmpLim", - "10156": "Coolsys.Inverter.TmpLim", - "10157": "Eth.TrtDevIp", - "10158": "Eth.MsgCyc", - "10159": "Inverter.WMax", - "10160": "Inverter.WMaxA", - "10161": "Inverter.WMaxB", - "10162": "Inverter.WMaxC", - "10163": "Inverter.WMod", - "10164": "Inverter.OutPhs", - "10165": "Inverter.OffGri.HzdStr", - "10166": "Inverter.OffGri.HzdLim", - "10167": "GridGuard.Cntry.AMaxOfs", - "10168": "GridGuard.Cntry.AMaxOfsTmms", - "10169": "GridGuard.Cntry.GriFltTms", - "10170": "GridGuard.Cntry.GriFltReConTms", - "10171": "GridGuard.Cntry.GriFltMonTms", - "10172": "GridGuard.Cntry.GriStrTms", - "10173": "GridGuard.Cntry.Aid.AngFact", - "10174": "GridGuard.Cntry.FrqCtl.Max", - "10175": "GridGuard.Cntry.FrqCtl.MaxTmms", - "10176": "GridGuard.Cntry.FrqCtl.hhLim", - "10177": "GridGuard.Cntry.FrqCtl.hhLimTmms", - "10178": "GridGuard.Cntry.FrqCtl.hLim", - "10179": "GridGuard.Cntry.FrqCtl.hLimTmms", - "10180": "GridGuard.Cntry.FrqCtl.lLim", - "10181": "GridGuard.Cntry.FrqCtl.lLimTmms", - "10182": "GridGuard.Cntry.FrqCtl.llLim", - "10183": "GridGuard.Cntry.FrqCtl.llLimTmms", - "10184": "GridGuard.Cntry.FrqCtl.Min", - "10185": "GridGuard.Cntry.FrqCtl.MinTmms", - "10186": "GridGuard.Cntry.VolCtl.Max", - "10187": "GridGuard.Cntry.VolCtl.MaxTmms", - "10188": "GridGuard.Cntry.VolCtl.hhLim", - "10189": "GridGuard.Cntry.VolCtl.hhLimTmms", - "10190": "GridGuard.Cntry.VolCtl.hLim", - "10191": "GridGuard.Cntry.VolCtl.hLimTmms", - "10192": "GridGuard.Cntry.VolCtl.lLim", - "10193": "GridGuard.Cntry.VolCtl.lLimTmms", - "10194": "GridGuard.Cntry.VolCtl.llLim", - "10195": "GridGuard.Cntry.VolCtl.llLimTmms", - "10196": "GridGuard.Cntry.VolCtl.Min", - "10197": "GridGuard.Cntry.VolCtl.MinTmms", - "10198": "GridGuard.Cntry.VolCtl.Rpro", - "10199": "PubGri.ACtl.Max", - "10200": "Bt.BtPwr", - "10201": "GridGuard.CntrySet", - "10202": "GridGuard.Cntry.PEOpnMon", - "10203": "GridGuard.Cntry.LeakRisMin", - "10204": "Operation.ProdTst", - "10205": "GridGuard.CntryBas", - "10207": "Card.DatLog", - "10209": "DcMs.Vol", - "10210": "DcMs.VolA", - "10211": "DcMs.VolB", - "10212": "DcMs.VolC", - "10213": "DcMs.Amp", - "10214": "DcMs.AmpA", - "10215": "DcMs.AmpB", - "10216": "DcMs.AmpC", - "10217": "DcMs.Watt", - "10218": "DcMs.WattA", - "10219": "DcMs.WattB", - "10220": "DcMs.WattC", - "10221": "DcMs.AmpNom", - "10222": "DcMs.VolNom", - "10223": "DcMs.WattNom", - "10224": "DcMs.VolMax", - "10225": "DcMs.VolMaxA", - "10226": "DcMs.VolMaxB", - "10227": "DcMs.VolMaxC", - "10228": "DcMs.AmpA1", - "10229": "DcMs.AmpA2", - "10230": "DcMs.AmpA3", - "10231": "DcMs.AmpA4", - "10232": "DcMs.AmpA5", - "10233": "DcMs.AmpB1", - "10241": "DcCfg.StrTms", - "10242": "DcCfg.StrVol", - "10243": "DcCfg.VolLim", - "10244": "DcCfg.VolLimA", - "10245": "DcCfg.VolLimB", - "10246": "DcCfg.VolLimC", - "10247": "DcCfg.ConstVolCtl.Vset", - "10248": "DcCfg.ConstVolCtl.VsetA", - "10249": "DcCfg.ConstVolCtl.VsetB", - "10250": "DcCfg.ConstVolCtl.VsetC", - "10257": "GridGuard.Cntry.VRtg", - "10258": "Nameplate.ComRev", - "10259": "Metering.TotkWhOutSet", - "10260": "Metering.TotkWhInSet", - "10261": "Env.TmpValMaxSet", - "10263": "Coolsys.Cab.TmpValMaxSet", - "10264": "Coolsys.Hs1.TmpValMaxSet", - "10265": "Coolsys.Hs2.TmpValMaxSet", - "10266": "Coolsys.Tr.TmpValMaxSet", - "10267": "Coolsys.Inverter.TmpValMaxSet", - "10268": "Coolsys.Pcb.TmpValMaxSet", - "10269": "Coolsys.Aux1.TmpValMaxSet", - "10270": "Coolsys.Aux2.TmpValMaxSet", - "10272": "Metering.DyWhOut", - "10273": "Operation.GriSwCntSet", - "10274": "Inverter.WMaxTm", - "10275": "Operation.ValRsSvc", - "10276": "Mdul.TmpValMaxSet", - "10277": "Operation.ValRsUsr", - "10278": "DtTm.Tm", - "10279": "Nameplate.AvalGrpUsr", - "10280": "Nameplate.AvalGrpIstl", - "10281": "Nameplate.AvalGrpSvc", - "10282": "Nameplate.AvalGrpDvlp", - "10283": "Sys.SwRevStt", - "10284": "Acs.PwdUsr", - "10285": "Acs.PwdIstl", - "10286": "Acs.PwdSvc", - "10287": "Acs.PwdDvlp", - "10288": "Plnt.AcqCnt", - "10289": "Plnt.AcqTm", - "10290": "Itf.Itf1Hw", - "10291": "Itf.Itf2Hw", - "10292": "Itf.Itf3Hw", - "10293": "Acs.PlntPwd", - "10294": "Nameplate.Bat.Detl.Vendor", - "10295": "Nameplate.Bat.Detl.Typ", - "10297": "Eth.Dhcp.DnsSrvIp", - "10298": "Eth.Dhcp.GwIp", - "10299": "Eth.Dhcp.Ip", - "10300": "Eth.Dhcp.Nam", - "10301": "Eth.Dhcp.SnetMsk", - "10302": "Eth.Nat.WanIp", - "10303": "Mdm.IspIp", - "10304": "Operation.Bat.HtMod", - "10305": "Operation.Bat.GriHtMod", - "10306": "DtTm.IsDlSvTm", - "10308": "CntrySettings.DtFmt", - "10309": "CntrySettings.Lang", - "10310": "CntrySettings.LenUnt", - "10311": "CntrySettings.NumFmt", - "10312": "CntrySettings.TmpUnt", - "10313": "CntrySettings.TmFmt", - "10314": "DtTm.DlSvIsOn", - "10315": "DtTm.TmSynIsOn", - "10316": "DtTm.TmZn", - "10317": "Upd.AutoUpdIsOn", - "10318": "Upd.AutoUpdTm", - "10319": "DevUpd.IsOn", - "10320": "Eth.Dhcp.IsOn", - "10321": "Eth.DnsSrvIp", - "10322": "Eth.GwIp", - "10323": "Eth.Ip", - "10324": "Eth.SnetMsk", - "10325": "Eth.Nat.Port", - "10326": "Eth.Proxy.IsOn", - "10327": "Eth.Proxy.Login", - "10328": "Eth.Proxy.Port", - "10329": "Eth.Proxy.Pwd", - "10330": "Eth.Proxy.Srv", - "10331": "WebSvc.Port", - "10332": "HTTP.Port", - "10333": "Mdm.ConnTst", - "10334": "Mdm.GprsApn", - "10335": "Mdm.IspPhone", - "10336": "Mdm.IspPwd", - "10337": "Mdm.Pin", - "10338": "Mdm.SigTst", - "10339": "PortalFnc.DatUpld", - "10340": "PortalFnc.DatUpldStt", - "10341": "PortalFnc.PortalTst", - "10342": "PortalFnc.PortalTstStt", - "10343": "PortalFnc.Regist", - "10344": "PortalFnc.RegistStt", - "10345": "PortalUsrSettings.Nam", - "10346": "PortalUsrSettings.Email", - "10347": "PortalUsrSettings.PlntNam", - "10348": "PortalUsrSettings.PlntId", - "10349": "PortalBscSettings.PortalAct", - "10350": "PortalBscSettings.UpldIntv", - "10351": "DnsSvc.Stt", - "10352": "DnsSvc.IsOn", - "10353": "DnsSvc.Pwd", - "10354": "FTPPush.IsOn", - "10355": "FTPPush.ConnTst", - "10356": "FTPPush.Login", - "10357": "FTPPush.Port", - "10358": "FTPPush.Pwd", - "10359": "FTPPush.Srv", - "10360": "FTPSrv.IsOn", - "10361": "FTPSrv.DatStoEna", - "10362": "Mdm.GprsAlwsOn", - "10363": "Nameplate.CmpMdul.SwRev", - "10364": "Nameplate.CmpMdul.HwRev", - "10365": "Nameplate.CmpMdul.Rev", - "10366": "Nameplate.CmpMdul.SwUpdRev", - "10367": "Nameplate.CmpMdul.SerNum", - "10368": "Nameplate.CmpMdul.SusyId", - "10372": "Nameplate.DevNum", - "10373": "Nameplate.PkgRev", - "10374": "Sys.DevSig", - "10375": "Nameplate.CmpMain.SwRev", - "10376": "Nameplate.CmpMain.HwRev", - "10377": "Nameplate.CmpMain.Rev", - "10378": "Nameplate.CmpMain.SwUpdRev", - "10379": "Nameplate.CmpMain.SerNum", - "10380": "Nameplate.CmpMain.SusyId", - "10381": "Nameplate.CmpCom.SwRev", - "10382": "Nameplate.CmpCom.HwRev", - "10383": "Nameplate.CmpCom.Rev", - "10384": "Nameplate.CmpCom.SwUpdRev", - "10385": "Nameplate.CmpCom.SerNum", - "10386": "Nameplate.CmpCom.SusyId", - "10387": "Nameplate.CmpFltASw.SwRev", - "10388": "Nameplate.CmpFltASw.HwRev", - "10389": "Nameplate.CmpFltASw.Rev", - "10390": "Nameplate.CmpFltASw.SwUpdRev", - "10391": "Nameplate.CmpFltASw.SerNum", - "10392": "Nameplate.CmpFltASw.SusyId", - "10393": "Nameplate.CmpDisp.SwRev", - "10394": "Nameplate.CmpDisp.HwRev", - "10395": "Nameplate.CmpDisp.Rev", - "10396": "Nameplate.CmpDisp.SwUpdRev", - "10397": "Nameplate.CmpDisp.SerNum", - "10398": "Nameplate.CmpDisp.SusyId", - "10399": "Nameplate.CmpSigProc.SwRev", - "10400": "Nameplate.CmpSigProc.HwRev", - "10401": "Nameplate.CmpSigProc.Rev", - "10402": "Nameplate.CmpSigProc.SwUpdRev", - "10403": "Nameplate.CmpSigProc.SerNum", - "10404": "Nameplate.CmpSigProc.SusyId", - "10405": "Nameplate.CmpRS485.SwRev", - "10406": "Nameplate.CmpRS485.HwRev", - "10407": "Nameplate.CmpRS485.Rev", - "10408": "Nameplate.CmpRS485.SwUpdRev", - "10409": "Nameplate.CmpRS485.SerNum", - "10410": "Nameplate.CmpRS485.SusyId", - "10411": "Nameplate.CmpZb.SwRev", - "10412": "Nameplate.CmpZb.HwRev", - "10413": "Nameplate.CmpZb.Rev", - "10414": "Nameplate.CmpZb.SwUpdRev", - "10415": "Nameplate.CmpZb.SerNum", - "10416": "Nameplate.CmpZb.SusyId", - "10417": "Nameplate.CmpBt.SwRev", - "10418": "Nameplate.CmpBt.HwRev", - "10419": "Nameplate.CmpBt.Rev", - "10420": "Nameplate.CmpBt.SwUpdRev", - "10421": "Nameplate.CmpBt.SerNum", - "10422": "Nameplate.CmpBt.SusyId", - "10423": "Nameplate.CmpOS.SwRev", - "10424": "Nameplate.CmpOS.HwRev", - "10425": "Nameplate.CmpOS.Rev", - "10426": "Nameplate.CmpOS.SwUpdRev", - "10427": "Nameplate.CmpOS.SerNum", - "10428": "Nameplate.CmpOS.SusyId", - "10429": "Nameplate.SubPlntNam", - "10430": "PortalBscSettings.Srv", - "10431": "DtTm.PlntTmOfs", - "10432": "Metering.S0Cnt", - "10433": "Metering.S0WhIn", - "10434": "Operation.RsCnt", - "10435": "GridMs.TotWIn", - "10436": "Operation.StrFltDet.ValRsIstl", - "10437": "Operation.StrFltDet.OpMod", - "10438": "Inverter.VArModCfg.VArMod", - "10439": "Inverter.WModCfg.WMod", - "10440": "Inverter.WCtlHzModCfg.WCtlHzMod", - "10441": "Operation.PlntCtl.Stt", - "10443": "Inverter.VArModCfg.VArCtlVolCfg.VDif", - "10444": "Inverter.VArModCfg.VArCtlVolCfg.VDifTms", - "10445": "Inverter.VArModCfg.VArCtlVolCfg.VOfsNom", - "10446": "Inverter.VArModCfg.VArCtlVolCfg.VArGra", - "10447": "Inverter.VArModCfg.VArModPwrIn", - "10448": "Inverter.VArModCfg.VArCnstCfg.VAr", - "10449": "Inverter.VArModCfg.VArCnstCfg.VArNom", - "10451": "Inverter.VArModCfg.VArCtlWCfg.VArStr", - "10452": "Inverter.VArModCfg.VArCtlWCfg.WStr", - "10453": "Inverter.VArModCfg.VArCtlWCfg.VArStop", - "10454": "Inverter.VArModCfg.VArCtlWCfg.WStop", - "10455": "Inverter.VArModCfg.PFCnstCfg.PF", - "10456": "Inverter.VArModCfg.PFCnstCfg.PFExt", - "10457": "Inverter.VArModCfg.PFCtlWCfg.PFExtStr", - "10458": "Inverter.VArModCfg.PFCtlWCfg.PFStr", - "10459": "Inverter.VArModCfg.PFCtlWCfg.WStr", - "10460": "Inverter.VArModCfg.PFCtlWCfg.PFExtStop", - "10461": "Inverter.VArModCfg.PFCtlWCfg.PFStop", - "10462": "Inverter.VArModCfg.PFCtlWCfg.WStop", - "10463": "Inverter.WModCfg.WCnstCfg.W", - "10464": "Inverter.WModCfg.WCnstCfg.WNom", - "10466": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStr", - "10467": "Inverter.WCtlHzModCfg.WCtlHzCfg.WGra", - "10468": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStop", - "10469": "Inverter.WCtlHzModCfg.WCtlHzCfg.HystEna", - "10471": "Inverter.VArMax", - "10472": "Inverter.VArLim", - "10473": "Inverter.VAMax", - "10474": "Inverter.VALim", - "10475": "Inverter.PFAbsMin", - "10476": "Inverter.PFAbsLim", - "10477": "Inverter.WGraRecon", - "10478": "Inverter.WGraReconEna", - "10479": "Inverter.WGra", - "10480": "Inverter.WGraEna", - "10481": "Nameplate.CmpPvPro.SwRev", - "10482": "Nameplate.CmpPvPro.HwRev", - "10483": "Nameplate.CmpPvPro.SwUpdRev", - "10484": "Nameplate.CmpPvPro.Rev", - "10485": "Nameplate.CmpPvPro.SerNum", - "10486": "Nameplate.CmpPvPro.SusyId", - "10487": "Operation.InvCtl.Stt", - "10488": "GridMs.TotVANom", - "10489": "Coolsys.BstConv1.TmpVal", - "10490": "Coolsys.BstConv1.TmpValMax", - "10491": "Coolsys.BstConv2.TmpVal", - "10492": "Coolsys.BstConv2.TmpValMax", - "10493": "Coolsys.BstConv.TmpLim", - "10494": "Coolsys.BstConv1.TmpValMaxSet", - "10495": "Coolsys.BstConv2.TmpValMaxSet", - "10496": "GridGuard.Cntry.Aid.PhAngMax", - "10497": "GridGuard.Cntry.Aid.PhAngMaxTmms", - "10498": "GridGuard.Cntry.FrqCtl.ChgMax", - "10499": "GridGuard.Cntry.FrqCtl.ChgMaxTmms", - "10500": "GridGuard.Cntry.FrqCtl.ReconMin", - "10501": "GridGuard.Cntry.FrqCtl.ReconMax", - "10502": "GridGuard.Cntry.HzRtg", - "10503": "Operation.ClbAcVol", - "10504": "Operation.ClbAcVolStt", - "10505": "Operation.ClbAcVolPhs", - "10506": "GridGuard.Cntry.Mdul.GndAmpMax", - "10507": "GridGuard.Cntry.Mdul.GndAmpMaxTmms", - "10508": "Cntry.Mdul.GndMdt", - "10509": "Cntry.Mdul.GndModReq", - "10510": "Mdul.GndModStt", - "10511": "Nameplate.CmpProtConv.SwRev", - "10512": "Nameplate.CmpProtConv.HwRev", - "10513": "Nameplate.CmpProtConv.Rev", - "10514": "Nameplate.CmpProtConv.SwUpdRev", - "10515": "Nameplate.CmpProtConv.SerNum", - "10516": "Nameplate.CmpProtConv.SusyId", - "10517": "DtTm.PlntTmSet", - "10518": "DtTm.TmSyn", - "10519": "SysLog.ActStopDt", - "10520": "Dev.ExCT", - "10521": "Dev.PriA", - "10522": "Dev.ScdA", - "10523": "AdptBt.RAA.AdptCmd", - "10524": "AdptBt.DAA.AdptCmd", - "10525": "AdptEth.RAA.AdptCmd", - "10526": "AdptEth.DAA.AdptCmd", - "10527": "AdptSer.RAA.AdptCmd", - "10528": "AdptSer.DAA.AdptCmd", - "10529": "AdptSpdwr.RAA.AdptCmd", - "10530": "AdptSpdwr.DAA.AdptCmd", - "10531": "AdptWebConn.RAA.AdptCmd", - "10532": "AdptWebConn.DAA.AdptCmd", - "10535": "AdptBt.RAA.AdptConnNd", - "10536": "AdptBt.DAA.AdptConnNd", - "10537": "AdptEth.RAA.AdptConnNd", - "10538": "AdptEth.DAA.AdptConnNd", - "10539": "AdptSer.RAA.AdptConnNd", - "10540": "AdptSer.DAA.AdptConnNd", - "10541": "AdptSpdwr.RAA.AdptConnNd", - "10542": "AdptSpdwr.DAA.AdptConnNd", - "10543": "AdptWebConn.RAA.AdptConnNd", - "10544": "AdptWebConn.DAA.AdptConnNd", - "10547": "AdptBt.RAA.AdptNdLst", - "10548": "AdptBt.DAA.AdptNdLst", - "10549": "AdptEth.RAA.AdptNdLst", - "10550": "AdptEth.DAA.AdptNdLst", - "10551": "AdptSer.RAA.AdptNdLst", - "10552": "AdptSer.DAA.AdptNdLst", - "10553": "AdptSpdwr.RAA.AdptNdLst", - "10554": "AdptSpdwr.DAA.AdptNdLst", - "10555": "AdptWebConn.RAA.AdptNdLst", - "10556": "AdptWebConn.DAA.AdptNdLst", - "10559": "AdptBt.RAA.AdptConnQual", - "10560": "AdptBt.DAA.AdptConnQual", - "10561": "AdptEth.RAA.AdptConnQual", - "10562": "AdptEth.DAA.AdptConnQual", - "10563": "AdptSer.RAA.AdptConnQual", - "10564": "AdptSer.DAA.AdptConnQual", - "10565": "AdptSpdwr.RAA.AdptConnQual", - "10566": "AdptSpdwr.DAA.AdptConnQual", - "10567": "AdptWebConn.RAA.AdptConnQual", - "10568": "AdptWebConn.DAA.AdptConnQual", - "10571": "AdptBt.RAA.AdptStt", - "10572": "AdptBt.DAA.AdptStt", - "10573": "AdptEth.RAA.AdptStt", - "10574": "AdptEth.DAA.AdptStt", - "10575": "AdptSer.RAA.AdptStt", - "10576": "AdptSer.DAA.AdptStt", - "10577": "AdptSpdwr.RAA.AdptStt", - "10578": "AdptSpdwr.DAA.AdptStt", - "10579": "AdptWebConn.RAA.AdptStt", - "10580": "AdptWebConn.DAA.AdptStt", - "10583": "Inverter.VArModCfg.VArCtlComCfg.VAr", - "10584": "Inverter.VArModCfg.VArCtlComCfg.VArNom", - "10585": "Inverter.WModCfg.WCtlComCfg.W", - "10586": "Inverter.WModCfg.WCtlComCfg.WNom", - "10587": "Inverter.VArModCfg.PFCtlComCfg.PF", - "10588": "Inverter.VArModCfg.PFCtlComCfg.PFExt", - "10589": "Inverter.PlntCtl.IntvTmsMax", - "10590": "Exp.DatExpNoTag", - "10591": "Exp.EvtExpNoTag", - "10592": "AdptBt.RAA.AdptFlt", - "10593": "AdptBt.DAA.AdptFlt", - "10594": "AdptEth.RAA.AdptFlt", - "10595": "AdptEth.DAA.AdptFlt", - "10596": "AdptSer.RAA.AdptFlt", - "10597": "AdptSer.DAA.AdptFlt", - "10598": "AdptSpdwr.RAA.AdptFlt", - "10599": "AdptSpdwr.DAA.AdptFlt", - "10600": "AdptWebConn.RAA.AdptFlt", - "10601": "AdptWebConn.DAA.AdptFlt", - "10610": "DcCfg.MPPShdw.CycTms", - "10611": "DcCfg.MPPShdw.WMaxMpp", - "10612": "DcCfg.MPPShdw.IsOn", - "10613": "AdptBt.RAA.AdptNetId", - "10614": "AdptBt.DAA.AdptNetId", - "10615": "AdptEth.RAA.AdptNetId", - "10616": "AdptEth.DAA.AdptNetId", - "10617": "AdptSer.RAA.AdptNetId", - "10618": "AdptSer.DAA.AdptNetId", - "10619": "AdptSpdwr.RAA.AdptNetId", - "10620": "AdptSpdwr.DAA.AdptNetId", - "10621": "AdptWebConn.RAA.AdptNetId", - "10622": "AdptWebConn.DAA.AdptNetId", - "10625": "AdptBt.RAA.AdptEvt", - "10626": "AdptBt.DAA.AdptEvt", - "10627": "AdptEth.RAA.AdptEvt", - "10628": "AdptEth.DAA.AdptEvt", - "10629": "AdptSer.RAA.AdptEvt", - "10630": "AdptSer.DAA.AdptEvt", - "10631": "AdptSpdwr.RAA.AdptEvt", - "10632": "AdptSpdwr.DAA.AdptEvt", - "10633": "AdptWebConn.RAA.AdptEvt", - "10634": "AdptWebConn.DAA.AdptEvt", - "10637": "DcMs.VolSpt", - "10638": "DcMs.DrtStt", - "10639": "Inverter.DclVolSpt", - "10640": "Upd.SwPkgLcn", - "10641": "Plnt.DAAID", - "10642": "Metering.S0kWh", - "10643": "Metering.TotS0", - "10644": "Metering.TotkWhSet", - "10645": "Metering.TotWh", - "10646": "Inverter.WGraPrc", - "10647": "Plnt.RAAID", - "10648": "GridGuard.Cntry.VolCtl.ReconMin", - "10649": "GridGuard.Cntry.VolCtl.ReconMax", - "10650": "Inverter.VArModCfg.VArCtlVolCfg.VolRefNom", - "10651": "Inverter.VArModCfg.VArCtlVolCfg.VArMaxNom", - "10652": "Inverter.VArModCfg.VArCtlVolCfg.VolWidNom", - "10653": "Inverter.VArModCfg.VArCtlVolCfg.VArGraNom", - "10654": "Inverter.VArModCfg.VArCtlVolCfg.VArTms", - "10655": "Inverter.VArModCfg.PFCtlWCfg.WNomStr", - "10656": "Inverter.VArModCfg.PFCtlWCfg.WNomStop", - "10657": "Nameplate.PkgUpdAval", - "10658": "Inverter.DGSModCfg.PwrCirOvVolInopVolNom", - "10659": "Inverter.DGSModCfg.PwrCirOvVolInopTms", - "10660": "Inverter.PlntCtl.VRef", - "10661": "Inverter.VArGra", - "10662": "Inverter.PlntCtl.VRefOfs", - "10663": "Inverter.DGSModCfg.PwrCirInopVolNom", - "10664": "Inverter.DGSModCfg.PwrCirInopTms", - "10665": "Inverter.DGSModCfg.DGSFlCfg.ArGraMod", - "10666": "Inverter.DGSModCfg.DGSFlCfg.ArGraNom", - "10667": "Upd.AvalChkIstl", - "10668": "Inverter.DGSModCfg.HystVolNom", - "10669": "Diag.CmpMain.CpuMon", - "10670": "Diag.CmpMain.CpuLod", - "10671": "FTPPush.RemStoLcn", - "10672": "Operation.IREStt", - "10673": "Operation.AbsDcSwCnt", - "10674": "Inverter.DGSModCfg.DGSFlCfg.DbVolNomMin", - "10675": "Inverter.DGSModCfg.DGSFlCfg.DbVolNomMax", - "10676": "FTPPush.ConnTstRsl", - "10677": "Inverter.DGSModCfg.DGSMod", - "10678": "Nameplate.PkgTrtRev", - "10679": "Nameplate.PkgUpdRev", - "10680": "Cntry.Mdul.GndFltRea", - "10681": "FTPPush.DatExpNoTag", - "10682": "FTPPush.DatExpCSVIsOn", - "10683": "FTPPush.DatExpXMLIsOn", - "10684": "Exp.DatExpCSVIsOn", - "10685": "Exp.DatExpXMLIsOn", - "10686": "GridMs.TotPF", - "10687": "Inverter.VArModCfg.VArCtlVolCfg.VArGraMod", - "10688": "GridGuard.Cntry.Aid.HzMon.Stt", - "10689": "GridGuard.Cntry.Aid.HzMon.HzMonTmms", - "10690": "GridGuard.Cntry.Aid.AsymDet.Stt", - "10691": "GridGuard.Cntry.Aid.AsymDet.AsymMax", - "10692": "GridGuard.Cntry.Aid.AsymDet.AsymMaxTmms", - "10693": "MltFncSw.OpMode", - "10694": "MltFncSw.SelfCsmp.MinOnTmm", - "10695": "MltFncSw.SelfCsmp.MinOnPwr", - "10696": "MltFncSw.SelfCsmp.MinOnPwrTmm", - "10697": "Sys.DevRstr", - "10698": "MltFncSw.ComCtl.Stt", - "10699": "Inverter.DcCtlTurCfg.PC1", - "10700": "Inverter.DcCtlTurCfg.PC2", - "10701": "Inverter.DcCtlTurCfg.PC3", - "10702": "Inverter.DcCtlTurCfg.PC4", - "10703": "Inverter.DcCtlTurCfg.KP", - "10704": "Inverter.DcCtlTurCfg.KI", - "10705": "Inverter.DcCtlTurCfg.KD", - "10706": "DcCfg.StopVol", - "10707": "MltFncSw.BatCha.MinOnPwr", - "10708": "MltFncSw.BatCha.MinReconTmm", - "10709": "GridGuard.Cntry.LoginMdt", - "10710": "GridMs.TotPFPrc", - "10711": "GridMs.TotPFExt", - "10712": "Metering.TotWhMod", - "10713": "Metering.PvMs.TotWhOut", - "10714": "Metering.GridMs.TotWhOut", - "10715": "Metering.GridMs.TotWhIn", - "10716": "Metering.PvMs.TotWOut", - "10717": "Metering.GridMs.TotWOut", - "10718": "Metering.GridMs.TotWIn", - "10719": "GridGuard.Cntry.Aid.HzMon.HzLim", - "10720": "GridGuard.Cntry.Aid.ImpMon.AmpAmpl", - "10721": "GridGuard.Cntry.Aid.ImpMon.MaxImpGra", - "10722": "GridGuard.Cntry.Aid.ImpMon.Stt", - "10723": "GridGuard.Cntry.Aid.PerAid.Ampl", - "10724": "GridGuard.Cntry.Aid.PerAid.Hz", - "10725": "GridGuard.Cntry.Aid.PasAid.Stt", - "10726": "GridGuard.Cntry.VolCtl.hLimNom", - "10727": "GridGuard.Cntry.VolCtl.lLimNom", - "10728": "GridGuard.Cntry.VolCtl.ReconMaxNom", - "10729": "GridGuard.Cntry.VolCtl.ReconMinNom", - "10730": "GridGuard.Cntry.VRefOfs", - "10731": "GridMs.CO2Red", - "10732": "GridMs.CO2RedSpc", - "10733": "GridMs.GriTyp", - "10734": "GridMs.Imp", - "10735": "Inverter.DcCtlTurCfg.PMid", - "10736": "Inverter.DcCtlTurCfg.PwrCirInopVol", - "10737": "Inverter.DcCtlTurCfg.VMid", - "10738": "Inverter.DcCtlTurCfg.VMax", - "10739": "Inverter.DcCtlTurCfg.VStr", - "10740": "Inverter.DcCtlTurCfg.WGra", - "10741": "Inverter.RplDet.Ampl", - "10742": "Inverter.RplDet.Hz", - "10743": "Inverter.RplDet.OpMod", - "10744": "Mdul.GndVol", - "10745": "Nameplate.BstConv.HwRev", - "10746": "Nameplate.BstConv.SwRev", - "10747": "Operation.BckOpMod", - "10748": "Operation.BckStt", - "10749": "Operation.PwrBal.OpMod", - "10750": "Operation.PwrBal.PwrGrd.MaxW", - "10751": "Metering.PvMs.TotS0Out", - "10752": "Metering.GridMs.TotS0Out", - "10753": "Metering.GridMs.TotS0In", - "10754": "GridGuard.Cntry.GridGuardRev", - "10755": "Metering.SelfCsmp.TotWIn", - "10756": "Metering.Csmp.TotWIn", - "10757": "Metering.SelfCsmp.AbsSelfCsmpInc", - "10758": "Metering.SelfCsmp.DySelfCsmpInc", - "10759": "Operation.PvGriConn", - "10760": "Operation.CsmpGriConnStt", - "10761": "Bat.Diag.CapacThrpCnt", - "10762": "SelfCsmp.OpMod", - "10763": "SelfCsmp.BatChaSttMin", - "10764": "Operation.ComFltSSMId", - "10765": "Operation.StrFltDet.SMUWrnId", - "10766": "Diag.SigIn1Stt", - "10767": "Diag.SigIn2Stt", - "10768": "DevUpd.OpMode", - "10769": "DevUpd.UpdSrc", - "10770": "DevUpd.Stt", - "10771": "Upd.TxAttCnt", - "10772": "Upd.TxAttTm", - "10773": "Metering.PvMs.S0kWhOut", - "10774": "Metering.GridMs.S0kWhOut", - "10775": "Metering.GridMs.S0kWhIn", - "10776": "Upd.OpMode", - "10777": "GriSw.AutoComFailStt", - "10778": "GriSw.InitAutoStt", - "10779": "GriSw.Stt", - "10780": "GriSw.AutoSttSet", - "10781": "GriSw.Auto", - "10782": "Operation.ComTmOut", - "10783": "GriSw.StrDet", - "10784": "Inverter.DGSModCfg.DGSFlCfg.ArGraNomPrc", - "10785": "Operation.AutoEna", - "10786": "Metering.Csmp.TotWhIn", - "10787": "Upd.TxAttRev", - "10788": "GridMs.PhV.phsA2B", - "10789": "Diag.AOfs", - "10790": "Metering.GridMs.TotkWhOutSet", - "10791": "Metering.GridMs.TotkWhInSet", - "10792": "Metering.ADir.phsA", - "10793": "Metering.ADir.phsB", - "10794": "Operation.ActFnc", - "10795": "Inverter.WModCfg.GriSwOpnZerW", - "10796": "Inverter.WCtlVolModCfg.CrvNum", - "10797": "Inverter.UtilCrvCfg.Crv.CrvTms", - "10798": "Inverter.UtilCrvCfg.Crv.RmpDec", - "10799": "Inverter.UtilCrvCfg.Crv.RmpInc", - "10800": "Inverter.UtilCrvCfg.Crv.NumPt", - "10801": "Inverter.UtilCrvCfg.Crv.XVal1", - "10802": "Inverter.UtilCrvCfg.Crv.YVal1", - "10803": "Inverter.UtilCrvCfg.Crv.XVal2", - "10804": "Inverter.UtilCrvCfg.Crv.YVal2", - "10805": "Inverter.UtilCrvCfg.Crv.XVal3", - "10806": "Inverter.UtilCrvCfg.Crv.YVal3", - "10807": "Inverter.UtilCrvCfg.Crv.XVal4", - "10808": "Inverter.UtilCrvCfg.Crv.YVal4", - "10809": "Inverter.UtilCrvCfg.Crv.XVal5", - "10810": "Inverter.UtilCrvCfg.Crv.YVal5", - "10811": "Inverter.UtilCrvCfg.Crv.XVal6", - "10812": "Inverter.UtilCrvCfg.Crv.YVal6", - "10813": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopWGra", - "10814": "Inverter.WGraConn", - "10815": "Inverter.WGraMpp", - "10816": "AdptBt.RtNd.SerNum", - "10817": "AdptBt.RtNd.SusyId", - "10818": "Alrm.Email.IsOn", - "10819": "Alrm.Email.RptInf", - "10820": "Alrm.Email.Recp", - "10821": "Alrm.Email.TstEmailTx", - "10822": "Alrm.FTPPush.IsOn", - "10823": "FTPPush.UpldCyc", - "10824": "Mb.TcpSrv.IsOn", - "10825": "Mb.TcpSrv.Port", - "10826": "Mb.UdpSrv.IsOn", - "10827": "Mb.UdpSrv.Port", - "10828": "Spdwr.DhcpSrv.IsOn", - "10829": "Spdwr.DhcpSrv.MinIp", - "10830": "Spdwr.DhcpSrv.MaxIp", - "10831": "Spdwr.DhcpSrv.SnetMsk", - "10832": "Spdwr.DhcpSrv.Ip", - "10833": "DtTm.TmSynSrc", - "10834": "DtTm.NtpSrv", - "10835": "InOut.DigInGrp1", - "10836": "InOut.DigInGrp2", - "10837": "InOut.AnInA1", - "10838": "InOut.AnInA2", - "10839": "InOut.AnInA3", - "10840": "InOut.AnInVol1", - "10841": "Card.FreMem", - "10842": "Inverter.AfciIsOn", - "10843": "Metering.Csmp.TotkWhInSet", - "10844": "Metering.MsItf1.ConnLcn", - "10845": "Metering.MsItf2.ConnLcn", - "10846": "Metering.MsItf3.ConnLcn", - "10847": "Metering.MsItf1.MsType", - "10848": "Metering.MsItf2.MsType", - "10849": "Metering.MsItf3.MsType", - "10850": "Metering.ADir.phsC", - "10851": "Inverter.OffGri.OffGriAct", - "10852": "Env.InsolSns.Crv0.InsolMin", - "10853": "Env.InsolSns.Crv0.InsolMax", - "10854": "Env.InsolSns.Crv0.MsValMin", - "10855": "Env.InsolSns.Crv0.MsValMax", - "10856": "USB.FreMem", - "10857": "USB2.FreMem", - "10858": "Inverter.FstStop", - "10859": "Metering.GridMs.DyWhOut", - "10860": "Metering.GridMs.DyWhIn", - "10861": "Nameplate.CmpMain.Typ", - "10862": "Nameplate.CmpCom.Typ", - "10863": "Nameplate.CmpFltASw.Typ", - "10864": "Nameplate.CmpDisp.Typ", - "10865": "Nameplate.CmpSigProc.Typ", - "10866": "Nameplate.CmpRS485.Typ", - "10867": "Nameplate.CmpZb.Typ", - "10868": "Nameplate.CmpBt.Typ", - "10869": "Nameplate.CmpOS.Typ", - "10870": "Nameplate.CmpPvPro.Typ", - "10871": "Nameplate.CmpProtConv.Typ", - "10872": "Nameplate.CmpMdul.Typ", - "10873": "Operation.KeySwStt", - "10874": "DtTm.LcnTm", - "10875": "Operation.DcSw.Stt", - "10876": "Operation.DcSw.Evt.Msg", - "10877": "DcMs.StrgStt", - "10878": "Spdwr.ComSocA.Stt", - "10879": "Spdwr.ComSocA.ConnSpd", - "10880": "Spdwr.ComSocB.Stt", - "10881": "Spdwr.ComSocB.ConnSpd", - "10882": "Spdwr.ActlIp", - "10883": "Spdwr.ActlSnetMsk", - "10884": "Spdwr.ActlGwIp", - "10885": "Spdwr.ActlDnsSrvIp", - "10886": "WebConn.Stt", - "10887": "WebConn.IsOn", - "10888": "Nameplate.MacId", - "10889": "Spdwr.AutoCfgIsOn", - "10890": "Spdwr.Ip", - "10891": "Spdwr.SnetMsk", - "10892": "Spdwr.GwIp", - "10893": "Spdwr.DnsSrvIp", - "10894": "Metering.PvMs.TotWOutCalc", - "10895": "Metering.PvMs.TotWhOutCalc", - "10896": "Spdwr.ComSocA.DpxMode", - "10897": "Spdwr.ComSocB.DpxMode", - "10898": "Bat.Diag.TotAhIn", - "10899": "Bat.Diag.TotAhOut", - "10900": "Cha.ActChaMod", - "10901": "Metering.GnMs.TotWOut", - "10902": "Maint.FulEqCha", - "10903": "Bat.ChaStt", - "10904": "Bat.TmpVal", - "10905": "Bat.Vol", - "10906": "Metering.WhIn", - "10907": "Metering.WhOut", - "10908": "Gn.AutoStr", - "10909": "Operation.GnDmdReas", - "10910": "Metering.GnMs.TotWhOutCalc", - "10911": "Gn.ManCtl", - "10912": "Metering.GnMs.TotOpTms", - "10913": "GnDmdBatCha.Tm1OffLim", - "10914": "GnDmdBatCha.Tm1OnLim", - "10915": "Gn.Diag.StrCnt", - "10916": "Operation.GriCreaSrc", - "10917": "MltFncSw.Stt", - "10918": "Metering.SelfCsmp.SelfCsmpWh", - "10919": "Metering.SelfCsmp.SelfCsmpInc", - "10920": "Metering.SelfCsmp.ActlSelfCsmp", - "10921": "Bat.Diag.ActlCapacNom", - "10922": "Bat.Amp", - "10923": "Cha.BstChaTmm", - "10924": "Cha.EqChaTmh", - "10925": "Cha.FulChaTmh", - "10926": "Operation.FltRstrMaxCnt", - "10927": "Cha.MaxChaAmp", - "10928": "Cha.ActlChaVolSpt", - "10929": "Bat.CapacRtg", - "10930": "Bat.TmpMax", - "10931": "Bat.Typ", - "10932": "Bat.VRtg", - "10933": "Gn.Operation.Ackn", - "10934": "Gn.ARtg", - "10935": "GnDmdW.IsOn", - "10936": "GnDmdW.WOff", - "10937": "GnDmdW.WOn", - "10938": "Gn.OpStt", - "10939": "SelfCsmp.SelfCsmpIncIsOn", - "10940": "Metering.GridMs.DyWhFeed", - "10941": "Metering.GriFailTms", - "10942": "DcMs.AmpMsCnt", - "10943": "USB1.FreMem", - "10944": "Maint.ExIsoMs", - "10945": "Smtp.Srv", - "10946": "Smtp.Port", - "10947": "Smtp.Login", - "10948": "Smtp.Pwd", - "10949": "Smtp.Cry", - "10950": "DtTm.DoTmSynSrc", - "10951": "Ssh.IsOn", - "10952": "Spdwr.IgmpIsOn", - "10953": "Spdwr.SpdwrGrp", - "10954": "InOut.AnInA4", - "10955": "InOut.AnInVol2", - "10956": "InOut.AnInVol3", - "10957": "InOut.AnInVol4", - "10958": "PortalBscSettings.ComCry", - "10959": "PortalBscSettings.SigCyc", - "10960": "PortalBscSettings.UpldTm", - "10961": "Nameplate.HwId", - "10962": "MonSrv.DatLog", - "10963": "Dev.RmvDev", - "10964": "Dev.RmvAllDev", - "10965": "WebConn.SysEnv", - "10966": "Env.WndDir", - "10967": "Operation.ComValRsSvc", - "10968": "Alrm.FilCfg.AlrmWCtl", - "10969": "Alrm.FilCfg.AlrmVArCtl", - "10970": "Alrm.Email.TstEmailRsl", - "10971": "Inverter.UtilCrvCfg.Crv.XVal7", - "10972": "Inverter.UtilCrvCfg.Crv.YVal7", - "10973": "Inverter.UtilCrvCfg.Crv.XVal8", - "10974": "Inverter.UtilCrvCfg.Crv.YVal8", - "10975": "Inverter.VArModCfg.VArCtlVolCrvCfg.CrvNum", - "10976": "Inverter.VArModCfg.VArCtlVolCrvCfg.EnaW", - "10977": "Inverter.VArModCfg.VArCtlVolCrvCfg.DsaW", - "10978": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopWGraTms", - "10979": "Inverter.VArModCfg.PFCtlWCfg.EnaVol", - "10980": "Inverter.VArModCfg.PFCtlWCfg.DsaVol", - "10981": "Inverter.UtilCrvCfg.Crv.XRef", - "10982": "Inverter.UtilCrvCfg.Crv.YRef", - "10983": "Inverter.UtilCrvCfg.Crv2.CrvTms", - "10984": "Inverter.UtilCrvCfg.Crv2.RmpDec", - "10985": "Inverter.UtilCrvCfg.Crv2.RmpInc", - "10986": "Inverter.UtilCrvCfg.Crv2.NumPt", - "10987": "Inverter.UtilCrvCfg.Crv2.XRef", - "10988": "Inverter.UtilCrvCfg.Crv2.YRef", - "10989": "Inverter.UtilCrvCfg.Crv2.XVal1", - "10990": "Inverter.UtilCrvCfg.Crv2.XVal2", - "10991": "Inverter.UtilCrvCfg.Crv2.XVal3", - "10992": "Inverter.UtilCrvCfg.Crv2.XVal4", - "10993": "Inverter.UtilCrvCfg.Crv2.XVal5", - "10994": "Inverter.UtilCrvCfg.Crv2.XVal6", - "10995": "Inverter.UtilCrvCfg.Crv2.XVal7", - "10996": "Inverter.UtilCrvCfg.Crv2.XVal8", - "10997": "Inverter.UtilCrvCfg.Crv2.YVal1", - "10998": "Inverter.UtilCrvCfg.Crv2.YVal2", - "10999": "Inverter.UtilCrvCfg.Crv2.YVal3", - "11000": "Inverter.UtilCrvCfg.Crv2.YVal4", - "11001": "Inverter.UtilCrvCfg.Crv2.YVal5", - "11002": "Inverter.UtilCrvCfg.Crv2.YVal6", - "11003": "Inverter.UtilCrvCfg.Crv2.YVal7", - "11004": "Inverter.UtilCrvCfg.Crv2.YVal8", - "11005": "Spdwr.ComSocC.Stt", - "11006": "Spdwr.ComSocC.ConnSpd", - "11007": "Spdwr.ComSocD.Stt", - "11008": "Spdwr.ComSocD.ConnSpd", - "11009": "Spdwr.ComSocC.DpxMode", - "11010": "Spdwr.ComSocD.DpxMode", - "11011": "PwrCtlMdul.OpMode", - "11012": "PwrCtlMdul.DigInStt", - "11013": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopMin", - "11014": "Inverter.WCtlHzModCfg.WCtlHzCfg.HzStopMax", - "11015": "IecCfg.GoCfg.GoAppId", - "11016": "GridGuard.Cntry.FrqCtl.SwMax", - "11017": "GridGuard.Cntry.FrqCtl.SwMaxTmms", - "11018": "GridGuard.Cntry.FrqCtl.SwMin", - "11019": "GridGuard.Cntry.FrqCtl.SwMinTmms", - "11020": "GridGuard.Cntry.FrqCtl.SrcHzLimRedCom", - "11021": "Operation.PlntCtl.SrcFstStop", - "11022": "Inverter.HzLimRed", - "11023": "Alrm.FilCfg.AlrmWrn", - "11024": "Alrm.Email.Lang", - "11025": "Smtp.OptTxAdr", - "11026": "Inverter.VArModCfg.VArAct", - "11027": "Inverter.WModCfg.WCtlComCfg.WNomPrc", - "11028": "Inverter.VArModCfg.VArCtlComCfg.VArNomPrc", - "11029": "InOut.DigInSttGrp1", - "11030": "InOut.DigInSttGrp2", - "11031": "GridMs.PhV.phsB2C", - "11032": "GridMs.PhV.phsC2A", - "11033": "Inverter.PwrCirCom", - "11034": "GridGuard.Cntry.VolCtl.RproTmms", - "11035": "IecCfg.GoCfg.GoMacId", - "11036": "PCC.ARtg", - "11037": "Inverter.WModCfg.WCtlComCfg.ASpt", - "11038": "Inverter.VArModCfg.VArCtlComCfg.ArSpt", - "11039": "Inverter.WModCfg.GnCtlComCfg.AMax", - "11040": "Operation.OpStt", - "11041": "Inverter.FltAMod", - "11042": "PortalBscSettings.Port", - "11043": "Plnt.DcWRtg", - "11044": "PCC.WMaxMod", - "11045": "PCC.DynWMax", - "11046": "PCC.WMax", - "11047": "PCC.WMaxNom", - "11048": "PlntCtl.IsOn", - "11049": "AdptZb.DAA.AdptConnQual", - "11050": "ExSw.ExSwCnt", - "11051": "ExSw.OpnTmms", - "11052": "ExSw.ClsTmms", - "11053": "GnMs.TotOpTms", - "11054": "GnMs.TotWhOutCalc", - "11055": "GnMs.TotWOut", - "11056": "Cha.DschStopVol", - "11057": "Cha.ChaAmpMax", - "11058": "Cha.DschAmpMax", - "11059": "PubGri.Stt", - "11060": "Cha.BstChaVolSpt", - "11061": "Cha.FulChaVolSpt", - "11062": "Cha.EqChaVolSpt", - "11063": "Cha.TrcChaVolSpt", - "11064": "GridGuard.Cntry.VolCtl.ReconMinDif", - "11065": "GridGuard.Cntry.VolCtl.ReconMaxDif", - "11066": "GridGuard.Cntry.FrqCtl.ReconMinDif", - "11067": "GridGuard.Cntry.FrqCtl.ReconMaxDif", - "11068": "Gn.VolCtl.Min", - "11069": "Gn.VolCtl.Max", - "11070": "Gn.VolCtl.ReconMinDif", - "11071": "Gn.VolCtl.ReconMaxDif", - "11072": "Gn.FrqCtl.Min", - "11073": "Gn.FrqCtl.Max", - "11074": "Gn.FrqCtl.ReconMinDif", - "11075": "Gn.FrqCtl.ReconMaxDif", - "11076": "Gn.WMon.RvPwrMax", - "11077": "Gn.WMon.RvPwrMaxTms", - "11078": "ExtGridMs.TotW", - "11079": "ExtGridMs.W.phsA", - "11080": "ExtGridMs.W.phsB", - "11081": "ExtGridMs.W.phsC", - "11082": "ExtGridMs.TotVAr", - "11083": "ExtGridMs.VAr.phsA", - "11084": "ExtGridMs.VAr.phsB", - "11085": "ExtGridMs.VAr.phsC", - "11086": "ExtGridMs.Hz", - "11087": "ExtGridMs.PhV.phsA", - "11088": "ExtGridMs.PhV.phsB", - "11089": "ExtGridMs.PhV.phsC", - "11090": "ExtGridMs.A.phsA", - "11091": "ExtGridMs.A.phsB", - "11092": "ExtGridMs.A.phsC", - "11093": "GridMs.PhVNom.phsA2B", - "11094": "GridMs.PhVNom.phsB2C", - "11095": "GridMs.PhVNom.phsC2A", - "11096": "Diag.UnCurProCnt", - "11097": "Diag.UnDcVolDrt", - "11098": "Diag.WDcVolDrt", - "11099": "Diag.BiasVol.phsA", - "11100": "Diag.BiasVol.phsB", - "11101": "Diag.BiasVol.Rl", - "11102": "Plnt.VARtg", - "11103": "Plnt.LoVolLin.RisLen", - "11104": "Plnt.LoVolLin.InducReactLen", - "11105": "Plnt.LoVolLin.LoVolLen", - "11106": "Plnt.MedVolLin.RisLen", - "11107": "Plnt.MedVolLin.CapacReactLen", - "11108": "Plnt.MedVolLin.MedVolLen", - "11109": "Plnt.Trf.VARtg", - "11110": "Plnt.Trf.SCVol", - "11111": "PCC.HiVolRtg", - "11112": "Metering.MsItf1.SerNumEN", - "11113": "Metering.MsItf2.SerNumEN", - "11114": "Metering.MsItf3.SerNumEN", - "11115": "Plc.Diag.PkgFlt", - "11116": "Nameplate.CmpMdul2.SwRev", - "11117": "Nameplate.CmpMdul2.HwRev", - "11118": "Nameplate.CmpMdul2.Rev", - "11119": "Nameplate.CmpMdul2.SwUpdRev", - "11120": "Nameplate.CmpMdul2.SerNum", - "11121": "Nameplate.CmpMdul2.SusyId", - "11122": "Nameplate.CmpMdul2.Typ", - "11123": "PwrCtlMdul.WCnstCls.DigInD00", - "11124": "PwrCtlMdul.WCnstCls.DigInD01", - "11125": "PwrCtlMdul.WCnstCls.DigInD02", - "11126": "PwrCtlMdul.WCnstCls.DigInD03", - "11127": "PwrCtlMdul.WCnstCls.DigInD04", - "11128": "PwrCtlMdul.WCnstCls.DigInD05", - "11129": "PwrCtlMdul.WCnstCls.DigInD06", - "11130": "PwrCtlMdul.WCnstCls.DigInD07", - "11131": "PwrCtlMdul.WCnstCls.DigInD08", - "11132": "PwrCtlMdul.WCnstCls.DigInD09", - "11133": "PwrCtlMdul.WCnstCls.DigInD10", - "11134": "PwrCtlMdul.WCnstCls.DigInD11", - "11135": "PwrCtlMdul.WCnstCls.DigInD12", - "11136": "PwrCtlMdul.WCnstCls.DigInD13", - "11137": "PwrCtlMdul.WCnstCls.DigInD14", - "11138": "PwrCtlMdul.WCnstCls.DigInD15", - "11139": "PwrCtlMdul.FlbTmh", - "11140": "PwrCtlMdul.FlbVal", - "11141": "PwrCtlMdul.FltClrTms", - "11142": "Inverter.VArModCfg.VArModDmd", - "11143": "Inverter.VArModCfg.VArCnstCfgDmd.VAr", - "11144": "Inverter.VArModCfg.VArCnstCfgDmd.VArNom", - "11145": "Inverter.DGSModCfg.DGSFlCfg.ArGraSag", - "11146": "Inverter.DGSModCfg.DGSFlCfg.ArGraSwell", - "11147": "Inverter.UtilCrvCfg.CrvModCfg.CrvNum", - "11148": "Inverter.UtilCrvCfg.CrvModCfg.CrvEna", - "11149": "Inverter.UtilCrvCfg.CrvModCfg.EnaTrg", - "11150": "Inverter.UtilCrvCfg.CrvModCfg.DsaTrg", - "11151": "Inverter.UtilCrvCfg.CrvModCfg.TrgRef", - "11152": "Inverter.UtilCrvCfg.CrvPt1.XVal", - "11153": "Inverter.UtilCrvCfg.CrvPt1.YVal", - "11154": "Inverter.UtilCrvCfg.CrvPt2.XVal", - "11155": "Inverter.UtilCrvCfg.CrvPt2.YVal", - "11156": "Inverter.UtilCrvCfg.CrvPt3.XVal", - "11157": "Inverter.UtilCrvCfg.CrvPt3.YVal", - "11158": "Bat.SvcMod", - "11159": "Cha.ChaVolSptSvc", - "11160": "Cha.DschVolSptSvc", - "11161": "Cha.ChaAmpMaxSvc", - "11162": "Cha.DschAmpMaxSvc", - "11163": "Bat.OpStt", - "11164": "Coolsys.BatConv.TmpVal", - "11165": "Coolsys.BatConv.TmpValMax", - "11166": "Nameplate.CmpBMS.SwRev", - "11167": "Nameplate.CmpBMS.HwRev", - "11168": "Nameplate.CmpBMS.Rev", - "11169": "Nameplate.CmpBMS.SwUpdRev", - "11170": "Nameplate.CmpBMS.SerNum", - "11171": "Nameplate.CmpBMS.SusyId", - "11172": "Nameplate.CmpBMS.Typ", - "11173": "Metering.MsSpdwr.SerNumEN", - "11174": "Metering.MsSpdwr.Health", - "11175": "Bat.CelVol", - "11176": "Operation.Inverter.Health", - "11177": "Operation.Bat.Health", - "11178": "Inverter.UtilCrvCfg.Crv0.CrvTms", - "11179": "Inverter.UtilCrvCfg.Crv0.RmpDec", - "11180": "Inverter.UtilCrvCfg.Crv0.RmpInc", - "11181": "Inverter.UtilCrvCfg.Crv0.RsRmpInc", - "11182": "Inverter.UtilCrvCfg.Crv0.NumPt", - "11183": "Inverter.UtilCrvCfg.Crv0.XRef", - "11184": "Inverter.UtilCrvCfg.Crv0.YRef", - "11185": "PCC.WMaxAv", - "11186": "Qtl.QtlPvHi", - "11187": "Qtl.QtlPvLo", - "11188": "Qtl.QtlBatHi", - "11189": "Qtl.QtlBatLo", - "11190": "Qtl.QtlInvHi", - "11191": "Qtl.QtlInvLo", - "11192": "Qtl.PaQtlPvHi", - "11193": "Qtl.PaQtlPvLo", - "11194": "Qtl.PaQtlBatHi", - "11195": "Qtl.PaQtlBatLo", - "11196": "Qtl.PaQtlInvHi", - "11197": "Qtl.PaQtlInvLo", - "11198": "Bat.AmpSpt", - "11199": "Nameplate.Bat.Vendor", - "11200": "Nameplate.Bat.ProdTm", - "11201": "Operation.CmpBMS.SwCnt", - "11202": "Operation.BatConv.ChaSwCnt", - "11203": "Operation.BatConv.DschaSwCnt", - "11204": "Operation.BatConv.AbsChaSwCnt", - "11205": "Operation.BatConv.AbsDschaSwCnt", - "11206": "Bat.OpTms", - "11207": "Bat.EpsChaSttMin", - "11208": "Bat.CapacRtgWh", - "11209": "Bat.CelTmpVal", - "11210": "Operation.StoOpMode", - "11211": "Inverter.WModCfg.WCtlComCfg.WSpt", - "11212": "Inverter.WModCfg.WCtlComCfg.WCtlComAct", - "11213": "Inverter.VArModCfg.VArCtlComCfg.VArSpt", - "11214": "PvGen.PvWh", - "11215": "TotVal.TotCsmp", - "11216": "TotVal.SelfCsmp", - "11217": "TotVal.DirCsmp", - "11218": "BatChrg.BatChrg", - "11219": "BatDsch.BatDsch", - "11220": "PvGen.PvW", - "11221": "CurVal.TotCsmp", - "11222": "CurVal.SelfCsmp", - "11223": "CurVal.DirCsmp", - "11224": "BatChrg.CurBatCha", - "11225": "BatDsch.CurBatDsch", - "11226": "CurVal.SelfCsmpNom", - "11227": "TotVal.SelfCsmpNom", - "11228": "StoNom.CurStoNom", - "11229": "StoNom.StoNom", - "11230": "CurVal.AtcNom", - "11231": "TotVal.AtcNom", - "11232": "CurVal.DirCsmpNom", - "11233": "TotVal.DirCsmpNom", - "11234": "PvGen.PvWhSet", - "11235": "TotVal.TotCsmpSet", - "11236": "TotVal.SelfCsmpSet", - "11237": "TotVal.DirCsmpSet", - "11238": "BatChrg.BatChrgSet", - "11239": "BatDsch.BatDschSet", - "11240": "IecCfg.SrvIsOn", - "11241": "Operation.GfdiSwStt", - "11242": "Operation.RstrLokStt", - "11243": "Nameplate.CmpGriMon.SwRev", - "11244": "Nameplate.CmpGriMon.HwRev", - "11245": "Nameplate.CmpGriMon.Rev", - "11246": "Nameplate.CmpGriMon.SwUpdRev", - "11247": "Nameplate.CmpGriMon.SerNum", - "11248": "Nameplate.CmpGriMon.SusyId", - "11249": "Nameplate.CmpGriMon.Typ", - "11250": "USB1.TotMem", - "11251": "USB2.TotMem", - "11252": "PvGen.AbsPvWh", - "11253": "BatChrg.AbsBatChrg", - "11254": "BatDsch.AbsBatDsch", - "11255": "CmpBMS.OpMod", - "11256": "CmpBMS.BatChaMinW", - "11257": "CmpBMS.BatChaMaxW", - "11258": "CmpBMS.BatDschMinW", - "11259": "CmpBMS.BatDschMaxW", - "11260": "CmpBMS.GridWSpt", - "11261": "Operation.Bat.TmpHealth", - "11262": "DcCfg.WMaxPv", - "11263": "BatConv.WMaxCha", - "11264": "BatConv.WMinCha", - "11265": "BatConv.WMaxDsch", - "11266": "BatConv.WMinDsch", - "11267": "CmpBMS.ActlCapacDet", - "11268": "Diag.AcCapacMon", - "11269": "TotVal.SelfSup", - "11270": "CurVal.SelfSup", - "11271": "BatDsch.ActBatDsch", - "11272": "CmpBMS.Mon", - "11273": "Inverter.RplDet.NrwBndSprt.Gain", - "11274": "Inverter.RplDet.NrwBndSprt.Dmp", - "11275": "Inverter.RplDet.NrwBndSprt.Hz", - "11276": "Inverter.RplDet.BrdBndSprt.Gain", - "11277": "Inverter.RplDet.BrdBndSprt.Hz", - "11278": "Bat.Diag.ActlCapacNomOv", - "11279": "Sys.SwPkgNom", - "11280": "Metering.GridMs.TotkWhOutOfs", - "11281": "Metering.GridMs.TotkWhInOfs", - "11282": "GridGuard.Cntry.Aid.Stt", - "11283": "Inverter.DynDsconModCfg.CrvNum", - "11284": "Nameplate.ARtg", - "11285": "Inverter.VArModCfg.PFCtlWCfg.PFExtPFStr", - "11286": "Inverter.VArModCfg.PFCtlWCfg.PFExtPFStop", - "11287": "EpsMs.Vol", - "11288": "EpsMs.Amp", - "11289": "EpsMs.Watt", - "11290": "EpsMs.WhOut", - "11291": "EpsMs.AbsWh", - "11292": "Operation.EpsMod", - "11293": "Operation.EpsActTm", - "11294": "Operation.EpsInaTm", - "11295": "SwCmp.CmpComBlt.SwRev", - "11296": "SwCmp.CmpWebSrv.SwRev", - "11297": "Inverter.CtlComCfg.WCtlCom.CtlComMssMod", - "11298": "Inverter.CtlComCfg.WCtlCom.TmsOut", - "11299": "Inverter.CtlComCfg.WCtlCom.FlbWNom", - "11300": "Inverter.CtlComCfg.VArCtlCom.CtlComMssMod", - "11301": "Inverter.CtlComCfg.VArCtlCom.TmsOut", - "11302": "Inverter.CtlComCfg.VArCtlCom.FlbVArNom", - "11303": "Inverter.CtlComCfg.PFCtlCom.CtlComMssMod", - "11304": "Inverter.CtlComCfg.PFCtlCom.TmsOut", - "11305": "Inverter.CtlComCfg.PFCtlCom.FlbPF", - "11306": "Inverter.CtlComCfg.PFCtlCom.FlbPFExt", - "11307": "Operation.Dmd.WCtl", - "11308": "Operation.Dmd.VArCtl", - "11309": "Operation.Dmd.PFCtl", - "11310": "Operation.Dmd.PFExtCtl", - "11311": "Inverter.VArModCfg.ImpCpn.IsOn", - "11312": "Inverter.VArModCfg.ImpCpn.OhmRis", - "11313": "Inverter.VArModCfg.ImpCpn.InducRis", - "11314": "Inverter.VArModCfg.ImpCpn.CapacRis", - "11315": "GridGuard.Cntry.Aid.HzVAr.MaxVAr", - "11316": "GridGuard.Cntry.Aid.HaVAr.VAr", - "11317": "Nameplate.SerNum.Slv1", - "11318": "Nameplate.SerNum.Slv2", - "11319": "Operation.Health.Master", - "11320": "Operation.Health.Slv1", - "11321": "Operation.Health.Slv2", - "11322": "Nameplate.CmpMain.BltRev", - "11323": "Nameplate.CmpSigProc.BltRev", - "11324": "Sys.AcTyp", - "11325": "Metering.PvChaMs.TotWhSICha", - "11326": "Metering.PvChaMs.TotWhPv", - "11327": "Metering.PvChaMs.DyWhPv", - "11328": "Metering.PvChaMs.TotWPv", - "11329": "Metering.PvChaMs.Amp", - "11330": "Operation.CltFltMod", - "11331": "Operation.EnSavMod", - "11332": "BatUsDm.Stt", - "11333": "Bat.Diag.StatTm", - "11334": "Bat.Diag.ChaFact", - "11335": "Bat.Diag.TmpValMin", - "11336": "Bat.Diag.TmpValMax", - "11337": "Cha.EqChaCnt", - "11338": "Cha.FulChaCnt", - "11339": "Cha.FulDschNom", - "11340": "Cha.EqDschNom", - "11341": "Bat.Diag.VolMax", - "11342": "Bat.Diag.ChaAMax", - "11343": "Bat.Diag.DschAMax", - "11344": "Bat.OvTmpRstr", - "11345": "Bat.DcRis", - "11346": "Cha.FulChaCycTm", - "11347": "Cha.EqChaCycTm", - "11348": "Cha.TmpCpn", - "11349": "Cha.EqChaAuto", - "11350": "Bat.RmgChaTm", - "11351": "Bat.FulChaRmgTm", - "11352": "Bat.EqChaRmgTm", - "11353": "Bat.AbsPhsAct", - "11354": "Bat.BatChaDif", - "11355": "Bat.Operation.EqChaMan", - "11356": "SltMod.TrcChaSltTm", - "11357": "SltMod.SltTrcChaTm", - "11358": "Cha.BMSInaVol", - "11359": "ProMod.StrTm", - "11360": "ProMod.StopTm", - "11361": "ProMod.ChaSttLim", - "11362": "Sys.AuxDcTyp", - "11363": "Metering.EnCntTm", - "11364": "Operation.AutoHzCtl", - "11365": "Inverter.VRtg", - "11366": "Inverter.HzRtg", - "11367": "Inverter.AcChaAMax", - "11368": "Operation.TmCtl.IsOn", - "11369": "Operation.TmCtl.StrTm", - "11370": "Operation.TmCtl.ActTm", - "11371": "Operation.TmCtl.RptCyc", - "11372": "ExtGridMs.TotA", - "11373": "ExtGridMs.ProLokTm", - "11374": "BatUsDm.DschProDmLim", - "11375": "BatUsDm.DschProDmMin", - "11376": "BatUsDm.BckDmMin", - "11377": "BatUsDm.SelfCsmpBrd", - "11378": "BatUsDm.SelfCsmpBrdMin", - "11379": "BatUsDm.MaxYldMth", - "11380": "BatUsDm.SanModAct", - "11381": "GnDmdBatCha.OnLim", - "11382": "GnDmdBatCha.OffLim", - "11383": "GnDmdBatCha.AddTm.StopTm", - "11384": "Operation.HzRtg", - "11385": "Gn.DmdMod", - "11386": "GnDmdW.WAvTm", - "11387": "Operation.MinRunTm", - "11388": "Operation.MinStopTm", - "11389": "Operation.CoolTm", - "11390": "Operation.FltStopTm", - "11391": "Operation.WrmTm", - "11392": "GnDmdTm.IsOn", - "11393": "GnDmdTm.StrTm", - "11394": "GnDmdTm.RunTm", - "11395": "GnDmdTm.RptCyc", - "11396": "GnDmdChaMod.ChaMod", - "11397": "GnDmdDigIn.DigInRea", - "11398": "Operation.RmgMinRunTm", - "11399": "Operation.ALimMod", - "11400": "Operation.GnFltDet", - "11401": "PubGri.ExtGriAMax", - "11402": "PubGri.FeedPerm", - "11403": "SltMod.IsOn", - "11404": "PubGri.PwrMon.RvPwrMax", - "11405": "PubGri.PwrMon.RvPwrMaxTms", - "11406": "ExtGri.StrPvFeedTm", - "11407": "ExtGri.StopPvFeedTm", - "11408": "BatUsDm.ChaSttFeedAct", - "11409": "BatUsDm.ChaSttFeedIna", - "11410": "PubGri.GriDmdBatCha.IsOn", - "11411": "PubGri.GriDmdBatCha.OnLim", - "11412": "PubGri.GriDmdBatCha.OffLim", - "11413": "PubGri.GriDmdBatCha.AddTm.StopTm", - "11414": "PubGri.GriDmdW.IsOn", - "11415": "PubGri.GriDmdW.WOn", - "11416": "PubGri.GriDmdW.WOff", - "11417": "PubGri.ManCtl", - "11418": "PubGri.GriDmdChaMod.ChaMod", - "11419": "LodShd1.ChaStrLim", - "11420": "LodShd1.ChaStopLim", - "11421": "LodShd1.AddTm.StopTm", - "11422": "LodShd2.ChaStrLim", - "11423": "LodShd2.ChaStopLim", - "11424": "LodShd2.AddTm.StopTm", - "11425": "MltFncSw.Tmr.TmCtlStr", - "11426": "MltFncSw.Tmr.TmCtlOn", - "11427": "MltFncSw.Tmr.TmCtlCyc", - "11428": "MltFncSw.OpModeSlv1", - "11429": "MltFncSw.OpModeSlv2", - "11430": "MltFncSw.BatFanTmp", - "11431": "MltFncSw.SttSlv1", - "11432": "MltFncSw.SttSlv2", - "11433": "DigIn.OpMod", - "11434": "GriSw.StrDet.WMin", - "11435": "GriSw.StrDet.WMinTmms", - "11436": "GriSw.StrDet.LokTms", - "11437": "Metering.MsItf1.SutEMS", - "11438": "Metering.MsItf2.SutEMS", - "11439": "Metering.MsItf3.SutEMS", - "11440": "Operation.SwOnRqt", - "11441": "PortalFnc.LodCmdLst", - "11442": "Inverter.VArModCfg.VArCtlVolCfg.Vol1Nom", - "11443": "Inverter.VArModCfg.VArCtlVolCfg.Vol2Nom", - "11444": "Bat.Diag.MsCapac", - "11445": "Bat.IstlMod", - "11446": "GnDmdBatCha.AddTm.OnLim", - "11447": "GnDmdBatCha.AddTm.OffLim", - "11448": "GnDmdBatCha.AddTm.StrTm", - "11449": "LodShd1.AddTm.ChaStopLim", - "11450": "LodShd2.AddTm.ChaStopLim", - "11451": "LodShd1.AddTm.ChaStrLim", - "11452": "LodShd2.AddTm.ChaStrLim", - "11453": "LodShd1.AddTm.StrTm", - "11454": "LodShd2.AddTm.StrTm", - "11455": "PubGri.GriDmdBatCha.AddTm.StrTm", - "11456": "PubGri.GriDmdBatCha.AddTm.OffLim", - "11457": "PubGri.GriDmdBatCha.AddTm.OnLim", - "11458": "Metering.PCCMs.PlntWSrc", - "11459": "Metering.PCCMs.PlntVArSrc", - "11460": "Metering.PCCMs.PlntW", - "11461": "Metering.PCCMs.PlntVAr", - "11462": "Inverter.DctMrk.VArModCfg.VArCtlComCfg.VArNomPrc", - "11463": "Inverter.DctMrk.WModCfg.WCtlComCfg.WNomPrc", - "11464": "Inverter.DctMrk.VArModCfg.PFCtlComCfg.PF", - "11465": "Inverter.DctMrk.VArModCfg.PFCtlComCfg.PFExt", - "11466": "Bat.ChaCtlComAval", - "11467": "InOut.AnOut.Func", - "11468": "InOut.AnOut.XVal1", - "11469": "InOut.AnOut.SigVal1", - "11470": "InOut.AnOut.XVal2", - "11471": "InOut.AnOut.SigVal2", - "11472": "InOut.AnOut.CurMsVal", - "11473": "InOut.DigOut.Func", - "11474": "InOut.DigOut.Stt", - "11475": "BatUsDm.SelfCsmpDmLim", - "11476": "Operation.ManRstr.IsOn", - "11477": "Operation.ManRstr.ManRstrOvVol", - "11478": "Operation.ManRstr.ManRstrUnVol", - "11479": "Operation.ManRstr.ManRstrHz", - "11480": "Nameplate.CmpBMS.SerNumTxt", - "11481": "Operation.ManRstr.ManRstrPID", - "11482": "Operation.ManRstr.ManRstrAID", - "11483": "Nameplate.DevId", - "11484": "Nameplate.ModelStr", - "11485": "Nameplate.URL", - "11486": "Nameplate.ComProt", - "11487": "Nameplate.MsValAcq", - "11488": "Operation.MNConn", - "11489": "Operation.CurMaxW", - "11490": "Inverter.CurWCtl", - "11491": "Metering.Csmp.TotVArIn", - "11492": "Operation.WDecMaxShrt", - "11493": "Metering.PvMs.TotVArOut", - "11494": "Metering.PvMs.TotVAOut", - "11495": "Operation.NotUsW", - "11496": "Sys.ComWdOut", - "11497": "Sys.ComWdIn", - "11498": "Metering.PvMs.DyWhFeed", - "11499": "Metering.PvMs.PreDyWhFeed", - "11500": "Metering.PvMs.MthWhFeed", - "11501": "Metering.PvMs.PreMthWhFeed", - "11502": "Metering.GnMs.DyWhFeed", - "11503": "Metering.GnMs.PreDyWhFeed", - "11504": "Metering.GnMs.MthWhFeed", - "11505": "Metering.GnMs.PreMthWhFeed", - "11506": "Metering.GridMs.PreDyWhFeed", - "11507": "Metering.GridMs.MthWhFeed", - "11508": "Metering.GridMs.PreMthWhFeed", - "11509": "Metering.GridMs.PreDyWhIn", - "11510": "Metering.GridMs.MthWhIn", - "11511": "Metering.GridMs.PreMthWhIn", - "11512": "Metering.Csmp.DyWhIn", - "11513": "Metering.Csmp.PreDyWhIn", - "11514": "Metering.Csmp.MthWhIn", - "11515": "Metering.Csmp.PreMthWhIn", - "11516": "Gn.TotFuelCsmp", - "11517": "Gn.EstFuelCsmp", - "11518": "Gn.TotW", - "11519": "Gn.MaxVA", - "11520": "Gn.TotVAr", - "11521": "Gn.MinW", - "11522": "PCC.TotW", - "11523": "PCC.TotVAr", - "11524": "Operation.NConn", - "11525": "Sys.SelfTst", - "11526": "Sys.InitOk", - "11527": "Spdwr.IgmpQryTx", - "11528": "Inverter.UtilCrvCfg.CrvModCfg2.CrvNum", - "11529": "Inverter.UtilCrvCfg.CrvModCfg2.CrvEna", - "11530": "Inverter.UtilCrvCfg.CrvModCfg2.EnaTrg", - "11531": "Inverter.UtilCrvCfg.CrvModCfg2.DsaTrg", - "11532": "Inverter.UtilCrvCfg.CrvModCfg2.TrgRef", - "11533": "Upd.Stt", - "11534": "Inverter.WCtlHzModCfg.WCtlHzCfg.WCtlTmms", - "11535": "Coolsys.AcCol.TmpVal", - "11536": "Coolsys.AcCol.TmpValMax", - "11537": "Coolsys.AcCol.TmpLim", - "11538": "Bat.StrgCnt", - "11539": "Bat.StrgCntAct", - "11540": "Trf.HiVol", - "11541": "Trf.HiA", - "11542": "Operation.Dmd.WSpt", - "11543": "SwCmp.CmpWebUsrItf.SwRev", - "11544": "Operation.Dmd.VASpt", - "11545": "Inverter.TotW", - "11546": "Inverter.TotVAr", - "11547": "Bat.LeakRis", - "11548": "Inverter.LeakRis", - "11549": "Inverter.RmgTms", - "11550": "Coolsys.BstConv.TmpVal", - "11551": "Coolsys.BstConv.TmpValMax", - "11552": "Metering.MsSpdwr.UsSerNumEN", - "11553": "SwCmp.CmpMainBlt.SwRev", - "11554": "SwCmp.CmpPreBlt.SwRev", - "11555": "Diag.ZnMon.Strg.MaxAmpNomDif", - "11556": "Diag.ZnMon.Strg.AvAmpNomDif", - "11557": "Diag.ZnMon.Strg.FltTm", - "11558": "DcCfg.Strg.AmpMax", - "11559": "Diag.ZnMon.AvgAmpDifFlt", - "11560": "Diag.ZnMon.FltTmEvt", - "11561": "Diag.ZnMon.CycTms", - "11562": "Diag.ZnMon.MinAmpAct", - "11563": "Inverter.DatLog", - "11564": "Inverter.PlntVw", - "11565": "Inverter.DiagLog", - "11566": "Sys.SelfTstDmd", - "11567": "GridMs.AvVol", - "11568": "Metering.BatMs.TotWOut", - "11569": "Metering.BatMs.TotWIn", - "11570": "Metering.BatMs.TotVArOut", - "11571": "Operation.BatDmd.CalcWCtl", - "11572": "Operation.BatDmd.CalcVArCtl", - "11573": "Operation.BatHealthStt.Ok", - "11574": "Bat.TotAvalCha", - "11575": "Bat.TotAvalDsch", - "11576": "Metering.BatMs.DyWhCha", - "11577": "Metering.BatMs.PreDyWhCha", - "11578": "Metering.BatMs.MthWhCha", - "11579": "Metering.BatMs.PreMthWhCha", - "11580": "Metering.BatMs.DyWhDsch", - "11581": "Metering.BatMs.PreDyWhDsch", - "11582": "Metering.BatMs.MthWhDsch", - "11583": "Metering.BatMs.PreMthWhDsch", - "11584": "Metering.BatMs.TotWhIn", - "11585": "Metering.BatMs.TotWhOut", - "11586": "Metering.GnMs.TotWhOut", - "11587": "GridMs.HzPrc", - "11588": "Spdwr.IgmpQryTms", - "11589": "Diag.DoFli", - "11590": "Operation.PrdCsmp", - "11591": "Operation.PrdCsmpUs", - "11592": "DtTm.SetDlSvTm", - "11593": "Nameplate.CmpWl.SwRev", - "11594": "Nameplate.CmpWl.HwRev", - "11595": "Nameplate.CmpWl.Rev", - "11596": "Nameplate.CmpWl.SwUpdRev", - "11597": "Nameplate.CmpWl.SerNum", - "11598": "Nameplate.CmpWl.SusyId", - "11599": "Nameplate.CmpWl.Typ", - "11600": "Operation.GrnLedWInd", - "11601": "Wl.SigPwr", - "11602": "Wl.ActlIp", - "11603": "Wl.ActlSnetMsk", - "11604": "Wl.ActlGwIp", - "11605": "Wl.ActlDnsSrvIp", - "11606": "Wl.ExsNetw", - "11607": "Wl.ConnStt", - "11608": "Wl.AntMod", - "11609": "Wl.IsOn", - "11610": "Wl.SoftAcsIsOn", - "11611": "Wl.Ssid", - "11612": "Wl.Psk", - "11613": "Wl.Cry", - "11614": "Wl.DoWPS", - "11615": "Wl.AutoCfgIsOn", - "11616": "Wl.Ip", - "11617": "Wl.SnetMsk", - "11618": "Wl.GwIp", - "11619": "Wl.DnsSrvIp", - "11620": "SwCmp.CmpTmZn.SwRev", - "11621": "Wl.DoAcq", - "11622": "Plnt.WRtg", - "11623": "InOut.AnIn.SigVal1", - "11624": "InOut.AnIn.YVal1", - "11625": "InOut.AnIn.SigVal2", - "11626": "InOut.AnIn.YVal2", - "11627": "Env.InsolSns.Crv0.MsSrc", - "11628": "Metering.GridMs.TotVArOut", - "11629": "Operation.PlntCtl.OpMode", - "11630": "Wl.CryWEPIdx", - "11631": "Wl.UsCh", - "11632": "Operation.WCtl.Stt", - "11633": "Operation.VArCtl.Stt", - "11634": "PCC.FlbInv.WMax", - "11635": "PCC.FlbInv.WMaxNom", - "11636": "Wl.AcqStt", - "11637": "Env.S0WndSpd", - "11638": "PwrCtlMdul.DigInGrp.Cfg", - "11639": "PwrCtlMdul.DigInGrp.WCnstCls", - "11640": "PwrCtlMdul.DigInGrp.VArTrt", - "11641": "Nameplate.WlMacId", - "11642": "Inverter.AprModCfg.AprMod", - "11643": "Inverter.AprModCfg.AprCnstCfg.PriBnd", - "11644": "Inverter.AprModCfg.AprCnstCfg.AprUp", - "11645": "Inverter.AprModCfg.AprCnstCfg.AprLo", - "11646": "Inverter.AprModCfg.AprCnstCfg.AprUpNom", - "11647": "Inverter.AprModCfg.AprCnstCfg.AprLoNom", - "11648": "Inverter.AprModCfg.AprCtlComCfg.PriBnd", - "11649": "Inverter.AprModCfg.AprCtlComCfg.AprUp", - "11650": "Inverter.AprModCfg.AprCtlComCfg.AprLo", - "11651": "Inverter.AprModCfg.AprCtlComCfg.AprUpNom", - "11652": "Inverter.AprModCfg.AprCtlComCfg.AprLoNom", - "11653": "Operation.Apr.AprAct", - "11654": "Operation.Apr.PsAprStt", - "11655": "Operation.Apr.NgAprStt", - "11656": "Operation.Apr.AprMax", - "11657": "Operation.Apr.AprDmd", - "11658": "Inverter.AprModCfg.AprCnstCfg.AprScd", - "11659": "Inverter.AprModCfg.AprCnstCfg.AprScdNom", - "11660": "Inverter.AprModCfg.AprCtlComCfg.AprScd", - "11661": "Inverter.AprModCfg.AprCtlComCfg.AprScdNom", - "11662": "SwCmp.CmpMain1.SwRev", - "11663": "Inverter.VArLimQ1", - "11664": "Inverter.VArLimQ2", - "11665": "Inverter.VArLimQ3", - "11666": "Inverter.VArLimQ4", - "11667": "Inverter.PFLimQ1", - "11668": "Inverter.PFLimQ2", - "11669": "Inverter.PFLimQ3", - "11670": "Inverter.PFLimQ4", - "11671": "Operation.WMaxInv", - "11672": "Inverter.AfciRbs", - "11673": "Inverter.VArModCfg.PFCtlComCfg.PFEEI", - "11674": "GridGuard.Cntry.VolCtl.MaxEff", - "11675": "GridGuard.Cntry.VolCtl.MaxEffTmms", - "11676": "GridGuard.Cntry.VolCtl.MinEff", - "11677": "GridGuard.Cntry.VolCtl.MinEffTmms", - "11678": "Metering.PvMs.TotkWhOutSet", - "11679": "InOut.AnIn.SigVal1NoUnt", - "11680": "InOut.AnIn.YVal1NoUnt", - "11681": "InOut.AnIn.SigVal2NoUnt", - "11682": "InOut.AnIn.YVal2NoUnt", - "11683": "InOut.AnIn.Func", - "11684": "Diag.AlrmEna", - "11685": "Operation.StrFltDet.Tol", - "11686": "Operation.StrFltDet.WrnTm", - "11687": "GridMs.TotPFEEI", - "11688": "Metering.PCCMs.SysVCalc", - "11689": "Metering.PCCMs.TotWOutCalc", - "11690": "Metering.PCCMs.TotVArOutCalc", - "11691": "Metering.GnMs.TotVArOut", - "11692": "GnMs.TotVArOut", - "11693": "BatMs.TotWOut", - "11694": "BatMs.TotWIn", - "11695": "BatMs.TotVArOut", - "11696": "Gn.AvalW", - "11697": "Wl.AntSet", - "11698": "Sys.NewDev", - "11699": "Inverter.UtilCrvCfg.Crv2.ActTms", - "11700": "InOut.S0ItfIn.Func", - "11701": "Inverter.UtilCrvCfg.Crv3.CrvTms", - "11702": "Inverter.UtilCrvCfg.Crv3.RmpDec", - "11703": "Inverter.UtilCrvCfg.Crv3.RmpInc", - "11704": "Inverter.UtilCrvCfg.Crv3.NumPt", - "11705": "Inverter.UtilCrvCfg.Crv3.XRef", - "11706": "Inverter.UtilCrvCfg.Crv3.YRef", - "11707": "Inverter.UtilCrvCfg.Crv3.XVal1", - "11708": "Inverter.UtilCrvCfg.Crv3.XVal2", - "11709": "Inverter.UtilCrvCfg.Crv3.XVal3", - "11710": "Inverter.UtilCrvCfg.Crv3.XVal4", - "11711": "Inverter.UtilCrvCfg.Crv3.XVal5", - "11712": "Inverter.UtilCrvCfg.Crv3.XVal6", - "11713": "Inverter.UtilCrvCfg.Crv3.XVal7", - "11714": "Inverter.UtilCrvCfg.Crv3.XVal8", - "11715": "Inverter.UtilCrvCfg.Crv3.YVal1", - "11716": "Inverter.UtilCrvCfg.Crv3.YVal2", - "11717": "Inverter.UtilCrvCfg.Crv3.YVal3", - "11718": "Inverter.UtilCrvCfg.Crv3.YVal4", - "11719": "Inverter.UtilCrvCfg.Crv3.YVal5", - "11720": "Inverter.UtilCrvCfg.Crv3.YVal6", - "11721": "Inverter.UtilCrvCfg.Crv3.YVal7", - "11722": "Inverter.UtilCrvCfg.Crv3.YVal8", - "11723": "Inverter.UtilCrvCfg.CrvModCfg3.CrvNum", - "11724": "Inverter.WCtlHzModCfg.WCtlUnHzCfg.HzStr", - "11725": "Inverter.WCtlHzModCfg.WCtlUnHzCfg.WGra", - "11726": "Inverter.WModCfg.WCtlComCfg.W.phsA", - "11727": "Inverter.WModCfg.WCtlComCfg.W.phsB", - "11728": "Inverter.WModCfg.WCtlComCfg.W.phsC", - "11729": "Inverter.VArModCfg.VArCtlComCfg.VArSpt.phsA", - "11730": "Inverter.VArModCfg.VArCtlComCfg.VArSpt.phsB", - "11731": "Inverter.VArModCfg.VArCtlComCfg.VArSpt.phsC", - "11732": "Inverter.CtlComCfg.CtlMsSrc", - "11733": "Inverter.CtlComCfg.PhsCtlMod", - "11734": "Inverter.GriOffOpMod", - "11735": "Inverter.DclVolSptMin", - "11736": "Plnt.WMaxNom", - "11737": "InOut.DigIn.CurWCtlNom", - "11738": "InOut.AnIn.CurWCtlNom", - "11739": "Inverter.CurWCtlComNom", - "11740": "Inverter.CurWCtlDrkNom", - "11741": "Inverter.CurWCtlMinNom", - "11742": "Inverter.CurWCtlNom", - "11743": "Operation.Nameplate.MainModel", - "11744": "Operation.Alm", - "11745": "Operation.FuncExe", - "11746": "Operation.FabMod", - "11747": "Operation.Clb.TotWRng", - "11748": "Operation.Clb.TotWLim", - "11749": "Operation.Clb.TotW", - "11750": "Operation.Clb.PhVRng", - "11751": "Operation.Clb.PhV", - "11752": "Operation.Clb.DclVolRng", - "11753": "Operation.Clb.DclVol", - "11754": "Operation.Clb.DcVolRng", - "11755": "Operation.Clb.DcVol", - "11756": "Operation.FuncEna", - "11757": "Operation.PvMod", - "11758": "Operation.Nameplate.Vendor", - "11759": "Operation.Nameplate.SerNum", - "11760": "Operation.Nameplate.Model", - "11761": "Operation.Wrn", - "11762": "Operation.MnoStr", - "11763": "Mb.UntId", - "11764": "Nameplate.CmpOS.HwVer", - "11765": "Nameplate.CmpPvPro.HwVer", - "11766": "Nameplate.CmpProtConv.HwVer", - "11767": "Nameplate.CmpMdul.HwVer", - "11768": "Nameplate.CmpMdul2.HwVer", - "11769": "Nameplate.CmpBMS.HwVer", - "11770": "Nameplate.CmpGriMon.HwVer", - "11771": "Nameplate.CmpWl.HwVer", - "11772": "Inverter.UtilCrvCfg.Crv0.ActTms", - "11773": "Wl.Sec.Ssid", - "11774": "Wl.Sec.Psk", - "11775": "Wl.Sec.Cry", - "11776": "Nsd.IsOn", - "11777": "Nsd.ExsDev", - "11778": "Env.TmpVal.Func", - "11779": "Mdul.TmpVal.Func", - "11780": "Nameplate.CmpMain.HwVer", - "11781": "Nameplate.CmpCom.HwVer", - "11782": "Nameplate.CmpFltASw.HwVer", - "11783": "Nameplate.CmpDisp.HwVer", - "11784": "Nameplate.CmpSigProc.HwVer", - "11785": "Nameplate.CmpRS485.HwVer", - "11786": "Nameplate.CmpZb.HwVer", - "11787": "Nameplate.CmpBt.HwVer", - "11788": "Metering.GridMs.PhV.phsA", - "11789": "Metering.GridMs.PhV.phsB", - "11790": "Metering.GridMs.PhV.phsC", - "11791": "Metering.GridMs.W.phsA", - "11792": "Metering.GridMs.W.phsB", - "11793": "Metering.GridMs.W.phsC", - "11794": "Metering.GridMs.WIn.phsA", - "11795": "Metering.GridMs.WIn.phsB", - "11796": "Metering.GridMs.WIn.phsC", - "11797": "Metering.GridMs.VAr.phsA", - "11798": "Metering.GridMs.VAr.phsB", - "11799": "Metering.GridMs.VAr.phsC", - "11800": "Metering.GridMs.TotVAr", - "11801": "Nameplate.CmpBMS.HwRevStr", - "11802": "Nameplate.CmpBMS.PrtNum", - "11803": "Operation.CmpBMS.OpStt", - "11804": "BatChrg.ActBatChrg", - "11805": "Bat.ChaCtlComStt", - "11806": "Bat.Diag.ActlCapac", - "11807": "Inverter.WModCfg.WCtlComCfg.FlbWSpt", - "11808": "Inverter.WModCfg.WCtlComCfg.TmsOut", - "11809": "Bat.ChaSttAbs", - "11810": "PCC.ARtgMod", - "11811": "BatUsDm.WCtlComCfg.BatChaSttMin", - "11812": "BatUsDm.WCtlComCfg.BatChaSttMax", - "11813": "PCC.SelfCsmp.GridWChaSpt", - "11814": "PCC.SelfCsmp.GridWDschSpt", - "11815": "Bat.AvailBatChrg", - "11816": "Bat.AvailBatDsch", - "11817": "Bat.EnvTmp", - "11818": "Bat.EnaStt", - "11819": "Bat.ThmPwrDmd", - "11820": "Bat.DCBusVtg", - "11821": "Bat.DCBusW", - "11822": "Bat.LDSupVtg", - "11823": "Bat.ThmMgtSupVtg", - "11824": "Operation.CmpBMS.OpMode", - "11825": "RS485.ConnSpd", - "11826": "RS485.AqcTms", - "11827": "RS485.DevCnt", - "11828": "Operation.SysRs", - "11829": "Operation.StrDevAqc", - "11830": "Operation.CntDevAqc", - "11831": "WebConn.OptKpAlvTms", - "11832": "Inverter.OpSttDSP", - "11833": "Inverter.VArDmdVArMax", - "11834": "Operation.StrFltDet.ChGrp", - "11835": "Operation.StrFltDet.ChStrgNum", - "11836": "Operation.StrFltDet.SnsLvl", - "11837": "Inverter.WModCfg.WCtlComCfg.WPrc.phsA", - "11838": "Inverter.WModCfg.WCtlComCfg.WPrc.phsB", - "11839": "Inverter.WModCfg.WCtlComCfg.WPrc.phsC", - "11840": "Inverter.VArModCfg.VArCtlComCfg.VArPrc.phsA", - "11841": "Inverter.VArModCfg.VArCtlComCfg.VArPrc.phsB", - "11842": "Inverter.VArModCfg.VArCtlComCfg.VArPrc.phsC", - "11843": "Inverter.SymModCfg.SymMod", - "11844": "Coolsys.PwrCir.TmpVal", - "11845": "Coolsys.PwrCir.TmpValMax", - "11846": "Operation.QCGStt", - "11847": "Inverter.ASTType", - "11850": "Bat.BatVTyp", - "11851": "Inverter.AcVHzTyp", - "11852": "Inverter.Clt.Typ", - "11853": "Inverter.Clt.Sys", - "11854": "Inverter.Clt.CltMod", - "11855": "Inverter.Clt.Addr", - "11856": "Inverter.SysFncSel", - "11857": "GridGuard.EzaTyp", - "11858": "Operation.Cfg.QCG", - "11859": "Inverter.WModCfg.WCtlComCfg.WMaxInNomPrc", - "11860": "Inverter.WModCfg.WCtlComCfg.WMaxIn", - "11861": "Inverter.CtlComCfg.WCtlCom.FlbWMaxInNom", - "11862": "PCC.WMaxAct", - "11863": "Operation.Clb.ClbMod", - "11864": "Operation.Clb.VAr", - "11865": "Operation.LocCrdLong", - "11866": "Operation.LocCrdLat", - "11867": "Operation.RefTmMax", - "11868": "Operation.TrkDifMin", - "11869": "Operation.TolElev", - "11870": "Operation.SensBckX", - "11871": "Operation.SensBckY", - "11872": "Operation.ElevLim", - "11873": "Operation.TypSel", - "11874": "Operation.LastOvRide", - "11875": "Operation.AziMotAMax", - "11876": "Operation.ElevMotAMax", - "11877": "Operation.ElevAActl", - "11878": "Operation.AziAActl", - "11879": "Operation.AziActl", - "11880": "Operation.ElevActl", - "11881": "Operation.TrtAzi", - "11882": "Operation.TrtElev", - "11883": "Operation.EndPosX", - "11884": "Operation.SupV", - "11885": "Operation.OvRideCnt", - "11886": "Operation.RemOp", - "11888": "Inverter.Clt.SerNumDev1", - "11889": "Inverter.Clt.SerNumDev2", - "11890": "Inverter.Clt.PhsDev1", - "11891": "Inverter.Clt.PhsDev2", - "11892": "Operation.LastTmSyn", - "11893": "Operation.DevPwd", - "11894": "Operation.RefErrMax", - "11895": "Operation.StrTms", - "11896": "Operation.RemStep", - "11897": "Operation.ElevOfs", - "11898": "Wl.SoftAcsConnStt", - "11899": "Operation.DrpCtlStt", - "11900": "Inverter.AcDschAMax", - "11901": "SelfCsmp.A.BatChrg", - "11902": "SelfCsmp.A.BatDsch", - "11903": "Inverter.FrqCtl.Max", - "11904": "Inverter.FrqCtl.Min", - "11905": "Inverter.VolCtl.Max", - "11906": "Inverter.VolCtl.Min", - "11907": "BatChrg.BatChrgSetA", - "11908": "BatDsch.BatDschSetA", - "11909": "Metering.PvChaMs.SiChaPvPwr", - "11910": "MltClt.TotWIn", - "11911": "MltClt.TotWOut", - "11912": "Bat.Diag.SocFrqDstr", - "11913": "Gn.ACtl.Max", - "11914": "EEBus.SKI", - "11915": "Operation.ExARtg", - "11916": "Nameplate.CmpBUC.SwRev", - "11917": "Nameplate.CmpBUC.HwVer", - "11918": "Nameplate.CmpBUC.Rev", - "11919": "Nameplate.CmpBUC.SerNum", - "11920": "Nameplate.CmpBUC.SusyId", - "11921": "Nameplate.CmpBIM.SwRev", - "11922": "Nameplate.CmpBIM.HwVer", - "11923": "Nameplate.CmpBIM.Rev", - "11924": "Nameplate.CmpBIM.SerNum", - "11925": "Nameplate.CmpBIM.SusyId", - "11926": "DevUpd.AutoUpdTm", - "11927": "GridGuard.Cntry.VolCtl.RproEna", - "11928": "GridGuard.Cntry.VldTm", - "11929": "ExtGridMs.HzMin", - "11930": "ExtGridMs.HzMax", - "11931": "Inverter.AcChaA", - "11932": "Inverter.AcDschA", - "11933": "Inverter.Addr", - "11934": "Operation.AziOfs", - "11937": "Operation.MsAvCnt", - "11938": "Operation.El2Lim", - "11939": "Operation.El2StrDt", - "11940": "Operation.El2EndDt", - "11941": "Operation.Lim2Ang", - "11942": "Operation.Lim2StrDt", - "11943": "Operation.Lim2EndDt", - "11944": "Operation.FxEl", - "11945": "Operation.FxAng2", - "11946": "Operation.FxAzi", - "11947": "Operation.FxAng1", - "11948": "Operation.FxClrPos", - "11949": "Operation.HyTrackFactX", - "11950": "Operation.HyTrackFactY", - "11951": "Operation.HyTrackJmpWid", - "11952": "Operation.HyTrack_V1", - "11953": "Operation.HyTrack_V2", - "11954": "Operation.HyTrack_V3", - "11955": "Operation.HyTrack_V4", - "11956": "Operation.HyTrack_Xincl", - "11957": "Operation.HyTrack_Yincl", - "11958": "Operation.HyTrack_Rot", - "11959": "Operation.HyTrack_Temp", - "11960": "Operation.HyTrack", - "11961": "Operation.TrkTm", - "11962": "Operation.FailTm", - "11963": "Operation.NightAng", - "11964": "Operation.MotAActl1", - "11965": "Operation.MotAActl2", - "11966": "Operation.MotAMax1", - "11967": "Operation.MotAMax2", - "11968": "Operation.ActlAng1", - "11969": "Operation.ActlAng2", - "11970": "Operation.TgtAng1", - "11971": "Operation.TgtAng2", - "11972": "Operation.DrvEna", - "11973": "Bat.Diag.OcvPtCnt", - "11974": "MltFncSw.SttMstr", - "11975": "Cha.ActChrgMod", - "11976": "Operation.RsCntDev", - "11977": "Operation.OpMode", - "11978": "Operation.TrkErr", - "11979": "Bat.Diag.CntWrnOvV", - "11980": "Bat.Diag.CntErrOvV", - "11981": "Bat.Diag.CntWrnSOCLo", - "11982": "Operation.Addr", - "11983": "Bat.ChaSttArr", - "11984": "Bat.Diag.ActlCapacNomArr", - "11985": "Bat.Diag.ActlCapacArr", - "11986": "Bat.ChaSttAbsArr", - "11987": "Bat.CapacRtgWhArr", - "11988": "BatChrg.CurBatChaArr", - "11989": "BatDsch.CurBatDschArr", - "11990": "BatChrg.BatChrgArr", - "11991": "BatDsch.BatDschArr", - "11992": "BatChrg.AbsBatChrgArr", - "11993": "BatDsch.AbsBatDschArr", - "11994": "BatDsch.ActBatDschArr", - "11995": "BatChrg.BatChrgSetArr", - "11996": "BatDsch.BatDschSetArr", - "11997": "Bat.Diag.ActlCapacNomOvArr", - "11998": "BatChrg.ActBatChrgArr", - "11999": "ExtGridMs.ExSwV", - "12000": "MltClt.StrComTest", - "12001": "MltClt.SttComTest", - "12002": "Bat.BatCurSnsTyp", - "12003": "Bat.BatCurGain50", - "12004": "Bat.BatCurGain60", - "12005": "ExtGridMs.ExVHiRes", - "12006": "Metering.GridMs.TotWInPk", - "12007": "Metering.GridMs.TotWOutPk", - "12008": "GridGuard.Cntry.AISens", - "12009": "Gn.CurCtlMod", - "12010": "Operation.Ac2NSel", - "12011": "Metering.GridMs.MsSrcSel", - "12012": "MltClt.TotLodW", - "12013": "DcCfg.PanLevCtl.SerNum", - "12014": "DcCfg.PanLevCtl.PlntId", - "12015": "DcCfg.PanLevCtl.SwRev", - "12016": "DcCfg.PanLevCom.SerNum", - "12017": "DcCfg.PanLevMdul.Lbl", - "12018": "DcCfg.PanLevMdul.SerNum", - "12019": "DcCfg.PanLevStrg.Lbl", - "12020": "DcCfg.PanLevMdul.Model", - "12021": "DcMs.PanLevMdul.Vol", - "12022": "DcMs.PanLevMdul.Amp", - "12023": "DcMs.PanLevMdul.Watt", - "12024": "DcMs.PanLevMdul.Tmp", - "12025": "DcMs.PanLevMdul.SigPwr", - "12026": "Operation.PanLevMdul.Health", - "12027": "Operation.PanLevCtl.Health", - "12028": "Operation.PanLevCom.Health", - "12029": "Metering.PanLevMdul.WhOut", - "12030": "Inverter.FrqDrp", - "12031": "Inverter.VtgDrp", - "12032": "ExtGridMs.HzHiRes", - "12033": "Operation.CmpBUC.Health", - "12034": "Operation.CmpBIM.Health", - "12035": "Nameplate.CmpMain.HwRevStrg", - "12036": "Metering.Mb.EnMtrSerNumTxt", - "12037": "Metering.EnMtrTyp", - "12038": "Bat.Clb.BatCurSns", - "12039": "Metering.Mb.EnMtrTyp", - "12040": "Operation.RSSOpMode", - "12041": "DcCfg.PanLevStrg.MPPTrk", - "12042": "DcCfg.PanLevStrg.MdulCnt", - "12043": "DcCfg.PanLevStrg.OptCnt", - "12044": "DcCfg.PanLevCtl.RSSFnc", - "12045": "DcMs.PanLevCtl.CfgStt", - "12046": "DcCfg.PanLevCtl.Model", - "12047": "DcCfg.PanLevCom.Model", - "12048": "DcCfg.PanLevCom.SwRev", - "12049": "DcCfg.PanLevMdul.SwRev", - "12050": "MltFncSw.AuxLodCtl.MinTmm", - "12051": "MltFncSw.AuxLodCtl.VtgDif", - "12052": "Metering.Mb.Health", - "12053": "DcCfg.PanLevCom.GwCnt", - "12054": "Eps.Vset", - "12055": "Bck.Vset", - "12056": "Bck.VolCtl.hhLim", - "12057": "Bck.VolCtl.hhLimTmms", - "12058": "Bck.VolCtl.hLim", - "12059": "Bck.VolCtl.hLimTmms", - "12060": "Bck.VMinBckStrt", - "12061": "Bck.SwStt", - "12062": "Bck.ComHealth", - "12063": "Bck.BckBoxOpMod", - "12064": "Bck.RdtSw", - "12065": "Bck.PhsCpl", - "12066": "Bck.NGnd", - "12067": "Bck.HiChaSttDrtInv", - "12068": "Bck.SwAcknTmms", - "12069": "Bck.SwOnVMin", - "12070": "Bck.SwOnVminTmms", - "12071": "Bck.VRmpTmms", - "12072": "Operation.RstBatCfg", - "12073": "Operation.DCInCfg", - "12074": "Operation.CanTstMod", - "12075": "DcCfg.PanLevMdul.HwRev", - "12076": "DcCfg.PanLevCom.HwRev", - "12077": "Bck.TmpLim", - "12078": "DcMs.PanLevCtl.OptFnd", - "12079": "DcMs.PanLevCtl.GwFnd", - "12080": "PCC.PPO.FuncEna", - "12081": "PCC.PPO.ChrgW", - "12082": "PCC.PPO.DschW", - "12083": "PCC.PPO.StrTm", - "12084": "PCC.PPO.StopTm", - "12085": "PCC.PPO.DtSel", - "12086": "PCC.PPO.OpMod", - "12087": "PCC.PPO.Nam", - "12088": "BatUsDm.PPO.TOURng", - "12089": "BatUsDm.PPO.PLSRng", - "12090": "Metering.EnMtrARtg", - "12091": "Metering.GridMs.TotPF", - "12092": "Metering.GridMs.A.phsA", - "12093": "Metering.GridMs.A.phsB", - "12094": "Metering.GridMs.A.phsC", - "12095": "Metering.GridMs.VA.phsA", - "12096": "Metering.GridMs.VA.phsB", - "12097": "Metering.GridMs.VA.phsC", - "12098": "Metering.GridMs.Hz", - "12099": "Metering.GridMs.PhV.phsC2A", - "12100": "Metering.GridMs.PhV.phsA2B", - "12101": "Metering.GridMs.PhV.phsB2C", - "12102": "Metering.GridMs.TotVA", - "12103": "PCC.SelfCsmp.GridWSpt", - "12104": "Bck.VFreMonEna", - "12105": "CmpMdul.RS485Mod", - "12106": "CmpMdul2.RS485Mod", - "12107": "RS485.RS485Mod", - "12108": "AcCfg.HzSpt", - "12109": "AcCfg.AcVolSpt", - "12110": "DcCfg.DcSrc.Ri", - "12111": "DcCfg.DcSrc.OCV", - "12112": "GridGuard.Cntry.LeakAMax", - "12113": "GridGuard.Cntry.LeakRisAMax", - "12114": "CelMdm.IsOn", - "12115": "CelMdm.Do", - "12116": "CelMdm.IMEI", - "12117": "CelMdm.SimCard.ICCID", - "12118": "Operation.CelMdm.Health", - "12119": "Operation.CelMdm.SigPwr", - "12120": "Operation.CelMdm.MNP", - "12121": "Portal.EnnexOS.IsOn", - "12122": "Portal.EnnexOS.Do", - "12123": "Operation.EnnexOS.Health", - "12124": "RS485.Term", - "12125": "Metering.Mb.SwRev", - "12126": "CelMdm.ConnFllbkTmm", - "12127": "Operation.CelMdm.ConnStt", - "12128": "Portal.EnnexOS.ConnStt", - "12129": "Operation.RSSSigTest", - "12130": "Operation.RSSTrgTest", - "12131": "CelMdm.SwRev", - "12132": "WebConn.SwRev", - "12133": "GridGuard.Cntry.RCDOpStop", - "12134": "Sys.EthDiag", - "12135": "Inverter.CurVArCtlNom", - "12136": "Operation.LabMod.IsOn", - "12137": "Inverter.CurVArCtlMinNom", - "12138": "GridGuard.Cntry.VolCtl.Cor", - "12139": "GridGuard.Cntry.VolCtl.CorTmms", - "12140": "GridGuard.Cntry.FrqCtl.Cor", - "12141": "GridGuard.Cntry.FrqCtl.CorTmms", - "12142": "GridGuard.Cntry.AMaxOfs.Cor", - "12143": "GridGuard.Cntry.AMaxOfs.CorTmms", - "12144": "Inverter.GraCtlTmCor", - "12145": "Sys.ComDiag", - "12146": "Operation.SIS.IsOn", - "12147": "Portal.EnnexOS.EthWifi.UpldCyc", - "12148": "Portal.EnnexOS.CelMdm.UpldCyc", - "12149": "Portal.EnnexOS.AvValTyp", - "12150": "Bck.BckModLodDeAct", - "12151": "Inverter.VArModCfg.VArCtlVolCfg.Crv.NumPt", - "12152": "Inverter.VArModCfg.VArCtlVolCfg.WMax", - "12153": "Inverter.VArModCfg.VArNomRefMod", - "12154": "Inverter.NumPvStrg", - "12155": "Inverter.NumPhs", - "12156": "Inverter.VArModCfg.VArCtlVolCfg.VolMod", - "12157": "Inverter.VArModCfg.VArCtlVolCfg.Crv.XVal", - "12158": "Inverter.VArModCfg.VArCtlVolCfg.Crv.YVal", - "12159": "Inverter.VArModCfg.VArCtlVolCfg.VArMax", - "12160": "Inverter.VArModCfg.VArCtlVolCfg.VArLimMod", - "12161": "Inverter.VArModCfg.VArCtlVolCfg.VArTms95", - "12162": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.Vol", - "12163": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.AutnAdjMod", - "12164": "Inverter.VArModCfg.FlbVArMod", - "12165": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.Flb", - "12166": "Inverter.VArModCfg.VArCtlVolCfg.Lok.On", - "12167": "Inverter.VArModCfg.VArCtlVolCfg.Lok.Off", - "12168": "Inverter.VArModCfg.VArCtlVolCfg.Lok.EnaTms", - "12169": "Inverter.VArModCfg.VArCtlVolCfg.Lok.DsaTms", - "12170": "Metering.PCCMs.PlntPhV.phsA", - "12171": "Metering.PCCMs.PlntPhV.phsB", - "12172": "Metering.PCCMs.PlntPhV.phsC", - "12173": "Operation.CurCtlMod", - "12174": "Can.SIComCtl", - "12175": "Operation.VArCpn", - "12176": "Spdwr.Cry", - "12177": "Inverter.VArModCfg.VArCtlVolCfg.Crv.NumPtMax", - "12178": "Inverter.VArModCfg.VArCtlVolCfg.VolRef.AutnAdjTms", - "12179": "Isolation.FuncEna", - "12180": "Inverter.WMaxOutRtg", - "12181": "Inverter.WMaxInRtg", - "12182": "Inverter.WMinOutRtg", - "12183": "Inverter.WMinInRtg", - "12184": "Inverter.VArMaxQ1Rtg", - "12185": "Inverter.VArMaxQ2Rtg", - "12186": "Inverter.VArMaxQ3Rtg", - "12187": "Inverter.VArMaxQ4Rtg", - "12188": "Inverter.PFMinQ1Rtg", - "12189": "Inverter.PFMinQ2Rtg", - "12190": "Inverter.PFMinQ3Rtg", - "12191": "Inverter.PFMinQ4Rtg", - "12192": "Inverter.VAMaxOutRtg ", - "12193": "Inverter.VAMaxInRtg", - "12194": "Inverter.WMaxOut", - "12195": "Inverter.WMaxIn", - "12196": "Inverter.WMinOut", - "12197": "Inverter.WMinIn", - "12198": "Inverter.VAMaxOut", - "12199": "Inverter.VAMaxIn", - "12200": "Inverter.VArMaxQ1", - "12201": "Inverter.VArMaxQ2", - "12202": "Inverter.VArMaxQ3", - "12203": "Inverter.VArMaxQ4", - "12204": "Inverter.VArMaxZerWQ1", - "12205": "Inverter.VArMaxZerWQ2", - "12206": "Inverter.VArMaxZerWQ3", - "12207": "Inverter.VArMaxZerWQ4", - "12208": "Inverter.PFMinQ1", - "12209": "Inverter.PFMinQ2", - "12210": "Inverter.PFMinQ3", - "12211": "Inverter.PFMinQ4", - "12212": "Card.PanLevLog", - "12213": "Metering.GridMs.AbsWhOut", - "12214": "Metering.GridMs.AbsWhIn", - "12223": "Inverter.VArModCfg.PFCnstCfg.PFOut", - "12224": "Inverter.VArModCfg.PFCnstCfg.PFExtOut", - "12225": "Inverter.VArModCfg.PFCnstCfg.PFIn", - "12226": "Inverter.VArModCfg.PFCnstCfg.PFExtIn", - "12227": "Inverter.VArModCfg.PFCfg.WFilTmEna", - "12228": "Inverter.VArModCfg.PFCfg.WFilTms", - "12229": "Inverter.VArModCfg.PFCfg.VArTmEna", - "12230": "Inverter.VArModCfg.PFCfg.VArTms", - "12231": "Inverter.VArModCfg.PFCfg.VArGraEna", - "12232": "Inverter.VArModCfg.PFCfg.VArGraPos", - "12251": "GridGuard.Cntry.GFCI.GFCILim.GFCILim", - "12252": "GridGuard.Cntry.GFCI.GFCILim.GFCILimEna", - "12258": "Inverter.VArModCfg.PFCfg.VArGraNeg", - "12804": null, - "12807": null, - "20000": "StrD1", - "29999": "StopD1", - "130001": "EvtMon", - "130002": "AlmGriMgt", - "130003": "WaitTmAftFrstOcc", - "130004": "SetPtMon", - "130005": "SetPtMonDesc", - "130006": "SetPtMonUpLim", - "130007": "SetPtMonLowLim", - "130008": "PerfRatMon", - "130009": "PerfRatMonDesc", - "130010": "PerfRatMonLowLim", - "130011": "BasCustMsgRept", - "130012": "BasCustMsgReptDesc", - "130013": "BasCustMsgReptLev", - "130014": "BasCustMsgReptCat", - "200002": "GriCsmp", - "200003": "GriFeedIn", - "200004": "EvtCompAlm", - "200005": "EvtPerfRatAlm", - "200006": "CompAlmMail", - "200007": "CompAlmMailInf", - "200008": "InvCompStt", - "200010": "Deb", - "200011": "DeviceState", - "200012": "TmpIn", - "200013": "OnlNotEmtRept", - "200014": "ProdGrpIOSys", - "200015": "ProdGrpMonCtl", - "200016": "ProdGrpSnsTec", - "200017": "ProdGrpMdulInv", - "200018": "ProdGrpCtrInv", - "200019": "ProdGrpDCTec", - "200020": "ProdGrpDCOpt", - "200021": "EvtUsrCreaBy", - "200022": "EvtUsrDltBy", - "200023": "EvtUsrEdtBy", - "200024": "EvtParaChgInit", - "200025": "Data Manager M", - "200026": "PrtlNam", - "200027": "SpcAcPwr", - "200028": "EvtSptChgVal", - "200029": "PwrFeedIn", - "200030": "PwrCsmp", - "200031": "ConfMsgInvalVal", - "200032": "BasInfRept", - "200033": "InfReptDesc", - "200034": "TmpIn1", - "200035": "TmpIn2", - "200036": "TmpIn3", - "200037": "TmpIn4", - "200038": "TmpIn5", - "200039": "TmpIn6", - "200040": "NamMr", - "200041": "NamMrs", - "200042": "UsrRole", - "200043": "Admin", - "200044": "UsrRole.Admin", - "200045": "InOut.DigIn.VArSpt", - "200046": "Inverter.VArSpt", - "200047": "EvtFllBkDurInvSpt", - "200048": "EvtConSpt", - "200049": "EvtCfgMsgInvVal", - "200050": "EvtZerYldAlm", - "200051": "ComMonFlt", - "200052": "TxRept", - "200053": "SatelliteSns", - "200056": "ComMonAlm", - "200057": "DescComMon", - "200058": "ComMonMsg", - "200059": "ComMonMsgClr", - "200060": "EvtDevDltByUsr", - "200061": "EvtNewDevRgst", - "200062": "ComMonMsgRmd", - "200064": "UniDirEnMtrFeed", - "200065": "BiDirEnMtrSepChn", - "200067": "ActReaPwrTxt", - "200068": "ActVDepReaPwrTxt", - "200070": "UniDirEnMtrCsmp", - "200071": "BiDirEnMtr", - "200072": "EvtComFltDev", - "200073": "EvtDevFlt", - "200080": "ProdGrpChaSta", - "210000": "Metering.PCCMs.PlntWh", - "210001": "Metering.PCCMs.PlntCsmpWh", - "210002": "Metering.PCCMs.PlntCsmpW", - "210004": "InOut.DigoutGrp1", - "210005": "InOut.TmpIn", - "210006": "Measurement.Metering.PCCMs.PlntPhV.phsA", - "210007": "Measurement.Metering.PCCMs.PlntPhV.phsB", - "210008": "Measurement.Metering.PCCMs.PlntPhV.phsC", - "210009": "Measurement.Metering.PCCMs.PlntPF", - "210010": "Metering.GridMs.TotWhOut.PV", - "210011": "Metering.GridMs.TotWhOut.Bat", - "210012": "Metering.GridMs.TotWOut.PV", - "210013": "Metering.GridMs.TotWOut.Bat", - "210014": "Metering.GridMs.TotWhIn.Bat", - "210015": "Metering.GridMs.TotWIn.Bat", - "210016": "GridMs.TotW.PV", - "210017": "Measurement.Inverter.CurWCtlMinNom", - "210018": "Measurement.Inverter.CurWCtlNom", - "210019": "Measurement.Metering.PCCMs.PlntCsmpW", - "210020": "Measurement.Metering.PCCMs.PlntW", - "210021": "Measurement.Inverter.CurVArCtlNom", - "210022": "Measurement.Inverter.CurVArCtlMinNom", - "210035": "Measurement.Env.PlntExSnsInsol", - "210036": "Measurement.Env.PlntHorWndSpd", - "210037": "Measurement.Env.PlntEnvTmpVal", - "210038": "Measurement.Env.PlntMdulTmpVal", - "16777213": "NaNStt", - "16777214": "EndOfTagLst", - "16777216": "TxTstTo", - "16777217": "Spt", - "16777218": "ActlVal", - "16777219": "ActPwr" + "9438": "SMA SPOT", + "9439": "Sunny Boy 3.0-US", + "9440": "Sunny Boy 3.8-US", + "9441": "Sunny Boy 5.0-US", + "9442": "Sunny Boy 6.0-US", + "9443": "Sunny Boy 7.0-US", + "9444": "Sunny Boy 7.7-US", + "9445": "Sunny Boy 3.0-US", + "9446": "Sunny Boy 3.8-US", + "9447": "Sunny Boy 5.0-US", + "9448": "Sunny Boy 6.0-US", + "9449": "Sunny Boy 7.0-US", + "9450": "Sunny Boy 7.7-US", + "9451": "Solid-Q 15.0", + "9452": "Solid-Q 18.0", + "9453": "Solid-Q 20.0", + "9454": "Solid-Q 23.0", + "9455": "Sunny Boy 5.5-JP", + "9456": "Sunny Tripower Storage 60", + "9457": "Sunny Central 4000-UP", + "9458": "Sunny Central 4000-UP-US", + "9459": "Sunny Central Storage 3450-UP-XT", + "9460": "Sunny Central Storage 3450-UP-XT-US", + "9461": "Sunny Central 4200-UP", + "9462": "Sunny Central 4200-UP-US", + "9463": "Sunny Central Storage 3600-UP-XT", + "9464": "Sunny Central Storage 3600-UP-XT-US", + "9465": "Sunny Central 4400-UP", + "9466": "Sunny Central 4400-UP-US", + "9467": "Sunny Central Storage 3800-UP-XT", + "9468": "Sunny Central Storage 3800-UP-XT-US", + "9469": "Sunny Central 4600-UP", + "9470": "Sunny Central 4600-UP-US", + "9471": "Sunny Central Storage 3950-UP-XT", + "9472": "Sunny Central Storage 3950-UP-XT-US", + "9473": "SMA Energy Meter powered by ennexOS", + "9474": "Sunny Island 4.4M-13", + "9475": "Sunny Island 6.0H-13", + "9476": "Sunny Island 8.0H-13", + "9477": "SHP 143-JP-20", + "9478": "FRITZ!DECT 200", + "9479": "FRITZ!DECT 210", + "9480": "Sunny Tripower 60", + "9481": "Sunny Tripower 60 Japan", + "9482": "Sunny Highpower PEAK1", + "9483": "EVC7.4-1AC-10", + "9484": "EVC22-3AC-10", + "9485": "Hybrid Controller", + "9486": "Sunny Island 5.0H-13", + "9487": "Sunny Boy Storage 4.0-JP", + "9488": "STP 25-50", + "9489": "STP 20-50", + "9490": "STP 17-50", + "9491": "STP 15-50", + "9492": "STP 12-50", + "9493": "STP 30-US-50", + "9494": "STP 25-US-50", + "9495": "STP 24-US-50", + "9496": "STP 20-US-50", + "9497": "STP 15-US-50", + "9498": "STP 12-US-50", + "9499": "(UTC-AUTO) Automatic via SMA protocol", + "9500": "(UTC+04:30) Kabul", + "9501": "(UTC-09:00) Alaska", + "9502": "(UTC+03:00) Kuwait, Riyardh", + "9503": "(UTC+04:00) Abu Dhabi, Muskat", + "9504": "(UTC+03:00) Baghdad, Istanbul", + "9505": "(UTC-04:00) Atlantic (Canada)", + "9506": "(UTC+09:30) Darwin", + "9507": "(UTC+10:00) Canberra, Melbourne, Sydney", + "9508": "(UTC+04:00) Baku", + "9509": "(UTC-01:00) Azores", + "9510": "(UTC-06:00) Saskatchewan", + "9511": "(UTC-01:00) Cape Verde Islands", + "9512": "(UTC+04:00) Yerevan", + "9513": "(UTC+09:30) Adelaide", + "9514": "(UTC-06:00) Regina", + "9515": "(UTC+06:00) Astana, Dhaka", + "9516": "(UTC-04:00) Manaus", + "9517": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", + "9518": "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", + "9519": "(UTC+11:00) Magadan, Solomon Islands, New Caledonia", + "9520": "(UTC-06:00) Central America", + "9521": "(UTC-06:00) Guadalajara, Mexico City, Monterrary - Old", + "9522": "(UTC+08:00) Peking, Chongqing, Hongkong, Urumchi", + "9523": "(UTC-12:00) (Western) International Date Line", + "9524": "(UTC+03:00) Nairobi", + "9525": "(UTC+10:00) Brisbane", + "9526": "(UTC+02:00) Minsk", + "9527": "(UTC-03:00) Brasilia", + "9528": "(UTC-05:00) New York, Miami, Atlanta, Detroit, Toronto", + "9529": "(UTC+02:00) Cairo", + "9530": "(UTC+05:00) Jekaterinburg", + "9531": "(UTC+12:00) Fidschi, Marshall Islands", + "9532": "(UTC+02:00) Helsinki, Kiev, Riga, Sofia, Tallin, Wilna", + "9533": "(UTC+04:00) Tiflis", + "9534": "(UTC) Dublin, Edinburgh, Lisbon, London", + "9535": "(UTC-03:00) Greenland", + "9536": "(UTC) Monrovia, Reykjavík", + "9537": "(UTC+02:00) Athens, Bucharest, Istanbul", + "9538": "(UTC-10:00) Hawaii", + "9539": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", + "9540": "(UTC+03:30) Teheran", + "9541": "(UTC+02:00) Jerusalem", + "9542": "(UTC+02:00) Amman", + "9543": "(UTC+09:00) Seoul", + "9544": "(UTC+08:00) Kuala Lumpur, Singapore", + "9545": "(UTC-02:00) Central Atlantic", + "9546": "(UTC+02:00) Beirut", + "9547": "(UTC-07:00) Denver, Salt Lake City, Calgary", + "9548": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - old", + "9549": "(UTC+06:30) Yangon (Rangoon)", + "9550": "(UTC+06:00) Novosibirsk", + "9551": "(UTC+02:00) Windhoek", + "9552": "(UTC+05:45) Katmandu", + "9553": "(UTC+12:00) Auckland, Wellington", + "9554": "(UTC-03:30) Newfoundland", + "9555": "(UTC+08:00) Irkutsk", + "9556": "(UTC+07:00) Krasnoyarsk", + "9557": "(UTC-04:00) Santiago", + "9558": "(UTC-08:00) Pacific (USA, Canada)", + "9559": "(UTC-08:00) Tijuana, Baja California (Mexico)", + "9560": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", + "9561": "(UTC+03:00) Moskow, St. Petersburg, Volgograd", + "9562": "(UTC-03:00) Buenos Aires, Santiago", + "9563": "(UTC-05:00) Bogotá, Lima, Quito", + "9564": "(UTC-04:30) Caracas", + "9565": "(UTC-11:00) Midway Islands, Samoa", + "9566": "(UTC+07:00) Bangkok, Hanoi, Jakarta", + "9567": "(UTC+02:00) Harare, Pretoria", + "9568": "(UTC+05:30) Sri Jayawardenepura", + "9569": "(UTC+08:00) Taipeh", + "9570": "(UTC+10:00) Hobart", + "9571": "(UTC+09:00) Osaka, Sapporo, Tokyo", + "9572": "(UTC+13:00) Nuku'alofa", + "9573": "(UTC-05:00) Indiana (East)", + "9574": "(UTC-07:00) Arizona", + "9575": "(UTC+10:00) Vladivostok, Magadan", + "9576": "(UTC+08:00) Perth", + "9577": "(UTC+01:00) West.Centr.Africa", + "9578": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", + "9579": "(UTC+05:00) Islamabad, Karatschi", + "9580": "(UTC+10:00) Guam, Port Moresby", + "9581": "(UTC+09:00) Yakutsk", + "9582": "(UTC+04:00) Caucasian Standard Time", + "9583": "(UTC-06:00) Chicago, Dallas, Kansas City, Winnipeg", + "9584": "(UTC-06:00) Guadalajara, Mexico City, Monterrey - new", + "9585": "(UTC) Casablanca", + "9586": "(UTC+04:00) Port Louis", + "9587": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - new", + "9588": "(UTC-03:00) Montevideo", + "9589": "(UTC+05:00) Taschkent", + "9590": "(UTC+01:00) Casablanca", + "9591": "(UTC-04:00) Georgetown, La Paz, San Juan", + "9592": "(UTC+08:00) Ulan-Bator", + "9593": "(UTC-03:00) Cayenne", + "9594": "(UTC-04:00) Asuncion", + "9595": "(UTC+12:00) Petropavlovsk-Kamtschatski", + "9596": "(UTC+03:00) Minsk", + "9597": "(UTC+07:00) Novosibirsk", + "9598": "(UTC-04:00) Caracas", + "10001": "Total yield", + "10002": "Power", + "10003": "MPP scan procedure completed successfully", + "10004": "Estimated MPP power", + "10005": "Absorbed energy", + "10006": "Estimated AC MAX power", + "10007": "Maximum unsymmetric load", + "10008": "Fan 3 operating time", + "10009": "Number of events for user", + "10010": "Number of grid connections", + "10011": "Operating time", + "10012": "Feed-in time", + "10013": "Number of events for installer", + "10014": "Number of events for service", + "10015": "Total energy drawn from the grid by the device", + "10016": "Total amount of energy fed into the grid by device", + "10017": "Total operating time of device", + "10018": "Total feed-in time of device", + "10019": "Number of grid connections of the device", + "10020": "Fan operating time", + "10021": "Fan 2 operating time", + "10022": "Fan heat sink operating time", + "10023": "Fan transformer operating time", + "10024": "Fan transformer 2 operating time", + "10025": "Number of Flash write cycles", + "10026": "Number of events for developer", + "10027": "Current event number", + "10028": "Waiting time until feed-in", + "10029": "Load unbalance limit", + "10030": "Power", + "10031": "Power L1", + "10032": "Power L2", + "10033": "Power L3", + "10034": "Measurement interval", + "10035": "Grid voltage phase L1", + "10036": "Grid voltage phase L2", + "10037": "Grid voltage phase L3", + "10038": "Grid current", + "10039": "Grid current phase L1", + "10040": "Grid current phase L2", + "10041": "Grid current phase L3", + "10042": "Grid frequency", + "10043": "Reactive power", + "10044": "Reactive power L1", + "10045": "Reactive power L2", + "10046": "Reactive power L3", + "10047": "Apparent power", + "10048": "Apparent power L1", + "10049": "Apparent power L2", + "10050": "Apparent power L3", + "10051": "Operating condition residual current", + "10052": "Operating condition insulation resistance", + "10053": "Operating condition grid voltage", + "10054": "Operating condition grid voltage L1", + "10055": "Operating condition grid voltage L2", + "10056": "Operating condition grid voltage L3", + "10057": "Operating condition grid frequency", + "10058": "Operating condition power", + "10061": "Operating condition reactive power", + "10063": "Operating condition current", + "10064": "Operating condition current L1", + "10065": "Operating condition current L2", + "10066": "Operating condition current L3", + "10067": "Operating condition temperatures", + "10068": "Highest measured ambient temperature", + "10069": "Ambient temperature", + "10070": "Insolation", + "10071": "Diffuse insolation", + "10072": "Direct irradiation", + "10073": "Insolation on external sensor", + "10074": "Wind speed", + "10075": "Wind direction", + "10076": "Air humidity", + "10077": "Atmospheric pressure", + "10078": "Residual current", + "10079": "Insulation resistance", + "10080": "Serial number", + "10081": "Nominal power in Ok Mode", + "10082": "Nominal power in Warning Mode", + "10083": "Nominal power in Fault Mode", + "10085": "Recommended action \"contact installer\"", + "10086": "Recommended action \"contact manufacturer\"", + "10087": "External temperature", + "10088": "Highest measured external temperature", + "10089": "External temperature 2", + "10090": "Highest measured external temperature 2", + "10091": "Internal temperature", + "10092": "Highest measured internal temperature", + "10093": "Heat sink temperature", + "10094": "Highest measured heat sink temperature", + "10095": "Heat sink temperature 2", + "10096": "Highest measured heat sink temperature 2", + "10097": "Transformer temperature", + "10098": "Highest measured transformer temperature", + "10099": "Internal temperature", + "10100": "Highest measured internal temperature", + "10101": "Module temperature", + "10102": "Highest measured module temperature", + "10103": "Highest measured inverter temperature", + "10104": "Inverter temperature", + "10105": "Highest measured printed circuit board temperature", + "10106": "Printed circuit board temperature", + "10107": "Last GridGuard password", + "10108": "Intermediate circuit voltage", + "10109": "Current event number for manufacturer", + "10110": "Condition", + "10111": "Recommended action", + "10112": "Message", + "10113": "Fault correction measure", + "10114": "Grid relay/contactor", + "10115": "Reason for derating", + "10116": "DC voltage control type", + "10117": "Last GridGuard password", + "10118": "BMS type", + "10119": "Acknowledge fault", + "10120": "Remote control", + "10121": "Maximum active power device", + "10122": "Memory card status", + "10123": "General operating mode", + "10124": "Fan test", + "10125": "Deactivation delay", + "10126": "Country standard set", + "10127": "Device name", + "10128": "Device class", + "10129": "Device type", + "10130": "Manufacturer", + "10134": "Set total operating time at grid connection point", + "10135": "Set total feed-in time at the grid connection pt.", + "10136": "Set fan operating time", + "10137": "Set fan2 operating time", + "10138": "Set heat sink fan operating time", + "10139": "Set transfomer fan operating time", + "10140": "Set transformer fan 2 operating time", + "10141": "Reset operating data", + "10142": "Set transformer fan 3 operating time", + "10143": "Load parameter", + "10144": "Memory card function", + "10145": "Start of derating based on external temperature", + "10146": "Start of derating based on external temperature 2", + "10147": "Start of derating based on interior temperature", + "10148": "Setpoint of the interior temperature", + "10149": "Start of derating based on heat sink temperature", + "10150": "Setpoint of the heat sink temperature", + "10151": "Start of derating based on heat sink temperature 2", + "10152": "Setpoint of the heat sink temperature 2", + "10153": "Start of derating based on transformer temperature", + "10154": "Setpoint of transformer temperature", + "10155": "Start of derating based on board temperature", + "10156": "Start of derating based on inverter temperature", + "10157": "Target address", + "10158": "Message interval", + "10159": "Set active power limit", + "10160": "Current power limit A", + "10161": "Power limit B", + "10162": "Power limit C", + "10163": "Power limitation", + "10164": "Phase assignment", + "10165": "Start. point of the power control via frequency", + "10166": "End point of the power control via frequency", + "10167": "Tripping threshold DC current monitoring", + "10168": "Tripping time DC current monitoring", + "10169": "Maximum duration of a short interruption", + "10170": "Reconnection time upon short interruption", + "10171": "Reconnection time after grid fault", + "10172": "Reconnection time upon restart", + "10173": "Escalation factor", + "10174": "Frequency monitoring upper maximum threshold", + "10175": "Frequency monitoring upper max. threshold trip. time", + "10176": "Frequency monitoring median maximum threshold", + "10177": "Frq. monitoring median max. threshold trip. time", + "10178": "Frequency monitoring, lower maximum threshold", + "10179": "Frequency monitoring, lower max. threshold trip. time", + "10180": "Frequency monitoring upper minimum threshold", + "10181": "Frequency monitoring, upper min. threshold trip. time", + "10182": "Frequency monitoring median minimum threshold", + "10183": "Frq. monitoring median min. threshold trip. time", + "10184": "Frequency monitoring, lower minimum threshold", + "10185": "Frequency monitoring, lower min. threshold trip. time", + "10186": "Voltage monitoring upper maximum threshold", + "10187": "Voltage monitoring upper max. threshold trip. time", + "10188": "Voltage monitoring median maximum threshold", + "10189": "Voltage monitoring, median max. threshold trip.time", + "10190": "Voltage monitoring lower maximum threshold", + "10191": "Voltage monitoring, lower max. threshold trip. time", + "10192": "Voltage monitoring upper minimum threshold", + "10193": "Voltage monitoring, lower min. threshold trip. time", + "10194": "Voltage monitoring of median minimum threshold", + "10195": "Voltage monitoring, median min. threshold trip.time", + "10196": "Voltage monitoring lower minimum threshold", + "10197": "Voltage monitoring, lower min. threshold trip. time", + "10198": "Voltage increase protection", + "10199": "Maximum grid current", + "10200": "Maximum Bluetooth power", + "10201": "Set country standard", + "10202": "Ground connection monitoring", + "10203": "Minimum insulation resistance", + "10204": "Production test mode", + "10205": "Underlying country standard", + "10207": "Data recording on memory card", + "10209": "DC voltage input", + "10210": "DC voltage A input", + "10211": "DC voltage B input", + "10212": "DC voltage C input", + "10213": "DC current input", + "10214": "DC current A input", + "10215": "DC current B input", + "10216": "DC current C input", + "10217": "DC power input", + "10218": "DC power A input", + "10219": "DC power B input", + "10220": "DC power C input", + "10221": "Operating condition DC current input", + "10222": "Operating condition DC voltage input", + "10223": "Operating condition DC power input", + "10224": "Highest measured DC voltage", + "10225": "Maximum DC voltage A", + "10226": "Maximum DC voltage B", + "10227": "Maximum DC voltage C", + "10228": "DC current A input", + "10229": "DC current A input", + "10230": "DC current A input", + "10231": "DC current A input", + "10232": "DC current A input", + "10233": "DC current B input", + "10241": "Start delay input", + "10242": "Minimum voltage input", + "10243": "Maximum allowed voltage input", + "10244": "Maximum allowed voltage input A", + "10245": "Maximum allowed voltage input B", + "10246": "Maximum allowed voltage input C", + "10247": "Constant voltage setpoint", + "10248": "Constant voltage setpoint A", + "10249": "Constant voltage setpoint B", + "10250": "Constant voltage setpoint C", + "10257": "Grid nominal voltage", + "10258": "Communication version", + "10259": "Set total yield", + "10260": "Set absorbed energy", + "10261": "Set highest measured ambient temperature", + "10263": "Set highest measured internal temperature", + "10264": "Set highest measured heat sink temperature", + "10265": "Set highest measured heat sink temperature 2", + "10266": "Set highest measured transformer temperature", + "10267": "Set highest measured inverter temperature", + "10268": "Set highest measured PCB temperature", + "10269": "Set highest measured external temperature", + "10270": "Set highest measured external temperature 2", + "10272": "Daily yield", + "10273": "Set number of grid connections", + "10274": "Temporal control of the power limitation", + "10275": "Reset operating data (for Service)", + "10276": "Set highest measured module temperature", + "10277": "Reset measured values", + "10278": "System time", + "10283": "Checking firmware", + "10284": "Set user password", + "10285": "Set installer password", + "10286": "Set service password", + "10287": "Set developer password", + "10288": "Number of PV system detections", + "10289": "Time of the last detection", + "10290": "Hardware on Interface 1", + "10291": "Hardware on Interface 2", + "10292": "Hardware on Interface 3", + "10293": "System password", + "10294": "Manufacturer", + "10295": "BMS type", + "10297": "DHCP DNS Server IP", + "10298": "DHCP Gateway IP", + "10299": "DHCP IP address", + "10300": "DHCP server configuration owner", + "10301": "DHCP Subnet mask", + "10302": "WAN IP", + "10303": "Provider IP", + "10304": "Heating mode", + "10305": "OK to use grid power for heating mode", + "10306": "Daylight Saving Time on", + "10308": "Date format of the user interface", + "10309": "Language of the user interface", + "10310": "Units of length of the user interface", + "10311": "Number format of the user interface", + "10312": "Unit of temperature of the user interface", + "10313": "Time format of the user interface", + "10314": "Standard/Daylight saving time conversion on", + "10315": "Automatic time synchronization", + "10316": "Time zone", + "10317": "Automatic updates activated", + "10318": "Time of the automatic update", + "10319": "Device updates activated", + "10320": "Ethernet DHCP activated", + "10321": "Ethernet DNS server", + "10322": "Ethernet gateway", + "10323": "Ethernet IP address", + "10324": "Ethernet subnet mask", + "10325": "Ethernet NAT port", + "10326": "Ethernet proxy activated", + "10327": "Ethernet proxy server login", + "10328": "Ethernet proxy server port", + "10329": "Ethernet proxy server password", + "10330": "Ethernet proxy server address", + "10331": "Web service Port", + "10332": "HTTP server port", + "10333": "Test modem connection", + "10334": "GPRS-APN", + "10335": "Dial-in number for modem connection", + "10336": "Password for modem connection", + "10337": "Modem SIM Card PIN", + "10338": "Test modem signal strength", + "10339": "Upload data to the portal", + "10340": "Result of the last upload", + "10341": "Test the connection to the portal", + "10342": "Result of the last connection test", + "10343": "Register", + "10344": "Result of the last registration", + "10345": "Portal user name", + "10346": "Email address of portal user", + "10347": "PV system name in portal", + "10348": "PV system ID in portal", + "10349": "Use Sunny Portal", + "10350": "Frequency of data uploads to the portal", + "10351": "Status of the last SunnyDNS operation", + "10352": "SunnyDNS active", + "10353": "SunnyDNS Password", + "10354": "FTP Push active", + "10355": "FTP Push: Connection test", + "10356": "FTP Push Login", + "10357": "FTP Push server Port", + "10358": "FTP Push Password", + "10359": "FTP Push Server Address", + "10360": "FTP server activated", + "10361": "Write access to FTP server allowed", + "10362": "GPRS-Always-On active", + "10363": "Firmware version of the module", + "10364": "Hardware version of the module", + "10365": "Revision status of the module", + "10366": "Update version of the module", + "10367": "Serial number of the module", + "10368": "SUSyID of the module", + "10372": "Device number", + "10373": "Software package", + "10374": "Find device", + "10375": "Firmware version of the main processor", + "10376": "Hardware version of the main processor", + "10377": "Revision status of the main processor", + "10378": "Update version of the main processor", + "10379": "Serial number of the main processor", + "10380": "SUSyID of the main processor", + "10381": "Firmware version of the communication assembly", + "10382": "Hardware version of the communication assembly", + "10383": "Revision status of the communication assembly", + "10384": "Update version of the communication assembly", + "10385": "Serial number of the communication assembly", + "10386": "SUSyID of the communication assembly", + "10387": "Firmware version of the residual current mon. unit", + "10388": "Hardware version of the residual current mon. unit", + "10389": "Revision status of the residual current mon. unit", + "10390": "Update version of the residual current mon. unit", + "10391": "Serial number of residual current monitoring unit", + "10392": "SUSyID of the residual current monitoring unit", + "10393": "Firmware version of the display", + "10394": "Hardware version of the display", + "10395": "Revision status of the display", + "10396": "Update version of the display", + "10397": "Serial number of the display", + "10398": "SUSyID of the display", + "10399": "Firmware version of the logic component", + "10400": "Hardware version of the logic component", + "10401": "Revision status of the logic component", + "10402": "Update version of the logic component", + "10403": "Serial number of the logic component", + "10404": "SUSyID of the logic component", + "10405": "Firmware version of the RS485 Module", + "10406": "Hardware version of the RS485 module", + "10407": "Revision status of the RS485 module", + "10408": "Update version of the RS485 module", + "10409": "Serial number of the RS485 module", + "10410": "SUSyID of the RS485 module", + "10411": "Firmware version of the Zigbee components", + "10412": "Hardware version of the Zigbee components", + "10413": "Revision status of the Zigbee components", + "10414": "Update version of the Zigbee components", + "10415": "Serial number of the Zigbee components", + "10416": "SUSyID of the Zigbee components", + "10417": "Firmware version of the Bluetooth component", + "10418": "Hardware version of the Bluetooth component", + "10419": "Revision status of the Bluetooth component", + "10420": "Update version of the Bluetooth component", + "10421": "Serial number of the Bluetooth component", + "10422": "SUSyID of the Bluetooth component", + "10423": "Firmware version of the operating system", + "10424": "Hardware version of the operating system", + "10425": "Revision status of the operating system", + "10426": "Update version of the operating system", + "10427": "Serial number of the operating system", + "10428": "SUSyID of the operating system", + "10429": "PV system name", + "10430": "Sunny Portal server address", + "10431": "Difference PV system time/system time", + "10432": "Number of S0 impulses", + "10433": "Consumed energy", + "10434": "Number of Resets", + "10435": "Power absorbed", + "10436": "Reset operating data for string failure detection", + "10437": "Operating mode of string failure detection", + "10438": "Operating mode of static voltage stability, configuration of static voltage stability", + "10439": "Operating mode active power setting", + "10440": "Operating mode of active power reduction in case of overfrequency P(f)", + "10441": "Status, PV system control", + "10443": "Difference until next characteristic curve value", + "10444": "Difference until next charact. curve value Time", + "10445": "Nominal voltage offset", + "10446": "Gradient of reactive power characteristic curve", + "10447": "Reactive power mode at power input", + "10448": "Manual reactive power setting for active power output", + "10449": "Manual reactive power setting for active power output", + "10451": "Reactive power value starting point", + "10452": "Active power value starting point", + "10453": "Reactive power value end point", + "10454": "Active power value end point", + "10455": "cos φ setpoint, cos φ config., direct specif.", + "10456": "cos φ excit.type, cos φ config., direct spec.", + "10457": "Excit. type at start point, cos φ(P) char. conf.", + "10458": "cos φ at start point, cos φ(P) char. config.", + "10459": "Active power starting point", + "10460": "Excit. type at end point, cos φ(P) char. config.", + "10461": "cos φ at end point, cos φ(P) char. config.", + "10462": "Active power end point", + "10463": "Active power limitation P, active power configuration", + "10464": "Active power limitation P, active power configuration", + "10466": "Difference between starting frequency and grid frequency, linear instantaneous power gradient configuration", + "10467": "Active power gradient, linear instantaneous power gradient configuration", + "10468": "Difference between reset frequency and grid frequency, linear instantaneous power gradient configuration", + "10469": "Activation of stay-set indicator function, linear instantaneous power gradient configuration", + "10471": "Current reactive power limit", + "10472": "Max. reactive power", + "10473": "Currently set apparent power limit", + "10474": "Maximum apparent power device", + "10475": "Current cos φ limit", + "10476": "Min. cos φ", + "10477": "Reconnect gradient after grid fault", + "10478": "Soft start-up P after grid fault", + "10479": "Active power gradient", + "10480": "Activation of active power gradient", + "10481": "Firmware version of string protection", + "10482": "Hardware version of string protection", + "10483": "Revision status of the string protection", + "10484": "Update version of the string protection", + "10485": "String protection serial number", + "10486": "SUSyID of string protection", + "10487": "Status, device control", + "10488": "Normalized total apparent power", + "10489": "Boost converter temperature", + "10490": "Highest measured boost converter temperature", + "10491": "Boost converter 2 temperature", + "10492": "Highest measured boost converter 2 temperature", + "10493": "Start boost converter temperature derating", + "10494": "Set highest measured boost converter temperature", + "10495": "Set highest measured boost converter temperature 2", + "10496": "Maximum allowable phase shift", + "10497": "Tripping time when exceeding max. phase shift", + "10498": "Frequency monitoring, max. frequency change per second", + "10499": "Frequency monitoring, maximum frequency change tripping time", + "10500": "Minimum switching frequency", + "10501": "Maximum switching frequency", + "10502": "Nominal frequency", + "10503": "Calibration voltage", + "10504": "Calibration status", + "10505": "Selection of the voltage(s) to be calibrated", + "10506": "Maximum module ground current", + "10507": "Tripping time maximum module ground current", + "10508": "Module grounding prescribed?", + "10509": "Prescribed module grounding type", + "10510": "Module grounding status", + "10511": "Firmware version of protocol converter", + "10512": "Hardware version of protocol converter", + "10513": "Revision status of the protocol converter", + "10514": "Update version of the protocol converter", + "10515": "Serial number of the protocol converter", + "10516": "SUSyID of protocol converter", + "10517": "Set PV system time", + "10518": "Synchronize time with time server", + "10519": "Syslog service activated until", + "10520": "external transformer", + "10521": "Primary current", + "10522": "Secondary current", + "10583": "Reactive power limitation by PV system control", + "10584": "Standardized reactive power setpoint by system control", + "10585": "Active power limitation by PV system control", + "10586": "Normalized active power limitation by PV system control", + "10587": "External cos φ setpoint specification, cos φ setpoint for active power output", + "10588": "External cos φ setpoint specification, excitation type for active power output", + "10589": "Timeout for communication error indication", + "10590": "Measurement name in local language", + "10591": "Events in local language", + "10610": "Cycle time of SMA ShadeFix", + "10611": "Power limit of SMA ShadeFix", + "10612": "SMA ShadeFix", + "10637": "Setpoint for PV voltage", + "10638": "Derating status", + "10639": "Setpoint for intermediate circuit voltage", + "10640": "Path for update file", + "10641": "DAA type ID", + "10642": "S0 impulses/kWh", + "10643": "Number of S0 impulses", + "10644": "S0 counter status total yield", + "10645": "S0 energy yield", + "10646": "Active power gradient", + "10647": "RAA type ID", + "10648": "Min. voltage for reconnection", + "10649": "Max. voltage for reconnection", + "10650": "Specified voltage UQ0, reactive power/voltage characteristic curve configuration Q(V)", + "10651": "Symmetrical limit for maximum reactive power, reactive power/voltage characteristic curve configuration Q(V)", + "10652": "Voltage spread, reactive power/voltage characteristic curve configuration Q(V)", + "10653": "Reactive power gradient, reactive power/voltage characteristic curve configuration Q(V)", + "10654": "Adjustment time for characteristic operating point, reactive power/voltage characteristic curve configuration Q(V)", + "10655": "Act. power at start point, cos φ(P) char. config.", + "10656": "Act. power at end point, cos φ(P) char. config.", + "10657": "Software package update version available", + "10658": "PWM inverse voltage, dynamic grid support configuration for PM overvoltage", + "10659": "PWM inversion delay, dynamic grid support configuration for PM overvoltage", + "10660": "Grid nominal voltage", + "10661": "Reactive power gradient", + "10662": "Reference correction voltage, PV system control", + "10663": "PWM inverse voltage, dynamic grid support configuration", + "10664": "PWM inversion delay, dynamic grid support configuration", + "10665": "Dynamic grid support, reactive current static", + "10666": "Gradient K or reactive current droop, full dynamic grid support configuration", + "10667": "Check for update and install it", + "10668": "Hysteresis voltage, dynamic grid support configuration", + "10669": "CPU monitor", + "10670": "CPU load", + "10671": "FTP Push server path", + "10672": "IRE status", + "10673": "Number of DC disconnects", + "10674": "Lower limit, voltage dead band, full dynamic grid support configuration", + "10675": "Upper limit, voltage dead band, full dynamic support configuration", + "10676": "Result of the last FTP-Push connection test", + "10677": "Dynamic grid support, operating mode", + "10678": "Target version of the software package", + "10679": "Update version of the software package", + "10680": "Measures in the case of a grounding error", + "10681": "FTP Push: measurement name in local language", + "10682": "FTP Push: data export in CSV format", + "10683": "FTP Push: data export in XML format", + "10684": "Data export in CSV format", + "10685": "Data export in XML format", + "10686": "Displacement power factor", + "10687": "Reactive power droop mode, reactive power/voltage characteristic curve configuration Q(V)", + "10688": "Islanding detection, status of frequency monitor", + "10689": "Islanding detection, tripping time of the frequency monitor", + "10690": "Islanding detection, status of the unbalance detection", + "10691": "Islanding detection, permissible grid unbalance", + "10692": "Islanding detection, tripping time of the unbalance detection", + "10693": "Operating mode of multifunction relay", + "10694": "Minimum On time for MFR self-consumption", + "10695": "Minimum On power for MFR self-consumption", + "10696": "Minimum power On time, MFR self-consumption", + "10697": "Initiate device restart", + "10698": "Status of MFR with control via communication", + "10699": "Constant deviation from power calculation", + "10700": "Pre-expon. factor of power consumption acc. to Udc", + "10701": "Pre-expon. factor of power cons. acc. to Udc^2", + "10702": "Pre-expon. factor of power cons. Acc. to Udc^3", + "10703": "Proportionate factor of power control", + "10704": "Integral factor of power control", + "10705": "Differential factor of power control", + "10706": "Critical voltage to end feed-in", + "10707": "Minimum On power for MFR battery bank", + "10708": "Minimum time before reconnection of MFR battery bank", + "10710": "Displacement power factor", + "10711": "Excitation type of cos φ", + "10712": "Energy counter type", + "10713": "PV generation counter reading", + "10714": "Grid feed-in counter reading", + "10715": "Counter reading of power drawn counter", + "10716": "PV power generated", + "10717": "Power grid feed-in", + "10718": "Power drawn", + "10719": "Perm. grid-frequency deviation of islanding detection", + "10720": "Current pulse height of islanding detection", + "10721": "Max. impedance gradient of islanding detection", + "10722": "Status of impedance of islanding detection", + "10723": "Amplitude of islanding detection", + "10724": "Frequency of islanding detection", + "10725": "Status of passive islanding detection", + "10726": "Voltage monitoring normalized lower maximum threshold", + "10727": "Voltage monitoring normalized upper minimum threshold", + "10728": "Norm. max. voltage for reconnecting", + "10729": "Norm. min. voltage for reconnecting", + "10730": "Correction voltage, voltage increase protection", + "10731": "CO2-saving", + "10732": "Factor for CO2-saving", + "10733": "Grid type", + "10734": "Grid impedance", + "10735": "Central point of P-coordinates turbine mode", + "10736": "Lower voltage limit feed-in, turbine mode", + "10737": "Central point of U-coordinates turbine mode", + "10738": "End point of U-coordinates turbine mode", + "10739": "Start point of U-coordinates turbine mode", + "10740": "Power gradient for start-up, turbine mode", + "10741": "Ripple control signal detection threshold", + "10742": "Ripple control signal detection frequency", + "10743": "Ripple control signal detection operating mode", + "10744": "Ground voltage", + "10745": "DC converter HW version", + "10746": "DC converter SW version", + "10747": "Backup mode operating mode", + "10748": "Backup mode status", + "10749": "PowerBalancer operating mode", + "10750": "Max. load unbalance for PowerBalancer", + "10751": "S0-pulses PV feed-in counter", + "10752": "S0-pulses PV feed-in counter", + "10753": "S0-pulses power drawn counter", + "10754": "GridGuard version", + "10756": "Load power", + "10757": "Total increased self-consumption", + "10758": "Today's increased self-consumption", + "10759": "Plant mains connection", + "10760": "Power supply status", + "10761": "Number of battery charge throughputs", + "10763": "Lower discharge limit for self-consumption increase", + "10764": "SSM Id for the comm. fault has occurred", + "10765": "SMU warning code for string fault", + "10766": "Status of signal contact 1", + "10767": "Status of signal contact 2", + "10768": "Operating mode of the device update", + "10769": "Update source of the device update", + "10770": "Status of the device update", + "10771": "Transmission attempts of a device update", + "10772": "Time of last transm. attempt of a device update", + "10773": "S0 pulses per kWh for PV generation counter", + "10774": "S0 pulses per kWh for feed counter", + "10775": "S0 pulses per kWh for power drawn counter", + "10776": "Update operating mode", + "10777": "Status after loss of communication in autom. mode", + "10778": "Status after switching on automatic", + "10779": "Status of the grid switch", + "10781": "Automatic mode of the grid switch", + "10782": "Timeout after loss of communication", + "10783": "Starting current detection", + "10784": "Gradient K of the reactive current droop, full dynamic grid support configuration", + "10786": "Meter reading consumption meter", + "10788": "Grid voltage phase L1 against L2", + "10789": "Offset to AC current", + "10790": "Set supplied energy", + "10791": "Set absorbed energy", + "10792": "Logical flow direction phase L1", + "10793": "Logical flow direction phase L2", + "10795": "Grid disconnection for 0% active power setting", + "10796": "Characteristic curve number of the PV system control procedure P(U)", + "10797": "Adjustment time of characteristic operating point, conf. of grid integr. char. 1", + "10798": "Decrease ramp, conf. of grid integr. char. 1", + "10799": "Increase ramp, conf. of grid integr. char. 1", + "10800": "Number of points to be used, conf. of grid integr. char. 1", + "10801": "X value 1, conf. of grid integr. char. 1", + "10802": "Y value 1, conf. of grid integr. char. 1", + "10803": "X value 2, conf. of grid integr. char. 1", + "10804": "Y value 2, conf. of grid integr. char. 1", + "10805": "X value 3, conf. of grid integr. char. 1", + "10806": "Y value 3, conf. of grid integr. char. 1", + "10807": "X value 4, conf. of grid integr. char. 1", + "10808": "Y value 4, conf. of grid integr. char. 1", + "10809": "X value 5, conf. of grid integr. char. 1", + "10810": "Y value 5, conf. of grid integr. char. 1", + "10811": "X value 6, conf. of grid integr. char. 1", + "10812": "Y value 6, conf. of grid integr. char. 1", + "10813": "P(f), active power change rate after fault end", + "10814": "Soft start-up rate P", + "10815": "Increase rate in case of insolation change", + "10818": "E-mail alert function on", + "10820": "E-mail address(es) for alert", + "10821": "Test e-mail for e-mail alert", + "10824": "Modbus TCP server on", + "10825": "Modbus TCP server port", + "10826": "Modbus UDP server on", + "10827": "Modbus UDP server port", + "10828": "DHCP server switched on", + "10829": "Speedwire DHCP server start IP address", + "10830": "Speedwire DHCP server end IP address", + "10831": "Speedwire DHCP server subnet mask", + "10832": "Speedwire DHCP server IP address", + "10833": "Time synchronization source", + "10834": "NTP server", + "10837": "Analogue current input 1 (AI1)", + "10838": "Analogue current input 2 (AI2)", + "10839": "Analogue current input 3 (AI3)", + "10840": "Analogue voltage input 1 (AI1)", + "10842": "AFCI switched on", + "10843": "Set energy taken up by loads", + "10844": "Conn. point of counter on measuring interface 1", + "10845": "Conn. point of counter on measuring interface 2", + "10846": "Conn. point of counter on measuring interface 3", + "10847": "Type of counter on measuring interface 1", + "10848": "Type of counter on measuring interface 2", + "10849": "Type of counter on measuring interface 3", + "10850": "Logical flow direction phase L3", + "10851": "Activate island mode", + "10852": "Char. of insolation sensor - min. insolation", + "10853": "Char. of insolation sensor - max. insolation", + "10854": "Char. of insolation sensor - min. measurement", + "10855": "Char. of insolation sensor - max. measurement", + "10856": "Free memory on USB medium", + "10857": "Free memory on USB medium 2", + "10858": "Fast shut-down", + "10859": "Energy fed into grid (today)", + "10860": "Energy drawn today", + "10861": "Main processor type", + "10862": "Type of communication assembly", + "10863": "Type of residual current monitoring", + "10864": "Type of display", + "10865": "Type of logic component", + "10866": "Type of RS485 module", + "10867": "Type of Zigbee components", + "10868": "Type of Bluetooth component", + "10869": "Type of operating system", + "10870": "Type of string protection", + "10871": "Type of protocol converter", + "10872": "Type of module in module slot", + "10873": "Key switch", + "10874": "Local time", + "10875": "DC switch", + "10876": "Error message DC switch", + "10877": "String status", + "10878": "Speedwire connection status of SMACOM A", + "10879": "Connection speed of SMACOM A", + "10880": "Speedwire connection status of SMACOM B", + "10881": "Connection speed of SMACOM B", + "10882": "Current speedwire IP address", + "10883": "Current speedwire subnet mask", + "10884": "Current speedwire gateway address", + "10885": "Current speedwire DNS server address", + "10886": "Status of the Webconnect functionality", + "10887": "Webconnect functionality switched on", + "10888": "MAC address", + "10889": "Automatic speedwire configuration switched on", + "10890": "Speedwire IP address", + "10891": "Speedwire subnet mask", + "10892": "Speedwire gateway address", + "10893": "Speedwire DNS server address", + "10894": "Power PV generation (caluclated)", + "10895": "Counter status PV generation counter (calculated)", + "10896": "Duplex mode of SMACOM A", + "10897": "Duplex mode of SMACOM B", + "10898": "Amp hours counter for battery charge", + "10899": "Amp hours counter for battery discharge", + "10900": "Active battery charging mode", + "10901": "Current generator power", + "10902": "Battery maint. state of charge", + "10903": "Current battery state of charge", + "10904": "Battery temperature", + "10905": "Battery voltage", + "10906": "Absorbed energy", + "10907": "Released energy", + "10908": "Automatic generator start", + "10909": "Reason for generator request", + "10910": "Generator output energy", + "10911": "Manual generator control", + "10912": "Generator operating hours", + "10913": "Limit battery state of charge gen. shutdown in time range", + "10914": "Limit battery state of charge generator start in time range", + "10915": "Number of generator starts", + "10916": "Grid forming generator", + "10917": "Multifunction relay status", + "10918": "Energy consumed internally", + "10919": "Current rise in self-consumption", + "10920": "Current self-consumption", + "10921": "Current battery capacity", + "10921t": "relative to rated capacity (SOH)", + "10922": "Battery current", + "10923": "Battery boost charge time", + "10924": "Battery equalization charge time", + "10925": "Battery full charge time", + "10926": "Max. start attempts after error", + "10927": "Max. battery charging current", + "10928": "Current battery charging set voltage", + "10929": "Battery nominal capacity", + "10930": "Max. battery temperature", + "10931": "Battery type", + "10932": "Nominal battery voltage", + "10933": "Acknowledge generator errors", + "10934": "Nominal generator current", + "10935": "Generator request via power on", + "10936": "Generator shutdown load limit", + "10937": "Generator startup load limit", + "10938": "Generator status", + "10939": "Rise in self-consumption switched on", + "10940": "Grid feed-in today", + "10941": "Power outage", + "10942": "Number of DC current measurement units", + "10943": "Free memory on USB medium 1", + "10944": "External measurement of the insulation resistance", + "10945": "IP address of the SMTP server", + "10946": "SMTP server port", + "10947": "User name for registration on the SMTP server", + "10948": "Password for registration on SMTP server", + "10949": "Type of password encryption", + "10950": "Synchronise with time synchronization source", + "10951": "SSH switched on", + "10952": "IGMP switched on", + "10953": "Speedwire Group", + "10954": "Analogue current input 4", + "10955": "Analogue voltage input 2", + "10956": "Analogue voltage input 3", + "10957": "Analogue voltage input 4", + "10958": "Encrypt portal communication", + "10959": "Portal communication monitoring signal", + "10960": "Last successful portal upload", + "10961": "Hardware ID", + "10962": "Data logging on monitoring server", + "10963": "Remove device", + "10964": "Remove all devices", + "10965": "WebConnect system environment", + "10966": "Wind direction", + "10967": "Reset communication data", + "10968": "Alarm at active power limit", + "10969": "Alarm at reactive power specification", + "10970": "Result of the last e-mail dispatch", + "10971": "X value 7, conf. of grid integr. char. 1", + "10972": "Y value 7, conf. of grid integr. char. 1", + "10973": "X value 8, conf. of grid integr. char. 1", + "10974": "Y value 8, conf. of grid integr. char. 1", + "10975": "Characteristic number, conf. of reactive power/voltage char. Q(V)", + "10976": "Activating active power, conf. of reactive power/voltage char. Q(V)", + "10977": "Deactivating active power, conf. of reactive power/voltage char. Q(V)", + "10978": "P(f), lag time", + "10979": "Activating voltage, cos φ(P) char. conf.", + "10980": "Deactivating voltage, cos φ(P) char. conf.", + "10981": "X-axes reference, conf. of grid integration char. 1", + "10982": "Y-axes reference, conf. of grid integration char. 1", + "10983": "Adjustment time of char. operating point, conf. of grid integration char. 2", + "10984": "Decrease ramp, conf. of grid integration char. 2", + "10985": "Increase ramp, conf. of grid integration char. 2", + "10986": "Number of points to be used, conf. of grid integr. char. 2", + "10987": "Input unit, conf. of grid integration char. 2", + "10988": "Output frequency, conf. of grid integration char. 2", + "10989": "X value 1, conf. of grid integr. char. 2", + "10990": "X value 2, conf. of grid integr. char. 2", + "10991": "X value 3, conf. of grid integr. char. 2", + "10992": "X value 4, conf. of grid integr. char. 2", + "10993": "X value 5, conf. of grid integr. char. 2", + "10994": "X value 6, conf. of grid integr. char. 2", + "10995": "X value 7, conf. of grid integr. char. 2", + "10996": "X value 8, conf. of grid integr. char. 2", + "10997": "Y value 1, conf. of grid integr. char. 2", + "10998": "Y value 2, conf. of grid integr. char. 2", + "10999": "Y value 3, conf. of grid integr. char. 2", + "11000": "Y value 4, conf. of grid integr. char. 2", + "11001": "Y value 5, conf. of grid integr. char. 2", + "11002": "Y value 6, conf. of grid integr. char. 2", + "11003": "Y value 7, conf. of grid integr. char. 2", + "11004": "Y value 8, conf. of grid integr. char. 2", + "11005": "Speedwire connection status of SMACOM C", + "11006": "Connection speed of SMACOM C", + "11007": "Speedwire connection status of SMACOM D", + "11008": "Connection speed of SMACOM D", + "11009": "Duplex mode of SMACOM C", + "11010": "Duplex mode of SMACOM D", + "11011": "Operating mode of power control module", + "11012": "Status of digital inputs of power control module", + "11013": "Lower frequency limit prior to end of active power reduction, linear instant. power gradient conf.", + "11014": "Upper frequency limit prior to end of active power reduction, linear instant. power gradient conf.", + "11015": "Goose application ID", + "11016": "Frequency monitoring switchable max. threshold", + "11017": "Frequency monit. switchable max. threshold tripping time", + "11018": "Frequency monitoring switchable min. threshold", + "11019": "Frequency monit. switchable min. threshold tripping time", + "11020": "Operating mode of frequency restriction", + "11021": "Source of quick shut-down", + "11022": "Frequency monitoring switchable max. threshold", + "11023": "Alarm upon warnings", + "11024": "Alarm e-mail languages", + "11025": "Alternative e-mail sender address (optional)", + "11026": "reaction of excitation to changes in direction of active power", + "11027": "Normalized active power limitation by PV system control", + "11028": "Extern. reactive power mode", + "11029": "Digital input group 1 (DI1 .. DI4)", + "11030": "Digital input group 2 (DI5 .. DI8)", + "11031": "Grid voltage phase L2 against L3", + "11032": "Grid voltage phase L3 against L1", + "11033": "Power unit supplies data", + "11034": "Voltage increase protection trigger time", + "11035": "Goose-Mac address", + "11036": "Grid connection point rated current", + "11037": "Active power specif. by PV system control", + "11038": "Reactive power specif. by PV system control", + "11039": "Active power limitation by PV system control", + "11040": "General operating status", + "11041": "RCD adjustment", + "11042": "Sunny portal port", + "11043": "Nominal PV system power", + "11044": "Operating mode of act. power limit. at grid connection pt", + "11045": "Dynamic act. power limitat. at grid connection pt", + "11046": "Set active power limit at grid connection point", + "11047": "Set active power limit at grid connection point", + "11048": "PV system control ON", + "11050": "Number of section switches", + "11051": "Time to open the section switches", + "11052": "Time to close section switches", + "11053": "Generator operating hours", + "11054": "Generator output energy", + "11055": "Current generator performance", + "11056": "Battery discharge cut-off voltage", + "11057": "Maximum battery charging current", + "11058": "Maximum battery discharge current", + "11059": "Status of utility grid", + "11060": "Cell charge nominal voltage for boost charge", + "11061": "Cell charge nominal voltage for full charging", + "11062": "Cell charge nominal voltage for equalization charge", + "11063": "Cell charge nominal voltage for float charge", + "11064": "Voltage monitoring hysteresis minimum threshold", + "11065": "Voltage monitoring hysteresis maximum threshold", + "11066": "Frequency monitoring hysteresis minimum threshold", + "11067": "Frequency monitoring hysteresis maximum threshold", + "11068": "Voltage monit. gener. lower minimum threshold", + "11069": "Voltage monit. gener. upper maximum threshold", + "11070": "Voltage monit. gener. hysteresis min. threshold", + "11071": "Voltage monit. hysteresis generator max. threshold", + "11072": "Frequency monit. generator lower minimum threshold", + "11073": "Frequency monit. generator without max. threshold", + "11074": "Frequency monit. gener. hysteresis min. threshold", + "11075": "Freq. Monit. generator hysteresis max. threshold", + "11076": "Generator maximum reverse power", + "11077": "Generator maximum reverse power tripping time", + "11078": "Output external grid connection", + "11079": "Output external grid connection phase A", + "11080": "Output external grid connection phase B", + "11081": "Output external grid connection phase C", + "11082": "Reactive power external grid connection", + "11083": "Reactive power external grid connection phase A", + "11084": "Reactive power external grid connection phase B", + "11085": "Reactive power external grid connection phase C", + "11086": "Grid frequency of external grid connection", + "11087": "Voltage external grid connection phase A", + "11088": "Voltage external grid connection phase B", + "11089": "Voltage external grid connection phase C", + "11090": "Electricity external grid connection phase A", + "11091": "Electricity external grid connection phase B", + "11092": "Electricity external grid connection phase C", + "11093": "Operating state grid voltage L1 against L2", + "11094": "Operating state grid voltage L2 against L3", + "11095": "Operating state grid voltage L3 against L1", + "11096": "Number of UCP events", + "11097": "Derating because of low DC voltage", + "11098": "Derating because of power and DC voltage", + "11099": "Bias voltage phase L1", + "11100": "Bias voltage phase L2", + "11101": "Relative bias voltage", + "11102": "Rated apparent power of all inverters", + "11103": "Ohmic resistive coating of the low-voltage line", + "11104": "Induc. reactive coating of the low-volt.power line", + "11105": "Length of the low-voltage cabling", + "11106": "Ohmic resistive coating of the medium-voltage line", + "11107": "Capac. resistive coating of the medium-volt. line", + "11108": "Length of the medium-voltage cabling", + "11109": "Nominal apparent power of the transformer", + "11110": "Short-circuit voltage of the transformer", + "11111": "Nominal voltage of the high-voltage side", + "11112": "Serial number of the counter on meas. interface 1", + "11113": "Serial number of the counter on meas. interface 2", + "11114": "Serial number of the counter on meas. interface 3", + "11115": "PLC communication package error rate", + "11116": "Firmware version of the module", + "11117": "Hardware version of the module", + "11118": "Revision status of the module", + "11119": "Update version of the module", + "11120": "Serial number of the module", + "11121": "SUSyID of module", + "11122": "Type of module in module slot", + "11123": "Power control module D1: 0 | D2:0 | D3: 0 | D4: 0", + "11124": "Power control module D1: 1 | D2:0 | D3: 0 | D4: 0", + "11125": "Power control module D1: 0 | D2:1 | D3: 0 | D4: 0", + "11126": "Power control module D1: 1 | D2:1 | D3: 0 | D4: 0", + "11127": "Power control module D1: 0 | D2:0 | D3: 1 | D4: 0", + "11128": "Power control module D1: 1 | D2:0 | D3: 1 | D4: 0", + "11129": "Power control module D1: 0 | D2:1 | D3: 1 | D4: 0", + "11130": "Power control module D1: 1 | D2:1 | D3: 1 | D4: 0", + "11131": "Power control module D1: 0 | D2:0 | D3: 0 | D4: 1", + "11132": "Power control module D1: 1 | D2:0 | D3: 0 | D4: 1", + "11133": "Power control module D1: 0 | D2:1 | D3: 0 | D4: 1", + "11134": "Power control module D1: 1 | D2:1 | D3: 0 | D4: 1", + "11135": "Power control module D1: 0 | D2:0 | D3: 1 | D4: 1", + "11136": "Power control module D1: 1 | D2:0 | D3: 1 | D4: 1", + "11137": "Power control module D1: 0 | D2:1 | D3: 1 | D4: 1", + "11138": "Power control module D1: 1 | D2:1 | D3: 1 | D4: 1", + "11139": "Power control module release time", + "11140": "Power control module release value", + "11141": "Power control module fault tolerance time", + "11142": "Oper.mode vol.maint.at Q on Dem., st.vol.maint.conf.", + "11143": "Manual reactive power setpoint for zero power output", + "11144": "Manual reactive power setpoint for zero power output", + "11145": "Dynamic grid support, k-factor of react. current stat. for undervolt.", + "11146": "Dynamic grid support, k-factor of react. current stat. for overvolt.", + "11147": "Characteristic curve number, configuration of characteristic curve mode", + "11148": "Activation of the characteristic curve, configuration of characteristic curve mode", + "11149": "Activation threshold, configuration of characteristic curve mode", + "11150": "Deactivation threshold, configuration of characteristic curve mode", + "11151": "Threshold reference, configuration of characteristic curve mode", + "11152": "X values charact. curve 1", + "11153": "Y values charact. curve 1", + "11154": "X values charact. curve 2", + "11155": "Y values charact. curve 2", + "11156": "X values charact. curve 3", + "11157": "Y values charact. curve 3", + "11158": "Service mode", + "11159": "Set charge volt. in serv. mode", + "11160": "Set disch. volt. in serv. mode", + "11161": "Charge current lim. serv. mode", + "11162": "Disch. current lim. serv. mode", + "11163": "Battery operating status", + "11164": "Battery switch temp.", + "11165": "Highest meas. battery switch temp.", + "11166": "BMS firmware version", + "11167": "BMS hardware version", + "11168": "BMS conversion status", + "11169": "BMS update version", + "11170": "BMS serial number", + "11171": "BMS SUSyID", + "11172": "BMS type", + "11173": "Speedwire meter serial no.", + "11174": "Speedwire meter status", + "11175": "Battery cell voltage", + "11176": "Inverter status", + "11177": "Battery status", + "11178": "Adj. time for charac. act. pt.", + "11179": "Down ramp f. charac. act. pt.", + "11180": "Up ramp f. charac. act. pt.", + "11181": "Charac. ramp up after ret. norm. op.", + "11182": "No. of charac. pt.s to be used", + "11183": "X-axis ref. characteristic", + "11184": "Y-axis ref. characteristic", + "11185": "Avg. eff. power lim. grid conn. pt.", + "11198": "Set battery targ. current val.", + "11199": "Battery manufacturer", + "11200": "Date of battery manufacture", + "11201": "BMS activation processes", + "11202": "Batt. man. activ. proc.s charge mode", + "11203": "Batt. man. activ. proc.s disch. mode", + "11204": "Tot. batt. man. activ. proc.s charge mode", + "11205": "Tot. batt. man. activ. proc.s disch. mode", + "11206": "Tot. battery runtime", + "11207": "Batt. charge res. for emerg. curr. op.", + "11208": "Battery nominal capacity", + "11209": "Battery cell temp.", + "11210": "Storage management operating mode", + "11211": "Active power setpoint", + "11212": "Eff./reac. pow. contr. via comm.", + "11213": "Reactive power setpoint", + "11214": "Meter count and PV gen. meter", + "11215": "Total cumulative consump.", + "11216": "Cumulative self-consump.", + "11217": "Cumulative direct consump.", + "11218": "Battery charge", + "11219": "Battery discharge", + "11220": "PV generation power", + "11221": "Present total consump.", + "11222": "Present self-consump.", + "11223": "Present direct consump.", + "11224": "Present battery charge", + "11225": "Present battery discharge", + "11226": "Present self-consump. ratio", + "11227": "Cumulative self-consump. ratio", + "11228": "Present electrical storage ratio", + "11229": "Electrical storage ratio", + "11230": "Present autonomy ratio", + "11231": "Autonomy ratio", + "11232": "Present direct consump. ratio", + "11233": "Direct consumption ratio", + "11234": "Set PV generation meter", + "11235": "Set cumulative total consump.", + "11236": "Set cumulative self-consump.", + "11237": "Set cumulative direct consump.", + "11238": "Set battery charge", + "11239": "Set battery discharge", + "11240": "IEC server switched on", + "11241": "Gfdi relay status", + "11242": "Block status", + "11243": "Mains watchdog firmware vers.", + "11244": "Mains watchdog hardware vers.", + "11245": "Mains watchdog conversion status", + "11246": "Mains watchdog update vers.", + "11247": "Mains watchdog serial no.", + "11248": "Mains watchdog SUSyID", + "11249": "Mains watchdog unit type", + "11250": "Total memory on USB medium 1", + "11251": "Total memory on USB medium 2", + "11252": "Abs. meter count and PV gen. meter", + "11253": "Absolute battery charge", + "11254": "Absolute battery discharge", + "11255": "BMS operating mode", + "11256": "Min. battery charge capac.", + "11257": "Max. battery charge capac.", + "11258": "Min. battery discharge capac.", + "11259": "Max. battery discharge capac.", + "11260": "Mains exch. capac. target value", + "11261": "Battery temp.", + "11262": "Max. PV power", + "11263": "Batt. manuf's max. charge capac.", + "11264": "Batt. manuf's min. charge capac.", + "11265": "Batt. manuf's max. disch. capac.", + "11266": "Batt. manuf's min. disch. capac.", + "11267": "Determine SOH", + "11268": "Monitoring of AC capacitors", + "11269": "Cumulative self-supply", + "11270": "Current self-supply", + "11271": "Battery discharge of current battery", + "11272": "Monitoring of battery management system", + "11273": "Ripple control signal detection, amplification of narrow-band support", + "11274": "Ripple control signal detection, damping of narrow-band support", + "11275": "Ripple control signal detection, frequency of narrow-band support", + "11276": "Ripple control signal detection, amplification of broad-band support", + "11277": "Ripple control signal detection, frequency of broad-band support", + "11278": "Current capacity (Dvlp)", + "11279": "Programming progress", + "11280": "Set offset of the supplied energy", + "11281": "Set offset of the absorbed energy", + "11282": "Island network detect. status", + "11283": "Characteristic curve number for dynamic grid disconnect", + "11284": "Nominal current of all phases", + "11285": "cos φ of start pt, cos φ(P) char. curve config", + "11286": "cos φ of end pt, cos φ(P) char. curve config", + "11287": "AC voltage EPS (Emergency Power Supply)", + "11288": "Current EPS (Emergency Power Supply)", + "11289": "Power EPS (Emergency Power Supply)", + "11290": "Energy EPS (Emergency Power Supply)", + "11291": "Total energy EPS (Emergency Power Supply)", + "11292": "Operating mode EPS (Emergency Power Supply)", + "11293": "Change-over time to EPS after network failure", + "11294": "Chg-over t EPS to network op after network reconnect", + "11295": "Version of communication Bootloader", + "11296": "Version of Webserver", + "11297": "External active power setting, fallback behavior", + "11298": "External active power setting, timeout", + "11299": "Fallback active power limit P in % of WMax for absent active power limit", + "11300": "External reactive power setting, fallback behavior", + "11301": "External reactive power setting, timeout", + "11302": "External reactive power setting, fallback value", + "11303": "External cos φ setting, fallback behavior", + "11304": "External cos φ setting, timeout", + "11305": "External cos φ setpoint specification, fallback value of cos φ for active power output", + "11306": "External cos φ setpoint specification, fallback value of the excitation type for active power output", + "11307": "Current spec. active power limitation P", + "11308": "Current spec. reactive power Q", + "11309": "Current spec. cos φ", + "11310": "Current spec. stimulation type cos φ", + "11311": "Impedance compensation switched on", + "11312": "Ohmic resistance for impedance compensation", + "11313": "Inductive resistance for impedance compensation", + "11314": "Capacitive resistance for impedance compensation", + "11315": "Max. react. p of freq-dep. react. p sup Q(df/dt)", + "11316": "React p of harmonic-dep. react p sup Q(dTHD/dt)", + "11317": "Serial no. Slave1 (Phase L2)", + "11318": "Serial no. Slave2 (Phase L3)", + "11319": "Operating status Master (Phase L1)", + "11320": "Operating status Slave1 (Phase L2)", + "11321": "Operating status Slave2 (Phase L3)", + "11322": "Bootloader version of the main processor", + "11323": "Bootloader version of logic component", + "11324": "Type of AC subdistribution", + "11325": "Photovoltaic energy in solar charger", + "11326": "Total energy of photovoltaics", + "11327": "Total energy of photovoltaics current day", + "11328": "Output of photovoltaics", + "11329": "Total output current of solar charger", + "11330": "Cluster behaviour when a device fails", + "11331": "Energy saving mode", + "11332": "Status battery application area", + "11333": "Operating time of battery statistics counter", + "11334": "Charge factor: ratio of battery charge/discharge", + "11335": "Lowest measured battery temperature", + "11336": "Highest measured battery temperature", + "11337": "Number of battery equalization charges", + "11338": "Number of battery full charges", + "11339": "Relative battery discharge since last full charge", + "11340": "Relative battery discharge since last equalization charge", + "11341": "Max. occurred battery voltage", + "11342": "Maximum battery current in charge direction", + "11343": "Maximum battery current in discharge direction", + "11344": "Battery switch-on limit after overtemp. shutdown", + "11345": "Line resistance of battery connection", + "11346": "Cycle time full charge", + "11347": "Cycle time equalization charge", + "11348": "Battery temperature compensation", + "11349": "Automatic equalization charge", + "11350": "Remaining absorption time", + "11351": "Remaining time until full charge", + "11352": "Remaining time until equalization charge", + "11353": "Absorption phase active", + "11354": "Fault battery state of charge", + "11355": "Manual equalization charge", + "11356": "Time until change-over to energy saving mode", + "11357": "Maximum duration of energy saving mode", + "11358": "Voltage setpoint with deactivated battery mgmt", + "11359": "Start time of battery protection mode level", + "11360": "End time of battery protection mode level", + "11361": "Battery state of charge for protection mode", + "11362": "Type of additional DC sources", + "11363": "Operating time energy count", + "11364": "Automatic frequency control", + "11365": "Inverter nominal voltage", + "11366": "Inverter nominal frequency", + "11367": "Maximum AC battery charge current", + "11368": "Time-controlled inverter operation", + "11369": "Start date for time-controlled inverter operation", + "11370": "Operating time for time-controlled inverter op.", + "11371": "Repeat cycle for time-controlled inverter op.", + "11372": "Total current external network connection", + "11373": "Cut-off time until connection to external network", + "11374": "Lower lmt deep disch. protect area prior shutdown", + "11375": "Minimum width of deep discharge protection area", + "11376": "Minimum width of backup power area", + "11377": "Area width for conserving battery state of charge", + "11378": "Minimum width of self-consumption area", + "11379": "Most productive month for battery usage range", + "11380": "Season operation active", + "11381": "Limit battery state of charge generator start in time range", + "11382": "Limit battery state of charge gen. shutdown in time range", + "11383": "End time additional time period, generator request", + "11384": "Nominal generator frequency", + "11385": "Generator request", + "11386": "Average time for generator request via power", + "11387": "Average operating time of generator", + "11388": "Average idle period of generator", + "11389": "Cooling down time of generator", + "11390": "Idle period after generator fault", + "11391": "Warm-up time of generator", + "11392": "Time-controlled generator operation", + "11393": "Start time for time-controlled generator op.", + "11394": "Operating time for time-controlled generator op.", + "11395": "Repeat cycle of time-controlled generator op.", + "11396": "Generator request with set charge type", + "11397": "Reaction to digital input of generator request", + "11398": "Remaining min. operating time of generator", + "11399": "Limitation type of generator current", + "11400": "Sensitivity of generator failure detection", + "11401": "Maximum current from utility grid", + "11402": "Power feedback to utility grid allowed", + "11403": "Energy saving mode switched on", + "11404": "Maximum network reverse power", + "11405": "Maximum network reverse power tripping time", + "11406": "Start feed-in PV", + "11407": "Stop feed-in PV", + "11408": "Upper state of charge for reactivating feed-in", + "11409": "Lower state of charge for locking feed-in", + "11410": "Grid request via battery state of charge switched on", + "11411": "Lmt battery state of charge for connection to grid", + "11412": "Lmt battery state of charge for disconnection from grid", + "11413": "Start interval for grid request", + "11414": "Grid request via power switched on", + "11415": "Grid request switch-on power limit", + "11416": "Grid request switch-off power limit", + "11417": "Manual control of grid connection", + "11418": "Grid request via charge type", + "11419": "Lmt value battery state of charge for start load shedding 1", + "11420": "Lmt value battery state of charge for stop load shedding 1", + "11421": "Time load shedding 1", + "11422": "Lmt value battery state of charge for start load shedding 2", + "11423": "Lmt value battery state of charge for stop load shedding 2", + "11424": "Time load shedding 2", + "11425": "Start date of relay control for timer", + "11426": "Duration for which multifunction relay is activated for timer", + "11427": "Repeat cycle time of relay control for timer", + "11428": "Slave 1: Operating mode of multifunction relay", + "11429": "Slave 2: Operating mode of multifunction relay", + "11430": "Temp lmt for multifunct. relay with batt comp fan", + "11431": "Slave 1: Multifunction relay status", + "11432": "Slave 2: Multifunction relay status", + "11433": "Status digital input", + "11434": "Power threshold for start-up detection", + "11435": "Tripping time for start-up detection", + "11436": "Locking time for start-up detection", + "11437": "Counter suitability at interface 1 for energy mgmt", + "11438": "Counter suitability at interface 2 for energy mgmt", + "11439": "Counter suitability at interface 3 for energy mgmt", + "11440": "Switch-on request", + "11442": "V at zero crossing 1 of reactive power char. curve", + "11443": "V at zero crossing 2 of reactive power char. curve", + "11445": "Battery installation mode", + "11446": "Battery state of charge limit, generator start in additional time period", + "11447": "Battery state of charge limit, generator shutdown in additional time period", + "11448": "Start time additional time range generator request", + "11449": "Limit battery state of charge for stop load shedding 1 in add time range", + "11450": "Limit battery state of charge for stop load shedding 2 in add time range", + "11451": "Limit battery state of charge for start load shedding 1 in add time range", + "11452": "Limit battery state of charge for start load shedding 2 in add time range", + "11453": "Start time additional time range load shedding 1", + "11454": "Start time additional time range load shedding 2", + "11455": "Start time additional time range grid request", + "11456": "Limit battery state of charge for disconnect from grid in add time range", + "11457": "Limit battery state of charge for connect to grid in add time range", + "11458": "Source for system active power", + "11459": "Source for system reactive power", + "11460": "System active power at grid connection point", + "11461": "System reactive power at grid connection point", + "11462": "Normalized reactive power limitation by system control via direct marketer", + "11463": "Normalized active power limitation by system control via direct marketer", + "11464": "No translation in Taglist for ID 11464", + "11465": "No translation in Taglist for ID 11465", + "11466": "Control of battery charging via communication available", + "11467": "Function of analog current output", + "11468": "X-value 1 of characteristic curve of digital current output", + "11469": "Y-value 1 of characteristic curve of digital current output", + "11470": "X-value 2 of characteristic curve of digital current output", + "11471": "Y-value 2 of characteristic curve of digital current output", + "11472": "Actual measurement value of digital current output", + "11473": "Function of digital output", + "11474": "Actual status of digital output", + "11475": "Lower discharge limit for self-consumption range", + "11476": "Manual restart activated", + "11477": "Manual restart after overvoltage", + "11478": "Manual restart after undervoltage", + "11479": "Manual restart after frequency error", + "11480": "BMS serial number", + "11481": "Manual restart after passive islanding detection", + "11482": "Manual restart after active islanding detection", + "11483": "Device ID", + "11484": "Type designation", + "11485": "URL", + "11486": "Communication protocol", + "11487": "Type of measured value acquisition", + "11488": "Centre/neutral conductor connection", + "11489": "Available PV power", + "11490": "Internal PV power limitation", + "11491": "Reactive power of loads", + "11492": "Maximum short-term decrease in power", + "11493": "PV reactive power currently supplied from grid", + "11494": "PV apparent power currently supplied from grid", + "11495": "PV power not requested", + "11496": "Return monitoring value", + "11497": "Input monitoring value", + "11498": "PV energy produced (today)", + "11499": "PV energy produced (yesterday)", + "11500": "PV energy produced (current month)", + "11501": "PV energy produced (last month)", + "11502": "Generator energy produced (today)", + "11503": "Generator energy produced (yesterday)", + "11504": "Generator energy produced (current month)", + "11505": "Generator energy produced (last month)", + "11506": "Energy output to grid (yesterday)", + "11507": "Energy output to grid (current month)", + "11508": "Energy output to grid (last month)", + "11509": "Energy drawn from grid (yesterday)", + "11510": "Energy drawn from grid (current month)", + "11511": "Energy drawn from grid (last month)", + "11512": "Energy consumed (today)", + "11513": "Energy consumed (yesterday)", + "11514": "Energy consumed (current month)", + "11515": "Energy consumed (last month)", + "11516": "Estimated fuel consumption since last reset", + "11517": "Estimated current fuel consumption", + "11518": "Current generator power", + "11519": "Currently available generator apparent power", + "11520": "Current generator reactive power", + "11521": "Minimum generator power to be provided", + "11522": "Current grid export active power", + "11523": "Current grid export reactive power", + "11524": "Neutral conductor is connected", + "11525": "Run self test", + "11527": "Send IGMP requests", + "11528": "2nd characteristic curve number, configuration of characteristic curve mode", + "11529": "2nd activation of the characteristic curve, configuration of characteristic curve mode", + "11530": "2nd activation threshold, configuration of characteristic curve mode", + "11531": "2nd deactivation threshold, configuration of characteristic curve mode", + "11532": "2nd threshold reference, configuration of characteristic curve mode", + "11533": "Status of the firmware update", + "11534": "P(f), tripping delay", + "11535": "Current temperature of AC choke", + "11536": "Highest measured temperature of AC choke", + "11537": "Beginning of limiting via temperature on AC choke", + "11538": "Number of battery strings present", + "11539": "Number of active battery strings", + "11540": "Average voltage on the high-voltage side", + "11541": "Average current on the high-voltage side", + "11542": "Current assigned active power", + "11543": "Version of WebUI", + "11544": "Current assigned apparent power", + "11545": "Power of inverter", + "11546": "Apparent power of inverter", + "11547": "Insulation resistance of battery", + "11548": "Insulation resistance of inverter", + "11549": "Waiting time until feed-in", + "11550": "Boost converter temperature", + "11551": "Highest measured boost converter temperature", + "11552": "Usable meters on Speedwire", + "11553": "Main processor bootloader version", + "11554": "Preloader version", + "11555": "Deviation from max. standardised string current", + "11556": "Average deviation from max. standardised string current", + "11557": "Time since an error occurred", + "11558": "Maximum possible string current", + "11559": "Average deviation at which an error is present", + "11560": "Time after an error is reported", + "11561": "Cycle time for measuring the currents", + "11562": "Minimum current to activate zone monitoring", + "11563": "Data logger function", + "11564": "Provide system view", + "11565": "Diagnostic logger function", + "11566": "Prescribed self-test", + "11567": "Mean value of the external conductor voltages", + "11568": "Supplied battery power in all phases", + "11569": "Consumed battery power in all phases", + "11570": "Supplied reactive battery power in all phases", + "11571": "Calculated active power default value for battery inverter", + "11572": "Calculated reactive power default value for battery inverter", + "11573": "Power of all battery inverters in OK status", + "11574": "Free capacity of all batteries", + "11575": "Accessible charge of all batteries", + "11576": "Charge energy (today)", + "11577": "Charge energy (yesterday)", + "11578": "Charge energy (current month)", + "11579": "Charge energy (previous month)", + "11580": "Discharge energy (today)", + "11581": "Discharge energy (yesterday)", + "11582": "Discharge energy (current month)", + "11583": "Discharge energy (previous month)", + "11584": "Charge energy (total)", + "11585": "Discharge energy (total)", + "11586": "Counter state of generator generating meter", + "11587": "Supply grid frequency with greater accuracy", + "11588": "IGMP query interval", + "11589": "Write flight data", + "11592": "Current time is daylight savings time", + "11593": "Firmware version of Wi-Fi component", + "11594": "Hardware version of Wi-Fi component", + "11595": "Revision status of Wi-Fi component", + "11596": "Update version of Wi-Fi component", + "11597": "Serial number of Wi-Fi component", + "11598": "SUSyID of Wi-Fi component", + "11599": "Wi-Fi component type", + "11600": "Dynamic power display via green LED", + "11601": "Signal strength of the selected network", + "11602": "Currently used IP address for Wi-Fi", + "11603": "Currently used IP subnet mask for Wi-Fi", + "11604": "Currently used IP gateway address for Wi-Fi", + "11605": "Currently used IP DNS server address for Wi-Fi", + "11606": "Wi-Fis found", + "11607": "Wi-Fi connection status", + "11608": "Wi-Fi antenna type", + "11609": "Wi-Fi is turned on", + "11610": "Soft-access-point is turned on", + "11611": "SSID of Wi-Fi", + "11612": "Wi-Fi password", + "11613": "Encryption for Wi-Fi", + "11614": "Activate WPS", + "11615": "Automatic configuration of Wi-Fi is turned on", + "11616": "IP address of Wi-Fi", + "11617": "Subnet mask of Wi-Fi", + "11618": "IP address of Wi-Fi gateway", + "11619": "IP address of Wi-Fi DNS server", + "11620": "Version of time zone database", + "11621": "Perform Wi-Fi scan", + "11622": "Total system power", + "11623": "Signal value 1 of characteristic curve of digital current input", + "11624": "Y-value 1 of characteristic curve of digital current input", + "11625": "Signal value 2 of characteristic curve of digital current input", + "11626": "Y-value 2 of characteristic curve of digital current input", + "11627": "Source of irradiation sensor measurement", + "11628": "Reactive power supplied to the grid in all phases", + "11629": "Operating mode of grid system service", + "11630": "WEP key index", + "11631": "Usable Wi-Fi channels", + "11632": "Status of active power limitation", + "11633": "Status of reactive power limitation", + "11634": "Fallback active power limitation, reg. to grid connection point", + "11635": "Fallback active power limitation as %, reg. to grid connection point", + "11636": "Status of Wi-Fi scan", + "11637": "S0 pulses per m/s", + "11638": "Configuration of PCM digital inputs", + "11639": "Active power limitation via PCM digital inputs", + "11640": "Reactive power limit. assigned via PCM dig. inputs", + "11641": "Wi-Fi-MAC address", + "11642": "Regulating power operating mode", + "11643": "Preferred power band of the regulating reserve", + "11644": "Upper reserve value of the regulating reserve", + "11645": "Lower reserve value of the regulating reserve", + "11646": "Upper reserve value of the regulating reserve", + "11647": "Lower reserve value of the regulating reserve", + "11648": "Preferred power band of the regulating reserve", + "11649": "Upper reserve value of the regulating reserve", + "11650": "Lower reserve value of the regulating reserve", + "11651": "Upper reserve value of the regulating reserve", + "11652": "Lower reserve value of the regulating reserve", + "11653": "Power reserve active", + "11654": "Required positive power reserve will be reserved", + "11655": "Required negative power reserve will be reserved", + "11656": "Maximum possible power reserve", + "11657": "Required power limit", + "11658": "Secondary reserve value of the regulating reserve", + "11659": "Secondary reserve value of the regulating reserve", + "11660": "Secondary reserve value of the regulating reserve", + "11661": "Secondary reserve value of the regulating reserve", + "11662": "Version of the software on Core1", + "11663": "Maximum achievable reactive power quadrant 1", + "11664": "Maximum achievable reactive power quadrant 2", + "11665": "Maximum achievable reactive power quadrant 3", + "11666": "Maximum achievable reactive power quadrant 4", + "11667": "Minimum achievable cos(phi) quadrant 1", + "11668": "Minimum achievable cos(phi) quadrant 2", + "11669": "Minimum achievable cos(phi) quadrant 3", + "11670": "Minimum achievable cos(phi) quadrant 4", + "11671": "Currently permitted device power", + "11672": "AFCI robustness", + "11673": "Setpoint cos(phi) as per EEI convention", + "11674": "Voltage monitoring of upper maximum threshold as RMS value", + "11675": "Voltage monitoring of upper max. thresh. as RMS value for tripping time", + "11676": "Voltage monitoring of lower minimum threshold as RMS value", + "11677": "Voltage monitoring of lower min.threshold as RMS value for tripping time", + "11678": "Set supplied PV energy", + "11679": "Sig. val. 1 of char. curve of analogue input", + "11680": "Y value 1 of char. curve of analogue input", + "11681": "Sig. val. 2 of char. curve of analogue input", + "11682": "Y value 2 of char. curve of analogue input", + "11683": "Function of analogue input", + "11684": "Error evaluation of the device", + "11685": "Tolerance of string failure detection", + "11686": "Time until warning for string failure detection", + "11687": "EEI displacement power factor", + "11688": "Positive sequence voltage (calculated) on the PCC", + "11689": "Supplied power (calculated) on the PCC", + "11690": "Supplied reactive power (calculated) on the PCC", + "11691": "Current generator reactive power", + "11692": "Current generator reactive power", + "11693": "Supplied battery power in all phases", + "11694": "Consumed battery power in all phases", + "11695": "Supplied reactive battery power in all phases", + "11696": "Currently available generator active power", + "11697": "Antenna switching", + "11698": "Device is new part", + "11699": "Tripping time for activation of char. curve 2", + "11700": "Function of S0 input", + "11701": "Adjustment time of char. operating point, conf. of grid integration char. curve 3", + "11702": "Decrease ramp, conf. of grid integration char. curve 3", + "11703": "Increase ramp, conf. of grid integration char. curve 3", + "11704": "Number of points to be used, conf. of grid integr. char. curve 3", + "11705": "Input unit, conf. of grid integration char. curve 3", + "11706": "Output reference, conf. of grid integration char. curve 3", + "11707": "X value 1, conf. of grid integr. char. curve 3", + "11708": "X value 2, conf. of grid integr. char. curve 3", + "11709": "X value 3, conf. of grid integr. char. curve 3", + "11710": "X value 4, conf. of grid integr. char. curve 3", + "11711": "X value 5, conf. of grid integr. char. curve 3", + "11712": "X value 6, conf. of grid integr. char. curve 3", + "11713": "X value 7, conf. of grid integr. char. curve 3", + "11714": "X value 8, conf. of grid integr. char. curve 3", + "11715": "Y value 1, conf. of grid integr. char. curve 3", + "11716": "Y value 2, conf. of grid integr. char. curve 3", + "11717": "Y value 3, conf. of grid integr. char. curve 3", + "11718": "Y value 4, conf. of grid integr. char. curve 3", + "11719": "Y value 5, conf. of grid integr. char. curve 3", + "11720": "Y value 6, conf. of grid integr. char. curve 3", + "11721": "Y value 7, conf. of grid integr. char. curve 3", + "11722": "Y value 8, conf. of grid integr. char. curve 3", + "11723": "3rd char. curve number, conf. of char. curve mode", + "11724": "Difference between starting frequency and grid frequency, linear instantaneous power gradient conf. with underfrequency", + "11725": "Active power gradient, linear instantaneous power gradient configuration with underfrequency", + "11726": "No translation in Taglist for ID 11726", + "11727": "No translation in Taglist for ID 11727", + "11728": "No translation in Taglist for ID 11728", + "11729": "No translation in Taglist for ID 11729", + "11730": "No translation in Taglist for ID 11730", + "11731": "No translation in Taglist for ID 11731", + "11732": "Source of ref. meas. for reactive/active power reduction", + "11733": "Phased reactive/act. power specification", + "11734": "Functions for grid/offgrid operation", + "11735": "Minimum setpoint for intermediate circuit voltage", + "11736": "Manually set active power limitation for the entire system", + "11737": "Setpoint of active power limitation via dialog input", + "11738": "Setpoint for active power limitation via analog input", + "11739": "PV power limitation via communication", + "11740": "PV power limitation via communication for direct marketing", + "11741": "Minimum PV power limitation", + "11742": "Internal PV power limitation", + "11762": "Monostring Testmode", + "11763": "Modbus Unit ID", + "11764": "Hardware version of the operating system", + "11765": "Hardware version of string protection", + "11766": "Hardware version of protocol converter", + "11767": "Hardware version of the module", + "11768": "Hardware version of the module", + "11769": "BMS hardware version", + "11770": "Mains watchdog hardware vers.", + "11771": "Hardware version of Wi-Fi component", + "11772": "Tripping time for activation of char. curve", + "11773": "SSID of Wi-Fi", + "11774": "Wi-Fi password", + "11775": "Encryption for Wi-Fi", + "11776": "NSS function is active", + "11777": "Devices found", + "11778": "Activate ambient temperature measurement", + "11779": "Activate module temperature measurement", + "11780": "Hardware version of the main processor", + "11781": "Hardware version of the communication assembly", + "11782": "Hardware version of the residual current mon. unit", + "11783": "Hardware version of the display", + "11784": "Hardware version of the logic component", + "11785": "Hardware version of the RS485 module", + "11786": "Hardware version of the Zigbee components", + "11787": "Hardware version of the Bluetooth component", + "11788": "Grid voltage phase L1", + "11789": "Grid voltage phase L2", + "11790": "Grid voltage phase L3", + "11791": "Power grid feeding L1", + "11792": "Power grid feeding L2", + "11793": "Power grid feeding L3", + "11794": "Power drawn from grid phase L1", + "11795": "Power drawn from grid phase L2", + "11796": "Power drawn from grid phase L3", + "11797": "Reactive power grid feeding phase L1", + "11798": "Reactive power grid feeding phase L2", + "11799": "Reactive power grid feeding phase L3", + "11800": "Reactive power grid feeding", + "11801": "BMS hardware version", + "11803": "Operating status", + "11804": "Charge of current battery", + "11805": "Specified battery setpoints", + "11807": "External active power setpoint specification, fallback value for active power setpoint specification", + "11808": "Timeout for absent assigned active power", + "11810": "Nominal current control at grid connection point", + "11811": "Lower discharge limit for assigned active power", + "11812": "Upper discharge limit for assigned active power", + "11813": "Setpoint at grid connection point for batt. Charge", + "11814": "Setpoint at grid conn. point for batt. discharge", + "11815": "Available charging power", + "11816": "Available discharging power", + "11817": "Ambient temperature", + "11818": "Status Enable Signal", + "11819": "Climate management supply voltage", + "11820": "DC-bus voltage", + "11821": "DC-bus power", + "11822": "Logic supply voltage", + "11823": "Climate management supply voltage", + "11824": "Command sent to the battery management system", + "11825": "RS485 communication speed", + "11826": "RS485 device detect timeout", + "11827": "Number of RS485 devices to detect", + "11828": "Trigger device restart", + "11829": "Start device detect", + "11830": "Number of detected devices", + "11831": "Send interval for SIP OPTIONS keepalive messages", + "11832": "operations state DSP", + "11833": "Current reactive power limit at overriding required reactive power", + "11834": "String comparison group for string failure detect", + "11835": "Number of connected sub-strings per string", + "11836": "String failure detection sensitivity", + "11837": "Active power setpoint on phase A (in %) for WCtlCom op. mode", + "11838": "Active power setpoint on phase B (in %) for WCtlCom op. mode", + "11839": "Active power setpoint on phase C (in %) for WCtlCom op. mode", + "11840": "Reactive power setpoint on phase A (in %) for VArCtlCom op. mode", + "11841": "Reactive power setpoint on phase B (in %) for VArCtlCom op. mode", + "11842": "Reactive power setpoint on phase C (in %) for VArCtlCom op. mode", + "11843": "Voltage symmetry operating mode", + "11844": "Inverter bridge temperature", + "11845": "Highest measured inverter bridge temperature", + "11847": "AST type", + "11851": "Nominal voltage and frequency", + "11852": "Cluster configuration", + "11853": "Cluster system", + "11854": "Cluster in the multi-cluster", + "11855": "Extension cluster address", + "11856": "System performance", + "11857": "Design of the generation plant", + "11859": "Limitation of the active power consumption in %", + "11860": "Limitation of the active power consumption in W", + "11861": "Fallback active power P", + "11862": "Derating of the PV inverter to the grid connection point", + "11865": "Location longitude", + "11866": "Location latitude", + "11867": "Maximum time without reference run", + "11868": "Minimum deviation before tracking start", + "11869": "Minimum elevation deviation before tracking start", + "11870": "Number of motor steps when leaving azimuth end position", + "11871": "Number of motor steps when leaving elevation end position", + "11872": "Maximum tilt angle", + "11873": "Select type", + "11874": "Last external override", + "11875": "Maximum azimuth motor current", + "11876": "Maximum elevation motor current", + "11877": "Actual elevation motor current", + "11878": "Actual azimuth motor current", + "11879": "Current azimuth", + "11880": "Current elevation", + "11881": "Target azimuth", + "11882": "Target elevation", + "11883": "Azimut end position", + "11884": "Voltage supply", + "11885": "Number of external overrides", + "11886": "Remote operation", + "11888": "Serial number device 1", + "11889": "Serial number device 2", + "11890": "Phase assignment device 1", + "11891": "Phase assignment device 2", + "11892": "Last time synchronization", + "11893": "Device password", + "11894": "Maximum number of reference run errors", + "11895": "Start delay", + "11896": "Traverse angle for remote operation", + "11897": "Elevation correction angle", + "11898": "Soft Access Point status", + "11900": "Max AC battery discharge current", + "11901": "Charge current specification self-consumption", + "11902": "Discharge current specification self-consumption", + "11903": "Maximum inverter frequency", + "11904": "Minimum inverter frequency", + "11905": "Maximum inverter voltage", + "11906": "Minimum inverter voltage", + "11907": "Process specification battery charge current", + "11908": "Process specification battery discharge current", + "11909": "Power of the SI charger |s0|", + "11910": "Total current multi-cluster charging power", + "11911": "Total current multi-cluster discharging power", + "11912": "Frequency distribution of the state of charge, |s0| % > SOC >= |s1|%", + "11914": "EEBUS SKI device identification", + "11916": "Backup controller SW version", + "11917": "Backup controller HW version", + "11918": "Backup controller revision status", + "11919": "Backup controller serial number", + "11920": "Backup controller SUSyID", + "11921": "Backup interface module SW version", + "11922": "Backup interface module HW version", + "11923": "Backup interface module revision status", + "11924": "Backup interface module serial number", + "11925": "Backup interface module SUSyID", + "11926": "Time of the update", + "11927": "Voltage increase protection enabled", + "11928": "Grid monitoring time", + "11929": "Lowest measured frequency", + "11930": "Highest measured frequency", + "11931": "Charge current limitation", + "11932": "Discharge current limitation", + "11933": "Device address", + "11934": "Azimuth correction angle", + "11937": "ADC average value formation in 0.1 s", + "11938": "Angle of elevation limitation 2", + "11939": "Start of elevation limitation 2", + "11940": "End of elevation limitation 2", + "11941": "Angle of date-dependent rotation limitation", + "11942": "Start of date-dependent rotation limitation", + "11943": "End of date-dependent rotation limitation", + "11944": "Fixed elevation angle", + "11945": "Fixed rotation angle drive 2", + "11946": "Fixed azimuth angle", + "11947": "Fixed rotation angle drive 1", + "11948": "Activation of fixed angle", + "11949": "HyTrack azimuth sensitivity", + "11950": "HyTrack elevation sensitivity", + "11951": "Jump width for HyTrack adjustment", + "11952": "Rotation of HyTrack", + "11953": "Temperature of HyTrack", + "11954": "Voltage of HyTrack Q1", + "11955": "Voltage of HyTrack Q2", + "11956": "Voltage of HyTrack Q3", + "11957": "Voltage of HyTrack Q4", + "11958": "X-angle of HyTrack", + "11959": "Y-angle of HyTrack", + "11960": "HyTrack", + "11961": "Total adjustment time", + "11962": "Total error time", + "11963": "Angle of night position", + "11964": "Current motor current drive 1", + "11965": "Current motor current drive 2", + "11966": "Maximum motor current drive 1", + "11967": "Maximum motor current drive 2", + "11968": "Current angle drive 1", + "11969": "Current angle drive 2", + "11970": "Target angle drive 1", + "11971": "Target angle drive 2", + "11972": "Drives activated", + "11973": "Open-circuit voltage point counter", + "11974": "Multifunction relay status", + "11975": "Active battery charging mode", + "11976": "Number of Resets", + "11977": "Operating mode", + "11978": "Error", + "11979": "Counter warning battery voltage high", + "11980": "Counter error battery overvoltage", + "11981": "Counter warning battery state of charge low", + "11982": "Device address", + "11983": "Current battery state of charge", + "11984": "Current battery capacity", + "11987": "Battery nominal capacity", + "11988": "Present battery charge", + "11989": "Present battery discharge", + "11990": "Battery charge", + "11991": "Battery discharge", + "11992": "Absolute battery charge", + "11993": "Absolute battery discharge", + "11994": "Battery discharge of current battery", + "11995": "Set battery charge", + "11996": "Set battery discharge", + "11997": "Current capacity (Dvlp)", + "11998": "Charge of current battery", + "11999": "Relay monitoring voltage", + "12000": "Activation of communication test between clusters", + "12001": "Status of communication test", + "12002": "Current sensor type (60mV 50mV)", + "12003": "Current sensor gain", + "12004": "Current sensor gain", + "12005": "Current at AC2 with high resolution", + "12006": "Highest measured drawn power", + "12007": "Highest measured feed-in power", + "12008": "Anti-islanding sensitivity", + "12009": "Current control mode", + "12010": "Grounding type", + "12011": "Selection of mains exchange capacity measurement method", + "12012": "Total current load active power", + "12013": "Serial number", + "12014": "System ID", + "12015": "Software version", + "12016": "Serial number", + "12017": "Position number", + "12018": "Serial number", + "12019": "Designation", + "12020": "Type", + "12021": "Voltage", + "12022": "Current", + "12023": "Power", + "12024": "PV module electronics temperature", + "12025": "Received signal strength", + "12026": "Condition", + "12027": "Condition", + "12028": "Condition", + "12029": "Energy counter", + "12030": "Frequency droop P(f)", + "12031": "Voltage droop Q (U)", + "12032": "Frequency at AC2 with high resolution", + "12033": "Backup unit controller status", + "12034": "Batter interface module status", + "12035": "Hardware version of the main processor", + "12036": "Energy counter serial number", + "12037": "Energy meter used", + "12038": "Auto-calibration of the external battery current sensor", + "12039": "Energy meters used", + "12040": "Rapid Shutdown Mode", + "12041": "MPP tracker assignment", + "12042": "Number of PC modules in the string", + "12043": "Number of PC module electronics in the string", + "12044": "Rapid shutdown system function", + "12045": "Commissioning status", + "12046": "Type", + "12047": "Type", + "12048": "Software version", + "12049": "Software version", + "12050": "Minimum time for the use of excess energy", + "12051": "Voltage difference for the use of excess energy", + "12052": "Status of the counter on the Modbus", + "12053": "Number of gateways", + "12054": "SPS voltage", + "12055": "Backup voltage", + "12056": "Voltage monitoring upper maximum threshold", + "12057": "Voltage monitoring upper max. threshold trip. time", + "12058": "Voltage monitoring lower maximum threshold", + "12059": "Voltage monitoring lower max. threshold trip. time", + "12060": "Minimum voltage for start backup operation", + "12061": "Contactor switching status", + "12062": "Backup box communication status", + "12063": "Backup box operating mode", + "12064": "Redundant grid contactors", + "12065": "Phase coupling", + "12066": "Neutral conductor grounding", + "12067": "Upper limit for the charging state for derating of the PV inverters", + "12068": "Monitoring time contactor monitoring contact", + "12069": "Minimum voltage for activation of the load contactors in backup", + "12070": "Monitoring time for activation of the load contactors in backup", + "12071": "Duration of the AC voltage ramp", + "12072": "DC input configuration reset", + "12073": "DC input configuration [|s0|]", + "12074": "Can test mode", + "12075": "PV module electronics hardware version", + "12076": "PV module gateway hardware version", + "12077": "Backup module temperature monitoring trigger threshold", + "12078": "PV module electronics found", + "12079": "Gateways found", + "12080": "Activate power profile function", + "12081": "Charging power of the selected function", + "12082": "Discharging power of the selected function", + "12083": "Start time of the selected function", + "12084": "Stop time of the selected function", + "12085": "Weekday selection", + "12086": "Operating mode of the power control plan", + "12087": "Name of the power profile", + "12088": "Width of the usage range for Time of Use", + "12089": "Width of the usage range for Peak Load Shaving", + "12090": "Nominal CT current [Amps]", + "12091": "Displacement power factor", + "12092": "Grid current phase L1", + "12093": "Grid current phase L2", + "12094": "Grid current phase L3", + "12095": "Apparent power L1", + "12096": "Apparent power L2", + "12097": "Apparent power L3", + "12098": "Grid frequency", + "12099": "Grid voltage phase L3 against L1", + "12100": "Grid voltage phase L1 against L2", + "12101": "Grid voltage phase L2 against L3", + "12102": "Apparent power", + "12103": "Setpoint at the grid connection point in self-consumption", + "12104": "Activate voltage disconnect monitoring", + "12105": "RS485 interface protocol", + "12106": "RS485 interface protocol", + "12107": "RS485 interface protocol", + "12108": "Setpoint for grid frequency", + "12109": "Setpoint for grid voltage", + "12110": "Internal resistance", + "12111": "Open circuit voltage", + "12112": "Disconnection limit for leakage current", + "12113": "Disconnection limit for the lagging component of the leakage current", + "12114": "Cellular modem is switched on", + "12115": "Execute function", + "12116": "IMEI", + "12117": "Serial number (ICCID)", + "12118": "Condition", + "12119": "Received signal strength", + "12120": "Grid operator", + "12121": "EnnexOS is switched on", + "12122": "Execute function", + "12123": "Condition", + "12124": "RS485 interface terminal resistance", + "12125": "Energy meter software version", + "12126": "Duration until activation of secondary connection", + "12127": "Cellular connection status", + "12128": "EnnexOS portal connection status", + "12129": "SunSpec signal test", + "12130": "Trigger test for rapid shutdown", + "12131": "Cellular modem software version", + "12132": "Webconnect version", + "12133": "Limitation to 4 reconnections (24 hrs) after exceeding continuous residual current", + "12134": "Ethernet Link Diagnosis via LED", + "12135": "Internal PV reactive power limitation", + "12136": "Laboratory mode is activated", + "12137": "Minimum PV reactive power limitation", + "12144": "Correction value for power gradient, e.g. WGraRecon, WGraConn, WCtlHzModCfg.WCtlHzCfg.HzStopWGra", + "12145": "Communication Diagnosis via LED", + "12146": "Smart Inverter Screen switched on", + "12147": "Upload interval", + "12148": "Upload interval", + "12149": "Average values type", + "12150": "Output power limitation of PV inverter", + "12151": "Q(V), number of support points to be used", + "12152": "Maximum active power", + "12153": "Reactive power mode, reference size for reactive power setting", + "12154": "Number of supported strings", + "12156": "Minimum active power", + "12157": "Q(V), voltage value", + "12158": "Q(V), reactive power value", + "12159": "Maximum active power", + "12160": "Minimum active power", + "12161": "External active power setpoint 2, low priority", + "12162": "Q(V), external reference voltage setting in p.u.", + "12163": "Q(V), operating mode for reference voltage adaption", + "12164": "Fallback of reactive power control in event of outage of measuring point", + "12165": "Q(V), fallback of reference voltage", + "12166": "External active power setting, fallback value of minimum active power", + "12167": "External active power setting, fallback value of maximum active power", + "12168": "External active power setting 2, fallback behavior", + "12169": "External active power setting, nominal value filter", + "12170": "PV system voltage phase L1", + "12171": "PV system voltage phase L2", + "12172": "PV system voltage phase L3", + "12173": "Current control mode", + "12174": "Battery and control interface", + "12175": "Reactive power compensation", + "12176": "Encryption", + "12177": "Q(V), max. number of support points", + "12178": "Q(V), setting time of automatic reference voltage adaption", + "12179": "Insulation monitoring", + "12180": "Rated active power WMaxOutRtg", + "12181": "Rated active power WMaxInRtg", + "12182": "Rated active power WMinOutRtg", + "12183": "Rated active power WMinInRtg", + "12184": "Rated reactive power VArMaxQ1Rtg", + "12185": "Rated reactive power VArMaxQ2Rtg", + "12186": "Rated reactive power VArMaxQ3Rtg", + "12187": "Rated reactive power VArMaxQ4Rtg", + "12188": "Rated cos φ PFMinQ1Rtg", + "12189": "Rated cos φ PFMinQ2Rtg", + "12190": "Rated cos φ PFMinQ3Rtg", + "12191": "Rated cos φ PFMinQ4Rtg", + "12192": "Rated apparent power VAMaxOutRtg", + "12193": "Rated apparent power VAMaxInRtg", + "12194": "Nominal active power WMaxOut", + "12195": "Nominal active power WMaxIn", + "12196": "Nominal active power WMinOut", + "12197": "Nominal active power WMinIn", + "12198": "Nominal apparent power VAMaxOut", + "12199": "Nominal apparent power VAMaxIn", + "12200": "Nominal reactive power VArMaxQ1", + "12201": "Nominal reactive power VArMaxQ2", + "12202": "Nominal reactive power VArMaxQ3", + "12203": "Nominal reactive power VArMaxQ4", + "12204": "Nominal reactive power VArMaxZerWQ1", + "12205": "Nominal reactive power VArMaxZerWQ2", + "12206": "Nominal reactive power VArMaxZerWQ3", + "12207": "Nominal reactive power VArMaxZerWQ4", + "12208": "Nominal cos φ PFMinQ1", + "12209": "Nominal cos φ PFMinQ2", + "12210": "Nominal cos φ PFMinQ3", + "12211": "Nominal cos φ PFMinQ4", + "12212": "Data logging of PV module outputs", + "12213": "Absolute meter reading for grid infeed", + "12214": "Absolute meter reading of grid consumption", + "12215": "External cos φ setting, cos φ nominal value in case of active power output", + "12216": "External cos φ setting, excitation type in case of active power output", + "12217": "External cos φ setting, cos φ nominal value in case of active power draw", + "12218": "External cos φ setting, excitation type in case of active power draw", + "12219": "External cos φ setting, fallback value of cos φ in case of active power output", + "12220": "External cos φ setting, fallback value of excitation type in case of active power output", + "12221": "External cos φ setting, fallback value of cos φ in case of active power draw", + "12222": "External cos φ setting, fallback value of excitation type in case of active power draw", + "12223": "Manual cos φ setting, cos φ nominal value in case of active power generation", + "12224": "Manual cos φ setting, excitation type in case of active power generation", + "12225": "Manual cos φ setting, cos φ nominal value in case of active power draw", + "12226": "Manual cos φ setting, excitation type in case of active power draw", + "12227": "cos φ setting, actual value filter for active power value", + "12228": "cos φ setting, actual value filter for active power value", + "12229": "cos φ setting, nominal value filter", + "12230": "cos φ setting, setting time, nominal value filter", + "12231": "cos φ setting, limitation of change rate", + "12232": "cos φ setting, increase rate", + "12233": "Reactive power setting with voltage limitation", + "12234": "Reactive power setting with voltage limitation, voltage value", + "12235": "Reactive power setting with voltage limitation, reactive power value", + "12236": "External active power setting, setting time, nominal value filter", + "12237": "Manual reactive power setting in case of active power draw", + "12239": "Reactive power setting, nominal value filter", + "12240": "Reactive power setting, setting time, nominal value filter", + "12241": "Reactive power setting, limitation of change rate", + "12242": "Reactive power setting, increase rate", + "12243": "Reactive power mode, hysteresis active power", + "12244": "Reactive power mode, hysteresis time", + "12245": "Reactive power mode in case of active power output", + "12246": "Reactive power mode in case of active power draw", + "12247": "Reactive power for zero active power", + "12248": "Reactive power fallback process in case of active power output", + "12249": "Reactive power fallback process in case of active power draw", + "12250": "Reactive power fallback process in case of zero active power", + "12251": "Residual current limiting", + "12252": "Activation of residual current limiting", + "12253": "Active reactive power range", + "12254": "Voltage-dependent reactive power limitation", + "12255": "Voltage-dependent reactive power limitation, distance to cut-off thresholds of voltage monitoring", + "12256": "Voltage-dependent reactive power limitation, hysteresis voltage", + "12257": "Reactive power setting, decrease rate", + "12258": "cos φ setting, decrease rate", + "12259": "Dynamic grid support, short-term averaging time of the pre-fault voltage", + "12260": "Dynamic grid support, long-term averaging time of the pre-fault voltage", + "12261": "Dynamic grid support, averaging of threshold value detection", + "12262": "Applicable voltages", + "12263": "Dynamic grid support, overvoltage threshold for zero current", + "12264": "Dynamic grid support, undervoltage threshold for zero current", + "12265": "dI_B/dt Gradient limitation for the reactive current in transition from fault operation to normal operation", + "12266": "Dynamic grid support, averaging for reactive current static", + "12267": "Dynamic grid support, overvoltage threshold for reactive current", + "12268": "Dynamic grid support, undervoltage threshold for reactive current", + "12269": "Dynamic grid support, voltage leap height", + "12270": "Dynamic grid support, k-factor of react. current stat. in neg. system", + "12271": "Dynamic grid support, maximum reactive current in case of overvoltage", + "12272": "Dynamic grid support, active current priority at apparent current limit", + "12273": "dI_W/dt Gradient limitation for active current in transition from fault operation to normal operation", + "12274": "Maximum time for which the inverter supplies dynamic reactive current", + "12275": "Dynamic grid support, reactive current change rate after fault end", + "12276": "Dynamic grid support, active current change rate after fault end", + "12277": "Dynamic grid support, time for providing reactive power after voltage leap", + "12278": "P(f) characteristic curve", + "12279": "P(f) reference value for active power in case of overfrequency", + "12280": "P(f), setting time", + "12281": "P(f), buckling overfrequency", + "12282": "P(f), active power change per Hz in case of overfrequency", + "12283": "P(f), buckling underfrequency", + "12284": "P(f), active power change per Hz in case of underfrequency", + "12285": "P(f), hysteresis in case of overfrequency", + "12286": "P(f), hysteresis in case of underfrequency", + "12287": "Dynamic grid support, maximum reactive current in case of undervoltage", + "12288": "Dynamic grid support, lag time in case of overvoltage", + "12289": "Dynamic grid support, lag time in case of undervoltage", + "12290": "Presetting of Q(V) curve", + "12291": "P(f), reset underfrequency", + "12292": "Energy saving mode in self-consumption switched on", + "12293": "P(f), reset underfrequency", + "12294": "Manual reactive power setpoint for active power draw", + "12295": "Log level of EEBus gateway", + "12296": "Standardized reactive power setpoint by communication", + "12297": "Q(V), fallback behavior for absent reference voltage setting", + "12298": "Dynamic grid support, hysteresis voltage", + "12299": "External active power setting, limitation of change rate", + "12300": "External active power setting, increase rate", + "12301": "External active power setting, decrease rate", + "12303": "External active power setting 2, fallback value of minimum active power", + "12304": "External active power setting 2, fallback value of maximum active power", + "12305": "External active power setting 2, timeout", + "12306": "External active power setting 2, nominal value filter", + "12307": "External active power setting 2, setting time, nominal value filter", + "12308": "External active power setting 2, limitation of change rate", + "12309": "External active power setting 2, increase rate", + "12310": "External active power setting 2, decrease rate", + "12311": "Voltage monitoring, median maximum threshold", + "12312": "Voltage monitoring, lower maximum threshold", + "12313": "Voltage monitoring, upper minimum threshold", + "12314": "Voltage monitoring, median minimum threshold", + "12315": "Voltage monitoring, upper maximum threshold", + "12316": "Voltage monitoring, peak voltage threshold", + "12317": "Voltage monitoring, lower minimum threshold", + "12319": "Volt. increase prot.", + "12320": "Min. voltage for reconnection", + "12321": "Max. voltage for reconnection", + "12322": "Q(V), nominal value filter", + "12323": "Q(V), limitation of change rate", + "12324": "Q(V), increase rate", + "12325": "Q(V), decrease rate", + "12326": "Q(P), max. number of support points", + "12327": "Q(P), number of support points to be used", + "12328": "Q(P), active power value", + "12329": "Q(P), reactive power value", + "12330": "Q(P), nominal value filter", + "12331": "Q(P), setting time, nominal value filter", + "12332": "Q(P), limitation of change rate", + "12333": "Q(P), increase rate", + "12334": "Q(P), decrease rate", + "12335": "cos φ(P), upper deactivation voltage", + "12336": "cos φ(P), upper activation voltage", + "12337": "cos φ(P), max. number of support points", + "12338": "cos φ(P), number of support points to be used", + "12339": "cos φ(P), excitation type", + "12340": "cos φ(P), cos φ nominal value", + "12341": "cos φ(P), active power", + "12342": "Departure time of connected vehicle (E-mobility)", + "12343": "Time of reaching target charge", + "12344": "External generator feed-in counter", + "12345": "Feed-in power of external generator", + "12346": "cos φ(P), actual value filter for active power measured value", + "12347": "cos φ(P), setting time, actual value filter", + "12348": "cos φ(P), nominal value filter", + "12349": "cos φ(P), setting time, nominal value filter", + "12350": "cos φ(P), limitation of change rate", + "12351": "cos φ(P), increase rate", + "12352": "cos φ(P), decrease rate", + "12353": "Tripping threshold DC current monitoring", + "12354": "DC monitoring mode", + "12355": "P(U), activation", + "12356": "P(U), nominal value filter", + "12357": "P(U), setting time, nominal value filter", + "12358": "P(U), limitation of change rate", + "12359": "P(U), increase rate", + "12360": "P(U), decrease rate", + "12361": "P(U), tripping delay", + "12362": "P(U), max. number of support points", + "12363": "P(U), number of points used", + "12364": "P(U), voltage value", + "12365": "P(U), active power value", + "12366": "cos φ(U), max. number of support points", + "12367": "cos φ(U), number of support points used", + "12368": "cos φ(U), voltage value", + "12369": "cos φ(U), excitation type", + "12370": "cos φ(U), cos φ nominal value", + "12371": "cos φ(U), actual value filter for active power measured value", + "12372": "cos φ(U), setting time, actual value filter", + "12373": "cos φ(U), nominal value filter", + "12374": "cos φ(P), setting time, nominal value filter", + "12375": "cos φ(P), limitation of change rate", + "12376": "cos φ(U), increase rate", + "12377": "cos φ(U), decrease rate", + "12378": "cos φ(U), tripping delay", + "12379": "cos φ(U), status", + "12380": "JET test mode", + "12384": "Dynamic grid support, minimum duration of providing reactive current", + "12385": "Dynamic grid support, maximum duration of providing reactive current", + "12386": "P(U), type of reference voltage", + "12387": "P(U), type of reference active power", + "12388": "RS485 interface", + "12389": "Q(V), timeout for absent reference voltage setting", + "12390": "Q(V), tripping delay", + "12391": "Q(P), upper deactivation voltage", + "12392": "Q(P), upper activation voltage", + "12393": "Q(P), tripping delay", + "12394": "cos φ(P), tripping delay", + "12395": "Q(V), setting time, nominal value filter", + "12396": "Voltage monitoring, peak voltage threshold tripping time", + "12397": "Voltage monitoring, upper max. threshold trip. time", + "12398": "Phase reference of grid nominal voltage", + "12399": "Status of active power limitation setting", + "12401": "Enable command that overwrites enable conditions", + "12402": "Reference voltage selection", + "12403": "Manual restart after arc detection", + "12404": "Manual restart after 0% preset", + "12405": "Manual restart after fault current", + "12406": "P(f), reference value for active power for underfrequency", + "12407": "Displacement factor cos φ setpoint input via analog input", + "12408": "Displacement factor cos φ excitation type via analog input", + "12409": "Electrical reference point for grid requirements", + "12410": "Increase rate in case of insolation change", + "12411": "Priority compared to local charact. curves", + "12412": "Priority compared to local charact. curves", + "12413": "Function execution level P(f)", + "12414": "Function execution level P(U)", + "12415": "Function execution level reactive power mode", + "12416": "Soft start-up P", + "12417": "Standby status", + "12418": "Operating status", + "12419": "Source of maximum active power setpoint", + "12420": "Source of minimum active power setpoint", + "12421": "Current maximum active power setpoint", + "12422": "Current minimum active power setpoint", + "12423": "Current reference voltage setpoint for Q(V)", + "12424": "Current cos φ setpoint for active power draw", + "12425": "Current cos φ excitation type setpoint for active power draw", + "12426": "Max. setpoint value for active power of storage (pos. = discharge power, neg. = charge power)", + "12427": "Min. setpoint value for active power of storage (pos. = discharge power, neg. = charge power)", + "12428": "Communication to SMA Portal permitted", + "12429": "Communication to Tigo Cloud permitted", + "12431": "Q(P), lower deactivation voltage", + "12432": "Q(P), lower activation voltage", + "12433": "cos φ(P), lower deactivation voltage", + "12434": "cos φ(P), lower activation voltage", + "12435": "Active power control mode", + "12436": "Reactive power control mode", + "12437": "Soft start-up rate Q", + "12438": "Soft start-up Q", + "12439": "Modbus P-settings at input 2", + "12440": "Dynamic grid support, reactive power dynamic after error end", + "12441": "Reactive power behavior, type of reference voltage", + "12442": "NTP server for connected devices switched on", + "12443": "Islanding detection mode", + "12444": "Maximum active power setpoint specification", + "12445": "Minimum active power setpoint specification", + "12446": "Maximum reactive power setpoint specification", + "12447": "Minimum reactive power setpoint specification", + "12448": "Active reactive power behavior", + "12449": "Progress of the DC input configuration", + "12450": "EEI displacement power factor", + "12451": "Excitation type of cos φ", + "12452": "Grid and system protection", + "12453": "Maximum output voltage of the AC current regulator", + "12454": "Amplification of the resonance regulator for the fundamental harmonics current", + "12455": "Amplification of the integral regulator for the DC share in the AC current", + "12456": "Amplification of the proportion regulator for the fundamental harmonics current", + "12457": "Activation of the AC current controller", + "12458": "Activation of the active attenuation", + "12459": "Limit frequency of the active attenuation", + "12460": "Proportional amplification of the active attenuation", + "12461": "Activation of automatic grid connection", + "12462": "Activation of all harmonics regulators", + "12463": "Activation of harmonics regulator number 3", + "12464": "Activation of harmonics regulator number 4", + "12465": "Magnitude of the resonance frequency for harmonics regulator number 3", + "12466": "Magnitude of the resonance frequency for harmonics regulator number 4", + "12467": "Amplification of the resonance regulator for harmonics regulator number 3", + "12468": "Amplification of the resonance regulator for harmonics regulator number 4", + "12469": "Amplification of the proportional regulator for harmonics regulator number 3", + "12470": "Amplification of the proportional regulator for harmonics regulator number 4", + "12471": "Maximum output voltage of the harmonics regulators", + "12472": "Reduction factor of the fed-back grid voltage", + "12473": "Limit frequency of the band-pass filter for the grid voltage feedback", + "12474": "Integral amplification of the intermediate circuit voltage regulator", + "12475": "Proportional amplification of the intermediate circuit voltage regulator", + "12476": "Proportional amplification of the intermediate circuit symmetry regulation", + "12477": "Weighting of AC offset to DC offset for the intermediate circuit symmetry regulation", + "12478": "AID rate of rise", + "12479": "Reactive power setpoint specification via analog input", + "12480": "Battery maximum active power", + "12481": "Battery minimum active power", + "12482": "SMA SPOT direct marketing active", + "12483": "Manufacturer", + "12484": "Peak Load Shaving - charging limit", + "12485": "Peak Load Shaving - discharging limit", + "12486": "ennexOS framework version", + "12487": "ennexOS diagnostics configuration", + "12488": "Activated", + "12489": "Automatic Ethernet configuration enabled", + "12490": "Currently used IP address", + "12491": "Currently used IP subnet mask", + "12492": "Currently used IP gateway address", + "12493": "Currently used IP DNS server address", + "12494": "Power drawn by PV", + "12495": "Energy PV", + "12496": "Absorbed energy PV", + "12497": "Battery power", + "12498": "Blindleistung PV", + "12499": "Maximum battery charging current", + "12500": "Maximum battery discharge current", + "12501": "Nom-cos φ PFMinQ1-Q4", + "12502": "Activation threshold for active power output", + "12503": "Deactivation threshold for active power output", + "12504": "Activation threshold for active power draw", + "12505": "Deactivation threshold for active power draw", + "12506": "Acoustic signal for event messages", + "12507": "Reactive power setpoint via digital input", + "12508": "Minimum relay switching time", + "12509": "Minimum charge current", + "12510": "Operating mode of charge session", + "12511": "Duration of the charge session", + "12512": "Energy quantity of the charge session", + "12513": "Disconnection after full charge", + "12514": "Standby for charging process to disconnection", + "12515": "Serial number of the charge controller", + "12516": "SusyID of charge controller", + "12517": "Software version of the charge controller", + "12518": "Type of charge controller", + "12519": "Charge energy", + "12520": "Discharge energy", + "12521": "Switching request value", + "12522": "Switching request active", + "12523": "Freezer unit rating", + "12524": "Refrigeration unit rating", + "12525": "Freezer system rating", + "12526": "Refrigeration system rating", + "12527": "Internal temperature", + "12529": "Heartbeat", + "12530": "Hot gas temperature actual value", + "12531": "Hot gas temperature setpoint", + "12532": "Hot gas override limit", + "12533": "Compressor power level", + "12534": "Available underexcited \nreactive power", + "12535": "Available overexcited reactive power", + "12536": "Theoretically available plant power output", + "12537": "Generation plant availability", + "12538": "External active power reduction", + "12539": "Current active power setpoint", + "12540": "Current reactive power setpoint", + "12541": "Available active power", + "12542": "Available reactive power", + "12543": "Modbus profile version", + "12544": "Error code", + "12545": "Device status", + "12546": "Control mode", + "12547": "Power", + "12548": "Load power", + "12549": "Load reactive power", + "12550": "Load power consumption", + "12551": "Number of active strings", + "12552": "Number of active strings", + "12553": "Number of active battery systems", + "12554": "Power consumption at point of common coupling", + "12555": "Feed in power at point of common coupling", + "12556": "Setpoint reserved power for genset systems", + "12557": "Start request command for genset systems", + "12558": "Total PV active power limitation", + "12559": "Total PV reactive power setpoint", + "12560": "Total battery active power setpoint", + "12561": "Total battery reactive power setpoint", + "12562": "Active power setpoint for battery system", + "12563": "Reactive power setpoint for whole system (PV and BAT)", + "12564": "Voltage setpoint (phase-phase)", + "12565": "Power factor setpoint", + "12566": "Upper active power limitation for whole plant (PV and BAT)", + "12567": "Lower active power limitation for whole plant (PV and BAT)", + "12568": "Deny inverter restart by Hybrid Controller", + "12569": "Current generator performance", + "12570": "Current generator reactive power", + "12571": "Counter state of generator generating meter", + "12572": "PV reactive power currently supplied from grid", + "12573": "Supplied reactive battery power in all phases", + "12574": "Available underexcited reactive power", + "12575": "Available overexcited reactive power", + "12576": "Generation plant availability", + "12577": "AC self-test mode", + "12578": "Parameter change via Sunny Portal", + "12579": "Total energy fed into the grid", + "12580": "Total energy drawn from the grid", + "12581": "Total energy released", + "12582": "Current grid export active power", + "12583": "Current grid export reactive power", + "12584": "Local time of the automatic update", + "12585": "Local start time additional time period, generator request", + "12586": "Local end time additional time period, generator request", + "12587": "Local time of the update", + "12588": "Local start time of selected function", + "12589": "Local end time of selected function", + "12590": "Local start time battery protection mode level", + "12591": "Local end time battery protection mode level", + "12592": "Local start time for PV grid feed-in", + "12593": "Local end time for PV grid feed-in", + "12594": "Local end time additional time period for grid request", + "12595": "Local start time additional time period for grid request", + "12596": "Local time load shedding 1", + "12597": "Local tart time additional time period load shedding 1", + "12598": "Local time load shedding 2", + "12599": "Local start time additional time period load shedding 2", + "12600": "Operation with meter at point of interconnection", + "12601": "Set active power limit for grid-supplied power at point of interconnection", + "12602": "Available power for charging stations", + "12603": "Current power limitation of charging stations", + "12604": "Device serial number", + "12605": "Direct selling enabled", + "12606": "Output current Grid feed-in Line conductor L1 at point of interconnection", + "12607": "Output current Grid feed-in Line conductor L2 at point of interconnection", + "12608": "Output current Grid feed-in Line conductor L3 at point of interconnection", + "12609": "Grid voltage Line conductor L1 against L2 at point of interconnection", + "12610": "Grid voltage Line conductor L2 against L3 at point of interconnection", + "12611": "Grid voltage Line conductor L3 against L1 at point of interconnection", + "12612": "Mean value Grid voltage Line conductor L-N", + "12613": "Mean value Grid voltage Line conductor L-L", + "12614": "Power Grid feed-in Line conductor L1 at point of interconnection", + "12615": "Power Grid feed-in Line conductor L2 at point of interconnection", + "12616": "Power Grid feed-in Line conductor L3 at point of interconnection", + "12617": "Reactive power Grid feed-in Line conductor L1 at point of interconnection", + "12618": "Reactive power Grid feed-in Line conductor L2 at point of interconnection", + "12619": "Reactive power Grid feed-in Line conductor L3 at point of interconnection", + "12620": "Mean value Grid voltage L-N at point of interconnection", + "12621": "Mean value Grid voltage L-L at point of interconnection", + "12622": "Displacement power factor at point of interconnection", + "12623": "Grid frequency at point of interconnection", + "12624": "End of charging process", + "12625": "No translation in Taglist for ID 12625", + "12626": "No translation in Taglist for ID 12626", + "12627": "No translation in Taglist for ID 12627", + "12628": "External cos φ setting, cos φ nominal value in case of active power output", + "12629": "External cos φ setting, excitation type in case of active power output", + "12630": "External cos φ setting, cos φ nominal value in case of active power draw", + "12631": "External cos φ setting, excitation type in case of active power draw", + "12632": "Difference PV system time/system time", + "12633": "Nominal power of connected diesel generators", + "12634": "Activation threshold for string-failure detection", + "12635": "Energy released by string", + "12636": "Total energy released by string", + "12637": "Set offset of energy released by string", + "12638": "SunSpec life sign", + "12639": "Available underexcited reactive power", + "12640": "Available overexcited reactive power", + "12641": "Current charging power", + "12642": "Current discharging power", + "12643": "Digital input", + "12644": "Maximum DC voltage of complete device", + "12645": "Actual value filter for measured frequency value", + "12646": "Setting time actual value filter", + "12647": "Highest measured battery temperature", + "12648": "Lowest measured battery temperature", + "12649": "End-of-charge voltage", + "12650": "End-of-discharge voltage", + "12651": "Maximum charging current", + "12652": "Maximum discharging current", + "12653": "Current battery energy content", + "12654": "Sum of cell voltages", + "12655": "Lowest measured cell voltage", + "12656": "Highest measured cell voltage", + "12657": "Measured value of displacement power factor", + "12658": "Temperature of dew point", + "12659": "Absolute air pressure", + "12660": "Relative air pressure", + "12661": "Standard deviation of wind speed", + "12662": "Standard deviation of wind direction", + "12663": "Quality of wind measurement ", + "12664": "Absolute precipitation amount", + "12665": "Differential precipitation amount", + "12666": "Precipitation intensity", + "12667": "Precipitation type", + "12668": "WMO code", + "12669": "Lightning events", + "12670": "Lightning events (interval)", + "12671": "External temperature sensor", + "12672": "Operating Voltage", + "12673": "Feed-in monitoring at point of interconnection", + "12674": "Percentage feed-in limit at point of interconnection", + "12675": "Feed-in monitoring time at point of interconnection", + "12676": "Manually set active power setpoint in %", + "12677": "Manually set active power setpoint in W", + "12678": "External active power setpoint", + "12679": "External active power setpoint 2", + "12680": "External active power setpoint via SMA SPOT (direct seller)", + "12681": "External active power setpoint via Modbus (direct seller)", + "12682": "External active power setpoint via analog inputs (electric utility company)", + "12683": "External active power setpoint via digital inputs (electric utility company)", + "12684": "External active power setpoint via Modbus (electric utility company)", + "12685": "External reactive power setpoint via digital inputs (electric utility company)", + "12686": "External reactive power setpoint via analog inputs (electric utility company)", + "12687": "External reactive power setpoint via Modbus (electric utility company)", + "12688": "External cos phi setpoint via Modbus (electric utility company)", + "12689": "External cos phi setpoint via analog inputs (electric utility company)", + "12690": "Modbus TCP server addresses", + "12691": "Modbus profile", + "12692": "Status of installation test of meter at point of interconnection", + "12694": "Device temperature", + "12695": "Standard deviation of solar irradiation", + "12696": "Pollution degree Sensor 1", + "12697": "Transmission loss Sensor 1", + "12698": "Pollution degree Sensor 2", + "12699": "Transmission loss Sensor 2", + "12700": "Data model version", + "12701": "Software version", + "12702": "Hardware version", + "12703": "Inclination X-axis", + "12704": "Inclination Y-axis", + "12705": "Year of factory calibration", + "12706": "Month of factory calibration", + "12707": "Day of factory calibration", + "12708": "Maximum active power setpoint (grid supply)", + "12709": "Minimum active power setpoint (grid supply)", + "12710": "Proportional gain of active power controller", + "12711": "Integral gain of active power controller", + "12712": "Proportional gain of reactive power controller", + "12713": "Integral gain of reactive power controller", + "12714": "Proportional gain of voltage regulator", + "12715": "Integral gain of voltage regulator", + "12716": "Voltage setpoint (line-to-line)", + "12717": "Voltage setpoint (line-to-line)", + "12718": "Voltage regulation, setting time of actual value filter", + "12719": "Voltage regulation, actual value filter for measured voltage value", + "12720": "Upper limit of voltage regulator", + "12721": "Lower limit of voltage regulator", + "12722": "Voltage setpoint", + "12723": "DC-Current input", + "12724": "DC-Voltage input", + "12725": "Number of local calibrations initiated", + "12726": "Number of local calibrations succeeded", + "12727": "Calibration flags", + "12728": "Interval of cyclic insulation measurement", + "12729": "Time of cyclic insulation measurement", + "12730": "Standardized measured voltage value for Q(V)", + "12731": "Connection of line conductor L1 of device to line conductor of power distribution", + "12732": "Connection of line conductor L2 of device to line conductor of power distribution", + "12733": "Connection of line conductor L3 of device to line conductor of power distribution", + "12734": "Pollution degree Sensor", + "12735": "Transmission loss Sensor", + "12736": "Position of rotary switch", + "12737": "Starten der I-V Kurvenmessung", + "12738": "IP-Adresse der Batterie", + "12739": "Data recording on memory card", + "12740": "Dynamische Netzstützung, Anzuwendende Spannungen für Spannungssprungerkennung", + "12741": "Dynamische Netzstützung, Verzögerungszeit für Nullstrom bei Unterspannung", + "12742": "Dynamische Netzstützung, Verzögerungszeit für Nullstrom bei Überspannung", + "12743": "Maximale Zuschaltfrequenz nach Überfrequenz Abschaltung", + "12744": "Maximale Zuschaltfrequenz nach Neustart", + "12745": "Minimale Zuschaltfrequenz nach Neustart", + "12746": "Adresse des OCPP-Servers", + "12747": "Port des OCPP-Servers", + "12748": "Client-ID zur Anmeldung am OCPP-Server", + "12749": "Benutzername zur Anmeldung am OCPP-Server", + "12750": "Passwort zur Anmeldung am OCPP-Server", + "12751": "Maximaler Ladestrom", + "12752": "Aktuell verfügbare Ladepunkte", + "12753": "Maximal verfügbare Ladepunkte", + "12754": "Durchgeführte Ladetransaktionen", + "12756": "AFCI Zähler", + "12757": "AFCI Zähler zurücksetzen", + "12758": "Primärregelleistung (FSM), Bezugswirkleistung für den Wirkleistungsversatz", + "12759": "Primärregelleistung (FSM), Knicküberfrequenz", + "12760": "Primärregelleistung (FSM), Wirkleistungsversatz pro Hz bei Überfrequenz", + "12761": "Primärregelleistung (FSM), Schwelle für Aktivierung bei Überfrequenz", + "12762": "Primärregelleistung (FSM), Knickunterfrequenz", + "12763": "Primärregelleistung (FSM), Wirkleistungsversatz pro Hz bei Unterfrequenz", + "12764": "Primärregelleistung (FSM), Schwelle für Aktivierung bei Unterfrequenz", + "12765": "Primärregelleistung (FSM), Istwertfilter für Frequenzmesswert", + "12766": "Primärregelleistung (FSM), Einstellzeit Istwertfilter für Frequenzmesswert", + "12767": "Primärregelleistung (FSM), Reserveleistung bezogen auf die verfügbare Wirkleistung", + "12768": "Primärregelleistung (FSM), Filter für die verfügbare Wirkleistung", + "12769": "Primärregelleistung (FSM), Einstellzeit des Filters für verfügbare Wirkleistung", + "12770": "Primärregelleistung (FSM), Begrenzung der Änderungsrate der verfügbaren Wirkleistung", + "12771": "Primärregelleistung (FSM), Anstiegsrate der verfügbaren Wirkleistung", + "12772": "Primärregelleistung (FSM), Absenkungsrate der verfügbaren Wirkleistung", + "12773": "Primärregelleistung (FSM), Sollwertfilter für Wirkleistungsversatz", + "12774": "Primärregelleistung (FSM), Einstellzeit des Sollwertfilters für Wirkleistungsversatz", + "12775": "Primärregelleistung (FSM), Begrenzung der Änderungsrate des Wirkleistungsversatzes", + "12776": "Primärregelleistung (FSM), Anstiegsrate des Wirkleistungsversatzes", + "12777": "Primärregelleistung (FSM), Absenkungsrate des Wirkleistungsversatzes", + "12778": "Primärregelleistung (FSM), Basiswirkleistung", + "12779": "Primärregelleistung (FSM)", + "12780": "Upper reactive power threshold for deactivating the reactive power control", + "12781": "Lower reactive power threshold for deactivating the reactive power control", + "12782": "Upper reactive power threshold for activating the reactive power control", + "12783": "Lower reactive power threshold for activating the reactive power control", + "12787": "Maximale Zuschaltspannung nach Neustart", + "12788": "Minimale Zuschaltspannung nach Neustart", + "12789": "Betriebsart Backup-Modus der PV-Wechselrichter", + "12790": "Eingespeiste Leistung", + "12791": "Volume flow", + "12792": "Volume", + "12793": "Abrechnungsbrennwert", + "12794": "Zustandszahl", + "12795": "Anzahl aktiver Systeme", + "12796": "gesamte Nennleistung", + "12797": "Available plant power output", + "12798": "Manuelle Betriebsartvorgabe im Laborbetrieb", + "12799": "Diagnoseexport des Subsystems ausführen", + "12800": "Referenz der Schieflastbegrenzung", + "12801": "Available inverter power output", + "12802": "Adresse des MQTT Brokers", + "12803": "Port des MQTT Brokers", + "12804": "MQTT Broker Verbindungsstatus", + "12805": "Voltage monitoring (for reconnection after grid disconnection) max. threshold trip. Time", + "12806": "Voltage monitoring (for reconnection after grid disconnection) min. threshold trip. time", + "12807": "Frequency monitoring (for reconnection after grid disconnection) max. threshold trip. time", + "12808": "Frequency monitoring (for reconnection after grid disconnection) min. threshold trip. time", + "12809": "Time until reactivation of reactive power control", + "12811": "Manual input of frequency measuring value at point of interconnection", + "12813": "Manual input of system voltage of line conductor L1", + "12814": "Manual input of system voltage of line conductor L2", + "12815": "Manual input of system voltage of line conductor L3", + "12816": "Manual input of system voltage of line conductors L1 - L2 at point of interconnection", + "12817": "Manual input of system voltage of line conductors L2 - L3 at point of interconnection", + "12818": "Manual input of system voltage of line conductors L3 - L1 at point of interconnection", + "12819": "Active power threshold for activating the reactive power control", + "12820": "Waiting time until deactivation of reactive power control", + "12821": "Dynamic grid support, overvoltage threshold for deactivating the active and reactive power control", + "12822": "Dynamic grid support, overvoltage threshold for deactivating the active and reactive power control", + "12823": "Dynamic grid support, undervoltage threshold for deactivating the active and reactive power control", + "12824": "Dynamic grid support, undervoltage threshold for deactivating the active and reactive power control", + "12825": "Waiting time until reactivation of active and reactive power control", + "12826": "Dynamic grid support, actual value filter for measured voltage value", + "12827": "Dynamic grid support, response time of actual value filter", + "12829": "Art des Produktschlüssels (Installateur)", + "12830": "Erlaubnis SMA-Service Zugriff", + "12831": "Ablauf SMA-Service Zugriff", + "12834": "Energie DC-Eingang A", + "12835": "Energie DC-Eingang B", + "12836": "Energie DC-Eingang C", + "12837": "Energie DC-Eingang D", + "12838": "Energie DC-Eingang E", + "12839": "Energie DC-Eingang F", + "12840": "Energie DC-Eingang G", + "12841": "Energie DC-Eingang H", + "12842": "Energie DC-Eingang I", + "12843": "Energie DC-Eingang J", + "12844": "Energie DC-Eingang K", + "12845": "Energie DC-Eingang L", + "12846": "Energie DC-Eingang M", + "12847": "Energie DC-Eingang N", + "12848": "Energie DC-Eingang O", + "12849": "Energie DC-Eingang P", + "12850": "Q(U), external reference voltage setting in V", + "19000": "STP 24.8-JP-50", + "19001": "STP 20.0-JP-50", + "19002": "STP 12.4-JP-50", + "19003": "STP 9.9-JP-50", + "19004": "EDMM-10.A", + "19005": "Sunny Central Storage 3450-UP", + "19006": "Sunny Central Storage 3450-UP-US", + "19007": "Sunny Central Storage 3600-UP", + "19008": "Sunny Central Storage 3600-UP-US", + "19009": "Sunny Central Storage 3800-UP", + "19010": "Sunny Central Storage 3800-UP-US", + "19011": "Sunny Central Storage 3950-UP", + "19012": "Sunny Central Storage 3950-UP-US", + "19013": "Sunny Central Storage 2750-UP", + "19014": "Sunny Central Storage 2750-UP-US", + "19015": "SMA EV CHARGER 7.4", + "19016": "SMA EV CHARGER 22", + "19017": "Sunny Island 50", + "19018": "Sunny Island 30", + "19019": "Sunny Island 60 US480", + "19020": "Sunny Island 40 US480", + "19021": "Sunny Island 27 US208", + "19022": "Sunny Highpower Storage 150", + "19023": "Sunny Highpower Storage 100", + "19024": "Sunny Highpower Storage 150-US", + "19025": "Sunny Highpower Storage 125-US", + "19026": "Sunny Highpower Storage 143-JP", + "19027": "Sunny Highpower Storage 100-JP", + "19028": "SMA DATA MANAGER M Lite", + "19029": "VBPC455GW3LH", + "19033": "SBG4-2A", + "19034": "SBT3-12A", + "19035": "Sunny Tripower Storage 50", + "19036": "Sunny Tripower Storage 30", + "19037": "Sunny Tripower Storage 60 US480", + "19038": "Sunny Tripower Storage 40 US480", + "19039": "Sunny Tripower Storage 27 US208", + "19040": "Sunny Tripower Storage 50 JP", + "19041": "FRITZ!DECT 301", + "19042": "Sunny Central Storage 2900-US 1100V", + "19043": "SmartSolar Energy meter RTU", + "19044": "Tesvolt_TS-HV-70", + "19045": "Battery-Box Premium HVM", + "19046": "Battery-Box Premium HVS", + "19047": "STP 110-60", + "19048": "SUNNY TRIPOWER 5.0 SE", + "19049": "SUNNY TRIPOWER 6.0 SE", + "19050": "SUNNY TRIPOWER 8.0 SE", + "19051": "SUNNY TRIPOWER 10.0 SE", + "19052": "Modbus-PV-WR", + "19053": "Modbus-IO-Modul", + "19054": "Sunny Central 2660-UP", + "19055": "Sunny Central 2660-UP-US", + "19056": "Sunny Central 2800-UP", + "19057": "Sunny Central 2800-UP-US", + "19058": "Sunny Central 2930-UP", + "19059": "Sunny Central 2930-UP-US", + "19060": "Sunny Central 3060-UP", + "19061": "Sunny Central 3060-UP-US", + "19062": "Sunny Central 2750-UP-US", + "19063": "Sunny Central Storage 2300-UP-XT", + "19064": "Sunny Central Storage 2300-UP-XT-US", + "19065": "Sunny Central Storage 2400-UP-XT", + "19066": "Sunny Central Storage 2400-UP-XT-US", + "19067": "Sunny Central Storage 2530-UP-XT", + "19068": "Sunny Central Storage 2530-UP-XT-US", + "19069": "Sunny Central Storage 2630-UP-XT", + "19070": "Sunny Central Storage 2630-UP-XT-US", + "19071": "Modbus-Hybrid-WR", + "19072": "SBS4.0-JP-10", + "19073": "Battery-Box Premium HVL", + "19074": "Battlecat PV ", + "19075": "Battlecat Hybrid", + "19076": "Battlecat Battery", + "30000": "No translation in Taglist for ID 30000", + "30001": "Enable conditions in normal mode", + "30002": "Enable behavior", + "30003": "Operating status control", + "30004": "Function prioritization", + "30005": "Active power gradient, normal mode", + "30006": "Grid security management", + "30007": "Active Power Export Limitation", + "30008": "Voltage-dependent active power adjustment P(U)", + "30009": "Primary regulating power", + "30010": "Selection of reactive power mode", + "30011": "Reactive power setting", + "30012": "cos φ specification", + "30013": "Reactive power/active power char. curve Q(P)", + "30014": "React. power/volt. char. Q(V)", + "30015": "cos φ / reactive power char. curve cos φ(P)", + "30016": "cos φ / voltage curve cos φ(U)", + "30017": "Unbalances", + "30018": "Voltage protection", + "30019": "Dynamic grid support", + "30020": "Frequency protection", + "30021": "P(f)", + "30022": "Islanding detection", + "30023": "Country datasets and factory setting", + "30024": "Nameplate Information", + "30025": "Configuration Information", + "30026": "PV Insulation Monitoring Riso", + "30027": "Arc Fault Current Interruption", + "30028": "Inverter Control Interface", + "30029": "Commissioning phase (incl. Declaration of Conformity)", + "39999": "No translation in Taglist for ID 39999", + "130001": "Grid management services alarm", + "130002": "The alarm informs you of grid management service events.", + "130003": "Wait time after first occurance: {{0}} minutes", + "130004": "Active power limitation alarm", + "130005": "The alarm informs you of active power limitations in your system.", + "130006": "Only issues an alert when setpoint specification is for longer than: {{0}} minutes", + "130007": "Only issues an alert when the setpoint specification is below: {{0}} %", + "130008": "Performance ratio alarm", + "130009": "The alarm informs you when the performance ratio is not within tolerance.", + "130010": "Only issues an altert if the performance ratio falls below: {{0}} %", + "130011": "Event report", + "130012": "The event report informs you of all events occurring in your system.", + "130013": "Please select the types of event that should be included into the report: {{0}}", + "130014": "Event categories that should be included: {{0}}", + "200002": "Purchased electricity", + "200003": "Grid feed-in", + "200004": "The specific yield of the device is {{0}} kWh/kWp, this deviating from the mean value {{2}} kWh/kWp by {{1}} %. The configured threshold is {{3}} %.", + "200005": "The performance ratio of the system {{0}} on {{1}} was {{4}}, outside of the tolerance range of {{2}} to {{3}}.", + "200006": "Inverter comparison alarm", + "200007": "The alarm informs you of inverter comparison yield warnings.", + "200008": "State of inverter comparison", + "200009": "Current input", + "200010": "Debug", + "200011": "Device state", + "200012": "Temperature input", + "200013": "Only reports with events", + "200014": "IO system", + "200015": "Monitoring and control", + "200016": "Sensor technology", + "200017": "Module inverters", + "200018": "Central inverters", + "200019": "DC technology", + "200020": "Smart module technology", + "200021": "New user '{{0}}' created by {{1}}.", + "200022": "User '{{0}}' was deleted by {{1}}.", + "200023": "User '{{0}}' was edited by {{1}}.", + "200024": "Parameter change for parameter {{0}} initiated by user {{1}} via {{2}} from value {{3}} to {{4}}.", + "200025": "DataManager M", + "200026": "Portal", + "200027": "Specific AC power", + "200028": "Change of '{{0}}' initiated by '{{1}}' from '{{2}}' to '{{3}}' .", + "200029": "Power feed-in", + "200030": "Power consumption", + "200031": "Configuration of notification in the event of an invalid specification", + "200032": "Info report", + "200033": "The info report provides you with regular information on the yields of your system.", + "200040": "Mr.", + "200041": "Ms.", + "200042": "User role", + "200043": "Administrator", + "200044": "Administrator", + "200045": "Reactive power setpoint via digital input", + "200046": "Internal reactive power setpoint", + "200047": "Fallback in the event of invalid setpoint", + "200048": "Constant setpoint", + "200049": "Message in the event of invalid values", + "200050": "Yield {{0}} kWh in ComparisonGroup {{1}} at {{2}} (Specific Yield {{3}} kWh/kWp).", + "200051": "Communication fault", + "200052": "Send reports: {{0}}", + "200053": "Satellite Sensor", + "200054": "The administrator account has been reset", + "200056": "Alarm communication monitoring", + "200057": "The alarm notifies you about communication faults of your communication devices", + "200058": "Communication failure: Contact to device '{{0}}' with serial number {{1}} is overdue. Last contact: {{2}}", + "200059": "Contact to device '{{0}}' with serial number {{1}} is restored, Faulted from: {{2}} until {{3}}", + "200060": "Device {{0}} was deleted by {{1}}", + "200061": "New device {{0}}/{{1}} registered", + "200062": "Reminder: Communication failure still exists to the device '{{0}}' with the serial number {{1}}. Last contact: {{2}}", + "200063": "Current output", + "200064": "Unidirectional energy meter for feed in", + "200065": "Bidirectional energy meter with two power channels", + "200066": "Voltage output", + "200067": "Active and reactive power", + "200068": "Active power and voltage-dependent reactive power", + "200070": "Unidirectional energy meter for consumption", + "200071": "Bidirectional energy meter with one channel", + "200072": "A communication error to device {{0}} has occurred", + "200073": "The device {{0}} notifies the fault {{1}}", + "200074": "Current input", + "200075": "Current output", + "200076": "Voltage output", + "200077": "Current input", + "200078": "Current output", + "200079": "Voltage output", + "200080": "Charging Station", + "200081": "Percent", + "200083": "Insolation", + "200084": "Speed", + "200085": "Temperature Input", + "200086": "Gas power", + "200087": "Gas energy", + "200088": "Gas volume flow", + "200089": "Gas volume", + "200090": "Gas calorific billing value", + "200091": "Gas correction factor", + "200092": "Chp power", + "200093": "Chp energy", + "200094": "Hydro power plant power", + "200095": "Hydro power plant energy", + "200096": "Charging station power", + "200097": "Charging station meter reading", + "200098": "Status of connected vehicle", + "200099": "Charging session status", + "200100": "Charging session costs", + "200101": "Charging session energy", + "200106": "Warning", + "200111": "not connected", + "200112": "in sleep mode", + "200113": "Charging session active", + "200114": "Charging target reached", + "200115": "Error", + "200116": "Power Generator", + "200118": "Hydroelectric power plant", + "200119": "Electricity meter", + "200120": "Gas meter", + "200121": "Combined heat and power", + "200122": "Average yield expectations", + "200123": "Detailed report", + "200124": "The detailed report informates you with detailed device information of your system.", + "200125": "Sort by: {{0}}", + "200126": "Operator", + "200127": "Alarm SMA Smart Connected", + "200128": "SMA Smart Connected provides free automatic monitoring and analysis of your inverter.", + "200129": "kn", + "200130": "Specific yield", + "200131": "Average yield expectations", + "200132": "Specific yield", + "200133": "Percent", + "200134": "Power", + "200135": "Digital group output", + "200136": "Setpoint for displacement power factor cos phi via analog input", + "200137": "Excitation type for displacement power factor cos phi via analog input", + "200138": "Digital group input", + "210000": "Feed-in energy at the grid connection point", + "210001": "Energy drawn at the grid connection point", + "210002": "System active power (drawn) at grid connection point", + "210004": "Digital output group 1", + "210005": "Temperature input |d0|", + "210006": "Grid voltage on line conductor L1 at grid connection point", + "210007": "Grid voltage on line conductor L2 at grid connection point", + "210008": "Grid voltage line conductor L3 at grid connection point", + "210009": "Displacement power factor at grid connection point", + "210010": "Counter reading of PV feed-in counter", + "210011": "Counter reading of battery feed-in counter", + "210012": "PV feed-in power", + "210013": "Battery feed-in power", + "210014": "Counter reading of power drawn by battery counter", + "210015": "Power drawn by battery", + "210016": "PV power", + "210017": "Active power limitation setpoint", + "210018": "Active power limitation set value", + "210019": "Power drawn from grid", + "210020": "Power fed into grid", + "210021": "Reactive power limitation set value", + "210022": "Reactive power limitation setpoint", + "210023": "Percent", + "210024": "Insolation", + "210025": "Speed", + "210026": "Digital output", + "210027": "Digital output", + "210028": "Temperature", + "210029": "Temperature", + "210035": "System insolation on external sensor", + "210036": "System wind speed", + "210037": "System ambient temperature", + "210038": "System module temperature", + "210039": "fuel power", + "210040": "External generator feed-in counter", + "210041": "Feed-in power of external generator", + "210042": "Chp power", + "210043": "Chp energy", + "210044": "Hydro power plant power", + "210045": "Hydro power plant energy", + "210046": "Gas power", + "210047": "Gas energy", + "210048": "Gas volume flow", + "210049": "Gas volume", + "210050": "Gas calorific billing value", + "210051": "Gas correction factor", + "210052": "Current speedwire IP address", + "210053": "Current speedwire subnet mask", + "210054": "Current speedwire gateway address", + "210055": "Current speedwire DNS server address", + "210056": "Currently used IP address for Wi-Fi", + "210057": "Currently used IP subnet mask for Wi-Fi", + "210058": "Currently used IP gateway address for Wi-Fi", + "210059": "Diesel energy", + "16777213": "Information not available", + "16777216": "Transmission attempt to", + "16777217": "Setpoint", + "16777218": "Actual", + "16777219": "Active power", + "lSpotValues": "Instantaneous values", + "lEvents": "Events", + "lDeviceParameter": "Device parameters", + "lPlantConfiguration": "Device configuration", + "lHome": "Home", + "hNoConnectionToDevice": "No connection to the device", + "oNoConnectionToDevice": "The connection to the device was interrupted.
  • Reestablish the network connection to the device.
", + "bLogin": "Login", + "lPasswort": "Password", + "lBenutzergruppe": "User group", + "lSprache": "Language", + "dBenutergruppe_Benutzer": "User", + "dBenutergruppe_Installateur": "Installer", + "dBenutergruppe_Service": "Service", + "dBenutergruppe_Developer": "Developer", + "lSMAInverter": "SMA device", + "tPasswortVergessen": "Forgot password?", + "ePassRequired": "The field \"Password\" is mandatory.", + "ePassRepeatRequired": "The field \"Repeat password\" is mandatory.", + "lNewPassRepeat": "Repeat password", + "ePasswortFalsch": "The password you entered is incorrect.", + "ePasswortFehlt": "Enter the password of the selected user group.", + "eUsergroupFehlt": "Select a user group.", + "lForgPassHd": "Forgotten password", + "bClose": "Close", + "hForgPass": "If you have forgotten the password for your device, you can unlock the device by means of a Personal Unlocking Key (PUK) (refer to the device manual).", + "hForgPass_NoPUK": "If you have forgotten the password for your device, you can reset the device to default settings. Press the reset button with a sharp object and hold it for two to six seconds. All passwords and device settings are reset.", + "lNoMoreLogins": "No further login is possible.", + "eMaximumUsersLoggedIn": "The maximum number of users is already logged in on this device.
  1. Please wait until one of the users has logged out and try again later.
", + "eJavaScriptDeactivated": "JavaScript is deactivated in the settings of your web browser.
For the correct display of the user interface, JavaScript is, however, required.
  • Activate JavaScript in the settings of your web browser and then reload the user interface.
    A description how to activate JavaScript in your web browser can be found here: here.
", + "lJavaScriptNotActive": "JavaScript is deactivated.", + "lMinute": "Minute", + "lMinutes": "Minutes", + "lSecond": "Second", + "lSeconds": "Seconds", + "lloginLocked": "Your access has been blocked.", + "eMaximumCountLoginTrysAccomplished": "An incorrect password has been repeatedly entered. For security reasons, your account has been temporarily blocked.

Wait {{time}} and then try again.", + "lHour": "Hour", + "lHours": "hours", + "eMaximumCountGGLoginTrysAccomplished": "An incorrect SMA Grid Guard code has been repeatedly entered. For security reasons, the SMA Grid Guard login is temporarily blocked.

Wait {{time}} and then try again.", + "hMaximumCountGGLoginTrysAccomplished": "SMA Grid Guard login is temporarily blocked.", + "bCancel": "Cancel", + "lGridGuardLogin": "SMA Grid Guard login", + "lGridGuardLoginText": "You can only change the SMA Grid Guard parameters with your personal access code. Any change to SMA Grid Guard parameters must be approved by the grid operator.", + "lGridGuardLoginPwFailed": "The entered SMA Grid Guard code is incorrect. Please correct your entry.", + "lGridGuardCodeMissing": "Enter your personal SMA Grid Guard code.", + "lGridGuardPlaceholder": "SMA Grid Guard code", + "lCookiesNotActive": "Cookies are deactivated.", + "eCookiesDeactivated": "Saving cookies is deactivated in the settings of your web browser.
For the correct display of the user interface, cookies are, however, required.
  • Activate the saving of cookies in the settings of your web browser and then reload the user interface.
", + "oConfInv": "Configure the device", + "lUserInfo": "User information", + "oChooseConf": "Select a configuration option:", + "lSetupWizard": "Configuration with installation assistant", + "bSkipConf": "Skip configuration", + "lConfManual": "Manual configuration", + "lDevName": "Device name:", + "lConfBackFile": "Adopt the configuration from a file", + "lFwVersion": "Firmware version:", + "hConfSetupWizardHeading": "Configuration with Installation Assistant", + "hConfSetupWizard": "With this configuration option, you can configure the device with the help of the installation assistant. The installation assistant guides you step-by-step through the configuration process.", + "hHintGridGuardCode": "Information: In order to configure the device, you require a personal SMA Grid Guard code (application form is available at www.SMA-Solar.com).", + "hImportBackupHeading": "Adopting the Configuration from a File", + "hImportBackup": "With this configuration option, you can adopt a previously saved configuration from a file.", + "hConfManualHeading": "Manual Configuration", + "hConfManual": "With this configuration option, you can configure all parameters of the device manually.", + "cDoNotShowDialogAgain": "Do not show this dialog again.", + "lPskChangeAutomatic": "The WLAN password of the device changes after the initial configuration.", + "ePskChangeAutomatic": "The standard WLAN password of the device for direct WLAN connection is only valid for a limited period of time.", + "ePskChangeAutomaticConditions": "After the first ten operating hours, the initial configuration, or activating the option Do not show this dialog again on the bottom of this page, only the device-specific WLAN password is valid (see WPA2-PSK on the device type label).", + "ePskChangeAutomaticCountdown": "The WLAN password will be changed after {{time}} at the latest.", + "lPskChange": "The standard WLAN password of the device will be changed to the device-specific WLAN password.", + "ePskChange": "From now on, only the device-specific WLAN password for direct WLAN connections is valid (see WPA2-PSK on the device type label).", + "hFilenameToLong": "File name too long", + "oFilenameToLong": "The name of the selected file is too long.
  • Adapt the file name or select a file with a shorter file name.
", + "hEthernetConfig": "Network configuration", + "lCurrentConnections": "Networks configured", + "lcurrentNetworkName": "Network name", + "lcurrentComType": "Type of communication", + "lcurrentIp": "IP", + "lCurrentConnection": "Network configured", + "lCommunicationType_Ethernet": "Ethernet", + "lCommunicationType_WLAN": " WLAN", + "lSubnetmask": "Subnet mask", + "lIpGateway": "IP address of the gateway", + "lIpAddressDnsServer": "IP address of the DNS server", + "lDhcp": "Automatic configuration switched on", + "bBarDhcpServer_Proxy-Serververwenden": "Use proxy server", + "bBarDhcpServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "lProxySettings": "Proxy settings", + "lIpAdressInverter": "IP address of the device", + "bPreviousStep": "Back", + "bSaveAndNext": "Save and next", + "hConfigureNetwork": "You can integrate the product, depending on its features, either into your local network via Ethernet using a cable or wireless via WLAN. Select the respective option under Type of communication.", + "hConfigureEthernet": "You can either obtain the network settings automatically from a DHCP server or configure them manually. Select the desired option under Automatic configuration switched on.

If you want to configure the network settings manually, you have to enter the required network data additionally.

Direct Ethernet Connection
If you want to establish a direct connection to the device via a network cable, you need to activate the automatic configuration of the Ethernet interface. Select the option Yes under Automatic configuration switched on.", + "headlineConfigureEthernet": "Configuring Communication via Ethernet", + "hConfigureEthernetProxy": "If there is a proxy server in your local network, you must make additional proxy settings. The proxy settings are needed for the connection to Sunny Portal and for firmware updates of the device.
Select the option Use proxy server in Proxy settings and enter the required data of your proxy server.", + "hNetworkConfigIpInFooter": "Information: You will find the IP address of the device on which you are currently logged into in the status bar below in the user interface after having completed the configuration procedure. You will require the IP address to call up the user interface in the local network.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "bBarDhcpServer_Ja": "Yes", + "bBarDhcpServer_Nein": " No", + "lAddressProxyServer": "Server", + "lPortProxyServer": "Port", + "lUsername": "User name", + "lPassword": "Password", + "bUploadSslCert": "Import proxy certificate", + "lCommunicationType": "Type of communication", + "bBarProxyServer_Proxy-Serververwenden": "Use proxy server", + "bBarProxyServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "tDhcsServer": "The DCHP server automatically assigns the appropriate network settings to your nodes in the local network (e.g. the computer). A manual network configuration is therefore not necessary. In a local network, the router is usually the DHCP server.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "lIpAdress": "Server", + "tIpDnsServer": "Enter the IP address of your DNS server here.
Tip: This is usually the IP address of your router.
A DNS server translates the more easily readable Internet addresses for the user into the required IP addresses for the devices (e.g. www.SunnyPortal.com >> 10.12.122.122).", + "lcurrentIpInverter": "IP address of the device", + "tProxyserver": "A proxy server is a communication interface in the local network. Via the proxy server, the nodes in the local network can, for example, establish an Internet connection.", + "tSubnetmask": "Enter the subnet mask of the network here.
Tip: You can usually use the standard subnet mask 255.255.255.0. If you have any questions, contact your network administrator.
The subnet mask separates network areas in the local network from each other. Together with the IP address, the subnet mask determines the address of a node in the local network. Via this address, the node can be reached inside and outside the local network (e.g. via a router connected with the Internet).", + "tIpGateway": "Enter the IP address of your gateway.
Tip: This is usually the IP address of your router.
A gateway is the transfer point between two networks, e.g. local network and Internet.", + "tIpAdress": "Enter the desired IP address of the device and note it down. You will require the IP address to call up the user interface in the local network after having completed the configuration procedure.
Tip: The first three blocks of the IP address are usually identical with the IP address of your router.

The IP address is the unique identification of a node in the local network.", + "hImportProxyCert": "Under [Import proxy certificate], you have the option of importing the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "bBarWlanConfig_GefundeneWLAN-Netzwerkeanzeigen": "Show WLAN networks found", + "bBarWlanConfig_WLAN-Netzwerkeinstellungenmanuellvornehmen": "Configure WLAN network settings manually", + "bBarWlanConfig_WPSfürWLAN-Netzwerk": " WPS for WLAN network", + "lWlanConfigType": "Type of connection", + "lFoundWlans": "Networks found", + "hWlanPassProtected": "The WLAN is password-protected.", + "hWlanNotPassProtected": "The WLAN is not password-protected.", + "bConnectToWLAN": "Connect to this WLAN", + "lSignalStrength": "Signal strength", + "tDeactivateWlan": "You can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "headlineConfigureWlan": "Configuring Communication via WLAN", + "hConfigureWlan": "If you want to use WLAN, you have the following options:
  • Showing WLAN Networks Found
    Via the button Settings, you can make the corresponding network settings to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • Configuring WLAN Network Settings Manually
    Here you can enter the data of your WLAN network manually to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • WPS for WLAN network
    In order to connect the device via WPS automatically to your WLAN network, you first have to activate WPS in your WLAN router (refer to the WLAN router manual). Then activate the WPS function of the device by selecting [Activate WPS] on the user interface.


If required, you can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "hNetworkConfig": "Network configuration", + "hWlanPassword": "WLAN settings", + "bWlanConnect": "Connect to WLAN", + "oWlanPasswortInsert": "WPA2 password", + "lDisconnectWlanConfirmation": "Deactivate WLAN network connection", + "hDisconnectWlanConfirmation": "Are you sure that you would like to deactivate the WLAN connection of the device to the local network?
If you are currently connected to the device via the WLAN network, the connection will be broken immediately.
You will then only be able to access the user interface via Ethernet or the WLAN direct connection of the device.", + "bDeactivateWlan": "Deactivate now", + "bWpsActivate": "Activate WPS", + "oEnableWlan": "Activate WLAN", + "lSaveNetworkSettings": "The network settings will be saved.", + "hSaveNetworkSettingsAuto": "After having saved the settings, you are automatically logged out of the user interface.


You have the following options to log back in to the user interface:
  • If you are directly connected to the device, enter the standard IP address (refer to the device manual).
  • If you manually assigned the IP address, enter the manually assigned IP address.
  • If you have received the IP address from a DHCP server, enter the newly assigned IP address. You can determine the newly assigned IP address by checking the settings of your router (see manual of the router) or using network-scanning software.
", + "hDateTimeSetting": "Set date and device time", + "lAutomaticTimeSetting": "Automatic time synchronization", + "bToggleOnOff_Ein": "On", + "bToggleOnOff_Aus": " Off", + "lTimezone": "Time zone", + "lDevicetime": "Device time", + "hTimeSetting": "You can set the date and the system time of the device either manually or automatically from an NTP server.
An Internet connection is required for automatic time synchronization.", + "lDate": "Date", + "cAutoDaylightSavingDeactivated": "Deactivate automatic change from daylight saving time to standard time", + "lCountrySettingWizardMenu": "Country data set", + "lEnergyMeterWizardMenu": "Meter configuration", + "lDateSetWizardMenu": "Time and date", + "lPlantConfWizardMenu": "System configuration", + "lNsmWizardMenu": "Grid management service", + "lNetworkConfWizardMenu": "Network configuration", + "lSummaryWizardMenu": "Summary", + "lStringFailureDetectionMenu": "String-failure detection", + "lImpulseInputMenu": "S0 interface", + "lTemperatureIrradiationMenu": "Temperature Irradiation", + "lBatteryWizardMenu": "Battery configuration", + "lPlantInverterWizardMenu": "System configuration", + "lStringFailureWizardMenu": "String configuration", + "lPcmWizardMenu": "I/O module", + "hCountrySetting": "Selecting the Country Data Set", + "hCountrySettingsHelp": "The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard.
If you select a country data set, the device will be configured with the corresponding default settings.", + "oChooseCountrySetting": "Select the desired country data set.", + "oInsertGGLogin": "Enter your personal SMA Grid Guard code.", + "lProcedure": "Procedure", + "hGridGuardLoginNecessary": "In order to change the current country data set, you must additionally log in with your personal SMA Grid Guard code.", + "hOldEnergyMeter": "Configure the energy meter", + "hEnergyMeterSetting": "Configure the energy meter", + "bEnergyMeterExchange": "Use an energy meter in the system", + "hEnergyMeter": "If there is an energy meter in your system, you can, in addition, have the consumption data of your household displayed on the home page.", + "tOldEnergyMeterSettings": "Select the energy meter from which the consumption data is to be obtained.

Procedure
  1. In the table Available energy meters, select the button Settings for the desired energy meter.
  2. In the context menu, select Use energy meter in the system. The energy meter is then added as installed energy meter to your system.
", + "oChooseContextMenuEnergyMeter": "In the table SMA Energy Meters found, select the following button for the desired SMA Energy Meter:", + "oChooseUsedEnergyMeter": "In the context menu, select Use SMA Energy Meter in the system. The SMA Energy Meter will be added to your system as installed SMA Energy Meter.", + "bEnergyMeterRemove": "Remove energy meter from the PV system", + "lEnergyMeterSelected": "Selected energy meter", + "lEnergyMeterFound": "Available energy meters", + "lUsedPlantInverter": "Devices in the system", + "hGridGuardCodeMissing": "You must enter your personal SMA Grid Guard code before proceeding.", + "lHeadlineNsd": "Grid management service configuration", + "hManagementMeasuringGridPoint": "If the limitation of the system's active power feed-in at the grid-connection point is required by standards or law, enter the total nominal power of the system, select the desired operating mode and enter the respective value to which the nominal power must be reduced. When selecting an operating mode for the limitation of active power at the grid-connection point, the system's active power is controlled at the grid-connection point depending on the local consumption and the battery state of charge (if a battery is available).", + "headingManagementPhase": "Connected line conductors", + "hManagementPhase": "The selection of line conductor ensures that the displayed values on the user interface are displayed correctly and the unbalanced load limitation can be implemented correctly.", + "headingManagementSchieflast": "Activating Unbalanced Load Limitation", + "hManagementSchieflast": "If the grid operator requires a limitation of the unbalanced load, activate the unbalanced load limitation and enter the maximum permissible unbalanced load.", + "lConfigEinspeiseManagementWechselrichter": "Active power setpoint", + "iHeadlineEinspeisemanagement": "Grid management service configuration", + "lNsdType_Netzanschlusspunkt": "Grid-connection point", + "lLoadImbalancesAsk": "Activating Unbalanced Load Limitation", + "lLoadImbalancesValue": "Maximum unbalanced load", + "lPhaseAmNetzanschluss": "Connected line conductors", + "lToggelEinspeisemanagementOnOff": "Feed-in management at the grid-connection point", + "lEinspeisemAmNetzanschluss": "Grid connection point regulation", + "bToggleBlindleistung_Ein": "On", + "bToggleBlindleistung_Aus": "Off", + "hContentStatischeSpannungshaltung": "Upon activation, the inverter provides reactive power by means of the set operating mode.
In case of manual input, you must enter the nominal value specified by the grid operator in VAr or in percent.
In case of external specification, the inverter receives the setpoint through a higher control unit. You must enter the dynamic behavior for the implementation of the setpoint and the specified disengaging value for the absent setpoint.
When selecting a characteristic curve process, the characteristic curve is preconfigured as per country standard. You can make adjustments after completing the installation assistant via the menu %u201EGeräteparameter%u201C. Coordinate the configuration with your grid operator.", + "hInfotextKennlinie": "Characteristic curve was configured according to the set country standard. Changes or more settings can also be configured via the device parameters.", + "lPowerControlModule": "Active power setpoint via SMA I/O module", + "lPreDIHeader": "D", + "lPreActiveHeader": "Active", + "lPreActivePowerHeader": "Active power", + "helpContentWirkleistungsbegrenzung": "Make sure that the configuration of the digital inputs corresponds to the specifications of the grid operator and the assignment on the I/O module.
In the field Failure tolerance time, enter the time a signal is to be applied until the inverter accepts the default value.
If not all inputs are active, you can activate the fallback level in case an invalid signal is applied. The fallback time is the time an invalid signal must be applied until the inverter accepts the fallback value.", + "lFallbackCheckbox": "Fallback level", + "hImpulseInput": "S0 interface", + "hSensorModuleEnergyMeterS0": "Enter the current meter reading of the energy meter used in the field \"S0 meter reading Total yield\". In the field \"S0 pulses\", you must enter the number of S0 pulses per kWh defined by the manufacturer of the energy meter. This ensures that the Sensor Module receives the data of the energy meter correctly.", + "headingHelpSensorModuleEnergyMeterS0": "Configuring the S0 Energy Meter", + "helpImpulseInput": "The SMA Sensor Module is equipped with a S0 interface to which you can either connect an anemometer or energy meter (see installation manual of the module).

Select the function of the S0 input according to the connection made and enter your settings.", + "hSensorModuleWindSensor": "Enter the number of S0 pulses per m/s defined by the manufacturer of the anemometer in the field \"S0 pluses per m/s. This ensures that the Sensor Module receives the data of the anemometer correctly.", + "headingHelpSensorModuleWindSensor": "Configuring the S0 Sensor for Wind Speed", + "hAnalogInput": "Temperature inputs and analog input", + "helpAnalogInput": "You can connect one module temperature sensor and one outside temperature sensor to the two temperature inputs of the SMA Sensor Module.

You can connect one irradiation sensor to the analog input of the SMA Sensor Module.", + "headingHelpTemperatureSensor": "Connecting the Temperature Sensor", + "hConfigureTemperatureSensor": "
  1. Connect the temperature sensor to the desired temperature input of the SMA Sensor Module (refer to the Module installation manual).
The type of temperature sensor is automatically detected upon successful installation. No configuration is necessary.", + "headingHelpIrradiationSensor": "Configuring the Irradiation Sensor", + "hConfigureIrradiationSensor": "
  1. Connect the irradiation sensor to the analog input of the SMA Sensor Module (refer to the Module installation manual).
  2. Configure the characteristic curve depending on the connected irradiation sensor (refer to the irradiation sensor manual).
", + "hHelpBatteryConfig": "Select the battery type connected.", + "hBatteryTestHelp": "Battery functional test", + "hHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery\". The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "hBatteryTyp": "Selectable battery types", + "lBatteryTestIstl": "Battery functional test", + "lBatteryTestService": "Battery functional test (for Service only)", + "lBatteryValues": "Battery instantaneous values", + "lBatteryTest": "Battery functional test", + "lTestStarted": "The test has been started.", + "lBatteryTestEvents": "Details for test operation", + "lTestRunning": "The test is being performed.", + "lTestStopped": "The test has been completed.", + "hConfigNAP": "Grid-connection point configuration", + "lSummary": "Summary", + "hWizardSummary": "The summary lists the settings made while running the installation assistant.", + "bNext": "Continue", + "bExportSummary": "Export the summary", + "hSaveNotCompleteInsufficientDcPower": "Settings not yet saved completely.", + "iSaveNotCompleteInsufficientDcPower": "The DC voltage of the inverter is currently too low or a component is being updated. As a result, the settings could not yet be saved completely.

As soon as sufficient DC voltage is available again or the update is completed, the settings will be saved completely.", + "tActivePowerReductionOff": "The active power limitation is deactivated.", + "tActivePowerReductionNotActive": "The active power limitation is set, but not active at the moment.", + "tActivePowerReductionActive": "The active power limitation is active at the moment.", + "lActivePowerReductionNotActive": "Active power limitation is not activated.", + "lActivePowerReductionActive": "Active power limitation is activated", + "lBatteryEnergyExchange": "Nominal energy throughput of the battery", + "lCharge": "Charge", + "lDischarge": "Electric discharge", + "lGidConnectionPointEnergyExchange": "Energy exchange at the grid-connection point", + "lGidReference": "Consumption", + "lGridFeedIn": "Grid feed-in", + "lGidConnectionPointPower": "Power at the grid-connection point", + "lMeterExport": "Meter: Export", + "lMeterImport": "Meter: Import", + "lTemperatureMeasurement": "Temperature measurement", + "lBft12": "Hurricane", + "lBft0": "Calm, dead calm", + "lBft1": "Light air", + "lBft2": "Light breeze", + "lBft3": "Gentle breeze", + "lBft4": "Moderate breeze", + "lBft5": "Fresh breeze", + "lBft6": "Strong breeze", + "lBft7": "Near gale", + "lBft8": "Gale", + "lBft9": "Strong gale", + "lBft10": "Storm", + "lBft11": "Violent storm", + "bLogout": "Logout", + "lDeviceState": "Device status", + "lPower": "Current power", + "lSerNoFt": "Serial number:", + "lFwVerFt": "Firmware version:", + "lDtTiFt": "Date: ", + "lUsrGrFt": "User group:", + "lIpInverterSpeedwire": "Ethernet IP address:", + "lIpInverterWlan": "WLAN IP address:", + "lActualConsumption": "Current consumption", + "lYield": "Yield", + "lYieldToday": "Today:", + "lYieldYesterday": "Yesterday:", + "lYieldTotal": "Total:", + "lConsumption": "Consumption", + "lConsumptionToday": "Today:", + "lConsumptionYesterday": "Yesterday:", + "lConsumptionTotal": "Total:", + "tHelp": "Help", + "tUserSettings": "User settings", + "lNsmTableReactivePower": "Reactive power", + "lNsmTablePower": "Active power", + "lReferenceValue": "Setpoint", + "lSteuerwert": "Output value", + "lNsmTableCosPhi": "Cos phi setpoint", + "lActualCtrlValue": "Current default value", + "lNsmTablePowerShort": "Act.P", + "lNsmTableReactivePowerShort": "React.P", + "lHelp": "Help", + "tConsumptionLegend": "Power that your household has drawn from your PV system (self-consumption) and the utility grid (purchased electricity).", + "tYieldLegend": "Power that your PV system has fed into the utility grid.", + "lNsmState": "Feed-in management", + "lActivePowerReductionOff": "Active power limitation deactivated", + "lChartPower": "Current power", + "bBarPower_Tag": "Day", + "bBarPower_Monat": "Month", + "bBarPower_Jahr": "Year", + "bBarPower_Gesamt": "Total", + "lKeyGridPower": "Power consumption", + "lChartPowerConsumption": "Current power and current consumption", + "lKeyPvPower": "PV power", + "lUnitYieldConsumptionActual": "(kW)", + "iTime": "Time", + "lTableHeadingPvDay": "PV power", + "lUserSettings": "User settings", + "lChartConsumption": "Yield", + "lChartYield": "Yield", + "lKeyConsumption": "Consumption", + "lUnitPowerConsumption": "(kWh)", + "lChartYieldConsumption": "Yield and consumption", + "lKeyYield": "PV yield", + "lUnitYieldConsumption": "(kWh)", + "hRefersToNominalPower": "These values are based on the set nominal system power.", + "lNoDataForGraph": "No data is available for the selected time period.", + "lNoDataForGraphRequestTimedOut": "The device has not answered the data request in time. Therefore, no data can be displayed.
Check the network connection if necessary and then reload the user interface in the web browser.", + "bParameterEdit": "Edit parameters", + "lNotSavedSettings": "Unsaved changes", + "bParameterExport": "Export all parameters ", + "lOldPass": "Old password:", + "bSave": "Save", + "bSkipSettings": "Discard changes", + "tPasswordRules": "Password guideline
  • 8 to 12 characters
  • At least 1 lower or upper case letter
  • At least 1 digit
  • Possible special characters: ?_!-
", + "bJumpToTop": "To the start of the page", + "eParamMaxSizeExceeded": "The maximum permissible number of characters is exceeded.
Please correct your entry.", + "bSaveAllSettings": "Save all", + "bSkipAllChanges": "Discard all", + "tLoginGridGuard": "In order to change this parameter, you must log in with your personal SMA Grid Guard code in the menu User settings.", + "tDiscardParamChange": "Discard change", + "lParameterName": "Parameter name", + "lHierarchiegroup": "Group", + "lOldValue": "Old value", + "lNewValue": "New value", + "lMaxNoParamChanges": "The maximum number of unsaved changes has been reached. You must first save the changes, before you can change further parameters.", + "lSaveChangesFailed": "An error has occurred while saving the changes. Please try again.", + "lLeavePageWithUnsavedChanges": "There are unsaved changes which will be lost when leaving this page.", + "lDateTime": "Date/time", + "lEventText": "Event message", + "lEventID": "Event ID", + "lEventtype": "Event type", + "lTime": "Time", + "iNoEventsFound": "No events found.", + "iLoadingEvents": "More events are being loaded...", + "tEventInfo": "Information", + "tEventWarning": "Warning", + "tEventError": "Error", + "iEventsRenderTable": "Please wait", + "cError": "Error", + "cWarning": "Warning", + "cInformation": "Information", + "lErgebnisId": "", + "leventSearch": "Search", + "lStartDate": "from", + "lEndDate": "to", + "bEventfilterApply": "Apply time filter", + "bEventFilterReset": "Reset time filter", + "bEventExport": "Export events", + "eEventFilterIdInvalid": "Only numbers are valid for event IDs.", + "eEventFilterStartDateInvalid": "Enter a valid start date.", + "eEventFilterEndDateInvalid": "Enter a valid end date.", + "eEventFilterDateRangeInvalid": "The end date is before the start date.", + "eEventFilterIdInvalidMin": "Only positive numbers are valid for event IDs.", + "eEventFilterIdInvalidMax": "Invalid event ID", + "lDateHeading": "Date", + "tEventInfoIncoming": "Incoming information", + "tEventWarningOutgoing": "Outgoing warning", + "tEventInfoOutgoing": "Outgoing information", + "tEventWarningIncoming": "Incoming warning", + "tEventErrorIncoming": "Incoming error", + "tEventErrorOutgoing": "Outgoing error", + "bBarEventExport_AlleEreignisse": "All events", + "bBarEventExport_GefilterteEreignisse": "Filtered events", + "lEventExport": "Export events", + "hEventExport": "You can export the events of the device in text form to a CSV file.
If you select \"Filtered events,\" only the events that you have filtered before are exported.", + "lEventExportChoose": "Select the events you want to export:", + "iGenerateEventsExport": "An export of the events is being created", + "lEntryId": "Entry ID", + "lSusyId": "SUSyID", + "eEventExportNoSelection": "Select the events to be exported.", + "lEventExportSuccess": "The events were successfully exported.", + "lEventExportFailed": "An error has occurred.
The events could not be exported.", + "lUserInformation": "User information", + "lDevicesFound": "Devices found", + "lDevicesInPlant": "Devices in the system", + "bFwUpdate": "Update the firmware", + "bChangeDeviceName": "Change device names", + "bSaveConfigToFile": "Save configuration to a file", + "bLoadConfigFromFile": "Adopt the configuration from a file", + "tListChangeDeviceName": "Change the device names.", + "tListFwUpdate": "Update the firmware.", + "tListSaveConfig": "Save the current configuration of the device in a file.", + "tListLoadConfig": "Adopt configuration of a device from a file.", + "tListSelfTest": "If the configured country data set requires a self-test, start the self-test.", + "tListRemoveDevice": "Delete the device.", + "tListImportProxyCert": "Import the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "lDeviceName": "Device name", + "lSerialHeading": "Serial number", + "lSettings": "Settings", + "lFwInstalled": "Firmware version installed", + "lFwAvailable": "Firmware version available", + "lEnergyMeterName": "Name of the energy meter", + "hAddEnergyMeter": "Add a detected SMA Energy Meter to the system. The SMA Energy Meter is used as purchased electricity meter and feed-in meter.", + "bAddDevice": "Add a device to the system", + "bReplaceDevice": "Add as replacement device", + "bRunSelftest": "Start the self-test", + "bRemoveDevice": "Delete the device", + "lRunSelftest": "Start the self-test", + "iSelftest": "You configured a country data set which requires a self-test of the inverter.
You can now start the self-test.", + "iSelftestDuration": "Perform the self-test may take several minutes.", + "lAlreadyGridGuardRights": "You are already logged in with SMA Grid Guard rights.", + "lSelftestResult": "Result of the self-test", + "bSaveSelftestProtocol": "Save the self-test protocol", + "lChangeDeviceName": "Change device names", + "oNewDevicenameInput": "Enter the desired device name:", + "lDeviceNameSavedSuccess": "The device name has been successfully saved.", + "lDeviceNameSavedFailed": "An error has occurred.
The device name could not be saved.", + "lChooseFwFile": "Select the desired update file:", + "bFwUpdateStart": "Update the firmware", + "hFirmwareUpdate": "You can load the update downloaded from www.SMA-Solar.com onto your device manually.", + "hFileuploadFailed": "File upload failed", + "hFileUploadWrongFiletype": "The selected file does not have the required format. Select a file that has a valid file format.", + "hFileUploadFailedBody": "An error occurred during file upload. Please restart the file upload.", + "lRunFirmwareUpdate": "Update the firmware", + "lFwUpdateIsRunning": "The firmware is being updated.", + "lDetailsUpdateProcess": "Details on the update procedure", + "oDontShutdown": "In order to avoid data loss, do not switch off the device during the update procedure.", + "lDetailsConfigProcess": "Details for configuration", + "lConfigUploadIsRunning": "The configuration file is being transmitted to the device ...", + "lImportBackupFile": "Load the configuration file", + "lFwUpdateTransferedToDevice": "The update file has been transmitted to the device.", + "lFwUpdateRunning": "The firmware is being installed ...", + "iFwUpdateFailedManual": "An error has occurred.
The firmware could not be updated.
Contact the Service Line.", + "iSaveConfigToFile": "You can save the current configuration of the device in a file.
You can use the file as backup and, if required, import it then to this or other devices of the same type. No passwords - only the device parameters are saved in the file.", + "lSaveConfigToFile": "Save configuration to a file", + "iFileDownloadSuccess": "The file has been successfully downloaded.", + "iFileSaveFailed": "An error has occurred while downloading the file.", + "iLoadConfigFromFile": "In order to be able to adopt a configuration for this device, you have to transfer the configuration file.", + "iLoadConfigGridGuard": "In addition, for certain devices you require your personal SMA Grid Guard code for authentication (application form is available at www.SMA-Solar.com).", + "iLoadConfigDCInfo": "To completely adopt the configuration, a certain DC input voltage is required for some devices. If the DC input voltage is currently too low, the configuration is only completely adopted once sufficient DC input voltage is present.", + "lLoadConfigFile": "Adopt the configuration from a file", + "oChooseFile": "Select the desired file:", + "bSearchFile": "Browse...", + "bImportFile": "Import file", + "oGridGuard": "Enter your personal SMA Grid Guard code:", + "iLoadSslCertFromFile": "Here, you have the option of importing the security certificate of the proxy server used. By doing so, the proxy server used will be categorized as trustworthy.", + "lImportSslCertHealineFile": "Import proxy security certificate", + "lFileDownload": "Data", + "lFileSystemHelpHeadline": "Stored data", + "hFileDiagnoseSystemHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card).
You can display and download the data.

Service files
Service files for analysis purposes.

Daily values
Stored values are shown in the time scale at one-day intervals. For each year, a file is automatically created.

One-second values
Stored instantaneous values of the last two months are shown in the time scale at one-second intervals.

Five-minute values
Stored values are shown in the time scale at five minute intervals.

Events
All events that have occurred. For each year, a folder is automatically created.", + "lFileSystemHeadline": "Stored data", + "lFileSystemType": "Type", + "lFileSystemLastModification": "Last modification", + "lFileSystemSize": "Size", + "lFileSystemName": "Name", + "lFileDirNameOnline5M": "Five-minute values", + "lFileDirNameOnline": "One-second values", + "lFileDirNameEvents": "Events", + "lFileDirNameDIAGNOSE": "Data", + "lFileDirNameFLCR": "Service files", + "lFileDirNameDay": "Daily values", + "bLoggerExport": "Export data", + "lLoggerExportHelpHeadline": "Export data", + "hLoggerExportHelpContent": "You have the option of exporting the data stored on the product as an Excel file. Select in the drop-down list which data should be exported and use the time filter prior to exporting the data.", + "hFileSystemRootHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card). Select the folder /Data to obtain all data stored on the inverter.", + "lGenLogFlr": "Service files", + "lGenLogDay": "Daily values", + "lGenLog5Min": "Five-minute values", + "lOpenSourceLicenses": "Open source licenses", + "hConfirmNavigation": "Confirm navigation", + "bLeavePage": "Leave this page", + "bStayOnPage": "Remain on this page", + "lSelftestRunning": "Perform the self-test", + "lSelfTestStep1": "Check overvoltage", + "lSelfTestStep2": "Check undervoltage", + "lSelfTestStep3": "Check maximum frequency", + "lSelfTestStep4": "Check minimum frequency", + "lSelftestSuccess": "The self-test was successful.", + "lSelftestFailed": "An error has occurred.
The self-test failed.", + "bBarFwUpdateAutomaticManual_automatisch(empfohlen)": "automatic (recommended)", + "bBarFwUpdateAutomaticManual_manuell": " manual", + "hGridGuardCodeMissingHeader": "SMA Grid Guard code required", + "lChangePw": "Change the system password", + "lPasswordNewUnequal": "The new password and the password confirmation are not identical. Please correct your entry.", + "lNumberConnectedStrings": "Number of connected strings", + "hHeaderHelpStringFailure": "String-failure detection", + "sStringFaultDetectionTime": "Specify how long the set tolerance limit has to be overstepped once a string failure has been detected before a warning is displayed in the events list of the inverter here.", + "bBarConnectedImpulseSensor_Windsensor": "Anemometer", + "bBarConnectedImpulseSensor_Energiezähler": " Energy meter", + "lDirectionEnergyMeter": "Counting direction", + "hStringFailureDetection": "String-failure detection", + "hSendConfigToSlaves": "Transfer the configuration to devices in the system", + "oStringFailureDetection": "Procedure:
  1. To activate the string-failure detection, select the option On under Activate string-failure detection.
  2. Specify the number of connected strings per string input used.
  3. To consolidate certain string inputs into a group, activate the check box for the respective string input in the desired group column. Here, each string input can only be assigned to one group. At least two string inputs must be selected per group.
  4. Specify the tolerance limit for the string-failure detection.
  5. Specify how long the set tolerance limit has to be overstepped once a string failure has been detected before a warning is displayed in the events list of the inverter.
", + "oSimpleStringFailureDetection": "To activate the string-failure detection, select the option On under Activate string-failure detection.", + "helpStringFailureDetection": "You can consolidate the string inputs of the inverter into groups. Thereby you can compare string inputs that have the same characteristics (e.g. shading, alignment or module type) with each other and be notified in the event of a string failure via an event message.", + "lLogout": "Logout", + "lChangePassword": "Password change", + "lSettingsSetSuccess": "The changes have been adopted successfully.", + "hConfigurationExport": "You can save the current configuration of the inverter in a file. If required, you can import the file to this or another SMA inverter of the same type to configure the inverters.", + "lStatus": "Status:", + "hChangePassword": "If you change the user password on the master device of the system, this will change the system password.
This means that the user password of all slaves in the system will also be changed.
If you change the user password on a slave of the system, only the user password for this device will be changed.
This means that the new password will differ from the system password and the slave will no longer be displayed in the system view.", + "lSaveSelftestProtocol": "Save the self-test protocol", + "lPasswordOldWrong": "The old password is not correct. Please correct your entry.", + "lRestartSetupWizard": "Start the installation assistant", + "eSelftestProtocolNotSaved": "An error has occurred.
The file could not be saved.
The connection to the inverter may have been interrupted or there is not enough storage space available on the selected local device.
  • Ensure that there is a connection to the inverter.
  • Make sure that there is enough storage space available on the local device.
  • Save the file again.
", + "iSendConfigToSlaves": "The settings were successfully saved to the system master.
You can have the following settings transferred to all devices in the system:
  • Time and date
  • Country data set
", + "lUiSettings": "Settings", + "oChooseLanguage": "Select the language for the user interface.", + "helpMinimumTwoStringGroupsPerGroup": "You must select at least two string inputs per group.", + "lDeviceTyp": "Device type", + "iSaveSelftestProtocol": "You can save the self-test protocol as a text file to your local device.", + "lInverterManual": "Download the inverter manual", + "lActivateStringFailureDetection": "Activating String-Failure Detection", + "lStringInput": "String input", + "lDeveloperSettings": "Developer settings", + "tStringFaultDetectionTolerance": "Specify the tolerance limit by which the string current may deviate from the average value of the respective group here.", + "lInverterProductWebsite": "Open the product page of the inverter", + "oUploadAlreadyRunning": "Another file is currently being imported into the inverter.
  • Wait until the import is completed and then try again.
", + "lConnectedImpulseSensor": "Remote terminal connected", + "oChooseInstallCountry": "Select the country where the inverter is installed.", + "hUploadAlreadyRunning": "A file is already being imported", + "lMinimumTwoStringGroupsPerGroup": "At least two string inputs must be selected per group", + "lStringGroup1": "Group 1", + "lStringGroup3": "Group 3", + "lStringGroup2": "Group 2", + "lPasswortSet": "Password set", + "lPasswordVeryUnsave": "Very insecure password", + "headingWizardChangesNotSaved": "Changes not saved", + "hWizardChangesNotSaved": "The changes could not be saved.
Repeat your entries and then try again.", + "oChoosePathFileSave": "Select the desired save location:", + "lBatterySet": "Selectable battery types", + "lBatteryIslandEcm": "Emergency charging of the battery", + "bEmcChrStart": "Emergency charge", + "bQCGNewBat": "New battery configuration", + "bEmcChrStop": "Stop emergency charge", + "hHeaderHelpBatteryIsland": "Island battery configuration", + "hContentHelpIsland": "When selecting a lead-acid battery, you have to enter the nominal capacity of the battery for a ten-hour electric discharge (C10). Refer to the lead-acid battery documentation for the battery capacity in relation to discharge time.", + "lClusterSettingWizardMenu": "System configuration", + "lIslandSettingWizardMenu": "Application", + "lQcgContentNewBattery": "Selecting this button is only necessary when the battery settings are changed or when replacing the battery.
NOTICE
Damage to the battery due to incorrect settings
The battery can be damaged by incorrect settings of the battery type, nominal voltage and capacity parameters.
- Set the correct battery type as well as the correct values for nominal voltage and battery capacity when configuring.
- Ensure that the values recommended by the manufacturer are set for the battery.", + "iErrorEmgCharge": "An error has occurred. Restart the inverter and perform the configuration again.", + "lQcgHeaderNewBattery": "New battery configuration", + "lQcgContentNewSystem": "NOTICE
By starting the new system configuration, important parameters of the inverter are reset to the default settings.", + "lQcgHeaderNewSystem": "New system configuration", + "lQcgHeaderEmgCharge": "Battery emergency charge operation", + "lQcgContentEmgCharge": "In order to start the inverter again after an automatic shutdown, you must charge the battery in emergency charge mode.", + "iErrorNewBattery": "An error has occurred. Restart the inverter and perform the configuration again.", + "iErrorNewSystem": "An error has occurred. Restart the inverter and perform the configuration again.", + "lQcgFinishEmgCharge": "Emergency charging of the battery can be started.", + "lQcgFinishNewSystem": "The system configuration has been completed.", + "lQcgFinishNewBattery": "The battery is newly configured.", + "bStartEmgChargeQCG": "Start the battery emergency charge operation", + "iProcessEmcChargeQcg": "Switching to the battery emergency charge operation", + "bStartSystemQCG": "Start the new system configuration", + "iProcessSystemQcg": "Switching to the new system configuration", + "bStartBatteryQCG": "Start the new battery configuration", + "iProcessBatteryQcg": "Switching to the new battery configuration", + "hIslandSetting": "Select application", + "bQCGNewSys": "New system configuration", + "hIslandSettingsHelpHeader": "Select application", + "hIslandSettingsHelp": "If the inverter is to form a self-sufficient utility grid, select the stand-alone mode and set the nominal voltage and frequency of the utility grid.
If the inverter is used in a storage system for increased self-consumption or in a battery-backup system, select grid operation and set the function of the system.", + "hIslandNewSysHelpHeader": "New system configuration", + "hIslandNewSysHelp": "Selecting this button is only necessary when changing the application or the system structure (e.g. if the Function of the system changes or a single-phase system is extended to a three-phase system).", + "lWarningWaitingNewSys": "QCG dialog", + "hIslandCountryHelpHeader": "Selecting the Country Data Set", + "hIslandCountryHelp": "Select the country data set valid for your application. The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard. The selection of the correct country data set depends on the installation site and the grid-connection standard applicable on-site. Contact your grid operator, if necessary.
Depending on the application, it might be necessary to adjust further device parameters after completion of the installation assistant in order to meet the respective grid connection standard.", + "hHeaderHelpClusterSetting": "System configuration", + "hClusterSettingsHelp": "Select whether the system is single-phase or three-phase and make the necessary settings depending on the system.

Single-phase system
Select the Single-phase type, and in systems with stand-alone mode, set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to three inverters (single cluster)
Select the Three-phase type and the SingleCluster system. Set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to twelve clusters (multi cluster)
Select the Three-phase type and the MultiCluster system and select the cluster type in the multicluster that applies to this inverter. For this, you must select the cluster in which this inverter is contained.", + "lClusterSettingExternSource": "Selection external source", + "lClusterSettingGeneratorCurrent": "Nominal generator current", + "lClusterSettingGridCurrent": "Nominal line current", + "lClusterSettingSysConfig": "System configuration", + "lClusterSettingType": "Cluster type", + "iHeadlineClusterSetting": "System configuration", + "lUsedSlaves": "Devices in the system", + "lClusterSettingSysBoxType": "MultiCluster Box type", + "lClusterSettingMode": "Cluster mode", + "lClusterSettingSysTyp": "Cluster type", + "lClusterSettingExtensionAddress": "Extension cluster address", + "hHeaderHelpClusterUsedSlaves": "Devices in the system", + "hClusterUsedSlavesHelp": "All detected battery inverters of a cluster are displayed here. Assign each device the phase to which it is connected.", + "lMultiClusterState": "Multicluster status", + "lMultiClusterOverview": "Multicluster overview", + "lMultiClusterSoc": "middle SOC:", + "lGidConnectionGenPower": "Generator power", + "lClusterState": "Cluster status", + "hManagementInverterFalcon": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode Act. power lim. via PV system ctrl. Select this mode even if the inverter does not receive the default values via a higher unit. The active power limitation is limited dynamically by the inverter itself at the grid-connection point.

You can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Furthermore, you can select if the inverter disconnects from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not permit the inverter to still feed in a low amount of active power when limited to 0% or 0 W.

If the inverter limits the active power limitation dynamically by itself at the grid-connection point, you must set the Operating mode for absent system control to Values maintained and the Grid disconnection for 0% feeding to No.", + "hTigoMainSetting": "Modular Technology Configuration", + "hTigoTabStatusHeader": "Search for modular technology components", + "bFindAllTigoModuls": "Find and Save", + "lTigoGateway": "Gateway", + "lTigoPortalInfo": "Logging has been started!
One moment please...
When the logging process is completed, the TS4 components are available in Sunny Portal after a waiting time of 10 minutes.", + "lTigoDetailsDevices": "Details", + "lTigoMainSttHeader": "Search for modular technology components", + "iWaitForTigoResults": "Search request", + "lTigoUsedNumberGateways": "Gateways", + "lTextVon": "of", + "lTigoTS4": "TS4", + "lTigoNumberCompoments": "Number of detected components", + "hTigoTabCfgHeader": "String configuration", + "lInverterMppEntry": "Inverter input", + "hTigoTabCfgContent": "Enter the number of strings that are connected to the particular input and enter the number of PV modules as well as the number of the TS4 in the string. Based on this information, the serial numbers of the TS4 in a string can be exactly assigned in the next step.", + "llTigoNumberStringInputs": "Number of strings", + "lTigoTabNameSystem": "System configuration", + "lTigoTabNameCfg": "String configuration", + "lTigoTabNameStatus": "Status", + "lTigoTS4String": "Number of the TS4 in the string", + "hTigoTabStringHeader": "Capturing TS4 serial numbers", + "hTigoTabStringContent": "All captured TS4 that are assigned to the particular input of the inverter are listed on this page. Enter the related serial number for each TS4. You can scan the serial number with the barcode.", + "lMinValidation": "The number of characters of the serial number is too low.", + "lMaxValidation": "The number of characters of the serial number exceeds the maximum number.", + "lChkValidation": "The checksum of the serial number is incorrect.", + "lUniqueValidation": "This serial number already exists. Please check your entry.", + "lMinOptimizerErr": "The number of the entered serial numbers is too low. Please check your entry.", + "lMaxOptimizerErr": "The number of the entered serial numbers exceeds the number of the detected TS4. Please check your entry.", + "lAllOptimizerSet": "OK", + "lBarOptimizerErr": "The entered serial number is incorrect. Please check your entry.", + "lSignValidation": "The serial number is faulty. Please check your entry.", + "lOptimizerDiffErr": "If there are several strings connected to an inverter input, all PV modules must be equipped with modular technology components.", + "lPvOptimizerErr": "The number of the TS4 in the string may not exceed the number of the PV modules in the string.", + "lPvLengthErr": "If there are several strings with a different number of PV modules connected to an inverter input, the difference should be less than 25%.", + "hTigoSystemHeader": "System configuration", + "hTigoSystemContent": "Enter the number of gateways that are in the system. Please note the number of the maximum permissible gateways in a system.", + "lTigoNumberGateways": "Number of gateways", + "lTilesHeadOptimizer": "Modular technology status", + "tOptimizerStatus": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "lTigoWizardMenu": "Modular technology configuration", + "hTigoTabStatusContent": "By clicking on the button Start search, you start the search of all modular technology components in the system. The button Perform Gateway test starts the search for the Gateways in the system. Keep in mind that searching for all components may take up to one hour. Make sure that the inverter is in operation during the search. The search runs in the background. You can continue the configuration of the inverter during the search.
When the search has been completed successfully, the message Commissioning status OK appears under the buttons and the number of detected components is displayed. Check the result and make sure that the components are correctly captured. You can find all information on the detected components in the Details.
You can cancel the search at any time to add or delete further components, for example. To do so, click the Cancel search button during the search.", + "bStartTigoTests": "Start Gateway test", + "lTigoParameterChanged": "The parameters of the module technology configuration have not been saved yet.
Click on Start search to complete the configuration.", + "lPvStringMaxErr": "The total number of all strings for this inverter is exceeded.", + "lOptimizerMaxErr": "The total number of all TS4 products is exceeded.", + "lTigoSpotValueHeader": "Module Technology", + "hContentHelpKiteTest": "The battery functional test comprises the tests: Battery charging and battery discharging. The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE! Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
Make sure that each battery power cable is correctly connected to the inverter. Make also sure that only one or several batteries used as a DC source are connected to the inverter.", + "hBatteryNewCfgHelp": "New battery configuration", + "hHelpBackupConfig": "When using an automatic transfer switch, you must set the operating mode.
With the operating mode Off, the battery-backup operation is not activated automatically in the event of grid failure. The battery-backup operation must be activated manually in this operating mode.
Select the operating mode Automatic to activate the battery-backup operation automatically in the event of grid failure.
The operating mode Force is only used for test purposes. In this operating mode, you can force to switch to battery-backup operation during utility grid supply. This allows you to test the automatic transfer switch function. If the test has been completed successfully, you must select the operating mode Off or Automatic. ", + "hUserInfoPlantManagement": "In the table all available devices in the system are shown.
By clicking on the button Settings, you can select different settings on your requested device.

In the table with the devices found, all devices are shown that have been detected by the inverter. By clicking on the button Settings, you are able to add further devices.
", + "lSupportedModbusMeter": "Supported Modbus energy meters", + "tModbusMeterHelp": "In the table with the supported Modbus energy meters, all supported energy meters are shown. By clicking on the button Search, you can search for energy meters and add them to your system.", + "hTitleEnergyMeter": "Energy meter used", + "hContentEnergyMeter": "Select the energy meter used in the system on this page. After selecting the energy meter, the inverter will detect the serial number and the state of the energy meter automatically.

Select the entry SMA Energy Meter when the inverter is connected to an SMA Energy Meter. After the selection, all available energy meters are shown in a table. Add the requested energy meter to the system by selecting Settings and Use energy meter in the system for the requested energy meter.
Select the entry SMA Revenue Grade Meter when the inverter is equipped with an SMA Revenue Grade Meter Kit (e.g. with inverters of the type SBx.x-1TP-US-40).
Select the entry WattNode Modbus RTU when the inverter is connected to a WattNode Modbus energy meter.
Select the entry SunSpec Modbus RTU when the inverter is connected to an energy meter that communicates with the inverter via SunSpec Modbus RTU protocol.

You must adjust further settings depending on the energy meter.", + "lBackupWizardMenu": "Battery-backup system", + "lTigoSttCommunication": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "lTigoSttCommissioning": "Commissioning is active and not all devices have been detected yet.", + "hBatteryFound": "Identified battery types", + "lSearchModbusMeter": "Search", + "tClickForSearch": "select now and search", + "lBackupCfgHeader": "Configuration detected by the system", + "hOldTitleEnergyMeter": "Configuring the Energy Meter", + "lAnschlussart": "Connection type", + "lComModuleWizardMenu": "RS485 configuration", + "lRS485MainSetting": "RS485 configuration", + "hRS485ProtocolHeader": "RS485 configuration", + "hRS485ProtocolContent": "On this page, you select for which purpose the RS485 interface is used.
Select the entry SMA Data if a RS485 communication bus is connected to the RS485 interface. The inverter is connected to SMA communication products via the RS485 communication bus.
Select the entry Energy Meter if an energy meter is connected to the RS485 interface.
Select the entry Module Technology if the gateway of the TS4 module technology is connected to the RS485 interface.", + "hRS485TerminatorContent": "If your inverter is located at the beginning or at the end of the RS485 communication bus, the terminator must be activated.
If your inverter is located in the middle of the RS485 communication bus, the terminator must not be activated.", + "lRS485ErrorDoubleChoice": "The same purpose has been selected twice. The interfaces may only be used for different purposes.", + "hRS485TerminatorHeader": "Activate Terminator", + "lTimeOfUseStartTime": "Time", + "lTimeOfUseStartDate": "Date", + "lTimeOfUseModal": "Performance profile", + "lPopOverListProfileCurrent": "Enter the requested name for the performance profile.", + "lTimeOfUseDayMo": "Mon", + "lTimeOfUseDayDi": "Tue", + "lTimeOfUseDayDo": "Thu", + "lTimeOfUseDaySo": "Sun", + "lTimeOfUseDayMi": "Wed", + "lTimeOfUseDayFr": "Fri", + "lTimeOfUseDaySa": "Sa", + "lTimeOfUseDayHd": "Independent of weekdays", + "lTimeOfUseDays": "Select days of the week", + "lTimeDomain": "Time range", + "lPlsChrgW": "Grid Consumption Limit", + "lPlsDschW": "Grid Feed-In Limit", + "lModeOfCurrentProfile": "Operating mode of the performance profile", + "lPopProfileUp": "Selected performance profile is moved up a position.", + "lPopProfileDown": "Selected performance profile is moved down a position.", + "bProfileNameAdd": "Add to list.", + "lPopProfileRemove": "Delete selected performance profile.", + "lPopProfileDup": "Copy selected performance profile.", + "lNameOfCurrentProfile": "Designation of the performance profile", + "bProfileNameSave": "Save performance profile.", + "lNameOfAllProfiles": "Created performance profiles", + "bProfileNameCopy": "COPY", + "lPopProfileAdd": "Create new performance profile.", + "lTimeOfUseHelpIntro": "On this page, you can create performance profiles for the use of different electricity tariffs. Three operating modes can be chosen from regarding the performance profiles. As a result, you can use cheap electricity and reduce your energy bills.", + "lPopProfileSave": "The current performance profile is saved temporarily on this page. The data is only transferred when the page is closed by clicking on the \"Save\" button.", + "lPopNoneWeekDay": "When selecting a fixed date regardless of the weekday (e.g. Performance profile shall always apply from 1 May of each year.)", + "lPopOverListProfileNames": "Here you can create and configure a performance profile. In case of several performance profiles, the following applies: The performance profile on the top of the list has priority over the profiles that lie underneath it.", + "lPopPlsLimitFeedin": "Nominal feed-in power at the grid connection point. When the set value is reached, charging of the battery with the surplus power is started.", + "lPopPlsLimitFeed": "Target reference power at the grid connection point. When the set value is reached, the battery is discharged.", + "lPopTouLimitCharge": "Desired charging power of the battery. The power is set independently of the grid connection point.", + "lTimeOfUseHelpContent": "Time-controlled power specification (time-of-use)

This operating mode is used to adapt the charging behavior of the battery to its electricity tariff.
You can determine in which time range the battery with a specified charging and discharging power is operated.

Load-controlled power setpoint at the grid-connection point (peak load shaving)

This operating mode is used to optimize the battery inverter behavior to the power exchange at the grid-connection point. With this operating mode, certain grid-exchange power outputs to which the battery inverter is adjusted depending on its power and battery capacity available can be set. Power peaks can thus be avoided.

Inactive
This operating mode is used to deactivate a performance profile temporarily.", + "hContentHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery.\" The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "lMultiClusterTotal": "Total capacity:", + "hConfigureCellular": "If you would like to use Cellular, select the option Yes under Cellular.
The cellular connection allows the direct data transmission between the inverter and the internet portal Sunny Portal via the cellular network as an alternative to data transmission via Ethernet or WLAN. The cellular connection only transmits a limited amount of data to Sunny Portal. A local network connection is not absolutely necessary, but it is recommended to be able to view all information regarding the system in Sunny Portal.
Note the term of the mobile data plan. All costs are covered within the term.", + "lCommunicationType_Cellular": "Cellular", + "headlineConfigureCellular": "Configuring Communication via Cellular", + "lCellularIMEI": "IMEI", + "lCellular": "Cellular", + "lCellularName": "Provider", + "bTestStart": "Start test", + "lCommunicationsTest": "Connection test", + "hSafetyRabbitShutDownSetting": "Rapid Shutdown Setting", + "hSafetySettingsHelpHeader": "Configuring the Rapid Shutdown Function", + "hSafetySettingsHelp": "The Rapid Shutdown function of the inverter must be enabled if the PV modules or PV strings are equipped with an additional DC disconnection unit that disconnects the PV array from the inverter.

Select the Off setting if you do not want to use the Rapid Shutdown function.

Select the On setting if an additional DC disconnection unit which is independent of the inverter is installed between the inverter and the PV array that disconnects the PV array..", + "hSafetyTigoSettingsHelp": "Select the TS4 Shutdown setting if the PV array is disconnected via TS4 module technology. With TS4-R-F, SunSpec Shutdown must be selected.", + "hSafetySunspecSettingsHelp": "Select the SunSpec Shutdown setting if the PV array is disconnected via a module switch in accordance with the SunSpec Interoperability Specification.", + "lSafetyFunctionsHeader": "Safety Functions", + "lSafetyFunctionsWizardMenu": "Safety Functions", + "lCharging": "Charge", + "lDischarging": "Discharge", + "lStandby": "Standby", + "lForceChargePower": "Forced charge power", + "lBatteryBackupWizardMenu": "Configuration of battery / battery-backup system", + "bNewBatteryBackupCfg": "New configuration", + "hContentHelpKiteNewCfg": "Selecting this button is only necessary when changing the system.

Select this button when a battery is exchanged or a new battery is added, and when the system is extended to a battery-backup system with an automatic transfer switch.", + "hBatteryNewBackupHelp": "Battery-backup system recognized", + "hContentHelpBackupLink": "A battery-backup system has been recognized. Further settings must be made in the \"battery-backup system\" step. Wait until all the connected batteries are recognized and listed in the list.", + "lJetTestWizardMenu": "Jet Test", + "iHeadlineJETTest": "Jet Test", + "bLoad50Hz": "50Hz default values", + "bLoad60Hz": "60Hz default values", + "bDiscard": "Discard changes", + "bJetTestOverVoltageRelay": "Over voltage relay", + "bJetTestUnderVoltageRelay": "Under voltage relay", + "bJetTestOverFrequencyRelay": "Over frequency relay", + "bJetTestUnderFrequencyRelay": "Under frequency relay", + "bJetTestVoltageRiseSuppression": "Voltage rise suppression", + "bJetTestOfflineMode": "JET-Offline Mode", + "lJetTestDetectionLevel": "Detection level", + "lJetTestDetectionTime": "Detection time", + "lJetTestFrequency": "Frequency", + "lJetTestDetectionLevelPU": "Detection level P(U)", + "lJetTestDetectionLevelQU": "Detection level reactive power", + "lJetTestPminNorm": "Pmin Norm", + "lJetTestPassiveIslandingDetection": "Passive islanding detection", + "lJetTestVoltageDropDetection": "Voltage drop detection", + "lJetTestFixedTime": "Fixed time", + "lJetTestInverterPower": "Inverter power", + "lJetTestFrequencyMonitoring": "Frequency monitoring", + "lJetTestIslandDetection": "Island detection", + "lJetTestVoltageMonitoring": "Voltage monitoring", + "lJetTestOtherOption": "Other options", + "lJetTestOptionCosPi": "Cos(Phi)", + "lJetTestOptionOperationMode": "Operation mode", + "lJetTestPowerCurtailmentBox": "Power Curtailment Box", + "lJetTestBoxState": "Status", + "bJetTestBoxConnect": "Connect", + "lNsmTakaWizardMenu": "Grid management", + "bResetParaCounter": "Reset operation inhibition", + "lJetTestStepInjectionDetection": "Step injection detection", + "lJetTestActiveIslandingDetection": "Active islanding detection", + "bJetTestBoxDisconnect": "Disconnect", + "hJetTestHeader": "Jet Test Mode", + "hJetTestContent": "Lorem", + "lShowGridSearching": "The inverter synchronizes to the available grid frequency.", + "hJapanNetConfHeader": "System configuration", + "hJapanNetConfContent": "Configure the values for Voltage / Frequency monitoring and Voltage rise suppression in accordance with the grid operator's specifications and grid-connection codes JEAC 9701.", + "hJapanPowerboxConfHeader": "Power Curtailment Box", + "hJapanOtherConfHeader": "Other options", + "hJapanOtherConfContent": "Set the operating mode from Stop to MPP to operate the inverter.", + "hJapanPowerboxConfContent": "Ensure that the inverter's network configuration has been made to connect to a Power Curtailment Box.
The inverter and Power Curtailment Box must be located in the same network.", + "lJetTestFrequencyFeedback": "Frequency feedback", + "lJetTestActiveIslandingDetectionMode": "Active islanding detection mode", + "lChartPowerAndGrid": "PV and grid-supplied power", + "lChartYieldAndGrid": "PV yield and grid-supplied power", + "lPwdUser": "User password", + "lPwdInstallateur": "Installer password", + "lPwdRichtlinien": "Password guidelines", + "lPwdCharSmall": "Lower case", + "lPwdCharBig": "Upper case", + "lPwdCharSign": "Number", + "lPwdCharOther": "Special characters ?_!-", + "lPwdCharCount": "8-12 characters", + "eInstallPasswordNotChangedYetInstaller": "No password has been assigned for user group Installer.\n
The password is also the system password. It is required for system registration in Sunny Portal.\n
Assign a uniform password to all SMA devices in the system.\n
\n ", + "eNewPassError": "The password does not comply with the password guidelines.", + "lNewPass": "Password", + "eInstallPasswordNotChangedYetUser": "No password has been assigned for user group User.\n
If you as a specialist assign a password, pass the password on to the user.\n ", + "bSaveLogin": "Save and log in", + "ePassDoNotMatch": "The passwords do not match.", + "lPowerControlModuleNA": "Grid and PV system protection via SMA I/O Module", + "helpContentNASchutz": "Activate the grid and PV system protection if the inverter is connected to an external monitoring unit with grid and PV system protection relays via the SMA I/O Module.", + "hJapanAIDHeader": "AID rate of rise", + "hJapanAIDContent": "The rate of rise is set to High by default. Only change the value if it is required by the transmission system operator or if a flicker problem exists in the system.", + "hManagementInverter": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode \"Active power limitation P via system control\". When using this operating mode, you can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Select whether the inverter shall disconnect from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not allow the inverter to still feed in a low amount of active power when limited to 0% or 0 W.", + "lSeleted": "Select", + "bDownload": "Download", + "lSelectAll": "Select all", + "tFiles": "Files", + "lInformationDevice": "Information", + "lPInverter": "Inverter", + "hFirmwareUpdateTakaP": "You can load the update onto your device manually.", + "lOnlineHelp": "eManual", + "lSmartView": "Smart Inverter Screen", + "1383": "Active power is limited by a specified maximum Limit", + "1500000": "SMA Solar Technology AG", + "1500001": "|raw01|", + "2000000": "Gushen", + "lSmartViewInfo": "Can only be activated after the initial start-up by the installation assistant" } + diff --git a/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json b/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json index 2a0005f..962e060 100644 --- a/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json +++ b/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json @@ -1,4 +1,84 @@ { + "6100_00416C00": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 11549, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08419000": { + "Prio": 2, + "TagId": 814, + "TagIdEvtMsg": 10003, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 3409 + ] + }, + "6180_08414D00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11177, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 46 + ] + }, + "6180_08414E00": { + "Prio": 2, + "TagId": 2425, + "TagIdEvtMsg": 11261, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 46 + ] + }, + "6100_40412100": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 11573, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 3222 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, "6180_08414B00": { "Prio": 2, "TagId": 76, @@ -31,6 +111,25 @@ "MinD": true, "MaxD": true }, + "6100_00417F00": { + "Prio": 2, + "TagId": 152, + "TagIdEvtMsg": 10027, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, "6180_08414900": { "Prio": 2, "TagId": 297, @@ -57,6 +156,45 @@ 888 ] }, + "6180_08414F00": { + "Prio": 2, + "TagId": 2523, + "TagIdEvtMsg": 11319, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6182_08415000": { + "Prio": 2, + "TagId": 2521, + "TagIdEvtMsg": 11320, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6182_08415100": { + "Prio": 2, + "TagId": 2522, + "TagIdEvtMsg": 11321, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, "6100_00412000": { "Prio": 2, "TagId": 35, @@ -111,6 +249,76 @@ "Cnt": true, "SumD": true }, + "6180_08413200": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10487, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 1087 + ] + }, + "6180_08414C00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11176, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 267 + ] + }, + "6180_08413300": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10441, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 1080 + ] + }, + "6182_08413400": { + "Prio": 2, + "TagId": 3822, + "TagIdEvtMsg": 11899, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416500": { + "Prio": 2, + "TagId": 277, + "TagIdEvtMsg": 10115, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, "6402_00618D00": { "Prio": 3, "TagId": 103, @@ -141,6 +349,37 @@ "Sum": true, "SumD": true }, + "6100_00412300": { + "Prio": 2, + "TagId": 4761, + "TagIdEvtMsg": 12544, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416800": { + "Prio": 2, + "TagId": 2384, + "TagIdEvtMsg": 11241, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, "6180_08416400": { "Prio": 2, "TagId": 238, @@ -165,6 +404,73 @@ 309 ] }, + "7280_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412400": { + "Prio": 2, + "TagId": 4762, + "TagIdEvtMsg": 12545, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08419900": { + "Prio": 2, + "TagId": 1700, + "TagIdEvtMsg": 10873, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412800": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11040, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412200": { + "Prio": 2, + "TagId": 3699, + "TagIdEvtMsg": 11846, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, "6100_00416600": { "Prio": 2, "TagId": 350, @@ -185,1038 +491,1121 @@ "MinD": true, "MaxD": true }, - "6800_08811F00": { - "Prio": 4, - "TagId": 3145, - "TagIdEvtMsg": 11526, - "DataFrmt": 23, + "6180_08416900": { + "Prio": 2, + "TagId": 2385, + "TagIdEvtMsg": 11242, + "DataFrmt": 18, "Typ": 1, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ 830, - 394 + 309 ] }, - "6180_08412900": { + "6182_08412B00": { "Prio": 2, - "TagId": 50, - "TagIdEvtMsg": 11533, + "TagId": 4572, + "TagIdEvtMsg": 12418, "DataFrmt": 18, "Typ": 1, "WriteLevel": 5, "TagHier": [ 830, - 704 + 309 ] }, - "6802_08822200": { - "Prio": 4, - "TagId": 574, - "TagIdEvtMsg": 10280, - "DataFrmt": 23, + "6182_08412A00": { + "Prio": 2, + "TagId": 4571, + "TagIdEvtMsg": 12417, + "DataFrmt": 18, "Typ": 1, "WriteLevel": 5, "TagHier": [ - 831, - 299 + 830, + 309 ] }, - "6800_08822100": { + "6800_08811F00": { "Prio": 4, - "TagId": 573, - "TagIdEvtMsg": 10279, + "TagId": 3145, + "TagIdEvtMsg": 11526, "DataFrmt": 23, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 831, - 299 + 830, + 394 ] }, - "6802_00823300": { - "Prio": 4, - "TagId": 533, - "TagIdEvtMsg": 10258, - "DataFrmt": 24, - "Scale": 1, - "Typ": 0, + "6180_08412900": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11533, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 5, "TagHier": [ - 831, - 299 + 830, + 704 ] }, - "6800_10821E00": { + "6800_08813500": { "Prio": 4, - "TagId": 284, - "TagIdEvtMsg": 10127, - "DataFrmt": 8, - "Typ": 2, + "TagId": 1438, + "TagIdEvtMsg": 10781, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 1, - "Len": 24, "TagHier": [ - 831, - 299 + 830, + 1531 ] }, - "680E_10821E00": { + "6800_08813400": { "Prio": 4, - "TagId": 284, - "TagIdEvtMsg": 10127, - "DataFrmt": 8, - "Typ": 2, + "TagId": 1534, + "TagIdEvtMsg": 10780, + "DataFrmt": 23, + "Typ": 1, "WriteLevel": 1, - "Len": 24, "TagHier": [ - 831, - 299 + 830, + 1531 ] }, - "6800_10A22F00": { - "Prio": 5, - "TagId": 1717, - "TagIdEvtMsg": 10888, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6800_08813300": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 831, - 299 + 830, + 1531 ] }, - "6800_08821F00": { + "6800_00825200": { "Prio": 4, - "TagId": 286, - "TagIdEvtMsg": 10128, - "DataFrmt": 18, - "Typ": 1, + "TagId": 4348, + "TagIdEvtMsg": 12188, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "680E_08821F00": { + "6800_00825300": { "Prio": 4, - "TagId": 286, - "TagIdEvtMsg": 10128, - "DataFrmt": 18, - "Typ": 1, + "TagId": 4349, + "TagIdEvtMsg": 12189, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "6800_08822000": { + "6800_00825400": { "Prio": 4, - "TagId": 294, - "TagIdEvtMsg": 10129, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 3, + "TagId": 4350, + "TagIdEvtMsg": 12190, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "680E_08822000": { + "6800_00825500": { "Prio": 4, - "TagId": 294, - "TagIdEvtMsg": 10129, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 3, + "TagId": 4351, + "TagIdEvtMsg": 12191, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "6800_00823400": { + "6800_00825700": { "Prio": 4, - "TagId": 875, - "TagIdEvtMsg": 10373, - "DataFrmt": 9, + "TagId": 4353, + "TagIdEvtMsg": 12193, + "Unit": 15, + "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "6800_00A21E00": { - "Prio": 5, - "TagId": 372, - "TagIdEvtMsg": 10080, - "DataFrmt": 15, + "6800_00825600": { + "Prio": 4, + "TagId": 4352, + "TagIdEvtMsg": 12192, + "Unit": 15, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 3, + "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "680E_00A21E00": { - "Prio": 5, - "TagId": 372, - "TagIdEvtMsg": 10080, - "DataFrmt": 15, + "6800_40824E00": { + "Prio": 4, + "TagId": 4344, + "TagIdEvtMsg": 12184, + "Unit": 16, + "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "6800_10A23000": { - "Prio": 5, - "TagId": 3399, - "TagIdEvtMsg": 11641, - "DataFrmt": 8, - "Typ": 2, + "6800_40824F00": { + "Prio": 4, + "TagId": 4345, + "TagIdEvtMsg": 12185, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 5, "TagHier": [ 831, - 299 + 267 ] }, - "6800_08837800": { + "6800_40825000": { "Prio": 4, - "TagId": 725, - "TagIdEvtMsg": 10309, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 1, - "TagHier": [ - 832, - 56 - ] - }, - "6102_40633E00": { - "Prio": 3, - "TagId": 400, - "TagIdEvtMsg": 10104, - "Unit": 2, - "DataFrmt": 12, - "Scale": 0.1, + "TagId": 4346, + "TagIdEvtMsg": 12186, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, - 58, + 831, 267 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + ] }, - "6802_00832F00": { + "6800_40825100": { "Prio": 4, - "TagId": 1062, - "TagIdEvtMsg": 10474, - "Unit": 15, + "TagId": 4347, + "TagIdEvtMsg": 12187, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, + 831, 267 - ], - "Deprecated": true + ] }, - "6802_00832E00": { + "6800_40824B00": { "Prio": 4, - "TagId": 1061, - "TagIdEvtMsg": 10473, - "Unit": 15, + "TagId": 4341, + "TagIdEvtMsg": 12181, + "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 832, + 831, 267 - ], - "Deprecated": true + ] }, - "6800_00832A00": { + "6800_40824A00": { "Prio": 4, - "TagId": 314, - "TagIdEvtMsg": 10121, + "TagId": 4340, + "TagIdEvtMsg": 12180, "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, + 831, 267 ], "Deprecated": true }, - "6802_00832B00": { + "6800_40824D00": { "Prio": 4, - "TagId": 315, - "TagIdEvtMsg": 10159, + "TagId": 4343, + "TagIdEvtMsg": 12183, "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 832, + 831, 267 - ], - "Deprecated": true + ] }, - "6800_00233400": { - "Prio": 1, - "TagId": 3716, - "TagIdEvtMsg": 11863, - "DataFrmt": 23, + "6800_40824C00": { + "Prio": 4, + "TagId": 4342, + "TagIdEvtMsg": 12182, + "Unit": 18, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 267 ] }, - "6800_00232B00": { - "Prio": 1, - "TagId": 65, - "TagIdEvtMsg": 11753, - "Unit": 14, - "DataFrmt": 23, - "Scale": 0.1, - "Typ": 0, - "WriteLevel": 1, + "6802_10822F00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10295, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 46, + 3802 ] }, - "6800_00232A00": { - "Prio": 1, - "TagId": 761, - "TagIdEvtMsg": 11752, - "DataFrmt": 23, + "6802_10822E00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 10294, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46, + 3802 + ] + }, + "6802_00822D00": { + "Prio": 4, + "TagId": 2342, + "TagIdEvtMsg": 11200, + "DataFrmt": 6, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 46 ] }, - "6800_00232D00": { - "Prio": 1, - "TagId": 763, - "TagIdEvtMsg": 11755, - "Unit": 14, - "DataFrmt": 23, - "Scale": 0.1, - "Typ": 0, - "WriteLevel": 1, + "6802_08822C00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 11199, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 46 ] }, - "6800_00232C00": { - "Prio": 1, - "TagId": 762, - "TagIdEvtMsg": 11754, - "DataFrmt": 23, + "6802_00823F00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10745, + "DataFrmt": 10, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 1105 ] }, - "6800_00232900": { - "Prio": 1, - "TagId": 331, - "TagIdEvtMsg": 11751, - "Unit": 14, - "DataFrmt": 23, - "Scale": 0.1, + "6800_00823E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10746, + "DataFrmt": 9, + "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 1105 ] }, - "6800_00232800": { - "Prio": 1, - "TagId": 760, - "TagIdEvtMsg": 11750, - "DataFrmt": 23, + "6800_00823D00": { + "Prio": 4, + "TagId": 4898, + "TagIdEvtMsg": 12707, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 4895 ] }, - "6800_00232700": { - "Prio": 1, - "TagId": 416, - "TagIdEvtMsg": 11749, - "Unit": 18, - "DataFrmt": 23, + "6800_00823C00": { + "Prio": 4, + "TagId": 4897, + "TagIdEvtMsg": 12706, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 4895 ] }, - "6800_00232600": { - "Prio": 1, - "TagId": 759, - "TagIdEvtMsg": 11748, - "Unit": 18, - "DataFrmt": 23, + "6800_00823B00": { + "Prio": 4, + "TagId": 4896, + "TagIdEvtMsg": 12705, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 4895 ] }, - "6800_00232500": { - "Prio": 1, - "TagId": 758, - "TagIdEvtMsg": 11747, - "DataFrmt": 23, + "6802_00A21F00": { + "Prio": 5, + "TagId": 2521, + "TagIdEvtMsg": 11317, + "DataFrmt": 15, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 372 ] }, - "6800_00233500": { - "Prio": 1, - "TagId": 437, - "TagIdEvtMsg": 11864, - "Unit": 16, - "DataFrmt": 23, - "Scale": 0.1, + "6802_00A22000": { + "Prio": 5, + "TagId": 2522, + "TagIdEvtMsg": 11318, + "DataFrmt": 15, + "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, - 454 + 831, + 299, + 372 ] }, - "6800_00232200": { - "Prio": 1, - "TagId": 286, - "TagIdEvtMsg": 11743, - "DataFrmt": 23, - "Scale": 1, + "6800_00822500": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 11284, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, + 831, 299 ] }, - "6800_10233200": { - "Prio": 1, - "TagId": 294, - "TagIdEvtMsg": 11760, + "6802_08822200": { + "Prio": 4, + "TagId": 574, + "TagIdEvtMsg": 10280, "DataFrmt": 23, - "Typ": 2, - "WriteLevel": 1, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, + 831, 299 ] }, - "6800_00233100": { - "Prio": 1, - "TagId": 372, - "TagIdEvtMsg": 11759, + "6800_08822100": { + "Prio": 4, + "TagId": 573, + "TagIdEvtMsg": 10279, "DataFrmt": 23, - "Scale": 1, - "Typ": 0, - "WriteLevel": 1, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, + 831, 299 ] }, - "6800_10233000": { - "Prio": 1, - "TagId": 440, - "TagIdEvtMsg": 11758, - "DataFrmt": 23, + "6800_10824800": { + "Prio": 4, + "TagId": 3080, + "TagIdEvtMsg": 11486, + "DataFrmt": 8, "Typ": 2, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309, + 831, 299 ] }, - "6100_00234D00": { - "Prio": 1, - "TagId": 35, - "TagIdEvtMsg": 11744, - "DataFrmt": 23, + "6802_00823300": { + "Prio": 4, + "TagId": 533, + "TagIdEvtMsg": 10258, + "DataFrmt": 24, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6800_00232400": { - "Prio": 1, - "TagId": 757, - "TagIdEvtMsg": 11746, - "DataFrmt": 23, + "6800_00823800": { + "Prio": 4, + "TagId": 4892, + "TagIdEvtMsg": 12700, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6800_00232E00": { - "Prio": 1, - "TagId": 764, - "TagIdEvtMsg": 11756, - "DataFrmt": 23, - "Scale": 1, - "Typ": 0, - "WriteLevel": 1, - "TagHier": [ - 832, - 309 + "6800_10824500": { + "Prio": 4, + "TagId": 3077, + "TagIdEvtMsg": 11483, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 ] }, - "6800_00232300": { - "Prio": 1, - "TagId": 756, - "TagIdEvtMsg": 11745, - "DataFrmt": 23, + "6800_00A22100": { + "Prio": 5, + "TagId": 3814, + "TagIdEvtMsg": 10372, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 2, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6800_08834300": { + "6800_00823A00": { "Prio": 4, - "TagId": 3275, - "TagIdEvtMsg": 11600, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 1, + "TagId": 253, + "TagIdEvtMsg": 12702, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6802_08837300": { + "6800_10821E00": { "Prio": 4, - "TagId": 63, - "TagIdEvtMsg": 10143, - "DataFrmt": 30, - "Typ": 1, - "WriteLevel": 2, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6800_08831E00": { + "680E_10821E00": { "Prio": 4, - "TagId": 310, - "TagIdEvtMsg": 10123, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6800_00232F00": { - "Prio": 1, - "TagId": 765, - "TagIdEvtMsg": 11757, - "DataFrmt": 23, - "Scale": 1, - "Typ": 0, - "WriteLevel": 1, + "6800_10A22F00": { + "Prio": 5, + "TagId": 1717, + "TagIdEvtMsg": 10888, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6802_08834D00": { + "6800_08821F00": { "Prio": 4, - "TagId": 52, - "TagIdEvtMsg": 10141, - "DataFrmt": 30, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, "Typ": 1, - "WriteLevel": 2, - "TagHier": [ - 832, - 309 - ] - }, - "6100_00234E00": { - "Prio": 1, - "TagId": 455, - "TagIdEvtMsg": 11761, - "DataFrmt": 23, - "Scale": 1, - "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, - 309 + 831, + 299 ] }, - "6802_08833A00": { + "680E_08821F00": { "Prio": 4, - "TagId": 3133, - "TagIdEvtMsg": 11525, + "TagId": 286, + "TagIdEvtMsg": 10128, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 832, - 394 + 831, + 299 ] }, - "6802_08833900": { + "6800_08822000": { "Prio": 4, - "TagId": 3217, - "TagIdEvtMsg": 11566, + "TagId": 294, + "TagIdEvtMsg": 10129, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 3, "TagHier": [ - 832, - 394 + 831, + 299 ] }, - "6800_08838B00": { + "680E_08822000": { "Prio": 4, - "TagId": 730, - "TagIdEvtMsg": 10314, + "TagId": 294, + "TagIdEvtMsg": 10129, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 1, + "WriteLevel": 3, "TagHier": [ - 832, - 703 + 831, + 299 ] }, - "6800_10838F00": { + "6800_10824600": { "Prio": 4, - "TagId": 1626, - "TagIdEvtMsg": 10834, + "TagId": 3078, + "TagIdEvtMsg": 11484, "DataFrmt": 8, "Typ": 2, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 832, - 703 + 831, + 299 ] }, - "6800_08838C00": { + "6800_08824900": { "Prio": 4, - "TagId": 3258, - "TagIdEvtMsg": 11592, + "TagId": 3081, + "TagIdEvtMsg": 11487, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 703 + 831, + 299 ] }, - "6800_08836E00": { + "6800_00823400": { "Prio": 4, - "TagId": 731, - "TagIdEvtMsg": 10315, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 1, + "TagId": 875, + "TagIdEvtMsg": 10373, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 832, - 703 + 831, + 299 ] }, - "6800_08838D00": { + "6800_00823600": { "Prio": 4, - "TagId": 732, - "TagIdEvtMsg": 10316, + "TagId": 1526, + "TagIdEvtMsg": 10678, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822800": { + "Prio": 4, + "TagId": 3811, + "TagIdEvtMsg": 10657, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 832, - 703 + 831, + 299 ] }, - "6802_00839C00": { + "6800_00823500": { "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 11295, + "TagId": 1316, + "TagIdEvtMsg": 10679, "DataFrmt": 9, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, - 2497, - 2498 + 831, + 299 ] }, - "6802_00839F00": { - "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 11620, - "DataFrmt": 9, + "6800_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 3, "TagHier": [ - 832, - 2497, - 3328 + 831, + 299 ] }, - "6802_00839E00": { - "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 11543, - "DataFrmt": 9, + "680E_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 832, - 2497, - 3197 + 831, + 299 ] }, - "6802_10841F00": { - "Prio": 4, - "TagId": 592, - "TagIdEvtMsg": 10285, - "DataFrmt": 20, + "6800_10A22200": { + "Prio": 5, + "TagId": 4799, + "TagIdEvtMsg": 12604, + "DataFrmt": 8, + "Scale": 1, "Typ": 2, - "WriteLevel": 2, - "Len": 12, + "WriteLevel": 3, "TagHier": [ - 833, - 584 + 831, + 299 ] }, - "6800_10841E00": { - "Prio": 4, - "TagId": 591, - "TagIdEvtMsg": 10284, - "DataFrmt": 20, + "680E_10A22200": { + "Prio": 5, + "TagId": 4799, + "TagIdEvtMsg": 12604, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A24600": { + "Prio": 5, + "TagId": 882, + "TagIdEvtMsg": 10429, + "DataFrmt": 8, "Typ": 2, "WriteLevel": 1, - "Len": 12, "TagHier": [ - 833, - 584 + 831, + 299 ] }, - "6322_00854D00": { + "6800_00823900": { "Prio": 4, - "TagId": 447, - "TagIdEvtMsg": 10247, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 393, + "TagIdEvtMsg": 12701, + "DataFrmt": 9, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 834, - 62, - 57 + 831, + 299 ] }, - "6802_00855D00": { + "6800_10824700": { "Prio": 4, - "TagId": 1202, - "TagIdEvtMsg": 10610, - "Unit": 13, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 2, + "TagId": 3079, + "TagIdEvtMsg": 11485, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, "TagHier": [ - 834, - 62, - 1201 + 831, + 299 ] }, - "6800_08855C00": { + "6800_08822B00": { "Prio": 4, - "TagId": 733, - "TagIdEvtMsg": 10612, + "TagId": 440, + "TagIdEvtMsg": 10130, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10822A00": { + "Prio": 4, + "TagId": 4685, + "TagIdEvtMsg": 12483, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A23000": { + "Prio": 5, + "TagId": 3399, + "TagIdEvtMsg": 11641, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08837700": { + "Prio": 4, + "TagId": 724, + "TagIdEvtMsg": 10308, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, "TagHier": [ - 834, - 62, - 1201 + 832, + 56 ] }, - "6802_00852000": { + "6800_08837800": { "Prio": 4, - "TagId": 1358, - "TagIdEvtMsg": 10706, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, + "TagId": 725, + "TagIdEvtMsg": 10309, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 834, - 62 + 832, + 56 ] }, - "6322_00852000": { + "6800_08837900": { "Prio": 4, - "TagId": 1358, - "TagIdEvtMsg": 10706, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, + "TagId": 726, + "TagIdEvtMsg": 10310, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 834, - 62 + 832, + 56 ] }, - "6802_00851E00": { + "6800_08837A00": { "Prio": 4, - "TagId": 387, - "TagIdEvtMsg": 10242, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, + "TagId": 727, + "TagIdEvtMsg": 10311, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 834, - 62 + 832, + 56 ] }, - "6322_00851E00": { + "6800_08837C00": { "Prio": 4, - "TagId": 387, - "TagIdEvtMsg": 10242, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 729, + "TagIdEvtMsg": 10313, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837B00": { + "Prio": 4, + "TagId": 728, + "TagIdEvtMsg": 10312, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6802_40835800": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 10145, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 834, - 62 + 832, + 58, + 44 ] }, - "6200_40652100": { - "Prio": 3, - "TagId": 38, - "TagIdEvtMsg": 10213, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "6102_40433600": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10087, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 44 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, "MinD": true, "MaxD": true }, - "6100_40452100": { + "6102_40433700": { "Prio": 2, - "TagId": 38, - "TagIdEvtMsg": 10213, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 401, + "TagIdEvtMsg": 10088, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 44 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, "MinD": true, "MaxD": true }, - "6300_40452100": { + "6802_40835900": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10269, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ] + }, + "6802_40835A00": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 10146, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 45 + ] + }, + "6102_40433800": { "Prio": 2, - "TagId": 38, - "TagIdEvtMsg": 10213, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 400, + "TagIdEvtMsg": 10089, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 45 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, "MinD": true, "MaxD": true }, - "6310_40652100": { - "Prio": 3, - "TagId": 38, - "TagIdEvtMsg": 10213, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "6102_40433900": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 10090, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 - ] - }, - "6380_40452100": { - "Prio": 2, - "TagId": 38, - "TagIdEvtMsg": 10213, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, - "WriteLevel": 5, - "TagHier": [ - 834, - 67 + 832, + 58, + 45 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, "MinD": true, "MaxD": true }, - "6200_40651F00": { + "6802_40835B00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10270, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ] + }, + "6102_40633000": { "Prio": 3, - "TagId": 441, - "TagIdEvtMsg": 10209, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 2449, + "TagIdEvtMsg": 10099, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 48 ], "Min": true, "Max": true, "Avg": true, "Cnt": true, "MinD": true, - "MaxD": true + "MaxD": true, + "Deprecated": true }, - "6100_40451F00": { + "6102_40433100": { "Prio": 2, - "TagId": 441, - "TagIdEvtMsg": 10209, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 2450, + "TagIdEvtMsg": 10100, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 48 ], "Min": true, "Max": true, "Avg": true, "Cnt": true, "MinD": true, - "MaxD": true + "MaxD": true, + "Deprecated": true }, - "6300_40451F00": { + "6100_00432800": { "Prio": 2, - "TagId": 441, - "TagIdEvtMsg": 10209, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 400, + "TagIdEvtMsg": 12694, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 1883 ], "Min": true, "Max": true, @@ -1225,146 +1614,130 @@ "MinD": true, "MaxD": true }, - "6310_40651F00": { - "Prio": 3, - "TagId": 441, - "TagIdEvtMsg": 10209, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "6802_00835300": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10136, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 67 + 832, + 58, + 211 ] }, - "6380_40451F00": { - "Prio": 2, - "TagId": 441, - "TagIdEvtMsg": 10209, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "6802_00835400": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10137, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 67 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 58, + 212 + ] }, - "6200_40451E00": { - "Prio": 2, - "TagId": 450, - "TagIdEvtMsg": 10217, - "Unit": 18, - "DataFrmt": 0, + "6802_00835200": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10142, + "Unit": 6, + "DataFrmt": 7, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 67 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + 832, + 58, + 2489 + ] }, - "6100_40251E00": { - "Prio": 1, - "TagId": 450, - "TagIdEvtMsg": 10217, - "Unit": 18, - "DataFrmt": 0, + "6802_00835500": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10138, + "Unit": 6, + "DataFrmt": 7, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 67 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + 832, + 58, + 213 + ] }, - "6300_40251E00": { - "Prio": 1, - "TagId": 450, - "TagIdEvtMsg": 10217, - "Unit": 18, - "DataFrmt": 0, + "6802_00835600": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10139, + "Unit": 6, + "DataFrmt": 7, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 67 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + 832, + 58, + 214 + ] }, - "6310_40651E00": { - "Prio": 3, - "TagId": 450, - "TagIdEvtMsg": 10217, - "Unit": 18, - "DataFrmt": 0, + "6802_00835700": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10140, + "Unit": 6, + "DataFrmt": 7, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 67 + 832, + 58, + 215 ] }, - "6380_40251E00": { - "Prio": 1, - "TagId": 450, - "TagIdEvtMsg": 10217, - "Unit": 18, - "DataFrmt": 0, - "Scale": 1, + "6102_40633E00": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10104, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 67 + 832, + 58, + 267 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, - "SumD": true + "MinD": true, + "MaxD": true }, - "6202_40254E00": { - "Prio": 1, - "TagId": 217, - "TagIdEvtMsg": 10078, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "6102_40633400": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10097, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 268 + 832, + 58, + 422 ], "Min": true, "Max": true, @@ -1373,337 +1746,538 @@ "MinD": true, "MaxD": true }, - "6102_40254E00": { + "6802_08834800": { + "Prio": 4, + "TagId": 216, + "TagIdEvtMsg": 10124, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 58 + ] + }, + "6200_40237700": { "Prio": 1, - "TagId": 217, - "TagIdEvtMsg": 10078, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 397, + "TagIdEvtMsg": 10067, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 834, - 268 + 832, + 58 ], "Min": true, "Max": true, "Avg": true, "Cnt": true, - "MinD": true, "MaxD": true }, - "6102_00254F00": { - "Prio": 1, - "TagId": 272, - "TagIdEvtMsg": 10079, - "Unit": 11, + "6800_08831900": { + "Prio": 4, + "TagId": 4150, + "TagIdEvtMsg": 12044, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 62, + 4065 + ] + }, + "6800_08838100": { + "Prio": 4, + "TagId": 700, + "TagIdEvtMsg": 10290, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6800_08838200": { + "Prio": 4, + "TagId": 701, + "TagIdEvtMsg": 10291, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6800_08838300": { + "Prio": 4, + "TagId": 702, + "TagIdEvtMsg": 10292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6802_08834200": { + "Prio": 4, + "TagId": 823, + "TagIdEvtMsg": 10034, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 266 + ] + }, + "6802_0083FE00": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11855, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 834, - 268 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267, + 3638 + ] }, - "6800_00852A00": { + "6802_0883FD00": { "Prio": 4, - "TagId": 2134, - "TagIdEvtMsg": 11043, - "Unit": 18, - "DataFrmt": 0, + "TagId": 3639, + "TagIdEvtMsg": 11854, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_00A33700": { + "Prio": 5, + "TagId": 3806, + "TagIdEvtMsg": 11888, + "DataFrmt": 15, "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 834, - 340 + 832, + 267, + 3638 + ], + "Hidden": true + }, + "6802_00A33800": { + "Prio": 5, + "TagId": 3807, + "TagIdEvtMsg": 11889, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ], + "Hidden": true + }, + "6802_0883FC00": { + "Prio": 4, + "TagId": 394, + "TagIdEvtMsg": 11853, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 ] }, - "6200_00465000": { - "Prio": 2, - "TagId": 325, - "TagIdEvtMsg": 10039, - "Unit": 3, + "6802_0883FB00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11852, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_4083BF00": { + "Prio": 4, + "TagId": 1357, + "TagIdEvtMsg": 10705, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true, - "Deprecated": true + 832, + 267, + 1350 + ] }, - "6200_40465300": { - "Prio": 2, - "TagId": 325, - "TagIdEvtMsg": 10039, - "Unit": 3, + "6802_4083BE00": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 10704, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267, + 1350 + ] }, - "6100_00465000": { - "Prio": 2, - "TagId": 325, - "TagIdEvtMsg": 10039, - "Unit": 3, + "6802_4083BD00": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 10703, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true, - "Deprecated": true + 832, + 267, + 1350 + ] }, - "6100_40465300": { - "Prio": 2, - "TagId": 325, - "TagIdEvtMsg": 10039, - "Unit": 3, + "6800_4083B900": { + "Prio": 4, + "TagId": 1351, + "TagIdEvtMsg": 10699, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267, + 1350 + ] }, - "6200_00465100": { - "Prio": 2, - "TagId": 327, - "TagIdEvtMsg": 10040, - "Unit": 3, + "6800_4083BA00": { + "Prio": 4, + "TagId": 1352, + "TagIdEvtMsg": 10700, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true, - "Deprecated": true + 832, + 267, + 1350 + ] }, - "6200_40465400": { - "Prio": 2, - "TagId": 327, - "TagIdEvtMsg": 10040, - "Unit": 3, + "6800_4083BB00": { + "Prio": 4, + "TagId": 1353, + "TagIdEvtMsg": 10701, + "Unit": 1361, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267, + 1350 + ] }, - "6100_00465100": { - "Prio": 2, - "TagId": 327, - "TagIdEvtMsg": 10040, - "Unit": 3, + "6800_4083BC00": { + "Prio": 4, + "TagId": 1354, + "TagIdEvtMsg": 10702, + "Unit": 1362, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true, - "Deprecated": true + 832, + 267, + 1350 + ] }, - "6100_40465400": { - "Prio": 2, - "TagId": 327, - "TagIdEvtMsg": 10040, - "Unit": 3, + "6802_0083C000": { + "Prio": 4, + "TagId": 1422, + "TagIdEvtMsg": 10735, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C500": { + "Prio": 4, + "TagId": 1221, + "TagIdEvtMsg": 10736, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C300": { + "Prio": 4, + "TagId": 1424, + "TagIdEvtMsg": 10738, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C100": { + "Prio": 4, + "TagId": 1423, + "TagIdEvtMsg": 10737, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C200": { + "Prio": 4, + "TagId": 1425, + "TagIdEvtMsg": 10739, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C400": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10740, + "Unit": 33, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083A800": { + "Prio": 4, + "TagId": 2470, + "TagIdEvtMsg": 11276, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267, + 1426, + 2469 + ] }, - "6200_00465200": { - "Prio": 2, - "TagId": 329, - "TagIdEvtMsg": 10041, - "Unit": 3, + "6802_0083A900": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 11277, + "Unit": 7, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2469 + ] + }, + "6802_4083A600": { + "Prio": 4, + "TagId": 2471, + "TagIdEvtMsg": 11274, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_4083A500": { + "Prio": 4, + "TagId": 2470, + "TagIdEvtMsg": 11273, + "Unit": 2467, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_0083A700": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 11275, + "Unit": 7, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_0083A300": { + "Prio": 4, + "TagId": 1414, + "TagIdEvtMsg": 10741, + "Unit": 1, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true, - "Deprecated": true + 832, + 267, + 1426 + ] }, - "6200_40465500": { - "Prio": 2, - "TagId": 329, - "TagIdEvtMsg": 10041, - "Unit": 3, + "6802_0083A200": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 10742, + "Unit": 7, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267, + 1426 + ] }, - "6100_00465200": { - "Prio": 2, - "TagId": 329, - "TagIdEvtMsg": 10041, + "6802_0883A400": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10743, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6102_00632300": { + "Prio": 3, + "TagId": 3940, + "TagIdEvtMsg": 11931, "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230, - 20 + 832, + 267 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, "MinD": true, - "MaxD": true, - "Deprecated": true + "MaxD": true }, - "6100_40465500": { - "Prio": 2, - "TagId": 329, - "TagIdEvtMsg": 10041, + "6802_00832600": { + "Prio": 4, + "TagId": 2560, + "TagIdEvtMsg": 11367, "Unit": 3, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 20 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267 + ] }, - "6200_00464800": { - "Prio": 2, - "TagId": 325, - "TagIdEvtMsg": 10035, - "Unit": 14, + "6102_00632400": { + "Prio": 3, + "TagId": 3941, + "TagIdEvtMsg": 11932, + "Unit": 3, "DataFrmt": 2, "Scale": 0.01, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230, - 331 + 832, + 267 ], "Min": true, "Max": true, @@ -1712,3770 +2286,41214 @@ "MinD": true, "MaxD": true }, - "6100_00464800": { - "Prio": 2, - "TagId": 325, - "TagIdEvtMsg": 10035, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 5, + "6802_08838900": { + "Prio": 4, + "TagId": 3637, + "TagIdEvtMsg": 11851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 331 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267 + ] }, - "6200_00464900": { - "Prio": 2, - "TagId": 327, - "TagIdEvtMsg": 10036, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, + "6802_0883FF00": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11933, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 5, "TagHier": [ - 835, - 230, - 331 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267 + ] }, - "6100_00464900": { - "Prio": 2, - "TagId": 327, - "TagIdEvtMsg": 10036, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 5, + "6802_08833200": { + "Prio": 4, + "TagId": 1660, + "TagIdEvtMsg": 10842, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 331 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267 + ] }, - "6200_00464A00": { - "Prio": 2, - "TagId": 329, - "TagIdEvtMsg": 10037, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 5, + "6802_08833D00": { + "Prio": 4, + "TagId": 3480, + "TagIdEvtMsg": 11672, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 331 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267 + ] }, - "6100_00464A00": { - "Prio": 2, - "TagId": 329, - "TagIdEvtMsg": 10037, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "6802_08A33300": { + "Prio": 5, + "TagId": 3700, + "TagIdEvtMsg": 11847, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832700": { + "Prio": 4, + "TagId": 2120, + "TagIdEvtMsg": 11041, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_40831C00": { + "Prio": 4, + "TagId": 4096, + "TagIdEvtMsg": 12030, + "Unit": 4098, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 230, - 331 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true + 832, + 267 + ] }, - "6200_00465700": { - "Prio": 2, - "TagId": 254, - "TagIdEvtMsg": 10042, + "6802_08833F00": { + "Prio": 4, + "TagId": 3549, + "TagIdEvtMsg": 11734, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833500": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 11366, "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6800_00831400": { + "Prio": 4, + "TagId": 4320, + "TagIdEvtMsg": 12155, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "AvgD": true + 832, + 267 + ] }, - "6100_00465700": { - "Prio": 2, - "TagId": 254, - "TagIdEvtMsg": 10042, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00831300": { + "Prio": 4, + "TagId": 4329, + "TagIdEvtMsg": 12154, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "AvgD": true + 832, + 267 + ] }, - "6180_08465A00": { + "6182_08434F00": { "Prio": 2, - "TagId": 1402, - "TagIdEvtMsg": 10711, + "TagId": 3620, + "TagIdEvtMsg": 11832, "DataFrmt": 18, "Typ": 1, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ] }, - "6200_00665900": { - "Prio": 3, - "TagId": 1401, - "TagIdEvtMsg": 10710, + "6802_00833000": { + "Prio": 4, + "TagId": 1063, + "TagIdEvtMsg": 10475, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_4083F700": { + "Prio": 4, + "TagId": 3473, + "TagIdEvtMsg": 11667, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Avg": true, - "AvgD": true + "Deprecated": true }, - "6100_00665900": { - "Prio": 3, - "TagId": 1401, - "TagIdEvtMsg": 10710, + "6802_4083F800": { + "Prio": 4, + "TagId": 3474, + "TagIdEvtMsg": 11668, "DataFrmt": 3, "Scale": 0.001, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Avg": true, - "AvgD": true + "Deprecated": true }, - "6200_40666700": { - "Prio": 3, - "TagId": 412, - "TagIdEvtMsg": 10047, - "Unit": 15, - "DataFrmt": 0, - "Scale": 1, + "6802_4083F900": { + "Prio": 4, + "TagId": 3475, + "TagIdEvtMsg": 11669, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + "Deprecated": true }, - "6100_40666700": { - "Prio": 3, - "TagId": 412, - "TagIdEvtMsg": 10047, - "Unit": 15, - "DataFrmt": 0, - "Scale": 1, + "6802_4083FA00": { + "Prio": 4, + "TagId": 3476, + "TagIdEvtMsg": 11670, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + "Deprecated": true }, - "6200_40665F00": { - "Prio": 3, - "TagId": 413, - "TagIdEvtMsg": 10043, - "Unit": 16, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, + "6180_08436400": { + "Prio": 2, + "TagId": 2099, + "TagIdEvtMsg": 11033, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 5, "TagHier": [ - 835, - 230 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + 832, + 267 + ] }, - "6100_40665F00": { - "Prio": 3, - "TagId": 413, - "TagIdEvtMsg": 10043, - "Unit": 16, + "6802_00833300": { + "Prio": 4, + "TagId": 380, + "TagIdEvtMsg": 10125, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08990800": { + "Prio": 4, + "TagId": 4987, + "TagIdEvtMsg": 12755, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6402_00435300": { + "Prio": 2, + "TagId": 4988, + "TagIdEvtMsg": 12756, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], - "Min": true, - "Max": true, "Sum": true, - "Avg": true, - "Cnt": true, "SumD": true }, - "6200_40263F00": { - "Prio": 1, - "TagId": 416, - "TagIdEvtMsg": 10030, - "Unit": 18, + "6802_08990900": { + "Prio": 4, + "TagId": 4989, + "TagIdEvtMsg": 12757, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08838A00": { + "Prio": 4, + "TagId": 3640, + "TagIdEvtMsg": 11856, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832F00": { + "Prio": 4, + "TagId": 1062, + "TagIdEvtMsg": 10474, + "Unit": 15, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + "Deprecated": true }, - "6100_40263F00": { - "Prio": 1, - "TagId": 416, - "TagIdEvtMsg": 10030, - "Unit": 18, + "6802_00832E00": { + "Prio": 4, + "TagId": 1061, + "TagIdEvtMsg": 10473, + "Unit": 15, "DataFrmt": 0, "Scale": 1, "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6100_40432600": { + "Prio": 2, + "TagId": 4754, + "TagIdEvtMsg": 12542, + "Unit": 4314, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 230 + 832, + 267 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, - "SumD": true + "MinD": true, + "MaxD": true }, - "6802_08861E00": { + "6802_00834600": { "Prio": 4, - "TagId": 312, - "TagIdEvtMsg": 10164, - "DataFrmt": 18, - "Typ": 1, + "TagId": 3621, + "TagIdEvtMsg": 11833, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 2, "TagHier": [ - 835, + 832, 267 ] }, - "6800_40A63B00": { - "Prio": 5, - "TagId": 2475, - "TagIdEvtMsg": 11281, - "Unit": 8, + "6802_00832D00": { + "Prio": 4, + "TagId": 1060, + "TagIdEvtMsg": 10472, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 835, - 290, - 230 - ] + 832, + 267 + ], + "Deprecated": true }, - "6800_40A63A00": { - "Prio": 5, - "TagId": 2474, - "TagIdEvtMsg": 11280, - "Unit": 8, + "6802_4083F300": { + "Prio": 4, + "TagId": 3469, + "TagIdEvtMsg": 11663, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 835, - 290, - 230 - ] + 832, + 267 + ], + "Deprecated": true }, - "6400_00462500": { - "Prio": 2, - "TagId": 417, - "TagIdEvtMsg": 10715, - "Unit": 19, + "6802_4083F400": { + "Prio": 4, + "TagId": 3470, + "TagIdEvtMsg": 11664, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 290, - 230 + 832, + 267 ], - "Sum": true, - "SumD": true + "Deprecated": true }, - "6400_00462400": { - "Prio": 2, - "TagId": 418, - "TagIdEvtMsg": 10714, - "Unit": 19, + "6802_4083F500": { + "Prio": 4, + "TagId": 3471, + "TagIdEvtMsg": 11665, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 290, - 230 + 832, + 267 ], - "Sum": true, - "SumD": true + "Deprecated": true }, - "6200_40463700": { - "Prio": 2, - "TagId": 890, - "TagIdEvtMsg": 10718, - "Unit": 18, + "6802_4083F600": { + "Prio": 4, + "TagId": 3472, + "TagIdEvtMsg": 11666, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 290, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + "Deprecated": true }, - "6100_40463700": { - "Prio": 2, - "TagId": 890, - "TagIdEvtMsg": 10718, - "Unit": 18, + "6802_00832C00": { + "Prio": 4, + "TagId": 1059, + "TagIdEvtMsg": 10471, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 290, - 230 + 832, + 267 ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + "Deprecated": true }, - "6200_40463600": { - "Prio": 2, - "TagId": 1408, - "TagIdEvtMsg": 10717, - "Unit": 18, + "6802_40831500": { + "Prio": 4, + "TagId": 1059, + "TagIdEvtMsg": 10471, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 835, - 290, - 230 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + 832, + 267 + ] }, - "6100_40463600": { + "6802_08830F00": { + "Prio": 4, + "TagId": 4550, + "TagIdEvtMsg": 12402, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833400": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 11365, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_40831D00": { + "Prio": 4, + "TagId": 4097, + "TagIdEvtMsg": 12031, + "Unit": 4099, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6100_00435400": { "Prio": 2, - "TagId": 1408, - "TagIdEvtMsg": 10717, + "TagId": 5052, + "TagIdEvtMsg": 12801, "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 290, - 230 + 832, + 267 + ] + }, + "6100_40432500": { + "Prio": 2, + "TagId": 4753, + "TagIdEvtMsg": 12541, + "Unit": 4314, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, - "SumD": true + "MinD": true, + "MaxD": true }, - "6400_00262200": { - "Prio": 1, - "TagId": 563, - "TagIdEvtMsg": 10272, - "Unit": 19, + "6800_00832A00": { + "Prio": 4, + "TagId": 314, + "TagIdEvtMsg": 10121, + "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 290 - ], - "Sum": true, - "SumD": true + 832, + 267 + ] }, - "6802_00A62B00": { - "Prio": 5, - "TagId": 410, - "TagIdEvtMsg": 10135, - "Unit": 6, - "DataFrmt": 7, + "6802_00832B00": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 10159, + "Unit": 18, + "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 835, - 290 + 832, + 267 ] }, - "6400_00462F00": { - "Prio": 2, - "TagId": 411, - "TagIdEvtMsg": 10012, - "Unit": 13, - "DataFrmt": 7, - "Scale": 1, - "Typ": 0, - "WriteLevel": 5, + "6802_08832900": { + "Prio": 4, + "TagId": 566, + "TagIdEvtMsg": 10274, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 835, - 290 - ], - "Sum": true, - "SumD": true + 832, + 267 + ] }, - "6800_00A63500": { - "Prio": 5, - "TagId": 530, - "TagIdEvtMsg": 10259, - "Unit": 8, + "6802_08832800": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_0083F100": { + "Prio": 4, + "TagId": 1786, + "TagIdEvtMsg": 10642, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 2, "TagHier": [ - 835, + 832, 290 ] }, - "6802_00A62A00": { - "Prio": 5, - "TagId": 408, - "TagIdEvtMsg": 10134, - "Unit": 6, - "DataFrmt": 7, + "6800_0083F200": { + "Prio": 4, + "TagId": 3575, + "TagIdEvtMsg": 10644, + "Unit": 8, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 1, "TagHier": [ - 835, + 832, 290 ] }, - "6400_00462E00": { + "6402_00432100": { "Prio": 2, - "TagId": 409, - "TagIdEvtMsg": 10011, - "Unit": 13, - "DataFrmt": 7, + "TagId": 2129, + "TagIdEvtMsg": 10643, + "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, + 832, 290 ], "Sum": true, "SumD": true }, - "6400_00260100": { - "Prio": 1, - "TagId": 418, - "TagIdEvtMsg": 10001, + "6400_00432200": { + "Prio": 2, + "TagId": 3576, + "TagIdEvtMsg": 10645, "Unit": 19, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, + 832, 290 ], "Sum": true, "SumD": true }, - "6402_00666F00": { - "Prio": 3, - "TagId": 237, - "TagIdEvtMsg": 10010, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 5, + "6802_08834700": { + "Prio": 4, + "TagId": 3642, + "TagIdEvtMsg": 11858, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 835, - 309 - ], - "Sum": true, - "SumD": true + 832, + 309, + 3376 + ] }, - "6200_0046C200": { - "Prio": 2, - "TagId": 2369, - "TagIdEvtMsg": 11220, - "Unit": 18, - "DataFrmt": 0, + "6800_00233400": { + "Prio": 1, + "TagId": 3716, + "TagIdEvtMsg": 11863, + "DataFrmt": 23, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 835, - 2360 - ], - "Min": true, - "Max": true, - "Sum": true, - "Avg": true, - "Cnt": true, - "SumD": true + 832, + 309, + 454 + ] }, - "6100_0046C200": { - "Prio": 2, - "TagId": 2369, - "TagIdEvtMsg": 11220, - "Unit": 18, - "DataFrmt": 0, - "Scale": 1, + "6800_00232B00": { + "Prio": 1, + "TagId": 65, + "TagIdEvtMsg": 11753, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 835, - 2360 + 832, + 309, + 454 + ] + }, + "6800_00232A00": { + "Prio": 1, + "TagId": 761, + "TagIdEvtMsg": 11752, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232D00": { + "Prio": 1, + "TagId": 763, + "TagIdEvtMsg": 11755, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232C00": { + "Prio": 1, + "TagId": 762, + "TagIdEvtMsg": 11754, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6100_00437B00": { + "Prio": 2, + "TagId": 4920, + "TagIdEvtMsg": 12727, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 ], "Min": true, "Max": true, - "Sum": true, "Avg": true, "Cnt": true, - "SumD": true + "MinD": true, + "MaxD": true }, - "6400_0046C300": { + "6400_00431E00": { "Prio": 2, - "TagId": 2366, - "TagIdEvtMsg": 11214, - "Unit": 19, + "TagId": 4918, + "TagIdEvtMsg": 12725, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, "TagHier": [ - 835, - 2360 + 832, + 309, + 454 ], "Sum": true, "SumD": true }, - "6802_0887A500": { - "Prio": 4, - "TagId": 50, - "TagIdEvtMsg": 11282, - "DataFrmt": 18, - "Scale": 1, - "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "6800_00232900": { + "Prio": 1, + "TagId": 331, + "TagIdEvtMsg": 11751, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 28 + 832, + 309, + 454 ] }, - "6802_00878200": { - "Prio": 4, - "TagId": 242, - "TagIdEvtMsg": 10176, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00232800": { + "Prio": 1, + "TagId": 760, + "TagIdEvtMsg": 11750, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 454 ] }, - "6802_00878300": { - "Prio": 4, - "TagId": 243, - "TagIdEvtMsg": 10177, - "Unit": 10, + "6400_00432900": { + "Prio": 2, + "TagId": 4919, + "TagIdEvtMsg": 12726, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 836, - 229, - 53, - 222 - ] + 832, + 309, + 454 + ], + "Sum": true, + "SumD": true }, - "6802_00878400": { - "Prio": 4, - "TagId": 245, - "TagIdEvtMsg": 10178, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00232700": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 11749, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 454 ] }, - "6802_00878500": { - "Prio": 4, - "TagId": 246, - "TagIdEvtMsg": 10179, - "Unit": 10, - "DataFrmt": 0, + "6800_00232600": { + "Prio": 1, + "TagId": 759, + "TagIdEvtMsg": 11748, + "Unit": 18, + "DataFrmt": 23, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 454 ] }, - "6802_00878600": { - "Prio": 4, - "TagId": 278, - "TagIdEvtMsg": 10180, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00232500": { + "Prio": 1, + "TagId": 758, + "TagIdEvtMsg": 11747, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 454 ] }, - "6802_00878700": { - "Prio": 4, - "TagId": 279, - "TagIdEvtMsg": 10181, - "Unit": 10, - "DataFrmt": 0, - "Scale": 1, + "6800_00233500": { + "Prio": 1, + "TagId": 437, + "TagIdEvtMsg": 11864, + "Unit": 16, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 454 ] }, - "6802_00878800": { + "6802_08830D00": { "Prio": 4, - "TagId": 281, - "TagIdEvtMsg": 10182, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, + "TagId": 4646, + "TagIdEvtMsg": 12443, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 4, "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 4279 ] }, - "6802_00878900": { - "Prio": 4, - "TagId": 282, - "TagIdEvtMsg": 10183, - "Unit": 10, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "6800_00232200": { + "Prio": 1, + "TagId": 286, + "TagIdEvtMsg": 11743, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 299 ] }, - "6802_00878F00": { - "Prio": 4, - "TagId": 1102, - "TagIdEvtMsg": 10501, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "6800_10233200": { + "Prio": 1, + "TagId": 294, + "TagIdEvtMsg": 11760, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 299 ] }, - "6802_00878E00": { - "Prio": 4, - "TagId": 1101, - "TagIdEvtMsg": 10500, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00233100": { + "Prio": 1, + "TagId": 372, + "TagIdEvtMsg": 11759, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 299 ] }, - "6802_00879000": { - "Prio": 4, - "TagId": 2011, - "TagIdEvtMsg": 11016, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "6800_10233000": { + "Prio": 1, + "TagId": 440, + "TagIdEvtMsg": 11758, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 299 ] }, - "6802_00879100": { + "6802_00833C00": { "Prio": 4, - "TagId": 2012, - "TagIdEvtMsg": 11017, - "Unit": 10, + "TagId": 1432, + "TagIdEvtMsg": 10750, + "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 1430, + 1431 ] }, - "6802_00879200": { + "6800_08833B00": { "Prio": 4, - "TagId": 2013, - "TagIdEvtMsg": 11018, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, + "TagId": 310, + "TagIdEvtMsg": 10749, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 1430 ] }, - "6802_00879300": { + "6800_00832100": { "Prio": 4, - "TagId": 2014, - "TagIdEvtMsg": 11019, - "Unit": 10, - "DataFrmt": 0, + "TagId": 2562, + "TagIdEvtMsg": 11370, + "Unit": 13, + "DataFrmt": 7, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 222 + 832, + 309, + 1775 ] }, - "6802_00875000": { + "6800_08831F00": { "Prio": 4, - "TagId": 242, - "TagIdEvtMsg": 10188, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "TagId": 733, + "TagIdEvtMsg": 11368, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309, + 1775 ] }, - "6802_00875100": { + "6800_08832200": { "Prio": 4, - "TagId": 243, - "TagIdEvtMsg": 10189, - "Unit": 10, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "TagId": 2563, + "TagIdEvtMsg": 11371, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309, + 1775 ] }, - "6802_00875200": { + "6800_00832000": { "Prio": 4, - "TagId": 245, - "TagIdEvtMsg": 10190, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 2554, + "TagIdEvtMsg": 11369, + "DataFrmt": 6, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309, + 1775 ] }, - "6802_00875300": { + "6800_08832300": { "Prio": 4, - "TagId": 246, - "TagIdEvtMsg": 10191, - "Unit": 10, - "DataFrmt": 0, + "TagId": 26, + "TagIdEvtMsg": 10119, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00234D00": { + "Prio": 1, + "TagId": 35, + "TagIdEvtMsg": 11744, + "DataFrmt": 23, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00875400": { + "6802_08834500": { "Prio": 4, - "TagId": 278, - "TagIdEvtMsg": 10192, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, + "TagId": 1428, + "TagIdEvtMsg": 10747, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00875500": { - "Prio": 4, - "TagId": 279, - "TagIdEvtMsg": 10193, - "Unit": 10, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "6180_08436800": { + "Prio": 2, + "TagId": 1429, + "TagIdEvtMsg": 10748, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00875600": { + "6802_08832500": { "Prio": 4, - "TagId": 281, - "TagIdEvtMsg": 10194, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, + "TagId": 2530, + "TagIdEvtMsg": 11330, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00875700": { + "6180_08432700": { + "Prio": 2, + "TagId": 4763, + "TagIdEvtMsg": 12546, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834400": { "Prio": 4, - "TagId": 282, - "TagIdEvtMsg": 10195, - "Unit": 10, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, + "TagId": 339, + "TagIdEvtMsg": 10116, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00876000": { - "Prio": 4, - "TagId": 3484, - "TagIdEvtMsg": 11674, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00232400": { + "Prio": 1, + "TagId": 757, + "TagIdEvtMsg": 11746, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00876100": { + "6802_0083CB00": { "Prio": 4, - "TagId": 3485, - "TagIdEvtMsg": 11675, - "Unit": 10, + "TagId": 1756, + "TagIdEvtMsg": 10926, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00876200": { - "Prio": 4, - "TagId": 3482, - "TagIdEvtMsg": 11676, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "6800_00232E00": { + "Prio": 1, + "TagId": 764, + "TagIdEvtMsg": 11756, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00876300": { - "Prio": 4, - "TagId": 3483, - "TagIdEvtMsg": 11677, - "Unit": 10, - "DataFrmt": 0, + "6800_00232300": { + "Prio": 1, + "TagId": 756, + "TagIdEvtMsg": 11745, + "DataFrmt": 23, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00877900": { + "6800_08834300": { "Prio": 4, - "TagId": 1102, - "TagIdEvtMsg": 10649, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "TagId": 3275, + "TagIdEvtMsg": 11600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00877800": { + "6802_00990600": { "Prio": 4, - "TagId": 1101, - "TagIdEvtMsg": 10648, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 4931, + "TagIdEvtMsg": 12728, + "Unit": 4227, + "DataFrmt": 7, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00877600": { + "6802_00990700": { "Prio": 4, - "TagId": 351, - "TagIdEvtMsg": 10198, - "Unit": 14, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 4932, + "TagIdEvtMsg": 12729, + "DataFrmt": 32, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_00877500": { + "6802_08837300": { "Prio": 4, - "TagId": 2111, - "TagIdEvtMsg": 11034, - "Unit": 10, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, + "TagId": 63, + "TagIdEvtMsg": 10143, + "DataFrmt": 30, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53, - 442 + 832, + 309 ] }, - "6802_40879400": { + "6800_08831E00": { "Prio": 4, - "TagId": 36, - "TagIdEvtMsg": 10167, - "Unit": 3, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, + "TagId": 310, + "TagIdEvtMsg": 10123, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 309 ] }, - "6802_00879500": { - "Prio": 4, - "TagId": 37, - "TagIdEvtMsg": 10168, - "Unit": 10, - "DataFrmt": 0, + "6800_00232F00": { + "Prio": 1, + "TagId": 765, + "TagIdEvtMsg": 11757, + "DataFrmt": 23, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229, - 53 + 832, + 309 ] }, - "6802_00873700": { - "Prio": 4, - "TagId": 232, - "TagIdEvtMsg": 10171, - "Unit": 13, - "DataFrmt": 3, - "Scale": 0.001, + "6402_00639D00": { + "Prio": 3, + "TagId": 357, + "TagIdEvtMsg": 10434, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_08830A00": { + "Prio": 4, + "TagId": 4709, + "TagIdEvtMsg": 12506, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 309 ] }, - "6802_00873600": { + "6802_08838000": { "Prio": 4, - "TagId": 233, - "TagIdEvtMsg": 10170, - "Unit": 13, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, + "TagId": 3614, + "TagIdEvtMsg": 11829, + "DataFrmt": 25, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 309 ] }, - "6802_00873500": { + "6802_08837F00": { "Prio": 4, - "TagId": 234, - "TagIdEvtMsg": 10169, - "Unit": 13, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, + "TagId": 3173, + "TagIdEvtMsg": 11828, + "DataFrmt": 25, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 309 ] }, - "6802_00873800": { - "Prio": 4, - "TagId": 236, - "TagIdEvtMsg": 10172, - "Unit": 13, - "DataFrmt": 3, - "Scale": 0.001, + "6100_40437500": { + "Prio": 2, + "TagId": 4893, + "TagIdEvtMsg": 12703, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 836, - 229, - 53 - ] + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_00877F00": { - "Prio": 4, - "TagId": 1103, - "TagIdEvtMsg": 10502, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "6100_40437600": { + "Prio": 2, + "TagId": 4894, + "TagIdEvtMsg": 12704, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 836, - 229, - 53 - ] + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_00872A00": { + "6802_08834D00": { "Prio": 4, - "TagId": 273, - "TagIdEvtMsg": 10203, - "Unit": 11, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, + "TagId": 52, + "TagIdEvtMsg": 10141, + "DataFrmt": 30, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 309 ] }, - "6802_08872000": { + "6800_08834F00": { "Prio": 4, - "TagId": 1369, - "TagIdEvtMsg": 10709, - "DataFrmt": 23, + "TagId": 1582, + "TagIdEvtMsg": 10277, + "DataFrmt": 30, "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00436200": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 12672, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, "WriteLevel": 5, "TagHier": [ - 836, - 229, - 53 + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00439C00": { + "Prio": 2, + "TagId": 3477, + "TagIdEvtMsg": 11671, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00234E00": { + "Prio": 1, + "TagId": 455, + "TagIdEvtMsg": 11761, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 ] }, - "6802_08872B00": { + "6802_08831700": { "Prio": 4, - "TagId": 323, - "TagIdEvtMsg": 10202, + "TagId": 4285, + "TagIdEvtMsg": 12145, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 394 ] }, - "6802_00874D00": { + "6802_08838800": { "Prio": 4, - "TagId": 449, - "TagIdEvtMsg": 10257, - "Unit": 14, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, + "TagId": 1348, + "TagIdEvtMsg": 10697, + "DataFrmt": 30, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 836, - 229, - 53 + 832, + 394 ] }, - "6180_08671E00": { - "Prio": 3, - "TagId": 53, - "TagIdEvtMsg": 10126, + "6800_08838700": { + "Prio": 4, + "TagId": 877, + "TagIdEvtMsg": 10374, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 836, - 229 + 832, + 394 ] }, - "6800_08871E00": { + "6802_08831800": { "Prio": 4, - "TagId": 53, - "TagIdEvtMsg": 10126, + "TagId": 4278, + "TagIdEvtMsg": 12134, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 836, - 229 + 832, + 394 ] }, - "6802_08672200": { - "Prio": 3, - "TagId": 453, - "TagIdEvtMsg": 10205, + "6802_08833A00": { + "Prio": 4, + "TagId": 3133, + "TagIdEvtMsg": 11525, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 836, - 229 - ], - "Deprecated": true + 832, + 394 + ] }, - "6802_08872200": { + "6802_08833900": { "Prio": 4, - "TagId": 453, - "TagIdEvtMsg": 10205, + "TagId": 3217, + "TagIdEvtMsg": 11566, "DataFrmt": 18, "Typ": 1, "WriteLevel": 5, "TagHier": [ - 836, - 229 + 832, + 394 ] }, - "6802_08871F00": { + "6800_08838B00": { "Prio": 4, - "TagId": 54, - "TagIdEvtMsg": 10201, - "DataFrmt": 30, + "TagId": 730, + "TagIdEvtMsg": 10314, + "DataFrmt": 18, "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 836, - 229 + 832, + 703 ] }, - "6180_084AAA00": { - "Prio": 2, - "TagId": 240, - "TagIdEvtMsg": 11174, - "DataFrmt": 18, + "6800_08839000": { + "Prio": 4, + "TagId": 1828, + "TagIdEvtMsg": 10950, + "DataFrmt": 25, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 839, - 290, - 2314 + 832, + 703 ] }, - "6800_008AA200": { - "Prio": 4, - "TagId": 2244, - "TagIdEvtMsg": 11173, - "DataFrmt": 15, + "6100_00439700": { + "Prio": 2, + "TagId": 1701, + "TagIdEvtMsg": 10874, + "Unit": 13, + "DataFrmt": 6, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 5, "TagHier": [ - 839, - 290, - 2314 - ] - }, - "6800_008AA300": { - "Prio": 4, - "TagId": 3199, - "TagIdEvtMsg": 11552, - "DataFrmt": 15, - "Scale": 1, - "Typ": 0, - "WriteLevel": 5, - "TagHier": [ - 839, - 290, - 2314 - ] - }, - "6800_088A3300": { - "Prio": 4, - "TagId": 733, - "TagIdEvtMsg": 12146, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 1, - "TagHier": [ - 839, - 309, - 4288 + 832, + 703 ], - "Hidden": true + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_108A2300": { + "6800_10838F00": { "Prio": 4, - "TagId": 819, - "TagIdEvtMsg": 11777, + "TagId": 1626, + "TagIdEvtMsg": 10834, "DataFrmt": 8, "Typ": 2, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 839, - 818 + 832, + 703 ] }, - "6180_084A9700": { - "Prio": 2, - "TagId": 1711, - "TagIdEvtMsg": 10879, + "6800_08830E00": { + "Prio": 4, + "TagId": 4645, + "TagIdEvtMsg": 12442, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 839, - 1708, - 1709 + 832, + 703 ] }, - "6182_084A9E00": { - "Prio": 2, - "TagId": 1728, - "TagIdEvtMsg": 10896, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 5, + "6800_40A32100": { + "Prio": 5, + "TagId": 4809, + "TagIdEvtMsg": 12632, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 839, - 1708, - 1709 + 832, + 703 ] }, - "6180_084A9600": { - "Prio": 2, - "TagId": 50, - "TagIdEvtMsg": 10878, + "6800_00A31F00": { + "Prio": 5, + "TagId": 1144, + "TagIdEvtMsg": 10517, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838C00": { + "Prio": 4, + "TagId": 3258, + "TagIdEvtMsg": 11592, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 839, - 1708, - 1709 + 832, + 703 ] }, - "6180_104A9D00": { - "Prio": 2, - "TagId": 1715, - "TagIdEvtMsg": 10885, - "DataFrmt": 8, - "Typ": 2, + "F000_00236D00": { + "Prio": 1, + "TagId": 398, + "TagIdEvtMsg": 10278, + "Unit": 13, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, "WriteLevel": 5, "TagHier": [ - 839, - 1708 + 832, + 703 ] }, - "6180_104A9C00": { - "Prio": 2, - "TagId": 1714, - "TagIdEvtMsg": 10884, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6800_08836F00": { + "Prio": 4, + "TagId": 1058, + "TagIdEvtMsg": 10518, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 839, - 1708 + 832, + 703 ] }, - "6180_104A9A00": { - "Prio": 2, - "TagId": 1712, - "TagIdEvtMsg": 10882, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6800_08836E00": { + "Prio": 4, + "TagId": 731, + "TagIdEvtMsg": 10315, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 839, - 1708 + 832, + 703 ] }, - "6180_104A9B00": { - "Prio": 2, - "TagId": 1713, - "TagIdEvtMsg": 10883, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6800_08838E00": { + "Prio": 4, + "TagId": 1638, + "TagIdEvtMsg": 10833, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 839, - 1708 + 832, + 703 ] }, - "6800_088A8A00": { + "6800_08838D00": { "Prio": 4, - "TagId": 1718, - "TagIdEvtMsg": 10889, + "TagId": 732, + "TagIdEvtMsg": 10316, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, - "GroupChange": [ - "6800_10AA6400", - "6800_10AA6300", - "6800_10AA6100", - "6800_10AA6200" - ], "TagHier": [ - 839, - 1708 + 832, + 703 ] }, - "6800_10AA6400": { - "Prio": 5, - "TagId": 714, - "TagIdEvtMsg": 10893, - "DataFrmt": 27, - "Typ": 2, + "6800_08839500": { + "Prio": 4, + "TagId": 1317, + "TagIdEvtMsg": 10317, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 1, - "GroupChange": [ - "6800_088A8A00", - "6800_10AA6300", - "6800_10AA6100", - "6800_10AA6200" - ], "TagHier": [ - 839, - 1708 + 832, + 704 ] }, - "6800_10AA6300": { - "Prio": 5, - "TagId": 715, - "TagIdEvtMsg": 10892, - "DataFrmt": 27, - "Typ": 2, + "6800_00839600": { + "Prio": 4, + "TagId": 1318, + "TagIdEvtMsg": 10318, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, "WriteLevel": 1, - "GroupChange": [ - "6800_088A8A00", - "6800_10AA6400", - "6800_10AA6100", - "6800_10AA6200" - ], "TagHier": [ - 839, - 1708 + 832, + 704 ] }, - "6802_008A7600": { + "6800_00990300": { "Prio": 4, - "TagId": 3233, - "TagIdEvtMsg": 11588, - "Unit": 13, - "DataFrmt": 0, + "TagId": 4789, + "TagIdEvtMsg": 12584, + "DataFrmt": 32, "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 1, "TagHier": [ - 839, - 1708 + 832, + 704 ] }, - "6802_088A7500": { + "6800_08839700": { "Prio": 4, - "TagId": 3147, - "TagIdEvtMsg": 11527, - "DataFrmt": 18, + "TagId": 1232, + "TagIdEvtMsg": 10667, + "DataFrmt": 25, "Typ": 1, - "WriteLevel": 2, + "WriteLevel": 1, "TagHier": [ - 839, - 1708 + 832, + 704 ] }, - "6800_10AA6100": { - "Prio": 5, - "TagId": 716, - "TagIdEvtMsg": 10890, - "DataFrmt": 27, - "Typ": 2, - "WriteLevel": 1, - "GroupChange": [ - "6800_088A8A00", - "6800_10AA6400", - "6800_10AA6300", - "6800_10AA6200" - ], + "6802_08839800": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10776, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 839, - 1708 + 832, + 704 ] }, - "6800_10AA6200": { - "Prio": 5, - "TagId": 717, - "TagIdEvtMsg": 10891, - "DataFrmt": 27, - "Typ": 2, - "WriteLevel": 1, - "GroupChange": [ - "6800_088A8A00", - "6800_10AA6400", - "6800_10AA6300", - "6800_10AA6100" + "6400_00638A00": { + "Prio": 3, + "TagId": 1501, + "TagIdEvtMsg": 10771, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 ], + "Sum": true, + "SumD": true + }, + "6800_00839900": { + "Prio": 4, + "TagId": 1561, + "TagIdEvtMsg": 10787, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 839, - 1708 + 832, + 704 ] }, - "6800_088A5B00": { + "6100_00638900": { + "Prio": 3, + "TagId": 1502, + "TagIdEvtMsg": 10772, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ], + "Min": true, + "Max": true, + "MinD": true, + "MaxD": true + }, + "6800_08835800": { "Prio": 4, - "TagId": 1826, - "TagIdEvtMsg": 11775, + "TagId": 754, + "TagIdEvtMsg": 10361, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, - "GroupChange": [ - "6800_108A5A00", - "6800_108A5900" - ], "TagHier": [ - 839, - 3313, - 817 + 832, + 711 ] }, - "6800_108A5A00": { + "6800_08835700": { "Prio": 4, - "TagId": 3320, - "TagIdEvtMsg": 11774, - "DataFrmt": 20, - "Typ": 2, + "TagId": 733, + "TagIdEvtMsg": 10360, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 1, - "GroupChange": [ - "6800_088A5B00", - "6800_108A5900" - ], - "Len": 63, "TagHier": [ - 839, - 3313, - 817 + 832, + 711 ] }, - "6800_108A5900": { + "6802_08835100": { "Prio": 4, - "TagId": 3319, - "TagIdEvtMsg": 11773, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 1, - "GroupChange": [ - "6800_088A5B00", - "6800_108A5A00" - ], - "Len": 32, - "TagHier": [ - 839, - 3313, - 817 - ] - }, - "6180_084ABB00": { - "Prio": 2, - "TagId": 3365, - "TagIdEvtMsg": 11636, + "TagId": 3494, + "TagIdEvtMsg": 11684, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 839, - 3313 + 832, + 1234 ] }, - "6180_104ABA00": { - "Prio": 2, - "TagId": 1715, - "TagIdEvtMsg": 11605, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6802_00831A00": { + "Prio": 4, + "TagId": 4152, + "TagIdEvtMsg": 12050, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, "TagHier": [ - 839, - 3313 + 832, + 1340, + 2638 ] }, - "6180_104AB900": { - "Prio": 2, - "TagId": 1714, - "TagIdEvtMsg": 11604, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6802_00831B00": { + "Prio": 4, + "TagId": 4153, + "TagIdEvtMsg": 12051, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, "TagHier": [ - 839, - 3313 + 832, + 1340, + 2638 ] }, - "6180_104AB700": { - "Prio": 2, - "TagId": 1712, - "TagIdEvtMsg": 11602, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6800_0083AF00": { + "Prio": 4, + "TagId": 1345, + "TagIdEvtMsg": 10707, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340, + 1359 ] }, - "6180_104AB800": { - "Prio": 2, - "TagId": 1713, - "TagIdEvtMsg": 11603, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "6800_0083B000": { + "Prio": 4, + "TagId": 1360, + "TagIdEvtMsg": 10708, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340, + 1359 ] }, - "6800_088A5200": { + "6800_0883AE00": { "Prio": 4, - "TagId": 1718, - "TagIdEvtMsg": 11615, + "TagId": 50, + "TagIdEvtMsg": 10698, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, - "GroupChange": [ - "6800_108A5600", - "6800_108A5500", - "6800_108A5300", - "6800_108A5400" - ], "TagHier": [ - 839, - 3313 + 832, + 1340, + 1349 ] }, - "6180_084ABC00": { - "Prio": 2, - "TagId": 3316, - "TagIdEvtMsg": 11607, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 5, + "6800_0083AC00": { + "Prio": 4, + "TagId": 1345, + "TagIdEvtMsg": 10695, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340, + 1343 ] }, - "6800_108A5600": { + "6800_0083AD00": { "Prio": 4, - "TagId": 714, - "TagIdEvtMsg": 11619, - "DataFrmt": 27, - "Typ": 2, + "TagId": 1346, + "TagIdEvtMsg": 10696, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, "WriteLevel": 1, - "GroupChange": [ - "6800_088A5200", - "6800_108A5500", - "6800_108A5300", - "6800_108A5400" - ], "TagHier": [ - 839, - 3313 + 832, + 1340, + 1343 ] }, - "6800_088AA500": { + "6800_0083AB00": { "Prio": 4, - "TagId": 3342, - "TagIdEvtMsg": 11621, - "DataFrmt": 18, - "Typ": 1, + "TagId": 1344, + "TagIdEvtMsg": 10694, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340, + 1343 ] }, - "6800_088A5100": { + "6800_0883B300": { "Prio": 4, - "TagId": 3321, - "TagIdEvtMsg": 11614, + "TagId": 2606, + "TagIdEvtMsg": 11427, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340, + 2604 ] }, - "6800_108AA400": { + "6800_0083B200": { "Prio": 4, - "TagId": 3315, - "TagIdEvtMsg": 11606, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 5, + "TagId": 2605, + "TagIdEvtMsg": 11426, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340, + 2604 ] }, - "6800_108A5500": { + "6800_0083B100": { "Prio": 4, - "TagId": 715, - "TagIdEvtMsg": 11618, - "DataFrmt": 27, - "Typ": 2, + "TagId": 2657, + "TagIdEvtMsg": 11425, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, "WriteLevel": 1, - "GroupChange": [ - "6800_088A5200", - "6800_108A5600", - "6800_108A5300", - "6800_108A5400" - ], "TagHier": [ - 839, - 3313 + 832, + 1340, + 2604 ] }, - "6800_108A5300": { + "6802_4083C600": { "Prio": 4, - "TagId": 716, - "TagIdEvtMsg": 11616, - "DataFrmt": 27, - "Typ": 2, - "WriteLevel": 1, - "GroupChange": [ - "6800_088A5200", - "6800_108A5600", - "6800_108A5500", - "6800_108A5400" - ], + "TagId": 2607, + "TagIdEvtMsg": 11430, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, "TagHier": [ - 839, - 3313 + 832, + 1340 ] }, - "6800_088A4C00": { + "6800_0883AA00": { "Prio": 4, - "TagId": 733, - "TagIdEvtMsg": 11609, + "TagId": 1347, + "TagIdEvtMsg": 10693, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340 ] }, - "6100_004AB600": { - "Prio": 2, - "TagId": 3314, - "TagIdEvtMsg": 11601, - "Unit": 1, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 5, - "TagHier": [ - 839, - 3313 - ], - "Min": true, - "Max": true, - "Avg": true, - "Cnt": true, - "MinD": true, - "MaxD": true - }, - "6800_108A5400": { + "6800_0883B500": { "Prio": 4, - "TagId": 717, - "TagIdEvtMsg": 11617, - "DataFrmt": 27, - "Typ": 2, + "TagId": 3097, + "TagIdEvtMsg": 11428, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 1, - "GroupChange": [ - "6800_088A5200", - "6800_108A5600", - "6800_108A5500", - "6800_108A5300" - ], "TagHier": [ - 839, - 3313 + 832, + 1340 ] }, - "6800_088A4D00": { + "6800_0883B600": { "Prio": 4, - "TagId": 3318, - "TagIdEvtMsg": 11610, + "TagId": 3098, + "TagIdEvtMsg": 11429, "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, "TagHier": [ - 839, - 3313 + 832, + 1340 ] }, - "6800_088B7000": { - "Prio": 4, - "TagId": 733, - "TagIdEvtMsg": 10824, + "6182_08636900": { + "Prio": 3, + "TagId": 50, + "TagIdEvtMsg": 10917, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 840, - 1628, - 1629 + 832, + 1340 ] }, - "6800_008B7100": { + "6182_08436C00": { + "Prio": 2, + "TagId": 3985, + "TagIdEvtMsg": 11974, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436A00": { + "Prio": 2, + "TagId": 3099, + "TagIdEvtMsg": 11431, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436B00": { + "Prio": 2, + "TagId": 3100, + "TagIdEvtMsg": 11432, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_40833700": { "Prio": 4, - "TagId": 330, - "TagIdEvtMsg": 10825, - "DataFrmt": 15, + "TagId": 1465, + "TagIdEvtMsg": 10763, + "Unit": 1, + "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 840, - 1628, - 1629 + 832, + 1343 ] }, - "6800_088B7200": { + "6802_08831200": { "Prio": 4, - "TagId": 733, - "TagIdEvtMsg": 10826, + "TagId": 2531, + "TagIdEvtMsg": 12292, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, "TagHier": [ - 840, - 1628, - 1630 + 832, + 1343 ] }, - "6800_008B7300": { + "6800_08833600": { "Prio": 4, - "TagId": 330, - "TagIdEvtMsg": 10827, - "DataFrmt": 15, - "Scale": 1, - "Typ": 0, + "TagId": 310, + "TagIdEvtMsg": 10762, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, "TagHier": [ - 840, - 1628, - 1630 + 832, + 1343 ] }, - "6800_088B5200": { + "6800_08833800": { "Prio": 4, - "TagId": 733, - "TagIdEvtMsg": 10887, + "TagId": 1766, + "TagIdEvtMsg": 10939, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 1, + "WriteLevel": 2, "TagHier": [ - 840, - 1716 + 832, + 1343 ] }, - "6180_084B1E00": { + "6182_08437100": { "Prio": 2, - "TagId": 50, - "TagIdEvtMsg": 10886, + "TagId": 4178, + "TagIdEvtMsg": 12062, "DataFrmt": 18, "Typ": 1, "WriteLevel": 5, "TagHier": [ - 840, - 1716 + 832, + 1463 ] }, - "6800_008B2E00": { + "6182_08437000": { + "Prio": 2, + "TagId": 4177, + "TagIdEvtMsg": 12061, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1463 + ] + }, + "6800_0083D700": { "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 12132, - "DataFrmt": 9, + "TagId": 2667, + "TagIdEvtMsg": 11436, + "Unit": 13, + "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 840, - 1716 + 832, + 1531, + 1537 ] }, - "6802_008B8A00": { + "6800_4083D500": { "Prio": 4, - "TagId": 2010, - "TagIdEvtMsg": 11015, + "TagId": 2665, + "TagIdEvtMsg": 11434, + "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 1, "TagHier": [ - 840, - 2018, - 2019 + 832, + 1531, + 1537 ] }, - "6802_108B8B00": { + "6800_0083D600": { "Prio": 4, - "TagId": 2112, - "TagIdEvtMsg": 11035, - "DataFrmt": 8, - "Typ": 2, - "WriteLevel": 2, - "GridGuard": true, + "TagId": 2666, + "TagIdEvtMsg": 11435, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 840, - 2018, - 2019 + 832, + 1531, + 1537 ] }, - "6800_088E7B00": { + "6800_0883D200": { "Prio": 4, - "TagId": 1590, - "TagIdEvtMsg": 10794, - "DataFrmt": 23, + "TagId": 1532, + "TagIdEvtMsg": 10777, + "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 843, - 309 + 832, + 1531 ] }, - "680E_088E7B00": { + "6800_0883D300": { "Prio": 4, - "TagId": 1590, - "TagIdEvtMsg": 10794, - "DataFrmt": 23, + "TagId": 1533, + "TagIdEvtMsg": 10778, + "DataFrmt": 18, "Typ": 1, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ - 843, - 309 + 832, + 1531 ] }, - "6802_00912A00": { + "6800_0883D400": { "Prio": 4, - "TagId": 253, - "TagIdEvtMsg": 10382, - "DataFrmt": 10, - "Scale": 1, - "Typ": 0, - "WriteLevel": 5, + "TagId": 1537, + "TagIdEvtMsg": 10783, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, "TagHier": [ - 846, - 299, - 901 + 832, + 1531 ] }, - "6802_00912B00": { + "6800_0883D800": { "Prio": 4, - "TagId": 348, - "TagIdEvtMsg": 10383, - "DataFrmt": 0, - "Scale": 1, - "Typ": 0, - "WriteLevel": 3, + "TagId": 49, + "TagIdEvtMsg": 11683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 901 + 832, + 1639, + 3347 ] }, - "6802_00B12900": { - "Prio": 5, - "TagId": 372, - "TagIdEvtMsg": 10385, - "DataFrmt": 15, - "Scale": 1, + "6800_0083C700": { + "Prio": 4, + "TagId": 3063, + "TagIdEvtMsg": 11623, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 901 + 832, + 1639, + 3347 ] }, - "6802_00B12A00": { - "Prio": 5, - "TagId": 880, - "TagIdEvtMsg": 10386, - "DataFrmt": 0, - "Scale": 1, + "6800_00839100": { + "Prio": 4, + "TagId": 3486, + "TagIdEvtMsg": 11679, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 901 + 832, + 1639, + 3347 ] }, - "6802_00912900": { + "6800_0083C900": { "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 10381, - "DataFrmt": 9, - "Scale": 1, + "TagId": 3064, + "TagIdEvtMsg": 11625, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 901 + 832, + 1639, + 3347 ] }, - "6802_00912300": { + "6800_00839300": { "Prio": 4, - "TagId": 348, - "TagIdEvtMsg": 10377, - "DataFrmt": 0, - "Scale": 1, + "TagId": 3487, + "TagIdEvtMsg": 11681, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 3, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 900 + 832, + 1639, + 3347 ] }, - "6802_00B12100": { - "Prio": 5, - "TagId": 372, - "TagIdEvtMsg": 10379, - "DataFrmt": 15, - "Scale": 1, + "6800_4083C800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11624, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 900 + 832, + 1639, + 3347 ] }, - "6800_00912100": { + "6800_40839200": { "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 10375, - "DataFrmt": 9, - "Scale": 1, + "TagId": 3488, + "TagIdEvtMsg": 11680, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 900 + 832, + 1639, + 3347 ] }, - "6802_00919900": { + "6800_4083CA00": { "Prio": 4, - "TagId": 393, - "TagIdEvtMsg": 11593, - "DataFrmt": 9, - "Scale": 1, + "TagId": 1611, + "TagIdEvtMsg": 11626, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 2, "TagHier": [ - 846, - 299, - 921 + 832, + 1639, + 3347 ] }, - "6802_0892EC00": { + "6800_40839400": { "Prio": 4, - "TagId": 2501, - "TagIdEvtMsg": 11303, - "DataFrmt": 18, - "Typ": 1, + "TagId": 3489, + "TagIdEvtMsg": 11682, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1075 + 832, + 1639, + 3347 ] }, - "6802_4092EE00": { - "Prio": 4, - "TagId": 2504, - "TagIdEvtMsg": 11305, - "DataFrmt": 26, - "Scale": 0.0001, + "6100_0043AF00": { + "Prio": 2, + "TagId": 3067, + "TagIdEvtMsg": 11472, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 2500, - 1075 - ] + 832, + 1639, + 3065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_0892EF00": { + "6800_0883CC00": { "Prio": 4, - "TagId": 2505, - "TagIdEvtMsg": 11306, + "TagId": 49, + "TagIdEvtMsg": 11467, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1075 + 832, + 1639, + 3065 ] }, - "6802_0092ED00": { + "6800_0083CE00": { "Prio": 4, - "TagId": 2502, - "TagIdEvtMsg": 11304, - "Unit": 13, - "DataFrmt": 7, - "Scale": 1, + "TagId": 3063, + "TagIdEvtMsg": 11469, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1075 + 832, + 1639, + 3065 ] }, - "6802_0892E900": { + "6800_0083D000": { "Prio": 4, - "TagId": 2501, - "TagIdEvtMsg": 11300, - "DataFrmt": 18, - "Typ": 1, + "TagId": 3064, + "TagIdEvtMsg": 11471, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1072 + 832, + 1639, + 3065 ] }, - "6802_4092EB00": { + "6800_4083CD00": { "Prio": 4, - "TagId": 2503, - "TagIdEvtMsg": 11302, + "TagId": 1608, + "TagIdEvtMsg": 11468, "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1072 + 832, + 1639, + 3065 ] }, - "6802_0092EA00": { + "6800_4083CF00": { "Prio": 4, - "TagId": 2502, - "TagIdEvtMsg": 11301, - "Unit": 13, - "DataFrmt": 7, - "Scale": 1, + "TagId": 1610, + "TagIdEvtMsg": 11470, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1072 + 832, + 1639, + 3065 ] }, - "6802_0892E600": { + "6800_0883D100": { "Prio": 4, - "TagId": 2501, - "TagIdEvtMsg": 11297, + "TagId": 49, + "TagIdEvtMsg": 11473, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1079 + 832, + 1639, + 3066 ] }, - "6802_0092E800": { - "Prio": 4, - "TagId": 2513, - "TagIdEvtMsg": 11299, - "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, - "Typ": 0, - "WriteLevel": 2, + "6180_0843B000": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11474, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 2500, - 1079 + 832, + 1639, + 3066 ] }, - "6802_0092E700": { + "6800_0883D900": { "Prio": 4, - "TagId": 2502, - "TagIdEvtMsg": 11298, - "Unit": 13, - "DataFrmt": 7, - "Scale": 1, - "Typ": 0, + "TagId": 49, + "TagIdEvtMsg": 11700, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 2500, - 1079 + 832, + 1639, + 3512 ] }, - "6802_00928000": { - "Prio": 4, - "TagId": 1538, - "TagIdEvtMsg": 10784, - "Unit": 1, + "6100_4043A700": { + "Prio": 2, + "TagId": 1642, + "TagIdEvtMsg": 10837, + "Unit": 1266, "DataFrmt": 2, "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1230, - 1262 - ] + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_00928C00": { - "Prio": 4, - "TagId": 1604, - "TagIdEvtMsg": 10797, - "Unit": 13, - "DataFrmt": 1, - "Scale": 0.1, + "6100_4043A800": { + "Prio": 2, + "TagId": 1643, + "TagIdEvtMsg": 10838, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 1603 - ] + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_00928F00": { - "Prio": 4, - "TagId": 1607, - "TagIdEvtMsg": 10800, - "DataFrmt": 0, - "Scale": 1, + "6100_4043A900": { + "Prio": 2, + "TagId": 1644, + "TagIdEvtMsg": 10839, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AB00": { + "Prio": 2, + "TagId": 1856, + "TagIdEvtMsg": 10954, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AA00": { + "Prio": 2, + "TagId": 1645, + "TagIdEvtMsg": 10840, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AC00": { + "Prio": 2, + "TagId": 1857, + "TagIdEvtMsg": 10955, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AD00": { + "Prio": 2, + "TagId": 1858, + "TagIdEvtMsg": 10956, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AE00": { + "Prio": 2, + "TagId": 1859, + "TagIdEvtMsg": 10957, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_1043A500": { + "Prio": 2, + "TagId": 1640, + "TagIdEvtMsg": 10835, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 ] }, - "6802_08928A00": { - "Prio": 4, - "TagId": 1973, - "TagIdEvtMsg": 10981, + "6180_1043A600": { + "Prio": 2, + "TagId": 1641, + "TagIdEvtMsg": 10836, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_0843A300": { + "Prio": 2, + "TagId": 2053, + "TagIdEvtMsg": 11029, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1639 ] }, - "6802_40929000": { - "Prio": 4, - "TagId": 1608, - "TagIdEvtMsg": 10801, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "6180_0843A400": { + "Prio": 2, + "TagId": 2054, + "TagIdEvtMsg": 11030, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1639 ] }, - "6802_40929200": { + "6800_00831000": { "Prio": 4, - "TagId": 1610, - "TagIdEvtMsg": 10803, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 3066, + "TagIdEvtMsg": 210026, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1639 ] }, - "6802_40929400": { + "6A02_00831000": { "Prio": 4, - "TagId": 1612, - "TagIdEvtMsg": 10805, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 3066, + "TagIdEvtMsg": 210026, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1639 ] }, - "6802_40929600": { + "6802_08834100": { "Prio": 4, - "TagId": 1614, - "TagIdEvtMsg": 10807, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, + "TagId": 1821, + "TagIdEvtMsg": 10944, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1735 ] }, - "6802_08928B00": { + "6800_08838400": { "Prio": 4, - "TagId": 1974, - "TagIdEvtMsg": 10982, + "TagId": 2561, + "TagIdEvtMsg": 10520, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1883 ] }, - "6802_40929100": { - "Prio": 4, - "TagId": 1609, - "TagIdEvtMsg": 10802, - "DataFrmt": 3, - "Scale": 0.001, + "6800_00238500": { + "Prio": 1, + "TagId": 3569, + "TagIdEvtMsg": 10521, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 - ] + 832, + 1883 + ], + "Deprecated": true }, - "6802_40929300": { + "6800_00838500": { "Prio": 4, - "TagId": 1611, - "TagIdEvtMsg": 10804, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 3569, + "TagIdEvtMsg": 10521, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1883 ] }, - "6802_40929500": { + "6802_0883DA00": { "Prio": 4, - "TagId": 1613, - "TagIdEvtMsg": 10806, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, + "TagId": 1882, + "TagIdEvtMsg": 10964, + "DataFrmt": 30, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1883 ] }, - "6802_40929700": { - "Prio": 4, - "TagId": 1615, - "TagIdEvtMsg": 10808, - "DataFrmt": 3, - "Scale": 0.001, - "Typ": 0, + "6802_08A33600": { + "Prio": 5, + "TagId": 1881, + "TagIdEvtMsg": 10963, + "DataFrmt": 30, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1603 + 832, + 1883 ] }, - "6802_0092B400": { - "Prio": 4, - "TagId": 1604, - "TagIdEvtMsg": 10983, - "Unit": 13, - "DataFrmt": 1, - "Scale": 0.1, + "6800_00238600": { + "Prio": 1, + "TagId": 3570, + "TagIdEvtMsg": 10522, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 - ] + 832, + 1883 + ], + "Deprecated": true }, - "6802_0092B700": { + "6800_00838600": { "Prio": 4, - "TagId": 1607, - "TagIdEvtMsg": 10986, + "TagId": 3570, + "TagIdEvtMsg": 10522, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 1883 ] }, - "6802_0892B800": { + "6802_0883EE00": { "Prio": 4, - "TagId": 1973, - "TagIdEvtMsg": 10987, + "TagId": 3376, + "TagIdEvtMsg": 11638, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 3377 ] }, - "6802_4092BA00": { + "6802_0083F000": { "Prio": 4, - "TagId": 1608, - "TagIdEvtMsg": 10989, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 1588, + "TagIdEvtMsg": 11640, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 3377 ] }, - "6802_4092BC00": { + "6802_0083EF00": { "Prio": 4, - "TagId": 1610, - "TagIdEvtMsg": 10990, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2245, + "TagIdEvtMsg": 11639, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 3377 ] }, - "6802_4092BE00": { + "6802_4083DB00": { "Prio": 4, - "TagId": 1612, - "TagIdEvtMsg": 10991, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2246, + "TagIdEvtMsg": 11123, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_4092C000": { + "6802_4083DC00": { "Prio": 4, - "TagId": 1614, - "TagIdEvtMsg": 10992, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2247, + "TagIdEvtMsg": 11124, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_0892B900": { + "6802_4083DD00": { "Prio": 4, - "TagId": 1974, - "TagIdEvtMsg": 10988, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2248, + "TagIdEvtMsg": 11125, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_4092BB00": { + "6802_4083DE00": { "Prio": 4, - "TagId": 1609, - "TagIdEvtMsg": 10997, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2249, + "TagIdEvtMsg": 11126, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_4092BD00": { + "6802_4083DF00": { "Prio": 4, - "TagId": 1611, - "TagIdEvtMsg": 10998, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2250, + "TagIdEvtMsg": 11127, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_4092BF00": { + "6802_4083E000": { "Prio": 4, - "TagId": 1613, - "TagIdEvtMsg": 10999, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2251, + "TagIdEvtMsg": 11128, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_4092C100": { + "6802_4083E100": { "Prio": 4, - "TagId": 1615, - "TagIdEvtMsg": 11000, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2252, + "TagIdEvtMsg": 11129, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 1991 + 832, + 2003, + 2245 ] }, - "6802_08920500": { + "6802_4083E200": { "Prio": 4, - "TagId": 1973, - "TagIdEvtMsg": 11705, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2253, + "TagIdEvtMsg": 11130, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920700": { + "6802_4083E300": { "Prio": 4, - "TagId": 1608, - "TagIdEvtMsg": 11707, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2254, + "TagIdEvtMsg": 11131, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920900": { + "6802_4083E400": { "Prio": 4, - "TagId": 1610, - "TagIdEvtMsg": 11708, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2255, + "TagIdEvtMsg": 11132, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920B00": { + "6802_4083E500": { "Prio": 4, - "TagId": 1612, - "TagIdEvtMsg": 11709, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2256, + "TagIdEvtMsg": 11133, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920D00": { + "6802_4083E600": { "Prio": 4, - "TagId": 1614, - "TagIdEvtMsg": 11710, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2257, + "TagIdEvtMsg": 11134, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_08920600": { + "6802_4083E700": { "Prio": 4, - "TagId": 1974, - "TagIdEvtMsg": 11706, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2258, + "TagIdEvtMsg": 11135, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920800": { + "6802_4083E800": { "Prio": 4, - "TagId": 1609, - "TagIdEvtMsg": 11715, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2259, + "TagIdEvtMsg": 11136, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920A00": { + "6802_4083E900": { "Prio": 4, - "TagId": 1611, - "TagIdEvtMsg": 11716, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2260, + "TagIdEvtMsg": 11137, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920C00": { + "6802_4083EA00": { "Prio": 4, - "TagId": 1613, - "TagIdEvtMsg": 11717, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2261, + "TagIdEvtMsg": 11138, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003, + 2245 ] }, - "6802_40920E00": { + "6802_0083EB00": { "Prio": 4, - "TagId": 1615, - "TagIdEvtMsg": 11718, - "DataFrmt": 3, - "Scale": 0.001, + "TagId": 2262, + "TagIdEvtMsg": 11139, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3513 + 832, + 2003 ] }, - "6802_08924D00": { + "6802_4083EC00": { "Prio": 4, - "TagId": 2274, - "TagIdEvtMsg": 11529, + "TagId": 2263, + "TagIdEvtMsg": 11140, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_0083ED00": { + "Prio": 4, + "TagId": 2264, + "TagIdEvtMsg": 11141, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_08830C00": { + "Prio": 4, + "TagId": 4657, + "TagIdEvtMsg": 12452, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, "GridGuard": true, "TagHier": [ - 847, - 267, - 1602, - 3159 + 832, + 2003 ] }, - "6802_00924C00": { + "6802_00839C00": { "Prio": 4, - "TagId": 1601, - "TagIdEvtMsg": 11528, - "DataFrmt": 0, + "TagId": 393, + "TagIdEvtMsg": 11295, + "DataFrmt": 9, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1602, - 3159 + 832, + 2497, + 2498 ] }, - "6802_40923100": { + "6802_00830B00": { "Prio": 4, - "TagId": 1039, - "TagIdEvtMsg": 10455, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 393, + "TagIdEvtMsg": 12486, + "DataFrmt": 9, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1038 + 832, + 2497, + 4686, + 4687 ] }, - "6802_08923200": { + "6802_0083A000": { "Prio": 4, - "TagId": 1040, - "TagIdEvtMsg": 10456, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "TagId": 393, + "TagIdEvtMsg": 11662, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1038 + 832, + 2497, + 3432 ] }, - "6A02_00923500": { + "6802_00839B00": { "Prio": 4, - "TagId": 1039, - "TagIdEvtMsg": 10587, - "DataFrmt": 26, - "Scale": 0.0001, + "TagId": 393, + "TagIdEvtMsg": 11553, + "DataFrmt": 9, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1194 + 832, + 2497, + 3200 ] }, - "6A12_00923500": { + "6802_00839A00": { "Prio": 4, - "TagId": 1039, - "TagIdEvtMsg": 10587, - "DataFrmt": 26, - "Scale": 0.0001, + "TagId": 393, + "TagIdEvtMsg": 11554, + "DataFrmt": 9, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1194 + 832, + 2497, + 3201 ] }, - "6A02_40923700": { + "6802_00839F00": { "Prio": 4, - "TagId": 3481, - "TagIdEvtMsg": 11673, - "DataFrmt": 26, - "Scale": 0.0001, + "TagId": 393, + "TagIdEvtMsg": 11620, + "DataFrmt": 9, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1194 + 832, + 2497, + 3328 ] }, - "6A02_08923600": { + "6802_00839D00": { "Prio": 4, - "TagId": 1040, - "TagIdEvtMsg": 10588, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "TagId": 393, + "TagIdEvtMsg": 11296, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1194 + 832, + 2497, + 2499 ] }, - "6A12_08923600": { + "6802_00839E00": { "Prio": 4, - "TagId": 1040, - "TagIdEvtMsg": 10588, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "TagId": 393, + "TagIdEvtMsg": 11543, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1194 + 832, + 2497, + 3197 ] }, - "6802_00927400": { + "6802_00837500": { "Prio": 4, - "TagId": 1990, - "TagIdEvtMsg": 10980, + "TagId": 2603, + "TagIdEvtMsg": 11449, "Unit": 1, - "DataFrmt": 1, - "Scale": 0.1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1043 + 832, + 2600, + 3039 ] }, - "6802_00927300": { + "6802_00837400": { "Prio": 4, - "TagId": 1989, - "TagIdEvtMsg": 10979, + "TagId": 2602, + "TagIdEvtMsg": 11451, "Unit": 1, - "DataFrmt": 1, - "Scale": 0.1, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1043 + 832, + 2600, + 3039 ] }, - "6802_08927200": { + "6802_00836E00": { "Prio": 4, - "TagId": 1046, - "TagIdEvtMsg": 10460, + "TagId": 2555, + "TagIdEvtMsg": 11421, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00990000": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12596, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836B00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11453, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00990500": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12597, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836D00": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11420, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600 + ] + }, + "6802_00836C00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11419, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600 + ] + }, + "6802_00837E00": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11450, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837D00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11452, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837100": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11424, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00990200": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12598, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837200": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11454, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00990100": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12599, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837000": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11423, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601 + ] + }, + "6802_00836F00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11422, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601 + ] + }, + "6182_08434C00": { + "Prio": 2, + "TagId": 310, + "TagIdEvtMsg": 11433, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 2608 + ] + }, + "6800_00A32000": { + "Prio": 5, + "TagId": 2555, + "TagIdEvtMsg": 12624, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 4715, + 4717 + ] + }, + "6180_08435200": { + "Prio": 2, + "TagId": 4949, + "TagIdEvtMsg": 12736, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 4715 + ] + }, + "6802_08990400": { + "Prio": 4, + "TagId": 4794, + "TagIdEvtMsg": 12600, "DataFrmt": 18, "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1043 + 832, + 4715 ] }, - "6802_08926F00": { + "6182_08441F00": { + "Prio": 2, + "TagId": 5105, + "TagIdEvtMsg": 12829, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6180_08441E00": { + "Prio": 2, + "TagId": 5104, + "TagIdEvtMsg": 12828, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6800_00842400": { "Prio": 4, - "TagId": 1044, - "TagIdEvtMsg": 10457, + "TagId": 5107, + "TagIdEvtMsg": 12831, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6800_08842300": { + "Prio": 4, + "TagId": 5106, + "TagIdEvtMsg": 12830, "DataFrmt": 18, "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6802_08842200": { + "Prio": 4, + "TagId": 4544, + "TagIdEvtMsg": 12400, + "DataFrmt": 23, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1043 + 833, + 584 ] }, - "6802_00927100": { + "6802_10841F00": { "Prio": 4, - "TagId": 1047, - "TagIdEvtMsg": 10461, + "TagId": 592, + "TagIdEvtMsg": 10285, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6800_10841E00": { + "Prio": 4, + "TagId": 591, + "TagIdEvtMsg": 10284, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6102_00455000": { + "Prio": 2, + "TagId": 272, + "TagIdEvtMsg": 11547, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6322_00854D00": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 10247, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 57 + ] + }, + "6802_00855D00": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 10610, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_08855C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10612, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_00853400": { + "Prio": 4, + "TagId": 4157, + "TagIdEvtMsg": 12053, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10853700": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12076, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_08853100": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12047, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10852400": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12016, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10853200": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12048, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_08853000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12046, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_40852200": { + "Prio": 4, + "TagId": 752, + "TagIdEvtMsg": 12014, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_10852100": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12013, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_00852300": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12015, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_10853600": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12075, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852500": { + "Prio": 4, + "TagId": 4068, + "TagIdEvtMsg": 12017, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_08852800": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12020, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852600": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12018, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10853300": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12049, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852900": { + "Prio": 4, + "TagId": 4068, + "TagIdEvtMsg": 12019, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_00852E00": { + "Prio": 4, + "TagId": 4148, + "TagIdEvtMsg": 12042, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_08852700": { + "Prio": 4, + "TagId": 4069, + "TagIdEvtMsg": 12041, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_00852F00": { + "Prio": 4, + "TagId": 4149, + "TagIdEvtMsg": 12043, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6802_00856400": { + "Prio": 4, + "TagId": 3209, + "TagIdEvtMsg": 11558, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 3208 + ] + }, + "6802_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851F00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 10241, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851F00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 10241, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00853500": { + "Prio": 4, + "TagId": 444, + "TagIdEvtMsg": 10243, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6180_08653A00": { + "Prio": 3, + "TagId": 4151, + "TagIdEvtMsg": 12045, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ] + }, + "6100_00653200": { + "Prio": 3, + "TagId": 4205, + "TagIdEvtMsg": 12079, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6100_00653100": { + "Prio": 3, + "TagId": 4204, + "TagIdEvtMsg": 12078, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6200_40652900": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 12022, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652900": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 12022, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_00652C00": { + "Prio": 3, + "TagId": 3314, + "TagIdEvtMsg": 12025, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_00652C00": { + "Prio": 3, + "TagId": 3314, + "TagIdEvtMsg": 12025, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652B00": { + "Prio": 3, + "TagId": 395, + "TagIdEvtMsg": 12024, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652B00": { + "Prio": 3, + "TagId": 395, + "TagIdEvtMsg": 12024, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652800": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 12021, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652800": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 12021, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652A00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 12023, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6100_40652A00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 12023, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6200_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7250_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73D0_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6180_00656A00": { + "Prio": 3, + "TagId": 1819, + "TagIdEvtMsg": 10942, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40456800": { + "Prio": 2, + "TagId": 39, + "TagIdEvtMsg": 10221, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08656900": { + "Prio": 3, + "TagId": 1703, + "TagIdEvtMsg": 10877, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6400_00453300": { + "Prio": 2, + "TagId": 4812, + "TagIdEvtMsg": 12635, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00456B00": { + "Prio": 2, + "TagId": 5125, + "TagIdEvtMsg": 12834, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456C00": { + "Prio": 2, + "TagId": 5126, + "TagIdEvtMsg": 12835, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456D00": { + "Prio": 2, + "TagId": 5127, + "TagIdEvtMsg": 12836, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456E00": { + "Prio": 2, + "TagId": 5128, + "TagIdEvtMsg": 12837, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456F00": { + "Prio": 2, + "TagId": 5129, + "TagIdEvtMsg": 12838, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457000": { + "Prio": 2, + "TagId": 5130, + "TagIdEvtMsg": 12839, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457100": { + "Prio": 2, + "TagId": 5131, + "TagIdEvtMsg": 12840, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457200": { + "Prio": 2, + "TagId": 5132, + "TagIdEvtMsg": 12841, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457300": { + "Prio": 2, + "TagId": 5133, + "TagIdEvtMsg": 12842, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457400": { + "Prio": 2, + "TagId": 5134, + "TagIdEvtMsg": 12843, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457500": { + "Prio": 2, + "TagId": 5135, + "TagIdEvtMsg": 12844, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457600": { + "Prio": 2, + "TagId": 5136, + "TagIdEvtMsg": 12845, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457700": { + "Prio": 2, + "TagId": 5137, + "TagIdEvtMsg": 12846, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457800": { + "Prio": 2, + "TagId": 5138, + "TagIdEvtMsg": 12847, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457900": { + "Prio": 2, + "TagId": 5139, + "TagIdEvtMsg": 12848, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457A00": { + "Prio": 2, + "TagId": 5140, + "TagIdEvtMsg": 12849, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6800_00854000": { + "Prio": 4, + "TagId": 4814, + "TagIdEvtMsg": 12637, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 834, + 67 + ] + }, + "6200_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70D0_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "7240_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73C0_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40456700": { + "Prio": 2, + "TagId": 446, + "TagIdEvtMsg": 10222, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6300_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6310_40651E00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "7230_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73B0_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40256600": { + "Prio": 1, + "TagId": 451, + "TagIdEvtMsg": 10223, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00455100": { + "Prio": 2, + "TagId": 272, + "TagIdEvtMsg": 11548, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6202_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7270_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ] + }, + "6200_40458A00": { + "Prio": 2, + "TagId": 219, + "TagIdEvtMsg": 10051, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7260_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ] + }, + "6200_40458B00": { + "Prio": 2, + "TagId": 274, + "TagIdEvtMsg": 10052, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00455B00": { + "Prio": 2, + "TagId": 1427, + "TagIdEvtMsg": 10744, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6400_00652700": { + "Prio": 3, + "TagId": 1739, + "TagIdEvtMsg": 12029, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 4067 + ], + "Sum": true, + "Hidden": true, + "SumD": true + }, + "6202_00454A00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11329, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00454A00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11329, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00454C00": { + "Prio": 2, + "TagId": 2528, + "TagIdEvtMsg": 11327, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6202_40652300": { + "Prio": 3, + "TagId": 3866, + "TagIdEvtMsg": 11909, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ] + }, + "6102_40652300": { + "Prio": 3, + "TagId": 3866, + "TagIdEvtMsg": 11909, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ] + }, + "6400_00454B00": { + "Prio": 2, + "TagId": 2527, + "TagIdEvtMsg": 11326, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6402_00454D00": { + "Prio": 2, + "TagId": 2526, + "TagIdEvtMsg": 11325, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6200_00452200": { + "Prio": 2, + "TagId": 2529, + "TagIdEvtMsg": 11328, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00452200": { + "Prio": 2, + "TagId": 2529, + "TagIdEvtMsg": 11328, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_08654900": { + "Prio": 3, + "TagId": 297, + "TagIdEvtMsg": 10876, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 1702, + 888 + ] + }, + "6180_08654800": { + "Prio": 3, + "TagId": 50, + "TagIdEvtMsg": 10875, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 1702 + ] + }, + "6800_08A51E00": { + "Prio": 5, + "TagId": 4955, + "TagIdEvtMsg": 12737, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 309, + 4956 + ] + }, + "6180_08652600": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12028, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4066 + ], + "Hidden": true + }, + "6180_08652500": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12027, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4065 + ], + "Hidden": true + }, + "6180_08652400": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12026, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4067 + ], + "Hidden": true + }, + "6802_08857000": { + "Prio": 4, + "TagId": 3622, + "TagIdEvtMsg": 11834, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857100": { + "Prio": 4, + "TagId": 3623, + "TagIdEvtMsg": 11835, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_08857400": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10437, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6100_0065A800": { + "Prio": 3, + "TagId": 1489, + "TagIdEvtMsg": 10765, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 892 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08857200": { + "Prio": 4, + "TagId": 3624, + "TagIdEvtMsg": 11836, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857500": { + "Prio": 4, + "TagId": 3495, + "TagIdEvtMsg": 11685, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_08857300": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10436, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00853F00": { + "Prio": 4, + "TagId": 4811, + "TagIdEvtMsg": 12634, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857600": { + "Prio": 4, + "TagId": 3496, + "TagIdEvtMsg": 11686, + "Unit": 34, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6402_00654700": { + "Prio": 3, + "TagId": 382, + "TagIdEvtMsg": 10673, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_40459000": { + "Prio": 2, + "TagId": 815, + "TagIdEvtMsg": 10004, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08852C00": { + "Prio": 4, + "TagId": 4147, + "TagIdEvtMsg": 12040, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309 + ] + }, + "6800_08853A00": { + "Prio": 4, + "TagId": 4268, + "TagIdEvtMsg": 12130, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 309 + ] + }, + "6800_00852A00": { + "Prio": 4, + "TagId": 2134, + "TagIdEvtMsg": 11043, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 340 + ] + }, + "6802_08852B00": { + "Prio": 4, + "TagId": 2557, + "TagIdEvtMsg": 11362, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 394 + ] + }, + "6102_00452F00": { + "Prio": 2, + "TagId": 3206, + "TagIdEvtMsg": 11556, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00453000": { + "Prio": 2, + "TagId": 3207, + "TagIdEvtMsg": 11557, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00452E00": { + "Prio": 2, + "TagId": 3205, + "TagIdEvtMsg": 11555, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00857F00": { + "Prio": 4, + "TagId": 3210, + "TagIdEvtMsg": 11559, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858100": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 11561, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858000": { + "Prio": 4, + "TagId": 3211, + "TagIdEvtMsg": 11560, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858200": { + "Prio": 4, + "TagId": 3212, + "TagIdEvtMsg": 11562, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6180_0865A600": { + "Prio": 3, + "TagId": 1490, + "TagIdEvtMsg": 10766, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234 + ] + }, + "6180_0865A700": { + "Prio": 3, + "TagId": 1491, + "TagIdEvtMsg": 10767, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234 + ] + }, + "6180_08452D00": { + "Prio": 2, + "TagId": 4816, + "TagIdEvtMsg": 12638, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 4821 + ] + }, + "6100_00572A00": { + "Prio": 2, + "TagId": 2359, + "TagIdEvtMsg": 12561, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 46, + 1072 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572900": { + "Prio": 2, + "TagId": 2357, + "TagIdEvtMsg": 12560, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 46, + 1079 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7220_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ] + }, + "6200_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10064, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40468400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10065, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40468500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10066, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70A0_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "7210_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464B00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 10788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464B00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 10788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70B0_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464C00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11031, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464C00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11031, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70C0_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464D00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11032, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464D00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11032, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467B00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10054, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467E00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 11093, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467C00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10055, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467F00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11094, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467D00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10056, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468000": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11095, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40572000": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12498, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 413 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40571F00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210016, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40571F00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210016, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40666800": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10048, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666800": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10048, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666900": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10049, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666900": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10049, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666A00": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10050, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666A00": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10050, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666000": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10044, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666000": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10044, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666100": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10045, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666100": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10045, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666200": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10046, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666200": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10046, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10031, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10031, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10032, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10032, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10033, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10033, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00468D00": { + "Prio": 2, + "TagId": 3218, + "TagIdEvtMsg": 11567, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00467000": { + "Prio": 2, + "TagId": 580, + "TagIdEvtMsg": 10731, + "Unit": 1282, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00867300": { + "Prio": 4, + "TagId": 1419, + "TagIdEvtMsg": 10732, + "Unit": 1290, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 230 + ] + }, + "6180_08467200": { + "Prio": 2, + "TagId": 1420, + "TagIdEvtMsg": 10733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6800_08867200": { + "Prio": 4, + "TagId": 1420, + "TagIdEvtMsg": 10733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "70E0_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_40468B00": { + "Prio": 2, + "TagId": 259, + "TagIdEvtMsg": 10057, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00667100": { + "Prio": 3, + "TagId": 1421, + "TagIdEvtMsg": 10734, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6200_00664F00": { + "Prio": 3, + "TagId": 406, + "TagIdEvtMsg": 10038, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00664F00": { + "Prio": 3, + "TagId": 406, + "TagIdEvtMsg": 10038, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468200": { + "Prio": 2, + "TagId": 407, + "TagIdEvtMsg": 10063, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_00665800": { + "Prio": 3, + "TagId": 1327, + "TagIdEvtMsg": 10686, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665800": { + "Prio": 3, + "TagId": 1327, + "TagIdEvtMsg": 10686, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40665B00": { + "Prio": 3, + "TagId": 3497, + "TagIdEvtMsg": 11687, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_40665B00": { + "Prio": 3, + "TagId": 3497, + "TagIdEvtMsg": 11687, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6180_08465A00": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 10711, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40467600": { + "Prio": 2, + "TagId": 1104, + "TagIdEvtMsg": 10488, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6200_40265F00": { + "Prio": 1, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_40265F00": { + "Prio": 1, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40668C00": { + "Prio": 3, + "TagId": 414, + "TagIdEvtMsg": 10061, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Cnt": true + }, + "6200_40669600": { + "Prio": 3, + "TagId": 415, + "TagIdEvtMsg": 10062, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Cnt": true + }, + "6200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "7200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_40267500": { + "Prio": 1, + "TagId": 419, + "TagIdEvtMsg": 10058, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40669500": { + "Prio": 3, + "TagId": 420, + "TagIdEvtMsg": 10060, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40669400": { + "Prio": 3, + "TagId": 421, + "TagIdEvtMsg": 10059, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40467A00": { + "Prio": 2, + "TagId": 446, + "TagIdEvtMsg": 10053, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08A61E00": { + "Prio": 5, + "TagId": 3808, + "TagIdEvtMsg": 11890, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 3638 + ] + }, + "6802_08A61F00": { + "Prio": 5, + "TagId": 3809, + "TagIdEvtMsg": 11891, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 3638 + ] + }, + "6802_00864100": { + "Prio": 4, + "TagId": 255, + "TagIdEvtMsg": 10166, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 304 + ] + }, + "6802_00864000": { + "Prio": 4, + "TagId": 256, + "TagIdEvtMsg": 10165, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 304 + ] + }, + "6802_08867200": { + "Prio": 4, + "TagId": 4545, + "TagIdEvtMsg": 12262, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_00865F00": { + "Prio": 4, + "TagId": 1205, + "TagIdEvtMsg": 10660, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_08867800": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12398, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_40866000": { + "Prio": 4, + "TagId": 1226, + "TagIdEvtMsg": 10662, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ], + "Deprecated": true + }, + "6802_40862000": { + "Prio": 4, + "TagId": 3805, + "TagIdEvtMsg": 11900, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_08861E00": { + "Prio": 4, + "TagId": 312, + "TagIdEvtMsg": 10164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866100": { + "Prio": 4, + "TagId": 4367, + "TagIdEvtMsg": 12208, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866200": { + "Prio": 4, + "TagId": 4368, + "TagIdEvtMsg": 12209, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866300": { + "Prio": 4, + "TagId": 4369, + "TagIdEvtMsg": 12210, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866400": { + "Prio": 4, + "TagId": 4370, + "TagIdEvtMsg": 12211, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6102_40467400": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11546, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_40467300": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11545, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00866D00": { + "Prio": 4, + "TagId": 4358, + "TagIdEvtMsg": 12199, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866900": { + "Prio": 4, + "TagId": 4357, + "TagIdEvtMsg": 12198, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866E00": { + "Prio": 4, + "TagId": 4359, + "TagIdEvtMsg": 12200, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866F00": { + "Prio": 4, + "TagId": 4360, + "TagIdEvtMsg": 12201, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867000": { + "Prio": 4, + "TagId": 4361, + "TagIdEvtMsg": 12202, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867100": { + "Prio": 4, + "TagId": 4362, + "TagIdEvtMsg": 12203, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867400": { + "Prio": 4, + "TagId": 4363, + "TagIdEvtMsg": 12204, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867500": { + "Prio": 4, + "TagId": 4364, + "TagIdEvtMsg": 12205, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867600": { + "Prio": 4, + "TagId": 4365, + "TagIdEvtMsg": 12206, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867700": { + "Prio": 4, + "TagId": 4366, + "TagIdEvtMsg": 12207, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866600": { + "Prio": 4, + "TagId": 3676, + "TagIdEvtMsg": 12195, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866500": { + "Prio": 4, + "TagId": 4354, + "TagIdEvtMsg": 12194, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866800": { + "Prio": 4, + "TagId": 4356, + "TagIdEvtMsg": 12197, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866700": { + "Prio": 4, + "TagId": 4355, + "TagIdEvtMsg": 12196, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6800_08868D00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 10792, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6800_08868E00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 10793, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6800_08868F00": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 10850, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6400_0046DD00": { + "Prio": 2, + "TagId": 3225, + "TagIdEvtMsg": 11576, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E100": { + "Prio": 2, + "TagId": 3229, + "TagIdEvtMsg": 11580, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DF00": { + "Prio": 2, + "TagId": 3227, + "TagIdEvtMsg": 11578, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E300": { + "Prio": 2, + "TagId": 3231, + "TagIdEvtMsg": 11582, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DE00": { + "Prio": 2, + "TagId": 3226, + "TagIdEvtMsg": 11577, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E200": { + "Prio": 2, + "TagId": 3230, + "TagIdEvtMsg": 11581, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E000": { + "Prio": 2, + "TagId": 3228, + "TagIdEvtMsg": 11579, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E400": { + "Prio": 2, + "TagId": 3232, + "TagIdEvtMsg": 11583, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6100_4046A200": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11570, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046A300": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 11584, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046A400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 11585, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6100_4046A100": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11569, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046A000": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11568, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046D900": { + "Prio": 2, + "TagId": 1689, + "TagIdEvtMsg": 11512, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DB00": { + "Prio": 2, + "TagId": 3113, + "TagIdEvtMsg": 11514, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DA00": { + "Prio": 2, + "TagId": 3112, + "TagIdEvtMsg": 11513, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DC00": { + "Prio": 2, + "TagId": 3114, + "TagIdEvtMsg": 11515, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63900": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10843, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1456 + ] + }, + "6100_40468600": { + "Prio": 2, + "TagId": 3117, + "TagIdEvtMsg": 11491, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462600": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10786, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6200_40463900": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10756, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463900": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10756, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046FC00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12344, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6100_4046FD00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 12345, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046CF00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 11502, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D100": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11504, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D000": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11503, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D200": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11505, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00663000": { + "Prio": 3, + "TagId": 409, + "TagIdEvtMsg": 10912, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_40464300": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11691, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00462D00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 11586, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00662B00": { + "Prio": 3, + "TagId": 1724, + "TagIdEvtMsg": 10910, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6200_40462C00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10901, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40462C00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10901, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12093, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12093, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12094, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12094, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00573D00": { + "Prio": 2, + "TagId": 4804, + "TagIdEvtMsg": 12613, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00573C00": { + "Prio": 2, + "TagId": 4803, + "TagIdEvtMsg": 12612, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046E500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467800": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12100, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467800": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12100, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11789, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11789, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467900": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12101, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467900": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12101, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E700": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11790, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E700": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11790, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467700": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12099, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467700": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12099, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40572F00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12573, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572C00": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12570, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572E00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12572, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572200": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12497, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6400_00462000": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210014, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469700": { + "Prio": 2, + "TagId": 4653, + "TagIdEvtMsg": 200097, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469B00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210011, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00574000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12571, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469A00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210010, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6200_40571E00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210015, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40571E00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210015, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40469300": { + "Prio": 2, + "TagId": 4653, + "TagIdEvtMsg": 200096, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046FE00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12494, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40572100": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210013, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40572100": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210013, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40572B00": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12569, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_4046FF00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210012, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40466C00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12095, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466C00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12095, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466D00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12096, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466D00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12096, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466E00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12097, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466E00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12097, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572500": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12549, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_4046EE00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11797, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046EE00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11797, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046EF00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11798, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046EF00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11798, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F000": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11799, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046F000": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11799, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572400": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12548, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046E800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11791, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11791, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11792, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11792, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046EA00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11793, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EA00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11793, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572600": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12550, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 4772 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046EB00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11794, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EB00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11794, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046EC00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11795, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EC00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11795, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046ED00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046ED00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00469200": { + "Prio": 2, + "TagId": 24, + "TagIdEvtMsg": 12214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00469100": { + "Prio": 2, + "TagId": 25, + "TagIdEvtMsg": 12213, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462A00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 10940, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462800": { + "Prio": 2, + "TagId": 1689, + "TagIdEvtMsg": 10860, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462700": { + "Prio": 2, + "TagId": 563, + "TagIdEvtMsg": 10859, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_00468100": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 12098, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00468100": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 12098, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_08862300": { + "Prio": 4, + "TagId": 4059, + "TagIdEvtMsg": 12011, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_0046D400": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11507, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D700": { + "Prio": 2, + "TagId": 3113, + "TagIdEvtMsg": 11510, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D300": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11506, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D600": { + "Prio": 2, + "TagId": 3112, + "TagIdEvtMsg": 11509, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D500": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11508, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D800": { + "Prio": 2, + "TagId": 3114, + "TagIdEvtMsg": 11511, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6802_00863700": { + "Prio": 4, + "TagId": 1525, + "TagIdEvtMsg": 10775, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6802_00863600": { + "Prio": 4, + "TagId": 1524, + "TagIdEvtMsg": 10774, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63B00": { + "Prio": 5, + "TagId": 2475, + "TagIdEvtMsg": 11281, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_00A63800": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10791, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63A00": { + "Prio": 5, + "TagId": 2474, + "TagIdEvtMsg": 11280, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_00A63700": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10790, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6200_00464E00": { + "Prio": 2, + "TagId": 1327, + "TagIdEvtMsg": 12091, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00464E00": { + "Prio": 2, + "TagId": 1327, + "TagIdEvtMsg": 12091, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40469900": { + "Prio": 2, + "TagId": 3497, + "TagIdEvtMsg": 12450, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6180_08469800": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 12451, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6402_00669F00": { + "Prio": 3, + "TagId": 1448, + "TagIdEvtMsg": 10753, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6402_00669E00": { + "Prio": 3, + "TagId": 1447, + "TagIdEvtMsg": 10752, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_40468F00": { + "Prio": 2, + "TagId": 412, + "TagIdEvtMsg": 12102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40468F00": { + "Prio": 2, + "TagId": 412, + "TagIdEvtMsg": 12102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F100": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11800, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046F100": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11800, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463300": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11628, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572300": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 12547, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "7040_00262500": { + "Prio": 1, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "7060_00262500": { + "Prio": 1, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_00462400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "7030_00262400": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "7050_00262400": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6200_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00666300": { + "Prio": 3, + "TagId": 4052, + "TagIdEvtMsg": 12006, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00666400": { + "Prio": 3, + "TagId": 4053, + "TagIdEvtMsg": 12007, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08869400": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10844, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_08869700": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10847, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_00869A00": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11112, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6180_08463C00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11437, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_08869500": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10845, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_08869800": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10848, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_00869B00": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11113, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6180_08463D00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_08869600": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10846, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6800_08869900": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10849, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6800_00869C00": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11114, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6180_08463E00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6400_0046CB00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 11498, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CD00": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11500, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CC00": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11499, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CE00": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11501, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6802_00863500": { + "Prio": 4, + "TagId": 1524, + "TagIdEvtMsg": 10773, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 1407 + ] + }, + "6800_00A63C00": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 11678, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1407 + ] + }, + "6402_00669D00": { + "Prio": 3, + "TagId": 1447, + "TagIdEvtMsg": 10751, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6100_40468900": { + "Prio": 2, + "TagId": 3120, + "TagIdEvtMsg": 11494, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40468800": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11493, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462300": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10713, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_00462900": { + "Prio": 2, + "TagId": 1724, + "TagIdEvtMsg": 10895, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6200_40463500": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10716, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463500": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10716, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40463400": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 10894, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463400": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 10894, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AD00": { + "Prio": 2, + "TagId": 1457, + "TagIdEvtMsg": 10757, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_0046AB00": { + "Prio": 2, + "TagId": 1751, + "TagIdEvtMsg": 10920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046AB00": { + "Prio": 2, + "TagId": 1751, + "TagIdEvtMsg": 10920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AE00": { + "Prio": 2, + "TagId": 1458, + "TagIdEvtMsg": 10758, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_4046AC00": { + "Prio": 2, + "TagId": 1750, + "TagIdEvtMsg": 10919, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046AC00": { + "Prio": 2, + "TagId": 1750, + "TagIdEvtMsg": 10919, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AA00": { + "Prio": 2, + "TagId": 1860, + "TagIdEvtMsg": 10918, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_40463800": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10755, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C500": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12496, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469C00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12495, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00262200": { + "Prio": 1, + "TagId": 563, + "TagIdEvtMsg": 10272, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6402_00463200": { + "Prio": 2, + "TagId": 2558, + "TagIdEvtMsg": 11363, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00463100": { + "Prio": 2, + "TagId": 1818, + "TagIdEvtMsg": 10941, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_00A62B00": { + "Prio": 5, + "TagId": 410, + "TagIdEvtMsg": 10135, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462F00": { + "Prio": 2, + "TagId": 411, + "TagIdEvtMsg": 10012, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63600": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10260, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6800_00A63500": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10259, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6802_00A62A00": { + "Prio": 5, + "TagId": 408, + "TagIdEvtMsg": 10134, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462E00": { + "Prio": 2, + "TagId": 409, + "TagIdEvtMsg": 10011, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6100_40468E00": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 10002, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00461F00": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10005, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_08862A00": { + "Prio": 4, + "TagId": 1403, + "TagIdEvtMsg": 10712, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00260100": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "7000_00261E00": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "7020_00261E00": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00463A00": { + "Prio": 2, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "7070_00263A00": { + "Prio": 1, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "7080_00263A00": { + "Prio": 1, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00463B00": { + "Prio": 2, + "TagId": 1739, + "TagIdEvtMsg": 10907, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_0886CA00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11476, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08867F00": { + "Prio": 4, + "TagId": 4551, + "TagIdEvtMsg": 12403, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886D000": { + "Prio": 4, + "TagId": 3076, + "TagIdEvtMsg": 11482, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CD00": { + "Prio": 4, + "TagId": 3073, + "TagIdEvtMsg": 11479, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CB00": { + "Prio": 4, + "TagId": 3071, + "TagIdEvtMsg": 11477, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CF00": { + "Prio": 4, + "TagId": 3075, + "TagIdEvtMsg": 11481, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08868100": { + "Prio": 4, + "TagId": 4553, + "TagIdEvtMsg": 12405, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CC00": { + "Prio": 4, + "TagId": 3072, + "TagIdEvtMsg": 11478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08868000": { + "Prio": 4, + "TagId": 4552, + "TagIdEvtMsg": 12404, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08862200": { + "Prio": 4, + "TagId": 4056, + "TagIdEvtMsg": 12010, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862600": { + "Prio": 4, + "TagId": 2559, + "TagIdEvtMsg": 11364, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886A400": { + "Prio": 4, + "TagId": 5051, + "TagIdEvtMsg": 12789, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6180_0846A700": { + "Prio": 2, + "TagId": 1460, + "TagIdEvtMsg": 10760, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40573100": { + "Prio": 2, + "TagId": 4781, + "TagIdEvtMsg": 12575, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573F00": { + "Prio": 2, + "TagId": 4820, + "TagIdEvtMsg": 12640, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573000": { + "Prio": 2, + "TagId": 4780, + "TagIdEvtMsg": 12574, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573E00": { + "Prio": 2, + "TagId": 4819, + "TagIdEvtMsg": 12639, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08865000": { + "Prio": 4, + "TagId": 4055, + "TagIdEvtMsg": 12173, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_4046A500": { + "Prio": 2, + "TagId": 3115, + "TagIdEvtMsg": 11489, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08863300": { + "Prio": 4, + "TagId": 4189, + "TagIdEvtMsg": 12073, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086C100": { + "Prio": 4, + "TagId": 2486, + "TagIdEvtMsg": 11293, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086C200": { + "Prio": 4, + "TagId": 2487, + "TagIdEvtMsg": 11294, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0886C000": { + "Prio": 4, + "TagId": 2485, + "TagIdEvtMsg": 11292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40469000": { + "Prio": 2, + "TagId": 816, + "TagIdEvtMsg": 10006, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08862500": { + "Prio": 4, + "TagId": 1798, + "TagIdEvtMsg": 10916, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6402_00666F00": { + "Prio": 3, + "TagId": 237, + "TagIdEvtMsg": 10010, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_00862400": { + "Prio": 4, + "TagId": 564, + "TagIdEvtMsg": 10273, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862700": { + "Prio": 4, + "TagId": 3096, + "TagIdEvtMsg": 11488, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862800": { + "Prio": 4, + "TagId": 3132, + "TagIdEvtMsg": 11524, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40468A00": { + "Prio": 2, + "TagId": 3121, + "TagIdEvtMsg": 11495, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0086D700": { + "Prio": 4, + "TagId": 3238, + "TagIdEvtMsg": 11590, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886D800": { + "Prio": 4, + "TagId": 3239, + "TagIdEvtMsg": 11591, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 309 + ] + }, + "6180_0846A600": { + "Prio": 2, + "TagId": 1459, + "TagIdEvtMsg": 10759, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40468700": { + "Prio": 2, + "TagId": 3118, + "TagIdEvtMsg": 11492, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08866A00": { + "Prio": 4, + "TagId": 2525, + "TagIdEvtMsg": 11324, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 394 + ] + }, + "6802_00863A00": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 12056, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863B00": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 12057, + "Unit": 10, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863C00": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 12058, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863D00": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 12059, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_08864200": { + "Prio": 4, + "TagId": 4179, + "TagIdEvtMsg": 12063, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08863F00": { + "Prio": 4, + "TagId": 4299, + "TagIdEvtMsg": 12150, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864600": { + "Prio": 4, + "TagId": 4183, + "TagIdEvtMsg": 12067, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864500": { + "Prio": 4, + "TagId": 4182, + "TagIdEvtMsg": 12066, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864400": { + "Prio": 4, + "TagId": 4181, + "TagIdEvtMsg": 12065, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864300": { + "Prio": 4, + "TagId": 4180, + "TagIdEvtMsg": 12064, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864700": { + "Prio": 4, + "TagId": 4184, + "TagIdEvtMsg": 12068, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864800": { + "Prio": 4, + "TagId": 4185, + "TagIdEvtMsg": 12069, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864900": { + "Prio": 4, + "TagId": 4186, + "TagIdEvtMsg": 12070, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_40863200": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 12077, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6800_08863400": { + "Prio": 4, + "TagId": 4229, + "TagIdEvtMsg": 12104, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00863E00": { + "Prio": 4, + "TagId": 4176, + "TagIdEvtMsg": 12060, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864A00": { + "Prio": 4, + "TagId": 4187, + "TagIdEvtMsg": 12071, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00863900": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 12055, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6100_40464600": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11695, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464500": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11694, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464400": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11693, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00865300": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11456, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865200": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11457, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865D00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11413, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_0086A200": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12594, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865E00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11455, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_0086A100": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12595, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_08865A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11410, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6802_00865C00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11412, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6802_00865B00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11411, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6800_08865800": { + "Prio": 4, + "TagId": 2585, + "TagIdEvtMsg": 11418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2599 + ] + }, + "6800_08865400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11414, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6800_00865600": { + "Prio": 4, + "TagId": 1763, + "TagIdEvtMsg": 11416, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6800_00865500": { + "Prio": 4, + "TagId": 1764, + "TagIdEvtMsg": 11415, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6802_00862E00": { + "Prio": 4, + "TagId": 2180, + "TagIdEvtMsg": 11404, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2593 + ] + }, + "6802_00862F00": { + "Prio": 4, + "TagId": 2181, + "TagIdEvtMsg": 11405, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2593 + ] + }, + "6802_00862B00": { + "Prio": 4, + "TagId": 2591, + "TagIdEvtMsg": 11401, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780 + ] + }, + "6802_08862C00": { + "Prio": 4, + "TagId": 2592, + "TagIdEvtMsg": 11402, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780 + ] + }, + "6800_08865700": { + "Prio": 4, + "TagId": 1744, + "TagIdEvtMsg": 11417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 1780 + ] + }, + "6180_08461F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11059, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1780 + ] + }, + "6802_08A62000": { + "Prio": 5, + "TagId": 325, + "TagIdEvtMsg": 12731, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6802_08A62100": { + "Prio": 5, + "TagId": 327, + "TagIdEvtMsg": 12732, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6802_08A62200": { + "Prio": 5, + "TagId": 329, + "TagIdEvtMsg": 12733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6800_0086AA00": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 11036, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 2113 + ] + }, + "6802_0886AB00": { + "Prio": 4, + "TagId": 3589, + "TagIdEvtMsg": 11810, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 2113 + ] + }, + "6802_0086BA00": { + "Prio": 4, + "TagId": 2164, + "TagIdEvtMsg": 11052, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6802_0086B800": { + "Prio": 4, + "TagId": 2162, + "TagIdEvtMsg": 11050, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6802_0086B900": { + "Prio": 4, + "TagId": 2163, + "TagIdEvtMsg": 11051, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6100_4046BC00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11090, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BD00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11091, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BE00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046B900": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11087, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046BA00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11088, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046BB00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11089, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0066B500": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 11083, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F700": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 11083, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0066B600": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 11084, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F800": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 11084, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0066B700": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 11085, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F900": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 11085, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B100": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B200": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B300": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046B800": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 11086, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_0046B800": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 11086, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_0066FB00": { + "Prio": 3, + "TagId": 3939, + "TagIdEvtMsg": 11930, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_0066FA00": { + "Prio": 3, + "TagId": 3938, + "TagIdEvtMsg": 11929, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00865900": { + "Prio": 4, + "TagId": 2564, + "TagIdEvtMsg": 11373, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2182 + ] + }, + "6200_4046BF00": { + "Prio": 2, + "TagId": 406, + "TagIdEvtMsg": 11372, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BF00": { + "Prio": 2, + "TagId": 406, + "TagIdEvtMsg": 11372, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0066B400": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 11082, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F600": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 11082, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F200": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B000": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F200": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00573500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 12580, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6400_00573400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12579, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6102_4046C100": { + "Prio": 2, + "TagId": 3192, + "TagIdEvtMsg": 11541, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2203 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_0046C000": { + "Prio": 2, + "TagId": 3191, + "TagIdEvtMsg": 11540, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2203 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Sum": true, + "SumD": true + }, + "7180_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ] + }, + "6800_0086A300": { + "Prio": 4, + "TagId": 2376, + "TagIdEvtMsg": 11234, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 2360 + ] + }, + "6200_0046C700": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11288, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046C700": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11288, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C600": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 11287, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046C600": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 11287, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C800": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 11289, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C800": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 11289, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C900": { + "Prio": 2, + "TagId": 1739, + "TagIdEvtMsg": 11290, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Sum": true, + "SumD": true + }, + "6802_08862D00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11403, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00866C00": { + "Prio": 4, + "TagId": 2552, + "TagIdEvtMsg": 11357, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00866B00": { + "Prio": 4, + "TagId": 2551, + "TagIdEvtMsg": 11356, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00863100": { + "Prio": 4, + "TagId": 2595, + "TagIdEvtMsg": 11407, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_0086A000": { + "Prio": 4, + "TagId": 4793, + "TagIdEvtMsg": 12593, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_00863000": { + "Prio": 4, + "TagId": 2594, + "TagIdEvtMsg": 11406, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_00869F00": { + "Prio": 4, + "TagId": 4792, + "TagIdEvtMsg": 12592, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6202_00465E00": { + "Prio": 2, + "TagId": 4061, + "TagIdEvtMsg": 12012, + "Unit": 1275, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00465E00": { + "Prio": 2, + "TagId": 4061, + "TagIdEvtMsg": 12012, + "Unit": 1275, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40465C00": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11910, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6202_40465D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11911, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6102_40465D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11911, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6802_00863800": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 12054, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 4191 + ] + }, + "6100_00572800": { + "Prio": 2, + "TagId": 2359, + "TagIdEvtMsg": 12559, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4697, + 1072 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572700": { + "Prio": 2, + "TagId": 314, + "TagIdEvtMsg": 12558, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4697, + 1079 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00573200": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 200131, + "Unit": 19, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4785 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00573300": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 200132, + "Unit": 4788, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4786 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00574100": { + "Prio": 2, + "TagId": 4785, + "TagIdEvtMsg": 4785, + "Unit": 19, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00574200": { + "Prio": 2, + "TagId": 4786, + "TagIdEvtMsg": 4786, + "Unit": 4788, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_0887AE00": { + "Prio": 4, + "TagId": 1321, + "TagIdEvtMsg": 10680, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_0887AC00": { + "Prio": 4, + "TagId": 1122, + "TagIdEvtMsg": 10508, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_0887AD00": { + "Prio": 4, + "TagId": 1123, + "TagIdEvtMsg": 10509, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_00879C00": { + "Prio": 4, + "TagId": 1334, + "TagIdEvtMsg": 10691, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_00879D00": { + "Prio": 4, + "TagId": 1335, + "TagIdEvtMsg": 10692, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_08879B00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10690, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_0087A700": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 11316, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 2519 + ] + }, + "6802_0087A100": { + "Prio": 4, + "TagId": 1409, + "TagIdEvtMsg": 10719, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_00879A00": { + "Prio": 4, + "TagId": 1336, + "TagIdEvtMsg": 10689, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_08879900": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10688, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_0087A600": { + "Prio": 4, + "TagId": 2520, + "TagIdEvtMsg": 11315, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 2518 + ] + }, + "6802_0087A300": { + "Prio": 4, + "TagId": 1411, + "TagIdEvtMsg": 10720, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0087A200": { + "Prio": 4, + "TagId": 1412, + "TagIdEvtMsg": 10721, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0887A400": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10722, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0887A000": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10725, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1445 + ] + }, + "6802_00879E00": { + "Prio": 4, + "TagId": 1414, + "TagIdEvtMsg": 10723, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1413 + ] + }, + "6802_00879F00": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 10724, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1413 + ] + }, + "6802_40879600": { + "Prio": 4, + "TagId": 40, + "TagIdEvtMsg": 10173, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_40879700": { + "Prio": 4, + "TagId": 1097, + "TagIdEvtMsg": 10496, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_00879800": { + "Prio": 4, + "TagId": 1098, + "TagIdEvtMsg": 10497, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_08877D00": { + "Prio": 4, + "TagId": 4684, + "TagIdEvtMsg": 12478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_0887A500": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 11282, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_40873100": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12142, + "Unit": 3, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 36 + ] + }, + "6802_40873200": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12143, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 36 + ] + }, + "6802_40872800": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12382, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 4510 + ] + }, + "6802_00878C00": { + "Prio": 4, + "TagId": 1099, + "TagIdEvtMsg": 10498, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878D00": { + "Prio": 4, + "TagId": 1100, + "TagIdEvtMsg": 10499, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874700": { + "Prio": 4, + "TagId": 4974, + "TagIdEvtMsg": 12744, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874800": { + "Prio": 4, + "TagId": 4975, + "TagIdEvtMsg": 12745, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_40872F00": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12140, + "Unit": 7, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_40873000": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12141, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878200": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10176, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878300": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10177, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878400": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10178, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878500": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10179, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878600": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10180, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878700": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10181, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878800": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10182, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878900": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10183, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878000": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 10174, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878100": { + "Prio": 4, + "TagId": 288, + "TagIdEvtMsg": 10175, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878A00": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 10184, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878B00": { + "Prio": 4, + "TagId": 292, + "TagIdEvtMsg": 10185, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878F00": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10501, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875F00": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11067, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874600": { + "Prio": 4, + "TagId": 4973, + "TagIdEvtMsg": 12743, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876800": { + "Prio": 4, + "TagId": 5086, + "TagIdEvtMsg": 12807, + "Unit": 7, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878E00": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10500, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875E00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11066, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876900": { + "Prio": 4, + "TagId": 5087, + "TagIdEvtMsg": 12808, + "Unit": 7, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_08877E00": { + "Prio": 4, + "TagId": 2015, + "TagIdEvtMsg": 11020, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879000": { + "Prio": 4, + "TagId": 2011, + "TagIdEvtMsg": 11016, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879100": { + "Prio": 4, + "TagId": 2012, + "TagIdEvtMsg": 11017, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879200": { + "Prio": 4, + "TagId": 2013, + "TagIdEvtMsg": 11018, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879300": { + "Prio": 4, + "TagId": 2014, + "TagIdEvtMsg": 11019, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876400": { + "Prio": 4, + "TagId": 4403, + "TagIdEvtMsg": 12251, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 4402, + 4403 + ] + }, + "6802_08876500": { + "Prio": 4, + "TagId": 4404, + "TagIdEvtMsg": 12252, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 4402, + 4403 + ] + }, + "6802_0087AA00": { + "Prio": 4, + "TagId": 1120, + "TagIdEvtMsg": 10506, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 289 + ] + }, + "6802_0087AB00": { + "Prio": 4, + "TagId": 1121, + "TagIdEvtMsg": 10507, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 289 + ] + }, + "6802_00874900": { + "Prio": 4, + "TagId": 5042, + "TagIdEvtMsg": 12787, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874A00": { + "Prio": 4, + "TagId": 5043, + "TagIdEvtMsg": 12788, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872D00": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12138, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872700": { + "Prio": 4, + "TagId": 4515, + "TagIdEvtMsg": 12381, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872E00": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12139, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875000": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10188, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873C00": { + "Prio": 4, + "TagId": 4491, + "TagIdEvtMsg": 12311, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875100": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10189, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875200": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10190, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875A00": { + "Prio": 4, + "TagId": 1415, + "TagIdEvtMsg": 10726, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873D00": { + "Prio": 4, + "TagId": 4492, + "TagIdEvtMsg": 12312, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875300": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10191, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875400": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10192, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875B00": { + "Prio": 4, + "TagId": 1416, + "TagIdEvtMsg": 10727, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873E00": { + "Prio": 4, + "TagId": 4493, + "TagIdEvtMsg": 12313, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875500": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10193, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875600": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10194, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873F00": { + "Prio": 4, + "TagId": 4494, + "TagIdEvtMsg": 12314, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875700": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10195, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874E00": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 10186, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876000": { + "Prio": 4, + "TagId": 3484, + "TagIdEvtMsg": 11674, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876100": { + "Prio": 4, + "TagId": 3485, + "TagIdEvtMsg": 11675, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00874500": { + "Prio": 4, + "TagId": 4537, + "TagIdEvtMsg": 12316, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873400": { + "Prio": 4, + "TagId": 4538, + "TagIdEvtMsg": 12396, + "Unit": 10, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873B00": { + "Prio": 4, + "TagId": 4495, + "TagIdEvtMsg": 12315, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874100": { + "Prio": 4, + "TagId": 4539, + "TagIdEvtMsg": 12397, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874F00": { + "Prio": 4, + "TagId": 288, + "TagIdEvtMsg": 10187, + "Unit": 10, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00875800": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 10196, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876200": { + "Prio": 4, + "TagId": 3482, + "TagIdEvtMsg": 11676, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876300": { + "Prio": 4, + "TagId": 3483, + "TagIdEvtMsg": 11677, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874000": { + "Prio": 4, + "TagId": 4497, + "TagIdEvtMsg": 12317, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875900": { + "Prio": 4, + "TagId": 292, + "TagIdEvtMsg": 10197, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877900": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875D00": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11065, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877A00": { + "Prio": 4, + "TagId": 1417, + "TagIdEvtMsg": 10728, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874300": { + "Prio": 4, + "TagId": 4501, + "TagIdEvtMsg": 12321, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876600": { + "Prio": 4, + "TagId": 5084, + "TagIdEvtMsg": 12805, + "Unit": 4314, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877800": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10648, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875C00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11064, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877B00": { + "Prio": 4, + "TagId": 1418, + "TagIdEvtMsg": 10729, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874400": { + "Prio": 4, + "TagId": 4500, + "TagIdEvtMsg": 12320, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876700": { + "Prio": 4, + "TagId": 5085, + "TagIdEvtMsg": 12806, + "Unit": 4314, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877600": { + "Prio": 4, + "TagId": 351, + "TagIdEvtMsg": 10198, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_08872300": { + "Prio": 4, + "TagId": 3936, + "TagIdEvtMsg": 11927, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874200": { + "Prio": 4, + "TagId": 4499, + "TagIdEvtMsg": 12319, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877500": { + "Prio": 4, + "TagId": 2111, + "TagIdEvtMsg": 11034, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_08872500": { + "Prio": 4, + "TagId": 4054, + "TagIdEvtMsg": 12008, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_40879400": { + "Prio": 4, + "TagId": 36, + "TagIdEvtMsg": 10167, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08873900": { + "Prio": 4, + "TagId": 4511, + "TagIdEvtMsg": 12354, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873A00": { + "Prio": 4, + "TagId": 4510, + "TagIdEvtMsg": 12353, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00879500": { + "Prio": 4, + "TagId": 37, + "TagIdEvtMsg": 10168, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6800_00872100": { + "Prio": 4, + "TagId": 1446, + "TagIdEvtMsg": 10754, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873700": { + "Prio": 4, + "TagId": 232, + "TagIdEvtMsg": 10171, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873600": { + "Prio": 4, + "TagId": 233, + "TagIdEvtMsg": 10170, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873500": { + "Prio": 4, + "TagId": 234, + "TagIdEvtMsg": 10169, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873800": { + "Prio": 4, + "TagId": 236, + "TagIdEvtMsg": 10172, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00877F00": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 10502, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_4087A800": { + "Prio": 4, + "TagId": 4239, + "TagIdEvtMsg": 12112, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_4087A900": { + "Prio": 4, + "TagId": 4240, + "TagIdEvtMsg": 12113, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872A00": { + "Prio": 4, + "TagId": 273, + "TagIdEvtMsg": 10203, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872000": { + "Prio": 4, + "TagId": 1369, + "TagIdEvtMsg": 10709, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872B00": { + "Prio": 4, + "TagId": 323, + "TagIdEvtMsg": 10202, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872600": { + "Prio": 4, + "TagId": 4277, + "TagIdEvtMsg": 12133, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872400": { + "Prio": 4, + "TagId": 3937, + "TagIdEvtMsg": 11928, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872C00": { + "Prio": 4, + "TagId": 1226, + "TagIdEvtMsg": 10730, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00874D00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10257, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6180_08671E00": { + "Prio": 3, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6800_08871E00": { + "Prio": 4, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08872900": { + "Prio": 4, + "TagId": 4516, + "TagIdEvtMsg": 12383, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08672200": { + "Prio": 3, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ], + "Deprecated": true + }, + "6802_08872200": { + "Prio": 4, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08871F00": { + "Prio": 4, + "TagId": 54, + "TagIdEvtMsg": 10201, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229 + ] + }, + "6800_0887FF00": { + "Prio": 4, + "TagId": 764, + "TagIdEvtMsg": 12179, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 268 + ] + }, + "6802_0887B900": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 11629, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 309, + 1080 + ] + }, + "6802_0887B800": { + "Prio": 4, + "TagId": 2016, + "TagIdEvtMsg": 11021, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 309, + 1080 + ] + }, + "6100_00482000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12633, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 290, + 230, + 4810 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6802_08886E00": { + "Prio": 4, + "TagId": 2589, + "TagIdEvtMsg": 11399, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886500": { + "Prio": 4, + "TagId": 2580, + "TagIdEvtMsg": 11389, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886600": { + "Prio": 4, + "TagId": 2581, + "TagIdEvtMsg": 11390, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6180_08681E00": { + "Prio": 3, + "TagId": 1742, + "TagIdEvtMsg": 10909, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 837, + 309 + ] + }, + "6802_08886F00": { + "Prio": 4, + "TagId": 2590, + "TagIdEvtMsg": 11400, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886000": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 11384, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886300": { + "Prio": 4, + "TagId": 2578, + "TagIdEvtMsg": 11387, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886400": { + "Prio": 4, + "TagId": 2579, + "TagIdEvtMsg": 11388, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6102_00484900": { + "Prio": 2, + "TagId": 2588, + "TagIdEvtMsg": 11398, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08887000": { + "Prio": 4, + "TagId": 4328, + "TagIdEvtMsg": 12175, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886700": { + "Prio": 4, + "TagId": 2582, + "TagIdEvtMsg": 11391, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6400_00683200": { + "Prio": 3, + "TagId": 1748, + "TagIdEvtMsg": 10915, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1740, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6802_00885200": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 11073, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885100": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 11072, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885400": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11075, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885300": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11074, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6800_0888CC00": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 10933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740, + 309 + ] + }, + "6802_00884E00": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 11069, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00884D00": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 11068, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00885000": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11071, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00884F00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11070, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00885500": { + "Prio": 4, + "TagId": 2180, + "TagIdEvtMsg": 11076, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 3062 + ] + }, + "6802_00885600": { + "Prio": 4, + "TagId": 2181, + "TagIdEvtMsg": 11077, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 3062 + ] + }, + "6800_00882000": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 10934, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08881E00": { + "Prio": 4, + "TagId": 1741, + "TagIdEvtMsg": 10908, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740 + ] + }, + "6802_08882200": { + "Prio": 4, + "TagId": 4055, + "TagIdEvtMsg": 12009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08886100": { + "Prio": 4, + "TagId": 2575, + "TagIdEvtMsg": 11385, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08881F00": { + "Prio": 4, + "TagId": 1744, + "TagIdEvtMsg": 10911, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740 + ] + }, + "6180_08486A00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 10938, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 837, + 1740 + ] + }, + "6400_00684600": { + "Prio": 3, + "TagId": 409, + "TagIdEvtMsg": 11053, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_40484A00": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11692, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00481F00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12581, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00684700": { + "Prio": 3, + "TagId": 1724, + "TagIdEvtMsg": 11054, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_00484800": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11055, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_00885B00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11447, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885A00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11446, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885F00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11383, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885900": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12586, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885C00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11448, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885800": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12585, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885E00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11382, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00885D00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11381, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00883900": { + "Prio": 4, + "TagId": 1746, + "TagIdEvtMsg": 10913, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00883A00": { + "Prio": 4, + "TagId": 1747, + "TagIdEvtMsg": 10914, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_08882A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10935, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00886200": { + "Prio": 4, + "TagId": 2577, + "TagIdEvtMsg": 11386, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00882B00": { + "Prio": 4, + "TagId": 1763, + "TagIdEvtMsg": 10936, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00882C00": { + "Prio": 4, + "TagId": 1764, + "TagIdEvtMsg": 10937, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_08886C00": { + "Prio": 4, + "TagId": 2585, + "TagIdEvtMsg": 11396, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2584 + ] + }, + "6800_08886D00": { + "Prio": 4, + "TagId": 2587, + "TagIdEvtMsg": 11397, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2586 + ] + }, + "6800_08886800": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11392, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_08886B00": { + "Prio": 4, + "TagId": 2563, + "TagIdEvtMsg": 11395, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_00886A00": { + "Prio": 4, + "TagId": 2583, + "TagIdEvtMsg": 11394, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_00886900": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11393, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6802_08893100": { + "Prio": 4, + "TagId": 4142, + "TagIdEvtMsg": 12038, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46, + 454 + ] + }, + "6202_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "72D2_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6202_00499B00": { + "Prio": 2, + "TagId": 4001, + "TagIdEvtMsg": 11985, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00499B00": { + "Prio": 2, + "TagId": 4001, + "TagIdEvtMsg": 11985, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00696E00": { + "Prio": 3, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00696E00": { + "Prio": 2, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7172_00696E00": { + "Prio": 3, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6200_00499100": { + "Prio": 2, + "TagId": 4000, + "TagIdEvtMsg": 11984, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00499100": { + "Prio": 2, + "TagId": 4000, + "TagIdEvtMsg": 11984, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40491E00": { + "Prio": 2, + "TagId": 1464, + "TagIdEvtMsg": 10761, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00492D00": { + "Prio": 2, + "TagId": 2539, + "TagIdEvtMsg": 11342, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492900": { + "Prio": 2, + "TagId": 2534, + "TagIdEvtMsg": 11334, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698D00": { + "Prio": 3, + "TagId": 3994, + "TagIdEvtMsg": 11980, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698C00": { + "Prio": 3, + "TagId": 3993, + "TagIdEvtMsg": 11979, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698E00": { + "Prio": 3, + "TagId": 3995, + "TagIdEvtMsg": 11981, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492E00": { + "Prio": 2, + "TagId": 2540, + "TagIdEvtMsg": 11343, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492F00": { + "Prio": 2, + "TagId": 3034, + "TagIdEvtMsg": 11444, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00498B00": { + "Prio": 2, + "TagId": 3984, + "TagIdEvtMsg": 11973, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6102_00693000": { + "Prio": 3, + "TagId": 3867, + "TagIdEvtMsg": 11912, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6102_00492800": { + "Prio": 2, + "TagId": 2533, + "TagIdEvtMsg": 11333, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40492B00": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 11336, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40492A00": { + "Prio": 2, + "TagId": 2651, + "TagIdEvtMsg": 11335, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00492600": { + "Prio": 2, + "TagId": 1731, + "TagIdEvtMsg": 10898, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6400_00492700": { + "Prio": 2, + "TagId": 1732, + "TagIdEvtMsg": 10899, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6102_00492C00": { + "Prio": 2, + "TagId": 445, + "TagIdEvtMsg": 11341, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08897D00": { + "Prio": 4, + "TagId": 2549, + "TagIdEvtMsg": 11355, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 46, + 309 + ] + }, + "6182_08497700": { + "Prio": 2, + "TagId": 2547, + "TagIdEvtMsg": 11353, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7132_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7312_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7322_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00497500": { + "Prio": 2, + "TagId": 2548, + "TagIdEvtMsg": 11354, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00892F00": { + "Prio": 4, + "TagId": 4047, + "TagIdEvtMsg": 12003, + "Unit": 3, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893000": { + "Prio": 4, + "TagId": 4048, + "TagIdEvtMsg": 12004, + "Unit": 3, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_08892E00": { + "Prio": 4, + "TagId": 4046, + "TagIdEvtMsg": 12002, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_08892900": { + "Prio": 4, + "TagId": 3636, + "TagIdEvtMsg": 11850, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893900": { + "Prio": 4, + "TagId": 1759, + "TagIdEvtMsg": 10929, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893700": { + "Prio": 4, + "TagId": 2350, + "TagIdEvtMsg": 11208, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00894800": { + "Prio": 4, + "TagId": 4003, + "TagIdEvtMsg": 11987, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00495900": { + "Prio": 2, + "TagId": 2315, + "TagIdEvtMsg": 11175, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00495900": { + "Prio": 2, + "TagId": 2315, + "TagIdEvtMsg": 11175, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00493B00": { + "Prio": 2, + "TagId": 4840, + "TagIdEvtMsg": 12656, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493A00": { + "Prio": 2, + "TagId": 4839, + "TagIdEvtMsg": 12655, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493900": { + "Prio": 2, + "TagId": 4838, + "TagIdEvtMsg": 12654, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493700": { + "Prio": 2, + "TagId": 4843, + "TagIdEvtMsg": 12651, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08495600": { + "Prio": 2, + "TagId": 3061, + "TagIdEvtMsg": 11466, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6182_08498000": { + "Prio": 2, + "TagId": 897, + "TagIdEvtMsg": 11805, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00492400": { + "Prio": 2, + "TagId": 4837, + "TagIdEvtMsg": 12653, + "Unit": 8, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7090_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "72E2_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00499200": { + "Prio": 2, + "TagId": 4002, + "TagIdEvtMsg": 11986, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00499200": { + "Prio": 2, + "TagId": 4002, + "TagIdEvtMsg": 11986, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00498F00": { + "Prio": 2, + "TagId": 3999, + "TagIdEvtMsg": 11983, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00498F00": { + "Prio": 2, + "TagId": 3999, + "TagIdEvtMsg": 11983, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493500": { + "Prio": 2, + "TagId": 4841, + "TagIdEvtMsg": 12649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6202_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7362_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7372_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00894300": { + "Prio": 4, + "TagId": 2542, + "TagIdEvtMsg": 11345, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00493800": { + "Prio": 2, + "TagId": 4844, + "TagIdEvtMsg": 12652, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493600": { + "Prio": 2, + "TagId": 4842, + "TagIdEvtMsg": 12650, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08498400": { + "Prio": 2, + "TagId": 3602, + "TagIdEvtMsg": 11818, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7342_08498400": { + "Prio": 2, + "TagId": 3602, + "TagIdEvtMsg": 11818, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7330_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893800": { + "Prio": 4, + "TagId": 2349, + "TagIdEvtMsg": 11207, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00497400": { + "Prio": 2, + "TagId": 2654, + "TagIdEvtMsg": 11352, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00497300": { + "Prio": 2, + "TagId": 2653, + "TagIdEvtMsg": 11351, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08893600": { + "Prio": 4, + "TagId": 3035, + "TagIdEvtMsg": 11445, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7382_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6180_08495E00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6402_00496600": { + "Prio": 2, + "TagId": 2348, + "TagIdEvtMsg": 11206, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Sum": true, + "SumD": true + }, + "6802_40894200": { + "Prio": 4, + "TagId": 2541, + "TagIdEvtMsg": 11344, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00497200": { + "Prio": 2, + "TagId": 2652, + "TagIdEvtMsg": 11350, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495400": { + "Prio": 2, + "TagId": 3189, + "TagIdEvtMsg": 11538, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00495500": { + "Prio": 2, + "TagId": 3190, + "TagIdEvtMsg": 11539, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6202_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7392_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6182_08498500": { + "Prio": 2, + "TagId": 3603, + "TagIdEvtMsg": 11819, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7352_08498500": { + "Prio": 2, + "TagId": 3603, + "TagIdEvtMsg": 11819, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893A00": { + "Prio": 4, + "TagId": 1760, + "TagIdEvtMsg": 10930, + "Unit": 2, + "DataFrmt": 12, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7142_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7152_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7162_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_40492200": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 12647, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40492300": { + "Prio": 2, + "TagId": 2651, + "TagIdEvtMsg": 12648, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495200": { + "Prio": 2, + "TagId": 3223, + "TagIdEvtMsg": 11574, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00495300": { + "Prio": 2, + "TagId": 3224, + "TagIdEvtMsg": 11575, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08893B00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10931, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6200_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7102_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7112_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7122_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893C00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10932, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_08892B00": { + "Prio": 4, + "TagId": 3804, + "TagIdEvtMsg": 10305, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 46 + ] + }, + "6800_08892A00": { + "Prio": 4, + "TagId": 3803, + "TagIdEvtMsg": 10304, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 46 + ] + }, + "6402_00496400": { + "Prio": 2, + "TagId": 2344, + "TagIdEvtMsg": 11202, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 2288 + ], + "Sum": true, + "SumD": true + }, + "6402_00496500": { + "Prio": 2, + "TagId": 2345, + "TagIdEvtMsg": 11203, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 2288 + ], + "Sum": true, + "SumD": true + }, + "6800_10A91E00": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 12738, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6182_08498A00": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11824, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "73A2_08498A00": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6182_08497F00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11803, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "72C2_08497F00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11803, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6802_08896800": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10118, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6100_00491F00": { + "Prio": 2, + "TagId": 4656, + "TagIdEvtMsg": 12449, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00893200": { + "Prio": 4, + "TagId": 4190, + "TagIdEvtMsg": 12074, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6802_08893300": { + "Prio": 4, + "TagId": 4188, + "TagIdEvtMsg": 12072, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6A02_08896600": { + "Prio": 4, + "TagId": 2432, + "TagIdEvtMsg": 11267, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896200": { + "Prio": 4, + "TagId": 2420, + "TagIdEvtMsg": 11257, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896100": { + "Prio": 4, + "TagId": 2419, + "TagIdEvtMsg": 11256, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6800_00895E00": { + "Prio": 4, + "TagId": 4730, + "TagIdEvtMsg": 12519, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896400": { + "Prio": 4, + "TagId": 2422, + "TagIdEvtMsg": 11259, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896300": { + "Prio": 4, + "TagId": 2421, + "TagIdEvtMsg": 11258, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6800_00895F00": { + "Prio": 4, + "TagId": 4731, + "TagIdEvtMsg": 12520, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 915 + ] + }, + "6400_00492000": { + "Prio": 2, + "TagId": 4825, + "TagIdEvtMsg": 12641, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 915 + ], + "Sum": true, + "SumD": true + }, + "6400_00492100": { + "Prio": 2, + "TagId": 4826, + "TagIdEvtMsg": 12642, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 915 + ], + "Sum": true, + "SumD": true + }, + "6A02_40896500": { + "Prio": 4, + "TagId": 2423, + "TagIdEvtMsg": 11260, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_08896000": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 11255, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6182_08693200": { + "Prio": 3, + "TagId": 1734, + "TagIdEvtMsg": 10900, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ] + }, + "6182_08493400": { + "Prio": 2, + "TagId": 3986, + "TagIdEvtMsg": 11975, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ] + }, + "6200_00693300": { + "Prio": 3, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_00493300": { + "Prio": 2, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00693300": { + "Prio": 3, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00493300": { + "Prio": 2, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00897E00": { + "Prio": 4, + "TagId": 2553, + "TagIdEvtMsg": 11358, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00891E00": { + "Prio": 4, + "TagId": 1753, + "TagIdEvtMsg": 10923, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892500": { + "Prio": 4, + "TagId": 2174, + "TagIdEvtMsg": 11060, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40892300": { + "Prio": 4, + "TagId": 2172, + "TagIdEvtMsg": 11057, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40892400": { + "Prio": 4, + "TagId": 2173, + "TagIdEvtMsg": 11058, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892200": { + "Prio": 4, + "TagId": 2171, + "TagIdEvtMsg": 11056, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_08894700": { + "Prio": 4, + "TagId": 2546, + "TagIdEvtMsg": 11349, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497800": { + "Prio": 2, + "TagId": 2535, + "TagIdEvtMsg": 11337, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00894500": { + "Prio": 4, + "TagId": 2544, + "TagIdEvtMsg": 11347, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00891F00": { + "Prio": 4, + "TagId": 1754, + "TagIdEvtMsg": 10924, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892700": { + "Prio": 4, + "TagId": 2176, + "TagIdEvtMsg": 11062, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497B00": { + "Prio": 2, + "TagId": 2538, + "TagIdEvtMsg": 11340, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6402_00497900": { + "Prio": 2, + "TagId": 2536, + "TagIdEvtMsg": 11338, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00894400": { + "Prio": 4, + "TagId": 2543, + "TagIdEvtMsg": 11346, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892000": { + "Prio": 4, + "TagId": 1755, + "TagIdEvtMsg": 10925, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892600": { + "Prio": 4, + "TagId": 2175, + "TagIdEvtMsg": 11061, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497A00": { + "Prio": 2, + "TagId": 2537, + "TagIdEvtMsg": 11339, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6800_00892100": { + "Prio": 4, + "TagId": 1757, + "TagIdEvtMsg": 10927, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40894600": { + "Prio": 4, + "TagId": 2545, + "TagIdEvtMsg": 11348, + "Unit": 2658, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892800": { + "Prio": 4, + "TagId": 2177, + "TagIdEvtMsg": 11063, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6180_08694600": { + "Prio": 3, + "TagId": 1736, + "TagIdEvtMsg": 10902, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1735 + ] + }, + "6802_00897000": { + "Prio": 4, + "TagId": 2428, + "TagIdEvtMsg": 11263, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897200": { + "Prio": 4, + "TagId": 2430, + "TagIdEvtMsg": 11265, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897100": { + "Prio": 4, + "TagId": 2429, + "TagIdEvtMsg": 11264, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897300": { + "Prio": 4, + "TagId": 2431, + "TagIdEvtMsg": 11266, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6400_00497E00": { + "Prio": 2, + "TagId": 896, + "TagIdEvtMsg": 11804, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "7300_00497E00": { + "Prio": 2, + "TagId": 896, + "TagIdEvtMsg": 11804, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "6400_00499800": { + "Prio": 2, + "TagId": 4013, + "TagIdEvtMsg": 11998, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "6400_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "71C0_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "72A0_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "6400_00499500": { + "Prio": 2, + "TagId": 4006, + "TagIdEvtMsg": 11990, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "6800_00894D00": { + "Prio": 4, + "TagId": 2380, + "TagIdEvtMsg": 11238, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2363 + ] + }, + "6802_40892C00": { + "Prio": 4, + "TagId": 3863, + "TagIdEvtMsg": 11907, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 838, + 2363 + ] + }, + "6800_00895800": { + "Prio": 4, + "TagId": 4011, + "TagIdEvtMsg": 11995, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2363 + ] + }, + "6200_00496900": { + "Prio": 2, + "TagId": 2370, + "TagIdEvtMsg": 11224, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496900": { + "Prio": 2, + "TagId": 2370, + "TagIdEvtMsg": 11224, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00499300": { + "Prio": 2, + "TagId": 4004, + "TagIdEvtMsg": 11988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00499300": { + "Prio": 2, + "TagId": 4004, + "TagIdEvtMsg": 11988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00496D00": { + "Prio": 2, + "TagId": 2455, + "TagIdEvtMsg": 11271, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "72F0_00496D00": { + "Prio": 2, + "TagId": 2455, + "TagIdEvtMsg": 11271, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "6400_00499700": { + "Prio": 2, + "TagId": 4010, + "TagIdEvtMsg": 11994, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "6400_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "71D0_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "72B0_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "6400_00499600": { + "Prio": 2, + "TagId": 4007, + "TagIdEvtMsg": 11991, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "6800_00894E00": { + "Prio": 4, + "TagId": 2381, + "TagIdEvtMsg": 11239, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2364 + ] + }, + "6802_40892D00": { + "Prio": 4, + "TagId": 3864, + "TagIdEvtMsg": 11908, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 838, + 2364 + ] + }, + "6800_00895900": { + "Prio": 4, + "TagId": 4012, + "TagIdEvtMsg": 11996, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2364 + ] + }, + "6200_00496A00": { + "Prio": 2, + "TagId": 2371, + "TagIdEvtMsg": 11225, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496A00": { + "Prio": 2, + "TagId": 2371, + "TagIdEvtMsg": 11225, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00499400": { + "Prio": 2, + "TagId": 4005, + "TagIdEvtMsg": 11989, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00499400": { + "Prio": 2, + "TagId": 4005, + "TagIdEvtMsg": 11989, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496B00": { + "Prio": 2, + "TagId": 2373, + "TagIdEvtMsg": 11228, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2365 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00496C00": { + "Prio": 2, + "TagId": 2365, + "TagIdEvtMsg": 11229, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2365 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00893500": { + "Prio": 4, + "TagId": 4210, + "TagIdEvtMsg": 12089, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 3823 + ] + }, + "6802_00893400": { + "Prio": 4, + "TagId": 4209, + "TagIdEvtMsg": 12088, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 3823 + ] + }, + "6802_00895700": { + "Prio": 4, + "TagId": 3590, + "TagIdEvtMsg": 11812, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 1193 + ] + }, + "6802_00895600": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 11811, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 1193 + ] + }, + "6802_00895100": { + "Prio": 4, + "TagId": 2567, + "TagIdEvtMsg": 11376, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00894F00": { + "Prio": 4, + "TagId": 2565, + "TagIdEvtMsg": 11374, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895000": { + "Prio": 4, + "TagId": 2566, + "TagIdEvtMsg": 11375, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_08895400": { + "Prio": 4, + "TagId": 2570, + "TagIdEvtMsg": 11379, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_08895500": { + "Prio": 4, + "TagId": 2571, + "TagIdEvtMsg": 11380, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895200": { + "Prio": 4, + "TagId": 2568, + "TagIdEvtMsg": 11377, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895300": { + "Prio": 4, + "TagId": 2569, + "TagIdEvtMsg": 11378, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6102_00497C00": { + "Prio": 2, + "TagId": 3069, + "TagIdEvtMsg": 11475, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2532 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08497600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11332, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00898100": { + "Prio": 4, + "TagId": 2556, + "TagIdEvtMsg": 11361, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898000": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11360, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898300": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12591, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00897F00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11359, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898200": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12590, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6800_088A4000": { + "Prio": 4, + "TagId": 59, + "TagIdEvtMsg": 11563, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 267 + ] + }, + "6802_088A4200": { + "Prio": 4, + "TagId": 3216, + "TagIdEvtMsg": 11565, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 267 + ] + }, + "6802_088A4100": { + "Prio": 4, + "TagId": 3215, + "TagIdEvtMsg": 11564, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 267 + ] + }, + "6800_108A2B00": { + "Prio": 4, + "TagId": 4143, + "TagIdEvtMsg": 12036, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084A2C00": { + "Prio": 2, + "TagId": 4144, + "TagIdEvtMsg": 12039, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084A2E00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12052, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6800_108A3200": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12125, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084AAA00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA200": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11173, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA300": { + "Prio": 4, + "TagId": 3199, + "TagIdEvtMsg": 11552, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008A2A00": { + "Prio": 4, + "TagId": 4213, + "TagIdEvtMsg": 12090, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290 + ] + }, + "6800_088A2900": { + "Prio": 4, + "TagId": 4144, + "TagIdEvtMsg": 12037, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 290 + ] + }, + "6800_088A3300": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12146, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309, + 4288 + ], + "Hidden": true + }, + "6800_088A2C00": { + "Prio": 4, + "TagId": 1539, + "TagIdEvtMsg": 10785, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309 + ] + }, + "6102_004A2A00": { + "Prio": 2, + "TagId": 3611, + "TagIdEvtMsg": 11830, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_006A8F00": { + "Prio": 3, + "TagId": 1488, + "TagIdEvtMsg": 10764, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_008A2D00": { + "Prio": 4, + "TagId": 1536, + "TagIdEvtMsg": 10782, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 309 + ] + }, + "6180_084A2800": { + "Prio": 2, + "TagId": 4543, + "TagIdEvtMsg": 12399, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ] + }, + "6102_404A9000": { + "Prio": 2, + "TagId": 3122, + "TagIdEvtMsg": 11496, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 394 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_108A2400": { + "Prio": 4, + "TagId": 820, + "TagIdEvtMsg": 10293, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 839, + 584 + ] + }, + "6800_008A2800": { + "Prio": 4, + "TagId": 1318, + "TagIdEvtMsg": 11926, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_008A3500": { + "Prio": 4, + "TagId": 4789, + "TagIdEvtMsg": 12587, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10319, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A1F00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10768, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6180_082A2100": { + "Prio": 1, + "TagId": 50, + "TagIdEvtMsg": 10770, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A2000": { + "Prio": 4, + "TagId": 1503, + "TagIdEvtMsg": 10769, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6802_108A2300": { + "Prio": 4, + "TagId": 819, + "TagIdEvtMsg": 11777, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 818 + ] + }, + "6802_088A2200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11776, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 818 + ] + }, + "6802_408A3900": { + "Prio": 4, + "TagId": 47, + "TagIdEvtMsg": 10200, + "Unit": 4, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 839, + 889 + ] + }, + "6802_088A2F00": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12105, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 911 + ] + }, + "6802_088A3000": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12106, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 914 + ] + }, + "6100_004A2900": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 11049, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1163, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004A1F00": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10560, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4700": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10593, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6180_004A5B00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10614, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6180_084A3300": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10572, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6100_004A1E00": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10559, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4600": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6180_004A5A00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10613, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6180_084A3200": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10571, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6800_00AA8C00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10816, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1623 + ] + }, + "6800_00AA8D00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10817, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1623 + ] + }, + "6100_004A2100": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10562, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4900": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10595, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6180_004A5D00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10616, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6180_084A3500": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10574, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6100_004A2000": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10561, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4800": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10594, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6180_004A5C00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10615, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6180_084A3400": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10573, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6100_004A2300": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10564, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4B00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10597, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6180_004A5F00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10618, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6180_084A3700": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10576, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6100_004A2200": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10563, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4A00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10596, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6180_004A5E00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10617, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6180_084A3600": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10575, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6100_004A2500": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10566, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4D00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10599, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6180_004A6100": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10620, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6180_084A3900": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10578, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6100_004A2400": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10565, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4C00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10598, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6180_004A6000": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10619, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6180_084A3800": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10577, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6100_004A2700": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10568, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4F00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10601, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6180_004A6300": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10622, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6180_084A3B00": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10580, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6100_004A2600": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10567, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4E00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_004A6200": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10621, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_084A3A00": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10579, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_084A9700": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10879, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6182_084A9E00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10896, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10878, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9900": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10881, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6182_084A9F00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10897, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6180_084A9800": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10880, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6180_084A9300": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 11006, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6182_084AA000": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 11009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6180_084A9200": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11005, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6180_084A9500": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 11008, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6182_084AA100": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 11010, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6180_084A9400": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11007, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6800_108A7400": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 10832, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7200", + "6800_108A7100", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_088A7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10828, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7200": { + "Prio": 4, + "TagId": 1637, + "TagIdEvtMsg": 10830, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7100", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7100": { + "Prio": 4, + "TagId": 1636, + "TagIdEvtMsg": 10829, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7200", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7300": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 10831, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7200", + "6800_108A7100" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6180_104A9D00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 10885, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9C00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 10884, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9A00": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 10882, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9B00": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 10883, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A8A00": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 10889, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A7700": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 12176, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6400": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10893, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10892, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6802_008A7600": { + "Prio": 4, + "TagId": 3233, + "TagIdEvtMsg": 11588, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6802_088A7500": { + "Prio": 4, + "TagId": 3147, + "TagIdEvtMsg": 11527, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10890, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10891, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A5B00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5A00", + "6800_108A5900" + ], + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5A00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11774, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5900" + ], + "Len": 63, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5900": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11773, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5A00" + ], + "Len": 32, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6180_084ABB00": { + "Prio": 2, + "TagId": 3365, + "TagIdEvtMsg": 11636, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104ABA00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 11605, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB900": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 11604, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB700": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 11602, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB800": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 11603, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABD00": { + "Prio": 2, + "TagId": 3317, + "TagIdEvtMsg": 11608, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5800": { + "Prio": 4, + "TagId": 3507, + "TagIdEvtMsg": 11697, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5200": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 11615, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5600", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABC00": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 11607, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5000": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11613, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_008A5700": { + "Prio": 4, + "TagId": 3351, + "TagIdEvtMsg": 11630, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5600": { + "Prio": 4, + "TagId": 714, + "TagIdEvtMsg": 11619, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA500": { + "Prio": 4, + "TagId": 3342, + "TagIdEvtMsg": 11621, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5100": { + "Prio": 4, + "TagId": 3321, + "TagIdEvtMsg": 11614, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108AA400": { + "Prio": 4, + "TagId": 3315, + "TagIdEvtMsg": 11606, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5500": { + "Prio": 4, + "TagId": 715, + "TagIdEvtMsg": 11618, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5300": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 11616, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11609, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A4F00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11612, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 63, + "TagHier": [ + 839, + 3313 + ] + }, + "6100_004AB600": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 11601, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_108A5400": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 11617, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5300" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084A6400": { + "Prio": 2, + "TagId": 3820, + "TagIdEvtMsg": 11898, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4D00": { + "Prio": 4, + "TagId": 3318, + "TagIdEvtMsg": 11610, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A4E00": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11611, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 32, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA600": { + "Prio": 4, + "TagId": 3356, + "TagIdEvtMsg": 11631, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6802_008A2600": { + "Prio": 4, + "TagId": 3612, + "TagIdEvtMsg": 11826, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A2B00": { + "Prio": 4, + "TagId": 1711, + "TagIdEvtMsg": 11825, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_008A2700": { + "Prio": 4, + "TagId": 3613, + "TagIdEvtMsg": 11827, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A3400": { + "Prio": 4, + "TagId": 266, + "TagIdEvtMsg": 12388, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A2E00": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12107, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A3100": { + "Prio": 4, + "TagId": 4249, + "TagIdEvtMsg": 12124, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6800_10AB3200": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10297, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10298, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3400": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10299, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_08AB1E00": { + "Prio": 5, + "TagId": 733, + "TagIdEvtMsg": 10320, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_108B4400": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 10300, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3500": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10301, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_00AB3C00": { + "Prio": 5, + "TagId": 330, + "TagIdEvtMsg": 10325, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 300 + ] + }, + "6800_10AB3D00": { + "Prio": 5, + "TagId": 718, + "TagIdEvtMsg": 10302, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 300 + ] + }, + "6800_088B1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10326, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_108B2100": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10327, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_008B1F00": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10328, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_10AB4800": { + "Prio": 5, + "TagId": 736, + "TagIdEvtMsg": 10329, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ], + "Deprecated": true + }, + "6800_108B2200": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10329, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_108B2000": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10330, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6180_104B2B00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 12493, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2A00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 12492, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2800": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 12490, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2900": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 12491, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6800_08AB2500": { + "Prio": 5, + "TagId": 1718, + "TagIdEvtMsg": 12489, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB1F00": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10321, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB2000", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2000": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10322, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10323, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6802_088B2500": { + "Prio": 4, + "TagId": 3571, + "TagIdEvtMsg": 10158, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10324, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2100" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6802_108B2400": { + "Prio": 4, + "TagId": 2576, + "TagIdEvtMsg": 10157, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6800_00AB5700": { + "Prio": 5, + "TagId": 330, + "TagIdEvtMsg": 10332, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 260 + ] + }, + "6800_088B6000": { + "Prio": 4, + "TagId": 738, + "TagIdEvtMsg": 10333, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6802_08AB6500": { + "Prio": 5, + "TagId": 755, + "TagIdEvtMsg": 10362, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6100": { + "Prio": 5, + "TagId": 739, + "TagIdEvtMsg": 10334, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_108B6600": { + "Prio": 4, + "TagId": 719, + "TagIdEvtMsg": 10303, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6200": { + "Prio": 5, + "TagId": 740, + "TagIdEvtMsg": 10335, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6300": { + "Prio": 5, + "TagId": 741, + "TagIdEvtMsg": 10336, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6400": { + "Prio": 5, + "TagId": 742, + "TagIdEvtMsg": 10337, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_088B6100": { + "Prio": 4, + "TagId": 743, + "TagIdEvtMsg": 10338, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6182_084B2400": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 12127, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6180_084B2000": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12118, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6180_104B2200": { + "Prio": 2, + "TagId": 4245, + "TagIdEvtMsg": 12120, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6102_004B2100": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 12119, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084B2300": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4246 + ] + }, + "6800_088B3400": { + "Prio": 4, + "TagId": 1625, + "TagIdEvtMsg": 12428, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 584 + ] + }, + "6800_088B3500": { + "Prio": 4, + "TagId": 4619, + "TagIdEvtMsg": 12429, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 584 + ] + }, + "6802_088B3000": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 12148, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246, + 4241 + ] + }, + "6802_088B2F00": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 12147, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246, + 4290 + ] + }, + "6182_084B2500": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 12128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B2B00": { + "Prio": 4, + "TagId": 1146, + "TagIdEvtMsg": 12122, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B2A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12121, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B3600": { + "Prio": 4, + "TagId": 4621, + "TagIdEvtMsg": 12430, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6800_088B3800": { + "Prio": 4, + "TagId": 4784, + "TagIdEvtMsg": 12578, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6800_088B7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_008B7100": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10825, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_088B7200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_008B7300": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10827, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_108B4000": { + "Prio": 4, + "TagId": 4882, + "TagIdEvtMsg": 12691, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6802_088B7500": { + "Prio": 4, + "TagId": 4634, + "TagIdEvtMsg": 12439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_108B3F00": { + "Prio": 4, + "TagId": 1629, + "TagIdEvtMsg": 12690, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_008B7400": { + "Prio": 4, + "TagId": 712, + "TagIdEvtMsg": 11763, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_088B5200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10887, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1716 + ] + }, + "6802_008B5300": { + "Prio": 4, + "TagId": 3634, + "TagIdEvtMsg": 11831, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1716 + ] + }, + "6180_084B1E00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10886, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_008B2E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12132, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_088B3D00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 10949, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3B00": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10947, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3E00": { + "Prio": 4, + "TagId": 2022, + "TagIdEvtMsg": 11025, + "DataFrmt": 28, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_008B3A00": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10946, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3C00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10948, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3900": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10945, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6802_008B8A00": { + "Prio": 4, + "TagId": 2010, + "TagIdEvtMsg": 11015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6802_108B8B00": { + "Prio": 4, + "TagId": 2112, + "TagIdEvtMsg": 11035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6800_108B2600": { + "Prio": 4, + "TagId": 3906, + "TagIdEvtMsg": 11914, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 840, + 3572 + ] + }, + "6802_088B2700": { + "Prio": 4, + "TagId": 4044, + "TagIdEvtMsg": 12000, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 3663 + ] + }, + "6182_084B1F00": { + "Prio": 2, + "TagId": 4045, + "TagIdEvtMsg": 12001, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 3663 + ] + }, + "6802_10AB2400": { + "Prio": 5, + "TagId": 4243, + "TagIdEvtMsg": 12117, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241, + 4244 + ] + }, + "6802_008B2C00": { + "Prio": 4, + "TagId": 4265, + "TagIdEvtMsg": 12126, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B2900": { + "Prio": 4, + "TagId": 1146, + "TagIdEvtMsg": 12115, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_10AB2300": { + "Prio": 5, + "TagId": 4242, + "TagIdEvtMsg": 12116, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B2800": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_108B2D00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12131, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B3200": { + "Prio": 4, + "TagId": 4327, + "TagIdEvtMsg": 12174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4326 + ] + }, + "6802_008B4200": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 12803, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 5079 + ] + }, + "6802_108B4100": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 12802, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 5079 + ] + }, + "6182_084B2C00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 12804, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 5079 + ] + }, + "6800_088C2200": { + "Prio": 4, + "TagId": 4959, + "TagIdEvtMsg": 12739, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6100_004C1E00": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10841, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 360 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088C2000": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 10144, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C1E00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10122, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C4600": { + "Prio": 4, + "TagId": 1325, + "TagIdEvtMsg": 10684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4400": { + "Prio": 4, + "TagId": 1197, + "TagIdEvtMsg": 10590, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4700": { + "Prio": 4, + "TagId": 1326, + "TagIdEvtMsg": 10685, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4500": { + "Prio": 4, + "TagId": 1198, + "TagIdEvtMsg": 10591, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6100_004C1F00": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10856, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1687 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2000": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10857, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1688 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2300": { + "Prio": 2, + "TagId": 2413, + "TagIdEvtMsg": 11251, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1688 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2100": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10943, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1820 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2200": { + "Prio": 2, + "TagId": 2413, + "TagIdEvtMsg": 11250, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1820 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_008D5200": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10331, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 842, + 452 + ] + }, + "6800_088D3B00": { + "Prio": 4, + "TagId": 744, + "TagIdEvtMsg": 10339, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3000": { + "Prio": 4, + "TagId": 745, + "TagIdEvtMsg": 10340, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6802_088D3E00": { + "Prio": 4, + "TagId": 2675, + "TagIdEvtMsg": 11441, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3C00": { + "Prio": 4, + "TagId": 746, + "TagIdEvtMsg": 10341, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3100": { + "Prio": 4, + "TagId": 747, + "TagIdEvtMsg": 10342, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3D00": { + "Prio": 4, + "TagId": 748, + "TagIdEvtMsg": 10343, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3200": { + "Prio": 4, + "TagId": 749, + "TagIdEvtMsg": 10344, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6800_108D1F00": { + "Prio": 4, + "TagId": 750, + "TagIdEvtMsg": 10346, + "DataFrmt": 28, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D1E00": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 10345, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D2100": { + "Prio": 4, + "TagId": 752, + "TagIdEvtMsg": 10348, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D2000": { + "Prio": 4, + "TagId": 751, + "TagIdEvtMsg": 10347, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_088D6000": { + "Prio": 4, + "TagId": 1145, + "TagIdEvtMsg": 10349, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_088D6400": { + "Prio": 4, + "TagId": 1870, + "TagIdEvtMsg": 10959, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_088D6100": { + "Prio": 4, + "TagId": 753, + "TagIdEvtMsg": 10350, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_008D6500": { + "Prio": 4, + "TagId": 1871, + "TagIdEvtMsg": 10960, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 842, + 708 + ] + }, + "6100_004E3400": { + "Prio": 2, + "TagId": 4739, + "TagIdEvtMsg": 12524, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3600": { + "Prio": 2, + "TagId": 4741, + "TagIdEvtMsg": 12526, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3300": { + "Prio": 2, + "TagId": 4738, + "TagIdEvtMsg": 12523, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3500": { + "Prio": 2, + "TagId": 4740, + "TagIdEvtMsg": 12525, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E2800": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200090, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4531 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6800_408E2800": { + "Prio": 4, + "TagId": 4535, + "TagIdEvtMsg": 200090, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230, + 4531 + ] + }, + "6100_404E2900": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200091, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4532 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6800_408E2900": { + "Prio": 4, + "TagId": 4535, + "TagIdEvtMsg": 200091, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230, + 4532 + ] + }, + "6100_404E2700": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200089, + "Unit": 3134, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4530 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2600": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200088, + "Unit": 4391, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4536 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2500": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200087, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 417 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2400": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200086, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E4000": { + "Prio": 2, + "TagId": 4531, + "TagIdEvtMsg": 12793, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_408E4000": { + "Prio": 4, + "TagId": 4531, + "TagIdEvtMsg": 12793, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230 + ] + }, + "6100_404E4100": { + "Prio": 2, + "TagId": 4532, + "TagIdEvtMsg": 12794, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_408E4100": { + "Prio": 4, + "TagId": 4532, + "TagIdEvtMsg": 12794, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230 + ] + }, + "6100_404E3F00": { + "Prio": 2, + "TagId": 4530, + "TagIdEvtMsg": 12792, + "Unit": 3134, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E3E00": { + "Prio": 2, + "TagId": 4536, + "TagIdEvtMsg": 12791, + "Unit": 4391, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2F00": { + "Prio": 2, + "TagId": 4640, + "TagIdEvtMsg": 200093, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 418 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3100": { + "Prio": 2, + "TagId": 4641, + "TagIdEvtMsg": 200095, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 418 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2E00": { + "Prio": 2, + "TagId": 4640, + "TagIdEvtMsg": 200092, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 1408 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3000": { + "Prio": 2, + "TagId": 4641, + "TagIdEvtMsg": 200094, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 1408 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 12790, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_00AE1E00": { + "Prio": 5, + "TagId": 4760, + "TagIdEvtMsg": 12543, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 299 + ] + }, + "6800_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "680E_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9E00": { + "Prio": 2, + "TagId": 3976, + "TagIdEvtMsg": 11968, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9F00": { + "Prio": 2, + "TagId": 3977, + "TagIdEvtMsg": 11969, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008EA500": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11982, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8400": { + "Prio": 2, + "TagId": 3733, + "TagIdEvtMsg": 11878, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8500": { + "Prio": 2, + "TagId": 3734, + "TagIdEvtMsg": 11879, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E8100": { + "Prio": 2, + "TagId": 3730, + "TagIdEvtMsg": 11875, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E8F00": { + "Prio": 4, + "TagId": 3942, + "TagIdEvtMsg": 11934, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8A00": { + "Prio": 4, + "TagId": 3815, + "TagIdEvtMsg": 11893, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA100": { + "Prio": 4, + "TagId": 3980, + "TagIdEvtMsg": 11972, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9300": { + "Prio": 4, + "TagId": 3948, + "TagIdEvtMsg": 11940, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9100": { + "Prio": 4, + "TagId": 3946, + "TagIdEvtMsg": 11938, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9200": { + "Prio": 4, + "TagId": 3947, + "TagIdEvtMsg": 11939, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8300": { + "Prio": 2, + "TagId": 3732, + "TagIdEvtMsg": 11877, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8600": { + "Prio": 2, + "TagId": 3735, + "TagIdEvtMsg": 11880, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8800": { + "Prio": 4, + "TagId": 3727, + "TagIdEvtMsg": 11872, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8200": { + "Prio": 2, + "TagId": 3731, + "TagIdEvtMsg": 11876, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E8E00": { + "Prio": 4, + "TagId": 3818, + "TagIdEvtMsg": 11897, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8900": { + "Prio": 2, + "TagId": 3738, + "TagIdEvtMsg": 11883, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_004E9900": { + "Prio": 2, + "TagId": 3970, + "TagIdEvtMsg": 11962, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_408E9A00": { + "Prio": 4, + "TagId": 3955, + "TagIdEvtMsg": 11947, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9800": { + "Prio": 4, + "TagId": 3953, + "TagIdEvtMsg": 11945, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9900": { + "Prio": 4, + "TagId": 3954, + "TagIdEvtMsg": 11946, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9B00": { + "Prio": 4, + "TagId": 3956, + "TagIdEvtMsg": 11948, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9700": { + "Prio": 4, + "TagId": 3952, + "TagIdEvtMsg": 11944, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088E9F00": { + "Prio": 4, + "TagId": 3968, + "TagIdEvtMsg": 11960, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9600": { + "Prio": 2, + "TagId": 3966, + "TagIdEvtMsg": 11958, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9700": { + "Prio": 2, + "TagId": 3967, + "TagIdEvtMsg": 11959, + "Unit": 2, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9000": { + "Prio": 2, + "TagId": 3960, + "TagIdEvtMsg": 11952, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9100": { + "Prio": 2, + "TagId": 3961, + "TagIdEvtMsg": 11953, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9200": { + "Prio": 2, + "TagId": 3962, + "TagIdEvtMsg": 11954, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9300": { + "Prio": 2, + "TagId": 3963, + "TagIdEvtMsg": 11955, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9400": { + "Prio": 2, + "TagId": 3964, + "TagIdEvtMsg": 11956, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9500": { + "Prio": 2, + "TagId": 3965, + "TagIdEvtMsg": 11957, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E9C00": { + "Prio": 4, + "TagId": 3957, + "TagIdEvtMsg": 11949, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9D00": { + "Prio": 4, + "TagId": 3958, + "TagIdEvtMsg": 11950, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9E00": { + "Prio": 4, + "TagId": 3959, + "TagIdEvtMsg": 11951, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8000": { + "Prio": 2, + "TagId": 3729, + "TagIdEvtMsg": 11874, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E8C00": { + "Prio": 2, + "TagId": 3813, + "TagIdEvtMsg": 11892, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E9400": { + "Prio": 4, + "TagId": 3949, + "TagIdEvtMsg": 11941, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9600": { + "Prio": 4, + "TagId": 3951, + "TagIdEvtMsg": 11943, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9500": { + "Prio": 4, + "TagId": 3950, + "TagIdEvtMsg": 11942, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E8100": { + "Prio": 4, + "TagId": 3721, + "TagIdEvtMsg": 11866, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E8000": { + "Prio": 4, + "TagId": 3720, + "TagIdEvtMsg": 11865, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9A00": { + "Prio": 2, + "TagId": 3972, + "TagIdEvtMsg": 11964, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9B00": { + "Prio": 2, + "TagId": 3973, + "TagIdEvtMsg": 11965, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9C00": { + "Prio": 2, + "TagId": 3974, + "TagIdEvtMsg": 11966, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9D00": { + "Prio": 2, + "TagId": 3975, + "TagIdEvtMsg": 11967, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E9000": { + "Prio": 4, + "TagId": 3945, + "TagIdEvtMsg": 11937, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408EA000": { + "Prio": 4, + "TagId": 3971, + "TagIdEvtMsg": 11963, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6182_084EA300": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11977, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6400_004E8B00": { + "Prio": 2, + "TagId": 3740, + "TagIdEvtMsg": 11885, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_008E8B00": { + "Prio": 4, + "TagId": 3816, + "TagIdEvtMsg": 11894, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8200": { + "Prio": 4, + "TagId": 3722, + "TagIdEvtMsg": 11867, + "Unit": 6, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA200": { + "Prio": 4, + "TagId": 3751, + "TagIdEvtMsg": 11886, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8D00": { + "Prio": 4, + "TagId": 3817, + "TagIdEvtMsg": 11896, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6402_004EA200": { + "Prio": 2, + "TagId": 3987, + "TagIdEvtMsg": 11976, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_008E8500": { + "Prio": 4, + "TagId": 3725, + "TagIdEvtMsg": 11870, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8600": { + "Prio": 4, + "TagId": 3726, + "TagIdEvtMsg": 11871, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8C00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 11895, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8A00": { + "Prio": 2, + "TagId": 3739, + "TagIdEvtMsg": 11884, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004EA000": { + "Prio": 2, + "TagId": 3978, + "TagIdEvtMsg": 11970, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004EA100": { + "Prio": 2, + "TagId": 3979, + "TagIdEvtMsg": 11971, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8400": { + "Prio": 4, + "TagId": 3724, + "TagIdEvtMsg": 11869, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8300": { + "Prio": 4, + "TagId": 3723, + "TagIdEvtMsg": 11868, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6182_084EA400": { + "Prio": 2, + "TagId": 3988, + "TagIdEvtMsg": 11978, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6400_004E9800": { + "Prio": 2, + "TagId": 3969, + "TagIdEvtMsg": 11961, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_404E8700": { + "Prio": 2, + "TagId": 3736, + "TagIdEvtMsg": 11881, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8800": { + "Prio": 2, + "TagId": 3737, + "TagIdEvtMsg": 11882, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8900": { + "Prio": 4, + "TagId": 3728, + "TagIdEvtMsg": 11873, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6800_088E1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10352, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 843, + 709 + ] + }, + "6800_108E1F00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10353, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 843, + 709 + ] + }, + "6800_108E2000": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10351, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 843, + 709 + ] + }, + "6800_088E4500": { + "Prio": 4, + "TagId": 738, + "TagIdEvtMsg": 10355, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4900": { + "Prio": 4, + "TagId": 1258, + "TagIdEvtMsg": 10676, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4C00": { + "Prio": 4, + "TagId": 1325, + "TagIdEvtMsg": 10682, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4B00": { + "Prio": 4, + "TagId": 1197, + "TagIdEvtMsg": 10681, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4D00": { + "Prio": 4, + "TagId": 1326, + "TagIdEvtMsg": 10683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10354, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4A00": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10356, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_008E4600": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10357, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_10AE1F00": { + "Prio": 5, + "TagId": 736, + "TagIdEvtMsg": 10358, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ], + "Deprecated": true + }, + "6800_108E4E00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10358, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4800": { + "Prio": 4, + "TagId": 1237, + "TagIdEvtMsg": 10671, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4700": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10359, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4F00": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 10823, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E6000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10818, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6900": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": 11024, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_108E6200": { + "Prio": 4, + "TagId": 1633, + "TagIdEvtMsg": 10820, + "DataFrmt": 29, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6100": { + "Prio": 4, + "TagId": 1632, + "TagIdEvtMsg": 10819, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6700": { + "Prio": 4, + "TagId": 1936, + "TagIdEvtMsg": 10970, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6300": { + "Prio": 4, + "TagId": 1634, + "TagIdEvtMsg": 10821, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6600": { + "Prio": 4, + "TagId": 1931, + "TagIdEvtMsg": 10969, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6500": { + "Prio": 4, + "TagId": 1930, + "TagIdEvtMsg": 10968, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6800": { + "Prio": 4, + "TagId": 2021, + "TagIdEvtMsg": 11023, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10822, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 710 + ] + }, + "6A02_088E2500": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 200137, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639, + 4834 + ] + }, + "6A02_008E2400": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 200136, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639, + 4834 + ] + }, + "6100_004E2B00": { + "Prio": 2, + "TagId": 200009, + "TagIdEvtMsg": 200074, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_008E2C00": { + "Prio": 4, + "TagId": 200063, + "TagIdEvtMsg": 200075, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6A02_008E2C00": { + "Prio": 4, + "TagId": 200063, + "TagIdEvtMsg": 200075, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6800_008E2D00": { + "Prio": 4, + "TagId": 200066, + "TagIdEvtMsg": 200076, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6A02_008E2D00": { + "Prio": 4, + "TagId": 200066, + "TagIdEvtMsg": 200076, + "Unit": 14, + "DataFrmt": 2, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E3C00": { + "Prio": 2, + "TagId": 2608, + "TagIdEvtMsg": 12643, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3B00": { + "Prio": 2, + "TagId": 4835, + "TagIdEvtMsg": 200138, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_008E2300": { + "Prio": 4, + "TagId": 4836, + "TagIdEvtMsg": 200135, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E2200": { + "Prio": 2, + "TagId": 4534, + "TagIdEvtMsg": 210025, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2A00": { + "Prio": 2, + "TagId": 395, + "TagIdEvtMsg": 210028, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2300": { + "Prio": 2, + "TagId": 200012, + "TagIdEvtMsg": 210005, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_004E2100": { + "Prio": 2, + "TagId": 528, + "TagIdEvtMsg": 210024, + "Unit": 17, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6A02_008E2200": { + "Prio": 4, + "TagId": 1408, + "TagIdEvtMsg": 200134, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_404E1F00": { + "Prio": 2, + "TagId": 4533, + "TagIdEvtMsg": 210023, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6A02_008E2600": { + "Prio": 4, + "TagId": 4833, + "TagIdEvtMsg": 200133, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E3700": { + "Prio": 2, + "TagId": 4742, + "TagIdEvtMsg": 12530, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3800": { + "Prio": 2, + "TagId": 4743, + "TagIdEvtMsg": 12531, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3A00": { + "Prio": 2, + "TagId": 4745, + "TagIdEvtMsg": 12533, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3900": { + "Prio": 2, + "TagId": 4744, + "TagIdEvtMsg": 12532, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_004E3200": { + "Prio": 2, + "TagId": 1870, + "TagIdEvtMsg": 12529, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Sum": true, + "SumD": true + }, + "6800_088E2100": { + "Prio": 4, + "TagId": 4771, + "TagIdEvtMsg": 12568, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 4773 + ] + }, + "6800_008F3200": { + "Prio": 4, + "TagId": 1683, + "TagIdEvtMsg": 10853, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3100": { + "Prio": 4, + "TagId": 1682, + "TagIdEvtMsg": 10852, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_088F3000": { + "Prio": 4, + "TagId": 3348, + "TagIdEvtMsg": 11627, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3400": { + "Prio": 4, + "TagId": 1685, + "TagIdEvtMsg": 10855, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3300": { + "Prio": 4, + "TagId": 1684, + "TagIdEvtMsg": 10854, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_088F2000": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 400 + ] + }, + "6100_004F2900": { + "Prio": 2, + "TagId": 4848, + "TagIdEvtMsg": 12659, + "Unit": 4928, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2A00": { + "Prio": 2, + "TagId": 4849, + "TagIdEvtMsg": 12660, + "Unit": 4928, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2800": { + "Prio": 2, + "TagId": 4847, + "TagIdEvtMsg": 12658, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4D00": { + "Prio": 2, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4D00": { + "Prio": 2, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F4D00": { + "Prio": 3, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4C00": { + "Prio": 2, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4C00": { + "Prio": 2, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F4C00": { + "Prio": 3, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404F3500": { + "Prio": 2, + "TagId": 4861, + "TagIdEvtMsg": 12671, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F9000": { + "Prio": 2, + "TagId": 248, + "TagIdEvtMsg": 10076, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_004F9000": { + "Prio": 2, + "TagId": 248, + "TagIdEvtMsg": 10076, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6200_002F7A00": { + "Prio": 1, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_002F7A00": { + "Prio": 1, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F7A00": { + "Prio": 3, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3300": { + "Prio": 2, + "TagId": 4858, + "TagIdEvtMsg": 12669, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3400": { + "Prio": 2, + "TagId": 4859, + "TagIdEvtMsg": 12670, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3000": { + "Prio": 2, + "TagId": 4855, + "TagIdEvtMsg": 12666, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2E00": { + "Prio": 2, + "TagId": 4853, + "TagIdEvtMsg": 12664, + "Unit": 4862, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2F00": { + "Prio": 2, + "TagId": 4854, + "TagIdEvtMsg": 12665, + "Unit": 4862, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084F3100": { + "Prio": 2, + "TagId": 4856, + "TagIdEvtMsg": 12667, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ] + }, + "6200_004F9100": { + "Prio": 2, + "TagId": 334, + "TagIdEvtMsg": 10077, + "Unit": 12, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_004F9100": { + "Prio": 2, + "TagId": 334, + "TagIdEvtMsg": 10077, + "Unit": 12, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6800_008F3500": { + "Prio": 4, + "TagId": 3370, + "TagIdEvtMsg": 11637, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82 + ] + }, + "6100_004F3600": { + "Prio": 2, + "TagId": 4941, + "TagIdEvtMsg": 12734, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_402F1E00": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10069, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_402F1E00": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10069, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_406F1F00": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10068, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_406F1F00": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10068, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_408F1E00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10261, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ] + }, + "6200_002F4B00": { + "Prio": 1, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_002F4B00": { + "Prio": 1, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_004F4B00": { + "Prio": 2, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2300": { + "Prio": 2, + "TagId": 4887, + "TagIdEvtMsg": 12695, + "Unit": 17, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404F3700": { + "Prio": 2, + "TagId": 4942, + "TagIdEvtMsg": 12735, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2C00": { + "Prio": 2, + "TagId": 4851, + "TagIdEvtMsg": 12662, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2D00": { + "Prio": 2, + "TagId": 4852, + "TagIdEvtMsg": 12663, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2B00": { + "Prio": 2, + "TagId": 4850, + "TagIdEvtMsg": 12661, + "Unit": 9, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3200": { + "Prio": 2, + "TagId": 4857, + "TagIdEvtMsg": 12668, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F9200": { + "Prio": 2, + "TagId": 1906, + "TagIdEvtMsg": 10966, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F9200": { + "Prio": 2, + "TagId": 1906, + "TagIdEvtMsg": 10966, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088F2100": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 844, + 289, + 400 + ] + }, + "6200_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_406F2100": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10102, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_406F2100": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10102, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_408F1F00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10276, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ] + }, + "6100_004F2200": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 12527, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 4735 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "71B0_00502000": { + "Prio": 2, + "TagId": 8575, + "TagIdEvtMsg": 12627, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "71A0_00501F00": { + "Prio": 2, + "TagId": 8574, + "TagIdEvtMsg": 12626, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "71F0_00501F00": { + "Prio": 2, + "TagId": 8574, + "TagIdEvtMsg": 12626, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "7190_00501E00": { + "Prio": 2, + "TagId": 8573, + "TagIdEvtMsg": 12625, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "6100_00512200": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12553, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12551, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512100": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12552, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512500": { + "Prio": 2, + "TagId": 4764, + "TagIdEvtMsg": 12795, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00512600": { + "Prio": 2, + "TagId": 4810, + "TagIdEvtMsg": 12796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_0091A500": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11922, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A600": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11923, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A700": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11924, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A800": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 11925, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A400": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11921, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_00918A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11167, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10918F00": { + "Prio": 4, + "TagId": 828, + "TagIdEvtMsg": 11801, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11769, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10919000": { + "Prio": 4, + "TagId": 829, + "TagIdEvtMsg": 11802, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11168, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00B18900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11170, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10B18B00": { + "Prio": 5, + "TagId": 721, + "TagIdEvtMsg": 11480, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00B18A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11171, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11166, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11169, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_08918D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11172, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00915A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10418, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11787, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10419, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00B15900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10421, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00B15A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10422, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10417, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10420, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_08915D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10868, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_0091A000": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11917, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A100": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11918, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A200": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11919, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A300": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 11920, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_00919F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11916, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_00912A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10382, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11781, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10383, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10385, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10386, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10381, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10384, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_08912D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10862, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00913A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10394, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11783, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10395, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00B13900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10397, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00B13A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10398, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10393, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10396, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_08913D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10388, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11782, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10389, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00B13100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10391, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00B13200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10392, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10387, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10390, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_08913500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10863, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00919200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11244, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11770, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11245, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00B19100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11247, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00B19200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11248, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11243, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11246, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_08919500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11249, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00912200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10376, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_10912700": { + "Prio": 4, + "TagId": 4106, + "TagIdEvtMsg": 12035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00912600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11780, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00912300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10377, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10379, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10380, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10375, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10378, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_08912500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10861, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00917A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10364, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11767, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10365, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00B17900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10367, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00B17A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10368, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10363, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10366, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_08917D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10872, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00918200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11117, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11768, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11118, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00B18100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11120, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00B18200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11121, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11116, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11119, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_08918500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11122, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00916200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10424, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11764, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10425, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00B16100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10427, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00B16200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10428, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10423, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10426, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_08916500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10869, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00917200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10512, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11766, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10513, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00B17100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10515, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00B17200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10516, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10511, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10514, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_08917500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10871, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00916A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10482, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11765, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10484, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00B16900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10485, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00B16A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10486, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10481, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10483, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_08916D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10870, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00914A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10406, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11785, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10407, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00B14900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10409, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00B14A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10410, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10405, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10408, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_08914D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10866, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10400, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11784, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10401, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00B14100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10403, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00B14200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10404, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10399, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10402, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_08914500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10865, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00919A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11594, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11771, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11595, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00B19900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11597, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00B19A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11598, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11593, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11596, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_08919D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11599, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00915200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10412, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11786, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10413, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00B15100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10415, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00B15200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10416, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10411, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10414, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_08915500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10867, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6180_08511F00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12034, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 309, + 3913 + ] + }, + "6180_08511E00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12033, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 309, + 3912 + ] + }, + "6100_00512400": { + "Prio": 2, + "TagId": 448, + "TagIdEvtMsg": 12556, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 1740, + 1079, + 3409 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08512300": { + "Prio": 2, + "TagId": 1467, + "TagIdEvtMsg": 12557, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 1740, + 1079 + ] + }, + "6A02_40951700": { + "Prio": 4, + "TagId": 4321, + "TagIdEvtMsg": 12426, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40950D00": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12480, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40951800": { + "Prio": 4, + "TagId": 4324, + "TagIdEvtMsg": 12427, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40950E00": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12481, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_00954600": { + "Prio": 4, + "TagId": 4774, + "TagIdEvtMsg": 12562, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A12_00954600": { + "Prio": 4, + "TagId": 4774, + "TagIdEvtMsg": 12562, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40953F00": { + "Prio": 4, + "TagId": 2172, + "TagIdEvtMsg": 12499, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46 + ] + }, + "6A02_40954000": { + "Prio": 4, + "TagId": 2173, + "TagIdEvtMsg": 12500, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46 + ] + }, + "6802_08921900": { + "Prio": 4, + "TagId": 3641, + "TagIdEvtMsg": 11857, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 229 + ] + }, + "6800_4092F800": { + "Prio": 4, + "TagId": 3406, + "TagIdEvtMsg": 11645, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092FA00": { + "Prio": 4, + "TagId": 3408, + "TagIdEvtMsg": 11647, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092AB00": { + "Prio": 4, + "TagId": 3424, + "TagIdEvtMsg": 11658, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092AC00": { + "Prio": 4, + "TagId": 3425, + "TagIdEvtMsg": 11659, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0092F700": { + "Prio": 4, + "TagId": 3405, + "TagIdEvtMsg": 11644, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0092F900": { + "Prio": 4, + "TagId": 3407, + "TagIdEvtMsg": 11646, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0892F600": { + "Prio": 4, + "TagId": 3404, + "TagIdEvtMsg": 11643, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6A02_4092FD00": { + "Prio": 4, + "TagId": 3406, + "TagIdEvtMsg": 11650, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092FF00": { + "Prio": 4, + "TagId": 3408, + "TagIdEvtMsg": 11652, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092A600": { + "Prio": 4, + "TagId": 3424, + "TagIdEvtMsg": 11660, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092A700": { + "Prio": 4, + "TagId": 3425, + "TagIdEvtMsg": 11661, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0092FC00": { + "Prio": 4, + "TagId": 3405, + "TagIdEvtMsg": 11649, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0092FE00": { + "Prio": 4, + "TagId": 3407, + "TagIdEvtMsg": 11651, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0892FB00": { + "Prio": 4, + "TagId": 3404, + "TagIdEvtMsg": 11648, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6800_0892F500": { + "Prio": 4, + "TagId": 3400, + "TagIdEvtMsg": 11642, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401 + ] + }, + "6802_0892EC00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11303, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_4092EE00": { + "Prio": 4, + "TagId": 2504, + "TagIdEvtMsg": 11305, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892EF00": { + "Prio": 4, + "TagId": 2505, + "TagIdEvtMsg": 11306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_08956600": { + "Prio": 4, + "TagId": 4380, + "TagIdEvtMsg": 12222, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_08956400": { + "Prio": 4, + "TagId": 4378, + "TagIdEvtMsg": 12220, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ], + "Deprecated": true + }, + "6802_00956500": { + "Prio": 4, + "TagId": 4379, + "TagIdEvtMsg": 12221, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_00956300": { + "Prio": 4, + "TagId": 4377, + "TagIdEvtMsg": 12219, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ], + "Deprecated": true + }, + "6802_0092ED00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11304, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0895BB00": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12689, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4880 + ] + }, + "6802_0895BA00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12688, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4880 + ] + }, + "6802_0892E900": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11300, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_4092EB00": { + "Prio": 4, + "TagId": 2503, + "TagIdEvtMsg": 11302, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0092EA00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11301, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0895B800": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12686, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895B700": { + "Prio": 4, + "TagId": 4877, + "TagIdEvtMsg": 12685, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895B900": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12687, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895A800": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 12297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_00953800": { + "Prio": 4, + "TagId": 4481, + "TagIdEvtMsg": 12165, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_0095FF00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 12389, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_0892E600": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_4095AC00": { + "Prio": 4, + "TagId": 4486, + "TagIdEvtMsg": 12167, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00921800": { + "Prio": 4, + "TagId": 3677, + "TagIdEvtMsg": 11861, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_4095AB00": { + "Prio": 4, + "TagId": 4485, + "TagIdEvtMsg": 12166, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E800": { + "Prio": 4, + "TagId": 2513, + "TagIdEvtMsg": 11299, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E700": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11298, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0895AA00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 12168, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_4095AE00": { + "Prio": 4, + "TagId": 4486, + "TagIdEvtMsg": 12304, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_4095AD00": { + "Prio": 4, + "TagId": 4485, + "TagIdEvtMsg": 12303, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_0095B000": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 12305, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_08955C00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12681, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4881 + ] + }, + "6802_08955B00": { + "Prio": 4, + "TagId": 4874, + "TagIdEvtMsg": 12680, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4881 + ] + }, + "6802_08955D00": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12682, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_08955E00": { + "Prio": 4, + "TagId": 4877, + "TagIdEvtMsg": 12683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_0895B600": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_00B22400": { + "Prio": 5, + "TagId": 5123, + "TagIdEvtMsg": 12832, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_00B22500": { + "Prio": 5, + "TagId": 5124, + "TagIdEvtMsg": 12833, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_0892E500": { + "Prio": 4, + "TagId": 3545, + "TagIdEvtMsg": 11732, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_0892F000": { + "Prio": 4, + "TagId": 3546, + "TagIdEvtMsg": 11733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6A12_0092F300": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 11464, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1194 + ] + }, + "6A12_0892F400": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 11465, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1194 + ] + }, + "6A12_4092F100": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11462, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1192 + ] + }, + "6A12_4092F200": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11463, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1048, + 1193 + ] + }, + "6802_00959D00": { + "Prio": 4, + "TagId": 4419, + "TagIdEvtMsg": 12275, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_00959F00": { + "Prio": 4, + "TagId": 4428, + "TagIdEvtMsg": 12277, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0095A400": { + "Prio": 4, + "TagId": 4449, + "TagIdEvtMsg": 12289, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0095A300": { + "Prio": 4, + "TagId": 4448, + "TagIdEvtMsg": 12288, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_00959E00": { + "Prio": 4, + "TagId": 4427, + "TagIdEvtMsg": 12276, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0895BC00": { + "Prio": 4, + "TagId": 4969, + "TagIdEvtMsg": 12740, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958E00": { + "Prio": 4, + "TagId": 4419, + "TagIdEvtMsg": 12265, + "Unit": 4435, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_08927A00": { + "Prio": 4, + "TagId": 1229, + "TagIdEvtMsg": 10665, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959B00": { + "Prio": 4, + "TagId": 4424, + "TagIdEvtMsg": 12270, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00927B00": { + "Prio": 4, + "TagId": 1218, + "TagIdEvtMsg": 10666, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928000": { + "Prio": 4, + "TagId": 1538, + "TagIdEvtMsg": 10784, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928100": { + "Prio": 4, + "TagId": 2267, + "TagIdEvtMsg": 11145, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928200": { + "Prio": 4, + "TagId": 2268, + "TagIdEvtMsg": 11146, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095A200": { + "Prio": 4, + "TagId": 4447, + "TagIdEvtMsg": 12287, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959C00": { + "Prio": 4, + "TagId": 4425, + "TagIdEvtMsg": 12271, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959000": { + "Prio": 4, + "TagId": 4428, + "TagIdEvtMsg": 12274, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095FB00": { + "Prio": 4, + "TagId": 4518, + "TagIdEvtMsg": 12385, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095FA00": { + "Prio": 4, + "TagId": 4517, + "TagIdEvtMsg": 12384, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958F00": { + "Prio": 4, + "TagId": 4427, + "TagIdEvtMsg": 12273, + "Unit": 4435, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0895A100": { + "Prio": 4, + "TagId": 4426, + "TagIdEvtMsg": 12272, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959900": { + "Prio": 4, + "TagId": 4421, + "TagIdEvtMsg": 12267, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959A00": { + "Prio": 4, + "TagId": 4422, + "TagIdEvtMsg": 12268, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00927E00": { + "Prio": 4, + "TagId": 1254, + "TagIdEvtMsg": 10675, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_40927D00": { + "Prio": 4, + "TagId": 1253, + "TagIdEvtMsg": 10674, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095A000": { + "Prio": 4, + "TagId": 4423, + "TagIdEvtMsg": 12269, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_08959800": { + "Prio": 4, + "TagId": 4420, + "TagIdEvtMsg": 12266, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958900": { + "Prio": 4, + "TagId": 4414, + "TagIdEvtMsg": 12260, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958800": { + "Prio": 4, + "TagId": 4413, + "TagIdEvtMsg": 12259, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08927F00": { + "Prio": 4, + "TagId": 1263, + "TagIdEvtMsg": 10677, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927C00": { + "Prio": 4, + "TagId": 1217, + "TagIdEvtMsg": 10668, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095A900": { + "Prio": 4, + "TagId": 4483, + "TagIdEvtMsg": 12298, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927900": { + "Prio": 4, + "TagId": 1228, + "TagIdEvtMsg": 10664, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927800": { + "Prio": 4, + "TagId": 1227, + "TagIdEvtMsg": 10663, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00923000": { + "Prio": 4, + "TagId": 3574, + "TagIdEvtMsg": 10659, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00922F00": { + "Prio": 4, + "TagId": 3573, + "TagIdEvtMsg": 10658, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08923B00": { + "Prio": 4, + "TagId": 4636, + "TagIdEvtMsg": 12440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08958A00": { + "Prio": 4, + "TagId": 4415, + "TagIdEvtMsg": 12261, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958C00": { + "Prio": 4, + "TagId": 4417, + "TagIdEvtMsg": 12263, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095BE00": { + "Prio": 4, + "TagId": 4971, + "TagIdEvtMsg": 12742, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958D00": { + "Prio": 4, + "TagId": 4418, + "TagIdEvtMsg": 12264, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095BD00": { + "Prio": 4, + "TagId": 4970, + "TagIdEvtMsg": 12741, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00925200": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11283, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 2477 + ] + }, + "6A02_0892AF00": { + "Prio": 4, + "TagId": 1672, + "TagIdEvtMsg": 10851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 304 + ] + }, + "6A12_0892AF00": { + "Prio": 4, + "TagId": 1672, + "TagIdEvtMsg": 10851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 304 + ] + }, + "6802_00928700": { + "Prio": 4, + "TagId": 1195, + "TagIdEvtMsg": 10589, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1080 + ] + }, + "6802_08923F00": { + "Prio": 4, + "TagId": 3626, + "TagIdEvtMsg": 11843, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3627 + ] + }, + "6802_00928C00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10797, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928F00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10800, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928D00": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 10798, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928E00": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 10799, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928A00": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10981, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929000": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10801, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929200": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10803, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929400": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10805, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929600": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10807, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929800": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 10809, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929A00": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 10811, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929C00": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 10971, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929E00": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 10973, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928B00": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10982, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929100": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10802, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929300": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10804, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929500": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10806, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929700": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 10808, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929900": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 10810, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929B00": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 10812, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929D00": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 10972, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929F00": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 10974, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00927700": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 11772, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092DE00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 11178, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E100": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 11182, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092DF00": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 11179, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E000": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 11180, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E400": { + "Prio": 4, + "TagId": 2320, + "TagIdEvtMsg": 11181, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0892E200": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11183, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0892E300": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11184, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_00925300": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 11699, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B400": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10983, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B700": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10986, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B500": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 10984, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B600": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 10985, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B800": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10987, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BA00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10989, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BC00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10990, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BE00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10991, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C000": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10992, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C200": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 10993, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C400": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 10994, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C600": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 10995, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C800": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 10996, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B900": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10988, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BB00": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10997, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BD00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10998, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BF00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10999, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C100": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11000, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C300": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 11001, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C500": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 11002, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C700": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 11003, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C900": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 11004, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_00920100": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 11701, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920400": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 11704, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920200": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 11702, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920300": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 11703, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920500": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11705, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920700": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11707, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920900": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11708, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920B00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 11709, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920D00": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 11710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920F00": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 11711, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921100": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 11712, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921300": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 11713, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921500": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 11714, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920600": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11706, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11715, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920A00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11716, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920C00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 11717, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920E00": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11718, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921000": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 11719, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921200": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 11720, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921400": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 11721, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921600": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 11722, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_0892CC00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11148, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_0092CB00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11147, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_4092CE00": { + "Prio": 4, + "TagId": 2276, + "TagIdEvtMsg": 11150, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_4092CD00": { + "Prio": 4, + "TagId": 2275, + "TagIdEvtMsg": 11149, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_0892CF00": { + "Prio": 4, + "TagId": 2277, + "TagIdEvtMsg": 11151, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_08924D00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11529, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00924C00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11528, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40924F00": { + "Prio": 4, + "TagId": 2276, + "TagIdEvtMsg": 11531, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40924E00": { + "Prio": 4, + "TagId": 2275, + "TagIdEvtMsg": 11530, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_08925000": { + "Prio": 4, + "TagId": 2277, + "TagIdEvtMsg": 11532, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00925400": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11723, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3516 + ] + }, + "6802_4092A000": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11152, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2278 + ] + }, + "6802_4092A100": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11153, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2278 + ] + }, + "6802_4092A200": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11154, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2279 + ] + }, + "6802_4092A300": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11155, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2279 + ] + }, + "6802_4092A400": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11156, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2280 + ] + }, + "6802_4092A500": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11157, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2280 + ] + }, + "6802_08957B00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12254, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 4407 + ] + }, + "6802_00926C00": { + "Prio": 4, + "TagId": 2517, + "TagIdEvtMsg": 11314, + "Unit": 11, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_00926B00": { + "Prio": 4, + "TagId": 2516, + "TagIdEvtMsg": 11313, + "Unit": 11, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_08926900": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11311, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_00926A00": { + "Prio": 4, + "TagId": 2515, + "TagIdEvtMsg": 11312, + "Unit": 11, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_08956F00": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12231, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00958700": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12258, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00957000": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12232, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_08956D00": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12229, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00956E00": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12230, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_08956B00": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12227, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00956C00": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12228, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_40923100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10455, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ], + "Deprecated": true + }, + "6802_08923200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10456, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ], + "Deprecated": true + }, + "6802_08956A00": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12226, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_08956800": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12224, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_00956900": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12225, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_00956700": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12223, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6A02_08951000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12408, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4565 + ] + }, + "6A02_00950F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12407, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4565 + ] + }, + "6A02_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_40923700": { + "Prio": 4, + "TagId": 3481, + "TagIdEvtMsg": 11673, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08956200": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12218, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08956200": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12218, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08956000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12216, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A12_08956000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12216, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A02_00956100": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12217, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00956100": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12217, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_00955F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12215, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A12_00955F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12215, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6802_0095EE00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12367, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095ED00": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12366, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095F100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 12370, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0895F000": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 12369, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095EF00": { + "Prio": 4, + "TagId": 4514, + "TagIdEvtMsg": 12368, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095F900": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12378, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F600": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12375, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F800": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12377, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F700": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12376, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F400": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12373, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F500": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12374, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F200": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12371, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F300": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12372, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6182_08524C00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 12379, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 4513 + ] + }, + "6802_0095D100": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12338, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0095D000": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12337, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0095D300": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 12340, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0895D200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 12339, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_4095D400": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 12341, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_00950400": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12394, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D900": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12350, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095DB00": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12352, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095DA00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12351, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D700": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12348, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095D800": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12349, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D500": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12346, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095D600": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12347, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_00951C00": { + "Prio": 4, + "TagId": 4628, + "TagIdEvtMsg": 12433, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_0095CE00": { + "Prio": 4, + "TagId": 4502, + "TagIdEvtMsg": 12335, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_00951D00": { + "Prio": 4, + "TagId": 4629, + "TagIdEvtMsg": 12434, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_0095CF00": { + "Prio": 4, + "TagId": 4503, + "TagIdEvtMsg": 12336, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_00927400": { + "Prio": 4, + "TagId": 1990, + "TagIdEvtMsg": 10980, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927300": { + "Prio": 4, + "TagId": 1989, + "TagIdEvtMsg": 10979, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40927600": { + "Prio": 4, + "TagId": 2483, + "TagIdEvtMsg": 11286, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40927500": { + "Prio": 4, + "TagId": 2482, + "TagIdEvtMsg": 11285, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08927200": { + "Prio": 4, + "TagId": 1046, + "TagIdEvtMsg": 10460, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08926F00": { + "Prio": 4, + "TagId": 1044, + "TagIdEvtMsg": 10457, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927100": { + "Prio": 4, + "TagId": 1047, + "TagIdEvtMsg": 10461, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926E00": { + "Prio": 4, + "TagId": 1045, + "TagIdEvtMsg": 10458, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927000": { + "Prio": 4, + "TagId": 1225, + "TagIdEvtMsg": 10656, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926D00": { + "Prio": 4, + "TagId": 1224, + "TagIdEvtMsg": 10655, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08957100": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 12233, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_00957200": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12234, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_40957300": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12235, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_08957900": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12241, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00958600": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12257, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00957A00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12242, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_08957700": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12239, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00957800": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12240, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_40922A00": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 10448, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6802_40922B00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10449, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6802_40922D00": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 11143, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 2266 + ] + }, + "6802_40922E00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 11144, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 2266 + ] + }, + "6802_40957500": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 12237, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4474 + ] + }, + "6802_40957400": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 12294, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4474 + ] + }, + "6A02_40922100": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11840, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40922200": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11841, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40922300": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11842, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40923C00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11729, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_40923D00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11730, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_40923E00": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11731, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_4092DB00": { + "Prio": 4, + "TagId": 2115, + "TagIdEvtMsg": 11038, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_4092DB00": { + "Prio": 4, + "TagId": 2115, + "TagIdEvtMsg": 11038, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_4092DD00": { + "Prio": 4, + "TagId": 2359, + "TagIdEvtMsg": 11213, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_4092DD00": { + "Prio": 4, + "TagId": 2359, + "TagIdEvtMsg": 11213, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6802_0095A500": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12151, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_00953D00": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12177, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_08952A00": { + "Prio": 4, + "TagId": 4471, + "TagIdEvtMsg": 12290, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_00953000": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12157, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_40953100": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12158, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_0095FE00": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12390, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0895C200": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12323, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0095C400": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12325, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0095C300": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12324, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0895C100": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12322, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_00950500": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12395, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_08953600": { + "Prio": 4, + "TagId": 4322, + "TagIdEvtMsg": 12163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_00953E00": { + "Prio": 4, + "TagId": 4335, + "TagIdEvtMsg": 12178, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962700": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12780, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962800": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12781, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962900": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12782, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962A00": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12783, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_00958B00": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12809, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A02_0095BF00": { + "Prio": 4, + "TagId": 4303, + "TagIdEvtMsg": 12850, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A12_0095BF00": { + "Prio": 4, + "TagId": 4303, + "TagIdEvtMsg": 12850, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A02_00953700": { + "Prio": 4, + "TagId": 4482, + "TagIdEvtMsg": 12162, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A12_00953700": { + "Prio": 4, + "TagId": 4482, + "TagIdEvtMsg": 12162, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_08926800": { + "Prio": 4, + "TagId": 1328, + "TagIdEvtMsg": 10687, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926600": { + "Prio": 4, + "TagId": 1222, + "TagIdEvtMsg": 10653, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926400": { + "Prio": 4, + "TagId": 1220, + "TagIdEvtMsg": 10651, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926700": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 10654, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ], + "Deprecated": true + }, + "6802_00925700": { + "Prio": 4, + "TagId": 2854, + "TagIdEvtMsg": 11442, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00925800": { + "Prio": 4, + "TagId": 2855, + "TagIdEvtMsg": 11443, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926300": { + "Prio": 4, + "TagId": 1219, + "TagIdEvtMsg": 10650, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926500": { + "Prio": 4, + "TagId": 1329, + "TagIdEvtMsg": 10652, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_0092A800": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 10975, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092AA00": { + "Prio": 4, + "TagId": 1987, + "TagIdEvtMsg": 10977, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092A900": { + "Prio": 4, + "TagId": 1986, + "TagIdEvtMsg": 10976, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0095C600": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12327, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_0095C500": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12326, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_4095C700": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12328, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_4095C800": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12329, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_00950300": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12393, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0895CB00": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12332, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CD00": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12334, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CC00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12333, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0895C900": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12330, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CA00": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12331, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_00951A00": { + "Prio": 4, + "TagId": 4628, + "TagIdEvtMsg": 12431, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00950100": { + "Prio": 4, + "TagId": 4502, + "TagIdEvtMsg": 12391, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00951B00": { + "Prio": 4, + "TagId": 4629, + "TagIdEvtMsg": 12432, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00950200": { + "Prio": 4, + "TagId": 4503, + "TagIdEvtMsg": 12392, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_08953500": { + "Prio": 4, + "TagId": 4305, + "TagIdEvtMsg": 12164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_00957D00": { + "Prio": 4, + "TagId": 4395, + "TagIdEvtMsg": 12244, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_00957C00": { + "Prio": 4, + "TagId": 4394, + "TagIdEvtMsg": 12243, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954400": { + "Prio": 4, + "TagId": 4704, + "TagIdEvtMsg": 12504, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954500": { + "Prio": 4, + "TagId": 4705, + "TagIdEvtMsg": 12505, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954200": { + "Prio": 4, + "TagId": 4702, + "TagIdEvtMsg": 12502, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954300": { + "Prio": 4, + "TagId": 4703, + "TagIdEvtMsg": 12503, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08954100": { + "Prio": 4, + "TagId": 4701, + "TagIdEvtMsg": 12501, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08922800": { + "Prio": 4, + "TagId": 2041, + "TagIdEvtMsg": 11026, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08922900": { + "Prio": 4, + "TagId": 1022, + "TagIdEvtMsg": 10438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ], + "Deprecated": true + }, + "6802_08922C00": { + "Prio": 4, + "TagId": 2265, + "TagIdEvtMsg": 11142, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08957F00": { + "Prio": 4, + "TagId": 4397, + "TagIdEvtMsg": 12246, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958200": { + "Prio": 4, + "TagId": 4400, + "TagIdEvtMsg": 12249, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08957E00": { + "Prio": 4, + "TagId": 4396, + "TagIdEvtMsg": 12245, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958100": { + "Prio": 4, + "TagId": 4399, + "TagIdEvtMsg": 12248, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08923800": { + "Prio": 4, + "TagId": 3635, + "TagIdEvtMsg": 10447, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958000": { + "Prio": 4, + "TagId": 4398, + "TagIdEvtMsg": 12247, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958300": { + "Prio": 4, + "TagId": 4401, + "TagIdEvtMsg": 12250, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08952C00": { + "Prio": 4, + "TagId": 4336, + "TagIdEvtMsg": 12153, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_0895DD00": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12441, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08925D00": { + "Prio": 4, + "TagId": 1057, + "TagIdEvtMsg": 10469, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08952D00": { + "Prio": 4, + "TagId": 4445, + "TagIdEvtMsg": 12285, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08952E00": { + "Prio": 4, + "TagId": 4446, + "TagIdEvtMsg": 12286, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00959400": { + "Prio": 4, + "TagId": 4438, + "TagIdEvtMsg": 12281, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959500": { + "Prio": 4, + "TagId": 4439, + "TagIdEvtMsg": 12282, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_4095A600": { + "Prio": 4, + "TagId": 4472, + "TagIdEvtMsg": 12291, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925C00": { + "Prio": 4, + "TagId": 1056, + "TagIdEvtMsg": 10468, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40926100": { + "Prio": 4, + "TagId": 2009, + "TagIdEvtMsg": 11014, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40926000": { + "Prio": 4, + "TagId": 2008, + "TagIdEvtMsg": 11013, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925E00": { + "Prio": 4, + "TagId": 1620, + "TagIdEvtMsg": 10813, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925F00": { + "Prio": 4, + "TagId": 1988, + "TagIdEvtMsg": 10978, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925A00": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 10466, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959600": { + "Prio": 4, + "TagId": 4440, + "TagIdEvtMsg": 12283, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959700": { + "Prio": 4, + "TagId": 4441, + "TagIdEvtMsg": 12284, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_4095A700": { + "Prio": 4, + "TagId": 4473, + "TagIdEvtMsg": 12293, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00926200": { + "Prio": 4, + "TagId": 3183, + "TagIdEvtMsg": 11534, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925B00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10467, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40925500": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 11724, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 3543 + ] + }, + "6802_00925600": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 11725, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 3543 + ] + }, + "6802_08959100": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12278, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08955200": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12645, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00955300": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12646, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08959200": { + "Prio": 4, + "TagId": 4563, + "TagIdEvtMsg": 12279, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08950800": { + "Prio": 4, + "TagId": 4564, + "TagIdEvtMsg": 12406, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08925900": { + "Prio": 4, + "TagId": 1023, + "TagIdEvtMsg": 10440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00959300": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12280, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00925100": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 10796, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1600 + ] + }, + "6A02_0092DC00": { + "Prio": 4, + "TagId": 2116, + "TagIdEvtMsg": 11039, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 2118 + ] + }, + "6A12_0092DC00": { + "Prio": 4, + "TagId": 2116, + "TagIdEvtMsg": 11039, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 2118 + ] + }, + "6802_00924200": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10463, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08955800": { + "Prio": 4, + "TagId": 4873, + "TagIdEvtMsg": 12677, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_00924300": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10464, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08955700": { + "Prio": 4, + "TagId": 4872, + "TagIdEvtMsg": 12676, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08953A00": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12299, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953C00": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12301, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953B00": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12300, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_0895AF00": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12169, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953900": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12236, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6A02_40924600": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11726, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40924700": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11727, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40924800": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11728, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40921E00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11837, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_40921F00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11838, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_40922000": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11839, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_4092DA00": { + "Prio": 4, + "TagId": 2114, + "TagIdEvtMsg": 11037, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_4092DA00": { + "Prio": 4, + "TagId": 2114, + "TagIdEvtMsg": 11037, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_08955900": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12678, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_40921D00": { + "Prio": 4, + "TagId": 3588, + "TagIdEvtMsg": 11807, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_00921C00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11808, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_08924500": { + "Prio": 4, + "TagId": 2358, + "TagIdEvtMsg": 11212, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40951F00": { + "Prio": 4, + "TagId": 3676, + "TagIdEvtMsg": 11860, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40951E00": { + "Prio": 4, + "TagId": 3675, + "TagIdEvtMsg": 11859, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924400": { + "Prio": 4, + "TagId": 2357, + "TagIdEvtMsg": 11211, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40952B00": { + "Prio": 4, + "TagId": 4321, + "TagIdEvtMsg": 12152, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40953200": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12159, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40953200": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12159, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_08951100": { + "Prio": 4, + "TagId": 4567, + "TagIdEvtMsg": 12411, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40952F00": { + "Prio": 4, + "TagId": 4324, + "TagIdEvtMsg": 12156, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40953300": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12160, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40953300": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12160, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_08951200": { + "Prio": 4, + "TagId": 4568, + "TagIdEvtMsg": 12412, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_0895B300": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12308, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B500": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12310, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B400": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12309, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0895B100": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B200": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12307, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_08955A00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12679, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 4301 + ] + }, + "6802_08953400": { + "Prio": 4, + "TagId": 4484, + "TagIdEvtMsg": 12161, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301 + ] + }, + "6802_00961400": { + "Prio": 4, + "TagId": 5000, + "TagIdEvtMsg": 12761, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961700": { + "Prio": 4, + "TagId": 5001, + "TagIdEvtMsg": 12764, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961200": { + "Prio": 4, + "TagId": 4438, + "TagIdEvtMsg": 12759, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_40961300": { + "Prio": 4, + "TagId": 4439, + "TagIdEvtMsg": 12760, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961500": { + "Prio": 4, + "TagId": 4440, + "TagIdEvtMsg": 12762, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_40961600": { + "Prio": 4, + "TagId": 4441, + "TagIdEvtMsg": 12763, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_08961800": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12765, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961900": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12766, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08961B00": { + "Prio": 4, + "TagId": 5003, + "TagIdEvtMsg": 12768, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08961D00": { + "Prio": 4, + "TagId": 5005, + "TagIdEvtMsg": 12770, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961F00": { + "Prio": 4, + "TagId": 5007, + "TagIdEvtMsg": 12772, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961E00": { + "Prio": 4, + "TagId": 5006, + "TagIdEvtMsg": 12771, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961C00": { + "Prio": 4, + "TagId": 5004, + "TagIdEvtMsg": 12769, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962000": { + "Prio": 4, + "TagId": 5008, + "TagIdEvtMsg": 12773, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962100": { + "Prio": 4, + "TagId": 5009, + "TagIdEvtMsg": 12774, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962200": { + "Prio": 4, + "TagId": 5010, + "TagIdEvtMsg": 12775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962400": { + "Prio": 4, + "TagId": 5012, + "TagIdEvtMsg": 12777, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962300": { + "Prio": 4, + "TagId": 5011, + "TagIdEvtMsg": 12776, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962600": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_08962500": { + "Prio": 4, + "TagId": 5013, + "TagIdEvtMsg": 12778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_08961100": { + "Prio": 4, + "TagId": 4999, + "TagIdEvtMsg": 12758, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_00961A00": { + "Prio": 4, + "TagId": 5002, + "TagIdEvtMsg": 12767, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_0095E600": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12363, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E500": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12362, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E700": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12364, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_4095E800": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12365, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E400": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12361, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895DE00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12355, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895FC00": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12386, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895E100": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12358, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E300": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12360, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E200": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12359, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895FD00": { + "Prio": 4, + "TagId": 4519, + "TagIdEvtMsg": 12387, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895DF00": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12356, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E000": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12357, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_08924000": { + "Prio": 4, + "TagId": 1599, + "TagIdEvtMsg": 10795, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6802_08924100": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6A02_08950900": { + "Prio": 4, + "TagId": 4549, + "TagIdEvtMsg": 12401, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6100_40524B00": { + "Prio": 2, + "TagId": 4477, + "TagIdEvtMsg": 12296, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40524900": { + "Prio": 2, + "TagId": 4280, + "TagIdEvtMsg": 12137, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40524A00": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12135, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00551F00": { + "Prio": 2, + "TagId": 4752, + "TagIdEvtMsg": 12540, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40521F00": { + "Prio": 2, + "TagId": 3116, + "TagIdEvtMsg": 11490, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524500": { + "Prio": 2, + "TagId": 3562, + "TagIdEvtMsg": 11739, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524600": { + "Prio": 2, + "TagId": 3563, + "TagIdEvtMsg": 11740, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524700": { + "Prio": 2, + "TagId": 3564, + "TagIdEvtMsg": 11741, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524800": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11742, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00551E00": { + "Prio": 2, + "TagId": 4751, + "TagIdEvtMsg": 12539, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A12_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A02_0892B100": { + "Prio": 4, + "TagId": 2017, + "TagIdEvtMsg": 11022, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922200": { + "Prio": 4, + "TagId": 1029, + "TagIdEvtMsg": 10661, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00960300": { + "Prio": 4, + "TagId": 4632, + "TagIdEvtMsg": 12437, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08960400": { + "Prio": 4, + "TagId": 4633, + "TagIdEvtMsg": 12438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921E00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10479, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922300": { + "Prio": 4, + "TagId": 1621, + "TagIdEvtMsg": 10814, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08950A00": { + "Prio": 4, + "TagId": 4582, + "TagIdEvtMsg": 12416, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922400": { + "Prio": 4, + "TagId": 1622, + "TagIdEvtMsg": 10815, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08951900": { + "Prio": 4, + "TagId": 4585, + "TagIdEvtMsg": 12410, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921700": { + "Prio": 4, + "TagId": 3685, + "TagIdEvtMsg": 10646, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922000": { + "Prio": 4, + "TagId": 1065, + "TagIdEvtMsg": 10477, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08922100": { + "Prio": 4, + "TagId": 1066, + "TagIdEvtMsg": 10478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6182_08523500": { + "Prio": 2, + "TagId": 3410, + "TagIdEvtMsg": 11653, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6102_00523900": { + "Prio": 2, + "TagId": 3414, + "TagIdEvtMsg": 11657, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00523800": { + "Prio": 2, + "TagId": 3413, + "TagIdEvtMsg": 11656, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523700": { + "Prio": 2, + "TagId": 3412, + "TagIdEvtMsg": 11655, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6182_08523600": { + "Prio": 2, + "TagId": 3411, + "TagIdEvtMsg": 11654, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6100_40522100": { + "Prio": 2, + "TagId": 3221, + "TagIdEvtMsg": 11572, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3219 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40522000": { + "Prio": 2, + "TagId": 3220, + "TagIdEvtMsg": 11571, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3219 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_00522900": { + "Prio": 2, + "TagId": 2511, + "TagIdEvtMsg": 11309, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_08522A00": { + "Prio": 2, + "TagId": 2512, + "TagIdEvtMsg": 11310, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_40522800": { + "Prio": 2, + "TagId": 2510, + "TagIdEvtMsg": 11308, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522500": { + "Prio": 2, + "TagId": 3193, + "TagIdEvtMsg": 11544, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522700": { + "Prio": 2, + "TagId": 2509, + "TagIdEvtMsg": 11307, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522600": { + "Prio": 2, + "TagId": 2357, + "TagIdEvtMsg": 11542, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6802_08951500": { + "Prio": 4, + "TagId": 2510, + "TagIdEvtMsg": 12415, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951300": { + "Prio": 4, + "TagId": 1132, + "TagIdEvtMsg": 12413, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951400": { + "Prio": 4, + "TagId": 4581, + "TagIdEvtMsg": 12414, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951600": { + "Prio": 4, + "TagId": 4566, + "TagIdEvtMsg": 12409, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08950600": { + "Prio": 4, + "TagId": 9438, + "TagIdEvtMsg": 12482, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08960200": { + "Prio": 4, + "TagId": 4631, + "TagIdEvtMsg": 12436, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08960100": { + "Prio": 4, + "TagId": 4630, + "TagIdEvtMsg": 12435, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6180_08523000": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11633, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6182_08522200": { + "Prio": 2, + "TagId": 4393, + "TagIdEvtMsg": 12253, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6182_08522400": { + "Prio": 2, + "TagId": 4652, + "TagIdEvtMsg": 12448, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6100_40525100": { + "Prio": 2, + "TagId": 4514, + "TagIdEvtMsg": 12730, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 1069 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08522F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11632, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2509 + ] + }, + "6100_00523F00": { + "Prio": 2, + "TagId": 4782, + "TagIdEvtMsg": 12576, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_0892D100": { + "Prio": 4, + "TagId": 2531, + "TagIdEvtMsg": 11331, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309 + ] + }, + "6102_40522D00": { + "Prio": 2, + "TagId": 4650, + "TagIdEvtMsg": 12446, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522E00": { + "Prio": 2, + "TagId": 4651, + "TagIdEvtMsg": 12447, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40525000": { + "Prio": 2, + "TagId": 4906, + "TagIdEvtMsg": 12722, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00525200": { + "Prio": 2, + "TagId": 5052, + "TagIdEvtMsg": 12797, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6100_00523300": { + "Prio": 2, + "TagId": 4748, + "TagIdEvtMsg": 12536, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40524E00": { + "Prio": 2, + "TagId": 4901, + "TagIdEvtMsg": 12708, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522B00": { + "Prio": 2, + "TagId": 4648, + "TagIdEvtMsg": 12444, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523C00": { + "Prio": 2, + "TagId": 4573, + "TagIdEvtMsg": 12419, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6102_40524F00": { + "Prio": 2, + "TagId": 4902, + "TagIdEvtMsg": 12709, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522C00": { + "Prio": 2, + "TagId": 4649, + "TagIdEvtMsg": 12445, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523D00": { + "Prio": 2, + "TagId": 4574, + "TagIdEvtMsg": 12420, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6100_00523A00": { + "Prio": 2, + "TagId": 4750, + "TagIdEvtMsg": 12538, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0092D000": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11736, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 340 + ] + }, + "6A12_4092AD00": { + "Prio": 4, + "TagId": 3123, + "TagIdEvtMsg": 11497, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 394 + ] + }, + "6802_00963100": { + "Prio": 4, + "TagId": 5092, + "TagIdEvtMsg": 12822, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963000": { + "Prio": 4, + "TagId": 5090, + "TagIdEvtMsg": 12821, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963300": { + "Prio": 4, + "TagId": 5093, + "TagIdEvtMsg": 12824, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963200": { + "Prio": 4, + "TagId": 5091, + "TagIdEvtMsg": 12823, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_08963500": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963600": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12827, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963400": { + "Prio": 4, + "TagId": 5094, + "TagIdEvtMsg": 12825, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00962E00": { + "Prio": 4, + "TagId": 5089, + "TagIdEvtMsg": 12819, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960800": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12713, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960700": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12712, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00962F00": { + "Prio": 4, + "TagId": 5094, + "TagIdEvtMsg": 12820, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960A00": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12715, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960900": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12714, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960F00": { + "Prio": 4, + "TagId": 4909, + "TagIdEvtMsg": 12720, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40961000": { + "Prio": 4, + "TagId": 4910, + "TagIdEvtMsg": 12721, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_08960E00": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12719, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960D00": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12718, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960B00": { + "Prio": 4, + "TagId": 1204, + "TagIdEvtMsg": 12716, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960C00": { + "Prio": 4, + "TagId": 4906, + "TagIdEvtMsg": 12717, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960600": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12711, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2509 + ] + }, + "6802_40960500": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12710, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2509 + ] + }, + "6802_0892D500": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11048, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6100_00524200": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12479, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 3347 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524400": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11738, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 3347 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524D00": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12507, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 2608 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524300": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11737, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 2608 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A12_40922700": { + "Prio": 4, + "TagId": 3501, + "TagIdEvtMsg": 11696, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_4092B300": { + "Prio": 4, + "TagId": 3125, + "TagIdEvtMsg": 11517, + "Unit": 3135, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928400": { + "Prio": 4, + "TagId": 3126, + "TagIdEvtMsg": 11519, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928600": { + "Prio": 4, + "TagId": 293, + "TagIdEvtMsg": 11521, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_4092B200": { + "Prio": 4, + "TagId": 3124, + "TagIdEvtMsg": 11516, + "Unit": 3134, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928500": { + "Prio": 4, + "TagId": 413, + "TagIdEvtMsg": 11520, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928300": { + "Prio": 4, + "TagId": 416, + "TagIdEvtMsg": 11518, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6180_08521E00": { + "Prio": 2, + "TagId": 2004, + "TagIdEvtMsg": 11012, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 2003 + ] + }, + "6800_0892AE00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 11011, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2003 + ] + }, + "6800_00922500": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11634, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3360 + ] + }, + "6800_00922600": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11635, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3360 + ] + }, + "6800_40952200": { + "Prio": 4, + "TagId": 4211, + "TagIdEvtMsg": 12081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_40952300": { + "Prio": 4, + "TagId": 4212, + "TagIdEvtMsg": 12082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952600": { + "Prio": 4, + "TagId": 4206, + "TagIdEvtMsg": 12085, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6802_08952100": { + "Prio": 4, + "TagId": 764, + "TagIdEvtMsg": 12080, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3823 + ] + }, + "6800_10952800": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 12087, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_08952700": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 12086, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952500": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 12084, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00954D00": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12589, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952400": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 12083, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00954C00": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12588, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6802_40921A00": { + "Prio": 4, + "TagId": 3591, + "TagIdEvtMsg": 11813, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6802_40921B00": { + "Prio": 4, + "TagId": 3592, + "TagIdEvtMsg": 11814, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6802_40952900": { + "Prio": 4, + "TagId": 2423, + "TagIdEvtMsg": 12103, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6800_0892D900": { + "Prio": 4, + "TagId": 2136, + "TagIdEvtMsg": 11045, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092CA00": { + "Prio": 4, + "TagId": 4796, + "TagIdEvtMsg": 12601, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08955100": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12631, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08954F00": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12629, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_40955000": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12630, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_40954E00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12628, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954900": { + "Prio": 4, + "TagId": 4768, + "TagIdEvtMsg": 12565, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_08950700": { + "Prio": 4, + "TagId": 4885, + "TagIdEvtMsg": 12692, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 847, + 2113 + ] + }, + "6A12_40928900": { + "Prio": 4, + "TagId": 413, + "TagIdEvtMsg": 11523, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A12_40928800": { + "Prio": 4, + "TagId": 416, + "TagIdEvtMsg": 11522, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954700": { + "Prio": 4, + "TagId": 4766, + "TagIdEvtMsg": 12563, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954800": { + "Prio": 4, + "TagId": 4767, + "TagIdEvtMsg": 12564, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D700": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11046, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08952000": { + "Prio": 4, + "TagId": 3680, + "TagIdEvtMsg": 11862, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_00923400": { + "Prio": 4, + "TagId": 821, + "TagIdEvtMsg": 10007, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_08923300": { + "Prio": 4, + "TagId": 822, + "TagIdEvtMsg": 10029, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_0895DC00": { + "Prio": 4, + "TagId": 5077, + "TagIdEvtMsg": 12800, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D400": { + "Prio": 4, + "TagId": 2321, + "TagIdEvtMsg": 11185, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0892D600": { + "Prio": 4, + "TagId": 2135, + "TagIdEvtMsg": 11044, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D800": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11047, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954A00": { + "Prio": 4, + "TagId": 4769, + "TagIdEvtMsg": 12566, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954B00": { + "Prio": 4, + "TagId": 4770, + "TagIdEvtMsg": 12567, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_0092D200": { + "Prio": 4, + "TagId": 2596, + "TagIdEvtMsg": 11408, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2532 + ] + }, + "6802_0092D300": { + "Prio": 4, + "TagId": 2597, + "TagIdEvtMsg": 11409, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2532 + ] + }, + "6800_40950B00": { + "Prio": 4, + "TagId": 4211, + "TagIdEvtMsg": 12484, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 4208 + ] + }, + "6800_40950C00": { + "Prio": 4, + "TagId": 4212, + "TagIdEvtMsg": 12485, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 4208 + ] + }, + "6100_40523B00": { + "Prio": 2, + "TagId": 4797, + "TagIdEvtMsg": 12602, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40523E00": { + "Prio": 2, + "TagId": 4798, + "TagIdEvtMsg": 12603, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533600": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12606, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533700": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12607, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533800": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12608, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533100": { + "Prio": 2, + "TagId": 4804, + "TagIdEvtMsg": 12621, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533000": { + "Prio": 2, + "TagId": 4803, + "TagIdEvtMsg": 12620, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12170, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533900": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12609, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12171, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533A00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12610, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12172, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533B00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12611, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532D00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12617, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532E00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12618, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532F00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12619, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532A00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12614, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532B00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12615, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532C00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12616, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533300": { + "Prio": 2, + "TagId": 4806, + "TagIdEvtMsg": 12623, + "Unit": 7, "DataFrmt": 2, "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1043 - ] + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_00926E00": { - "Prio": 4, - "TagId": 1045, - "TagIdEvtMsg": 10458, + "6100_40533200": { + "Prio": 2, + "TagId": 4805, + "TagIdEvtMsg": 12622, "DataFrmt": 2, "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1043 - ] + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_00927000": { - "Prio": 4, - "TagId": 1225, - "TagIdEvtMsg": 10656, - "Unit": 1, + "6100_40531F00": { + "Prio": 2, + "TagId": 3050, + "TagIdEvtMsg": 11461, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08932900": { + "Prio": 4, + "TagId": 3048, + "TagIdEvtMsg": 11459, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1043 + 848, + 290, + 3051 ] }, - "6802_00926D00": { - "Prio": 4, - "TagId": 1224, - "TagIdEvtMsg": 10655, - "Unit": 1, + "6100_40531E00": { + "Prio": 2, + "TagId": 3049, + "TagIdEvtMsg": 11460, + "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1043 - ] + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true }, - "6802_40922B00": { + "6800_08932800": { "Prio": 4, - "TagId": 1031, - "TagIdEvtMsg": 10449, - "Unit": 1, - "DataFrmt": 1, - "Scale": 0.1, - "Typ": 0, + "TagId": 3047, + "TagIdEvtMsg": 11458, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1067 + 848, + 290, + 3051 ] }, - "6A02_40923900": { - "Prio": 4, - "TagId": 1031, - "TagIdEvtMsg": 10584, - "Unit": 1, - "DataFrmt": 1, - "Scale": 0.1, + "6100_00532000": { + "Prio": 2, + "TagId": 3498, + "TagIdEvtMsg": 11688, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1192 - ] + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6A12_40923900": { - "Prio": 4, - "TagId": 1031, - "TagIdEvtMsg": 10584, - "Unit": 1, - "DataFrmt": 1, - "Scale": 0.1, + "6100_40532200": { + "Prio": 2, + "TagId": 3499, + "TagIdEvtMsg": 11690, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1192 - ] + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true }, - "6A02_40923A00": { - "Prio": 4, - "TagId": 2043, - "TagIdEvtMsg": 11028, - "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, + "6100_40532100": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 11689, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1024, - 1192 - ] + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true }, - "6A12_40923A00": { + "6802_00932000": { "Prio": 4, - "TagId": 2043, - "TagIdEvtMsg": 11028, - "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 2205, + "TagIdEvtMsg": 11104, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1024, - 1192 + 848, + 340, + 2201 ] }, - "6802_0092AA00": { + "6802_00932100": { "Prio": 4, - "TagId": 1987, - "TagIdEvtMsg": 10977, - "Unit": 1, + "TagId": 2210, + "TagIdEvtMsg": 11105, + "Unit": 1287, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1985 + 848, + 340, + 2201 ] }, - "6802_0092A900": { + "6802_00931F00": { "Prio": 4, - "TagId": 1986, - "TagIdEvtMsg": 10976, - "Unit": 1, - "DataFrmt": 0, - "Scale": 1, + "TagId": 2204, + "TagIdEvtMsg": 11103, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024, - 1985 + 848, + 340, + 2201 ] }, - "6802_08922900": { + "6802_00932300": { "Prio": 4, - "TagId": 1022, - "TagIdEvtMsg": 10438, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2206, + "TagIdEvtMsg": 11107, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1024 + 848, + 340, + 2202 ] }, - "6802_08925D00": { + "6802_00932400": { "Prio": 4, - "TagId": 1057, - "TagIdEvtMsg": 10469, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2211, + "TagIdEvtMsg": 11108, + "Unit": 1287, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1052, - 1053 + 848, + 340, + 2202 ] }, - "6802_00925C00": { + "6802_00932200": { "Prio": 4, - "TagId": 1056, - "TagIdEvtMsg": 10468, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 2204, + "TagIdEvtMsg": 11106, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, - "TagHier": [ - 847, - 267, - 1052, - 1053 + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 ] }, - "6802_00925E00": { + "6802_00932600": { "Prio": 4, - "TagId": 1620, - "TagIdEvtMsg": 10813, + "TagId": 2207, + "TagIdEvtMsg": 11110, "Unit": 1, - "DataFrmt": 0, - "Scale": 1, + "DataFrmt": 2, + "Scale": 0.01, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1052, - 1053 + 848, + 340, + 2203 ] }, - "6802_00925A00": { + "6802_00932500": { "Prio": 4, - "TagId": 1054, - "TagIdEvtMsg": 10466, - "Unit": 7, - "DataFrmt": 2, - "Scale": 0.01, + "TagId": 2200, + "TagIdEvtMsg": 11109, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1052, - 1053 + 848, + 340, + 2203 ] }, - "6802_00926200": { + "6800_00931E00": { "Prio": 4, - "TagId": 3183, - "TagIdEvtMsg": 11534, - "Unit": 10, + "TagId": 2200, + "TagIdEvtMsg": 11102, + "Unit": 15, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1052, - 1053 + 848, + 340 ] }, - "6802_00925B00": { + "6800_00932A00": { "Prio": 4, - "TagId": 1055, - "TagIdEvtMsg": 10467, - "Unit": 1, + "TagId": 3346, + "TagIdEvtMsg": 11622, + "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1052, - 1053 + 848, + 340 ] }, - "6802_08925900": { + "6A02_40933400": { "Prio": 4, - "TagId": 1023, - "TagIdEvtMsg": 10440, - "DataFrmt": 18, - "Typ": 1, + "TagId": 4845, + "TagIdEvtMsg": 12657, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1052 + 848, + 1639 ] }, - "6802_00924200": { + "6802_00932700": { "Prio": 4, - "TagId": 448, - "TagIdEvtMsg": 10463, - "Unit": 18, + "TagId": 2208, + "TagIdEvtMsg": 11111, + "Unit": 14, "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 2, - "GridGuard": true, "TagHier": [ - 847, - 267, - 1048, - 1049 + 848, + 2113 ] }, - "6802_00924300": { - "Prio": 4, - "TagId": 1050, - "TagIdEvtMsg": 10464, - "Unit": 1, + "6100_00532900": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 12583, + "Unit": 16, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1048, - 1049 - ] + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6A02_40924900": { - "Prio": 4, - "TagId": 448, - "TagIdEvtMsg": 10585, + "6100_00532800": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 12582, "Unit": 18, "DataFrmt": 0, "Scale": 1, "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532600": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 12554, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532700": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12555, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08542900": { + "Prio": 2, + "TagId": 1737, + "TagIdEvtMsg": 200099, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309, + 4655 + ] + }, + "6180_08542800": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 200098, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309, + 4655 + ] + }, + "6802_08944600": { + "Prio": 4, + "TagId": 2352, + "TagIdEvtMsg": 11210, + "DataFrmt": 18, + "Typ": 1, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048, - 1193 + 849, + 309 ] }, - "6A12_40924900": { + "6180_08543F00": { + "Prio": 2, + "TagId": 2673, + "TagIdEvtMsg": 11440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309 + ] + }, + "6102_40742400": { + "Prio": 3, + "TagId": 2363, + "TagIdEvtMsg": 11901, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 1343, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40742500": { + "Prio": 3, + "TagId": 2364, + "TagIdEvtMsg": 11902, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 1343, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00942000": { "Prio": 4, - "TagId": 448, - "TagIdEvtMsg": 10585, - "Unit": 18, - "DataFrmt": 0, - "Scale": 1, + "TagId": 2331, + "TagIdEvtMsg": 11194, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048, - 1193 + 849, + 2322 ] }, - "6A02_40924A00": { + "6802_00942100": { "Prio": 4, - "TagId": 1050, - "TagIdEvtMsg": 10586, + "TagId": 2332, + "TagIdEvtMsg": 11195, "Unit": 1, - "DataFrmt": 0, - "Scale": 1, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048, - 1193 + 849, + 2322 ] }, - "6A12_40924A00": { + "6802_00942200": { "Prio": 4, - "TagId": 1050, - "TagIdEvtMsg": 10586, + "TagId": 2333, + "TagIdEvtMsg": 11196, "Unit": 1, - "DataFrmt": 0, - "Scale": 1, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048, - 1193 + 849, + 2322 ] }, - "6A02_40924B00": { + "6802_00942300": { "Prio": 4, - "TagId": 2042, - "TagIdEvtMsg": 11027, + "TagId": 2334, + "TagIdEvtMsg": 11197, "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048, - 1193 + 849, + 2322 ] }, - "6A12_40924B00": { + "6802_00941E00": { "Prio": 4, - "TagId": 2042, - "TagIdEvtMsg": 11027, + "TagId": 2329, + "TagIdEvtMsg": 11192, "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, + "DataFrmt": 23, + "Scale": 0.1, "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048, - 1193 + 849, + 2322 ] }, - "6802_08924000": { + "6802_00941F00": { "Prio": 4, - "TagId": 1599, - "TagIdEvtMsg": 10795, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2330, + "TagIdEvtMsg": 11193, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, "WriteLevel": 2, "TagHier": [ - 847, - 267, - 1048 + 849, + 2322 ] }, - "6802_08924100": { - "Prio": 4, - "TagId": 316, - "TagIdEvtMsg": 10439, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "6102_40742000": { + "Prio": 3, + "TagId": 2325, + "TagIdEvtMsg": 11188, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267, - 1048 + 849, + 2322 ] }, - "6A02_0892B000": { - "Prio": 4, - "TagId": 1690, - "TagIdEvtMsg": 10858, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "6102_40742100": { + "Prio": 3, + "TagId": 2326, + "TagIdEvtMsg": 11189, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267 + 849, + 2322 ] }, - "6A12_0892B000": { - "Prio": 4, - "TagId": 1690, - "TagIdEvtMsg": 10858, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "6102_40742200": { + "Prio": 3, + "TagId": 2327, + "TagIdEvtMsg": 11190, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267 + 849, + 2322 ] }, - "6A02_0892B100": { - "Prio": 4, - "TagId": 2017, - "TagIdEvtMsg": 11022, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "6102_40742300": { + "Prio": 3, + "TagId": 2328, + "TagIdEvtMsg": 11191, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267 + 849, + 2322 ] }, - "6802_00922300": { - "Prio": 4, - "TagId": 1621, - "TagIdEvtMsg": 10814, - "Unit": 1, - "DataFrmt": 0, + "6102_40741E00": { + "Prio": 3, + "TagId": 2323, + "TagIdEvtMsg": 11186, + "Unit": 18, + "DataFrmt": 23, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267 + 849, + 2322 ] }, - "6802_00921700": { - "Prio": 4, - "TagId": 3685, - "TagIdEvtMsg": 10646, - "Unit": 1, - "DataFrmt": 2, - "Scale": 0.01, + "6102_40741F00": { + "Prio": 3, + "TagId": 2324, + "TagIdEvtMsg": 11187, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267 + 849, + 2322 ] }, - "6802_00922000": { - "Prio": 4, - "TagId": 1065, - "TagIdEvtMsg": 10477, + "6100_00543700": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11231, "Unit": 1, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, - "GridGuard": true, + "WriteLevel": 5, "TagHier": [ - 847, - 267 - ] + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6802_08922100": { - "Prio": 4, - "TagId": 1066, - "TagIdEvtMsg": 10478, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, - "GridGuard": true, + "6400_00543C00": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11217, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 267 - ] + 849, + 2361 + ], + "Sum": true, + "SumD": true }, - "6180_08522F00": { + "6100_00543900": { "Prio": 2, - "TagId": 50, - "TagIdEvtMsg": 11632, - "DataFrmt": 18, - "Typ": 1, + "TagId": 2375, + "TagIdEvtMsg": 11233, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, "WriteLevel": 5, "TagHier": [ - 847, - 309, - 2509 - ] + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true }, - "6800_0092D700": { + "6800_00944900": { "Prio": 4, - "TagId": 315, - "TagIdEvtMsg": 11046, - "Unit": 18, + "TagId": 2379, + "TagIdEvtMsg": 11237, + "Unit": 8, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 1, "TagHier": [ - 847, - 2113 + 849, + 2361 ] }, - "6800_0892D600": { - "Prio": 4, - "TagId": 2135, - "TagIdEvtMsg": 11044, - "DataFrmt": 18, - "Typ": 1, - "WriteLevel": 2, + "6400_00543B00": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11216, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, "TagHier": [ - 847, - 2113 - ] + 849, + 2361 + ], + "Sum": true, + "SumD": true }, - "6800_0092D800": { - "Prio": 4, - "TagId": 2140, - "TagIdEvtMsg": 11047, + "6100_00543500": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11227, "Unit": 1, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 2, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00944800": { + "Prio": 4, + "TagId": 2378, + "TagIdEvtMsg": 11236, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, "TagHier": [ - 847, - 2113 + 849, + 2361 ] }, - "6400_00543C00": { + "6400_00543D00": { "Prio": 2, - "TagId": 2368, - "TagIdEvtMsg": 11217, + "TagId": 2454, + "TagIdEvtMsg": 11269, "Unit": 19, "DataFrmt": 0, "Scale": 1, @@ -5488,10 +43506,10 @@ "Sum": true, "SumD": true }, - "6400_00543B00": { + "6400_00543A00": { "Prio": 2, - "TagId": 1343, - "TagIdEvtMsg": 11216, + "TagId": 2367, + "TagIdEvtMsg": 11215, "Unit": 19, "DataFrmt": 0, "Scale": 1, @@ -5504,10 +43522,10 @@ "Sum": true, "SumD": true }, - "6400_00543D00": { + "7290_00543A00": { "Prio": 2, - "TagId": 2454, - "TagIdEvtMsg": 11269, + "TagId": 2367, + "TagIdEvtMsg": 11215, "Unit": 19, "DataFrmt": 0, "Scale": 1, @@ -5516,25 +43534,21 @@ "TagHier": [ 849, 2361 - ], - "Sum": true, - "SumD": true + ] }, - "6400_00543A00": { - "Prio": 2, - "TagId": 2367, - "TagIdEvtMsg": 11215, - "Unit": 19, + "6800_00944700": { + "Prio": 4, + "TagId": 2377, + "TagIdEvtMsg": 11235, + "Unit": 8, "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 5, + "WriteLevel": 1, "TagHier": [ 849, 2361 - ], - "Sum": true, - "SumD": true + ] }, "6200_00543600": { "Prio": 2, @@ -5815,5 +43829,337 @@ "Avg": true, "Cnt": true, "SumD": true + }, + "6100_00542600": { + "Prio": 2, + "TagId": 4654, + "TagIdEvtMsg": 200100, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 4506 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00542700": { + "Prio": 2, + "TagId": 1738, + "TagIdEvtMsg": 200101, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 4506 + ], + "Sum": true, + "SumD": true + }, + "6800_00944A00": { + "Prio": 4, + "TagId": 4736, + "TagIdEvtMsg": 12521, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 4733 + ] + }, + "6800_08944B00": { + "Prio": 4, + "TagId": 4737, + "TagIdEvtMsg": 12522, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 849, + 4733 + ] + }, + "6802_10982800": { + "Prio": 4, + "TagId": 4729, + "TagIdEvtMsg": 12518, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_10982500": { + "Prio": 4, + "TagId": 721, + "TagIdEvtMsg": 12515, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_00982600": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 12516, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_10982700": { + "Prio": 4, + "TagId": 4728, + "TagIdEvtMsg": 12517, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6100_00581E00": { + "Prio": 2, + "TagId": 4982, + "TagIdEvtMsg": 12752, + "DataFrmt": 1, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00982900": { + "Prio": 4, + "TagId": 4983, + "TagIdEvtMsg": 12753, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ] + }, + "6400_00581F00": { + "Prio": 2, + "TagId": 4984, + "TagIdEvtMsg": 12754, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ], + "Sum": true, + "SumD": true + }, + "6800_00981F00": { + "Prio": 4, + "TagId": 4722, + "TagIdEvtMsg": 12511, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715, + 4717 + ] + }, + "6800_00982100": { + "Prio": 4, + "TagId": 4725, + "TagIdEvtMsg": 12512, + "Unit": 8, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715, + 4717 + ] + }, + "6800_08981E00": { + "Prio": 4, + "TagId": 1734, + "TagIdEvtMsg": 12510, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982F00": { + "Prio": 4, + "TagId": 4981, + "TagIdEvtMsg": 12751, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982400": { + "Prio": 4, + "TagId": 4727, + "TagIdEvtMsg": 12509, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982300": { + "Prio": 4, + "TagId": 4726, + "TagIdEvtMsg": 12508, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_08982000": { + "Prio": 4, + "TagId": 4723, + "TagIdEvtMsg": 12513, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_00982200": { + "Prio": 4, + "TagId": 4724, + "TagIdEvtMsg": 12514, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_10982C00": { + "Prio": 4, + "TagId": 4979, + "TagIdEvtMsg": 12748, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982D00": { + "Prio": 4, + "TagId": 4980, + "TagIdEvtMsg": 12749, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982E00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 12750, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982A00": { + "Prio": 4, + "TagId": 4977, + "TagIdEvtMsg": 12746, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982B00": { + "Prio": 4, + "TagId": 4978, + "TagIdEvtMsg": 12747, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] } } diff --git a/Sources/sma2mqttLibrary/SMADataObject.swift b/Sources/sma2mqttLibrary/SMADataObject.swift index c2e596f..ad555ed 100644 --- a/Sources/sma2mqttLibrary/SMADataObject.swift +++ b/Sources/sma2mqttLibrary/SMADataObject.swift @@ -21,7 +21,7 @@ struct SMADataObject let Unit:Int? let DataFrmt:Int - let Scale:Double? + let Scale:Decimal? let Typ:Int let WriteLevel:Int @@ -36,20 +36,15 @@ struct SMADataObject let MinD:Bool let MaxD:Bool let SumD:Bool - } extension SMADataObject // Descriptions { var id:String { "\( String(object,radix: 16) )_\( String(lri,radix: 16) )" } - var tagName:String { Self.translation[TagId] ?? "tag-\( Int(TagId) )" } - var eventName:String { TagIdEventMsg != nil ? Self.translation[TagIdEventMsg!] ?? "event-\( Int(TagIdEventMsg!) )" : "" } - var tagHierachy:String { TagHier.map{ Self.translation[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") } - var unitName:String { Unit != nil ? Self.translation[Unit!] ?? "unit-\( Int(Unit!) )" : "" } - - var description:String { "\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(self.json)" } + var description:String { "\(id): \(self.json)" } } + extension SMADataObject:Decodable,Encodable { private enum CodingKeys : String, CodingKey { @@ -61,11 +56,11 @@ extension SMADataObject:Decodable,Encodable let values = try decoder.container(keyedBy: CodingKeys.self) let objectString = try values.decode(String.self, forKey: .object) - guard let object = Int(objectString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode hex string") } + guard let object = Int(objectString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode hex string:\(objectString) ") } self.object = object let lriString = try values.decode(String.self, forKey: .lri) - guard let lri = Int(lriString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode hex string") } + guard let lri = Int(lriString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode hex string:\(lriString)") } self.lri = lri Prio = try values.decode(Int.self, forKey: .Prio) @@ -73,7 +68,7 @@ extension SMADataObject:Decodable,Encodable TagIdEventMsg = try values.decodeIfPresent(Int.self, forKey: .TagIdEventMsg) Unit = try values.decodeIfPresent(Int.self, forKey: .Unit) DataFrmt = try values.decode(Int.self, forKey: .DataFrmt) - Scale = try values.decodeIfPresent(Double.self, forKey: .Scale) + Scale = try values.decodeIfPresent(Decimal.self, forKey: .Scale) Typ = try values.decode(Int.self, forKey: .Typ) WriteLevel = try values.decode(Int.self, forKey: .WriteLevel) @@ -94,9 +89,11 @@ extension SMADataObject:Decodable,Encodable } + + extension SMADataObject { - static let translation:[Int:String] = + static let defaultTranslations:[Int:String] = { guard let url = Bundle.module.url(forResource: "sma.data.Translation_Names", withExtension: "json") else @@ -125,7 +122,7 @@ extension SMADataObject extension SMADataObject { - static let dataObjects:[String:SMADataObject] = + static let defaultDataObjects:[String:SMADataObject] = { guard let url = Bundle.module.url(forResource: "sma.data.objectMetaData", withExtension: "json") else @@ -155,7 +152,3 @@ extension SMADataObject return [String:SMADataObject]() }() } - - - - diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMAInverter.swift new file mode 100644 index 0000000..ecee059 --- /dev/null +++ b/Sources/sma2mqttLibrary/SMAInverter.swift @@ -0,0 +1,116 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 27.06.22. +// + +import Foundation +import JLog + +actor SMAInverter +{ + let address:String + let password:String + var loggedIn:Bool = false + + var _smaDataObjects:[String:SMADataObject]! = nil + var smaDataObjects:[String:SMADataObject] + { + if let _smaDataObjects { return _smaDataObjects } + + let dataObjectURL = URL(string: "http://\(self.address)/data/ObjectMetadata_Istl.json")! + + do + { + let jsonString = try String(contentsOf: dataObjectURL) + let regexString = "(\"([\\da-f]{4})_([\\da-f]{8})\": \\{)" + let regex = regexString.r + let replaced = regex?.replaceAll(in: jsonString, with: "$0 \"object\" : \"$2\", \"lri\" : \"$3\",") + + if let jsonData = replaced?.data(using: .utf8) + { + let jsonObjects = try JSONDecoder().decode([String:SMADataObject].self, from: jsonData) + + _smaDataObjects = jsonObjects + } + } + catch + { + _smaDataObjects = SMADataObject.defaultDataObjects + } + return _smaDataObjects + } + + var _translations:[Int:String]! = nil + var translations:[Int:String] + { + if let _translations { return _translations } + + let translationURL = URL(string: "http://\(self.address)/data/l10n/en-US.json")! + + do + { + let jsonData = try Data(contentsOf: translationURL) + let translations = try JSONDecoder().decode([String:String?].self, from: jsonData) + + _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } + guard let stringvalue = $1 else { return nil } + return (intvalue , stringvalue) + } ) + } + catch + { + _translations = SMADataObject.defaultTranslations + } + return _translations + } + + + + init(address: String, password: String = "00000") { + self.address = address + self.password = password + } + + var description:String + { + var returnStrings = [String]() + + for (id,smaObject) in smaDataObjects + { + let tagName = translations[smaObject.TagId] ?? "tag-\( Int(smaObject.TagId) )" + let eventName = smaObject.TagIdEventMsg != nil ? translations[smaObject.TagIdEventMsg!] ?? "event-\( Int(smaObject.TagIdEventMsg!) )" : "" + let tagHierachy = smaObject.TagHier.map{ translations[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") + let unitName = smaObject.Unit != nil ? translations[smaObject.Unit!] ?? "unit-\( Int(smaObject.Unit!) )" : "" + + returnStrings.append("\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(smaObject.description)") + } + return returnStrings.joined(separator: "\n") + } +} + +extension SMAInverter +{ + func value(forObject:String) + { +// if not logged in, log in +// send command + } + + func login() + { + + } + + + func sendCommand() + { + + } + + func retrieveResults() + { + + } +} diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index 71a32c8..f853693 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -65,40 +65,60 @@ extension SMAPacket:BinaryDecodable var endPacketRead = false - repeat + struct SMATagPacket { - let length = try decoder.decode(UInt16.self).bigEndian - let tag = try decoder.decode(UInt16.self).bigEndian + let length:UInt16 + let tag:UInt16 + let data:Data + + enum TagType:Int + { + case end = 0x0000 + case net = 0x0010 + case group = 0x02A0 + case unknown = 0xFFFF_FFFF + } - JLog.debug("Decoding tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") - guard Int(length) <= decoder.countToEnd - else + public init(fromBinary decoder: BinaryDecoder) throws { - throw SMAPacketError.prematureEndOfSMAContentData("sma content too short expected length:\(length) has:\(decoder.countToEnd)") + self.length = try decoder.decode(UInt16.self).bigEndian + self.tag = try decoder.decode(UInt16.self).bigEndian + + JLog.debug("SMATagPacket tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") + + guard Int(length) <= decoder.countToEnd + else + { + throw SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") + } + self.data = try decoder.decode(Data.self,length:Int(length)) + + if length != 0 + { + JLog.error("SMATagPacket End Tag with length:\(length) - ignoring") + } } - let smaNetData = try decoder.decode(Data.self,length:Int(length)) - let smaNetDecoder = BinaryDecoder(data: [UInt8](smaNetData) ) + var type:TagType { TagType(rawValue: Int(self.tag)) ?? .unknown } + } + - switch tag + repeat + { + let smaTagPacket = try SMATagPacket(fromBinary: decoder) + let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data) ) + + switch smaTagPacket.type { - case 0x0000: endPacketRead = true - if length != 0 - { - JLog.error("Weird SMAPacket End Tag with length:\(length) - ignoring") - } + case .end: endPacketRead = true - case 0x02A0: if let group = try? smaNetDecoder.decode(UInt32.self).bigEndian + case .group: if let group = try? smaNetDecoder.decode(UInt32.self).bigEndian { JLog.trace("\(String(format:"group: 0x%08x d:%d",group,group))") self.group = group } - else - { - JLog.error(("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump)")) - } - case 0x0010: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian + case .net: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian { JLog.debug("got protocol id:\(String(format:"0x%x",protocolid))") @@ -134,16 +154,15 @@ extension SMAPacket:BinaryDecodable } else { - JLog.error("Could not decode protocol:\(tag) length:\(length) data:\(smaNetData.hexDump)") + JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") } - default: JLog.warning("Could not decode tag:\(tag) length:\(length) data:\(smaNetData.hexDump) trying detection") + case .unknown: JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") } } while !decoder.isAtEnd && !endPacketRead print("\npayload:\(self.json)") - } } diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index 34e3935..b6aac0e 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -22,9 +22,9 @@ final class SMAObjectTests: XCTestCase { // Put teardown code here. This method is called after the invocation of each test method in the class. } - func testExample() throws { + func testSMADataObject() throws { - let dataObjects = SMADataObject.dataObjects + let dataObjects = SMADataObject.defaultDataObjects for (key,value) in dataObjects @@ -37,12 +37,17 @@ final class SMAObjectTests: XCTestCase { // print(value.eventName) // print(value.description) } + } + + + + func testSMAInverter() async throws { + + let inverter = SMAInverter(address: "sunnyboy4.jinx.eu.") + let description = await inverter.description + print("\(description)") - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } } diff --git a/smatester.perl b/smatester.perl index 0e68e41..006be37 100644 --- a/smatester.perl +++ b/smatester.perl @@ -69,7 +69,9 @@ #[0x70000000, $time1day, $time1day ], #[0x61000000, 0x40263F00, 0x40263FFF], -[0x61020000, 0x40633E00, 0x40633EFF], +[0x68000000, 0x088A4D00, 0x088A4DFF], +#[0x61800000, 0x084A9600, 0x084A96FF], +#[0x61020000, 0x40633E00, 0x40633EFF], #[0x62000000, 0x40263F00, 0x40263FFF], #[0x61000000, 0x40652B00, 0x40652BFF], # From ac72275159bce7ed73120e13ad4b0dc94c7dc2d1 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 18 Feb 2023 08:32:29 +0100 Subject: [PATCH 33/81] started developing again. little cleanup, retrieving data with dataobjects now work, so we get data from inverter directly. --- Package.swift | 5 +- SMA Protocol.md | 1 + Sources/sma2mqtt/MQTTPublisher.swift | 3 +- Sources/sma2mqtt/SunnyHomeManager.swift | 19 +- Sources/sma2mqtt/sma2mqtt.swift | 9 +- Sources/sma2mqttLibrary/Extensions.swift | 6 + Sources/sma2mqttLibrary/SMADataObject.swift | 43 ++-- Sources/sma2mqttLibrary/SMAInverter.swift | 232 +++++++++++++++++--- Sources/sma2mqttLibrary/SMAPacket.swift | 159 +++++++------- 9 files changed, 332 insertions(+), 145 deletions(-) diff --git a/Package.swift b/Package.swift index a5ad3c0..2128df4 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.5 +// swift-tools-version:5.7 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "sma2mqtt", platforms: [ - .macOS(.v12), + .macOS(.v13), // .iOS(.v13), // .tvOS(.v13), // .watchOS(.v6) @@ -20,6 +20,7 @@ let package = Package( .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .revision("bc68c7c")), .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), +// .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4"), diff --git a/SMA Protocol.md b/SMA Protocol.md index 946fb7f..7286234 100644 --- a/SMA Protocol.md +++ b/SMA Protocol.md @@ -11,6 +11,7 @@ I did not find any thorough documentation on the SMA UDP Protocol, so I started - SMA [YASDI](https://www.sma.de/en/products/monitoring-control/yasdi.html) - Objects http(s)://inverter/data/ObjectMetadata_Istl.json - Translation http(s)://inverter/data/l10n/en-US.json +- Python Webclient [SMAPY][https://github.com/jonkerj/smapy] ## SMA Protocol diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index c288e71..46a7baf 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -29,7 +29,7 @@ actor MQTTPublisher port: port, identifier: ProcessInfo().processName, eventLoopGroupProvider: .createNew, - configuration: .init(userName: username, password: password) + configuration: .init(userName: username, password: "") ) try await activateClient() } @@ -58,3 +58,4 @@ actor MQTTPublisher try await mqttClient.publish(to: topic, payload: byteBuffer, qos:qos , retain:retain) } } + diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index 3e67dd4..719e9ef 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -40,7 +40,7 @@ class SunnyHomeManager channel in return channel.pipeline.addHandler(SMAMessageEncoder()).flatMap { - channel.pipeline.addHandler( SMAMessageReceiver(mqttPublisher:mqttPublisher) ) + channel.pipeline.addHandler( SMAMessageReceiver(mqttPublisher:mqttPublisher,multicastAddress:multicastAddress, multicastPort:multicastPort, bindAddress:bindAddress,bindPort:bindPort) ) } } @@ -86,10 +86,14 @@ final class SMAMessageReceiver: ChannelInboundHandler { public typealias InboundIn = AddressedEnvelope let mqttPublisher:MQTTPublisher + let description:String + var knownAddresses = [String:Date]() - init(mqttPublisher:MQTTPublisher) + init(mqttPublisher:MQTTPublisher,multicastAddress:String, multicastPort:Int, bindAddress:String = "0.0.0.0",bindPort:Int = 12222) { + JLog.debug("init:\(multicastAddress):\(multicastPort)") self.mqttPublisher = mqttPublisher + self.description = "\(multicastAddress):\(multicastPort)-\(bindAddress):\(bindPort)" } public func channelRead(context: ChannelHandlerContext, data: NIOAny) @@ -99,7 +103,14 @@ final class SMAMessageReceiver: ChannelInboundHandler var lasttime:Date = Date.distantPast let timenow = Date() - print("remoteAddress:\(envelope.remoteAddress.ipAddress)") + let remoteAddress = envelope.remoteAddress.ipAddress ?? "0.0.0.0" + if let lastTimeSeen = knownAddresses[remoteAddress] + { + return + } + knownAddresses[remoteAddress] = Date() + + JLog.debug("\(self.description) remoteAddress:\(envelope.remoteAddress.ipAddress)") if let byteArray = buffer.readBytes(length: buffer.readableBytes) { @@ -107,7 +118,7 @@ final class SMAMessageReceiver: ChannelInboundHandler if let sma = try? SMAPacket(byteArray:byteArray) { - JLog.debug("Decoded: \(sma.json)") + JLog.debug("Decoded from \(envelope.remoteAddress): \(sma.json)") for obisvalue in sma.obis { diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index df018d8..fe81f64 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -17,14 +17,8 @@ struct sma2mqtt: ParsableCommand @Flag(name: .long, help: "send json output to stdout") var json:Bool = false - - #if DEBUG - @Option(name: .long, help: "MQTT Server hostname") - var mqttServername: String = "pltmqtt.jinx.eu." - #else @Option(name: .long, help: "MQTT Server hostname") var mqttServername: String = "mqtt" - #endif @Option(name: .long, help: "MQTT Server port") var mqttPort: UInt16 = 1883 @@ -40,7 +34,7 @@ struct sma2mqtt: ParsableCommand #if DEBUG @Option(name: .shortAndLong, help: "MQTT Server topic.") - var basetopic: String = "test/sma/sunnymanager" + var basetopic: String = "example/sma/sunnymanager" #else @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "sma/sunnymanager" @@ -112,6 +106,7 @@ struct sma2mqtt: ParsableCommand for multicastGroup in multicastGroups { let sunnyHomeB = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) + } } dispatchMain() diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 7cb741a..134c601 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -40,6 +40,12 @@ public extension Data } return string } + func toHexString(octetGrouped:Bool = false) -> String + { + let formatString = octetGrouped ? "%02hhx " : "%02hhx" + let string = map { String(format: formatString, $0) }.joined() + return string + } } extension Encodable diff --git a/Sources/sma2mqttLibrary/SMADataObject.swift b/Sources/sma2mqttLibrary/SMADataObject.swift index ad555ed..b5e21db 100644 --- a/Sources/sma2mqttLibrary/SMADataObject.swift +++ b/Sources/sma2mqttLibrary/SMADataObject.swift @@ -6,10 +6,10 @@ // import Foundation -import Regex +import RegexBuilder import JLog -struct SMADataObject +public struct SMADataObject { let object:Int let lri:Int @@ -51,7 +51,7 @@ extension SMADataObject:Decodable,Encodable case object,lri,Prio,TagId,TagIdEventMsg,Unit,DataFrmt,Scale,Typ,WriteLevel,GridGuard,TagHier,Min,Max,Sum,Avg,Cnt,MinD,MaxD,SumD } - init(from decoder: Decoder) throws + public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: CodingKeys.self) @@ -122,23 +122,27 @@ extension SMADataObject extension SMADataObject { - static let defaultDataObjects:[String:SMADataObject] = + public static let defaultDataObjects:[String:SMADataObject] = { - guard let url = Bundle.module.url(forResource: "sma.data.objectMetaData", withExtension: "json") - else - { - JLog.error("Could not find objectMetaData resource file") - return [String:SMADataObject]() - } + let url = Bundle.module.url(forResource: "sma.data.objectMetaData", withExtension: "json")! + let jsonString = try! String(contentsOf: url) + return try! dataObjects(from: jsonString) + }() + static func dataObjects(from jsonString:String) throws -> [String:SMADataObject] + { do { - let jsonString = try String(contentsOf: url) - let regexString = "(\"([\\da-f]{4})_([\\da-f]{8})\": \\{)" - let regex = regexString.r - let replaced = regex?.replaceAll(in: jsonString, with: "$0 \"object\" : \"$2\", \"lri\" : \"$3\",") - - if let jsonData = replaced?.data(using: .utf8) + let regex = #/("([0-9a-fA-F]{4})_([0-9a-fA-F]{8})": {)/# + let replaced = jsonString.replacing(regex) { match in + """ + \(match.1) + "object": "\( Int(match.2, radix:16)! )", + "lri": "\( Int(match.3, radix:16)! )", + """ + } + //print(replaced) + if let jsonData = replaced.data(using: .utf8) { let jsonObjects = try JSONDecoder().decode([String:SMADataObject].self, from: jsonData) @@ -147,8 +151,9 @@ extension SMADataObject } catch { - JLog.error("Could not create Data Objects \(error)") + JLog.error("Could not create Data Objects from json:\(error)") + throw error } - return [String:SMADataObject]() - }() + return [String:SMADataObject]() // never reached + } } diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMAInverter.swift index ecee059..69f8831 100644 --- a/Sources/sma2mqttLibrary/SMAInverter.swift +++ b/Sources/sma2mqttLibrary/SMAInverter.swift @@ -8,37 +8,125 @@ import Foundation import JLog + +class IgnoreCertificateDelegate:NSObject,URLSessionDelegate +{ + public func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) { + //Trust the certificate even if not valid + let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) + + completionHandler(.useCredential, urlCredential) + } +} + + +struct GetValuesResult:Decodable +{ + enum Value:Decodable + { + case intValue(Int?) + case stringValue(String) + case tagValues([Int?]) + + enum CodingKeys:String,CodingKey + { + case val = "val" + } + + init(from decoder: Decoder) throws + { + let container = try decoder.container(keyedBy: CodingKeys.self) + + if let intValue = try? container.decode(Int.self, forKey: CodingKeys.val) + { + self = Value.intValue(intValue) + print("int:\(intValue)") + return + } + if let stringValue = try? container.decode(String.self, forKey: CodingKeys.val) + { + self = Value.stringValue(stringValue) + print("str:\(stringValue)") + return + } + if let tagArray = try? container.decode([[String:Int?]].self, forKey: CodingKeys.val) + { + print("tagArray:\(tagArray)") + let tags = tagArray.map { $0["tag"] ?? nil } + self = Value.tagValues(tags) + print("tags:\(tags)") + return + } + try container.decodeNil(forKey: CodingKeys.val) + self = Value.intValue(nil) + } + } + + + struct Result:Decodable + { + let values:[Value] + + enum CodingKeys: String, CodingKey + { + case one = "1" + case seven = "7" + } + + init(from decoder: Decoder) throws + { + let container = try decoder.container(keyedBy: CodingKeys.self) + + if let values = try container.decodeIfPresent([Value].self, forKey: CodingKeys.one) + { + self.values = values + return + } + self.values = try container.decode([Value].self, forKey: CodingKeys.seven) + } + } + typealias InverterName = String + typealias SMAObjectID = String + + let result: [InverterName:[SMAObjectID:Result]] +} + + actor SMAInverter { let address:String + let userright:UserRight let password:String var loggedIn:Bool = false + enum UserRight:String + { + case user = "usr" + case installer = "istl" + } + + init(address: String, userright:UserRight = .user ,password: String = "00000") { + self.address = address + self.userright = userright + self.password = password + } + var _smaDataObjects:[String:SMADataObject]! = nil var smaDataObjects:[String:SMADataObject] { if let _smaDataObjects { return _smaDataObjects } - let dataObjectURL = URL(string: "http://\(self.address)/data/ObjectMetadata_Istl.json")! - - do + if let dataObjectURL = URL(string: "http://\(self.address)/data/ObjectMetadata_Istl.json"), + let jsonString = try? String(contentsOf: dataObjectURL), + let smaDataObjects = try? SMADataObject.dataObjects(from: jsonString) { - let jsonString = try String(contentsOf: dataObjectURL) - let regexString = "(\"([\\da-f]{4})_([\\da-f]{8})\": \\{)" - let regex = regexString.r - let replaced = regex?.replaceAll(in: jsonString, with: "$0 \"object\" : \"$2\", \"lri\" : \"$3\",") - - if let jsonData = replaced?.data(using: .utf8) - { - let jsonObjects = try JSONDecoder().decode([String:SMADataObject].self, from: jsonData) - - _smaDataObjects = jsonObjects - } + _smaDataObjects = smaDataObjects } - catch + else { _smaDataObjects = SMADataObject.defaultDataObjects } + return _smaDataObjects } @@ -47,19 +135,16 @@ actor SMAInverter { if let _translations { return _translations } - let translationURL = URL(string: "http://\(self.address)/data/l10n/en-US.json")! - - do + if let translationURL = URL(string: "http://\(self.address)/data/l10n/en-US.json"), + let jsonData = try? Data(contentsOf: translationURL), + let translations = try? JSONDecoder().decode([String:String?].self, from: jsonData) { - let jsonData = try Data(contentsOf: translationURL) - let translations = try JSONDecoder().decode([String:String?].self, from: jsonData) - - _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } + _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } guard let stringvalue = $1 else { return nil } - return (intvalue , stringvalue) + return (intvalue , stringvalue) } ) } - catch + else { _translations = SMADataObject.defaultTranslations } @@ -67,10 +152,103 @@ actor SMAInverter } + func translate(_ tags:[Int?]) -> String + { + if let tags = tags as? [Int] + { + let string = tags.map{ self.translations[$0] ?? "unknowntag" }.joined(separator:"/").lowercased().replacing(#/ /#){ w in "_" } + return string + } + else + { + return "notags" + } + } - init(address: String, password: String = "00000") { - self.address = address - self.password = password + + func values() async + { + let scheme = "https" + + let delegate = IgnoreCertificateDelegate() + let session = URLSession(configuration: URLSessionConfiguration.default, delegate: delegate, delegateQueue: nil) + + let loginUrl = URL(string: "\(scheme)://\(self.address)/dyn/login.json")! + + let params = ["right":userright.rawValue, "pass":password] as Dictionary + + var request = URLRequest(url: loginUrl) + request.httpMethod = "POST" + request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) + request.addValue("application/json", forHTTPHeaderField: "Content-Type") + + let decoder = JSONDecoder() + + if let (data,_) = try? await session.data(for: request), + let json = try? decoder.decode(Dictionary.self, from: data), + let sid = json["result"]?["sid"] + { + print(json) + + let loginUrl2 = URL(string: "\(scheme)://\(self.address)/dyn/getAllOnlValues.json?sid=\(sid)")! + print(loginUrl2) + let params2 = ["destDev": [String]() ] as Dictionary + + var request2 = URLRequest(url: loginUrl2) + request2.httpMethod = "POST" + request2.httpBody = try! JSONSerialization.data(withJSONObject: params2, options: []) +// request2.httpBody = """ +//{"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} +//""".data(using: .utf8) + request2.addValue("application/json", forHTTPHeaderField: "Content-Type") + + if let (data,_) = try? await session.data(for: request2) + { + let string = String(data: data, encoding: .utf8) + print("Got:\(string)") + print("data:\( data.toHexString() )") + + let decoder = JSONDecoder() + if let getValuesResult = try? decoder.decode(GetValuesResult.self, from: data) + { + print("values:\( getValuesResult )") + + for inverter in getValuesResult.result + { + print("inverter:\(inverter.key)") + + for value in inverter.value + { + print("objectid:\(value.key)") + + let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) + + if let smaobject = smaDataObjects[value.key] + { + print("path:\( translate(smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") + } + let values = value.value.values + for (number,singlevalue) in values.enumerated() + { + switch singlevalue + { + case .intValue(let value) : print("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") + case .stringValue(let value) : print("\(number).stringValue:\(value)") + case .tagValues(let values) : print("\(number).tags:\(translate(values))") + } + + } + } + } + } + } + + + + + let loginUrl3 = URL(string: "\(scheme)://\(self.address)/dyn/logout.json.json?sid=\(sid)")! + let _ = try? String(contentsOf: loginUrl3) + } } var description:String diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index f853693..977bd02 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -18,6 +18,47 @@ public struct SMAPacket:Encodable,Decodable public var obis:[ObisValue] { obisPackets.first?.obisvalues ?? []} } +fileprivate struct SMATagPacket +{ + let length:UInt16 + let tag:UInt16 + let data:Data + + enum TagType:Int + { + case end = 0x0000 + case net = 0x0010 + case group = 0x02A0 // tag 0x02a == 42, version 0x0 + + case unknown = 0xFFFF_FFFF + } + + public init(fromBinary decoder: BinaryDecoder) throws + { + self.length = try decoder.decode(UInt16.self).bigEndian + self.tag = try decoder.decode(UInt16.self).bigEndian + + if let type = TagType(rawValue: Int(self.tag)) + { + JLog.debug("SMATagPacket tagtype: \(type) \( String(format:"(0x%x == %d)",tag,tag) ) length:\(length) )") + } + else + { + JLog.error("SMATagPacket tagtype:UNKNOWN \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") + } + + + guard Int(length) <= decoder.countToEnd + else + { + throw SMAPacket.SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") + } + self.data = try decoder.decode(Data.self,length:Int(length)) + } + + var type:TagType { TagType(rawValue: Int(self.tag)) ?? .unknown } +} + extension SMAPacket:BinaryDecodable { @@ -63,45 +104,9 @@ extension SMAPacket:BinaryDecodable JLog.debug("Valid SMA Prefix") - var endPacketRead = false - struct SMATagPacket - { - let length:UInt16 - let tag:UInt16 - let data:Data - - enum TagType:Int - { - case end = 0x0000 - case net = 0x0010 - case group = 0x02A0 - case unknown = 0xFFFF_FFFF - } - - public init(fromBinary decoder: BinaryDecoder) throws - { - self.length = try decoder.decode(UInt16.self).bigEndian - self.tag = try decoder.decode(UInt16.self).bigEndian - - JLog.debug("SMATagPacket tag: \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") - - guard Int(length) <= decoder.countToEnd - else - { - throw SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") - } - self.data = try decoder.decode(Data.self,length:Int(length)) - - if length != 0 - { - JLog.error("SMATagPacket End Tag with length:\(length) - ignoring") - } - } - - var type:TagType { TagType(rawValue: Int(self.tag)) ?? .unknown } - } + var endPacketRead = false repeat { @@ -110,54 +115,38 @@ extension SMAPacket:BinaryDecodable switch smaTagPacket.type { - case .end: endPacketRead = true - - case .group: if let group = try? smaNetDecoder.decode(UInt32.self).bigEndian - { - JLog.trace("\(String(format:"group: 0x%08x d:%d",group,group))") - self.group = group - } - - case .net: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian - { - JLog.debug("got protocol id:\(String(format:"0x%x",protocolid))") - - switch protocolid - { - case 0x6069: JLog.debug("recognizing ObisPacket") - - do - { - let obisPacket = try ObisPacket.init(fromBinary: smaNetDecoder) - self.obisPackets.append(obisPacket) - } - catch - { - JLog.error("ObisPacket decoding error:\(error)") - } - - - case 0x6065: JLog.debug("recognizing SMANetPacket") - - do - { - let smanetPacket = try SMANetPacket.init(fromBinary: smaNetDecoder) - self.smaNetPackets.append(smanetPacket) - } - catch - { - JLog.error("SMANetPacket decoding error:\(error)") - } - - default: JLog.error("protocol unknown.") - } - } - else - { - JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") - } - - case .unknown: JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") + case .end: endPacketRead = true + + case .group: JLog.trace("tag0 :\(smaTagPacket)") + let groupnumber = try smaNetDecoder.decode(UInt32.self).bigEndian + JLog.trace("\(String(format:"groupnumber : 0x%08x d:%d",groupnumber,groupnumber))") + self.group = groupnumber + + case .net: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian + { + JLog.debug("got protocol id:\(String(format:"0x%x",protocolid))") + + switch protocolid + { + case 0x6069: JLog.debug("recognizing ObisPacket") + + let obisPacket = try ObisPacket.init(fromBinary: smaNetDecoder) + self.obisPackets.append(obisPacket) + + case 0x6065: JLog.debug("recognizing SMANetPacket") + + let smaNetPacket = try SMANetPacket.init(fromBinary: smaNetDecoder) + self.smaNetPackets.append(smaNetPacket) + + default: JLog.error("protocol unknown.") + } + } + else + { + JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") + } + + case .unknown: JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") } } while !decoder.isAtEnd && !endPacketRead From bfbddfa1fcc5eb37120e097b8daf684cc00a416e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Mon, 5 Jun 2023 21:25:15 +0200 Subject: [PATCH 34/81] changed to use own multicast group listener --- Package.swift | 17 +- SMA Protocol.md | 4 +- Sources/sma2mqtt/MQTTPublisher.swift | 3 +- Sources/sma2mqtt/MutlicastReceiver.swift | 216 ++++++++++++++++++++ Sources/sma2mqtt/SunnyHomeManager.swift | 156 +++++--------- Sources/sma2mqtt/sma2mqtt.swift | 97 ++++----- Sources/sma2mqttLibrary/SMADataObject.swift | 10 +- Sources/sma2mqttLibrary/SMAInverter.swift | 204 +++++++++++++----- Tests/sma2mqttTests/SMAObjectTests.swift | 21 +- 9 files changed, 512 insertions(+), 216 deletions(-) create mode 100644 Sources/sma2mqtt/MutlicastReceiver.swift diff --git a/Package.swift b/Package.swift index 2128df4..9d02ecf 100644 --- a/Package.swift +++ b/Package.swift @@ -16,31 +16,34 @@ let package = Package( .library(name: "sma2mqttLibrary", targets: ["sma2mqttLibrary"]), ], dependencies: [ - .package(url: "https://github.com/apple/swift-argument-parser", from: "1.1.2"), + .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), - .package(url: "https://github.com/swift-server-community/mqtt-nio", .revision("bc68c7c")), - .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), + .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.7.1")), +// .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), // .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), - .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4"), // .package(url: "/Users/jolly/Documents/GitHub/JLog", .revision("440b721") ), + .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4") ], targets: [ .executableTarget( name: "sma2mqtt", dependencies: [ "sma2mqttLibrary", + .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "NIO", package: "swift-nio"), .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "MQTTNIO", package: "mqtt-nio"), +// .product(name: "CocoaMQTT", package: "mqtt-nio"), .product(name: "JLog", package: "JLog") ] ), .target( name: "sma2mqttLibrary", - dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), - .product(name: "JLog", package: "JLog"), - .product(name: "Regex", package: "Regex") + dependencies: [ + .product(name: "BinaryCoder", package: "BinaryCoder"), +// .product(name: "Regex", package: "Regex") + .product(name: "JLog", package: "JLog") ], resources: [ .copy("Resources/obisdefinition.json"), .copy("Resources/SMANetPacketDefinitions.json"), diff --git a/SMA Protocol.md b/SMA Protocol.md index 7286234..dfb1f97 100644 --- a/SMA Protocol.md +++ b/SMA Protocol.md @@ -84,7 +84,7 @@ Discovery request has 4 bytes of data containing 0xff. | | 0xFF03 bluethooth ? -# SMA Net Version 1 0x0010 +# SMA Net Version 1 (Tag:0x0010) addr | type | explanation -----|--------|-------------------- @@ -122,7 +122,7 @@ Exact values I figured out can be found in [Obis.swift](Sources/sma2mqtt/Obis.sw ## 0x6065 Protocol: Inverter Communication (Little Endian) -Warning this protocol uses little endian format. Requests and responses share the same header format. +Beware, this protocol uses little endian format. Requests and responses share the same header format. Requests to the inverter send the header followed by a command (e.g. logon, logoff, data request ). Responses from the inverter have the same header with data then attached (e.g. ac-power values ). diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index 46a7baf..6589404 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -6,11 +6,10 @@ // import Foundation -import JLog import NIO import MQTTNIO - +import JLog actor MQTTPublisher { diff --git a/Sources/sma2mqtt/MutlicastReceiver.swift b/Sources/sma2mqtt/MutlicastReceiver.swift new file mode 100644 index 0000000..42c3dbd --- /dev/null +++ b/Sources/sma2mqtt/MutlicastReceiver.swift @@ -0,0 +1,216 @@ +import Foundation +#if os(Linux) +import Glibc +#else +import Darwin +#endif + +import JLog + +struct Packet +{ + let data: Data + let sourceAddress: String +} + +enum MulticastReceiverError: Error { + case socketCreationFailed(Int32) + case socketOptionsSettingFailed(Int32) + case socketBindingFailed(Int32) + case multicastJoinFailed(Int32) + case receiveError(Int32) + case invalidSocketAddress + case invalidReceiveBuffer + case addressStringConversionFailed(Int32) +} + + +actor MulticastReceiver +{ + private var socketFileDescriptor: Int32 = -1 + private var receiveBuffer: UnsafeMutablePointer? + private var bufferSize: Int = 0 + private var isListening: Bool = true + + init(groups: [String], listenAddress:String, listenPort:UInt16,bufferSize: Int = 65536) throws + { + self.bufferSize = bufferSize + receiveBuffer = UnsafeMutablePointer.allocate(capacity: bufferSize) + + JLog.debug("Started listening on \(listenAddress)") + + let socketFileDescriptor = socket(AF_INET, SOCK_DGRAM, 0 ) // IPPROTO_UDP) // 0 , IPPROTO_MTP + self.socketFileDescriptor = socketFileDescriptor + guard socketFileDescriptor != -1 else { + throw MulticastReceiverError.socketCreationFailed(errno) + } + + var reuseAddress: Int32 = 1 + guard setsockopt(socketFileDescriptor, SOL_SOCKET, SO_REUSEADDR, &reuseAddress, socklen_t(MemoryLayout.size)) != -1 + else { + throw MulticastReceiverError.socketOptionsSettingFailed(errno) + } + + var socketAddress = sockaddr_in() + socketAddress.sin_family = sa_family_t(AF_INET) + socketAddress.sin_port = listenPort.bigEndian + socketAddress.sin_addr.s_addr = INADDR_ANY // inet_addr(listenAddress) // INADDR_ANY + + guard bind(socketFileDescriptor, sockaddr_cast(&socketAddress),socklen_t(MemoryLayout.size)) != -1 + else { + throw MulticastReceiverError.socketBindingFailed(errno) + } + + for group in groups + { + var multicastRequest = ip_mreq(imr_multiaddr: in_addr(s_addr: inet_addr(group)), + imr_interface: in_addr(s_addr: inet_addr(listenAddress))) // INADDR_ANY)) // + guard setsockopt(socketFileDescriptor, IPPROTO_IP, IP_ADD_MEMBERSHIP, &multicastRequest, socklen_t(MemoryLayout.size)) != -1 + else { + throw MulticastReceiverError.multicastJoinFailed(errno) + } + JLog.debug("added group:\(group)") + } + } + + nonisolated + private func sockaddr_cast(_ ptr: UnsafeMutablePointer) -> UnsafeMutablePointer + { + return UnsafeMutableRawPointer(ptr).assumingMemoryBound(to: sockaddr.self) + } + + deinit + { + if socketFileDescriptor != -1 + { + close(socketFileDescriptor) + } + receiveBuffer?.deallocate() + } + + func startListening() + { + guard !isListening else { return } + isListening = true + } + + func stopListening() + { + isListening = false + } + + func shutdown() + { + isListening = false + close(socketFileDescriptor) + } + + func receiveNextPacket() async throws -> Packet + { + return try await withUnsafeThrowingContinuation + { continuation in + + do + { + let receiveNext = try receiveNext() + + continuation.resume(returning: receiveNext) + } + catch + { + continuation.resume(throwing: error) + } + } + } + + + private func receiveNext() throws -> Packet + { + var socketAddress = sockaddr_in() + var socketAddressLength = socklen_t(MemoryLayout.size) + JLog.debug("recvfrom") + + let bytesRead = recvfrom(socketFileDescriptor, receiveBuffer, bufferSize, 0,sockaddr_cast(&socketAddress), &socketAddressLength ) + guard bytesRead != -1 else { throw MulticastReceiverError.receiveError(errno) } + + var addr = socketAddress.sin_addr // sa.sin_addr + var addrBuffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN)) + guard let addrString = inet_ntop(AF_INET, &addr, &addrBuffer, socklen_t(INET_ADDRSTRLEN)) else { throw MulticastReceiverError.addressStringConversionFailed(errno) } + + return Packet(data: Data(bytes: receiveBuffer!, count: bytesRead), sourceAddress: String(cString:addrString) ) + } + +} + +//func main() async { +// // Define the multicast groups and port +// let multicastGroups: [MulticastGroup] = [ +// MulticastGroup(address: "239.12.0.78", port: 955), +// MulticastGroup(address: "239.12.1.105", port: 955) +// ] +// +// // Create an instance of MulticastReceiver +// do { +// let receiver = try MulticastReceiver(groups: multicastGroups) +// +// // Start listening for packets +// receiver.startListening() +// +// // Receive and process packets in a loop +// while true { +// if let packet = await receiver.receiveNextPacket() { +// let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") +// print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") +// } +// } +// } catch { +// print("Error creating MulticastReceiver:", error) +// } +//} +// +//// Run the main function +//Task { +// await main() +//} +// +// +// +// let multicastGroups: [String] = [ +// "239.12.255.253", +// "239.12.255.254", +// "239.12.255.255", +// +// "239.12.0.78", +// "239.12.1.105", // 10.112.16.166 +// "239.12.1.153", // 10.112.16.127 +// "239.12.1.55", // 10.112.16.166 +// "239.12.1.87", // 10.112.16.107 +// ] +// +// // Create an instance of MulticastReceiver +// do +// { +//// let receiver = try MulticastReceiver(groups: multicastGroups,listenAddress: "0.0.0.0", listenPort:9522) +// let receiver = try MulticastReceiver(groups: multicastGroups,listenAddress: "10.112.16.115", listenPort:9522) +// // Start listening for packets +// await receiver.startListening() +// print("Starting to listen") +// +// // Receive and process packets in a loop +// +// while true +// { +// print("awaiting next packet") +// let packet = try await receiver.receiveNextPacket() +// +// let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") +// print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") +// } +// } +// catch +// { +// print("Error creating MulticastReceiver:", error) +// } +// +// +//print("end") diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index 719e9ef..a8c15e0 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -6,128 +6,95 @@ // import Foundation -import NIO -import MQTTNIO + import JLog import sma2mqttLibrary -class SunnyHomeManager + +protocol SunnyHomeManagerDelegate : AnyObject { - let datagramBootstrap:DatagramBootstrap - let datagramChannel:Channel - let group:MultiThreadedEventLoopGroup + func addRemote(remoteAddress:String) +} - init(mqttPublisher:MQTTPublisher,multicastAddress:String, multicastPort:Int, bindAddress:String = "0.0.0.0",bindPort:Int = 12222) throws - { - var targetDevice: NIONetworkDevice? = nil - if bindAddress != "0.0.0.0" - { - let targetAddress = try SocketAddress(ipAddress: bindAddress, port: bindPort) +class SunnyHomeManager : SunnyHomeManagerDelegate +{ + let password:String + let bindAddress:String + let mqttPublisher:MQTTPublisher - targetDevice = try System.enumerateDevices().filter{$0.address == targetAddress}.first - guard targetDevice != nil else { fatalError("Could not find device for \(targetAddress)") } - } + let receiver:MulticastReceiver + var knownDevices = [String:SMADevice]() + struct SMADevice + { + let address:String + var lastSeen = Date() + var inverter:SMAInverter - let smaMulticastAddress = try SocketAddress(ipAddress: multicastAddress, port: multicastPort) - self.group = MultiThreadedEventLoopGroup(numberOfThreads: 1) + init(address: String, userright:SMAInverter.UserRight = .user ,password: String = "00000", bindAddress:String = "0.0.0.0") + { - self.datagramBootstrap = DatagramBootstrap(group: self.group) - .channelOption(ChannelOptions.socketOption(.so_reuseaddr), value: 1) - .channelInitializer - { - channel in + self.address = address + let inverter = SMAInverter(address: address, userright:userright ,password: password, bindAddress:bindAddress) + self.inverter = inverter - return channel.pipeline.addHandler(SMAMessageEncoder()).flatMap { - channel.pipeline.addHandler( SMAMessageReceiver(mqttPublisher:mqttPublisher,multicastAddress:multicastAddress, multicastPort:multicastPort, bindAddress:bindAddress,bindPort:bindPort) ) - } + Task { + await inverter.values() } + } + } - // We cast our channel to MulticastChannel to obtain the multicast operations. - self.datagramChannel = try! datagramBootstrap - .bind(host:multicastAddress, port: multicastPort) - .flatMap - { - channel -> EventLoopFuture in - - let channel = channel as! MulticastChannel - return channel.joinGroup(smaMulticastAddress, device: targetDevice).map { channel } - }.flatMap - { - channel -> EventLoopFuture in + init(mqttPublisher:MQTTPublisher,multicastAddresses:[String], multicastPort:UInt16, bindAddress:String = "0.0.0.0",bindPort:UInt16 = 0,password:String = "0000") async throws + { + self.password = password + self.bindAddress = bindAddress + self.mqttPublisher = mqttPublisher + self.receiver = try MulticastReceiver(groups: multicastAddresses,listenAddress: bindAddress, listenPort:multicastPort) + await receiver.startListening() + } - guard let targetDevice = targetDevice else { - return channel.eventLoop.makeSucceededFuture(channel) - } + func addRemote(remoteAddress:String) + { + defer { knownDevices[remoteAddress]?.lastSeen = Date() } + guard knownDevices[remoteAddress] == nil else { return } - let provider = channel as! SocketOptionProvider + JLog.debug("remoteAddress:\(remoteAddress)") - switch targetDevice.address - { - case .some(.v4(let addr)): return provider.setIPMulticastIF(addr.address.sin_addr).map { channel } - case .some(.v6): return provider.setIPv6MulticastIF(CUnsignedInt(targetDevice.interfaceIndex)).map { channel } - case .some(.unixDomainSocket): preconditionFailure("Should not be possible to create a multicast socket on a unix domain socket") - case .none: preconditionFailure("Should not be possible to create a multicast socket on an interface without an address") - } - }.wait() + knownDevices[remoteAddress] = SMADevice(address: remoteAddress,password: password,bindAddress: bindAddress) } - func shutdown() async throws { - try datagramChannel.close().wait() - try group.syncShutdownGracefully() + await receiver.shutdown() } -} - -final class SMAMessageReceiver: ChannelInboundHandler -{ - public typealias InboundIn = AddressedEnvelope - let mqttPublisher:MQTTPublisher - let description:String - var knownAddresses = [String:Date]() - init(mqttPublisher:MQTTPublisher,multicastAddress:String, multicastPort:Int, bindAddress:String = "0.0.0.0",bindPort:Int = 12222) + func receiveNext() async throws { - JLog.debug("init:\(multicastAddress):\(multicastPort)") - self.mqttPublisher = mqttPublisher - self.description = "\(multicastAddress):\(multicastPort)-\(bindAddress):\(bindPort)" - } + let packet = try await receiver.receiveNextPacket() - public func channelRead(context: ChannelHandlerContext, data: NIOAny) - { - let envelope = self.unwrapInboundIn(data) - var buffer = envelope.data - var lasttime:Date = Date.distantPast - let timenow = Date() + let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") +// print("Received packet from \(packet.sourceAddress)") + print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") - let remoteAddress = envelope.remoteAddress.ipAddress ?? "0.0.0.0" - if let lastTimeSeen = knownAddresses[remoteAddress] - { - return - } - knownAddresses[remoteAddress] = Date() - - JLog.debug("\(self.description) remoteAddress:\(envelope.remoteAddress.ipAddress)") + addRemote(remoteAddress: packet.sourceAddress) - if let byteArray = buffer.readBytes(length: buffer.readableBytes) + if !packet.data.isEmpty { - JLog.debug("\(timenow) Data: \(byteArray.count) from: \(envelope.remoteAddress) ") - - if let sma = try? SMAPacket(byteArray:byteArray) + if let sma = try? SMAPacket(data:packet.data) { - JLog.debug("Decoded from \(envelope.remoteAddress): \(sma.json)") +// JLog.debug("Decoded from \(packet.sourceAddress)") + JLog.debug("Decoded from \(packet.sourceAddress): \(sma.json)") for obisvalue in sma.obis { if obisvalue.mqtt != .invisible { - Task.detached - { - try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) - } + //Task.detached + //{ +// try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) + //} } // if jsonOutput // { @@ -136,24 +103,13 @@ final class SMAMessageReceiver: ChannelInboundHandler // print("\(obisvalue.json)") // } } - lasttime = timenow } else { JLog.error("did not decode") } } - } -} - -private final class SMAMessageEncoder: ChannelOutboundHandler { - public typealias OutboundIn = AddressedEnvelope - public typealias OutboundOut = AddressedEnvelope - - func write(context: ChannelHandlerContext, data: NIOAny, promise: EventLoopPromise?) { - let message = self.unwrapOutboundIn(data) - let buffer = context.channel.allocator.buffer(string: message.data) - context.write(self.wrapOutboundOut(AddressedEnvelope(remoteAddress: message.remoteAddress, data: buffer)), promise: promise) } + } diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index fe81f64..78c7b86 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -4,7 +4,7 @@ import JLog import Logging @main -struct sma2mqtt: ParsableCommand +struct sma2mqtt: AsyncParsableCommand { #if DEBUG @Option(name: .shortAndLong, help: "optional debug output") @@ -58,60 +58,63 @@ struct sma2mqtt: ParsableCommand @Option(name: .long, help: "Multicast Group Port number.") var mcastPort: UInt16 = 9522; - func run() throws + @Option(name: .long, help: "Inverter Password.") + var inverterPassword: String = "0000" + + + func run() async throws { + var sunnyHomeManagers = [SunnyHomeManager]() JLog.loglevel = Logger.Level(rawValue:debug) ?? Logger.Level.notice + let mqttPublisher = try await MQTTPublisher( hostname: mqttServername, + port: Int(mqttPort), + username:mqttUsername, + password:mqttPassword, + emitInterval: interval, + baseTopic: basetopic + ) + let multicastGroups = [ + "239.12.0.78", + "239.12.1.105", // 10.112.16.166 + "239.12.1.153", // 10.112.16.127 + "239.12.1.55", // 10.112.16.166 + "239.12.1.87", // 10.112.16.107 - Task - { - let mqttPublisher = try await MQTTPublisher( hostname: mqttServername, - port: Int(mqttPort), - username:mqttUsername, - password:mqttPassword, - emitInterval: interval, - baseTopic: basetopic - ) - let multicastGroups = [ - "239.12.0.78", - "239.12.1.105", // 10.112.16.166 - "239.12.1.153", // 10.112.16.127 - "239.12.1.55", // 10.112.16.166 - "239.12.1.87", // 10.112.16.107 - - "239.12.255.253", - "239.12.255.254", - "239.12.255.255" -// "239.192.0.0", // + "239.12.255.253", + "239.12.255.254", + "239.12.255.255" , + + + + "239.192.0.0", // + + "224.0.0.251", // 10.112.16.195 -// "239.12.0.78", -// "239.12.255.253", -// "239.12.255.254", -// "239.12.255.255", -// "224.0.0.251", // 10.112.16.195 -// // "239.192.0.0", // -// -// "239.12.1.153", // 10.112.16.127 -// "239.12.1.105", // 10.112.16.166 -// -// // senden -// "239.12.255.255", // 10.112.16.127 -// -// "239.12.1.55", // 10.112.16.166 -// "239.12.255.255", // 10.112.16.166 -// -// -// "239.12.1.87", // 10.112.16.107 - ] - for multicastGroup in multicastGroups + ] + + + + + + let sunnyHome = try await SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddresses:multicastGroups, multicastPort: mcastPort, bindAddress:bindAddress,bindPort:bindPort,password: inverterPassword) + sunnyHomeManagers.append(sunnyHome) + + while true { - let sunnyHomeB = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) - + try await sunnyHome.receiveNext() } - } - dispatchMain() -// try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) +// for multicastGroup in multicastGroups +// { +// let sunnyHome = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) +// sunnyHomeManagers.append(sunnyHome) +// } + +// dispatchMain() + try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) // try await sunnyHome.shutdown() +// +// } } diff --git a/Sources/sma2mqttLibrary/SMADataObject.swift b/Sources/sma2mqttLibrary/SMADataObject.swift index b5e21db..191c04a 100644 --- a/Sources/sma2mqttLibrary/SMADataObject.swift +++ b/Sources/sma2mqttLibrary/SMADataObject.swift @@ -59,8 +59,8 @@ extension SMADataObject:Decodable,Encodable guard let object = Int(objectString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode hex string:\(objectString) ") } self.object = object - let lriString = try values.decode(String.self, forKey: .lri) - guard let lri = Int(lriString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode hex string:\(lriString)") } + guard let lriString = try? values.decode(String.self, forKey: .lri) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode lri:\(objectString) ") } + guard let lri = Int(lriString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode lri hex string:\(lriString)") } self.lri = lri Prio = try values.decode(Int.self, forKey: .Prio) @@ -133,7 +133,7 @@ extension SMADataObject { do { - let regex = #/("([0-9a-fA-F]{4})_([0-9a-fA-F]{8})": {)/# + let regex = #/("([0-9a-fA-F]{4})_([0-9a-fA-F]{8})":\s*{)/# let replaced = jsonString.replacing(regex) { match in """ \(match.1) @@ -141,7 +141,7 @@ extension SMADataObject "lri": "\( Int(match.3, radix:16)! )", """ } - //print(replaced) + // JLog.debug("Replaced json:\(replaced)") if let jsonData = replaced.data(using: .utf8) { let jsonObjects = try JSONDecoder().decode([String:SMADataObject].self, from: jsonData) @@ -151,7 +151,7 @@ extension SMADataObject } catch { - JLog.error("Could not create Data Objects from json:\(error)") + JLog.error("Could not create Data Objects from json:\(error)\njson:\(jsonString)") throw error } return [String:SMADataObject]() // never reached diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMAInverter.swift index 69f8831..6556eeb 100644 --- a/Sources/sma2mqttLibrary/SMAInverter.swift +++ b/Sources/sma2mqttLibrary/SMAInverter.swift @@ -9,7 +9,8 @@ import Foundation import JLog -class IgnoreCertificateDelegate:NSObject,URLSessionDelegate + +final class IgnoreCertificateDelegate:NSObject,URLSessionDelegate,@unchecked Sendable { public func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) { //Trust the certificate even if not valid @@ -19,6 +20,14 @@ class IgnoreCertificateDelegate:NSObject,URLSessionDelegate } } +final class InverterURLSessionTaskDelegate:NSObject,URLSessionTaskDelegate,Sendable +{ + func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge) async -> (URLSession.AuthChallengeDisposition, URLCredential?) { + let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) + + return(.useCredential, urlCredential) + } +} struct GetValuesResult:Decodable { @@ -57,7 +66,7 @@ struct GetValuesResult:Decodable print("tags:\(tags)") return } - try container.decodeNil(forKey: CodingKeys.val) + _ = try container.decodeNil(forKey: CodingKeys.val) self = Value.intValue(nil) } } @@ -92,51 +101,145 @@ struct GetValuesResult:Decodable } -actor SMAInverter +public actor SMAInverter { let address:String let userright:UserRight let password:String + let bindAddress:String var loggedIn:Bool = false + var scheme:String = "https" + let certificateDelegate = IgnoreCertificateDelegate() + let sessionTaskDelegate = InverterURLSessionTaskDelegate() + var session: URLSession { + let config = URLSessionConfiguration.default + config.waitsForConnectivity = true + config.timeoutIntervalForResource = 1 + + return URLSession(configuration: config, delegate: certificateDelegate, delegateQueue: nil) + } - enum UserRight:String + public enum UserRight:String { case user = "usr" case installer = "istl" } - init(address: String, userright:UserRight = .user ,password: String = "00000") { - self.address = address - self.userright = userright - self.password = password + public init(address: String, userright:UserRight = .user ,password: String = "00000", bindAddress:String = "0.0.0.0") + { + self.address = address + self.userright = userright + self.password = password + self.bindAddress = bindAddress + } + + public func setupConnection() async + { + await self._setupConnection() } - var _smaDataObjects:[String:SMADataObject]! = nil - var smaDataObjects:[String:SMADataObject] + + private func _setupConnection() async + { + self.scheme = await self.schemeTest() + _ = await self.smaDataObjects + _ = await self.translations + } + + nonisolated + private func schemeTest() async -> String { - if let _smaDataObjects { return _smaDataObjects } +// if address == "10.112.16.13" +// { +// scheme = "http" +// } +// return "https" - if let dataObjectURL = URL(string: "http://\(self.address)/data/ObjectMetadata_Istl.json"), - let jsonString = try? String(contentsOf: dataObjectURL), - let smaDataObjects = try? SMADataObject.dataObjects(from: jsonString) + SCHEME_TEST: for scheme in ["https","http"] { - _smaDataObjects = smaDataObjects + if let url = URL(string: "\(scheme)://\(self.address)/"), + let (_,response) = try? await session.data(for:URLRequest(url:url)), + let httpResponse = response as? HTTPURLResponse, + httpResponse.statusCode == 200 + { + return scheme + } } - else + JLog.error("no valid scheme found for \(self.address) - using http") + return "http" + } + + + enum InverterError:Error + { + case invalidURLError + case invalidHTTPResponseError + + } + + func data(forPath path:String) async throws -> Data + { + guard let url = URL(string: "\(scheme ?? "https")://\(self.address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw InverterError.invalidURLError } + + do + { + var request = URLRequest(url: url) + request.httpMethod = "GET" + +// let loginString = "\(self.userright.rawValue):\(self.password)" +// if let loginData = loginString.data(using: String.Encoding.utf8) +// { +// let base64LoginString = loginData.base64EncodedString() +// +// request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization") +// } +// + + let (data,response) = try await session.data(for:request) + + if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 + { + return data + } + throw InverterError.invalidHTTPResponseError + } + catch { - _smaDataObjects = SMADataObject.defaultDataObjects + guard scheme == nil else { throw InverterError.invalidHTTPResponseError } + scheme = "http" } + return try await data(forPath:path) + } + + + + var _smaDataObjects:[String:SMADataObject]! = nil + var smaDataObjects:[String:SMADataObject] + { get async { + if let _smaDataObjects { return _smaDataObjects } + + if let data = try? await data(forPath:"/data/ObjectMetadata_Istl.json"), + let jsonString = String(data:data,encoding:.utf8), + let smaDataObjects = try? SMADataObject.dataObjects(from: jsonString) + { + _smaDataObjects = smaDataObjects + } + else + { + JLog.error("no sma data object for \(self.address) - using default") + _smaDataObjects = SMADataObject.defaultDataObjects + } - return _smaDataObjects + return _smaDataObjects + } } var _translations:[Int:String]! = nil var translations:[Int:String] - { + { get async { if let _translations { return _translations } - if let translationURL = URL(string: "http://\(self.address)/data/l10n/en-US.json"), - let jsonData = try? Data(contentsOf: translationURL), + if let jsonData = try? await data(forPath:"/data/l10n/en-US.json"), let translations = try? JSONDecoder().decode([String:String?].self, from: jsonData) { _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } @@ -149,14 +252,15 @@ actor SMAInverter _translations = SMADataObject.defaultTranslations } return _translations + } } - func translate(_ tags:[Int?]) -> String + func translate(translations:[Int:String],tags:[Int?]) -> String { if let tags = tags as? [Int] { - let string = tags.map{ self.translations[$0] ?? "unknowntag" }.joined(separator:"/").lowercased().replacing(#/ /#){ w in "_" } + let string = tags.map{ translations[$0] ?? "unknowntag" }.joined(separator:"/").lowercased().replacing(#/ /#){ w in "_" } return string } else @@ -166,12 +270,12 @@ actor SMAInverter } - func values() async + public func values() async { - let scheme = "https" + await setupConnection() + + //guard let scheme = self.scheme else { return } - let delegate = IgnoreCertificateDelegate() - let session = URLSession(configuration: URLSessionConfiguration.default, delegate: delegate, delegateQueue: nil) let loginUrl = URL(string: "\(scheme)://\(self.address)/dyn/login.json")! @@ -184,7 +288,7 @@ actor SMAInverter let decoder = JSONDecoder() - if let (data,_) = try? await session.data(for: request), + if let (data,_) = try? await session.data(for: request, delegate:self.sessionTaskDelegate), let json = try? decoder.decode(Dictionary.self, from: data), let sid = json["result"]?["sid"] { @@ -220,13 +324,15 @@ actor SMAInverter for value in inverter.value { print("objectid:\(value.key)") + let smaDataObjects = await self.smaDataObjects + let translations = await self.translations let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) - if let smaobject = smaDataObjects[value.key] - { - print("path:\( translate(smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") - } +// if let smaobject = smaDataObjects[value.key] +// { +// print("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") +// } let values = value.value.values for (number,singlevalue) in values.enumerated() { @@ -234,7 +340,7 @@ actor SMAInverter { case .intValue(let value) : print("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") case .stringValue(let value) : print("\(number).stringValue:\(value)") - case .tagValues(let values) : print("\(number).tags:\(translate(values))") + case .tagValues(let values) : print("\(number).tags:\(translate(translations:translations,tags:values))") } } @@ -245,26 +351,28 @@ actor SMAInverter - - let loginUrl3 = URL(string: "\(scheme)://\(self.address)/dyn/logout.json.json?sid=\(sid)")! - let _ = try? String(contentsOf: loginUrl3) + if let logoutURL = URL(string: "\(scheme)://\(self.address)/dyn/logout.json.json?sid=\(sid)") + { + _ = try? await session.data(from:logoutURL) + } } } var description:String { - var returnStrings = [String]() - - for (id,smaObject) in smaDataObjects - { - let tagName = translations[smaObject.TagId] ?? "tag-\( Int(smaObject.TagId) )" - let eventName = smaObject.TagIdEventMsg != nil ? translations[smaObject.TagIdEventMsg!] ?? "event-\( Int(smaObject.TagIdEventMsg!) )" : "" - let tagHierachy = smaObject.TagHier.map{ translations[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") - let unitName = smaObject.Unit != nil ? translations[smaObject.Unit!] ?? "unit-\( Int(smaObject.Unit!) )" : "" - - returnStrings.append("\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(smaObject.description)") - } - return returnStrings.joined(separator: "\n") + return "NO description yet" +// var returnStrings = [String]() +// +// for (id,smaObject) in smaDataObjects +// { +// let tagName = translations[smaObject.TagId] ?? "tag-\( Int(smaObject.TagId) )" +// let eventName = smaObject.TagIdEventMsg != nil ? translations[smaObject.TagIdEventMsg!] ?? "event-\( Int(smaObject.TagIdEventMsg!) )" : "" +// let tagHierachy = smaObject.TagHier.map{ translations[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") +// let unitName = smaObject.Unit != nil ? translations[smaObject.Unit!] ?? "unit-\( Int(smaObject.Unit!) )" : "" +// +// returnStrings.append("\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(smaObject.description)") +// } +// return returnStrings.joined(separator: "\n\n") } } diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index b6aac0e..38863e4 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -8,6 +8,7 @@ import XCTest import class Foundation.Bundle +@testable import ArgumentParser @testable import JLog @testable import BinaryCoder @testable import sma2mqttLibrary @@ -27,7 +28,7 @@ final class SMAObjectTests: XCTestCase { let dataObjects = SMADataObject.defaultDataObjects - for (key,value) in dataObjects + for (_,value) in dataObjects { print("===") print(value.description) @@ -41,13 +42,23 @@ final class SMAObjectTests: XCTestCase { - func testSMAInverter() async throws { + func testSMAInverter() async throws + { + let arguments = ProcessInfo.processInfo.arguments - let inverter = SMAInverter(address: "sunnyboy4.jinx.eu.") + var lastTestArgument:String? = nil + + var password = arguments.compactMap { guard lastTestArgument == "--password" else { lastTestArgument = $0 ; return nil } + return $0 + }.first ?? "0000" + + + let inverter = SMAInverter(address: "sunnyboy3.jinx.eu.",userright:.user, password: password); let description = await inverter.description print("\(description)") - - + await inverter.setupConnection() + await inverter.values() + //try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) } } From 4b0fb7544e208506c3b95e0bead27caa2e2117be Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Tue, 6 Jun 2023 16:20:15 +0200 Subject: [PATCH 35/81] Added swiftformat --- .gitignore | 5 + .swiftformat | 12 + Package.swift | 82 +- Sources/sma2mqtt/MQTTPublisher.swift | 37 +- Sources/sma2mqtt/MutlicastReceiver.swift | 82 +- Sources/sma2mqtt/SunnyHomeManager.swift | 78 +- Sources/sma2mqtt/sma2mqtt.swift | 128 ++- Sources/sma2mqttLibrary/Extensions.swift | 50 +- Sources/sma2mqttLibrary/ObisDefinition.swift | 47 +- Sources/sma2mqttLibrary/ObisPacket.swift | 39 +- Sources/sma2mqttLibrary/ObisValue.swift | 153 ++-- Sources/sma2mqttLibrary/SMADataObject.swift | 170 ++-- Sources/sma2mqttLibrary/SMAInverter.swift | 330 ++++---- Sources/sma2mqttLibrary/SMANetPacket.swift | 181 +++-- .../SMANetPacketDefinition.swift | 39 +- .../sma2mqttLibrary/SMANetPacketValue.swift | 234 +++--- Sources/sma2mqttLibrary/SMAPacket.swift | 143 ++-- Tests/sma2mqttTests/SMAObjectTests.swift | 61 +- Tests/sma2mqttTests/TestHelpers.swift | 41 +- Tests/sma2mqttTests/sma2mqttTests.swift | 753 +++++++++--------- 20 files changed, 1252 insertions(+), 1413 deletions(-) create mode 100644 .swiftformat diff --git a/.gitignore b/.gitignore index 0600135..04c14b4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,8 @@ perl5/ .cache .bash_history docker + +Temp/ +JNX/ +perl5/ + diff --git a/.swiftformat b/.swiftformat new file mode 100644 index 0000000..3f22b06 --- /dev/null +++ b/.swiftformat @@ -0,0 +1,12 @@ +--swiftversion 5.7 +--indentcase true +#--maxwidth none +--allman true +--yodaswap always +--wrapparameters after-first +--wraparguments after-first +--trimwhitespace always +--self remove +--wrapenumcases always +--enable wrapMultilineStatementBraces + diff --git a/Package.swift b/Package.swift index 9d02ecf..cc9ed2e 100644 --- a/Package.swift +++ b/Package.swift @@ -6,56 +6,62 @@ import PackageDescription let package = Package( name: "sma2mqtt", platforms: [ - .macOS(.v13), -// .iOS(.v13), -// .tvOS(.v13), -// .watchOS(.v6) + .macOS(.v13) + // .iOS(.v13), + // .tvOS(.v13), + // .watchOS(.v6) ], products: [ .executable(name: "sma2mqtt", targets: ["sma2mqtt"]), .library(name: "sma2mqttLibrary", targets: ["sma2mqttLibrary"]), ], dependencies: [ + .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.51.11"), .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), - .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.7.1")), -// .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), -// .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), + .package( + url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.7.1")), + // .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), + // .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), -// .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), -// .package(url: "/Users/jolly/Documents/GitHub/JLog", .revision("440b721") ), - .package(url: "https://github.com/jollyjinx/JLog", from:"0.0.4") + // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), + // .package(url: "/Users/jolly/Documents/GitHub/JLog", .revision("440b721") ), + .package(url: "https://github.com/jollyjinx/JLog", from: "0.0.4"), ], targets: [ .executableTarget( - name: "sma2mqtt", - dependencies: [ "sma2mqttLibrary", - .product(name: "BinaryCoder", package: "BinaryCoder"), - .product(name: "NIO", package: "swift-nio"), - .product(name: "ArgumentParser", package: "swift-argument-parser"), - .product(name: "MQTTNIO", package: "mqtt-nio"), -// .product(name: "CocoaMQTT", package: "mqtt-nio"), - .product(name: "JLog", package: "JLog") - ] - ), + name: "sma2mqtt", + dependencies: [ + "sma2mqttLibrary", + .product(name: "BinaryCoder", package: "BinaryCoder"), + .product(name: "NIO", package: "swift-nio"), + .product(name: "ArgumentParser", package: "swift-argument-parser"), + .product(name: "MQTTNIO", package: "mqtt-nio"), + // .product(name: "CocoaMQTT", package: "mqtt-nio"), + .product(name: "JLog", package: "JLog"), + ] + ), .target( - name: "sma2mqttLibrary", - dependencies: [ - .product(name: "BinaryCoder", package: "BinaryCoder"), -// .product(name: "Regex", package: "Regex") - .product(name: "JLog", package: "JLog") - ], - resources: [ .copy("Resources/obisdefinition.json"), - .copy("Resources/SMANetPacketDefinitions.json"), - .copy("Resources/sma.data.objectMetaData.json"), - .copy("Resources/sma.data.Translation_Names.json") - ] - ), - .testTarget( name: "sma2mqttTests", - dependencies: [ "sma2mqttLibrary", - .product(name: "BinaryCoder", package: "BinaryCoder"), - .product(name: "JLog", package: "JLog") - ] - ) + name: "sma2mqttLibrary", + dependencies: [ + .product(name: "BinaryCoder", package: "BinaryCoder"), + // .product(name: "Regex", package: "Regex") + .product(name: "JLog", package: "JLog"), + ], + resources: [ + .copy("Resources/obisdefinition.json"), + .copy("Resources/SMANetPacketDefinitions.json"), + .copy("Resources/sma.data.objectMetaData.json"), + .copy("Resources/sma.data.Translation_Names.json"), + ] + ), + .testTarget( + name: "sma2mqttTests", + dependencies: [ + "sma2mqttLibrary", + .product(name: "BinaryCoder", package: "BinaryCoder"), + .product(name: "JLog", package: "JLog"), + ] + ), ] ) diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index 6589404..eead2c9 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -1,60 +1,47 @@ // // MQTTPublisher.swift -// +// // // Created by Patrick Stein on 12.06.22. // import Foundation - -import NIO -import MQTTNIO import JLog +import MQTTNIO +import NIO actor MQTTPublisher { - let mqttClient:MQTTClient + let mqttClient: MQTTClient let emitInterval: Double let baseTopic: String - var lasttimeused = [String:Date]() + var lasttimeused = [String: Date]() - init(hostname:String,port:Int,username:String? = nil, password:String? = nil,emitInterval:Double = 1.0 ,baseTopic:String = "") async throws + init(hostname: String, port: Int, username: String? = nil, password _: String? = nil, emitInterval: Double = 1.0, baseTopic: String = "") async throws { self.emitInterval = emitInterval self.baseTopic = baseTopic - self.mqttClient = MQTTClient(host: hostname, - port: port, - identifier: ProcessInfo().processName, - eventLoopGroupProvider: .createNew, - configuration: .init(userName: username, password: "") - ) + mqttClient = MQTTClient(host: hostname, port: port, identifier: ProcessInfo().processName, eventLoopGroupProvider: .createNew, configuration: .init(userName: username, password: "")) try await activateClient() } - private func activateClient() async throws - { - if !mqttClient.isActive() - { - try await mqttClient.connect() - } - } + private func activateClient() async throws { if !mqttClient.isActive() { try await mqttClient.connect() } } - func publish(to topic:String,payload:String,qos: MQTTQoS,retain: Bool) async throws + func publish(to topic: String, payload: String, qos: MQTTQoS, retain: Bool) async throws { let topic = "\(baseTopic)/\(topic)" let timenow = Date() - let lasttime = lasttimeused[topic,default:.distantPast] + let lasttime = lasttimeused[topic, default: .distantPast] guard timenow.timeIntervalSince(lasttime) > emitInterval else { return } lasttimeused[topic] = timenow - let byteBuffer = ByteBuffer(string:payload) + let byteBuffer = ByteBuffer(string: payload) try await activateClient() - try await mqttClient.publish(to: topic, payload: byteBuffer, qos:qos , retain:retain) + try await mqttClient.publish(to: topic, payload: byteBuffer, qos: qos, retain: retain) } } - diff --git a/Sources/sma2mqtt/MutlicastReceiver.swift b/Sources/sma2mqtt/MutlicastReceiver.swift index 42c3dbd..71dd257 100644 --- a/Sources/sma2mqtt/MutlicastReceiver.swift +++ b/Sources/sma2mqtt/MutlicastReceiver.swift @@ -1,19 +1,20 @@ import Foundation +import JLog + #if os(Linux) -import Glibc + import Glibc #else -import Darwin + import Darwin #endif -import JLog - struct Packet { let data: Data let sourceAddress: String } -enum MulticastReceiverError: Error { +enum MulticastReceiverError: Error +{ case socketCreationFailed(Int32) case socketOptionsSettingFailed(Int32) case socketBindingFailed(Int32) @@ -24,7 +25,6 @@ enum MulticastReceiverError: Error { case addressStringConversionFailed(Int32) } - actor MulticastReceiver { private var socketFileDescriptor: Int32 = -1 @@ -32,59 +32,48 @@ actor MulticastReceiver private var bufferSize: Int = 0 private var isListening: Bool = true - init(groups: [String], listenAddress:String, listenPort:UInt16,bufferSize: Int = 65536) throws + init(groups: [String], listenAddress: String, listenPort: UInt16, bufferSize: Int = 65536) throws { self.bufferSize = bufferSize receiveBuffer = UnsafeMutablePointer.allocate(capacity: bufferSize) JLog.debug("Started listening on \(listenAddress)") - let socketFileDescriptor = socket(AF_INET, SOCK_DGRAM, 0 ) // IPPROTO_UDP) // 0 , IPPROTO_MTP + let socketFileDescriptor = socket(AF_INET, SOCK_DGRAM, 0) // IPPROTO_UDP) // 0 , IPPROTO_MTP self.socketFileDescriptor = socketFileDescriptor - guard socketFileDescriptor != -1 else { - throw MulticastReceiverError.socketCreationFailed(errno) - } + guard socketFileDescriptor != -1 else { throw MulticastReceiverError.socketCreationFailed(errno) } var reuseAddress: Int32 = 1 guard setsockopt(socketFileDescriptor, SOL_SOCKET, SO_REUSEADDR, &reuseAddress, socklen_t(MemoryLayout.size)) != -1 - else { + else + { throw MulticastReceiverError.socketOptionsSettingFailed(errno) } var socketAddress = sockaddr_in() - socketAddress.sin_family = sa_family_t(AF_INET) - socketAddress.sin_port = listenPort.bigEndian - socketAddress.sin_addr.s_addr = INADDR_ANY // inet_addr(listenAddress) // INADDR_ANY + socketAddress.sin_family = sa_family_t(AF_INET) + socketAddress.sin_port = listenPort.bigEndian + socketAddress.sin_addr.s_addr = INADDR_ANY // inet_addr(listenAddress) // INADDR_ANY - guard bind(socketFileDescriptor, sockaddr_cast(&socketAddress),socklen_t(MemoryLayout.size)) != -1 - else { - throw MulticastReceiverError.socketBindingFailed(errno) - } + guard bind(socketFileDescriptor, sockaddr_cast(&socketAddress), socklen_t(MemoryLayout.size)) != -1 else { throw MulticastReceiverError.socketBindingFailed(errno) } for group in groups { - var multicastRequest = ip_mreq(imr_multiaddr: in_addr(s_addr: inet_addr(group)), - imr_interface: in_addr(s_addr: inet_addr(listenAddress))) // INADDR_ANY)) // + var multicastRequest = ip_mreq(imr_multiaddr: in_addr(s_addr: inet_addr(group)), imr_interface: in_addr(s_addr: inet_addr(listenAddress))) // INADDR_ANY)) // guard setsockopt(socketFileDescriptor, IPPROTO_IP, IP_ADD_MEMBERSHIP, &multicastRequest, socklen_t(MemoryLayout.size)) != -1 - else { + else + { throw MulticastReceiverError.multicastJoinFailed(errno) } JLog.debug("added group:\(group)") } } - nonisolated - private func sockaddr_cast(_ ptr: UnsafeMutablePointer) -> UnsafeMutablePointer - { - return UnsafeMutableRawPointer(ptr).assumingMemoryBound(to: sockaddr.self) - } + private nonisolated func sockaddr_cast(_ ptr: UnsafeMutablePointer) -> UnsafeMutablePointer { UnsafeMutableRawPointer(ptr).assumingMemoryBound(to: sockaddr.self) } deinit { - if socketFileDescriptor != -1 - { - close(socketFileDescriptor) - } + if socketFileDescriptor != -1 { close(socketFileDescriptor) } receiveBuffer?.deallocate() } @@ -94,10 +83,7 @@ actor MulticastReceiver isListening = true } - func stopListening() - { - isListening = false - } + func stopListening() { isListening = false } func shutdown() { @@ -107,42 +93,36 @@ actor MulticastReceiver func receiveNextPacket() async throws -> Packet { - return try await withUnsafeThrowingContinuation - { continuation in - + try await withUnsafeThrowingContinuation + { continuation in do { let receiveNext = try receiveNext() continuation.resume(returning: receiveNext) } - catch - { - continuation.resume(throwing: error) - } + catch { continuation.resume(throwing: error) } } } - private func receiveNext() throws -> Packet { var socketAddress = sockaddr_in() var socketAddressLength = socklen_t(MemoryLayout.size) JLog.debug("recvfrom") - let bytesRead = recvfrom(socketFileDescriptor, receiveBuffer, bufferSize, 0,sockaddr_cast(&socketAddress), &socketAddressLength ) + let bytesRead = recvfrom(socketFileDescriptor, receiveBuffer, bufferSize, 0, sockaddr_cast(&socketAddress), &socketAddressLength) guard bytesRead != -1 else { throw MulticastReceiverError.receiveError(errno) } var addr = socketAddress.sin_addr // sa.sin_addr var addrBuffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN)) guard let addrString = inet_ntop(AF_INET, &addr, &addrBuffer, socklen_t(INET_ADDRSTRLEN)) else { throw MulticastReceiverError.addressStringConversionFailed(errno) } - return Packet(data: Data(bytes: receiveBuffer!, count: bytesRead), sourceAddress: String(cString:addrString) ) + return Packet(data: Data(bytes: receiveBuffer!, count: bytesRead), sourceAddress: String(cString: addrString)) } - } -//func main() async { +// func main() async { // // Define the multicast groups and port // let multicastGroups: [MulticastGroup] = [ // MulticastGroup(address: "239.12.0.78", port: 955), @@ -166,12 +146,12 @@ actor MulticastReceiver // } catch { // print("Error creating MulticastReceiver:", error) // } -//} +// } // //// Run the main function -//Task { +// Task { // await main() -//} +// } // // // @@ -213,4 +193,4 @@ actor MulticastReceiver // } // // -//print("end") +// print("end") diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index a8c15e0..03f112f 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -1,107 +1,93 @@ // // SunnyHomeManager.swift -// +// // // Created by Patrick Stein on 14.06.22. // import Foundation - import JLog import sma2mqttLibrary +protocol SunnyHomeManagerDelegate: AnyObject { func addRemote(remoteAddress: String) } -protocol SunnyHomeManagerDelegate : AnyObject +class SunnyHomeManager: SunnyHomeManagerDelegate { - func addRemote(remoteAddress:String) -} + let password: String + let bindAddress: String + let mqttPublisher: MQTTPublisher - -class SunnyHomeManager : SunnyHomeManagerDelegate -{ - let password:String - let bindAddress:String - let mqttPublisher:MQTTPublisher - - let receiver:MulticastReceiver - var knownDevices = [String:SMADevice]() + let receiver: MulticastReceiver + var knownDevices = [String: SMADevice]() struct SMADevice { - let address:String + let address: String var lastSeen = Date() - var inverter:SMAInverter + var inverter: SMAInverter - init(address: String, userright:SMAInverter.UserRight = .user ,password: String = "00000", bindAddress:String = "0.0.0.0") + init(address: String, userright: SMAInverter.UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") { - self.address = address - let inverter = SMAInverter(address: address, userright:userright ,password: password, bindAddress:bindAddress) + let inverter = SMAInverter(address: address, userright: userright, password: password, bindAddress: bindAddress) self.inverter = inverter - Task { - await inverter.values() - } + Task { await inverter.values() } } } - init(mqttPublisher:MQTTPublisher,multicastAddresses:[String], multicastPort:UInt16, bindAddress:String = "0.0.0.0",bindPort:UInt16 = 0,password:String = "0000") async throws + init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000") async throws { self.password = password self.bindAddress = bindAddress self.mqttPublisher = mqttPublisher - self.receiver = try MulticastReceiver(groups: multicastAddresses,listenAddress: bindAddress, listenPort:multicastPort) + receiver = try MulticastReceiver(groups: multicastAddresses, listenAddress: bindAddress, listenPort: multicastPort) await receiver.startListening() } - func addRemote(remoteAddress:String) + func addRemote(remoteAddress: String) { defer { knownDevices[remoteAddress]?.lastSeen = Date() } guard knownDevices[remoteAddress] == nil else { return } JLog.debug("remoteAddress:\(remoteAddress)") - knownDevices[remoteAddress] = SMADevice(address: remoteAddress,password: password,bindAddress: bindAddress) - } - - func shutdown() async throws - { - await receiver.shutdown() + knownDevices[remoteAddress] = SMADevice(address: remoteAddress, password: password, bindAddress: bindAddress) } + func shutdown() async throws { await receiver.shutdown() } func receiveNext() async throws { let packet = try await receiver.receiveNextPacket() let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") -// print("Received packet from \(packet.sourceAddress)") + // print("Received packet from \(packet.sourceAddress)") print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") addRemote(remoteAddress: packet.sourceAddress) if !packet.data.isEmpty { - if let sma = try? SMAPacket(data:packet.data) + if let sma = try? SMAPacket(data: packet.data) { -// JLog.debug("Decoded from \(packet.sourceAddress)") + // JLog.debug("Decoded from \(packet.sourceAddress)") JLog.debug("Decoded from \(packet.sourceAddress): \(sma.json)") for obisvalue in sma.obis { if obisvalue.mqtt != .invisible { - //Task.detached - //{ -// try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) - //} - } -// if jsonOutput -// { -// var obisvalue = obisvalue -// obisvalue.includeTopicInJSON = true -// print("\(obisvalue.json)") -// } + // Task.detached + // { + // try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) + // } + } // if jsonOutput + // { + // var obisvalue = obisvalue + // obisvalue.includeTopicInJSON = true + // print("\(obisvalue.json)") + // } } } else @@ -109,7 +95,5 @@ class SunnyHomeManager : SunnyHomeManagerDelegate JLog.error("did not decode") } } - } - } diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 78c7b86..4d089d1 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -1,120 +1,86 @@ -import Foundation import ArgumentParser +import Foundation import JLog import Logging -@main -struct sma2mqtt: AsyncParsableCommand +@main struct sma2mqtt: AsyncParsableCommand { #if DEBUG - @Option(name: .shortAndLong, help: "optional debug output") - var debug: String = "trace" + @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "trace" #else - @Option(name: .shortAndLong, help: "optional debug output") - var debug: String = "notice" + @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "notice" #endif - @Flag(name: .long, help: "send json output to stdout") - var json:Bool = false + @Flag(name: .long, help: "send json output to stdout") var json: Bool = false - @Option(name: .long, help: "MQTT Server hostname") - var mqttServername: String = "mqtt" + @Option(name: .long, help: "MQTT Server hostname") var mqttServername: String = "mqtt" - @Option(name: .long, help: "MQTT Server port") - var mqttPort: UInt16 = 1883 + @Option(name: .long, help: "MQTT Server port") var mqttPort: UInt16 = 1883 - @Option(name: .long, help: "MQTT Server username") - var mqttUsername: String = "mqtt" + @Option(name: .long, help: "MQTT Server username") var mqttUsername: String = "mqtt" - @Option(name: .long, help: "MQTT Server password") - var mqttPassword: String = "" + @Option(name: .long, help: "MQTT Server password") var mqttPassword: String = "" - @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") - var interval: Double = 1.0 + @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") var interval: Double = 1.0 #if DEBUG - @Option(name: .shortAndLong, help: "MQTT Server topic.") - var basetopic: String = "example/sma/sunnymanager" + @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "example/sma/sunnymanager" #else - @Option(name: .shortAndLong, help: "MQTT Server topic.") - var basetopic: String = "sma/sunnymanager" + @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "sma/sunnymanager" #endif #if DEBUG - @Option(name: .long, help: "Multicast Binding Listening Interface Address.") - var bindAddress: String = "10.112.16.115" + @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "10.112.16.115" #else - @Option(name: .long, help: "Multicast Binding Listening Interface Address.") - var bindAddress: String = "0.0.0.0" + @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "0.0.0.0" #endif + @Option(name: .long, help: "Multicast Binding Listening Port number.") var bindPort: UInt16 = 0 - @Option(name: .long, help: "Multicast Binding Listening Port number.") - var bindPort: UInt16 = 0; - - @Option(name: .long, help: "Multicast Group Address.") - var mcastAddress: String = "239.12.255.254" - - @Option(name: .long, help: "Multicast Group Port number.") - var mcastPort: UInt16 = 9522; + @Option(name: .long, help: "Multicast Group Address.") var mcastAddress: String = "239.12.255.254" - @Option(name: .long, help: "Inverter Password.") - var inverterPassword: String = "0000" + @Option(name: .long, help: "Multicast Group Port number.") var mcastPort: UInt16 = 9522 + @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" func run() async throws { var sunnyHomeManagers = [SunnyHomeManager]() - JLog.loglevel = Logger.Level(rawValue:debug) ?? Logger.Level.notice - let mqttPublisher = try await MQTTPublisher( hostname: mqttServername, - port: Int(mqttPort), - username:mqttUsername, - password:mqttPassword, - emitInterval: interval, - baseTopic: basetopic - ) + JLog.loglevel = Logger.Level(rawValue: debug) ?? Logger.Level.notice + let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) let multicastGroups = [ - "239.12.0.78", - "239.12.1.105", // 10.112.16.166 - "239.12.1.153", // 10.112.16.127 - "239.12.1.55", // 10.112.16.166 - "239.12.1.87", // 10.112.16.107 + "239.12.0.78", "239.12.1.105", // 10.112.16.166 + "239.12.1.153", // 10.112.16.127 + "239.12.1.55", // 10.112.16.166 + "239.12.1.87", // 10.112.16.107 - "239.12.255.253", - "239.12.255.254", - "239.12.255.255" , + "239.12.255.253", "239.12.255.254", "239.12.255.255", + "239.192.0.0", // + "224.0.0.251", // 10.112.16.195 - "239.192.0.0", // - - "224.0.0.251", // 10.112.16.195 - -// "239.192.0.0", // + // "239.192.0.0", // ] - - - - - let sunnyHome = try await SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddresses:multicastGroups, multicastPort: mcastPort, bindAddress:bindAddress,bindPort:bindPort,password: inverterPassword) - sunnyHomeManagers.append(sunnyHome) - - while true - { - try await sunnyHome.receiveNext() - } -// for multicastGroup in multicastGroups -// { -// let sunnyHome = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) -// sunnyHomeManagers.append(sunnyHome) -// } - -// dispatchMain() - try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) -// try await sunnyHome.shutdown() -// -// + let sunnyHome = try await SunnyHomeManager(mqttPublisher: mqttPublisher, + multicastAddresses: multicastGroups, + multicastPort: mcastPort, + bindAddress: bindAddress, + bindPort: bindPort, + password: inverterPassword) + sunnyHomeManagers.append(sunnyHome) + + while true { try await sunnyHome.receiveNext() } + // for multicastGroup in multicastGroups + // { + // let sunnyHome = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) + // sunnyHomeManagers.append(sunnyHome) + // } + + // dispatchMain() + try await Task.sleep(nanoseconds: UInt64(Int64.max - 10)) // try await sunnyHome.shutdown() + // + // } } - diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 134c601..5049592 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -7,40 +7,34 @@ import Foundation - -public extension UInt32 -{ - var ipv4String:String { "\(self>>24).\(self>>16 & 0xFF).\(self>>8 & 0xFF).\(self & 0xFF)" } -} +public extension UInt32 { var ipv4String: String { "\(self >> 24).\(self >> 16 & 0xFF).\(self >> 8 & 0xFF).\(self & 0xFF)" } } public extension Data { - var fullDump:String - { - var string:String = hexDump + "\n" - + var fullDump: String + { + var string: String = hexDump + "\n" - for (offset,value) in self.enumerated() - { - string += String(format:"%04d: 0x%02x %03d c:%c\n",offset,value,value,(value > 31 && value < 127 ? value : 32) ) - } - return string - } + for (offset, value) in enumerated() { string += String(format: "%04d: 0x%02x %03d c:%c\n", offset, value, value, value > 31 && value < 127 ? value : 32) } + return string + } } + public extension Data { - var hexDump:String + var hexDump: String + { + var string = "" + + for (offset, value) in enumerated() { - var string:String = "" - - for (offset,value) in self.enumerated() - { - string += String(format:"%02x",value) - if (offset+1) % 2 == 0 { string += " " } - } - return string + string += String(format: "%02x", value) + if (offset + 1) % 2 == 0 { string += " " } } - func toHexString(octetGrouped:Bool = false) -> String + return string + } + + func toHexString(octetGrouped: Bool = false) -> String { let formatString = octetGrouped ? "%02hhx " : "%02hhx" let string = map { String(format: formatString, $0) }.joined() @@ -48,12 +42,12 @@ public extension Data } } -extension Encodable +public extension Encodable { - public var json:String + var json: String { let jsonEncoder = JSONEncoder() - jsonEncoder.outputFormatting = .sortedKeys + jsonEncoder.outputFormatting = .sortedKeys let jsonData = try! jsonEncoder.encode(self) return String(data: jsonData, encoding: .utf8)! } diff --git a/Sources/sma2mqttLibrary/ObisDefinition.swift b/Sources/sma2mqttLibrary/ObisDefinition.swift index a3ef2f6..c65276d 100644 --- a/Sources/sma2mqttLibrary/ObisDefinition.swift +++ b/Sources/sma2mqttLibrary/ObisDefinition.swift @@ -1,6 +1,6 @@ // // ObisDefinition.swift -// +// // // Created by Patrick Stein on 29.08.21. // @@ -8,11 +8,11 @@ import Foundation import JLog -struct ObisDefinition:Encodable,Decodable +struct ObisDefinition: Encodable, Decodable { - enum ObisDefinitionType:String,Encodable,Decodable + enum ObisDefinitionType: String, Encodable, Decodable { - case version = "softwareversion" + case version = "softwareversion" case ipv4address case uint32 @@ -20,34 +20,29 @@ struct ObisDefinition:Encodable,Decodable case uint64 } - let id:String + let id: String - let type:ObisDefinitionType - let factor:Decimal? - let unit:String - let topic:String - let mqtt:ObisValue.MQTTVisibilty - let title:String + let type: ObisDefinitionType + let factor: Decimal? + let unit: String + let topic: String + let mqtt: ObisValue.MQTTVisibilty + let title: String } - extension ObisDefinition { - static let obisDefinitions:[String:ObisDefinition] = + static let obisDefinitions: [String: ObisDefinition] = { + if let url = Bundle.module.url(forResource: "obisdefinition", withExtension: "json") { - if let url = Bundle.module.url(forResource: "obisdefinition", withExtension: "json") + if let jsonData = try? Data(contentsOf: url), let obisDefinitions = try? JSONDecoder().decode([ObisDefinition].self, from: jsonData) { - if let jsonData = try? Data(contentsOf: url), - let obisDefinitions = try? JSONDecoder().decode([ObisDefinition].self, from: jsonData) - { - return Dictionary(uniqueKeysWithValues: obisDefinitions.map { ($0.id, $0) }) - } - JLog.error("Could not decode obisdefintion resource file") - return [String:ObisDefinition]() + return Dictionary(uniqueKeysWithValues: obisDefinitions.map { ($0.id, $0) }) } - JLog.error("Could not find obisdefintion resource file") - return [String:ObisDefinition]() - }() + JLog.error("Could not decode obisdefintion resource file") + return [String: ObisDefinition]() + } + JLog.error("Could not find obisdefintion resource file") + return [String: ObisDefinition]() + }() } - - diff --git a/Sources/sma2mqttLibrary/ObisPacket.swift b/Sources/sma2mqttLibrary/ObisPacket.swift index 50d7b12..b34f0e9 100644 --- a/Sources/sma2mqttLibrary/ObisPacket.swift +++ b/Sources/sma2mqttLibrary/ObisPacket.swift @@ -4,26 +4,21 @@ // // Created by Patrick Stein on 29.08.21. // -import Foundation import BinaryCoder +import Foundation import JLog -struct ObisPacket:Encodable,Decodable +struct ObisPacket: Encodable, Decodable { - let systemid:UInt16 - let serialnumber:UInt32 - let mseconds:UInt32 - let obisvalues:[ObisValue] + let systemid: UInt16 + let serialnumber: UInt32 + let mseconds: UInt32 + let obisvalues: [ObisValue] } - -extension ObisPacket:BinaryDecodable +extension ObisPacket: BinaryDecodable { - enum ObisDecodingError: Error - { - case decoding(String) - } - + enum ObisDecodingError: Error { case decoding(String) } init(fromBinary decoder: BinaryDecoder) throws { @@ -31,9 +26,9 @@ extension ObisPacket:BinaryDecodable do { - self.systemid = try decoder.decode(UInt16.self).bigEndian - self.serialnumber = try decoder.decode(UInt32.self).bigEndian - self.mseconds = try decoder.decode(UInt32.self).bigEndian + systemid = try decoder.decode(UInt16.self).bigEndian + serialnumber = try decoder.decode(UInt32.self).bigEndian + mseconds = try decoder.decode(UInt32.self).bigEndian var obisvalues = [ObisValue]() @@ -43,10 +38,10 @@ extension ObisPacket:BinaryDecodable do { - let aObis = try ObisValue(fromBinary: decoder ) + let aObis = try ObisValue(fromBinary: decoder) obisvalues.append(aObis) } - catch let error + catch { JLog.error("Got decoding error:\(error) advancing 1 byte") decoder.position = currentposition + 1 @@ -54,12 +49,6 @@ extension ObisPacket:BinaryDecodable } self.obisvalues = obisvalues } - catch - { - throw ObisDecodingError.decoding("Could not decode at position:\(decoder.position)") - } + catch { throw ObisDecodingError.decoding("Could not decode at position:\(decoder.position)") } } } - - - diff --git a/Sources/sma2mqttLibrary/ObisValue.swift b/Sources/sma2mqttLibrary/ObisValue.swift index 6646f65..6d9614d 100644 --- a/Sources/sma2mqttLibrary/ObisValue.swift +++ b/Sources/sma2mqttLibrary/ObisValue.swift @@ -1,128 +1,115 @@ -import Foundation import BinaryCoder +import Foundation import JLog -public enum ObisType:Encodable,Decodable +public enum ObisType: Encodable, Decodable { case string(String) case uint(UInt64) case int(Int64) } -public struct ObisValue:Decodable +public struct ObisValue: Decodable { - let id:String - let value:ObisType - - public var includeTopicInJSON = false - public var topic:String { ObisDefinition.obisDefinitions[id]?.topic ?? "id/\(id)" } - - public enum MQTTVisibilty:String,Encodable,Decodable - { - case invisible,visible,retained - } - public var mqtt:MQTTVisibilty { ObisDefinition.obisDefinitions[id]?.mqtt ?? .invisible } -} + let id: String + let value: ObisType + public var includeTopicInJSON = false + public var topic: String { ObisDefinition.obisDefinitions[id]?.topic ?? "id/\(id)" } + public enum MQTTVisibilty: String, Encodable, Decodable { case invisible, visible, retained } + public var mqtt: MQTTVisibilty { ObisDefinition.obisDefinitions[id]?.mqtt ?? .invisible } +} -extension ObisValue:Encodable +extension ObisValue: Encodable { public func encode(to encoder: Encoder) throws { let obisDefinition = ObisDefinition.obisDefinitions[id]! - enum CodingKeys: String, CodingKey - { - case id, - unit, - title, - value, - topic - } - var container = encoder.container(keyedBy:CodingKeys.self) + enum CodingKeys: String, CodingKey { case id, unit, title, value, topic } + var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(obisDefinition.id ,forKey:.id) - try container.encode(obisDefinition.unit ,forKey:.unit) - try container.encode(obisDefinition.title ,forKey:.title) + try container.encode(obisDefinition.id, forKey: .id) + try container.encode(obisDefinition.unit, forKey: .unit) + try container.encode(obisDefinition.title, forKey: .title) - if includeTopicInJSON - { - try container.encode(obisDefinition.topic ,forKey:.topic) - } + if includeTopicInJSON { try container.encode(obisDefinition.topic, forKey: .topic) } - let factor = obisDefinition.factor - let hasFactor = obisDefinition.factor != nil && obisDefinition.factor! != 0 && obisDefinition.factor! != 1 + let factor = obisDefinition.factor + let hasFactor = obisDefinition.factor != nil && obisDefinition.factor! != 0 && obisDefinition.factor! != 1 switch value { - case .string(let value): try container.encode(value,forKey:.value) - case .uint(let value): if value == UInt64.max - { - let string:String? = nil - try container.encode(string ,forKey:.value) - } - else - { - try container.encode( hasFactor ? Decimal(value) / factor! : Decimal(value),forKey:.value) - } - case .int(let value): if value == UInt64.min - { - let string:String? = nil - try container.encode(string ,forKey:.value) - } - else - { - try container.encode( hasFactor ? Decimal(value) / factor! : Decimal(value),forKey:.value) - } + case let .string(value): try container.encode(value, forKey: .value) + case let .uint(value): + if value == UInt64.max + { + let string: String? = nil + try container.encode(string, forKey: .value) + } + else + { + try container.encode(hasFactor ? Decimal(value) / factor! : Decimal(value), forKey: .value) + } + case let .int(value): + if value == UInt64.min + { + let string: String? = nil + try container.encode(string, forKey: .value) + } + else + { + try container.encode(hasFactor ? Decimal(value) / factor! : Decimal(value), forKey: .value) + } } } } - - - -extension ObisValue:BinaryDecodable +extension ObisValue: BinaryDecodable { public init(fromBinary decoder: BinaryDecoder) throws { JLog.debug("Decoding ObisValue") - let a:UInt8 = try decoder.decode(UInt8.self) - let b:UInt8 = try decoder.decode(UInt8.self) - let c:UInt8 = try decoder.decode(UInt8.self) - let d:UInt8 = try decoder.decode(UInt8.self) + let a: UInt8 = try decoder.decode(UInt8.self) + let b: UInt8 = try decoder.decode(UInt8.self) + let c: UInt8 = try decoder.decode(UInt8.self) + let d: UInt8 = try decoder.decode(UInt8.self) let id = "\(a != 0 ? a : 1):\(b).\(c).\(d)" JLog.debug("Decoding Obis a':\(a) Id:\(id)") - let value:ObisType + let value: ObisType if let obisDefinition = ObisDefinition.obisDefinitions[id] { - switch obisDefinition.type - { - case .version: let intValue = try decoder.decode(Int32.self).bigEndian - JLog.trace("name: \(obisDefinition.topic) value:\(String(format:"%08x",intValue))") - value = .string("major:\(intValue>>24) minor:\(intValue>>16 & 0xFF) build:\(intValue>>8 & 0xFF) revision:\(String(format:"%c",intValue & 0xFF))") - - case .ipv4address: let intValue = try decoder.decode(UInt32.self).bigEndian - JLog.trace("name: \(obisDefinition.topic) value:\(String(format:"%08x",intValue))") - value = .string(intValue.ipv4String) - - case .uint32: let intValue = try decoder.decode(UInt32.self).bigEndian - JLog.trace("name: \(obisDefinition.topic) value:\(String(format:"%08x",intValue))") - value = .uint( intValue == UInt32.max ? UInt64.max : UInt64(intValue) ) - - case .int32: let intValue = try decoder.decode(Int32.self).bigEndian - JLog.trace("name: \(obisDefinition.topic) value:\(String(format:"%08x",intValue))") - value = .int( intValue == UInt32.min ? Int64.min : Int64(intValue) ) - - case .uint64: let intValue = try decoder.decode(UInt64.self).bigEndian - JLog.trace("name: \(obisDefinition.topic) value:\(String(format:"%16x",intValue))") - value = .uint( intValue ) + switch obisDefinition.type { case .version: + let intValue = try decoder.decode(Int32.self).bigEndian + JLog.trace("name: \(obisDefinition.topic) value:\(String(format: "%08x", intValue))") + value = .string("major:\(intValue >> 24) minor:\(intValue >> 16 & 0xFF) build:\(intValue >> 8 & 0xFF) revision:\(String(format: "%c", intValue & 0xFF))") + + case .ipv4address: + let intValue = try decoder.decode(UInt32.self).bigEndian + JLog.trace("name: \(obisDefinition.topic) value:\(String(format: "%08x", intValue))") + value = .string(intValue.ipv4String) + + case .uint32: + let intValue = try decoder.decode(UInt32.self).bigEndian + JLog.trace("name: \(obisDefinition.topic) value:\(String(format: "%08x", intValue))") + value = .uint(intValue == UInt32.max ? UInt64.max : UInt64(intValue)) + + case .int32: + let intValue = try decoder.decode(Int32.self).bigEndian + JLog.trace("name: \(obisDefinition.topic) value:\(String(format: "%08x", intValue))") + value = .int(intValue == UInt32.min ? Int64.min : Int64(intValue)) + + case .uint64: + let intValue = try decoder.decode(UInt64.self).bigEndian + JLog.trace("name: \(obisDefinition.topic) value:\(String(format: "%16x", intValue))") + value = .uint(intValue) } } else diff --git a/Sources/sma2mqttLibrary/SMADataObject.swift b/Sources/sma2mqttLibrary/SMADataObject.swift index 191c04a..8203fa6 100644 --- a/Sources/sma2mqttLibrary/SMADataObject.swift +++ b/Sources/sma2mqttLibrary/SMADataObject.swift @@ -1,150 +1,146 @@ // // File.swift -// +// // // Created by Patrick Stein on 26.06.22. // import Foundation -import RegexBuilder import JLog +import RegexBuilder public struct SMADataObject { - let object:Int - let lri:Int - - let Prio:Int - let TagId:Int - - let TagIdEventMsg:Int? - - let Unit:Int? - let DataFrmt:Int - let Scale:Decimal? - let Typ:Int - - let WriteLevel:Int - let GridGuard:Bool - let TagHier:[Int] - - let Min:Bool - let Max:Bool - let Sum:Bool - let Avg:Bool - let Cnt:Bool - let MinD:Bool - let MaxD:Bool - let SumD:Bool + let object: Int + let lri: Int + + let Prio: Int + let TagId: Int + + let TagIdEventMsg: Int? + + let Unit: Int? + let DataFrmt: Int + let Scale: Decimal? + let Typ: Int + + let WriteLevel: Int + let GridGuard: Bool + let TagHier: [Int] + + let Min: Bool + let Max: Bool + let Sum: Bool + let Avg: Bool + let Cnt: Bool + let MinD: Bool + let MaxD: Bool + let SumD: Bool } extension SMADataObject // Descriptions { - var id:String { "\( String(object,radix: 16) )_\( String(lri,radix: 16) )" } - var description:String { "\(id): \(self.json)" } + var id: String { "\(String(object, radix: 16))_\(String(lri, radix: 16))" } + var description: String { "\(id): \(json)" } } - -extension SMADataObject:Decodable,Encodable +extension SMADataObject: Decodable, Encodable { - private enum CodingKeys : String, CodingKey { - case object,lri,Prio,TagId,TagIdEventMsg,Unit,DataFrmt,Scale,Typ,WriteLevel,GridGuard,TagHier,Min,Max,Sum,Avg,Cnt,MinD,MaxD,SumD - } + private enum CodingKeys: String, CodingKey { case object, lri, Prio, TagId, TagIdEventMsg, Unit, DataFrmt, Scale, Typ, WriteLevel, GridGuard, TagHier, Min, Max, Sum, Avg, Cnt, MinD, MaxD, SumD } public init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: CodingKeys.self) let objectString = try values.decode(String.self, forKey: .object) - guard let object = Int(objectString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode hex string:\(objectString) ") } + guard let object = Int(objectString, radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode hex string:\(objectString) ") } self.object = object - guard let lriString = try? values.decode(String.self, forKey: .lri) else { throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode lri:\(objectString) ") } - guard let lri = Int(lriString , radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode lri hex string:\(lriString)") } + guard let lriString = try? values.decode(String.self, forKey: .lri) + else + { + throw DecodingError.dataCorruptedError(forKey: .object, in: values, debugDescription: "could not decode lri:\(objectString) ") + } + guard let lri = Int(lriString, radix: 16) else { throw DecodingError.dataCorruptedError(forKey: .lri, in: values, debugDescription: "could not decode lri hex string:\(lriString)") } self.lri = lri - Prio = try values.decode(Int.self, forKey: .Prio) - TagId = try values.decode(Int.self, forKey: .TagId) + Prio = try values.decode(Int.self, forKey: .Prio) + TagId = try values.decode(Int.self, forKey: .TagId) TagIdEventMsg = try values.decodeIfPresent(Int.self, forKey: .TagIdEventMsg) - Unit = try values.decodeIfPresent(Int.self, forKey: .Unit) - DataFrmt = try values.decode(Int.self, forKey: .DataFrmt) - Scale = try values.decodeIfPresent(Decimal.self, forKey: .Scale) - - Typ = try values.decode(Int.self, forKey: .Typ) - WriteLevel = try values.decode(Int.self, forKey: .WriteLevel) - GridGuard = try values.decodeIfPresent(Bool.self, forKey: .GridGuard) ?? false - TagHier = try values.decode([Int].self, forKey: .TagHier) - - Min = try values.decodeIfPresent(Bool.self, forKey: .Min) ?? false - Max = try values.decodeIfPresent(Bool.self, forKey: .Max) ?? false - Sum = try values.decodeIfPresent(Bool.self, forKey: .Sum) ?? false - Avg = try values.decodeIfPresent(Bool.self, forKey: .Avg) ?? false - Cnt = try values.decodeIfPresent(Bool.self, forKey: .Cnt) ?? false - MinD = try values.decodeIfPresent(Bool.self, forKey: .MinD) ?? false - MaxD = try values.decodeIfPresent(Bool.self, forKey: .MaxD) ?? false - SumD = try values.decodeIfPresent(Bool.self, forKey: .SumD) ?? false - + Unit = try values.decodeIfPresent(Int.self, forKey: .Unit) + DataFrmt = try values.decode(Int.self, forKey: .DataFrmt) + Scale = try values.decodeIfPresent(Decimal.self, forKey: .Scale) + + Typ = try values.decode(Int.self, forKey: .Typ) + WriteLevel = try values.decode(Int.self, forKey: .WriteLevel) + GridGuard = try values.decodeIfPresent(Bool.self, forKey: .GridGuard) ?? false + TagHier = try values.decode([Int].self, forKey: .TagHier) + + Min = try values.decodeIfPresent(Bool.self, forKey: .Min) ?? false + Max = try values.decodeIfPresent(Bool.self, forKey: .Max) ?? false + Sum = try values.decodeIfPresent(Bool.self, forKey: .Sum) ?? false + Avg = try values.decodeIfPresent(Bool.self, forKey: .Avg) ?? false + Cnt = try values.decodeIfPresent(Bool.self, forKey: .Cnt) ?? false + MinD = try values.decodeIfPresent(Bool.self, forKey: .MinD) ?? false + MaxD = try values.decodeIfPresent(Bool.self, forKey: .MaxD) ?? false + SumD = try values.decodeIfPresent(Bool.self, forKey: .SumD) ?? false } - } - - - extension SMADataObject { - static let defaultTranslations:[Int:String] = - { + static let defaultTranslations: [Int: String] = { guard let url = Bundle.module.url(forResource: "sma.data.Translation_Names", withExtension: "json") else { JLog.error("Could not find Translation_Names resource file") - return [Int:String]() + return [Int: String]() } do { let jsonData = try Data(contentsOf: url) - let translations = try JSONDecoder().decode([String:String?].self, from: jsonData) - - return Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } - guard let stringvalue = $1 else { return nil } - return (intvalue , stringvalue) - } ) + let translations = try JSONDecoder().decode([String: String?].self, from: jsonData) + + return Dictionary( + uniqueKeysWithValues: translations.compactMap + { + guard let intvalue = Int($0) else { return nil } + guard let stringvalue = $1 else { return nil } + return (intvalue, stringvalue) + } + ) } - catch - { - JLog.error("Could not create Translation_Names Objects \(error)") - } - return [Int:String]() + catch { JLog.error("Could not create Translation_Names Objects \(error)") } + return [Int: String]() }() } extension SMADataObject { - public static let defaultDataObjects:[String:SMADataObject] = - { + public static let defaultDataObjects: [String: SMADataObject] = { let url = Bundle.module.url(forResource: "sma.data.objectMetaData", withExtension: "json")! let jsonString = try! String(contentsOf: url) return try! dataObjects(from: jsonString) }() - static func dataObjects(from jsonString:String) throws -> [String:SMADataObject] + static func dataObjects(from jsonString: String) throws -> [String: SMADataObject] { do { let regex = #/("([0-9a-fA-F]{4})_([0-9a-fA-F]{8})":\s*{)/# - let replaced = jsonString.replacing(regex) { match in - """ - \(match.1) - "object": "\( Int(match.2, radix:16)! )", - "lri": "\( Int(match.3, radix:16)! )", - """ + let replaced = jsonString.replacing(regex) + { match in + """ + \(match.1) + "object": "\(Int(match.2, radix: 16)!)", + "lri": "\(Int(match.3, radix: 16)!)", + """ } - // JLog.debug("Replaced json:\(replaced)") + // JLog.debug("Replaced json:\(replaced)") if let jsonData = replaced.data(using: .utf8) { - let jsonObjects = try JSONDecoder().decode([String:SMADataObject].self, from: jsonData) + let jsonObjects = try JSONDecoder().decode([String: SMADataObject].self, from: jsonData) return jsonObjects } @@ -154,6 +150,6 @@ extension SMADataObject JLog.error("Could not create Data Objects from json:\(error)\njson:\(jsonString)") throw error } - return [String:SMADataObject]() // never reached + return [String: SMADataObject]() // never reached } } diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMAInverter.swift index 6556eeb..6637f65 100644 --- a/Sources/sma2mqttLibrary/SMAInverter.swift +++ b/Sources/sma2mqttLibrary/SMAInverter.swift @@ -1,6 +1,6 @@ // // File.swift -// +// // // Created by Patrick Stein on 27.06.22. // @@ -8,39 +8,36 @@ import Foundation import JLog - - -final class IgnoreCertificateDelegate:NSObject,URLSessionDelegate,@unchecked Sendable +final class IgnoreCertificateDelegate: NSObject, URLSessionDelegate, @unchecked Sendable { - public func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) { - //Trust the certificate even if not valid - let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) + public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) + { + // Trust the certificate even if not valid + let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) - completionHandler(.useCredential, urlCredential) + completionHandler(.useCredential, urlCredential) } } -final class InverterURLSessionTaskDelegate:NSObject,URLSessionTaskDelegate,Sendable +final class InverterURLSessionTaskDelegate: NSObject, URLSessionTaskDelegate, Sendable { - func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge) async -> (URLSession.AuthChallengeDisposition, URLCredential?) { - let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) + func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge) async -> (URLSession.AuthChallengeDisposition, URLCredential?) + { + let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) - return(.useCredential, urlCredential) + return (.useCredential, urlCredential) } } -struct GetValuesResult:Decodable +struct GetValuesResult: Decodable { - enum Value:Decodable + enum Value: Decodable { case intValue(Int?) case stringValue(String) case tagValues([Int?]) - enum CodingKeys:String,CodingKey - { - case val = "val" - } + enum CodingKeys: String, CodingKey { case val } init(from decoder: Decoder) throws { @@ -58,7 +55,7 @@ struct GetValuesResult:Decodable print("str:\(stringValue)") return } - if let tagArray = try? container.decode([[String:Int?]].self, forKey: CodingKeys.val) + if let tagArray = try? container.decode([[String: Int?]].self, forKey: CodingKeys.val) { print("tagArray:\(tagArray)") let tags = tagArray.map { $0["tag"] ?? nil } @@ -71,10 +68,9 @@ struct GetValuesResult:Decodable } } - - struct Result:Decodable + struct Result: Decodable { - let values:[Value] + let values: [Value] enum CodingKeys: String, CodingKey { @@ -91,27 +87,28 @@ struct GetValuesResult:Decodable self.values = values return } - self.values = try container.decode([Value].self, forKey: CodingKeys.seven) + values = try container.decode([Value].self, forKey: CodingKeys.seven) } } + typealias InverterName = String typealias SMAObjectID = String - let result: [InverterName:[SMAObjectID:Result]] + let result: [InverterName: [SMAObjectID: Result]] } - public actor SMAInverter { - let address:String - let userright:UserRight - let password:String - let bindAddress:String - var loggedIn:Bool = false - var scheme:String = "https" + let address: String + let userright: UserRight + let password: String + let bindAddress: String + var loggedIn: Bool = false + var scheme: String = "https" let certificateDelegate = IgnoreCertificateDelegate() let sessionTaskDelegate = InverterURLSessionTaskDelegate() - var session: URLSession { + var session: URLSession + { let config = URLSessionConfiguration.default config.waitsForConnectivity = true config.timeoutIntervalForResource = 1 @@ -119,88 +116,76 @@ public actor SMAInverter return URLSession(configuration: config, delegate: certificateDelegate, delegateQueue: nil) } - public enum UserRight:String + public enum UserRight: String { - case user = "usr" - case installer = "istl" + case user = "usr" + case installer = "istl" } - public init(address: String, userright:UserRight = .user ,password: String = "00000", bindAddress:String = "0.0.0.0") + public init(address: String, userright: UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") { - self.address = address - self.userright = userright - self.password = password + self.address = address + self.userright = userright + self.password = password self.bindAddress = bindAddress } - public func setupConnection() async - { - await self._setupConnection() - } - + public func setupConnection() async { await _setupConnection() } private func _setupConnection() async { - self.scheme = await self.schemeTest() - _ = await self.smaDataObjects - _ = await self.translations + scheme = await schemeTest() + _ = await smaDataObjects + _ = await translations } - nonisolated - private func schemeTest() async -> String + private nonisolated func schemeTest() async -> String { -// if address == "10.112.16.13" -// { -// scheme = "http" -// } -// return "https" + // if address == "10.112.16.13" + // { + // scheme = "http" + // } + // return "https" - SCHEME_TEST: for scheme in ["https","http"] + SCHEME_TEST: for scheme in ["https", "http"] { - if let url = URL(string: "\(scheme)://\(self.address)/"), - let (_,response) = try? await session.data(for:URLRequest(url:url)), - let httpResponse = response as? HTTPURLResponse, - httpResponse.statusCode == 200 + if let url = URL(string: "\(scheme)://\(address)/"), let (_, response) = try? await session.data(for: URLRequest(url: url)), let httpResponse = response as? HTTPURLResponse, + httpResponse.statusCode == 200 { return scheme } } - JLog.error("no valid scheme found for \(self.address) - using http") + JLog.error("no valid scheme found for \(address) - using http") return "http" } - - enum InverterError:Error + enum InverterError: Error { case invalidURLError case invalidHTTPResponseError - } - func data(forPath path:String) async throws -> Data + func data(forPath path: String) async throws -> Data { - guard let url = URL(string: "\(scheme ?? "https")://\(self.address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw InverterError.invalidURLError } + guard let url = URL(string: "\(scheme ?? "https")://\(address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw InverterError.invalidURLError } do { var request = URLRequest(url: url) request.httpMethod = "GET" -// let loginString = "\(self.userright.rawValue):\(self.password)" -// if let loginData = loginString.data(using: String.Encoding.utf8) -// { -// let base64LoginString = loginData.base64EncodedString() -// -// request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization") -// } -// + // let loginString = "\(self.userright.rawValue):\(self.password)" + // if let loginData = loginString.data(using: String.Encoding.utf8) + // { + // let base64LoginString = loginData.base64EncodedString() + // + // request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization") + // } + // - let (data,response) = try await session.data(for:request) + let (data, response) = try await session.data(for: request) - if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 - { - return data - } + if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 { return data } throw InverterError.invalidHTTPResponseError } catch @@ -208,25 +193,24 @@ public actor SMAInverter guard scheme == nil else { throw InverterError.invalidHTTPResponseError } scheme = "http" } - return try await data(forPath:path) + return try await data(forPath: path) } - - - var _smaDataObjects:[String:SMADataObject]! = nil - var smaDataObjects:[String:SMADataObject] - { get async { + var _smaDataObjects: [String: SMADataObject]! + var smaDataObjects: [String: SMADataObject] + { + get async + { if let _smaDataObjects { return _smaDataObjects } - if let data = try? await data(forPath:"/data/ObjectMetadata_Istl.json"), - let jsonString = String(data:data,encoding:.utf8), - let smaDataObjects = try? SMADataObject.dataObjects(from: jsonString) + if let data = try? await data(forPath: "/data/ObjectMetadata_Istl.json"), let jsonString = String(data: data, encoding: .utf8), + let smaDataObjects = try? SMADataObject.dataObjects(from: jsonString) { _smaDataObjects = smaDataObjects } else { - JLog.error("no sma data object for \(self.address) - using default") + JLog.error("no sma data object for \(address) - using default") _smaDataObjects = SMADataObject.defaultDataObjects } @@ -234,33 +218,37 @@ public actor SMAInverter } } - var _translations:[Int:String]! = nil - var translations:[Int:String] - { get async { - if let _translations { return _translations } - - if let jsonData = try? await data(forPath:"/data/l10n/en-US.json"), - let translations = try? JSONDecoder().decode([String:String?].self, from: jsonData) - { - _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } - guard let stringvalue = $1 else { return nil } - return (intvalue , stringvalue) - } ) - } - else + var _translations: [Int: String]! + var translations: [Int: String] + { + get async { - _translations = SMADataObject.defaultTranslations - } - return _translations + if let _translations { return _translations } + + if let jsonData = try? await data(forPath: "/data/l10n/en-US.json"), let translations = try? JSONDecoder().decode([String: String?].self, from: jsonData) + { + _translations = Dictionary( + uniqueKeysWithValues: translations.compactMap + { + guard let intvalue = Int($0) else { return nil } + guard let stringvalue = $1 else { return nil } + return (intvalue, stringvalue) + } + ) + } + else + { + _translations = SMADataObject.defaultTranslations + } + return _translations } } - - func translate(translations:[Int:String],tags:[Int?]) -> String + func translate(translations: [Int: String], tags: [Int?]) -> String { if let tags = tags as? [Int] { - let string = tags.map{ translations[$0] ?? "unknowntag" }.joined(separator:"/").lowercased().replacing(#/ /#){ w in "_" } + let string = tags.map { translations[$0] ?? "unknowntag" }.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "_" } return string } else @@ -269,53 +257,50 @@ public actor SMAInverter } } - - public func values() async - { + public func values() async + { await setupConnection() - //guard let scheme = self.scheme else { return } + // guard let scheme = self.scheme else { return } + let loginUrl = URL(string: "\(scheme)://\(address)/dyn/login.json")! - let loginUrl = URL(string: "\(scheme)://\(self.address)/dyn/login.json")! - - let params = ["right":userright.rawValue, "pass":password] as Dictionary + let params = ["right": userright.rawValue, "pass": password] as [String: String] var request = URLRequest(url: loginUrl) - request.httpMethod = "POST" - request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) - request.addValue("application/json", forHTTPHeaderField: "Content-Type") + request.httpMethod = "POST" + request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) + request.addValue("application/json", forHTTPHeaderField: "Content-Type") let decoder = JSONDecoder() - if let (data,_) = try? await session.data(for: request, delegate:self.sessionTaskDelegate), - let json = try? decoder.decode(Dictionary.self, from: data), - let sid = json["result"]?["sid"] + if let (data, _) = try? await session.data(for: request, delegate: sessionTaskDelegate), let json = try? decoder.decode([String: [String: String]].self, from: data), + let sid = json["result"]?["sid"] { print(json) - let loginUrl2 = URL(string: "\(scheme)://\(self.address)/dyn/getAllOnlValues.json?sid=\(sid)")! + let loginUrl2 = URL(string: "\(scheme)://\(address)/dyn/getAllOnlValues.json?sid=\(sid)")! print(loginUrl2) - let params2 = ["destDev": [String]() ] as Dictionary + let params2 = ["destDev": [String]()] as [String: [String]] var request2 = URLRequest(url: loginUrl2) - request2.httpMethod = "POST" - request2.httpBody = try! JSONSerialization.data(withJSONObject: params2, options: []) -// request2.httpBody = """ -//{"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} -//""".data(using: .utf8) - request2.addValue("application/json", forHTTPHeaderField: "Content-Type") - - if let (data,_) = try? await session.data(for: request2) + request2.httpMethod = "POST" + request2.httpBody = try! JSONSerialization.data(withJSONObject: params2, options: []) + // request2.httpBody = """ + // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} + // """.data(using: .utf8) + request2.addValue("application/json", forHTTPHeaderField: "Content-Type") + + if let (data, _) = try? await session.data(for: request2) { let string = String(data: data, encoding: .utf8) print("Got:\(string)") - print("data:\( data.toHexString() )") + print("data:\(data.toHexString())") let decoder = JSONDecoder() if let getValuesResult = try? decoder.decode(GetValuesResult.self, from: data) { - print("values:\( getValuesResult )") + print("values:\(getValuesResult)") for inverter in getValuesResult.result { @@ -324,79 +309,60 @@ public actor SMAInverter for value in inverter.value { print("objectid:\(value.key)") - let smaDataObjects = await self.smaDataObjects - let translations = await self.translations + let smaDataObjects = await smaDataObjects + let translations = await translations let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) -// if let smaobject = smaDataObjects[value.key] -// { -// print("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") -// } + // if let smaobject = smaDataObjects[value.key] + // { + // print("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") + // } let values = value.value.values - for (number,singlevalue) in values.enumerated() + for (number, singlevalue) in values.enumerated() { - switch singlevalue - { - case .intValue(let value) : print("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") - case .stringValue(let value) : print("\(number).stringValue:\(value)") - case .tagValues(let values) : print("\(number).tags:\(translate(translations:translations,tags:values))") + switch singlevalue { case let .intValue(value): print("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") case let .stringValue(value): + print("\(number).stringValue:\(value)") + case let .tagValues(values): print("\(number).tags:\(translate(translations: translations, tags: values))") } - } } } } } - - - if let logoutURL = URL(string: "\(scheme)://\(self.address)/dyn/logout.json.json?sid=\(sid)") - { - _ = try? await session.data(from:logoutURL) - } + if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } } } - var description:String + var description: String { - return "NO description yet" -// var returnStrings = [String]() -// -// for (id,smaObject) in smaDataObjects -// { -// let tagName = translations[smaObject.TagId] ?? "tag-\( Int(smaObject.TagId) )" -// let eventName = smaObject.TagIdEventMsg != nil ? translations[smaObject.TagIdEventMsg!] ?? "event-\( Int(smaObject.TagIdEventMsg!) )" : "" -// let tagHierachy = smaObject.TagHier.map{ translations[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") -// let unitName = smaObject.Unit != nil ? translations[smaObject.Unit!] ?? "unit-\( Int(smaObject.Unit!) )" : "" -// -// returnStrings.append("\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(smaObject.description)") -// } -// return returnStrings.joined(separator: "\n\n") + "NO description yet" // var returnStrings = [String]() + // + // for (id,smaObject) in smaDataObjects + // { + // let tagName = translations[smaObject.TagId] ?? "tag-\( Int(smaObject.TagId) )" + // let eventName = smaObject.TagIdEventMsg != nil ? translations[smaObject.TagIdEventMsg!] ?? "event-\( Int(smaObject.TagIdEventMsg!) )" : "" + // let tagHierachy = smaObject.TagHier.map{ translations[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") + // let unitName = smaObject.Unit != nil ? translations[smaObject.Unit!] ?? "unit-\( Int(smaObject.Unit!) )" : "" + // + // returnStrings.append("\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(smaObject.description)") + // } + // return returnStrings.joined(separator: "\n\n") } } extension SMAInverter { - func value(forObject:String) - { -// if not logged in, log in -// send command - } - - func login() + func value(forObject _: String) { - + // if not logged in, log in + // send command } + func login() {} - func sendCommand() - { + func sendCommand() {} - } - - func retrieveResults() - { - - } + func retrieveResults() {} } diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 58ae7aa..0b2e046 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -4,35 +4,31 @@ // // Created by Patrick Stein on 01.06.2022. // -import Foundation +import AppKit import BinaryCoder +import Foundation import JLog -import AppKit - -struct SMANetPacket:Encodable,Decodable +struct SMANetPacket: Encodable, Decodable { - let header:SMANetPacketHeader - let valuesheader:[Int] - let values:[SMANetPacketValue] - let directvalue:String? + let header: SMANetPacketHeader + let valuesheader: [Int] + let values: [SMANetPacketValue] + let directvalue: String? } -extension SMANetPacket:BinaryDecodable +extension SMANetPacket: BinaryDecodable { - enum SMANetPacketDecodingError: Error - { - case decoding(String) - } + enum SMANetPacketDecodingError: Error { case decoding(String) } init(fromBinary decoder: BinaryDecoder) throws { JLog.trace("") - self.header = try decoder.decode(SMANetPacketHeader.self) - var valuesheader = [Int]() - var values = [SMANetPacketValue]() - var directvalue:String? = nil + header = try decoder.decode(SMANetPacketHeader.self) + var valuesheader = [Int]() + var values = [SMANetPacketValue]() + var directvalue: String? = nil if decoder.isAtEnd { @@ -42,43 +38,51 @@ extension SMANetPacket:BinaryDecodable return } - let valuesize:Int - - switch header.valuestype - { - case 0x01: fallthrough - case 0x04: guard decoder.countToEnd >= 4 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } - let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) - valuesheader.append(startvalue) - valuesize = header.valuestype == 0x01 ? 16 : decoder.countToEnd - - case 0x02: guard decoder.countToEnd >= 8 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } - let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) - let endvalue = try Int(decoder.decode(UInt32.self).littleEndian) - - valuesheader.append(contentsOf:[startvalue,endvalue]) - let valuecount = endvalue - startvalue + 1 - valuesize = valuecount > 0 ? decoder.countToEnd / valuecount : 0 - guard decoder.countToEnd == valuecount * valuesize else { throw SMANetPacketDecodingError.decoding("valuecount wrong: header:\(header) valuecount:\(valuecount) toEnd:\(decoder.countToEnd)") } - - case 0x0C: valuesize = 0 - if decoder.countToEnd > 0 + let valuesize: Int + + switch header.valuestype { case 0x01, 0x04: + guard decoder.countToEnd >= 4 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } + let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) + valuesheader.append(startvalue) + valuesize = header.valuestype == 0x01 ? 16 : decoder.countToEnd + + case 0x02: + guard decoder.countToEnd >= 8 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } + let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) + let endvalue = try Int(decoder.decode(UInt32.self).littleEndian) + + valuesheader.append(contentsOf: [startvalue, endvalue]) + let valuecount = endvalue - startvalue + 1 + valuesize = valuecount > 0 ? decoder.countToEnd / valuecount : 0 + guard decoder.countToEnd == valuecount * valuesize + else + { + throw SMANetPacketDecodingError.decoding("valuecount wrong: header:\(header) valuecount:\(valuecount) toEnd:\(decoder.countToEnd)") + } + + case 0x0C: + valuesize = 0 + if decoder.countToEnd > 0 + { + var ok = true + let data = try decoder.decode(Data.self, length: decoder.countToEnd) + .filter { - var ok = true - let data = try decoder.decode(Data.self,length: decoder.countToEnd).filter{ ok = ok && ($0 != 0) ; return ok } - directvalue = String(data:data ,encoding: .isoLatin1)! + ok = ok && ($0 != 0) + return ok } + directvalue = String(data: data, encoding: .isoLatin1)! + } - case 0x00: valuesize = decoder.countToEnd // keepalive packet - default: throw SMANetPacketDecodingError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") - + case 0x00: valuesize = decoder.countToEnd // keepalive packet + default: throw SMANetPacketDecodingError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") } if valuesize > 0 { while !decoder.isAtEnd // 0...= 32 ) - var ok = true - let data = try decoder.decode(Data.self,length: decoder.countToEnd).filter{ ok = ok && ($0 != 0) ; return ok } - let string = String(data:data ,encoding: .isoLatin1)! - value = .string(string) - - case .version: var values = [UInt16]() - - while !decoder.isAtEnd - { - let a = try decoder.decode(UInt16.self).littleEndian - let b = try decoder.decode(UInt16.self).littleEndian - - if a == 0xFFFE && b == 0x00FF - { - break - } - values.append( a ) - } - value = .version( values ) - - case .password: if decoder.isAtEnd - { - value = .password(Data()) - } - else - { - assert(decoder.countToEnd == 12 ) - let data = try decoder.decode(Data.self,length: 12) -// let string = String(data: data, encoding: .utf8)! - value = .password(data) - } - - case .unknown: let data = try decoder.decode(Data.self, length:decoder.countToEnd) - value = .unknown(data) - JLog.info("unkown: \( String(format:"no:0x%02x code:0x%04x type:0x%02x",number,address,type) ) time:\(date) data:\(data.hexDump) ") - + switch valuetype { case .uint: + var values = [UInt32]() + while !decoder.isAtEnd + { + let value = try decoder.decode(UInt32.self) + + values.append(value) + } + value = .uint(values) + + case .int: + var values = [Int32]() + while !decoder.isAtEnd + { + let value = try decoder.decode(Int32.self) + + values.append(value) + } + value = .int(values) + + case .string: // assert(decoder.countToEnd >= 32 ) + var ok = true + let data = try decoder.decode(Data.self, length: decoder.countToEnd) + .filter + { + ok = ok && ($0 != 0) + return ok + } + let string = String(data: data, encoding: .isoLatin1)! + value = .string(string) + + case .version: + var values = [UInt16]() + + while !decoder.isAtEnd + { + let a = try decoder.decode(UInt16.self).littleEndian + let b = try decoder.decode(UInt16.self).littleEndian + + if a == 0xFFFE, b == 0x00FF { break } + values.append(a) + } + value = .version(values) + + case .password: + if decoder.isAtEnd + { + value = .password(Data()) + } + else + { + assert(decoder.countToEnd == 12) + let data = try decoder.decode(Data.self, length: 12) + // let string = String(data: data, encoding: .utf8)! + value = .password(data) + } + + case .unknown: + let data = try decoder.decode(Data.self, length: decoder.countToEnd) + value = .unknown(data) + JLog.info("unkown: \(String(format: "no:0x%02x code:0x%04x type:0x%02x", number, address, type)) time:\(date) data:\(data.hexDump) ") } - JLog.trace("Got Value: \(self.json)") + JLog.trace("Got Value: \(json)") } - } - diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index 977bd02..a0ccc91 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -1,80 +1,77 @@ -import Foundation import BinaryCoder +import Foundation import JLog - - -public struct SMAPacket:Encodable,Decodable +public struct SMAPacket: Encodable, Decodable { - var smaprefix:UInt32 - var group:UInt32? - var systemid:UInt16? - var serialnumber:UInt32? - var currenttimems:UInt32? + var smaprefix: UInt32 + var group: UInt32? + var systemid: UInt16? + var serialnumber: UInt32? + var currenttimems: UInt32? - var obisPackets:[ObisPacket] - var smaNetPackets:[SMANetPacket] + var obisPackets: [ObisPacket] + var smaNetPackets: [SMANetPacket] - public var obis:[ObisValue] { obisPackets.first?.obisvalues ?? []} + public var obis: [ObisValue] { obisPackets.first?.obisvalues ?? [] } } -fileprivate struct SMATagPacket +private struct SMATagPacket { - let length:UInt16 - let tag:UInt16 - let data:Data + let length: UInt16 + let tag: UInt16 + let data: Data - enum TagType:Int + enum TagType: Int { - case end = 0x0000 - case net = 0x0010 - case group = 0x02A0 // tag 0x02a == 42, version 0x0 + case end = 0x0000 + case net = 0x0010 + case group = 0x02A0 // tag 0x02a == 42, version 0x0 - case unknown = 0xFFFF_FFFF + case unknown = 0xFFFF_FFFF } public init(fromBinary decoder: BinaryDecoder) throws { - self.length = try decoder.decode(UInt16.self).bigEndian - self.tag = try decoder.decode(UInt16.self).bigEndian + length = try decoder.decode(UInt16.self).bigEndian + tag = try decoder.decode(UInt16.self).bigEndian - if let type = TagType(rawValue: Int(self.tag)) + if let type = TagType(rawValue: Int(tag)) { - JLog.debug("SMATagPacket tagtype: \(type) \( String(format:"(0x%x == %d)",tag,tag) ) length:\(length) )") + JLog.debug("SMATagPacket tagtype: \(type) \(String(format: "(0x%x == %d)", tag, tag)) length:\(length) )") } else { - JLog.error("SMATagPacket tagtype:UNKNOWN \( String(format:"0x%x == %d",tag,tag) ) length:\(length) )") + JLog.error("SMATagPacket tagtype:UNKNOWN \(String(format: "0x%x == %d", tag, tag)) length:\(length) )") } - guard Int(length) <= decoder.countToEnd else { throw SMAPacket.SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") } - self.data = try decoder.decode(Data.self,length:Int(length)) + data = try decoder.decode(Data.self, length: Int(length)) } - var type:TagType { TagType(rawValue: Int(self.tag)) ?? .unknown } + var type: TagType { TagType(rawValue: Int(tag)) ?? .unknown } } - -extension SMAPacket:BinaryDecodable +extension SMAPacket: BinaryDecodable { - enum SMAPacketError: Swift.Error { + enum SMAPacketError: Swift.Error + { case notaSMAPacket(String) case prematureEndOfSMAContentData(String) } - public init(data:Data) throws + public init(data: Data) throws { let byteArray = [UInt8](data) let binaryDecoder = BinaryDecoder(data: byteArray) self = try binaryDecoder.decode(SMAPacket.self) } - public init(byteArray:[UInt8]) throws + public init(byteArray: [UInt8]) throws { let binaryDecoder = BinaryDecoder(data: byteArray) self = try binaryDecoder.decode(SMAPacket.self) @@ -87,71 +84,59 @@ extension SMAPacket:BinaryDecodable obisPackets = [ObisPacket]() smaNetPackets = [SMANetPacket]() - do - { - smaprefix = try decoder.decode(UInt32.self).bigEndian - } - catch - { - throw SMAPacketError.prematureEndOfSMAContentData("not long enough for SMA\\0 header") - } + do { smaprefix = try decoder.decode(UInt32.self).bigEndian } + catch { throw SMAPacketError.prematureEndOfSMAContentData("not long enough for SMA\\0 header") } - guard smaprefix == 0x534d4100 // == 'SMA\0' - else - { - throw SMAPacketError.notaSMAPacket("packet not sma packet - does not start with SMA\\0") - } + guard smaprefix == 0x534D_4100 // == 'SMA\0' + else { throw SMAPacketError.notaSMAPacket("packet not sma packet - does not start with SMA\\0") } JLog.debug("Valid SMA Prefix") - - var endPacketRead = false repeat { - let smaTagPacket = try SMATagPacket(fromBinary: decoder) - let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data) ) + let smaTagPacket = try SMATagPacket(fromBinary: decoder) + let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data)) - switch smaTagPacket.type - { - case .end: endPacketRead = true + switch smaTagPacket.type { case .end: endPacketRead = true - case .group: JLog.trace("tag0 :\(smaTagPacket)") - let groupnumber = try smaNetDecoder.decode(UInt32.self).bigEndian - JLog.trace("\(String(format:"groupnumber : 0x%08x d:%d",groupnumber,groupnumber))") - self.group = groupnumber + case .group: + JLog.trace("tag0 :\(smaTagPacket)") + let groupnumber = try smaNetDecoder.decode(UInt32.self).bigEndian + JLog.trace("\(String(format: "groupnumber : 0x%08x d:%d", groupnumber, groupnumber))") + group = groupnumber - case .net: if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian - { - JLog.debug("got protocol id:\(String(format:"0x%x",protocolid))") + case .net: + if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian + { + JLog.debug("got protocol id:\(String(format: "0x%x", protocolid))") - switch protocolid - { - case 0x6069: JLog.debug("recognizing ObisPacket") + switch protocolid { case 0x6069: + JLog.debug("recognizing ObisPacket") - let obisPacket = try ObisPacket.init(fromBinary: smaNetDecoder) - self.obisPackets.append(obisPacket) + let obisPacket = try ObisPacket(fromBinary: smaNetDecoder) + obisPackets.append(obisPacket) - case 0x6065: JLog.debug("recognizing SMANetPacket") + case 0x6065: + JLog.debug("recognizing SMANetPacket") - let smaNetPacket = try SMANetPacket.init(fromBinary: smaNetDecoder) - self.smaNetPackets.append(smaNetPacket) + let smaNetPacket = try SMANetPacket(fromBinary: smaNetDecoder) + smaNetPackets.append(smaNetPacket) - default: JLog.error("protocol unknown.") - } - } - else - { - JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") - } + default: JLog.error("protocol unknown.") + } + } + else + { + JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") + } - case .unknown: JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") + case .unknown: JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") } } while !decoder.isAtEnd && !endPacketRead - print("\npayload:\(self.json)") + print("\npayload:\(json)") } } - diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index 38863e4..8b00590 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -1,64 +1,69 @@ // // SMAObjectTests.swift -// +// // // Created by Patrick Stein on 27.06.22. // import XCTest + import class Foundation.Bundle -@testable import ArgumentParser -@testable import JLog @testable import BinaryCoder +@testable import JLog @testable import sma2mqttLibrary -final class SMAObjectTests: XCTestCase { - - override func setUpWithError() throws { +final class SMAObjectTests: XCTestCase +{ + override func setUpWithError() throws + { // Put setup code here. This method is called before the invocation of each test method in the class. } - override func tearDownWithError() throws { + override func tearDownWithError() throws + { // Put teardown code here. This method is called after the invocation of each test method in the class. } - func testSMADataObject() throws { - + func testSMADataObject() throws + { let dataObjects = SMADataObject.defaultDataObjects - - for (_,value) in dataObjects + for (_, value) in dataObjects { print("===") print(value.description) -// print(value.tagName) -// print(value.tagHierachy) -// print(value.unitName) -// print(value.eventName) -// print(value.description) + // print(value.tagName) + // print(value.tagHierachy) + // print(value.unitName) + // print(value.eventName) + // print(value.description) } } - - func testSMAInverter() async throws { let arguments = ProcessInfo.processInfo.arguments - var lastTestArgument:String? = nil - - var password = arguments.compactMap { guard lastTestArgument == "--password" else { lastTestArgument = $0 ; return nil } - return $0 - }.first ?? "0000" - - - let inverter = SMAInverter(address: "sunnyboy3.jinx.eu.",userright:.user, password: password); + var lastTestArgument: String? = nil + + let password = + arguments.compactMap + { + guard lastTestArgument == "--password" + else + { + lastTestArgument = $0 + return nil + } + return $0 + }.first ?? "0000" + + let inverter = SMAInverter(address: "sunnyboy3.jinx.eu.", userright: .user, password: password) let description = await inverter.description print("\(description)") await inverter.setupConnection() await inverter.values() - //try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) + // try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) } - } diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift index 5cab340..dd0cef9 100644 --- a/Tests/sma2mqttTests/TestHelpers.swift +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -1,39 +1,45 @@ // // File.swift -// +// // // Created by Patrick Stein on 13.06.22. // import XCTest + import class Foundation.Bundle -@testable import JLog @testable import BinaryCoder +@testable import JLog @testable import sma2mqttLibrary extension String { func hexStringToData() -> Data { - let stringWithoutSpaces = self.replacingOccurrences(of:" ", with:"") - .replacingOccurrences(of:"\n", with:"") - .replacingOccurrences(of:"\t", with:"") + let stringWithoutSpaces = self.replacingOccurrences(of: " ", with: "") + .replacingOccurrences(of: "\n", with: "") + .replacingOccurrences(of: "\t", with: "") let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) - .map{ stringWithoutSpaces[stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1)] } - .map{ UInt8($0, radix: 16)! } + .map + { + stringWithoutSpaces[ + stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1) + ] + } + .map { UInt8($0, radix: 16)! } return Data(uInt8Array) } } -struct DataSplitter:Sequence, IteratorProtocol +struct DataSplitter: Sequence, IteratorProtocol { - let data : Data - var index : Data.Index - let splitData:Data + let data: Data + var index: Data.Index + let splitData: Data - init(data: Data,splitData:Data) + init(data: Data, splitData: Data) { self.data = data self.splitData = splitData @@ -54,7 +60,7 @@ struct DataSplitter:Sequence, IteratorProtocol return nil } - let returnData = data[ (index-splitData.count) ..< data.endIndex] + let returnData = data[(index - splitData.count) ..< data.endIndex] index = data.endIndex return returnData } @@ -64,14 +70,15 @@ struct DataSplitter:Sequence, IteratorProtocol return next() } - let returnData = data[ (index-splitData.count) ..< range.startIndex] + let returnData = data[(index - splitData.count) ..< range.startIndex] index = range.endIndex return returnData } } -extension Data { +extension Data +{ func split(separator: Data) -> [Data] { var chunks: [Data] = [] @@ -82,7 +89,7 @@ extension Data { // Append if non-empty: if matchedRange.lowerBound > pos { - chunks.append(self[(pos - separator.count).. Date: Wed, 7 Jun 2023 06:59:51 +0200 Subject: [PATCH 36/81] Updated MQTTPublished to use dispatchqueue for multithreading issue, formatting code, chaning things to trace instead of debug for easier debugging. --- Package.swift | 16 ++++------ Sources/sma2mqtt/MQTTPublisher.swift | 14 ++++++-- Sources/sma2mqtt/SunnyHomeManager.swift | 21 ++++++------ Sources/sma2mqtt/sma2mqtt.swift | 9 ++++-- Sources/sma2mqttLibrary/ObisValue.swift | 10 +++--- Sources/sma2mqttLibrary/SMAInverter.swift | 32 ++++++++++--------- Sources/sma2mqttLibrary/SMANetPacket.swift | 4 ++- .../sma2mqttLibrary/SMANetPacketValue.swift | 8 +++-- Sources/sma2mqttLibrary/SMAPacket.swift | 10 ++++-- Tests/sma2mqttTests/SMAObjectTests.swift | 25 ++++----------- Tests/sma2mqttTests/TestHelpers.swift | 19 +++++++++++ 11 files changed, 98 insertions(+), 70 deletions(-) diff --git a/Package.swift b/Package.swift index cc9ed2e..f0219b9 100644 --- a/Package.swift +++ b/Package.swift @@ -18,14 +18,11 @@ let package = Package( dependencies: [ .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.51.11"), .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), - .package(url: "https://github.com/apple/swift-nio.git", from: "2.33.0"), - .package( - url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.7.1")), - // .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), - // .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), + .package(url: "https://github.com/apple/swift-nio.git", .upToNextMajor(from: "2.54.0")), + .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), +// .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), +// .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), - // .package(url: "/Users/jolly/Documents/GitHub/BinaryCoder", .revision("58feed3") ), - // .package(url: "/Users/jolly/Documents/GitHub/JLog", .revision("440b721") ), .package(url: "https://github.com/jollyjinx/JLog", from: "0.0.4"), ], targets: [ @@ -33,11 +30,11 @@ let package = Package( name: "sma2mqtt", dependencies: [ "sma2mqttLibrary", + .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "NIO", package: "swift-nio"), - .product(name: "ArgumentParser", package: "swift-argument-parser"), .product(name: "MQTTNIO", package: "mqtt-nio"), - // .product(name: "CocoaMQTT", package: "mqtt-nio"), +// .product(name: "CocoaMQTT", package: "mqtt-nio"), .product(name: "JLog", package: "JLog"), ] ), @@ -45,7 +42,6 @@ let package = Package( name: "sma2mqttLibrary", dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), - // .product(name: "Regex", package: "Regex") .product(name: "JLog", package: "JLog"), ], resources: [ diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index eead2c9..0bfcc68 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -15,7 +15,7 @@ actor MQTTPublisher let mqttClient: MQTTClient let emitInterval: Double let baseTopic: String - + let dispatchQueue = DispatchQueue(label: "mqttQueue") var lasttimeused = [String: Date]() init(hostname: String, port: Int, username: String? = nil, password _: String? = nil, emitInterval: Double = 1.0, baseTopic: String = "") async throws @@ -24,6 +24,7 @@ actor MQTTPublisher self.baseTopic = baseTopic mqttClient = MQTTClient(host: hostname, port: port, identifier: ProcessInfo().processName, eventLoopGroupProvider: .createNew, configuration: .init(userName: username, password: "")) + try await activateClient() } @@ -41,7 +42,14 @@ actor MQTTPublisher let byteBuffer = ByteBuffer(string: payload) - try await activateClient() - try await mqttClient.publish(to: topic, payload: byteBuffer, qos: qos, retain: retain) +// try await activateClient() + dispatchQueue.async + { + if !self.mqttClient.isActive() + { + self.mqttClient.connect() + } + self.mqttClient.publish(to: topic, payload: byteBuffer, qos: qos, retain: retain) + } } } diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index 03f112f..fc8191e 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -50,7 +50,7 @@ class SunnyHomeManager: SunnyHomeManagerDelegate defer { knownDevices[remoteAddress]?.lastSeen = Date() } guard knownDevices[remoteAddress] == nil else { return } - JLog.debug("remoteAddress:\(remoteAddress)") + JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") knownDevices[remoteAddress] = SMADevice(address: remoteAddress, password: password, bindAddress: bindAddress) } @@ -61,9 +61,8 @@ class SunnyHomeManager: SunnyHomeManagerDelegate { let packet = try await receiver.receiveNextPacket() - let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") - // print("Received packet from \(packet.sourceAddress)") - print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") + JLog.debug("Received packet from \(packet.sourceAddress)") +// JLog.debug("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") addRemote(remoteAddress: packet.sourceAddress) @@ -71,22 +70,22 @@ class SunnyHomeManager: SunnyHomeManagerDelegate { if let sma = try? SMAPacket(data: packet.data) { - // JLog.debug("Decoded from \(packet.sourceAddress)") - JLog.debug("Decoded from \(packet.sourceAddress): \(sma.json)") + JLog.debug("Decoded from \(packet.sourceAddress)") + JLog.trace("Decoded json:\(sma.json)") for obisvalue in sma.obis { if obisvalue.mqtt != .invisible { - // Task.detached - // { - // try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos:.atLeastOnce , retain:obisvalue.mqtt == .retained) - // } + Task.detached + { + try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) + } } // if jsonOutput // { // var obisvalue = obisvalue // obisvalue.includeTopicInJSON = true - // print("\(obisvalue.json)") + // JLog.debug("\(obisvalue.json)") // } } } diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 4d089d1..4bcd001 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -6,7 +6,7 @@ import Logging @main struct sma2mqtt: AsyncParsableCommand { #if DEBUG - @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "trace" + @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "debug" #else @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "notice" #endif @@ -49,12 +49,15 @@ import Logging JLog.loglevel = Logger.Level(rawValue: debug) ?? Logger.Level.notice let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) let multicastGroups = [ - "239.12.0.78", "239.12.1.105", // 10.112.16.166 + "239.12.0.78", + "239.12.1.105", // 10.112.16.166 "239.12.1.153", // 10.112.16.127 "239.12.1.55", // 10.112.16.166 "239.12.1.87", // 10.112.16.107 - "239.12.255.253", "239.12.255.254", "239.12.255.255", + "239.12.255.253", + "239.12.255.254", + "239.12.255.255", "239.192.0.0", // diff --git a/Sources/sma2mqttLibrary/ObisValue.swift b/Sources/sma2mqttLibrary/ObisValue.swift index 6d9614d..de870ff 100644 --- a/Sources/sma2mqttLibrary/ObisValue.swift +++ b/Sources/sma2mqttLibrary/ObisValue.swift @@ -71,7 +71,7 @@ extension ObisValue: BinaryDecodable { public init(fromBinary decoder: BinaryDecoder) throws { - JLog.debug("Decoding ObisValue") + JLog.trace("Decoding ObisValue") let a: UInt8 = try decoder.decode(UInt8.self) let b: UInt8 = try decoder.decode(UInt8.self) @@ -80,13 +80,15 @@ extension ObisValue: BinaryDecodable let id = "\(a != 0 ? a : 1):\(b).\(c).\(d)" - JLog.debug("Decoding Obis a':\(a) Id:\(id)") + JLog.trace("Decoding Obis a:\(a) Id:\(id)") let value: ObisType if let obisDefinition = ObisDefinition.obisDefinitions[id] { - switch obisDefinition.type { case .version: + switch obisDefinition.type + { + case .version: let intValue = try decoder.decode(Int32.self).bigEndian JLog.trace("name: \(obisDefinition.topic) value:\(String(format: "%08x", intValue))") value = .string("major:\(intValue >> 24) minor:\(intValue >> 16 & 0xFF) build:\(intValue >> 8 & 0xFF) revision:\(String(format: "%c", intValue & 0xFF))") @@ -117,7 +119,7 @@ extension ObisValue: BinaryDecodable JLog.error("Unknown Obis Id: \(id)") throw BinaryDecoder.Error.typeNotConformingToBinaryDecodable(ObisValue.self) } - JLog.debug("Decoded corretly \(id) \(value)") + JLog.trace("Decoded corretly \(id) \(value)") self.id = id self.value = value diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMAInverter.swift index 6637f65..68e4fd7 100644 --- a/Sources/sma2mqttLibrary/SMAInverter.swift +++ b/Sources/sma2mqttLibrary/SMAInverter.swift @@ -46,21 +46,21 @@ struct GetValuesResult: Decodable if let intValue = try? container.decode(Int.self, forKey: CodingKeys.val) { self = Value.intValue(intValue) - print("int:\(intValue)") + JLog.debug("int:\(intValue)") return } if let stringValue = try? container.decode(String.self, forKey: CodingKeys.val) { self = Value.stringValue(stringValue) - print("str:\(stringValue)") + JLog.debug("str:\(stringValue)") return } if let tagArray = try? container.decode([[String: Int?]].self, forKey: CodingKeys.val) { - print("tagArray:\(tagArray)") + JLog.debug("tagArray:\(tagArray)") let tags = tagArray.map { $0["tag"] ?? nil } self = Value.tagValues(tags) - print("tags:\(tags)") + JLog.debug("tags:\(tags)") return } _ = try container.decodeNil(forKey: CodingKeys.val) @@ -277,10 +277,10 @@ public actor SMAInverter if let (data, _) = try? await session.data(for: request, delegate: sessionTaskDelegate), let json = try? decoder.decode([String: [String: String]].self, from: data), let sid = json["result"]?["sid"] { - print(json) + JLog.debug("\(json.description)") let loginUrl2 = URL(string: "\(scheme)://\(address)/dyn/getAllOnlValues.json?sid=\(sid)")! - print(loginUrl2) + JLog.debug("\(loginUrl2)") let params2 = ["destDev": [String]()] as [String: [String]] var request2 = URLRequest(url: loginUrl2) @@ -294,21 +294,21 @@ public actor SMAInverter if let (data, _) = try? await session.data(for: request2) { let string = String(data: data, encoding: .utf8) - print("Got:\(string)") - print("data:\(data.toHexString())") + JLog.debug("Got:\(string)") + JLog.debug("data:\(data.toHexString())") let decoder = JSONDecoder() if let getValuesResult = try? decoder.decode(GetValuesResult.self, from: data) { - print("values:\(getValuesResult)") + JLog.debug("values:\(getValuesResult)") for inverter in getValuesResult.result { - print("inverter:\(inverter.key)") + JLog.debug("inverter:\(inverter.key)") for value in inverter.value { - print("objectid:\(value.key)") + JLog.debug("objectid:\(value.key)") let smaDataObjects = await smaDataObjects let translations = await translations @@ -316,14 +316,16 @@ public actor SMAInverter // if let smaobject = smaDataObjects[value.key] // { - // print("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") + // JLog.debug("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") // } let values = value.value.values for (number, singlevalue) in values.enumerated() { - switch singlevalue { case let .intValue(value): print("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") case let .stringValue(value): - print("\(number).stringValue:\(value)") - case let .tagValues(values): print("\(number).tags:\(translate(translations: translations, tags: values))") + switch singlevalue + { + case let .intValue(value): JLog.debug("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") + case let .stringValue(value): JLog.debug("\(number).stringValue:\(value)") + case let .tagValues(values): JLog.debug("\(number).tags:\(translate(translations: translations, tags: values))") } } } diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 0b2e046..1e40b28 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -40,7 +40,9 @@ extension SMANetPacket: BinaryDecodable let valuesize: Int - switch header.valuestype { case 0x01, 0x04: + switch header.valuestype + { + case 0x01, 0x04: guard decoder.countToEnd >= 4 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) valuesheader.append(startvalue) diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMANetPacketValue.swift index 74af9b4..b02d997 100644 --- a/Sources/sma2mqttLibrary/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMANetPacketValue.swift @@ -69,7 +69,9 @@ extension SMANetPacketValue: Encodable let factor = packetDefinition.factor let hasFactor = packetDefinition.factor != nil && packetDefinition.factor! != 0 && packetDefinition.factor! != 1 - switch value { case let .uint(values): + switch value + { + case let .uint(values): let toEncode = values.map { $0 == .max ? nil : (hasFactor ? Decimal($0) / factor! : Decimal($0)) } try container.encode(toEncode, forKey: CodingKeys.value) @@ -100,7 +102,9 @@ extension SMANetPacketValue: BinaryDecodable let valuetype = ValueType(rawValue: type) ?? .unknown - switch valuetype { case .uint: + switch valuetype + { + case .uint: var values = [UInt32]() while !decoder.isAtEnd { diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index a0ccc91..a6ab677 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -99,7 +99,9 @@ extension SMAPacket: BinaryDecodable let smaTagPacket = try SMATagPacket(fromBinary: decoder) let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data)) - switch smaTagPacket.type { case .end: endPacketRead = true + switch smaTagPacket.type + { + case .end: endPacketRead = true case .group: JLog.trace("tag0 :\(smaTagPacket)") @@ -112,7 +114,9 @@ extension SMAPacket: BinaryDecodable { JLog.debug("got protocol id:\(String(format: "0x%x", protocolid))") - switch protocolid { case 0x6069: + switch protocolid + { + case 0x6069: JLog.debug("recognizing ObisPacket") let obisPacket = try ObisPacket(fromBinary: smaNetDecoder) @@ -137,6 +141,6 @@ extension SMAPacket: BinaryDecodable } while !decoder.isAtEnd && !endPacketRead - print("\npayload:\(json)") + JLog.trace("\npayload:\(json)") } } diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index 8b00590..561cb20 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -15,9 +15,13 @@ import class Foundation.Bundle final class SMAObjectTests: XCTestCase { + var inverterAddress = "sunnyboy" + var inverterPassword = "0000" + override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. + inverterPassword = ProcessInfo.processInfo.value(forArgument: "--inverter-password") ?? "0000" + inverterAddress = ProcessInfo.processInfo.value(forArgument: "--inverter-address") ?? "sunnyboy" } override func tearDownWithError() throws @@ -43,27 +47,12 @@ final class SMAObjectTests: XCTestCase func testSMAInverter() async throws { - let arguments = ProcessInfo.processInfo.arguments - - var lastTestArgument: String? = nil - - let password = - arguments.compactMap - { - guard lastTestArgument == "--password" - else - { - lastTestArgument = $0 - return nil - } - return $0 - }.first ?? "0000" - - let inverter = SMAInverter(address: "sunnyboy3.jinx.eu.", userright: .user, password: password) + let inverter = SMAInverter(address: inverterAddress, userright: .user, password: inverterPassword) let description = await inverter.description print("\(description)") await inverter.setupConnection() await inverter.values() + // try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) } } diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift index dd0cef9..3845e7d 100644 --- a/Tests/sma2mqttTests/TestHelpers.swift +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -102,3 +102,22 @@ extension Data return chunks } } + +extension ProcessInfo +{ + func value(forArgument argument: String) -> String? + { + var lastTestArgument: String? + + return arguments.compactMap + { + guard lastTestArgument == argument + else + { + lastTestArgument = $0 + return nil + } + return $0 + }.first + } +} From 0ea6d5041ec541939a7545beccd586fab082f6df Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 7 Jun 2023 12:46:15 +0200 Subject: [PATCH 37/81] warn about unknown sma packet types. --- Sources/sma2mqttLibrary/SMAPacket.swift | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index a6ab677..a9eaac1 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -16,6 +16,12 @@ public struct SMAPacket: Encodable, Decodable public var obis: [ObisValue] { obisPackets.first?.obisvalues ?? [] } } +enum SMAPacketType: UInt16 +{ + case obisPacket = 0x6069 + case netPacket = 0x6065 +} + private struct SMATagPacket { let length: UInt16 @@ -110,25 +116,24 @@ extension SMAPacket: BinaryDecodable group = groupnumber case .net: - if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian + if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian, + let packetType = SMAPacketType(rawValue: protocolid) { - JLog.debug("got protocol id:\(String(format: "0x%x", protocolid))") + JLog.debug("got packetType:\(packetType)") - switch protocolid + switch packetType { - case 0x6069: + case .obisPacket: JLog.debug("recognizing ObisPacket") let obisPacket = try ObisPacket(fromBinary: smaNetDecoder) obisPackets.append(obisPacket) - case 0x6065: + case .netPacket: JLog.debug("recognizing SMANetPacket") let smaNetPacket = try SMANetPacket(fromBinary: smaNetDecoder) smaNetPackets.append(smaNetPacket) - - default: JLog.error("protocol unknown.") } } else From 02c046905b8eb21f31e89debc4eccc187c9a77b9 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 7 Jun 2023 19:23:43 +0200 Subject: [PATCH 38/81] Moved everythin that gets send in NIO to different DispatchQueue to prevent Racecondition. --- Package.swift | 3 --- Sources/sma2mqtt/MQTTPublisher.swift | 17 +++++++---------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/Package.swift b/Package.swift index f0219b9..545812d 100644 --- a/Package.swift +++ b/Package.swift @@ -20,8 +20,6 @@ let package = Package( .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/apple/swift-nio.git", .upToNextMajor(from: "2.54.0")), .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), -// .package(url: "https://github.com/crossroadlabs/Regex.git", .upToNextMajor(from: "1.2.0")), -// .package(url: "https://github.com/emqx/CocoaMQTT", .upToNextMajor(from: "1.0.8")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), .package(url: "https://github.com/jollyjinx/JLog", from: "0.0.4"), ], @@ -34,7 +32,6 @@ let package = Package( .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "NIO", package: "swift-nio"), .product(name: "MQTTNIO", package: "mqtt-nio"), -// .product(name: "CocoaMQTT", package: "mqtt-nio"), .product(name: "JLog", package: "JLog"), ] ), diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index 0bfcc68..6af2a5e 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -15,7 +15,7 @@ actor MQTTPublisher let mqttClient: MQTTClient let emitInterval: Double let baseTopic: String - let dispatchQueue = DispatchQueue(label: "mqttQueue") + let mqttQueue = DispatchQueue(label: "mqttQueue") var lasttimeused = [String: Date]() init(hostname: String, port: Int, username: String? = nil, password _: String? = nil, emitInterval: Double = 1.0, baseTopic: String = "") async throws @@ -25,11 +25,9 @@ actor MQTTPublisher mqttClient = MQTTClient(host: hostname, port: port, identifier: ProcessInfo().processName, eventLoopGroupProvider: .createNew, configuration: .init(userName: username, password: "")) - try await activateClient() + mqttQueue.async { _ = self.mqttClient.connect() } } - private func activateClient() async throws { if !mqttClient.isActive() { try await mqttClient.connect() } } - func publish(to topic: String, payload: String, qos: MQTTQoS, retain: Bool) async throws { let topic = "\(baseTopic)/\(topic)" @@ -40,16 +38,15 @@ actor MQTTPublisher guard timenow.timeIntervalSince(lasttime) > emitInterval else { return } lasttimeused[topic] = timenow - let byteBuffer = ByteBuffer(string: payload) - -// try await activateClient() - dispatchQueue.async + mqttQueue.async { + let byteBuffer = ByteBuffer(string: payload) + if !self.mqttClient.isActive() { - self.mqttClient.connect() + _ = self.mqttClient.connect() } - self.mqttClient.publish(to: topic, payload: byteBuffer, qos: qos, retain: retain) + _ = self.mqttClient.publish(to: topic, payload: byteBuffer, qos: qos, retain: retain) } } } From 13f3fd9fc491b1599c5d56f4d1226f0858a7dd6c Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 9 Jun 2023 06:03:01 +0200 Subject: [PATCH 39/81] Rewrite to use AnsyncHTTPClient to support TLS on linux. --- Package.swift | 4 + Sources/sma2mqtt/MQTTPublisher.swift | 2 +- Sources/sma2mqtt/MutlicastReceiver.swift | 74 ++++++- Sources/sma2mqtt/SunnyHomeManager.swift | 44 ++-- Sources/sma2mqtt/sma2mqtt.swift | 48 ++-- Sources/sma2mqttLibrary/SMAInverter.swift | 241 ++++++++++----------- Sources/sma2mqttLibrary/SMANetPacket.swift | 1 - Sources/sma2mqttLibrary/SMAPacket.swift | 3 +- 8 files changed, 236 insertions(+), 181 deletions(-) diff --git a/Package.swift b/Package.swift index 545812d..208f5df 100644 --- a/Package.swift +++ b/Package.swift @@ -19,6 +19,8 @@ let package = Package( .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.51.11"), .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/apple/swift-nio.git", .upToNextMajor(from: "2.54.0")), + .package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.14.1"), +.package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), .package(url: "https://github.com/jollyjinx/JLog", from: "0.0.4"), @@ -39,6 +41,8 @@ let package = Package( name: "sma2mqttLibrary", dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), + .product(name: "NIOSSL", package: "swift-nio-ssl"), + .product(name: "AsyncHTTPClient", package: "async-http-client"), .product(name: "JLog", package: "JLog"), ], resources: [ diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqtt/MQTTPublisher.swift index 6af2a5e..a7c263e 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqtt/MQTTPublisher.swift @@ -23,7 +23,7 @@ actor MQTTPublisher self.emitInterval = emitInterval self.baseTopic = baseTopic - mqttClient = MQTTClient(host: hostname, port: port, identifier: ProcessInfo().processName, eventLoopGroupProvider: .createNew, configuration: .init(userName: username, password: "")) + mqttClient = MQTTClient(host: hostname, port: port, identifier: ProcessInfo.processInfo.processName, eventLoopGroupProvider: .createNew, configuration: .init(userName: username, password: "")) mqttQueue.async { _ = self.mqttClient.connect() } } diff --git a/Sources/sma2mqtt/MutlicastReceiver.swift b/Sources/sma2mqtt/MutlicastReceiver.swift index 71dd257..e5b183b 100644 --- a/Sources/sma2mqtt/MutlicastReceiver.swift +++ b/Sources/sma2mqtt/MutlicastReceiver.swift @@ -3,8 +3,10 @@ import JLog #if os(Linux) import Glibc + let SOCK_DGRAM_VALUE = Int32(SOCK_DGRAM.rawValue) #else import Darwin + let SOCK_DGRAM_VALUE = SOCK_DGRAM #endif struct Packet @@ -16,7 +18,9 @@ struct Packet enum MulticastReceiverError: Error { case socketCreationFailed(Int32) - case socketOptionsSettingFailed(Int32) + case socketOptionReuseAddressFailed(Int32) + case socketOptionBroadcastFailed(Int32) + case socketOptionPreventMulticastLoopbackFailed(Int32) case socketBindingFailed(Int32) case multicastJoinFailed(Int32) case receiveError(Int32) @@ -32,14 +36,12 @@ actor MulticastReceiver private var bufferSize: Int = 0 private var isListening: Bool = true - init(groups: [String], listenAddress: String, listenPort: UInt16, bufferSize: Int = 65536) throws + init(groups: [String], bindAddress: String, listenPort: UInt16, bufferSize: Int = 65536) throws { self.bufferSize = bufferSize receiveBuffer = UnsafeMutablePointer.allocate(capacity: bufferSize) - JLog.debug("Started listening on \(listenAddress)") - - let socketFileDescriptor = socket(AF_INET, SOCK_DGRAM, 0) // IPPROTO_UDP) // 0 , IPPROTO_MTP + let socketFileDescriptor = socket(AF_INET, SOCK_DGRAM_VALUE, 0) // IPPROTO_UDP) // 0 , IPPROTO_MTP self.socketFileDescriptor = socketFileDescriptor guard socketFileDescriptor != -1 else { throw MulticastReceiverError.socketCreationFailed(errno) } @@ -47,20 +49,47 @@ actor MulticastReceiver guard setsockopt(socketFileDescriptor, SOL_SOCKET, SO_REUSEADDR, &reuseAddress, socklen_t(MemoryLayout.size)) != -1 else { - throw MulticastReceiverError.socketOptionsSettingFailed(errno) + throw MulticastReceiverError.socketOptionReuseAddressFailed(errno) + } + + var enableBroadcast: Int32 = 1 + guard setsockopt(socketFileDescriptor, SOL_SOCKET, SO_BROADCAST, &enableBroadcast, socklen_t(MemoryLayout.size)) != -1 + else + { + throw MulticastReceiverError.socketOptionBroadcastFailed(errno) + } + + var preventReceivingOwnPacket: Int32 = 0 + guard setsockopt(socketFileDescriptor, Int32(IPPROTO_IP), IP_MULTICAST_LOOP, &preventReceivingOwnPacket, socklen_t(MemoryLayout.size)) != -1 + else + { + throw MulticastReceiverError.socketOptionPreventMulticastLoopbackFailed(errno) } var socketAddress = sockaddr_in() socketAddress.sin_family = sa_family_t(AF_INET) socketAddress.sin_port = listenPort.bigEndian - socketAddress.sin_addr.s_addr = INADDR_ANY // inet_addr(listenAddress) // INADDR_ANY + socketAddress.sin_addr.s_addr = inet_addr(bindAddress) // INADDR_ANY +// socketAddress.sin_addr.s_addr = INADDR_ANY // INADDR_ANY - guard bind(socketFileDescriptor, sockaddr_cast(&socketAddress), socklen_t(MemoryLayout.size)) != -1 else { throw MulticastReceiverError.socketBindingFailed(errno) } + guard bind(socketFileDescriptor, sockaddr_cast(&socketAddress), socklen_t(MemoryLayout.size)) != -1 + else + { + throw MulticastReceiverError.socketBindingFailed(errno) + } + + JLog.debug("Started listening on \(bindAddress)") for group in groups { - var multicastRequest = ip_mreq(imr_multiaddr: in_addr(s_addr: inet_addr(group)), imr_interface: in_addr(s_addr: inet_addr(listenAddress))) // INADDR_ANY)) // - guard setsockopt(socketFileDescriptor, IPPROTO_IP, IP_ADD_MEMBERSHIP, &multicastRequest, socklen_t(MemoryLayout.size)) != -1 + var multicastRequest = ip_mreq() + multicastRequest.imr_multiaddr.s_addr = inet_addr(group) + multicastRequest.imr_interface.s_addr = inet_addr(bindAddress) +// multicastRequest.imr_interface.s_addr = INADDR_ANY + +// var multicastRequest = ip_mreq(imr_multiaddr: in_addr(s_addr: inet_addr(group)), imr_interface: in_addr(s_addr: INADDR_ANY)) // INADDR_ANY)) // +// var multicastRequest = ip_mreq(imr_multiaddr: in_addr(s_addr: inet_addr(group)), imr_interface: in_addr(s_addr: inet_addr(bindAddress))) // INADDR_ANY)) // + guard setsockopt(socketFileDescriptor, Int32(IPPROTO_IP), IP_ADD_MEMBERSHIP, &multicastRequest, socklen_t(MemoryLayout.size)) != -1 else { throw MulticastReceiverError.multicastJoinFailed(errno) @@ -120,6 +149,31 @@ actor MulticastReceiver return Packet(data: Data(bytes: receiveBuffer!, count: bytesRead), sourceAddress: String(cString: addrString)) } + + func sendPacket(data: [UInt8], address: String, port: UInt16) + { + var destinationAddress = sockaddr_in() + + destinationAddress.sin_family = sa_family_t(AF_INET) + destinationAddress.sin_port = port.bigEndian + destinationAddress.sin_addr.s_addr = inet_addr(address) + + let genericPointer = withUnsafePointer(to: &destinationAddress) + { + UnsafeRawPointer($0).assumingMemoryBound(to: sockaddr.self) + } + + let sent = sendto(socketFileDescriptor, data, data.count, 0, genericPointer, socklen_t(MemoryLayout.size)) + + if sent < 0 + { + JLog.error("Could not sent Packet") + } + else + { + JLog.debug("Sent Packet successfull to:\(address):\(port) sent:\(sent) == \(data.count)") + } + } } // func main() async { diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift index fc8191e..5dd89b9 100644 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ b/Sources/sma2mqtt/SunnyHomeManager.swift @@ -16,10 +16,14 @@ class SunnyHomeManager: SunnyHomeManagerDelegate let password: String let bindAddress: String let mqttPublisher: MQTTPublisher + let jsonOutput: Bool let receiver: MulticastReceiver var knownDevices = [String: SMADevice]() + var lastDiscoveryRequestDate = Date.distantPast + let disoveryRequestInterval = 10.0 + struct SMADevice { let address: String @@ -29,19 +33,20 @@ class SunnyHomeManager: SunnyHomeManagerDelegate init(address: String, userright: SMAInverter.UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") { self.address = address - let inverter = SMAInverter(address: address, userright: userright, password: password, bindAddress: bindAddress) + let inverter = SMAInverter(address: address, userright: userright, password: password) self.inverter = inverter Task { await inverter.values() } } } - init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000") async throws + init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws { self.password = password self.bindAddress = bindAddress self.mqttPublisher = mqttPublisher - receiver = try MulticastReceiver(groups: multicastAddresses, listenAddress: bindAddress, listenPort: multicastPort) + self.jsonOutput = jsonOutput + receiver = try MulticastReceiver(groups: multicastAddresses, bindAddress: bindAddress, listenPort: multicastPort) await receiver.startListening() } @@ -57,8 +62,22 @@ class SunnyHomeManager: SunnyHomeManagerDelegate func shutdown() async throws { await receiver.shutdown() } + func sendDiscoveryPacketIfNeeded() async + { + guard Date().timeIntervalSince(lastDiscoveryRequestDate) > disoveryRequestInterval else { return } + + let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] + let address = "239.12.255.254" + let port: UInt16 = 9522 + + await receiver.sendPacket(data: data, address: address, port: port) + lastDiscoveryRequestDate = Date() + } + func receiveNext() async throws { + await sendDiscoveryPacketIfNeeded() + let packet = try await receiver.receiveNextPacket() JLog.debug("Received packet from \(packet.sourceAddress)") @@ -77,16 +96,15 @@ class SunnyHomeManager: SunnyHomeManagerDelegate { if obisvalue.mqtt != .invisible { - Task.detached - { - try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) - } - } // if jsonOutput - // { - // var obisvalue = obisvalue - // obisvalue.includeTopicInJSON = true - // JLog.debug("\(obisvalue.json)") - // } + try? await mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) + } + + if jsonOutput + { + var obisvalue = obisvalue + obisvalue.includeTopicInJSON = true + print("\(obisvalue.json)") + } } } else diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 4bcd001..1e858de 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -29,13 +29,9 @@ import Logging @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "sma/sunnymanager" #endif - #if DEBUG - @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "10.112.16.115" - #else - @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "0.0.0.0" - #endif + @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "0.0.0.0" - @Option(name: .long, help: "Multicast Binding Listening Port number.") var bindPort: UInt16 = 0 + @Option(name: .long, help: "Multicast Binding Listening Port number.") var bindPort: UInt16 = 9522 @Option(name: .long, help: "Multicast Group Address.") var mcastAddress: String = "239.12.255.254" @@ -49,21 +45,20 @@ import Logging JLog.loglevel = Logger.Level(rawValue: debug) ?? Logger.Level.notice let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) let multicastGroups = [ - "239.12.0.78", - "239.12.1.105", // 10.112.16.166 - "239.12.1.153", // 10.112.16.127 - "239.12.1.55", // 10.112.16.166 - "239.12.1.87", // 10.112.16.107 - - "239.12.255.253", + // "239.12.0.78", +// "239.12.1.105", +// "239.12.1.153", +// "239.12.1.55", +// "239.12.1.87", + +// "239.12.255.252", +// "239.12.255.253", "239.12.255.254", - "239.12.255.255", - - "239.192.0.0", // - - "224.0.0.251", // 10.112.16.195 - - // "239.192.0.0", // +// "239.12.255.255", +// +// "239.192.0.0", // +// +// "224.0.0.251", // 10.112.16.195 ] let sunnyHome = try await SunnyHomeManager(mqttPublisher: mqttPublisher, @@ -71,19 +66,10 @@ import Logging multicastPort: mcastPort, bindAddress: bindAddress, bindPort: bindPort, - password: inverterPassword) + password: inverterPassword, + jsonOutput: json) sunnyHomeManagers.append(sunnyHome) while true { try await sunnyHome.receiveNext() } - // for multicastGroup in multicastGroups - // { - // let sunnyHome = try SunnyHomeManager(mqttPublisher:mqttPublisher,multicastAddress:multicastGroup, multicastPort: Int(mcastPort), bindAddress:bindAddress,bindPort:Int(bindPort)) - // sunnyHomeManagers.append(sunnyHome) - // } - - // dispatchMain() - try await Task.sleep(nanoseconds: UInt64(Int64.max - 10)) // try await sunnyHome.shutdown() - // - // } } diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMAInverter.swift index 68e4fd7..7bb544e 100644 --- a/Sources/sma2mqttLibrary/SMAInverter.swift +++ b/Sources/sma2mqttLibrary/SMAInverter.swift @@ -6,28 +6,9 @@ // import Foundation +import AsyncHTTPClient import JLog - -final class IgnoreCertificateDelegate: NSObject, URLSessionDelegate, @unchecked Sendable -{ - public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) - { - // Trust the certificate even if not valid - let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) - - completionHandler(.useCredential, urlCredential) - } -} - -final class InverterURLSessionTaskDelegate: NSObject, URLSessionTaskDelegate, Sendable -{ - func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge) async -> (URLSession.AuthChallengeDisposition, URLCredential?) - { - let urlCredential = URLCredential(trust: challenge.protectionSpace.serverTrust!) - - return (.useCredential, urlCredential) - } -} +import NIOSSL struct GetValuesResult: Decodable { @@ -102,19 +83,10 @@ public actor SMAInverter let address: String let userright: UserRight let password: String - let bindAddress: String + var loggedIn: Bool = false var scheme: String = "https" - let certificateDelegate = IgnoreCertificateDelegate() - let sessionTaskDelegate = InverterURLSessionTaskDelegate() - var session: URLSession - { - let config = URLSessionConfiguration.default - config.waitsForConnectivity = true - config.timeoutIntervalForResource = 1 - - return URLSession(configuration: config, delegate: certificateDelegate, delegateQueue: nil) - } + let httpClient: HTTPClient public enum UserRight: String { @@ -122,12 +94,15 @@ public actor SMAInverter case installer = "istl" } - public init(address: String, userright: UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") + public init(address: String, userright: UserRight = .user, password: String = "00000") { self.address = address self.userright = userright self.password = password - self.bindAddress = bindAddress + + var tlsConfiguration = TLSConfiguration.makeClientConfiguration() + tlsConfiguration.certificateVerification = .none + httpClient = HTTPClient(eventLoopGroupProvider: .createNew,configuration: .init(tlsConfiguration: tlsConfiguration)) } public func setupConnection() async { await _setupConnection() } @@ -149,10 +124,16 @@ public actor SMAInverter SCHEME_TEST: for scheme in ["https", "http"] { - if let url = URL(string: "\(scheme)://\(address)/"), let (_, response) = try? await session.data(for: URLRequest(url: url)), let httpResponse = response as? HTTPURLResponse, - httpResponse.statusCode == 200 + if let url = URL(string: "\(scheme)://\(address)/") { - return scheme + let request = HTTPClientRequest(url: url.absoluteString) + + if let response = try? await httpClient.execute(request,timeout: .seconds(10)), + response.status == .ok + { + JLog.debug("url:\(url) got response: \(response)") + return scheme + } } } JLog.error("no valid scheme found for \(address) - using http") @@ -167,25 +148,38 @@ public actor SMAInverter func data(forPath path: String) async throws -> Data { - guard let url = URL(string: "\(scheme ?? "https")://\(address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw InverterError.invalidURLError } + guard let url = URL(string: "\(scheme ?? "https")://\(address)\(path.hasPrefix("/") ? path : "/" + path)") + else { throw InverterError.invalidURLError } + +// let request = HTTPClientRequest(url: "https://apple.com/") +// let response = try await httpClient.execute(request, timeout: .seconds(30)) +// print("HTTP head", response) +// if response.status == .ok +// { +// let body = try await response.body.collect(upTo: 1024 * 1024) // 1 MB +// // handle body +// } else { +// // handle remote error +// } + do { - var request = URLRequest(url: url) - request.httpMethod = "GET" + let request = HTTPClientRequest(url: url.absoluteString) + let response = try await httpClient.execute(request,timeout: .seconds(10)) + JLog.debug("url:\(url) got response: \(response)") - // let loginString = "\(self.userright.rawValue):\(self.password)" - // if let loginData = loginString.data(using: String.Encoding.utf8) - // { - // let base64LoginString = loginData.base64EncodedString() - // - // request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization") - // } - // + if response.status == .ok + { + let body = try await response.body.collect(upTo: 5 * 1024 * 1024) // 5 MB + let bytes = body.readableBytesView - let (data, response) = try await session.data(for: request) + return Data(bytes) + } - if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 { return data } +// let (data, response) = try await session.data(for: request) +// +// if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 { return data } throw InverterError.invalidHTTPResponseError } catch @@ -227,8 +221,7 @@ public actor SMAInverter if let jsonData = try? await data(forPath: "/data/l10n/en-US.json"), let translations = try? JSONDecoder().decode([String: String?].self, from: jsonData) { - _translations = Dictionary( - uniqueKeysWithValues: translations.compactMap + _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } guard let stringvalue = $1 else { return nil } @@ -263,78 +256,78 @@ public actor SMAInverter // guard let scheme = self.scheme else { return } - let loginUrl = URL(string: "\(scheme)://\(address)/dyn/login.json")! - - let params = ["right": userright.rawValue, "pass": password] as [String: String] - - var request = URLRequest(url: loginUrl) - request.httpMethod = "POST" - request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) - request.addValue("application/json", forHTTPHeaderField: "Content-Type") - - let decoder = JSONDecoder() - - if let (data, _) = try? await session.data(for: request, delegate: sessionTaskDelegate), let json = try? decoder.decode([String: [String: String]].self, from: data), - let sid = json["result"]?["sid"] - { - JLog.debug("\(json.description)") - - let loginUrl2 = URL(string: "\(scheme)://\(address)/dyn/getAllOnlValues.json?sid=\(sid)")! - JLog.debug("\(loginUrl2)") - let params2 = ["destDev": [String]()] as [String: [String]] - - var request2 = URLRequest(url: loginUrl2) - request2.httpMethod = "POST" - request2.httpBody = try! JSONSerialization.data(withJSONObject: params2, options: []) - // request2.httpBody = """ - // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} - // """.data(using: .utf8) - request2.addValue("application/json", forHTTPHeaderField: "Content-Type") - - if let (data, _) = try? await session.data(for: request2) - { - let string = String(data: data, encoding: .utf8) - JLog.debug("Got:\(string)") - JLog.debug("data:\(data.toHexString())") - - let decoder = JSONDecoder() - if let getValuesResult = try? decoder.decode(GetValuesResult.self, from: data) - { - JLog.debug("values:\(getValuesResult)") - - for inverter in getValuesResult.result - { - JLog.debug("inverter:\(inverter.key)") - - for value in inverter.value - { - JLog.debug("objectid:\(value.key)") - let smaDataObjects = await smaDataObjects - let translations = await translations - - let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) - - // if let smaobject = smaDataObjects[value.key] - // { - // JLog.debug("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") - // } - let values = value.value.values - for (number, singlevalue) in values.enumerated() - { - switch singlevalue - { - case let .intValue(value): JLog.debug("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") - case let .stringValue(value): JLog.debug("\(number).stringValue:\(value)") - case let .tagValues(values): JLog.debug("\(number).tags:\(translate(translations: translations, tags: values))") - } - } - } - } - } - } - - if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } - } +// let loginUrl = URL(string: "\(scheme)://\(address)/dyn/login.json")! +// +// let params = ["right": userright.rawValue, "pass": password] as [String: String] +// +// var request = URLRequest(url: loginUrl) +// request.httpMethod = "POST" +// request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) +// request.addValue("application/json", forHTTPHeaderField: "Content-Type") +// +// let decoder = JSONDecoder() +// +// if let (data, _) = try? await session.data(for: request, delegate: sessionTaskDelegate), let json = try? decoder.decode([String: [String: String]].self, from: data), +// let sid = json["result"]?["sid"] +// { +// JLog.debug("\(json.description)") +// +// let loginUrl2 = URL(string: "\(scheme)://\(address)/dyn/getAllOnlValues.json?sid=\(sid)")! +// JLog.debug("\(loginUrl2)") +// let params2 = ["destDev": [String]()] as [String: [String]] +// +// var request2 = URLRequest(url: loginUrl2) +// request2.httpMethod = "POST" +// request2.httpBody = try! JSONSerialization.data(withJSONObject: params2, options: []) +// // request2.httpBody = """ +// // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} +// // """.data(using: .utf8) +// request2.addValue("application/json", forHTTPHeaderField: "Content-Type") +// +// if let (data, _) = try? await session.data(for: request2) +// { +// let string = String(data: data, encoding: .utf8) +// JLog.debug("Got:\(string)") +// JLog.debug("data:\(data.toHexString())") +// +// let decoder = JSONDecoder() +// if let getValuesResult = try? decoder.decode(GetValuesResult.self, from: data) +// { +// JLog.debug("values:\(getValuesResult)") +// +// for inverter in getValuesResult.result +// { +// JLog.debug("inverter:\(inverter.key)") +// +// for value in inverter.value +// { +// JLog.debug("objectid:\(value.key)") +// let smaDataObjects = await smaDataObjects +// let translations = await translations +// +// let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) +// +// // if let smaobject = smaDataObjects[value.key] +// // { +// // JLog.debug("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") +// // } +// let values = value.value.values +// for (number, singlevalue) in values.enumerated() +// { +// switch singlevalue +// { +// case let .intValue(value): JLog.debug("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") +// case let .stringValue(value): JLog.debug("\(number).stringValue:\(value)") +// case let .tagValues(values): JLog.debug("\(number).tags:\(translate(translations: translations, tags: values))") +// } +// } +// } +// } +// } +// } +// +// if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } +// } } var description: String diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMANetPacket.swift index 1e40b28..dc10572 100644 --- a/Sources/sma2mqttLibrary/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMANetPacket.swift @@ -4,7 +4,6 @@ // // Created by Patrick Stein on 01.06.2022. // -import AppKit import BinaryCoder import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket.swift index a9eaac1..8504afc 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket.swift @@ -141,7 +141,8 @@ extension SMAPacket: BinaryDecodable JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") } - case .unknown: JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") + case .unknown: + JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") } } while !decoder.isAtEnd && !endPacketRead From bff31d06cc75774c3ca7a155d37da4214cc534a2 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 10 Jun 2023 06:11:13 +0200 Subject: [PATCH 40/81] code refactoring SunnyHomeManager->SMALighthouse SMAInverter->SMADevice, fixed recvfrom blocking call in continuation --- Sources/sma2mqtt/MutlicastReceiver.swift | 47 ++++--- Sources/sma2mqtt/SMALighthouse.swift | 120 ++++++++++++++++++ Sources/sma2mqtt/SunnyHomeManager.swift | 116 ----------------- Sources/sma2mqtt/sma2mqtt.swift | 16 +-- .../{SMAInverter.swift => SMADevice.swift} | 57 ++++++--- Tests/sma2mqttTests/SMAObjectTests.swift | 10 +- 6 files changed, 197 insertions(+), 169 deletions(-) create mode 100644 Sources/sma2mqtt/SMALighthouse.swift delete mode 100644 Sources/sma2mqtt/SunnyHomeManager.swift rename Sources/sma2mqttLibrary/{SMAInverter.swift => SMADevice.swift} (92%) diff --git a/Sources/sma2mqtt/MutlicastReceiver.swift b/Sources/sma2mqtt/MutlicastReceiver.swift index e5b183b..39a26ed 100644 --- a/Sources/sma2mqtt/MutlicastReceiver.swift +++ b/Sources/sma2mqtt/MutlicastReceiver.swift @@ -31,18 +31,17 @@ enum MulticastReceiverError: Error actor MulticastReceiver { - private var socketFileDescriptor: Int32 = -1 - private var receiveBuffer: UnsafeMutablePointer? - private var bufferSize: Int = 0 + private let socketFileDescriptor: Int32 +// private var receiveBuffer: UnsafeMutablePointer? + private let bufferSize: Int private var isListening: Bool = true init(groups: [String], bindAddress: String, listenPort: UInt16, bufferSize: Int = 65536) throws { self.bufferSize = bufferSize - receiveBuffer = UnsafeMutablePointer.allocate(capacity: bufferSize) +// receiveBuffer = UnsafeMutablePointer.allocate(capacity: bufferSize) - let socketFileDescriptor = socket(AF_INET, SOCK_DGRAM_VALUE, 0) // IPPROTO_UDP) // 0 , IPPROTO_MTP - self.socketFileDescriptor = socketFileDescriptor + socketFileDescriptor = socket(AF_INET, SOCK_DGRAM_VALUE, 0) // IPPROTO_UDP) // 0 , IPPROTO_MTP guard socketFileDescriptor != -1 else { throw MulticastReceiverError.socketCreationFailed(errno) } var reuseAddress: Int32 = 1 @@ -103,7 +102,7 @@ actor MulticastReceiver deinit { if socketFileDescriptor != -1 { close(socketFileDescriptor) } - receiveBuffer?.deallocate() +// receiveBuffer?.deallocate() } func startListening() @@ -124,30 +123,28 @@ actor MulticastReceiver { try await withUnsafeThrowingContinuation { continuation in - do + DispatchQueue.global().async { - let receiveNext = try receiveNext() + func sockaddr_cast(_ ptr: UnsafeMutablePointer) -> UnsafeMutablePointer { UnsafeMutableRawPointer(ptr).assumingMemoryBound(to: sockaddr.self) } + var socketAddress = sockaddr_in() + var socketAddressLength = socklen_t(MemoryLayout.size) + JLog.debug("recvfrom") - continuation.resume(returning: receiveNext) - } - catch { continuation.resume(throwing: error) } - } - } + let receiveBuffer = UnsafeMutablePointer.allocate(capacity: self.bufferSize) - private func receiveNext() throws -> Packet - { - var socketAddress = sockaddr_in() - var socketAddressLength = socklen_t(MemoryLayout.size) - JLog.debug("recvfrom") + let bytesRead = recvfrom(self.socketFileDescriptor, receiveBuffer, self.bufferSize, 0, sockaddr_cast(&socketAddress), &socketAddressLength) + guard bytesRead != -1 else { continuation.resume(throwing: MulticastReceiverError.receiveError(errno)); return } - let bytesRead = recvfrom(socketFileDescriptor, receiveBuffer, bufferSize, 0, sockaddr_cast(&socketAddress), &socketAddressLength) - guard bytesRead != -1 else { throw MulticastReceiverError.receiveError(errno) } + var addr = socketAddress.sin_addr // sa.sin_addr + var addrBuffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN)) + guard let addrString = inet_ntop(AF_INET, &addr, &addrBuffer, socklen_t(INET_ADDRSTRLEN)) else { continuation.resume(throwing: MulticastReceiverError.addressStringConversionFailed(errno)); return } - var addr = socketAddress.sin_addr // sa.sin_addr - var addrBuffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN)) - guard let addrString = inet_ntop(AF_INET, &addr, &addrBuffer, socklen_t(INET_ADDRSTRLEN)) else { throw MulticastReceiverError.addressStringConversionFailed(errno) } + let packet = Packet(data: Data(bytes: receiveBuffer, count: bytesRead), sourceAddress: String(cString: addrString)) + receiveBuffer.deallocate() - return Packet(data: Data(bytes: receiveBuffer!, count: bytesRead), sourceAddress: String(cString: addrString)) + continuation.resume(returning: packet) + } + } } func sendPacket(data: [UInt8], address: String, port: UInt16) diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqtt/SMALighthouse.swift new file mode 100644 index 0000000..70c49b0 --- /dev/null +++ b/Sources/sma2mqtt/SMALighthouse.swift @@ -0,0 +1,120 @@ +// +// SunnyHomeManager.swift +// +// +// Created by Patrick Stein on 14.06.22. +// + +import Foundation +import JLog +import sma2mqttLibrary + +actor SMALighthouse +{ + let password: String + let bindAddress: String + let mqttPublisher: MQTTPublisher + let jsonOutput: Bool + + let mcastReceiver: MulticastReceiver + var knownDevices = [String: SMADevice]() + + var lastDiscoveryRequestDate = Date.distantPast + let disoveryRequestInterval = 10.0 + +// struct SMADeviceCache +// { +// let address: String +// var lastSeen = Date() +// var inverter: SMADevice +// +// init(address: String, userright: SMADevice.UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") +// { +// self.address = address +// let inverter = SMADevice(address: address, userright: userright, password: password) +// self.inverter = inverter +// +// Task { await inverter.values() } +// } +// } + + init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws + { + self.password = password + self.bindAddress = bindAddress + self.mqttPublisher = mqttPublisher + self.jsonOutput = jsonOutput + mcastReceiver = try MulticastReceiver(groups: multicastAddresses, bindAddress: bindAddress, listenPort: multicastPort) + await mcastReceiver.startListening() + Task + { + while !Task.isCancelled + { + try? await Task.sleep(for: .seconds(5)) + guard !Task.isCancelled else { return } + JLog.debug("waited") + JLog.debug("sending discovery packet") + await sendDiscoveryPacketIfNeeded() + } + } + } + + func remote(for remoteAddress: String) -> SMADevice + { + if let smaDevice = knownDevices[remoteAddress] + { + return smaDevice + } + JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") + let smaDevice = SMADevice(address: remoteAddress, userright: .user, password: password) + knownDevices[remoteAddress] = smaDevice + return smaDevice + } + + func shutdown() async throws { await mcastReceiver.shutdown() } + + private func sendDiscoveryPacketIfNeeded() async + { + guard Date().timeIntervalSince(lastDiscoveryRequestDate) > disoveryRequestInterval else { return } + + let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] + let address = "239.12.255.254" + let port: UInt16 = 9522 + + await mcastReceiver.sendPacket(data: data, address: address, port: port) + lastDiscoveryRequestDate = Date() + } + + func receiveNext() async throws + { +// await sendDiscoveryPacketIfNeeded() + + let packet = try await mcastReceiver.receiveNextPacket() + + JLog.debug("Received packet from \(packet.sourceAddress)") +// JLog.debug("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") + + let smaDevice = remote(for: packet.sourceAddress) + + Task.detached + { + if let smaPacket = await smaDevice.receivedData(packet.data) + { + for obisvalue in smaPacket.obis + { + if obisvalue.mqtt != .invisible + { + try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) + } + + if self.jsonOutput + { + var obisvalue = obisvalue + obisvalue.includeTopicInJSON = true + print("\(obisvalue.json)") + } + } + } + } + } +} diff --git a/Sources/sma2mqtt/SunnyHomeManager.swift b/Sources/sma2mqtt/SunnyHomeManager.swift deleted file mode 100644 index 5dd89b9..0000000 --- a/Sources/sma2mqtt/SunnyHomeManager.swift +++ /dev/null @@ -1,116 +0,0 @@ -// -// SunnyHomeManager.swift -// -// -// Created by Patrick Stein on 14.06.22. -// - -import Foundation -import JLog -import sma2mqttLibrary - -protocol SunnyHomeManagerDelegate: AnyObject { func addRemote(remoteAddress: String) } - -class SunnyHomeManager: SunnyHomeManagerDelegate -{ - let password: String - let bindAddress: String - let mqttPublisher: MQTTPublisher - let jsonOutput: Bool - - let receiver: MulticastReceiver - var knownDevices = [String: SMADevice]() - - var lastDiscoveryRequestDate = Date.distantPast - let disoveryRequestInterval = 10.0 - - struct SMADevice - { - let address: String - var lastSeen = Date() - var inverter: SMAInverter - - init(address: String, userright: SMAInverter.UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") - { - self.address = address - let inverter = SMAInverter(address: address, userright: userright, password: password) - self.inverter = inverter - - Task { await inverter.values() } - } - } - - init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws - { - self.password = password - self.bindAddress = bindAddress - self.mqttPublisher = mqttPublisher - self.jsonOutput = jsonOutput - receiver = try MulticastReceiver(groups: multicastAddresses, bindAddress: bindAddress, listenPort: multicastPort) - await receiver.startListening() - } - - func addRemote(remoteAddress: String) - { - defer { knownDevices[remoteAddress]?.lastSeen = Date() } - guard knownDevices[remoteAddress] == nil else { return } - - JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - - knownDevices[remoteAddress] = SMADevice(address: remoteAddress, password: password, bindAddress: bindAddress) - } - - func shutdown() async throws { await receiver.shutdown() } - - func sendDiscoveryPacketIfNeeded() async - { - guard Date().timeIntervalSince(lastDiscoveryRequestDate) > disoveryRequestInterval else { return } - - let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] - let address = "239.12.255.254" - let port: UInt16 = 9522 - - await receiver.sendPacket(data: data, address: address, port: port) - lastDiscoveryRequestDate = Date() - } - - func receiveNext() async throws - { - await sendDiscoveryPacketIfNeeded() - - let packet = try await receiver.receiveNextPacket() - - JLog.debug("Received packet from \(packet.sourceAddress)") -// JLog.debug("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") - - addRemote(remoteAddress: packet.sourceAddress) - - if !packet.data.isEmpty - { - if let sma = try? SMAPacket(data: packet.data) - { - JLog.debug("Decoded from \(packet.sourceAddress)") - JLog.trace("Decoded json:\(sma.json)") - - for obisvalue in sma.obis - { - if obisvalue.mqtt != .invisible - { - try? await mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) - } - - if jsonOutput - { - var obisvalue = obisvalue - obisvalue.includeTopicInJSON = true - print("\(obisvalue.json)") - } - } - } - else - { - JLog.error("did not decode") - } - } - } -} diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 1e858de..d6265e9 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -41,7 +41,7 @@ import Logging func run() async throws { - var sunnyHomeManagers = [SunnyHomeManager]() + var sunnyHomeManagers = [SMALighthouse]() JLog.loglevel = Logger.Level(rawValue: debug) ?? Logger.Level.notice let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) let multicastGroups = [ @@ -61,13 +61,13 @@ import Logging // "224.0.0.251", // 10.112.16.195 ] - let sunnyHome = try await SunnyHomeManager(mqttPublisher: mqttPublisher, - multicastAddresses: multicastGroups, - multicastPort: mcastPort, - bindAddress: bindAddress, - bindPort: bindPort, - password: inverterPassword, - jsonOutput: json) + let sunnyHome = try await SMALighthouse(mqttPublisher: mqttPublisher, + multicastAddresses: multicastGroups, + multicastPort: mcastPort, + bindAddress: bindAddress, + bindPort: bindPort, + password: inverterPassword, + jsonOutput: json) sunnyHomeManagers.append(sunnyHome) while true { try await sunnyHome.receiveNext() } diff --git a/Sources/sma2mqttLibrary/SMAInverter.swift b/Sources/sma2mqttLibrary/SMADevice.swift similarity index 92% rename from Sources/sma2mqttLibrary/SMAInverter.swift rename to Sources/sma2mqttLibrary/SMADevice.swift index 7bb544e..fb29617 100644 --- a/Sources/sma2mqttLibrary/SMAInverter.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -5,8 +5,8 @@ // Created by Patrick Stein on 27.06.22. // -import Foundation import AsyncHTTPClient +import Foundation import JLog import NIOSSL @@ -78,12 +78,15 @@ struct GetValuesResult: Decodable let result: [InverterName: [SMAObjectID: Result]] } -public actor SMAInverter +public actor SMADevice { let address: String let userright: UserRight let password: String + public var name: String + public var lastSeen = Date() + var loggedIn: Bool = false var scheme: String = "https" let httpClient: HTTPClient @@ -99,10 +102,15 @@ public actor SMAInverter self.address = address self.userright = userright self.password = password - + name = address var tlsConfiguration = TLSConfiguration.makeClientConfiguration() tlsConfiguration.certificateVerification = .none - httpClient = HTTPClient(eventLoopGroupProvider: .createNew,configuration: .init(tlsConfiguration: tlsConfiguration)) + httpClient = HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration)) + } + + deinit + { + try? httpClient.syncShutdown() } public func setupConnection() async { await _setupConnection() } @@ -114,6 +122,26 @@ public actor SMAInverter _ = await translations } + public func receivedData(_ data: Data) -> SMAPacket? + { + lastSeen = Date() + + guard !data.isEmpty + else + { + JLog.error("received empty packet") + return nil + } + + guard let smaPacket = try? SMAPacket(data: data) + else + { + JLog.error("did not decode") + return nil + } + return smaPacket + } + private nonisolated func schemeTest() async -> String { // if address == "10.112.16.13" @@ -128,8 +156,8 @@ public actor SMAInverter { let request = HTTPClientRequest(url: url.absoluteString) - if let response = try? await httpClient.execute(request,timeout: .seconds(10)), - response.status == .ok + if let response = try? await httpClient.execute(request, timeout: .seconds(10)), + response.status == .ok { JLog.debug("url:\(url) got response: \(response)") return scheme @@ -162,12 +190,11 @@ public actor SMAInverter // // handle remote error // } - do { let request = HTTPClientRequest(url: url.absoluteString) - let response = try await httpClient.execute(request,timeout: .seconds(10)) - JLog.debug("url:\(url) got response: \(response)") + let response = try await httpClient.execute(request, timeout: .seconds(10)) + JLog.debug("url:\(url) got response: \(response)") if response.status == .ok { @@ -222,11 +249,11 @@ public actor SMAInverter if let jsonData = try? await data(forPath: "/data/l10n/en-US.json"), let translations = try? JSONDecoder().decode([String: String?].self, from: jsonData) { _translations = Dictionary(uniqueKeysWithValues: translations.compactMap - { - guard let intvalue = Int($0) else { return nil } - guard let stringvalue = $1 else { return nil } - return (intvalue, stringvalue) - } + { + guard let intvalue = Int($0) else { return nil } + guard let stringvalue = $1 else { return nil } + return (intvalue, stringvalue) + } ) } else @@ -347,7 +374,7 @@ public actor SMAInverter } } -extension SMAInverter +extension SMADevice { func value(forObject _: String) { diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index 561cb20..fabec59 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -47,11 +47,11 @@ final class SMAObjectTests: XCTestCase func testSMAInverter() async throws { - let inverter = SMAInverter(address: inverterAddress, userright: .user, password: inverterPassword) - let description = await inverter.description - print("\(description)") - await inverter.setupConnection() - await inverter.values() + let smaDevice = SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) + let description = await smaDevice.description +// print("\(description)") + await smaDevice.setupConnection() + await smaDevice.values() // try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) } From 77d28562615bfd52c68ae2036cffd3b9adc39503 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 10 Jun 2023 20:04:19 +0200 Subject: [PATCH 41/81] Recognizing devices now and downloading their respective definitions. --- Sources/sma2mqttLibrary/SMADevice.swift | 222 +++++++++++++++++------- 1 file changed, 155 insertions(+), 67 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index fb29617..efa862f 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -9,6 +9,10 @@ import AsyncHTTPClient import Foundation import JLog import NIOSSL +import NIOCore +import RegexBuilder + + struct GetValuesResult: Decodable { @@ -78,23 +82,57 @@ struct GetValuesResult: Decodable let result: [InverterName: [SMAObjectID: Result]] } + +class HTTPClientProvider +{ +static var sharedHttpClient:HTTPClient = { var tlsConfiguration = TLSConfiguration.makeClientConfiguration() + tlsConfiguration.certificateVerification = .none + + return HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration, + timeout: .init(connect: .seconds(5), read: .seconds(10)), + decompression: .enabled(limit: .none))) + }() +} + public actor SMADevice { let address: String let userright: UserRight let password: String - public var name: String public var lastSeen = Date() - var loggedIn: Bool = false - var scheme: String = "https" + var loggedIn = false + var scheme = "https" let httpClient: HTTPClient + public var name: String + public var type: DeviceType = .unknown + private var _smaDataObjects: [String: SMADataObject]! + private var _translations: [Int: String]! + + public enum HTTPScheme + { + case unknown + case http + case https + } + public enum UserRight: String { case user = "usr" case installer = "istl" + case servicce = "svc" + case developer = "dvlp" + } + + public enum DeviceType + { + case unknown + case sunnyhomemanager + case inverter + case batteryinverter + case hybridinverter } public init(address: String, userright: UserRight = .user, password: String = "00000") @@ -103,21 +141,99 @@ public actor SMADevice self.userright = userright self.password = password name = address - var tlsConfiguration = TLSConfiguration.makeClientConfiguration() - tlsConfiguration.certificateVerification = .none - httpClient = HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration)) + httpClient = HTTPClientProvider.sharedHttpClient + Task + { + await findOutDeviceNameAndType() + } } deinit { try? httpClient.syncShutdown() } +} + +extension SMADevice +{ + func findOutDeviceNameAndType() async + { + JLog.debug("findOut:\(address)") + // find out scheme + if let data = try? await data(forPath: "/"), !data.isEmpty + { + scheme = "https" + } + else + { + scheme = "http" + } + + // SunnyHomeManager has 'Sunny Home Manager \d.\d' in http://address/legal_notices.txt + if let string = try? await string(forPath: "legal_notices.txt") + { + JLog.debug("\(address):got legal notice") + if let (_,version) = try? #/Sunny Home Manager (\d+\.\d+)/#.firstMatch(in: string)?.output + { + JLog.debug("\(address):got legal notice with match") + + JLog.debug("\(address):SMA device found: Sunny Home Manager, version:\(version)") + name = "sunnymanager" + type = .sunnyhomemanager + return + } + JLog.debug("\(address):legal no match") + } + JLog.debug("\(address):not homemanager") + + do + { + let jsonData = try await data(forPath: "/data/ObjectMetadata_Istl.json") + + if let jsonString = String(data: jsonData, encoding: .utf8) + { + let smaDataObjects = try SMADataObject.dataObjects(from: jsonString) + _smaDataObjects = smaDataObjects + } + else + { + JLog.debug("\(address):unknown device - no objectmetadata found") + return + } + } + catch + { + JLog.error("error:\(error)") + return + } + + + if let jsonData = try? await data(forPath: "/data/l10n/en-US.json"), + let translations = try? JSONDecoder().decode([String: String?].self, from: jsonData) + { + _translations = Dictionary(uniqueKeysWithValues: translations.compactMap + { + guard let intvalue = Int($0) else { return nil } + guard let stringvalue = $1 else { return nil } + return (intvalue, stringvalue) + } + ) + } + else + { + JLog.debug("\(address):unknown device - no translations found") + return + } + + // now it's a device + + JLog.debug("\(address):SMA device found:") + } public func setupConnection() async { await _setupConnection() } private func _setupConnection() async { - scheme = await schemeTest() _ = await smaDataObjects _ = await translations } @@ -142,82 +258,55 @@ public actor SMADevice return smaPacket } - private nonisolated func schemeTest() async -> String - { - // if address == "10.112.16.13" - // { - // scheme = "http" - // } - // return "https" - - SCHEME_TEST: for scheme in ["https", "http"] - { - if let url = URL(string: "\(scheme)://\(address)/") - { - let request = HTTPClientRequest(url: url.absoluteString) - - if let response = try? await httpClient.execute(request, timeout: .seconds(10)), - response.status == .ok - { - JLog.debug("url:\(url) got response: \(response)") - return scheme - } - } - } - JLog.error("no valid scheme found for \(address) - using http") - return "http" - } - enum InverterError: Error { case invalidURLError case invalidHTTPResponseError } - func data(forPath path: String) async throws -> Data + func string(forPath path: String, headers: [String: String] = [:]) async throws -> String + { + let data = try await data(forPath: path, headers: headers) + guard let string = String(data: data, encoding: .utf8) ?? String(data: data, encoding: .ascii) + else + { + throw InverterError.invalidHTTPResponseError + } + return string + } + + func data(forPath path: String, headers _: [String: String] = [:]) async throws -> Data { - guard let url = URL(string: "\(scheme ?? "https")://\(address)\(path.hasPrefix("/") ? path : "/" + path)") + guard let url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw InverterError.invalidURLError } -// let request = HTTPClientRequest(url: "https://apple.com/") -// let response = try await httpClient.execute(request, timeout: .seconds(30)) -// print("HTTP head", response) -// if response.status == .ok -// { -// let body = try await response.body.collect(upTo: 1024 * 1024) // 1 MB -// // handle body -// } else { -// // handle remote error -// } + JLog.debug("requesting: \(url) for \(address)") + let request = HTTPClientRequest(url: url.absoluteString) + let response = try await httpClient.execute(request, timeout:.seconds(5)) - do + JLog.debug("url:\(url) got response: \(response)") + + if response.status == .ok { - let request = HTTPClientRequest(url: url.absoluteString) - let response = try await httpClient.execute(request, timeout: .seconds(10)) - JLog.debug("url:\(url) got response: \(response)") + var receivedData = Data() - if response.status == .ok + do { - let body = try await response.body.collect(upTo: 5 * 1024 * 1024) // 5 MB - let bytes = body.readableBytesView - - return Data(bytes) + for try await buffer in response.body + { + receivedData.append(Data(buffer:buffer)) + } + print("url:\(url) receivedData:\(receivedData.count)") } - -// let (data, response) = try await session.data(for: request) -// -// if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 { return data } - throw InverterError.invalidHTTPResponseError - } - catch - { - guard scheme == nil else { throw InverterError.invalidHTTPResponseError } - scheme = "http" + catch + { + print("url:\(url) Error: \(error) receivedData:\(receivedData.count)") + } + return receivedData } - return try await data(forPath: path) + throw InverterError.invalidURLError } - var _smaDataObjects: [String: SMADataObject]! var smaDataObjects: [String: SMADataObject] { get async @@ -239,7 +328,6 @@ public actor SMADevice } } - var _translations: [Int: String]! var translations: [Int: String] { get async From 34df633995be94b985dfb1305c99fb8beba21167 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 11 Jun 2023 06:01:31 +0200 Subject: [PATCH 42/81] aysnc init of SMADevice now, added async cache for SMADevices to Lighthouse. --- Sources/sma2mqtt/SMALighthouse.swift | 50 ++++---- Sources/sma2mqttLibrary/SMADevice.swift | 153 +++++++---------------- Tests/sma2mqttTests/SMAObjectTests.swift | 3 +- 3 files changed, 72 insertions(+), 134 deletions(-) diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqtt/SMALighthouse.swift index 70c49b0..fdd8c90 100644 --- a/Sources/sma2mqtt/SMALighthouse.swift +++ b/Sources/sma2mqtt/SMALighthouse.swift @@ -17,35 +17,28 @@ actor SMALighthouse let jsonOutput: Bool let mcastReceiver: MulticastReceiver - var knownDevices = [String: SMADevice]() + + private enum SMADeviceCacheEntry + { + case inProgress(Task) + case ready(SMADevice) + } + + private var smaDeviceCache = [String: SMADeviceCacheEntry]() var lastDiscoveryRequestDate = Date.distantPast let disoveryRequestInterval = 10.0 -// struct SMADeviceCache -// { -// let address: String -// var lastSeen = Date() -// var inverter: SMADevice -// -// init(address: String, userright: SMADevice.UserRight = .user, password: String = "00000", bindAddress: String = "0.0.0.0") -// { -// self.address = address -// let inverter = SMADevice(address: address, userright: userright, password: password) -// self.inverter = inverter -// -// Task { await inverter.values() } -// } -// } - init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws { self.password = password self.bindAddress = bindAddress self.mqttPublisher = mqttPublisher self.jsonOutput = jsonOutput + mcastReceiver = try MulticastReceiver(groups: multicastAddresses, bindAddress: bindAddress, listenPort: multicastPort) await mcastReceiver.startListening() + Task { while !Task.isCancelled @@ -59,15 +52,26 @@ actor SMALighthouse } } - func remote(for remoteAddress: String) -> SMADevice + func remote(for remoteAddress: String) async -> SMADevice { - if let smaDevice = knownDevices[remoteAddress] + if let cacheEntry = smaDeviceCache[remoteAddress] { - return smaDevice + switch cacheEntry + { + case let .ready(smaDevice): + return smaDevice + case let .inProgress(task): + return await task.value + } } + JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - let smaDevice = SMADevice(address: remoteAddress, userright: .user, password: password) - knownDevices[remoteAddress] = smaDevice + + let task = Task { await SMADevice(address: remoteAddress, userright: .user, password: password) } + smaDeviceCache[remoteAddress] = .inProgress(task) + + let smaDevice = await task.value + smaDeviceCache[remoteAddress] = .ready(smaDevice) return smaDevice } @@ -94,7 +98,7 @@ actor SMALighthouse JLog.debug("Received packet from \(packet.sourceAddress)") // JLog.debug("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") - let smaDevice = remote(for: packet.sourceAddress) + let smaDevice = await remote(for: packet.sourceAddress) Task.detached { diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index efa862f..dbedc3e 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -8,12 +8,10 @@ import AsyncHTTPClient import Foundation import JLog -import NIOSSL import NIOCore +import NIOSSL import RegexBuilder - - struct GetValuesResult: Decodable { enum Value: Decodable @@ -82,16 +80,15 @@ struct GetValuesResult: Decodable let result: [InverterName: [SMAObjectID: Result]] } - -class HTTPClientProvider +enum HTTPClientProvider { -static var sharedHttpClient:HTTPClient = { var tlsConfiguration = TLSConfiguration.makeClientConfiguration() - tlsConfiguration.certificateVerification = .none + static var sharedHttpClient: HTTPClient = { var tlsConfiguration = TLSConfiguration.makeClientConfiguration() + tlsConfiguration.certificateVerification = .none - return HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration, - timeout: .init(connect: .seconds(5), read: .seconds(10)), - decompression: .enabled(limit: .none))) - }() + return HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration, + timeout: .init(connect: .seconds(5), read: .seconds(10)), + decompression: .enabled(limit: .none))) + }() } public actor SMADevice @@ -135,27 +132,32 @@ public actor SMADevice case hybridinverter } - public init(address: String, userright: UserRight = .user, password: String = "00000") + public init(address: String, userright: UserRight = .user, password: String = "00000") async { self.address = address self.userright = userright self.password = password name = address httpClient = HTTPClientProvider.sharedHttpClient - Task - { - await findOutDeviceNameAndType() - } + await findOutDeviceNameAndType() } - deinit - { - try? httpClient.syncShutdown() - } +// deinit +// { +// try? httpClient.syncShutdown() +// } } extension SMADevice { + enum DeviceError: Error + { + case invalidURLError + case invalidDataError(String) + case invalidHTTPResponseError + } + + func findOutDeviceNameAndType() async { JLog.debug("findOut:\(address)") @@ -173,7 +175,7 @@ extension SMADevice if let string = try? await string(forPath: "legal_notices.txt") { JLog.debug("\(address):got legal notice") - if let (_,version) = try? #/Sunny Home Manager (\d+\.\d+)/#.firstMatch(in: string)?.output + if let (_, version) = try? #/Sunny Home Manager (\d+\.\d+)/#.firstMatch(in: string)?.output { JLog.debug("\(address):got legal notice with match") @@ -188,56 +190,41 @@ extension SMADevice do { - let jsonData = try await data(forPath: "/data/ObjectMetadata_Istl.json") + let jsonString = try await string(forPath: "/data/ObjectMetadata_Istl.json") + let smaDataObjects = try SMADataObject.dataObjects(from: jsonString) - if let jsonString = String(data: jsonData, encoding: .utf8) - { - let smaDataObjects = try SMADataObject.dataObjects(from: jsonString) - _smaDataObjects = smaDataObjects - } - else - { - JLog.debug("\(address):unknown device - no objectmetadata found") - return - } + _smaDataObjects = smaDataObjects } catch { JLog.error("error:\(error)") - return - } + JLog.error("no sma data object for \(address) - using default") + _smaDataObjects = SMADataObject.defaultDataObjects + } - if let jsonData = try? await data(forPath: "/data/l10n/en-US.json"), - let translations = try? JSONDecoder().decode([String: String?].self, from: jsonData) + do { + let jsonData = try await data(forPath: "/data/l10n/en-US.json") + let translations = try JSONDecoder().decode([String: String?].self, from: jsonData) + _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } guard let stringvalue = $1 else { return nil } return (intvalue, stringvalue) - } - ) + }) } - else + catch { - JLog.debug("\(address):unknown device - no translations found") - return - } - - // now it's a device + JLog.error("error:\(error)") + JLog.error("no sma translations for \(address) - using default") + _translations = SMADataObject.defaultTranslations + } JLog.debug("\(address):SMA device found:") } - public func setupConnection() async { await _setupConnection() } - - private func _setupConnection() async - { - _ = await smaDataObjects - _ = await translations - } - public func receivedData(_ data: Data) -> SMAPacket? { lastSeen = Date() @@ -258,11 +245,6 @@ extension SMADevice return smaPacket } - enum InverterError: Error - { - case invalidURLError - case invalidHTTPResponseError - } func string(forPath path: String, headers: [String: String] = [:]) async throws -> String { @@ -270,7 +252,7 @@ extension SMADevice guard let string = String(data: data, encoding: .utf8) ?? String(data: data, encoding: .ascii) else { - throw InverterError.invalidHTTPResponseError + throw DeviceError.invalidDataError("Could not decode webpage content to String \(#file)\(#line)") } return string } @@ -278,11 +260,11 @@ extension SMADevice func data(forPath path: String, headers _: [String: String] = [:]) async throws -> Data { guard let url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") - else { throw InverterError.invalidURLError } + else { throw DeviceError.invalidURLError } JLog.debug("requesting: \(url) for \(address)") let request = HTTPClientRequest(url: url.absoluteString) - let response = try await httpClient.execute(request, timeout:.seconds(5)) + let response = try await httpClient.execute(request, timeout: .seconds(5)) JLog.debug("url:\(url) got response: \(response)") @@ -294,7 +276,7 @@ extension SMADevice { for try await buffer in response.body { - receivedData.append(Data(buffer:buffer)) + receivedData.append(Data(buffer: buffer)) } print("url:\(url) receivedData:\(receivedData.count)") } @@ -304,52 +286,7 @@ extension SMADevice } return receivedData } - throw InverterError.invalidURLError - } - - var smaDataObjects: [String: SMADataObject] - { - get async - { - if let _smaDataObjects { return _smaDataObjects } - - if let data = try? await data(forPath: "/data/ObjectMetadata_Istl.json"), let jsonString = String(data: data, encoding: .utf8), - let smaDataObjects = try? SMADataObject.dataObjects(from: jsonString) - { - _smaDataObjects = smaDataObjects - } - else - { - JLog.error("no sma data object for \(address) - using default") - _smaDataObjects = SMADataObject.defaultDataObjects - } - - return _smaDataObjects - } - } - - var translations: [Int: String] - { - get async - { - if let _translations { return _translations } - - if let jsonData = try? await data(forPath: "/data/l10n/en-US.json"), let translations = try? JSONDecoder().decode([String: String?].self, from: jsonData) - { - _translations = Dictionary(uniqueKeysWithValues: translations.compactMap - { - guard let intvalue = Int($0) else { return nil } - guard let stringvalue = $1 else { return nil } - return (intvalue, stringvalue) - } - ) - } - else - { - _translations = SMADataObject.defaultTranslations - } - return _translations - } + throw DeviceError.invalidURLError } func translate(translations: [Int: String], tags: [Int?]) -> String @@ -367,8 +304,6 @@ extension SMADevice public func values() async { - await setupConnection() - // guard let scheme = self.scheme else { return } // let loginUrl = URL(string: "\(scheme)://\(address)/dyn/login.json")! diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index fabec59..bac8b06 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -47,10 +47,9 @@ final class SMAObjectTests: XCTestCase func testSMAInverter() async throws { - let smaDevice = SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) + let smaDevice = await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) let description = await smaDevice.description // print("\(description)") - await smaDevice.setupConnection() await smaDevice.values() // try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) From c86645ead0c418dd7dcc69374e45f6fcd7cf54e2 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 11 Jun 2023 06:49:13 +0200 Subject: [PATCH 43/81] added request / response headers and method to get method. --- Sources/sma2mqttLibrary/SMADevice.swift | 54 ++++++++++++------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index dbedc3e..5726460 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -10,6 +10,7 @@ import Foundation import JLog import NIOCore import NIOSSL +import NIOHTTP1 import RegexBuilder struct GetValuesResult: Decodable @@ -97,7 +98,7 @@ public actor SMADevice let userright: UserRight let password: String - public var lastSeen = Date() + public var lastSeen = Date.distantPast var loggedIn = false var scheme = "https" @@ -108,13 +109,6 @@ public actor SMADevice private var _smaDataObjects: [String: SMADataObject]! private var _translations: [Int: String]! - public enum HTTPScheme - { - case unknown - case http - case https - } - public enum UserRight: String { case user = "usr" @@ -162,7 +156,7 @@ extension SMADevice { JLog.debug("findOut:\(address)") // find out scheme - if let data = try? await data(forPath: "/"), !data.isEmpty + if let response = try? await data(forPath: "/"), !response.bodyData.isEmpty { scheme = "https" } @@ -172,10 +166,10 @@ extension SMADevice } // SunnyHomeManager has 'Sunny Home Manager \d.\d' in http://address/legal_notices.txt - if let string = try? await string(forPath: "legal_notices.txt") + if let response = try? await string(forPath: "legal_notices.txt") { JLog.debug("\(address):got legal notice") - if let (_, version) = try? #/Sunny Home Manager (\d+\.\d+)/#.firstMatch(in: string)?.output + if let (_, version) = try? #/Sunny Home Manager (\d+\.\d+)/#.firstMatch(in: response.bodyString)?.output { JLog.debug("\(address):got legal notice with match") @@ -190,23 +184,22 @@ extension SMADevice do { - let jsonString = try await string(forPath: "/data/ObjectMetadata_Istl.json") - let smaDataObjects = try SMADataObject.dataObjects(from: jsonString) + let response = try await string(forPath: "/data/ObjectMetadata_Istl.json") + let smaDataObjects = try SMADataObject.dataObjects(from: response.bodyString) _smaDataObjects = smaDataObjects } catch { - JLog.error("error:\(error)") - JLog.error("no sma data object for \(address) - using default") + JLog.error("\(address): no sma data object found \(error)- using default") _smaDataObjects = SMADataObject.defaultDataObjects } do { - let jsonData = try await data(forPath: "/data/l10n/en-US.json") - let translations = try JSONDecoder().decode([String: String?].self, from: jsonData) + let response = try await data(forPath: "/data/l10n/en-US.json") + let translations = try JSONDecoder().decode([String: String?].self, from: response.bodyData) _translations = Dictionary(uniqueKeysWithValues: translations.compactMap { @@ -217,8 +210,7 @@ extension SMADevice } catch { - JLog.error("error:\(error)") - JLog.error("no sma translations for \(address) - using default") + JLog.error("\(address): no translations found \(error)- using default") _translations = SMADataObject.defaultTranslations } @@ -246,45 +238,49 @@ extension SMADevice } - func string(forPath path: String, headers: [String: String] = [:]) async throws -> String + func string(forPath path: String, headers: HTTPHeaders = .init() ,httpMethod: HTTPMethod = .GET) async throws -> (headers:HTTPHeaders,bodyString:String) { - let data = try await data(forPath: path, headers: headers) + let (headers,data) = try await data(forPath: path, headers: headers,httpMethod:httpMethod) guard let string = String(data: data, encoding: .utf8) ?? String(data: data, encoding: .ascii) else { throw DeviceError.invalidDataError("Could not decode webpage content to String \(#file)\(#line)") } - return string + return (headers:headers,bodyString:string) } - func data(forPath path: String, headers _: [String: String] = [:]) async throws -> Data + func data(forPath path: String, headers: HTTPHeaders = .init() , httpMethod: HTTPMethod = .GET) async throws -> (headers:HTTPHeaders,bodyData:Data) { guard let url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw DeviceError.invalidURLError } JLog.debug("requesting: \(url) for \(address)") - let request = HTTPClientRequest(url: url.absoluteString) + var request = HTTPClientRequest(url: url.absoluteString) + request.method = httpMethod + request.headers.add(contentsOf: headers) + let response = try await httpClient.execute(request, timeout: .seconds(5)) JLog.debug("url:\(url) got response: \(response)") + lastSeen = Date() if response.status == .ok { - var receivedData = Data() + var bodyData = Data() do { for try await buffer in response.body { - receivedData.append(Data(buffer: buffer)) + bodyData.append(Data(buffer: buffer)) } - print("url:\(url) receivedData:\(receivedData.count)") + print("url:\(url) receivedData:\(bodyData.count)") } catch { - print("url:\(url) Error: \(error) receivedData:\(receivedData.count)") + print("url:\(url) Error: \(error) receivedData:\(bodyData.count)") } - return receivedData + return (headers:response.headers,bodyData:bodyData) } throw DeviceError.invalidURLError } From 043e7bf20e8dfd1c8314df74f63c05163e78c54e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 11 Jun 2023 12:28:15 +0200 Subject: [PATCH 44/81] changed to download default objects from devices. --- Package.swift | 2 +- Sources/sma2mqtt/SMALighthouse.swift | 26 ++++- Sources/sma2mqttLibrary/SMADevice.swift | 141 ++++++++++++++++++----- Tests/sma2mqttTests/SMAObjectTests.swift | 2 +- 4 files changed, 131 insertions(+), 40 deletions(-) diff --git a/Package.swift b/Package.swift index 208f5df..69f7e24 100644 --- a/Package.swift +++ b/Package.swift @@ -20,7 +20,7 @@ let package = Package( .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/apple/swift-nio.git", .upToNextMajor(from: "2.54.0")), .package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.14.1"), -.package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"), + .package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), .package(url: "https://github.com/jollyjinx/JLog", from: "0.0.4"), diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqtt/SMALighthouse.swift index fdd8c90..021d16b 100644 --- a/Sources/sma2mqtt/SMALighthouse.swift +++ b/Sources/sma2mqtt/SMALighthouse.swift @@ -20,8 +20,9 @@ actor SMALighthouse private enum SMADeviceCacheEntry { - case inProgress(Task) + case inProgress(Task) case ready(SMADevice) + case failed } private var smaDeviceCache = [String: SMADeviceCacheEntry]() @@ -52,7 +53,7 @@ actor SMALighthouse } } - func remote(for remoteAddress: String) async -> SMADevice + func remote(for remoteAddress: String) async -> SMADevice? { if let cacheEntry = smaDeviceCache[remoteAddress] { @@ -61,16 +62,24 @@ actor SMALighthouse case let .ready(smaDevice): return smaDevice case let .inProgress(task): - return await task.value + return try? await task.value + case .failed: + return nil } } JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - let task = Task { await SMADevice(address: remoteAddress, userright: .user, password: password) } + let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password) } smaDeviceCache[remoteAddress] = .inProgress(task) - let smaDevice = await task.value + guard let smaDevice = try? await task.value + else + { + JLog.error("\(remoteAddress): was not able to initialize - ignoring address") + smaDeviceCache[remoteAddress] = .failed + return nil + } smaDeviceCache[remoteAddress] = .ready(smaDevice) return smaDevice } @@ -98,7 +107,12 @@ actor SMALighthouse JLog.debug("Received packet from \(packet.sourceAddress)") // JLog.debug("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") - let smaDevice = await remote(for: packet.sourceAddress) + guard let smaDevice = await remote(for: packet.sourceAddress) + else + { + JLog.debug("\(packet.sourceAddress) ignoring as failed to initialize device") + return + } Task.detached { diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 5726460..1fad29d 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -9,8 +9,8 @@ import AsyncHTTPClient import Foundation import JLog import NIOCore -import NIOSSL import NIOHTTP1 +import NIOSSL import RegexBuilder struct GetValuesResult: Decodable @@ -106,8 +106,9 @@ public actor SMADevice public var name: String public var type: DeviceType = .unknown - private var _smaDataObjects: [String: SMADataObject]! - private var _translations: [Int: String]! + private var smaDataObjects: [String: SMADataObject]! + private var translations: [Int: String]! + private var sessionid: String? public enum UserRight: String { @@ -126,14 +127,14 @@ public actor SMADevice case hybridinverter } - public init(address: String, userright: UserRight = .user, password: String = "00000") async + public init(address: String, userright: UserRight = .user, password: String = "00000") async throws { self.address = address self.userright = userright self.password = password name = address httpClient = HTTPClientProvider.sharedHttpClient - await findOutDeviceNameAndType() + try await findOutDeviceNameAndType() } // deinit @@ -142,6 +143,29 @@ public actor SMADevice // } } +public extension SMADevice +{ + func receivedData(_ data: Data) -> SMAPacket? + { + lastSeen = Date() + + guard !data.isEmpty + else + { + JLog.error("received empty packet") + return nil + } + + guard let smaPacket = try? SMAPacket(data: data) + else + { + JLog.error("did not decode") + return nil + } + return smaPacket + } +} + extension SMADevice { enum DeviceError: Error @@ -149,10 +173,10 @@ extension SMADevice case invalidURLError case invalidDataError(String) case invalidHTTPResponseError + case loginFailed } - - func findOutDeviceNameAndType() async + func findOutDeviceNameAndType() async throws { JLog.debug("findOut:\(address)") // find out scheme @@ -187,13 +211,13 @@ extension SMADevice let response = try await string(forPath: "/data/ObjectMetadata_Istl.json") let smaDataObjects = try SMADataObject.dataObjects(from: response.bodyString) - _smaDataObjects = smaDataObjects + self.smaDataObjects = smaDataObjects } catch { JLog.error("\(address): no sma data object found \(error)- using default") - _smaDataObjects = SMADataObject.defaultDataObjects + smaDataObjects = SMADataObject.defaultDataObjects } do @@ -201,7 +225,7 @@ extension SMADevice let response = try await data(forPath: "/data/l10n/en-US.json") let translations = try JSONDecoder().decode([String: String?].self, from: response.bodyData) - _translations = Dictionary(uniqueKeysWithValues: translations.compactMap + self.translations = Dictionary(uniqueKeysWithValues: translations.compactMap { guard let intvalue = Int($0) else { return nil } guard let stringvalue = $1 else { return nil } @@ -212,53 +236,106 @@ extension SMADevice { JLog.error("\(address): no translations found \(error)- using default") - _translations = SMADataObject.defaultTranslations + translations = SMADataObject.defaultTranslations } - JLog.debug("\(address):SMA device found:") - } - public func receivedData(_ data: Data) -> SMAPacket? - { - lastSeen = Date() + JLog.debug("\(address):SMA device found - logging in now") - guard !data.isEmpty - else + // login now + if true { - JLog.error("received empty packet") - return nil + let headers = [("Content-Type", "application/json")] + let loginBody = try JSONSerialization.data(withJSONObject: ["right": userright.rawValue, "pass": password], options: []) + let response = try await data(forPath: "/dyn/login.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) + + let decoder = JSONDecoder() + let loginResult = try decoder.decode([String: [String: String]].self, from: response.bodyData) + + guard let sid = loginResult["result"]?["sid"] + else + { + JLog.debug("\(address):Login failed: \(response)") + + throw DeviceError.loginFailed + } + sessionid = sid } - guard let smaPacket = try? SMAPacket(data: data) - else + // get first time data + if true { - JLog.error("did not decode") - return nil + let headers = [("Content-Type", "application/json")] + let loginBody = try JSONSerialization.data(withJSONObject: ["destDev": [String]()], options: []) +// let response = try await data(forPath: "/dyn/getAllOnlValues.json",headers: .init(headers),httpMethod: .POST,requestBody: loginBody) + let response = try await data(forPath: "/dyn/getDashValues.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) + + let decoder = JSONDecoder() + let getValuesResult = try decoder.decode(GetValuesResult.self, from: response.bodyData) + + JLog.trace("values:\(getValuesResult)") + + for inverter in getValuesResult.result + { + JLog.debug("inverter:\(inverter.key)") + + for value in inverter.value + { + JLog.debug("objectid:\(value.key)") + + let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) + + if let smaobject = smaDataObjects[value.key] + { + JLog.debug("path:\(translate(translations: translations, tag: smaobject.TagHier))/\(translate([smaobject.TagId])) unit:\(translate([smaobject.Unit])) scale: \(smaobject.Scale ?? Decimal.nan)") + } + let values = value.value.values + for (number, singlevalue) in values.enumerated() + { + switch singlevalue + { + case let .intValue(value): JLog.debug("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") + case let .stringValue(value): JLog.debug("\(number).stringValue:\(value)") + case let .tagValues(values): JLog.debug("\(number).tags:\(translate(translations: translations, tags: values))") + } + } + } + } } - return smaPacket + JLog.debug("\(address):Successfull login") } - - func string(forPath path: String, headers: HTTPHeaders = .init() ,httpMethod: HTTPMethod = .GET) async throws -> (headers:HTTPHeaders,bodyString:String) + func string(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyString: String) { - let (headers,data) = try await data(forPath: path, headers: headers,httpMethod:httpMethod) + let (headers, data) = try await data(forPath: path, headers: headers, httpMethod: httpMethod, requestBody: requestBody) guard let string = String(data: data, encoding: .utf8) ?? String(data: data, encoding: .ascii) else { throw DeviceError.invalidDataError("Could not decode webpage content to String \(#file)\(#line)") } - return (headers:headers,bodyString:string) + return (headers: headers, bodyString: string) } - func data(forPath path: String, headers: HTTPHeaders = .init() , httpMethod: HTTPMethod = .GET) async throws -> (headers:HTTPHeaders,bodyData:Data) + func data(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyData: Data) { - guard let url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") + guard var url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") else { throw DeviceError.invalidURLError } + if let sessionid + { + url.append(queryItems: [URLQueryItem(name: "sid", value: sessionid)]) + } + JLog.debug("requesting: \(url) for \(address)") var request = HTTPClientRequest(url: url.absoluteString) request.method = httpMethod + request.headers.add(contentsOf: headers) + if let requestBody + { + request.body = .bytes(requestBody) + } + let response = try await httpClient.execute(request, timeout: .seconds(5)) JLog.debug("url:\(url) got response: \(response)") @@ -280,7 +357,7 @@ extension SMADevice { print("url:\(url) Error: \(error) receivedData:\(bodyData.count)") } - return (headers:response.headers,bodyData:bodyData) + return (headers: response.headers, bodyData: bodyData) } throw DeviceError.invalidURLError } diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index bac8b06..b74cb54 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -47,7 +47,7 @@ final class SMAObjectTests: XCTestCase func testSMAInverter() async throws { - let smaDevice = await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) + let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) let description = await smaDevice.description // print("\(description)") await smaDevice.values() From f8abe1dce26459b5f8570cb7be942f0f3b096b4e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 11 Jun 2023 19:20:49 +0200 Subject: [PATCH 45/81] Now correctly converts retrieved json values from inverter to json. --- Sources/sma2mqtt/SMALighthouse.swift | 2 +- Sources/sma2mqttLibrary/Extensions.swift | 6 +- Sources/sma2mqttLibrary/SMADevice.swift | 170 +++++++++-------------- 3 files changed, 71 insertions(+), 107 deletions(-) diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqtt/SMALighthouse.swift index 021d16b..828ea0b 100644 --- a/Sources/sma2mqtt/SMALighthouse.swift +++ b/Sources/sma2mqtt/SMALighthouse.swift @@ -45,8 +45,8 @@ actor SMALighthouse while !Task.isCancelled { try? await Task.sleep(for: .seconds(5)) - guard !Task.isCancelled else { return } JLog.debug("waited") + guard !Task.isCancelled else { return } JLog.debug("sending discovery packet") await sendDiscoveryPacketIfNeeded() } diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 5049592..33d91a6 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -47,8 +47,8 @@ public extension Encodable var json: String { let jsonEncoder = JSONEncoder() - jsonEncoder.outputFormatting = .sortedKeys - let jsonData = try! jsonEncoder.encode(self) - return String(data: jsonData, encoding: .utf8)! + jsonEncoder.outputFormatting = [.sortedKeys, .prettyPrinted] + let jsonData = try? jsonEncoder.encode(self) + return jsonData != nil ? String(data: jsonData!, encoding: .utf8) ?? "" : "" } } diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 1fad29d..3b0d4b9 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -30,21 +30,21 @@ struct GetValuesResult: Decodable if let intValue = try? container.decode(Int.self, forKey: CodingKeys.val) { self = Value.intValue(intValue) - JLog.debug("int:\(intValue)") + JLog.trace("int:\(intValue)") return } if let stringValue = try? container.decode(String.self, forKey: CodingKeys.val) { self = Value.stringValue(stringValue) - JLog.debug("str:\(stringValue)") + JLog.trace("str:\(stringValue)") return } if let tagArray = try? container.decode([[String: Int?]].self, forKey: CodingKeys.val) { - JLog.debug("tagArray:\(tagArray)") + JLog.trace("tagArray:\(tagArray)") let tags = tagArray.map { $0["tag"] ?? nil } self = Value.tagValues(tags) - JLog.debug("tags:\(tags)") + JLog.trace("tags:\(tags)") return } _ = try container.decodeNil(forKey: CodingKeys.val) @@ -106,7 +106,7 @@ public actor SMADevice public var name: String public var type: DeviceType = .unknown - private var smaDataObjects: [String: SMADataObject]! + private var smaObjectDefinitions: [String: SMADataObject]! private var translations: [Int: String]! private var sessionid: String? @@ -209,15 +209,15 @@ extension SMADevice do { let response = try await string(forPath: "/data/ObjectMetadata_Istl.json") - let smaDataObjects = try SMADataObject.dataObjects(from: response.bodyString) + let smaObjectDefinitions = try SMADataObject.dataObjects(from: response.bodyString) - self.smaDataObjects = smaDataObjects + self.smaObjectDefinitions = smaObjectDefinitions } catch { JLog.error("\(address): no sma data object found \(error)- using default") - smaDataObjects = SMADataObject.defaultDataObjects + smaObjectDefinitions = SMADataObject.defaultDataObjects } do @@ -266,42 +266,80 @@ extension SMADevice { let headers = [("Content-Type", "application/json")] let loginBody = try JSONSerialization.data(withJSONObject: ["destDev": [String]()], options: []) -// let response = try await data(forPath: "/dyn/getAllOnlValues.json",headers: .init(headers),httpMethod: .POST,requestBody: loginBody) - let response = try await data(forPath: "/dyn/getDashValues.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) + let response = try await data(forPath: "/dyn/getAllOnlValues.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) +// let response = try await data(forPath: "/dyn/getDashValues.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) +// // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} + JLog.trace("body:\(String(data: response.bodyData, encoding: .utf8) ?? response.bodyData.hexDump)") let decoder = JSONDecoder() let getValuesResult = try decoder.decode(GetValuesResult.self, from: response.bodyData) JLog.trace("values:\(getValuesResult)") + var retrievedInformation = [String: [String: Codable]]() + for inverter in getValuesResult.result { - JLog.debug("inverter:\(inverter.key)") + JLog.trace("inverter:\(inverter.key)") - for value in inverter.value + for objectId in inverter.value { - JLog.debug("objectid:\(value.key)") - - let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) + JLog.trace("objectId:\(objectId.key)") - if let smaobject = smaDataObjects[value.key] - { - JLog.debug("path:\(translate(translations: translations, tag: smaobject.TagHier))/\(translate([smaobject.TagId])) unit:\(translate([smaobject.Unit])) scale: \(smaobject.Scale ?? Decimal.nan)") - } - let values = value.value.values - for (number, singlevalue) in values.enumerated() + if let objectDefinition = smaObjectDefinitions[objectId.key] { - switch singlevalue + var dictionary = [String: Codable]() + + dictionary["object"] = objectId.key +// dictionary["scale"] = objectDefinition.Scale ?? Decimal(1.0) + dictionary["unit"] = translate(tag: objectDefinition.Unit) + let path = "\(inverter.key)" + "/" + (translate(tags: objectDefinition.TagHier) + "/" + translate(tag: objectDefinition.TagId)).lowercased().replacing(#/ /#) { _ in "-" } + if let eventID = objectDefinition.TagIdEventMsg + { + dictionary["event"] = translate(tag: eventID) + } + + var decimalValues = [Decimal?]() + var stringValues = [String]() + + for (number, singlevalue) in objectId.value.values.enumerated() { - case let .intValue(value): JLog.debug("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") - case let .stringValue(value): JLog.debug("\(number).stringValue:\(value)") - case let .tagValues(values): JLog.debug("\(number).tags:\(translate(translations: translations, tags: values))") + switch singlevalue + { + case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) + case let .stringValue(value): stringValues.append(value) + case let .tagValues(values): stringValues.append("\(translate(tags: values))") + } } + + if !decimalValues.isEmpty + { + dictionary["value"] = decimalValues.count == 1 ? decimalValues.first : decimalValues + } + else if !stringValues.isEmpty + { + dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues + } + else + { + JLog.error("\(address):neiter number nor string Values in \(objectId.value)") + } + JLog.trace("\(dictionary)") + + retrievedInformation[path] = dictionary + } + else + { + JLog.error("cant find objectDefinition for \(objectId.key)") } } } + let data = try! JSONSerialization.data(withJSONObject: retrievedInformation, options: []) + + JLog.debug("retrieved:\(String(data: data, encoding: .utf8) ?? "")") } JLog.debug("\(address):Successfull login") +// if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } } func string(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyString: String) @@ -362,11 +400,12 @@ extension SMADevice throw DeviceError.invalidURLError } - func translate(translations: [Int: String], tags: [Int?]) -> String + func translate(tag: Int?) -> String { translate(tags: [tag]) } + func translate(tags: [Int?]) -> String { if let tags = tags as? [Int] { - let string = tags.map { translations[$0] ?? "unknowntag" }.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "_" } + let string = tags.map { translations[$0] ?? "unknown(\(String($0, radix: 16)))" }.joined(separator: "/") return string } else @@ -376,82 +415,7 @@ extension SMADevice } public func values() async - { - // guard let scheme = self.scheme else { return } - -// let loginUrl = URL(string: "\(scheme)://\(address)/dyn/login.json")! -// -// let params = ["right": userright.rawValue, "pass": password] as [String: String] -// -// var request = URLRequest(url: loginUrl) -// request.httpMethod = "POST" -// request.httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) -// request.addValue("application/json", forHTTPHeaderField: "Content-Type") -// -// let decoder = JSONDecoder() -// -// if let (data, _) = try? await session.data(for: request, delegate: sessionTaskDelegate), let json = try? decoder.decode([String: [String: String]].self, from: data), -// let sid = json["result"]?["sid"] -// { -// JLog.debug("\(json.description)") -// -// let loginUrl2 = URL(string: "\(scheme)://\(address)/dyn/getAllOnlValues.json?sid=\(sid)")! -// JLog.debug("\(loginUrl2)") -// let params2 = ["destDev": [String]()] as [String: [String]] -// -// var request2 = URLRequest(url: loginUrl2) -// request2.httpMethod = "POST" -// request2.httpBody = try! JSONSerialization.data(withJSONObject: params2, options: []) -// // request2.httpBody = """ -// // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} -// // """.data(using: .utf8) -// request2.addValue("application/json", forHTTPHeaderField: "Content-Type") -// -// if let (data, _) = try? await session.data(for: request2) -// { -// let string = String(data: data, encoding: .utf8) -// JLog.debug("Got:\(string)") -// JLog.debug("data:\(data.toHexString())") -// -// let decoder = JSONDecoder() -// if let getValuesResult = try? decoder.decode(GetValuesResult.self, from: data) -// { -// JLog.debug("values:\(getValuesResult)") -// -// for inverter in getValuesResult.result -// { -// JLog.debug("inverter:\(inverter.key)") -// -// for value in inverter.value -// { -// JLog.debug("objectid:\(value.key)") -// let smaDataObjects = await smaDataObjects -// let translations = await translations -// -// let scale = smaDataObjects[value.key]?.Scale ?? Decimal(1.0) -// -// // if let smaobject = smaDataObjects[value.key] -// // { -// // JLog.debug("path:\( translate(translations:translations,tag:smaobject.TagHier) )/\( translate([smaobject.TagId]) ) unit:\( translate([smaobject.Unit]) ) scale: \( smaobject.Scale ?? Decimal.nan )") -// // } -// let values = value.value.values -// for (number, singlevalue) in values.enumerated() -// { -// switch singlevalue -// { -// case let .intValue(value): JLog.debug("\(number).intValue:\(value == nil ? Decimal.nan : Decimal(value!) * scale)") -// case let .stringValue(value): JLog.debug("\(number).stringValue:\(value)") -// case let .tagValues(values): JLog.debug("\(number).tags:\(translate(translations: translations, tags: values))") -// } -// } -// } -// } -// } -// } -// -// if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } -// } - } + {} var description: String { From 84107482e47ef2335be5065975bbc2406670799f Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 11 Jun 2023 21:01:03 +0200 Subject: [PATCH 46/81] improved json output. --- Sources/sma2mqttLibrary/SMADevice.swift | 33 ++++++++++++++++--------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 3b0d4b9..939c76b 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -292,8 +292,18 @@ extension SMADevice dictionary["object"] = objectId.key // dictionary["scale"] = objectDefinition.Scale ?? Decimal(1.0) - dictionary["unit"] = translate(tag: objectDefinition.Unit) - let path = "\(inverter.key)" + "/" + (translate(tags: objectDefinition.TagHier) + "/" + translate(tag: objectDefinition.TagId)).lowercased().replacing(#/ /#) { _ in "-" } + let units = translate(tag: objectDefinition.Unit) + + if !units.isEmpty + { + dictionary["unit"] = units.count == 1 ? units.first : units + } + + var pathComponents: [String] = [inverter.key] + pathComponents.append(contentsOf: translate(tags: objectDefinition.TagHier)) + pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) + let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } + if let eventID = objectDefinition.TagIdEventMsg { dictionary["event"] = translate(tag: eventID) @@ -301,6 +311,7 @@ extension SMADevice var decimalValues = [Decimal?]() var stringValues = [String]() + var tagValues = [String]() for (number, singlevalue) in objectId.value.values.enumerated() { @@ -308,7 +319,7 @@ extension SMADevice { case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) case let .stringValue(value): stringValues.append(value) - case let .tagValues(values): stringValues.append("\(translate(tags: values))") + case let .tagValues(values): tagValues.append(contentsOf: translate(tags: values)) } } @@ -320,6 +331,10 @@ extension SMADevice { dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues } + else if !tagValues.isEmpty + { + dictionary["value"] = tagValues.count == 1 ? tagValues.first : tagValues + } else { JLog.error("\(address):neiter number nor string Values in \(objectId.value)") @@ -400,18 +415,14 @@ extension SMADevice throw DeviceError.invalidURLError } - func translate(tag: Int?) -> String { translate(tags: [tag]) } - func translate(tags: [Int?]) -> String + func translate(tag: Int?) -> [String] { translate(tags: [tag]) } + func translate(tags: [Int?]) -> [String] { if let tags = tags as? [Int] { - let string = tags.map { translations[$0] ?? "unknown(\(String($0, radix: 16)))" }.joined(separator: "/") - return string - } - else - { - return "notags" + return tags.map { translations[$0] ?? "tag(\(String($0, radix: 16)))" } } + return [String]() } public func values() async From 963113d8175b0d111b1031cf13866af7a0e495da Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 11 Jun 2023 21:50:56 +0200 Subject: [PATCH 47/81] Refactored out getting jsonValues from path. --- Sources/sma2mqtt/SMALighthouse.swift | 1 - Sources/sma2mqttLibrary/SMADevice.swift | 147 +++++++++++++----------- 2 files changed, 79 insertions(+), 69 deletions(-) diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqtt/SMALighthouse.swift index 828ea0b..09b2ea3 100644 --- a/Sources/sma2mqtt/SMALighthouse.swift +++ b/Sources/sma2mqtt/SMALighthouse.swift @@ -45,7 +45,6 @@ actor SMALighthouse while !Task.isCancelled { try? await Task.sleep(for: .seconds(5)) - JLog.debug("waited") guard !Task.isCancelled else { return } JLog.debug("sending discovery packet") await sendDiscoveryPacketIfNeeded() diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 939c76b..77da3b3 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -264,97 +264,108 @@ extension SMADevice // get first time data if true { - let headers = [("Content-Type", "application/json")] - let loginBody = try JSONSerialization.data(withJSONObject: ["destDev": [String]()], options: []) - let response = try await data(forPath: "/dyn/getAllOnlValues.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) -// let response = try await data(forPath: "/dyn/getDashValues.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) + _ = try await getInformationDictionary(for: "/dyn/getDashValues.json") + _ = try await getInformationDictionary(for: "/dyn/getAllOnlValues.json") + } + + JLog.debug("\(address):Successfull login") +// if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } + } + + func getInformationDictionary(for path: String) async throws -> [String: [String: Codable]] + { + let headers = [("Content-Type", "application/json")] + let loginBody = try JSONSerialization.data(withJSONObject: ["destDev": [String]()], options: []) + let response = try await data(forPath: path, headers: .init(headers), httpMethod: .POST, requestBody: loginBody) // // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} - JLog.trace("body:\(String(data: response.bodyData, encoding: .utf8) ?? response.bodyData.hexDump)") - let decoder = JSONDecoder() - let getValuesResult = try decoder.decode(GetValuesResult.self, from: response.bodyData) + JLog.trace("body:\(String(data: response.bodyData, encoding: .utf8) ?? response.bodyData.hexDump)") + let decoder = JSONDecoder() + let getValuesResult = try decoder.decode(GetValuesResult.self, from: response.bodyData) - JLog.trace("values:\(getValuesResult)") + JLog.trace("values:\(getValuesResult)") - var retrievedInformation = [String: [String: Codable]]() + var retrievedInformation = [String: [String: Codable]]() + + for inverter in getValuesResult.result + { + JLog.trace("inverter:\(inverter.key)") - for inverter in getValuesResult.result + for objectId in inverter.value { - JLog.trace("inverter:\(inverter.key)") + JLog.trace("objectId:\(objectId.key)") - for objectId in inverter.value + if let objectDefinition = smaObjectDefinitions[objectId.key] { - JLog.trace("objectId:\(objectId.key)") + var dictionary = [String: Codable]() - if let objectDefinition = smaObjectDefinitions[objectId.key] - { - var dictionary = [String: Codable]() + dictionary["object"] = objectId.key + dictionary["prio"] = objectDefinition.Prio + dictionary["write"] = objectDefinition.WriteLevel - dictionary["object"] = objectId.key // dictionary["scale"] = objectDefinition.Scale ?? Decimal(1.0) - let units = translate(tag: objectDefinition.Unit) + let units = translate(tag: objectDefinition.Unit) - if !units.isEmpty - { - dictionary["unit"] = units.count == 1 ? units.first : units - } + if !units.isEmpty + { + dictionary["unit"] = units.count == 1 ? units.first : units + } - var pathComponents: [String] = [inverter.key] - pathComponents.append(contentsOf: translate(tags: objectDefinition.TagHier)) - pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) - let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } + var pathComponents: [String] = [inverter.key] + pathComponents.append(contentsOf: translate(tags: objectDefinition.TagHier)) + pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) + let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } - if let eventID = objectDefinition.TagIdEventMsg - { - dictionary["event"] = translate(tag: eventID) - } - - var decimalValues = [Decimal?]() - var stringValues = [String]() - var tagValues = [String]() + if let eventID = objectDefinition.TagIdEventMsg + { + dictionary["event"] = translate(tag: eventID) + } - for (number, singlevalue) in objectId.value.values.enumerated() - { - switch singlevalue - { - case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) - case let .stringValue(value): stringValues.append(value) - case let .tagValues(values): tagValues.append(contentsOf: translate(tags: values)) - } - } + var decimalValues = [Decimal?]() + var stringValues = [String]() + var tagValues = [String]() - if !decimalValues.isEmpty - { - dictionary["value"] = decimalValues.count == 1 ? decimalValues.first : decimalValues - } - else if !stringValues.isEmpty - { - dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues - } - else if !tagValues.isEmpty - { - dictionary["value"] = tagValues.count == 1 ? tagValues.first : tagValues - } - else + for (number, singlevalue) in objectId.value.values.enumerated() + { + switch singlevalue { - JLog.error("\(address):neiter number nor string Values in \(objectId.value)") + case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) + case let .stringValue(value): stringValues.append(value) + case let .tagValues(values): tagValues.append(contentsOf: translate(tags: values)) } - JLog.trace("\(dictionary)") + } - retrievedInformation[path] = dictionary + if !decimalValues.isEmpty + { + dictionary["value"] = decimalValues.count == 1 ? decimalValues.first : decimalValues + } + else if !stringValues.isEmpty + { + dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues + } + else if !tagValues.isEmpty + { + dictionary["value"] = tagValues.count == 1 ? tagValues.first : tagValues } else { - JLog.error("cant find objectDefinition for \(objectId.key)") + JLog.error("\(address):neiter number nor string Values in \(objectId.value)") } + JLog.trace("\(dictionary)") + + retrievedInformation[path] = dictionary + } + else + { + JLog.error("cant find objectDefinition for \(objectId.key)") } } - let data = try! JSONSerialization.data(withJSONObject: retrievedInformation, options: []) - - JLog.debug("retrieved:\(String(data: data, encoding: .utf8) ?? "")") } - JLog.debug("\(address):Successfull login") -// if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } + let data = try! JSONSerialization.data(withJSONObject: retrievedInformation, options: []) + + JLog.debug("retrieved:\(String(data: data, encoding: .utf8) ?? "")") + + return retrievedInformation } func string(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyString: String) @@ -391,7 +402,7 @@ extension SMADevice let response = try await httpClient.execute(request, timeout: .seconds(5)) - JLog.debug("url:\(url) got response: \(response)") + JLog.trace("url:\(url) got response: \(response)") lastSeen = Date() if response.status == .ok @@ -404,11 +415,11 @@ extension SMADevice { bodyData.append(Data(buffer: buffer)) } - print("url:\(url) receivedData:\(bodyData.count)") + JLog.trace("url:\(url) receivedData:\(bodyData.count)") } catch { - print("url:\(url) Error: \(error) receivedData:\(bodyData.count)") + JLog.trace("url:\(url) Error: \(error) receivedData:\(bodyData.count)") } return (headers: response.headers, bodyData: bodyData) } From e618c70f684b0efd589d3528a3f96302ddfd30f8 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Tue, 13 Jun 2023 06:51:26 +0200 Subject: [PATCH 48/81] starting to get it run on linux again --- .gitignore | 1 + Sources/sma2mqttLibrary/Extensions.swift | 19 +++++++++++++++++++ Sources/sma2mqttLibrary/SMADevice.swift | 9 ++++++--- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 04c14b4..59df611 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .build/ +.build-linux/ .swiftpm/ Package.resolved Reverseengineering/ diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 33d91a6..a8d4540 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -52,3 +52,22 @@ public extension Encodable return jsonData != nil ? String(data: jsonData!, encoding: .utf8) ?? "" : "" } } + +public extension URL +{ + func byAppendingQueryItems(_ queryItems: [URLQueryItem]) -> URL? + { + guard var urlComponents = URLComponents(url: self, resolvingAgainstBaseURL: false) + else + { + return nil + } + + var items: [URLQueryItem] = urlComponents.queryItems ?? [] + items.append(contentsOf: queryItems) + + urlComponents.queryItems = items + + return urlComponents.url + } +} diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 77da3b3..966b2ec 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -12,6 +12,7 @@ import NIOCore import NIOHTTP1 import NIOSSL import RegexBuilder +import NIOFoundationCompat struct GetValuesResult: Decodable { @@ -325,7 +326,7 @@ extension SMADevice var stringValues = [String]() var tagValues = [String]() - for (number, singlevalue) in objectId.value.values.enumerated() + for (_, singlevalue) in objectId.value.values.enumerated() { switch singlevalue { @@ -382,11 +383,13 @@ extension SMADevice func data(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyData: Data) { guard var url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") - else { throw DeviceError.invalidURLError } + else { + throw DeviceError.invalidURLError + } if let sessionid { - url.append(queryItems: [URLQueryItem(name: "sid", value: sessionid)]) + url = url.byAppendingQueryItems([URLQueryItem(name: "sid", value: sessionid)]) ?? url } JLog.debug("requesting: \(url) for \(address)") From 9daf59d0048b31a6503cebdb59424888782f1f68 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Tue, 13 Jun 2023 13:53:33 +0200 Subject: [PATCH 49/81] refactoring, logout added. --- Sources/sma2mqtt/SMALighthouse.swift | 14 ++-- Sources/sma2mqttLibrary/SMADevice.swift | 89 +++++++++++++++---------- 2 files changed, 62 insertions(+), 41 deletions(-) diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqtt/SMALighthouse.swift index 09b2ea3..2bd283d 100644 --- a/Sources/sma2mqtt/SMALighthouse.swift +++ b/Sources/sma2mqtt/SMALighthouse.swift @@ -72,15 +72,19 @@ actor SMALighthouse let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password) } smaDeviceCache[remoteAddress] = .inProgress(task) - guard let smaDevice = try? await task.value - else + do + { + let smaDevice = try await task.value + smaDeviceCache[remoteAddress] = .ready(smaDevice) + return smaDevice + } + catch { - JLog.error("\(remoteAddress): was not able to initialize - ignoring address") + JLog.error("\(remoteAddress): was not able to initialize:\(error) - ignoring address") + smaDeviceCache[remoteAddress] = .failed return nil } - smaDeviceCache[remoteAddress] = .ready(smaDevice) - return smaDevice } func shutdown() async throws { await mcastReceiver.shutdown() } diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 966b2ec..d975881 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -9,10 +9,10 @@ import AsyncHTTPClient import Foundation import JLog import NIOCore +import NIOFoundationCompat import NIOHTTP1 import NIOSSL import RegexBuilder -import NIOFoundationCompat struct GetValuesResult: Decodable { @@ -171,6 +171,7 @@ extension SMADevice { enum DeviceError: Error { + case connectionError case invalidURLError case invalidDataError(String) case invalidHTTPResponseError @@ -179,15 +180,17 @@ extension SMADevice func findOutDeviceNameAndType() async throws { - JLog.debug("findOut:\(address)") + JLog.debug("\(address):find out device type") // find out scheme - if let response = try? await data(forPath: "/"), !response.bodyData.isEmpty + if let response = try? await data(forPath: "/") { scheme = "https" } else { scheme = "http" + + let response = try await data(forPath: "/") } // SunnyHomeManager has 'Sunny Home Manager \d.\d' in http://address/legal_notices.txt @@ -243,42 +246,55 @@ extension SMADevice JLog.debug("\(address):SMA device found - logging in now") // login now + sessionid = try await login() + JLog.debug("\(address):Successfull login") + + // get first time data if true { - let headers = [("Content-Type", "application/json")] - let loginBody = try JSONSerialization.data(withJSONObject: ["right": userright.rawValue, "pass": password], options: []) - let response = try await data(forPath: "/dyn/login.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) + // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} + try await getInformationDictionary(atPath: "/dyn/getDashValues.json") + try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) + } - let decoder = JSONDecoder() - let loginResult = try decoder.decode([String: [String: String]].self, from: response.bodyData) + try await logout() + JLog.debug("\(address):Successfull logout") + } - guard let sid = loginResult["result"]?["sid"] - else - { - JLog.debug("\(address):Login failed: \(response)") + func login() async throws -> String + { + let headers = [("Content-Type", "application/json")] + let loginBody = try JSONSerialization.data(withJSONObject: ["right": userright.rawValue, "pass": password], options: []) + let response = try await data(forPath: "/dyn/login.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) - throw DeviceError.loginFailed - } - sessionid = sid - } + let decoder = JSONDecoder() + let loginResult = try decoder.decode([String: [String: String]].self, from: response.bodyData) - // get first time data - if true + guard let sid = loginResult["result"]?["sid"] as? String + else { - _ = try await getInformationDictionary(for: "/dyn/getDashValues.json") - _ = try await getInformationDictionary(for: "/dyn/getAllOnlValues.json") + JLog.debug("\(address):Login failed: \(response)") + + throw DeviceError.loginFailed } + return sid + } - JLog.debug("\(address):Successfull login") -// if let logoutURL = URL(string: "\(scheme)://\(address)/dyn/logout.json.json?sid=\(sid)") { _ = try? await session.data(from: logoutURL) } + func logout() async throws + { + let headers = [("Content-Type", "application/json")] + try await data(forPath: "/dyn/logout.json", headers: .init(headers), httpMethod: .POST, requestBody: nil) } - func getInformationDictionary(for path: String) async throws -> [String: [String: Codable]] + @discardableResult + func getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: [String: Codable]] { let headers = [("Content-Type", "application/json")] - let loginBody = try JSONSerialization.data(withJSONObject: ["destDev": [String]()], options: []) + + let postDictionary = requestIds.isEmpty ? ["destDev": [String]()] : ["destDev": [String](), "keys": requestIds] + let loginBody = try JSONSerialization.data(withJSONObject: postDictionary, options: []) let response = try await data(forPath: path, headers: .init(headers), httpMethod: .POST, requestBody: loginBody) -// // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} JLog.trace("body:\(String(data: response.bodyData, encoding: .utf8) ?? response.bodyData.hexDump)") let decoder = JSONDecoder() @@ -305,11 +321,13 @@ extension SMADevice dictionary["write"] = objectDefinition.WriteLevel // dictionary["scale"] = objectDefinition.Scale ?? Decimal(1.0) - let units = translate(tag: objectDefinition.Unit) - - if !units.isEmpty + if let unit = objectDefinition.Unit { - dictionary["unit"] = units.count == 1 ? units.first : units + dictionary["unit"] = translate(tag: unit).first + } + if let eventID = objectDefinition.TagIdEventMsg + { + dictionary["event"] = translate(tag: eventID).first } var pathComponents: [String] = [inverter.key] @@ -317,10 +335,6 @@ extension SMADevice pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } - if let eventID = objectDefinition.TagIdEventMsg - { - dictionary["event"] = translate(tag: eventID) - } var decimalValues = [Decimal?]() var stringValues = [String]() @@ -369,6 +383,7 @@ extension SMADevice return retrievedInformation } + @discardableResult func string(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyString: String) { let (headers, data) = try await data(forPath: path, headers: headers, httpMethod: httpMethod, requestBody: requestBody) @@ -380,11 +395,13 @@ extension SMADevice return (headers: headers, bodyString: string) } + @discardableResult func data(forPath path: String, headers: HTTPHeaders = .init(), httpMethod: HTTPMethod = .GET, requestBody: Data? = nil) async throws -> (headers: HTTPHeaders, bodyData: Data) { guard var url = URL(string: "\(scheme)://\(address)\(path.hasPrefix("/") ? path : "/" + path)") - else { - throw DeviceError.invalidURLError + else + { + throw DeviceError.invalidURLError } if let sessionid @@ -426,7 +443,7 @@ extension SMADevice } return (headers: response.headers, bodyData: bodyData) } - throw DeviceError.invalidURLError + throw DeviceError.connectionError } func translate(tag: Int?) -> [String] { translate(tags: [tag]) } From 6c481b67d05d06c5a6d10853206a1886bcfc1904 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 14 Jun 2023 15:45:49 +0200 Subject: [PATCH 50/81] Find out Device Name by using the objectdefinitions provided. --- Sources/sma2mqtt/sma2mqtt.swift | 21 ++++++++--- Sources/sma2mqttLibrary/SMADevice.swift | 49 ++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index d6265e9..493b2b6 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -3,13 +3,16 @@ import Foundation import JLog import Logging +extension Logger.Level : ExpressibleByArgument {} +#if DEBUG + let defaultLoglevel:Logger.Level = .debug +#else + let defaultLoglevel:Logger.Level = .notice +#endif + @main struct sma2mqtt: AsyncParsableCommand { - #if DEBUG - @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "debug" - #else - @Option(name: .shortAndLong, help: "optional debug output") var debug: String = "notice" - #endif + @Option(help: "Set the log level.") var logLevel: Logger.Level = defaultLoglevel @Flag(name: .long, help: "send json output to stdout") var json: Bool = false @@ -42,7 +45,13 @@ import Logging func run() async throws { var sunnyHomeManagers = [SMALighthouse]() - JLog.loglevel = Logger.Level(rawValue: debug) ?? Logger.Level.notice + JLog.loglevel = logLevel + + if logLevel != defaultLoglevel + { + JLog.info("Loglevel: \(logLevel)") + } + let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) let multicastGroups = [ // "239.12.0.78", diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index d975881..526cfbd 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -107,8 +107,8 @@ public actor SMADevice public var name: String public var type: DeviceType = .unknown - private var smaObjectDefinitions: [String: SMADataObject]! - private var translations: [Int: String]! + private(set) var smaObjectDefinitions: [String: SMADataObject]! + private(set) var translations: [Int: String]! private var sessionid: String? public enum UserRight: String @@ -250,12 +250,25 @@ extension SMADevice JLog.debug("\(address):Successfull login") // get first time data + if let deviceName = try await getDeviceName(), !deviceName.isEmpty + { + name = deviceName + } + if true { // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} try await getInformationDictionary(atPath: "/dyn/getDashValues.json") try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) + let allKeys = smaObjectDefinitions.keys.compactMap{ $0 as String} + + for i in stride(from: 0, to: allKeys.count, by: 10) + { + let end = min(i + 10, allKeys.count) + let keys = Array(allKeys[i.. String? + { + let paths = smaObjectDefinitions.mapValues{ + var tags = $0.TagHier + tags.append($0.TagId) + return translate(tags:tags).map{ $0.lowercased() }.joined(separator:"/").replacing(#/ /#){ _ in "-" } + } + JLog.trace("Devicename paths:\(paths)") + let devicenameKeys = paths.filter{ $0.value.hasSuffix("type-label/device-name") }.map{ $0.key } + JLog.trace("Devicename keys:\(devicenameKeys)") + + guard !devicenameKeys.isEmpty + else + { + JLog.error("\(address) no type-label/device-name in smaDefinitions found - can't figure out name of device") + return nil + } + + let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys ) + JLog.trace("deviceNameDictionary:\(deviceNameDictionary)") + if let deviceName = deviceNameDictionary.first(where: {$0.key.hasSuffix("type-label/device-name") && !$0.value.isEmpty })?.key + { + JLog.trace("devicename: \(deviceName)") + return deviceName + } + JLog.notice("could not get deviceName.") + + return nil + } + func logout() async throws { let headers = [("Content-Type", "application/json")] @@ -293,6 +336,8 @@ extension SMADevice let headers = [("Content-Type", "application/json")] let postDictionary = requestIds.isEmpty ? ["destDev": [String]()] : ["destDev": [String](), "keys": requestIds] + + JLog.trace("keys:\(requestIds)") let loginBody = try JSONSerialization.data(withJSONObject: postDictionary, options: []) let response = try await data(forPath: path, headers: .init(headers), httpMethod: .POST, requestBody: loginBody) From fe08e1adaa8969c7e26eda43c971e572799eb222 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 14 Jun 2023 17:09:09 +0200 Subject: [PATCH 51/81] changed unknown tags to print integer value instead of hex value as object files contain int values as well. --- Sources/sma2mqttLibrary/SMADevice.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 526cfbd..29a604f 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -496,7 +496,7 @@ extension SMADevice { if let tags = tags as? [Int] { - return tags.map { translations[$0] ?? "tag(\(String($0, radix: 16)))" } + return tags.map { translations[$0] ?? "tag-\(String($0))" } } return [String]() } From 6068d67fdfad39571ba8f0f0ff74c3b6da2de9c6 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Thu, 15 Jun 2023 16:30:27 +0200 Subject: [PATCH 52/81] catch error getting every key there is. --- Sources/sma2mqtt/sma2mqtt.swift | 6 ++--- Sources/sma2mqttLibrary/SMADevice.swift | 31 +++++++++++++++---------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 493b2b6..14efbb3 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -3,11 +3,11 @@ import Foundation import JLog import Logging -extension Logger.Level : ExpressibleByArgument {} +extension Logger.Level: ExpressibleByArgument {} #if DEBUG - let defaultLoglevel:Logger.Level = .debug + let defaultLoglevel: Logger.Level = .debug #else - let defaultLoglevel:Logger.Level = .notice + let defaultLoglevel: Logger.Level = .notice #endif @main struct sma2mqtt: AsyncParsableCommand diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 29a604f..988172e 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -261,13 +261,19 @@ extension SMADevice try await getInformationDictionary(atPath: "/dyn/getDashValues.json") try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) - let allKeys = smaObjectDefinitions.keys.compactMap{ $0 as String} + let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } - for i in stride(from: 0, to: allKeys.count, by: 10) + for key in allKeys { - let end = min(i + 10, allKeys.count) - let keys = Array(allKeys[i.. String? { - let paths = smaObjectDefinitions.mapValues{ + let paths = smaObjectDefinitions.mapValues + { var tags = $0.TagHier tags.append($0.TagId) - return translate(tags:tags).map{ $0.lowercased() }.joined(separator:"/").replacing(#/ /#){ _ in "-" } + return translate(tags: tags).map { $0.lowercased() }.joined(separator: "/").replacing(#/ /#) { _ in "-" } } JLog.trace("Devicename paths:\(paths)") - let devicenameKeys = paths.filter{ $0.value.hasSuffix("type-label/device-name") }.map{ $0.key } + let devicenameKeys = paths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) JLog.trace("Devicename keys:\(devicenameKeys)") guard !devicenameKeys.isEmpty @@ -312,9 +319,9 @@ extension SMADevice return nil } - let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys ) + let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys) JLog.trace("deviceNameDictionary:\(deviceNameDictionary)") - if let deviceName = deviceNameDictionary.first(where: {$0.key.hasSuffix("type-label/device-name") && !$0.value.isEmpty })?.key + if let deviceName = deviceNameDictionary.first(where: { $0.key.hasSuffix("type-label/device-name") && !$0.value.isEmpty })?.key { JLog.trace("devicename: \(deviceName)") return deviceName @@ -380,7 +387,6 @@ extension SMADevice pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } - var decimalValues = [Decimal?]() var stringValues = [String]() var tagValues = [String]() @@ -409,7 +415,8 @@ extension SMADevice } else { - JLog.error("\(address):neiter number nor string Values in \(objectId.value)") + dictionary["value"] = nil + JLog.error("\(address):neither number nor string Values in \(objectId)") } JLog.trace("\(dictionary)") From c089abf7483207a091f28b74fccc20e294aa2840 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 16 Jun 2023 06:35:13 +0200 Subject: [PATCH 53/81] Moved Lighthouse and MQTT Publisher to library --- Package.swift | 6 +++--- Sources/sma2mqtt/sma2mqtt.swift | 1 + .../MQTTPublisher.swift | 6 +++--- .../MutlicastReceiver.swift | 0 Sources/sma2mqttLibrary/SMADevice.swift | 1 + .../SMALighthouse.swift | 10 +++++----- Tests/sma2mqttTests/SMAObjectTests.swift | 14 ++++++++++++++ 7 files changed, 27 insertions(+), 11 deletions(-) rename Sources/{sma2mqtt => sma2mqttLibrary}/MQTTPublisher.swift (81%) rename Sources/{sma2mqtt => sma2mqttLibrary}/MutlicastReceiver.swift (100%) rename Sources/{sma2mqtt => sma2mqttLibrary}/SMALighthouse.swift (90%) diff --git a/Package.swift b/Package.swift index 69f7e24..833a116 100644 --- a/Package.swift +++ b/Package.swift @@ -31,9 +31,6 @@ let package = Package( dependencies: [ "sma2mqttLibrary", .product(name: "ArgumentParser", package: "swift-argument-parser"), - .product(name: "BinaryCoder", package: "BinaryCoder"), - .product(name: "NIO", package: "swift-nio"), - .product(name: "MQTTNIO", package: "mqtt-nio"), .product(name: "JLog", package: "JLog"), ] ), @@ -41,8 +38,11 @@ let package = Package( name: "sma2mqttLibrary", dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), +// .product(name: "BinaryCoder", package: "BinaryCoder"), + .product(name: "NIO", package: "swift-nio"), .product(name: "NIOSSL", package: "swift-nio-ssl"), .product(name: "AsyncHTTPClient", package: "async-http-client"), + .product(name: "MQTTNIO", package: "mqtt-nio"), .product(name: "JLog", package: "JLog"), ], resources: [ diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 14efbb3..992f6aa 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -2,6 +2,7 @@ import ArgumentParser import Foundation import JLog import Logging +import sma2mqttLibrary extension Logger.Level: ExpressibleByArgument {} #if DEBUG diff --git a/Sources/sma2mqtt/MQTTPublisher.swift b/Sources/sma2mqttLibrary/MQTTPublisher.swift similarity index 81% rename from Sources/sma2mqtt/MQTTPublisher.swift rename to Sources/sma2mqttLibrary/MQTTPublisher.swift index a7c263e..4557d0e 100644 --- a/Sources/sma2mqtt/MQTTPublisher.swift +++ b/Sources/sma2mqttLibrary/MQTTPublisher.swift @@ -10,7 +10,7 @@ import JLog import MQTTNIO import NIO -actor MQTTPublisher +public actor MQTTPublisher { let mqttClient: MQTTClient let emitInterval: Double @@ -18,7 +18,7 @@ actor MQTTPublisher let mqttQueue = DispatchQueue(label: "mqttQueue") var lasttimeused = [String: Date]() - init(hostname: String, port: Int, username: String? = nil, password _: String? = nil, emitInterval: Double = 1.0, baseTopic: String = "") async throws + public init(hostname: String, port: Int, username: String? = nil, password _: String? = nil, emitInterval: Double = 1.0, baseTopic: String = "") async throws { self.emitInterval = emitInterval self.baseTopic = baseTopic @@ -28,7 +28,7 @@ actor MQTTPublisher mqttQueue.async { _ = self.mqttClient.connect() } } - func publish(to topic: String, payload: String, qos: MQTTQoS, retain: Bool) async throws + public func publish(to topic: String, payload: String, qos: MQTTQoS, retain: Bool) async throws { let topic = "\(baseTopic)/\(topic)" diff --git a/Sources/sma2mqtt/MutlicastReceiver.swift b/Sources/sma2mqttLibrary/MutlicastReceiver.swift similarity index 100% rename from Sources/sma2mqtt/MutlicastReceiver.swift rename to Sources/sma2mqttLibrary/MutlicastReceiver.swift diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 988172e..6b8325d 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -14,6 +14,7 @@ import NIOHTTP1 import NIOSSL import RegexBuilder + struct GetValuesResult: Decodable { enum Value: Decodable diff --git a/Sources/sma2mqtt/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift similarity index 90% rename from Sources/sma2mqtt/SMALighthouse.swift rename to Sources/sma2mqttLibrary/SMALighthouse.swift index 2bd283d..cbdf3e7 100644 --- a/Sources/sma2mqtt/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -9,7 +9,7 @@ import Foundation import JLog import sma2mqttLibrary -actor SMALighthouse +public actor SMALighthouse { let password: String let bindAddress: String @@ -30,7 +30,7 @@ actor SMALighthouse var lastDiscoveryRequestDate = Date.distantPast let disoveryRequestInterval = 10.0 - init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws + public init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws { self.password = password self.bindAddress = bindAddress @@ -52,7 +52,7 @@ actor SMALighthouse } } - func remote(for remoteAddress: String) async -> SMADevice? + public func remote(for remoteAddress: String) async -> SMADevice? { if let cacheEntry = smaDeviceCache[remoteAddress] { @@ -87,7 +87,7 @@ actor SMALighthouse } } - func shutdown() async throws { await mcastReceiver.shutdown() } + public func shutdown() async throws { await mcastReceiver.shutdown() } private func sendDiscoveryPacketIfNeeded() async { @@ -101,7 +101,7 @@ actor SMALighthouse lastDiscoveryRequestDate = Date() } - func receiveNext() async throws + public func receiveNext() async throws { // await sendDiscoveryPacketIfNeeded() diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index b74cb54..521dbff 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -54,4 +54,18 @@ final class SMAObjectTests: XCTestCase // try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) } + + func testSMAdefinition() async throws + { + let smaObjectDefinitions = SMADataObject.defaultDataObjects + let keys = smaObjectDefinitions.keys.compactMap { $0 as String } + let first = keys.first + print(first) + } + + func testSMAName() async throws + { + let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) + let definitions = await smaDevice.smaObjectDefinitions + } } From 700f427bc06403ad60b0ca378463d97c1aeca584 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 17 Jun 2023 08:38:04 +0200 Subject: [PATCH 54/81] first version that publishes via mqtt. --- Package.swift | 1 - Sources/sma2mqtt/sma2mqtt.swift | 4 +- Sources/sma2mqttLibrary/MQTTPublisher.swift | 11 +- Sources/sma2mqttLibrary/SMADevice.swift | 222 ++++++++++++++------ Sources/sma2mqttLibrary/SMALighthouse.swift | 3 +- Tests/sma2mqttTests/SMAObjectTests.swift | 4 +- 6 files changed, 170 insertions(+), 75 deletions(-) diff --git a/Package.swift b/Package.swift index 833a116..1c0425a 100644 --- a/Package.swift +++ b/Package.swift @@ -38,7 +38,6 @@ let package = Package( name: "sma2mqttLibrary", dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), -// .product(name: "BinaryCoder", package: "BinaryCoder"), .product(name: "NIO", package: "swift-nio"), .product(name: "NIOSSL", package: "swift-nio-ssl"), .product(name: "AsyncHTTPClient", package: "async-http-client"), diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 992f6aa..4411bbf 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -28,9 +28,9 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") var interval: Double = 1.0 #if DEBUG - @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "example/sma/sunnymanager" + @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "example/sma/" #else - @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "sma/sunnymanager" + @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "sma/" #endif @Option(name: .long, help: "Multicast Binding Listening Interface Address.") var bindAddress: String = "0.0.0.0" diff --git a/Sources/sma2mqttLibrary/MQTTPublisher.swift b/Sources/sma2mqttLibrary/MQTTPublisher.swift index 4557d0e..d06aec6 100644 --- a/Sources/sma2mqttLibrary/MQTTPublisher.swift +++ b/Sources/sma2mqttLibrary/MQTTPublisher.swift @@ -10,7 +10,12 @@ import JLog import MQTTNIO import NIO -public actor MQTTPublisher +public protocol SMAPublisher +{ + func publish(to topic: String, payload: String, qos: MQTTQoS, retain: Bool) async throws +} + +public actor MQTTPublisher: SMAPublisher { let mqttClient: MQTTClient let emitInterval: Double @@ -21,7 +26,7 @@ public actor MQTTPublisher public init(hostname: String, port: Int, username: String? = nil, password _: String? = nil, emitInterval: Double = 1.0, baseTopic: String = "") async throws { self.emitInterval = emitInterval - self.baseTopic = baseTopic + self.baseTopic = baseTopic.hasSuffix("/") ? String(baseTopic.dropLast(1)) : baseTopic mqttClient = MQTTClient(host: hostname, port: port, identifier: ProcessInfo.processInfo.processName, eventLoopGroupProvider: .createNew, configuration: .init(userName: username, password: "")) @@ -30,7 +35,7 @@ public actor MQTTPublisher public func publish(to topic: String, payload: String, qos: MQTTQoS, retain: Bool) async throws { - let topic = "\(baseTopic)/\(topic)" + let topic = baseTopic + "/" + topic let timenow = Date() let lasttime = lasttimeused[topic, default: .distantPast] diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 6b8325d..4639f32 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -14,7 +14,6 @@ import NIOHTTP1 import NIOSSL import RegexBuilder - struct GetValuesResult: Decodable { enum Value: Decodable @@ -99,6 +98,7 @@ public actor SMADevice let address: String let userright: UserRight let password: String + let publisher: SMAPublisher? public var lastSeen = Date.distantPast @@ -129,11 +129,12 @@ public actor SMADevice case hybridinverter } - public init(address: String, userright: UserRight = .user, password: String = "00000") async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher?) async throws { self.address = address self.userright = userright self.password = password + self.publisher = publisher name = address httpClient = HTTPClientProvider.sharedHttpClient try await findOutDeviceNameAndType() @@ -145,6 +146,86 @@ public actor SMADevice // } } +public struct PublishedValue: Encodable +{ + let id: String + let prio: Int + let write: Int + var unit: String? + var scale: Decimal? + var event: String? + var values: [GetValuesResult.Value] + + var stringValue: String? + { + if values.count == 1, + case let .stringValue(stringValue) = values.first + { + return stringValue + } + return nil + } + + public func encode(to encoder: Encoder) throws + { + enum CodingKeys: String, CodingKey { case id, prio, write, unit, scale, event, value } + var container = encoder.container(keyedBy: CodingKeys.self) + + try container.encode(id, forKey: .id) + try container.encode(prio, forKey: .prio) + try container.encode(write, forKey: .write) + try container.encode(unit, forKey: .unit) + try container.encode(scale, forKey: .scale) + try container.encode(event, forKey: .event) + + let compacted = values.compactMap { $0 } + switch compacted.first + { + case .stringValue: + let stringValues: [String?] = values.map + { + if case let .stringValue(value) = $0 + { + return value + } + return nil + } + if stringValues.count > 1 + { + try container.encode(stringValues, forKey: .value) + } + else + { + try container.encode(stringValues.first, forKey: .value) + } + + case .intValue: + let intValues: [Int?] = values.map + { + if case let .intValue(value) = $0 + { + return value + } + return nil + } + if intValues.count > 1 + { + try container.encode(intValues, forKey: .value) + } + else + { + try container.encode(intValues.first, forKey: .value) + } + + case let .tagValues(values): try container.encode(values, forKey: .value) + + case nil: let value: Int? = nil; try container.encode(value, forKey: .value) + } + } +} + +// extension PublishedValue:Encodable {} + public extension SMADevice { func receivedData(_ data: Data) -> SMAPacket? @@ -183,7 +264,7 @@ extension SMADevice { JLog.debug("\(address):find out device type") // find out scheme - if let response = try? await data(forPath: "/") + if let _ = try? await data(forPath: "/") { scheme = "https" } @@ -191,7 +272,7 @@ extension SMADevice { scheme = "http" - let response = try await data(forPath: "/") + try await data(forPath: "/") } // SunnyHomeManager has 'Sunny Home Manager \d.\d' in http://address/legal_notices.txt @@ -260,22 +341,23 @@ extension SMADevice { // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} try await getInformationDictionary(atPath: "/dyn/getDashValues.json") - try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") - try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) - let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } - - for key in allKeys - { - do - { - try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) - } - catch - { - JLog.error("\(address) request failed for key:\(key)") - } - try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) - } +// try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + +// try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) +// let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } + +// for key in allKeys +// { +// do +// { +// try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) +// } +// catch +// { +// JLog.error("\(address) request failed for key:\(key)") +// } +// try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) +// } } try await logout() @@ -322,7 +404,8 @@ extension SMADevice let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys) JLog.trace("deviceNameDictionary:\(deviceNameDictionary)") - if let deviceName = deviceNameDictionary.first(where: { $0.key.hasSuffix("type-label/device-name") && !$0.value.isEmpty })?.key + + if let deviceName = deviceNameDictionary.first(where: { $0.key.hasSuffix("type-label/device-name") && !($0.value.stringValue?.isEmpty ?? true) })?.value.stringValue { JLog.trace("devicename: \(deviceName)") return deviceName @@ -339,7 +422,7 @@ extension SMADevice } @discardableResult - func getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: [String: Codable]] + func getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] { let headers = [("Content-Type", "application/json")] @@ -355,7 +438,7 @@ extension SMADevice JLog.trace("values:\(getValuesResult)") - var retrievedInformation = [String: [String: Codable]]() + var retrievedInformation = [String: PublishedValue]() for inverter in getValuesResult.result { @@ -367,61 +450,70 @@ extension SMADevice if let objectDefinition = smaObjectDefinitions[objectId.key] { - var dictionary = [String: Codable]() - - dictionary["object"] = objectId.key - dictionary["prio"] = objectDefinition.Prio - dictionary["write"] = objectDefinition.WriteLevel - + var singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, scale: objectDefinition.Scale, values: objectId.value.values) // dictionary["scale"] = objectDefinition.Scale ?? Decimal(1.0) if let unit = objectDefinition.Unit { - dictionary["unit"] = translate(tag: unit).first + singleValue.unit = translate(tag: unit).first } if let eventID = objectDefinition.TagIdEventMsg { - dictionary["event"] = translate(tag: eventID).first + singleValue.event = translate(tag: eventID).first } - var pathComponents: [String] = [inverter.key] + var pathComponents: [String] = [name] pathComponents.append(contentsOf: translate(tags: objectDefinition.TagHier)) pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } - var decimalValues = [Decimal?]() - var stringValues = [String]() - var tagValues = [String]() - - for (_, singlevalue) in objectId.value.values.enumerated() - { - switch singlevalue - { - case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) - case let .stringValue(value): stringValues.append(value) - case let .tagValues(values): tagValues.append(contentsOf: translate(tags: values)) - } - } - - if !decimalValues.isEmpty - { - dictionary["value"] = decimalValues.count == 1 ? decimalValues.first : decimalValues - } - else if !stringValues.isEmpty - { - dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues - } - else if !tagValues.isEmpty +// var decimalValues = [Decimal?]() +// var stringValues = [String]() +// var tagValues = [String]() +// +// let values = objectId.value.values +// singleValue.value = objectId.value.values + +// for (_, singlevalue) in objectId.value.values.enumerated() +// { +// switch singlevalue +// { +// case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) +// case let .stringValue(value): stringValues.append(value) +// case let .tagValues(values): tagValues.append(contentsOf: translate(tags: values)) +// } +// } +// +// if !decimalValues.isEmpty +// { +// switch decimalValues.count +// { +// 1: singleValue.value = decimalValues +// dictionary["value"] = decimalValues.count == 1 ? decimalValues.first : decimalValues +// } +// else if !stringValues.isEmpty +// { +// dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues +// } +// else if !tagValues.isEmpty +// { +// dictionary["value"] = tagValues.count == 1 ? tagValues.first : tagValues +// } +// else +// { +// dictionary["value"] = nil +// JLog.error("\(address):neither number nor string Values in \(objectId)") +// } +// JLog.trace("\(singleValue)") + + retrievedInformation[path] = singleValue + do { - dictionary["value"] = tagValues.count == 1 ? tagValues.first : tagValues + try await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: true) } - else + catch { - dictionary["value"] = nil - JLog.error("\(address):neither number nor string Values in \(objectId)") + JLog.error("\(address): could not convert to json error:\(error) singleValue:\(singleValue)") } - JLog.trace("\(dictionary)") - - retrievedInformation[path] = dictionary } else { @@ -429,9 +521,9 @@ extension SMADevice } } } - let data = try! JSONSerialization.data(withJSONObject: retrievedInformation, options: []) - - JLog.debug("retrieved:\(String(data: data, encoding: .utf8) ?? "")") +// let data = try! JSONSerialization.data(withJSONObject: retrievedInformation, options: []) +// +// JLog.debug("retrieved:\(String(data: data, encoding: .utf8) ?? "")") return retrievedInformation } diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index cbdf3e7..9c03e57 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -7,7 +7,6 @@ import Foundation import JLog -import sma2mqttLibrary public actor SMALighthouse { @@ -69,7 +68,7 @@ public actor SMALighthouse JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password) } + let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher) } smaDeviceCache[remoteAddress] = .inProgress(task) do diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index 521dbff..c1582f2 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -47,7 +47,7 @@ final class SMAObjectTests: XCTestCase func testSMAInverter() async throws { - let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) + let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword, publisher: nil) let description = await smaDevice.description // print("\(description)") await smaDevice.values() @@ -65,7 +65,7 @@ final class SMAObjectTests: XCTestCase func testSMAName() async throws { - let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword) + let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword, publisher: nil) let definitions = await smaDevice.smaObjectDefinitions } } From dd834d0724d153aa84da7b49c0bcc50cecf15853 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 17 Jun 2023 15:42:31 +0200 Subject: [PATCH 55/81] got output of SunnyManager back working --- Sources/sma2mqttLibrary/Extensions.swift | 2 +- Sources/sma2mqttLibrary/SMADevice.swift | 26 ++++++++++++--- Sources/sma2mqttLibrary/SMALighthouse.swift | 37 +++++++++++---------- 3 files changed, 42 insertions(+), 23 deletions(-) diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index a8d4540..05dd925 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -47,7 +47,7 @@ public extension Encodable var json: String { let jsonEncoder = JSONEncoder() - jsonEncoder.outputFormatting = [.sortedKeys, .prettyPrinted] + jsonEncoder.outputFormatting = [.sortedKeys] let jsonData = try? jsonEncoder.encode(self) return jsonData != nil ? String(data: jsonData!, encoding: .utf8) ?? "" : "" } diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 4639f32..783e368 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -8,6 +8,7 @@ import AsyncHTTPClient import Foundation import JLog +import NIO import NIOCore import NIOFoundationCompat import NIOHTTP1 @@ -106,7 +107,9 @@ public actor SMADevice var scheme = "https" let httpClient: HTTPClient + private var hasDeviceName = false public var name: String + public var type: DeviceType = .unknown private(set) var smaObjectDefinitions: [String: SMADataObject]! private(set) var translations: [Int: String]! @@ -228,10 +231,12 @@ public struct PublishedValue: Encodable public extension SMADevice { - func receivedData(_ data: Data) -> SMAPacket? + func receivedData(_ data: Data) async -> SMAPacket? { lastSeen = Date() + guard hasDeviceName else { return nil } + guard !data.isEmpty else { @@ -245,6 +250,15 @@ public extension SMADevice JLog.error("did not decode") return nil } + + for obisvalue in smaPacket.obis + { + if obisvalue.mqtt != .invisible + { + try? await publisher?.publish(to: name + "/" + obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) + } + } + return smaPacket } } @@ -271,8 +285,6 @@ extension SMADevice else { scheme = "http" - - try await data(forPath: "/") } // SunnyHomeManager has 'Sunny Home Manager \d.\d' in http://address/legal_notices.txt @@ -286,11 +298,13 @@ extension SMADevice JLog.debug("\(address):SMA device found: Sunny Home Manager, version:\(version)") name = "sunnymanager" type = .sunnyhomemanager + hasDeviceName = true return } JLog.debug("\(address):legal no match") } JLog.debug("\(address):not homemanager") +// try await data(forPath: "/") do { @@ -336,6 +350,7 @@ extension SMADevice { name = deviceName } + hasDeviceName = true if true { @@ -508,7 +523,10 @@ extension SMADevice retrievedInformation[path] = singleValue do { - try await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: true) + if hasDeviceName + { + try await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: true) + } } catch { diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 9c03e57..2b0596d 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -115,26 +115,27 @@ public actor SMALighthouse JLog.debug("\(packet.sourceAddress) ignoring as failed to initialize device") return } - +// Task.detached { - if let smaPacket = await smaDevice.receivedData(packet.data) - { - for obisvalue in smaPacket.obis - { - if obisvalue.mqtt != .invisible - { - try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) - } - - if self.jsonOutput - { - var obisvalue = obisvalue - obisvalue.includeTopicInJSON = true - print("\(obisvalue.json)") - } - } - } + await smaDevice.receivedData(packet.data) } +// { +// for obisvalue in smaPacket.obis +// { +// if obisvalue.mqtt != .invisible +// { +// try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) +// } +// +// if self.jsonOutput +// { +// var obisvalue = obisvalue +// obisvalue.includeTopicInJSON = true +// print("\(obisvalue.json)") +// } +// } +// } +// } } } From a3c17b878c3f4a55eff55e43fc68c19b13076654 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 17 Jun 2023 19:45:10 +0200 Subject: [PATCH 56/81] added option to filter only interesting paths. --- Sources/sma2mqtt/sma2mqtt.swift | 13 ++ Sources/sma2mqttLibrary/SMADevice.swift | 189 +++++++++++--------- Sources/sma2mqttLibrary/SMALighthouse.swift | 6 +- 3 files changed, 126 insertions(+), 82 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 4411bbf..4319d85 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -43,6 +43,18 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" + @Option(name: .long, help: "Paths we are interested to update") var interestingPaths: [String] = [ "dc-side/dc-measurements/power", + "ac-side/grid-measurements/power", + "immediate/feedin", + "immediate/usage", + "immediate/gridfrequency", + "battery/state-of-charge", + "battery/battery-charge", + "battery/present-battery-charge", + "battery/present-battery-discharge", + "battery/battery/temperature", + "inverter/temperature" + ] func run() async throws { var sunnyHomeManagers = [SMALighthouse]() @@ -77,6 +89,7 @@ extension Logger.Level: ExpressibleByArgument {} bindAddress: bindAddress, bindPort: bindPort, password: inverterPassword, + interestingPaths: interestingPaths, jsonOutput: json) sunnyHomeManagers.append(sunnyHome) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 783e368..f24fb69 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -100,6 +100,8 @@ public actor SMADevice let userright: UserRight let password: String let publisher: SMAPublisher? + let interestingPaths:[String] + var objectsToQueryContinously = Set() public var lastSeen = Date.distantPast @@ -114,6 +116,7 @@ public actor SMADevice private(set) var smaObjectDefinitions: [String: SMADataObject]! private(set) var translations: [Int: String]! private var sessionid: String? + private var refreshTask: Task? public enum UserRight: String { @@ -132,15 +135,34 @@ public actor SMADevice case hybridinverter } - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher?) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil,interestingPaths:[String] = []) async throws { self.address = address self.userright = userright self.password = password self.publisher = publisher + self.interestingPaths = interestingPaths name = address httpClient = HTTPClientProvider.sharedHttpClient try await findOutDeviceNameAndType() + if !objectsToQueryContinously.isEmpty + { + refreshTask = Task.detached { + var errorcounter = 0 + while errorcounter < 100 + { + do { + try await Task.sleep(nanoseconds: UInt64(10 * NSEC_PER_SEC) ) + try await self.queryInterestingObjects() + errorcounter = 0 + } catch { + JLog.error("\(address): Failed to query interesting objects: \(error)") + errorcounter += 1 + } + } + JLog.error("\(address): too many erros") + } + } } // deinit @@ -151,13 +173,13 @@ public actor SMADevice public struct PublishedValue: Encodable { - let id: String - let prio: Int - let write: Int - var unit: String? - var scale: Decimal? - var event: String? - var values: [GetValuesResult.Value] +// let id: String +// let prio: Int +// let write: Int + let unit: String? + let scale: Decimal? +// let event: String? + let values: [GetValuesResult.Value] var stringValue: String? { @@ -169,17 +191,19 @@ public struct PublishedValue: Encodable return nil } + + public func encode(to encoder: Encoder) throws { - enum CodingKeys: String, CodingKey { case id, prio, write, unit, scale, event, value } + enum CodingKeys: String, CodingKey { case unit, scale, value } // id, prio, write, event, value } var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(id, forKey: .id) - try container.encode(prio, forKey: .prio) - try container.encode(write, forKey: .write) +// try container.encode(id, forKey: .id) +// try container.encode(prio, forKey: .prio) +// try container.encode(write, forKey: .write) try container.encode(unit, forKey: .unit) try container.encode(scale, forKey: .scale) - try container.encode(event, forKey: .event) +// try container.encode(event, forKey: .event) let compacted = values.compactMap { $0 } switch compacted.first @@ -355,8 +379,11 @@ extension SMADevice if true { // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} + try await getInformationDictionary(atPath: "/dyn/getDashValues.json") -// try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + + // try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) // let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } @@ -375,10 +402,26 @@ extension SMADevice // } } - try await logout() + // try await logout() + JLog.debug("\(address):Successfull logout") } + func queryInterestingObjects() async throws + { + if nil == sessionid + { + JLog.debug("\(address):Will Login") + sessionid = try await login() + } + JLog.debug("\(address):Successfull login") + try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously)) +// JLog.debug("\(address):got information") +// try await logout() +// JLog.debug("\(address):Successfull logout") + } + + func login() async throws -> String { let headers = [("Content-Type", "application/json")] @@ -434,10 +477,26 @@ extension SMADevice { let headers = [("Content-Type", "application/json")] try await data(forPath: "/dyn/logout.json", headers: .init(headers), httpMethod: .POST, requestBody: nil) + sessionid = nil } @discardableResult func getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] + { + do + { + return try await _getInformationDictionary(atPath: path, requestIds: requestIds) + } + catch + { + JLog.error("\(address): Failed request - setting session to nil") + sessionid = nil + + throw error + } + + } + func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] { let headers = [("Content-Type", "application/json")] @@ -465,67 +524,37 @@ extension SMADevice if let objectDefinition = smaObjectDefinitions[objectId.key] { - var singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, scale: objectDefinition.Scale, values: objectId.value.values) -// dictionary["scale"] = objectDefinition.Scale ?? Decimal(1.0) - if let unit = objectDefinition.Unit - { - singleValue.unit = translate(tag: unit).first - } - if let eventID = objectDefinition.TagIdEventMsg + var unit : String? = nil + if let unitId = objectDefinition.Unit { - singleValue.event = translate(tag: eventID).first + unit = translate(tag: unitId).first } +// let singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) + let singleValue = PublishedValue(unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) var pathComponents: [String] = [name] pathComponents.append(contentsOf: translate(tags: objectDefinition.TagHier)) pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) - let path = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } + let mqttPath = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } + + if !objectsToQueryContinously.contains(objectId.key) + { +// !singleValue.values.compactMap{ $0 }.isEmpty + + if let _ = interestingPaths.first(where: { mqttPath.hasSuffix($0) }) + { + objectsToQueryContinously.insert(objectId.key) + } + JLog.debug("\(address): objectsToQueryContinously:\(objectsToQueryContinously)") + } + + retrievedInformation[mqttPath] = singleValue -// var decimalValues = [Decimal?]() -// var stringValues = [String]() -// var tagValues = [String]() -// -// let values = objectId.value.values -// singleValue.value = objectId.value.values - -// for (_, singlevalue) in objectId.value.values.enumerated() -// { -// switch singlevalue -// { -// case let .intValue(value): decimalValues.append(value == nil ? nil : Decimal(value!) * (objectDefinition.Scale ?? Decimal(1.0))) -// case let .stringValue(value): stringValues.append(value) -// case let .tagValues(values): tagValues.append(contentsOf: translate(tags: values)) -// } -// } -// -// if !decimalValues.isEmpty -// { -// switch decimalValues.count -// { -// 1: singleValue.value = decimalValues -// dictionary["value"] = decimalValues.count == 1 ? decimalValues.first : decimalValues -// } -// else if !stringValues.isEmpty -// { -// dictionary["value"] = stringValues.count == 1 ? stringValues.first : stringValues -// } -// else if !tagValues.isEmpty -// { -// dictionary["value"] = tagValues.count == 1 ? tagValues.first : tagValues -// } -// else -// { -// dictionary["value"] = nil -// JLog.error("\(address):neither number nor string Values in \(objectId)") -// } -// JLog.trace("\(singleValue)") - - retrievedInformation[path] = singleValue do { - if hasDeviceName + if hasDeviceName && objectsToQueryContinously.contains(objectId.key) { - try await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: true) + try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } } catch @@ -639,17 +668,17 @@ extension SMADevice } } -extension SMADevice -{ - func value(forObject _: String) - { - // if not logged in, log in - // send command - } - - func login() {} - - func sendCommand() {} - - func retrieveResults() {} -} +//extension SMADevice +//{ +// func value(forObject _: String) +// { +// // if not logged in, log in +// // send command +// } +// +// func login() {} +// +// func sendCommand() {} +// +// func retrieveResults() {} +//} diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 2b0596d..176f3df 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -13,6 +13,7 @@ public actor SMALighthouse let password: String let bindAddress: String let mqttPublisher: MQTTPublisher + let interestingPaths:[String] let jsonOutput: Bool let mcastReceiver: MulticastReceiver @@ -29,12 +30,13 @@ public actor SMALighthouse var lastDiscoveryRequestDate = Date.distantPast let disoveryRequestInterval = 10.0 - public init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", jsonOutput: Bool) async throws + public init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths:[String] = [] , jsonOutput: Bool = false) async throws { self.password = password self.bindAddress = bindAddress self.mqttPublisher = mqttPublisher self.jsonOutput = jsonOutput + self.interestingPaths = interestingPaths mcastReceiver = try MulticastReceiver(groups: multicastAddresses, bindAddress: bindAddress, listenPort: multicastPort) await mcastReceiver.startListening() @@ -68,7 +70,7 @@ public actor SMALighthouse JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher) } + let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher, interestingPaths:interestingPaths) } smaDeviceCache[remoteAddress] = .inProgress(task) do From ece5b6c2623eaa65c0a44ee66f80fe204a3f303d Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 08:06:11 +0200 Subject: [PATCH 57/81] Added SMATagTranslator for cleanup, refactoring . --- Sources/sma2mqtt/sma2mqtt.swift | 4 +- Sources/sma2mqttLibrary/SMADevice.swift | 153 +++++------------- .../sma2mqttLibrary/SMATagTranslator.swift | 85 ++++++++++ Tests/sma2mqttTests/SMAObjectTests.swift | 15 +- 4 files changed, 132 insertions(+), 125 deletions(-) create mode 100644 Sources/sma2mqttLibrary/SMATagTranslator.swift diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 4319d85..87874a1 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -52,8 +52,8 @@ extension Logger.Level: ExpressibleByArgument {} "battery/battery-charge", "battery/present-battery-charge", "battery/present-battery-discharge", - "battery/battery/temperature", - "inverter/temperature" +// "battery/battery/temperature", + "temperature", ] func run() async throws { diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index f24fb69..b1a4d10 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -113,10 +113,10 @@ public actor SMADevice public var name: String public var type: DeviceType = .unknown - private(set) var smaObjectDefinitions: [String: SMADataObject]! - private(set) var translations: [Int: String]! private var sessionid: String? private var refreshTask: Task? + private var tagTranslator = SMATagTranslator.shared + public enum UserRight: String { @@ -152,7 +152,7 @@ public actor SMADevice while errorcounter < 100 { do { - try await Task.sleep(nanoseconds: UInt64(10 * NSEC_PER_SEC) ) + try await Task.sleep(nanoseconds: UInt64(3 * NSEC_PER_SEC) ) try await self.queryInterestingObjects() errorcounter = 0 } catch { @@ -195,14 +195,14 @@ public struct PublishedValue: Encodable public func encode(to encoder: Encoder) throws { - enum CodingKeys: String, CodingKey { case unit, scale, value } // id, prio, write, event, value } + enum CodingKeys: String, CodingKey { case unit, value } //scale, id, prio, write, event, value } var container = encoder.container(keyedBy: CodingKeys.self) // try container.encode(id, forKey: .id) // try container.encode(prio, forKey: .prio) // try container.encode(write, forKey: .write) try container.encode(unit, forKey: .unit) - try container.encode(scale, forKey: .scale) +// try container.encode(scale, forKey: .scale) // try container.encode(event, forKey: .event) let compacted = values.compactMap { $0 } @@ -227,21 +227,26 @@ public struct PublishedValue: Encodable } case .intValue: - let intValues: [Int?] = values.map + let decimalValues: [Decimal?] = values.map { - if case let .intValue(value) = $0 + if case let .intValue(value) = $0, + let value = value { - return value + if let scale = scale, scale != Decimal(1) + { + return Decimal(value) * scale + } + return Decimal(value) } return nil } - if intValues.count > 1 + if decimalValues.count > 1 { - try container.encode(intValues, forKey: .value) + try container.encode(decimalValues, forKey: .value) } else { - try container.encode(intValues.first, forKey: .value) + try container.encode(decimalValues.first, forKey: .value) } case let .tagValues(values): try container.encode(values, forKey: .value) @@ -332,35 +337,14 @@ extension SMADevice do { - let response = try await string(forPath: "/data/ObjectMetadata_Istl.json") - let smaObjectDefinitions = try SMADataObject.dataObjects(from: response.bodyString) - - self.smaObjectDefinitions = smaObjectDefinitions - } - catch - { - JLog.error("\(address): no sma data object found \(error)- using default") - - smaObjectDefinitions = SMADataObject.defaultDataObjects - } - - do - { - let response = try await data(forPath: "/data/l10n/en-US.json") - let translations = try JSONDecoder().decode([String: String?].self, from: response.bodyData) + let definitionData = try await data(forPath: "/data/ObjectMetadata_Istl.json").bodyData + let translationData = try await data(forPath: "/data/l10n/en-US.json").bodyData - self.translations = Dictionary(uniqueKeysWithValues: translations.compactMap - { - guard let intvalue = Int($0) else { return nil } - guard let stringvalue = $1 else { return nil } - return (intvalue, stringvalue) - }) + self.tagTranslator = SMATagTranslator(definitionData: definitionData, translationData: translationData) } catch { - JLog.error("\(address): no translations found \(error)- using default") - - translations = SMADataObject.defaultTranslations + JLog.error("\(address): no sma definitions / translations found \(error)- using default") } JLog.debug("\(address):SMA device found - logging in now") @@ -383,23 +367,27 @@ extension SMADevice try await getInformationDictionary(atPath: "/dyn/getDashValues.json") try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + var validatedObjectids = Set() // try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) // let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } -// for key in allKeys -// { -// do -// { -// try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) -// } -// catch -// { -// JLog.error("\(address) request failed for key:\(key)") -// } -// try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) -// } + for key in objectsToQueryContinously + { + do + { + try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) + validatedObjectids.insert(key) + } + catch + { + JLog.error("\(address) request failed for key:\(key)") + } + try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) + } + JLog.trace("\(address): validated ids:\(validatedObjectids)") + objectsToQueryContinously = validatedObjectids } // try await logout() @@ -416,15 +404,12 @@ extension SMADevice } JLog.debug("\(address):Successfull login") try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously)) -// JLog.debug("\(address):got information") -// try await logout() -// JLog.debug("\(address):Successfull logout") } func login() async throws -> String { - let headers = [("Content-Type", "application/json")] + let headers = [("Content-Type", "application/json"),("Connection","keep-alive")] let loginBody = try JSONSerialization.data(withJSONObject: ["right": userright.rawValue, "pass": password], options: []) let response = try await data(forPath: "/dyn/login.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) @@ -443,15 +428,7 @@ extension SMADevice func getDeviceName() async throws -> String? { - let paths = smaObjectDefinitions.mapValues - { - var tags = $0.TagHier - tags.append($0.TagId) - return translate(tags: tags).map { $0.lowercased() }.joined(separator: "/").replacing(#/ /#) { _ in "-" } - } - JLog.trace("Devicename paths:\(paths)") - let devicenameKeys = paths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) - JLog.trace("Devicename keys:\(devicenameKeys)") + let devicenameKeys = tagTranslator.devicenameObjectIDs guard !devicenameKeys.isEmpty else @@ -463,7 +440,7 @@ extension SMADevice let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys) JLog.trace("deviceNameDictionary:\(deviceNameDictionary)") - if let deviceName = deviceNameDictionary.first(where: { $0.key.hasSuffix("type-label/device-name") && !($0.value.stringValue?.isEmpty ?? true) })?.value.stringValue + if let deviceName = deviceNameDictionary.first(where: { !($0.value.stringValue?.isEmpty ?? true) })?.value.stringValue { JLog.trace("devicename: \(deviceName)") return deviceName @@ -522,19 +499,19 @@ extension SMADevice { JLog.trace("objectId:\(objectId.key)") - if let objectDefinition = smaObjectDefinitions[objectId.key] + if let objectDefinition = tagTranslator.smaObjectDefinitions[objectId.key] { var unit : String? = nil if let unitId = objectDefinition.Unit { - unit = translate(tag: unitId).first + unit = tagTranslator.translate(tag: unitId) } // let singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) let singleValue = PublishedValue(unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) var pathComponents: [String] = [name] - pathComponents.append(contentsOf: translate(tags: objectDefinition.TagHier)) - pathComponents.append(contentsOf: translate(tag: objectDefinition.TagId)) + pathComponents.append(contentsOf: tagTranslator.translate(tags: objectDefinition.TagHier)) + pathComponents.append(tagTranslator.translate(tag: objectDefinition.TagId)) let mqttPath = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } if !objectsToQueryContinously.contains(objectId.key) @@ -637,48 +614,4 @@ extension SMADevice } throw DeviceError.connectionError } - - func translate(tag: Int?) -> [String] { translate(tags: [tag]) } - func translate(tags: [Int?]) -> [String] - { - if let tags = tags as? [Int] - { - return tags.map { translations[$0] ?? "tag-\(String($0))" } - } - return [String]() - } - - public func values() async - {} - - var description: String - { - "NO description yet" // var returnStrings = [String]() - // - // for (id,smaObject) in smaDataObjects - // { - // let tagName = translations[smaObject.TagId] ?? "tag-\( Int(smaObject.TagId) )" - // let eventName = smaObject.TagIdEventMsg != nil ? translations[smaObject.TagIdEventMsg!] ?? "event-\( Int(smaObject.TagIdEventMsg!) )" : "" - // let tagHierachy = smaObject.TagHier.map{ translations[$0] ?? "tag-\( Int($0) )" }.joined(separator:".") - // let unitName = smaObject.Unit != nil ? translations[smaObject.Unit!] ?? "unit-\( Int(smaObject.Unit!) )" : "" - // - // returnStrings.append("\(id): \(tagName) \(eventName) \(tagHierachy) \(unitName) \(smaObject.description)") - // } - // return returnStrings.joined(separator: "\n\n") - } } - -//extension SMADevice -//{ -// func value(forObject _: String) -// { -// // if not logged in, log in -// // send command -// } -// -// func login() {} -// -// func sendCommand() {} -// -// func retrieveResults() {} -//} diff --git a/Sources/sma2mqttLibrary/SMATagTranslator.swift b/Sources/sma2mqttLibrary/SMATagTranslator.swift new file mode 100644 index 0000000..707a5c8 --- /dev/null +++ b/Sources/sma2mqttLibrary/SMATagTranslator.swift @@ -0,0 +1,85 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 17.06.23. +// + +import Foundation +import JLog + +struct SMATagTranslator +{ + typealias ObjectIDString = String + + let smaObjectDefinitions: [String: SMADataObject] + let translations: [Int: String] + let objectsAndPaths : [ObjectIDString:String] + + static var shared:SMATagTranslator = { SMATagTranslator(definitionData:nil,translationData:nil) }() + +// init(smaObjectDefinitions: [String : SMADataObject] = SMADataObject.defaultDataObjects , translations: [Int : String] = SMADataObject.defaultTranslations ) { +// self.smaObjectDefinitions = smaObjectDefinitions +// self.translations = translations +// } + + init(definitionData:Data?,translationData:Data?) + { + if let definitionData, + let dataObjectsString = String(data:definitionData,encoding: .utf8), + let smaObjectDefinitions = try? SMADataObject.dataObjects(from: dataObjectsString) + { + self.smaObjectDefinitions = smaObjectDefinitions + } + else + { + self.smaObjectDefinitions = SMADataObject.defaultDataObjects + } + + let translations: [Int: String] + + if let translationData, + let rawTranslations = try? JSONDecoder().decode([String: String].self, from:translationData) + { + translations = Dictionary(uniqueKeysWithValues:rawTranslations.compactMap{ if let key = Int($0.key) { return (key,$0.value) } else { return nil } }) + } + else + { + translations = SMADataObject.defaultTranslations + } + self.translations = translations + + self.objectsAndPaths = Dictionary(uniqueKeysWithValues: self.smaObjectDefinitions.map + { + (key,value) in + var tags = value.TagHier + tags.append(value.TagId) + return ( key , tags.map { translations[$0] ?? "tag-\(String($0))" } + .map { $0.lowercased() } + .joined(separator: "/") + .replacing(#/ /#) { _ in "-" } ) + }) + + JLog.trace("Objects and Paths:\(objectsAndPaths)") + } + + + func translate(tag: Int) -> String { translations[tag] ?? "tag-\(String(tag))" } + + func translate(tags: [Int?]) -> [String] + { + if let tags = tags as? [Int] + { + return tags.map{ translate(tag:$0) } + } + return [String]() + } + + func translatePath(tags:[Int]) -> String + { + return translate(tags: tags).map { $0.lowercased() }.joined(separator: "/").replacing(#/ /#) { _ in "-" } + } + + var devicenameObjectIDs:[String] { get { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } } + +} diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index c1582f2..b1965b4 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -47,25 +47,14 @@ final class SMAObjectTests: XCTestCase func testSMAInverter() async throws { - let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword, publisher: nil) - let description = await smaDevice.description -// print("\(description)") - await smaDevice.values() - - // try await Task.sleep(nanoseconds: UInt64( Int64.max-10) ) + let _ = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword, publisher: nil) } func testSMAdefinition() async throws { let smaObjectDefinitions = SMADataObject.defaultDataObjects let keys = smaObjectDefinitions.keys.compactMap { $0 as String } - let first = keys.first - print(first) - } - func testSMAName() async throws - { - let smaDevice = try await SMADevice(address: inverterAddress, userright: .user, password: inverterPassword, publisher: nil) - let definitions = await smaDevice.smaObjectDefinitions + XCTAssertNotNil(keys.first, "Incorrectly loaded smaObjectDefinitions") } } From 77be6464601bc06009bf0f18b87a4d8e0703540d Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 09:01:18 +0200 Subject: [PATCH 58/81] Tags are now translated --- Sources/sma2mqttLibrary/SMADevice.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index b1a4d10..c71b4a4 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -181,6 +181,8 @@ public struct PublishedValue: Encodable // let event: String? let values: [GetValuesResult.Value] + let tagTranslator:SMATagTranslator + var stringValue: String? { if values.count == 1, @@ -195,13 +197,12 @@ public struct PublishedValue: Encodable public func encode(to encoder: Encoder) throws { - enum CodingKeys: String, CodingKey { case unit, value } //scale, id, prio, write, event, value } + enum CodingKeys: String, CodingKey { case unit, value, scale, id, prio, write, event } var container = encoder.container(keyedBy: CodingKeys.self) // try container.encode(id, forKey: .id) // try container.encode(prio, forKey: .prio) // try container.encode(write, forKey: .write) - try container.encode(unit, forKey: .unit) // try container.encode(scale, forKey: .scale) // try container.encode(event, forKey: .event) @@ -248,8 +249,10 @@ public struct PublishedValue: Encodable { try container.encode(decimalValues.first, forKey: .value) } + try container.encode(unit, forKey: .unit) - case let .tagValues(values): try container.encode(values, forKey: .value) + case let .tagValues(values): let translated = values.map{ $0 == nil ? nil : tagTranslator.translate(tag: $0!) } + try container.encode(translated, forKey: .value) case nil: let value: Int? = nil; try container.encode(value, forKey: .value) } @@ -507,7 +510,7 @@ extension SMADevice unit = tagTranslator.translate(tag: unitId) } // let singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) - let singleValue = PublishedValue(unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) + let singleValue = PublishedValue(unit:unit, scale: objectDefinition.Scale, values: objectId.value.values,tagTranslator: tagTranslator) var pathComponents: [String] = [name] pathComponents.append(contentsOf: tagTranslator.translate(tags: objectDefinition.TagHier)) From 5e86ad72b1fd1ae0b1891a145760fb5b1aa4260c Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 09:58:39 +0200 Subject: [PATCH 59/81] Moved unit to PublishedValue --- Sources/sma2mqtt/sma2mqtt.swift | 22 +++---- Sources/sma2mqttLibrary/SMADevice.swift | 64 +++++++++---------- Sources/sma2mqttLibrary/SMALighthouse.swift | 6 +- .../sma2mqttLibrary/SMATagTranslator.swift | 44 ++++++------- 4 files changed, 66 insertions(+), 70 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 87874a1..596041b 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -43,18 +43,18 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" - @Option(name: .long, help: "Paths we are interested to update") var interestingPaths: [String] = [ "dc-side/dc-measurements/power", - "ac-side/grid-measurements/power", - "immediate/feedin", - "immediate/usage", - "immediate/gridfrequency", - "battery/state-of-charge", - "battery/battery-charge", - "battery/present-battery-charge", - "battery/present-battery-discharge", + @Option(name: .long, help: "Paths we are interested to update") var interestingPaths: [String] = ["dc-side/dc-measurements/power", + "ac-side/grid-measurements/power", + "immediate/feedin", + "immediate/usage", + "immediate/gridfrequency", + "battery/state-of-charge", + "battery/battery-charge", + "battery/present-battery-charge", + "battery/present-battery-discharge", // "battery/battery/temperature", - "temperature", - ] + "temperature", + ] func run() async throws { var sunnyHomeManagers = [SMALighthouse]() diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index c71b4a4..c5374be 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -100,7 +100,7 @@ public actor SMADevice let userright: UserRight let password: String let publisher: SMAPublisher? - let interestingPaths:[String] + let interestingPaths: [String] var objectsToQueryContinously = Set() public var lastSeen = Date.distantPast @@ -117,7 +117,6 @@ public actor SMADevice private var refreshTask: Task? private var tagTranslator = SMATagTranslator.shared - public enum UserRight: String { case user = "usr" @@ -135,7 +134,7 @@ public actor SMADevice case hybridinverter } - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil,interestingPaths:[String] = []) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, interestingPaths: [String] = []) async throws { self.address = address self.userright = userright @@ -147,15 +146,19 @@ public actor SMADevice try await findOutDeviceNameAndType() if !objectsToQueryContinously.isEmpty { - refreshTask = Task.detached { + refreshTask = Task.detached + { var errorcounter = 0 while errorcounter < 100 { - do { - try await Task.sleep(nanoseconds: UInt64(3 * NSEC_PER_SEC) ) + do + { + try await Task.sleep(nanoseconds: UInt64(3 * NSEC_PER_SEC)) try await self.queryInterestingObjects() errorcounter = 0 - } catch { + } + catch + { JLog.error("\(address): Failed to query interesting objects: \(error)") errorcounter += 1 } @@ -176,12 +179,12 @@ public struct PublishedValue: Encodable // let id: String // let prio: Int // let write: Int - let unit: String? + let unit: Int? let scale: Decimal? // let event: String? let values: [GetValuesResult.Value] - let tagTranslator:SMATagTranslator + let tagTranslator: SMATagTranslator var stringValue: String? { @@ -193,11 +196,9 @@ public struct PublishedValue: Encodable return nil } - - public func encode(to encoder: Encoder) throws { - enum CodingKeys: String, CodingKey { case unit, value, scale, id, prio, write, event } + enum CodingKeys: String, CodingKey { case unit, value, scale, id, prio, write, event } var container = encoder.container(keyedBy: CodingKeys.self) // try container.encode(id, forKey: .id) @@ -231,9 +232,9 @@ public struct PublishedValue: Encodable let decimalValues: [Decimal?] = values.map { if case let .intValue(value) = $0, - let value = value + let value { - if let scale = scale, scale != Decimal(1) + if let scale, scale != Decimal(1) { return Decimal(value) * scale } @@ -249,10 +250,14 @@ public struct PublishedValue: Encodable { try container.encode(decimalValues.first, forKey: .value) } - try container.encode(unit, forKey: .unit) + if let unit + { + let unitString = tagTranslator.translate(tag: unit) + try container.encode(unitString, forKey: .unit) + } - case let .tagValues(values): let translated = values.map{ $0 == nil ? nil : tagTranslator.translate(tag: $0!) } - try container.encode(translated, forKey: .value) + case let .tagValues(values): let translated = values.map { $0 == nil ? nil : tagTranslator.translate(tag: $0!) } + try container.encode(translated, forKey: .value) case nil: let value: Int? = nil; try container.encode(value, forKey: .value) } @@ -343,7 +348,7 @@ extension SMADevice let definitionData = try await data(forPath: "/data/ObjectMetadata_Istl.json").bodyData let translationData = try await data(forPath: "/data/l10n/en-US.json").bodyData - self.tagTranslator = SMATagTranslator(definitionData: definitionData, translationData: translationData) + tagTranslator = SMATagTranslator(definitionData: definitionData, translationData: translationData) } catch { @@ -372,7 +377,6 @@ extension SMADevice var validatedObjectids = Set() - // try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) // let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } @@ -393,14 +397,14 @@ extension SMADevice objectsToQueryContinously = validatedObjectids } - // try await logout() + // try await logout() JLog.debug("\(address):Successfull logout") } func queryInterestingObjects() async throws { - if nil == sessionid + if sessionid == nil { JLog.debug("\(address):Will Login") sessionid = try await login() @@ -409,10 +413,9 @@ extension SMADevice try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously)) } - func login() async throws -> String { - let headers = [("Content-Type", "application/json"),("Connection","keep-alive")] + let headers = [("Content-Type", "application/json"), ("Connection", "keep-alive")] let loginBody = try JSONSerialization.data(withJSONObject: ["right": userright.rawValue, "pass": password], options: []) let response = try await data(forPath: "/dyn/login.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) @@ -443,7 +446,7 @@ extension SMADevice let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys) JLog.trace("deviceNameDictionary:\(deviceNameDictionary)") - if let deviceName = deviceNameDictionary.first(where: { !($0.value.stringValue?.isEmpty ?? true) })?.value.stringValue + if let deviceName = deviceNameDictionary.first(where: { !($0.value.stringValue?.isEmpty ?? true) })?.value.stringValue { JLog.trace("devicename: \(deviceName)") return deviceName @@ -474,8 +477,8 @@ extension SMADevice throw error } - } + func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] { let headers = [("Content-Type", "application/json")] @@ -504,20 +507,15 @@ extension SMADevice if let objectDefinition = tagTranslator.smaObjectDefinitions[objectId.key] { - var unit : String? = nil - if let unitId = objectDefinition.Unit - { - unit = tagTranslator.translate(tag: unitId) - } // let singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) - let singleValue = PublishedValue(unit:unit, scale: objectDefinition.Scale, values: objectId.value.values,tagTranslator: tagTranslator) + let singleValue = PublishedValue(unit: objectDefinition.Unit, scale: objectDefinition.Scale, values: objectId.value.values, tagTranslator: tagTranslator) var pathComponents: [String] = [name] pathComponents.append(contentsOf: tagTranslator.translate(tags: objectDefinition.TagHier)) pathComponents.append(tagTranslator.translate(tag: objectDefinition.TagId)) let mqttPath = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } - if !objectsToQueryContinously.contains(objectId.key) + if !objectsToQueryContinously.contains(objectId.key) { // !singleValue.values.compactMap{ $0 }.isEmpty @@ -532,7 +530,7 @@ extension SMADevice do { - if hasDeviceName && objectsToQueryContinously.contains(objectId.key) + if hasDeviceName, objectsToQueryContinously.contains(objectId.key) { try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 176f3df..f69fb68 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -13,7 +13,7 @@ public actor SMALighthouse let password: String let bindAddress: String let mqttPublisher: MQTTPublisher - let interestingPaths:[String] + let interestingPaths: [String] let jsonOutput: Bool let mcastReceiver: MulticastReceiver @@ -30,7 +30,7 @@ public actor SMALighthouse var lastDiscoveryRequestDate = Date.distantPast let disoveryRequestInterval = 10.0 - public init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths:[String] = [] , jsonOutput: Bool = false) async throws + public init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths: [String] = [], jsonOutput: Bool = false) async throws { self.password = password self.bindAddress = bindAddress @@ -70,7 +70,7 @@ public actor SMALighthouse JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher, interestingPaths:interestingPaths) } + let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher, interestingPaths: interestingPaths) } smaDeviceCache[remoteAddress] = .inProgress(task) do diff --git a/Sources/sma2mqttLibrary/SMATagTranslator.swift b/Sources/sma2mqttLibrary/SMATagTranslator.swift index 707a5c8..c465fe7 100644 --- a/Sources/sma2mqttLibrary/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/SMATagTranslator.swift @@ -1,6 +1,6 @@ // // File.swift -// +// // // Created by Patrick Stein on 17.06.23. // @@ -14,34 +14,34 @@ struct SMATagTranslator let smaObjectDefinitions: [String: SMADataObject] let translations: [Int: String] - let objectsAndPaths : [ObjectIDString:String] + let objectsAndPaths: [ObjectIDString: String] - static var shared:SMATagTranslator = { SMATagTranslator(definitionData:nil,translationData:nil) }() + static var shared: SMATagTranslator = .init(definitionData: nil, translationData: nil) // init(smaObjectDefinitions: [String : SMADataObject] = SMADataObject.defaultDataObjects , translations: [Int : String] = SMADataObject.defaultTranslations ) { // self.smaObjectDefinitions = smaObjectDefinitions // self.translations = translations // } - init(definitionData:Data?,translationData:Data?) + init(definitionData: Data?, translationData: Data?) { - if let definitionData, - let dataObjectsString = String(data:definitionData,encoding: .utf8), - let smaObjectDefinitions = try? SMADataObject.dataObjects(from: dataObjectsString) + if let definitionData, + let dataObjectsString = String(data: definitionData, encoding: .utf8), + let smaObjectDefinitions = try? SMADataObject.dataObjects(from: dataObjectsString) { self.smaObjectDefinitions = smaObjectDefinitions } else { - self.smaObjectDefinitions = SMADataObject.defaultDataObjects + smaObjectDefinitions = SMADataObject.defaultDataObjects } let translations: [Int: String] - if let translationData, - let rawTranslations = try? JSONDecoder().decode([String: String].self, from:translationData) + if let translationData, + let rawTranslations = try? JSONDecoder().decode([String: String].self, from: translationData) { - translations = Dictionary(uniqueKeysWithValues:rawTranslations.compactMap{ if let key = Int($0.key) { return (key,$0.value) } else { return nil } }) + translations = Dictionary(uniqueKeysWithValues: rawTranslations.compactMap { if let key = Int($0.key) { return (key, $0.value) } else { return nil } }) } else { @@ -49,37 +49,35 @@ struct SMATagTranslator } self.translations = translations - self.objectsAndPaths = Dictionary(uniqueKeysWithValues: self.smaObjectDefinitions.map + objectsAndPaths = Dictionary(uniqueKeysWithValues: smaObjectDefinitions.map { - (key,value) in + key, value in var tags = value.TagHier tags.append(value.TagId) - return ( key , tags.map { translations[$0] ?? "tag-\(String($0))" } - .map { $0.lowercased() } - .joined(separator: "/") - .replacing(#/ /#) { _ in "-" } ) + return (key, tags.map { translations[$0] ?? "tag-\(String($0))" } + .map { $0.lowercased() } + .joined(separator: "/") + .replacing(#/ /#) { _ in "-" }) }) JLog.trace("Objects and Paths:\(objectsAndPaths)") } - func translate(tag: Int) -> String { translations[tag] ?? "tag-\(String(tag))" } func translate(tags: [Int?]) -> [String] { if let tags = tags as? [Int] { - return tags.map{ translate(tag:$0) } + return tags.map { translate(tag: $0) } } return [String]() } - func translatePath(tags:[Int]) -> String + func translatePath(tags: [Int]) -> String { - return translate(tags: tags).map { $0.lowercased() }.joined(separator: "/").replacing(#/ /#) { _ in "-" } + translate(tags: tags).map { $0.lowercased() }.joined(separator: "/").replacing(#/ /#) { _ in "-" } } - var devicenameObjectIDs:[String] { get { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } } - + var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } } From 13628bbe41c740106ff633a3909a9532f8e05b4e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 12:44:51 +0200 Subject: [PATCH 60/81] cleanup. --- Sources/sma2mqtt/sma2mqtt.swift | 45 ++++----- .../Resources/obisdefinition.json | 6 +- Sources/sma2mqttLibrary/SMADevice.swift | 99 +++++++++---------- Sources/sma2mqttLibrary/SMALighthouse.swift | 39 +++----- 4 files changed, 76 insertions(+), 113 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 596041b..d03d8bf 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -43,17 +43,22 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" - @Option(name: .long, help: "Paths we are interested to update") var interestingPaths: [String] = ["dc-side/dc-measurements/power", - "ac-side/grid-measurements/power", - "immediate/feedin", - "immediate/usage", - "immediate/gridfrequency", - "battery/state-of-charge", - "battery/battery-charge", - "battery/present-battery-charge", - "battery/present-battery-discharge", -// "battery/battery/temperature", - "temperature", + @Option(name: .long, help: "Paths we are interested to update") var interestingPaths: [String] = [ + "dc-side/dc-measurements/power", + "ac-side/grid-measurements/power", + "ac-side/measured-values/daily-yield", + "immediate/feedin", + "immediate/usage", + +// "immediate/gridfrequency", + "battery/state-of-charge", +// "battery/battery-charge", +// "battery/present-battery-charge", +// "battery/present-battery-discharge", + "battery/battery/temperature", + "battery/battery/battery-charge/battery-charge", + "temperatures", + // "temperature", ] func run() async throws { @@ -66,25 +71,9 @@ extension Logger.Level: ExpressibleByArgument {} } let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) - let multicastGroups = [ - // "239.12.0.78", -// "239.12.1.105", -// "239.12.1.153", -// "239.12.1.55", -// "239.12.1.87", - -// "239.12.255.252", -// "239.12.255.253", - "239.12.255.254", -// "239.12.255.255", -// -// "239.192.0.0", // -// -// "224.0.0.251", // 10.112.16.195 - ] let sunnyHome = try await SMALighthouse(mqttPublisher: mqttPublisher, - multicastAddresses: multicastGroups, + multicastAddress: mcastAddress, multicastPort: mcastPort, bindAddress: bindAddress, bindPort: bindPort, diff --git a/Sources/sma2mqttLibrary/Resources/obisdefinition.json b/Sources/sma2mqttLibrary/Resources/obisdefinition.json index 4222608..cabd84a 100644 --- a/Sources/sma2mqttLibrary/Resources/obisdefinition.json +++ b/Sources/sma2mqttLibrary/Resources/obisdefinition.json @@ -2,9 +2,9 @@ { "id" : "1:0.0.0" , "type" : "ipv4address" , "unit" : "none", "topic" : "deviceaddress1" , "mqtt" : "invisible" , "title" : "Device Address 1"}, { "id" : "1:1.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/usage" , "mqtt" : "visible" , "title" : "Grid Usage"}, - { "id" : "1:1.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/totalusage" , "mqtt" : "visible" , "title" : "Grid Usage Counter"}, + { "id" : "1:1.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/totalusage" , "mqtt" : "invisible" , "title" : "Grid Usage Counter"}, { "id" : "1:2.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/feedin" , "mqtt" : "visible" , "title" : "Grid Feedin"}, - { "id" : "1:2.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/totalfeedin" , "mqtt" : "visible" , "title" : "Grid Feedin Counter"}, + { "id" : "1:2.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/totalfeedin" , "mqtt" : "invisible" , "title" : "Grid Feedin Counter"}, { "id" : "1:3.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "W" , "topic" : "immediate/reactiveusage" , "mqtt" : "invisible" , "title" : "Reactive Usage"}, { "id" : "1:3.8.0" , "type" : "uint64" , "factor" : 3600000 , "unit" : "kWh" , "topic" : "counter/reactiveusage" , "mqtt" : "invisible" , "title" : "Reactive Usage Counter"}, @@ -79,5 +79,5 @@ { "id" : "1:73.4.0" , "type" : "uint32" , "factor" : 10 , "unit" : "%" , "topic" : "phase3/immediate/powerfactor" , "mqtt" : "invisible" , "title" : "Phase 3 Power factor"}, { "id" : "1:74.4.0" , "type" : "uint32" , "factor" : 1000 , "unit" : "Hz" , "topic" : "phase3/immediate/gridfrequency" , "mqtt" : "invisible" , "title" : "Phase 3 Grid Frequency"}, - { "id" : "144:0.0.0", "type" : "softwareversion" , "unit" : "none", "topic" : "version" , "mqtt" : "retained" , "title" : "Software Version"} + { "id" : "144:0.0.0", "type" : "softwareversion" , "unit" : "none", "topic" : "version" , "mqtt" : "invisible" , "title" : "Software Version"} ] diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index c5374be..eeb0316 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -110,9 +110,8 @@ public actor SMADevice let httpClient: HTTPClient private var hasDeviceName = false - public var name: String + public var name: String { willSet { hasDeviceName = true } } - public var type: DeviceType = .unknown private var sessionid: String? private var refreshTask: Task? private var tagTranslator = SMATagTranslator.shared @@ -121,19 +120,10 @@ public actor SMADevice { case user = "usr" case installer = "istl" - case servicce = "svc" + case service = "svc" case developer = "dvlp" } - public enum DeviceType - { - case unknown - case sunnyhomemanager - case inverter - case batteryinverter - case hybridinverter - } - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, interestingPaths: [String] = []) async throws { self.address = address @@ -256,19 +246,26 @@ public struct PublishedValue: Encodable try container.encode(unitString, forKey: .unit) } - case let .tagValues(values): let translated = values.map { $0 == nil ? nil : tagTranslator.translate(tag: $0!) } - try container.encode(translated, forKey: .value) + case let .tagValues(values): + let translated = values.map { $0 == nil ? nil : tagTranslator.translate(tag: $0!) } + + if translated.count > 1 + { + try container.encode(translated, forKey: .value) + } + else + { + try container.encode(translated.first, forKey: .value) + } case nil: let value: Int? = nil; try container.encode(value, forKey: .value) } } } -// extension PublishedValue:Encodable {} - public extension SMADevice { - func receivedData(_ data: Data) async -> SMAPacket? + func receivedUDPData(_ data: Data) async -> SMAPacket? { lastSeen = Date() @@ -277,14 +274,14 @@ public extension SMADevice guard !data.isEmpty else { - JLog.error("received empty packet") + JLog.error("\(address):received empty packet") return nil } guard let smaPacket = try? SMAPacket(data: data) else { - JLog.error("did not decode") + JLog.error("\(address):did not decode") return nil } @@ -314,7 +311,7 @@ extension SMADevice func findOutDeviceNameAndType() async throws { JLog.debug("\(address):find out device type") - // find out scheme + if let _ = try? await data(forPath: "/") { scheme = "https" @@ -324,7 +321,6 @@ extension SMADevice scheme = "http" } - // SunnyHomeManager has 'Sunny Home Manager \d.\d' in http://address/legal_notices.txt if let response = try? await string(forPath: "legal_notices.txt") { JLog.debug("\(address):got legal notice") @@ -334,14 +330,12 @@ extension SMADevice JLog.debug("\(address):SMA device found: Sunny Home Manager, version:\(version)") name = "sunnymanager" - type = .sunnyhomemanager hasDeviceName = true return } JLog.debug("\(address):legal no match") } JLog.debug("\(address):not homemanager") -// try await data(forPath: "/") do { @@ -370,36 +364,31 @@ extension SMADevice if true { - // {"destDev":[],"keys":["6400_00260100","6400_00262200","6100_40263F00","7142_40495B00","6102_40433600","6100_40495B00","6800_088F2000","6102_40433800","6102_40633400","6100_402F2000","6100_402F1E00","7162_40495B00","6102_40633E00"]} - try await getInformationDictionary(atPath: "/dyn/getDashValues.json") try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") - var validatedObjectids = Set() - -// try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: ["6800_10821E00"]) -// let allKeys = smaObjectDefinitions.keys.compactMap { $0 as String } + var validatedObjectids = objectsToQueryContinously - for key in objectsToQueryContinously + for key in tagTranslator.devicenameObjectIDs { do { try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) - validatedObjectids.insert(key) + + if objectsToQueryContinously.contains(key) + { + validatedObjectids.insert(key) + } } catch { - JLog.error("\(address) request failed for key:\(key)") + JLog.error("\(address):request failed for key:\(key)") } try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) } - JLog.trace("\(address): validated ids:\(validatedObjectids)") + JLog.trace("\(address):validated ids:\(validatedObjectids)") objectsToQueryContinously = validatedObjectids } - - // try await logout() - - JLog.debug("\(address):Successfull logout") } func queryInterestingObjects() async throws @@ -415,6 +404,8 @@ extension SMADevice func login() async throws -> String { + JLog.debug("\(address):Login") + let headers = [("Content-Type", "application/json"), ("Connection", "keep-alive")] let loginBody = try JSONSerialization.data(withJSONObject: ["right": userright.rawValue, "pass": password], options: []) let response = try await data(forPath: "/dyn/login.json", headers: .init(headers), httpMethod: .POST, requestBody: loginBody) @@ -439,19 +430,19 @@ extension SMADevice guard !devicenameKeys.isEmpty else { - JLog.error("\(address) no type-label/device-name in smaDefinitions found - can't figure out name of device") + JLog.error("\(address):no type-label/device-name in smaDefinitions found - can't figure out name of device") return nil } let deviceNameDictionary = try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: devicenameKeys) - JLog.trace("deviceNameDictionary:\(deviceNameDictionary)") + JLog.trace("\(address):deviceNameDictionary:\(deviceNameDictionary)") if let deviceName = deviceNameDictionary.first(where: { !($0.value.stringValue?.isEmpty ?? true) })?.value.stringValue { - JLog.trace("devicename: \(deviceName)") + JLog.trace("\(address) devicename: \(deviceName)") return deviceName } - JLog.notice("could not get deviceName.") + JLog.notice("\(address):could not get deviceName.") return nil } @@ -485,25 +476,25 @@ extension SMADevice let postDictionary = requestIds.isEmpty ? ["destDev": [String]()] : ["destDev": [String](), "keys": requestIds] - JLog.trace("keys:\(requestIds)") + JLog.trace("\(address):get keys:\(requestIds)") let loginBody = try JSONSerialization.data(withJSONObject: postDictionary, options: []) let response = try await data(forPath: path, headers: .init(headers), httpMethod: .POST, requestBody: loginBody) - JLog.trace("body:\(String(data: response.bodyData, encoding: .utf8) ?? response.bodyData.hexDump)") + JLog.trace("\(address):retrieved body:\(String(data: response.bodyData, encoding: .utf8) ?? response.bodyData.hexDump)") let decoder = JSONDecoder() let getValuesResult = try decoder.decode(GetValuesResult.self, from: response.bodyData) - JLog.trace("values:\(getValuesResult)") + JLog.trace("\(address):values:\(getValuesResult)") var retrievedInformation = [String: PublishedValue]() for inverter in getValuesResult.result { - JLog.trace("inverter:\(inverter.key)") + JLog.trace("\(address):inverter:\(inverter.key)") for objectId in inverter.value { - JLog.trace("objectId:\(objectId.key)") + JLog.trace("\(address):working on objectId:\(objectId.key)") if let objectDefinition = tagTranslator.smaObjectDefinitions[objectId.key] { @@ -522,27 +513,27 @@ extension SMADevice if let _ = interestingPaths.first(where: { mqttPath.hasSuffix($0) }) { objectsToQueryContinously.insert(objectId.key) + JLog.debug("\(address):objectsToQueryContinously:\(objectsToQueryContinously)") } - JLog.debug("\(address): objectsToQueryContinously:\(objectsToQueryContinously)") } retrievedInformation[mqttPath] = singleValue do { - if hasDeviceName, objectsToQueryContinously.contains(objectId.key) + if hasDeviceName // , objectsToQueryContinously.contains(objectId.key) { try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } } catch { - JLog.error("\(address): could not convert to json error:\(error) singleValue:\(singleValue)") + JLog.error("\(address):could not convert to json error:\(error) singleValue:\(singleValue)") } } else { - JLog.error("cant find objectDefinition for \(objectId.key)") + JLog.error("\(address):can't find objectDefinition for \(objectId.key)") } } } @@ -579,7 +570,7 @@ extension SMADevice url = url.byAppendingQueryItems([URLQueryItem(name: "sid", value: sessionid)]) ?? url } - JLog.debug("requesting: \(url) for \(address)") + JLog.debug("\(address):requesting: \(url) for \(address)") var request = HTTPClientRequest(url: url.absoluteString) request.method = httpMethod @@ -592,7 +583,7 @@ extension SMADevice let response = try await httpClient.execute(request, timeout: .seconds(5)) - JLog.trace("url:\(url) got response: \(response)") + JLog.trace("\(address):url:\(url) got response: \(response)") lastSeen = Date() if response.status == .ok @@ -605,11 +596,11 @@ extension SMADevice { bodyData.append(Data(buffer: buffer)) } - JLog.trace("url:\(url) receivedData:\(bodyData.count)") + JLog.trace("\(address):url:\(url) receivedData:\(bodyData.count)") } catch { - JLog.trace("url:\(url) Error: \(error) receivedData:\(bodyData.count)") + JLog.trace("\(address):url:\(url) Error: \(error) receivedData:\(bodyData.count)") } return (headers: response.headers, bodyData: bodyData) } diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index f69fb68..7fcaa31 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -16,6 +16,8 @@ public actor SMALighthouse let interestingPaths: [String] let jsonOutput: Bool + let mcastAddress: String + let mcastPort: UInt16 let mcastReceiver: MulticastReceiver private enum SMADeviceCacheEntry @@ -30,15 +32,18 @@ public actor SMALighthouse var lastDiscoveryRequestDate = Date.distantPast let disoveryRequestInterval = 10.0 - public init(mqttPublisher: MQTTPublisher, multicastAddresses: [String], multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths: [String] = [], jsonOutput: Bool = false) async throws + public init(mqttPublisher: MQTTPublisher, multicastAddress: String, multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths: [String] = [], jsonOutput: Bool = false) async throws { self.password = password + mcastAddress = multicastAddress + mcastPort = multicastPort + self.bindAddress = bindAddress self.mqttPublisher = mqttPublisher self.jsonOutput = jsonOutput self.interestingPaths = interestingPaths - mcastReceiver = try MulticastReceiver(groups: multicastAddresses, bindAddress: bindAddress, listenPort: multicastPort) + mcastReceiver = try MulticastReceiver(groups: [mcastAddress], bindAddress: bindAddress, listenPort: multicastPort) await mcastReceiver.startListening() Task @@ -95,21 +100,16 @@ public actor SMALighthouse guard Date().timeIntervalSince(lastDiscoveryRequestDate) > disoveryRequestInterval else { return } let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] - let address = "239.12.255.254" - let port: UInt16 = 9522 - - await mcastReceiver.sendPacket(data: data, address: address, port: port) + await mcastReceiver.sendPacket(data: data, address: mcastAddress, port: mcastPort) lastDiscoveryRequestDate = Date() } public func receiveNext() async throws { -// await sendDiscoveryPacketIfNeeded() - let packet = try await mcastReceiver.receiveNextPacket() JLog.debug("Received packet from \(packet.sourceAddress)") -// JLog.debug("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") + JLog.trace("Received packet from \(packet.sourceAddress): \(packet.data.hexDump)") guard let smaDevice = await remote(for: packet.sourceAddress) else @@ -117,27 +117,10 @@ public actor SMALighthouse JLog.debug("\(packet.sourceAddress) ignoring as failed to initialize device") return } -// + Task.detached { - await smaDevice.receivedData(packet.data) + await smaDevice.receivedUDPData(packet.data) } -// { -// for obisvalue in smaPacket.obis -// { -// if obisvalue.mqtt != .invisible -// { -// try? await self.mqttPublisher.publish(to: obisvalue.topic, payload: obisvalue.json, qos: .atLeastOnce, retain: obisvalue.mqtt == .retained) -// } -// -// if self.jsonOutput -// { -// var obisvalue = obisvalue -// obisvalue.includeTopicInJSON = true -// print("\(obisvalue.json)") -// } -// } -// } -// } } } From b759338acd493b9d8e1f36d135d1cab5253093f3 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 13:16:14 +0200 Subject: [PATCH 61/81] added NSEC_PER_SEC for linux. --- Sources/sma2mqttLibrary/Extensions.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 05dd925..3183c20 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -9,6 +9,10 @@ import Foundation public extension UInt32 { var ipv4String: String { "\(self >> 24).\(self >> 16 & 0xFF).\(self >> 8 & 0xFF).\(self & 0xFF)" } } +#if os(Linux) +public let NSEC_PER_SEC : Int64 = 1_000_000_000 +#endif + public extension Data { var fullDump: String From 8d7990400557766c17e7bcd567f434be5878ca51 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 16:17:52 +0200 Subject: [PATCH 62/81] not requesting all objects any more by default. --- README.md | 21 +++-- Sources/sma2mqttLibrary/SMADevice.swift | 84 ++++++++++--------- .../sma2mqttLibrary/SMATagTranslator.swift | 12 +-- Tests/sma2mqttTests/sma2mqttTests.swift | 10 +-- 4 files changed, 68 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index fda2940..7570b36 100644 --- a/README.md +++ b/README.md @@ -26,25 +26,36 @@ I use __sma2mqtt__ in 'production' and it works fine. Inverter values are curren ``` -USAGE: sma2mqtt [--debug ...] [--json] [--mqtt-servername ] [--mqtt-port ] [--interval ] [--topic ] [--bind-address ] [--bind-port ] [--mcast-address ] [--mcast-port ] +USAGE: sma2mqtt OPTIONS: - -d, --debug optional debug output - --json send json output to stdout + --log-level Set the log level. (default: notice) + --json send json output to stdout --mqtt-servername MQTT Server hostname (default: mqtt) --mqtt-port MQTT Server port (default: 1883) + --mqtt-username + MQTT Server username (default: mqtt) + --mqtt-password + MQTT Server password -i, --interval Interval to send updates to mqtt Server. (default: 1.0) - -t, --topic MQTT Server topic. (default: sma/sunnymanager) + -b, --basetopic + MQTT Server topic. (default: sma/) --bind-address Multicast Binding Listening Interface Address. (default: 0.0.0.0) - --bind-port Multicast Binding Listening Port number. (default: 0) + --bind-port Multicast Binding Listening Port number. (default: 9522) --mcast-address Multicast Group Address. (default: 239.12.255.254) --mcast-port Multicast Group Port number. (default: 9522) + --inverter-password + Inverter Password. (default: 0000) + --interesting-paths + Paths we are interested to update (default: dc-side/dc-measurements/power, ac-side/grid-measurements/power, ac-side/measured-values/daily-yield, immediate/feedin, immediate/usage, battery/state-of-charge, battery/battery/temperature, + battery/battery/battery-charge/battery-charge, temperatures) -h, --help Show help information. + ``` diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index eeb0316..86b1d3e 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -101,7 +101,9 @@ public actor SMADevice let password: String let publisher: SMAPublisher? let interestingPaths: [String] + var objectsToQueryContinously = Set() + let requestAllObjects:Bool public var lastSeen = Date.distantPast @@ -124,14 +126,17 @@ public actor SMADevice case developer = "dvlp" } - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, interestingPaths: [String] = []) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval:Int = 10, interestingPaths: [String] = [], requestAllObjects: Bool = false) async throws { self.address = address self.userright = userright self.password = password self.publisher = publisher self.interestingPaths = interestingPaths + self.requestAllObjects = requestAllObjects name = address + hasDeviceName = false + httpClient = HTTPClientProvider.sharedHttpClient try await findOutDeviceNameAndType() if !objectsToQueryContinously.isEmpty @@ -143,7 +148,7 @@ public actor SMADevice { do { - try await Task.sleep(nanoseconds: UInt64(3 * NSEC_PER_SEC)) + try await Task.sleep(nanoseconds: UInt64(refreshInterval) * UInt64(NSEC_PER_SEC) ) try await self.queryInterestingObjects() errorcounter = 0 } @@ -330,7 +335,6 @@ extension SMADevice JLog.debug("\(address):SMA device found: Sunny Home Manager, version:\(version)") name = "sunnymanager" - hasDeviceName = true return } JLog.debug("\(address):legal no match") @@ -360,34 +364,36 @@ extension SMADevice { name = deviceName } - hasDeviceName = true if true { try await getInformationDictionary(atPath: "/dyn/getDashValues.json") try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") - var validatedObjectids = objectsToQueryContinously - - for key in tagTranslator.devicenameObjectIDs + if requestAllObjects { - do + var validatedObjectids = objectsToQueryContinously + + for key in tagTranslator.devicenameObjectIDs { - try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) + do + { + try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) - if objectsToQueryContinously.contains(key) + if objectsToQueryContinously.contains(key) + { + validatedObjectids.insert(key) + } + } + catch { - validatedObjectids.insert(key) + JLog.error("\(address):request failed for key:\(key)") } + try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) } - catch - { - JLog.error("\(address):request failed for key:\(key)") - } - try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) + JLog.trace("\(address):validated ids:\(validatedObjectids)") + objectsToQueryContinously = validatedObjectids } - JLog.trace("\(address):validated ids:\(validatedObjectids)") - objectsToQueryContinously = validatedObjectids } } @@ -470,6 +476,11 @@ extension SMADevice } } + func pathIsInteresting(_ path:String) -> Bool + { + nil != interestingPaths.first(where: { path.hasSuffix($0) }) + } + func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] { let headers = [("Content-Type", "application/json")] @@ -498,30 +509,31 @@ extension SMADevice if let objectDefinition = tagTranslator.smaObjectDefinitions[objectId.key] { -// let singleValue = PublishedValue(id: objectId.key, prio: objectDefinition.Prio, write: objectDefinition.WriteLevel, unit:unit, scale: objectDefinition.Scale, values: objectId.value.values) let singleValue = PublishedValue(unit: objectDefinition.Unit, scale: objectDefinition.Scale, values: objectId.value.values, tagTranslator: tagTranslator) + let mqttPath = name.lowercased().replacing(#/[\\\/\s]+/#){_ in "-"} + "/" + (tagTranslator.objectsAndPaths[objectId.key] ?? "unkown-id-\(objectId.key)") - var pathComponents: [String] = [name] - pathComponents.append(contentsOf: tagTranslator.translate(tags: objectDefinition.TagHier)) - pathComponents.append(tagTranslator.translate(tag: objectDefinition.TagId)) - let mqttPath = pathComponents.joined(separator: "/").lowercased().replacing(#/ /#) { _ in "-" } + retrievedInformation[mqttPath] = singleValue - if !objectsToQueryContinously.contains(objectId.key) - { -// !singleValue.values.compactMap{ $0 }.isEmpty + let isInteresting:Bool - if let _ = interestingPaths.first(where: { mqttPath.hasSuffix($0) }) - { - objectsToQueryContinously.insert(objectId.key) - JLog.debug("\(address):objectsToQueryContinously:\(objectsToQueryContinously)") - } + if objectsToQueryContinously.contains(objectId.key) + { + isInteresting = true + } + else if pathIsInteresting(mqttPath) + { + isInteresting = true + objectsToQueryContinously.insert(objectId.key) + JLog.debug("\(address):objectsToQueryContinously:\(objectsToQueryContinously)") + } + else + { + isInteresting = false } - - retrievedInformation[mqttPath] = singleValue do { - if hasDeviceName // , objectsToQueryContinously.contains(objectId.key) + if hasDeviceName && isInteresting { try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } @@ -537,10 +549,6 @@ extension SMADevice } } } -// let data = try! JSONSerialization.data(withJSONObject: retrievedInformation, options: []) -// -// JLog.debug("retrieved:\(String(data: data, encoding: .utf8) ?? "")") - return retrievedInformation } diff --git a/Sources/sma2mqttLibrary/SMATagTranslator.swift b/Sources/sma2mqttLibrary/SMATagTranslator.swift index c465fe7..087bac9 100644 --- a/Sources/sma2mqttLibrary/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/SMATagTranslator.swift @@ -18,11 +18,6 @@ struct SMATagTranslator static var shared: SMATagTranslator = .init(definitionData: nil, translationData: nil) -// init(smaObjectDefinitions: [String : SMADataObject] = SMADataObject.defaultDataObjects , translations: [Int : String] = SMADataObject.defaultTranslations ) { -// self.smaObjectDefinitions = smaObjectDefinitions -// self.translations = translations -// } - init(definitionData: Data?, translationData: Data?) { if let definitionData, @@ -55,7 +50,7 @@ struct SMATagTranslator var tags = value.TagHier tags.append(value.TagId) return (key, tags.map { translations[$0] ?? "tag-\(String($0))" } - .map { $0.lowercased() } + .map { $0.lowercased().replacing(#/[\\\/\s]+/#){_ in "-"} } .joined(separator: "/") .replacing(#/ /#) { _ in "-" }) }) @@ -74,10 +69,5 @@ struct SMATagTranslator return [String]() } - func translatePath(tags: [Int]) -> String - { - translate(tags: tags).map { $0.lowercased() }.joined(separator: "/").replacing(#/ /#) { _ in "-" } - } - var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } } diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 20f53f4..8fa7e41 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -140,7 +140,7 @@ final class sma2mqttTests: XCTestCase 01ba 4a10 02e0 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 01bb 4a08 02e0 9462 260d 0001 270d 0000 280d 0000 290d 0000 feff ff00 0000 0000 0000 0000 0000 0000 01bc 4a08 03e0 9462 2f01 0001 3301 0000 bd06 0000 5208 0000 fd0c 0000 620d 0000 feff ff00 0000 0000 011e 4b08 03e0 9462 2f01 0001 3301 0000 b706 0000 bd06 0000 f007 0000 f107 0000 f207 0000 f707 0000 011e 4b08 03e0 9462 2508 0000 5208 0000 6c08 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 0127 5200 03e0 9462 0000 0000 0000 0000 321e 0000 321e 0000 a00f 0000 a00f 0000 ffff ffff ffff ffff 0128 5240 03e0 9462 0000 0000 0000 0000 321e 0000 321e 0000 0000 0080 0000 0080 0000 0080 0000 0080 0129 5200 03e0 9462 0000 0000 0000 0000 1027 0000 1027 0000 ffff ffff ffff ffff ffff ffff ffff ffff 012a 5208 03e0 9462 1104 0000 1204 0000 fdff ff01 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 012f 5208 03e0 9462 2f01 0000 3401 0001 2203 0000 1f0d 0000 fdff ff00 feff ff00 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0124 6508 8465 9162 2300 0000 2f01 0001 3301 0000 c701 0000 feff ff00 0000 0000 0000 0000 0000 0000 0000 0000 """.hexStringToData() let binaryDecoder = BinaryDecoder(data: [UInt8](data)) - let packet = try? SMAPacket(fromBinary: binaryDecoder) + let _ = try? SMAPacket(fromBinary: binaryDecoder) } func testSMAPacketDecoding2() throws @@ -155,7 +155,7 @@ final class sma2mqttTests: XCTestCase """.hexStringToData() let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1)) - let packet1 = try? SMAPacket(fromBinary: binaryDecoder1) + let _ = try? SMAPacket(fromBinary: binaryDecoder1) } func testSMAPacketDecoding3() throws @@ -173,7 +173,7 @@ final class sma2mqttTests: XCTestCase 01e9 4600 40d5 9462 6a03 0000 6a03 0000 6a03 0000 6a03 0000 0100 0000 01ea 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01eb 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01ec 4600 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 01ed 4600 40d5 9462 a000 0000 a000 0000 a000 0000 a000 0000 0100 0000 01ee 4640 40d5 9462 0600 0000 0600 0000 0600 0000 0600 0000 0100 0000 01ef 4640 40d5 9462 2300 0000 2300 0000 2300 0000 2300 0000 0100 0000 01f0 4640 40d5 9462 5d00 0000 5d00 0000 5d00 0000 5d00 0000 0100 0000 01f1 4640 40d5 9462 8600 0000 8600 0000 8600 0000 8600 0000 0100 0000 01b6 4a00 37d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 011f 5740 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0128 6540 0000 0000 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0000 0000 """.hexStringToData() let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1)) - let packet1 = try? SMAPacket(fromBinary: binaryDecoder1) + let _ = try? SMAPacket(fromBinary: binaryDecoder1) } func testSMAPacketDecoding4() throws @@ -192,7 +192,7 @@ final class sma2mqttTests: XCTestCase 0180 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0136 4640 40d5 9462 2805 0000 2805 0000 2805 0000 2805 0000 0100 0000 0137 4640 40d5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0140 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0141 4640 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 0142 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0148 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0149 4600 40d5 9462 275c 0000 275c 0000 275c 0000 275c 0000 0100 0000 014a 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014b 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014c 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014d 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014e 4600 40d5 9462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 0153 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0154 4640 40d5 9462 f90f 0000 f90f 0000 f90f 0000 f90f 0000 0100 0000 0155 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0157 4600 40d5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 0165 4640 40d5 9462 1a0a 0000 1a0a 0000 1a0a 0000 1a0a 0000 0100 0000 0166 4640 40d5 9462 df0e 0000 df0e 0000 df0e 0000 df0e 0000 0100 0000 016b 4640 40d5 9462 8b03 0000 8b03 0000 8b03 0000 8b03 0000 0100 0000 016c 4640 40d5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 016d 4640 40d5 9462 6b03 0000 6b03 0000 6b03 0000 6b03 0000 0100 0000 016e 4640 40d5 9462 b900 0000 b900 0000 b900 0000 b900 0000 0100 0000 0177 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0178 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0179 4600 40d5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0181 4600 40d5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 018f 4640 40d5 9462 2f05 0000 2f05 0000 2f05 0000 2f05 0000 0100 0000 0199 4640 40d5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 01c2 4600 40d5 9462 ad03 0000 ad03 0000 ad03 0000 ad03 0000 0100 0000 0000 0000 """.hexStringToData() let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1)) - let packet1 = try? SMAPacket(fromBinary: binaryDecoder1) + let _ = try? SMAPacket(fromBinary: binaryDecoder1) } func testSMAPacketDecoding5() throws @@ -208,7 +208,7 @@ final class sma2mqttTests: XCTestCase 0120 4100 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0166 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0180 4100 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0136 4640 3fd5 9462 2405 0000 2405 0000 2405 0000 2405 0000 0100 0000 0137 4640 3fd5 9462 0000 0000 0000 0000 0000 0000 0000 0000 0100 0000 0140 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0141 4640 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 0142 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0148 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0149 4600 3fd5 9462 255c 0000 255c 0000 255c 0000 255c 0000 0100 0000 014a 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014b 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014c 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014d 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 014e 4600 3fd5 9462 6300 0000 6300 0000 6300 0000 6300 0000 0100 0000 0153 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0154 4640 3fd5 9462 e30f 0000 e30f 0000 e30f 0000 e30f 0000 0100 0000 0155 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 0157 4600 3fd5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 0165 4640 3fd5 9462 1b0a 0000 1b0a 0000 1b0a 0000 1b0a 0000 0100 0000 0166 4640 3fd5 9462 cf0e 0000 cf0e 0000 cf0e 0000 cf0e 0000 0100 0000 016b 4640 3fd5 9462 8603 0000 8603 0000 8603 0000 8603 0000 0100 0000 016c 4640 3fd5 9462 5e02 0000 5e02 0000 5e02 0000 5e02 0000 0100 0000 016d 4640 3fd5 9462 6603 0000 6603 0000 6603 0000 6603 0000 0100 0000 016e 4640 3fd5 9462 b800 0000 b800 0000 b800 0000 b800 0000 0100 0000 0177 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0178 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0179 4600 3fd5 9462 ffff ffff ffff ffff ffff ffff ffff ffff 0100 0000 0181 4600 3fd5 9462 8513 0000 8513 0000 8513 0000 8513 0000 0100 0000 018f 4640 3fd5 9462 2b05 0000 2b05 0000 2b05 0000 2b05 0000 0100 0000 0199 4640 3fd5 9462 0000 0080 0000 0080 0000 0080 0000 0080 0100 0000 01c2 4600 3fd5 9462 a903 0000 a903 0000 a903 0000 a903 0000 0100 0000 0000 0000 """.hexStringToData() let binaryDecoder1 = BinaryDecoder(data: [UInt8](data1)) - let packet1 = try? SMAPacket(fromBinary: binaryDecoder1) + let _ = try? SMAPacket(fromBinary: binaryDecoder1) } func testSMAPacketDecoding6() throws From e0095805b706466ce3290b623b736c4db408fcd8 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 16:30:47 +0200 Subject: [PATCH 63/81] Minor refactoring out Published Packet. --- Sources/sma2mqttLibrary/Extensions.swift | 2 +- Sources/sma2mqttLibrary/SMADevice.swift | 169 +++--------------- .../sma2mqttLibrary/SMATagTranslator.swift | 93 +++++++++- 3 files changed, 121 insertions(+), 143 deletions(-) diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Extensions.swift index 3183c20..c109850 100644 --- a/Sources/sma2mqttLibrary/Extensions.swift +++ b/Sources/sma2mqttLibrary/Extensions.swift @@ -10,7 +10,7 @@ import Foundation public extension UInt32 { var ipv4String: String { "\(self >> 24).\(self >> 16 & 0xFF).\(self >> 8 & 0xFF).\(self & 0xFF)" } } #if os(Linux) -public let NSEC_PER_SEC : Int64 = 1_000_000_000 + public let NSEC_PER_SEC: Int64 = 1_000_000_000 #endif public extension Data diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 86b1d3e..996aad8 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -103,7 +103,7 @@ public actor SMADevice let interestingPaths: [String] var objectsToQueryContinously = Set() - let requestAllObjects:Bool + let requestAllObjects: Bool public var lastSeen = Date.distantPast @@ -126,7 +126,7 @@ public actor SMADevice case developer = "dvlp" } - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval:Int = 10, interestingPaths: [String] = [], requestAllObjects: Bool = false) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 10, interestingPaths: [String] = [], requestAllObjects: Bool = false) async throws { self.address = address self.userright = userright @@ -148,7 +148,7 @@ public actor SMADevice { do { - try await Task.sleep(nanoseconds: UInt64(refreshInterval) * UInt64(NSEC_PER_SEC) ) + try await Task.sleep(nanoseconds: UInt64(refreshInterval) * UInt64(NSEC_PER_SEC)) try await self.queryInterestingObjects() errorcounter = 0 } @@ -162,110 +162,6 @@ public actor SMADevice } } } - -// deinit -// { -// try? httpClient.syncShutdown() -// } -} - -public struct PublishedValue: Encodable -{ -// let id: String -// let prio: Int -// let write: Int - let unit: Int? - let scale: Decimal? -// let event: String? - let values: [GetValuesResult.Value] - - let tagTranslator: SMATagTranslator - - var stringValue: String? - { - if values.count == 1, - case let .stringValue(stringValue) = values.first - { - return stringValue - } - return nil - } - - public func encode(to encoder: Encoder) throws - { - enum CodingKeys: String, CodingKey { case unit, value, scale, id, prio, write, event } - var container = encoder.container(keyedBy: CodingKeys.self) - -// try container.encode(id, forKey: .id) -// try container.encode(prio, forKey: .prio) -// try container.encode(write, forKey: .write) -// try container.encode(scale, forKey: .scale) -// try container.encode(event, forKey: .event) - - let compacted = values.compactMap { $0 } - switch compacted.first - { - case .stringValue: - let stringValues: [String?] = values.map - { - if case let .stringValue(value) = $0 - { - return value - } - return nil - } - if stringValues.count > 1 - { - try container.encode(stringValues, forKey: .value) - } - else - { - try container.encode(stringValues.first, forKey: .value) - } - - case .intValue: - let decimalValues: [Decimal?] = values.map - { - if case let .intValue(value) = $0, - let value - { - if let scale, scale != Decimal(1) - { - return Decimal(value) * scale - } - return Decimal(value) - } - return nil - } - if decimalValues.count > 1 - { - try container.encode(decimalValues, forKey: .value) - } - else - { - try container.encode(decimalValues.first, forKey: .value) - } - if let unit - { - let unitString = tagTranslator.translate(tag: unit) - try container.encode(unitString, forKey: .unit) - } - - case let .tagValues(values): - let translated = values.map { $0 == nil ? nil : tagTranslator.translate(tag: $0!) } - - if translated.count > 1 - { - try container.encode(translated, forKey: .value) - } - else - { - try container.encode(translated.first, forKey: .value) - } - - case nil: let value: Int? = nil; try container.encode(value, forKey: .value) - } - } } public extension SMADevice @@ -476,9 +372,9 @@ extension SMADevice } } - func pathIsInteresting(_ path:String) -> Bool + func pathIsInteresting(_ path: String) -> Bool { - nil != interestingPaths.first(where: { path.hasSuffix($0) }) + interestingPaths.first(where: { path.hasSuffix($0) }) != nil } func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] @@ -507,45 +403,38 @@ extension SMADevice { JLog.trace("\(address):working on objectId:\(objectId.key)") - if let objectDefinition = tagTranslator.smaObjectDefinitions[objectId.key] - { - let singleValue = PublishedValue(unit: objectDefinition.Unit, scale: objectDefinition.Scale, values: objectId.value.values, tagTranslator: tagTranslator) - let mqttPath = name.lowercased().replacing(#/[\\\/\s]+/#){_ in "-"} + "/" + (tagTranslator.objectsAndPaths[objectId.key] ?? "unkown-id-\(objectId.key)") + let singleValue = PublishedValue(objectID: objectId.key, values: objectId.value.values, tagTranslator: tagTranslator) + let mqttPath = name.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } + "/" + (tagTranslator.objectsAndPaths[objectId.key] ?? "unkown-id-\(objectId.key)") - retrievedInformation[mqttPath] = singleValue + retrievedInformation[mqttPath] = singleValue - let isInteresting:Bool + let isInteresting: Bool - if objectsToQueryContinously.contains(objectId.key) - { - isInteresting = true - } - else if pathIsInteresting(mqttPath) - { - isInteresting = true - objectsToQueryContinously.insert(objectId.key) - JLog.debug("\(address):objectsToQueryContinously:\(objectsToQueryContinously)") - } - else - { - isInteresting = false - } + if objectsToQueryContinously.contains(objectId.key) + { + isInteresting = true + } + else if pathIsInteresting(mqttPath) + { + isInteresting = true + objectsToQueryContinously.insert(objectId.key) + JLog.debug("\(address):objectsToQueryContinously:\(objectsToQueryContinously)") + } + else + { + isInteresting = false + } - do - { - if hasDeviceName && isInteresting - { - try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) - } - } - catch + do + { + if hasDeviceName, isInteresting { - JLog.error("\(address):could not convert to json error:\(error) singleValue:\(singleValue)") + try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } } - else + catch { - JLog.error("\(address):can't find objectDefinition for \(objectId.key)") + JLog.error("\(address):could not convert to json error:\(error) singleValue:\(singleValue)") } } } diff --git a/Sources/sma2mqttLibrary/SMATagTranslator.swift b/Sources/sma2mqttLibrary/SMATagTranslator.swift index 087bac9..e9b144a 100644 --- a/Sources/sma2mqttLibrary/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/SMATagTranslator.swift @@ -12,7 +12,7 @@ struct SMATagTranslator { typealias ObjectIDString = String - let smaObjectDefinitions: [String: SMADataObject] + let smaObjectDefinitions: [ObjectIDString: SMADataObject] let translations: [Int: String] let objectsAndPaths: [ObjectIDString: String] @@ -50,7 +50,7 @@ struct SMATagTranslator var tags = value.TagHier tags.append(value.TagId) return (key, tags.map { translations[$0] ?? "tag-\(String($0))" } - .map { $0.lowercased().replacing(#/[\\\/\s]+/#){_ in "-"} } + .map { $0.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } } .joined(separator: "/") .replacing(#/ /#) { _ in "-" }) }) @@ -71,3 +71,92 @@ struct SMATagTranslator var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } } + +public struct PublishedValue: Encodable +{ + let objectID: String + let values: [GetValuesResult.Value] + let tagTranslator: SMATagTranslator + + var stringValue: String? + { + if values.count == 1, + case let .stringValue(stringValue) = values.first + { + return stringValue + } + return nil + } + + public func encode(to encoder: Encoder) throws + { + enum CodingKeys: String, CodingKey { case unit, value, scale, id, prio, write, event } + var container = encoder.container(keyedBy: CodingKeys.self) + + let objectDefinition = tagTranslator.smaObjectDefinitions[objectID] + let compacted = values.compactMap { $0 } + + switch compacted.first + { + case .stringValue: + let stringValues: [String?] = values.map + { + if case let .stringValue(value) = $0 + { + return value + } + return nil + } + if stringValues.count > 1 + { + try container.encode(stringValues, forKey: .value) + } + else + { + try container.encode(stringValues.first, forKey: .value) + } + + case .intValue: + let decimalValues: [Decimal?] = values.map + { + if case let .intValue(value) = $0, + let value + { + if let scale = objectDefinition?.Scale, scale != Decimal(1) + { + return Decimal(value) * scale + } + return Decimal(value) + } + return nil + } + if decimalValues.count > 1 + { + try container.encode(decimalValues, forKey: .value) + } + else + { + try container.encode(decimalValues.first, forKey: .value) + } + if let unit = objectDefinition?.Unit + { + let unitString = tagTranslator.translate(tag: unit) + try container.encode(unitString, forKey: .unit) + } + + case let .tagValues(values): + let translated = values.map { $0 == nil ? nil : tagTranslator.translate(tag: $0!) } + + if translated.count > 1 + { + try container.encode(translated, forKey: .value) + } + else + { + try container.encode(translated.first, forKey: .value) + } + + case nil: let value: Int? = nil; try container.encode(value, forKey: .value) + } + } +} From 93dfc523d719bd5685ddf1aa7e2f264d3218b204 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 16:59:52 +0200 Subject: [PATCH 64/81] cleanup , changed package directory layout. --- Package.swift | 8 +- .../DataObjects/GetValuesResult.swift | 78 ++++++++++++++++++ .../PublishedValue.swift} | 68 +--------------- .../Resources/sma.data.Translation_Names.json | 0 .../Resources/sma.data.objectMetaData.json | 0 .../{ => DataObjects}/SMADataObject.swift | 0 .../DataObjects/SMATagTranslator.swift | 73 +++++++++++++++++ .../{ => Obis}/ObisDefinition.swift | 0 .../{ => Obis}/ObisPacket.swift | 0 .../{ => Obis}/ObisValue.swift | 0 .../{ => Obis}/Resources/obisdefinition.json | 0 Sources/sma2mqttLibrary/SMADevice.swift | 81 ------------------- .../Resources/SMANetPacketDefinitions.json | 0 .../{ => SMAPacket}/SMANetPacket.swift | 0 .../SMANetPacketDefinition.swift | 0 .../{ => SMAPacket}/SMANetPacketValue.swift | 0 .../{ => SMAPacket}/SMAPacket.swift | 40 --------- .../SMAPacket/SMATagPacket.swift | 51 ++++++++++++ .../{ => Tools}/Extensions.swift | 0 .../Tools/HTTPClientProvider.swift | 25 ++++++ .../{ => Tools}/MQTTPublisher.swift | 0 .../{ => Tools}/MutlicastReceiver.swift | 75 ----------------- 22 files changed, 233 insertions(+), 266 deletions(-) create mode 100644 Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift rename Sources/sma2mqttLibrary/{SMATagTranslator.swift => DataObjects/PublishedValue.swift} (56%) rename Sources/sma2mqttLibrary/{ => DataObjects}/Resources/sma.data.Translation_Names.json (100%) rename Sources/sma2mqttLibrary/{ => DataObjects}/Resources/sma.data.objectMetaData.json (100%) rename Sources/sma2mqttLibrary/{ => DataObjects}/SMADataObject.swift (100%) create mode 100644 Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift rename Sources/sma2mqttLibrary/{ => Obis}/ObisDefinition.swift (100%) rename Sources/sma2mqttLibrary/{ => Obis}/ObisPacket.swift (100%) rename Sources/sma2mqttLibrary/{ => Obis}/ObisValue.swift (100%) rename Sources/sma2mqttLibrary/{ => Obis}/Resources/obisdefinition.json (100%) rename Sources/sma2mqttLibrary/{ => SMAPacket}/Resources/SMANetPacketDefinitions.json (100%) rename Sources/sma2mqttLibrary/{ => SMAPacket}/SMANetPacket.swift (100%) rename Sources/sma2mqttLibrary/{ => SMAPacket}/SMANetPacketDefinition.swift (100%) rename Sources/sma2mqttLibrary/{ => SMAPacket}/SMANetPacketValue.swift (100%) rename Sources/sma2mqttLibrary/{ => SMAPacket}/SMAPacket.swift (75%) create mode 100644 Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift rename Sources/sma2mqttLibrary/{ => Tools}/Extensions.swift (100%) create mode 100644 Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift rename Sources/sma2mqttLibrary/{ => Tools}/MQTTPublisher.swift (100%) rename Sources/sma2mqttLibrary/{ => Tools}/MutlicastReceiver.swift (71%) diff --git a/Package.swift b/Package.swift index 1c0425a..3e20475 100644 --- a/Package.swift +++ b/Package.swift @@ -45,10 +45,10 @@ let package = Package( .product(name: "JLog", package: "JLog"), ], resources: [ - .copy("Resources/obisdefinition.json"), - .copy("Resources/SMANetPacketDefinitions.json"), - .copy("Resources/sma.data.objectMetaData.json"), - .copy("Resources/sma.data.Translation_Names.json"), + .copy("Obis/Resources/obisdefinition.json"), + .copy("DataObjects/Resources/sma.data.objectMetaData.json"), + .copy("DataObjects/Resources/sma.data.Translation_Names.json"), + .copy("SMAPacket/Resources/SMANetPacketDefinitions.json"), ] ), .testTarget( diff --git a/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift b/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift new file mode 100644 index 0000000..486ba63 --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift @@ -0,0 +1,78 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 18.06.23. +// + +import Foundation +import JLog + +struct GetValuesResult: Decodable +{ + enum Value: Decodable + { + case intValue(Int?) + case stringValue(String) + case tagValues([Int?]) + + enum CodingKeys: String, CodingKey { case val } + + init(from decoder: Decoder) throws + { + let container = try decoder.container(keyedBy: CodingKeys.self) + + if let intValue = try? container.decode(Int.self, forKey: CodingKeys.val) + { + self = Value.intValue(intValue) + JLog.trace("int:\(intValue)") + return + } + if let stringValue = try? container.decode(String.self, forKey: CodingKeys.val) + { + self = Value.stringValue(stringValue) + JLog.trace("str:\(stringValue)") + return + } + if let tagArray = try? container.decode([[String: Int?]].self, forKey: CodingKeys.val) + { + JLog.trace("tagArray:\(tagArray)") + let tags = tagArray.map { $0["tag"] ?? nil } + self = Value.tagValues(tags) + JLog.trace("tags:\(tags)") + return + } + _ = try container.decodeNil(forKey: CodingKeys.val) + self = Value.intValue(nil) + } + } + + struct Result: Decodable + { + let values: [Value] + + enum CodingKeys: String, CodingKey + { + case one = "1" + case seven = "7" + } + + init(from decoder: Decoder) throws + { + let container = try decoder.container(keyedBy: CodingKeys.self) + + if let values = try container.decodeIfPresent([Value].self, forKey: CodingKeys.one) + { + self.values = values + return + } + values = try container.decode([Value].self, forKey: CodingKeys.seven) + } + } + + typealias InverterName = String + typealias SMAObjectID = String + + let result: [InverterName: [SMAObjectID: Result]] +} + diff --git a/Sources/sma2mqttLibrary/SMATagTranslator.swift b/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift similarity index 56% rename from Sources/sma2mqttLibrary/SMATagTranslator.swift rename to Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift index e9b144a..d1f660c 100644 --- a/Sources/sma2mqttLibrary/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift @@ -1,77 +1,13 @@ // -// File.swift +// PublishedValue.swift // // -// Created by Patrick Stein on 17.06.23. +// Created by Patrick Stein on 18.06.23. // import Foundation import JLog -struct SMATagTranslator -{ - typealias ObjectIDString = String - - let smaObjectDefinitions: [ObjectIDString: SMADataObject] - let translations: [Int: String] - let objectsAndPaths: [ObjectIDString: String] - - static var shared: SMATagTranslator = .init(definitionData: nil, translationData: nil) - - init(definitionData: Data?, translationData: Data?) - { - if let definitionData, - let dataObjectsString = String(data: definitionData, encoding: .utf8), - let smaObjectDefinitions = try? SMADataObject.dataObjects(from: dataObjectsString) - { - self.smaObjectDefinitions = smaObjectDefinitions - } - else - { - smaObjectDefinitions = SMADataObject.defaultDataObjects - } - - let translations: [Int: String] - - if let translationData, - let rawTranslations = try? JSONDecoder().decode([String: String].self, from: translationData) - { - translations = Dictionary(uniqueKeysWithValues: rawTranslations.compactMap { if let key = Int($0.key) { return (key, $0.value) } else { return nil } }) - } - else - { - translations = SMADataObject.defaultTranslations - } - self.translations = translations - - objectsAndPaths = Dictionary(uniqueKeysWithValues: smaObjectDefinitions.map - { - key, value in - var tags = value.TagHier - tags.append(value.TagId) - return (key, tags.map { translations[$0] ?? "tag-\(String($0))" } - .map { $0.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } } - .joined(separator: "/") - .replacing(#/ /#) { _ in "-" }) - }) - - JLog.trace("Objects and Paths:\(objectsAndPaths)") - } - - func translate(tag: Int) -> String { translations[tag] ?? "tag-\(String(tag))" } - - func translate(tags: [Int?]) -> [String] - { - if let tags = tags as? [Int] - { - return tags.map { translate(tag: $0) } - } - return [String]() - } - - var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } -} - public struct PublishedValue: Encodable { let objectID: String diff --git a/Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.Translation_Names.json similarity index 100% rename from Sources/sma2mqttLibrary/Resources/sma.data.Translation_Names.json rename to Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.Translation_Names.json diff --git a/Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.objectMetaData.json similarity index 100% rename from Sources/sma2mqttLibrary/Resources/sma.data.objectMetaData.json rename to Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.objectMetaData.json diff --git a/Sources/sma2mqttLibrary/SMADataObject.swift b/Sources/sma2mqttLibrary/DataObjects/SMADataObject.swift similarity index 100% rename from Sources/sma2mqttLibrary/SMADataObject.swift rename to Sources/sma2mqttLibrary/DataObjects/SMADataObject.swift diff --git a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift new file mode 100644 index 0000000..3747d06 --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift @@ -0,0 +1,73 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 17.06.23. +// + +import Foundation +import JLog + +struct SMATagTranslator +{ + typealias ObjectIDString = String + + let smaObjectDefinitions: [ObjectIDString: SMADataObject] + let translations: [Int: String] + let objectsAndPaths: [ObjectIDString: String] + + static var shared: SMATagTranslator = .init(definitionData: nil, translationData: nil) + + init(definitionData: Data?, translationData: Data?) + { + if let definitionData, + let dataObjectsString = String(data: definitionData, encoding: .utf8), + let smaObjectDefinitions = try? SMADataObject.dataObjects(from: dataObjectsString) + { + self.smaObjectDefinitions = smaObjectDefinitions + } + else + { + smaObjectDefinitions = SMADataObject.defaultDataObjects + } + + let translations: [Int: String] + + if let translationData, + let rawTranslations = try? JSONDecoder().decode([String: String].self, from: translationData) + { + translations = Dictionary(uniqueKeysWithValues: rawTranslations.compactMap { if let key = Int($0.key) { return (key, $0.value) } else { return nil } }) + } + else + { + translations = SMADataObject.defaultTranslations + } + self.translations = translations + + objectsAndPaths = Dictionary(uniqueKeysWithValues: smaObjectDefinitions.map + { + key, value in + var tags = value.TagHier + tags.append(value.TagId) + return (key, tags.map { translations[$0] ?? "tag-\(String($0))" } + .map { $0.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } } + .joined(separator: "/") + .replacing(#/ /#) { _ in "-" }) + }) + + JLog.trace("Objects and Paths:\(objectsAndPaths)") + } + + func translate(tag: Int) -> String { translations[tag] ?? "tag-\(String(tag))" } + + func translate(tags: [Int?]) -> [String] + { + if let tags = tags as? [Int] + { + return tags.map { translate(tag: $0) } + } + return [String]() + } + + var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } +} diff --git a/Sources/sma2mqttLibrary/ObisDefinition.swift b/Sources/sma2mqttLibrary/Obis/ObisDefinition.swift similarity index 100% rename from Sources/sma2mqttLibrary/ObisDefinition.swift rename to Sources/sma2mqttLibrary/Obis/ObisDefinition.swift diff --git a/Sources/sma2mqttLibrary/ObisPacket.swift b/Sources/sma2mqttLibrary/Obis/ObisPacket.swift similarity index 100% rename from Sources/sma2mqttLibrary/ObisPacket.swift rename to Sources/sma2mqttLibrary/Obis/ObisPacket.swift diff --git a/Sources/sma2mqttLibrary/ObisValue.swift b/Sources/sma2mqttLibrary/Obis/ObisValue.swift similarity index 100% rename from Sources/sma2mqttLibrary/ObisValue.swift rename to Sources/sma2mqttLibrary/Obis/ObisValue.swift diff --git a/Sources/sma2mqttLibrary/Resources/obisdefinition.json b/Sources/sma2mqttLibrary/Obis/Resources/obisdefinition.json similarity index 100% rename from Sources/sma2mqttLibrary/Resources/obisdefinition.json rename to Sources/sma2mqttLibrary/Obis/Resources/obisdefinition.json diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 996aad8..de4d48c 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -8,91 +8,10 @@ import AsyncHTTPClient import Foundation import JLog -import NIO -import NIOCore import NIOFoundationCompat import NIOHTTP1 -import NIOSSL import RegexBuilder -struct GetValuesResult: Decodable -{ - enum Value: Decodable - { - case intValue(Int?) - case stringValue(String) - case tagValues([Int?]) - - enum CodingKeys: String, CodingKey { case val } - - init(from decoder: Decoder) throws - { - let container = try decoder.container(keyedBy: CodingKeys.self) - - if let intValue = try? container.decode(Int.self, forKey: CodingKeys.val) - { - self = Value.intValue(intValue) - JLog.trace("int:\(intValue)") - return - } - if let stringValue = try? container.decode(String.self, forKey: CodingKeys.val) - { - self = Value.stringValue(stringValue) - JLog.trace("str:\(stringValue)") - return - } - if let tagArray = try? container.decode([[String: Int?]].self, forKey: CodingKeys.val) - { - JLog.trace("tagArray:\(tagArray)") - let tags = tagArray.map { $0["tag"] ?? nil } - self = Value.tagValues(tags) - JLog.trace("tags:\(tags)") - return - } - _ = try container.decodeNil(forKey: CodingKeys.val) - self = Value.intValue(nil) - } - } - - struct Result: Decodable - { - let values: [Value] - - enum CodingKeys: String, CodingKey - { - case one = "1" - case seven = "7" - } - - init(from decoder: Decoder) throws - { - let container = try decoder.container(keyedBy: CodingKeys.self) - - if let values = try container.decodeIfPresent([Value].self, forKey: CodingKeys.one) - { - self.values = values - return - } - values = try container.decode([Value].self, forKey: CodingKeys.seven) - } - } - - typealias InverterName = String - typealias SMAObjectID = String - - let result: [InverterName: [SMAObjectID: Result]] -} - -enum HTTPClientProvider -{ - static var sharedHttpClient: HTTPClient = { var tlsConfiguration = TLSConfiguration.makeClientConfiguration() - tlsConfiguration.certificateVerification = .none - - return HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration, - timeout: .init(connect: .seconds(5), read: .seconds(10)), - decompression: .enabled(limit: .none))) - }() -} public actor SMADevice { diff --git a/Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json b/Sources/sma2mqttLibrary/SMAPacket/Resources/SMANetPacketDefinitions.json similarity index 100% rename from Sources/sma2mqttLibrary/Resources/SMANetPacketDefinitions.json rename to Sources/sma2mqttLibrary/SMAPacket/Resources/SMANetPacketDefinitions.json diff --git a/Sources/sma2mqttLibrary/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift similarity index 100% rename from Sources/sma2mqttLibrary/SMANetPacket.swift rename to Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift diff --git a/Sources/sma2mqttLibrary/SMANetPacketDefinition.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift similarity index 100% rename from Sources/sma2mqttLibrary/SMANetPacketDefinition.swift rename to Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift diff --git a/Sources/sma2mqttLibrary/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift similarity index 100% rename from Sources/sma2mqttLibrary/SMANetPacketValue.swift rename to Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift diff --git a/Sources/sma2mqttLibrary/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift similarity index 75% rename from Sources/sma2mqttLibrary/SMAPacket.swift rename to Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift index 8504afc..0d17f87 100644 --- a/Sources/sma2mqttLibrary/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift @@ -22,46 +22,6 @@ enum SMAPacketType: UInt16 case netPacket = 0x6065 } -private struct SMATagPacket -{ - let length: UInt16 - let tag: UInt16 - let data: Data - - enum TagType: Int - { - case end = 0x0000 - case net = 0x0010 - case group = 0x02A0 // tag 0x02a == 42, version 0x0 - - case unknown = 0xFFFF_FFFF - } - - public init(fromBinary decoder: BinaryDecoder) throws - { - length = try decoder.decode(UInt16.self).bigEndian - tag = try decoder.decode(UInt16.self).bigEndian - - if let type = TagType(rawValue: Int(tag)) - { - JLog.debug("SMATagPacket tagtype: \(type) \(String(format: "(0x%x == %d)", tag, tag)) length:\(length) )") - } - else - { - JLog.error("SMATagPacket tagtype:UNKNOWN \(String(format: "0x%x == %d", tag, tag)) length:\(length) )") - } - - guard Int(length) <= decoder.countToEnd - else - { - throw SMAPacket.SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") - } - data = try decoder.decode(Data.self, length: Int(length)) - } - - var type: TagType { TagType(rawValue: Int(tag)) ?? .unknown } -} - extension SMAPacket: BinaryDecodable { enum SMAPacketError: Swift.Error diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift new file mode 100644 index 0000000..7a76d77 --- /dev/null +++ b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift @@ -0,0 +1,51 @@ +// +// SMATagPacket.swift +// +// +// Created by Patrick Stein on 18.06.23. +// + +import Foundation +import JLog +import BinaryCoder + +public struct SMATagPacket +{ + let length: UInt16 + let tag: UInt16 + let data: Data + + enum TagType: Int + { + case end = 0x0000 + case net = 0x0010 + case group = 0x02A0 // tag 0x02a == 42, version 0x0 + + case unknown = 0xFFFF_FFFF + } + + public init(fromBinary decoder: BinaryDecoder) throws + { + length = try decoder.decode(UInt16.self).bigEndian + tag = try decoder.decode(UInt16.self).bigEndian + + if let type = TagType(rawValue: Int(tag)) + { + JLog.debug("SMATagPacket tagtype: \(type) \(String(format: "(0x%x == %d)", tag, tag)) length:\(length) )") + } + else + { + JLog.error("SMATagPacket tagtype:UNKNOWN \(String(format: "0x%x == %d", tag, tag)) length:\(length) )") + } + + guard Int(length) <= decoder.countToEnd + else + { + throw SMAPacket.SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") + } + data = try decoder.decode(Data.self, length: Int(length)) + } + + var type: TagType { TagType(rawValue: Int(tag)) ?? .unknown } +} + diff --git a/Sources/sma2mqttLibrary/Extensions.swift b/Sources/sma2mqttLibrary/Tools/Extensions.swift similarity index 100% rename from Sources/sma2mqttLibrary/Extensions.swift rename to Sources/sma2mqttLibrary/Tools/Extensions.swift diff --git a/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift b/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift new file mode 100644 index 0000000..7ee4062 --- /dev/null +++ b/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift @@ -0,0 +1,25 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 18.06.23. +// + +import Foundation +//import NIO +//import NIOCore +//import NIOFoundationCompat +//import NIOHTTP1 +import NIOSSL +import AsyncHTTPClient + +enum HTTPClientProvider +{ + static var sharedHttpClient: HTTPClient = { var tlsConfiguration = TLSConfiguration.makeClientConfiguration() + tlsConfiguration.certificateVerification = .none + + return HTTPClient(eventLoopGroupProvider: .createNew, configuration: .init(tlsConfiguration: tlsConfiguration, + timeout: .init(connect: .seconds(5), read: .seconds(10)), + decompression: .enabled(limit: .none))) + }() +} diff --git a/Sources/sma2mqttLibrary/MQTTPublisher.swift b/Sources/sma2mqttLibrary/Tools/MQTTPublisher.swift similarity index 100% rename from Sources/sma2mqttLibrary/MQTTPublisher.swift rename to Sources/sma2mqttLibrary/Tools/MQTTPublisher.swift diff --git a/Sources/sma2mqttLibrary/MutlicastReceiver.swift b/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift similarity index 71% rename from Sources/sma2mqttLibrary/MutlicastReceiver.swift rename to Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift index 39a26ed..fc193ad 100644 --- a/Sources/sma2mqttLibrary/MutlicastReceiver.swift +++ b/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift @@ -32,14 +32,12 @@ enum MulticastReceiverError: Error actor MulticastReceiver { private let socketFileDescriptor: Int32 -// private var receiveBuffer: UnsafeMutablePointer? private let bufferSize: Int private var isListening: Bool = true init(groups: [String], bindAddress: String, listenPort: UInt16, bufferSize: Int = 65536) throws { self.bufferSize = bufferSize -// receiveBuffer = UnsafeMutablePointer.allocate(capacity: bufferSize) socketFileDescriptor = socket(AF_INET, SOCK_DGRAM_VALUE, 0) // IPPROTO_UDP) // 0 , IPPROTO_MTP guard socketFileDescriptor != -1 else { throw MulticastReceiverError.socketCreationFailed(errno) } @@ -172,76 +170,3 @@ actor MulticastReceiver } } } - -// func main() async { -// // Define the multicast groups and port -// let multicastGroups: [MulticastGroup] = [ -// MulticastGroup(address: "239.12.0.78", port: 955), -// MulticastGroup(address: "239.12.1.105", port: 955) -// ] -// -// // Create an instance of MulticastReceiver -// do { -// let receiver = try MulticastReceiver(groups: multicastGroups) -// -// // Start listening for packets -// receiver.startListening() -// -// // Receive and process packets in a loop -// while true { -// if let packet = await receiver.receiveNextPacket() { -// let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") -// print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") -// } -// } -// } catch { -// print("Error creating MulticastReceiver:", error) -// } -// } -// -//// Run the main function -// Task { -// await main() -// } -// -// -// -// let multicastGroups: [String] = [ -// "239.12.255.253", -// "239.12.255.254", -// "239.12.255.255", -// -// "239.12.0.78", -// "239.12.1.105", // 10.112.16.166 -// "239.12.1.153", // 10.112.16.127 -// "239.12.1.55", // 10.112.16.166 -// "239.12.1.87", // 10.112.16.107 -// ] -// -// // Create an instance of MulticastReceiver -// do -// { -//// let receiver = try MulticastReceiver(groups: multicastGroups,listenAddress: "0.0.0.0", listenPort:9522) -// let receiver = try MulticastReceiver(groups: multicastGroups,listenAddress: "10.112.16.115", listenPort:9522) -// // Start listening for packets -// await receiver.startListening() -// print("Starting to listen") -// -// // Receive and process packets in a loop -// -// while true -// { -// print("awaiting next packet") -// let packet = try await receiver.receiveNextPacket() -// -// let hexEncodedData = packet.data.map { String(format: "%02X", $0) }.joined(separator: " ") -// print("Received packet from \(packet.sourceAddress): \(hexEncodedData)") -// } -// } -// catch -// { -// print("Error creating MulticastReceiver:", error) -// } -// -// -// print("end") From 6e6af68497ecaf7b1ff400a0a794cbc995020c0e Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 18 Jun 2023 17:14:57 +0200 Subject: [PATCH 65/81] Removed uneeded package references. --- Package.swift | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Package.swift b/Package.swift index 3e20475..9ef3b0c 100644 --- a/Package.swift +++ b/Package.swift @@ -18,8 +18,6 @@ let package = Package( dependencies: [ .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.51.11"), .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), - .package(url: "https://github.com/apple/swift-nio.git", .upToNextMajor(from: "2.54.0")), - .package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.14.1"), .package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), @@ -38,8 +36,6 @@ let package = Package( name: "sma2mqttLibrary", dependencies: [ .product(name: "BinaryCoder", package: "BinaryCoder"), - .product(name: "NIO", package: "swift-nio"), - .product(name: "NIOSSL", package: "swift-nio-ssl"), .product(name: "AsyncHTTPClient", package: "async-http-client"), .product(name: "MQTTNIO", package: "mqtt-nio"), .product(name: "JLog", package: "JLog"), From d88421b320397837800215219d48d8843aee09c3 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 23 Jun 2023 05:45:08 +0200 Subject: [PATCH 66/81] more doumentation on reverseengineering , refactoring packet deconstruction in prospect of adding udp login / sending / receiving. --- SMA Protocol.md | 89 +++++---- Sources/sma2mqtt/sma2mqtt.swift | 4 +- .../DataObjects/GetValuesResult.swift | 3 +- Sources/sma2mqttLibrary/SMADevice.swift | 51 ++++- Sources/sma2mqttLibrary/SMALighthouse.swift | 2 +- .../SMAPacket/PacketHelper.swift | 42 +++++ .../SMAPacket/SMANetPacket.swift | 90 +-------- .../SMAPacket/SMANetPacketDefinition.swift | 2 +- .../SMAPacket/SMANetPacketHeader.swift | 86 +++++++++ .../SMAPacket/SMANetPacketValue.swift | 8 +- .../sma2mqttLibrary/SMAPacket/SMAPacket.swift | 134 +++++--------- .../SMAPacket/SMATagPacket.swift | 175 +++++++++++++++--- .../Tools/HTTPClientProvider.swift | 12 +- .../Tools/MutlicastReceiver.swift | 11 +- Tests/sma2mqttTests/sma2mqttTests.swift | 72 +++++++ 15 files changed, 521 insertions(+), 260 deletions(-) create mode 100644 Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift create mode 100644 Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift diff --git a/SMA Protocol.md b/SMA Protocol.md index dfb1f97..773ca54 100644 --- a/SMA Protocol.md +++ b/SMA Protocol.md @@ -14,42 +14,49 @@ I did not find any thorough documentation on the SMA UDP Protocol, so I started - Python Webclient [SMAPY][https://github.com/jonkerj/smapy] -## SMA Protocol +# SMA Protocol Packet -Sma Protocol starts with 'SMA\0' and then packets in big-endian order follow. +Sma Protocol starts with 'SMA\0' and then tag packets follow until a tag end packet addr | type | explanation ----------------------------------- - 0x00 | U32 | 0x534D4100 == 'SMA\0' Magic Number - 0x04 | U16 | length of packet - 0x06 | U16 | Tag 0xABBC A = 0 , B = Tag ID, C = 0 - | | 0x0000 = 0x00: End of packets - | | 0x0010 = 0x01: SMA Net Version 1 - | | 0x0200 = 0x20: End of discovery request ? - | | 0x02A0 = 0x2A: Discovery Request - | | 0x02C0 = 0x2C: Group number - 0x08 | U8*len | packet content + 0x00 | U8 | 0x53 S + 0x01 | U8 | 0x4D M + 0x02 | U8 | 0x41 A + 0x03 | U8 | 0x0 \0 + one or more Tag Packets follow + until End Tag Packet +# SMA Tag Packet -### End of packets 0x0000 +Tag packet start with a , then a tag in big-endian order follow until the end tag packet (8 bytes of zeros) - addr | type | explanation - ----------------------------------- - 0x00 | U16 | 0x0000 end of transmission - - - -### End of discovery 0x0200 - - - addr | type | explanation - ----------------------------------- - 0x00 | U16 | 0x0200 end of discovery request ? - - - -### Discovery Request 0x02a0 + 0x00 | U16 | length of packet + 0x02 | U16 | Tag + 0x03 | | Data + ... | ... + 0x03 + length | Data + +A SMA Tag seems to have a internal structure of 0xABBC A = 0 , B = Tag ID, C = 0 + +0x0000 | end marker usually 2 bytes content + | content + | U16 | 0x0000 - END of SMA Packets + | | 0x0001 - More Tag Packets follow + | +0x0010 | SMA Net Version Version 1 Packet +0x0020 | Unkown, value: 0x0000 0001 +0x0030 | IP Address of source ( 4 bytes ) +0x0040 | Unkown, value : 0x0000 0002 +0x0070 | Unkown, value : 0xef0c = 239 12 -MCast ? +0x0080 | Unkown, value : 0x00 +0x0200 | Discovery Request +0x02A0 | Group Packet +0x02C0 | Group Number + + +## SMA Tag 0x200: Discovery Request Discovery request has 4 bytes of data containing 0xff. @@ -58,7 +65,6 @@ Discovery request has 4 bytes of data containing 0xff. 0x00 | U32 | 0xFFFF FFFF requesting discovery reply | | 0x0000 0001 normal request - A full discovery request looks like this: addr | type | value | explanation @@ -66,11 +72,11 @@ Discovery request has 4 bytes of data containing 0xff. 0x00 | U32 | 0x534D4100 | 'SMA\0' Magic Number -----|--------|-------------|------- 0x04 | U16 | 0x0004 | length of packet - 0x06 | U16 | 0x02a0 | tag ( Discovery Request ) - 0x08 | U32 | 0xFFFF FFFF | requesting discovery reply + 0x06 | U16 | 0x02a0 | tag Group + 0x08 | U32 | 0xFFFF FFFF | to all groups ? -----|--------|-------------|------- 0x0C | U16 | 0x0000 | length of packet - 0x0E | U16 | 0x0200 | tag ( Discovery End? ) + 0x0E | U16 | 0x0200 | tag: discovery request ) -----|--------|-------------|------- 0x10 | U16 | 0x0000 | length of packet 0x12 | U16 | 0x0000 | tag ( End of packets ) @@ -84,16 +90,18 @@ Discovery request has 4 bytes of data containing 0xff. | | 0xFF03 bluethooth ? -# SMA Net Version 1 (Tag:0x0010) +## SMA Tag 0x0010 : SMA Net Version 1 addr | type | explanation -----|--------|-------------------- - 0x00 | U16 | Protocol ID: 0x6069 Sunny Home Manger - | | 0x6065 Inverter Communication + 0x00 | U16 | Protocol ID: + | | 0x6069 Sunny Home Manger + | | 0x6065 Inverter Communication + | | 0x0001 ? Version ? followed by a 0x0003 as data 0x02 | length | Data -## 0x6069 Protocol: Sunny Home Manger +## SMA Tag 0x0010 SubTag 0x6069: Sunny Home Manger Protocol The information on the Sunny Home Manger protocol 0x6069 [EMETER-Protokoll-T1-de-10.pdf](https://www.sma.de/fileadmin/content/global/Partner/Documents/SMA_Labs/EMETER-Protokoll-TI-en-10.pdf) is enough to figure it out. Exact values I figured out can be found in [Obis.swift](Sources/sma2mqtt/Obis.swift) @@ -106,7 +114,7 @@ Exact values I figured out can be found in [Obis.swift](Sources/sma2mqtt/Obis.sw 0x0A | | 0x6069 data packets follow: -## 0x6069 data packets (Big Endian) +### Data Packets (Big Endian) addr | type | explanation -----|---------|-------------------- @@ -120,7 +128,7 @@ Exact values I figured out can be found in [Obis.swift](Sources/sma2mqtt/Obis.sw -## 0x6065 Protocol: Inverter Communication (Little Endian) +## SMA Tag 0x0010 SubTag 0x6065: Inverter Communication (Little Endian) Beware, this protocol uses little endian format. Requests and responses share the same header format. Requests to the inverter send the header followed by a command (e.g. logon, logoff, data request ). @@ -137,7 +145,7 @@ Responses from the inverter have the same header with data then attached (e.g. a | | | 1 group address ? 0x02 | 02 | U16 | Destination SysID - 0x04 | 04 | U32 | Destination Serial number + 0x04 | 04 | U32 | Destination Serial number or group 0x08 | 08 | U8 | 0x00 needs to be 0x00 0x09 | 09 | U8 | 0x00 sending does not seem to matter except for login @@ -145,6 +153,9 @@ Responses from the inverter have the same header with data then attached (e.g. a | | | 0xA1 1010 0000b | | | 0xE0 1110 0000b e0 means failed | | | -X-- ---- 0 ok, 1, failed + | From SB sessionprotocol bit7 addressing ( 0 = adr / 1 = group) + | bit6 acknoledge ( 0 = request / 1 = answer ) + | bit 0-5 reserved 0x0A | 10 | U16 | Source SysID Any: 0xFFFF diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index d03d8bf..061071d 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -57,8 +57,8 @@ extension Logger.Level: ExpressibleByArgument {} // "battery/present-battery-discharge", "battery/battery/temperature", "battery/battery/battery-charge/battery-charge", - "temperatures", - // "temperature", +// "temperatures", + "temperature", ] func run() async throws { diff --git a/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift b/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift index 486ba63..7161bfa 100644 --- a/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift +++ b/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift @@ -1,6 +1,6 @@ // // File.swift -// +// // // Created by Patrick Stein on 18.06.23. // @@ -75,4 +75,3 @@ struct GetValuesResult: Decodable let result: [InverterName: [SMAObjectID: Result]] } - diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index de4d48c..eb60849 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -12,7 +12,6 @@ import NIOFoundationCompat import NIOHTTP1 import RegexBuilder - public actor SMADevice { let address: String @@ -30,6 +29,12 @@ public actor SMADevice var scheme = "https" let httpClient: HTTPClient + let udpEmitter: UDPEmitter? + var udpSerial: Int? + var udpLoggedIn = false + var udpSession: Int? + var udpPacketCounter = 1 + private var hasDeviceName = false public var name: String { willSet { hasDeviceName = true } } @@ -45,7 +50,7 @@ public actor SMADevice case developer = "dvlp" } - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 10, interestingPaths: [String] = [], requestAllObjects: Bool = false) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 10, interestingPaths: [String] = [], requestAllObjects: Bool = false, udpEmitter: UDPEmitter? = nil) async throws { self.address = address self.userright = userright @@ -53,6 +58,7 @@ public actor SMADevice self.publisher = publisher self.interestingPaths = interestingPaths self.requestAllObjects = requestAllObjects + self.udpEmitter = udpEmitter name = address hasDeviceName = false @@ -85,12 +91,30 @@ public actor SMADevice public extension SMADevice { - func receivedUDPData(_ data: Data) async -> SMAPacket? + func encodePassword(password: String, usertype: UInt8 = 0x88) -> [UInt8] { - lastSeen = Date() + let paddedPassword = password.padding(toLength: 12, withPad: "\0", startingAt: 0) + let passwordData = Data(paddedPassword.utf8) - guard hasDeviceName else { return nil } + var encoded: [UInt8] = [] + for byte in passwordData + { + let calculate = UInt8((Int(byte) + Int(usertype)) % 256) + encoded.append(calculate) + } + return encoded + } + + func getPacketCounter() -> UInt16 + { + udpPacketCounter = (udpPacketCounter + 1) + return UInt16(udpPacketCounter | 0x8000) + } + + func receivedUDPData(_ data: Data) async -> SMAPacket? + { + lastSeen = Date() guard !data.isEmpty else { @@ -98,13 +122,24 @@ public extension SMADevice return nil } - guard let smaPacket = try? SMAPacket(data: data) - else + JLog.trace("received udp packet:\(data.hexDump)") + + let smaPacket: SMAPacket + + do { - JLog.error("\(address):did not decode") + smaPacket = try SMAPacket(data: data) + } + catch + { + JLog.error("\(address):did not decode :\(error) \(data.hexDump)") return nil } + JLog.trace("\(address): received \(smaPacket)") + + guard hasDeviceName else { return nil } + for obisvalue in smaPacket.obis { if obisvalue.mqtt != .invisible diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 7fcaa31..8cca1ec 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -75,7 +75,7 @@ public actor SMALighthouse JLog.debug("Got new SMA Device with remoteAddress:\(remoteAddress)") - let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher, interestingPaths: interestingPaths) } + let task = Task { try await SMADevice(address: remoteAddress, userright: .user, password: password, publisher: mqttPublisher, interestingPaths: interestingPaths, udpEmitter: mcastReceiver) } smaDeviceCache[remoteAddress] = .inProgress(task) do diff --git a/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift b/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift new file mode 100644 index 0000000..623615d --- /dev/null +++ b/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift @@ -0,0 +1,42 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 21.06.23. +// + +import BinaryCoder +import Foundation +import JLog + +enum PacketError: Swift.Error +{ + case notExpectedPacket(String, line: Int = #line, file: String = #file) + case prematureEndOfData(String, line: Int = #line, file: String = #file) + case decoding(String, line: Int = #line, file: String = #file) +} + +protocol PacketHelper: Decodable +{ + init(fromBinary decoder: BinaryDecoder) throws +} + +extension PacketHelper +{ + public init(data: Data) throws + { + let byteArray = [UInt8](data) + let binaryDecoder = BinaryDecoder(data: byteArray) + self = try binaryDecoder.decode(Self.self) + } + + public init(byteArray: [UInt8]) throws + { + let binaryDecoder = BinaryDecoder(data: byteArray) + self = try binaryDecoder.decode(Self.self) + } +} + +extension SMAPacket: PacketHelper {} +extension SMATagPacket: PacketHelper {} +extension SMANetPacket: PacketHelper {} diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift index dc10572..0f20010 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift @@ -8,7 +8,7 @@ import BinaryCoder import Foundation import JLog -struct SMANetPacket: Encodable, Decodable +public struct SMANetPacket: Codable { let header: SMANetPacketHeader let valuesheader: [Int] @@ -18,9 +18,7 @@ struct SMANetPacket: Encodable, Decodable extension SMANetPacket: BinaryDecodable { - enum SMANetPacketDecodingError: Error { case decoding(String) } - - init(fromBinary decoder: BinaryDecoder) throws + public init(fromBinary decoder: BinaryDecoder) throws { JLog.trace("") @@ -42,13 +40,13 @@ extension SMANetPacket: BinaryDecodable switch header.valuestype { case 0x01, 0x04: - guard decoder.countToEnd >= 4 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } + guard decoder.countToEnd >= 4 else { throw PacketError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) valuesheader.append(startvalue) valuesize = header.valuestype == 0x01 ? 16 : decoder.countToEnd case 0x02: - guard decoder.countToEnd >= 8 else { throw SMANetPacketDecodingError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } + guard decoder.countToEnd >= 8 else { throw PacketError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) let endvalue = try Int(decoder.decode(UInt32.self).littleEndian) @@ -58,7 +56,7 @@ extension SMANetPacket: BinaryDecodable guard decoder.countToEnd == valuecount * valuesize else { - throw SMANetPacketDecodingError.decoding("valuecount wrong: header:\(header) valuecount:\(valuecount) toEnd:\(decoder.countToEnd)") + throw PacketError.decoding("valuecount wrong: header:\(header) valuecount:\(valuecount) toEnd:\(decoder.countToEnd)") } case 0x0C: @@ -76,7 +74,7 @@ extension SMANetPacket: BinaryDecodable } case 0x00: valuesize = decoder.countToEnd // keepalive packet - default: throw SMANetPacketDecodingError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + default: throw PacketError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") } if valuesize > 0 @@ -96,79 +94,3 @@ extension SMANetPacket: BinaryDecodable self.directvalue = directvalue } } - -struct SMANetPacketHeader: Encodable, Decodable -{ - let quaterlength: UInt8 // 0 - let type: UInt8 // 1 - - let sourceSystemId: UInt16 // 2-3 - let sourceSerial: UInt32 // 4-7 - - let unknown1: UInt8 // 8 always 0x00 - let unknown2: UInt8 // 9 0x01 0xa1 0xe1 - - let destinationSystemId: UInt16 // 10, 11 - let destinationSerial: UInt32 // 12-15 - - let unknown3: UInt16 // 16-17 0x100 - let response: UInt16 // 18-19 0x00 , 0x14, 0x15 - - let remainingpackets: UInt16 // 20-21 - - private let _packetId: UInt16 // 22-23 - - let unknown6: UInt8 // 24 - let valuestype: UInt8 // 25 - let command: UInt16 // 26-27 -} - -extension SMANetPacketHeader // calculated -{ - var packetId: UInt16 { _packetId & 0x7FFF } - var direction: Bool { _packetId & 0x8000 != 0 } - static var size: Int { 28 } - private var followingdatasize: Int { (Int(quaterlength) * 4) - Self.size } -} - -extension SMANetPacketHeader: BinaryDecodable -{ - enum SMANetPacketHeaderDecodingError: Error { case decoding(String) } - - // var description:String { self.json } - - init(fromBinary decoder: BinaryDecoder) throws - { - let startposition = decoder.position - - quaterlength = try decoder.decode(UInt8.self).littleEndian - - guard Int(quaterlength) * 4 == (decoder.countToEnd + 1) else { throw SMANetPacketHeaderDecodingError.decoding("quaterlength \(quaterlength) != countToEnd \(decoder.countToEnd)") } - - type = try decoder.decode(UInt8.self).littleEndian - - sourceSystemId = try decoder.decode(UInt16.self).littleEndian - sourceSerial = try decoder.decode(UInt32.self).littleEndian - - unknown1 = try decoder.decode(UInt8.self).littleEndian - unknown2 = try decoder.decode(UInt8.self).littleEndian - - destinationSystemId = try decoder.decode(UInt16.self).littleEndian - destinationSerial = try decoder.decode(UInt32.self).littleEndian - - unknown3 = try decoder.decode(UInt16.self).littleEndian - - response = try decoder.decode(UInt16.self).littleEndian - - remainingpackets = try decoder.decode(UInt16.self).littleEndian - - _packetId = try decoder.decode(UInt16.self).littleEndian - - unknown6 = try decoder.decode(UInt8.self).littleEndian - valuestype = try decoder.decode(UInt8.self).littleEndian - - command = try decoder.decode(UInt16.self).littleEndian - - assert(Self.size == decoder.position - startposition) - } -} diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift index 45d4adf..1d536cc 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift @@ -8,7 +8,7 @@ import Foundation import JLog -struct SMANetPacketDefinition: Encodable, Decodable +struct SMANetPacketDefinition: Codable { let address: String diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift new file mode 100644 index 0000000..ae33ddc --- /dev/null +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift @@ -0,0 +1,86 @@ +// +// SMANetPacketHeader.swift +// +// +// Created by Patrick Stein on 19.06.23. +// + +import BinaryCoder +import Foundation +import JLog + +struct SMANetPacketHeader: Codable +{ + let quaterlength: UInt8 // 0 + let type: UInt8 // 1 + + let sourceSystemId: UInt16 // 2-3 + let sourceSerial: UInt32 // 4-7 + + let unknown1: UInt8 // 8 always 0x00 + let unknown2: UInt8 // 9 0x01 0xa1 0xe1 + + let destinationSystemId: UInt16 // 10, 11 + let destinationSerial: UInt32 // 12-15 + + let unknown3: UInt16 // 16-17 0x100 + let response: UInt16 // 18-19 0x00 , 0x14, 0x15 + + let remainingpackets: UInt16 // 20-21 + + private let _packetId: UInt16 // 22-23 + + let unknown6: UInt8 // 24 + let valuestype: UInt8 // 25 + let command: UInt16 // 26-27 +} + +extension SMANetPacketHeader // calculated +{ + var packetId: UInt16 { _packetId & 0x7FFF } + var direction: Bool { _packetId & 0x8000 != 0 } + static var size: Int { 28 } + private var followingdatasize: Int { (Int(quaterlength) * 4) - Self.size } +} + +extension SMANetPacketHeader: BinaryDecodable +{ + enum SMANetPacketHeaderDecodingError: Error { case decoding(String) } + + // var description:String { self.json } + + init(fromBinary decoder: BinaryDecoder) throws + { + let startposition = decoder.position + + quaterlength = try decoder.decode(UInt8.self).littleEndian + + guard Int(quaterlength) * 4 == (decoder.countToEnd + 1) else { throw SMANetPacketHeaderDecodingError.decoding("quaterlength \(quaterlength) != countToEnd \(decoder.countToEnd)") } + + type = try decoder.decode(UInt8.self).littleEndian + + sourceSystemId = try decoder.decode(UInt16.self).littleEndian + sourceSerial = try decoder.decode(UInt32.self).littleEndian + + unknown1 = try decoder.decode(UInt8.self).littleEndian + unknown2 = try decoder.decode(UInt8.self).littleEndian + + destinationSystemId = try decoder.decode(UInt16.self).littleEndian + destinationSerial = try decoder.decode(UInt32.self).littleEndian + + unknown3 = try decoder.decode(UInt16.self).littleEndian + + response = try decoder.decode(UInt16.self).littleEndian + + remainingpackets = try decoder.decode(UInt16.self).littleEndian + + _packetId = try decoder.decode(UInt16.self).littleEndian + + unknown6 = try decoder.decode(UInt8.self).littleEndian + valuestype = try decoder.decode(UInt8.self).littleEndian + + command = try decoder.decode(UInt16.self).littleEndian + + assert(Self.size == decoder.position - startposition) + } +} diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift index b02d997..4ff9434 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift @@ -8,7 +8,7 @@ import BinaryCoder import Foundation import JLog -struct SMANetPacketValue: Decodable +public struct SMANetPacketValue { let number: UInt8 let address: UInt16 @@ -28,7 +28,7 @@ struct SMANetPacketValue: Decodable case unknown = 0x01 } - enum PacketValue: Encodable, Decodable + enum PacketValue: Codable { case uint([UInt32]) case int([Int32]) @@ -44,7 +44,7 @@ struct SMANetPacketValue: Decodable var description: String { json } } -extension SMANetPacketValue: Encodable +extension SMANetPacketValue: Codable { public func encode(to encoder: Encoder) throws { @@ -89,7 +89,7 @@ extension SMANetPacketValue: Encodable extension SMANetPacketValue: BinaryDecodable { - init(fromBinary decoder: BinaryDecoder) throws + public init(fromBinary decoder: BinaryDecoder) throws { let startposition = decoder.position diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift index 0d17f87..2b8755b 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift @@ -2,111 +2,69 @@ import BinaryCoder import Foundation import JLog -public struct SMAPacket: Encodable, Decodable +public struct SMAPacket: Codable { - var smaprefix: UInt32 - var group: UInt32? - var systemid: UInt16? - var serialnumber: UInt32? - var currenttimems: UInt32? - - var obisPackets: [ObisPacket] - var smaNetPackets: [SMANetPacket] - - public var obis: [ObisValue] { obisPackets.first?.obisvalues ?? [] } -} + enum MagicHeader: UInt32 + { + case smaprefix = 0x534D_4100 // == 'SMA\0' + } -enum SMAPacketType: UInt16 -{ - case obisPacket = 0x6069 - case netPacket = 0x6065 + var smaTagPackets: [SMATagPacket] } extension SMAPacket: BinaryDecodable { - enum SMAPacketError: Swift.Error - { - case notaSMAPacket(String) - case prematureEndOfSMAContentData(String) - } - - public init(data: Data) throws - { - let byteArray = [UInt8](data) - let binaryDecoder = BinaryDecoder(data: byteArray) - self = try binaryDecoder.decode(SMAPacket.self) - } - - public init(byteArray: [UInt8]) throws - { - let binaryDecoder = BinaryDecoder(data: byteArray) - self = try binaryDecoder.decode(SMAPacket.self) - } - public init(fromBinary decoder: BinaryDecoder) throws { - JLog.debug("") - - obisPackets = [ObisPacket]() - smaNetPackets = [SMANetPacket]() + JLog.trace("") - do { smaprefix = try decoder.decode(UInt32.self).bigEndian } - catch { throw SMAPacketError.prematureEndOfSMAContentData("not long enough for SMA\\0 header") } - - guard smaprefix == 0x534D_4100 // == 'SMA\0' - else { throw SMAPacketError.notaSMAPacket("packet not sma packet - does not start with SMA\\0") } + let prefix: UInt32 + do + { + prefix = try decoder.decode(UInt32.self).bigEndian + } + catch { throw PacketError.prematureEndOfData("not long enough for SMA\\0 header") } + guard prefix == MagicHeader.smaprefix.rawValue + else { throw PacketError.notExpectedPacket("packet not sma packet - does not start with SMA\\0") } - JLog.debug("Valid SMA Prefix") + JLog.trace("Valid SMAPacket Prefix") - var endPacketRead = false + var endTagRead = false + var smaTagPackets = [SMATagPacket]() repeat { let smaTagPacket = try SMATagPacket(fromBinary: decoder) - let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data)) - - switch smaTagPacket.type - { - case .end: endPacketRead = true - - case .group: - JLog.trace("tag0 :\(smaTagPacket)") - let groupnumber = try smaNetDecoder.decode(UInt32.self).bigEndian - JLog.trace("\(String(format: "groupnumber : 0x%08x d:%d", groupnumber, groupnumber))") - group = groupnumber - - case .net: - if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian, - let packetType = SMAPacketType(rawValue: protocolid) - { - JLog.debug("got packetType:\(packetType)") - - switch packetType - { - case .obisPacket: - JLog.debug("recognizing ObisPacket") - - let obisPacket = try ObisPacket(fromBinary: smaNetDecoder) - obisPackets.append(obisPacket) - case .netPacket: - JLog.debug("recognizing SMANetPacket") - - let smaNetPacket = try SMANetPacket(fromBinary: smaNetDecoder) - smaNetPackets.append(smaNetPacket) - } - } - else - { - JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") - } - - case .unknown: - JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") - } + smaTagPackets.append(smaTagPacket) + endTagRead = smaTagPacket.isLastPacket } - while !decoder.isAtEnd && !endPacketRead + while !decoder.isAtEnd && !endTagRead - JLog.trace("\npayload:\(json)") + if decoder.isAtEnd, !endTagRead + { + throw PacketError.prematureEndOfData("SMAPacket atEnd but no Endpacket read") + } + self.smaTagPackets = smaTagPackets } } + +public extension SMAPacket +{ + var obis: [ObisValue] { smaTagPackets.first(where: { $0.type == .net })?.obisvalues ?? [] } +} + +// +// var group: UInt32? +// var systemid: UInt16? +// var serialnumber: UInt32? +// var currenttimems: UInt32? +// +// var obisPackets: [ObisPacket] +// var smaNetPackets: [SMANetPacket] +// } + +// extension SMAPacket +// { +// public var obis: [ObisValue] { obisPackets.first?.obisvalues ?? [] } +// } diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift index 7a76d77..48ca33f 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift @@ -1,51 +1,182 @@ // // SMATagPacket.swift -// +// // // Created by Patrick Stein on 18.06.23. // +import BinaryCoder import Foundation import JLog -import BinaryCoder -public struct SMATagPacket +public struct SMATagPacket: Codable { - let length: UInt16 let tag: UInt16 let data: Data - enum TagType: Int + private var _group: UInt32? = nil + private var _netPacket: SMANetPacket? = nil + private var _obisPacket: ObisPacket? = nil + private var _ipaddress: String? = nil +} + +extension SMATagPacket +{ + public enum TagType: UInt16 { case end = 0x0000 - case net = 0x0010 + case net = 0x0010 // sma net v2 + case ipaddress = 0x0030 + case discovery = 0x0200 case group = 0x02A0 // tag 0x02a == 42, version 0x0 - - case unknown = 0xFFFF_FFFF + case unknown = 0xFFFF } + var type: TagType { TagType(rawValue: tag) ?? .unknown } +} + +enum SMATagPacketNetSubtype: UInt16 +{ + case emeterPacket = 0x6069 // Energy Meter Protocol + case netPacket = 0x6065 // SMANet Plus Packet + case extendedEmeterPacket = 0x6081 // Extended Energy Meter Protocol +} + +extension SMATagPacket: BinaryCodable +{ public init(fromBinary decoder: BinaryDecoder) throws { - length = try decoder.decode(UInt16.self).bigEndian - tag = try decoder.decode(UInt16.self).bigEndian + JLog.trace("") - if let type = TagType(rawValue: Int(tag)) - { - JLog.debug("SMATagPacket tagtype: \(type) \(String(format: "(0x%x == %d)", tag, tag)) length:\(length) )") - } - else + do { - JLog.error("SMATagPacket tagtype:UNKNOWN \(String(format: "0x%x == %d", tag, tag)) length:\(length) )") - } + let length = try decoder.decode(UInt16.self).bigEndian + tag = try decoder.decode(UInt16.self).bigEndian + data = try decoder.decode(Data.self, length: Int(length)) + + let tagType = TagType(rawValue: tag) ?? .unknown + JLog.trace("retrieved: \(tagType) \(String(format: "0x%04x", tag)) length:\(length)") + + switch tagType + { + case .group: + let groupDecoder = BinaryDecoder(data: [UInt8](data)) + _group = try groupDecoder.decode(UInt32.self).bigEndian + guard groupDecoder.isAtEnd else { throw PacketError.notExpectedPacket("SMATagPacket type:\(tagType) too long") } + JLog.trace("\(String(format: "groupnumber : 0x%08x d:%d", _group!, _group!))") + + case .net: + let netpacketDecoder = BinaryDecoder(data: [UInt8](data)) + let protocolid = try netpacketDecoder.decode(UInt16.self).bigEndian + + if let packetType = SMATagPacketNetSubtype(rawValue: protocolid) + { + JLog.trace("got SMATagPacketNetSubtype:\(packetType)") + + switch packetType + { + case .emeterPacket: + _obisPacket = try ObisPacket(fromBinary: netpacketDecoder) + + case .netPacket: + _netPacket = try SMANetPacket(fromBinary: netpacketDecoder) - guard Int(length) <= decoder.countToEnd - else + case .extendedEmeterPacket: + let data = try netpacketDecoder.decode(Data.self, length: data.count - 2) + } + guard netpacketDecoder.isAtEnd else { throw PacketError.notExpectedPacket("SMATagPacket type:\(tagType) too long") } + } + else + { + JLog.debug("ignoring SMATagPacketNetSubtype:\(String(format: "0x%04x", protocolid))") + } + + case .ipaddress: + let ipaddress = [UInt8](data) + guard ipaddress.count == 4 else { throw PacketError.notExpectedPacket("SMATagPacket type:\(tagType) weird data:\(ipaddress)") } + _ipaddress = ipaddress.map { String($0) }.joined(separator: ".") + + default: + break + } + } + catch { - throw SMAPacket.SMAPacketError.prematureEndOfSMAContentData("SMATagPacket content too short expected length:\(length) has:\(decoder.countToEnd)") + throw PacketError.prematureEndOfData("SMATagPacket") } - data = try decoder.decode(Data.self, length: Int(length)) } +} + +public extension SMATagPacket +{ + var isLastPacket: Bool { type == .end && data == Data(capacity: 4) } - var type: TagType { TagType(rawValue: Int(tag)) ?? .unknown } + var obisvalues: [ObisValue] { _obisPacket?.obisvalues ?? [ObisValue]() } + var netPacketValues: [SMANetPacketValue] { _netPacket?.values ?? [SMANetPacketValue]() } } +// +// +// +// +// let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data)) +// +// JLog.trace("smaTagPacketType :\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") +// +// switch smaTagPacket.type +// { +// case .end: endPacketRead = true +// while !decoder.isAtEnd && !endPacketRead +// +// case .group: +// JLog.trace("tag0 :\(smaTagPacket)") +// let groupnumber = try smaNetDecoder.decode(UInt32.self).bigEndian +// JLog.trace("\(String(format: "groupnumber : 0x%08x d:%d", groupnumber, groupnumber))") +// group = groupnumber +// +// case .net: +// if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian, +// let packetType = SMAPacketType(rawValue: protocolid) +// { +// JLog.debug("got packetType:\(packetType)") +// +// switch packetType +// { +// case .obisPacket: +// JLog.debug("recognizing ObisPacket") +// +// let obisPacket = try ObisPacket(fromBinary: smaNetDecoder) +// obisPackets.append(obisPacket) +// +// case .netPacket: +// JLog.debug("recognizing SMANetPacket") +// +// let smaNetPacket = try SMANetPacket(fromBinary: smaNetDecoder) +// smaNetPackets.append(smaNetPacket) +// } +// } +// else +// { +// JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") +// } +// +// +// case .ipaddress: +// JLog.debug("smaTagPacketType :\(smaTagPacket.tag) length:\(smaTagPacket.data.count == 4 ? "Ok" : "illegal\(smaTagPacket.data.count)") data:\(smaTagPacket.data.hexDump)") +// fallthrough +// case .unknown0x20: +// fallthrough +// case .unknown0x40: +// fallthrough +// case .unknown0x70: +// fallthrough +// case .unknown0x80: +// fallthrough +// case .discovery: +// JLog.debug("smaTagPacketType :\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") +// +// case .unknown: +// JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") +// } +// } +// while !decoder.isAtEnd && !endPacketRead diff --git a/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift b/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift index 7ee4062..182d68d 100644 --- a/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift +++ b/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift @@ -1,17 +1,17 @@ // // File.swift -// +// // // Created by Patrick Stein on 18.06.23. // +import AsyncHTTPClient import Foundation -//import NIO -//import NIOCore -//import NIOFoundationCompat -//import NIOHTTP1 +// import NIO +// import NIOCore +// import NIOFoundationCompat +// import NIOHTTP1 import NIOSSL -import AsyncHTTPClient enum HTTPClientProvider { diff --git a/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift b/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift index fc193ad..71a1e60 100644 --- a/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift +++ b/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift @@ -9,13 +9,18 @@ import JLog let SOCK_DGRAM_VALUE = SOCK_DGRAM #endif -struct Packet +public protocol UDPEmitter +{ + func sendPacket(data: [UInt8], address: String, port: UInt16) async +} + +public struct Packet { let data: Data let sourceAddress: String } -enum MulticastReceiverError: Error +private enum MulticastReceiverError: Error { case socketCreationFailed(Int32) case socketOptionReuseAddressFailed(Int32) @@ -29,7 +34,7 @@ enum MulticastReceiverError: Error case addressStringConversionFailed(Int32) } -actor MulticastReceiver +actor MulticastReceiver: UDPEmitter { private let socketFileDescriptor: Int32 private let bufferSize: Int diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 8fa7e41..8e40c90 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -40,6 +40,78 @@ final class sma2mqttTests: XCTestCase JLog.debug("Packet2:\(packet2)") } + func testSHMWeird() throws + { + let data = """ + 534d 4100 + 0004 02a0 + 0000 0001 + 000c 0010 + 6081 + 0001 0199 b32f a2f6 + ffff + 0000 0000 + """.hexStringToData() + let binaryDecoder = BinaryDecoder(data: [UInt8](data)) + + let packet = try SMAPacket(fromBinary: binaryDecoder) + JLog.debug("Packet:\(packet)") + XCTAssert(binaryDecoder.isAtEnd) + } + + func testSMADiscoveryResponseDecoding() throws + { + let data = """ + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 + """.hexStringToData() + let binaryDecoder = BinaryDecoder(data: [UInt8](data)) + + do + { + while !binaryDecoder.isAtEnd + { + let packet = try SMAPacket(fromBinary: binaryDecoder) + JLog.debug("Packet:\(packet.json)") + } + } + catch + { + XCTFail("Could not read SMA Packets error:\(error)") + } + XCTAssert(binaryDecoder.isAtEnd) + } + func testSMAFile() throws { JLog.debug("loading data") From 3aac3b06161ea62ec85dd86d069c0e1754d0e3ea Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Wed, 28 Jun 2023 15:49:04 +0200 Subject: [PATCH 67/81] switch to use udp for continous requests to inverters to lower load on them and be quicker. --- SMA Protocol.md | 106 +- .../DataObjects/Resources/sb3.definition.json | 5819 ++ .../Resources/sb3.translationData.json | 1944 + .../DataObjects/Resources/sb4.definition.json | 46261 ++++++++++++++++ .../Resources/sb4.translationData.json | 10221 ++++ .../DataObjects/Resources/sbs.definition.json | 44165 +++++++++++++++ .../Resources/sbs.translationData.json | 10221 ++++ .../Resources/sma.data.Translation_Names.json | 1 - .../Resources/sma.data.objectMetaData.json | 2152 +- .../DataObjects/SMATagTranslator.swift | 23 +- Sources/sma2mqttLibrary/SMADevice.swift | 122 +- Sources/sma2mqttLibrary/SMALighthouse.swift | 30 +- .../SMAPacket/SMANetPacket.swift | 14 +- .../SMAPacket/SMANetPacketHeader.swift | 63 +- .../sma2mqttLibrary/SMAPacket/SMAPacket.swift | 1 + .../SMAPacket/SMAPacketGenerator.swift | 120 + .../SMAPacket/SMATagPacket.swift | 4 +- .../sma2mqttLibrary/Tools/Extensions.swift | 22 + Tests/sma2mqttTests/SMAObjectTests.swift | 15 + Tests/sma2mqttTests/TestHelpers.swift | 19 - Tests/sma2mqttTests/sma2mqttTests.swift | 96 +- smatester.perl | 1248 - 22 files changed, 121237 insertions(+), 1430 deletions(-) create mode 100644 Sources/sma2mqttLibrary/DataObjects/Resources/sb3.definition.json create mode 100644 Sources/sma2mqttLibrary/DataObjects/Resources/sb3.translationData.json create mode 100644 Sources/sma2mqttLibrary/DataObjects/Resources/sb4.definition.json create mode 100644 Sources/sma2mqttLibrary/DataObjects/Resources/sb4.translationData.json create mode 100644 Sources/sma2mqttLibrary/DataObjects/Resources/sbs.definition.json create mode 100644 Sources/sma2mqttLibrary/DataObjects/Resources/sbs.translationData.json create mode 100644 Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift delete mode 100644 smatester.perl diff --git a/SMA Protocol.md b/SMA Protocol.md index 773ca54..6fcb054 100644 --- a/SMA Protocol.md +++ b/SMA Protocol.md @@ -139,15 +139,14 @@ Responses from the inverter have the same header with data then attached (e.g. a addr |addr | type| explanation ----- ----------------------------------- 0x00 | 00 | U8 | Length in 32bit words, to get length in bytes * 4 - 0x01 | 01 | U8 | Type 0xA0 1010 0000b Dest.SysID != 0xF4 - | | | 0xE0 1110 0000b Dest.SysID == 0xF4 == 244 = 1111 0100 - | | | -X-- ---- 0 network address ? - | | | 1 group address ? + 0x01 | 01 | U8 | Type only 0xYZ + Y: A = Request, E = Response + Z: 0 = network, 1 = group address 0x02 | 02 | U16 | Destination SysID 0x04 | 04 | U32 | Destination Serial number or group - - 0x08 | 08 | U8 | 0x00 needs to be 0x00 + 0x08 | 08 | U8 | 0x00 always zero (padding) + 0x09 | 09 | U8 | 0x00 sending does not seem to matter except for login | | | receiving same value sent except bit 6 | | | 0xA1 1010 0000b @@ -156,25 +155,94 @@ Responses from the inverter have the same header with data then attached (e.g. a | From SB sessionprotocol bit7 addressing ( 0 = adr / 1 = group) | bit6 acknoledge ( 0 = request / 1 = answer ) | bit 0-5 reserved - + + 'p9:0x00' => 504196, + 'p9:0x01' => 1887147, + 'p9:0x02' => 34, + 'p9:0x03' => 6, + 'p9:0xa0' => 399585, + 'p9:0xa1' => 160432, + 'p9:0xc0' => 14109, + 'p9:0xc1' => 2, + 'p9:0xc5' => 16871, + 'p9:0xe0' => 127697 + 'p9:0xe1' => 966354, + + + + + + 0x0A | 10 | U16 | Source SysID Any: 0xFFFF 0x0C | 12 | U32 | Source Serial number Any: 0xFFFF FFFF + 0x10 | 16 | U8 | 0x00 always zero (padding) + + 0x11 | 17 | U8 | job number usually 1 or 0 but can be chose freely it seems - 0x10 | 16 | U16 | ??ctrl 0x0000 sending 0xA0 0x01 0x03 - 0x12 | 18 | U16 | Result: 0x0000 ok - | | | 0x0002 0000 0010b incorrect command ? - | | | 0x0014 unkown command ? - | | | 0x0015 0000 1111b no values - | | | 0x0017 0001 0001b not logged in - | | | 0x0102 login not possible (busy)? - - 0x14 | | U16 | Bit 0-14 packet id - | | | bit 15 request / bit 15 needs to be set - | | | response 0 - fail - | | | 1 - ok + 0x12 | 18 | U16 | Result: 0x0000 ok + + 'reslt:0000' => 2981993, ok + 'reslt:0002' => 38, + 'reslt:0014' => 662745 + 'reslt:0015' => 415136, + 'reslt:0017' => 15705, + 'reslt:0018' => 6, + 'reslt:0102' => 383, invalid password + 'reslt:ffff' => 427, + + | | | 0x0002 0000 0010b incorrect command ? + | | | 0x0014 0000 1110b + | | | 0x0015 0000 1111b no values + | | | 0x0017 0001 0001b not logged in + | | | 0x0018 0001 0010b + 0x0100 1 0000 0000b inv. password? + | | | 0x0102 1 0000 0010b login not possible (busy)? + | | | 0xffff + + 0x14 | 20 | U16 | remaining packets to come count + + 0x16 | 22 | U16 | packet id Bit 0-14 packet id + | | | bit 15 + request: 1 + response: 0 - fail + 1 - ok + + + 0x18 | 24 | U8 | commannd ??ctrl + + 'p24:0x00' => 501268 + 'p24:0x01' => 1668148, + 'p24:0x0a' => 2987, + 'p24:0x0c' => 16882, + 'p24:0x0d' => 525358, + 'p24:0x0e' => 1361790, + + + + 0x19 | 25 | U8 | parametercount ? data type? + 'p25:0x00' => 572223, + 'p25:0x01' => 806438, + 'p25:0x02' => 2172375, + 'p25:0x03' => 28, + 'p25:0x04' => 525369 + + 0x80 + + 0x00 keep alive packet ? + 0x00 + 0x01 16 bit values + 0x02 32 bit values + 0x04 value length next packet ? + 0x02 && command == 0x000 - + + 0x1A | 26 | U16 | command + + values follow + + # Requests to Inverter diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sb3.definition.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sb3.definition.json new file mode 100644 index 0000000..2a0005f --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sb3.definition.json @@ -0,0 +1,5819 @@ +{ + "6180_08414B00": { + "Prio": 2, + "TagId": 76, + "TagIdEvtMsg": 10113, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6100_00418000": { + "Prio": 2, + "TagId": 153, + "TagIdEvtMsg": 10109, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08414900": { + "Prio": 2, + "TagId": 297, + "TagIdEvtMsg": 10112, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6180_08414A00": { + "Prio": 2, + "TagId": 335, + "TagIdEvtMsg": 10111, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6100_00412000": { + "Prio": 2, + "TagId": 35, + "TagIdEvtMsg": 10083, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411E00": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 10081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411F00": { + "Prio": 2, + "TagId": 455, + "TagIdEvtMsg": 10082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6402_00618D00": { + "Prio": 3, + "TagId": 103, + "TagIdEvtMsg": 10013, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6400_00618C00": { + "Prio": 3, + "TagId": 105, + "TagIdEvtMsg": 10009, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6180_08416400": { + "Prio": 2, + "TagId": 238, + "TagIdEvtMsg": 10114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00416600": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 10028, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08811F00": { + "Prio": 4, + "TagId": 3145, + "TagIdEvtMsg": 11526, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 394 + ] + }, + "6180_08412900": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11533, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 704 + ] + }, + "6802_08822200": { + "Prio": 4, + "TagId": 574, + "TagIdEvtMsg": 10280, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822100": { + "Prio": 4, + "TagId": 573, + "TagIdEvtMsg": 10279, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6802_00823300": { + "Prio": 4, + "TagId": 533, + "TagIdEvtMsg": 10258, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "680E_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A22F00": { + "Prio": 5, + "TagId": 1717, + "TagIdEvtMsg": 10888, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823400": { + "Prio": 4, + "TagId": 875, + "TagIdEvtMsg": 10373, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A23000": { + "Prio": 5, + "TagId": 3399, + "TagIdEvtMsg": 11641, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08837800": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": 10309, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6102_40633E00": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10104, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00832F00": { + "Prio": 4, + "TagId": 1062, + "TagIdEvtMsg": 10474, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832E00": { + "Prio": 4, + "TagId": 1061, + "TagIdEvtMsg": 10473, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6800_00832A00": { + "Prio": 4, + "TagId": 314, + "TagIdEvtMsg": 10121, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832B00": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 10159, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6800_00233400": { + "Prio": 1, + "TagId": 3716, + "TagIdEvtMsg": 11863, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232B00": { + "Prio": 1, + "TagId": 65, + "TagIdEvtMsg": 11753, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232A00": { + "Prio": 1, + "TagId": 761, + "TagIdEvtMsg": 11752, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232D00": { + "Prio": 1, + "TagId": 763, + "TagIdEvtMsg": 11755, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232C00": { + "Prio": 1, + "TagId": 762, + "TagIdEvtMsg": 11754, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232900": { + "Prio": 1, + "TagId": 331, + "TagIdEvtMsg": 11751, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232800": { + "Prio": 1, + "TagId": 760, + "TagIdEvtMsg": 11750, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232700": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 11749, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232600": { + "Prio": 1, + "TagId": 759, + "TagIdEvtMsg": 11748, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232500": { + "Prio": 1, + "TagId": 758, + "TagIdEvtMsg": 11747, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00233500": { + "Prio": 1, + "TagId": 437, + "TagIdEvtMsg": 11864, + "Unit": 16, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232200": { + "Prio": 1, + "TagId": 286, + "TagIdEvtMsg": 11743, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233200": { + "Prio": 1, + "TagId": 294, + "TagIdEvtMsg": 11760, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_00233100": { + "Prio": 1, + "TagId": 372, + "TagIdEvtMsg": 11759, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233000": { + "Prio": 1, + "TagId": 440, + "TagIdEvtMsg": 11758, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6100_00234D00": { + "Prio": 1, + "TagId": 35, + "TagIdEvtMsg": 11744, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232400": { + "Prio": 1, + "TagId": 757, + "TagIdEvtMsg": 11746, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232E00": { + "Prio": 1, + "TagId": 764, + "TagIdEvtMsg": 11756, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232300": { + "Prio": 1, + "TagId": 756, + "TagIdEvtMsg": 11745, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834300": { + "Prio": 4, + "TagId": 3275, + "TagIdEvtMsg": 11600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08837300": { + "Prio": 4, + "TagId": 63, + "TagIdEvtMsg": 10143, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08831E00": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232F00": { + "Prio": 1, + "TagId": 765, + "TagIdEvtMsg": 11757, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08834D00": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10141, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00234E00": { + "Prio": 1, + "TagId": 455, + "TagIdEvtMsg": 11761, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08833A00": { + "Prio": 4, + "TagId": 3133, + "TagIdEvtMsg": 11525, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08833900": { + "Prio": 4, + "TagId": 3217, + "TagIdEvtMsg": 11566, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08838B00": { + "Prio": 4, + "TagId": 730, + "TagIdEvtMsg": 10314, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_10838F00": { + "Prio": 4, + "TagId": 1626, + "TagIdEvtMsg": 10834, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838C00": { + "Prio": 4, + "TagId": 3258, + "TagIdEvtMsg": 11592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08836E00": { + "Prio": 4, + "TagId": 731, + "TagIdEvtMsg": 10315, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838D00": { + "Prio": 4, + "TagId": 732, + "TagIdEvtMsg": 10316, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6802_00839C00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11295, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 2498 + ] + }, + "6802_00839F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11620, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3328 + ] + }, + "6802_00839E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11543, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3197 + ] + }, + "6802_10841F00": { + "Prio": 4, + "TagId": 592, + "TagIdEvtMsg": 10285, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6800_10841E00": { + "Prio": 4, + "TagId": 591, + "TagIdEvtMsg": 10284, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6322_00854D00": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 10247, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 57 + ] + }, + "6802_00855D00": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 10610, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_08855C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10612, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6802_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6200_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6300_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6310_40651E00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6202_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00852A00": { + "Prio": 4, + "TagId": 2134, + "TagIdEvtMsg": 11043, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 340 + ] + }, + "6200_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6180_08465A00": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 10711, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_08861E00": { + "Prio": 4, + "TagId": 312, + "TagIdEvtMsg": 10164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6800_40A63B00": { + "Prio": 5, + "TagId": 2475, + "TagIdEvtMsg": 11281, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63A00": { + "Prio": 5, + "TagId": 2474, + "TagIdEvtMsg": 11280, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_00462500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00262200": { + "Prio": 1, + "TagId": 563, + "TagIdEvtMsg": 10272, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_00A62B00": { + "Prio": 5, + "TagId": 410, + "TagIdEvtMsg": 10135, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462F00": { + "Prio": 2, + "TagId": 411, + "TagIdEvtMsg": 10012, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63500": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10259, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6802_00A62A00": { + "Prio": 5, + "TagId": 408, + "TagIdEvtMsg": 10134, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462E00": { + "Prio": 2, + "TagId": 409, + "TagIdEvtMsg": 10011, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00260100": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6402_00666F00": { + "Prio": 3, + "TagId": 237, + "TagIdEvtMsg": 10010, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Sum": true, + "SumD": true + }, + "6200_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Sum": true, + "SumD": true + }, + "6802_0887A500": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 11282, + "DataFrmt": 18, + "Scale": 1, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_00878200": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10176, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878300": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10177, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878400": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10178, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878500": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10179, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878600": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10180, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878700": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10181, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878800": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10182, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878900": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10183, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878F00": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10501, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878E00": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10500, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879000": { + "Prio": 4, + "TagId": 2011, + "TagIdEvtMsg": 11016, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879100": { + "Prio": 4, + "TagId": 2012, + "TagIdEvtMsg": 11017, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879200": { + "Prio": 4, + "TagId": 2013, + "TagIdEvtMsg": 11018, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879300": { + "Prio": 4, + "TagId": 2014, + "TagIdEvtMsg": 11019, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875000": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10188, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875100": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10189, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875200": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10190, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875300": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10191, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875400": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10192, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875500": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10193, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875600": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10194, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875700": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10195, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876000": { + "Prio": 4, + "TagId": 3484, + "TagIdEvtMsg": 11674, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876100": { + "Prio": 4, + "TagId": 3485, + "TagIdEvtMsg": 11675, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876200": { + "Prio": 4, + "TagId": 3482, + "TagIdEvtMsg": 11676, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876300": { + "Prio": 4, + "TagId": 3483, + "TagIdEvtMsg": 11677, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877900": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877800": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10648, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877600": { + "Prio": 4, + "TagId": 351, + "TagIdEvtMsg": 10198, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877500": { + "Prio": 4, + "TagId": 2111, + "TagIdEvtMsg": 11034, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40879400": { + "Prio": 4, + "TagId": 36, + "TagIdEvtMsg": 10167, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00879500": { + "Prio": 4, + "TagId": 37, + "TagIdEvtMsg": 10168, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873700": { + "Prio": 4, + "TagId": 232, + "TagIdEvtMsg": 10171, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873600": { + "Prio": 4, + "TagId": 233, + "TagIdEvtMsg": 10170, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873500": { + "Prio": 4, + "TagId": 234, + "TagIdEvtMsg": 10169, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873800": { + "Prio": 4, + "TagId": 236, + "TagIdEvtMsg": 10172, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00877F00": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 10502, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872A00": { + "Prio": 4, + "TagId": 273, + "TagIdEvtMsg": 10203, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872000": { + "Prio": 4, + "TagId": 1369, + "TagIdEvtMsg": 10709, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872B00": { + "Prio": 4, + "TagId": 323, + "TagIdEvtMsg": 10202, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00874D00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10257, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6180_08671E00": { + "Prio": 3, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6800_08871E00": { + "Prio": 4, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08672200": { + "Prio": 3, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ], + "Deprecated": true + }, + "6802_08872200": { + "Prio": 4, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08871F00": { + "Prio": 4, + "TagId": 54, + "TagIdEvtMsg": 10201, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229 + ] + }, + "6180_084AAA00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA200": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11173, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA300": { + "Prio": 4, + "TagId": 3199, + "TagIdEvtMsg": 11552, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_088A3300": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12146, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309, + 4288 + ], + "Hidden": true + }, + "6802_108A2300": { + "Prio": 4, + "TagId": 819, + "TagIdEvtMsg": 11777, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 818 + ] + }, + "6180_084A9700": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10879, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6182_084A9E00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10896, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10878, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_104A9D00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 10885, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9C00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 10884, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9A00": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 10882, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9B00": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 10883, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A8A00": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 10889, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6400": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10893, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10892, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6802_008A7600": { + "Prio": 4, + "TagId": 3233, + "TagIdEvtMsg": 11588, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6802_088A7500": { + "Prio": 4, + "TagId": 3147, + "TagIdEvtMsg": 11527, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10890, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10891, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A5B00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5A00", + "6800_108A5900" + ], + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5A00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11774, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5900" + ], + "Len": 63, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5900": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11773, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5A00" + ], + "Len": 32, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6180_084ABB00": { + "Prio": 2, + "TagId": 3365, + "TagIdEvtMsg": 11636, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104ABA00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 11605, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB900": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 11604, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB700": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 11602, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB800": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 11603, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5200": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 11615, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5600", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABC00": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 11607, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5600": { + "Prio": 4, + "TagId": 714, + "TagIdEvtMsg": 11619, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA500": { + "Prio": 4, + "TagId": 3342, + "TagIdEvtMsg": 11621, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5100": { + "Prio": 4, + "TagId": 3321, + "TagIdEvtMsg": 11614, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108AA400": { + "Prio": 4, + "TagId": 3315, + "TagIdEvtMsg": 11606, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5500": { + "Prio": 4, + "TagId": 715, + "TagIdEvtMsg": 11618, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5300": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 11616, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11609, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6100_004AB600": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 11601, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_108A5400": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 11617, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5300" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4D00": { + "Prio": 4, + "TagId": 3318, + "TagIdEvtMsg": 11610, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088B7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_008B7100": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10825, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_088B7200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_008B7300": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10827, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_088B5200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10887, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1716 + ] + }, + "6180_084B1E00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10886, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_008B2E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12132, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6802_008B8A00": { + "Prio": 4, + "TagId": 2010, + "TagIdEvtMsg": 11015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6802_108B8B00": { + "Prio": 4, + "TagId": 2112, + "TagIdEvtMsg": 11035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6800_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "680E_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6802_00912A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10382, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10383, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10385, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10386, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10381, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10377, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10379, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10375, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00919900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11593, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_0892EC00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11303, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_4092EE00": { + "Prio": 4, + "TagId": 2504, + "TagIdEvtMsg": 11305, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892EF00": { + "Prio": 4, + "TagId": 2505, + "TagIdEvtMsg": 11306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0092ED00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11304, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892E900": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11300, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_4092EB00": { + "Prio": 4, + "TagId": 2503, + "TagIdEvtMsg": 11302, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0092EA00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11301, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0892E600": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E800": { + "Prio": 4, + "TagId": 2513, + "TagIdEvtMsg": 11299, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E700": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11298, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00928000": { + "Prio": 4, + "TagId": 1538, + "TagIdEvtMsg": 10784, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928C00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10797, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928F00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10800, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928A00": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10981, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929000": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10801, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929200": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10803, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929400": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10805, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929600": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10807, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928B00": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10982, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929100": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10802, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929300": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10804, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929500": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10806, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929700": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 10808, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_0092B400": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10983, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B700": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10986, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B800": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10987, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BA00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10989, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BC00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10990, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BE00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10991, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C000": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10992, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B900": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10988, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BB00": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10997, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BD00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10998, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BF00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10999, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C100": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11000, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_08920500": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11705, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920700": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11707, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920900": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11708, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920B00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 11709, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920D00": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 11710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920600": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11706, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11715, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920A00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11716, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920C00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 11717, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920E00": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11718, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08924D00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11529, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00924C00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11528, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40923100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10455, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_08923200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10456, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6A02_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_40923700": { + "Prio": 4, + "TagId": 3481, + "TagIdEvtMsg": 11673, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6802_00927400": { + "Prio": 4, + "TagId": 1990, + "TagIdEvtMsg": 10980, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927300": { + "Prio": 4, + "TagId": 1989, + "TagIdEvtMsg": 10979, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08927200": { + "Prio": 4, + "TagId": 1046, + "TagIdEvtMsg": 10460, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08926F00": { + "Prio": 4, + "TagId": 1044, + "TagIdEvtMsg": 10457, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927100": { + "Prio": 4, + "TagId": 1047, + "TagIdEvtMsg": 10461, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926E00": { + "Prio": 4, + "TagId": 1045, + "TagIdEvtMsg": 10458, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927000": { + "Prio": 4, + "TagId": 1225, + "TagIdEvtMsg": 10656, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926D00": { + "Prio": 4, + "TagId": 1224, + "TagIdEvtMsg": 10655, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40922B00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10449, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6A02_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6802_0092AA00": { + "Prio": 4, + "TagId": 1987, + "TagIdEvtMsg": 10977, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092A900": { + "Prio": 4, + "TagId": 1986, + "TagIdEvtMsg": 10976, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_08922900": { + "Prio": 4, + "TagId": 1022, + "TagIdEvtMsg": 10438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08925D00": { + "Prio": 4, + "TagId": 1057, + "TagIdEvtMsg": 10469, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925C00": { + "Prio": 4, + "TagId": 1056, + "TagIdEvtMsg": 10468, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925E00": { + "Prio": 4, + "TagId": 1620, + "TagIdEvtMsg": 10813, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925A00": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 10466, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00926200": { + "Prio": 4, + "TagId": 3183, + "TagIdEvtMsg": 11534, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925B00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10467, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08925900": { + "Prio": 4, + "TagId": 1023, + "TagIdEvtMsg": 10440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00924200": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10463, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_00924300": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10464, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6A02_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_08924000": { + "Prio": 4, + "TagId": 1599, + "TagIdEvtMsg": 10795, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6802_08924100": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6A02_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A12_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A02_0892B100": { + "Prio": 4, + "TagId": 2017, + "TagIdEvtMsg": 11022, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922300": { + "Prio": 4, + "TagId": 1621, + "TagIdEvtMsg": 10814, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921700": { + "Prio": 4, + "TagId": 3685, + "TagIdEvtMsg": 10646, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922000": { + "Prio": 4, + "TagId": 1065, + "TagIdEvtMsg": 10477, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08922100": { + "Prio": 4, + "TagId": 1066, + "TagIdEvtMsg": 10478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6180_08522F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11632, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2509 + ] + }, + "6800_0092D700": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11046, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0892D600": { + "Prio": 4, + "TagId": 2135, + "TagIdEvtMsg": 11044, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D800": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11047, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6400_00543C00": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11217, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543B00": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11216, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543D00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11269, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543A00": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11215, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6200_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + } +} diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sb3.translationData.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sb3.translationData.json new file mode 100644 index 0000000..021b50d --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sb3.translationData.json @@ -0,0 +1,1944 @@ +{ + "1": "%", + "2": "°C", + "3": "A", + "4": "dBm", + "5": "deg", + "6": "h", + "7": "Hz", + "8": "kWh", + "9": "m/s", + "10": "ms", + "11": "Ohm", + "12": "Pa", + "13": "s", + "14": "V", + "15": "VA", + "16": "var", + "17": "W/m²", + "18": "W", + "19": "Wh", + "20": "Phase currents", + "21": "Number grid connections device", + "22": "Total operating time of device", + "23": "Total feed-in time of device", + "25": "Total energy fed by device", + "27": "Special setting", + "28": "Islanding detection", + "31": "K", + "32": "°F", + "33": "W/s", + "34": "min", + "35": "Fault", + "36": "Tripping threshold DC current monitoring", + "37": "Tripping time DC current monitoring", + "38": "Current", + "48": "Interior", + "50": "Status", + "51": "Closed", + "52": "Reset operating data", + "53": "Country standard", + "54": "Set country standard", + "55": "Communication disturbed", + "56": "Country settings", + "57": "Constant voltage control", + "58": "Cooling system", + "59": "Data logging", + "61": "DC overcurrent", + "62": "DC settings", + "63": "Load parameter", + "65": "Intermediate circuit voltage", + "67": "DC measurements", + "69": "DC overvoltage", + "71": "Interference of device", + "72": "Load preset", + "76": "Fault correction measure", + "77": "Check AC circuit breaker", + "78": "Check generator", + "79": "Disconnect generator", + "81": "Check connection", + "84": "Overcurrent grid (HW)", + "85": "Overcurrent grid (SW)", + "86": "Offset grid current sensor", + "87": "Grid frequency disturbance", + "90": "Deviation grid voltage measurement", + "94": "Grid overvoltage (spot value)", + "98": "Voltage increase protection", + "102": "Events for developer", + "103": "Events for installer", + "104": "Events for service", + "105": "Events for user", + "109": "CPU self-test HP", + "110": "DI converter fault", + "112": "Residual current", + "115": "Overcurrent input A (SW)", + "116": "Overcurrent input B (SW)", + "119": "DC grid feed-in", + "120": "Overcurrent input A (HW)", + "121": "Overcurrent input B (HW)", + "122": "Overvoltage intermediate circuit (HW)", + "123": "Overvoltage intermediate circuit (SW)", + "125": "Overvoltage input A (SW)", + "126": "Overvoltage input B (SW)", + "132": "System data defective", + "133": "System data access not possible", + "136": "Grid parameter unchanged", + "137": "Waiting for main CPU", + "138": "Grid parameter locked", + "140": "Restart diagnosis system", + "143": "Installer code invalid", + "144": "Installer code valid", + "145": "Relay defect", + "148": "Internal communication", + "149": "Insulation failure", + "153": "Event number manufacturer", + "154": "Grid failure", + "155": "Island grid", + "157": "Execution", + "160": "Overtemperature power unit", + "162": "PE not connected", + "166": "Memory defective", + "168": "Code memory defective", + "169": "SD memory card defective", + "170": "SD card is read", + "171": "Parameter file not found or defective", + "172": "Set parameter", + "173": "Parameter setting failed", + "174": "Parameters set successfully", + "175": "No new update on the SD card", + "176": "Update file defective", + "177": "Update file OK", + "178": "No update file found", + "180": "Self-test", + "182": "Abort self-test", + "183": "Self-test current disconnection limit", + "184": "Self-test standard value for display", + "185": "Self-test disconnection time for display", + "186": "Self-test disconnection limit for display", + "187": "Long term data defective", + "188": "Data storage defective", + "191": "No system data", + "196": "Update completed", + "197": "Update main CPU", + "198": "Update main CPU failed", + "201": "Update communication", + "217": "Residual current", + "220": "Residual current too high", + "222": "Frequency monitoring", + "224": "Display self-test start message", + "225": "Grid parameter unchanged", + "226": "Changing of grid parameters not possible", + "228": "Grid parameter locked", + "229": "Grid monitoring", + "230": "Grid measurements", + "231": "Grid fault ", + "232": "Reconnection time upon grid interruption", + "233": "Reconnection time upon short interruption", + "234": "Maximum duration of a short interruption", + "236": "Reconnection time upon restart", + "237": "N° grid conn. at grid conn.pt.", + "238": "Grid relay status", + "240": "Condition", + "241": "Device status", + "242": "Median maximum threshold", + "243": "Median maximum threshold tripping time", + "244": "Overcurrent input C (HW)", + "245": "Lower maximum threshold", + "246": "Lower maximum threshold tripping time", + "251": "Heat sink", + "253": "Hardware version", + "254": "Grid frequency", + "263": "SMA Grid Guard code invalid", + "264": "SMA Grid Guard code valid", + "267": "Inverter", + "268": "Insulation monitoring", + "269": "Data storage not possible", + "271": "kB", + "272": "Insulation resistance", + "273": "Minimum insulation resistance", + "278": "Upper minimum threshold", + "279": "Upper minimum threshold tripping time", + "280": "Byte", + "281": "Median minimum threshold", + "282": "Median minimum threshold tripping time", + "283": "B", + "284": "Device name", + "286": "Device class", + "290": "Measured values", + "294": "Device type", + "295": "MPP", + "297": "Message", + "299": "Type Label", + "301": "Grid failure", + "302": "-------", + "303": "Off", + "306": "Island mode 60 Hz", + "307": "Ok", + "308": "On", + "309": "Operation", + "310": "Operating condition", + "311": "Open", + "312": "Phase assignment", + "313": "Island mode 50 Hz", + "314": "Maximum active power", + "315": "Currently set active power limit", + "316": "Operating mode Active power", + "318": "Overload", + "319": "Overtemperature", + "322": "PE connection missing", + "323": "PE connection monitoring", + "325": "Phase L1", + "327": "Phase L2", + "329": "Phase L3", + "330": "Port ", + "331": "Phase voltage", + "333": "PPC", + "335": "Recommended action", + "336": "Contact manufacturer", + "337": "Contact installer", + "338": "invalid", + "340": "PV system", + "348": "Revision status", + "350": "Waiting time until feed-in", + "351": "Voltage increase protection", + "353": "Reset events", + "354": "Reset maximum values", + "355": "Reset energy logger", + "356": "Reset operation inhibition", + "360": "Storage card", + "361": "SD memory card defective", + "362": "Reading SD Card", + "363": "Parameter file not found or defective", + "364": "Set parameter", + "365": "Parameter setting failed", + "366": "Parameters set successfully", + "367": "No new update on the SD card", + "368": "Update file defective", + "369": "Update file OK", + "370": "No update file found", + "372": "Serial number", + "375": "self-test", + "376": "Abort self-test", + "381": "Stop", + "387": "Critical voltage to start feed-in", + "393": "Software version", + "394": "System", + "400": "Temperature", + "408": "Set operating time", + "409": "Operating time", + "410": "Set feed-in time", + "411": "Feed-in time", + "412": "Apparent power", + "413": "Reactive power", + "416": "Power", + "417": "Absorbed energy", + "417t": "Energy absorbed at the grid connection point", + "418": "Total yield", + "418t": "Energy supplied at the grid connection point", + "426": "Update completed", + "427": "Update main CPU", + "428": "Update main CPU failed", + "431": "Update communication", + "438": "VDE0126-1-1", + "441": "Voltage", + "442": "Voltage monitoring", + "443": "Constant voltage", + "445": "Maximum voltage", + "447": "Voltage setpoint", + "448": "Power per phase", + "449": "Nominal voltage", + "450": "Power", + "453": "Underlying country standard", + "455": "Warning", + "466": "DC overvoltage", + "480": "Check inverter electr. and fan", + "485": "Fan fault", + "486": "Fan fault interior", + "530": "Set total yield", + "533": "Communication version", + "543": "Internal meas. comp. fault", + "563": "Daily yield", + "563t": "Energy supplied on current day", + "567": "Reset operating data (for Service)", + "568": "Execute all", + "583": "Checking firmware", + "584": "Access Control", + "589": "Parameter |ln04| set successfully", + "590": "Setting of parameter |ln04| failed", + "591": "Set user password", + "592": "Set installer password", + "593": "Set service password", + "594": "Set developer password", + "597": "Time adjusted / old time", + "598": "Time adjusted / new time", + "703": "Time settings", + "704": "Update", + "714": "DNS server IP", + "715": "Gateway IP", + "716": "IP Address", + "717": "Subnet mask", + "720": "Reset network parameter", + "725": "Language", + "730": "Standard/Daylight Saving Time conversion on", + "731": "Automatic time synchronization ", + "732": "Time zone", + "733": "Activated", + "777": "Deutsch", + "778": "English", + "779": "Italiano", + "780": "Español", + "781": "Français", + "782": "Ελληνικά", + "783": "한국어", + "784": "Česky", + "785": "Português", + "786": "Nederlands", + "798": "Polski", + "801": "ภาษาไทย", + "802": "Active", + "817": "Security", + "818": "Grid system services", + "819": "Devices found", + "825": "Login for NSD function on device |s0| failed", + "826": "Reset device to factory settings", + "830": "Status", + "831": "Type Label", + "832": "Device", + "833": "User Rights", + "834": "DC Side", + "835": "AC Side", + "836": "Grid Monitoring", + "839": "System communication", + "840": "External Communication", + "841": "Data Recording", + "846": "Device Components", + "847": "System and device control", + "849": "Energy management", + "861": "User", + "862": "Installer", + "863": "Service", + "864": "Developer", + "865": "Any", + "866": "Grid Guard", + "875": "Software package", + "880": "SUSyID", + "885": "none", + "886": "none", + "887": "none", + "888": "Current event", + "890": "Power absorbed", + "900": "Main processor", + "901": "Communication assembly", + "921": "WLAN component", + "972": "Ensure DC supply", + "1006": "General fault", + "1022": "Operating mode of static voltage stabilization", + "1023": "Operating mode active power red., overfreq. P(f)", + "1024": "Configuration of static voltage stabilization ", + "1031": "Reactive power setpoint Q", + "1038": "Configuration of cosPhi, direct specification", + "1039": "cosPhi specification", + "1040": "Excitation type of cosPhi", + "1041": "Overexcited", + "1042": "Underexcited", + "1043": "Configuration of cosPhi(P) characteristic", + "1044": "Excitation type at starting point", + "1045": "cosPhi of start point", + "1046": "Excitation type at end point", + "1047": "cosPhi of end point", + "1048": "Configuration of feed-in management", + "1049": "Configuration of active power P limitation ", + "1050": "Power per phase", + "1050t": "Reference is the maximum power", + "1052": "Config. active power reduct. at overfrequency P(f)", + "1053": "Config. of linear instantaneous power gradient ", + "1054": "Difference between starting freq. and grid freq.", + "1055": "Active power gradient", + "1055t": "Reference is PM/Hz.", + "1056": "Difference between reset frequency and grid freq.", + "1057": "Activation of stay-set indicator function", + "1061": "Currently set apparent power limit", + "1062": "Maximum apparent power", + "1065": "Power gradient for reconnection after grid fault", + "1065t": "Power gradient for reconnection after grid fault", + "1066": "Curr. active power grad., reconnection, grid fault", + "1067": "Config. of reactive power Q, direct specification", + "1068": "Activation of active power gradient", + "1070": "Reactive power Q, direct spec.", + "1072": "Q specified by PV system control", + "1074": "cosPhi, direct specific.", + "1075": "cosPhi, specified by PV system control", + "1076": "cosPhi(P) characteristic", + "1077": "Active power limitation P in W", + "1078": "Act. power lim. as % of Pmax", + "1079": "Act. power lim. via PV system ctrl", + "1088": "Data inconsistency", + "1101": "Lower reconnection limit", + "1102": "Upper limit for reconnection", + "1103": "Nominal frequency", + "1129": "Yes", + "1130": "No", + "1132": "Linear gradient", + "1146": "Execute", + "1146t": "Execute function", + "1177": "Fault indication", + "1192": "Config. reactive power mode of PV system control", + "1192t": "Configuration of reactive power mode of PV system control", + "1193": "Configuration of active power mode of PV system ctrl", + "1193t": "Configuration of active power mode of PV system control", + "1194": "cosPhi config. method of PV system control", + "1194t": "Configuration of cosPhi method of PV system control", + "1199": "PPDS", + "1201": "OptiTrac Global Peak", + "1201t": "OptiTrac improves the PV system output for partial shadow of the PV generator", + "1202": "Cycle time", + "1202t": "Interval for adjustment of the PV generator to the current shadow", + "1224": "Active power at starting point ", + "1224t": "Reference is the maximum power", + "1225": "Active power at end point", + "1225t": "Reference is the maximum power", + "1230": "Configuration of dynamic grid support", + "1262": "Configuration of full dynamic grid support ", + "1266": "mA", + "1267": "km/h", + "1268": "mph", + "1269": "kOhm", + "1270": "mOhm", + "1271": "mV", + "1272": "kVA", + "1273": "kvar", + "1274": "kW/m²", + "1275": "kW", + "1276": "MW", + "1277": "GW", + "1278": "MWh", + "1279": "GWh", + "1280": "Ws", + "1281": "g", + "1282": "kg", + "1283": "lb.", + "1285": "m²", + "1286": "sq.ft.", + "1288": "km", + "1289": "ft.", + "1290": "g/kWh", + "1291": "kg/kWh", + "1292": "kWh/kWp", + "1293": "Ah", + "1294": "As", + "1309": "Time synchronization failed: |tn0|", + "1343": "Self-consumption", + "1358": "Critical voltage to end feed-in", + "1358t": "Voltage below which inverter stops feed-in", + "1384": "Active power limit AC frequency", + "1385": "Temperature derating", + "1401": "Displacement power factor ", + "1402": "Excitation type of cosPhi", + "1408": "Supplied power", + "1467": "Start", + "1517": "The device with serial number |u0| was successfully updated to firmware version |u/9/4|.", + "1538": "Gradient K of the reactive current droop", + "1593": "Update file successfully copied", + "1597": "The memory card is full or write-protected", + "1599": "Grid disconnection for 0% feeding", + "1601": "Characteristic curve number", + "1602": "Conf. of the grid integr. characteristic curves", + "1603": "Characteristic 1", + "1604": "Adjustm. time characteristic curve operating point", + "1607": "Number of points to be used", + "1608": "X value 1", + "1609": "Y value 1", + "1610": "X value 2", + "1611": "Y value 2", + "1612": "X value 3", + "1613": "Y value 3", + "1614": "X value 4", + "1615": "Y value 4", + "1620": "Active power gradient after reset frequency", + "1620t": "The reference value is Pmax/min.", + "1621": "Active power gradient connection", + "1621t": "The reference value is Pmax/min.", + "1626": "NTP server", + "1628": "Modbus", + "1629": "TCP server", + "1630": "UDP server", + "1654": "Offset DCinAC defective", + "1690": "Fast shut-down", + "1708": "Speedwire", + "1709": "SMACOM A", + "1711": "Connection speed", + "1712": "Current IP address", + "1713": "Current subnet mask", + "1714": "Current gateway address", + "1715": "Current DNS server address", + "1716": "Webconnect", + "1717": "MAC address", + "1718": "Automatic configuration switched on", + "1719": "Faulty communication", + "1720": "10 Mbit/s", + "1721": "100 Mbit/s", + "1725": "No connection", + "1726": "Half duplex", + "1727": "Full duplex", + "1728": "Duplex mode", + "1737": "State of charge", + "1826": "Encryption", + "1846": "|tn4|: network busy", + "1847": "|tn4|: network overloaded", + "1848": "|tn4|: faulty data packages", + "1849": "|tn4|: communication status goes to |tn8|", + "1850": "|tn4|: communication disrupted", + "1851": "|tn4|: connection speed goes to |tn8|", + "1852": "|tn4|: duplex mode goes to |tn8|", + "1853": "Load reduced through device reduction or increase of query interval", + "1861": "|tn4|: Network load OK", + "1865": "Update transport started", + "1866": "Update transport successful", + "1867": "Update transport failed", + "1887": "System environment", + "1907": "°", + "1908": "Reset communication data", + "1909": "Delete system parameters in SPI", + "1910": "Delete ODB experts in SPI", + "1911": "Delete HP images in SPI", + "1912": "Delete all firmware blocks in SPI", + "1913": "Clear SPI flashes", + "1914": "Reset CP", + "1942": "Parameter |ln04| set successfully. |lv04c| to |lv048|", + "1943": "Parameter |ln04| set successfully. |tnc| to |tn8|", + "1946": "Setting of parameter |ln04| failed. |lv04c| to |lv048|", + "1947": "Setting of parameter |ln04| failed. |tnc| to |tn8|", + "1973": "X-axes reference", + "1974": "Y-axes reference", + "1976": "Voltage in percentages of Un", + "1977": "Var in percentages of Pmax", + "1978": "Power in percentages of Pmax", + "1985": "Conf. of reactive power/volt. char. Q(U) with meas. points", + "1986": "Activating active power", + "1986t": "Reference value is Pmax.", + "1987": "Deactivating active power", + "1987t": "Reference value is Pmax.", + "1989": "Activating voltage", + "1989t": "Reference value is Un.", + "1990": "Deactivating voltage", + "1990t": "Reference value is Un.", + "1991": "Characteristic 2", + "2010": "Application-ID", + "2011": "Switchable maximum threshold", + "2012": "Switchable maximum threshold tripping time", + "2013": "Switchable minimum threshold", + "2014": "Switchable minimum threshold tripping time", + "2017": "Frequency band narrowing", + "2018": "IEC 61850 configuration", + "2019": "GOOSE configuration", + "2029": "Webconnect enabled", + "2030": "Webconnect disabled", + "2031": "Webconnect error: no connection", + "2032": "Default gateway not configured", + "2033": "DNS server not configured", + "2034": "No reply to DNS request", + "2035": "SIP proxy DNS resolution failed", + "2036": "Stun server DNS resolution failed", + "2037": "No reply to request to Stun server", + "2038": "No reply to SIP option packs", + "2039": "Webconnect server: Device could not log on", + "2042": "Power per phase", + "2042t": "Reference value is Pmax", + "2043": "Reactive power setpoint Q", + "2085": "Webconnect server: DNS address cannot be resolved", + "2086": "Webconnect error: Default gateway not configured", + "2087": "Webconnect error: DNS server not configured", + "2088": "Webconnect error: No reply to DNS request |s0|", + "2089": "Webconnect error: Unknown SIP proxy |s0|", + "2090": "Webconnect error: Unknown STUN server", + "2091": "Webconnect error: No reply to request to STUN server", + "2092": "Webconnect error: No reply to SIP option packs", + "2093": "Webconnect error: Device could not log onto server", + "2094": "Webconnect error: DNS address could not be resolved on server (|s0|)", + "2095": "Webconnect error: Faulty communication", + "2109": "No translation in Taglist for ID 2109", + "2111": "Voltage increase protection trigger time", + "2112": "Goose-Mac address", + "2113": "Grid connection point", + "2130": "Connection establishment", + "2134": "Nominal power", + "2135": "Operating mode of active power limitation", + "2137": "Fixed specification in Watt", + "2138": "Fixed specification in percentages", + "2140": "Set active power limit", + "2140t": "Reference value is nominal PV system power", + "2144": "Dynamic active power limitation started.", + "2145": "Dynamic active power limitation terminated.", + "2147": "Supplied power: |u0| W (permitted value: |u4| W)", + "2148": "Active power was limited today for |u0| minutes.", + "2152": "Inverter fails to respond to act. power limitation.", + "2155": "Supplied power has exceeded the permitted value several times.", + "2156": "Webconnect server: No answers during registration", + "2157": "Webconnect error: No reply during log on to server", + "2159": "Condition test successful", + "2160": "Condition test failed", + "2191": "Minimum operating temperature not reached", + "2209": "Ohm/km", + "2244": "Serial Number", + "2269": "Reactive power charact. curve", + "2270": "cos Phi or Q specification through optimum PV system control", + "2274": "Activation of the characteristic curve", + "2314": "Meter on Speedwire", + "2360": "PV generation", + "2361": "Total values", + "2362": "Realtime values", + "2366": "Meter count and PV gen. meter", + "2367": "Total consumption", + "2368": "Direct consumption", + "2369": "PV generation power", + "2372": "Own consumption ratio", + "2374": "Autonomy ratio", + "2375": "Direct consumption ratio", + "2391": "Communication fault with meter unit", + "2415": "Abs. meter count and PV gen. meter", + "2451": "GridGuard password", + "2453": "Reset Bootloader Environment", + "2454": "Self-supply", + "2466": "FRT case identif. and treated", + "2467": "V/A", + "2474": "Set offset of the supplied energy", + "2475": "Set offset of the absorbed energy", + "2478": "Seconds", + "2479": "Voltage in percentages of Unom", + "2491": "Update Bootloader", + "2492": "Update Bootloader failed", + "2493": "Update Webserver", + "2495": "Overcurr. inp.C (SW)", + "2495t": "Reduction of the DC current as max. limit has been exceeded.", + "2496": "Overvoltage input C (SW)", + "2496t": "Excessive DC input voltage at the inverter.", + "2497": "Software component", + "2498": "Communication Bootloader", + "2500": "Configuration of system control via communication", + "2501": "Operating mode for absent system control ", + "2502": "Timeout", + "2503": "Fallback reactive power Q", + "2503t": "The reference value is Pmax.", + "2504": "Fallback cos Phi", + "2505": "Fallback excitation type", + "2506": "Values maintained", + "2507": "Use fallback setting", + "2509": "Active power limitation P", + "2513": "Fallback active power P", + "2513t": "The reference value is Pmax.", + "2658": "V/°C", + "2692": "Own consumption control started", + "2693": "Own consumption control stopped", + "2694": "Only charge op. in own consumption mode", + "2697": "The device switches off", + "2840": "Check communication to counter", + "3131": "Parameter upload complete", + "3133": "Run self test", + "3134": "m3", + "3135": "l/h", + "3147": "Send IGMP requests", + "3159": "Configuration of characteristic curve mode, 2nd characteristic curve", + "3172": "Reset main computer", + "3173": "Reset system", + "3174": "Optimized BU process", + "3176": "Incompatible file", + "3177": "Incorrect file format", + "3178": "Incorrect login rights for configuration file", + "3179": "Update is currently being received", + "3180": "Update is currently running", + "3181": "Update performed successful", + "3182": "An error occurred during the update", + "3183": "Tripping time for active power limitation", + "3184": "Transfer of a configuration file has started", + "3197": "Version of WebUI", + "3199": "Serial numbers for usable meters", + "3217": "Prescribed self-test", + "3233": "IGMP query interval", + "3236": "|tn0|-Login via |tn4| locked", + "3237": "Automatic time synchronisation", + "3258": "Current time is daylight savings time", + "3270": "Update WLAN", + "3271": "Update of WLAN not successful", + "3272": "http", + "3273": "D2+", + "3274": "Modbus", + "3275": "Dynamic power display via green LED", + "3305": "WLAN module faulty", + "3306": "No WLAN connection possible", + "3307": "WLAN connection established", + "3308": "WLAN connection lost", + "3313": "WLAN", + "3314": "Signal strength of the selected network", + "3315": "Networks found", + "3316": "Connection status", + "3318": "Soft-access-point is turned on", + "3319": "SSID", + "3320": "Password", + "3321": "Activate WPS", + "3325": "Error while connecting", + "3328": "Time zone database", + "3330": "Self-test start |s0|", + "3331": "Current disconnection limit for voltage increase protection |lv048| V", + "3332": "Current disconnection limit for voltage monitoring lower maximum threshold |lv048| V", + "3333": "Current disconnection limit for voltage monitoring upper minimum threshold |lv048| V", + "3334": "Current disconnection limit for voltage monitoring middle minimum threshold |lv048| V", + "3335": "Current disconnection limit for frequency monitoring switchable maximum threshold |lv048| Hz", + "3336": "Current disconnection limit for frequency monitoring switchable minimum threshold |lv048| Hz", + "3337": "Current disconnection limit for frequency monitoring lower maximum threshold |lv048| Hz", + "3338": "Current disconnection limit for frequency monitoring upper minimum threshold |lv048| Hz", + "3339": "Measured disconnection threshold for the running test point |lv048| |sc|", + "3340": "Standard value for the running test point |lv048| |sc|", + "3341": "Measured disconnection time for the running test point |f0| s", + "3342": "Perform scan", + "3349": "Update time zone database", + "3350": "Update of time zone database not successful", + "3359": "Limits possible active power", + "3361": "Unknown NTP server", + "3362": "NTP request failed", + "3363": "WLAN module detected", + "3365": "Status of the scan", + "3366": "No scan completed", + "3367": "Scan is active", + "3368": "Scan failed", + "3369": "Scan successful", + "3375": "1/s", + "3395": "WPA-AES", + "3397": "WPA2-AES", + "3399": "WLAN-MAC address", + "3426": "WPS is active", + "3478": "Update WebUI", + "3479": "Update of WebUI not successful", + "3481": "Setpoint cos(phi) as per EEI", + "3482": "Lower minimum threshold as RMS value", + "3483": "Lower min.threshold as RMS value for tripping time", + "3484": "Upper maximum threshold as RMS value", + "3485": "Upper max.threshold as RMS value for tripping time", + "3513": "Characteristic curve 3", + "3581": "No connection speed set", + "3582": "No duplex mode set", + "3583": "No software test set", + "3584": "No update status set", + "3585": "No self-test set", + "3685": "Active power gradient", + "3685t": "Reference is PM/Hz.", + "3696": "DSP RAM defective", + "3697": "DSP code memory defective", + "3698": "CPU self-test DSP", + "4062": "Time-controlled", + "4288": "Smart Inverter Screen", + "7504": "SI4777-2", + "7510": "VDE-AR-N4105", + "7513": "VDE-AR-N4105-MP", + "7514": "VDE-AR-N4105-HP", + "7517": "CEI 0-21 internal", + "7523": "C10/11/2012", + "7527": "VFR2014", + "7530": "MEA2013", + "7531": "PEA2013", + "7532": "EN50438:2013", + "7533": "NEN-EN50438:2013", + "7536": "Default", + "7539": "RD1699/413", + "7544": "VDE-AR-N4105-DK", + "7549": "AS4777.2_2015", + "7550": "NRS97-2-1", + "7551": "NT_Ley20571", + "7565": "ABNT NBR 16149:2013", + "7566": "IE-EN50438:2013", + "7567": "DEWA 2016 intern", + "7569": "TOR D4 2016", + "7573": "G83/2-1:2018", + "7574": "G59/3-4:2018", + "8001": "Solar Inverters", + "9060": "Unknown device", + "9319": "Sunny Boy 3.0", + "9320": "Sunny Boy 3.6", + "9321": "Sunny Boy 4.0", + "9322": "Sunny Boy 5.0", + "9499": "(UTC-AUTO) Automatic via SMA protocol", + "9500": "(UTC+04:30) Kabul", + "9501": "(UTC-09:00) Alaska", + "9502": "(UTC+03:00) Kuwait, Riyardh", + "9503": "(UTC+04:00) Abu Dhabi, Muskat", + "9504": "(UTC+03:00) Baghdad, Istanbul", + "9505": "(UTC-04:00) Atlantic (Canada)", + "9506": "(UTC+09:30) Darwin", + "9507": "(UTC+10:00) Canberra, Melbourne, Sydney", + "9508": "(UTC+04:00) Baku", + "9509": "(UTC-01:00) Azores", + "9510": "(UTC-06:00) Saskatchewan", + "9511": "(UTC-01:00) Cape Verde Islands", + "9512": "(UTC+04:00) Yerevan", + "9513": "(UTC+09:30) Adelaide", + "9515": "(UTC+06:00) Astana, Dhaka", + "9516": "(UTC-04:00) Manaus", + "9517": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", + "9518": "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", + "9519": "(UTC+11:00) Magadan, Solomon Islands, New Caledonia", + "9520": "(UTC-06:00) Central America", + "9521": "(UTC-06:00) Guadalajara, Mexico City, Monterrary - Old", + "9522": "(UTC+08:00) Peking, Chongqing, Hongkong, Urumchi", + "9523": "(UTC-12:00) (Western) International Date Line", + "9524": "(UTC+03:00) Nairobi", + "9525": "(UTC+10:00) Brisbane", + "9526": "(UTC+02:00) Minsk", + "9527": "(UTC-03:00) Brasilia", + "9528": "(UTC-05:00) New York, Miami, Atlanta, Detroit, Toronto", + "9529": "(UTC+02:00) Cairo", + "9530": "(UTC+05:00) Jekaterinburg", + "9531": "(UTC+12:00) Fidschi, Marshall Islands", + "9532": "(UTC+02:00) Helsinki, Kiev, Riga, Sofia, Tallin, Wilna", + "9533": "(UTC+04:00) Tiflis", + "9534": "(UTC) Dublin, Edinburgh, Lisbon, London", + "9535": "(UTC-03:00) Greenland", + "9536": "(UTC) Monrovia, Reykjavík", + "9537": "(UTC+02:00) Athens, Bucharest, Istanbul", + "9538": "(UTC-10:00) Hawaii", + "9539": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", + "9540": "(UTC+03:30) Teheran", + "9541": "(UTC+02:00) Jerusalem", + "9542": "(UTC+02:00) Amman", + "9543": "(UTC+09:00) Seoul", + "9544": "(UTC+08:00) Kuala Lumpur, Singapore", + "9545": "(UTC-02:00) Central Atlantic", + "9546": "(UTC+02:00) Beirut", + "9547": "(UTC-07:00) Denver, Salt Lake City, Calgary", + "9548": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - old", + "9549": "(UTC+06:30) Yangon (Rangoon)", + "9550": "(UTC+06:00) Novosibirsk", + "9551": "(UTC+02:00) Windhoek", + "9552": "(UTC+05:45) Katmandu", + "9553": "(UTC+12:00) Auckland, Wellington", + "9554": "(UTC-03:30) Newfoundland", + "9555": "(UTC+08:00) Irkutsk", + "9556": "(UTC+07:00) Krasnoyarsk", + "9557": "(UTC-04:00) Santiago - old", + "9558": "(UTC-08:00) Pacific (USA, Canada)", + "9559": "(UTC-08:00) Tijuana, Baja California (Mexico)", + "9560": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", + "9561": "(UTC+03:00) Moskow, St. Petersburg, Volgograd", + "9562": "(UTC-03:00) Buenos Aires, Santiago", + "9563": "(UTC-05:00) Bogotá, Lima, Quito", + "9564": "(UTC-04:30) Caracas", + "9565": "(UTC-11:00) Midway Islands, Samoa", + "9566": "(UTC+07:00) Bangkok, Hanoi, Jakarta", + "9567": "(UTC+02:00) Harare, Pretoria", + "9568": "(UTC+05:30) Sri Jayawardenepura", + "9569": "(UTC+08:00) Taipeh", + "9570": "(UTC+10:00) Hobart", + "9571": "(UTC+09:00) Osaka, Sapporo, Tokyo", + "9572": "(UTC+13:00) Nuku'alofa", + "9573": "(UTC-05:00) Indiana (East)", + "9574": "(UTC-07:00) Arizona", + "9575": "(UTC+10:00) Vladivostok, Magadan", + "9576": "(UTC+08:00) Perth", + "9577": "(UTC+01:00) West.Centr.Africa", + "9578": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", + "9579": "(UTC+05:00) Islamabad, Karatschi", + "9580": "(UTC+10:00) Guam, Port Moresby", + "9581": "(UTC+09:00) Yakutsk", + "9582": "(UTC+04:00) Caucasian Standard Time", + "9583": "(UTC-06:00) Chicago, Dallas, Kansas City, Winnipeg", + "9584": "(UTC-06:00) Guadalajara, Mexico City, Monterrey - new", + "9585": "(UTC) Casablanca", + "9586": "(UTC+04:00) Port Louis", + "9587": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - new", + "9588": "(UTC-03:00) Montevideo", + "9589": "(UTC+05:00) Taschkent", + "9591": "(UTC-04:00) Georgetown, La Paz, San Juan", + "9592": "(UTC+08:00) Ulan-Bator", + "9593": "(UTC-03:00) Cayenne", + "9594": "(UTC-04:00) Asuncion", + "9595": "(UTC+12:00) Petropavlovsk-Kamtschatski", + "9596": "(UTC+03:00) Minsk", + "9597": "(UTC+07:00) Novosibirsk", + "9598": "(UTC-04:00) Caracas", + "10001": "Total yield", + "10001t": "Total energy supplied at the grid connection point", + "10009": "Number of events for user", + "10010": "Number of grid connections", + "10011": "Operating time", + "10012": "Feed-in time", + "10013": "Number of events for installer", + "10014": "Number of events for service", + "10016": "Total amount of energy fed into the grid by device", + "10017": "Total operating time of device", + "10018": "Total feed-in time of device", + "10019": "Number of grid connections of the device", + "10026": "Number of events for developer", + "10028": "Waiting time until feed-in", + "10030": "Power", + "10035": "Grid voltage phase L1", + "10036": "Grid voltage phase L2", + "10037": "Grid voltage phase L3", + "10039": "Grid current phase L1", + "10040": "Grid current phase L2", + "10041": "Grid current phase L3", + "10042": "Grid frequency", + "10043": "Reactive power", + "10047": "Apparent power", + "10078": "Residual current", + "10079": "Insulation resistance", + "10080": "Serial number", + "10081": "Nominal power in Ok Mode", + "10082": "Nominal power in Warning Mode", + "10083": "Nominal power in Fault Mode", + "10091": "Internal temperature", + "10093": "Heat sink temperature", + "10104": "Inverter temperature", + "10108": "Intermediate circuit voltage", + "10109": "Current event number for manufacturer", + "10110": "Condition", + "10111": "Recommended action", + "10112": "Message", + "10113": "Fault correction measure", + "10114": "Grid relay/contactor", + "10117": "Last GridGuard password", + "10121": "Maximum active power device", + "10123": "Operating condition", + "10126": "Country standard set", + "10127": "Device name", + "10128": "Device class", + "10129": "Device type", + "10134": "Set total operating time at grid connection point", + "10135": "Set total feed-in time at the grid connection pt.", + "10141": "Reset operating data", + "10143": "Load parameter", + "10159": "Set active power limit", + "10164": "Phase assignment", + "10167": "Tripping threshold DC current monitoring", + "10168": "Tripping time DC current monitoring", + "10169": "Maximum duration of a short interruption", + "10170": "Reconnection time upon short interruption", + "10171": "Reconnection time upon grid interruption", + "10172": "Reconnection time upon restart", + "10176": "Frequency monitoring median maximum threshold", + "10177": "Frq. monitoring median max. threshold trip. time", + "10178": "Frequency monitoring lower maximum threshold", + "10179": "Frq. monitoring lower max. threshold trip. time", + "10180": "Frequency monitoring upper minimum threshold", + "10181": "Frq. monitoring upper min. threshold trip. time", + "10182": "Frequency monitoring median minimum threshold", + "10183": "Frq. monitoring median min. threshold trip. time", + "10188": "Voltage monitoring median maximum threshold", + "10189": "Voltage monitoring median max. threshold trip.time", + "10190": "Voltage monitoring lower maximum threshold", + "10191": "Voltage monitoring lower max. threshold trip. time", + "10192": "Voltage monitoring upper minimum threshold", + "10193": "Voltage monitoring upper min. threshold trip. time", + "10194": "Voltage monitoring of median minimum threshold", + "10195": "Voltage monitoring median min. threshold trip.time", + "10198": "Voltage increase protection", + "10201": "Set country standard", + "10202": "DC grounding monitoring", + "10203": "Minimum insulation resistance", + "10205": "Underlying country standard", + "10207": "Data recording on memory card", + "10209": "DC voltage input", + "10213": "DC current input", + "10217": "DC power input", + "10224": "Highest measured DC voltage", + "10242": "Minimum voltage input", + "10247": "Constant voltage setpoint", + "10257": "Grid nominal voltage", + "10258": "Communication version", + "10259": "Set total yield", + "10259t": "Set total energy supplied at the grid connection point", + "10272": "Daily yield", + "10272t": "Energy supplied on current day", + "10275": "Reset operating data (for Service)", + "10283": "Checking firmware", + "10284": "Set user password", + "10285": "Set installer password", + "10286": "Set service password", + "10287": "Set developer password", + "10309": "Language of the user interface", + "10314": "Standard/Daylight saving time conversion on", + "10315": "Automatic time synchronization ", + "10316": "Time zone", + "10373": "Software package", + "10375": "Firmware version of the main processor", + "10377": "Revision status of the main processor", + "10379": "Serial number of the main processor", + "10381": "Firmware version of the communication assembly", + "10382": "Hardware version of the communication assembly", + "10383": "Revision status of the communication assembly", + "10385": "Serial number of the communication assembly", + "10386": "SUSyID of the communication assembly", + "10438": "Operating mode of stat.V stab., stat.V stab. config.", + "10439": "Operating mode of feed-in management", + "10440": "Operating mode of active power reduction in case of overfrequency P(f)", + "10449": "Reactive power set value as a %", + "10449t": "The reference value is Pmax.", + "10455": "cosPhi setpoint, cosPhi config., direct specif.", + "10456": "cosPhi excit.type, cosPhi config., direct spec.", + "10457": "Excit. type at start point, cosPhi(P) char. conf.", + "10458": "cosPhi at start point, cosPhi(P) char. config.", + "10460": "Excit. type at end point, cosPhi(P) char. config.", + "10461": "cosPhi at end point, cosPhi(P) char. config.", + "10463": "Active power limitation P, active power configuration", + "10464": "Active power limitation P, active power configuration", + "10464t": "Reference is the maximum power", + "10466": "Difference between starting frequency and grid frequency, linear instantaneous power gradient configuration", + "10467": "Active power gradient, linear instantaneous power gradient configuration", + "10467t": "Reference is PM/Hz.", + "10468": "Difference between reset frequency and grid frequency, linear instantaneous power gradient configuration", + "10469": "Activation of stay-set indicator function, linear instantaneous power gradient configuration", + "10473": "Currently set apparent power limit", + "10474": "Maximum apparent power device", + "10477": "Reconnect gradient after grid fault", + "10478": "Activation of active power gradient for reconnection after grid fault", + "10480": "Activation of active power gradient", + "10500": "Lower frequency for reconnection", + "10500t": "Lower frequency limit for reconnection after grid disconnection", + "10501": "Upper frequency for reconnection", + "10501t": "Upper frequency limit for reconnection after grid disconnection", + "10502": "Nominal frequency", + "10584": "Normalized reactive power limitation by PV system ctrl", + "10584t": "Static limitation of reactive power, given as a normalized value, that can be changed via PV system control.", + "10585": "Active power limitation by PV system control", + "10585t": "Static limitation of feed power that can be changed via PV system control.", + "10586": "Normalized active power limitation by PV system ctrl", + "10586t": "Static limitation of feed power, given as a normalized value, that can be changed via PV system control.", + "10587": "Dis.pow.factor that can be changed via PV system ctrl", + "10587t": "Displacement power factor that can be changed via PV system control.", + "10588": "Excitation type that can be changed by PV system ctrl", + "10588t": "Excitation type that can be changed via PV system control", + "10610": "Cycle time of the OptiTrac Global Peak algorithm", + "10610t": "Interval for adjustment of the PV generator to the current shadow", + "10612": "OptiTrac Global Peak switched on", + "10612t": "Activation of OptiTrac Global Peak", + "10646": "Active power gradient", + "10646t": "Reference is the maximum power per second", + "10648": "Min. voltage for reconnection", + "10649": "Max. voltage for reconnection", + "10655": "Act. power at start point, cosPhi(P) char. config.", + "10655t": "Reference value is Pmax", + "10656": "Act. power at end point, cosPhi(P) char. config.", + "10656t": "Reference value is Pmax", + "10706": "Critical voltage to end feed-in", + "10706t": "Voltage below which inverter stops feed-in", + "10710": "Displacement power factor ", + "10711": "Excitation type of cosPhi", + "10714": "Grid feed-in counter reading", + "10715": "Counter reading of power drawn counter", + "10717": "Power grid feed-in", + "10718": "Power drawn", + "10784": "Gradient K of the reactive current droop, full dynamic grid support configuration", + "10795": "Grid disconn. at 0% specif. by feeding management", + "10797": "Adjustment time of characteristic operating point, conf. of grid integr. char. 1", + "10800": "Number of points to be used, conf. of grid integr. char. 1", + "10801": "X value 1, conf. of grid integr. char. 1", + "10802": "Y value 1, conf. of grid integr. char. 1", + "10803": "X value 2, conf. of grid integr. char. 1", + "10804": "Y value 2, conf. of grid integr. char. 1", + "10805": "X value 3, conf. of grid integr. char. 1", + "10806": "Y value 3, conf. of grid integr. char. 1", + "10807": "X value 4, conf. of grid integr. char. 1", + "10808": "Y value 4, conf. of grid integr. char. 1", + "10813": "Active power gradient after reset frequency, linear instantaneous power gradient configuration", + "10813t": "The reference value is Pmax/min.", + "10814": "Active power gradient connection", + "10814t": "The reference value is Pmax/min.", + "10824": "Modbus TCP server on", + "10825": "Modbus TCP server port", + "10826": "Modbus UDP server on", + "10827": "Modbus UDP server port", + "10834": "NTP server", + "10858": "Fast shut-down", + "10878": "Speedwire connection status of SMACOM A", + "10879": "Connection speed of SMACOM A", + "10882": "Current speedwire IP address", + "10883": "Current speedwire subnet mask", + "10884": "Current speedwire gateway address", + "10885": "Current speedwire DNS server address", + "10886": "Status of the Webconnect functionality", + "10887": "Webconnect functionality switched on", + "10888": "MAC address", + "10889": "Automatic speedwire configureation switched on", + "10890": "Speedwire IP address", + "10891": "Speedwire subnet mask", + "10892": "Speedwire gateway address", + "10893": "Speedwire DNS server address", + "10896": "Duplex mode of SMACOM A", + "10965": "WebConnect system environment", + "10967": "Reset communication data", + "10976": "Activating active power, conf. of reactive power/voltage char. Q(U)", + "10976t": "Reference value is Pmax.", + "10977": "Deactivating active power, conf. of reactive power/voltage char. Q(U)", + "10977t": "Reference value is Pmax.", + "10979": "Activating voltage, cosPhi(P) char. conf.", + "10979t": "Reference value is Un", + "10980": "Deactivating voltage, cosPhi(P) char. conf.", + "10980t": "Reference value is Un", + "10981": "X-axes reference, conf. of grid integration char. 1", + "10982": "Y-axes reference, conf. of grid integration char. 1", + "10983": "Adjustment time of char. operating point, conf. of grid integration char. 2", + "10986": "Number of points to be used, conf. of grid integr. char. 2", + "10986t": "Zero means: mode deactivated.", + "10987": "Input unit, conf. of grid integration char. 2", + "10988": "Output frequency, conf. of grid integration char. 2", + "10989": "X value 1, conf. of grid integr. char. 2", + "10990": "X value 2, conf. of grid integr. char. 2", + "10991": "X value 3, conf. of grid integr. char. 2", + "10992": "X value 4, conf. of grid integr. char. 2", + "10997": "Y value 1, conf. of grid integr. char. 2", + "10998": "Y value 2, conf. of grid integr. char. 2", + "10999": "Y value 3, conf. of grid integr. char. 2", + "11000": "Y value 4, conf. of grid integr. char. 2", + "11015": "Goose application ID", + "11016": "Frequency monitoring switchable max. threshold", + "11017": "Frequency monit. switchable max. threshold tripping time", + "11018": "Frequency monitoring switchable min. threshold", + "11019": "Frequency monit. switchable min. threshold tripping time", + "11022": "Frequency band narrowing", + "11027": "Normalized active power limitation by PV system ctrl", + "11027t": "Static limitation of feed power, given as a normalized value, that can be changed via PV system control.", + "11028": "Normalized reactive power limitation by PV system ctrl", + "11028t": "Static limitation of reactive power, given as a normalized value, that can be changed via PV system control.", + "11034": "Voltage increase protection trigger time", + "11035": "Goose-Mac address", + "11043": "Nominal PV system power", + "11044": "Operating mode of act. power limit. at grid connection pt", + "11046": "Set active power limit at grid connection point", + "11047": "Set active power limit at grid connection point", + "11047t": "Reference value is nominal PV system power", + "11163": "Battery operating status", + "11173": "Speedwire meter serial no.", + "11174": "Speedwire meter status", + "11214": "Meter count and PV gen. meter", + "11215": "Total cumulative consump.", + "11216": "Cumulative internal consump.", + "11217": "Cumulative direct consump.", + "11220": "PV generation power", + "11221": "Present total consump.", + "11222": "Present own consump.", + "11223": "Present direct consump.", + "11226": "Present internal consump. ratio", + "11230": "Present autonomy ratio", + "11232": "Present direct consump. ratio", + "11252": "Abs. meter count and PV gen. meter", + "11269": "Cumulative self-supply", + "11270": "Current self-supply", + "11280": "Set offset of the supplied energy", + "11281": "Set offset of the absorbed energy", + "11282": "Island network detect. status", + "11295": "Version of communication Bootloader", + "11297": "Operating mode for absent active power limitation", + "11298": "Timeout for absent active power limitation", + "11299": "Fallback act power lmt P in % of WMax for absent act power lmt", + "11300": "Operating mode for absent reactive power control", + "11301": "Timeout for absent reactive power control", + "11302": "Fallback react power Q in % of WMax for absent react power ctr", + "11303": "Operating mode for absent cos Phi spec", + "11304": "Timeout for absent cos Phi spec", + "11305": "Fallback cos Phi for absent cos Phi spec", + "11306": "Fallback stimulation type for absent cos Phi spec", + "11525": "Run self test", + "11527": "Send IGMP requests", + "11528": "2nd characteristic curve number, configuration of characteristic curve mode", + "11529": "2nd activation of the characteristic curve, configuration of characteristic curve mode", + "11533": "Status of the firmware update", + "11534": "Tripping time for active power limitation", + "11543": "Version of WebUI", + "11552": "Usable meters on Speedwire", + "11566": "Prescribed self-test", + "11588": "IGMP query interval", + "11592": "Current time is daylight savings time", + "11593": "Firmware version of WLAN component", + "11600": "Dynamic power display via green LED", + "11601": "Signal strength of the selected network", + "11602": "Currently used IP address for WLAN", + "11603": "Currently used IP subnet mask for WLAN", + "11604": "Currently used IP gateway address for WLAN", + "11605": "Currently used IP DNS server address for WLAN", + "11606": "WLANs found", + "11607": "WLAN connection status", + "11609": "WLAN is turned on", + "11610": "Soft-access-point is turned on", + "11611": "SSID of WLAN", + "11612": "WLAN password", + "11614": "Activate WPS", + "11615": "Automatic configuration of WLAN is turned on", + "11616": "IP address of WLAN", + "11617": "Subnet mask of WLAN", + "11618": "IP address of WLAN gateway", + "11619": "IP address of WLAN DNS server", + "11620": "Version of time zone database", + "11621": "Perform WLAN scan", + "11632": "Status of active power limitation", + "11636": "Status of WLAN scan", + "11641": "WLAN-MAC address", + "11673": "Setpoint cos(phi) as per EEI convention", + "11674": "Voltage monitoring of upper maximum threshold as RMS value", + "11675": "Voltage monitoring of upper max. thresh. as RMS value for tripping time", + "11676": "Voltage monitoring of lower minimum threshold as RMS value", + "11677": "Voltage monitoring of lower min.threshold as RMS value for tripping time", + "11705": "Input unit, conf. of grid integration char. curve 3", + "11706": "Output reference, conf. of grid integration char. curve 3", + "11707": "X value 1, conf. of grid integr. char. curve 3", + "11708": "X value 2, conf. of grid integr. char. curve 3", + "11709": "X value 3, conf. of grid integr. char. curve 3", + "11710": "X value 4, conf. of grid integr. char. curve 3", + "11715": "Y value 1, conf. of grid integr. char. curve 3", + "11716": "Y value 2, conf. of grid integr. char. curve 3", + "11717": "Y value 3, conf. of grid integr. char. curve 3", + "11718": "Y value 4, conf. of grid integr. char. curve 3", + "11773": "SSID of WLAN", + "11774": "WLAN password", + "11775": "Encryption for WLAN", + "11777": "Devices found", + "12132": "Webconnect version", + "12146": "Smart Inverter Screen switched on", + "12804": "No translation in Taglist for ID 12804", + "12807": "No translation in Taglist for ID 12807", + "16777213": "Information not available", + "16777214": "No translation in Taglist for ID 16777214", + "lSpotValues": "Instantaneous values", + "lEvents": "Events", + "lDeviceParameter": "Device parameters", + "lPlantConfiguration": "Device configuration", + "lHome": "Home", + "hNoConnectionToDevice": "No connection to the device", + "oNoConnectionToDevice": "The connection to the device was interrupted.
  • Reestablish the network connection to the device.
", + "bLogin": "Login", + "lPasswort": "Password", + "lBenutzergruppe": "User group", + "lSprache": "Language", + "dBenutergruppe_Benutzer": "User", + "dBenutergruppe_Installateur": "Installer", + "dBenutergruppe_Service": "Service", + "dBenutergruppe_Developer": "Developer", + "lSMAInverter": "SMA device", + "tPasswortVergessen": "Forgot password?", + "eInstallPasswordNotChangedYetInstaller": "The standard password for the user group Installer has not yet been changed for this device.
You must change the password before proceeding.", + "eNewPassError": "The password contains forbidden special characters.
Permitted special characters: ? _ ! -
The new password must not be \"0000\" or \"1111\".", + "ePassDoNotMatch": "The new password and the password confirmation are not identical. Please correct your entry.", + "ePassRequired": "The field \"Password\" is mandatory.", + "ePassRepeatRequired": "The field \"Repeat password\" is mandatory.", + "lNewPass": "New password", + "lNewPassRepeat": "Repeat password", + "eInstallPasswordNotChangedYetUser": "The standard password for the user group User has not yet been changed for this device.
You must change the password before proceeding.", + "ePasswortFalsch": "The password you entered is incorrect.", + "ePasswortFehlt": "Enter the password of the selected user group.", + "eUsergroupFehlt": "Select a user group.", + "lForgPassHd": "Forgotten password", + "bClose": "Close", + "hForgPass": "If you have forgotten the password for your device, you can unlock the device by means of a Personal Unlocking Key (PUK) (refer to the device manual).", + "hForgPass_NoPUK": "If you have forgotten the password for your device, you can reset the device to default settings. Press the reset button with a sharp object and hold it for two to six seconds. All passwords and device settings are reset.", + "lNoMoreLogins": "No further login is possible.", + "eMaximumUsersLoggedIn": "The maximum number of users is already logged in on this device.
  1. Please wait until one of the users has logged out and try again later.
", + "eJavaScriptDeactivated": "JavaScript is deactivated in the settings of your web browser.
For the correct display of the user interface, JavaScript is, however, required.
  • Activate JavaScript in the settings of your web browser and then reload the user interface.
    A description how to activate JavaScript in your web browser can be found here: here.
", + "lJavaScriptNotActive": "JavaScript is deactivated.", + "lMinute": "Minute", + "lMinutes": "Minutes", + "lSecond": "Second", + "lSeconds": "Seconds", + "lloginLocked": "Your access has been blocked.", + "eMaximumCountLoginTrysAccomplished": "An incorrect password has been repeatedly entered. For security reasons, your account has been temporarily blocked.

Wait {{time}} and then try again.", + "lHour": "Hour", + "lHours": "hours", + "eMaximumCountGGLoginTrysAccomplished": "An incorrect SMA Grid Guard code has been repeatedly entered. For security reasons, the SMA Grid Guard login is temporarily blocked.

Wait {{time}} and then try again.", + "hMaximumCountGGLoginTrysAccomplished": "SMA Grid Guard login is temporarily blocked.", + "bCancel": "Cancel", + "lGridGuardLogin": "SMA Grid Guard login", + "lGridGuardLoginText": "You can only change the SMA Grid Guard parameters with your personal access code. Any change to SMA Grid Guard parameters must be approved by the grid operator.", + "lGridGuardLoginPwFailed": "The entered SMA Grid Guard code is incorrect. Please correct your entry.", + "lGridGuardCodeMissing": "Enter your personal SMA Grid Guard code.", + "lGridGuardPlaceholder": "SMA Grid Guard code", + "lCookiesNotActive": "Cookies are deactivated.", + "eCookiesDeactivated": "Saving cookies is deactivated in the settings of your web browser.
For the correct display of the user interface, cookies are, however, required.
  • Activate the saving of cookies in the settings of your web browser and then reload the user interface.
", + "oConfInv": "Configure the device", + "lUserInfo": "User information", + "oChooseConf": "Select a configuration option:", + "lSetupWizard": "Configuration with installation assistant", + "bSkipConf": "Skip configuration", + "lConfManual": "Manual configuration", + "lDevName": "Device name:", + "lConfBackFile": "Adopt the configuration from a file", + "lSerial": "Serial number:", + "lFwVersion": "Firmware version:", + "hConfSetupWizardHeading": "Configuration with Installation Assistant", + "hConfSetupWizard": "With this configuration option, you can configure the device with the help of the installation assistant. The installation assistant guides you step-by-step through the configuration process.", + "hHintGridGuardCode": "Information: In order to configure the device, you require a personal SMA Grid Guard code (application form is available at www.SMA-Solar.com).", + "hImportBackupHeading": "Adopting the Configuration from a File", + "hImportBackup": "With this configuration option, you can adopt a previously saved configuration from a file.", + "hConfManualHeading": "Manual Configuration", + "hConfManual": "With this configuration option, you can configure all parameters of the device manually.", + "cDoNotShowDialogAgain": "Do not show this dialog again.", + "lPskChangeAutomatic": "The WLAN password of the device changes after the initial configuration.", + "ePskChangeAutomatic": "The standard WLAN password of the device for direct WLAN connection is only valid for a limited period of time.", + "ePskChangeAutomaticConditions": "After the first ten operating hours, the initial configuration, or activating the option Do not show this dialog again on the bottom of this page, only the device-specific WLAN password is valid (see WPA2-PSK on the device type label).", + "ePskChangeAutomaticCountdown": "The WLAN password will be changed after {{time}} at the latest.", + "lPskChange": "The standard WLAN password of the device will be changed to the device-specific WLAN password.", + "ePskChange": "From now on, only the device-specific WLAN password for direct WLAN connections is valid (see WPA2-PSK on the device type label).", + "hFilenameToLong": "File name too long", + "oFilenameToLong": "The name of the selected file is too long.
  • Adapt the file name or select a file with a shorter file name.
", + "hEthernetConfig": "Network configuration", + "lCurrentConnections": "Networks configured", + "lcurrentNetworkName": "Network name", + "lcurrentComType": "Type of communication", + "lcurrentIp": "IP", + "lCurrentConnection": "Network configured", + "lCommunicationType_Ethernet": "Ethernet", + "lCommunicationType_WLAN": " WLAN", + "lSubnetmask": "Subnet mask", + "lIpGateway": "IP address of the gateway", + "lIpAddressDnsServer": "IP address of the DNS server", + "lDhcp": "Automatic configuration switched on", + "bBarDhcpServer_Proxy-Serververwenden": "Use proxy server", + "bBarDhcpServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "lProxySettings": "Proxy settings", + "lIpAdressInverter": "IP address of the device", + "bPreviousStep": "Back", + "bSaveAndNext": "Save and next", + "hConfigureNetwork": "You can either integrate the device into your local network via Ethernet using a cable or wireless via WLAN. Select the respective option under Type of communication.", + "hConfigureEthernet": "You can either obtain the network settings automatically from a DHCP server or configure them manually. Select the desired option under Automatic configuration switched on.

If you want to configure the network settings manually, you have to enter the required network data additionally.

Direct Ethernet Connection
If you want to establish a direct connection to the device via a network cable, you need to activate the automatic configuration of the Ethernet interface. Select the option Yes under Automatic configuration switched on.", + "headlineConfigureEthernet": "Configuring Communication via Ethernet", + "hConfigureEthernetProxy": "If there is a proxy server in your local network, you must make additional proxy settings. The proxy settings are needed for the connection to Sunny Portal and for firmware updates of the device.
Select the option Use proxy server in Proxy settings and enter the required data of your proxy server.", + "hNetworkConfigIpInFooter": "Information: You will find the IP address of the device on which you are currently logged into in the status bar below in the user interface after having completed the configuration procedure. You will require the IP address to call up the user interface in the local network.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "bBarDhcpServer_Ja": "Yes", + "bBarDhcpServer_Nein": " No", + "lAddressProxyServer": "Server", + "lPortProxyServer": "Port", + "lUsername": "User name", + "lPassword": "Password", + "bUploadSslCert": "Import proxy certificate", + "lCommunicationType": "Type of communication", + "bBarProxyServer_Proxy-Serververwenden": "Use proxy server", + "bBarProxyServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "tDhcsServer": "The DCHP server automatically assigns the appropriate network settings to your nodes in the local network (e.g. the computer). A manual network configuration is therefore not necessary. In a local network, the router is usually the DHCP server.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "lIpAdress": "Server", + "tIpDnsServer": "Enter the IP address of your DNS server here.
Tip: This is usually the IP address of your router.
A DNS server translates the more easily readable Internet addresses for the user into the required IP addresses for the devices (e.g. www.SunnyPortal.com >> 10.12.122.122).", + "lcurrentIpInverter": "IP address of the device", + "tProxyserver": "A proxy server is a communication interface in the local network. Via the proxy server, the nodes in the local network can, for example, establish an Internet connection.", + "tSubnetmask": "Enter the subnet mask of the network here.
Tip: You can usually use the standard subnet mask 255.255.255.0. If you have any questions, contact your network administrator.
The subnet mask separates network areas in the local network from each other. Together with the IP address, the subnet mask determines the address of a node in the local network. Via this address, the node can be reached inside and outside the local network (e.g. via a router connected with the Internet).", + "tIpGateway": "Enter the IP address of your gateway.
Tip: This is usually the IP address of your router.
A gateway is the transfer point between two networks, e.g. local network and Internet.", + "tIpAdress": "Enter the desired IP address of the device and note it down. You will require the IP address to call up the user interface in the local network after having completed the configuration procedure.
Tip: The first three blocks of the IP address are usually identical with the IP address of your router.

The IP address is the unique identification of a node in the local network.", + "hImportProxyCert": "Under [Import proxy certificate], you have the option of importing the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "bBarWlanConfig_GefundeneWLAN-Netzwerkeanzeigen": "Show WLAN networks found", + "bBarWlanConfig_WLAN-Netzwerkeinstellungenmanuellvornehmen": "Configure WLAN network settings manually", + "bBarWlanConfig_WPSfürWLAN-Netzwerk": " WPS for WLAN network", + "lWlanConfigType": "Type of connection", + "lFoundWlans": "Networks found", + "hWlanPassProtected": "The WLAN is password-protected.", + "hWlanNotPassProtected": "The WLAN is not password-protected.", + "bConnectToWLAN": "Connect to this WLAN", + "lSignalStrength": "Signal strength", + "tDeactivateWlan": "You can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "headlineConfigureWlan": "Configuring Communication via WLAN", + "hConfigureWlan": "If you want to use WLAN, you have the following options:
  • Showing WLAN Networks Found
    Via the button Settings, you can make the corresponding network settings to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • Configuring WLAN Network Settings Manually
    Here you can enter the data of your WLAN network manually to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • WPS for WLAN network
    In order to connect the device via WPS automatically to your WLAN network, you first have to activate WPS in your WLAN router (refer to the WLAN router manual). Then activate the WPS function of the device by selecting [Activate WPS] on the user interface.


If required, you can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "hNetworkConfig": "Network configuration", + "hWlanPassword": "WLAN settings", + "bWlanConnect": "Connect to WLAN", + "oWlanPasswortInsert": "WPA2 password", + "lDisconnectWlanConfirmation": "Deactivate WLAN network connection", + "hDisconnectWlanConfirmation": "Are you sure that you would like to deactivate the WLAN connection of the device to the local network?
If you are currently connected to the device via the WLAN network, the connection will be broken immediately.
You will then only be able to access the user interface via Ethernet or the WLAN direct connection of the device.", + "bDeactivateWlan": "Deactivate now", + "bWpsActivate": "Activate WPS", + "oEnableWlan": "Activate WLAN", + "lSaveNetworkSettings": "The network settings will be saved.", + "hSaveNetworkSettingsAuto": "After having saved the settings, you are automatically logged out of the user interface.


You have the following options to log back in to the user interface:
  • If you are directly connected to the device, enter the standard IP address (refer to the device manual).
  • If you manually assigned the IP address, enter the manually assigned IP address.
  • If you have received the IP address from a DHCP server, enter the newly assigned IP address. You can determine the newly assigned IP address by checking the settings of your router (see manual of the router) or using network-scanning software.
", + "hDateTimeSetting": "Set date and device time", + "lAutomaticTimeSetting": "Automatic time synchronization", + "bToggleOnOff_Ein": "On", + "bToggleOnOff_Aus": " Off", + "lTimezone": "Time zone", + "lDevicetime": "Device time", + "hTimeSetting": "You can set the date and the system time of the device either manually or automatically from an NTP server.
An Internet connection is required for automatic time synchronization.", + "lDate": "Date", + "cAutoDaylightSavingDeactivated": "Deactivate automatic change from daylight saving time to standard time", + "lCountrySettingWizardMenu": "Country data set", + "lEnergyMeterWizardMenu": "Meter configuration", + "lDateSetWizardMenu": "Time and date", + "lPlantConfWizardMenu": "System configuration", + "lNsmWizardMenu": "Grid management service", + "lNetworkConfWizardMenu": "Network configuration", + "lSummaryWizardMenu": "Summary", + "lStringFailureDetectionMenu": "String-failure detection", + "lImpulseInputMenu": "S0 interface", + "lTemperatureIrradiationMenu": "Temperature Irradiation", + "lBatteryWizardMenu": "Battery configuration", + "lPlantInverterWizardMenu": "System configuration", + "lStringFailureWizardMenu": "String configuration", + "lPcmWizardMenu": "I/O module", + "hCountrySetting": "Selecting the country standard", + "hCountrySettingsHelp": "The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard.
If you select a country data set, the device will be configured with the corresponding default settings. The selection of the correct country data set depends on the installation site and the grid-connection standard applicable on-site. Contact your grid operator, if necessary.", + "oChooseCountrySetting": "Select the desired country data set.", + "oInsertGGLogin": "Enter your personal SMA Grid Guard code.", + "lProcedure": "Procedure", + "hGridGuardLoginNecessary": "In order to change the current country data set, you must additionally log in with your personal SMA Grid Guard code.", + "hOldEnergyMeter": "Configure the energy meter", + "hEnergyMeterSetting": "Configure the energy meter", + "bEnergyMeterExchange": "Use an energy meter in the system", + "hEnergyMeter": "If there is an energy meter in your system, you can, in addition, have the consumption data of your household displayed on the home page.", + "tOldEnergyMeterSettings": "Select the energy meter from which the consumption data is to be obtained.

Procedure
  1. In the table Available energy meters, select the button Settings for the desired energy meter.
  2. In the context menu, select Use energy meter in the system. The energy meter is then added as installed energy meter to your system.
", + "oChooseContextMenuEnergyMeter": "In the table SMA Energy Meters found, select the following button for the desired SMA Energy Meter:", + "oChooseUsedEnergyMeter": "In the context menu, select Use SMA Energy Meter in the system. The SMA Energy Meter will be added to your system as installed SMA Energy Meter.", + "bEnergyMeterRemove": "Remove energy meter from the PV system", + "lEnergyMeterSelected": "Selected energy meter", + "lEnergyMeterFound": "Available energy meters", + "hPlantInverterSetting": "Inverters in the System", + "hHeadlinePlantInverter": "Configure the devices", + "hContentPlantInverter": "blabal", + "lUsedPlantInverter": "Devices in the system", + "hPlantInverterMaster": "This device is the master device of the system", + "hPlantPassword": "System password", + "hGridGuardCodeMissing": "You must enter your personal SMA Grid Guard code before proceeding.", + "lHeadlineNsd": "Grid management service configuration", + "lHeadingNsmIntro": "Feed-in management", + "hManagementMeasuringGridPoint": "If the limitation of the system's active power feed-in at the grid-connection point is required by standards or law, enter the total nominal power of the system, select the desired operating mode and enter the respective value to which the nominal power must be reduced. When selecting an operating mode for the limitation of active power at the grid-connection point, the system's active power is controlled at the grid-connection point depending on the local consumption and the battery state of charge (if a battery is available).", + "headingManagementMeasuringGridPoint": "Feed-in management at the grid-connection point", + "headingManagementInverter": "System control and power limitation", + "hManagementInverter": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode \"Active power limitation P via system control\". When using this operating mode, you can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Select whether the inverter shall disconnect from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not allow the inverter to still feed in a low amount of active power when limited to 0% or 0 W.", + "headingManagementPhase": "Connected line conductors", + "hManagementPhase": "The selection of line conductor ensures that the displayed values on the user interface are displayed correctly and the unbalanced load limitation can be implemented correctly.", + "headingManagementSchieflast": "Activating Unbalanced Load Limitation", + "hManagementSchieflast": "If the grid operator requires a limitation of the unbalanced load, activate the unbalanced load limitation and enter the maximum permissible unbalanced load.", + "lNsdType_Einspeisemanagement": "Feed-in management", + "lNsdType_StatischeSpannungshaltung": " Static voltage stability", + "lConfigEinspeiseManagementWechselrichter": "System control and power limitation", + "iHeadlineEinspeisemanagement": "Grid management service configuration", + "lNsdType_Netzanschlusspunkt": "Grid-connection point", + "lActivePowerLimitationEnable": "Feed-in management at the grid-connection point", + "lLoadImbalancesAsk": "Activating Unbalanced Load Limitation", + "lLoadImbalancesValue": "Maximum unbalanced load", + "lPhaseAmNetzanschluss": "Connected line conductors", + "lActivePowerLimitationMode": "System control and power limitation", + "lToggelEinspeisemanagementOnOff": "Feed-in management at the grid-connection point", + "lEinspeisemAmNetzanschluss": "Feed-in management at the grid-connection point", + "bToggleBlindleistung_Ein": "On", + "bToggleBlindleistung_Aus": "Off", + "hHeadlineStatischeSpannungshaltung": "Activating Static Voltage Stability", + "hContentStatischeSpannungshaltung": "The inverter can supply reactive power by the use of a higher unit or various default values. The inverter can only set its own reactive power and cannot control any other inverters. Coordinate the configuration with your grid operator.
If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode \"cosPhi or Q specification via PV system control\". When using this operating mode, you can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. This set value is available as either a displacement power factor or as a reactive-power setpoint as a percentage of the inverter nominal power", + "lHeadlineStatischeSpannungshaltung": "Static voltage stability", + "lBlindleistungConfig": "Activate static voltage stability", + "hInfotextKennlinie": "Advanced settings for the characteristic curve mode are only possible via configuration of the inverter device parameters.", + "lPowerControlModule": "System control and power limitation via I/O module", + "lPreDIHeader": "DI", + "lPreActiveHeader": "Active", + "lPreActivePowerHeader": "Active power", + "hHeaderHelpPowerControlModule": "System control and power limitation via I/O module", + "helpContentWirkleistungsbegrenzung": "Make sure that the configuration of the digital inputs corresponds to the specifications of the grid operator and the assignment on the I/O module.
In the field Failure tolerance time, enter the time a signal is to be applied until the inverter accepts the default value.
If not all inputs are active, you can activate the fallback level in case an invalid signal is applied. The fallback time is the time an invalid signal must be applied until the inverter accepts the fallback value.", + "lFallbackCheckbox": "Fallback level", + "hImpulseInput": "S0 interface", + "hSensorModuleEnergyMeterS0": "Enter the current meter reading of the energy meter used in the field \"S0 meter reading Total yield\". In the field \"S0 pulses\", you must enter the number of S0 pulses per kWh defined by the manufacturer of the energy meter. This ensures that the Sensor Module receives the data of the energy meter correctly.", + "headingHelpSensorModuleEnergyMeterS0": "Configuring the S0 Energy Meter", + "helpImpulseInput": "The SMA Sensor Module is equipped with a S0 interface to which you can either connect an anemometer or energy meter (see installation manual of the module).

Select the function of the S0 input according to the connection made and enter your settings.", + "hSensorModuleWindSensor": "Enter the number of S0 pulses per m/s defined by the manufacturer of the anemometer in the field \"S0 pluses per m/s. This ensures that the Sensor Module receives the data of the anemometer correctly.", + "headingHelpSensorModuleWindSensor": "Configuring the S0 Sensor for Wind Speed", + "hAnalogInput": "Temperature inputs and analog input", + "helpAnalogInput": "You can connect one module temperature sensor and one outside temperature sensor to the two temperature inputs of the SMA Sensor Module.

You can connect one irradiation sensor to the analog input of the SMA Sensor Module.", + "headingHelpTemperatureSensor": "Connecting the Temperature Sensor", + "hConfigureTemperatureSensor": "
  1. Connect the temperature sensor to the desired temperature input of the SMA Sensor Module (refer to the Module installation manual).
The type of temperature sensor is automatically detected upon successful installation. No configuration is necessary.", + "headingHelpIrradiationSensor": "Configuring the Irradiation Sensor", + "hConfigureIrradiationSensor": "
  1. Connect the irradiation sensor to the analog input of the SMA Sensor Module (refer to the Module installation manual).
  2. Configure the characteristic curve depending on the connected irradiation sensor (refer to the irradiation sensor manual).
", + "hHelpBatteryConfig": "Select the battery type connected.", + "hBatteryTestHelp": "Battery functional test", + "hHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery\". The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "hBatteryTyp": "Selectable battery types", + "lBatteryTestIstl": "Battery functional test", + "lBatteryTestService": "Battery functional test (for Service only)", + "lBatteryValues": "Battery instantaneous values", + "lBatteryTest": "Battery functional test", + "lTestStarted": "The test has been started.", + "lBatteryTestEvents": "Details for test operation", + "lTestRunning": "The test is being performed.", + "lTestStopped": "The test has been completed.", + "hConfigNAP": "Grid-connection point configuration", + "lSummary": "Summary", + "hWizardSummary": "The summary lists the settings made while running the installation assistant.", + "bNext": "Continue", + "bExportSummary": "Export the summary", + "hSaveNotCompleteInsufficientDcPower": "Settings not yet saved completely.", + "iSaveNotCompleteInsufficientDcPower": "The DC voltage of the inverter is currently too low. As a result, the settings could not yet be saved completely.

As soon as there is sufficient DC voltage at the inverter, the settings will be saved completely.", + "tActivePowerReductionOff": "The active power limitation is deactivated.", + "tActivePowerReductionNotActive": "The active power limitation is set, but not active at the moment.", + "tActivePowerReductionActive": "The active power limitation is active at the moment.", + "lActivePowerReductionNotActive": "Active power limitation is not activated.", + "lActivePowerReductionActive": "Active power limitation is activated", + "lBatteryEnergyExchange": "Nominal energy throughput of the battery", + "lCharge": "Charge", + "lDischarge": "Electric discharge", + "lGidConnectionPointEnergyExchange": "Energy exchange at the grid-connection point", + "lGidReference": "Consumption", + "lGridFeedIn": "Grid feed-in", + "lGidConnectionPointPower": "Power at the grid-connection point", + "lMeterExport": "Meter: Export", + "lMeterImport": "Meter: Import", + "lTemperatureMeasurement": "Temperature measurement", + "lBft12": "Hurricane", + "lBft0": "Calm, dead calm", + "lBft1": "Light air", + "lBft2": "Light breeze", + "lBft3": "Gentle breeze", + "lBft4": "Moderate breeze", + "lBft5": "Fresh breeze", + "lBft6": "Strong breeze", + "lBft7": "Near gale", + "lBft8": "Gale", + "lBft9": "Strong gale", + "lBft10": "Storm", + "lBft11": "Violent storm", + "bLogout": "Logout", + "lDeviceState": "Device status", + "lPower": "Current power", + "lSerNoFt": "Serial number:", + "lFwVerFt": "Firmware version:", + "lDtTiFt": "Date: ", + "lUsrGrFt": "User group:", + "lIpInverterSpeedwire": "Ethernet IP address:", + "lIpInverterWlan": "WLAN IP address:", + "lActualConsumption": "Current consumption", + "lYield": "Yield", + "lYieldToday": "Today:", + "lYieldYesterday": "Yesterday:", + "lYieldTotal": "Total:", + "tConsumption": "Consumption: energy that your household has drawn from your PV system (internal power supply) and the utility grid (purchased electricity) during the time period selected.", + "lConsumption": "Consumption", + "lConsumptionToday": "Today:", + "lConsumptionYesterday": "Yesterday:", + "lConsumptionTotal": "Total:", + "tActualConsumption": "Current consumption: power that your household is currently drawing from your inverter (internal power supply) and the utility grid (purchased electricity).
Information: This inverter can only measure its own feed-in power and cannot communicate with other inverters. If there are several inverters in your system, the real current consumption may be greater than the value indicated here.", + "tHelp": "Help", + "tUserSettings": "User settings", + "lNsmTableReactivePower": "Reactive power", + "lNsmTablePower": "Active power", + "lReferenceValue": "Setpoint", + "lSteuerwert": "Output value", + "lNsmTableCosPhi": "Cos phi setpoint", + "lActualCtrlValue": "Current default value", + "lNsmTablePowerShort": "Act.P", + "lNsmTableReactivePowerShort": "React.P", + "lHelp": "Help", + "tConsumptionLegend": "Power that your household has drawn from your PV system (self-consumption) and the utility grid (purchased electricity).", + "tYieldLegend": "Power that your PV system has fed into the utility grid.", + "lNsmState": "Feed-in management", + "lActivePowerReductionOff": "Active power limitation deactivated", + "lChartPower": "Current power", + "bBarPower_Tag": "Day", + "bBarPower_Monat": "Month", + "bBarPower_Jahr": "Year", + "bBarPower_Gesamt": "Total", + "lKeyGridPower": "Power consumption", + "lChartPowerConsumption": "Current power and current consumption", + "lKeyPvPower": "PV power", + "lUnitYieldConsumptionActual": "(kW)", + "iTime": "Time", + "lTableHeadingPvDay": "PV power", + "lTableHeadingPvYieldConsumptionDay": "PV power and power consumption", + "lUserSettings": "User settings", + "lChartConsumption": "Yield", + "lChartYield": "Yield", + "lKeyConsumption": "Consumption", + "lUnitPowerConsumption": "(kWh)", + "lChartYieldConsumption": "Yield and consumption", + "lKeyYield": "PV yield", + "lUnitYieldConsumption": "(kWh)", + "hRefersToNominalPower": "These values are based on the set nominal system power.", + "lTableHeadingPvYieldMonthYearTotal": "PV yield", + "lTableHeadingPvYieldConsumptionMonthYearTotal": "PV yield and consumption", + "lNoDataForGraph": "No data is available for the selected time period.", + "lNoDataForGraphRequestTimedOut": "The device has not answered the data request in time. Therefore, no data can be displayed.
Check the network connection if necessary and then reload the user interface in the web browser.", + "bParameterEdit": "Edit parameters", + "lNotSavedSettings": "Unsaved changes", + "bParameterExport": "Export all parameters ", + "lOldPass": "Old password:", + "bSave": "Save", + "bSkipSettings": "Discard changes", + "tPasswordRules": "Tips on the creation of a secure password:
  • Use at least eight characters
  • Use special characters and numbers
  • Use a combination of upper and lower case letters
  • Do not use names or common words
  • Do not use data related to yourself
  • Do not repeat names or words
  • Do not combine numbers or letters in the same order as they appear on your keyboard.
  • The new password must not be \"0000\" or \"1111\".
", + "bJumpToTop": "To the start of the page", + "eParamMaxSizeExceeded": "The maximum permissible number of characters is exceeded.
Please correct your entry.", + "bSaveAllSettings": "Save all", + "bSkipAllChanges": "Discard all", + "tLoginGridGuard": "In order to change this parameter, you must log in with your personal SMA Grid Guard code in the menu User settings.", + "tDiscardParamChange": "Discard change", + "lParameterName": "Parameter name", + "lHierarchiegroup": "Group", + "lOldValue": "Old value", + "lNewValue": "New value", + "lMaxNoParamChanges": "The maximum number of unsaved changes has been reached. You must first save the changes, before you can change further parameters.", + "lSaveChangesFailed": "An error has occurred while saving the changes. Please try again.", + "lLeavePageWithUnsavedChanges": "There are unsaved changes which will be lost when leaving this page.", + "lDateTime": "Date/time", + "lEventText": "Event message", + "lEventID": "Event ID", + "lEventtype": "Event type", + "lTime": "Time", + "iNoEventsFound": "No events found.", + "iLoadingEvents": "More events are being loaded...", + "tEventInfo": "Information", + "tEventWarning": "Warning", + "tEventError": "Error", + "iEventsRenderTable": "Please wait", + "cError": "Error", + "cWarning": "Warning", + "cInformation": "Information", + "lErgebnisId": "", + "leventSearch": "Search", + "lStartDate": "from", + "lEndDate": "to", + "bEventfilterApply": "Apply time filter", + "bEventFilterReset": "Reset time filter", + "bEventExport": "Export events", + "eEventFilterIdInvalid": "Only numbers are valid for event IDs.", + "eEventFilterStartDateInvalid": "Enter a valid start date.", + "eEventFilterEndDateInvalid": "Enter a valid end date.", + "eEventFilterDateRangeInvalid": "The end date is before the start date.", + "eEventFilterIdInvalidMin": "Only positive numbers are valid for event IDs.", + "eEventFilterIdInvalidMax": "Invalid event ID", + "lDateHeading": "Date", + "tEventInfoIncoming": "Incoming information", + "tEventWarningOutgoing": "Outgoing warning", + "tEventInfoOutgoing": "Outgoing information", + "tEventWarningIncoming": "Incoming warning", + "tEventErrorIncoming": "Incoming error", + "tEventErrorOutgoing": "Outgoing error", + "bBarEventExport_AlleEreignisse": "All events", + "bBarEventExport_GefilterteEreignisse": "Filtered events", + "lEventExport": "Export events", + "hEventExport": "You can export the events of the device in text form to a CSV file.
If you select \"Filtered events,\" only the events that you have filtered before are exported.", + "lEventExportChoose": "Select the events you want to export:", + "iGenerateEventsExport": "An export of the events is being created", + "lEntryId": "Entry ID", + "lSusyId": "SUSyID", + "eEventExportNoSelection": "Select the events to be exported.", + "lEventExportSuccess": "The events were successfully exported.", + "lEventExportFailed": "An error has occurred.
The events could not be exported.", + "lUserInformation": "User information", + "lDevicesFound": "Devices found", + "lDevicesInPlant": "Devices in the system", + "bFwUpdate": "Update the firmware", + "bChangeDeviceName": "Change device names", + "bSaveConfigToFile": "Save configuration to a file", + "bLoadConfigFromFile": "Adopt the configuration from a file", + "tListChangeDeviceName": "Change the device names.", + "tListFwUpdate": "Update the firmware.", + "tListSaveConfig": "Save the current configuration of the device in a file.", + "tListLoadConfig": "Adopt configuration of a device from a file.", + "tListSelfTest": "If the configured country data set requires a self-test, start the self-test.", + "tListRemoveDevice": "Delete the device.", + "tListImportProxyCert": "Import the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "lDeviceName": "Device name", + "lSerialHeading": "Serial number", + "lSettings": "Settings", + "lFwInstalled": "Firmware version installed", + "lFwAvailable": "Firmware version available", + "lEnergyMeterName": "Name of the energy meter", + "hAddEnergyMeter": "Add a detected SMA Energy Meter to the system. The SMA Energy Meter is used as purchased electricity meter and feed-in meter.", + "bAddDevice": "Add a device to the system", + "bReplaceDevice": "Add as replacement device", + "bRunSelftest": "Start the self-test", + "bRemoveDevice": "Delete the device", + "lRunSelftest": "Start the self-test", + "iSelftest": "You configured a country data set which requires a self-test of the inverter.
You can now start the self-test.", + "iSelftestDuration": "Perform the self-test may take several minutes.", + "lAlreadyGridGuardRights": "You are already logged in with SMA Grid Guard rights.", + "lSelftestResult": "Result of the self-test", + "bSaveSelftestProtocol": "Save the self-test protocol", + "lChangeDeviceName": "Change device names", + "oNewDevicenameInput": "Enter the desired device name:", + "lDeviceNameSavedSuccess": "The device name has been successfully saved.", + "lDeviceNameSavedFailed": "An error has occurred.
The device name could not be saved.", + "lChooseFwFile": "Select the desired update file:", + "bFwUpdateStart": "Update the firmware", + "hFirmwareUpdate": "You can load the update downloaded from www.SMA-Solar.com onto your device manually.", + "hFileuploadFailed": "File upload failed", + "hFileUploadWrongFiletype": "The selected file does not have the required format. Select a file that has a valid file format.", + "hFileUploadFailedBody": "An error occurred during file upload. Please restart the file upload.", + "lRunFirmwareUpdate": "Update the firmware", + "lFwUpdateIsRunning": "The firmware is being updated.", + "lDetailsUpdateProcess": "Details on the update procedure", + "oDontShutdown": "In order to avoid data loss, do not switch off the device during the update procedure.", + "lDetailsConfigProcess": "Details for configuration", + "lConfigUploadIsRunning": "The configuration file is being transmitted to the device ...", + "lImportBackupFile": "Load the configuration file", + "lFwUpdateTransferedToDevice": "The update file has been transmitted to the device.", + "lFwUpdateRunning": "The firmware is being installed ...", + "iFwUpdateFailedManual": "An error has occurred.
The firmware could not be updated.
Contact the SMA Service Line.", + "iSaveConfigToFile": "You can save the current configuration of the device in a file.
You can use the file as backup and, if required, import it then to this or other SMA devices of the same type. No passwords - only the device parameters are saved in the file.", + "lSaveConfigToFile": "Save configuration to a file", + "iFileDownloadSuccess": "The file has been successfully downloaded.", + "iFileSaveFailed": "An error has occurred while downloading the file.", + "iLoadConfigFromFile": "In order to be able to adopt a configuration for this device, you have to transfer the configuration file.
In addition, for certain devices you require your personal SMA Grid Guard code for authentication (application form is available at www.SMA-Solar.com)

To completely adopt the configuration, a certain DC input voltage is required for some devices. If the DC input voltage is currently too low, the configuration is only completely adopted once sufficient DC input voltage is present.", + "lLoadConfigFile": "Adopt the configuration from a file", + "oChooseFile": "Select the desired file:", + "bSearchFile": "Browse...", + "bImportFile": "Import file", + "oGridGuard": "Enter your personal SMA Grid Guard code:", + "iLoadSslCertFromFile": "Here, you have the option of importing the security certificate of the proxy server used. By doing so, the proxy server used will be categorized as trustworthy.", + "lImportSslCertHealineFile": "Import proxy security certificate", + "lFileDownload": "Data", + "lFileSystemHelpHeadline": "Stored data", + "hFileDiagnoseSystemHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card).
You can display and download the data.

Service files
Service files for analysis purposes.

Daily values
Stored values are shown in the time scale at one-day intervals. For each year, a file is automatically created.

One-second values
Stored instantaneous values of the last two months are shown in the time scale at one-second intervals.

Five-minute values
Stored values are shown in the time scale at five minute intervals.

Events
All events that have occurred. For each year, a folder is automatically created.", + "lFileSystemHeadline": "Stored data", + "lFileSystemType": "Type", + "lFileSystemLastModification": "Last modification", + "lFileSystemSize": "Size", + "lFileSystemName": "Name", + "lFileDirNameOnline5M": "Five-minute values", + "lFileDirNameOnline": "One-second values", + "lFileDirNameEvents": "Events", + "lFileDirNameDIAGNOSE": "Data", + "lFileDirNameFLCR": "Service files", + "lFileDirNameDay": "Daily values", + "bLoggerExport": "Export data", + "lLoggerExportHelpHeadline": "Export data", + "hLoggerExportHelpContent": "You have the option of exporting the data stored on the product as an Excel file. Select in the drop-down list which data should be exported and use the time filter prior to exporting the data.", + "hFileSystemRootHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card). Select the folder /Data to obtain all data stored on the inverter.", + "lGenLogFlr": "Service files", + "lGenLogDay": "Daily values", + "lGenLog5Min": "Five-minute values", + "lLinkToGlobalWebsite": "www.SMA-Solar.com", + "lOpenSourceLicenses": "Open source licenses", + "hConfirmNavigation": "Confirm navigation", + "bLeavePage": "Leave this page", + "bStayOnPage": "Remain on this page", + "lSelftestRunning": "Perform the self-test", + "lSelfTestStep1": "Check overvoltage", + "lSelfTestStep2": "Check undervoltage", + "lSelfTestStep3": "Check maximum frequency", + "lSelfTestStep4": "Check minimum frequency", + "lSelftestSuccess": "The self-test was successful.", + "lSelftestFailed": "An error has occurred.
The self-test failed.", + "bBarFwUpdateAutomaticManual_automatisch(empfohlen)": "automatic (recommended)", + "bBarFwUpdateAutomaticManual_manuell": " manual", + "hGridGuardCodeMissingHeader": "SMA Grid Guard code required", + "lChangePw": "Change the system password", + "lPasswordNewUnequal": "The new password and the password confirmation are not identical. Please correct your entry.", + "lNumberConnectedStrings": "Number of connected strings", + "hHeaderHelpStringFailure": "String-failure detection", + "sStringFaultDetectionTime": "Specify how long the set tolerance limit has to be overstepped once a string failure has been detected before a warning is displayed in the events list of the inverter here.", + "bBarConnectedImpulseSensor_Windsensor": "Anemometer", + "bBarConnectedImpulseSensor_Energiezähler": " Energy meter", + "lDirectionEnergyMeter": "Counting direction", + "hStringFailureDetection": "String-failure detection", + "hSendConfigToSlaves": "Transfer the configuration to devices in the system", + "oStringFailureDetection": "Procedure:
  1. To activate the string-failure detection, select the option On under Activate string-failure detection.
  2. Specify the number of connected strings per string input used.
  3. To consolidate certain string inputs into a group, activate the check box for the respective string input in the desired group column. Here, each string input can only be assigned to one group. At least two string inputs must be selected per group.
  4. Specify the tolerance limit for the string-failure detection.
  5. Specify how long the set tolerance limit has to be overstepped once a string failure has been detected before a warning is displayed in the events list of the inverter.
", + "oSimpleStringFailureDetection": "To activate the string-failure detection, select the option On under Activate string-failure detection.", + "helpStringFailureDetection": "You can consolidate the string inputs of the inverter into groups. Thereby you can compare string inputs that have the same characteristics (e.g. shading, alignment or module type) with each other and be notified in the event of a string failure via an event message.", + "lLogout": "Logout", + "lChangePassword": "Password change", + "lSettingsSetSuccess": "The changes have been adopted successfully.", + "hConfigurationExport": "You can save the current configuration of the inverter in a file. If required, you can import the file to this or another SMA inverter of the same type to configure the inverters.", + "lStatus": "Status:", + "hChangePassword": "If you change the user password on the master device of the system, this will change the system password.
This means that the user password of all slaves in the system will also be changed.
If you change the user password on a slave of the system, only the user password for this device will be changed.
This means that the new password will differ from the system password and the slave will no longer be displayed in the system view.", + "lSaveSelftestProtocol": "Save the self-test protocol", + "lPasswordOldWrong": "The old password is not correct. Please correct your entry.", + "lRestartSetupWizard": "Start the installation assistant", + "eSelftestProtocolNotSaved": "An error has occurred.
The file could not be saved.
The connection to the inverter may have been interrupted or there is not enough storage space available on the selected local device.
  • Ensure that there is a connection to the inverter.
  • Make sure that there is enough storage space available on the local device.
  • Save the file again.
", + "iSendConfigToSlaves": "The settings were successfully saved to the system master.
You can have the following settings transferred to all devices in the system:
  • Time and date
  • Country data set
", + "lUiSettings": "Settings", + "oChooseLanguage": "Select the language for the user interface.", + "helpMinimumTwoStringGroupsPerGroup": "You must select at least two string inputs per group.", + "lDeviceTyp": "Device type:", + "iSaveSelftestProtocol": "You can save the self-test protocol as a text file to your local device.", + "lInverterManual": "Download the inverter manual", + "lActivateStringFailureDetection": "Activating String-Failure Detection", + "lStringInput": "String input", + "lDeveloperSettings": "Developer settings", + "tStringFaultDetectionTolerance": "Specify the tolerance limit by which the string current may deviate from the average value of the respective group here.", + "lInverterProductWebsite": "Open the product page of the inverter", + "oUploadAlreadyRunning": "Another file is currently being imported into the inverter.
  • Wait until the import is completed and then try again.
", + "lConnectedImpulseSensor": "Remote terminal connected", + "oChooseInstallCountry": "Select the country where the inverter is installed.", + "hUploadAlreadyRunning": "A file is already being imported", + "lMinimumTwoStringGroupsPerGroup": "At least two string inputs must be selected per group", + "lStringGroup1": "Group 1", + "lStringGroup3": "Group 3", + "lStringGroup2": "Group 2", + "lPasswortSet": "Password set", + "lPasswordVeryUnsave": "Very insecure password", + "headingWizardChangesNotSaved": "Changes not saved", + "hWizardChangesNotSaved": "The changes could not be saved.
Repeat your entries and then try again.", + "oChoosePathFileSave": "Select the desired save location:", + "lBatterySet": "Selectable battery types", + "lBatteryIslandEcm": "Emergency charging of the battery", + "bEmcChrStart": "Emergency charge", + "bQCGNewBat": "New battery configuration", + "bEmcChrStop": "Stop emergency charge", + "hHeaderHelpBatteryIsland": "Island battery configuration", + "hContentHelpIsland": "When selecting a lead-acid battery, you have to enter the nominal capacity of the battery for a ten-hour electric discharge (C10). Refer to the lead-acid battery documentation for the battery capacity in relation to discharge time.", + "lClusterSettingWizardMenu": "System configuration", + "lIslandSettingWizardMenu": "Application", + "lQcgContentNewBattery": "Selecting this button is only necessary when the battery settings are changed or when replacing the battery.
NOTICE
Damage to the battery due to incorrect settings
The battery can be damaged by incorrect settings of the battery type, nominal voltage and capacity parameters.
- Set the correct battery type as well as the correct values for nominal voltage and battery capacity when configuring.
- Ensure that the values recommended by the manufacturer are set for the battery.", + "iErrorEmgCharge": "An error has occurred. Restart the inverter and perform the configuration again.", + "lQcgHeaderNewBattery": "New battery configuration", + "lQcgContentNewSystem": "NOTICE
By starting the new system configuration, important parameters of the inverter are reset to the default settings.", + "lQcgHeaderNewSystem": "New system configuration", + "lQcgHeaderEmgCharge": "Battery emergency charge operation", + "lQcgContentEmgCharge": "In order to start the inverter again after an automatic shutdown, you must charge the battery in emergency charge mode.", + "iErrorNewBattery": "An error has occurred. Restart the inverter and perform the configuration again.", + "iErrorNewSystem": "An error has occurred. Restart the inverter and perform the configuration again.", + "lQcgFinishEmgCharge": "Emergency charging of the battery can be started.", + "lQcgFinishNewSystem": "The system configuration has been completed.", + "lQcgFinishNewBattery": "The battery is newly configured.", + "bStartEmgChargeQCG": "Start the battery emergency charge operation", + "iProcessEmcChargeQcg": "Switching to the battery emergency charge operation", + "bStartSystemQCG": "Start the new system configuration", + "iProcessSystemQcg": "Switching to the new system configuration", + "bStartBatteryQCG": "Start the new battery configuration", + "iProcessBatteryQcg": "Switching to the new battery configuration", + "hIslandSetting": "Select application", + "bQCGNewSys": "New system configuration", + "hIslandSettingsHelpHeader": "Select application", + "hIslandSettingsHelp": "If the inverter is to form a self-sufficient utility grid, select the stand-alone mode and set the nominal voltage and frequency of the utility grid.
If the inverter is used in a storage system for increased self-consumption or in a battery-backup system, select grid operation and set the function of the system.", + "hIslandNewSysHelpHeader": "New system configuration", + "hIslandNewSysHelp": "Selecting this button is only necessary when changing the application or the system structure (e.g. if the Function of the system changes or a single-phase system is extended to a three-phase system).", + "lWarningWaitingNewSys": "QCG dialog", + "hIslandCountryHelpHeader": "Select country standard", + "hIslandCountryHelp": "Select the country data set valid for your application. The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard. The selection of the correct country data set depends on the installation site and the grid-connection standard applicable on-site. Contact your grid operator, if necessary.
Depending on the application, it might be necessary to adjust further device parameters after completion of the installation assistant in order to meet the respective grid connection standard.", + "hHeaderHelpClusterSetting": "System configuration", + "hClusterSettingsHelp": "Select whether the system is single-phase or three-phase and make the necessary settings depending on the system.

Single-phase system
Select the Single-phase type, and in systems with stand-alone mode, set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to three inverters (single cluster)
Select the Three-phase type and the SingleCluster system. Set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to twelve clusters (multi cluster)
Select the Three-phase type and the MultiCluster system and select the cluster type in the multicluster that applies to this inverter. For this, you must select the cluster in which this inverter is contained.", + "lClusterSettingExternSource": "Selection external source", + "lClusterSettingGeneratorCurrent": "Nominal generator current", + "lClusterSettingGridCurrent": "Nominal line current", + "lClusterSettingSysConfig": "System configuration", + "lClusterSettingType": "Cluster type", + "iHeadlineClusterSetting": "System configuration", + "lUsedSlaves": "Devices in the system", + "lClusterSettingSysBoxType": "MultiCluster Box type", + "lClusterSettingMode": "Cluster mode", + "lClusterSettingSysTyp": "Cluster type", + "lClusterSettingExtensionAddress": "Extension cluster address", + "hHeaderHelpClusterUsedSlaves": "Devices in the system", + "hClusterUsedSlavesHelp": "All detected battery inverters of a cluster are displayed here. Assign each device the phase to which it is connected.", + "lMultiClusterState": "Multicluster status", + "lMultiClusterOverview": "Multicluster overview", + "lMultiClusterSoc": "middle SOC:", + "lGidConnectionGenPower": "Generator power", + "lClusterState": "Cluster status", + "hManagementInverterFalcon": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode Act. power lim. via PV system ctrl. Select this mode even if the inverter does not receive the default values via a higher unit. The active power limitation is limited dynamically by the inverter itself at the grid-connection point.

You can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Furthermore, you can select if the inverter disconnects from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not permit the inverter to still feed in a low amount of active power when limited to 0% or 0 W.

If the inverter limits the active power limitation dynamically by itself at the grid-connection point, you must set the Operating mode for absent system control to Values maintained and the Grid disconnection for 0% feeding to No.", + "hTigoMainSetting": "Modular Technology Configuration", + "hTigoTabStatusHeader": "Search for modular technology components", + "bFindAllTigoModuls": "Find and Save", + "lTigoGateway": "Gateway", + "lTigoPortalInfo": "Logging has been started!
One moment please...
When the logging process is completed, the TS4 components are available in Sunny Portal after a waiting time of 10 minutes.", + "lTigoDetailsDevices": "Details", + "lTigoMainSttHeader": "Search for modular technology components", + "iWaitForTigoResults": "Search request", + "lTigoUsedNumberGateways": "Gateways", + "lTextVon": "of", + "lTigoTS4": "TS4", + "lTigoNumberCompoments": "Number of detected components", + "hTigoTabCfgHeader": "String configuration", + "lInverterMppEntry": "Inverter input", + "hTigoTabCfgContent": "Enter the number of strings that are connected to the particular input and enter the number of PV modules as well as the number of the TS4 in the string. Based on this information, the serial numbers of the TS4 in a string can be exactly assigned in the next step.", + "llTigoNumberStringInputs": "Number of strings", + "lTigoTabNameSystem": "System configuration", + "lTigoTabNameCfg": "String configuration", + "lTigoTabNameStatus": "Status", + "lTigoTS4String": "Number of the TS4 in the string", + "hTigoTabStringHeader": "Capturing TS4 serial numbers", + "hTigoTabStringContent": "All captured TS4 that are assigned to the particular input of the inverter are listed on this page. Enter the related serial number for each TS4. You can scan the serial number with the barcode.", + "lMinValidation": "The number of characters of the serial number is too low.", + "lMaxValidation": "The number of characters of the serial number exceeds the maximum number.", + "lChkValidation": "The checksum of the serial number is incorrect.", + "lUniqueValidation": "This serial number already exists. Please check your entry.", + "lMinOptimizerErr": "The number of the entered serial numbers is too low. Please check your entry.", + "lMaxOptimizerErr": "The number of the entered serial numbers exceeds the number of the detected TS4. Please check your entry.", + "lAllOptimizerSet": "OK", + "lBarOptimizerErr": "The entered serial number is incorrect. Please check your entry.", + "lSignValidation": "The serial number is faulty. Please check your entry.", + "lOptimizerDiffErr": "If there are several strings connected to an inverter input, all PV modules must be equipped with modular technology components.", + "lPvOptimizerErr": "The number of the TS4 in the string may not exceed the number of the PV modules in the string.", + "lPvLengthErr": "If there are several strings with a different number of PV modules connected to an inverter input, the difference should be less than 25%.", + "hTigoSystemHeader": "System configuration", + "hTigoSystemContent": "Enter the number of gateways that are in the system. Please note the number of the maximum permissible gateways in a system.", + "lTigoNumberGateways": "Number of gateways", + "lTilesHeadOptimizer": "Modular technology status", + "tOptimizerStatus": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "lTigoWizardMenu": "Modular technology configuration", + "hTigoTabStatusContent": "By clicking on the button Find and Save, you start the search of all modular technology components in the system. The button Perform Gateway test starts the search for the Gateways in the system. Keep in mind that searching for all components may take up to one hour. Make sure that the inverter is in operation during the search. The search runs in the background. You can continue the configuration of the inverter during the search.
When the search has been completed successfully, the message Commissioning status OK appears under the buttons and the number of detected components is displayed. Check the result and make sure that the components are correctly captured. You can find all information on the detected components in the Details.
You can cancel the search at any time to add or delete further components, for example. To do so, click the Cancel search button during the search.", + "bStartTigoTests": "Start Gateway test", + "lTigoParameterChanged": "The parameters of the module technology configuration have not been saved yet.
Click on Find and Save to complete the configuration.", + "lPvStringMaxErr": "The total number of all strings for this inverter is exceeded.", + "lOptimizerMaxErr": "The total number of all TS4 products is exceeded.", + "lTigoSpotValueHeader": "Module Technology", + "hHelpBatteryConfigKite": "Every connected battery is detected automatically.", + "hContentHelpKiteTest": "The battery functional test comprises the tests Charge battery and Discharge battery. The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE! Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
Make sure that each battery power cable is correctly connected to the inverter. Make also sure that only one battery used as DC source is connected to the inverter.
", + "hBatteryNewCfgHelp": "New battery configuration", + "hContentHelpKiteNewCfg": "Selecting this button is only necessary when changing the system (e.g. if a battery needs to be replaced or new one needs to be installed).", + "hHelpBackupConfig": "When using an automatic transfer switch, you must set the operating mode.
With the operating mode Off, the battery-backup operation is not activated automatically in the event of grid failure. The battery-backup operation must be activated manually in this operating mode.
Select the operating mode Automatic to activate the battery-backup operation automatically in the event of grid failure.
The operating mode Force is only used for test purposes. In this operating mode, you can force to switch to battery-backup operation during utility grid supply. This allows you to test the automatic transfer switch function. If the test has been completed successfully, you must select the operating mode Off or Automatic. ", + "hUserInfoPlantManagement": "In the table all available devices in the system are shown.
By clicking on the button Settings, you can select different settings on your requested device.

In the table with the devices found, all devices are shown that have been detected by the inverter. By clicking on the button Settings, you are able to add further devices.
", + "lSupportedModbusMeter": "Supported Modbus energy meters", + "tModbusMeterHelp": "In the table with the supported Modbus energy meters, all supported energy meters are shown. By clicking on the button Search, you can search for energy meters and add them to your system.", + "hTitleEnergyMeter": "Energy meter used", + "hContentEnergyMeter": "Select the energy meter used in the system on this page. After selecting the energy meter, the inverter will detect the serial number and the state of the energy meter automatically.

Select the entry SMA Energy Meter when the inverter is connected to an SMA Energy Meter. After the selection, all available energy meters are shown in a table. Add the requested energy meter to the system by selecting Settings and Use energy meter in the system for the requested energy meter.
Select the entry SMA Revenue Grade Meter when the inverter is equipped with an SMA Revenue Grade Meter Kit (e.g. with inverters of the type SBx.x-1TP-US-40).
Select the entry WattNode Modbus RTU when the inverter is connected to a WattNode Modbus energy meter.
Select the entry SunSpec Modbus RTU when the inverter is connected to an energy meter that communicates with the inverter via SunSpec Modbus RTU protocol.

You must adjust further settings depending on the energy meter.", + "lBackupWizardMenu": "Battery-backup system", + "lTigoSttCommunication": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "lTigoSttCommissioning": "Commissioning is active and not all devices have been detected yet.", + "hBatteryFound": "Identified battery types", + "lSearchModbusMeter": "Search", + "tClickForSearch": "select now and search", + "lBackupCfgHeader": "Configuration detected by the system", + "hOldTitleEnergyMeter": "Configuring the Energy Meter", + "lAnschlussart": "Connection type", + "lComModuleWizardMenu": "RS485 configuration", + "lRS485MainSetting": "RS485 configuration", + "hRS485ProtocolHeader": "RS485 configuration", + "hRS485ProtocolContent": "On this page, you select for which purpose the RS485 interface is used.
Select the entry SMA Data if a RS485 communication bus is connected to the RS485 interface. The inverter is connected to SMA communication products via the RS485 communication bus.
Select the entry Energy Meter if an energy meter is connected to the RS485 interface.
Select the entry Module Technology if the gateway of the TS4 module technology is connected to the RS485 interface.", + "hRS485TerminatorContent": "If your inverter is located at the beginning or at the end of the RS485 communication bus, the terminator must be activated.
If your inverter is located in the middle of the RS485 communication bus, the terminator must not be activated.", + "lRS485ErrorDoubleChoice": "The same purpose has been selected twice. The interfaces may only be used for different purposes.", + "hRS485TerminatorHeader": "Activate Terminator", + "lTimeOfUseStartTime": "Time", + "lTimeOfUseStartDate": "Data range", + "lTimeOfUseModal": "Performance profile", + "lPopOverListProfileCurrent": "Enter the requested name for the performance profile.", + "lTimeOfUseDayMo": "Mon", + "lTimeOfUseDayDi": "Tue", + "lTimeOfUseDayDo": "Thu", + "lTimeOfUseDaySo": "Sun", + "lTimeOfUseDayMi": "Wed", + "lTimeOfUseDayFr": "Fri", + "lTimeOfUseDaySa": "Sa", + "lTimeOfUseDayHd": "Independent of weekdays", + "lTimeOfUseDayCompleteDay": "all-day", + "lTimeOfUseDays": "Selection of weekdays", + "lTimeDomain": "Time range", + "lPlsChrgW": "Purchased power", + "lPlsDschW": "Feed-in power", + "lModeOfCurrentProfile": "Operating mode of the performance profile", + "lPopProfileUp": "Selected performance profile is moved up a position.", + "lPopProfileDown": "Selected performance profile is moved down a position.", + "bProfileNameAdd": "Add to list.", + "lPopProfileRemove": "Delete selected performance profile.", + "lPopProfileDup": "Copy selected performance profile.", + "lNameOfCurrentProfile": "Designation of the performance profile", + "bProfileNameSave": "Save performance profile.", + "lNameOfAllProfiles": "Created performance profiles", + "bProfileNameCopy": "COPY", + "lPopProfileAdd": "Create new performance profile.", + "lTimeOfUseHelpIntro": "On this page, you can create performance profiles for the use of different electricity tariffs. Three operating modes can be chosen from regarding the performance profiles. As a result, you can use cheap electricity and reduce your energy bills.
", + "lPopProfileSave": "The current performance profile is saved temporarily on this page. The data is only transferred when the page is closed by clicking on the \"Save\" button.", + "lPopNoneWeekDay": "When selecting a fixed date regardless of the weekday (e.g. Performance profile shall always apply from 1 May of each year.)", + "lPopOverListProfileNames": "Here you can create and configure a performance profile. In case of several performance profiles, the following applies: The performance profile on the top of the list has priority over the profiles that lie underneath it.", + "lPopMaxDescharge": "Maximum feed-in power at which control specifications are to be implemented.", + "lPopMaxCharge": "Maximum purchased power at which control specifications are to be implemented.", + "lTimeOfUseHelpContent": "Time-controlled power specification (time-of-use)

This operating mode is used to adapt the charging behavior of the battery to its electricity tariff.
You can determine in which time range the battery with a specified charging and discharging power is operated.

Load-controlled power setpoint at the grid-connection point (peak load shaving)

This operating mode is used to optimize the inverter behavior to the power exchange at the grid-connection point. With this operating mode, certain grid-exchange power outputs to which the inverter is adjusted depending on its power and battery capacity available can be set. Thus, feed-in and purchased power peaks can be avoided.

Inactive
This operating mode is used to deactivate a performance profile temporarily.", + "hContentHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery.\" The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "lMultiClusterTotal": "Total capacity:", + "hConfigureCellular": "If you would like to use Cellular, select the option Yes under Cellular.
The cellular connection allows the direct data transmission between the inverter and the internet portal Sunny Portal via the cellular network as an alternative to data transmission via Ethernet or WLAN. The cellular connection only transmits a limited amount of data to Sunny Portal. A local network connection is not absolutely necessary, but it is recommended to be able to view all information regarding the system in Sunny Portal.
Note the term of the mobile data plan. All costs are covered within the term.", + "lCommunicationType_Cellular": "Cellular", + "headlineConfigureCellular": "Configuring Communication via Cellular", + "lCellularIMEI": "IMEI", + "lCellular": "Cellular", + "lCellularName": "Provider", + "bTestStart": "Start test", + "lCommunicationsTest": "Connection test", + "lDashGridIn": "Purchased electricity", + "lDashPvGenerate": "PV generation", + "lDashConsumption": "Total consumption", + "lDashGridOut": "Grid feed-in", + "lDashGrid": "Grid", + "hSafetyRabbitShutDownSetting": "Rapid Shutdown Setting", + "hSafetySettingsHelpHeader": "Configuring the Rapid Shutdown Function", + "hSafetySettingsHelp": "The Rapid Shutdown function of the inverter must be enabled if the PV modules or PV strings are equipped with an additional DC disconnection unit that disconnects the PV array from the inverter.

Select the Off setting if you do not want to use the Rapid Shutdown function.

Select the On setting if an additional DC disconnection unit which is independent of the inverter is installed between the inverter and the PV array that disconnects the PV array..", + "hSafetyTigoSettingsHelp": "Select the TS4 Shutdown setting if the PV array is disconnected via TS4 module technology. With TS4-R-F, SunSpec Shutdown must be selected.", + "hSafetySunspecSettingsHelp": "Select the SunSpec Shutdown setting if the PV array is disconnected via a module switch in accordance with the SunSpec Interoperability Specification.", + "lSafetyFunctionsHeader": "Safety Functions", + "lSafetyFunctionsWizardMenu": "Safety Functions", + "lOnlineHelp": "eManual", + "lSmartView": "Smart Inverter Screen", + "lEnergyBalance": "Energy balance" +} diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sb4.definition.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sb4.definition.json new file mode 100644 index 0000000..808b096 --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sb4.definition.json @@ -0,0 +1,46261 @@ +{ + "6100_00416C00": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 11549, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08419000": { + "Prio": 2, + "TagId": 814, + "TagIdEvtMsg": 10003, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 3409 + ] + }, + "6180_08414D00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11177, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 46 + ] + }, + "6180_08414E00": { + "Prio": 2, + "TagId": 2425, + "TagIdEvtMsg": 11261, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 46 + ] + }, + "6100_40412100": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 11573, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 3222 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_08414B00": { + "Prio": 2, + "TagId": 76, + "TagIdEvtMsg": 10113, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6100_00418000": { + "Prio": 2, + "TagId": 153, + "TagIdEvtMsg": 10109, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00417F00": { + "Prio": 2, + "TagId": 152, + "TagIdEvtMsg": 10027, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08414900": { + "Prio": 2, + "TagId": 297, + "TagIdEvtMsg": 10112, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6180_08414A00": { + "Prio": 2, + "TagId": 335, + "TagIdEvtMsg": 10111, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6180_08414F00": { + "Prio": 2, + "TagId": 2523, + "TagIdEvtMsg": 11319, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6182_08415000": { + "Prio": 2, + "TagId": 2521, + "TagIdEvtMsg": 11320, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6182_08415100": { + "Prio": 2, + "TagId": 2522, + "TagIdEvtMsg": 11321, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6100_00412000": { + "Prio": 2, + "TagId": 35, + "TagIdEvtMsg": 10083, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411E00": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 10081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411F00": { + "Prio": 2, + "TagId": 455, + "TagIdEvtMsg": 10082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6180_08413200": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10487, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 1087 + ] + }, + "6180_08414C00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11176, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 267 + ] + }, + "6180_08413300": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10441, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 1080 + ] + }, + "6180_08412500": { + "Prio": 2, + "TagId": 5341, + "TagIdEvtMsg": 12969, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08413400": { + "Prio": 2, + "TagId": 3822, + "TagIdEvtMsg": 11899, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416500": { + "Prio": 2, + "TagId": 277, + "TagIdEvtMsg": 10115, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6402_00618D00": { + "Prio": 3, + "TagId": 103, + "TagIdEvtMsg": 10013, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6400_00618C00": { + "Prio": 3, + "TagId": 105, + "TagIdEvtMsg": 10009, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_00412300": { + "Prio": 2, + "TagId": 4761, + "TagIdEvtMsg": 12544, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416800": { + "Prio": 2, + "TagId": 2384, + "TagIdEvtMsg": 11241, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08416400": { + "Prio": 2, + "TagId": 238, + "TagIdEvtMsg": 10114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "7280_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412400": { + "Prio": 2, + "TagId": 4762, + "TagIdEvtMsg": 12545, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08419900": { + "Prio": 2, + "TagId": 1700, + "TagIdEvtMsg": 10873, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412F00": { + "Prio": 2, + "TagId": 5392, + "TagIdEvtMsg": 130018, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412C00": { + "Prio": 2, + "TagId": 5389, + "TagIdEvtMsg": 130015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412E00": { + "Prio": 2, + "TagId": 5391, + "TagIdEvtMsg": 130017, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412D00": { + "Prio": 2, + "TagId": 5390, + "TagIdEvtMsg": 130016, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412800": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11040, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412200": { + "Prio": 2, + "TagId": 3699, + "TagIdEvtMsg": 11846, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00416600": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 10028, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416900": { + "Prio": 2, + "TagId": 2385, + "TagIdEvtMsg": 11242, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412B00": { + "Prio": 2, + "TagId": 4572, + "TagIdEvtMsg": 12418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412B00": { + "Prio": 2, + "TagId": 4572, + "TagIdEvtMsg": 12418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Deprecated": true + }, + "6180_08412A00": { + "Prio": 2, + "TagId": 4571, + "TagIdEvtMsg": 12417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412A00": { + "Prio": 2, + "TagId": 4571, + "TagIdEvtMsg": 12417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Deprecated": true + }, + "6100_08412600": { + "Prio": 2, + "TagId": 5393, + "TagIdEvtMsg": 13009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 340, + 5359 + ] + }, + "6100_00412700": { + "Prio": 2, + "TagId": 2350, + "TagIdEvtMsg": 13010, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 340 + ] + }, + "6100_00413000": { + "Prio": 2, + "TagId": 3223, + "TagIdEvtMsg": 13011, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 340 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true + }, + "6100_00413100": { + "Prio": 2, + "TagId": 3224, + "TagIdEvtMsg": 13012, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 340 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true + }, + "6800_08811F00": { + "Prio": 4, + "TagId": 3145, + "TagIdEvtMsg": 11526, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 394 + ] + }, + "6180_08412900": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11533, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 704 + ] + }, + "6800_08813500": { + "Prio": 4, + "TagId": 1438, + "TagIdEvtMsg": 10781, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 1531 + ] + }, + "6800_08813400": { + "Prio": 4, + "TagId": 1534, + "TagIdEvtMsg": 10780, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 1531 + ] + }, + "6800_08813300": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 1531 + ] + }, + "6800_00825200": { + "Prio": 4, + "TagId": 4348, + "TagIdEvtMsg": 12188, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825300": { + "Prio": 4, + "TagId": 4349, + "TagIdEvtMsg": 12189, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825400": { + "Prio": 4, + "TagId": 4350, + "TagIdEvtMsg": 12190, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825500": { + "Prio": 4, + "TagId": 4351, + "TagIdEvtMsg": 12191, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825700": { + "Prio": 4, + "TagId": 4353, + "TagIdEvtMsg": 12193, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825600": { + "Prio": 4, + "TagId": 4352, + "TagIdEvtMsg": 12192, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824E00": { + "Prio": 4, + "TagId": 4344, + "TagIdEvtMsg": 12184, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824F00": { + "Prio": 4, + "TagId": 4345, + "TagIdEvtMsg": 12185, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40825000": { + "Prio": 4, + "TagId": 4346, + "TagIdEvtMsg": 12186, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40825100": { + "Prio": 4, + "TagId": 4347, + "TagIdEvtMsg": 12187, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824B00": { + "Prio": 4, + "TagId": 4341, + "TagIdEvtMsg": 12181, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824A00": { + "Prio": 4, + "TagId": 4340, + "TagIdEvtMsg": 12180, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ], + "Deprecated": true + }, + "6800_40824D00": { + "Prio": 4, + "TagId": 4343, + "TagIdEvtMsg": 12183, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824C00": { + "Prio": 4, + "TagId": 4342, + "TagIdEvtMsg": 12182, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6802_10822F00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10295, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46, + 3802 + ] + }, + "6802_10822E00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 10294, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46, + 3802 + ] + }, + "6802_00822D00": { + "Prio": 4, + "TagId": 2342, + "TagIdEvtMsg": 11200, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46 + ] + }, + "6802_08822C00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 11199, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46 + ] + }, + "6802_00823F00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10745, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 1105 + ] + }, + "6800_00823E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10746, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 1105 + ] + }, + "6800_00823D00": { + "Prio": 4, + "TagId": 4898, + "TagIdEvtMsg": 12707, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 4895 + ] + }, + "6800_00823C00": { + "Prio": 4, + "TagId": 4897, + "TagIdEvtMsg": 12706, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 4895 + ] + }, + "6800_00823B00": { + "Prio": 4, + "TagId": 4896, + "TagIdEvtMsg": 12705, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 4895 + ] + }, + "6802_00A21F00": { + "Prio": 5, + "TagId": 2521, + "TagIdEvtMsg": 11317, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 372 + ] + }, + "6802_00A22000": { + "Prio": 5, + "TagId": 2522, + "TagIdEvtMsg": 11318, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 372 + ] + }, + "6800_00822500": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 11284, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6802_08822200": { + "Prio": 4, + "TagId": 574, + "TagIdEvtMsg": 10280, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822100": { + "Prio": 4, + "TagId": 573, + "TagIdEvtMsg": 10279, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824800": { + "Prio": 4, + "TagId": 3080, + "TagIdEvtMsg": 11486, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6802_00823300": { + "Prio": 4, + "TagId": 533, + "TagIdEvtMsg": 10258, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823800": { + "Prio": 4, + "TagId": 4892, + "TagIdEvtMsg": 12700, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824500": { + "Prio": 4, + "TagId": 3077, + "TagIdEvtMsg": 11483, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00A22100": { + "Prio": 5, + "TagId": 3814, + "TagIdEvtMsg": 10372, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12702, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822900": { + "Prio": 4, + "TagId": 5368, + "TagIdEvtMsg": 13001, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "680E_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A22F00": { + "Prio": 5, + "TagId": 1717, + "TagIdEvtMsg": 10888, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824600": { + "Prio": 4, + "TagId": 3078, + "TagIdEvtMsg": 11484, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08824900": { + "Prio": 4, + "TagId": 3081, + "TagIdEvtMsg": 11487, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823400": { + "Prio": 4, + "TagId": 875, + "TagIdEvtMsg": 10373, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823600": { + "Prio": 4, + "TagId": 1526, + "TagIdEvtMsg": 10678, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822800": { + "Prio": 4, + "TagId": 3811, + "TagIdEvtMsg": 10657, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823500": { + "Prio": 4, + "TagId": 1316, + "TagIdEvtMsg": 10679, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A22200": { + "Prio": 5, + "TagId": 4799, + "TagIdEvtMsg": 12604, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_10A22200": { + "Prio": 5, + "TagId": 4799, + "TagIdEvtMsg": 12604, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A24600": { + "Prio": 5, + "TagId": 882, + "TagIdEvtMsg": 10429, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12701, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824700": { + "Prio": 4, + "TagId": 3079, + "TagIdEvtMsg": 11485, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822B00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 10130, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10822A00": { + "Prio": 4, + "TagId": 4685, + "TagIdEvtMsg": 12483, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A23000": { + "Prio": 5, + "TagId": 3399, + "TagIdEvtMsg": 11641, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08837700": { + "Prio": 4, + "TagId": 724, + "TagIdEvtMsg": 10308, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837800": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": "lDisplayLanguage", + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ], + "ParaInfo": "iDisplayLanguage" + }, + "6800_08837900": { + "Prio": 4, + "TagId": 726, + "TagIdEvtMsg": 10310, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837A00": { + "Prio": 4, + "TagId": 727, + "TagIdEvtMsg": 10311, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837C00": { + "Prio": 4, + "TagId": 729, + "TagIdEvtMsg": 10313, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837B00": { + "Prio": 4, + "TagId": 728, + "TagIdEvtMsg": 10312, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6802_40835800": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 10145, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 44 + ] + }, + "6102_40433600": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10087, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40433700": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 10088, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_40835900": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10269, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ] + }, + "6802_40835A00": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 10146, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 45 + ] + }, + "6102_40433800": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10089, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40433900": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 10090, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_40835B00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10270, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ] + }, + "6102_40633000": { + "Prio": 3, + "TagId": 2449, + "TagIdEvtMsg": 10099, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 48 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6102_40433100": { + "Prio": 2, + "TagId": 2450, + "TagIdEvtMsg": 10100, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 48 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00432800": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 12694, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 1883 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00435A00": { + "Prio": 2, + "TagId": 5233, + "TagIdEvtMsg": 12897, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 5234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00835300": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10136, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 211 + ] + }, + "6802_00835400": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10137, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 212 + ] + }, + "6802_00835200": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10142, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 2489 + ] + }, + "6802_00835500": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10138, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 213 + ] + }, + "6802_00835600": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10139, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 214 + ] + }, + "6802_00835700": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10140, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 215 + ] + }, + "6102_40633E00": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10104, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40633400": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10097, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 422 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08834800": { + "Prio": 4, + "TagId": 216, + "TagIdEvtMsg": 10124, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 58 + ] + }, + "6200_40237700": { + "Prio": 1, + "TagId": 397, + "TagIdEvtMsg": 10067, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6800_08831900": { + "Prio": 4, + "TagId": 4150, + "TagIdEvtMsg": 12044, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 62, + 4065 + ] + }, + "6800_08838100": { + "Prio": 4, + "TagId": 700, + "TagIdEvtMsg": 10290, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6800_08838200": { + "Prio": 4, + "TagId": 701, + "TagIdEvtMsg": 10291, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6800_08838300": { + "Prio": 4, + "TagId": 702, + "TagIdEvtMsg": 10292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6802_08834200": { + "Prio": 4, + "TagId": 823, + "TagIdEvtMsg": 10034, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 266 + ] + }, + "6802_0083FE00": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11855, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_0883FD00": { + "Prio": 4, + "TagId": 3639, + "TagIdEvtMsg": 11854, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_00A33700": { + "Prio": 5, + "TagId": 3806, + "TagIdEvtMsg": 11888, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ], + "Hidden": true + }, + "6802_00A33800": { + "Prio": 5, + "TagId": 3807, + "TagIdEvtMsg": 11889, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ], + "Hidden": true + }, + "6802_0883FC00": { + "Prio": 4, + "TagId": 394, + "TagIdEvtMsg": 11853, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_0883FB00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11852, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_4083BF00": { + "Prio": 4, + "TagId": 1357, + "TagIdEvtMsg": 10705, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083BE00": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 10704, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083BD00": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 10703, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083B900": { + "Prio": 4, + "TagId": 1351, + "TagIdEvtMsg": 10699, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083BA00": { + "Prio": 4, + "TagId": 1352, + "TagIdEvtMsg": 10700, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083BB00": { + "Prio": 4, + "TagId": 1353, + "TagIdEvtMsg": 10701, + "Unit": 1361, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083BC00": { + "Prio": 4, + "TagId": 1354, + "TagIdEvtMsg": 10702, + "Unit": 1362, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C000": { + "Prio": 4, + "TagId": 1422, + "TagIdEvtMsg": 10735, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C500": { + "Prio": 4, + "TagId": 1221, + "TagIdEvtMsg": 10736, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C300": { + "Prio": 4, + "TagId": 1424, + "TagIdEvtMsg": 10738, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C100": { + "Prio": 4, + "TagId": 1423, + "TagIdEvtMsg": 10737, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C200": { + "Prio": 4, + "TagId": 1425, + "TagIdEvtMsg": 10739, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C400": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10740, + "Unit": 33, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083A800": { + "Prio": 4, + "TagId": 2470, + "TagIdEvtMsg": 11276, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2469 + ] + }, + "6802_0083A900": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 11277, + "Unit": 7, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2469 + ] + }, + "6802_4083A600": { + "Prio": 4, + "TagId": 2471, + "TagIdEvtMsg": 11274, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_4083A500": { + "Prio": 4, + "TagId": 2470, + "TagIdEvtMsg": 11273, + "Unit": 2467, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_0083A700": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 11275, + "Unit": 7, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_0083A300": { + "Prio": 4, + "TagId": 1414, + "TagIdEvtMsg": 10741, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6802_0083A200": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 10742, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6802_0883A400": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10743, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6802_00830900": { + "Prio": 4, + "TagId": 5180, + "TagIdEvtMsg": 12877, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6102_00632300": { + "Prio": 3, + "TagId": 3940, + "TagIdEvtMsg": 11931, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00832600": { + "Prio": 4, + "TagId": 2560, + "TagIdEvtMsg": 11367, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6102_00632400": { + "Prio": 3, + "TagId": 3941, + "TagIdEvtMsg": 11932, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08838900": { + "Prio": 4, + "TagId": 3637, + "TagIdEvtMsg": 11851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_0883FF00": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08833200": { + "Prio": 4, + "TagId": 1660, + "TagIdEvtMsg": 10842, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08833D00": { + "Prio": 4, + "TagId": 3480, + "TagIdEvtMsg": 11672, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08A33300": { + "Prio": 5, + "TagId": 3700, + "TagIdEvtMsg": 11847, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08A33D00": { + "Prio": 5, + "TagId": 5320, + "TagIdEvtMsg": 11848, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832700": { + "Prio": 4, + "TagId": 2120, + "TagIdEvtMsg": 11041, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_40831C00": { + "Prio": 4, + "TagId": 4096, + "TagIdEvtMsg": 12030, + "Unit": 4098, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08833F00": { + "Prio": 4, + "TagId": 3549, + "TagIdEvtMsg": 11734, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833500": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 11366, + "Unit": 7, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6800_00831400": { + "Prio": 4, + "TagId": 4320, + "TagIdEvtMsg": 12155, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6800_00831300": { + "Prio": 4, + "TagId": 4329, + "TagIdEvtMsg": 12154, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6182_08434F00": { + "Prio": 2, + "TagId": 3620, + "TagIdEvtMsg": 11832, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833000": { + "Prio": 4, + "TagId": 1063, + "TagIdEvtMsg": 10475, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_4083F700": { + "Prio": 4, + "TagId": 3473, + "TagIdEvtMsg": 11667, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F800": { + "Prio": 4, + "TagId": 3474, + "TagIdEvtMsg": 11668, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F900": { + "Prio": 4, + "TagId": 3475, + "TagIdEvtMsg": 11669, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083FA00": { + "Prio": 4, + "TagId": 3476, + "TagIdEvtMsg": 11670, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6180_08436400": { + "Prio": 2, + "TagId": 2099, + "TagIdEvtMsg": 11033, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6800_08A33A00": { + "Prio": 5, + "TagId": 5162, + "TagIdEvtMsg": 12864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "ParaInfo": "12864t" + }, + "6802_08A33A00": { + "Prio": 5, + "TagId": 5162, + "TagIdEvtMsg": 12864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00833300": { + "Prio": 4, + "TagId": 380, + "TagIdEvtMsg": 10125, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08990800": { + "Prio": 4, + "TagId": 4987, + "TagIdEvtMsg": 12755, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "ParaInfo": "lAfciInfo" + }, + "6402_00435300": { + "Prio": 2, + "TagId": 4988, + "TagIdEvtMsg": 12756, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Sum": true, + "SumD": true + }, + "6802_08990900": { + "Prio": 4, + "TagId": 4989, + "TagIdEvtMsg": 12757, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08838A00": { + "Prio": 4, + "TagId": 3640, + "TagIdEvtMsg": 11856, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832F00": { + "Prio": 4, + "TagId": 1062, + "TagIdEvtMsg": 10474, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832E00": { + "Prio": 4, + "TagId": 1061, + "TagIdEvtMsg": 10473, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6100_40432600": { + "Prio": 2, + "TagId": 4754, + "TagIdEvtMsg": 12542, + "Unit": 4314, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00834600": { + "Prio": 4, + "TagId": 3621, + "TagIdEvtMsg": 11833, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832D00": { + "Prio": 4, + "TagId": 1060, + "TagIdEvtMsg": 10472, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F300": { + "Prio": 4, + "TagId": 3469, + "TagIdEvtMsg": 11663, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F400": { + "Prio": 4, + "TagId": 3470, + "TagIdEvtMsg": 11664, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F500": { + "Prio": 4, + "TagId": 3471, + "TagIdEvtMsg": 11665, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F600": { + "Prio": 4, + "TagId": 3472, + "TagIdEvtMsg": 11666, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832C00": { + "Prio": 4, + "TagId": 1059, + "TagIdEvtMsg": 10471, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_40831500": { + "Prio": 4, + "TagId": 1059, + "TagIdEvtMsg": 10471, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08830F00": { + "Prio": 4, + "TagId": 4550, + "TagIdEvtMsg": 12402, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833400": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 11365, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_40831D00": { + "Prio": 4, + "TagId": 4097, + "TagIdEvtMsg": 12031, + "Unit": 4099, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6100_00435400": { + "Prio": 2, + "TagId": 5052, + "TagIdEvtMsg": 12801, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6100_40432500": { + "Prio": 2, + "TagId": 4753, + "TagIdEvtMsg": 12541, + "Unit": 4314, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00832A00": { + "Prio": 4, + "TagId": 314, + "TagIdEvtMsg": 10121, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832B00": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 10159, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832900": { + "Prio": 4, + "TagId": 566, + "TagIdEvtMsg": 10274, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832800": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_0083F100": { + "Prio": 4, + "TagId": 1786, + "TagIdEvtMsg": 10642, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 290 + ] + }, + "6800_0083F200": { + "Prio": 4, + "TagId": 3575, + "TagIdEvtMsg": 10644, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 290 + ] + }, + "6402_00432100": { + "Prio": 2, + "TagId": 2129, + "TagIdEvtMsg": 10643, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00432200": { + "Prio": 2, + "TagId": 3576, + "TagIdEvtMsg": 10645, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_08834700": { + "Prio": 4, + "TagId": 3642, + "TagIdEvtMsg": 11858, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309, + 3376 + ] + }, + "6800_00233400": { + "Prio": 1, + "TagId": 3716, + "TagIdEvtMsg": 11863, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232B00": { + "Prio": 1, + "TagId": 65, + "TagIdEvtMsg": 11753, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232A00": { + "Prio": 1, + "TagId": 761, + "TagIdEvtMsg": 11752, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232D00": { + "Prio": 1, + "TagId": 763, + "TagIdEvtMsg": 11755, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232C00": { + "Prio": 1, + "TagId": 762, + "TagIdEvtMsg": 11754, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6100_00437B00": { + "Prio": 2, + "TagId": 4920, + "TagIdEvtMsg": 12727, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00431E00": { + "Prio": 2, + "TagId": 4918, + "TagIdEvtMsg": 12725, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 + ], + "Sum": true, + "SumD": true + }, + "6800_00232900": { + "Prio": 1, + "TagId": 331, + "TagIdEvtMsg": 11751, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232800": { + "Prio": 1, + "TagId": 760, + "TagIdEvtMsg": 11750, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6400_00432900": { + "Prio": 2, + "TagId": 4919, + "TagIdEvtMsg": 12726, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 + ], + "Sum": true, + "SumD": true + }, + "6800_00232700": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 11749, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232600": { + "Prio": 1, + "TagId": 759, + "TagIdEvtMsg": 11748, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232500": { + "Prio": 1, + "TagId": 758, + "TagIdEvtMsg": 11747, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00233500": { + "Prio": 1, + "TagId": 437, + "TagIdEvtMsg": 11864, + "Unit": 16, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6802_08830D00": { + "Prio": 4, + "TagId": 4646, + "TagIdEvtMsg": 12443, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 4, + "GridGuard": true, + "TagHier": [ + 832, + 309, + 4279 + ] + }, + "6800_00232200": { + "Prio": 1, + "TagId": 286, + "TagIdEvtMsg": 11743, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233200": { + "Prio": 1, + "TagId": 294, + "TagIdEvtMsg": 11760, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_00233100": { + "Prio": 1, + "TagId": 372, + "TagIdEvtMsg": 11759, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233000": { + "Prio": 1, + "TagId": 440, + "TagIdEvtMsg": 11758, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6802_00833C00": { + "Prio": 4, + "TagId": 1432, + "TagIdEvtMsg": 10750, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 309, + 1430, + 1431 + ] + }, + "6800_08833B00": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10749, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 309, + 1430 + ] + }, + "6800_08830700": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 13003, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 5350 + ] + }, + "6100_00435C00": { + "Prio": 2, + "TagId": 5380, + "TagIdEvtMsg": 13002, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 5350 + ] + }, + "6180_08435D00": { + "Prio": 2, + "TagId": 5379, + "TagIdEvtMsg": 13004, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 5350 + ] + }, + "6800_00832100": { + "Prio": 4, + "TagId": 2562, + "TagIdEvtMsg": 11370, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_08831F00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11368, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_08832200": { + "Prio": 4, + "TagId": 2563, + "TagIdEvtMsg": 11371, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_00832000": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11369, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_08832300": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 10119, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00234D00": { + "Prio": 1, + "TagId": 35, + "TagIdEvtMsg": 11744, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08834500": { + "Prio": 4, + "TagId": 1428, + "TagIdEvtMsg": 10747, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6180_08436800": { + "Prio": 2, + "TagId": 1429, + "TagIdEvtMsg": 10748, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_00830800": { + "Prio": 4, + "TagId": 5334, + "TagIdEvtMsg": 12946, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08832500": { + "Prio": 4, + "TagId": 2530, + "TagIdEvtMsg": 11330, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6180_08432700": { + "Prio": 2, + "TagId": 4763, + "TagIdEvtMsg": 12546, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834400": { + "Prio": 4, + "TagId": 339, + "TagIdEvtMsg": 10116, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232400": { + "Prio": 1, + "TagId": 757, + "TagIdEvtMsg": 11746, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_0083CB00": { + "Prio": 4, + "TagId": 1756, + "TagIdEvtMsg": 10926, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232E00": { + "Prio": 1, + "TagId": 764, + "TagIdEvtMsg": 11756, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232300": { + "Prio": 1, + "TagId": 756, + "TagIdEvtMsg": 11745, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834300": { + "Prio": 4, + "TagId": 3275, + "TagIdEvtMsg": 11600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_00990600": { + "Prio": 4, + "TagId": 4931, + "TagIdEvtMsg": 12728, + "Unit": 4227, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_00990700": { + "Prio": 4, + "TagId": 4932, + "TagIdEvtMsg": 12729, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08837300": { + "Prio": 4, + "TagId": 63, + "TagIdEvtMsg": 10143, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08831E00": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232F00": { + "Prio": 1, + "TagId": 765, + "TagIdEvtMsg": 11757, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6402_00639D00": { + "Prio": 3, + "TagId": 357, + "TagIdEvtMsg": 10434, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_08830A00": { + "Prio": 4, + "TagId": 4709, + "TagIdEvtMsg": 12506, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08838000": { + "Prio": 4, + "TagId": 3614, + "TagIdEvtMsg": 11829, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08837F00": { + "Prio": 4, + "TagId": 3173, + "TagIdEvtMsg": 11828, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6100_40437500": { + "Prio": 2, + "TagId": 4893, + "TagIdEvtMsg": 12703, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40437600": { + "Prio": 2, + "TagId": 4894, + "TagIdEvtMsg": 12704, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08834D00": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10141, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834F00": { + "Prio": 4, + "TagId": 1582, + "TagIdEvtMsg": 10277, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00436200": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 12672, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00439C00": { + "Prio": 2, + "TagId": 3477, + "TagIdEvtMsg": 11671, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00234E00": { + "Prio": 1, + "TagId": 455, + "TagIdEvtMsg": 11761, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08831700": { + "Prio": 4, + "TagId": 4285, + "TagIdEvtMsg": 12145, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08838800": { + "Prio": 4, + "TagId": 1348, + "TagIdEvtMsg": 10697, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08838700": { + "Prio": 4, + "TagId": 877, + "TagIdEvtMsg": 10374, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08990A00": { + "Prio": 4, + "TagId": 5192, + "TagIdEvtMsg": 12885, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08831800": { + "Prio": 4, + "TagId": 4278, + "TagIdEvtMsg": 12134, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08833A00": { + "Prio": 4, + "TagId": 3133, + "TagIdEvtMsg": 11525, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08833900": { + "Prio": 4, + "TagId": 3217, + "TagIdEvtMsg": 11566, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08838B00": { + "Prio": 4, + "TagId": 730, + "TagIdEvtMsg": 10314, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08839000": { + "Prio": 4, + "TagId": 1828, + "TagIdEvtMsg": 10950, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6100_00439700": { + "Prio": 2, + "TagId": 1701, + "TagIdEvtMsg": 10874, + "Unit": 13, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 703 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_10838F00": { + "Prio": 4, + "TagId": 1626, + "TagIdEvtMsg": 10834, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08830E00": { + "Prio": 4, + "TagId": 4645, + "TagIdEvtMsg": 12442, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_40A32100": { + "Prio": 5, + "TagId": 4809, + "TagIdEvtMsg": 12632, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_00A31F00": { + "Prio": 5, + "TagId": 1144, + "TagIdEvtMsg": 10517, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838C00": { + "Prio": 4, + "TagId": 3258, + "TagIdEvtMsg": 11592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "F000_00236D00": { + "Prio": 1, + "TagId": 398, + "TagIdEvtMsg": 10278, + "Unit": 13, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08836F00": { + "Prio": 4, + "TagId": 1058, + "TagIdEvtMsg": 10518, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08836E00": { + "Prio": 4, + "TagId": 731, + "TagIdEvtMsg": 10315, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838E00": { + "Prio": 4, + "TagId": 1638, + "TagIdEvtMsg": 10833, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838D00": { + "Prio": 4, + "TagId": 732, + "TagIdEvtMsg": 10316, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08839500": { + "Prio": 4, + "TagId": 1317, + "TagIdEvtMsg": 10317, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6800_00839600": { + "Prio": 4, + "TagId": 1318, + "TagIdEvtMsg": 10318, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6800_00990300": { + "Prio": 4, + "TagId": 4789, + "TagIdEvtMsg": 12584, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6800_08839700": { + "Prio": 4, + "TagId": 1232, + "TagIdEvtMsg": 10667, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6802_08839800": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10776, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 704 + ] + }, + "6400_00638A00": { + "Prio": 3, + "TagId": 1501, + "TagIdEvtMsg": 10771, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ], + "Sum": true, + "SumD": true + }, + "6800_00839900": { + "Prio": 4, + "TagId": 1561, + "TagIdEvtMsg": 10787, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ] + }, + "6100_00638900": { + "Prio": 3, + "TagId": 1502, + "TagIdEvtMsg": 10772, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ], + "Min": true, + "Max": true, + "MinD": true, + "MaxD": true + }, + "6800_08835800": { + "Prio": 4, + "TagId": 754, + "TagIdEvtMsg": 10361, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 711 + ] + }, + "6800_08835700": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10360, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 711 + ] + }, + "6802_08835100": { + "Prio": 4, + "TagId": 3494, + "TagIdEvtMsg": 11684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1234 + ] + }, + "6802_00831A00": { + "Prio": 4, + "TagId": 4152, + "TagIdEvtMsg": 12050, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1340, + 2638 + ] + }, + "6802_00831B00": { + "Prio": 4, + "TagId": 4153, + "TagIdEvtMsg": 12051, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1340, + 2638 + ] + }, + "6800_0083AF00": { + "Prio": 4, + "TagId": 1345, + "TagIdEvtMsg": 10707, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1359 + ] + }, + "6800_0083B000": { + "Prio": 4, + "TagId": 1360, + "TagIdEvtMsg": 10708, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1359 + ] + }, + "6800_0883AE00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10698, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1349 + ] + }, + "6800_0083AC00": { + "Prio": 4, + "TagId": 1345, + "TagIdEvtMsg": 10695, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1343 + ] + }, + "6800_0083AD00": { + "Prio": 4, + "TagId": 1346, + "TagIdEvtMsg": 10696, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1343 + ] + }, + "6800_0083AB00": { + "Prio": 4, + "TagId": 1344, + "TagIdEvtMsg": 10694, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1343 + ] + }, + "6800_0883B300": { + "Prio": 4, + "TagId": 2606, + "TagIdEvtMsg": 11427, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 2604 + ] + }, + "6800_0083B200": { + "Prio": 4, + "TagId": 2605, + "TagIdEvtMsg": 11426, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 2604 + ] + }, + "6800_0083B100": { + "Prio": 4, + "TagId": 2657, + "TagIdEvtMsg": 11425, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 2604 + ] + }, + "6802_4083C600": { + "Prio": 4, + "TagId": 2607, + "TagIdEvtMsg": 11430, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_0883AA00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10693, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_0883B500": { + "Prio": 4, + "TagId": 3097, + "TagIdEvtMsg": 11428, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_0883B600": { + "Prio": 4, + "TagId": 3098, + "TagIdEvtMsg": 11429, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08636900": { + "Prio": 3, + "TagId": 50, + "TagIdEvtMsg": 10917, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436C00": { + "Prio": 2, + "TagId": 3985, + "TagIdEvtMsg": 11974, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436A00": { + "Prio": 2, + "TagId": 3099, + "TagIdEvtMsg": 11431, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436B00": { + "Prio": 2, + "TagId": 3100, + "TagIdEvtMsg": 11432, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_40833700": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 10763, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6802_08831200": { + "Prio": 4, + "TagId": 2531, + "TagIdEvtMsg": 12292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6800_08833600": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10762, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6800_08833800": { + "Prio": 4, + "TagId": 1766, + "TagIdEvtMsg": 10939, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6182_08437100": { + "Prio": 2, + "TagId": 4178, + "TagIdEvtMsg": 12062, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1463 + ] + }, + "6182_08437000": { + "Prio": 2, + "TagId": 4177, + "TagIdEvtMsg": 12061, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1463 + ] + }, + "6800_0083D700": { + "Prio": 4, + "TagId": 2667, + "TagIdEvtMsg": 11436, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531, + 1537 + ] + }, + "6800_4083D500": { + "Prio": 4, + "TagId": 2665, + "TagIdEvtMsg": 11434, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531, + 1537 + ] + }, + "6800_0083D600": { + "Prio": 4, + "TagId": 2666, + "TagIdEvtMsg": 11435, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531, + 1537 + ] + }, + "6800_0883D200": { + "Prio": 4, + "TagId": 1532, + "TagIdEvtMsg": 10777, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531 + ] + }, + "6800_0883D300": { + "Prio": 4, + "TagId": 1533, + "TagIdEvtMsg": 10778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531 + ] + }, + "6800_0883D400": { + "Prio": 4, + "TagId": 1537, + "TagIdEvtMsg": 10783, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531 + ] + }, + "6800_0883D800": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_0083C700": { + "Prio": 4, + "TagId": 3063, + "TagIdEvtMsg": 11623, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_00839100": { + "Prio": 4, + "TagId": 3486, + "TagIdEvtMsg": 11679, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_0083C900": { + "Prio": 4, + "TagId": 3064, + "TagIdEvtMsg": 11625, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_00839300": { + "Prio": 4, + "TagId": 3487, + "TagIdEvtMsg": 11681, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_4083C800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11624, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_40839200": { + "Prio": 4, + "TagId": 3488, + "TagIdEvtMsg": 11680, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_4083CA00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11626, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_40839400": { + "Prio": 4, + "TagId": 3489, + "TagIdEvtMsg": 11682, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6100_0043AF00": { + "Prio": 2, + "TagId": 3067, + "TagIdEvtMsg": 11472, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639, + 3065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0883CC00": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11467, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_0083CE00": { + "Prio": 4, + "TagId": 3063, + "TagIdEvtMsg": 11469, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_0083D000": { + "Prio": 4, + "TagId": 3064, + "TagIdEvtMsg": 11471, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_4083CD00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11468, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_4083CF00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11470, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6802_08A33B00": { + "Prio": 5, + "TagId": 1690, + "TagIdEvtMsg": 12856, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 2608 + ], + "ParaInfo": "12856t" + }, + "6800_0883D100": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11473, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3066 + ] + }, + "6180_0843B000": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11474, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639, + 3066 + ] + }, + "6800_0883D900": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11700, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3512 + ] + }, + "6100_4043A700": { + "Prio": 2, + "TagId": 1642, + "TagIdEvtMsg": 10837, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043A800": { + "Prio": 2, + "TagId": 1643, + "TagIdEvtMsg": 10838, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043A900": { + "Prio": 2, + "TagId": 1644, + "TagIdEvtMsg": 10839, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AB00": { + "Prio": 2, + "TagId": 1856, + "TagIdEvtMsg": 10954, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AA00": { + "Prio": 2, + "TagId": 1645, + "TagIdEvtMsg": 10840, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AC00": { + "Prio": 2, + "TagId": 1857, + "TagIdEvtMsg": 10955, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AD00": { + "Prio": 2, + "TagId": 1858, + "TagIdEvtMsg": 10956, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AE00": { + "Prio": 2, + "TagId": 1859, + "TagIdEvtMsg": 10957, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_1043A500": { + "Prio": 2, + "TagId": 1640, + "TagIdEvtMsg": 10835, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_1043A600": { + "Prio": 2, + "TagId": 1641, + "TagIdEvtMsg": 10836, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_0843A300": { + "Prio": 2, + "TagId": 2053, + "TagIdEvtMsg": 11029, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_0843A400": { + "Prio": 2, + "TagId": 2054, + "TagIdEvtMsg": 11030, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6800_00831000": { + "Prio": 4, + "TagId": 3066, + "TagIdEvtMsg": 210026, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6A02_00831000": { + "Prio": 4, + "TagId": 3066, + "TagIdEvtMsg": 210026, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639 + ] + }, + "6802_08834100": { + "Prio": 4, + "TagId": 1821, + "TagIdEvtMsg": 10944, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1735 + ] + }, + "6800_08838400": { + "Prio": 4, + "TagId": 2561, + "TagIdEvtMsg": 10520, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6800_00238500": { + "Prio": 1, + "TagId": 3569, + "TagIdEvtMsg": 10521, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ], + "Deprecated": true + }, + "6800_00838500": { + "Prio": 4, + "TagId": 3569, + "TagIdEvtMsg": 10521, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6802_0883DA00": { + "Prio": 4, + "TagId": 1882, + "TagIdEvtMsg": 10964, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6802_08A33600": { + "Prio": 5, + "TagId": 1881, + "TagIdEvtMsg": 10963, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6800_00238600": { + "Prio": 1, + "TagId": 3570, + "TagIdEvtMsg": 10522, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ], + "Deprecated": true + }, + "6800_00838600": { + "Prio": 4, + "TagId": 3570, + "TagIdEvtMsg": 10522, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6802_0883EE00": { + "Prio": 4, + "TagId": 3376, + "TagIdEvtMsg": 11638, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 2003, + 3377 + ] + }, + "6802_0083F000": { + "Prio": 4, + "TagId": 1588, + "TagIdEvtMsg": 11640, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 3377 + ] + }, + "6802_0083EF00": { + "Prio": 4, + "TagId": 2245, + "TagIdEvtMsg": 11639, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 3377 + ] + }, + "6802_4083DB00": { + "Prio": 4, + "TagId": 2246, + "TagIdEvtMsg": 11123, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DC00": { + "Prio": 4, + "TagId": 2247, + "TagIdEvtMsg": 11124, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DD00": { + "Prio": 4, + "TagId": 2248, + "TagIdEvtMsg": 11125, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DE00": { + "Prio": 4, + "TagId": 2249, + "TagIdEvtMsg": 11126, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DF00": { + "Prio": 4, + "TagId": 2250, + "TagIdEvtMsg": 11127, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E000": { + "Prio": 4, + "TagId": 2251, + "TagIdEvtMsg": 11128, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E100": { + "Prio": 4, + "TagId": 2252, + "TagIdEvtMsg": 11129, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E200": { + "Prio": 4, + "TagId": 2253, + "TagIdEvtMsg": 11130, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E300": { + "Prio": 4, + "TagId": 2254, + "TagIdEvtMsg": 11131, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E400": { + "Prio": 4, + "TagId": 2255, + "TagIdEvtMsg": 11132, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E500": { + "Prio": 4, + "TagId": 2256, + "TagIdEvtMsg": 11133, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E600": { + "Prio": 4, + "TagId": 2257, + "TagIdEvtMsg": 11134, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E700": { + "Prio": 4, + "TagId": 2258, + "TagIdEvtMsg": 11135, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E800": { + "Prio": 4, + "TagId": 2259, + "TagIdEvtMsg": 11136, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E900": { + "Prio": 4, + "TagId": 2260, + "TagIdEvtMsg": 11137, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083EA00": { + "Prio": 4, + "TagId": 2261, + "TagIdEvtMsg": 11138, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_0083EB00": { + "Prio": 4, + "TagId": 2262, + "TagIdEvtMsg": 11139, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_4083EC00": { + "Prio": 4, + "TagId": 2263, + "TagIdEvtMsg": 11140, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_0083ED00": { + "Prio": 4, + "TagId": 2264, + "TagIdEvtMsg": 11141, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_08830C00": { + "Prio": 4, + "TagId": 4657, + "TagIdEvtMsg": 12452, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_00839C00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11295, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 2498 + ] + }, + "6802_00830B00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12486, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 4686, + 4687 + ] + }, + "6802_0083A000": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11662, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3432 + ] + }, + "6802_00839B00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11553, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3200 + ] + }, + "6802_00839A00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11554, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3201 + ] + }, + "6802_00839F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11620, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3328 + ] + }, + "6802_00839D00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11296, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 2499 + ] + }, + "6802_00839E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11543, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3197 + ] + }, + "6802_00837500": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11449, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00837400": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11451, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836E00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11421, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00990000": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12596, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836B00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11453, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00990500": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12597, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836D00": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11420, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600 + ] + }, + "6802_00836C00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11419, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600 + ] + }, + "6802_00837E00": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11450, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837D00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11452, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837100": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11424, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00990200": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12598, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837200": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11454, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00990100": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12599, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837000": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11423, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601 + ] + }, + "6802_00836F00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11422, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601 + ] + }, + "6182_08434C00": { + "Prio": 2, + "TagId": 310, + "TagIdEvtMsg": 11433, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 2608 + ] + }, + "6800_00A32000": { + "Prio": 5, + "TagId": 2555, + "TagIdEvtMsg": 12624, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 4715, + 4717 + ] + }, + "6180_08435200": { + "Prio": 2, + "TagId": 4949, + "TagIdEvtMsg": 12736, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 4715 + ] + }, + "6802_08990400": { + "Prio": 4, + "TagId": 4794, + "TagIdEvtMsg": 12600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 4715 + ] + }, + "680E_08841F00": { + "Prio": 4, + "TagId": 5105, + "TagIdEvtMsg": 12829, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "680E_08841E00": { + "Prio": 4, + "TagId": 5104, + "TagIdEvtMsg": 12828, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6800_00842400": { + "Prio": 4, + "TagId": 5107, + "TagIdEvtMsg": 12831, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6800_08842300": { + "Prio": 4, + "TagId": 5106, + "TagIdEvtMsg": 12830, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6802_08842200": { + "Prio": 4, + "TagId": 4544, + "TagIdEvtMsg": 12400, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 833, + 584 + ] + }, + "6802_10841F00": { + "Prio": 4, + "TagId": 592, + "TagIdEvtMsg": 10285, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6800_10841E00": { + "Prio": 4, + "TagId": 591, + "TagIdEvtMsg": 10284, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6102_00455000": { + "Prio": 2, + "TagId": 272, + "TagIdEvtMsg": 11547, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6322_00854D00": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 10247, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 57 + ] + }, + "6802_00855D00": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 10610, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 1201 + ], + "ParaInfo": "iSmaShadeFix" + }, + "6800_08855C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10612, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_00853400": { + "Prio": 4, + "TagId": 4157, + "TagIdEvtMsg": 12053, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10853700": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12076, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_08853100": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12047, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10852400": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12016, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10853200": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12048, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_08853000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12046, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_40852200": { + "Prio": 4, + "TagId": 752, + "TagIdEvtMsg": 12014, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_10852100": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12013, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_00852300": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12015, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_10853600": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12075, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852500": { + "Prio": 4, + "TagId": 4068, + "TagIdEvtMsg": 12017, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_08852800": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12020, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852600": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12018, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10853300": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12049, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852900": { + "Prio": 4, + "TagId": 4068, + "TagIdEvtMsg": 12019, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_00852E00": { + "Prio": 4, + "TagId": 4148, + "TagIdEvtMsg": 12042, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_08852700": { + "Prio": 4, + "TagId": 4069, + "TagIdEvtMsg": 12041, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_00852F00": { + "Prio": 4, + "TagId": 4149, + "TagIdEvtMsg": 12043, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6802_00856400": { + "Prio": 4, + "TagId": 3209, + "TagIdEvtMsg": 11558, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 3208 + ] + }, + "6802_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851F00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 10241, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851F00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 10241, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00853500": { + "Prio": 4, + "TagId": 444, + "TagIdEvtMsg": 10243, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6180_08653A00": { + "Prio": 3, + "TagId": 4151, + "TagIdEvtMsg": 12045, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ] + }, + "6100_00653200": { + "Prio": 3, + "TagId": 4205, + "TagIdEvtMsg": 12079, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6100_00653100": { + "Prio": 3, + "TagId": 4204, + "TagIdEvtMsg": 12078, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6200_40652900": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 12022, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652900": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 12022, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_00652C00": { + "Prio": 3, + "TagId": 3314, + "TagIdEvtMsg": 12025, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_00652C00": { + "Prio": 3, + "TagId": 3314, + "TagIdEvtMsg": 12025, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652B00": { + "Prio": 3, + "TagId": 395, + "TagIdEvtMsg": 12024, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652B00": { + "Prio": 3, + "TagId": 395, + "TagIdEvtMsg": 12024, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652800": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 12021, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652800": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 12021, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652A00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 12023, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6100_40652A00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 12023, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6200_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7250_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73D0_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6180_00656A00": { + "Prio": 3, + "TagId": 1819, + "TagIdEvtMsg": 10942, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40456800": { + "Prio": 2, + "TagId": 39, + "TagIdEvtMsg": 10221, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08656900": { + "Prio": 3, + "TagId": 1703, + "TagIdEvtMsg": 10877, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6400_00453300": { + "Prio": 2, + "TagId": 4812, + "TagIdEvtMsg": 12635, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00456B00": { + "Prio": 2, + "TagId": 5125, + "TagIdEvtMsg": 12834, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456C00": { + "Prio": 2, + "TagId": 5126, + "TagIdEvtMsg": 12835, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456D00": { + "Prio": 2, + "TagId": 5127, + "TagIdEvtMsg": 12836, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456E00": { + "Prio": 2, + "TagId": 5128, + "TagIdEvtMsg": 12837, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456F00": { + "Prio": 2, + "TagId": 5129, + "TagIdEvtMsg": 12838, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457000": { + "Prio": 2, + "TagId": 5130, + "TagIdEvtMsg": 12839, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457100": { + "Prio": 2, + "TagId": 5131, + "TagIdEvtMsg": 12840, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457200": { + "Prio": 2, + "TagId": 5132, + "TagIdEvtMsg": 12841, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457300": { + "Prio": 2, + "TagId": 5133, + "TagIdEvtMsg": 12842, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457400": { + "Prio": 2, + "TagId": 5134, + "TagIdEvtMsg": 12843, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457500": { + "Prio": 2, + "TagId": 5135, + "TagIdEvtMsg": 12844, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457600": { + "Prio": 2, + "TagId": 5136, + "TagIdEvtMsg": 12845, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457700": { + "Prio": 2, + "TagId": 5137, + "TagIdEvtMsg": 12846, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457800": { + "Prio": 2, + "TagId": 5138, + "TagIdEvtMsg": 12847, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457900": { + "Prio": 2, + "TagId": 5139, + "TagIdEvtMsg": 12848, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457A00": { + "Prio": 2, + "TagId": 5140, + "TagIdEvtMsg": 12849, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6800_00854000": { + "Prio": 4, + "TagId": 4814, + "TagIdEvtMsg": 12637, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 834, + 67 + ] + }, + "6200_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70D0_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "7240_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73C0_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40456700": { + "Prio": 2, + "TagId": 446, + "TagIdEvtMsg": 10222, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6300_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6310_40651E00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "7230_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73B0_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40256600": { + "Prio": 1, + "TagId": 451, + "TagIdEvtMsg": 10223, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00455100": { + "Prio": 2, + "TagId": 272, + "TagIdEvtMsg": 11548, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6202_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7270_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ] + }, + "6200_40458A00": { + "Prio": 2, + "TagId": 219, + "TagIdEvtMsg": 10051, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7260_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ] + }, + "6200_40458B00": { + "Prio": 2, + "TagId": 274, + "TagIdEvtMsg": 10052, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00455B00": { + "Prio": 2, + "TagId": 1427, + "TagIdEvtMsg": 10744, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6400_00652700": { + "Prio": 3, + "TagId": 1739, + "TagIdEvtMsg": 12029, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 4067 + ], + "Sum": true, + "Hidden": true, + "SumD": true + }, + "6202_00454A00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11329, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00454A00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11329, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00454C00": { + "Prio": 2, + "TagId": 2528, + "TagIdEvtMsg": 11327, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6202_40652300": { + "Prio": 3, + "TagId": 3866, + "TagIdEvtMsg": 11909, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ] + }, + "6102_40652300": { + "Prio": 3, + "TagId": 3866, + "TagIdEvtMsg": 11909, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ] + }, + "6400_00454B00": { + "Prio": 2, + "TagId": 2527, + "TagIdEvtMsg": 11326, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6402_00454D00": { + "Prio": 2, + "TagId": 2526, + "TagIdEvtMsg": 11325, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6200_00452200": { + "Prio": 2, + "TagId": 2529, + "TagIdEvtMsg": 11328, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00452200": { + "Prio": 2, + "TagId": 2529, + "TagIdEvtMsg": 11328, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_08654900": { + "Prio": 3, + "TagId": 297, + "TagIdEvtMsg": 10876, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 1702, + 888 + ] + }, + "6180_08654800": { + "Prio": 3, + "TagId": 50, + "TagIdEvtMsg": 10875, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 1702 + ] + }, + "6800_08A51E00": { + "Prio": 5, + "TagId": 4955, + "TagIdEvtMsg": 12737, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 309, + 4956 + ], + "Hidden": true + }, + "6180_08652600": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12028, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4066 + ], + "Hidden": true + }, + "6180_08652500": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12027, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4065 + ], + "Hidden": true + }, + "6180_08652400": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12026, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4067 + ], + "Hidden": true + }, + "6802_08857000": { + "Prio": 4, + "TagId": 3622, + "TagIdEvtMsg": 11834, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857100": { + "Prio": 4, + "TagId": 3623, + "TagIdEvtMsg": 11835, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_08857400": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10437, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6100_0065A800": { + "Prio": 3, + "TagId": 1489, + "TagIdEvtMsg": 10765, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 892 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08857200": { + "Prio": 4, + "TagId": 3624, + "TagIdEvtMsg": 11836, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857500": { + "Prio": 4, + "TagId": 3495, + "TagIdEvtMsg": 11685, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_08857300": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10436, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00853F00": { + "Prio": 4, + "TagId": 4811, + "TagIdEvtMsg": 12634, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857600": { + "Prio": 4, + "TagId": 3496, + "TagIdEvtMsg": 11686, + "Unit": 34, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6402_00654700": { + "Prio": 3, + "TagId": 382, + "TagIdEvtMsg": 10673, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_40459000": { + "Prio": 2, + "TagId": 815, + "TagIdEvtMsg": 10004, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08854300": { + "Prio": 4, + "TagId": 5144, + "TagIdEvtMsg": 12851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309 + ] + }, + "6800_08852C00": { + "Prio": 4, + "TagId": 4147, + "TagIdEvtMsg": 12040, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309 + ], + "SortTranslation": false + }, + "6800_08853A00": { + "Prio": 4, + "TagId": 4268, + "TagIdEvtMsg": 12130, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 309 + ] + }, + "6800_00852A00": { + "Prio": 4, + "TagId": 2134, + "TagIdEvtMsg": 11043, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 340 + ] + }, + "6802_08852B00": { + "Prio": 4, + "TagId": 2557, + "TagIdEvtMsg": 11362, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 394 + ] + }, + "6102_00452F00": { + "Prio": 2, + "TagId": 3206, + "TagIdEvtMsg": 11556, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00453000": { + "Prio": 2, + "TagId": 3207, + "TagIdEvtMsg": 11557, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00452E00": { + "Prio": 2, + "TagId": 3205, + "TagIdEvtMsg": 11555, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00857F00": { + "Prio": 4, + "TagId": 3210, + "TagIdEvtMsg": 11559, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858100": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 11561, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858000": { + "Prio": 4, + "TagId": 3211, + "TagIdEvtMsg": 11560, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858200": { + "Prio": 4, + "TagId": 3212, + "TagIdEvtMsg": 11562, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6180_0865A600": { + "Prio": 3, + "TagId": 1490, + "TagIdEvtMsg": 10766, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234 + ] + }, + "6180_0865A700": { + "Prio": 3, + "TagId": 1491, + "TagIdEvtMsg": 10767, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234 + ] + }, + "6802_00A52100": { + "Prio": 5, + "TagId": 5245, + "TagIdEvtMsg": 12902, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_00A52400": { + "Prio": 5, + "TagId": 5259, + "TagIdEvtMsg": 12919, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A52200": { + "Prio": 5, + "TagId": 5246, + "TagIdEvtMsg": 12903, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A51F00": { + "Prio": 5, + "TagId": 5243, + "TagIdEvtMsg": 12900, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A52300": { + "Prio": 5, + "TagId": 5247, + "TagIdEvtMsg": 12904, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A52000": { + "Prio": 5, + "TagId": 5244, + "TagIdEvtMsg": 12901, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6180_08452D00": { + "Prio": 2, + "TagId": 4816, + "TagIdEvtMsg": 12638, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 4821 + ] + }, + "6100_00572A00": { + "Prio": 2, + "TagId": 2359, + "TagIdEvtMsg": 12561, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 46, + 1072 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572900": { + "Prio": 2, + "TagId": 2357, + "TagIdEvtMsg": 12560, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 46, + 1079 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7220_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ] + }, + "6200_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10064, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40468400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10065, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40468500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10066, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70A0_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "7210_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464B00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 10788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464B00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 10788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70B0_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464C00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11031, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464C00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11031, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70C0_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464D00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11032, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464D00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11032, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467B00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10054, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467E00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 11093, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467C00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10055, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467F00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11094, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467D00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10056, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468000": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11095, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40572000": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12498, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 413 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40571F00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210016, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40571F00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210016, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40666800": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10048, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666800": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10048, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666900": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10049, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666900": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10049, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666A00": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10050, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666A00": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10050, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666000": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10044, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666000": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10044, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666100": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10045, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666100": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10045, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666200": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10046, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666200": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10046, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10031, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10031, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10032, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10032, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10033, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10033, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00468D00": { + "Prio": 2, + "TagId": 3218, + "TagIdEvtMsg": 11567, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00467000": { + "Prio": 2, + "TagId": 580, + "TagIdEvtMsg": 10731, + "Unit": 1282, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00867300": { + "Prio": 4, + "TagId": 1419, + "TagIdEvtMsg": 10732, + "Unit": 1290, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 230 + ] + }, + "6180_08467200": { + "Prio": 2, + "TagId": 1420, + "TagIdEvtMsg": 10733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6800_08867200": { + "Prio": 4, + "TagId": 1420, + "TagIdEvtMsg": 10733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "70E0_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_40468B00": { + "Prio": 2, + "TagId": 259, + "TagIdEvtMsg": 10057, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00667100": { + "Prio": 3, + "TagId": 1421, + "TagIdEvtMsg": 10734, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6200_00664F00": { + "Prio": 3, + "TagId": 406, + "TagIdEvtMsg": 10038, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00664F00": { + "Prio": 3, + "TagId": 406, + "TagIdEvtMsg": 10038, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468200": { + "Prio": 2, + "TagId": 407, + "TagIdEvtMsg": 10063, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_00665800": { + "Prio": 3, + "TagId": 1327, + "TagIdEvtMsg": 10686, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665800": { + "Prio": 3, + "TagId": 1327, + "TagIdEvtMsg": 10686, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40665B00": { + "Prio": 3, + "TagId": 3497, + "TagIdEvtMsg": 11687, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_40665B00": { + "Prio": 3, + "TagId": 3497, + "TagIdEvtMsg": 11687, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6180_08465A00": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 10711, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40467600": { + "Prio": 2, + "TagId": 1104, + "TagIdEvtMsg": 10488, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6200_40265F00": { + "Prio": 1, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_40265F00": { + "Prio": 1, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40668C00": { + "Prio": 3, + "TagId": 414, + "TagIdEvtMsg": 10061, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Cnt": true + }, + "6200_40669600": { + "Prio": 3, + "TagId": 415, + "TagIdEvtMsg": 10062, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Cnt": true + }, + "6200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "7200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_40267500": { + "Prio": 1, + "TagId": 419, + "TagIdEvtMsg": 10058, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40669500": { + "Prio": 3, + "TagId": 420, + "TagIdEvtMsg": 10060, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40669400": { + "Prio": 3, + "TagId": 421, + "TagIdEvtMsg": 10059, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40467A00": { + "Prio": 2, + "TagId": 446, + "TagIdEvtMsg": 10053, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08A61E00": { + "Prio": 5, + "TagId": 3808, + "TagIdEvtMsg": 11890, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 3638 + ] + }, + "6802_08A61F00": { + "Prio": 5, + "TagId": 3809, + "TagIdEvtMsg": 11891, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 3638 + ] + }, + "6802_00864100": { + "Prio": 4, + "TagId": 255, + "TagIdEvtMsg": 10166, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 304 + ] + }, + "6802_00864000": { + "Prio": 4, + "TagId": 256, + "TagIdEvtMsg": 10165, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 304 + ] + }, + "6802_08867200": { + "Prio": 4, + "TagId": 4545, + "TagIdEvtMsg": 12262, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_00865F00": { + "Prio": 4, + "TagId": 1205, + "TagIdEvtMsg": 10660, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_08867800": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12398, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_40866000": { + "Prio": 4, + "TagId": 1226, + "TagIdEvtMsg": 10662, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ], + "Deprecated": true + }, + "6802_0886A800": { + "Prio": 4, + "TagId": 5238, + "TagIdEvtMsg": 12898, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_40862000": { + "Prio": 4, + "TagId": 3805, + "TagIdEvtMsg": 11900, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_08861E00": { + "Prio": 4, + "TagId": 312, + "TagIdEvtMsg": 10164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866100": { + "Prio": 4, + "TagId": 4367, + "TagIdEvtMsg": 12208, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866200": { + "Prio": 4, + "TagId": 4368, + "TagIdEvtMsg": 12209, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866300": { + "Prio": 4, + "TagId": 4369, + "TagIdEvtMsg": 12210, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866400": { + "Prio": 4, + "TagId": 4370, + "TagIdEvtMsg": 12211, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6102_40467400": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11546, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_40467300": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11545, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00866D00": { + "Prio": 4, + "TagId": 4358, + "TagIdEvtMsg": 12199, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_0086A700": { + "Prio": 4, + "TagId": 5232, + "TagIdEvtMsg": 12896, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866900": { + "Prio": 4, + "TagId": 4357, + "TagIdEvtMsg": 12198, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_0086A600": { + "Prio": 4, + "TagId": 5231, + "TagIdEvtMsg": 12895, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866E00": { + "Prio": 4, + "TagId": 4359, + "TagIdEvtMsg": 12200, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866F00": { + "Prio": 4, + "TagId": 4360, + "TagIdEvtMsg": 12201, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867000": { + "Prio": 4, + "TagId": 4361, + "TagIdEvtMsg": 12202, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867100": { + "Prio": 4, + "TagId": 4362, + "TagIdEvtMsg": 12203, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867400": { + "Prio": 4, + "TagId": 4363, + "TagIdEvtMsg": 12204, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867500": { + "Prio": 4, + "TagId": 4364, + "TagIdEvtMsg": 12205, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867600": { + "Prio": 4, + "TagId": 4365, + "TagIdEvtMsg": 12206, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867700": { + "Prio": 4, + "TagId": 4366, + "TagIdEvtMsg": 12207, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866600": { + "Prio": 4, + "TagId": 3676, + "TagIdEvtMsg": 12195, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866500": { + "Prio": 4, + "TagId": 4354, + "TagIdEvtMsg": 12194, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_0086A900": { + "Prio": 4, + "TagId": 5264, + "TagIdEvtMsg": 12920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866800": { + "Prio": 4, + "TagId": 4356, + "TagIdEvtMsg": 12197, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866700": { + "Prio": 4, + "TagId": 4355, + "TagIdEvtMsg": 12196, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6800_08868D00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 10792, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6800_08868E00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 10793, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6800_08868F00": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 10850, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6400_0046DD00": { + "Prio": 2, + "TagId": 3225, + "TagIdEvtMsg": 11576, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E100": { + "Prio": 2, + "TagId": 3229, + "TagIdEvtMsg": 11580, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DF00": { + "Prio": 2, + "TagId": 3227, + "TagIdEvtMsg": 11578, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E300": { + "Prio": 2, + "TagId": 3231, + "TagIdEvtMsg": 11582, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DE00": { + "Prio": 2, + "TagId": 3226, + "TagIdEvtMsg": 11577, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E200": { + "Prio": 2, + "TagId": 3230, + "TagIdEvtMsg": 11581, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E000": { + "Prio": 2, + "TagId": 3228, + "TagIdEvtMsg": 11579, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E400": { + "Prio": 2, + "TagId": 3232, + "TagIdEvtMsg": 11583, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6100_4046A200": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11570, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046A300": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 11584, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046A400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 11585, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6100_4046A100": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11569, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046A000": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11568, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046D900": { + "Prio": 2, + "TagId": 1689, + "TagIdEvtMsg": 11512, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DB00": { + "Prio": 2, + "TagId": 3113, + "TagIdEvtMsg": 11514, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DA00": { + "Prio": 2, + "TagId": 3112, + "TagIdEvtMsg": 11513, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DC00": { + "Prio": 2, + "TagId": 3114, + "TagIdEvtMsg": 11515, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63900": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10843, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1456 + ] + }, + "6100_40468600": { + "Prio": 2, + "TagId": 3117, + "TagIdEvtMsg": 11491, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462600": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10786, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6200_40463900": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10756, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463900": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10756, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046FC00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12344, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6100_4046FD00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 12345, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046CF00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 11502, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D100": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11504, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D000": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11503, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D200": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11505, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00663000": { + "Prio": 3, + "TagId": 409, + "TagIdEvtMsg": 10912, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_40464300": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11691, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00462D00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 11586, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00662B00": { + "Prio": 3, + "TagId": 1724, + "TagIdEvtMsg": 10910, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6200_40462C00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10901, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40462C00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10901, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12093, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12093, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12094, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12094, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00573D00": { + "Prio": 2, + "TagId": 4804, + "TagIdEvtMsg": 12613, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00573C00": { + "Prio": 2, + "TagId": 4803, + "TagIdEvtMsg": 12612, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046E500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467800": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12100, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467800": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12100, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11789, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11789, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467900": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12101, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467900": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12101, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E700": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11790, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E700": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11790, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467700": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12099, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467700": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12099, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40572F00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12573, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572C00": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12570, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572E00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12572, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572200": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12497, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6400_00462000": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210014, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469700": { + "Prio": 2, + "TagId": 4653, + "TagIdEvtMsg": 200097, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469B00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210011, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00574000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12571, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469A00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210010, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6200_40571E00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210015, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40571E00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210015, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40469300": { + "Prio": 2, + "TagId": 4653, + "TagIdEvtMsg": 200096, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046FE00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12494, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40572100": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210013, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40572100": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210013, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40572B00": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12569, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_4046FF00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210012, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40466C00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12095, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466C00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12095, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466D00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12096, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466D00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12096, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466E00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12097, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466E00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12097, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572500": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12549, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_4046EE00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11797, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046EE00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11797, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046EF00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11798, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046EF00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11798, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F000": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11799, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046F000": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11799, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572400": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12548, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046E800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11791, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11791, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11792, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11792, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046EA00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11793, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EA00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11793, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572600": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12550, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 4772 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046EB00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11794, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EB00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11794, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046EC00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11795, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EC00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11795, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046ED00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046ED00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00469200": { + "Prio": 2, + "TagId": 24, + "TagIdEvtMsg": 12214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00469100": { + "Prio": 2, + "TagId": 25, + "TagIdEvtMsg": 12213, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462A00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 10940, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462800": { + "Prio": 2, + "TagId": 1689, + "TagIdEvtMsg": 10860, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462700": { + "Prio": 2, + "TagId": 563, + "TagIdEvtMsg": 10859, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_00468100": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 12098, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00468100": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 12098, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_08862300": { + "Prio": 4, + "TagId": 4059, + "TagIdEvtMsg": 12011, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_0046D400": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11507, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D700": { + "Prio": 2, + "TagId": 3113, + "TagIdEvtMsg": 11510, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D300": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11506, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D600": { + "Prio": 2, + "TagId": 3112, + "TagIdEvtMsg": 11509, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D500": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11508, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D800": { + "Prio": 2, + "TagId": 3114, + "TagIdEvtMsg": 11511, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6802_00863700": { + "Prio": 4, + "TagId": 1525, + "TagIdEvtMsg": 10775, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6802_00863600": { + "Prio": 4, + "TagId": 1524, + "TagIdEvtMsg": 10774, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63B00": { + "Prio": 5, + "TagId": 2475, + "TagIdEvtMsg": 11281, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_00A63800": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10791, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63A00": { + "Prio": 5, + "TagId": 2474, + "TagIdEvtMsg": 11280, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_00A63700": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10790, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6200_00464E00": { + "Prio": 2, + "TagId": 1327, + "TagIdEvtMsg": 12091, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00464E00": { + "Prio": 2, + "TagId": 1327, + "TagIdEvtMsg": 12091, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40469900": { + "Prio": 2, + "TagId": 3497, + "TagIdEvtMsg": 12450, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6180_08469800": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 12451, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6402_00669F00": { + "Prio": 3, + "TagId": 1448, + "TagIdEvtMsg": 10753, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6402_00669E00": { + "Prio": 3, + "TagId": 1447, + "TagIdEvtMsg": 10752, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_40468F00": { + "Prio": 2, + "TagId": 412, + "TagIdEvtMsg": 12102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40468F00": { + "Prio": 2, + "TagId": 412, + "TagIdEvtMsg": 12102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F100": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11800, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046F100": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11800, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463300": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11628, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572300": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 12547, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "7040_00262500": { + "Prio": 1, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "7060_00262500": { + "Prio": 1, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_00462400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "7030_00262400": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "7050_00262400": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6200_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00666300": { + "Prio": 3, + "TagId": 4052, + "TagIdEvtMsg": 12006, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00666400": { + "Prio": 3, + "TagId": 4053, + "TagIdEvtMsg": 12007, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08869400": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10844, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_08869700": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10847, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_00869A00": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11112, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6180_08463C00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11437, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_08869500": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10845, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_08869800": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10848, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_00869B00": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11113, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6180_08463D00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_08869600": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10846, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6800_08869900": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10849, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6800_00869C00": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11114, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6180_08463E00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6400_0046CB00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 11498, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CD00": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11500, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CC00": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11499, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CE00": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11501, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6802_00863500": { + "Prio": 4, + "TagId": 1524, + "TagIdEvtMsg": 10773, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 1407 + ] + }, + "6800_00A63C00": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 11678, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1407 + ] + }, + "6402_00669D00": { + "Prio": 3, + "TagId": 1447, + "TagIdEvtMsg": 10751, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6100_40468900": { + "Prio": 2, + "TagId": 3120, + "TagIdEvtMsg": 11494, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40468800": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11493, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462300": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10713, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_00462900": { + "Prio": 2, + "TagId": 1724, + "TagIdEvtMsg": 10895, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6200_40463500": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10716, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463500": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10716, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40463400": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 10894, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463400": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 10894, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AD00": { + "Prio": 2, + "TagId": 1457, + "TagIdEvtMsg": 10757, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_0046AB00": { + "Prio": 2, + "TagId": 1751, + "TagIdEvtMsg": 10920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046AB00": { + "Prio": 2, + "TagId": 1751, + "TagIdEvtMsg": 10920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AE00": { + "Prio": 2, + "TagId": 1458, + "TagIdEvtMsg": 10758, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_4046AC00": { + "Prio": 2, + "TagId": 1750, + "TagIdEvtMsg": 10919, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046AC00": { + "Prio": 2, + "TagId": 1750, + "TagIdEvtMsg": 10919, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AA00": { + "Prio": 2, + "TagId": 1860, + "TagIdEvtMsg": 10918, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_40463800": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10755, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C500": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12496, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469C00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12495, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00262200": { + "Prio": 1, + "TagId": 563, + "TagIdEvtMsg": 10272, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6402_00463200": { + "Prio": 2, + "TagId": 2558, + "TagIdEvtMsg": 11363, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00463100": { + "Prio": 2, + "TagId": 1818, + "TagIdEvtMsg": 10941, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_00A62B00": { + "Prio": 5, + "TagId": 410, + "TagIdEvtMsg": 10135, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462F00": { + "Prio": 2, + "TagId": 411, + "TagIdEvtMsg": 10012, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63600": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10260, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6800_00A63500": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10259, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6802_00A62A00": { + "Prio": 5, + "TagId": 408, + "TagIdEvtMsg": 10134, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462E00": { + "Prio": 2, + "TagId": 409, + "TagIdEvtMsg": 10011, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6100_40468E00": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 10002, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00461F00": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10005, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_08862A00": { + "Prio": 4, + "TagId": 1403, + "TagIdEvtMsg": 10712, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00260100": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "7000_00261E00": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "7020_00261E00": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00463A00": { + "Prio": 2, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "7070_00263A00": { + "Prio": 1, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "7080_00263A00": { + "Prio": 1, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00463B00": { + "Prio": 2, + "TagId": 1739, + "TagIdEvtMsg": 10907, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_0886CA00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11476, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08867F00": { + "Prio": 4, + "TagId": 4551, + "TagIdEvtMsg": 12403, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886D000": { + "Prio": 4, + "TagId": 3076, + "TagIdEvtMsg": 11482, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CD00": { + "Prio": 4, + "TagId": 3073, + "TagIdEvtMsg": 11479, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CB00": { + "Prio": 4, + "TagId": 3071, + "TagIdEvtMsg": 11477, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CF00": { + "Prio": 4, + "TagId": 3075, + "TagIdEvtMsg": 11481, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08868100": { + "Prio": 4, + "TagId": 4553, + "TagIdEvtMsg": 12405, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CC00": { + "Prio": 4, + "TagId": 3072, + "TagIdEvtMsg": 11478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08868000": { + "Prio": 4, + "TagId": 4552, + "TagIdEvtMsg": 12404, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08862200": { + "Prio": 4, + "TagId": 4056, + "TagIdEvtMsg": 12010, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08A62400": { + "Prio": 5, + "TagId": 5310, + "TagIdEvtMsg": 12945, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862600": { + "Prio": 4, + "TagId": 2559, + "TagIdEvtMsg": 11364, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086AE00": { + "Prio": 4, + "TagId": 5282, + "TagIdEvtMsg": 12930, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886A400": { + "Prio": 4, + "TagId": 5051, + "TagIdEvtMsg": 12789, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886AF00": { + "Prio": 4, + "TagId": 5289, + "TagIdEvtMsg": 12939, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6180_0846A700": { + "Prio": 2, + "TagId": 1460, + "TagIdEvtMsg": 10760, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40573100": { + "Prio": 2, + "TagId": 4781, + "TagIdEvtMsg": 12575, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573F00": { + "Prio": 2, + "TagId": 4820, + "TagIdEvtMsg": 12640, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573000": { + "Prio": 2, + "TagId": 4780, + "TagIdEvtMsg": 12574, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573E00": { + "Prio": 2, + "TagId": 4819, + "TagIdEvtMsg": 12639, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08865000": { + "Prio": 4, + "TagId": 4055, + "TagIdEvtMsg": 12173, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_4046A500": { + "Prio": 2, + "TagId": 3115, + "TagIdEvtMsg": 11489, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08863300": { + "Prio": 4, + "TagId": 4189, + "TagIdEvtMsg": 12073, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086C100": { + "Prio": 4, + "TagId": 2486, + "TagIdEvtMsg": 11293, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086C200": { + "Prio": 4, + "TagId": 2487, + "TagIdEvtMsg": 11294, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0886C000": { + "Prio": 4, + "TagId": 2485, + "TagIdEvtMsg": 11292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40469000": { + "Prio": 2, + "TagId": 816, + "TagIdEvtMsg": 10006, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08862500": { + "Prio": 4, + "TagId": 1798, + "TagIdEvtMsg": 10916, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6402_00666F00": { + "Prio": 3, + "TagId": 237, + "TagIdEvtMsg": 10010, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_00862400": { + "Prio": 4, + "TagId": 564, + "TagIdEvtMsg": 10273, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862700": { + "Prio": 4, + "TagId": 3096, + "TagIdEvtMsg": 11488, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862800": { + "Prio": 4, + "TagId": 3132, + "TagIdEvtMsg": 11524, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40468A00": { + "Prio": 2, + "TagId": 3121, + "TagIdEvtMsg": 11495, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0086D700": { + "Prio": 4, + "TagId": 3238, + "TagIdEvtMsg": 11590, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886D800": { + "Prio": 4, + "TagId": 3239, + "TagIdEvtMsg": 11591, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 309 + ] + }, + "6180_0846A600": { + "Prio": 2, + "TagId": 1459, + "TagIdEvtMsg": 10759, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40468700": { + "Prio": 2, + "TagId": 3118, + "TagIdEvtMsg": 11492, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08866A00": { + "Prio": 4, + "TagId": 2525, + "TagIdEvtMsg": 11324, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 394 + ] + }, + "6802_00863A00": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 12056, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863B00": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 12057, + "Unit": 10, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863C00": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 12058, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863D00": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 12059, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_08864200": { + "Prio": 4, + "TagId": 4179, + "TagIdEvtMsg": 12063, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08863F00": { + "Prio": 4, + "TagId": 4299, + "TagIdEvtMsg": 12150, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864600": { + "Prio": 4, + "TagId": 4183, + "TagIdEvtMsg": 12067, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864500": { + "Prio": 4, + "TagId": 4182, + "TagIdEvtMsg": 12066, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864400": { + "Prio": 4, + "TagId": 4181, + "TagIdEvtMsg": 12065, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864300": { + "Prio": 4, + "TagId": 4180, + "TagIdEvtMsg": 12064, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864700": { + "Prio": 4, + "TagId": 4184, + "TagIdEvtMsg": 12068, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864800": { + "Prio": 4, + "TagId": 4185, + "TagIdEvtMsg": 12069, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864900": { + "Prio": 4, + "TagId": 4186, + "TagIdEvtMsg": 12070, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_40863200": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 12077, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6800_08863400": { + "Prio": 4, + "TagId": 4229, + "TagIdEvtMsg": 12104, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00863E00": { + "Prio": 4, + "TagId": 4176, + "TagIdEvtMsg": 12060, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864A00": { + "Prio": 4, + "TagId": 4187, + "TagIdEvtMsg": 12071, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00863900": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 12055, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6100_40464600": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11695, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464500": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11694, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464400": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11693, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00865300": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11456, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865200": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11457, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865D00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11413, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_0086A200": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12594, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865E00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11455, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_0086A100": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12595, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_08865A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11410, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6802_00865C00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11412, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6802_00865B00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11411, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6800_08865800": { + "Prio": 4, + "TagId": 2585, + "TagIdEvtMsg": 11418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2599 + ] + }, + "6800_08865400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11414, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6800_00865600": { + "Prio": 4, + "TagId": 1763, + "TagIdEvtMsg": 11416, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6800_00865500": { + "Prio": 4, + "TagId": 1764, + "TagIdEvtMsg": 11415, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6802_00862E00": { + "Prio": 4, + "TagId": 2180, + "TagIdEvtMsg": 11404, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2593 + ] + }, + "6802_00862F00": { + "Prio": 4, + "TagId": 2181, + "TagIdEvtMsg": 11405, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2593 + ] + }, + "6802_00862B00": { + "Prio": 4, + "TagId": 2591, + "TagIdEvtMsg": 11401, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780 + ] + }, + "6802_08862C00": { + "Prio": 4, + "TagId": 2592, + "TagIdEvtMsg": 11402, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780 + ] + }, + "6800_08865700": { + "Prio": 4, + "TagId": 1744, + "TagIdEvtMsg": 11417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 1780 + ] + }, + "6180_08461F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11059, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1780 + ] + }, + "6802_08A62000": { + "Prio": 5, + "TagId": 325, + "TagIdEvtMsg": 12731, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6802_08A62100": { + "Prio": 5, + "TagId": 327, + "TagIdEvtMsg": 12732, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6802_08A62200": { + "Prio": 5, + "TagId": 329, + "TagIdEvtMsg": 12733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6800_0086AC00": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 11036, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2113 + ] + }, + "6802_0886AB00": { + "Prio": 4, + "TagId": 3589, + "TagIdEvtMsg": 11810, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 2113 + ] + }, + "6802_0086BA00": { + "Prio": 4, + "TagId": 2164, + "TagIdEvtMsg": 11052, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6802_0086B800": { + "Prio": 4, + "TagId": 2162, + "TagIdEvtMsg": 11050, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6802_0086B900": { + "Prio": 4, + "TagId": 2163, + "TagIdEvtMsg": 11051, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6100_4046BC00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11090, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BD00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11091, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BE00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046B900": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11087, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046BA00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11088, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046BB00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11089, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0066B500": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 11083, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F700": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 11083, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0066B600": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 11084, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F800": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 11084, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0066B700": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 11085, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F900": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 11085, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B100": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B200": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B300": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046B800": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 11086, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_0046B800": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 11086, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_0066FB00": { + "Prio": 3, + "TagId": 3939, + "TagIdEvtMsg": 11930, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_0066FA00": { + "Prio": 3, + "TagId": 3938, + "TagIdEvtMsg": 11929, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00865900": { + "Prio": 4, + "TagId": 2564, + "TagIdEvtMsg": 11373, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2182 + ] + }, + "6200_4046BF00": { + "Prio": 2, + "TagId": 406, + "TagIdEvtMsg": 11372, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BF00": { + "Prio": 2, + "TagId": 406, + "TagIdEvtMsg": 11372, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0066B400": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 11082, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F600": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 11082, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F200": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B000": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F200": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00573500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 12580, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6400_00573400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12579, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6102_4046C100": { + "Prio": 2, + "TagId": 3192, + "TagIdEvtMsg": 11541, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2203 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_0046C000": { + "Prio": 2, + "TagId": 3191, + "TagIdEvtMsg": 11540, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2203 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Sum": true, + "SumD": true + }, + "7180_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ] + }, + "6800_0086A300": { + "Prio": 4, + "TagId": 2376, + "TagIdEvtMsg": 11234, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 2360 + ] + }, + "6200_0046C700": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11288, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046C700": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11288, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C600": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 11287, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046C600": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 11287, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C800": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 11289, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C800": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 11289, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C900": { + "Prio": 2, + "TagId": 1739, + "TagIdEvtMsg": 11290, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Sum": true, + "SumD": true + }, + "6802_08862D00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11403, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00866C00": { + "Prio": 4, + "TagId": 2552, + "TagIdEvtMsg": 11357, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00866B00": { + "Prio": 4, + "TagId": 2551, + "TagIdEvtMsg": 11356, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00863100": { + "Prio": 4, + "TagId": 2595, + "TagIdEvtMsg": 11407, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_0086A000": { + "Prio": 4, + "TagId": 4793, + "TagIdEvtMsg": 12593, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_00863000": { + "Prio": 4, + "TagId": 2594, + "TagIdEvtMsg": 11406, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_00869F00": { + "Prio": 4, + "TagId": 4792, + "TagIdEvtMsg": 12592, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6202_00465E00": { + "Prio": 2, + "TagId": 4061, + "TagIdEvtMsg": 12012, + "Unit": 1275, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00465E00": { + "Prio": 2, + "TagId": 4061, + "TagIdEvtMsg": 12012, + "Unit": 1275, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40465C00": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11910, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6202_40465D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11911, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6102_40465D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11911, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6802_00863800": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 12054, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 4191 + ] + }, + "6802_00A62300": { + "Prio": 5, + "TagId": 5281, + "TagIdEvtMsg": 12929, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 4208 + ] + }, + "6100_00572800": { + "Prio": 2, + "TagId": 2359, + "TagIdEvtMsg": 12559, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4697, + 1072 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572700": { + "Prio": 2, + "TagId": 314, + "TagIdEvtMsg": 12558, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4697, + 1079 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00573200": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 200131, + "Unit": 19, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4785 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00573300": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 200132, + "Unit": 4788, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4786 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40574600": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12983, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 38 + ] + }, + "6100_40574700": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12984, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 38 + ] + }, + "6100_40574800": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12985, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 38 + ] + }, + "6100_00574300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12980, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 441 + ] + }, + "6100_00574400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12981, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 441 + ] + }, + "6100_00574500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12982, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 441 + ] + }, + "6100_40574900": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12986, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 450 + ] + }, + "6100_40574A00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12987, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 450 + ] + }, + "6100_40574B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 450 + ] + }, + "6100_00574100": { + "Prio": 2, + "TagId": 4785, + "TagIdEvtMsg": 4785, + "Unit": 19, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00574200": { + "Prio": 2, + "TagId": 4786, + "TagIdEvtMsg": 4786, + "Unit": 4788, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_0887AE00": { + "Prio": 4, + "TagId": 1321, + "TagIdEvtMsg": 10680, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_0887AC00": { + "Prio": 4, + "TagId": 1122, + "TagIdEvtMsg": 10508, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_0887AD00": { + "Prio": 4, + "TagId": 1123, + "TagIdEvtMsg": 10509, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_00879C00": { + "Prio": 4, + "TagId": 1334, + "TagIdEvtMsg": 10691, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_00879D00": { + "Prio": 4, + "TagId": 1335, + "TagIdEvtMsg": 10692, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_08879B00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10690, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_0087A700": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 11316, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 2519 + ] + }, + "6802_0087A100": { + "Prio": 4, + "TagId": 1409, + "TagIdEvtMsg": 10719, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_00879A00": { + "Prio": 4, + "TagId": 1336, + "TagIdEvtMsg": 10689, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_00876B00": { + "Prio": 4, + "TagId": 5340, + "TagIdEvtMsg": 12964, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_08879900": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10688, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_00876A00": { + "Prio": 4, + "TagId": 5339, + "TagIdEvtMsg": 12963, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_0087A600": { + "Prio": 4, + "TagId": 2520, + "TagIdEvtMsg": 11315, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 2518 + ] + }, + "6802_0087A300": { + "Prio": 4, + "TagId": 1411, + "TagIdEvtMsg": 10720, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0087A200": { + "Prio": 4, + "TagId": 1412, + "TagIdEvtMsg": 10721, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0887A400": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10722, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0887A000": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10725, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1445 + ] + }, + "6802_00879E00": { + "Prio": 4, + "TagId": 1414, + "TagIdEvtMsg": 10723, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1413 + ] + }, + "6802_00879F00": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 10724, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1413 + ] + }, + "6802_40879600": { + "Prio": 4, + "TagId": 40, + "TagIdEvtMsg": 10173, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_40879700": { + "Prio": 4, + "TagId": 1097, + "TagIdEvtMsg": 10496, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_00879800": { + "Prio": 4, + "TagId": 1098, + "TagIdEvtMsg": 10497, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_08877D00": { + "Prio": 4, + "TagId": 4684, + "TagIdEvtMsg": 12478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_0887A500": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 11282, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_40873100": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12142, + "Unit": 3, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 36 + ] + }, + "6802_40873200": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12143, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 36 + ] + }, + "6802_40872800": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12382, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 4510 + ] + }, + "6802_00878C00": { + "Prio": 4, + "TagId": 1099, + "TagIdEvtMsg": 10498, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878D00": { + "Prio": 4, + "TagId": 1100, + "TagIdEvtMsg": 10499, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874700": { + "Prio": 4, + "TagId": 4974, + "TagIdEvtMsg": 12744, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874800": { + "Prio": 4, + "TagId": 4975, + "TagIdEvtMsg": 12745, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_40872F00": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12140, + "Unit": 7, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_40873000": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12141, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878200": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10176, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878300": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10177, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878400": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10178, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878500": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10179, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878600": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10180, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878700": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10181, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878800": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10182, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878900": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10183, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878000": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 10174, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878100": { + "Prio": 4, + "TagId": 288, + "TagIdEvtMsg": 10175, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878A00": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 10184, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878B00": { + "Prio": 4, + "TagId": 292, + "TagIdEvtMsg": 10185, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878F00": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10501, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875F00": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11067, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874600": { + "Prio": 4, + "TagId": 4973, + "TagIdEvtMsg": 12743, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876800": { + "Prio": 4, + "TagId": 5086, + "TagIdEvtMsg": 12807, + "Unit": 7, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 222 + ], + "Deprecated": true + }, + "6802_00878E00": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10500, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875E00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11066, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876900": { + "Prio": 4, + "TagId": 5087, + "TagIdEvtMsg": 12808, + "Unit": 7, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 222 + ], + "Deprecated": true + }, + "6802_08877E00": { + "Prio": 4, + "TagId": 2015, + "TagIdEvtMsg": 11020, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879000": { + "Prio": 4, + "TagId": 2011, + "TagIdEvtMsg": 11016, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879100": { + "Prio": 4, + "TagId": 2012, + "TagIdEvtMsg": 11017, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879200": { + "Prio": 4, + "TagId": 2013, + "TagIdEvtMsg": 11018, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879300": { + "Prio": 4, + "TagId": 2014, + "TagIdEvtMsg": 11019, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876400": { + "Prio": 4, + "TagId": 4403, + "TagIdEvtMsg": 12251, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 4402, + 4403 + ] + }, + "6802_08876500": { + "Prio": 4, + "TagId": 4404, + "TagIdEvtMsg": 12252, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 4402, + 4403 + ] + }, + "6802_0087AA00": { + "Prio": 4, + "TagId": 1120, + "TagIdEvtMsg": 10506, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 289 + ] + }, + "6802_0087AB00": { + "Prio": 4, + "TagId": 1121, + "TagIdEvtMsg": 10507, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 289 + ] + }, + "6802_00874900": { + "Prio": 4, + "TagId": 5042, + "TagIdEvtMsg": 12787, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874A00": { + "Prio": 4, + "TagId": 5043, + "TagIdEvtMsg": 12788, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872D00": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12138, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872700": { + "Prio": 4, + "TagId": 4515, + "TagIdEvtMsg": 12381, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872E00": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12139, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875000": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10188, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873C00": { + "Prio": 4, + "TagId": 4491, + "TagIdEvtMsg": 12311, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875100": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10189, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875200": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10190, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875A00": { + "Prio": 4, + "TagId": 1415, + "TagIdEvtMsg": 10726, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873D00": { + "Prio": 4, + "TagId": 4492, + "TagIdEvtMsg": 12312, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875300": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10191, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875400": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10192, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875B00": { + "Prio": 4, + "TagId": 1416, + "TagIdEvtMsg": 10727, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873E00": { + "Prio": 4, + "TagId": 4493, + "TagIdEvtMsg": 12313, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875500": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10193, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875600": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10194, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873F00": { + "Prio": 4, + "TagId": 4494, + "TagIdEvtMsg": 12314, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875700": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10195, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874E00": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 10186, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876000": { + "Prio": 4, + "TagId": 3484, + "TagIdEvtMsg": 11674, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876100": { + "Prio": 4, + "TagId": 3485, + "TagIdEvtMsg": 11675, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00874500": { + "Prio": 4, + "TagId": 4537, + "TagIdEvtMsg": 12316, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873400": { + "Prio": 4, + "TagId": 4538, + "TagIdEvtMsg": 12396, + "Unit": 10, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873B00": { + "Prio": 4, + "TagId": 4495, + "TagIdEvtMsg": 12315, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874100": { + "Prio": 4, + "TagId": 4539, + "TagIdEvtMsg": 12397, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874F00": { + "Prio": 4, + "TagId": 288, + "TagIdEvtMsg": 10187, + "Unit": 10, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00875800": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 10196, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876200": { + "Prio": 4, + "TagId": 3482, + "TagIdEvtMsg": 11676, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876300": { + "Prio": 4, + "TagId": 3483, + "TagIdEvtMsg": 11677, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874000": { + "Prio": 4, + "TagId": 4497, + "TagIdEvtMsg": 12317, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875900": { + "Prio": 4, + "TagId": 292, + "TagIdEvtMsg": 10197, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877900": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875D00": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11065, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877A00": { + "Prio": 4, + "TagId": 1417, + "TagIdEvtMsg": 10728, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874300": { + "Prio": 4, + "TagId": 4501, + "TagIdEvtMsg": 12321, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876600": { + "Prio": 4, + "TagId": 5084, + "TagIdEvtMsg": 12805, + "Unit": 4314, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00877800": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10648, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875C00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11064, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877B00": { + "Prio": 4, + "TagId": 1418, + "TagIdEvtMsg": 10729, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874400": { + "Prio": 4, + "TagId": 4500, + "TagIdEvtMsg": 12320, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876700": { + "Prio": 4, + "TagId": 5085, + "TagIdEvtMsg": 12806, + "Unit": 4314, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00877600": { + "Prio": 4, + "TagId": 351, + "TagIdEvtMsg": 10198, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_08872300": { + "Prio": 4, + "TagId": 3936, + "TagIdEvtMsg": 11927, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874200": { + "Prio": 4, + "TagId": 4499, + "TagIdEvtMsg": 12319, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877500": { + "Prio": 4, + "TagId": 2111, + "TagIdEvtMsg": 11034, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_08872500": { + "Prio": 4, + "TagId": 4054, + "TagIdEvtMsg": 12008, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_40879400": { + "Prio": 4, + "TagId": 36, + "TagIdEvtMsg": 10167, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08873900": { + "Prio": 4, + "TagId": 4511, + "TagIdEvtMsg": 12354, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873A00": { + "Prio": 4, + "TagId": 4510, + "TagIdEvtMsg": 12353, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00879500": { + "Prio": 4, + "TagId": 37, + "TagIdEvtMsg": 10168, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6800_00872100": { + "Prio": 4, + "TagId": 1446, + "TagIdEvtMsg": 10754, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873700": { + "Prio": 4, + "TagId": 232, + "TagIdEvtMsg": 10171, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873600": { + "Prio": 4, + "TagId": 233, + "TagIdEvtMsg": 10170, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873500": { + "Prio": 4, + "TagId": 234, + "TagIdEvtMsg": 10169, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873800": { + "Prio": 4, + "TagId": 236, + "TagIdEvtMsg": 10172, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00877F00": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 10502, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_4087A800": { + "Prio": 4, + "TagId": 4239, + "TagIdEvtMsg": 12112, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_4087A900": { + "Prio": 4, + "TagId": 4240, + "TagIdEvtMsg": 12113, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872A00": { + "Prio": 4, + "TagId": 273, + "TagIdEvtMsg": 10203, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00874B00": { + "Prio": 4, + "TagId": 5151, + "TagIdEvtMsg": 12852, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872000": { + "Prio": 4, + "TagId": 1369, + "TagIdEvtMsg": 10709, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872B00": { + "Prio": 4, + "TagId": 323, + "TagIdEvtMsg": 10202, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872600": { + "Prio": 4, + "TagId": 4277, + "TagIdEvtMsg": 12133, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872400": { + "Prio": 4, + "TagId": 3937, + "TagIdEvtMsg": 11928, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872C00": { + "Prio": 4, + "TagId": 1226, + "TagIdEvtMsg": 10730, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00874D00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10257, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6180_08671E00": { + "Prio": 3, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6800_08871E00": { + "Prio": 4, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08872900": { + "Prio": 4, + "TagId": 4516, + "TagIdEvtMsg": 12383, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08672200": { + "Prio": 3, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ], + "Deprecated": true + }, + "6802_08872200": { + "Prio": 4, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08871F00": { + "Prio": 4, + "TagId": 54, + "TagIdEvtMsg": 10201, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229 + ] + }, + "6800_0887FF00": { + "Prio": 4, + "TagId": 764, + "TagIdEvtMsg": 12179, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 268 + ] + }, + "6802_0887B900": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 11629, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 309, + 1080 + ] + }, + "6802_0887B800": { + "Prio": 4, + "TagId": 2016, + "TagIdEvtMsg": 11021, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 309, + 1080 + ] + }, + "6100_00482000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12633, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 290, + 230, + 4810 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6802_08886E00": { + "Prio": 4, + "TagId": 2589, + "TagIdEvtMsg": 11399, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886500": { + "Prio": 4, + "TagId": 2580, + "TagIdEvtMsg": 11389, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886600": { + "Prio": 4, + "TagId": 2581, + "TagIdEvtMsg": 11390, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6180_08681E00": { + "Prio": 3, + "TagId": 1742, + "TagIdEvtMsg": 10909, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 837, + 309 + ] + }, + "6802_08886F00": { + "Prio": 4, + "TagId": 2590, + "TagIdEvtMsg": 11400, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886000": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 11384, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886300": { + "Prio": 4, + "TagId": 2578, + "TagIdEvtMsg": 11387, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886400": { + "Prio": 4, + "TagId": 2579, + "TagIdEvtMsg": 11388, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6102_00484900": { + "Prio": 2, + "TagId": 2588, + "TagIdEvtMsg": 11398, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08887000": { + "Prio": 4, + "TagId": 4328, + "TagIdEvtMsg": 12175, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886700": { + "Prio": 4, + "TagId": 2582, + "TagIdEvtMsg": 11391, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6400_00683200": { + "Prio": 3, + "TagId": 1748, + "TagIdEvtMsg": 10915, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1740, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6802_00885200": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 11073, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885100": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 11072, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885400": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11075, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885300": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11074, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6800_0888CC00": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 10933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740, + 309 + ] + }, + "6802_00884E00": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 11069, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00884D00": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 11068, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00885000": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11071, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00884F00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11070, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00885500": { + "Prio": 4, + "TagId": 2180, + "TagIdEvtMsg": 11076, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 3062 + ] + }, + "6802_00885600": { + "Prio": 4, + "TagId": 2181, + "TagIdEvtMsg": 11077, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 3062 + ] + }, + "6800_00882000": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 10934, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08881E00": { + "Prio": 4, + "TagId": 1741, + "TagIdEvtMsg": 10908, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740 + ] + }, + "6802_08882200": { + "Prio": 4, + "TagId": 4055, + "TagIdEvtMsg": 12009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08886100": { + "Prio": 4, + "TagId": 2575, + "TagIdEvtMsg": 11385, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08881F00": { + "Prio": 4, + "TagId": 1744, + "TagIdEvtMsg": 10911, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740 + ] + }, + "6180_08486A00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 10938, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 837, + 1740 + ] + }, + "6400_00684600": { + "Prio": 3, + "TagId": 409, + "TagIdEvtMsg": 11053, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_40484A00": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11692, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00481F00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12581, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00684700": { + "Prio": 3, + "TagId": 1724, + "TagIdEvtMsg": 11054, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_00484800": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11055, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_00885B00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11447, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885A00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11446, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885F00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11383, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885900": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12586, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885C00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11448, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885800": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12585, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885E00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11382, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00885D00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11381, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00883900": { + "Prio": 4, + "TagId": 1746, + "TagIdEvtMsg": 10913, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00883A00": { + "Prio": 4, + "TagId": 1747, + "TagIdEvtMsg": 10914, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_08882A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10935, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00886200": { + "Prio": 4, + "TagId": 2577, + "TagIdEvtMsg": 11386, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00882B00": { + "Prio": 4, + "TagId": 1763, + "TagIdEvtMsg": 10936, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00882C00": { + "Prio": 4, + "TagId": 1764, + "TagIdEvtMsg": 10937, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_08886C00": { + "Prio": 4, + "TagId": 2585, + "TagIdEvtMsg": 11396, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2584 + ] + }, + "6800_08886D00": { + "Prio": 4, + "TagId": 2587, + "TagIdEvtMsg": 11397, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2586 + ] + }, + "6800_08886800": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11392, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_08886B00": { + "Prio": 4, + "TagId": 2563, + "TagIdEvtMsg": 11395, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_00886A00": { + "Prio": 4, + "TagId": 2583, + "TagIdEvtMsg": 11394, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_00886900": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11393, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6802_08893100": { + "Prio": 4, + "TagId": 4142, + "TagIdEvtMsg": 12038, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46, + 454 + ] + }, + "6202_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "72D2_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6202_00499B00": { + "Prio": 2, + "TagId": 4001, + "TagIdEvtMsg": 11985, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00499B00": { + "Prio": 2, + "TagId": 4001, + "TagIdEvtMsg": 11985, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00696E00": { + "Prio": 3, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00696E00": { + "Prio": 2, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7172_00696E00": { + "Prio": 3, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6200_00499100": { + "Prio": 2, + "TagId": 4000, + "TagIdEvtMsg": 11984, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00499100": { + "Prio": 2, + "TagId": 4000, + "TagIdEvtMsg": 11984, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40491E00": { + "Prio": 2, + "TagId": 1464, + "TagIdEvtMsg": 10761, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00492D00": { + "Prio": 2, + "TagId": 2539, + "TagIdEvtMsg": 11342, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492900": { + "Prio": 2, + "TagId": 2534, + "TagIdEvtMsg": 11334, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698D00": { + "Prio": 3, + "TagId": 3994, + "TagIdEvtMsg": 11980, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698C00": { + "Prio": 3, + "TagId": 3993, + "TagIdEvtMsg": 11979, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698E00": { + "Prio": 3, + "TagId": 3995, + "TagIdEvtMsg": 11981, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492E00": { + "Prio": 2, + "TagId": 2540, + "TagIdEvtMsg": 11343, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492F00": { + "Prio": 2, + "TagId": 3034, + "TagIdEvtMsg": 11444, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00498B00": { + "Prio": 2, + "TagId": 3984, + "TagIdEvtMsg": 11973, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6102_00693000": { + "Prio": 3, + "TagId": 3867, + "TagIdEvtMsg": 11912, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6102_00492800": { + "Prio": 2, + "TagId": 2533, + "TagIdEvtMsg": 11333, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40492B00": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 11336, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40492A00": { + "Prio": 2, + "TagId": 2651, + "TagIdEvtMsg": 11335, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00492600": { + "Prio": 2, + "TagId": 1731, + "TagIdEvtMsg": 10898, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6400_00492700": { + "Prio": 2, + "TagId": 1732, + "TagIdEvtMsg": 10899, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6102_00492C00": { + "Prio": 2, + "TagId": 445, + "TagIdEvtMsg": 11341, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08897D00": { + "Prio": 4, + "TagId": 2549, + "TagIdEvtMsg": 11355, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 46, + 309 + ] + }, + "6182_08497700": { + "Prio": 2, + "TagId": 2547, + "TagIdEvtMsg": 11353, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7132_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7312_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7322_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00497500": { + "Prio": 2, + "TagId": 2548, + "TagIdEvtMsg": 11354, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00892F00": { + "Prio": 4, + "TagId": 4047, + "TagIdEvtMsg": 12003, + "Unit": 3, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893000": { + "Prio": 4, + "TagId": 4048, + "TagIdEvtMsg": 12004, + "Unit": 3, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_08892E00": { + "Prio": 4, + "TagId": 4046, + "TagIdEvtMsg": 12002, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_08892900": { + "Prio": 4, + "TagId": 3636, + "TagIdEvtMsg": 11850, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893900": { + "Prio": 4, + "TagId": 1759, + "TagIdEvtMsg": 10929, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893700": { + "Prio": 4, + "TagId": 2350, + "TagIdEvtMsg": 11208, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00894800": { + "Prio": 4, + "TagId": 4003, + "TagIdEvtMsg": 11987, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00495900": { + "Prio": 2, + "TagId": 2315, + "TagIdEvtMsg": 11175, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00495900": { + "Prio": 2, + "TagId": 2315, + "TagIdEvtMsg": 11175, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00493B00": { + "Prio": 2, + "TagId": 4840, + "TagIdEvtMsg": 12656, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493A00": { + "Prio": 2, + "TagId": 4839, + "TagIdEvtMsg": 12655, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493900": { + "Prio": 2, + "TagId": 4838, + "TagIdEvtMsg": 12654, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493700": { + "Prio": 2, + "TagId": 4843, + "TagIdEvtMsg": 12651, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08495600": { + "Prio": 2, + "TagId": 3061, + "TagIdEvtMsg": 11466, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6182_08498000": { + "Prio": 2, + "TagId": 897, + "TagIdEvtMsg": 11805, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00492400": { + "Prio": 2, + "TagId": 4837, + "TagIdEvtMsg": 12653, + "Unit": 8, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7090_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "72E2_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00499200": { + "Prio": 2, + "TagId": 4002, + "TagIdEvtMsg": 11986, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00499200": { + "Prio": 2, + "TagId": 4002, + "TagIdEvtMsg": 11986, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00498F00": { + "Prio": 2, + "TagId": 3999, + "TagIdEvtMsg": 11983, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00498F00": { + "Prio": 2, + "TagId": 3999, + "TagIdEvtMsg": 11983, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493500": { + "Prio": 2, + "TagId": 4841, + "TagIdEvtMsg": 12649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6202_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7362_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7372_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00693C00": { + "Prio": 3, + "TagId": 5291, + "TagIdEvtMsg": 12940, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00894300": { + "Prio": 4, + "TagId": 2542, + "TagIdEvtMsg": 11345, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00493800": { + "Prio": 2, + "TagId": 4844, + "TagIdEvtMsg": 12652, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493600": { + "Prio": 2, + "TagId": 4842, + "TagIdEvtMsg": 12650, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08498400": { + "Prio": 2, + "TagId": 3602, + "TagIdEvtMsg": 11818, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7342_08498400": { + "Prio": 2, + "TagId": 3602, + "TagIdEvtMsg": 11818, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7330_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893800": { + "Prio": 4, + "TagId": 2349, + "TagIdEvtMsg": 11207, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00497400": { + "Prio": 2, + "TagId": 2654, + "TagIdEvtMsg": 11352, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08895A00": { + "Prio": 4, + "TagId": 5279, + "TagIdEvtMsg": 12927, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00497300": { + "Prio": 2, + "TagId": 2653, + "TagIdEvtMsg": 11351, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08893600": { + "Prio": 4, + "TagId": 3035, + "TagIdEvtMsg": 11445, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7382_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6180_08495E00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6402_00496600": { + "Prio": 2, + "TagId": 2348, + "TagIdEvtMsg": 11206, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Sum": true, + "SumD": true + }, + "6802_40894200": { + "Prio": 4, + "TagId": 2541, + "TagIdEvtMsg": 11344, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00497200": { + "Prio": 2, + "TagId": 2652, + "TagIdEvtMsg": 11350, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493100": { + "Prio": 2, + "TagId": 5295, + "TagIdEvtMsg": 12942, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00495400": { + "Prio": 2, + "TagId": 3189, + "TagIdEvtMsg": 11538, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00495500": { + "Prio": 2, + "TagId": 3190, + "TagIdEvtMsg": 11539, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6202_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7392_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6182_08498500": { + "Prio": 2, + "TagId": 3603, + "TagIdEvtMsg": 11819, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7352_08498500": { + "Prio": 2, + "TagId": 3603, + "TagIdEvtMsg": 11819, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893A00": { + "Prio": 4, + "TagId": 1760, + "TagIdEvtMsg": 10930, + "Unit": 2, + "DataFrmt": 12, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7142_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7152_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7162_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_40492200": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 12647, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40492300": { + "Prio": 2, + "TagId": 2651, + "TagIdEvtMsg": 12648, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495200": { + "Prio": 2, + "TagId": 3223, + "TagIdEvtMsg": 11574, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00495300": { + "Prio": 2, + "TagId": 3224, + "TagIdEvtMsg": 11575, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08893B00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10931, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6200_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7102_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7112_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7122_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893C00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10932, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00894B00": { + "Prio": 4, + "TagId": 2428, + "TagIdEvtMsg": 12858, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00894C00": { + "Prio": 4, + "TagId": 2430, + "TagIdEvtMsg": 12859, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_08892B00": { + "Prio": 4, + "TagId": 3804, + "TagIdEvtMsg": 10305, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 46 + ] + }, + "6800_08892A00": { + "Prio": 4, + "TagId": 3803, + "TagIdEvtMsg": 10304, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 46 + ] + }, + "6402_00496400": { + "Prio": 2, + "TagId": 2344, + "TagIdEvtMsg": 11202, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 2288 + ], + "Sum": true, + "SumD": true + }, + "6402_00496500": { + "Prio": 2, + "TagId": 2345, + "TagIdEvtMsg": 11203, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 2288 + ], + "Sum": true, + "SumD": true + }, + "6800_10A91E00": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 12738, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6182_08498A00": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11824, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "73A2_08498A00": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6182_08497F00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11803, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "72C2_08497F00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11803, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6802_08896800": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10118, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6802_00894900": { + "Prio": 4, + "TagId": 5155, + "TagIdEvtMsg": 12855, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6100_00491F00": { + "Prio": 2, + "TagId": 4656, + "TagIdEvtMsg": 12449, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6182_08493D00": { + "Prio": 2, + "TagId": 5294, + "TagIdEvtMsg": 12941, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ] + }, + "6182_08493E00": { + "Prio": 2, + "TagId": 5297, + "TagIdEvtMsg": 12943, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ] + }, + "6802_00893200": { + "Prio": 4, + "TagId": 4190, + "TagIdEvtMsg": 12074, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6802_08893300": { + "Prio": 4, + "TagId": 4188, + "TagIdEvtMsg": 12072, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6A02_08896600": { + "Prio": 4, + "TagId": 2432, + "TagIdEvtMsg": 11267, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896200": { + "Prio": 4, + "TagId": 2420, + "TagIdEvtMsg": 11257, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896100": { + "Prio": 4, + "TagId": 2419, + "TagIdEvtMsg": 11256, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6800_00895E00": { + "Prio": 4, + "TagId": 4730, + "TagIdEvtMsg": 12519, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896400": { + "Prio": 4, + "TagId": 2422, + "TagIdEvtMsg": 11259, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896300": { + "Prio": 4, + "TagId": 2421, + "TagIdEvtMsg": 11258, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6800_00895F00": { + "Prio": 4, + "TagId": 4731, + "TagIdEvtMsg": 12520, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 915 + ] + }, + "6400_00492000": { + "Prio": 2, + "TagId": 4825, + "TagIdEvtMsg": 12641, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 915 + ], + "Sum": true, + "SumD": true + }, + "6400_00492100": { + "Prio": 2, + "TagId": 4826, + "TagIdEvtMsg": 12642, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 915 + ], + "Sum": true, + "SumD": true + }, + "6A02_40896500": { + "Prio": 4, + "TagId": 2423, + "TagIdEvtMsg": 11260, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_08896000": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 11255, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6182_08693200": { + "Prio": 3, + "TagId": 1734, + "TagIdEvtMsg": 10900, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ] + }, + "6182_08493400": { + "Prio": 2, + "TagId": 3986, + "TagIdEvtMsg": 11975, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ] + }, + "6200_00493F00": { + "Prio": 2, + "TagId": 5321, + "TagIdEvtMsg": 12973, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00493F00": { + "Prio": 2, + "TagId": 5321, + "TagIdEvtMsg": 12973, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00693300": { + "Prio": 3, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_00493300": { + "Prio": 2, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00693300": { + "Prio": 3, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00493300": { + "Prio": 2, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00897E00": { + "Prio": 4, + "TagId": 2553, + "TagIdEvtMsg": 11358, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00891E00": { + "Prio": 4, + "TagId": 1753, + "TagIdEvtMsg": 10923, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892500": { + "Prio": 4, + "TagId": 2174, + "TagIdEvtMsg": 11060, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40892300": { + "Prio": 4, + "TagId": 2172, + "TagIdEvtMsg": 11057, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40892400": { + "Prio": 4, + "TagId": 2173, + "TagIdEvtMsg": 11058, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892200": { + "Prio": 4, + "TagId": 2171, + "TagIdEvtMsg": 11056, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_08894700": { + "Prio": 4, + "TagId": 2546, + "TagIdEvtMsg": 11349, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497800": { + "Prio": 2, + "TagId": 2535, + "TagIdEvtMsg": 11337, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00894500": { + "Prio": 4, + "TagId": 2544, + "TagIdEvtMsg": 11347, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00891F00": { + "Prio": 4, + "TagId": 1754, + "TagIdEvtMsg": 10924, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892700": { + "Prio": 4, + "TagId": 2176, + "TagIdEvtMsg": 11062, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497B00": { + "Prio": 2, + "TagId": 2538, + "TagIdEvtMsg": 11340, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00A91F00": { + "Prio": 5, + "TagId": 5149, + "TagIdEvtMsg": 12853, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00A92000": { + "Prio": 5, + "TagId": 5150, + "TagIdEvtMsg": 12854, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00A92100": { + "Prio": 5, + "TagId": 5280, + "TagIdEvtMsg": 12928, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497900": { + "Prio": 2, + "TagId": 2536, + "TagIdEvtMsg": 11338, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00894400": { + "Prio": 4, + "TagId": 2543, + "TagIdEvtMsg": 11346, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892000": { + "Prio": 4, + "TagId": 1755, + "TagIdEvtMsg": 10925, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892600": { + "Prio": 4, + "TagId": 2175, + "TagIdEvtMsg": 11061, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497A00": { + "Prio": 2, + "TagId": 2537, + "TagIdEvtMsg": 11339, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6800_00892100": { + "Prio": 4, + "TagId": 1757, + "TagIdEvtMsg": 10927, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40894600": { + "Prio": 4, + "TagId": 2545, + "TagIdEvtMsg": 11348, + "Unit": 2658, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892800": { + "Prio": 4, + "TagId": 2177, + "TagIdEvtMsg": 11063, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6180_08694600": { + "Prio": 3, + "TagId": 1736, + "TagIdEvtMsg": 10902, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1735 + ] + }, + "6802_00897000": { + "Prio": 4, + "TagId": 2428, + "TagIdEvtMsg": 11263, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897200": { + "Prio": 4, + "TagId": 2430, + "TagIdEvtMsg": 11265, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897100": { + "Prio": 4, + "TagId": 2429, + "TagIdEvtMsg": 11264, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897300": { + "Prio": 4, + "TagId": 2431, + "TagIdEvtMsg": 11266, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6400_00497E00": { + "Prio": 2, + "TagId": 896, + "TagIdEvtMsg": 11804, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "7300_00497E00": { + "Prio": 2, + "TagId": 896, + "TagIdEvtMsg": 11804, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "6400_00499800": { + "Prio": 2, + "TagId": 4013, + "TagIdEvtMsg": 11998, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "6400_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "71C0_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "72A0_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "6400_00499500": { + "Prio": 2, + "TagId": 4006, + "TagIdEvtMsg": 11990, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "6800_00894D00": { + "Prio": 4, + "TagId": 2380, + "TagIdEvtMsg": 11238, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2363 + ] + }, + "6802_40892C00": { + "Prio": 4, + "TagId": 3863, + "TagIdEvtMsg": 11907, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 838, + 2363 + ] + }, + "6800_00895800": { + "Prio": 4, + "TagId": 4011, + "TagIdEvtMsg": 11995, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2363 + ] + }, + "6200_00496900": { + "Prio": 2, + "TagId": 2370, + "TagIdEvtMsg": 11224, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496900": { + "Prio": 2, + "TagId": 2370, + "TagIdEvtMsg": 11224, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00499300": { + "Prio": 2, + "TagId": 4004, + "TagIdEvtMsg": 11988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00499300": { + "Prio": 2, + "TagId": 4004, + "TagIdEvtMsg": 11988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00496D00": { + "Prio": 2, + "TagId": 2455, + "TagIdEvtMsg": 11271, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "72F0_00496D00": { + "Prio": 2, + "TagId": 2455, + "TagIdEvtMsg": 11271, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "6400_00499700": { + "Prio": 2, + "TagId": 4010, + "TagIdEvtMsg": 11994, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "6400_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "71D0_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "72B0_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "6400_00499600": { + "Prio": 2, + "TagId": 4007, + "TagIdEvtMsg": 11991, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "6800_00894E00": { + "Prio": 4, + "TagId": 2381, + "TagIdEvtMsg": 11239, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2364 + ] + }, + "6802_40892D00": { + "Prio": 4, + "TagId": 3864, + "TagIdEvtMsg": 11908, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 838, + 2364 + ] + }, + "6800_00895900": { + "Prio": 4, + "TagId": 4012, + "TagIdEvtMsg": 11996, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2364 + ] + }, + "6200_00496A00": { + "Prio": 2, + "TagId": 2371, + "TagIdEvtMsg": 11225, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496A00": { + "Prio": 2, + "TagId": 2371, + "TagIdEvtMsg": 11225, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00499400": { + "Prio": 2, + "TagId": 4005, + "TagIdEvtMsg": 11989, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00499400": { + "Prio": 2, + "TagId": 4005, + "TagIdEvtMsg": 11989, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496B00": { + "Prio": 2, + "TagId": 2373, + "TagIdEvtMsg": 11228, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2365 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00496C00": { + "Prio": 2, + "TagId": 2365, + "TagIdEvtMsg": 11229, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2365 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00893500": { + "Prio": 4, + "TagId": 4210, + "TagIdEvtMsg": 12089, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 3823 + ] + }, + "6802_00893400": { + "Prio": 4, + "TagId": 4209, + "TagIdEvtMsg": 12088, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 3823 + ] + }, + "6802_00895700": { + "Prio": 4, + "TagId": 3590, + "TagIdEvtMsg": 11812, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 1193 + ] + }, + "6802_00895600": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 11811, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 1193 + ] + }, + "6802_00895100": { + "Prio": 4, + "TagId": 2567, + "TagIdEvtMsg": 11376, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00894A00": { + "Prio": 4, + "TagId": 5157, + "TagIdEvtMsg": 12857, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00894F00": { + "Prio": 4, + "TagId": 2565, + "TagIdEvtMsg": 11374, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895000": { + "Prio": 4, + "TagId": 2566, + "TagIdEvtMsg": 11375, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_08895400": { + "Prio": 4, + "TagId": 2570, + "TagIdEvtMsg": 11379, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_08895500": { + "Prio": 4, + "TagId": 2571, + "TagIdEvtMsg": 11380, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895200": { + "Prio": 4, + "TagId": 2568, + "TagIdEvtMsg": 11377, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895300": { + "Prio": 4, + "TagId": 2569, + "TagIdEvtMsg": 11378, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6102_00497C00": { + "Prio": 2, + "TagId": 3069, + "TagIdEvtMsg": 11475, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2532 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08497600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11332, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00898100": { + "Prio": 4, + "TagId": 2556, + "TagIdEvtMsg": 11361, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898000": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11360, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898300": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12591, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00897F00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11359, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898200": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12590, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6800_088A4000": { + "Prio": 4, + "TagId": 59, + "TagIdEvtMsg": 11563, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 267 + ] + }, + "6802_088A4200": { + "Prio": 4, + "TagId": 3216, + "TagIdEvtMsg": 11565, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 267 + ] + }, + "6802_088A4100": { + "Prio": 4, + "TagId": 3215, + "TagIdEvtMsg": 11564, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 267 + ] + }, + "6800_108A2B00": { + "Prio": 4, + "TagId": 4143, + "TagIdEvtMsg": 12036, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084A2C00": { + "Prio": 2, + "TagId": 4144, + "TagIdEvtMsg": 12039, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084A2E00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12052, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6800_108A3200": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12125, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084AAA00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_088AA100": { + "Prio": 4, + "TagId": 823, + "TagIdEvtMsg": 12961, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA200": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11173, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA300": { + "Prio": 4, + "TagId": 3199, + "TagIdEvtMsg": 11552, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008A2A00": { + "Prio": 4, + "TagId": 4213, + "TagIdEvtMsg": 12090, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290 + ] + }, + "6800_088A2900": { + "Prio": 4, + "TagId": 4144, + "TagIdEvtMsg": 12037, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 290 + ] + }, + "6800_088A3300": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12146, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309, + 4288 + ], + "Hidden": true + }, + "6800_088A2C00": { + "Prio": 4, + "TagId": 1539, + "TagIdEvtMsg": 10785, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309 + ] + }, + "6102_004A2A00": { + "Prio": 2, + "TagId": 3611, + "TagIdEvtMsg": 11830, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_006A8F00": { + "Prio": 3, + "TagId": 1488, + "TagIdEvtMsg": 10764, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_008A2D00": { + "Prio": 4, + "TagId": 1536, + "TagIdEvtMsg": 10782, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 309 + ] + }, + "6180_084A2800": { + "Prio": 2, + "TagId": 4543, + "TagIdEvtMsg": 12399, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ] + }, + "6102_404A9000": { + "Prio": 2, + "TagId": 3122, + "TagIdEvtMsg": 11496, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 394 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_108A2400": { + "Prio": 4, + "TagId": 820, + "TagIdEvtMsg": 10293, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 839, + 584 + ] + }, + "6800_008A2800": { + "Prio": 4, + "TagId": 1318, + "TagIdEvtMsg": 11926, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_008A3500": { + "Prio": 4, + "TagId": 4789, + "TagIdEvtMsg": 12587, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10319, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A1F00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10768, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6180_082A2100": { + "Prio": 1, + "TagId": 50, + "TagIdEvtMsg": 10770, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A2000": { + "Prio": 4, + "TagId": 1503, + "TagIdEvtMsg": 10769, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6802_108A2300": { + "Prio": 4, + "TagId": 819, + "TagIdEvtMsg": 11777, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 818 + ] + }, + "6802_088A2200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11776, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 818 + ] + }, + "6802_408A3900": { + "Prio": 4, + "TagId": 47, + "TagIdEvtMsg": 10200, + "Unit": 4, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 839, + 889 + ] + }, + "6802_088A2F00": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12105, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 911 + ] + }, + "6802_088A3000": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12106, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 914 + ] + }, + "6100_004A2900": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 11049, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1163, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004A1F00": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10560, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4700": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10593, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6180_004A5B00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10614, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6180_084A3300": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10572, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6100_004A1E00": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10559, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4600": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6180_004A5A00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10613, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6180_084A3200": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10571, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6800_00AA8C00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10816, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1623 + ] + }, + "6800_00AA8D00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10817, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1623 + ] + }, + "6100_004A2100": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10562, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4900": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10595, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6180_004A5D00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10616, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6180_084A3500": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10574, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6100_004A2000": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10561, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4800": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10594, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6180_004A5C00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10615, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6180_084A3400": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10573, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6100_004A2300": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10564, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4B00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10597, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6180_004A5F00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10618, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6180_084A3700": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10576, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6100_004A2200": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10563, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4A00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10596, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6180_004A5E00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10617, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6180_084A3600": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10575, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6100_004A2500": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10566, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4D00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10599, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6180_004A6100": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10620, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6180_084A3900": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10578, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6100_004A2400": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10565, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4C00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10598, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6180_004A6000": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10619, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6180_084A3800": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10577, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6100_004A2700": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10568, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4F00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10601, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6180_004A6300": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10622, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6180_084A3B00": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10580, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6100_004A2600": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10567, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4E00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_004A6200": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10621, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_084A3A00": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10579, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_084A9700": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10879, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6182_084A9E00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10896, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10878, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9900": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10881, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6182_084A9F00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10897, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6180_084A9800": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10880, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6180_084A9300": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 11006, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6182_084AA000": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 11009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6180_084A9200": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11005, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6180_084A9500": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 11008, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6182_084AA100": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 11010, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6180_084A9400": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11007, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6800_108A7400": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 10832, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7200", + "6800_108A7100", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_088A7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10828, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7200": { + "Prio": 4, + "TagId": 1637, + "TagIdEvtMsg": 10830, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7100", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7100": { + "Prio": 4, + "TagId": 1636, + "TagIdEvtMsg": 10829, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7200", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7300": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 10831, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7200", + "6800_108A7100" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6180_104A9D00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 10885, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9C00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 10884, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9A00": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 10882, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9B00": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 10883, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A8A00": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 10889, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A7700": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 12176, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6400": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10893, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10892, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6802_008A7600": { + "Prio": 4, + "TagId": 3233, + "TagIdEvtMsg": 11588, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6802_088A7500": { + "Prio": 4, + "TagId": 3147, + "TagIdEvtMsg": 11527, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10890, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10891, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A5B00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5A00", + "6800_108A5900" + ], + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5A00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11774, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5900" + ], + "Len": 63, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5900": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11773, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5A00" + ], + "Len": 32, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6180_084ABB00": { + "Prio": 2, + "TagId": 3365, + "TagIdEvtMsg": 11636, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104ABA00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 11605, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB900": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 11604, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB700": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 11602, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB800": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 11603, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABD00": { + "Prio": 2, + "TagId": 3317, + "TagIdEvtMsg": 11608, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5800": { + "Prio": 4, + "TagId": 3507, + "TagIdEvtMsg": 11697, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5200": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 11615, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5600", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABC00": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 11607, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5000": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11613, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_008A5700": { + "Prio": 4, + "TagId": 3351, + "TagIdEvtMsg": 11630, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5600": { + "Prio": 4, + "TagId": 714, + "TagIdEvtMsg": 11619, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA500": { + "Prio": 4, + "TagId": 3342, + "TagIdEvtMsg": 11621, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5100": { + "Prio": 4, + "TagId": 3321, + "TagIdEvtMsg": 11614, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108AA400": { + "Prio": 4, + "TagId": 3315, + "TagIdEvtMsg": 11606, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5500": { + "Prio": 4, + "TagId": 715, + "TagIdEvtMsg": 11618, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5300": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 11616, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11609, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A4F00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11612, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 63, + "TagHier": [ + 839, + 3313 + ] + }, + "6100_004AB600": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 11601, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_108A5400": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 11617, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5300" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084A6400": { + "Prio": 2, + "TagId": 3820, + "TagIdEvtMsg": 11898, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4D00": { + "Prio": 4, + "TagId": 3318, + "TagIdEvtMsg": 11610, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A4E00": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11611, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 32, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA600": { + "Prio": 4, + "TagId": 3356, + "TagIdEvtMsg": 11631, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6802_008A2600": { + "Prio": 4, + "TagId": 3612, + "TagIdEvtMsg": 11826, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A2B00": { + "Prio": 4, + "TagId": 1711, + "TagIdEvtMsg": 11825, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_008A2700": { + "Prio": 4, + "TagId": 3613, + "TagIdEvtMsg": 11827, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A3400": { + "Prio": 4, + "TagId": 266, + "TagIdEvtMsg": 12388, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A2E00": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12107, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A3100": { + "Prio": 4, + "TagId": 4249, + "TagIdEvtMsg": 12124, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6800_10AB3200": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10297, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10298, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3400": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10299, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_08AB1E00": { + "Prio": 5, + "TagId": 733, + "TagIdEvtMsg": 10320, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_108B4400": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 10300, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3500": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10301, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_00AB3C00": { + "Prio": 5, + "TagId": 330, + "TagIdEvtMsg": 10325, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 300 + ] + }, + "6800_10AB3D00": { + "Prio": 5, + "TagId": 718, + "TagIdEvtMsg": 10302, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 300 + ] + }, + "6800_088B1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10326, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_108B2100": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10327, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_008B1F00": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10328, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_10AB4800": { + "Prio": 5, + "TagId": 736, + "TagIdEvtMsg": 10329, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ], + "Deprecated": true + }, + "6800_108B2200": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10329, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_108B2000": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10330, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6180_104B2B00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 12493, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2A00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 12492, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2800": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 12490, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2900": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 12491, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6800_08AB2500": { + "Prio": 5, + "TagId": 1718, + "TagIdEvtMsg": 12489, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB1F00": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10321, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB2000", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2000": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10322, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10323, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6802_088B2500": { + "Prio": 4, + "TagId": 3571, + "TagIdEvtMsg": 10158, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6802_10AB2600": { + "Prio": 5, + "TagId": 5266, + "TagIdEvtMsg": 12921, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6802_10AB2700": { + "Prio": 5, + "TagId": 5267, + "TagIdEvtMsg": 12922, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6802_10AB2800": { + "Prio": 5, + "TagId": 5268, + "TagIdEvtMsg": 12923, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10324, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2100" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6802_108B2400": { + "Prio": 4, + "TagId": 2576, + "TagIdEvtMsg": 10157, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6800_00AB5700": { + "Prio": 5, + "TagId": 330, + "TagIdEvtMsg": 10332, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 260 + ] + }, + "6800_088B6000": { + "Prio": 4, + "TagId": 738, + "TagIdEvtMsg": 10333, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6802_08AB6500": { + "Prio": 5, + "TagId": 755, + "TagIdEvtMsg": 10362, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6100": { + "Prio": 5, + "TagId": 739, + "TagIdEvtMsg": 10334, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_108B6600": { + "Prio": 4, + "TagId": 719, + "TagIdEvtMsg": 10303, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6200": { + "Prio": 5, + "TagId": 740, + "TagIdEvtMsg": 10335, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6300": { + "Prio": 5, + "TagId": 741, + "TagIdEvtMsg": 10336, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6400": { + "Prio": 5, + "TagId": 742, + "TagIdEvtMsg": 10337, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_088B6100": { + "Prio": 4, + "TagId": 743, + "TagIdEvtMsg": 10338, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6182_084B2400": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 12127, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6180_084B2000": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12118, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6180_104B2200": { + "Prio": 2, + "TagId": 4245, + "TagIdEvtMsg": 12120, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6102_004B2100": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 12119, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084B2300": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4246 + ] + }, + "6102_004B2D00": { + "Prio": 2, + "TagId": 5174, + "TagIdEvtMsg": 12876, + "Unit": 13, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088B3400": { + "Prio": 4, + "TagId": 1625, + "TagIdEvtMsg": 12428, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 584 + ] + }, + "6800_088B3500": { + "Prio": 4, + "TagId": 4619, + "TagIdEvtMsg": 12429, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 584 + ] + }, + "6802_088B3000": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 12148, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246, + 4241 + ] + }, + "6802_088B2F00": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 12147, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246, + 4290 + ] + }, + "6182_084B2500": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 12128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B2B00": { + "Prio": 4, + "TagId": 1146, + "TagIdEvtMsg": 12122, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B2A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12121, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B3600": { + "Prio": 4, + "TagId": 4621, + "TagIdEvtMsg": 12430, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6800_088B3800": { + "Prio": 4, + "TagId": 4784, + "TagIdEvtMsg": 12578, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B4300": { + "Prio": 4, + "TagId": 4760, + "TagIdEvtMsg": 12880, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6802_008B4500": { + "Prio": 4, + "TagId": 5225, + "TagIdEvtMsg": 12891, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6802_008B4600": { + "Prio": 4, + "TagId": 5226, + "TagIdEvtMsg": 12892, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6802_008B4700": { + "Prio": 4, + "TagId": 5227, + "TagIdEvtMsg": 12893, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6800_088B7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_008B7100": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10825, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_088B7200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_008B7300": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10827, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_108B4000": { + "Prio": 4, + "TagId": 4882, + "TagIdEvtMsg": 12691, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6802_088B7500": { + "Prio": 4, + "TagId": 4634, + "TagIdEvtMsg": 12439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_108B3F00": { + "Prio": 4, + "TagId": 1629, + "TagIdEvtMsg": 12690, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_008B7400": { + "Prio": 4, + "TagId": 712, + "TagIdEvtMsg": 11763, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_088B5200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10887, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1716 + ] + }, + "6802_008B5300": { + "Prio": 4, + "TagId": 3634, + "TagIdEvtMsg": 11831, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1716 + ] + }, + "6180_084B1E00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10886, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_008B2E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12132, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_088B3D00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 10949, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3B00": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10947, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3E00": { + "Prio": 4, + "TagId": 2022, + "TagIdEvtMsg": 11025, + "DataFrmt": 28, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_008B3A00": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10946, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3C00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10948, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3900": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10945, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6802_008B8A00": { + "Prio": 4, + "TagId": 2010, + "TagIdEvtMsg": 11015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6802_108B8B00": { + "Prio": 4, + "TagId": 2112, + "TagIdEvtMsg": 11035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6800_108B2600": { + "Prio": 4, + "TagId": 3906, + "TagIdEvtMsg": 11914, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 840, + 3572 + ] + }, + "6802_088B2700": { + "Prio": 4, + "TagId": 4044, + "TagIdEvtMsg": 12000, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 3663 + ] + }, + "6182_084B1F00": { + "Prio": 2, + "TagId": 4045, + "TagIdEvtMsg": 12001, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 3663 + ] + }, + "6802_10AB2400": { + "Prio": 5, + "TagId": 4243, + "TagIdEvtMsg": 12117, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241, + 4244 + ] + }, + "6802_008B2C00": { + "Prio": 4, + "TagId": 4265, + "TagIdEvtMsg": 12126, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B2900": { + "Prio": 4, + "TagId": 1146, + "TagIdEvtMsg": 12115, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_10AB2300": { + "Prio": 5, + "TagId": 4242, + "TagIdEvtMsg": 12116, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B2800": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_108B2D00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12131, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B3200": { + "Prio": 4, + "TagId": 4327, + "TagIdEvtMsg": 12174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4326 + ] + }, + "6802_008B4200": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 12803, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 5079 + ] + }, + "6802_108B4100": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 12802, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 5079 + ] + }, + "6182_084B2C00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 12804, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 5079 + ] + }, + "6800_088C2300": { + "Prio": 4, + "TagId": 5349, + "TagIdEvtMsg": 12970, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C2200": { + "Prio": 4, + "TagId": 4959, + "TagIdEvtMsg": 12739, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6100_004C1E00": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10841, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 360 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088C2000": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 10144, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C1E00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10122, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C4600": { + "Prio": 4, + "TagId": 1325, + "TagIdEvtMsg": 10684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4400": { + "Prio": 4, + "TagId": 1197, + "TagIdEvtMsg": 10590, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4700": { + "Prio": 4, + "TagId": 1326, + "TagIdEvtMsg": 10685, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4500": { + "Prio": 4, + "TagId": 1198, + "TagIdEvtMsg": 10591, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6100_004C1F00": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10856, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1687 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2000": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10857, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1688 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2300": { + "Prio": 2, + "TagId": 2413, + "TagIdEvtMsg": 11251, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1688 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2100": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10943, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1820 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2200": { + "Prio": 2, + "TagId": 2413, + "TagIdEvtMsg": 11250, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1820 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_008D5200": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10331, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 842, + 452 + ] + }, + "6800_088D3B00": { + "Prio": 4, + "TagId": 744, + "TagIdEvtMsg": 10339, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3000": { + "Prio": 4, + "TagId": 745, + "TagIdEvtMsg": 10340, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6802_088D3E00": { + "Prio": 4, + "TagId": 2675, + "TagIdEvtMsg": 11441, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3C00": { + "Prio": 4, + "TagId": 746, + "TagIdEvtMsg": 10341, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3100": { + "Prio": 4, + "TagId": 747, + "TagIdEvtMsg": 10342, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3D00": { + "Prio": 4, + "TagId": 748, + "TagIdEvtMsg": 10343, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3200": { + "Prio": 4, + "TagId": 749, + "TagIdEvtMsg": 10344, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6800_108D1F00": { + "Prio": 4, + "TagId": 750, + "TagIdEvtMsg": 10346, + "DataFrmt": 28, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D1E00": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 10345, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D2100": { + "Prio": 4, + "TagId": 752, + "TagIdEvtMsg": 10348, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D2000": { + "Prio": 4, + "TagId": 751, + "TagIdEvtMsg": 10347, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_088D6000": { + "Prio": 4, + "TagId": 1145, + "TagIdEvtMsg": 10349, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_088D6400": { + "Prio": 4, + "TagId": 1870, + "TagIdEvtMsg": 10959, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_088D6100": { + "Prio": 4, + "TagId": 753, + "TagIdEvtMsg": 10350, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_008D6500": { + "Prio": 4, + "TagId": 1871, + "TagIdEvtMsg": 10960, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 842, + 708 + ] + }, + "6100_004E3400": { + "Prio": 2, + "TagId": 4739, + "TagIdEvtMsg": 12524, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3600": { + "Prio": 2, + "TagId": 4741, + "TagIdEvtMsg": 12526, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3300": { + "Prio": 2, + "TagId": 4738, + "TagIdEvtMsg": 12523, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3500": { + "Prio": 2, + "TagId": 4740, + "TagIdEvtMsg": 12525, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E2800": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200090, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4531 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6800_408E2800": { + "Prio": 4, + "TagId": 4535, + "TagIdEvtMsg": 200090, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230, + 4531 + ] + }, + "6100_404E2900": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200091, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4532 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6800_408E2900": { + "Prio": 4, + "TagId": 4535, + "TagIdEvtMsg": 200091, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230, + 4532 + ] + }, + "6100_404E2700": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200089, + "Unit": 3134, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4530 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2600": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200088, + "Unit": 4391, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4536 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2500": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200087, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 417 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2400": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200086, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E4000": { + "Prio": 2, + "TagId": 4531, + "TagIdEvtMsg": 12793, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_408E4000": { + "Prio": 4, + "TagId": 4531, + "TagIdEvtMsg": 12793, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230 + ] + }, + "6100_404E4100": { + "Prio": 2, + "TagId": 4532, + "TagIdEvtMsg": 12794, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_408E4100": { + "Prio": 4, + "TagId": 4532, + "TagIdEvtMsg": 12794, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230 + ] + }, + "6100_404E3F00": { + "Prio": 2, + "TagId": 4530, + "TagIdEvtMsg": 12792, + "Unit": 3134, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E3E00": { + "Prio": 2, + "TagId": 4536, + "TagIdEvtMsg": 12791, + "Unit": 4391, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2F00": { + "Prio": 2, + "TagId": 4640, + "TagIdEvtMsg": 200093, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 418 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3100": { + "Prio": 2, + "TagId": 4641, + "TagIdEvtMsg": 200095, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 418 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2E00": { + "Prio": 2, + "TagId": 4640, + "TagIdEvtMsg": 200092, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 1408 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3000": { + "Prio": 2, + "TagId": 4641, + "TagIdEvtMsg": 200094, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 1408 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 12790, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_00AE1E00": { + "Prio": 5, + "TagId": 4760, + "TagIdEvtMsg": 12543, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 299 + ] + }, + "6800_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "680E_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9E00": { + "Prio": 2, + "TagId": 3976, + "TagIdEvtMsg": 11968, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9F00": { + "Prio": 2, + "TagId": 3977, + "TagIdEvtMsg": 11969, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008EA500": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11982, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8400": { + "Prio": 2, + "TagId": 3733, + "TagIdEvtMsg": 11878, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8500": { + "Prio": 2, + "TagId": 3734, + "TagIdEvtMsg": 11879, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E8100": { + "Prio": 2, + "TagId": 3730, + "TagIdEvtMsg": 11875, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E8F00": { + "Prio": 4, + "TagId": 3942, + "TagIdEvtMsg": 11934, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8A00": { + "Prio": 4, + "TagId": 3815, + "TagIdEvtMsg": 11893, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA100": { + "Prio": 4, + "TagId": 3980, + "TagIdEvtMsg": 11972, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9300": { + "Prio": 4, + "TagId": 3948, + "TagIdEvtMsg": 11940, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9100": { + "Prio": 4, + "TagId": 3946, + "TagIdEvtMsg": 11938, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9200": { + "Prio": 4, + "TagId": 3947, + "TagIdEvtMsg": 11939, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8300": { + "Prio": 2, + "TagId": 3732, + "TagIdEvtMsg": 11877, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8600": { + "Prio": 2, + "TagId": 3735, + "TagIdEvtMsg": 11880, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8800": { + "Prio": 4, + "TagId": 3727, + "TagIdEvtMsg": 11872, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8200": { + "Prio": 2, + "TagId": 3731, + "TagIdEvtMsg": 11876, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E8E00": { + "Prio": 4, + "TagId": 3818, + "TagIdEvtMsg": 11897, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8900": { + "Prio": 2, + "TagId": 3738, + "TagIdEvtMsg": 11883, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_004E9900": { + "Prio": 2, + "TagId": 3970, + "TagIdEvtMsg": 11962, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_408E9A00": { + "Prio": 4, + "TagId": 3955, + "TagIdEvtMsg": 11947, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9800": { + "Prio": 4, + "TagId": 3953, + "TagIdEvtMsg": 11945, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9900": { + "Prio": 4, + "TagId": 3954, + "TagIdEvtMsg": 11946, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9B00": { + "Prio": 4, + "TagId": 3956, + "TagIdEvtMsg": 11948, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9700": { + "Prio": 4, + "TagId": 3952, + "TagIdEvtMsg": 11944, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088E9F00": { + "Prio": 4, + "TagId": 3968, + "TagIdEvtMsg": 11960, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9600": { + "Prio": 2, + "TagId": 3966, + "TagIdEvtMsg": 11958, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9700": { + "Prio": 2, + "TagId": 3967, + "TagIdEvtMsg": 11959, + "Unit": 2, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9000": { + "Prio": 2, + "TagId": 3960, + "TagIdEvtMsg": 11952, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9100": { + "Prio": 2, + "TagId": 3961, + "TagIdEvtMsg": 11953, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9200": { + "Prio": 2, + "TagId": 3962, + "TagIdEvtMsg": 11954, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9300": { + "Prio": 2, + "TagId": 3963, + "TagIdEvtMsg": 11955, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9400": { + "Prio": 2, + "TagId": 3964, + "TagIdEvtMsg": 11956, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9500": { + "Prio": 2, + "TagId": 3965, + "TagIdEvtMsg": 11957, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E9C00": { + "Prio": 4, + "TagId": 3957, + "TagIdEvtMsg": 11949, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9D00": { + "Prio": 4, + "TagId": 3958, + "TagIdEvtMsg": 11950, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9E00": { + "Prio": 4, + "TagId": 3959, + "TagIdEvtMsg": 11951, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8000": { + "Prio": 2, + "TagId": 3729, + "TagIdEvtMsg": 11874, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E8C00": { + "Prio": 2, + "TagId": 3813, + "TagIdEvtMsg": 11892, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E9400": { + "Prio": 4, + "TagId": 3949, + "TagIdEvtMsg": 11941, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9600": { + "Prio": 4, + "TagId": 3951, + "TagIdEvtMsg": 11943, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9500": { + "Prio": 4, + "TagId": 3950, + "TagIdEvtMsg": 11942, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E8100": { + "Prio": 4, + "TagId": 3721, + "TagIdEvtMsg": 11866, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E8000": { + "Prio": 4, + "TagId": 3720, + "TagIdEvtMsg": 11865, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9A00": { + "Prio": 2, + "TagId": 3972, + "TagIdEvtMsg": 11964, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9B00": { + "Prio": 2, + "TagId": 3973, + "TagIdEvtMsg": 11965, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9C00": { + "Prio": 2, + "TagId": 3974, + "TagIdEvtMsg": 11966, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9D00": { + "Prio": 2, + "TagId": 3975, + "TagIdEvtMsg": 11967, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E9000": { + "Prio": 4, + "TagId": 3945, + "TagIdEvtMsg": 11937, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408EA000": { + "Prio": 4, + "TagId": 3971, + "TagIdEvtMsg": 11963, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6182_084EA300": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11977, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA400": { + "Prio": 4, + "TagId": 3741, + "TagIdEvtMsg": 13014, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6400_004E8B00": { + "Prio": 2, + "TagId": 3740, + "TagIdEvtMsg": 11885, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_008E8B00": { + "Prio": 4, + "TagId": 3816, + "TagIdEvtMsg": 11894, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8200": { + "Prio": 4, + "TagId": 3722, + "TagIdEvtMsg": 11867, + "Unit": 6, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA200": { + "Prio": 4, + "TagId": 3751, + "TagIdEvtMsg": 11886, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8D00": { + "Prio": 4, + "TagId": 3817, + "TagIdEvtMsg": 11896, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6402_004EA200": { + "Prio": 2, + "TagId": 3987, + "TagIdEvtMsg": 11976, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_008E8500": { + "Prio": 4, + "TagId": 3725, + "TagIdEvtMsg": 11870, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8600": { + "Prio": 4, + "TagId": 3726, + "TagIdEvtMsg": 11871, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8C00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 11895, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8A00": { + "Prio": 2, + "TagId": 3739, + "TagIdEvtMsg": 11884, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004EA000": { + "Prio": 2, + "TagId": 3978, + "TagIdEvtMsg": 11970, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004EA100": { + "Prio": 2, + "TagId": 3979, + "TagIdEvtMsg": 11971, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408EA300": { + "Prio": 4, + "TagId": 5386, + "TagIdEvtMsg": 13005, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8400": { + "Prio": 4, + "TagId": 3724, + "TagIdEvtMsg": 11869, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8300": { + "Prio": 4, + "TagId": 3723, + "TagIdEvtMsg": 11868, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6182_084EA400": { + "Prio": 2, + "TagId": 3988, + "TagIdEvtMsg": 11978, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6400_004E9800": { + "Prio": 2, + "TagId": 3969, + "TagIdEvtMsg": 11961, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_404E8700": { + "Prio": 2, + "TagId": 3736, + "TagIdEvtMsg": 11881, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8800": { + "Prio": 2, + "TagId": 3737, + "TagIdEvtMsg": 11882, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8900": { + "Prio": 4, + "TagId": 3728, + "TagIdEvtMsg": 11873, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6800_088E1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10352, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 843, + 709 + ] + }, + "6800_108E1F00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10353, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 843, + 709 + ] + }, + "6800_108E2000": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10351, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 843, + 709 + ] + }, + "6800_088E4500": { + "Prio": 4, + "TagId": 738, + "TagIdEvtMsg": 10355, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4900": { + "Prio": 4, + "TagId": 1258, + "TagIdEvtMsg": 10676, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4C00": { + "Prio": 4, + "TagId": 1325, + "TagIdEvtMsg": 10682, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4B00": { + "Prio": 4, + "TagId": 1197, + "TagIdEvtMsg": 10681, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4D00": { + "Prio": 4, + "TagId": 1326, + "TagIdEvtMsg": 10683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10354, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4A00": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10356, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_008E4600": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10357, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_10AE1F00": { + "Prio": 5, + "TagId": 736, + "TagIdEvtMsg": 10358, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ], + "Deprecated": true + }, + "6800_108E4E00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10358, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4800": { + "Prio": 4, + "TagId": 1237, + "TagIdEvtMsg": 10671, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4700": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10359, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4F00": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 10823, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E6000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10818, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6900": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": 11024, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_108E6200": { + "Prio": 4, + "TagId": 1633, + "TagIdEvtMsg": 10820, + "DataFrmt": 29, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6100": { + "Prio": 4, + "TagId": 1632, + "TagIdEvtMsg": 10819, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6700": { + "Prio": 4, + "TagId": 1936, + "TagIdEvtMsg": 10970, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6300": { + "Prio": 4, + "TagId": 1634, + "TagIdEvtMsg": 10821, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6600": { + "Prio": 4, + "TagId": 1931, + "TagIdEvtMsg": 10969, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6500": { + "Prio": 4, + "TagId": 1930, + "TagIdEvtMsg": 10968, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6800": { + "Prio": 4, + "TagId": 2021, + "TagIdEvtMsg": 11023, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10822, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 710 + ] + }, + "6A02_088E2500": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 200137, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639, + 4834 + ] + }, + "6A02_008E2400": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 200136, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639, + 4834 + ] + }, + "6100_004E2B00": { + "Prio": 2, + "TagId": 200009, + "TagIdEvtMsg": 200074, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_008E2C00": { + "Prio": 4, + "TagId": 200063, + "TagIdEvtMsg": 200075, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6A02_008E2C00": { + "Prio": 4, + "TagId": 200063, + "TagIdEvtMsg": 200075, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_404E4200": { + "Prio": 2, + "TagId": 5300, + "TagIdEvtMsg": 12944, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_008E2D00": { + "Prio": 4, + "TagId": 200066, + "TagIdEvtMsg": 200076, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6A02_008E2D00": { + "Prio": 4, + "TagId": 200066, + "TagIdEvtMsg": 200076, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E3C00": { + "Prio": 2, + "TagId": 2608, + "TagIdEvtMsg": 12643, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3B00": { + "Prio": 2, + "TagId": 4835, + "TagIdEvtMsg": 200138, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_008E2300": { + "Prio": 4, + "TagId": 4836, + "TagIdEvtMsg": 200135, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E2200": { + "Prio": 2, + "TagId": 4534, + "TagIdEvtMsg": 210025, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2A00": { + "Prio": 2, + "TagId": 395, + "TagIdEvtMsg": 210028, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2300": { + "Prio": 2, + "TagId": 200012, + "TagIdEvtMsg": 210005, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_004E2100": { + "Prio": 2, + "TagId": 528, + "TagIdEvtMsg": 210024, + "Unit": 17, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6A02_008E2200": { + "Prio": 4, + "TagId": 1408, + "TagIdEvtMsg": 200134, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_404E1F00": { + "Prio": 2, + "TagId": 4533, + "TagIdEvtMsg": 210023, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6A02_008E2600": { + "Prio": 4, + "TagId": 4833, + "TagIdEvtMsg": 200133, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E3700": { + "Prio": 2, + "TagId": 4742, + "TagIdEvtMsg": 12530, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3800": { + "Prio": 2, + "TagId": 4743, + "TagIdEvtMsg": 12531, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3A00": { + "Prio": 2, + "TagId": 4745, + "TagIdEvtMsg": 12533, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3900": { + "Prio": 2, + "TagId": 4744, + "TagIdEvtMsg": 12532, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_004E3200": { + "Prio": 2, + "TagId": 1870, + "TagIdEvtMsg": 12529, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Sum": true, + "SumD": true + }, + "6800_088E2100": { + "Prio": 4, + "TagId": 4771, + "TagIdEvtMsg": 12568, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 4773 + ] + }, + "6800_008F3200": { + "Prio": 4, + "TagId": 1683, + "TagIdEvtMsg": 10853, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3100": { + "Prio": 4, + "TagId": 1682, + "TagIdEvtMsg": 10852, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_088F3000": { + "Prio": 4, + "TagId": 3348, + "TagIdEvtMsg": 11627, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3400": { + "Prio": 4, + "TagId": 1685, + "TagIdEvtMsg": 10855, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3300": { + "Prio": 4, + "TagId": 1684, + "TagIdEvtMsg": 10854, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_088F2000": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 400 + ] + }, + "6100_004F2900": { + "Prio": 2, + "TagId": 4848, + "TagIdEvtMsg": 12659, + "Unit": 4928, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2A00": { + "Prio": 2, + "TagId": 4849, + "TagIdEvtMsg": 12660, + "Unit": 4928, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2800": { + "Prio": 2, + "TagId": 4847, + "TagIdEvtMsg": 12658, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4D00": { + "Prio": 2, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4D00": { + "Prio": 2, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F4D00": { + "Prio": 3, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4C00": { + "Prio": 2, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4C00": { + "Prio": 2, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F4C00": { + "Prio": 3, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404F3500": { + "Prio": 2, + "TagId": 4861, + "TagIdEvtMsg": 12671, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F9000": { + "Prio": 2, + "TagId": 248, + "TagIdEvtMsg": 10076, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_004F9000": { + "Prio": 2, + "TagId": 248, + "TagIdEvtMsg": 10076, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6200_002F7A00": { + "Prio": 1, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_002F7A00": { + "Prio": 1, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F7A00": { + "Prio": 3, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3300": { + "Prio": 2, + "TagId": 4858, + "TagIdEvtMsg": 12669, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3400": { + "Prio": 2, + "TagId": 4859, + "TagIdEvtMsg": 12670, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3000": { + "Prio": 2, + "TagId": 4855, + "TagIdEvtMsg": 12666, + "Unit": 4948, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2E00": { + "Prio": 2, + "TagId": 4853, + "TagIdEvtMsg": 12664, + "Unit": 4862, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2F00": { + "Prio": 2, + "TagId": 4854, + "TagIdEvtMsg": 12665, + "Unit": 4862, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084F3100": { + "Prio": 2, + "TagId": 4856, + "TagIdEvtMsg": 12667, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ] + }, + "6200_004F9100": { + "Prio": 2, + "TagId": 334, + "TagIdEvtMsg": 10077, + "Unit": 12, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_004F9100": { + "Prio": 2, + "TagId": 334, + "TagIdEvtMsg": 10077, + "Unit": 12, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6800_008F3500": { + "Prio": 4, + "TagId": 3370, + "TagIdEvtMsg": 11637, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82 + ] + }, + "6100_004F3600": { + "Prio": 2, + "TagId": 4941, + "TagIdEvtMsg": 12734, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_402F1E00": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10069, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_402F1E00": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10069, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_406F1F00": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10068, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_406F1F00": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10068, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_408F1E00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10261, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ] + }, + "6200_002F4B00": { + "Prio": 1, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_002F4B00": { + "Prio": 1, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_004F4B00": { + "Prio": 2, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2300": { + "Prio": 2, + "TagId": 4887, + "TagIdEvtMsg": 12695, + "Unit": 17, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404F3700": { + "Prio": 2, + "TagId": 4942, + "TagIdEvtMsg": 12735, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2C00": { + "Prio": 2, + "TagId": 4851, + "TagIdEvtMsg": 12662, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2D00": { + "Prio": 2, + "TagId": 4852, + "TagIdEvtMsg": 12663, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2B00": { + "Prio": 2, + "TagId": 4850, + "TagIdEvtMsg": 12661, + "Unit": 9, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3200": { + "Prio": 2, + "TagId": 4857, + "TagIdEvtMsg": 12668, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F9200": { + "Prio": 2, + "TagId": 1906, + "TagIdEvtMsg": 10966, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F9200": { + "Prio": 2, + "TagId": 1906, + "TagIdEvtMsg": 10966, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088F2100": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 844, + 289, + 400 + ] + }, + "6200_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_406F2100": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10102, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_406F2100": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10102, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_408F1F00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10276, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ] + }, + "6100_004F2200": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 12527, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 4735 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "71B0_00502000": { + "Prio": 2, + "TagId": 8575, + "TagIdEvtMsg": 12627, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "71A0_00501F00": { + "Prio": 2, + "TagId": 8574, + "TagIdEvtMsg": 12626, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "71F0_00501F00": { + "Prio": 2, + "TagId": 8574, + "TagIdEvtMsg": 12626, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "7190_00501E00": { + "Prio": 2, + "TagId": 8573, + "TagIdEvtMsg": 12625, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "6100_00512200": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12553, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12551, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512100": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12552, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512500": { + "Prio": 2, + "TagId": 4764, + "TagIdEvtMsg": 12795, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00512600": { + "Prio": 2, + "TagId": 4810, + "TagIdEvtMsg": 12796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_0091A500": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11922, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A600": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11923, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A700": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11924, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A800": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 11925, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A400": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11921, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_00918A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11167, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10918F00": { + "Prio": 4, + "TagId": 828, + "TagIdEvtMsg": 11801, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11769, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10919000": { + "Prio": 4, + "TagId": 829, + "TagIdEvtMsg": 11802, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11168, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00B18900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11170, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10B18B00": { + "Prio": 5, + "TagId": 721, + "TagIdEvtMsg": 11480, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00B18A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11171, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11166, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11169, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_08918D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11172, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00915A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10418, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11787, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10419, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00B15900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10421, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00B15A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10422, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10417, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10420, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_08915D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10868, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_0091A000": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11917, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A100": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11918, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A200": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11919, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A300": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 11920, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_00919F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11916, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_00912A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10382, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11781, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10383, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10385, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10386, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10381, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10384, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_08912D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10862, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00913A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10394, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11783, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10395, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00B13900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10397, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00B13A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10398, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10393, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10396, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_08913D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10388, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11782, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10389, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00B13100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10391, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00B13200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10392, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10387, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10390, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_08913500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10863, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00919200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11244, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11770, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11245, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00B19100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11247, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00B19200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11248, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11243, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11246, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_08919500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11249, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00912200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10376, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_10912700": { + "Prio": 4, + "TagId": 4106, + "TagIdEvtMsg": 12035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00912600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11780, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00912300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10377, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10379, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10380, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10375, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10378, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_08912500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10861, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00917A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10364, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11767, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10365, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00B17900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10367, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00B17A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10368, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10363, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10366, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_08917D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10872, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00918200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11117, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11768, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11118, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00B18100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11120, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00B18200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11121, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11116, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11119, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_08918500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11122, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00916200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10424, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11764, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10425, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00B16100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10427, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00B16200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10428, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10423, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10426, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_08916500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10869, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00917200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10512, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11766, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10513, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00B17100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10515, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00B17200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10516, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10511, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10514, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_08917500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10871, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00916A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10482, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11765, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10484, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00B16900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10485, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00B16A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10486, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10481, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10483, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_08916D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10870, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00914A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10406, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11785, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10407, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00B14900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10409, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00B14A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10410, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10405, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10408, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_08914D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10866, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10400, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11784, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10401, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00B14100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10403, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00B14200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10404, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10399, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10402, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_08914500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10865, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00919A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11594, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11771, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11595, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00B19900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11597, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00B19A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11598, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11593, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11596, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_08919D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11599, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00915200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10412, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11786, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10413, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00B15100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10415, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00B15200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10416, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10411, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10414, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_08915500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10867, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6180_08511F00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12034, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 309, + 3913 + ] + }, + "6180_08511E00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12033, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 309, + 3912 + ] + }, + "6100_00512400": { + "Prio": 2, + "TagId": 448, + "TagIdEvtMsg": 12556, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 1740, + 1079, + 3409 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08512300": { + "Prio": 2, + "TagId": 1467, + "TagIdEvtMsg": 12557, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 1740, + 1079 + ] + }, + "6A02_40951700": { + "Prio": 4, + "TagId": 4321, + "TagIdEvtMsg": 12426, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40950D00": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12480, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40951800": { + "Prio": 4, + "TagId": 4324, + "TagIdEvtMsg": 12427, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40950E00": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12481, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_00954600": { + "Prio": 4, + "TagId": 4774, + "TagIdEvtMsg": 12562, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A12_00954600": { + "Prio": 4, + "TagId": 4774, + "TagIdEvtMsg": 12562, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40953F00": { + "Prio": 4, + "TagId": 2172, + "TagIdEvtMsg": 12499, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46 + ] + }, + "6A02_40954000": { + "Prio": 4, + "TagId": 2173, + "TagIdEvtMsg": 12500, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46 + ] + }, + "6802_08921900": { + "Prio": 4, + "TagId": 3641, + "TagIdEvtMsg": 11857, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 229 + ] + }, + "6800_4092F800": { + "Prio": 4, + "TagId": 3406, + "TagIdEvtMsg": 11645, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092FA00": { + "Prio": 4, + "TagId": 3408, + "TagIdEvtMsg": 11647, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092AB00": { + "Prio": 4, + "TagId": 3424, + "TagIdEvtMsg": 11658, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092AC00": { + "Prio": 4, + "TagId": 3425, + "TagIdEvtMsg": 11659, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0092F700": { + "Prio": 4, + "TagId": 3405, + "TagIdEvtMsg": 11644, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0092F900": { + "Prio": 4, + "TagId": 3407, + "TagIdEvtMsg": 11646, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0892F600": { + "Prio": 4, + "TagId": 3404, + "TagIdEvtMsg": 11643, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6A02_4092FD00": { + "Prio": 4, + "TagId": 3406, + "TagIdEvtMsg": 11650, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092FF00": { + "Prio": 4, + "TagId": 3408, + "TagIdEvtMsg": 11652, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092A600": { + "Prio": 4, + "TagId": 3424, + "TagIdEvtMsg": 11660, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092A700": { + "Prio": 4, + "TagId": 3425, + "TagIdEvtMsg": 11661, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0092FC00": { + "Prio": 4, + "TagId": 3405, + "TagIdEvtMsg": 11649, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0092FE00": { + "Prio": 4, + "TagId": 3407, + "TagIdEvtMsg": 11651, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0892FB00": { + "Prio": 4, + "TagId": 3404, + "TagIdEvtMsg": 11648, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6800_0892F500": { + "Prio": 4, + "TagId": 3400, + "TagIdEvtMsg": 11642, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401 + ] + }, + "6802_0892EC00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11303, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_4092EE00": { + "Prio": 4, + "TagId": 2504, + "TagIdEvtMsg": 11305, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892EF00": { + "Prio": 4, + "TagId": 2505, + "TagIdEvtMsg": 11306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_08956600": { + "Prio": 4, + "TagId": 4380, + "TagIdEvtMsg": 12222, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_08956400": { + "Prio": 4, + "TagId": 4378, + "TagIdEvtMsg": 12220, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ], + "Deprecated": true + }, + "6802_00956500": { + "Prio": 4, + "TagId": 4379, + "TagIdEvtMsg": 12221, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_00956300": { + "Prio": 4, + "TagId": 4377, + "TagIdEvtMsg": 12219, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ], + "Deprecated": true + }, + "6802_0092ED00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11304, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0895BB00": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12689, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4880 + ] + }, + "6802_0895BA00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12688, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4880 + ] + }, + "6802_0892E900": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11300, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_4092EB00": { + "Prio": 4, + "TagId": 2503, + "TagIdEvtMsg": 11302, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_08965D00": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12955, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0092EA00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11301, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_00965B00": { + "Prio": 4, + "TagId": 5254, + "TagIdEvtMsg": 12953, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_08965E00": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12956, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 5312 + ] + }, + "6802_00965C00": { + "Prio": 4, + "TagId": 5254, + "TagIdEvtMsg": 12954, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 5312 + ] + }, + "6802_0895B800": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12686, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895B700": { + "Prio": 4, + "TagId": 4877, + "TagIdEvtMsg": 12685, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895B900": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12687, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895A800": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 12297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_00953800": { + "Prio": 4, + "TagId": 4481, + "TagIdEvtMsg": 12165, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_0095FF00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 12389, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_0892E600": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00963800": { + "Prio": 4, + "TagId": 5159, + "TagIdEvtMsg": 12861, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00963700": { + "Prio": 4, + "TagId": 5158, + "TagIdEvtMsg": 12860, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_4095AC00": { + "Prio": 4, + "TagId": 4486, + "TagIdEvtMsg": 12167, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00921800": { + "Prio": 4, + "TagId": 3677, + "TagIdEvtMsg": 11861, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_40966400": { + "Prio": 4, + "TagId": 5354, + "TagIdEvtMsg": 12991, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_4095AB00": { + "Prio": 4, + "TagId": 4485, + "TagIdEvtMsg": 12166, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_40966300": { + "Prio": 4, + "TagId": 5353, + "TagIdEvtMsg": 12990, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E800": { + "Prio": 4, + "TagId": 2513, + "TagIdEvtMsg": 11299, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_08965900": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12959, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E700": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11298, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00965700": { + "Prio": 4, + "TagId": 5252, + "TagIdEvtMsg": 12957, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0895AA00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 12168, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_4095AE00": { + "Prio": 4, + "TagId": 4486, + "TagIdEvtMsg": 12304, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_40966600": { + "Prio": 4, + "TagId": 5354, + "TagIdEvtMsg": 12993, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_4095AD00": { + "Prio": 4, + "TagId": 4485, + "TagIdEvtMsg": 12303, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_40966500": { + "Prio": 4, + "TagId": 5353, + "TagIdEvtMsg": 12992, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_08965A00": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12960, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_0095B000": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 12305, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_00965800": { + "Prio": 4, + "TagId": 5252, + "TagIdEvtMsg": 12958, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_08955C00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12681, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4881 + ] + }, + "6802_08955B00": { + "Prio": 4, + "TagId": 4874, + "TagIdEvtMsg": 12680, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4881 + ] + }, + "6802_08955D00": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12682, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_08955E00": { + "Prio": 4, + "TagId": 4877, + "TagIdEvtMsg": 12683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_0895B600": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_00B22400": { + "Prio": 5, + "TagId": 5123, + "TagIdEvtMsg": 12832, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_00B22500": { + "Prio": 5, + "TagId": 5124, + "TagIdEvtMsg": 12833, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_0892E500": { + "Prio": 4, + "TagId": 3545, + "TagIdEvtMsg": 11732, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_0892F000": { + "Prio": 4, + "TagId": 3546, + "TagIdEvtMsg": 11733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6A12_0092F300": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 11464, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1194 + ] + }, + "6A12_0892F400": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 11465, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1194 + ] + }, + "6A12_4092F100": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11462, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1192 + ] + }, + "6A12_4092F200": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11463, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1048, + 1193 + ] + }, + "6802_00959D00": { + "Prio": 4, + "TagId": 4419, + "TagIdEvtMsg": 12275, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_00959F00": { + "Prio": 4, + "TagId": 4428, + "TagIdEvtMsg": 12277, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0095A400": { + "Prio": 4, + "TagId": 4449, + "TagIdEvtMsg": 12289, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0095A300": { + "Prio": 4, + "TagId": 4448, + "TagIdEvtMsg": 12288, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_00959E00": { + "Prio": 4, + "TagId": 4427, + "TagIdEvtMsg": 12276, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0895BC00": { + "Prio": 4, + "TagId": 4969, + "TagIdEvtMsg": 12740, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958E00": { + "Prio": 4, + "TagId": 4419, + "TagIdEvtMsg": 12265, + "Unit": 4435, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_08927A00": { + "Prio": 4, + "TagId": 1229, + "TagIdEvtMsg": 10665, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959B00": { + "Prio": 4, + "TagId": 4424, + "TagIdEvtMsg": 12270, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00927B00": { + "Prio": 4, + "TagId": 1218, + "TagIdEvtMsg": 10666, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928000": { + "Prio": 4, + "TagId": 1538, + "TagIdEvtMsg": 10784, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928100": { + "Prio": 4, + "TagId": 2267, + "TagIdEvtMsg": 11145, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928200": { + "Prio": 4, + "TagId": 2268, + "TagIdEvtMsg": 11146, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095A200": { + "Prio": 4, + "TagId": 4447, + "TagIdEvtMsg": 12287, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959C00": { + "Prio": 4, + "TagId": 4425, + "TagIdEvtMsg": 12271, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959000": { + "Prio": 4, + "TagId": 4428, + "TagIdEvtMsg": 12274, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095FB00": { + "Prio": 4, + "TagId": 4518, + "TagIdEvtMsg": 12385, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095FA00": { + "Prio": 4, + "TagId": 4517, + "TagIdEvtMsg": 12384, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958F00": { + "Prio": 4, + "TagId": 4427, + "TagIdEvtMsg": 12273, + "Unit": 4435, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0895A100": { + "Prio": 4, + "TagId": 4426, + "TagIdEvtMsg": 12272, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959900": { + "Prio": 4, + "TagId": 4421, + "TagIdEvtMsg": 12267, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959A00": { + "Prio": 4, + "TagId": 4422, + "TagIdEvtMsg": 12268, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00927E00": { + "Prio": 4, + "TagId": 1254, + "TagIdEvtMsg": 10675, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_40927D00": { + "Prio": 4, + "TagId": 1253, + "TagIdEvtMsg": 10674, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095A000": { + "Prio": 4, + "TagId": 4423, + "TagIdEvtMsg": 12269, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_08959800": { + "Prio": 4, + "TagId": 4420, + "TagIdEvtMsg": 12266, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958900": { + "Prio": 4, + "TagId": 4414, + "TagIdEvtMsg": 12260, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958800": { + "Prio": 4, + "TagId": 4413, + "TagIdEvtMsg": 12259, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08927F00": { + "Prio": 4, + "TagId": 1263, + "TagIdEvtMsg": 10677, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927C00": { + "Prio": 4, + "TagId": 1217, + "TagIdEvtMsg": 10668, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095A900": { + "Prio": 4, + "TagId": 4483, + "TagIdEvtMsg": 12298, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927900": { + "Prio": 4, + "TagId": 1228, + "TagIdEvtMsg": 10664, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927800": { + "Prio": 4, + "TagId": 1227, + "TagIdEvtMsg": 10663, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00923000": { + "Prio": 4, + "TagId": 3574, + "TagIdEvtMsg": 10659, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00922F00": { + "Prio": 4, + "TagId": 3573, + "TagIdEvtMsg": 10658, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08923B00": { + "Prio": 4, + "TagId": 4636, + "TagIdEvtMsg": 12440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08958A00": { + "Prio": 4, + "TagId": 4415, + "TagIdEvtMsg": 12261, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958C00": { + "Prio": 4, + "TagId": 4417, + "TagIdEvtMsg": 12263, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095BE00": { + "Prio": 4, + "TagId": 4971, + "TagIdEvtMsg": 12742, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958D00": { + "Prio": 4, + "TagId": 4418, + "TagIdEvtMsg": 12264, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095BD00": { + "Prio": 4, + "TagId": 4970, + "TagIdEvtMsg": 12741, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00925200": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11283, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 2477 + ] + }, + "6A02_0892AF00": { + "Prio": 4, + "TagId": 1672, + "TagIdEvtMsg": 10851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 304 + ] + }, + "6A12_0892AF00": { + "Prio": 4, + "TagId": 1672, + "TagIdEvtMsg": 10851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 304 + ] + }, + "6802_00928700": { + "Prio": 4, + "TagId": 1195, + "TagIdEvtMsg": 10589, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1080 + ] + }, + "6802_08923F00": { + "Prio": 4, + "TagId": 3626, + "TagIdEvtMsg": 11843, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3627 + ] + }, + "6802_00928C00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10797, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928F00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10800, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928D00": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 10798, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928E00": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 10799, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928A00": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10981, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929000": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10801, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929200": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10803, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929400": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10805, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929600": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10807, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929800": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 10809, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929A00": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 10811, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929C00": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 10971, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929E00": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 10973, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928B00": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10982, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929100": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10802, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929300": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10804, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929500": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10806, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929700": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 10808, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929900": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 10810, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929B00": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 10812, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929D00": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 10972, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929F00": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 10974, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00927700": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 11772, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092DE00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 11178, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E100": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 11182, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092DF00": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 11179, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E000": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 11180, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E400": { + "Prio": 4, + "TagId": 2320, + "TagIdEvtMsg": 11181, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0892E200": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11183, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0892E300": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11184, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_00925300": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 11699, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B400": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10983, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B700": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10986, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B500": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 10984, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B600": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 10985, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B800": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10987, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BA00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10989, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BC00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10990, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BE00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10991, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C000": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10992, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C200": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 10993, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C400": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 10994, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C600": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 10995, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C800": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 10996, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B900": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10988, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BB00": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10997, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BD00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10998, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BF00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10999, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C100": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11000, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C300": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 11001, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C500": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 11002, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C700": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 11003, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C900": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 11004, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_00920100": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 11701, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920400": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 11704, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920200": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 11702, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920300": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 11703, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920500": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11705, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920700": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11707, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920900": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11708, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920B00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 11709, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920D00": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 11710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920F00": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 11711, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921100": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 11712, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921300": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 11713, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921500": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 11714, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920600": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11706, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11715, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920A00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11716, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920C00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 11717, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920E00": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11718, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921000": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 11719, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921200": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 11720, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921400": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 11721, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921600": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 11722, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_0892CC00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11148, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_0092CB00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11147, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_4092CE00": { + "Prio": 4, + "TagId": 2276, + "TagIdEvtMsg": 11150, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_4092CD00": { + "Prio": 4, + "TagId": 2275, + "TagIdEvtMsg": 11149, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_0892CF00": { + "Prio": 4, + "TagId": 2277, + "TagIdEvtMsg": 11151, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_08924D00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11529, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00924C00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11528, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40924F00": { + "Prio": 4, + "TagId": 2276, + "TagIdEvtMsg": 11531, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40924E00": { + "Prio": 4, + "TagId": 2275, + "TagIdEvtMsg": 11530, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_08925000": { + "Prio": 4, + "TagId": 2277, + "TagIdEvtMsg": 11532, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00925400": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11723, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3516 + ] + }, + "6802_4092A000": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11152, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2278 + ] + }, + "6802_4092A100": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11153, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2278 + ] + }, + "6802_4092A200": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11154, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2279 + ] + }, + "6802_4092A300": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11155, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2279 + ] + }, + "6802_4092A400": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11156, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2280 + ] + }, + "6802_4092A500": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11157, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2280 + ] + }, + "6802_08957B00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12254, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 4407 + ] + }, + "6802_00926C00": { + "Prio": 4, + "TagId": 2517, + "TagIdEvtMsg": 11314, + "Unit": 11, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_00926B00": { + "Prio": 4, + "TagId": 2516, + "TagIdEvtMsg": 11313, + "Unit": 11, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_08926900": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11311, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_00926A00": { + "Prio": 4, + "TagId": 2515, + "TagIdEvtMsg": 11312, + "Unit": 11, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_08956F00": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12231, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00958700": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12258, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00957000": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12232, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_08956D00": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12229, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00956E00": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12230, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_08956B00": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12227, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00956C00": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12228, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_40923100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10455, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ], + "Deprecated": true + }, + "6802_08923200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10456, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ], + "Deprecated": true + }, + "6802_08956A00": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12226, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_08956800": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12224, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_00956900": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12225, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_00956700": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12223, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6A02_08951000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12408, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4565 + ] + }, + "6A02_00950F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12407, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4565 + ] + }, + "6A02_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_40923700": { + "Prio": 4, + "TagId": 3481, + "TagIdEvtMsg": 11673, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08956200": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12218, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08956200": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12218, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08956000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12216, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A12_08956000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12216, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A02_00956100": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12217, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00956100": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12217, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_00955F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12215, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A12_00955F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12215, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6802_0095EE00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12367, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095ED00": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12366, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095F100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 12370, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0895F000": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 12369, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095EF00": { + "Prio": 4, + "TagId": 4514, + "TagIdEvtMsg": 12368, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095F900": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12378, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F600": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12375, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F800": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12377, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F700": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12376, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F400": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12373, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F500": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12374, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F200": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12371, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F300": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12372, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6182_08524C00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 12379, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 4513 + ] + }, + "6802_0095D100": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12338, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0095D000": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12337, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0095D300": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 12340, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0895D200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 12339, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_4095D400": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 12341, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_00950400": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12394, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D900": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12350, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095DB00": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12352, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095DA00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12351, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D700": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12348, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095D800": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12349, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D500": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12346, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095D600": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12347, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_00951C00": { + "Prio": 4, + "TagId": 4628, + "TagIdEvtMsg": 12433, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_0095CE00": { + "Prio": 4, + "TagId": 4502, + "TagIdEvtMsg": 12335, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_00951D00": { + "Prio": 4, + "TagId": 4629, + "TagIdEvtMsg": 12434, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_0095CF00": { + "Prio": 4, + "TagId": 4503, + "TagIdEvtMsg": 12336, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_00927400": { + "Prio": 4, + "TagId": 1990, + "TagIdEvtMsg": 10980, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927300": { + "Prio": 4, + "TagId": 1989, + "TagIdEvtMsg": 10979, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40927600": { + "Prio": 4, + "TagId": 2483, + "TagIdEvtMsg": 11286, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40927500": { + "Prio": 4, + "TagId": 2482, + "TagIdEvtMsg": 11285, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08927200": { + "Prio": 4, + "TagId": 1046, + "TagIdEvtMsg": 10460, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08926F00": { + "Prio": 4, + "TagId": 1044, + "TagIdEvtMsg": 10457, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927100": { + "Prio": 4, + "TagId": 1047, + "TagIdEvtMsg": 10461, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926E00": { + "Prio": 4, + "TagId": 1045, + "TagIdEvtMsg": 10458, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927000": { + "Prio": 4, + "TagId": 1225, + "TagIdEvtMsg": 10656, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926D00": { + "Prio": 4, + "TagId": 1224, + "TagIdEvtMsg": 10655, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08957100": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 12233, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_00957200": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12234, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_40957300": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12235, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_08957900": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12241, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00964B00": { + "Prio": 4, + "TagId": 5254, + "TagIdEvtMsg": 12907, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ], + "Deprecated": true + }, + "6802_08964C00": { + "Prio": 4, + "TagId": 5255, + "TagIdEvtMsg": 12908, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ], + "Deprecated": true + }, + "6802_00958600": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12257, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00957A00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12242, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_08957700": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12239, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00957800": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12240, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_40922A00": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 10448, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6802_40922B00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10449, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6802_40922D00": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 11143, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 2266 + ] + }, + "6802_40922E00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 11144, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 2266 + ] + }, + "6802_40957500": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 12237, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4474 + ] + }, + "6802_40957400": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 12294, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4474 + ] + }, + "6A02_40922100": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11840, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40922200": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11841, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40922300": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11842, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40923C00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11729, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_40923D00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11730, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_40923E00": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11731, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_4092DB00": { + "Prio": 4, + "TagId": 2115, + "TagIdEvtMsg": 11038, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_4092DB00": { + "Prio": 4, + "TagId": 2115, + "TagIdEvtMsg": 11038, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_4092DD00": { + "Prio": 4, + "TagId": 2359, + "TagIdEvtMsg": 11213, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_4092DD00": { + "Prio": 4, + "TagId": 2359, + "TagIdEvtMsg": 11213, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6802_0095A500": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12151, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_00953D00": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12177, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_08952A00": { + "Prio": 4, + "TagId": 4471, + "TagIdEvtMsg": 12290, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_00953000": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12157, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_40953100": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12158, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_0095FE00": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12390, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0895C200": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12323, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0095C400": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12325, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0095C300": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12324, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0895C100": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12322, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_00950500": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12395, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ], + "Deprecated": true + }, + "6802_00964800": { + "Prio": 4, + "TagId": 5230, + "TagIdEvtMsg": 12894, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_08953600": { + "Prio": 4, + "TagId": 4322, + "TagIdEvtMsg": 12163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_00953E00": { + "Prio": 4, + "TagId": 4335, + "TagIdEvtMsg": 12178, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962700": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12780, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962800": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12781, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962900": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12782, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962A00": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12783, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_00958B00": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12809, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A02_0095BF00": { + "Prio": 4, + "TagId": 4303, + "TagIdEvtMsg": 12850, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A12_0095BF00": { + "Prio": 4, + "TagId": 4303, + "TagIdEvtMsg": 12850, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A02_00953700": { + "Prio": 4, + "TagId": 4482, + "TagIdEvtMsg": 12162, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A12_00953700": { + "Prio": 4, + "TagId": 4482, + "TagIdEvtMsg": 12162, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_08926800": { + "Prio": 4, + "TagId": 1328, + "TagIdEvtMsg": 10687, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926600": { + "Prio": 4, + "TagId": 1222, + "TagIdEvtMsg": 10653, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926400": { + "Prio": 4, + "TagId": 1220, + "TagIdEvtMsg": 10651, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926700": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 10654, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ], + "Deprecated": true + }, + "6802_00925700": { + "Prio": 4, + "TagId": 2854, + "TagIdEvtMsg": 11442, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00925800": { + "Prio": 4, + "TagId": 2855, + "TagIdEvtMsg": 11443, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926300": { + "Prio": 4, + "TagId": 1219, + "TagIdEvtMsg": 10650, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926500": { + "Prio": 4, + "TagId": 1329, + "TagIdEvtMsg": 10652, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_0092A800": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 10975, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092AA00": { + "Prio": 4, + "TagId": 1987, + "TagIdEvtMsg": 10977, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092A900": { + "Prio": 4, + "TagId": 1986, + "TagIdEvtMsg": 10976, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0095C600": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12327, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_0095C500": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12326, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_4095C700": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12328, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_4095C800": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12329, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_00950300": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12393, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0895CB00": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12332, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CD00": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12334, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CC00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12333, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0895C900": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12330, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CA00": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12331, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_00951A00": { + "Prio": 4, + "TagId": 4628, + "TagIdEvtMsg": 12431, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00950100": { + "Prio": 4, + "TagId": 4502, + "TagIdEvtMsg": 12391, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00951B00": { + "Prio": 4, + "TagId": 4629, + "TagIdEvtMsg": 12432, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00950200": { + "Prio": 4, + "TagId": 4503, + "TagIdEvtMsg": 12392, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_08953500": { + "Prio": 4, + "TagId": 4305, + "TagIdEvtMsg": 12164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_00957D00": { + "Prio": 4, + "TagId": 4395, + "TagIdEvtMsg": 12244, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_00957C00": { + "Prio": 4, + "TagId": 4394, + "TagIdEvtMsg": 12243, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954400": { + "Prio": 4, + "TagId": 4704, + "TagIdEvtMsg": 12504, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954500": { + "Prio": 4, + "TagId": 4705, + "TagIdEvtMsg": 12505, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954200": { + "Prio": 4, + "TagId": 4702, + "TagIdEvtMsg": 12502, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954300": { + "Prio": 4, + "TagId": 4703, + "TagIdEvtMsg": 12503, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08954100": { + "Prio": 4, + "TagId": 4701, + "TagIdEvtMsg": 12501, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08922800": { + "Prio": 4, + "TagId": 2041, + "TagIdEvtMsg": 11026, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08922900": { + "Prio": 4, + "TagId": 1022, + "TagIdEvtMsg": 10438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ], + "Deprecated": true + }, + "6802_08922C00": { + "Prio": 4, + "TagId": 2265, + "TagIdEvtMsg": 11142, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08957F00": { + "Prio": 4, + "TagId": 4397, + "TagIdEvtMsg": 12246, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958200": { + "Prio": 4, + "TagId": 4400, + "TagIdEvtMsg": 12249, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08957E00": { + "Prio": 4, + "TagId": 4396, + "TagIdEvtMsg": 12245, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958100": { + "Prio": 4, + "TagId": 4399, + "TagIdEvtMsg": 12248, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08923800": { + "Prio": 4, + "TagId": 3635, + "TagIdEvtMsg": 10447, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958000": { + "Prio": 4, + "TagId": 4398, + "TagIdEvtMsg": 12247, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958300": { + "Prio": 4, + "TagId": 4401, + "TagIdEvtMsg": 12250, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08952C00": { + "Prio": 4, + "TagId": 4336, + "TagIdEvtMsg": 12153, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_0895DD00": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12441, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08925D00": { + "Prio": 4, + "TagId": 1057, + "TagIdEvtMsg": 10469, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08952D00": { + "Prio": 4, + "TagId": 4445, + "TagIdEvtMsg": 12285, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08952E00": { + "Prio": 4, + "TagId": 4446, + "TagIdEvtMsg": 12286, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00959400": { + "Prio": 4, + "TagId": 4438, + "TagIdEvtMsg": 12281, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959500": { + "Prio": 4, + "TagId": 4439, + "TagIdEvtMsg": 12282, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_4095A600": { + "Prio": 4, + "TagId": 4472, + "TagIdEvtMsg": 12291, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925C00": { + "Prio": 4, + "TagId": 1056, + "TagIdEvtMsg": 10468, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40926100": { + "Prio": 4, + "TagId": 2009, + "TagIdEvtMsg": 11014, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40926000": { + "Prio": 4, + "TagId": 2008, + "TagIdEvtMsg": 11013, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925E00": { + "Prio": 4, + "TagId": 1620, + "TagIdEvtMsg": 10813, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925F00": { + "Prio": 4, + "TagId": 1988, + "TagIdEvtMsg": 10978, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925A00": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 10466, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959600": { + "Prio": 4, + "TagId": 4440, + "TagIdEvtMsg": 12283, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959700": { + "Prio": 4, + "TagId": 4441, + "TagIdEvtMsg": 12284, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_4095A700": { + "Prio": 4, + "TagId": 4473, + "TagIdEvtMsg": 12293, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00926200": { + "Prio": 4, + "TagId": 3183, + "TagIdEvtMsg": 11534, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925B00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10467, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40925500": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 11724, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 3543 + ] + }, + "6802_00925600": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 11725, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 3543 + ] + }, + "6802_08959100": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12278, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08955200": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12645, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00955300": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12646, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08959200": { + "Prio": 4, + "TagId": 4563, + "TagIdEvtMsg": 12279, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08950800": { + "Prio": 4, + "TagId": 4564, + "TagIdEvtMsg": 12406, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08925900": { + "Prio": 4, + "TagId": 1023, + "TagIdEvtMsg": 10440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00959300": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12280, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00925100": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 10796, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1600 + ] + }, + "6A02_0092DC00": { + "Prio": 4, + "TagId": 2116, + "TagIdEvtMsg": 11039, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 2118 + ] + }, + "6A12_0092DC00": { + "Prio": 4, + "TagId": 2116, + "TagIdEvtMsg": 11039, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 2118 + ] + }, + "6802_00924200": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10463, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08955800": { + "Prio": 4, + "TagId": 4873, + "TagIdEvtMsg": 12677, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_00924300": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10464, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08955700": { + "Prio": 4, + "TagId": 4872, + "TagIdEvtMsg": 12676, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_00965F00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 12968, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08953A00": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12299, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00964900": { + "Prio": 4, + "TagId": 5252, + "TagIdEvtMsg": 12905, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ], + "Deprecated": true + }, + "6802_08964A00": { + "Prio": 4, + "TagId": 5253, + "TagIdEvtMsg": 12906, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ], + "Deprecated": true + }, + "6802_00953C00": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12301, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953B00": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12300, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_0895AF00": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12169, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953900": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12236, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6A02_40924600": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11726, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40924700": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11727, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40924800": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11728, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40921E00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11837, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_40921F00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11838, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_40922000": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11839, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_4092DA00": { + "Prio": 4, + "TagId": 2114, + "TagIdEvtMsg": 11037, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_4092DA00": { + "Prio": 4, + "TagId": 2114, + "TagIdEvtMsg": 11037, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_08955900": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12678, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_40921D00": { + "Prio": 4, + "TagId": 3588, + "TagIdEvtMsg": 11807, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_00921C00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11808, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_08924500": { + "Prio": 4, + "TagId": 2358, + "TagIdEvtMsg": 11212, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40951F00": { + "Prio": 4, + "TagId": 3676, + "TagIdEvtMsg": 11860, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40951E00": { + "Prio": 4, + "TagId": 3675, + "TagIdEvtMsg": 11859, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924400": { + "Prio": 4, + "TagId": 2357, + "TagIdEvtMsg": 11211, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40952B00": { + "Prio": 4, + "TagId": 4321, + "TagIdEvtMsg": 12152, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40953200": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12159, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40953200": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12159, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_08951100": { + "Prio": 4, + "TagId": 4567, + "TagIdEvtMsg": 12411, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40952F00": { + "Prio": 4, + "TagId": 4324, + "TagIdEvtMsg": 12156, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40953300": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12160, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40953300": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12160, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_08951200": { + "Prio": 4, + "TagId": 4568, + "TagIdEvtMsg": 12412, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_0895B300": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12308, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B500": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12310, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B400": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12309, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0895B100": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B200": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12307, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_08955A00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12679, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 4301 + ] + }, + "6802_08953400": { + "Prio": 4, + "TagId": 4484, + "TagIdEvtMsg": 12161, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301 + ] + }, + "6802_00961400": { + "Prio": 4, + "TagId": 5000, + "TagIdEvtMsg": 12761, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961700": { + "Prio": 4, + "TagId": 5001, + "TagIdEvtMsg": 12764, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961200": { + "Prio": 4, + "TagId": 4438, + "TagIdEvtMsg": 12759, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_40961300": { + "Prio": 4, + "TagId": 4439, + "TagIdEvtMsg": 12760, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961500": { + "Prio": 4, + "TagId": 4440, + "TagIdEvtMsg": 12762, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_40961600": { + "Prio": 4, + "TagId": 4441, + "TagIdEvtMsg": 12763, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_08961800": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12765, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961900": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12766, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08961B00": { + "Prio": 4, + "TagId": 5003, + "TagIdEvtMsg": 12768, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08961D00": { + "Prio": 4, + "TagId": 5005, + "TagIdEvtMsg": 12770, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961F00": { + "Prio": 4, + "TagId": 5007, + "TagIdEvtMsg": 12772, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961E00": { + "Prio": 4, + "TagId": 5006, + "TagIdEvtMsg": 12771, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961C00": { + "Prio": 4, + "TagId": 5004, + "TagIdEvtMsg": 12769, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962000": { + "Prio": 4, + "TagId": 5008, + "TagIdEvtMsg": 12773, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962100": { + "Prio": 4, + "TagId": 5009, + "TagIdEvtMsg": 12774, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962200": { + "Prio": 4, + "TagId": 5010, + "TagIdEvtMsg": 12775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962400": { + "Prio": 4, + "TagId": 5012, + "TagIdEvtMsg": 12777, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962300": { + "Prio": 4, + "TagId": 5011, + "TagIdEvtMsg": 12776, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962600": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_08962500": { + "Prio": 4, + "TagId": 5013, + "TagIdEvtMsg": 12778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_08961100": { + "Prio": 4, + "TagId": 4999, + "TagIdEvtMsg": 12758, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_00961A00": { + "Prio": 4, + "TagId": 5002, + "TagIdEvtMsg": 12767, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_00963A00": { + "Prio": 4, + "TagId": 5185, + "TagIdEvtMsg": 12870, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_08963900": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12869, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_08963E00": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12874, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963F00": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12875, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963C00": { + "Prio": 4, + "TagId": 5189, + "TagIdEvtMsg": 12872, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963B00": { + "Prio": 4, + "TagId": 5188, + "TagIdEvtMsg": 12871, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964300": { + "Prio": 4, + "TagId": 2009, + "TagIdEvtMsg": 12886, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964400": { + "Prio": 4, + "TagId": 2008, + "TagIdEvtMsg": 12887, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964100": { + "Prio": 4, + "TagId": 5187, + "TagIdEvtMsg": 12879, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964000": { + "Prio": 4, + "TagId": 5186, + "TagIdEvtMsg": 12878, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_08962B00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12881, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963D00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 12873, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_0095E600": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12363, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E500": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12362, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E700": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12364, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_4095E800": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12365, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E400": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12361, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895DE00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12355, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895C000": { + "Prio": 4, + "TagId": 4484, + "TagIdEvtMsg": 12926, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895FC00": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12386, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895E100": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12358, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E300": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12360, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E200": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12359, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895FD00": { + "Prio": 4, + "TagId": 4519, + "TagIdEvtMsg": 12387, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895DF00": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12356, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E000": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12357, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_08924000": { + "Prio": 4, + "TagId": 1599, + "TagIdEvtMsg": 10795, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6802_08924100": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6A02_08950900": { + "Prio": 4, + "TagId": 4549, + "TagIdEvtMsg": 12401, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6100_40524B00": { + "Prio": 2, + "TagId": 4477, + "TagIdEvtMsg": 12296, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40524900": { + "Prio": 2, + "TagId": 4280, + "TagIdEvtMsg": 12137, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40524A00": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12135, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00551F00": { + "Prio": 2, + "TagId": 4752, + "TagIdEvtMsg": 12540, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40521F00": { + "Prio": 2, + "TagId": 3116, + "TagIdEvtMsg": 11490, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524500": { + "Prio": 2, + "TagId": 3562, + "TagIdEvtMsg": 11739, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524600": { + "Prio": 2, + "TagId": 3563, + "TagIdEvtMsg": 11740, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524700": { + "Prio": 2, + "TagId": 3564, + "TagIdEvtMsg": 11741, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524800": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11742, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00551E00": { + "Prio": 2, + "TagId": 4751, + "TagIdEvtMsg": 12539, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A12_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A02_0892B100": { + "Prio": 4, + "TagId": 2017, + "TagIdEvtMsg": 11022, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08964D00": { + "Prio": 4, + "TagId": 5258, + "TagIdEvtMsg": 12909, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922200": { + "Prio": 4, + "TagId": 1029, + "TagIdEvtMsg": 10661, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00960300": { + "Prio": 4, + "TagId": 4632, + "TagIdEvtMsg": 12437, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08960400": { + "Prio": 4, + "TagId": 4633, + "TagIdEvtMsg": 12438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921E00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10479, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922300": { + "Prio": 4, + "TagId": 1621, + "TagIdEvtMsg": 10814, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08950A00": { + "Prio": 4, + "TagId": 4582, + "TagIdEvtMsg": 12416, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922400": { + "Prio": 4, + "TagId": 1622, + "TagIdEvtMsg": 10815, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08951900": { + "Prio": 4, + "TagId": 4585, + "TagIdEvtMsg": 12410, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921700": { + "Prio": 4, + "TagId": 3685, + "TagIdEvtMsg": 10646, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922000": { + "Prio": 4, + "TagId": 1065, + "TagIdEvtMsg": 10477, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08922100": { + "Prio": 4, + "TagId": 1066, + "TagIdEvtMsg": 10478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6182_08523500": { + "Prio": 2, + "TagId": 3410, + "TagIdEvtMsg": 11653, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6102_00523900": { + "Prio": 2, + "TagId": 3414, + "TagIdEvtMsg": 11657, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00523800": { + "Prio": 2, + "TagId": 3413, + "TagIdEvtMsg": 11656, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523700": { + "Prio": 2, + "TagId": 3412, + "TagIdEvtMsg": 11655, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6182_08523600": { + "Prio": 2, + "TagId": 3411, + "TagIdEvtMsg": 11654, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6100_40522100": { + "Prio": 2, + "TagId": 3221, + "TagIdEvtMsg": 11572, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3219 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40522000": { + "Prio": 2, + "TagId": 3220, + "TagIdEvtMsg": 11571, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3219 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_00522900": { + "Prio": 2, + "TagId": 2511, + "TagIdEvtMsg": 11309, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_08522A00": { + "Prio": 2, + "TagId": 2512, + "TagIdEvtMsg": 11310, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_40522800": { + "Prio": 2, + "TagId": 2510, + "TagIdEvtMsg": 11308, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522500": { + "Prio": 2, + "TagId": 3193, + "TagIdEvtMsg": 11544, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522700": { + "Prio": 2, + "TagId": 2509, + "TagIdEvtMsg": 11307, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522600": { + "Prio": 2, + "TagId": 2357, + "TagIdEvtMsg": 11542, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6802_08951500": { + "Prio": 4, + "TagId": 2510, + "TagIdEvtMsg": 12415, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951300": { + "Prio": 4, + "TagId": 1132, + "TagIdEvtMsg": 12413, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951400": { + "Prio": 4, + "TagId": 4581, + "TagIdEvtMsg": 12414, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951600": { + "Prio": 4, + "TagId": 4566, + "TagIdEvtMsg": 12409, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08950600": { + "Prio": 4, + "TagId": 9438, + "TagIdEvtMsg": 12482, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08960200": { + "Prio": 4, + "TagId": 4631, + "TagIdEvtMsg": 12436, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08960100": { + "Prio": 4, + "TagId": 4630, + "TagIdEvtMsg": 12435, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6180_08523000": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11633, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6182_08522200": { + "Prio": 2, + "TagId": 4393, + "TagIdEvtMsg": 12253, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6182_08522400": { + "Prio": 2, + "TagId": 4652, + "TagIdEvtMsg": 12448, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6100_40525100": { + "Prio": 2, + "TagId": 4514, + "TagIdEvtMsg": 12730, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 1069 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08522F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11632, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2509 + ] + }, + "6100_00523F00": { + "Prio": 2, + "TagId": 4782, + "TagIdEvtMsg": 12576, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_0892D100": { + "Prio": 4, + "TagId": 2531, + "TagIdEvtMsg": 11331, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309 + ] + }, + "6102_40522D00": { + "Prio": 2, + "TagId": 4650, + "TagIdEvtMsg": 12446, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522E00": { + "Prio": 2, + "TagId": 4651, + "TagIdEvtMsg": 12447, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40525000": { + "Prio": 2, + "TagId": 4906, + "TagIdEvtMsg": 12722, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00525200": { + "Prio": 2, + "TagId": 5052, + "TagIdEvtMsg": 12797, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6100_00523300": { + "Prio": 2, + "TagId": 4748, + "TagIdEvtMsg": 12536, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40524E00": { + "Prio": 2, + "TagId": 4901, + "TagIdEvtMsg": 12708, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522B00": { + "Prio": 2, + "TagId": 4648, + "TagIdEvtMsg": 12444, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523C00": { + "Prio": 2, + "TagId": 4573, + "TagIdEvtMsg": 12419, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6102_40524F00": { + "Prio": 2, + "TagId": 4902, + "TagIdEvtMsg": 12709, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522C00": { + "Prio": 2, + "TagId": 4649, + "TagIdEvtMsg": 12445, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523D00": { + "Prio": 2, + "TagId": 4574, + "TagIdEvtMsg": 12420, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6100_00523A00": { + "Prio": 2, + "TagId": 4750, + "TagIdEvtMsg": 12538, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0092D000": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11736, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 340 + ] + }, + "6A12_4092AD00": { + "Prio": 4, + "TagId": 3123, + "TagIdEvtMsg": 11497, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 394 + ] + }, + "6802_00963100": { + "Prio": 4, + "TagId": 5092, + "TagIdEvtMsg": 12822, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963000": { + "Prio": 4, + "TagId": 5090, + "TagIdEvtMsg": 12821, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963300": { + "Prio": 4, + "TagId": 5093, + "TagIdEvtMsg": 12824, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963200": { + "Prio": 4, + "TagId": 5091, + "TagIdEvtMsg": 12823, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_08963500": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963600": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12827, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963400": { + "Prio": 4, + "TagId": 5094, + "TagIdEvtMsg": 12825, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00966A00": { + "Prio": 4, + "TagId": 5361, + "TagIdEvtMsg": 12996, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966B00": { + "Prio": 4, + "TagId": 5362, + "TagIdEvtMsg": 12997, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_08966800": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12972, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_08966D00": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12999, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966E00": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 13000, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966C00": { + "Prio": 4, + "TagId": 5363, + "TagIdEvtMsg": 12998, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966900": { + "Prio": 4, + "TagId": 5360, + "TagIdEvtMsg": 12995, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_08965000": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965400": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12937, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_08964F00": { + "Prio": 4, + "TagId": 5284, + "TagIdEvtMsg": 12932, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965300": { + "Prio": 4, + "TagId": 5285, + "TagIdEvtMsg": 12936, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_08965100": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12934, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965500": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12938, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_08964E00": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12931, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965200": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12935, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00964700": { + "Prio": 4, + "TagId": 5220, + "TagIdEvtMsg": 12890, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00962E00": { + "Prio": 4, + "TagId": 5089, + "TagIdEvtMsg": 12819, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960800": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12713, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960700": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12712, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00962F00": { + "Prio": 4, + "TagId": 5094, + "TagIdEvtMsg": 12820, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00964500": { + "Prio": 4, + "TagId": 5218, + "TagIdEvtMsg": 12888, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00964600": { + "Prio": 4, + "TagId": 5219, + "TagIdEvtMsg": 12889, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960A00": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12715, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960900": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12714, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960F00": { + "Prio": 4, + "TagId": 4909, + "TagIdEvtMsg": 12720, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40961000": { + "Prio": 4, + "TagId": 4910, + "TagIdEvtMsg": 12721, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_08960E00": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12719, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960D00": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12718, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960B00": { + "Prio": 4, + "TagId": 1204, + "TagIdEvtMsg": 12716, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960C00": { + "Prio": 4, + "TagId": 4906, + "TagIdEvtMsg": 12717, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960600": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12711, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2509 + ] + }, + "6802_40960500": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12710, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2509 + ] + }, + "6800_40966F00": { + "Prio": 4, + "TagId": 3590, + "TagIdEvtMsg": 13007, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6800_40967000": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 13008, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6802_0892D500": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11048, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6802_08B22700": { + "Prio": 5, + "TagId": 5352, + "TagIdEvtMsg": 12989, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6802_00965600": { + "Prio": 4, + "TagId": 5323, + "TagIdEvtMsg": 12974, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6802_00966700": { + "Prio": 4, + "TagId": 5358, + "TagIdEvtMsg": 12971, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6100_00524200": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12479, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 3347 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524400": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11738, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 3347 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524D00": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12507, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 2608 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524300": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11737, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 2608 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A12_40922700": { + "Prio": 4, + "TagId": 3501, + "TagIdEvtMsg": 11696, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_4092B300": { + "Prio": 4, + "TagId": 3125, + "TagIdEvtMsg": 11517, + "Unit": 3135, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928400": { + "Prio": 4, + "TagId": 3126, + "TagIdEvtMsg": 11519, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928600": { + "Prio": 4, + "TagId": 293, + "TagIdEvtMsg": 11521, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_4092B200": { + "Prio": 4, + "TagId": 3124, + "TagIdEvtMsg": 11516, + "Unit": 3134, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928500": { + "Prio": 4, + "TagId": 413, + "TagIdEvtMsg": 11520, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928300": { + "Prio": 4, + "TagId": 416, + "TagIdEvtMsg": 11518, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6180_08521E00": { + "Prio": 2, + "TagId": 2004, + "TagIdEvtMsg": 11012, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 2003 + ] + }, + "6800_0892AE00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 11011, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2003 + ] + }, + "6800_00922500": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11634, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3360 + ] + }, + "6800_00922600": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11635, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3360 + ] + }, + "6800_40952200": { + "Prio": 4, + "TagId": 4211, + "TagIdEvtMsg": 12081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_40952300": { + "Prio": 4, + "TagId": 4212, + "TagIdEvtMsg": 12082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952600": { + "Prio": 4, + "TagId": 4206, + "TagIdEvtMsg": 12085, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6802_08952100": { + "Prio": 4, + "TagId": 764, + "TagIdEvtMsg": 12080, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3823 + ] + }, + "6800_10952800": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 12087, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_08952700": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 12086, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952500": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 12084, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00954D00": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12589, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952400": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 12083, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00954C00": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12588, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6802_40921A00": { + "Prio": 4, + "TagId": 3591, + "TagIdEvtMsg": 11813, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6802_40921B00": { + "Prio": 4, + "TagId": 3592, + "TagIdEvtMsg": 11814, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6802_40952900": { + "Prio": 4, + "TagId": 2423, + "TagIdEvtMsg": 12103, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6A02_00964200": { + "Prio": 4, + "TagId": 5170, + "TagIdEvtMsg": 12882, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0892D900": { + "Prio": 4, + "TagId": 2136, + "TagIdEvtMsg": 11045, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_00B22600": { + "Prio": 5, + "TagId": 5248, + "TagIdEvtMsg": 12899, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092CA00": { + "Prio": 4, + "TagId": 4796, + "TagIdEvtMsg": 12601, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08955100": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12631, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08954F00": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12629, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_40955000": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12630, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_40954E00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12628, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954900": { + "Prio": 4, + "TagId": 4768, + "TagIdEvtMsg": 12565, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_08950700": { + "Prio": 4, + "TagId": 4885, + "TagIdEvtMsg": 12692, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 847, + 2113 + ] + }, + "6A12_40928900": { + "Prio": 4, + "TagId": 413, + "TagIdEvtMsg": 11523, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A12_40928800": { + "Prio": 4, + "TagId": 416, + "TagIdEvtMsg": 11522, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954700": { + "Prio": 4, + "TagId": 4766, + "TagIdEvtMsg": 12563, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954800": { + "Prio": 4, + "TagId": 4767, + "TagIdEvtMsg": 12564, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_08966000": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12965, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_00966200": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12967, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_00966100": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12966, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D700": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11046, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08952000": { + "Prio": 4, + "TagId": 3680, + "TagIdEvtMsg": 11862, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_00923400": { + "Prio": 4, + "TagId": 821, + "TagIdEvtMsg": 10007, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_08923300": { + "Prio": 4, + "TagId": 822, + "TagIdEvtMsg": 10029, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_0895DC00": { + "Prio": 4, + "TagId": 5077, + "TagIdEvtMsg": 12800, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D400": { + "Prio": 4, + "TagId": 2321, + "TagIdEvtMsg": 11185, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0892D600": { + "Prio": 4, + "TagId": 2135, + "TagIdEvtMsg": 11044, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D800": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11047, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954A00": { + "Prio": 4, + "TagId": 4769, + "TagIdEvtMsg": 12566, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954B00": { + "Prio": 4, + "TagId": 4770, + "TagIdEvtMsg": 12567, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_0092D200": { + "Prio": 4, + "TagId": 2596, + "TagIdEvtMsg": 11408, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2532 + ] + }, + "6802_0092D300": { + "Prio": 4, + "TagId": 2597, + "TagIdEvtMsg": 11409, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2532 + ] + }, + "6800_40950B00": { + "Prio": 4, + "TagId": 4211, + "TagIdEvtMsg": 12484, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 4208 + ] + }, + "6800_40950C00": { + "Prio": 4, + "TagId": 4212, + "TagIdEvtMsg": 12485, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 4208 + ] + }, + "6100_40523B00": { + "Prio": 2, + "TagId": 4797, + "TagIdEvtMsg": 12602, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40523E00": { + "Prio": 2, + "TagId": 4798, + "TagIdEvtMsg": 12603, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533600": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12606, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533700": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12607, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533800": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12608, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533100": { + "Prio": 2, + "TagId": 4804, + "TagIdEvtMsg": 12621, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533000": { + "Prio": 2, + "TagId": 4803, + "TagIdEvtMsg": 12620, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12170, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533900": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12609, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12171, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533A00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12610, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12172, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533B00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12611, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532D00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12617, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532E00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12618, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532F00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12619, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532A00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12614, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532B00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12615, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532C00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12616, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533300": { + "Prio": 2, + "TagId": 4806, + "TagIdEvtMsg": 12623, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533200": { + "Prio": 2, + "TagId": 4805, + "TagIdEvtMsg": 12622, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40531F00": { + "Prio": 2, + "TagId": 3050, + "TagIdEvtMsg": 11461, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08932900": { + "Prio": 4, + "TagId": 3048, + "TagIdEvtMsg": 11459, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 848, + 290, + 3051 + ] + }, + "6100_40531E00": { + "Prio": 2, + "TagId": 3049, + "TagIdEvtMsg": 11460, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40533D00": { + "Prio": 2, + "TagId": 5317, + "TagIdEvtMsg": 12951, + "Unit": 33, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40533C00": { + "Prio": 2, + "TagId": 5316, + "TagIdEvtMsg": 12950, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08932800": { + "Prio": 4, + "TagId": 3047, + "TagIdEvtMsg": 11458, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 848, + 290, + 3051 + ] + }, + "6100_00532000": { + "Prio": 2, + "TagId": 3498, + "TagIdEvtMsg": 11688, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532200": { + "Prio": 2, + "TagId": 3499, + "TagIdEvtMsg": 11690, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40532100": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 11689, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00932000": { + "Prio": 4, + "TagId": 2205, + "TagIdEvtMsg": 11104, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2201 + ] + }, + "6802_00932100": { + "Prio": 4, + "TagId": 2210, + "TagIdEvtMsg": 11105, + "Unit": 1287, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2201 + ] + }, + "6802_00931F00": { + "Prio": 4, + "TagId": 2204, + "TagIdEvtMsg": 11103, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2201 + ] + }, + "6802_00932300": { + "Prio": 4, + "TagId": 2206, + "TagIdEvtMsg": 11107, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 + ] + }, + "6802_00932400": { + "Prio": 4, + "TagId": 2211, + "TagIdEvtMsg": 11108, + "Unit": 1287, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 + ] + }, + "6802_00932200": { + "Prio": 4, + "TagId": 2204, + "TagIdEvtMsg": 11106, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 + ] + }, + "6802_00932600": { + "Prio": 4, + "TagId": 2207, + "TagIdEvtMsg": 11110, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2203 + ] + }, + "6802_00932500": { + "Prio": 4, + "TagId": 2200, + "TagIdEvtMsg": 11109, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2203 + ] + }, + "6800_00931E00": { + "Prio": 4, + "TagId": 2200, + "TagIdEvtMsg": 11102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340 + ] + }, + "6800_00932A00": { + "Prio": 4, + "TagId": 3346, + "TagIdEvtMsg": 11622, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340 + ] + }, + "6A02_40933400": { + "Prio": 4, + "TagId": 4845, + "TagIdEvtMsg": 12657, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 1639 + ] + }, + "6802_00932700": { + "Prio": 4, + "TagId": 2208, + "TagIdEvtMsg": 11111, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 2113 + ] + }, + "6100_00532900": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 12583, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532800": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 12582, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532600": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 12554, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532700": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12555, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08542900": { + "Prio": 2, + "TagId": 1737, + "TagIdEvtMsg": 200099, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309, + 4655 + ] + }, + "6180_08542800": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 200098, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309, + 4655 + ] + }, + "6802_08944600": { + "Prio": 4, + "TagId": 2352, + "TagIdEvtMsg": 11210, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 849, + 309 + ] + }, + "6180_08543F00": { + "Prio": 2, + "TagId": 2673, + "TagIdEvtMsg": 11440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309 + ] + }, + "6102_40742400": { + "Prio": 3, + "TagId": 2363, + "TagIdEvtMsg": 11901, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 1343, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40742500": { + "Prio": 3, + "TagId": 2364, + "TagIdEvtMsg": 11902, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 1343, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00942000": { + "Prio": 4, + "TagId": 2331, + "TagIdEvtMsg": 11194, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00942100": { + "Prio": 4, + "TagId": 2332, + "TagIdEvtMsg": 11195, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00942200": { + "Prio": 4, + "TagId": 2333, + "TagIdEvtMsg": 11196, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00942300": { + "Prio": 4, + "TagId": 2334, + "TagIdEvtMsg": 11197, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00941E00": { + "Prio": 4, + "TagId": 2329, + "TagIdEvtMsg": 11192, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00941F00": { + "Prio": 4, + "TagId": 2330, + "TagIdEvtMsg": 11193, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742000": { + "Prio": 3, + "TagId": 2325, + "TagIdEvtMsg": 11188, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742100": { + "Prio": 3, + "TagId": 2326, + "TagIdEvtMsg": 11189, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742200": { + "Prio": 3, + "TagId": 2327, + "TagIdEvtMsg": 11190, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742300": { + "Prio": 3, + "TagId": 2328, + "TagIdEvtMsg": 11191, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40741E00": { + "Prio": 3, + "TagId": 2323, + "TagIdEvtMsg": 11186, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40741F00": { + "Prio": 3, + "TagId": 2324, + "TagIdEvtMsg": 11187, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6100_00543700": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11231, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00543C00": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11217, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6100_00543900": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11233, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00944900": { + "Prio": 4, + "TagId": 2379, + "TagIdEvtMsg": 11237, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 2361 + ] + }, + "6400_00543B00": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11216, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6100_00543500": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11227, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00944800": { + "Prio": 4, + "TagId": 2378, + "TagIdEvtMsg": 11236, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 2361 + ] + }, + "6400_00543D00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11269, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543A00": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11215, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "7290_00543A00": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11215, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ] + }, + "6800_00944700": { + "Prio": 4, + "TagId": 2377, + "TagIdEvtMsg": 11235, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 2361 + ] + }, + "6200_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00542600": { + "Prio": 2, + "TagId": 4654, + "TagIdEvtMsg": 200100, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 4506 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00542700": { + "Prio": 2, + "TagId": 1738, + "TagIdEvtMsg": 200101, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 4506 + ], + "Sum": true, + "SumD": true + }, + "6800_00944A00": { + "Prio": 4, + "TagId": 4736, + "TagIdEvtMsg": 12521, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 4733 + ] + }, + "6800_08944B00": { + "Prio": 4, + "TagId": 4737, + "TagIdEvtMsg": 12522, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 849, + 4733 + ] + }, + "6802_10982800": { + "Prio": 4, + "TagId": 4729, + "TagIdEvtMsg": 12518, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_10982500": { + "Prio": 4, + "TagId": 721, + "TagIdEvtMsg": 12515, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_00982600": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 12516, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_10982700": { + "Prio": 4, + "TagId": 4728, + "TagIdEvtMsg": 12517, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6100_00581E00": { + "Prio": 2, + "TagId": 4982, + "TagIdEvtMsg": 12752, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00982900": { + "Prio": 4, + "TagId": 4983, + "TagIdEvtMsg": 12753, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ] + }, + "6400_00581F00": { + "Prio": 2, + "TagId": 4984, + "TagIdEvtMsg": 12754, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ], + "Sum": true, + "SumD": true + }, + "6800_00981F00": { + "Prio": 4, + "TagId": 4722, + "TagIdEvtMsg": 12511, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715, + 4717 + ] + }, + "6800_00982100": { + "Prio": 4, + "TagId": 4725, + "TagIdEvtMsg": 12512, + "Unit": 8, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715, + 4717 + ] + }, + "6800_08981E00": { + "Prio": 4, + "TagId": 1734, + "TagIdEvtMsg": 12510, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982F00": { + "Prio": 4, + "TagId": 4981, + "TagIdEvtMsg": 12751, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982400": { + "Prio": 4, + "TagId": 4727, + "TagIdEvtMsg": 12509, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_08983100": { + "Prio": 4, + "TagId": 5172, + "TagIdEvtMsg": 12884, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_08983000": { + "Prio": 4, + "TagId": 5171, + "TagIdEvtMsg": 12883, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982300": { + "Prio": 4, + "TagId": 4726, + "TagIdEvtMsg": 12508, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_08982000": { + "Prio": 4, + "TagId": 4723, + "TagIdEvtMsg": 12513, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_00982200": { + "Prio": 4, + "TagId": 4724, + "TagIdEvtMsg": 12514, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_10982C00": { + "Prio": 4, + "TagId": 4979, + "TagIdEvtMsg": 12748, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982D00": { + "Prio": 4, + "TagId": 4980, + "TagIdEvtMsg": 12749, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982E00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 12750, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982A00": { + "Prio": 4, + "TagId": 4977, + "TagIdEvtMsg": 12746, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982B00": { + "Prio": 4, + "TagId": 4978, + "TagIdEvtMsg": 12747, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + } +} diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sb4.translationData.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sb4.translationData.json new file mode 100644 index 0000000..81b7fb3 --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sb4.translationData.json @@ -0,0 +1,10221 @@ +{ + "1": "%", + "2": "°C", + "3": "A", + "4": "dBm", + "5": "deg", + "6": "h", + "7": "Hz", + "8": "kWh", + "9": "m/s", + "10": "ms", + "11": "Ohm", + "12": "Pa", + "13": "s", + "14": "V", + "15": "VA", + "16": "var", + "17": "W/m²", + "18": "W", + "19": "Wh", + "20": "Phase currents", + "21": "Number grid connections device", + "22": "Total operating time of device", + "23": "Total feed-in time of device", + "24": "Total energy absorbed from the grid by the device", + "25": "Total counter reading, feed-in counter", + "26": "Acknowledge fault", + "27": "Special setting", + "28": "Islanding detection", + "29": "Number of detections", + "30": "Time of the last detection", + "31": "K", + "32": "°F", + "33": "W/s", + "34": "min", + "35": "Fault", + "36": "Tripping threshold DC current monitoring", + "37": "Tripping time DC current monitoring", + "38": "Current", + "39": "Operating condition current", + "40": "Escalation factor", + "41": "Operating condition current", + "42": "[AU] AS4777.3", + "44": "External", + "45": "External 2", + "46": "Battery", + "47": "Maximum Bluetooth transmission power", + "48": "Interior", + "49": "Function", + "50": "Status", + "51": "Closed", + "52": "Reset operating data", + "53": "Country standard", + "54": "Set country standard", + "55": "Communication impaired", + "56": "Country settings", + "57": "Constant voltage control", + "58": "Cooling system", + "59": "Data logging", + "60": "Number of Flash write cycles", + "61": "DC overcurrent", + "62": "DC settings", + "63": "Load parameter", + "64": "DHCP", + "65": "Intermediate circuit voltage", + "66": "Start conditions not met", + "67": "DC measurements", + "68": "DC control", + "69": "DC overvoltage", + "70": "KiB", + "71": "Interference device", + "72": "Load preset", + "73": "Diffuse insolation", + "74": "Direct insolation", + "75": "[DK] 5940E2.2", + "76": "Fault correction measure", + "77": "Check AC circuit breaker", + "78": "Check generator", + "79": "Disconnect generator", + "80": "Check parameter", + "81": "Check connection", + "82": "Environment", + "83": "UCE monitoring", + "84": "Overcurrent grid (HW)", + "85": "Overcurrent grid (SW)", + "86": "Offset grid current sensor", + "87": "Grid frequency disturbance", + "88": "Grid frequency not permitted", + "89": "Grid disconnection point", + "90": "Deviation grid voltage measurement", + "91": "Overvoltage grid (HW)", + "92": "Grid overvoltage fast", + "93": "Grid overvoltage slow", + "94": "Grid overvoltage (spot value)", + "95": "Grid undervoltage fast", + "96": "Grid undervoltage slow", + "97": "Grid voltage measurement Offset", + "98": "Voltage increase protection", + "99": "High discharge current", + "100": "On-board supply system disturbance", + "101": "General BSP fault", + "102": "Events for developer", + "103": "Events for installer", + "104": "Events for service", + "105": "Events for user", + "106": "Execution (Reboot)", + "107": "CPLD (HW)", + "108": "CPLD version check", + "109": "CPU self-test HP", + "110": "DI converter fault", + "111": "DI converter communication", + "112": "Residual current", + "113": "DI converter test current", + "114": "Data storage blocked", + "115": "Overcurrent input A (SW)", + "116": "Overcurrent input B (SW)", + "117": "Offset DC current sensor A", + "118": "Offset DC current sensor B", + "119": "DC grid feed-in", + "120": "Overcurrent input A (HW)", + "121": "Overcurrent input B (HW)", + "122": "Overvoltage intermediate circuit (HW)", + "123": "Overvoltage intermediate circuit (SW)", + "124": "DC voltage measurement deviation", + "125": "Overvoltage input A (SW)", + "126": "Overvoltage input B (SW)", + "127": "Generator voltage too low", + "128": "DC power too low", + "129": "DC converter string A defective", + "130": "DC converter string B defective", + "131": "Generator output too low", + "132": "System data defective", + "133": "System data access not possible", + "134": "System data restored", + "135": "External watchdog (enable)", + "136": "Grid parameter unchanged", + "137": "Waiting for main CPU", + "138": "Grid parameter locked", + "139": "Execution (Test HW)", + "140": "Restart diagnosis system", + "141": "Derating occurred", + "142": "Execution (Taskinit)", + "143": "Installer code invalid", + "144": "Installer code valid", + "145": "Relay defect", + "146": "24 hour relay test", + "147": "Execution (Mail)", + "148": "Internal communication", + "149": "Insulation failure", + "150": "Sensor system insulation resistance", + "151": "Relay insulation resistance", + "152": "Current event number", + "153": "Event number manufacturer", + "154": "Grid failure", + "155": "Island grid", + "156": "Execution (Operation)", + "157": "Execution", + "158": "General OSL fault", + "159": "Overtemperature interior", + "160": "Overtemperature power unit", + "161": "Varistor defective", + "162": "PE not connected", + "163": "L / N swapped", + "164": "2nd phase connected to N", + "165": "PLL outside limits", + "166": "Memory defective", + "167": "Reference voltage test", + "168": "Code memory defective", + "169": "SD memory card defective", + "170": "SD memory card is read", + "171": "Parameter file not found or defective", + "172": "Set parameter", + "173": "Parameter setting failed", + "174": "Parameters set successfully", + "175": "No new update on the SD mempry card", + "176": "Update file defective", + "177": "Update file OK", + "178": "No update file found", + "179": "Execution (SharedMemory)", + "180": "Self-test", + "181": "Abort self-test", + "182": "Abort self-test", + "183": "Self-test current disconnection limit", + "184": "Self-test standard value for display", + "185": "Self-test disconnection time for display", + "186": "Self-test disconnection limit for display", + "187": "Long term data defective", + "188": "Data storage defective", + "189": "Execution (State machine)", + "190": "Execution (Startup)", + "191": "No system data", + "192": "Fault sensor interior temperature", + "193": "Fault sensor power unit temperature", + "194": "Update Bluetooth", + "195": "Update Bluetooth failed", + "196": "Update completed", + "197": "Update main CPU", + "198": "Update main CPU failed", + "199": "Update RS485i module", + "200": "Update RS485i module failed", + "201": "Update communication", + "202": "Update language table", + "203": "Update language table failed", + "204": "Update display", + "205": "Update display failed", + "206": "Power unit", + "207": "Bridge short-circuit", + "208": "Execution (Watchdog)", + "209": "24h watchdog test", + "210": "Ethernet", + "211": "Fan interior", + "212": "Fan interior 2", + "213": "Fan heat sink", + "214": "Fan transformer", + "215": "Fan transformer 2", + "216": "Fan test", + "217": "Residual current", + "218": "High discharge curr.", + "219": "Operating condition residual current", + "220": "Residual current too high", + "221": "Installation error", + "222": "Frequency monitoring", + "223": "[GB] G83/1", + "224": "Display self-test start message", + "225": "Grid parameter unchanged", + "226": "Changing of grid parameters not possible", + "228": "Grid parameter locked", + "229": "Grid monitoring", + "230": "Grid measurements", + "231": "Grid incident", + "232": "Reconnection time after grid fault", + "233": "Reconnection time upon short interruption", + "234": "Maximum duration of a short interruption", + "235": "Parallel grid operation", + "236": "Reconnection time upon restart", + "237": "Counter grid connections", + "238": "Grid relay status", + "239": "Set group", + "240": "Condition", + "241": "Device status", + "242": "Median maximum threshold", + "243": "Median maximum threshold tripping time", + "244": "Overcurrent input C (HW)", + "245": "Lower maximum threshold", + "246": "Lower maximum threshold tripping time", + "247": "[GB] G83/1-1", + "248": "Air humidity", + "249": "Wind direction", + "250": "Wind speed", + "251": "Heat sink", + "252": "Heat sink 2", + "253": "Hardware version", + "254": "Grid frequency", + "255": "End point of the power control via frequency", + "256": "Start point of the power control via frequency", + "257": "Frequency not permitted", + "258": "Switching status grid relay", + "259": "Operating condition grid frequency", + "260": "HTTP", + "261": "Derating occurred", + "262": "Unstable operation", + "263": "SMA Grid Guard code invalid", + "264": "SMA Grid Guard code valid", + "265": "GridGuard password", + "266": "Interface", + "267": "Inverter", + "268": "Insulation monitoring", + "269": "Data storage not possible", + "270": "[KR] KEPCO-Guide", + "271": "kB", + "272": "Insulation resistance", + "273": "Minimum insulation resistance", + "274": "Operating condition insulation resistance", + "275": "10 minute average", + "276": "Instantaneous value", + "277": "Reason for derating", + "278": "Upper minimum threshold", + "279": "Upper minimum threshold tripping time", + "280": "Byte", + "281": "Median minimum threshold", + "282": "Median minimum threshold tripping time", + "283": "B", + "284": "Device name", + "285": "[KR] KEMCO501/2008", + "286": "Device class", + "287": "Upper maximum threshold", + "288": "Upper maximum threshold tripping time", + "289": "PV module", + "290": "Measured values", + "291": "Lower minimum threshold", + "292": "Lower minimum threshold tripping time", + "294": "Device type", + "295": "MPP", + "296": "Modem", + "297": "Message", + "298": "Name", + "299": "Type Label", + "300": "Nat", + "301": "Grid failure", + "302": "-------", + "303": "Off", + "304": "Island mode", + "305": "Island mode", + "306": "SMA Island mode 60 Hz", + "307": "Ok", + "308": "On", + "309": "Operation", + "310": "General operating mode", + "311": "Open", + "312": "Phase assignment", + "313": "SMA Island mode 50 Hz", + "314": "Maximum active power", + "315": "Maximum active power output", + "316": "Operating mode active power setting", + "317": "All phases", + "318": "Overload", + "319": "Overtemperature", + "320": "Varistor defective", + "321": "Printed circuit board", + "322": "PE connection missing", + "323": "PE connection monitoring", + "324": "L / N swapped", + "325": "Phase L1", + "326": "Phases L1, L2 and L3", + "327": "Phase L2", + "328": "Proxy settings", + "329": "Phase L3", + "330": "Port", + "331": "Phase voltage", + "332": "Operating condition voltage", + "333": "[GR] PPC", + "334": "Atmospheric pressure", + "335": "Recommended action", + "336": "Contact manufacturer", + "337": "Contact installer", + "338": "invalid", + "339": "DC voltage control type", + "340": "PV system", + "341": "Recommended action", + "342": "Production test mode", + "343": "[ES] RD1663", + "344": "Reset operating data", + "345": "Controller", + "346": "Remote control", + "347": "Device restart triggered", + "348": "Revision status", + "349": "Grid relay closed", + "350": "Waiting time until feed-in", + "351": "Voltage increase protection", + "352": "[ES] RD1663/661", + "353": "Reset events", + "354": "Reset maximum values", + "355": "Reset energy logger", + "356": "Reset operation inhibition", + "357": "Number of Resets", + "358": "SB 4000TL-20", + "359": "SB 5000TL-20", + "360": "Storage card", + "361": "SD memory card defective", + "362": "Reading SD memory card", + "363": "Parameter file not found or defective", + "364": "Set parameter", + "365": "Parameter setting failed", + "366": "Parameters set successfully", + "367": "No new update on the SD memory card", + "368": "Update file defective", + "369": "Update file OK", + "370": "No update file found", + "372": "Serial number", + "373": "[ES] RD1663-A", + "374": "Self-diagnosis", + "375": "self-test", + "376": "Abort self-test", + "377": "Number of S0 impulses", + "378": "Consumed energy", + "379": "Software version Update", + "380": "Deactivation delay", + "381": "Stop", + "382": "Number of DC disconnects", + "383": "Input A defective", + "384": "Input B defective", + "385": "Start delay", + "386": "unclear", + "387": "Critical voltage to start feed-in", + "388": "Operation status", + "389": "Startup status", + "390": "Stop status", + "391": "Cold start status", + "392": "Test HW status", + "393": "Software version", + "394": "System", + "395": "Temperature", + "396": "Derating temperature", + "397": "Operating condition temperatures", + "398": "Time", + "399": "Sensor error fan permanently on", + "400": "Temperature", + "401": "Highest measured temperature", + "402": "Phases L1 and L2", + "403": "Phases L1 and L3", + "404": "Phases L2 and L3", + "405": "Set total time", + "406": "Phase total Current", + "407": "Operating condition current", + "408": "Set operating time", + "409": "Operating time", + "410": "Set feed-in time", + "411": "Feed-in time", + "412": "Apparent power", + "413": "Reactive power", + "414": "Operating condition reactive power", + "416": "Power", + "417": "Absorbed energy", + "418": "Total yield", + "419": "Operating condition power", + "422": "Transformer", + "423": "Validation system", + "424": "Update Bluetooth", + "425": "Update Bluetooth failed", + "426": "Update completed", + "427": "Update main CPU", + "428": "Update main CPU failed", + "429": "Update RS485i module", + "430": "Update RS485i module failed", + "431": "Update communication", + "432": "Update language table", + "433": "Update language table failed", + "434": "Update display", + "435": "Update display failed", + "436": "Apparent power", + "437": "Reactive power", + "438": "[DE] VDE0126-1-1", + "439": "[DE] Special setting VDE0126-1-1", + "440": "Manufacturer", + "441": "Voltage", + "442": "Voltage monitoring", + "443": "Constant voltage", + "444": "Voltage limit", + "445": "Maximum voltage", + "446": "Operating condition voltage", + "447": "Voltage setpoint", + "448": "Active power", + "449": "Nominal voltage", + "450": "Power", + "451": "Operating condition power", + "452": "Web service", + "453": "Underlying country standard", + "454": "Calibration", + "455": "Warning", + "456": "Waiting for DC start conditions", + "457": "Waiting for grid voltage", + "458": "Sunny Central", + "459": "Overcurrent, input in short-circuit (HW)", + "460": "Sunny Boy", + "461": "SMA", + "462": "On-board supply sys. dist. 15V", + "463": "Check DC generator", + "464": "DC overvoltage (HW)", + "465": "DC switch", + "466": "DC overvoltage", + "467": "DC overcurrent", + "468": "Fault CAN Initialization", + "469": "Fault DA converter", + "470": "Fault reverse current", + "471": "Fault IPC communication", + "472": "Fault RTC Initialization", + "473": "Fault overvoltage protector", + "474": "Ground fault detected", + "475": "Frequent watchdog fault", + "476": "Internal timing fault", + "477": "Reverse current", + "478": "Check inverter electronics", + "479": "Check inv. electr. and comm.", + "480": "Check inverter electr. and fan", + "481": "Chk inv.electr. and contactors", + "482": "Check inv.electr. and SW vers.", + "483": "Communication error CAN", + "484": "Communication error IPC", + "485": "Fan fault", + "486": "Fan fault interior", + "487": "Fan fault interior 2", + "488": "Fan fault heat sink", + "489": "Fan fault heat sink 2", + "490": "Fan fault motor prot. switch", + "491": "Fan fault coilware", + "492": "Fan fault coilware 2", + "493": "Check grid and fuses", + "494": "Check grid frequency", + "495": "Maximum grid frequency disturbance", + "496": "Maximum grid frequency disturbance", + "497": "Minimum grid frequency disturbance", + "498": "Minimum grid frequency disturbance", + "499": "Check grid voltage", + "500": "Grid overvoltage fast", + "501": "Grid undervoltage fast", + "502": "Smoke alarm", + "503": "Fault sensor ambient temp.", + "504": "Fault sensor battery temp.", + "505": "Fault sensor DC voltage", + "506": "Fault sensor pow.unit temp2", + "507": "Fault sensor fan perm. on", + "508": "Fault sensor transf. temp.", + "509": "Synchronization error", + "510": "Team switch", + "511": "Overvoltage EVR (HW)", + "512": "Overvoltage protector", + "513": "Check overvoltage protector", + "514": "Overcurrent EVR (HW)", + "515": "Overtemperature outside", + "516": "Overtemperature battery", + "517": "Overtemperature EVR (HW)", + "518": "Overtemp. power unit (HW)", + "519": "Overtemperature power unit 2", + "520": "Overtemp. transformer area", + "521": "Overtemperature switch", + "522": "Invalid device address", + "523": "Invalid parameter file", + "524": "Unspecified HW fault (HW)", + "525": "Watchdog BFR", + "526": "Watchdog DSP", + "527": "Display self-test start mess.", + "528": "Irradiation", + "529": "Irradiation on external sensor", + "530": "Set total yield", + "531": "Set absorbed energy", + "532": "Set highest measured temperature", + "533": "Communication version", + "534": "Generator control", + "535": "String protection defective", + "536": "DC converter string C defective", + "537": "EvtTmpPwrLim", + "538": "Grid impedance jump", + "539": "EvtExlIn", + "540": "Ground fuse missing", + "541": "DC current sensor C offset", + "542": "Internal meas. comp. fault", + "543": "Internal meas. comp. fault", + "544": "Internal meas. comp. fault", + "545": "Internal meas. comp. fault", + "546": "Meas. recording fault", + "547": "Grid incident reported", + "548": "Team relay defective", + "549": "Team instable", + "550": "Team config", + "551": "Team coupling", + "552": "Team disconnection", + "553": "Team head config", + "554": "Team error", + "555": "Grid impedance too high", + "556": "EvtGriOp", + "557": "Overtemperature", + "558": "SB 3000TL-20", + "559": "[FR] VDE0126-1-1 B", + "560": "[EU] EN50438", + "561": "[CZ] EN50438-CZ", + "562": "[BE] C10/11", + "563": "Daily yield", + "564": "Set number of grid connections", + "565": "Power specif. via char. curve", + "566": "Temporal control of the power limitation", + "567": "Reset operating data (for Service)", + "568": "Execute all", + "569": "Activated", + "570": "Execute write operation", + "571": "Write events on memory card", + "572": "Write faults to SD", + "577": "Specific yield of PV system", + "578": "Performance ratio", + "579": "Revenue", + "580": "CO2 avoidance", + "581": "Specific inverter yield", + "582": "Active power limitation", + "583": "Checking firmware", + "584": "Access Control", + "585": "Parameter |ln04| set successfully", + "586": "Setting of parameter |ln04| failed", + "587": "Parameter |ln04| set successfully", + "588": "Setting of parameter |ln04| failed", + "589": "Parameter |ln04| set successfully", + "590": "Setting of parameter |ln04| failed", + "591": "Set user password", + "592": "Set installer password", + "593": "Set service password", + "594": "Set developer password", + "595": "Update successful", + "596": "Update failed", + "597": "Time adjusted / old time", + "598": "Time adjusted / new time", + "599": "Update to version |s0| successful", + "600": "Mono-string mode active", + "661": "Minimum", + "662": "Maximum", + "663": "Sum", + "664": "Average", + "665": "Number of devices", + "666": "Piece/yield", + "667": "Minimum of lower limits", + "668": "Maximum of lower limits", + "669": "Minimum of upper limits", + "670": "Maximum of upper limits", + "671": "Minimum of current values", + "672": "Maximum of current values", + "673": "200 ms", + "674": "600 ms", + "675": "1000 ms", + "700": "Hardware Interface 1", + "701": "Hardware Interface 2", + "702": "Hardware Interface 3", + "703": "Time settings", + "704": "Update", + "705": "Device update", + "706": "Status and Actions", + "707": "User settings", + "708": "Basic settings", + "709": "SunnyDNS", + "710": "FTP Push", + "711": "FTP server", + "712": "Unit ID", + "713": "Hardware version", + "714": "DNS server IP", + "715": "Gateway IP", + "716": "IP address", + "717": "Subnet mask", + "718": "WAN IP", + "719": "Internet service provider IP", + "720": "Reset network parameter", + "721": "Serial number", + "722": "Standard or Daylight Saving Time", + "723": "No translation in Taglist for ID 723", + "724": "Date format", + "725": "Language", + "726": "Unit of length", + "727": "Number format", + "728": "Unit of temperature", + "729": "Time format", + "730": "Standard/Daylight Saving Time conversion on", + "731": "Automatic time synchronization", + "732": "Time zone", + "733": "Activated", + "734": "Time interval", + "735": "Login", + "736": "Password", + "737": "Server", + "738": "Connection test", + "739": "GPRS-APN", + "740": "Dial-in number", + "741": "Dial-in password", + "742": "PIN", + "743": "Signal strength test", + "744": "Upload data", + "745": "Result of the last upload", + "746": "Portal connection test", + "747": "Result of the last portal connection test", + "748": "Register", + "749": "Result of the last registration", + "750": "Email", + "751": "Name of PV system", + "752": "ID of PV system", + "753": "Upload frequency", + "754": "Write access allowed", + "755": "GPRS-Always-On activated", + "764": "Activate function", + "766": "DD.MM.YYYY", + "767": "MM/DD/YYYY", + "768": "YYYY.MM.DD", + "769": "MM.DD.YYYY", + "770": "DD/MM/YYYY", + "771": "YYYY/MM/DD", + "772": "DD-MM-YYYY", + "773": "YYYY-MM-DD", + "774": "MM-DD-YYYY", + "775": "HH:mm", + "776": "hh:mm", + "777": "Deutsch", + "778": "English", + "779": "Italiano", + "780": "Español", + "781": "Français", + "782": "Ελληνικά", + "783": "한국어", + "784": "Česky", + "785": "Português", + "786": "Nederlands", + "787": "123456.0", + "788": "123456,0", + "789": "123.456,0", + "790": "123,456.0", + "791": "Celsius", + "792": "Kelvin", + "793": "Fahrenheit", + "794": "Metric", + "795": "Imperial", + "796": "Slovenski", + "797": "Български", + "798": "Polski", + "799": "日本語", + "800": "Disabled", + "801": "ภาษาไทย", + "802": "Active", + "803": "Inactive", + "804": "עברית", + "805": "HH:mm:ss", + "806": "hh:mm:ss", + "807": "100 % bat. charge state was reached before the end of the bat. charge time", + "808": "End of bat. charge time, battery state of charge: |d0| %", + "809": "Battery charge overcurr. (SW limit)", + "810": "Battery discharge overcurr. (SW limit)", + "811": "Battery undervoltage (SW limit)", + "812": "Battery overvoltage (SW limit)", + "813": "not configured", + "814": "MPP search status", + "815": "Estimated MPP power", + "816": "Estimated AC-MAX power", + "817": "Security", + "818": "Grid management services", + "819": "Devices found", + "820": "System password", + "821": "Max. asymmetric load", + "822": "Load unbalance limit", + "823": "Measurement interval", + "824": "Active power consumed", + "825": "System password of the connected device |s0| invalid", + "826": "Reset device to factory settings", + "827": "Battery charge too low for start procedure", + "828": "Hardware version", + "830": "Status", + "831": "Type Label", + "832": "Device", + "833": "User Rights", + "834": "DC Side", + "835": "AC Side", + "836": "Grid Monitoring", + "837": "Generator", + "838": "Battery", + "839": "System communication", + "840": "External Communication", + "841": "Data Recording", + "842": "Sunny Portal", + "843": "Further Applications", + "844": "Meteorology", + "845": "Theft Protection", + "846": "Device Components", + "847": "System and device control", + "848": "Grid connection", + "849": "Energy management", + "850": "System and device control", + "851": "System and device control", + "852": "AC Side", + "853": "EV charger", + "854": "Device", + "861": "User", + "862": "Installer", + "863": "Service", + "864": "Developer", + "865": "Any", + "866": "Grid Guard", + "867": "10MBit", + "868": "100MBit", + "869": "Bluetooth", + "870": "Speedwire", + "871": "Analog modem", + "872": "GSM", + "873": "Interface GPRS", + "874": "UMTS", + "875": "Software package", + "876": "Total yield logger partially deleted", + "877": "Find device", + "878": "LED blinking", + "879": "Components", + "880": "SUSyID", + "881": "Sunny Explorer", + "882": "Name of PV system", + "883": "Difference PV system time/system time", + "884": "not active", + "885": "none", + "886": "none", + "887": "none", + "888": "Current event", + "889": "Bluetooth", + "890": "Power absorbed", + "891": "WebBox-20", + "892": "String failure detection", + "893": "Signal processor update", + "894": "Signal processor update failed", + "895": "S0 energy counter", + "896": "Charge of current battery", + "897": "Specified battery setpoints", + "898": "heating", + "899": "cooling", + "900": "Main processor", + "901": "Communication assembly", + "902": "Residual current monitoring unit", + "903": "Display", + "904": "Logic component", + "905": "RS485 module", + "906": "Zigbee components", + "907": "Bluetooth component", + "908": "Operating system", + "909": "String protection", + "910": "Protocol converter", + "911": "Module slot 1", + "912": "Webconnect module", + "913": "Power control modules", + "914": "Module slot 2", + "915": "Battery management system", + "916": "Emergency power supply modules", + "917": "Multifunction relay modules", + "918": "Mains watchdog unit", + "919": "Dedicated access module", + "920": "SMA SensorModule", + "921": "Wi-Fi component", + "922": "SMA I/O Module", + "923": "SMA RS485 Module", + "924": "RS485 interface", + "932": "Initialization Start: |tn0|", + "933": "Initialization End: |tn0|", + "934": "Operation Start: |tn0|", + "935": "Operation End: |tn0|", + "936": "Shutdown Start: |tn0|", + "937": "Shutdown End: |tn0|", + "938": "Internal fault 0x|x4||x5||x6||x7|/|u0|", + "939": "Calculation overflow in module |u0|", + "940": "Startup |x5|:|x4|:|x3|:|x2|:|x1|:|x0|:|5u8|", + "941": "Resource |s0| could not load.", + "942": "Server could not start|x5|:|x4|:|x3|:|x2|:|x1|:|x0|:|5u8|", + "943": "24h Timeout at parameter setting |ln8c|", + "944": "Login OK: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|", + "945": "Logout: Level: |u8|Device:|x1||x0||x7||x6||x5||x4|", + "946": "Auth. error: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|", + "947": "Login error: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|Error: |dc|", + "948": "Detection started", + "949": "New Device: |x1||x0||x7||x6||x5||x4|", + "950": "Rec. Hello World: Device: |x1||x0||x7||x6||x5||x4|", + "951": "Sent Hello World", + "952": "New Object Unknown: Device: |x1||x0| |x7||x6||x5||x4| - |x9||x8|", + "953": "New Master: Device: |x1||x0||x7||x6||x5||x4|", + "954": "Login started: Level: |u0|", + "955": "Login End: Level: |u0|", + "956": "Logout started: Level: |u0|", + "957": "Bluetooth connection to root node established", + "958": "Bluetooth connection to root node terminated", + "959": "Bluetooth connection has broken", + "960": "New dev.info [\"['|x5|:|x4|:|x3|:|x2|:|x1|:|x0|']\"], Type=|c8|", + "961": "Conn.device ['|x5|:|x4|:|x3|:|x2|:|x1|:|x0|'] lost", + "962": "BCN: Radio network established", + "963": "Server prob. not available until |s0| due to maint", + "964": "Server not available: |d0|", + "965": "Registration failed |d0|", + "966": "|d0| bytes successfully transmitted in |d4| sec.", + "967": "Data succ. transmitted: |d0| bytes in |d4| seconds", + "968": "Data transm. aborted after |d0| bytes and |d4| sec. flt: |d8|", + "969": "Time synchronization failed |d0|", + "970": "Faulty parameter |ln04|", + "971": "Internal ODB fault |d0|", + "972": "Ensure DC supply", + "973": "------", + "974": "String protection", + "975": "Restart Learning", + "976": "Reverse currents or substring |s0| polarity rev.", + "977": "Substring |s0| failed", + "978": "ESS-IGBT defective Input |s0|", + "979": "ESS Relay fault Input |s0|", + "980": "Relay control defective input |s0|", + "981": "HSS-IGBT defective input |s0|", + "982": "Ring line interrupted", + "983": "Short-circuit String A, risk of arc.Don't pull ESS", + "984": "Arcing danger DC plug input; reinsert ESS", + "985": "Varistor A or B through thermal fuse", + "986": "Varistor A or B through arcing", + "987": "Lightning protection device at input A defective", + "988": "Overheating", + "989": "String |s0| defective", + "990": "String |s0| defective", + "991": "Lightning protection inactive", + "992": "Overheating", + "993": "Reverse currents or input |s0| polarity reversed", + "994": "Phase(s) or neutral conductor not connected", + "995": "Do not disconnect ESS", + "996": "Connect ESS, do not open cover", + "997": "Check varistors", + "998": "Check lightning protector A/PE", + "999": "Disconnect device from generator and grid", + "1000": "New device cannot be administered: Device: |x1||x0| |x7||x6||x5||x4|", + "1001": "Parameter |ln8c| was sent", + "1002": "Bluetooth Repeater", + "1003": "Intermediate circuit voltages not permitted", + "1004": "Grid type detection failed", + "1005": "Grid current sensor defective", + "1006": "General fault", + "1007": "Overcurrent Ground fuse", + "1008": "[DE] ENS", + "1009": "[GB] G77", + "1010": "[AU] AGL", + "1011": "[US] UL1741", + "1012": "[US] UL1741/2005", + "1013": "SMA other standard", + "1014": "[DK] DK5950", + "1015": "[US] UL1741/2001", + "1016": "Constant current", + "1017": "[TH] PEA", + "1018": "[TH] MEA", + "1020": "[DE] Medium-Voltage Directive (Germany)", + "1021": "[JP] Airdolphine", + "1022": "Operating mode of static voltage stabilization", + "1023": "Operating mode active power red., overfreq. P(f)", + "1024": "Reactive power mode", + "1025": "Q(V) characteristic curve", + "1026": "Voltage difference to next charact. curve value", + "1027": "Time to adoption of next charact. curve value", + "1028": "Nominal voltage offset", + "1029": "Reactive power gradient", + "1030": "Stop voltage", + "1031": "Reactive power", + "1032": "[DE] MVtgDirective Internal", + "1033": "Q(P) characteristic curve", + "1034": "Reactive power value starting point", + "1035": "Active power value starting point", + "1036": "Reactive power value end point", + "1037": "Active power value end point", + "1038": "Manual cos φ specification", + "1039": "cos φ setpoint for active power output", + "1040": "Excitation type for active power output", + "1041": "Overexcited", + "1042": "Underexcited", + "1043": "cos φ(P) charac. curve", + "1044": "Excitation type at starting point", + "1045": "cos φ of start point", + "1046": "Excitation type at end point", + "1047": "cos φ of end point", + "1048": "Active power mode", + "1049": "Manual setting", + "1050": "Standardized active power", + "1051": "Reference value for normalized active power", + "1052": "Frequency-dependent active power adapt. P(f)", + "1053": "P(f) characteristic curve", + "1054": "Difference between starting freq. and grid freq.", + "1055": "Active power gradient", + "1056": "Difference between reset frequency and grid freq.", + "1057": "Activation of stay-set indicator function", + "1058": "Synchronize time with time server", + "1059": "Current reactive power limit", + "1060": "Max. reactive power", + "1061": "Currently set apparent power limit", + "1062": "Maximum apparent power", + "1063": "Current cos φ limit", + "1064": "Min. cos φ", + "1065": "Power gradient for reconnection after grid fault", + "1066": "Soft start-up P after grid fault", + "1067": "Manual reactive power setting for active power output", + "1068": "Limitation of change rate", + "1069": "Q(V) characteristic curve", + "1070": "Q, manual setting in %", + "1071": "Q, manual setting in var", + "1072": "Q, external setting", + "1073": "Q(P) characteristic curve", + "1074": "cos φ, manual setting", + "1075": "cos φ, external setting", + "1076": "cos φ(P) charac. curve", + "1077": "Manual setting in W", + "1078": "Manual setting in %", + "1079": "External setting", + "1080": "PV system control", + "1081": "AC circuit breaker activated or open", + "1082": "Grid connection installation failure ", + "1083": "Check grid and rotating field", + "1084": "Rotating field left", + "1085": "Primary Master", + "1086": "Secondary Master", + "1087": "Device control", + "1088": "Data inconsistency", + "1089": "AC bridge not ready for operation", + "1090": "UCE monitoring HF half-bridge", + "1091": "Bridge short circuit HF half-bridge", + "1092": "Voltage conditions not met", + "1093": "Fault sensor PCB temperature", + "1094": "External fan fault", + "1095": "Boost converter", + "1096": "Boost converter 2", + "1097": "Maximum phase shift", + "1098": "Tripping time for max. phase shift", + "1099": "Max. frequency change per second", + "1100": "Maximum frequency change tripping time", + "1101": "Lower reconnection limit", + "1102": "Upper reconnection limit", + "1103": "Nominal frequency", + "1104": "Normalized total apparent power", + "1105": "Boost converter", + "1106": "Overtemperature boost converter", + "1107": "Frequency change not permitted", + "1108": "Calibration voltage", + "1109": "Calibration status", + "1110": "AC voltage calibration failed", + "1111": "Failed", + "1112": "Not executed", + "1113": "Ground fuse fault", + "1114": "Check ground fuse", + "1115": "Replace fan", + "1116": "Clean fan", + "1117": "Varistor monitoring defective", + "1118": "Calibration failed", + "1119": "Selection of the voltage(s) to be calibrated", + "1120": "Maximum ground current", + "1121": "Tripping time maximum ground current", + "1122": "Grounding prescribed?", + "1123": "Prescribed grounding type", + "1124": "Grounding status", + "1125": "Positive", + "1126": "Negative", + "1127": "No grounding", + "1128": "None prescribed", + "1129": "Yes", + "1130": "No", + "1131": "Grid relay open", + "1132": "Frequency-dependent active power adapt. P(f)", + "1133": "Configuration of reactive power mode const. Q as %", + "1134": "Configuration of active power mode const. W as %", + "1135": "Update string prot. failed", + "1136": "Update string prot. failed", + "1137": "Update string protection", + "1138": "Update string protection", + "1139": "[US] UL1741/2005, 208 V", + "1140": "[US] UL1741/2005, 240 V", + "1141": "Grounding error", + "1142": "Wrong earthing type", + "1143": "Wrong earthing type; check earthing set", + "1144": "Set PV system time", + "1145": "Use Sunny Portal", + "1146": "Execute", + "1147": "Not initialized", + "1148": "Not connected", + "1149": "Searching", + "1150": "Not connected", + "1151": "Connected", + "1152": "Not connected", + "1153": "Not connected", + "1154": "Firmware update completed", + "1163": "Zigbee", + "1164": "Bluetooth", + "1165": "Ethernet", + "1166": "Serial", + "1167": "Speedwire", + "1168": "Webconnect", + "1170": "Downlink", + "1171": "Uplink", + "1173": "Current root node", + "1174": "Possible root nodes", + "1175": "Connection quality", + "1176": "Status", + "1177": "Fault indication", + "1179": "NetID", + "1180": "Current event", + "1186": "DC current measurement defective", + "1187": "every 15 minutes", + "1188": "hourly", + "1189": "daily", + "1190": "Syslog service", + "1191": "Activated until", + "1192": "Extern. reactive power mode", + "1193": "External setting", + "1194": "cos φ config. method of PV system control", + "1195": "Timeout for communication error indication", + "1196": "Export", + "1197": "Measurement name in local language", + "1198": "Events in local language", + "1199": "[CZ] PPDS", + "1200": "String protection OK", + "1201": "SMA ShadeFix", + "1202": "Cycle time", + "1203": "Power limit", + "1204": "Setpoint for PV voltage", + "1205": "Nominal system voltage", + "1206": "Setpoint for intermediate circuit voltage", + "1207": "Update file", + "1208": "Adaptor: Conn. interrupted", + "1209": "Adapter event: NetID changed", + "1210": "Not connected", + "1211": "Not connected", + "1212": "Not connected", + "1213": "DAA type ID", + "1214": "RAA type ID", + "1215": "Time interval expired", + "1216": "Dynamic settings established", + "1217": "Hysteresis voltage", + "1218": "Gradient K of reactive current droop", + "1219": "Specified voltage UQ0", + "1220": "Symmetrical limit for maximum reactive power", + "1221": "PWM reverse voltage", + "1222": "Reactive power gradient", + "1223": "Setting time for nominal value filter", + "1224": "Active power at starting point", + "1225": "Active power at end point", + "1226": "Reference correction voltage", + "1227": "PWM inverse voltage at undervoltage", + "1228": "PWM inversion delay at undervoltage", + "1229": "Reactive current droop", + "1230": "Dynamic grid support", + "1231": "NetID changed: New ID: |x3||x2||x1||x0|", + "1232": "Check for update and install it", + "1233": "SDLWindV", + "1234": "Diagnosis", + "1235": "CPU monitor", + "1236": "CPU load", + "1237": "Server path", + "1238": "Update started", + "1239": "Search for update completed successfully", + "1240": "Search for update not compl. successfully: |tn0|", + "1241": "Update aborted", + "1242": "Download of an update started", + "1243": "Download of an update completed successfully", + "1244": "Download of update not compl. successfully: |tn0|", + "1245": "Version unknown", + "1246": "Incorrect package size", + "1247": "One or more parameters are missing", + "1248": "Next connection", + "1249": "Next connection 2", + "1250": "Next connection 3", + "1251": "IRE status", + "1252": "Adaptor event: Conn. restored", + "1253": "Lower limit, voltage dead band", + "1254": "Upper limit, voltage dead band", + "1255": "Grid voltage fault", + "1256": "Update Speedwire", + "1257": "Update Speedwire", + "1258": "Result of the last connection test", + "1259": "Short-circuit String B, risk of arc.Don't pull ESS", + "1260": "Lightning protection device at input B defective", + "1261": "Check lightning protector B/PE", + "1262": "Full dynamic grid support", + "1263": "Operating mode of dynamic grid support", + "1264": "Full dynamic grid support", + "1265": "Limited dynamic grid support", + "1266": "mA", + "1267": "km/h", + "1268": "mph", + "1269": "kOhm", + "1270": "mOhm", + "1271": "mV", + "1272": "kVA", + "1273": "kvar", + "1274": "kW/m²", + "1275": "kW", + "1276": "MW", + "1277": "GW", + "1278": "MWh", + "1279": "GWh", + "1280": "Ws", + "1281": "g", + "1282": "kg", + "1283": "lb.", + "1284": "t", + "1285": "m²", + "1286": "sq.ft.", + "1287": "m", + "1288": "km", + "1289": "ft.", + "1290": "g/kWh", + "1291": "kg/kWh", + "1292": "kWh/kWp", + "1293": "Ah", + "1294": "As", + "1295": "Standby", + "1296": "New update available: Version |s0|", + "1297": "FTP Push connection test successfully completed.", + "1298": "An error occurred in the FTP Push conn. test: |s0|", + "1299": "FTP server started.", + "1300": "FTP server stopped.", + "1301": "An error occurred when start. the FTP server: |s0|", + "1302": "An error occurred when stop. the FTP server: |s0|", + "1303": "FTP upload completed.", + "1304": "An error occurred during the FTP upload: |s0|", + "1305": "Learning", + "1306": "Update Speedwire module failed", + "1307": "Server not available", + "1308": "Registration failed: |tn0|", + "1309": "Time synchronization failed: |tn0|", + "1310": "Data transmission aborted: |tn0|", + "1311": "Unknown device class", + "1312": "System fault", + "1313": "Authentication fault", + "1314": "Web service not available", + "1315": "Sunny WebBox not registered with the Sunny Portal", + "1316": "Update version of the software package", + "1317": "Automatic update", + "1318": "Time of the automatic update", + "1319": "No version available", + "1320": "Identification of WAN IP via Sunny Portal failed", + "1321": "Measures in the case of a grounding error", + "1322": "Disconnect from grid", + "1323": "Warn", + "1324": "Server not available: |lv04|", + "1325": "Data export in CSV format", + "1326": "Data export in XML format", + "1327": "Displacement power factor", + "1328": "Reactive power droop mode", + "1329": "Voltage spread", + "1330": "Hysteresis", + "1331": "Dead band", + "1332": "Frequency monitoring", + "1333": "Unbalance detection", + "1334": "Permissible grid unbalance", + "1335": "Tripping time of the unbalance detection", + "1336": "Tripping time of the frequency monitor", + "1337": "[US] UL1741/120", + "1338": "[US] UL1741/208", + "1339": "[US] UL1741/240", + "1340": "Multifunction relay", + "1341": "Fault indication", + "1342": "Fan control", + "1343": "Self-consumption", + "1344": "Minimum On time", + "1345": "Minimum On power", + "1346": "Minimum power On time", + "1347": "Operating mode", + "1348": "Initiate device restart", + "1349": "Control via communication", + "1350": "Configuration of \"Turbine\" operating mode", + "1351": "Constant deviation of power calculation", + "1352": "Coefficient of power calculation based on Udc", + "1353": "Coefficient of power calculation based on Udc^2", + "1354": "Coefficient of power calculation based on Udc^3", + "1355": "Proportional factor of power control", + "1356": "Integral factor of power control", + "1357": "Differential factor of power control", + "1358": "Critical voltage to end feed-in", + "1359": "Battery bank", + "1360": "Minimum time before reconnection", + "1361": "1E-3", + "1362": "1E-6", + "1363": "Rate for feed-in reimbursement", + "1364": "Rate for self-use reimbursement", + "1365": "Electricity tariff", + "1366": "Feed-in reimbursement", + "1367": "Self-use reimbursement", + "1368": "Electricity costs", + "1370": "Transformer prot. triggered", + "1371": "Quick stop triggered", + "1372": "CAN communication error", + "1374": "AC separating point", + "1376": "Invalid analogue active power specification", + "1377": "Invalid digital active power specification", + "1378": "Invalid analogue reactive power specification", + "1379": "Invalid analogue power factor specification", + "1380": "Doors have been opened during operation", + "1384": "Active power limit AC frequency", + "1385": "Temperature derating", + "1387": "Reactive power Q, specific. via analogue input", + "1388": "cos φ specific. analog input", + "1389": "Reactive power/volt. char. Q(V) param.", + "1390": "Active power limitation P via analogue input", + "1391": "Active power limitation P via digital inputs", + "1392": "Fault", + "1393": "Waiting for PV voltage", + "1394": "Waiting for valid AC grid", + "1395": "DC range", + "1396": "AC grid", + "1397": "Check active and reactive power interface", + "1398": "Close doors and cancel release", + "1399": "Check external transformer", + "1400": "DC overvoltage peak", + "1401": "Displacement power factor", + "1402": "Excitation type of cos φ", + "1403": "Energy counter type", + "1404": "PV generation counter", + "1405": "Grid feed-in counter", + "1406": "Grid reference counter", + "1407": "PV system measurements", + "1408": "Supplied power", + "1409": "Frequency threshold", + "1410": "Grip impedance monitoring", + "1411": "Current amplitude", + "1412": "Max. impedance gradient", + "1413": "Periodic AID", + "1414": "Amplitude", + "1415": "Normalized upper threshold", + "1416": "Normalized lower threshold", + "1417": "Norm. max. reconnection threshold", + "1418": "Norm. min. reconnection threshold", + "1419": "Specific CO2 reduction", + "1420": "Grid type", + "1421": "Impedance", + "1422": "Centre point of P-coordinate", + "1423": "Centre point of U-coordinate", + "1424": "End point of U-coordinate", + "1425": "Start point of U-coordinate", + "1426": "Ripple control signal detection", + "1427": "Ground voltage", + "1428": "Backup mode operating mode", + "1429": "Backup mode status", + "1430": "PowerBalancer", + "1431": "PowerGuard", + "1432": "Power max. Value", + "1433": "277 Volt", + "1434": "208 Volt", + "1435": "240 Volt", + "1436": "208 Volt without neutral conductor", + "1437": "240 Volt without neutral conductor", + "1438": "Automatic", + "1439": "In all phases", + "1440": "Grid mode", + "1441": "Separate network mode", + "1442": "PhaseGuard", + "1443": "PowerGuard", + "1444": "FaultGuard", + "1445": "Passive AID", + "1446": "GridGuard-Version", + "1447": "S0-pulse feed-in", + "1448": "S0-pulse reference", + "1449": "Insulation failure ignored", + "1450": "Grounding error ignored", + "1451": "Insulation monitoring configuration error", + "1452": "No Remote GFDI response", + "1453": "Permanent insulation failure", + "1454": "Soft grounding triggered", + "1455": "Emergency OFF", + "1456": "Consumption", + "1457": "Self consumption increase", + "1458": "Today's increased self-consumption", + "1459": "Mains connection", + "1460": "Power supply status", + "1461": "Mains connected", + "1462": "Backup not available", + "1463": "Backup", + "1464": "Rated capacity throughput", + "1465": "Lower battery discharge limit", + "1466": "Wait", + "1467": "Start", + "1468": "MPP search", + "1469": "Shut down", + "1470": "Fault", + "1471": "Warning/error mail OK", + "1472": "Warning/error mail not OK", + "1473": "PV system info mail OK", + "1474": "PV system info mail not OK", + "1475": "Error mail OK", + "1476": "Error mail not OK", + "1477": "Warning mail OK", + "1478": "Warning mail not OK", + "1479": "Wait after mains interruption", + "1480": "Waiting for utilities company", + "1481": "Sunny central control", + "1482": "PV system is not available in the portal", + "1483": "Device is already available in the portal", + "1484": "Invalid parameter was transmitted", + "1485": "Unknown device version", + "1486": "No rights to execute the operation", + "1487": "Device successfully registered in the portal", + "1488": "SSM Id for which comm. fault has occurred", + "1489": "SMU warning code for string fault", + "1490": "Status of signal contact 1", + "1491": "Status of signal contact 2", + "1492": "String temporarily deselected due to earth fault", + "1493": "String permanently deselected due to earth fault", + "1494": "Eliminate earth fault", + "1495": "String detected w. yield loss", + "1496": "Check functionality of the whole string", + "1497": "Watchdog SMID CONT", + "1498": "Watchdog SMID CT", + "1499": "On-board supply sys. dist. 12V", + "1500": "Replace SD card with a functional one", + "1501": "Transmission attempts", + "1502": "Time of the last transmission attempt", + "1503": "Update source", + "1504": "Automatic update", + "1505": "Manual update", + "1506": "Update portal", + "1507": "Information", + "1508": "90% of DC switch. cycl. reach.", + "1509": "100% of DC switch. cyc. reach.", + "1510": "Compress", + "1511": "Compress and delete", + "1512": "The data export to the SD card was temporarily deactivated as at least one update file is on the SD card.", + "1513": "The data export to the SD card was re-activated.", + "1514": "The firmware update with version number |u/9/0| for device type |tn4| was sent to the PV system.", + "1515": "The firmware update with version number |u/9/0| for device types |tn8| was sent to the PV system.", + "1516": "The firmware update with version number |u/9/0| for device types |tn4|, |tn8| and |tnc|was sent to the PV system.", + "1517": "The device with serial number |u0| was successfully updated to firmware version |u/9/4|.", + "1518": "The device with serial number |u0| could not be updated to firmware version |u/9/4|.", + "1519": "The device with serial number |u0| and firmware version |u/9/4| is no longer considered for the current update process as this appliance update has failed several times.", + "1520": "Download of the update file with version |u/9/0| for device type |tn4| did not complete successfully.", + "1521": "Download of the update file with version |u/9/0| for device types |tn4| and |tn8| did not complete successfully.", + "1522": "Download of the update file with version |u/9/0| for device types |tn4|, |tn8| and |tnc| did not complete successfully.", + "1523": "Wait for update conditions", + "1524": "S0 pulses per infed kWh", + "1525": "S0 pulses per consumed kWh", + "1526": "Target version of the software package", + "1527": "Force", + "1528": "Reconnection fault grid", + "1529": "Reconnection condition not satisfied", + "1530": "208V WYE", + "1531": "Grid switch", + "1532": "Status after loss of communication in autom. mode", + "1533": "Status after switching on automatic", + "1535": "Jet offline test", + "1536": "Timeout after loss of communication", + "1537": "Starting current detection", + "1538": "Gradient K of the reactive current droop", + "1540": "Quick stop", + "1541": "Unspecif. DSP fault", + "1542": "Unspecif. BFR fault", + "1543": "Overtemperature DC clamps", + "1544": "A DC switch does not close", + "1545": "Insulation failure stack", + "1546": "Warning grounding error", + "1547": "Permanent grounding error", + "1548": "Warning softgrounding activated", + "1549": "Permanent softgrounding error", + "1550": "Softgrounding ignored", + "1551": "Softgrounding hardware fault", + "1552": "Warning insulation failure", + "1553": "Do not change", + "1554": "Disturbance sensor display temperature", + "1555": "No display", + "1556": "Display fault (temp. too low)", + "1557": "Display fault (unknown display type)", + "1558": "Display fault (display not connected)", + "1559": "Run update", + "1560": "Remote control disconnection active", + "1562": "Phase L1 against L2", + "1563": "Offset to AC current", + "1564": "K1", + "1565": "K1+K2", + "1566": "K1+K2+K3", + "1567": "K1+K2+K3+K4", + "1568": "K1+K2+K4", + "1569": "K1+K3", + "1570": "K1+K3+K4", + "1571": "K1+K4", + "1572": "K2", + "1573": "K2+K3", + "1574": "K2+K3+K4", + "1575": "K2+K4", + "1576": "K3", + "1577": "K3+K4", + "1578": "K4", + "1579": "Restart in |u0| seconds", + "1580": "Please connect AC and DC", + "1581": "Feeding", + "1582": "Reset measured values", + "1583": "Current flow direction", + "1584": "Positive", + "1585": "Negative", + "1586": "Sunny portal occupied", + "1587": "Network fault", + "1588": "Reactive power specification", + "1589": "cos φ specification", + "1591": "Control of wireless sockets", + "1592": "Overtemperature throttle range", + "1593": "Update file successfully copied", + "1594": "The passwords of the device reset to factory s.", + "1595": "Network settings of device reset to the factory s.", + "1596": "The device has been reset to the factory setting", + "1597": "The memory card is full or write-protected", + "1598": "Transformer incorrectly connected", + "1599": "Grid disconnection for 0% active power setting", + "1600": "Conf. of the PV system control procedure P(V)", + "1601": "Characteristic curve number", + "1602": "Conf. of the grid integr. characteristic curves", + "1603": "Characteristic", + "1604": "Adjustm. time characteristic curve operating point", + "1605": "Decrease ramp", + "1606": "Increase ramp", + "1607": "Number of support points to be used", + "1608": "X value 1", + "1609": "Y value 1", + "1610": "X value 2", + "1611": "Y value 2", + "1612": "X value 3", + "1613": "Y value 3", + "1614": "X value 4", + "1615": "Y value 4", + "1616": "X value 5", + "1617": "Y value 5", + "1618": "X value 6", + "1619": "Y value 6", + "1620": "Active power change rate after fault end", + "1621": "Soft start-up rate P", + "1622": "Increase rate in case of insolation change", + "1623": "Root node", + "1624": "Password recovery failed: Device: |u4|", + "1625": "Sunny Portal", + "1626": "NTP server", + "1627": "Alarm", + "1628": "Modbus", + "1629": "TCP server", + "1630": "UDP server", + "1631": "DHCP server", + "1632": "Repeated notification", + "1633": "Email address(es)", + "1634": "Send test e-mail", + "1635": "Upload interval", + "1636": "Start IP address", + "1637": "End IP address", + "1638": "Time synchronization source", + "1639": "Inputs/outputs", + "1640": "Digital input group 1 (DI1 .. DI4)", + "1641": "Digital input group 2 (DI5 .. DI8)", + "1642": "Analogue current input 1", + "1643": "Analogue current input 2", + "1644": "Analogue current input 3", + "1645": "Analogue voltage input 1", + "1646": "Remaining space", + "1647": "Detect string failures", + "1648": "Detect partial string failures", + "1649": "String |s0| low power", + "1650": "Partial string |s0| low power", + "1651": "Overvoltage suppression", + "1652": "Minimum power reduction", + "1653": "Sensor error", + "1654": "Offset DCinAC defective", + "1655": "Electric arc detected", + "1656": "Serial el.arc in String |s0| detected by AFCI mod.", + "1657": "AFCI self-test failed", + "1658": "AFCI self-test successful", + "1659": "Please confirm by tapping", + "1660": "AFCI switched on", + "1661": "Status: |tn0| / |tn4| / |tn8|", + "1662": "Measuring interface 1", + "1663": "Measuring interface 2", + "1664": "Measuring interface 3", + "1665": "Connection point", + "1666": "Type of counter", + "1667": "S0 reference", + "1668": "S0 feed-in", + "1669": "D0 reference", + "1670": "D0 feed-in", + "1671": "D0 reference and feed-in", + "1672": "Activate island mode", + "1673": "Not enough energy available from wind generator", + "1674": "IsNotLogin response: Device: |x1||x0| |x7||x6||x5||x4|", + "1675": "Login status response: Device: |x1||x0| |x7||x6||x5||x4|, status: |xb||xa||x9||x8|", + "1676": "IsNotLogin query started", + "1677": "LoginStatus query started", + "1678": "Devices LoginStatus query: Device: |x1||x0| |x7||x6||x5||x4|", + "1679": "Devices Login started: Device: |x1||x0| |x7||x6||x5||x4|, Level: |u8|", + "1680": "Devices Logout started: Device: |x1||x0| |x7||x6||x5||x4|, Level: |xb||xa||x9||x8|", + "1681": "MandatoryData queried: Device: |x1||x0| |x7||x6||x5||x4|, Obj: |x9||x8|, LRI: |xf||xe||xd||xc|", + "1682": "Minimum insolation", + "1683": "Maximum insolation", + "1684": "Minimum measurement", + "1685": "Maximum measurement", + "1686": "Insolation sensor", + "1687": "USB connection", + "1688": "USB connection 2", + "1689": "Energy absorbed today", + "1690": "Fast shut-down", + "1691": "Type", + "1692": "String deactivated due to WMax", + "1693": "No string connected", + "1694": "DC switch tripped", + "1695": "DC switch waits for connection", + "1696": "DC switch blocked by spindle", + "1697": "DC switch manually blocked", + "1698": "DC switch 3 x tripped", + "1699": "DC switch defective", + "1700": "Key switch", + "1701": "Local time", + "1702": "DC switch", + "1703": "String status", + "1704": "Derating due to max. power", + "1705": "Frequency deviation", + "1706": "Derating due to PV current", + "1707": "Product has switched to the status Automatic=|tn4| and Power switch=|tn8|", + "1708": "Speedwire", + "1709": "SMACOM A", + "1710": "SMACOM B", + "1711": "Connection speed", + "1712": "Current IP address", + "1713": "Current subnet mask", + "1714": "Current gateway address", + "1715": "Current DNS server address", + "1716": "Webconnect", + "1717": "MAC address", + "1718": "Automatic configuration switched on", + "1719": "Faulty communication", + "1720": "10 Mbit/s", + "1721": "100 Mbit/s", + "1722": "IRE faulty", + "1723": "Supplied power (calculated)", + "1724": "Counter status generation counter (calculated)", + "1725": "No connection", + "1726": "Half duplex", + "1727": "Full duplex", + "1728": "Duplex mode", + "1729": "Communication error power unit", + "1730": "Battery values", + "1731": "Energy absorbed charge amount", + "1732": "Charge amount released", + "1733": "Charge", + "1734": "Active charging process", + "1735": "Maintenance", + "1736": "Full and equalization charge", + "1737": "State of charge", + "1738": "Absorbed energy", + "1739": "Energy released", + "1740": "Generator", + "1741": "Automatic start", + "1742": "Reason for requesting generator", + "1743": "Generator measured values", + "1744": "Manual control", + "1745": "Generator queries state of charge", + "1746": "Switch-off limit in time range 1", + "1747": "Switch-off limit in time range 2", + "1748": "Number of starts", + "1749": "Full stop", + "1750": "Actual increased self-consumption", + "1751": "Current self-consumption", + "1752": "Current capacity", + "1753": "Time for boost charge", + "1754": "Time for equalization charge", + "1755": "Time for full charge", + "1756": "Maximum start attempts after error", + "1757": "Maximum charging current", + "1758": "Current set charging voltage", + "1759": "Nominal capacity", + "1760": "Maximum temperature", + "1761": "Nominal current", + "1762": "Generator request via power", + "1763": "Switch-off power", + "1764": "Switch-on power", + "1765": "General operating status", + "1766": "Rise in self-consumption switched on", + "1767": "Boost charge", + "1768": "Full charge", + "1769": "Equalization charge", + "1770": "Float charge", + "1771": "Charge with solar power", + "1772": "Charge with solar and grid power", + "1773": "No request", + "1774": "Load", + "1775": "Time control", + "1776": "Manual one hour", + "1777": "Manual start", + "1778": "External source", + "1779": "Separated", + "1780": "Public electricity mains", + "1781": "Island mains", + "1782": "Valve Regulated Lead Acid battery (VRLA)", + "1783": "Flooded lead acid batt. (FLA)", + "1784": "Nickel/Cadmium (NiCd)", + "1785": "Lithium-Ion (Li-Ion)", + "1786": "S0 impulses/kWh:", + "1787": "Initialization", + "1788": "Ready", + "1789": "Warming", + "1790": "Synchronization", + "1791": "Activated", + "1792": "Resynchronization", + "1793": "Generator separation", + "1794": "Slow down", + "1795": "Bolted", + "1796": "Blocked after error", + "1797": "Energy release today", + "1798": "External sources", + "1799": "No", + "1800": "Generator", + "1801": "Mains", + "1802": "Mains and generator", + "1803": "Invalid configuration for the PV generation counter", + "1804": "Invalid configuration for the mains infeed counter", + "1805": "Invalid configuration for the mains consumption counter", + "1806": "Error in data transfer from the PV gen. counter", + "1807": "Error in data transfer from mains infeed counter", + "1808": "Error in data transfer from mains consump. counter", + "1809": "Invalid configuration for the load control", + "1810": "The communiction key has been replaced", + "1811": "PV system time has been reset", + "1812": "Serial number of the Bluetooth root node is |u0|-|u4|", + "1813": "Bluetooth connection quality to root node: |d0|%", + "1814": "There is no Bluetooth conn.", + "1815": "Establishing Bluetooth connection to root node", + "1816": "Bluetooth connection failed", + "1817": "Connection to load faulty. Load control not poss.", + "1818": "Power outage", + "1819": "Number of DC current measurement units", + "1820": "USB connection 1", + "1821": "External measurement of the insulation resistance", + "1822": "Alignment not homogeneous", + "1823": "PV connection reconfigured", + "1824": "Arc detection triggered", + "1825": "SMTP server", + "1826": "Encryption", + "1827": "SSH", + "1828": "Trigger time synchronization", + "1829": "Always SSL/TLS", + "1830": "SSL/TLS if possible", + "1831": "No encryption", + "1832": "Connection to mains establ.", + "1833": "Connection to mains disconn.", + "1834": "Connection to mains collapsed", + "1835": "Fault sensor module temp.", + "1836": "Fan life-time reached", + "1837": "Error in pyranometer", + "1838": "Pyranometer calibr. necessary", + "1839": "Backup mode switched on", + "1840": "Communication to the Sunny Portal was disrupted for |s0| hours", + "1841": "An error occurred in communication to the Sunny Portal: Error Code |d0|", + "1842": "Transfer of the Firmware update Version number |u/9/0| for device type |tn4|. The transfer can take some time.", + "1843": "Error when transferring the Firmware update Version number |u/9/0| for device type |tn4|. Procedure aborted.", + "1844": "IGMP switched on", + "1845": "Speedwire Group", + "1846": "|tn4|: network busy", + "1847": "|tn4|: network overloaded", + "1848": "|tn4|: faulty data packages", + "1849": "|tn4|: communication status goes to |tn8|", + "1850": "|tn4|: communication disrupted", + "1851": "|tn4|: connection speed goes to |tn8|", + "1852": "|tn4|: duplex mode goes to |tn8|", + "1853": "Load reduced through device reduction or increase of query interval", + "1854": "Stand-alone operation", + "1855": "Stand-alone operation", + "1856": "Analogue current input 4", + "1857": "Analogue voltage input 2", + "1858": "Analogue voltage input 3", + "1859": "Analogue voltage input 4", + "1860": "Energy consumed internally", + "1861": "|tn4|: Network load OK", + "1862": "high", + "1863": "Hardware recognition failed", + "1864": "Unknown hardware ID", + "1865": "Update transport started", + "1866": "Update transport successful", + "1867": "Update transport failed", + "1868": "Communication with device currently not possible. Device may be switched off.", + "1869": "Encrypt communication", + "1870": "Communication monitoring signal", + "1871": "Last successful upload", + "1872": "every 30 minutes", + "1873": "every 2 hours", + "1874": "every 4 hours", + "1875": "every 6 hours", + "1876": "every 8 hours", + "1877": "every 12 hours", + "1878": "BT chip has been reinitialised", + "1879": "Hardware ID", + "1880": "Monitoring server", + "1881": "Remove device", + "1882": "Remove all devices", + "1883": "Device", + "1887": "System environment", + "1888": "STP208HW12", + "1889": "STP208HW13", + "1890": "STP208HW14", + "1891": "STP208HW15", + "1892": "SMTP", + "1893": "Active power", + "1894": "Reactive power", + "1895": "Digital inputs", + "1896": "Analogue inputs", + "1897": "Modbus", + "1898": "Active power limits are being sent to PV system", + "1899": "Reactive power setpoint is sent to system", + "1900": "Invalid spec. for |tn0| from |tn4|", + "1901": "New active power limits from |tn0| parameter |tn4| value |d8|%", + "1902": "New reactive power spec. from |tn0| parameter |tn4| value |f8|%", + "1903": "New reactive power spec. from |tn0| parameter |tn4| value |f8|", + "1904": "New reactive power spec. from |tn0| parameter |tn4| value |tn8|", + "1905": "Default status for |tn0| active", + "1906": "Wind direction", + "1907": "°", + "1908": "Reset communication data", + "1909": "Delete system parameters in SPI", + "1910": "Delete ODB experts in SPI", + "1911": "Delete HP images in SPI", + "1912": "Delete all firmware blocks in SPI", + "1913": "Clear SPI flashes", + "1914": "Reset CP", + "1915": "Webconnect update", + "1916": "Webconnect update failed", + "1917": "PID quick stop triggered", + "1918": "Self-test failed", + "1919": "Insulation monitoring error", + "1920": "Check insulation monitoring", + "1921": "First error stack", + "1922": "Stack error", + "1923": "Cluster controller registration failed: |tn0|", + "1924": "Cluster controller registered", + "1925": "New devices registered", + "1926": "Registration of new devices failed", + "1927": "Heartbeat signal sending failed", + "1928": "Network latency too high", + "1929": "Test at maximum voltage", + "1930": "Alarm at active power limit", + "1931": "Alarm at reactive power specification", + "1932": "Filter settings", + "1933": "E-mail sent", + "1934": "E-mail sending failed", + "1935": "Alarm triggered. Event |d0| at device |d4|:|u8|", + "1936": "Result of the last e-mail dispatch", + "1937": "Set NetID: |s0|", + "1938": "NetID 1 not supported", + "1939": "|tn0| logs in from |ip4|", + "1940": "Login from |ip0| failed", + "1941": "|ip0| successfully logged off", + "1942": "Parameter \"|ln04|\" set successfully. \"|lv04c|\" to \"|lv048|\"", + "1943": "Parameter \"|ln04|\" set successfully. \"|tnc|\" to \"|tn8|\"", + "1944": "Parameter \"|ln04|\" set successfully. Old value: \"|s8|\"", + "1945": "Parameter \"|ln04|\" set successfully. New value: \"|s8|\"", + "1946": "Setting of parameter \"|ln04|\" failed. \"|lv04c|\" to \"|lv048|\"", + "1947": "Setting of parameter \"|ln04|\" failed. \"|tnc|\" to \"|tn8|\"", + "1948": "Setting of parameter \"|ln04|\" failed. Old value: \"|s8|\"", + "1949": "Setting of parameter \"|ln04|\" failed. New value: \"|s8|\"", + "1950": "Watchdog reset |s0|", + "1951": "Memory card detected (capacity|d0| MB, free |d4| MB)", + "1952": "Memory card removed", + "1953": "Memory card nearly full (capacity|d0| MB, free |d4| MB)", + "1954": "Memory card write-protected", + "1955": "Memory card not detected or not readable", + "1956": "Memory card full (capacity|d0| MB, free |d4| MB)", + "1957": "Memory card full", + "1958": "No memory card inserted", + "1959": "Syslog service act. until: |ts0|", + "1960": "Error occurred in the FTP Push conn. test: |tn0|", + "1961": "Target computer does not respond", + "1962": "Connection rejected by target computer", + "1963": "Too many users logged in", + "1964": "Incorrect user name or password", + "1965": "File/directory not found or no access rights", + "1966": "An error occurred during FTP upload: |tn0|", + "1967": "Energy values for device |u0|:|u4| for time from |ts8| to |tsc| resent", + "1968": "Active power limitation: |b0|%/|b1|%/|b2|% (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1969": "Reactive power spec.: |b0|%/|b1|%/|b2|% (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1970": "cos φ spec.: |f0| (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1971": "Unknown PRB attempted to change |tn0|", + "1972": "Communication error: Contact to device |tn0|, SN: |u4| overdue (last contact: |ts8|)", + "1973": "X-axes reference", + "1974": "Y-axes reference", + "1975": "Voltage in V", + "1976": "Voltage in percentages of Un", + "1977": "Var in percentages of Pmax", + "1978": "Power in percentages of Pmax", + "1979": "Power in percentages of frozen active power", + "1980": "X value 7", + "1981": "Y value 7", + "1982": "X value 8", + "1983": "Y value 8", + "1984": "Reactive power/volt. char. Q(V) with meas. points", + "1985": "Conf. of reactive power/volt. char. Q(V) with meas. points", + "1986": "Activating active power", + "1987": "Deactivating active power", + "1988": "Lag time", + "1989": "Activating voltage", + "1990": "Deactivating voltage", + "1991": "Characteristic 2", + "1992": "PV system switches to status |tn0|", + "1993": "directly after \"Upload\"", + "1994": "Active power currently limited due to AC current limitation", + "1995": "EPS relay fails to open or close", + "1996": "Modbus |tn0| started", + "1997": "Modbus |tn0| terminated", + "1998": "An error occurred during startup of Modbus |tn0|: port |d4|", + "1999": "Modbus configurations file |s0| successfully loaded", + "2000": "Modbus configurations file |s0| corrupt", + "2001": "SMACOM C", + "2002": "SMACOM D", + "2003": "Power control module", + "2004": "Status of digital inputs", + "2005": "Remote shut-down", + "2006": "Input C defective", + "2007": "Fault in wind sensor", + "2008": "Lower frequency deviation limit prior to active power release", + "2009": "Upper frequency deviation limit prior to active power release", + "2010": "Application-ID", + "2011": "Switchable maximum threshold", + "2012": "Switchable maximum threshold tripping time", + "2013": "Switchable minimum threshold", + "2014": "Switchable minimum threshold tripping time", + "2015": "Operating mode of frequency restriction", + "2016": "Source of quick shut-down", + "2017": "Switchable frequency thresholds", + "2018": "IEC 61850 configuration", + "2019": "GOOSE configuration", + "2020": "61850 GOOSE", + "2021": "Alarm upon warnings", + "2022": "Alternative e-mail sender address (optional)", + "2023": "Absolute", + "2024": "In percentages", + "2025": "File upload successful: |s0|", + "2026": "File upload failed: |s0|", + "2027": "File upload rejected: |s0|", + "2028": "NSS quick stop: |tn0| through |tn4| is executed", + "2029": "Webconnect enabled", + "2030": "Webconnect disabled", + "2031": "Webconnect error: no connection", + "2032": "Default gateway not configured", + "2033": "DNS server not configured", + "2034": "No reply to DNS request", + "2035": "SIP proxy DNS resolution failed", + "2036": "Stun server DNS resolution failed", + "2037": "No reply to request to Stun server", + "2038": "No reply to SIP option packs", + "2039": "Webconnect server: Device could not log on", + "2040": "Storage medium detected at USB2; USB1 not assigned, thus no logging", + "2041": "reaction excitation type", + "2042": "Standardized active power", + "2043": "Reactive power setpoint Q", + "2044": "Change excitation type", + "2045": "Do not change excitation type", + "2046": "Internal SD card defective", + "2047": "Data retention refresh started", + "2048": "Data retention refresh completed", + "2049": "NSS not forwarded, is deactivated", + "2050": "Invalid NSS command", + "2051": "Invalid RPC command", + "2052": "E-mail could not be sent. SMTP error code: |d0|", + "2053": "Digital input group 1 (DI1 .. DI4)", + "2054": "Digital input group 2 (DI5 .. DI8)", + "2055": "DI1", + "2056": "DI1 DI2", + "2057": "DI1 DI2 DI3", + "2058": "DI1 DI2 DI3 DI4", + "2059": "DI1 DI2 DI4", + "2060": "DI1 DI3", + "2061": "DI1 DI3 DI4", + "2062": "DI1 DI4", + "2063": "DI2", + "2064": "DI2 DI3", + "2065": "DI2 DI3 DI4", + "2066": "DI2 DI4", + "2067": "DI3", + "2068": "DI3 DI4", + "2069": "DI4", + "2070": "DI5", + "2071": "DI5 DI6", + "2072": "DI5 DI6 DI7", + "2073": "DI5 DI6 DI7 DI8", + "2074": "DI5 DI6 DI8", + "2075": "DI5 DI7", + "2076": "DI5 DI7 DI8", + "2077": "DI5 DI8", + "2078": "DI6", + "2079": "DI6 DI7", + "2080": "DI6 DI7 DI8", + "2081": "DI6 DI8", + "2082": "DI7", + "2083": "DI7 DI8", + "2084": "DI8", + "2085": "Webconnect server: DNS address cannot be resolved", + "2086": "Webconnect error: Default gateway not configured", + "2087": "Webconnect error: DNS server not configured", + "2088": "Webconnect error: No reply to DNS request |s0|", + "2089": "Webconnect error: Unknown SIP proxy |s0|", + "2090": "Webconnect error: Unknown STUN server", + "2091": "Webconnect error: No reply to request to STUN server", + "2092": "Webconnect error: No reply to SIP option packs", + "2093": "Webconnect error: Device could not log onto server", + "2094": "Webconnect error: DNS address could not be resolved on server (|s0|)", + "2095": "Webconnect error: Faulty communication", + "2096": "STP208HW11", + "2097": "Phase L2 against L3", + "2098": "Phase L3 against L1", + "2099": "Power unit supplies data", + "2100": "Power limitation to prevent load unbalance", + "2101": "Insulation measurement", + "2102": "Frequency restr. due to timeout in |tn0|", + "2103": "Inconsistent communication version", + "2104": "Invalid device combination", + "2105": "Max. permitted number of inverters exceeded", + "2106": "Generator voltage too high", + "2107": "Mirror new complete pack", + "2108": "Remove inverter or delete removed inverters", + "2110": "Unsupported data system to |s0|", + "2111": "Voltage increase protection trigger time", + "2112": "Goose-Mac address", + "2113": "Grid connection point", + "2114": "Active power specification", + "2115": "Reactive power specification", + "2116": "Active power limitation", + "2117": "Generator control", + "2118": "Configuration of generator control", + "2119": "Derating", + "2120": "RCD adjustment", + "2121": "30 mA", + "2122": "40 mA", + "2123": "50 mA", + "2124": "60 mA", + "2125": "70 mA", + "2126": "80 mA", + "2127": "90 mA", + "2128": "100 mA", + "2129": "Number of S0 impulses", + "2130": "Connection establishment", + "2131": "Data transfer from PV generation counter OK", + "2132": "Data transfer from mains infeed counter OK", + "2133": "Data transfer from mains consumption counter OK", + "2134": "Nominal power", + "2135": "Operating mode of active power limitation", + "2136": "Dynamic active power limitation", + "2137": "Fixed specification in Watt", + "2138": "Fixed specification in percentages", + "2139": "Characteristic curve", + "2140": "Set active power limit", + "2141": "Configuration of network switch failed", + "2142": "Configuration of network switch successful", + "2143": "Relay defect confirmed", + "2144": "Dynamic active power limitation started.", + "2145": "Dynamic active power limitation terminated.", + "2146": "Act. power limitation deactivated due to incorr. configuration.", + "2147": "Supplied power: |u0| W (permitted value: |u4| W)", + "2148": "Active power was limited today for |u0| minutes.", + "2149": "Error: act. power limitation activated w/o regard to self consumption", + "2150": "Self-consumption again included for active power limitation.", + "2151": "Permanent 0 W grid supply measured No active power limitation possible, if meter is faulty", + "2152": "Inverter fails to respond to act. power limitation.", + "2153": "Self-test started manually", + "2154": "Manually started self-start completed successfully", + "2155": "Supplied power has exceeded the permitted value several times.", + "2156": "No answer during log on", + "2157": "No answer during log on to server", + "2158": "Permanent freq. restriction", + "2159": "Condition test successful", + "2160": "Condition test failed", + "2161": "STP267HW07", + "2162": "Number of section switches", + "2163": "Time to open", + "2164": "Time to close", + "2165": "Section switches", + "2166": "Overload at high DC voltage", + "2167": "Max. operating cycles of the GFDI reached", + "2168": "Replace GFDI", + "2169": "React. power spec.: |d0|%/|d4|%/|d8|%", + "2170": "cos φ spec.: |f0|/|f4|/|f8| |tnc|", + "2171": "Discharge cut-off voltage", + "2172": "Maximum charge current", + "2173": "Maximum discharge current", + "2174": "Cell charge nominal voltage for boost charge", + "2175": "Cell charge nominal voltage for full charging", + "2176": "Cell charge nominal voltage for equalization charge", + "2177": "Cell charge nominal voltage for float charge", + "2178": "Hysteresis minimum threshold", + "2179": "Hysteresis maximum threshold", + "2180": "Maximum reverse power", + "2181": "Maximum reverse power tripping time", + "2182": "Measurements of external power connection", + "2183": "Mains oper. without feed back", + "2184": "Energy saving in the network", + "2185": "End energy saving in the network", + "2186": "Start energy saving in the network", + "2187": "|tn0| logs on", + "2188": "Access to |x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf|", + "2189": "Logging on |x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf| failed", + "2190": "|x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf| was successfully logged off", + "2191": "Minimum operating temperature not reached", + "2192": "Update Zigbee", + "2193": "Zigbee update failed", + "2194": "Energy transfer not possible", + "2195": "Number of UCP events", + "2196": "Derating because of low DC voltage", + "2197": "Derating because of power and DC voltage", + "2198": "Bias voltage", + "2199": "Relative", + "2200": "Nominal apparent power", + "2201": "Low-voltage powerline", + "2202": "Medium-voltage powerline", + "2203": "Transformer", + "2204": "Ohmic resistive coating", + "2205": "Inductive reactive coating", + "2206": "Capacitive reactive coating", + "2207": "Short-circuit voltage", + "2208": "Nominal voltage of the high-voltage side", + "2209": "Ohm/km", + "2210": "Length of the low-voltage powerline", + "2211": "Length of the medium-voltage powerline", + "2212": "AC voltage measurement on the inverter side less than a mains voltage measurement", + "2213": "AC voltage measurement on the mains side less than inverter side voltage measurement", + "2214": "AC voltage measurement of the mains limit controller is defective", + "2215": "AC elect. measurem. is defect.", + "2216": "AC voltage measurement shows a whine on mains side", + "2217": "Defective precharging circuit", + "2218": "Check AC meas. cable and AC voltage sensing", + "2219": "Battery error", + "2220": "Channel 2 arc detection triggered", + "2221": "Check AC cable and AC power meas.", + "2222": "Check parameter settings of the DSP", + "2223": "Check precharg. circuit and fuses", + "2224": "Precharging circuit active", + "2225": "Pure reactive power operation, QonDemand active", + "2226": "Reverse current detection (immed. separation from the PV field)", + "2227": "General firmware error: |u0|", + "2228": "General firmware warning: |u0|", + "2229": "General error: |u0|/|u4|/|u8|/|uc|", + "2230": "Capacitor self-test failed", + "2231": "Check capacitor", + "2232": "SMA energy meter purchase", + "2233": "SMA energy meter supply", + "2234": "PIC", + "2235": "SMA energy meter purchase and supply", + "2236": "PLC communication impaired", + "2237": "PLC communication impaired", + "2238": "Power line communication", + "2239": "Package error rate", + "2240": "Intermediate circuit voltages not permitted (SW)", + "2241": "Wrong config: simultan. communication via bluetooth and speedwire", + "2242": "Overvoltage suppression P (V)", + "2243": "Overvoltage suppression Q (V)", + "2244": "Serial Number", + "2245": "Active power limitation", + "2246": "D1: 0 | D2: 0 | D3: 0 | D4: 0", + "2247": "D1: 1 | D2: 0 | D3: 0 | D4: 0", + "2248": "D1: 0 | D2: 1 | D3: 0 | D4: 0", + "2249": "D1: 1 | D2: 1 | D3: 0 | D4: 0", + "2250": "D1: 0 | D2: 0 | D3: 1 | D4: 0", + "2251": "D1: 1 | D2: 0 | D3: 1 | D4: 0", + "2252": "D1: 0 | D2: 1 | D3: 1 | D4: 0", + "2253": "D1: 1 | D2: 1 | D3: 1 | D4: 0", + "2254": "D1: 0 | D2: 0 | D3: 0 | D4: 1", + "2255": "D1: 1 | D2: 0 | D3: 0 | D4: 1", + "2256": "D1: 0 | D2: 1 | D3: 0 | D4: 1", + "2257": "D1: 1 | D2: 1 | D3: 0 | D4: 1", + "2258": "D1: 0 | D2: 0 | D3: 1 | D4: 1", + "2259": "D1: 1 | D2: 0 | D3: 1 | D4: 1", + "2260": "D1: 0 | D2: 1 | D3: 1 | D4: 1", + "2261": "D1: 1 | D2: 1 | D3: 1 | D4: 1", + "2262": "Release time", + "2263": "Release value", + "2264": "Error tolerance time", + "2265": "Operating mode of the stat.volt.maint. for Q on demand", + "2266": "Manual reactive power setpoint for zero power output", + "2267": "K-factor of react. current stat. for undervolt.", + "2268": "K-factor of react. current stat. for overvolt.", + "2269": "Reactive power charact. curve", + "2270": "cos φ or Q specification through optimum PV system control", + "2271": "Active power in watts", + "2272": "cos φ (EEI convention)", + "2273": "Configuration of characteristic curve mode", + "2274": "Activation of the characteristic curve", + "2275": "Activation threshold", + "2276": "Deactivation threshold", + "2277": "Threshold reference", + "2278": "Supporting points of the characteristic curve 1", + "2279": "Supporting points of the characteristic curve 2", + "2280": "Supporting points of the characteristic curve 3", + "2281": "X value", + "2282": "Y value", + "2283": "Service mode", + "2284": "Set charge volt. in serv. mode", + "2285": "Set disch. volt. in serv. mode", + "2286": "Charge current lim. serv. mode", + "2287": "Disch. current lim. serv. mode", + "2288": "Battery switch", + "2289": "Charge battery", + "2290": "Discharge battery", + "2291": "Battery standby", + "2292": "Charge battery", + "2293": "Discharge battery", + "2294": "Update battery management syst.", + "2295": "Battery management system update unsuccessful", + "2296": "New battery identified", + "2297": "Charge battery overcurr. (SW)", + "2298": "Disch. battery overcurr. (SW)", + "2299": "Battery undervoltage", + "2300": "Battery overvoltage", + "2301": "Battery switch overtemperature", + "2302": "Battery current sensor offset", + "2303": "Setting of parameter \"|ln04|\" unsuccessful. Conflict w/parameter \"ln8c|\"", + "2304": "Battery overcurrent", + "2305": "Battery input defect", + "2306": "Charge battery overcurr. (HW)", + "2307": "Disch. battery overcurr. (HW)", + "2308": "Battery overvoltage (HW)", + "2309": "Battery undervoltage (SW)", + "2310": "Battery overvoltage (SW)", + "2311": "Check cabling at inverter end", + "2312": "Delete BMS logger", + "2313": "Delete BMS events", + "2314": "Meter on Speedwire", + "2315": "Cell voltage", + "2316": "STP208HW10", + "2317": "Device with serial no. |u0| has not be contactable since |u4| day(s)", + "2318": "Device with serial no. |u0| is again contactable", + "2319": "Loss of communication with one or more devices", + "2320": "Ramp up after ret. to norm. op", + "2321": "Avg. active power limit", + "2335": "Faulty quick stop", + "2336": "Check quick stop connections", + "2337": "Insulated operation, insulation measurement", + "2338": "Trace data saved on SD board", + "2339": "Capacitor self-test interrupted", + "2340": "LG Chem", + "2341": "Sunny Home Manager preset", + "2342": "Production date", + "2343": "Activation processes", + "2344": "Charge mode activat. processes", + "2345": "Disch. mode activat. processes", + "2346": "All charge mode activ. proc.s", + "2347": "All disch. mode activ. proc.s", + "2348": "Total running time", + "2349": "Charge res. for emerg. curr. op.", + "2350": "Rated capacity", + "2351": "Cell temperature", + "2352": "Storage management operating mode", + "2353": "Set target current value", + "2354": "BAT-2.0A-SE-10", + "2355": "BMS activation processes", + "2356": "Active power limited AC voltage", + "2357": "Active power setpoint", + "2358": "Act./reac. pow. contr. via comm.", + "2359": "Reactive power setpoint", + "2360": "PV generation", + "2361": "Total values", + "2362": "Realtime values", + "2363": "Battery charge", + "2364": "Battery discharge", + "2365": "Electrical storage ratio", + "2366": "Meter count and PV gen. meter", + "2367": "Total consumption", + "2368": "Direct consumption", + "2369": "PV generation power", + "2370": "Present battery charge", + "2371": "Present battery discharge", + "2372": "Self-consumption ratio", + "2373": "Present electrical storage ratio", + "2374": "Autonomy ratio", + "2375": "Direct consumption ratio", + "2376": "Set PV generation meter", + "2377": "Set cumulative total consump.", + "2378": "Set cumulative self-consump.", + "2379": "Set cumulative direct consump.", + "2380": "Set battery charge", + "2381": "Set battery discharge", + "2382": "Server switched on", + "2383": "Manual restart", + "2384": "Gfdi relay status", + "2385": "Block status", + "2386": "Overvoltage", + "2387": "Undervoltage", + "2388": "Overfrequency", + "2389": "Underfrequency", + "2390": "Passive islanding detection", + "2391": "Communication fault with meter unit", + "2391t": "No meter values", + "2392": "Communication fault with Sunny Home Manager", + "2393": "Battery service life expiry", + "2394": "Battery connection fault", + "2395": "Unauthorized battery system", + "2396": "Battery voltage deviation", + "2397": "Battery system defect", + "2398": "Battery input defect", + "2399": "Battery switch relay defect", + "2400": "Battery switch defect", + "2401": "Battery system communication error", + "2402": "Battery system signal fault", + "2403": "Battery cell overvoltage fault", + "2404": "Battery cell undervoltage fault", + "2405": "Battery low temperature fault", + "2406": "Battery high temperature fault", + "2407": "Battery imbalancing fault", + "2408": "Internal battery hardware fault", + "2409": "Check connection", + "2410": "Check battery connection", + "2411": "Isolate generator, open DC switch", + "2412": "Check installation location", + "2413": "Total capacity", + "2414": "Reset battery protection mode", + "2415": "Abs. meter count and PV gen. meter", + "2416": "Absolute battery charge", + "2417": "Absolute battery discharge", + "2418": "Battery switch actuation fault", + "2419": "Min. battery charge capac.", + "2420": "Max. battery charge capac.", + "2421": "Min. battery discharge capac.", + "2422": "Max. battery discharge capac.", + "2423": "Mains exch. capac. target value", + "2424": "Presetting", + "2425": "Temperature", + "2426": "Do not update components", + "2427": "Max. PV power", + "2428": "Max. charge capacity", + "2429": "Min. charge capacity", + "2430": "Max. discharge capacity", + "2431": "Min. discharge capacity", + "2432": "Determine SOH", + "2433": "New active power setpoint via |tn0| parameter |tn4| value |d8|%", + "2434": "Update mains watchdog unit", + "2435": "Mains watchdog unit update unsuccessful", + "2436": "Update communication unsuccessful", + "2437": "New active power setpoint via |tn0| parameter |tn4| value |d8|", + "2438": "Another user already assigned Grid Guard rights", + "2439": "Dynamic active power limitation ends. Curtailment lasted |u0| minutes", + "2440": "Stringstromfehler - kommt", + "2441": "Kommunikationsfehler - kommt", + "2442": "SMU-Fehler (WD, EEPROM) - kommt", + "2443": "Stringstromfehler - geht", + "2444": "Kommunikationsfehler - geht", + "2445": "SMU-Fehler (WD, EEPROM) - geht", + "2446": "Battery system safety signal defect", + "2447": "Aged capacitors in AC filter", + "2448": "Monitoring of AC capacitors", + "2449": "Temperature", + "2450": "Highest measured temp.", + "2451": "GridGuard password", + "2452": "STP267HW09", + "2453": "Reset Bootloader Environment", + "2454": "Self-supply", + "2455": "Discharge of current battery", + "2456": "Monitoring", + "2457": "High AC ripple current due to defective sine-wave filter capacitors", + "2458": "High AC ripple current due to too high AC ripple voltage", + "2459": "Check inverter electronics and sine-wave filter capacitors", + "2460": "Fan fault interior 3", + "2461": "Single-phase power failure on the medium voltage level (transformer switch group Ynd)", + "2462": "Megger threshold value unknown", + "2463": "Check megger", + "2464": "Battery overcurrent (HW)", + "2465": "Initialization battery module", + "2466": "FRT case identif. and treated", + "2467": "V/A", + "2468": "Narrow-band support", + "2469": "Broad-band support", + "2470": "Amplification", + "2471": "Damping", + "2472": "Current capacity (Dvlp)", + "2473": "Programming progress", + "2474": "Set offset of the supplied energy", + "2475": "Set offset of the absorbed energy", + "2476": "As static voltage stability", + "2477": "Dynamic grid disconnection", + "2478": "Seconds", + "2479": "Voltage in percentages of Unom", + "2480": "Stack test canc. due to exc. UZK measured value dev.", + "2481": "Numerous statuses", + "2482": "cos φ of start point", + "2483": "cos φ of end point", + "2484": "Emergency power measurements", + "2485": "Operating mode EPS (Emergency Power Supply)", + "2486": "Change-over time to EPS after network failure", + "2487": "Chg-over t EPS to network op after network reconnect", + "2488": "Total energy", + "2489": "Fan interior 3", + "2490": "Phase loss", + "2491": "Update Bootloader", + "2492": "Update Bootloader failed", + "2493": "Update Webserver", + "2494": "Update Webserver failed", + "2495": "Overcurr. inp.C (SW)", + "2496": "Overvoltage input C (SW)", + "2497": "Software component", + "2498": "Communication Bootloader", + "2499": "Webserver", + "2500": "System control and fallback behavior", + "2501": "Fallback behavior", + "2502": "Timeout", + "2503": "Fallback value of reactive power setting", + "2504": "Fallback value of cos φ for active power output", + "2505": "Fallback value of the excitation type for active power output", + "2506": "Values maintained", + "2507": "Apply fallback values", + "2508": "Specification", + "2509": "Active power limitation P", + "2510": "Reactive power mode", + "2511": "cos φ", + "2512": "Excitation type cos φ", + "2513": "Fallback active power P", + "2514": "Impedance compensation", + "2515": "Ohmic resistance", + "2516": "Inductive resistance", + "2517": "Capacitive resistance", + "2518": "Frequency-dependent reactive power supply Q(df/dt)", + "2519": "Harmonic-dep. reactive power supply Q(dTHD/dt)", + "2520": "Max. reactive power", + "2521": "Slave 1", + "2522": "Slave 2", + "2523": "Master", + "2524": "Bootloader version", + "2525": "Type of AC distribution", + "2526": "Solar charger total energy", + "2527": "Total energy photovoltaics", + "2528": "Daily energy photovoltaics", + "2529": "Output of photovoltaics", + "2530": "Cluster behaviour when a device fails", + "2531": "Energy saving mode", + "2532": "Areas of application", + "2533": "Operating time statistics counter", + "2534": "Charge factor", + "2535": "No. of equalization charges", + "2536": "No. of full charges", + "2537": "Relative battery discharge since last full charge", + "2538": "Relative battery discharge since last equalization charge", + "2539": "Max. occurred charge current", + "2540": "Max. occurred discharge current", + "2541": "Switch-on limit after overtemperature shutdown", + "2542": "Line resistance of DC connection", + "2543": "Cycle time full charge", + "2544": "Cycle time equalization charge", + "2545": "Temperature compensation", + "2546": "Automatic equalization charge", + "2547": "Absorption phase active", + "2548": "Fault state of charge", + "2549": "Manual equalization charge", + "2550": "Energy saving mode", + "2551": "Time until change-over to energy saving mode", + "2552": "Maximum duration of energy saving mode", + "2553": "Voltage setpoint with deactivated BMS", + "2554": "Start time", + "2555": "End time", + "2556": "Limit of battery state of charge", + "2557": "Type of additional DC sources", + "2558": "Operating time energy count", + "2559": "Automatic frequency control", + "2560": "Maximum AC charge current", + "2561": "external transformer", + "2562": "Operating time", + "2563": "Repeat cycle", + "2564": "Cut-off time until shutdown", + "2565": "Lower lmt deep disch. protect area prior shutdown", + "2566": "Minimum width of deep discharge protection area", + "2567": "Minimum width of backup power area", + "2568": "Area width for conserving battery state of charge", + "2569": "Minimum width of self-consumption area", + "2570": "Most profitable month", + "2571": "Season operation active", + "2572": "Switch-on limit", + "2573": "Switch-off limit", + "2574": "Start time range", + "2575": "Request", + "2576": "Target address", + "2577": "Average time", + "2578": "Min. operating time", + "2579": "Min. idle period", + "2580": "Cooling time", + "2581": "Idle period after fault", + "2582": "Warm-up time", + "2583": "Operating time", + "2584": "Generator request via charge type", + "2585": "Charge type", + "2586": "Generator request via digital input", + "2587": "Reaction to digital input", + "2588": "Remaining min. operating time", + "2589": "Type of current limitation", + "2590": "Sensitivity of generator failure detection", + "2591": "Maximum current of the ext. network interface", + "2592": "Feed-in permitted", + "2593": "Power monitoring", + "2594": "Start feed-in", + "2595": "Stop feed-in", + "2596": "Upper state of charge for reactivating feed-in", + "2597": "Lower state of charge for locking feed-in", + "2598": "Grid request via battery state of charge", + "2599": "Grid request via charge type", + "2600": "Load shedding 1", + "2601": "Load shedding 2", + "2602": "Limit of battery state of charge for start", + "2603": "Limit of battery state of charge for stop", + "2604": "Timer", + "2605": "Duration in which the relay is activated for timer", + "2606": "Repeat cycle for timer", + "2607": "Temperature limit for battery compartment fan", + "2608": "Digital input", + "2609": "Multicluster Box 6", + "2610": "Multicluster Box 12", + "2611": "Multicluster Box 36", + "2612": "Further operation", + "2613": "Stop all devices", + "2614": "Self-consumption area", + "2615": "State of charge conservation area", + "2616": "Backup power area", + "2617": "Deep discharge protection area", + "2618": "Deep discharge area", + "2619": "AC sources and DC charge controllers", + "2620": "Other DC charge controllers", + "2621": "Communicatively coupled DC charge controller", + "2622": "Once", + "2623": "Weekly", + "2624": "June profitable", + "2625": "December profitable", + "2626": "Fixed limit value for current limitation", + "2627": "Frequency-dependent current limitation", + "2628": "Low", + "2629": "Medium", + "2630": "Normal", + "2631": "High", + "2632": "Automatic generator request", + "2633": "1-stage load shedding", + "2634": "1-stage load shedding or 1st stage with 2-stage load shedding", + "2635": "2nd stage for 2-stage load shedding (load shedding 2)", + "2636": "Timer 1", + "2637": "Timer 2", + "2638": "Control of add. loads", + "2639": "Relay on if generator running", + "2640": "Relay on if ext. source available", + "2641": "Relay on if grid is available", + "2642": "Relay off in case of fault", + "2643": "Relay on in case of warning", + "2644": "Relay on if cluster running", + "2645": "Battery compartment fan", + "2646": "Electrolyte pump", + "2647": "ComSync", + "2648": "Relay on with power limitation", + "2649": "Grid disconnection during emergency operation", + "2650": "Earthing in emer op", + "2651": "Lowest measured temperature", + "2652": "Remaining absorption time", + "2653": "Remaining time until full charge", + "2654": "Remaining time until equalization charge", + "2655": "Time-controlled generator operation", + "2656": "Grid request via power", + "2657": "Start date", + "2658": "V/°C", + "2659": "Protection mode", + "2660": "External network", + "2661": "Time range", + "2662": "Device is no longer updated after several failures", + "2663": "Remote update not supported", + "2664": "Execute firmware update via SD card", + "2665": "Power threshold", + "2666": "Power threshold tripping time", + "2667": "Cut-off time", + "2668": "Suitable for energy management", + "2669": "Unsuitable", + "2670": "Conditionally suitable", + "2671": "Well suited", + "2672": "Max. chg-over frequency charge/disch. direct. reached", + "2673": "Switch-on request", + "2674": "Limit value violation in GridGuard setting", + "2676": "Battery system defect (ID |b0|: 0x|x5||x4|, 0x|x7||x6|, 0x|x9||x8|, 0x|xB||xA|)", + "2677": "Operation at generator (at external input)", + "2678": "Feeding network op (at external input)", + "2679": "Energy saving mode of slaves in single-phase parallel op", + "2680": "Energy saving mode at network", + "2681": "Shutdown due to fault", + "2682": "Emergency charge", + "2683": "Automatic start", + "2684": "Manual start (change-over from standby to op)", + "2685": "Manual stop (change-over from op to standby)", + "2686": "Energy saving mode start", + "2687": "Energy saving mode stop", + "2688": "Ext. start via system control (chg-over from op to standby)", + "2689": "Ext. stop via system control (chg-over from op to standby)", + "2690": "Automatic frequency control intervenes", + "2691": "Automatic frequency control ends", + "2692": "Self-consumption control started", + "2693": "Self-consumption control stopped", + "2694": "Only charge op. in self-consumption mode", + "2695": "Full or equalization charge with active self-consumption optimisation", + "2696": "Return to self-consumption optimisation after completing a full or equalization charge", + "2697": "The device switches off", + "2698": "System control: Setpoint spec. activated", + "2699": "System control: Setpoint spec. deactivated", + "2700": "Reset battery management due to new battery", + "2701": "Status change to battery float charge", + "2702": "Status change to battery boost charge", + "2703": "Status change to battery full charge", + "2704": "20 percent calibration being executed", + "2705": "Automatic generator start due to set criteria, e.g. battery state of charge", + "2706": "Automatic generator stop due to set criteria, e.g. battery state of charge", + "2707": "Manual generator start", + "2708": "Manual generator stop", + "2709": "Manual fault confirmation generator fault", + "2710": "Generator requested", + "2711": "Generator started in current-controlled operation", + "2712": "Generator stopped in current-controlled operation", + "2713": "Grid request due to low battery state of charge", + "2714": "Release of grid disconnect due to sufficient battery state of charge", + "2715": "Grid request due to power limit exceedance", + "2716": "Grid disconnect release as power limit not reached", + "2717": "Manual grid request", + "2718": "Manual grid disconnect release", + "2719": "Multifunction relay |d0| of device at L|d4| is |tn8|", + "2720": "Transfer relay |d0| of device at L|d4| is |tn8|", + "2721": "Master starts firmware update of cluster", + "2722": "Sunny Remote Control activated", + "2723": "Data module |d0| incorr. connected or missing", + "2724": "Device model specified", + "2725": "Solar charger 1 is detected", + "2726": "Event |tn0| of process interface", + "2727": "Derating due to temp. L|d0|", + "2728": "Battery voltage too high and not generated by device", + "2729": "Warning actual battery capacity (SOH) <= 70%", + "2730": "A 20% recalibration of battery state of charge executed with a leap greater than 10%", + "2731": "Excess current transfer relay of device at L1", + "2732": "Ext grid disconnect due to undervoltage at phase L1", + "2733": "Ext grid disconnect due to overvoltage at phase L1", + "2734": "External grid disconnect due to insufficient freq. at phase L1", + "2735": "External grid disconnect due to excess freq. at phase L1", + "2736": "Ext grid disconnect due to undesired island grid at phase L1", + "2737": "Ext source disconnect due to violation of any limits in device at L1 (redundant measurement)", + "2738": "Voltage increase protection phase L1", + "2739": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L1", + "2740": "Ext grid disconnect due to phase failure or overload at phase L1", + "2741": "Ext grid disconnect due to external short circuit at phase L1", + "2742": "Ext. network has no correct rotary field", + "2743": "Ext grid disconnect due to overcurrent at phase L1", + "2744": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L1", + "2745": "Reverse power prot. (generator)", + "2746": "Blocking of generator due to too much connect. processes", + "2747": "Prohibited feedback to utility grid at phase L1", + "2748": "Feed-in current larger than set max. value at phase L1", + "2749": "Transfer relay does not close at phase L1", + "2750": "Watchdog counter Slave 1 expired (multiple cons. watchdog tripping)", + "2751": "Faulty CAN communication with device at L2", + "2752": "Short circuit battery temp. sensor", + "2753": "Cable break battery temp. sensor", + "2754": "No synchronisation signal from device to L2", + "2755": "No message from device at L2", + "2756": "Synchronisation not executed", + "2757": "Invalid date", + "2758": "Battery potection mode 1", + "2759": "Short circuit 24V DC output", + "2760": "Timeout of signal processor in device to L2", + "2761": "No PV in off-grid mode available", + "2762": "Generator mode not possible", + "2763": "No valid grif voltage for requested network op.", + "2764": "Fault 4 contactor", + "2765": "Thermal fuse of earthing resistor has tripped (backup TT)", + "2766": "Communication with PV meter faulty", + "2767": "Communication device with SBUKomBox faulty", + "2768": "Watchdog tripping SBUKomBox", + "2769": "Unsupported protocol detected at eHZ 1", + "2770": "Readout heads of eHZ swapped in KomBox input", + "2771": "Communication with meter faulty", + "2772": "Rev pol. batt. connection or short circuit Solar Charger 1", + "2773": "Battery overvoltage Solar Charger 1", + "2774": "Overvoltage PV generator Solar Charger 1", + "2775": "No PV voltage or short circuit Solar Charger 1", + "2776": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 1", + "2777": "Device overtemp Solar Charger 1", + "2778": "No communication to DC charger for more than 24h Solar Charger 1", + "2779": "P(f)/Q(V) char. curve config. autom. adjusted", + "2780": "Timeout monitoring of battery management has triggered", + "2781": "Overtemp. at device transformer at L1", + "2782": "Overtemp. at power element device at L1", + "2783": "AC current limit phase L1", + "2784": "Inverter overvoltage phase L1", + "2785": "Inverter overfrequency phase L1", + "2786": "Inverter underfrequency phase L1", + "2787": "Inverter undervoltage phase L1", + "2788": "Voltage at AC connection phase L1", + "2789": "Device at L1 was loaded above its 5min capacity", + "2790": "Device at L1 was loaded above its 30min capacity", + "2791": "Device at L1 was loaded above its short-time capacity", + "2792": "A slave is in error state, cluster is stopped", + "2793": "The current sensor is not connected, not available or faulty", + "2794": "Meas. range violation battery voltage in device at L1", + "2795": "Ext. battery management detected but not set", + "2796": "Meas. range violation battery voltage in device at L1", + "2797": "Failure of ext. voltage", + "2798": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L1", + "2799": "With open section switch, AC voltage is applied at phase L1", + "2800": "Section switch does not open", + "2801": "N-cond. relay does not open at L1", + "2802": "Transfer relay does not open at phase L1", + "2803": "Reset signal processor in device detected at L1", + "2804": "Invalid calibration in DSP", + "2805": "Timeout in communication for active power limitation", + "2806": "Timeout in communication for reactive power spec.", + "2807": "Timeout in communication for cos-Phi spec.", + "2808": "Wait until device cools down", + "2809": "Reduce load; trip short circuit", + "2810": "Find cause by gradual application of AC sources", + "2811": "Reduce load", + "2812": "Check device and network-forming sources for corr. AC connection", + "2813": "Regulate AC sources; check DC sources settings; check battery nominal voltage", + "2814": "Wait until battery cools down", + "2815": "Check battery; observe correct battery size when replacing it", + "2816": "Reduce load; check battery nominal voltage", + "2817": "Check voltage and frequency of network-forming AC source", + "2818": "Check network connection (wire cross-sect.)", + "2819": "Check battery voltage (transmission ratio of transformer affects the voltage being set)", + "2820": "Trip external short circuit", + "2821": "Check phase assigt of network-forming AC source", + "2822": "Check ext. and int. AC connections", + "2823": "Check control and wiring of coupling contactor", + "2824": "Check N-cond. relay.", + "2825": "Check whether AC sources can be regulated", + "2826": "Confirm generator management fault", + "2827": "Reduce load; regulate AC sources", + "2828": "Check system wiring; contact SMA Service", + "2829": "Check CAN connections and terminating resistors", + "2830": "Check sensor status and function", + "2831": "Check system config.; check cluster communication (wires / resistors)", + "2832": "Check generator (fuel, fuses, fault status)", + "2833": "Set time and date", + "2834": "Check settings; charge battery; observe battery size when replacing it", + "2835": "Check cabling of extension cluster to main cluster; measure AC voltage", + "2836": "Check cluster communication", + "2837": "Check contactor", + "2838": "Check network connection (phasing); contact Service", + "2839": "Wait until earthing resistor has cooled down; reset thermal fuse", + "2840": "Check communication to meter", + "2841": "Check communication to MeterBox", + "2842": "Check communication to meter", + "2843": "Check CAN connection to external battery management", + "2844": "Device incorrectly connected (AC voltage detected)", + "2845": "Eliminate fault in slave", + "2846": "Send in defective device, repair/replace current transformer", + "2847": "Charge battery; check battery nom. voltage; observe battery size when replacing it", + "2848": "Check system settings.", + "2849": "Check voltage and frequency of connected AC source", + "2850": "Check communication to Box (wires, resistors)", + "2851": "Check system config.; check cluster communication", + "2852": "Eliminate fault of slave; check cluster comm. to slave", + "2853": "Check meas. lines to Box", + "2854": "Voltage at zero-crossing 1", + "2855": "Voltage at zero-crossing 2", + "2856": "HystDb", + "2857": "Message from process interface: General", + "2858": "Message from process interface: Battery overvoltage", + "2859": "Message from process interface: Battery undervoltage", + "2860": "Message from process interface: Battery overtemperature", + "2861": "Message from process interface: Battery undertemperature", + "2862": "Message from process interface: Battery overtemp. charge", + "2863": "Message from process interface: Battery undertemp. charge", + "2864": "Message from process interface: Battery overcurrent", + "2865": "Message from process interface: Battery overcurrent charge", + "2866": "Message from process interface: Contactor", + "2867": "Message from process interface: Short circuit", + "2868": "Message from process interface: BMS internal", + "2869": "Message from process interface: Cell imbalance", + "2870": "Message from process interface: Reserved", + "2871": "Message from process interface: Generator", + "2872": "Autostart counter expired in device at L1 (multiple cons. autostart)", + "2873": "Limit value exceedance hardware", + "2874": "Short circuit or cable break temp. sensor of transformer L1", + "2875": "Short circuit or cable break temp. sensor of power elem. L1", + "2876": "No synchronisation signal", + "2877": "Fault in cluster configuration", + "2878": "Fault in address assigt of cluster devices, configuration fault", + "2879": "No message from cluster master (only slave)", + "2880": "No message from cluster master in device at L1", + "2881": "Device int. interprocessor comm. missing in device at L1", + "2882": "Communication with MC-BOX interrupted", + "2883": "Device at L|d0| does not detect output voltage of master cluster", + "2884": "Fault in DSP AI and/or ext. voltage monitoring algorithm", + "2885": "Cluster incomplete", + "2886": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L1", + "2887": "Device int. sync imp missing in device at L1", + "2888": "Processor voltage in device at L1 faulty", + "2889": "Plausibility check MC-BOX failed", + "2890": "Box encoding does not correspond to software settings", + "2891": "Fault in 15V supply of MCBUBox", + "2892": "Box phase missing", + "2893": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L1", + "2894": "Unable to read calibration data or incomplete data in device at L1", + "2895": "Overvoltage boost conv A", + "2896": "Communication to AnalogFrontEnd impaired/defect", + "2897": "Overvoltage boost conv B", + "2898": "Overvoltage boost conv C", + "2899": "Reactive power/voltage param with activation power", + "2900": "Battery fan in Multicluster", + "2901": "Load shedding in Multicluster", + "2902": "EM gateway found: |tn0|, Name: |s4|", + "2903": "EM gateway not found: |tn0|, Name: |s4|", + "2904": "EM device registered: |tn0|, Name: |s4|", + "2905": "EM device removed: |tn0|, Name: |s4|", + "2906": "SEMP", + "2907": "Miele@Home", + "2908": "Derating due to temp. L2", + "2909": "Derating due to temp. L3", + "2910": "Excess current transfer relay of device at L2", + "2911": "Ext grid disconnect due to undervoltage at phase L2", + "2912": "Ext grid disconnect due to overvoltage at phase L2", + "2913": "External grid disconnect due to low frequency at phase L2", + "2914": "Ext grid disconnect due to high frequency at phase L2", + "2915": "Ext grid disconnect due to undesired island grid at phase L2", + "2916": "Ext source disconnect due to violation of any limits in device at L2 (redundant measurement)", + "2917": "Voltage increase protection phase L2", + "2918": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L2", + "2919": "Ext grid disconnect due to phase failure or overload at phase L2", + "2920": "Ext grid disconnect due to external short circuit at phase L2", + "2921": "Excess current transfer relay of device at L3", + "2922": "Ext grid disconnect due to undervoltage at phase L3", + "2923": "Ext grid disconnect due to overvoltage at phase L3", + "2924": "External grid disconnect due to low frequency at phase L3", + "2925": "External grid disconnect due to high frequency at phase L3", + "2926": "Ext grid disconnect due to undesired island grid at phase L3", + "2927": "Ext source disconnect due to violation of any limits in device at L3 (redundant measurement)", + "2928": "Voltage increase protection phase L3", + "2929": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L3", + "2930": "Ext grid disconnect due to phase failure or overload at phase L3", + "2931": "Ext grid disconnect due to external short circuit at phase L3", + "2932": "Ext grid disconnect due to overcurrent at phase L2", + "2933": "Ext grid disconnect due to overcurrent at phase L3", + "2934": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L2", + "2935": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L3", + "2936": "Prohibited feedback to grid at phase L2", + "2937": "Feed-in current larger than set max. value at phase L2", + "2938": "Transfer relay does not close at phase L2", + "2939": "Watchdog counter Slave 2 expired (multiple cons. watchdog tripping)", + "2940": "Faulty CAN communication with device at L3", + "2941": "Prohibited feedback to grid at phase L3", + "2942": "Feed-in current larger than set max. value at phase L3", + "2943": "Transfer relay does not close at phase L3", + "2944": "No synchronisation signal from device to L3", + "2945": "No message from device at L3", + "2946": "Battery protection mode 2", + "2947": "Battery protection mode 3", + "2948": "Timeout of signal processor in device to L3", + "2949": "Fault Q5 contactor", + "2950": "Fault Q7 contactor", + "2951": "Fault Q9 contactor", + "2952": "Fault Q10 contactor", + "2953": "Unsupported protocol detected at eHZ 2", + "2954": "Rev pol. batt. connection or short circuit Solar Charger 2", + "2955": "Battery overvoltage Solar Charger 2", + "2956": "Overvoltage PV generator Solar Charger 2", + "2957": "No PV voltage or short circuit Solar Charger 2", + "2958": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 2", + "2959": "Device overtemp Solar Charger 2", + "2960": "No communication to DC charger for more than 24h Solar Charger 2", + "2961": "Rev pol. batt. connection or short circuit Solar Charger 3", + "2962": "Battery overvoltage Solar Charger 3", + "2963": "Overvoltage PV generator Solar Charger 3", + "2964": "No PV voltage or short circuit Solar Charger 3", + "2965": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 3", + "2966": "Device overtemp Solar Charger 3", + "2967": "No communication to DC charger for more than 24h Solar Charger 3", + "2968": "Rev pol. batt. connection or short circuit Solar Charger 4", + "2969": "Battery overvoltage Solar Charger 4", + "2970": "Overvoltage PV generator Solar Charger 4", + "2971": "No PV voltage or short circuit Solar Charger 4", + "2972": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 4", + "2973": "Device overtemp Solar Charger 4", + "2974": "No communication to DC charger for more than 24h Solar Charger 4", + "2975": "Overtemp. at device transformer at L2", + "2976": "Overtemp. at device power elem at L2", + "2977": "AC current limiting phase L2", + "2978": "Inverter overvoltage phase L2", + "2979": "Inverter overfrequency phase L2", + "2980": "Inverter underfrequency phase L2", + "2981": "Inverter undervoltage phase L2", + "2982": "Voltage at AC connection phase L2", + "2983": "Device at L2 was loaded above its 5min capacity", + "2984": "Device at L2 was loaded above its 30min capacity", + "2985": "Device at L2 was loaded above its short-time capacity", + "2986": "Overtemp. at device transformer at L3", + "2987": "Overtemp. at power element device at L3", + "2988": "AC current limiting phase L3", + "2989": "Inverter overvoltage phase L3", + "2990": "Inverter overfrequency phase L3", + "2991": "Inverter underfrequency phase L3", + "2992": "Inverter undervoltage phase L3", + "2993": "Voltage at AC connection phase L3", + "2994": "Device at L3 was loaded above its 5min capacity", + "2995": "Device at L3 was loaded above its 30min capacity", + "2996": "Device at L3 was loaded above its short-time capacity", + "2997": "Meas. range violation battery voltage in device at L2", + "2998": "Meas. range violation battery voltage in device at L3", + "2999": "Meas. range violation battery voltage in device at L2", + "3000": "Meas. range violation battery voltage in device at L3", + "3001": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L2", + "3002": "With open section switch, AC voltage is applied at phase L2", + "3003": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L3", + "3004": "With open section switch, AC voltage is applied at phase L3", + "3005": "N-cond. relay does not open at L2", + "3006": "Transfer relay does not open at phase L2", + "3007": "Reset signal processor in device detected at L2", + "3008": "N-cond. relay does not open at L3", + "3009": "Transfer relay does not open at phase L3", + "3010": "Reset signal processor in device detected at L3", + "3011": "Autostart counter expired in device at L2 (multiple cons. autostart)", + "3012": "Autostart counter expired in device at L3 (multiple cons. autostart)", + "3013": "Short circuit or cable break temp. sensor of transformer L2", + "3014": "Short circuit or cable break temp. sensor of power element L2", + "3015": "Short circuit or cable break temp. sensor of transformer L3", + "3016": "Short circuit or cable break temp. sensor of power element L3", + "3017": "No message from cluster master in device at L2", + "3018": "Device int. interprocessor comm. missing in device at L2", + "3019": "No message from cluster master in device at L3", + "3020": "Device int. interprocessor comm. missing in device at L3", + "3021": "Device at L2 does not detect output voltage of master cluster", + "3022": "Device at L3 does not detect output voltage of master cluster", + "3023": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L2", + "3024": "Device int. sync imp missing in device at L2", + "3025": "Processor voltage in device at L2 faulty", + "3026": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L3", + "3027": "Device int. sync imp missing in device at L3", + "3028": "Processor voltage in device at L3 faulty", + "3029": "Fault in 24V supply of MCBUBox", + "3030": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L2", + "3031": "Unable to read calibration data or incomplete data in device at L2", + "3032": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L3", + "3033": "Unable to read calibration data or incomplete data in device at L3", + "3035": "Installation mode", + "3036": "Battery test charge", + "3037": "Battery test discharge", + "3038": "Start conditions battery test not fulfilled", + "3039": "Additional time range", + "3040": "Communication with grid power meter faulty", + "3041": "Battery test charge successful", + "3042": "Battery test discharge successful", + "3043": "Battery test charge failed", + "3044": "Battery test discharge failed", + "3045": "Memory card is read", + "3046": "No new update on the memory card", + "3047": "Source for system active power", + "3048": "Source for system reactive power", + "3049": "System active power", + "3050": "System reactive power", + "3051": "Measurements at grid connection point", + "3052": "Sum of inverter performance", + "3053": "SMA Energy Meter", + "3054": "Analog input", + "3055": "Modbus", + "3056": "Direct selling", + "3057": "Please confirm", + "3058": "Self-test arc detection: Interference level too high", + "3059": "Self-test arc detection: Signal level too low", + "3060": "Status change to battery equalization charge", + "3061": "Control charging via communication available", + "3062": "Power monitoring", + "3063": "Signal value 1", + "3064": "Signal value 2", + "3065": "Analog output", + "3066": "Digital output", + "3067": "Current measured value", + "3068": "Mains operation with feedback", + "3069": "Lower discharge limit for self-consumption range", + "3070": "Solar charger", + "3071": "After overvoltage", + "3072": "After undervoltage", + "3073": "After frequency error", + "3074": "Ext grid disconnect due to undesired island grid", + "3075": "After passive islanding detection", + "3076": "After active islanding detection", + "3077": "Device ID", + "3078": "Type designation", + "3079": "URL", + "3080": "Communication protocol", + "3081": "Type of measured value acquisition", + "3082": "Measured", + "3083": "Estimated", + "3084": "None", + "3085": "Setpoint for active power limitation. Reference: available nominal power of inverter", + "3086": "Setpoint for reactive power limitation. Ref.: available nominal power of inverter", + "3087": "Resulting setpoint of active power limitation. Reference: total system power", + "3088": "Resulting setpoint of reactive power limitation. Ref.: total system power", + "3089": "Measured active power at grid connection point. Ref.: total system power", + "3090": "Meas. reactive power at grid connection point. Ref.: total system power", + "3091": "Solar charger 2 is detected", + "3092": "Solar charger 3 is detected", + "3093": "Solar charger 4 is detected", + "3094": "Constant operational limiting", + "3095": "Activate feeding operation", + "3096": "Centre/neutral conductor connection", + "3097": "Operating mode slave 1", + "3098": "Operating mode slave 2", + "3099": "Status slave 1", + "3100": "Status slave 2", + "3101": "Cancel", + "3102": "Memory card full", + "3103": "No file system detected", + "3104": "File system incompatible", + "3105": "Save parameters", + "3106": "Save parameters failed", + "3107": "Save log data", + "3108": "No memory card present", + "3109": "Energy output yesterday", + "3110": "Energy output this month", + "3111": "Energy output last month", + "3112": "Energy absorbed yesterday", + "3113": "Energy absorbed this month", + "3114": "Energy absorbed last month", + "3115": "Available PV power", + "3116": "Internal PV power limitation", + "3117": "Reactive power drawn", + "3118": "Maximum short-term decrease in power", + "3119": "PV reactive power currently supplied from grid", + "3120": "PV apparent power currently supplied from grid", + "3121": "PV power not requested", + "3122": "Return monitoring value", + "3123": "Input monitoring value", + "3124": "Estimated fuel consumption since last reset", + "3125": "Estimated current fuel consumption", + "3126": "Currently available power", + "3127": "Fuel save meter", + "3128": "Remote service", + "3129": "Manual mode", + "3130": "Slave mode", + "3131": "Parameter upload complete", + "3132": "Neutral conductor is connected", + "3133": "Run self test", + "3134": "m3", + "3135": "l/h", + "3136": "DC connection, polarity reversed", + "3137": "Inverter is not reaching measured VDC level in time", + "3138": "Inverter is not assigned measured VDC level in time", + "3139": "DC voltage gradient is exceeding the assigned limits", + "3140": "DC current gradient is exceeding the assigned limits", + "3141": "Timeout between internal communication units", + "3142": "VDC too low for synchronisation of DC intermediate circuit", + "3143": "DC intermediate circuit precharging via DC side failed", + "3144": "Invalid control mode of system control", + "3146": "Yes, with manual restart", + "3147": "Send IGMP requests", + "3148": "Self test of offline capacitor test failed", + "3149": "Self test of online capacitor test failed", + "3150": "Check sine filter capacitor current and parameters for capacitor test", + "3151": "Endless loop between online and offline capacitor test", + "3152": "Derating due to DC switch overcurrent", + "3153": "AFE not communicating", + "3154": "AFE measured values outside of the valid range", + "3155": "Double bit ECC error", + "3156": "Bit flipper in FPGA bit stream", + "3157": "ECC self test failed", + "3158": "Active power as a percentage of Pmax", + "3159": "Configuration of characteristic curve mode, 2nd characteristic curve", + "3160": "Malfunction in communication to EM gateway: |tn0|, Name: |s4|", + "3161": "Malfunction in communication to EM device: |tn0|, Name: |s4|", + "3162": "EM gateway incompatible: |tn0|, Name: |s4|", + "3163": "EM device incompatible: |tn0|, Name: |s4|", + "3164": "Internal error |d0| in EM communication", + "3165": "PLL error", + "3166": "Phase loss on low voltage side", + "3167": "Active islanding detection", + "3168": "AFE memory error", + "3169": "AFE EEPROM error", + "3170": "DC-EMC EEPROM error", + "3171": "AC-RLY EEPROM error", + "3172": "Reset main computer", + "3173": "Reset system", + "3174": "Optimized BU process", + "3175": "Linear gradient of the maximum active power", + "3176": "Incompatible file", + "3177": "Incorrect file format", + "3178": "Incorrect login rights for configuration file", + "3179": "Update is currently being received", + "3180": "Update is currently running", + "3181": "Update performed successfully", + "3182": "An error occurred during the update", + "3183": "Tripping delay", + "3184": "Transfer of a configuration file has started", + "3185": "Monitoring has failed, input A detected", + "3186": "Monitoring has failed, input B detected", + "3187": "Monitoring has failed, input C detected", + "3188": "AC choke", + "3189": "Number of strings present", + "3190": "Number of active strings", + "3191": "Average voltage on the high-voltage side", + "3192": "Average current on the high-voltage side", + "3193": "Assigned apparent power", + "3194": "Optimized BU process", + "3195": "Ari-Ari-Adressierung des Eventloggers", + "3196": "NTP time reference", + "3197": "Version of WebUI", + "3198": "AFE controller not ready for operation", + "3199": "Serial numbers for usable meters", + "3200": "Main processor bootloader", + "3201": "Preloader", + "3202": "Fault boost converter temperature sensor", + "3203": "Fault AC choke temperature sensor", + "3204": "Zone monitoring", + "3205": "Deviation from max. standardised string current", + "3206": "Average deviation", + "3207": "Time since an error occurred", + "3208": "String", + "3209": "Maximum current", + "3210": "Deviation at which an error is present", + "3211": "Time until error is reported", + "3212": "Minimum current for activation", + "3213": "Job status |u0| of |ln48| does not match the action to be performed |uc|", + "3214": "Supply grid frequency with greater accuracy", + "3215": "System view", + "3216": "Diagnostics logger", + "3217": "Prescribed self-test", + "3218": "Mean value of the external conductor voltages", + "3219": "Default value for battery", + "3220": "Calculated active power default value", + "3221": "Calculated reactive power default value", + "3222": "Battery status", + "3223": "Total free capacity", + "3224": "Total accessible charge", + "3225": "Charge energy (today)", + "3226": "Charge energy (yesterday)", + "3227": "Charge energy (current month)", + "3228": "Charge energy (previous month)", + "3229": "Discharge energy (today)", + "3230": "Discharge energy (yesterday)", + "3231": "Discharge energy (current month)", + "3232": "Discharge energy (previous month)", + "3233": "IGMP query interval", + "3234": "Overload test", + "3235": "Write flight data", + "3236": "|tn0|-Login via |tn4| locked", + "3237": "Automatic time synchronisation", + "3240": "On-board power supply reset", + "3241": "Load defaults via communication", + "3242": "Manual acknowledgement", + "3243": "Change to error operating mode", + "3244": "Communication problem SDELimit", + "3245": "Partition restored after CRC error or firmware update", + "3246": "Unable to restore partition", + "3247": "Country standard set and parameters applied", + "3248": "Invalid application coding", + "3249": "Application connector not present or not readable", + "3250": "Application connector faulty", + "3251": "Application coding faulty", + "3252": "Invalid hardware variant on application connector", + "3253": "Invalid firmware variant on application connector", + "3254": "Replace application connector", + "3255": "Unable to load calibration data for the current measurement (|tn0|)", + "3256": "Unable to load calibration data for the voltage measurement (|tn0|)", + "3257": "IPC communication error (|tn0|)", + "3258": "Current time is daylight savings time", + "3259": "Air filter differential pressure too high", + "3260": "Fan fault interior 4", + "3261": "Insulation error display |tn0| faulty", + "3262": "Check inverter electronics and display", + "3263": "Remote GFDI not responding for |tn0|", + "3264": "Open", + "3265": "Close", + "3266": "DC shuntboard |d0| stack |d4| not connected", + "3267": "DC shuntboard |d0| stack |d4| connected incorrectly", + "3268": "CAN communication error (|tn0|)", + "3269": "Sensor error, air filter differential pressure", + "3270": "Update Wi-Fi", + "3271": "Update of Wi-Fi not successful", + "3272": "http", + "3273": "D2+", + "3274": "Modbus", + "3275": "Dynamic power display via green LED", + "3276": "Link to |tn0| |d4| lost", + "3277": "Link from |tn0| |d4| or |tn8| lost", + "3278": "SC30DST", + "3279": "SC30ACC", + "3280": "SC30DCC", + "3281": "SC30RIO", + "3282": "SC30CONT", + "3283": "SC30CONT CPU1", + "3284": "SC30CONT CPU2", + "3285": "Fault interior temperature sensor |tn0|", + "3286": "Overtemperature interior |tn0|", + "3287": "Grid monitoring inactive", + "3288": "Orange", + "3289": "Yellow", + "3290": "Green", + "3291": "Red", + "3292": "Timeout in comm. for power preset, device will continue to run", + "3293": "Timeout in comm. for power preset, device switching off", + "3294": "Overtemperature sine filter choke (warning limit exceeded)", + "3295": "Overtemperature sine filter choke (shut-off limit exceeded)", + "3296": "Fast Stop DC overcurrent triggered", + "3297": "Fast Stop GFDI triggered", + "3298": "Fast Stop Emergency Stop at switch cabinet triggered", + "3299": "Fast Stop external triggered", + "3300": "Fast Stop AC circuit breaker auxiliary contact TRIP triggered", + "3301": "Fast Stop feedback AC remote disconnect triggered", + "3302": "Fast Stop feedback short-circuiter triggered", + "3303": "Fast Stop triggered by software", + "3304": "Fast Stop DC disconnect triggered", + "3305": "Wi-Fi module faulty", + "3306": "No Wi-Fi connection possible", + "3307": "Wi-Fi connection established", + "3308": "Wi-Fi connection lost", + "3309": "Insulation error occurred in the past", + "3310": "Deviation in AC/DC power ratio", + "3311": "Check AC/DC measurement channel and the current and voltage sensors", + "3312": "Set parameters 2.0", + "3313": "Wi-Fi", + "3314": "Signal strength of the selected network", + "3315": "Networks found", + "3316": "Connection status", + "3317": "Antenna type", + "3318": "Soft-access-point is turned on", + "3319": "SSID", + "3320": "Password", + "3321": "Activate WPS", + "3322": "WEP", + "3323": "WPA", + "3324": "WPA2", + "3325": "Error while connecting", + "3326": "Internal antenna", + "3327": "External antenna", + "3328": "Time zone database", + "3329": "Parameter Setzen mit SCAST bestätigen", + "3330": "Self-test start |s0|", + "3331": "Current disconnection limit for voltage increase protection |lv048|", + "3332": "Current disconnection limit for voltage monitoring lower maximum threshold |lv048|", + "3333": "Current disconnection limit for voltage monitoring upper minimum threshold |lv048|", + "3334": "Current disconnection limit for voltage monitoring middle minimum threshold |lv048|", + "3335": "Current disconnection limit for frequency monitoring switchable maximum threshold |lv048|", + "3336": "Current disconnection limit for frequency monitoring switchable minimum threshold |lv048|", + "3337": "Current disconnection limit for frequency monitoring lower maximum threshold |lv048|", + "3338": "Current disconnection limit for frequency monitoring upper minimum threshold |lv048|", + "3339": "Measured disconnection threshold for the running test point |lv048|", + "3340": "Standard value for the running test point |lv048|", + "3341": "Measured disconnection time for the running test point |f0| s", + "3342": "Perform scan", + "3343": "Analogue input 1", + "3344": "Analogue input 2", + "3345": "Analogue input 3", + "3346": "Nominal power", + "3347": "Analogue input", + "3348": "Source of measurement", + "3349": "Update time zone database", + "3350": "Update of time zone database not successful", + "3351": "WEP key index", + "3352": "Open loop control", + "3353": "Closed loop control", + "3354": "Old value for |tn0| of |tn4|", + "3355": "Check fan sensor", + "3356": "Usable channels", + "3357": "Channels 1 to 11", + "3358": "Channels 1 to 13", + "3359": "Limits possible active power", + "3360": "Fallback for inverter", + "3361": "Unknown NTP server", + "3362": "NTP request failed", + "3363": "Wi-Fi module detected", + "3364": "QoDForceNight test mode active", + "3365": "Status of the scan", + "3366": "No scan completed", + "3367": "Scan is active", + "3368": "Scan failed", + "3369": "Scan successful", + "3370": "S0 pulses per m/s", + "3371": "S0 sensor for wind speed", + "3372": "S0 sensor for PV generation counter", + "3373": "Pt100 temperature sensor", + "3374": "Pt1000 temperature sensor", + "3375": "1/s", + "3376": "Configuration", + "3377": "Digital input group D1..D4", + "3378": "0000", + "3379": "1000", + "3380": "0100", + "3381": "1100", + "3382": "0010", + "3383": "1010", + "3384": "0110", + "3385": "1110", + "3386": "0001", + "3387": "1001", + "3388": "0101", + "3389": "1101", + "3390": "0011", + "3391": "1011", + "3392": "0111", + "3393": "1111", + "3394": "WPA-TKIP", + "3395": "WPA-AES", + "3396": "WPA2-TKIP", + "3397": "WPA2-AES", + "3398": "WPA2-MIXED", + "3399": "Wi-Fi-MAC address", + "3400": "Regulating power operating mode", + "3401": "Regulating power configuration", + "3402": "Config. of regulating power, const. assigned value", + "3403": "Config. of regulating power, plant control", + "3404": "Preferred power band", + "3405": "Upper reserved value", + "3406": "Lower reserved value", + "3407": "Upper reserved value", + "3408": "Lower reserved value", + "3409": "Active power reserve", + "3410": "Power reserve active", + "3411": "Required positive power reserve will be reserved", + "3412": "Required negative power reserve will be reserved", + "3413": "Maximum possible power reserve", + "3414": "Required power limit", + "3415": "Regulating power in W", + "3416": "Regulating power as a %", + "3417": "Regulating power through plant control", + "3418": "Upper power band", + "3419": "Lower power band", + "3420": "Hertz", + "3421": "Hertz as the difference from the nominal frequency", + "3422": "Regulating power in W", + "3423": "Regulating power as a % of maximum power", + "3424": "Secondary reserve value", + "3425": "Secondary reserve value", + "3426": "WPS is active", + "3427": "SPS AC overvoltage", + "3428": "PV power for SPS too low", + "3429": "Short circuit in the SPS power outlet", + "3430": "SPS mode not available", + "3431": "AC ground fault", + "3432": "Core1", + "3433": "Check inverter electronics and AC overvoltage protection", + "3434": "Electric arc detected in 2nd string group", + "3435": "Ser. el. arc in string |s0| detected by AFCI mod.", + "3436": "AFCI self-test for 2nd string group failed", + "3437": "Self-test el.arc dtct.f. 2nd string group: intf level too high", + "3438": "Self-test el.arc dtct.f. 2nd string group: signal level too low", + "3439": "Overcurrent input D (SW)", + "3440": "Overcurrent input E (SW)", + "3441": "Overcurrent input F (SW)", + "3442": "Overcurrent input D (HW)", + "3443": "Overcurrent input E (HW)", + "3444": "Overcurrent input F (HW)", + "3445": "Input D fault", + "3446": "Input E fault", + "3447": "Input F fault", + "3448": "Offset DC current sensor D", + "3449": "Offset DC current sensor E", + "3450": "Offset DC current sensor F", + "3451": "DC actuator string D fault", + "3452": "DC actuator string E fault", + "3453": "DC actuator string F fault", + "3454": "Overvoltage input D (SW)", + "3455": "Overvoltage input E (SW)", + "3456": "Overvoltage input F (SW)", + "3457": "Overvoltage boost converter D", + "3458": "Overvoltage boost converter E", + "3459": "Overvoltage boost converter F", + "3460": "Overvoltage boost converter A (SW)", + "3461": "Overvoltage boost converter B (SW)", + "3462": "Overvoltage boost converter C (SW)", + "3463": "Overvoltage boost converter D (SW)", + "3464": "Overvoltage boost converter E (SW)", + "3465": "Overvoltage boost converter F (SW)", + "3466": "Monitoring has failed, input D detected", + "3467": "Monitoring has failed, input E detected", + "3468": "Monitoring has failed, input F detected", + "3469": "Maximum achievable reactive power quadrant 1", + "3470": "Maximum achievable reactive power quadrant 2", + "3471": "Maximum achievable reactive power quadrant 3", + "3472": "Maximum achievable reactive power quadrant 4", + "3473": "Minimum achievable cos(phi) quadrant 1", + "3474": "Minimum achievable cos(phi) quadrant 2", + "3475": "Minimum achievable cos(phi) quadrant 3", + "3476": "Minimum achievable cos(phi) quadrant 4", + "3477": "Currently permitted device power", + "3478": "Update WebUI", + "3479": "Update of WebUI not successful", + "3480": "AFCI robustness", + "3481": "Setpoint cos(phi) as per EEI", + "3482": "Lower minimum threshold as RMS value", + "3483": "Lower min.threshold as RMS value for tripping time", + "3484": "Upper maximum threshold as RMS value", + "3485": "Upper max.threshold as RMS value for tripping time", + "3486": "Signal value 1", + "3487": "Signal value 2", + "3488": "Y value 1", + "3489": "Y value 2", + "3490": "DC input has too low a current", + "3491": "DC input without input current", + "3492": "DC inputs are not configured", + "3493": "No communication with I/O module", + "3494": "Error evaluation of the device", + "3495": "Tolerance", + "3496": "Time until warning", + "3497": "EEI displacement power factor", + "3498": "Positive sequence voltage (calculated)", + "3499": "Supplied reactive power (calculated)", + "3500": "The resulting specified active power is |d0|% (specification based on \"|tn4|\").", + "3501": "Currently available active power", + "3502": "Irradiation sensor 0 to 20 mA", + "3503": "Irradiation sensor 0 to 10 V", + "3504": "Offset value of battery current outside of permitted range", + "3505": "Currently permitted number of parameterizations exceeded", + "3506": "Pure reactive power operation, QonDemand stopped", + "3507": "Antenna switching", + "3508": "Device is new", + "3509": "Tripping delay", + "3510": "Plugwise Stretch |s0| successfully connected w. Sunny Home Manager", + "3511": "PV voltage too high, insulation meas. aborted", + "3512": "S0 input", + "3513": "Characteristic curve 3", + "3514": "Stack cur. is permanently in limitation", + "3515": "Float controller is reporting a error", + "3516": "Conf. of char.curve mode, 3rd char.curve", + "3517": "Battery power as a % of maximum power", + "3518": "Bridged strings determined", + "3519": "No bridged strings determined", + "3520": "Voltage deviation", + "3521": "The FW is faulty", + "3522": "Update of the FW being performed", + "3523": "Device is performing a reset", + "3524": "Connect AC", + "3525": "Connect DC", + "3526": "Supply", + "3527": "Fault Ride Through", + "3528": "Device not supplying, all contactors closed", + "3529": "Reactive power supply", + "3530": "Shutdown of supplied power", + "3531": "Controlled operation", + "3532": "Operation as AC source", + "3533": "IO test active", + "3534": "Operation as DC source", + "3535": "Controlled operation with ext. ref. (AC grid)", + "3536": "Controlled operation with ext. ref. (AC grid) for grid monitoring", + "3537": "Commissioning without grid", + "3538": "Commissioning without grid in MPP mode", + "3539": "Alarm upon errors", + "3540": "All grid relays are open", + "3541": "All grid relays are closed", + "3542": "Total of inverter powers. Ref.: available nominal power of inverter", + "3543": "Config. of linear instantaneous power gradient with underfrequency", + "3544": "Linear instantaneous power gradient for over- and underfrequency", + "3545": "Source of ref. meas. for reactive/active power reduction", + "3546": "Phased reactive/act. power specification", + "3547": "Inverter", + "3548": "MC box", + "3549": "Functions for grid/offgrid operation", + "3550": "Functions for grid operation", + "3551": "Functions for offgrid operation", + "3552": "Derating due to AC current limitation", + "3553": "Derating due to max. apparent power", + "3554": "Reactive power priority", + "3555": "Derating due to reserve for a guaranteed reactive power", + "3556": "High DC voltage", + "3557": "Derating due to too high switching currents with Optiprotect", + "3558": "Grid overvoltage very fast", + "3559": "Grid undervoltage very fast", + "3560": "Minimum setpoint for intermediate circuit voltage", + "3561": "Internal PV power limitation as %", + "3562": "PV power limitation via communication as %", + "3563": "PV power limitation via communication for direct marketing as %", + "3564": "Minimum PV power limitation as %", + "3565": "VAr as percentage of available reactive power", + "3566": "Device error insulation monitoring", + "3567": "Insulation monitoring device must be replaced", + "3568": "Hardware driver for GFDI defective", + "3569": "Primary current", + "3570": "Secondary current", + "3571": "Message interval", + "3572": "EEBus", + "3573": "PWM inverse voltage at overvoltage", + "3574": "PWM inversion delay at overvoltage", + "3575": "Total yield S0 energy counter", + "3576": "S0 counter status total yield:", + "3577": "Normal operation (self-consumption increase)", + "3578": "Special operation (charge retention)", + "3579": "Special operation (external setpoint)", + "3580": "Special operation (frequency derating)", + "3581": "No connection speed set", + "3582": "No duplex mode set", + "3583": "No software test set", + "3584": "No update status set", + "3585": "No self-test set", + "3588": "Fallback value of the active power setpoint specification", + "3589": "Nominal current control", + "3590": "Upper battery charge limit", + "3591": "Setpoint for battery charge", + "3592": "Setpoint for battery discharge", + "3593": "Reverse currents or substring A polarity reversed", + "3594": "Reverse currents or substring B polarity reversed", + "3595": "Reverse currents or substring C polarity reversed", + "3596": "Reverse currents or substring D polarity reversed", + "3597": "Reverse currents or substring E polarity reversed", + "3598": "Reverse currents or substring F polarity reversed", + "3599": "Available charging power", + "3600": "Available discharging power", + "3601": "Ambient temperature", + "3602": "Status Enable Signal", + "3603": "Climate management supply required", + "3604": "DC-bus voltage", + "3605": "DC-bus power", + "3606": "Logic supply voltage", + "3607": "Climate management supply voltage", + "3608": "Time synchronization failed", + "3609": "Battery management system update unsuccessful(|d0|)", + "3610": "RS485", + "3611": "Number of detected devices", + "3612": "RS485 device detect timeout", + "3613": "Number of RS485 devices to detect", + "3614": "Start device detect", + "3615": "Internal communication starting", + "3616": "Control test status", + "3617": "Stack control", + "3618": "Stack test", + "3619": "DC connection open", + "3620": "DSP operating state", + "3621": "Current reactive power limit at overriding required reactive power", + "3622": "Comparison group", + "3623": "Group string number", + "3624": "Sensor sensitivity", + "3625": "Active power setpoint in percent", + "3626": "Symmetry mode", + "3627": "Symmetry mode configuration", + "3628": "Symmetric feeding", + "3629": "Asymmetric feeding", + "3630": "Autonom. voltage symmetry mode", + "3631": "Array", + "3632": "Power unit", + "3633": "Reactive power value setpoint in percent", + "3634": "Send interval for SIP OPTIONS keepalive messages", + "3635": "Reactive power mode at power input", + "3637": "Nominal voltage and frequency", + "3638": "Cluster", + "3639": "Cluster type in multi-cluster", + "3640": "Operation mode", + "3641": "Design of the generation plant", + "3643": "44V", + "3644": "46V", + "3645": "48V", + "3646": "120V_60Hz", + "3647": "230V_50Hz", + "3648": "220V_60Hz", + "3649": "Single phase", + "3650": "Three-phase", + "3651": "Split phase", + "3652": "Single-cluster", + "3653": "Main-cluster", + "3654": "Extension cluster", + "3655": "Self-consumption only", + "3656": "Backup only", + "3657": "Self-consumption and backup", + "3658": "Symmetric", + "3659": "Asymmetric", + "3660": "New system", + "3661": "New battery", + "3662": "Address", + "3663": "Multi-cluster", + "3664": "Emergency charge mode", + "3665": "1200 bit/s", + "3666": "19200 bit/s", + "3667": "Detect completed. |d0| devices found", + "3668": "Device found: |tn0| SN: |u4|", + "3669": "Maximum number of RS485-bus devices exceeded", + "3670": "Devices with different baud rates detected", + "3671": "Device with wrong baud rate: |tn0| SN: |u4|", + "3672": "D1D2 mapping error unknown channel name |tn0|", + "3673": "D1D2 mapping error invalid range |tn0|", + "3674": "Restart triggered", + "3675": "maximum active power draw in %", + "3676": "Nominal active power WMaxIn", + "3677": "Fallback of power draw control", + "3678": "Max. power draw in % based on Pmax", + "3679": "Battery not configured", + "3680": "Derating of the PV inverter to the grid connection point", + "3681": "no group", + "3682": "Group 1", + "3683": "Group 2", + "3684": "Group 3", + "3685": "Active power gradient", + "3686": "QCG Start", + "3687": "Symmetric plant design", + "3688": "Asymmetric plant design", + "3689": "Battery reports event", + "3690": "Battery |cC| reports event: 0x|x5||x4|, 0x|x7||x6|, 0x|x9||x8|, 0x|xB||xA|", + "3691": "Check BMS", + "3693": "Timeout monitoring external control has tripped", + "3694": "SOC limit set too narrow to take hysteresis into account", + "3695": "RS485 detection started", + "3696": "DSP RAM defective", + "3697": "DSP code memory defective", + "3698": "CPU self-test DSP", + "3700": "AST type", + "3701": "SIAST50-24", + "3702": "SIAST50-48", + "3703": "SIASTU-48", + "3704": "SIASTBU-24", + "3705": "SIASTBU-48S", + "3706": "SIAST50-48-12", + "3707": "SIAST50-48S-12", + "3708": "Overtemperature AC Busbar", + "3709": "Attach AC Busbar correctly", + "3710": "Error in Backfeed power", + "3711": "Check HW backfeed power", + "3712": "Timeout in communication between inverters", + "3713": "Check inverter communication parameters", + "3714": "Timeout in comm. for grid mgmt. spec., device continues to run", + "3715": "Timeout in comm. for grid mgmt. spec., device switching off", + "3717": "Timeout for battery status change", + "3718": "Check Battery Management System", + "3719": "The battery management system has reported a warning", + "3720": "Location longitude", + "3721": "Location latitude", + "3722": "Time since last reference run", + "3723": "Minimum deviation before tracking start", + "3724": "Minimum elevation deviation before tracking start", + "3725": "No. of steps when leaving azimuth end position", + "3726": "No. of steps when leaving elevation end position", + "3727": "Maximum tilt angle", + "3728": "Select type", + "3729": "Last external override", + "3730": "Maximum azimuth motor current", + "3731": "Maximum elevation motor current", + "3732": "Actual elevation motor current", + "3733": "Actual azimuth motor current", + "3734": "Current azimuth", + "3735": "Current elevation", + "3736": "Target azimuth", + "3737": "Target elevation", + "3738": "Azimut end position", + "3739": "Voltage supply", + "3740": "Number of external overrides", + "3741": "Overdrive", + "3742": "Temperature error", + "3743": "Permanent error", + "3744": "Motor test", + "3745": "Reference run", + "3746": "Wait time", + "3747": "Safe status", + "3748": "Tracking", + "3749": "Back to east position", + "3750": "Night mode", + "3751": "Remote operation", + "3752": "Boot mode", + "3753": "Refresh after 30 s", + "3754": "Stop current command", + "3755": "Up and east", + "3756": "Up", + "3757": "Down", + "3758": "East", + "3759": "West", + "3760": "Remote operation up", + "3761": "Remote operation down", + "3762": "West 90°", + "3763": "South", + "3764": "East 90°", + "3765": "Tilt 35°", + "3766": "Initiate error", + "3767": "Leave remote operation", + "3768": "Reference south", + "3769": "Reference Astro", + "3770": "RPC busy", + "3771": "RPC maximum", + "3772": "Error fuse failed", + "3773": "Error relay", + "3774": "Error invalid X direction", + "3775": "Error invalid Y direction", + "3776": "Error timeout", + "3777": "Error pulse count", + "3778": "Error X range", + "3779": "Error sensor position", + "3780": "Error reference counter", + "3781": "Error RPC halt", + "3782": "Error maximum current exceeded", + "3783": "Error stop current too high", + "3784": "Error invalid X reference", + "3785": "Error invalid Y reference", + "3786": "Error when moving in X direction", + "3787": "Error when moving in Y direction", + "3788": "Error during test", + "3789": "Error Y range", + "3790": "Error delay in X direction", + "3791": "Error delay in Y direction", + "3792": "Error voltage supply", + "3793": "Incorrect switch position for the battery disconnection point", + "3794": "Battery system short circuit", + "3795": "Battery system thermal management defective", + "3796": "Battery system |cC| heating procedure unsuccessful", + "3797": "Battery system derating", + "3798": "Battery system disconnected", + "3799": "Battery system balancing procedure", + "3800": "Battery system SOC calibration procedure", + "3801": "Battery system themal management activated", + "3802": "Details", + "3803": "Heating mode", + "3804": "Grid drawing during heating OK", + "3805": "Max AC battery discharge current", + "3806": "Serial No. device 1", + "3807": "Serial No. device 2", + "3808": "Phase assignment device 1", + "3809": "Phase assignment device 2", + "3810": "Version test failed", + "3811": "Software package update version available", + "3812": "Fan fault MV transformer", + "3813": "Last time synchronization", + "3814": "Device number", + "3815": "Device password", + "3816": "Maximum number of reference run errors", + "3817": "Traverse angle for remote operation", + "3818": "Elevation correction angle", + "3819": "No new update available", + "3820": "Soft Access Point status", + "3821": "300 mA", + "3823": "Power profile", + "3824": "Ext grid disconnect due to overvoltage at phase |s0|", + "3825": "Ext grid disconnect due to undervoltage at phase |s0|", + "3826": "Voltage increase protection phase |s0|", + "3827": "Ext grid disconnect due to undesired island grid at phase |s0|", + "3828": "External grid disconnect due to low frequency at phase |s0|", + "3829": "External grid disconnect due to high frequency at phase |s0|", + "3830": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase |s0|", + "3831": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase |s0|", + "3832": "Ext grid disconnect due to phase failure or overload at phase |s0|", + "3833": "Ext grid disconnect due to external short circuit at phase |s0|", + "3834": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase |s0|", + "3835": "Feed-in current larger than set max. value at phase |s0|", + "3836": "Inverter overvoltage phase |s0|", + "3837": "Inverter overfrequency phase |s0|", + "3838": "Inverter underfrequency phase |s0|", + "3839": "Inverter undervoltage phase |s0|", + "3840": "Voltage at AC connection phase |s0|", + "3841": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase |s0|", + "3842": "AC current limiting phase |s0|", + "3843": "Transfer relay does not open at phase |s0|", + "3844": "Ext source disconnect due to violation of any limits in device at |s0| (redundant measurement)", + "3845": "Timeout of signal processor in device to |s0|", + "3846": "Reset signal processor in device detected at |s0|", + "3847": "Autostart counter expired in device at |s0| (multiple cons. autostart)", + "3848": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at |s0|", + "3849": "Processor voltage in device at |s0| faulty", + "3850": "Overtemp. at device power element at |s0|", + "3851": "Overtemp. at device transformer at |s0|", + "3852": "Excess current at device transfer relay at |s0|", + "3853": "Device at |s0| was loaded above its 5min capacity", + "3854": "Device at |s0| was loaded above its 30min capacity", + "3855": "Device at |s0| was loaded above its short-time capacity", + "3856": "Device int. interprocessor comm. missing in device at |s0|", + "3857": "No message from device at |s0|", + "3858": "No message from cluster master in device at |s0|", + "3859": "Device int. sync impulse missing in device at |s0|", + "3860": "Device at |s0| does not detect output voltage of master cluster", + "3861": "Meas. range violation battery voltage in device at |s0|", + "3862": "Meas. range violation battery voltage in device at |s0|", + "3863": "Process specification battery charge current", + "3864": "Process specification battery discharge current", + "3865": "Modbus RTU", + "3866": "Power of the SI charger |s0|", + "3867": "Frequency distribution of the state of charge", + "3868": "Current monitoring", + "3869": "Watchdog counter Slave |s0| expired (multiple cons. watchdog tripping)", + "3870": "Overvoltage PV generator Solar Charger |s0|", + "3871": "No PV voltage or short circuit Solar Charger |s0|", + "3872": "Device overtemp Solar Charger |s0|", + "3873": "Sensor error (or undertemp) for DC charger temperature Solar Charger |s0|", + "3874": "No communication to DC charger for more than 24h Solar Charger |s0|", + "3875": "Solar charger |s0| is detected", + "3876": "Rev pol. batt. connection or short circuit Solar Charger |s0|", + "3877": "Battery overvoltage Solar Charger |s0|", + "3878": "Fault |s0| contactor", + "3879": "Overcurrent input |s0| (SW)", + "3880": "Fault in |s0| supply of MCBUBox", + "3881": "Short circuit or cable break temp. sensor of power element |s0|", + "3882": "Short circuit or cable break temp. sensor of transformer |s0|", + "3883": "Communication with |tn0| faulty", + "3884": "Unsupported protocol detected at eHZ |s0|", + "3885": "N-cond. relay does not open at |s0|", + "3886": "Derating due to temp. |s0|", + "3887": "Battery protection mode |s0|", + "3888": "Message from process interface: |tn0|", + "3889": "General", + "3890": "Battery overvoltage", + "3891": "Battery undervoltage", + "3892": "Battery overtemperature", + "3893": "Battery undertemperature", + "3894": "Battery overtemp. charge", + "3895": "Battery undertemp. charge", + "3896": "Battery overcurrent", + "3897": "Battery overcurrent charge", + "3898": "Contactor", + "3899": "Short circuit", + "3900": "BMS internal", + "3901": "Cell imbalance", + "3902": "Reserved", + "3903": "PV meter", + "3904": "Grid power meter", + "3905": "With open section switch, AC voltage is applied at phase |s0|", + "3906": "Subject Key Identifier", + "3907": "Some messages need to be deleted prior to expiry of retention period to free up memory", + "3908": "Data logging stopped due to invalid system time.", + "3909": "Data logging started. The system time is valid.", + "3910": "Redundant grid disconnection control", + "3912": "Backup controller", + "3913": "Battery Interface Module", + "3914": "Digital input at |tn0| has changed its status to |tn4|", + "3915": "Battery utilization range |tn0| reached", + "3916": "The system could not be switched to |tn0| after 3 attempts", + "3917": "The external current at phase |s0| is greater than the max. permissible current", + "3918": "Due to a short circuit on the load side, the supply voltage of |s0| has collapsed and con no longer be maintained", + "3919": "Extension cluster has a country data set configured that is different to that of the main cluster", + "3920": "Main cluster phase |s0| too many unsuccessful attempts to switch to the grid/generator", + "3921": "Battery |tn0| range reached", + "3922": "Voltage at “VAcExt” does not correspond with voltage at “VAc2” (phasing or amplitude)", + "3923": "Grid disconnection", + "3924": "Waiting for grid disconnection", + "3925": "Unload", + "3926": "Waiting for unload", + "3927": "Initialize ECC controller", + "3928": "Initialize BCC controller", + "3929": "Waiting for VLoop", + "3930": "All Sunny Island chargers", + "3931": "Battery voltage initialization", + "3932": "Contactor |s0| not open", + "3933": "Contactor |s0| open", + "3934": "External contactor not closing", + "3935": "VLoop at external source", + "3936": "Enable voltage increase protection", + "3937": "Waiting time until connection", + "3938": "Lowest measured frequency", + "3939": "Highest measured frequency", + "3940": "Charge current limitation", + "3941": "Discharge current limitation", + "3942": "Azimuth correction angle", + "3943": "Azimuth correction angle", + "3944": "Elevation correction angle", + "3945": "ADC average value formation in 0.1 s", + "3946": "Angle of elevation limitation 2", + "3947": "Start of elevation limitation 2", + "3948": "End of elevation limitation 2", + "3949": "Angle of date-dependent rotation limitation", + "3950": "Start of date-dependent rotation limitation", + "3951": "End of date-dependent rotation limitation", + "3952": "Fixed elevation angle", + "3953": "Fixed rotation angle drive 2", + "3954": "Fixed azimuth angle", + "3955": "Fixed rotation angle drive 1", + "3956": "Activation of fixed angle", + "3957": "HyTrack azimuth sensitivity", + "3958": "HyTrack elevation sensitivity", + "3959": "Jump width for HyTrack adjustment", + "3960": "Voltage of HyTrack Q1", + "3961": "Voltage of HyTrack Q2", + "3962": "Voltage of HyTrack Q3", + "3963": "Voltage of HyTrack Q4", + "3964": "X-angle of HyTrack", + "3965": "Y-angle of HyTrack", + "3966": "Rotation of HyTrack", + "3967": "Temperature of HyTrack", + "3968": "Set HyTrack operating mode", + "3969": "Total adjustment time", + "3970": "Total error time", + "3971": "Angle of night position", + "3972": "Current motor current drive 1", + "3973": "Current motor current drive 2", + "3974": "Maximum motor current drive 1", + "3975": "Maximum motor current drive 2", + "3976": "Current angle drive 1", + "3977": "Current angle drive 2", + "3978": "Target angle drive 1", + "3979": "Target angle drive 2", + "3980": "Drives activated", + "3981": "All drives", + "3982": "Drive 1 activated", + "3983": "Drive 2 activated", + "3984": "Open-circuit voltage point counter", + "3985": "Status of master", + "3986": "Active charging process", + "3987": "Number of Resets", + "3988": "Error", + "3990": "Protection", + "3991": "Battery reserve range", + "3992": "Battery protection range", + "3993": "Counter warning battery voltage high", + "3994": "Counter error battery overvoltage", + "3995": "Counter warning battery state of charge low", + "3996": "9600 bit/s", + "3997": "115200 bit/s", + "3998": "Impermissible grid frequency change or grid synchronization not possible", + "3999": "State of charge", + "4000": "Current capacity", + "4003": "Rated capacity", + "4004": "Present battery charge", + "4005": "Present battery discharge", + "4006": "Battery charge", + "4007": "Battery discharge", + "4008": "Absolute battery charge", + "4009": "Absolute battery discharge", + "4010": "Discharge of current battery", + "4011": "Set battery charge", + "4012": "Set battery discharge", + "4013": "Charge of current battery", + "4014": "Current capacity (Dvlp)", + "4015": "New battery |cC| identified", + "4016": "Battery |cC| service life expiry", + "4017": "Battery connection |cC|", + "4018": "Unauthorized battery system |cC|", + "4019": "Battery voltage deviation |cC|", + "4020": "Battery system |cC| defect", + "4021": "Battery system |cC| communication fault", + "4022": "Battery cell |cC| overvoltage fault", + "4023": "Battery cell |cC| undervoltage fault", + "4024": "Battery |cC| low temperature fault", + "4025": "Battery |cC| high temperature fault", + "4026": "Battery |cC| imbalancing fault", + "4027": "Internal battery hardware |cC| fault", + "4028": "Battery |cC| test: charge", + "4029": "Battery |cC| test: discharge", + "4030": "Start conditions battery |cC| test not fulfilled", + "4031": "Battery |cC| test: Charge successful", + "4032": "Battery |cC| test: Discharge successful", + "4033": "Battery |cC| test: charge failed", + "4034": "Battery |cC| test: discharge failed", + "4035": "Battery charge|cC| too low for start procedure", + "4036": "Incorrect switch position for the battery |cC| disconnection point", + "4037": "Battery system|cC| short circuit", + "4038": "Battery system|cC| thermal management activated", + "4039": "Update BIM", + "4040": "Update BIM failed", + "4041": "Update BUC", + "4042": "Update BUC failed", + "4043": "Relay monitoring voltage", + "4044": "Activation of communication test", + "4045": "Status of communication test", + "4046": "Current sensor type (60mV 50mV)", + "4047": "Current sensor gain", + "4048": "Current sensor gain", + "4049": "50 mV/A", + "4050": "60 mV/A", + "4051": "Current at AC2 with high resolution", + "4052": "Highest measured drawn power", + "4053": "Highest measured feed-in power", + "4054": "Anti-islanding sensitivity", + "4055": "Current control mode", + "4056": "Grounding type", + "4057": "TN grid", + "4058": "TT grid", + "4059": "Selection of mains exchange capacity measurement method", + "4060": "Meter Box", + "4061": "Total current load active power", + "4062": "Time-controlled", + "4063": "Setting of parameter |ln04| failed. Device must be stopped first", + "4064": "Setting of parameter |ln04| failed. Installation assistant must be started", + "4065": "PV module control", + "4066": "PV module gateway", + "4067": "PV module electronics", + "4068": "Label", + "4069": "MPP tracker assignment", + "4070": "A", + "4071": "B", + "4072": "C", + "4073": "D", + "4074": "E", + "4075": "F", + "4076": "G", + "4077": "H", + "4078": "I", + "4079": "J", + "4080": "K", + "4081": "L", + "4082": "M", + "4083": "N", + "4084": "O", + "4085": "P", + "4086": "Q", + "4087": "R", + "4088": "S", + "4089": "T", + "4090": "U", + "4091": "V", + "4092": "W", + "4093": "X", + "4094": "Y", + "4095": "Z", + "4096": "Frequency droop P(f)", + "4097": "Voltage droop Q (V)", + "4098": "Hz/kW", + "4099": "V/kVAr", + "4100": "Data1 device reports error: |s0|", + "4101": "Communication bandwidth on RS485 not sufficient to query all connected devices within 5 minutes.", + "4102": "Reduce number of devices, check communication", + "4103": "The current position is not known", + "4104": "Disconnection from grid/generator due to asymmetry between phases", + "4105": "Inverter switches to energy saving mode because battery range reached", + "4106": "Hardware version", + "4107": "Check voltage supply", + "4108": "Circuit breaker for heating and interior fan triggered", + "4109": "Precharging overload protection triggered", + "4110": "Check fuse for heating and interior fan", + "4111": "Overdrive active", + "4112": "Invalid azimuth referencing", + "4113": "Invalid elevation referencing", + "4114": "No azimuth movement", + "4115": "No elevation movement", + "4116": "Move both drives to the east", + "4117": "Drive 2 to the east", + "4118": "Drive 2 to the west", + "4119": "Drive 1 to the east", + "4120": "Drive 1 to the west", + "4121": "Move both drives to the west", + "4122": "Move both drives to the frame", + "4123": "Move drive 1 to the frame", + "4124": "Move drive 2 to the frame", + "4125": "Start frame referencing", + "4126": "Both drives activated", + "4127": "TS4 shutdown", + "4128": "SunSpec shutdown", + "4129": "Frequency at AC2 with high resolution", + "4130": "AC overvoltage backup (fast)", + "4131": "AC overvoltage backup (slow)", + "4132": "Input power for backup too low", + "4133": "Short circuit in backup", + "4134": "Communication to backup module disrupted", + "4135": "Communication to battery interface module disrupted", + "4136": "Panel level string", + "4137": "Start SOC calibration procedure", + "4138": "Stop SOC calibration procedure", + "4139": "Start derating", + "4140": "Stop derating", + "4141": "Preventative battery disconnection", + "4142": "Battery current sensor", + "4143": "Energy counter serial number", + "4144": "Energy meter used", + "4145": "Start search", + "4146": "Cancel search", + "4147": "Rapid Shutdown Mode", + "4148": "Number of PV modules in the string", + "4149": "Number of PV module electronics in the string", + "4150": "Rapid shutdown system function", + "4151": "Commissioning status", + "4152": "Minimum time for the use of excess energy", + "4153": "Voltage difference for the use of excess energy", + "4154": "Perform gateway test", + "4155": "Tigo CCA software", + "4156": "System disturbance", + "4157": "Number of gateways", + "4158": "Backup module bimetal switch", + "4159": "Backup module relay error |u4|", + "4160": "Backup module N-PE monitoring", + "4161": "Backup module hardware error", + "4162": "Backup module overtemperature", + "4163": "Backup mode relay test black start", + "4164": "Backup box configuration incorrect |d0|", + "4165": "Black start battery voltage too low", + "4166": "Battery interface module hardware error", + "4167": "Supply voltage too low", + "4168": "Output supply voltage of the battery interface module too low |b4| |b5|", + "4169": "Battery interface module output communication error |b4| |b5|", + "4170": "More than one node at output |b4| of the battery interface module", + "4171": "Test mode battery interface module |b5|, success rate: |b4|", + "4172": "Limitation of the switching frequency of the input relay for current limitation", + "4173": "Input current limitation fault |s0|", + "4174": "Backup operation", + "4175": "Input power for SPS too low", + "4176": "Minimum voltage for start backup operation", + "4177": "Contactor switching status", + "4178": "Backup box communication status", + "4179": "Backup box operating mode", + "4180": "Redundant grid contactors", + "4181": "Phase coupling", + "4182": "Neutral conductor grounding", + "4183": "Upper limit for the charging state for derating of the PV inverters", + "4184": "Monitoring time contactor monitoring contact", + "4185": "Minimum voltage for activation of the load contactors in backup", + "4186": "Monitoring time for activation of the load contactors in backup", + "4187": "Duration of the AC voltage ramp", + "4188": "DC input configuration reset", + "4189": "DC input configuration [|s0|]", + "4190": "Can test mode", + "4191": "Emergency power mode", + "4192": "Extension cluster firmware not the same as main cluster firmware", + "4193": "Bring all clusters to the same firmware status", + "4194": "Rapid shutdown has been triggered", + "4195": "detected", + "4196": "not detected", + "4197": "Update SMA Gateway Interface Module", + "4198": "Update SMA Gateway Interface Module failed", + "4199": "Communication disturbance with gateway. Serial number: |s0|", + "4200": "Communication disturbance with optimizer. Serial number: |s0|", + "4201": "Update can not be performed. SD memory card type or format not supported.", + "4202": "Copy the update file to an SD card of max. 2 GB and FAT16 format", + "4203": "Asymmetrical load of the inverter", + "4204": "PV module electronics found", + "4205": "Gateways found", + "4206": "Weekday selected", + "4207": "Time of Use", + "4208": "Peak Load Shaving", + "4209": "Width of the usage range for Time of Use", + "4210": "Width of the usage range for Peak Load Shaving", + "4211": "Charging power", + "4212": "Discharging power", + "4213": "Nominal CT current [Amps]", + "4214": "Condition for switching the input relay |s0| not satisfied", + "4215": "W/Wp", + "4216": "Overcurrent in the power element at |s0|", + "4217": "Analogue input 4", + "4218": "Analogue input 5", + "4219": "Analogue input 6", + "4220": "Analog output 1", + "4221": "Analog output 2", + "4222": "Analog output 3", + "4223": "Analog output 4", + "4224": "Analog output 5", + "4225": "Analog output 6", + "4226": "Off with single-string configuration", + "4227": "d", + "4228": "Battery inverter voltage disconnect tripped", + "4229": "Activate voltage disconnect monitoring", + "4230": "RS485 interface application", + "4231": "Energy meter", + "4232": "SMA Data", + "4233": "Module technology", + "4234": "Setpoint for grid voltage", + "4235": "Internal resistance", + "4236": "Open circuit voltage", + "4237": "AC settings", + "4238": "Setpoint for grid frequency", + "4239": "Disconnection limit for leakage current", + "4240": "Disconnection limit for the lagging component of the leakage current", + "4241": "Cellular modem", + "4242": "IMEI International Mobile Equipment Identity", + "4243": "ICCID Integrated Circuit Card Identifier", + "4244": "SIM card", + "4245": "Grid operator", + "4246": "EnnexOS", + "4247": "Communication with cellular modem interrupted", + "4248": "Communication with EnnexOS portal interrupted", + "4249": "Termination", + "4250": "Access point activated", + "4251": "Access point deactivated", + "4252": "Connected to access point", + "4253": "Overload at the SPS power outlet", + "4254": "Overload in backup operation", + "4255": "Communication with cellular modem interrupted", + "4256": "Communication with EnnexOS portal interrupted", + "4257": "Generate power line test signal", + "4258": "Mark signal", + "4259": "Space signal", + "4260": "DC precharging", + "4261": "Invalid master/slave configuration", + "4262": "Check master/slave configuration", + "4263": "DC precharging time exceeded", + "4264": "The battery management system has reported an error", + "4265": "Duration until activation of secondary connection", + "4266": "Modem error", + "4267": "No Internet", + "4268": "Rapid Shutdown test", + "4269": "Error in the rapid shutdown system", + "4270": "Rapid shutdown performed successfully", + "4271": "A thyristor did not open after the ASC test", + "4272": "Error in the controller clocking signal", + "4273": "Replace thyristors", + "4274": "IO test interrupted, because inverter is not voltage-free (AC, DC)", + "4275": "Rapid shutdown triggered by external switch", + "4276": "Generator not connected", + "4277": "Limitation to 4 reconnections (24 hrs) after exceeding continuous residual current", + "4278": "Ethernet link diagnostics via LED", + "4279": "Laboratory mode is activated", + "4280": "Minimum PV reactive power limitation as %", + "4281": "Internal PV reactive power limitation as %", + "4284": "Correct power gradient", + "4285": "Communication diagnosis", + "4286": "Redundant rapid shutdown discharge function not assured", + "4287": "Contact SMA service", + "4288": "Smart Inverter Screen", + "4289": "Reset of configuration data", + "4290": "Ethernet Wi-Fi", + "4291": "Average values type", + "4292": "5 minute average values", + "4293": "10 minute average values", + "4294": "Update PV module electronics", + "4295": "Cellular modem defect", + "4296": "No carrier", + "4297": "Cellular modem connection lost", + "4298": "RGM defect", + "4299": "Output power limitation of PV inverter", + "4300": "Fallback", + "4301": "Config. active power mode system control 2. Setpoint input", + "4302": "Minimum active power", + "4303": "Reference voltage adjustment", + "4304": "Operating mode for dynamic voltage setpoint at Q(V)", + "4305": "Fallback of reactive power control with communication fault", + "4306": "Single Droop", + "4307": "Droop with 4 supporting points and hysteresis", + "4308": "Droop with 6 supporting points", + "4309": "Droop with 8 supporting points", + "4310": "Droop with 10 supporting points", + "4311": "Droop with 12 supporting points", + "4312": "Droop with 14 supporting points", + "4313": "Max. value of external conductor voltages", + "4314": "p.u.", + "4315": "Mean value of external conductor voltages", + "4316": "Single Droop with hysteresis", + "4317": "Droop with deadband", + "4318": "Droop with deadband and hysteresis", + "4319": "Reference reactive power", + "4321": "Maximum active power", + "4322": "Operating mode", + "4323": "Maximum active power", + "4324": "Minimum active power", + "4325": "Phase voltage at grid connection point", + "4326": "CAN", + "4327": "Battery and control interface", + "4328": "Reactive power compensation", + "4329": "Number of supported strings", + "4330": "Unencrypted", + "4331": "Basic security", + "4332": "High security", + "4333": "Battery type not specified", + "4334": "Max. number of support points", + "4335": "Setting time for automatic mode", + "4336": "Reference size for reactive power setting", + "4337": "every 5 minutes", + "4338": "every 10 minutes", + "4339": "10 minute average values", + "4340": "Rated active power WMaxOutRtg", + "4341": "Rated active power WMaxInRtg", + "4342": "Rated active power WMinOutRtg", + "4343": "Rated active power WMinInRtg", + "4344": "Rated reactive power VArMaxQ1Rtg", + "4345": "Rated reactive power VArMaxQ2Rtg", + "4346": "Rated reactive power VArMaxQ3Rtg", + "4347": "Rated reactive power VArMaxQ4Rtg", + "4348": "Rated cos φ PFMinQ1Rtg", + "4349": "Rated cos φ PFMinQ2Rtg", + "4350": "Rated cos φ PFMinQ3Rtg", + "4351": "Rated cos φ PFMinQ4Rtg", + "4352": "Rated apparent power VAMaxOutRtg", + "4353": "Rated apparent power VAMaxInRtg", + "4354": "Maximum active power export", + "4355": "Nominal active power WMinOut", + "4356": "Nominal active power WMinIn", + "4357": "Nominal apparent power VAMaxOut", + "4358": "Nominal apparent power VAMaxIn", + "4359": "Nominal reactive power VArMaxQ1", + "4360": "Nominal reactive power VArMaxQ2", + "4361": "Nominal reactive power VArMaxQ3", + "4362": "Nominal reactive power VArMaxQ4", + "4363": "Nominal reactive power VArMaxZerWQ1", + "4364": "Nominal reactive power VArMaxZerWQ2", + "4365": "Nominal reactive power VArMaxZerWQ3", + "4366": "Nominal reactive power VArMaxZerWQ4", + "4367": "Nominal cos φ PFMinQ1", + "4368": "Nominal cos φ PFMinQ2", + "4369": "Nominal cos φ PFMinQ3", + "4370": "Nominal cos φ PFMinQ4", + "4371": "Update of PV module electronics not successful", + "4372": "PV module logger", + "4373": "cos φ nominal value in case of active power output", + "4374": "Excitation type in case of active power output", + "4375": "cos φ nominal value in case of active power draw", + "4376": "Excitation type in case of active power draw", + "4377": "Fallback value of cos φ in case of active power output", + "4378": "Fallback value of excitation type in case of active power output", + "4379": "Fallback value of cos φ in case of active power draw", + "4380": "Fallback value of excitation type in case of active power draw", + "4381": "Actual value filter for active power value", + "4382": "Setting time actual value filter", + "4383": "Nominal value filter", + "4384": "Limitation of change rate", + "4385": "Advanced settings for cos φ setpoint specifications", + "4386": "Fixed reactive power setpoint for active power generation", + "4387": "Fixed reactive power setpoint for active power draw", + "4388": "Fixed reactive power setpoint for low active power", + "4389": "Advanced settings for reactive power setpoint specifications", + "4390": "VAr/s", + "4391": "m3/h", + "4392": "kWh/m3", + "4393": "Active reactive power range", + "4394": "Hysteresis active power", + "4395": "Hysteresis time", + "4396": "Reactive power mode in case of active power output", + "4397": "Reactive power mode in case of active power draw", + "4398": "Reactive power mode in case of zero power output", + "4399": "Fallback behavior in case of active power output", + "4400": "Fallback behavior in case of active power draw", + "4401": "Fallback behavior in case of zero power output", + "4402": "Residual current", + "4403": "Residual current limiting", + "4404": "Activation of residual current limiting", + "4405": "Maximum active power WMax", + "4406": "Maximum reactive power VArMax", + "4407": "Voltage-dependent reactive power limitation", + "4408": "Hysteresis voltage", + "4409": "Increase rate", + "4410": "Decrease rate", + "4411": "Activation", + "4412": "Fault end", + "4413": "Short-term averaging time of the pre-fault voltage", + "4414": "Long-term averaging time of the pre-fault voltage", + "4415": "Averaging for threshold detection", + "4416": "Phase reference of grid nominal voltage", + "4417": "Overvoltage threshold for zero current", + "4418": "Undervoltage threshold for zero current", + "4419": "Reactive current change rate after fault end", + "4420": "Averaging of reactive current static", + "4421": "Overvoltage threshold for reactive current", + "4422": "Undervoltage threshold for reactive current", + "4423": "Voltage leap height", + "4424": "K-factor of react. current stat. in neg. system", + "4425": "Maximum reactive current in case of overvoltage", + "4426": "Active current priority at apparent current limit", + "4427": "Active current change rate after fault end", + "4428": "Time for providing reactive power after voltage leap", + "4429": "Reference voltage, averaged", + "4430": "Outer conductor voltage", + "4431": "Phase voltage", + "4432": "Outer conductor and phase voltage", + "4433": "Zero at dead band boundary", + "4434": "Zero at origin", + "4435": "A/s", + "4436": "Reference value", + "4437": "Setting time for nominal value filter", + "4438": "Buckling overfrequency", + "4439": "Active power change per Hz in case of overfrequency", + "4440": "Buckling underfrequency", + "4441": "Active power change per Hz in case of underfrequency", + "4443": "Current power", + "4444": "Potential power", + "4445": "Hysteresis in case of overfrequency", + "4446": "Hysteresis in case of underfrequency", + "4447": "Maximum reactive current in case of undervoltage", + "4448": "Lag time in case of overvoltage", + "4449": "Lag time in case of undervoltage", + "4450": "Q limitation", + "4451": "Blackstart process start", + "4452": "Blackstart process cancel", + "4453": "Operating mode: Isolated at generator", + "4454": "Operating mode: Isolated at battery", + "4455": "Operating mode: Mains-connected", + "4456": "Generator relief", + "4457": "Generator shutdown", + "4458": "Generator start preparation", + "4459": "Generator start", + "4460": "Waiting, net-forming", + "4461": "Waiting, voltage-free", + "4462": "Black start from battery: Battery preparation", + "4463": "Black start from battery: Connecting", + "4464": "Black start from battery: Power-up", + "4465": "Prepare synchronization from island grid to grid", + "4466": "Connect island grid to grid", + "4467": "Prepare separation of island grid from grid", + "4468": "Power down grid", + "4469": "Disconnect island grid from grid", + "4470": "Waiting state, system stopped", + "4471": "Presetting", + "4472": "Reset overfrequency", + "4473": "Reset underfrequency", + "4474": "Manual reactive power setting in case of active power draw", + "4475": "Gateway", + "4476": "Recording level for log messages", + "4477": "Standardized reactive power setpoint by communication", + "4478": "Version 2", + "4479": "Version 3", + "4480": "External reference voltage setting", + "4481": "Fallback of reference voltage", + "4482": "External reference voltage setting", + "4483": "Hysteresis voltage", + "4484": "Low priority", + "4485": "Fallback value of minimum active power", + "4486": "Fallback value of maximum active power", + "4487": "Nominal value filter", + "4488": "Increase rate", + "4489": "Decrease rate", + "4490": "External active power setting 2", + "4491": "Median maximum threshold", + "4492": "Lower maximum threshold", + "4493": "Upper minimum threshold", + "4494": "Median minimum threshold", + "4495": "Upper maximum threshold", + "4496": "Upper maximum threshold as RMS value", + "4497": "Lower minimum threshold", + "4498": "Lower minimum threshold as RMS value", + "4499": "Volt. increase prot.", + "4500": "Min. voltage for reconnection", + "4501": "Max. voltage for reconnection", + "4502": "Upper deactivation voltage", + "4503": "Upper activation voltage", + "4504": "Planned departure time", + "4505": "Time of reaching target charge", + "4506": "Charge session", + "4507": "38400 bit/s", + "4508": "%/s", + "4509": "Tripping threshold DC current monitoring in A", + "4510": "Tripping threshold DC current monitoring in %", + "4511": "DC monitoring mode", + "4512": "Voltage-dependent active power adjustment P(V)", + "4513": "cos φ(V) charac. curve", + "4514": "Voltage value", + "4517": "Minimum duration of providing reactive current", + "4518": "Maximum duration of providing reactive current", + "4519": "Type of reference voltage", + "4520": "Mean value of phase voltages", + "4521": "Maximum phase voltage", + "4522": "Dynamics", + "4523": "Trigger", + "4524": "System start", + "4525": "Interface COM1", + "4526": "Interface COM2", + "4527": "Interface COM3", + "4528": "Interface COM4", + "4529": "Gas volume flow", + "4530": "Volume", + "4531": "Gas calorific billing value", + "4532": "Gas correction factor", + "4533": "relative value in percent", + "4534": "Speed", + "4535": "Gas", + "4536": "Volume flow", + "4537": "Upper voltage threshold", + "4538": "Upper voltage threshold tripping time", + "4539": "Upper maximum threshold tripping time", + "4540": "Network type 202 split phase Japan", + "4541": "Setpoint not yet received", + "4542": "Setpoint received", + "4543": "Active power setpoint status", + "4544": "Japan Installation Assistant", + "4545": "Applicable voltages", + "4546": "EKS", + "4547": "NIV", + "4548": "EKS/NIV", + "4549": "Enable command", + "4550": "Reference voltage selection", + "4551": "After arc detection", + "4552": "Manual restart after 0% preset", + "4553": "After fault current", + "4554": "Active power setpoint 2", + "4555": "P(f) curve", + "4556": "P(V) charact. curve", + "4557": "Infeed limit", + "4558": "Draw limit", + "4559": "Draw limit 2", + "4560": "External setting", + "4561": "External setting 2", + "4562": "cos φ(V) charac. curve", + "4563": "Reference value for active power in case of overfrequency", + "4564": "Reference value for active power in case of underfrequency", + "4565": "Analog cos-phi setpoint", + "4566": "Electrical reference point", + "4567": "Priority compared to local charact. curves", + "4568": "Priority compared to local charact. curves", + "4569": "Inverter connection point", + "4570": "Wait for enable operation", + "4571": "Standby status", + "4572": "Operating status", + "4573": "Source of maximum active power setpoint", + "4574": "Source of maximum active power setpoint", + "4575": "Source of minimum active power setpoint", + "4576": "Current maximum active power setpoint", + "4577": "Current minimum active power setpoint", + "4578": "Current reference voltage setpoint for Q(V)", + "4579": "Current cos φ setpoint for active power draw", + "4580": "Function execution level", + "4581": "Voltage-dependent active power adjustment P(V)", + "4582": "Soft start-up P", + "4583": "Maintain procedure", + "4584": "Read only", + "4585": "Increase rate in case of insolation change", + "4586": "GFDI leakage resistor overloaded", + "4587": "GFDI internal measurement error", + "4588": "GFDI ancillary relay not reacting with |tn0|", + "4589": "GFDI ancillary relay not reacting", + "4590": "GFDI fuse down", + "4591": "GFDI program sequence (status machine)", + "4592": "GFDI on-board network fault", + "4593": "Timeout monitoring DC/DC converter |d0|", + "4594": "Timeout monitoring DC/DC converter", + "4595": "Check DC/DC converter connection/configuration", + "4596": "Timeout monitoring battery management system |d0|", + "4597": "Timeout monitoring battery management system", + "4598": "Battery management system, check connection/configuration", + "4599": "Battery management system |d0| reports error", + "4600": "Battery management system reports error", + "4601": "DC/DC converter |d0| reports event", + "4602": "DC/DC converter reports event", + "4603": "Battery management system |d0| reports warning", + "4604": "Battery management system reports warning", + "4605": "DC/DC converter |d0| reports warning", + "4606": "DC/DC converter reports warning", + "4607": "Check DC/DC converter", + "4608": "Check battery management system", + "4609": "Reverse currents or reverse-poled input", + "4610": "Unable to load calibration data for current measurement", + "4611": "Unable to load calibration data for voltage measurement", + "4612": "DC shuntboard not connected", + "4613": "DC shuntboard wrongly connected", + "4614": "Display for insulation fault defective", + "4615": "Link for |tn0| |d4| lost", + "4616": "Waiting for first setting value", + "4617": "Permanently derated", + "4618": "Dynamic with automatic switch-off", + "4619": "Tigo Cloud", + "4620": "Overvoltage grid (SW)", + "4622": "Reactive power, manual setting", + "4623": "Reactive power, analog input", + "4624": "Reactive power, Modbus", + "4625": "Power factor cos φ, manual setpoint specification", + "4626": "Power factor cos φ, analog input", + "4627": "Power factor cos φ, Modbus", + "4628": "Lower deactivation voltage", + "4629": "Lower activation voltage", + "4630": "System and device control", + "4631": "Reactive power control mode", + "4632": "Soft start-up rate Q", + "4633": "Soft start-up Q", + "4634": "P-settings at input 2", + "4635": "%/min", + "4636": "Reactive power dynamic after error end", + "4637": "Active power derating due to apparent power limitation", + "4638": "Number of critical DC switching cycles almost reached", + "4639": "Number of critical DC switching cycles reached", + "4640": "Combined heat and power plant", + "4641": "Hydroelectric power plant", + "4642": "General hardware test error", + "4643": "DC switch is open", + "4644": "General storage or communication error", + "4645": "NTP server for connected devices switched on", + "4646": "Islanding detection mode", + "4647": "Force Normal Active Mode", + "4648": "Maximum active power setpoint specification", + "4649": "Minimum active power setpoint specification", + "4650": "Maximum reactive power setpoint specification", + "4651": "Minimum reactive power setpoint specification", + "4652": "Active reactive power behavior", + "4653": "Charging station", + "4654": "Costs", + "4655": "E-vehicle", + "4656": "Progress of the DC input configuration", + "4657": "Grid and system protection", + "4658": "AC current regulation", + "4659": "Maximum output voltage regulator", + "4660": "Amplification of the resonance regulator", + "4661": "Activation of the AC current controller", + "4662": "Active attenuation", + "4663": "Limit frequency of the active attenuation", + "4664": "Proportional amplification of the active attenuation", + "4665": "Automatic grid connection", + "4666": "Harmonics regulators", + "4667": "Activation of all harmonics regulators", + "4668": "Activation of harmonics regulator number 3", + "4669": "Activation of harmonics regulator number 4", + "4670": "Magnitude of the resonance frequency for harmonics regulator number 3", + "4671": "Magnitude of the resonance frequency for harmonics regulator number 4", + "4672": "Amplification of the resonance regulator for harmonics regulator number 3", + "4673": "Amplification of the resonance regulator for harmonics regulator number 4", + "4674": "Amplification of the proportional regulator for harmonics regulator number 3", + "4675": "Amplification of the proportional regulator for harmonics regulator number 4", + "4676": "Grid voltage feedback", + "4677": "Reduction factor of the fed-back grid voltage", + "4678": "Limit frequency of the band-pass filter", + "4679": "Intermediate circuit voltage regulator", + "4680": "Intermediate circuit symmetry regulation", + "4681": "Software regulation", + "4682": "Weighting factor", + "4683": "1/Ohm", + "4684": "Steepness", + "4685": "Manufacturer", + "4686": "EnnexOS", + "4687": "Framework", + "4688": "Activated", + "4689": "Etherlynx", + "4690": "ComLynx", + "4691": "With conversion information", + "4692": "Without conversion information", + "4693": "Without conversion information and volume flow", + "4694": "{{0}}' connected to '{{1}}'.", + "4695": "{{0}}' disconnected from '{{1}}'.", + "4696": "Not enough memory available: Cannot download update file '{{0}}'.", + "4697": "Photovoltaics", + "4698": "W or Var", + "4699": "The device {{0}} notifies the fault {{1}}", + "4700": "A communication error to device {{0}} has occurred", + "4701": "Activation of the CosPhi reactive power limits", + "4702": "Activation threshold of the reactive power mode for feed-in", + "4703": "Deactivation threshold of the reactive power mode for feed-in", + "4704": "Activation threshold of the reactive power mode for grid power", + "4705": "Deactivation threshold of the reactive power mode for grid power", + "4706": "The supply voltage was interrupted", + "4707": "The supply voltage has been restored", + "4708": "No connection to buffer module available", + "4709": "Acoustic signal for event messages", + "4710": "Automatic test SPI CEI 0-21", + "4711": "Result: Test OK", + "4712": "Result: Test not OK", + "4713": "Test progress |d0|", + "4714": "Reactive power, digital input", + "4715": "-", + "4716": "-", + "4717": "-", + "4718": "Boost charging", + "4719": "Optimized charging", + "4720": "Charging with setpoint", + "4721": "Charge stop", + "4722": "Duration", + "4723": "Disconnection after full charge", + "4724": "Standby for charging process to disconnection", + "4725": "Energy", + "4726": "Minimum relay switching time", + "4727": "Minimum charge current", + "4728": "Software-Version", + "4729": "Type of charge controller", + "4730": "Charge energy", + "4731": "Discharge energy", + "4732": "FRITZ!Box", + "4733": "Energy management", + "4734": "External device", + "4735": "Building", + "4736": "Switching request value", + "4737": "Switching request active", + "4738": "Freezer unit rating", + "4739": "Refrigeration unit rating", + "4740": "Freezer system rating", + "4741": "Refrigeration system rating", + "4742": "Hot gas temperature actual value", + "4743": "Hot gas temperature setpoint", + "4744": "Hot gas override limit", + "4745": "Compressor power level", + "4746": "Available underexcited \nreactive power", + "4747": "Available overexcited reactive power", + "4748": "Theoretically available power output", + "4749": "Generation plant availability", + "4750": "External active power reduction", + "4751": "Current active power setpoint", + "4752": "Current reactive power setpoint", + "4753": "Available active power", + "4754": "Available reactive power", + "4755": "Overcurrent at grid connection point, quick stop triggered", + "4756": "Vehicle not compatible", + "4757": "Vehicle signals charging error", + "4758": "Communication problems between charging station and vehicle", + "4759": "Alarm upon warning or error", + "4760": "Modbus profile version", + "4761": "Error code", + "4762": "Device status", + "4763": "Control mode", + "4764": "Number", + "4765": "Load", + "4766": "Reactive power setpoint for whole system (PV and BAT)", + "4767": "Voltage setpoint (phase-phase)", + "4768": "Power factor setpoint", + "4769": "Upper active power limitation for whole plant (PV and BAT)", + "4770": "Lower active power limitation for whole plant (PV and BAT)", + "4771": "Deny inverter restart", + "4772": "Wh", + "4773": "Hybrid controller", + "4774": "Active power setpoint", + "4775": "Service info requested from Sunny Central", + "4776": "Service info transferred from Sunny Central", + "4777": "Transfer of service info failed", + "4778": "Service info transferred to portal", + "4779": "Service info upload to portal failed", + "4780": "Available underexcited reactive power", + "4781": "Available overexcited reactive power", + "4782": "Generation plant availability", + "4783": "AC self-test mode", + "4784": "Parameter change via Sunny Portal", + "4785": "Average expected yield", + "4786": "Specific yield", + "4787": "Modbus error", + "4788": "Wh/Wp", + "4789": "Time of the automatic update", + "4790": "End time", + "4791": "Start time", + "4792": "Start feed-in", + "4793": "Stop feed-in", + "4794": "Operation with meter at point of interconnection", + "4795": "TakaP", + "4796": "Set active power limit\nfor grid-supplied power at point of interconnection", + "4797": "Available power for\ncharging stations", + "4798": "Current power limitation\nof charging stations", + "4799": "Serial number device", + "4800": "Direct selling enabled", + "4801": "Self-test of AC bridge failed", + "4802": "System current", + "4803": "Mean value Line conductor L-N", + "4804": "Mean value Line conductor L-N", + "4805": "Displacement power factor at point of interconnection", + "4806": "Grid frequency at point of interconnection", + "4807": "Charging station switches to charging mode |tn0|", + "4808": "DUMMY", + "4809": "Difference PV system time/system time", + "4810": "Total nominal power", + "4811": "Nominal AC power", + "4812": "Energy released by string", + "4813": "Total energy released by string", + "4814": "Set offset of energy released by string", + "4815": "String |s0| is in derating mode", + "4816": "SunSpec keepalive signal", + "4817": "Adaptive", + "4818": "Adopting process enabled", + "4819": "Available underexcited reactive power", + "4820": "Available overexcited reactive power", + "4821": "SunSpec signal", + "4822": "Dynamic", + "4823": "Curtailed permanently", + "4824": "Dynamic with automatic disconnection", + "4825": "Current charging power", + "4826": "Current discharging power", + "4827": "No control values are sent from the Data Manager to the inverters because you have configured a Hybrid Controller for control in your system.", + "4828": "Actual value filter for measured frequency value", + "4829": "Setting time for actual value filter", + "4830": "Electric vehicle was connected to charging station.", + "4831": "Electric vehicle was disconnected from electric vehicle.", + "4832": "Charging mode was interrupted by vehicle.", + "4833": "Percent", + "4834": "cos phi", + "4835": "Digital group input", + "4836": "Digital group output", + "4837": "Current battery energy content", + "4838": "Sum of cell voltages", + "4839": "Lowest measured cell voltage", + "4840": "Highest measured cell voltage", + "4841": "End-of-charge voltage", + "4842": "End-of-discharge voltage", + "4843": "Maximum charging current", + "4844": "Maximum discharging current", + "4845": "Measured value of displacement power factor", + "4846": "Sunspec Shutdown & SPS", + "4847": "Temperature of dew point", + "4848": "Absolute air pressure", + "4849": "Relative air pressure", + "4850": "Standard deviation of wind speed", + "4851": "Standard deviation of wind direction", + "4852": "Quality of wind measurement ", + "4853": "Absolute precipitation amount", + "4854": "Differential precipitation amount", + "4855": "Precipitation intensity", + "4856": "Precipitation  type", + "4857": "WMO code", + "4858": "Lightning events", + "4859": "Lightning events (interval)", + "4860": "Weather station error", + "4861": "External temperature sensor", + "4862": "mm", + "4863": "Test of meter at point of interconnection", + "4864": "Grid feed-in", + "4865": "No current transformer", + "4866": "Meter at point of interconnection not installed correctly", + "4867": "Installation test of meter at point of interconnection", + "4868": "Installation test of meter at point of interconnection not carried out yet", + "4869": "Feed-in monitoring at point of interconnection", + "4870": "Percentage feed-in limit at point of interconnection", + "4871": "Feed-in monitoring time at point of interconnection", + "4872": "Active power setpoint in %", + "4873": "Active power setpoint in W", + "4874": "SMA SPOT", + "4875": "Modbus", + "4876": "Analog inputs", + "4877": "Digital inputs", + "4878": "Active power setpoint (electric utility company)", + "4879": "Reactive power setpoint (electric utility company)", + "4880": "Cos phi setpoint (electric utility company)", + "4881": "Active power setpoint (direct seller)", + "4882": "Modbus profile", + "4883": "Installation test of meter at point of interconnection not carried out successfully", + "4884": "Installation test of meter at point of interconnection carried out successfully", + "4885": "Status of installation test of meter at point of interconnection", + "4887": "Standard deviation of solar irradiation", + "4888": "Pollution degree Sensor 1", + "4889": "Transmission loss Sensor 1", + "4890": "Pollution degree Sensor 2", + "4891": "Transmission loss Sensor 2", + "4892": "Data model version", + "4893": "Inclination X-axis", + "4894": "Inclination Y-axis", + "4895": "Calibration date", + "4896": "Year", + "4897": "Month", + "4898": "Day", + "4899": "Pollution sensor\n", + "4900": "Pyranometer", + "4901": "Maximum active power setpoint (grid supply)", + "4902": "Minimum active power setpoint (grid supply)", + "4903": "Voltage regulation, manually set in Volt", + "4904": "Voltage regulation, manually set in p.u.", + "4905": "Voltage regulation, external setpoint", + "4906": "Voltage setpoint (line-to-line)", + "4907": "Voltage regulation, setting time of actual value filter", + "4908": "Voltage regulation, actual value filter for measured voltage value", + "4909": "Upper limit of voltage regulator", + "4910": "Lower limit of voltage regulator", + "4911": "Start conditions for meter test not fulfilled", + "4912": "Number of critical chopper operations almost reached", + "4913": "Number of critical chopper operations reached", + "4914": "Watchdog |tn0|", + "4915": "DC-Current input", + "4916": "DC-Voltage input", + "4917": "Fuse of surge arrester / DC busbar", + "4918": "Initiated number", + "4919": "Successful number", + "4920": "Flags", + "4921": "No precipitation", + "4922": "Liquid precipitation (e.g.rainfall)", + "4923": "Solid precipitation (e.g.snow)", + "4924": "Unspecified precipitation", + "4925": "Freezing rain", + "4926": "Sleet", + "4927": "Hail", + "4928": "hPa", + "4929": "You have selected external setpoint for active or reactive power. The control process starts as soon as the setpoints have been successfully transferred to the Data Manager at least once.", + "4930": "Wait for setpoints", + "4931": "Interval of cyclic insulation measurement", + "4932": "Time of cyclic insulation measurement", + "4933": "Battery overcurrent |cC|", + "4934": "Overcurrent battery charging |cC|", + "4935": "Overcurrent battery discharging |cC|", + "4936": "Configuration", + "4937": "Contactor relay (Q30) opened due to overvoltage", + "4938": "Leakage current-carrying capacity of DC generator too high", + "4939": "Leakage current-carrying capacity of DC generator too high", + "4940": "Start of cyclic insulation test ", + "4941": "Pollution degree Sensor", + "4942": "Transmission loss Sensor", + "4943": "Master with subordinate controller", + "4944": "Deep discharge protection activated", + "4945": "Battery separated externally", + "4946": "DC unbalance detected", + "4947": "DC balancer HW defective", + "4948": "mm/h", + "4949": "Rotary Switch", + "4950": "Smart charging", + "4951": "Disconnect device from utility grid and battery permanently, contact Service", + "4952": "DC relay opened unintentionally", + "4953": "DC relay defective", + "4954": "I-V curve measurement was successful", + "4955": "Start measurement", + "4956": "I-V curve", + "4957": "Storage medium full", + "4958": "Storage medium not available", + "4959": "Data logging to memory card", + "4960": "Metal chips in power stack |d0| detected", + "4961": "Loose ribbon cable in power stack |d0|", + "4962": "Future failure of power stack |d0| expected (DCB of IGBTs)", + "4963": "|s0| defective", + "4964": "Air intake blocked", + "4965": "Replacement |s0| necessary", + "4966": "Cleaning of air intake necessary", + "4967": "Fans of inverter bridge defective ", + "4968": "Replacement of inverter bridge fan necessary", + "4969": "Voltages used for voltage jump detection", + "4970": "Delay time for residual current at undervoltage", + "4971": "Delay time for residual current at overvoltage", + "4972": "Positive-sequence and negative-sequence voltage", + "4973": "Upper limit of reconnection after overfrequency disconnection", + "4974": "Upper limit of first connection", + "4975": "Lower limit of first connection", + "4976": "Open Charge Point Protocol", + "4977": "OCPP server address", + "4978": "OCPP server port", + "4979": "Client ID for registration on OCPP server", + "4980": "User name for registration on the OCPP server", + "4981": "Maximum charging current", + "4982": "Currently available charging points", + "4983": "Maximum available charging points", + "4984": "Charging transactions performed", + "4985": "Waiting for setpoints", + "4987": "AFCI switched on", + "4988": "AFCI meter", + "4989": "Reset AFCI meter", + "4990": "Reset", + "4991": "Maximum number of I-V curve measurement reached", + "4992": "Timeout in communication for dynamic reference voltage Q(V) control", + "4993": "Modbus meter", + "4994": "Optimized event generation", + "4995": "State: |tn0| / |tn4|", + "4996": "State: |tn0|", + "4997": "Current unbalance of AC power stack", + "4998": "Frequency containment reserve (FCR) ", + "4999": "Reference active power for active power offset", + "5000": "Limiting value for activation at overfrequency", + "5001": "Limiting value for activation at underfrequency", + "5002": "Operating reserve related to the available active power", + "5003": "Filter for available active power", + "5004": "Response time of filter for available active power", + "5005": "Limitation of ramp rate of available active power", + "5006": "Ramp-up rate of available active power", + "5007": "Ramp-down rate of available active power", + "5008": "Setpoint filter for active power offset", + "5009": "Response time of setpoint filter for active power offset", + "5010": "Limitation of ramp rate of active power offset", + "5011": "Ramp-up rate of active power offset", + "5012": "Ramp-down rate of active power offset", + "5013": "Base active power", + "5014": "Current maximum active power setpoint", + "5015": "Minimum from active power setpoints and available power", + "5016": "Battery system |cC| defective (Source: |tn8|)", + "5017": "Battery cell overvoltage fault |cC| (Source: |tn8|) ", + "5018": "Battery cell undervoltage fault |cC| (Source: |tn8|) ", + "5019": "Battery undertemperature |cC| (Source: |tn8|) ", + "5020": "Battery overtemperature |cC| (Source: |tn8|) ", + "5021": "Imbalancing battery |cC| (Source: |tn8|) ", + "5022": "Internal battery hardware fault |cC| (Source: |tn8|) ", + "5023": "Battery |cC| is reporting event: 0x|x5||x4|, 0x|x7||x6| (Source: |tn8|)", + "5024": "Switch position for the battery disconnection point |cC| (Source: |tn8|) ", + "5025": "Battery system short circuit |cC| (Source: |tn8|) ", + "5026": "Overcurrent battery charging |cC| (Source: |tn8|) ", + "5027": "Overcurrent battery discharging |cC| (Source: |tn8|) ", + "5028": "Service life of battery |cC| is expiring (Source: |tn8|) ", + "5029": "Battery connection |cC| (Source: |tn8|) ", + "5030": "Thermal management of battery system |cC| (Source: |tn8|) ", + "5031": "DC/DC converter of battery", + "5032": "BMS", + "5033": "Upper reactive power threshold in p.u. for deactivating and maintaining reactive power control", + "5034": "Lower reactive power threshold in p.u. for deactivating and maintaining reactive power control", + "5035": "Upper reactive power threshold in p.u. for activating the reactive power control", + "5036": "Lower reactive power threshold in p.u. for activating the reactive power control", + "5037": "Hysteresis factor for deactivating the reactive power control", + "5038": "Proportional gain of reactive power controller", + "5039": "Integral gain of reactive power controller", + "5040": "Closed loop control", + "5041": "Yes, without permanent operation inhibition", + "5042": "Upper limit of first connection", + "5043": "Lower limit of first connection", + "5044": "Wind", + "5045": "Fuel cell", + "5046": "Hybrid inverter", + "5047": "Electrolyzer", + "5048": "Sensors", + "5049": "Energy meter", + "5050": "Communication", + "5051": "Operating mode of backup mode of PV inverter", + "5052": "Available power output", + "5053": "Manual operating mode setting in laboratory mode", + "5054": "Read system data", + "5055": "Read system control", + "5056": "Control systems", + "5057": "System forecast", + "5058": "Read system data live", + "5059": "Read SmartHome control", + "5060": "SmartHome control", + "5061": "Export all diagnosis data", + "5062": "Only export alarm message", + "5063": "Only export events", + "5064": "Only export debug data (1)", + "5065": "Only export debug data (2)", + "5066": "Only export debug data (3)", + "5067": "Only export debug data (4)", + "5068": "Only export debug data (5)", + "5069": "Only export debug data (6)", + "5070": "Only export parameter messages", + "5071": "Only export update messages", + "5072": "Only export waveform data", + "5073": "|tn0| failed. Error code |d4|.", + "5074": "|tn0| completed.", + "5075": "|tn0| started.", + "5076": "Run diagnostic export of the subsystem", + "5077": "Reference of unbalanced load limitation", + "5078": "Automatic selection of measuring point", + "5079": "MQTT", + "5080": "MQTT bridge activated", + "5081": "MQTT bridge deactivated", + "5082": "Connection to MQTT broker established", + "5083": "Connection to MQTT broker failed. Error code |d0|.", + "5084": "Maximum threshold tripping time for reconnection after a disconnection", + "5085": "Minimum threshold tripping time for reconnection after a disconnection", + "5086": "Maximum threshold tripping time for reconnection after a disconnection", + "5087": "Minimum threshold tripping time for reconnection after a disconnection", + "5088": "Time until reactivation", + "5089": "Upper active power threshold value", + "5090": "Overvoltage threshold for deactivation", + "5091": "Undervoltage threshold for deactivation", + "5092": "Overvoltage threshold for deactivation", + "5093": "Undervoltage threshold for deactivation", + "5094": "Waiting time", + "5095": "Manual overwrite", + "5096": "Frequency", + "5097": "Product key", + "5098": "WPA2-PSK", + "5099": "RID", + "5100": "DEV-KEY", + "5101": "Yes, temporary", + "5102": "Yes, permanently", + "5103": "PUK 2.0", + "5106": "Access via SMA Service", + "5107": "Access process via SMA Service", + "5108": "PUK 2.0 Login successful: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5109": "PUK 2.0 Login authentication error: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5110": "PUK 2.0 Login error: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4| Error Code: |dc|", + "5111": "PUK 2.0 Product key updated: Level: |u8|", + "5112": "PUK 2.0 Offline login requested: Level: |u8|", + "5113": "PUK 2.0 Offline login ended: Level |u8| Error Code: |xf||xe||xd||xc|", + "5114": "PUK 2.0 Password reset requested: Level |u8|", + "5115": "PUK 2.0 Password reset ended: Level |u8| Error Code: |xf||xe||xd||xc|", + "5116": "PUK 2.0 Portal token request ended: Device: |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5117": "PUK 2.0 Login started: Device |x1||x0| |x7||x6||x5||x4|", + "5118": "PUK 2.0 Login ended: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5119": "PUK 2.0 Product key on master updated: Device |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5120": "PUK 2.0 Password reset ended: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5121": "PUK 2.0 Offline login ended: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5122": "Delete SMA Service password", + "5125": "Energy DC input A", + "5126": "Energy DC input B", + "5127": "Energy DC input C", + "5128": "Energy DC input D", + "5129": "Energy DC input E", + "5130": "Energy DC input F", + "5131": "Energy DC input G", + "5132": "Energy DC input H", + "5133": "Energy DC input I", + "5134": "Energy DC input J", + "5135": "Energy DC input K", + "5136": "Energy DC input L", + "5137": "Energy DC input M", + "5138": "Energy DC input N", + "5139": "Energy DC input O", + "5140": "Energy DC input P", + "5141": "Daily schedule of the possible PV recharging |d0|", + "5142": "Short-time overcurrent has triggered", + "5143": "YAP available", + "5144": "Rapid Shutdown Initiator", + "5146": "AC disconnect PV system", + "5147": "Insulation resistance of the battery is below the set limiting value", + "5148": "Battery must be checked by the manufacturer", + "5149": "Time until equalization charge has been completed in SOC range 1", + "5150": "Time until equalization charge has been completed in SOC range 2", + "5151": "Warning threshold for critical insulation resistance", + "5153": "Niko Remote socket", + "5154": "Niko Relay", + "5155": "Number of batteries", + "5156": "Lufft Meteo Station", + "5157": "Permitted upper battery charge limit", + "5158": "Fallback of the limitation of the battery charge.", + "5159": "Fallback of the limitation of the battery discharge.", + "5160": "Current battery state of charge including set reserve range", + "5161": "Current battery capacity including set reserve range", + "5162": "Individual device", + "5163": "Balancing current in the RSC", + "5164": "Lower intermediate circuit voltage half", + "5165": "Upper intermediate circuit voltage half", + "5166": "Deactivation of the intermediate circuit balancing", + "5167": "Setpoint for the DC input balancing", + "5168": "Niko Home Control Hub", + "5169": "Charging station locked", + "5170": "Number of active charging stations", + "5171": "Charging lock", + "5172": "Charging release", + "5173": "High", + "5175": "E-mails to '{{0}}' could not be delivered repeatedly. Therefore, the e-mail address has been disabled for sending. Please correct the recipient list in the appropriate notifications.", + "5176": "|tn0|: Device has switched to the status |tn4| =|tn8|", + "5177": "Manual operation", + "5178": "Sunny Home Manager control", + "5179": "Manual remote control", + "5180": "AC current limitation", + "5181": "Compatibility mode", + "5182": "Standard (recommended)", + "5183": "SunSpec", + "5184": "Integral local frequency", + "5185": "Time until deactivation", + "5186": "Overfrequency for activation", + "5187": "Overfrequency for deactivation", + "5188": "Underfrequency for activation", + "5189": "Underfrequency for deactivation", + "5190": "Average", + "5191": "Low", + "5192": "Brightness of the LEDs", + "5193": "Communication to internal energy meter disturbed", + "5194": "Phases L2, L3 and L1", + "5195": "Phases L3, L1 and L2", + "5196": "The limiting value is automatically reset to the original value at the end of the set accounting period. If an automatic adjustment is not wanted, you can disable it and set a manual specification.", + "5197": "Parameters of CONT and COM are not compatible", + "5198": "Parameter {{0}} was set from value {{1}} auf {{2}} by an internal demand.", + "5199": "RS485 modules not detected", + "5200": "Check the installation of the RS485 module or if no RS485 module is used, reset the configuration of the RS485 module", + "5201": "Protocol versions of CONT and COM are not compatible", + "5202": "Surge arrester AC", + "5203": "Surge arrester DC", + "5204": "Overvoltage Input G (SW)", + "5205": "Overvoltage input A (SW)", + "5206": "Overvoltage input I (SW)", + "5207": "Overvoltage input J (SW)", + "5208": "Overvoltage input K (SW)", + "5209": "Overvoltage input L (SW)", + "5210": "Reverse currents or substring G polarity reversed", + "5211": "Reverse currents or substring H polarity reversed", + "5212": "Reverse currents or substring I polarity reversed", + "5213": "Reverse currents or substring J polarity reversed", + "5214": "Reverse currents or substring K polarity reversed", + "5215": "Reverse currents or substring L polarity reversed", + "5216": "Checking the cabling", + "5217": "Disconnect AC and DC for 15 minutes", + "5218": "Active power limit for activating the reactive power control", + "5219": "Active power limit for deactivating the reactive power control", + "5220": "Waiting time until deactivation of reactive power control", + "5221": "The limiting value for peak load shaving of {{1}} kW set in the energy management profile {{0}}, was adjusted automatically to {{4}} on {{2}} at {{3}} due to exceeding the limit.", + "5222": "The limiting value for peak load shaving of {{1}} kW set in the energy management profile {{0}}, was exceeded on {{2}} at {{3}}. The actual power drawn was {{5}} kW in the set averaging period of {{4}} min.", + "5223": "Adjust the limiting value in your configuration to be able to use your battery-storage system's capacity optimally for peak load shaving. Alternatively, change the dimensioning of your storage system.", + "5224": "Event battery module: 0x|x7||x6||x5||x4|, 0x|xB||xA||x9||x8|, 0x|xF||xE||xD||xC|", + "5228": "Too long in grid forming FRT (virtual impedance)", + "5229": "Too long in current limitation during black start (AcRmpUp)", + "5230": "Response time for setpoint filter", + "5231": "Nominal apparent power VAMaxOut Service", + "5232": "Nominal apparent power VAMaxIn Service", + "5233": "Duty cycle", + "5234": "Fan", + "5235": "The equalization charge was terminated since it could not be performed within the specifications", + "5236": "PUK 2.0 Offline login ended with timeout: level |tn0|", + "5237": "PUK 2.0 Password reset ended with timeout: level |tn0|", + "5238": "Rated grid voltage", + "5239": "208V/120V WYE or 208V Delta", + "5240": "240V/120V Split Phase or 240V Delta", + "5241": "Minimum operating temperature of the internal components not reached", + "5242": "MOhm", + "5243": "Peak load limit: discharging limiting value when the state of charge is low", + "5244": "Peak load limit: charging limiting value when the state of charge is low", + "5245": "Peak load limit: state of charge limit for switching the parameter sets", + "5246": "Peak load limit: discharging limiting value when the state of charge is high", + "5247": "Peak load limit: charging limiting value when the state of charge is high", + "5248": "Communication timeout data logging energy meter at the point of interconnection", + "5249": "Potential power with characteristic curve break", + "5250": "Consumption household (misc.)", + "5251": "Consumption", + "5252": "Ramp rate in fallback behavior", + "5253": "Limitation of the ramp rate in fallback behavior", + "5254": "Ramp rate in fallback behavior", + "5255": "Limitation of the ramp rate in fallback behavior", + "5256": "Risk of not reaching the minimum internal operating temperature in standby or stop mode", + "5257": "Replace SC40CHOP and check circuit breaker", + "5258": "Activation of the apparent power limitation", + "5259": "Hysteresis charge/discharge limits switchover STPS-60", + "5260": "Your e-mail address {{0}} has been removed from the notification {{1}}.\n", + "5261": "Your e-mail address {{0}} has been removed from the notification {{1}}.\nThe notification no longer contained any recipients, so it was deleted.", + "5262": "SB41-PSDR-FG", + "5263": "SB41-PSDR-ST", + "5264": "Nominal active power WMaxOut - Service", + "5265": "400V/230V WYE", + "5266": "SingleCast IP address 1", + "5267": "SingleCast IP address 2", + "5268": "SingleCast IP address 3", + "5269": "AC overcurrent backup (fast)", + "5270": "AC overcurrent backup (slow)", + "5271": "Backup bypass relay fault", + "5272": "Battery input is defective", + "5273": "AFCI is allowed", + "5274": "AFCI is not possible", + "5275": "AFCI is released", + "5276": "Applied voltages", + "5277": "Prefer battery charge", + "5278": "Prefer grid feed-in", + "5279": "Fallback of the battery control in case of a measuring point failure", + "5280": "Time until aborting the equalization charge for lithium-ion batteries", + "5281": "Hysteresis charge/discharge limits switchover STPS-60", + "5282": "Battery-backup system present", + "5283": "Measured value filtering", + "5284": "Actual value filter for measured reactive power values", + "5285": "Response time for actual value filter", + "5286": "DC source as battery", + "5287": "Automatic secure power supply operation", + "5288": "Battery-backup operation", + "5289": "Configuration of the backup type", + "5290": "Active search", + "5291": "Battery at the AC terminal", + "5292": "Battery connection", + "5293": "String connection", + "5294": "Status of connection detection", + "5295": "Batteries found", + "5296": "Backup box", + "5297": "Status of the communication terminal", + "5298": "Subscription search active", + "5299": "No subscription open", + "5300": "Voltage input", + "5301": "DC utility grid control", + "5302": "Fuel cell mode", + "5303": "Electrolysis mode", + "5304": "Battery-backup operating mode active", + "5305": "Battery A", + "5306": "Battery B", + "5307": "Battery C", + "5308": "Automatic switchover to electrical island", + "5309": "DC discharge", + "5310": "Type of AC control", + "5311": "No communication load found", + "5312": "Q, external setting 2", + "5313": "Activation of the ramp rate in fallback behavior", + "5314": "Start of the fallback behavior", + "5315": "End of the fallback behavior", + "5316": "Standardized ramp rate of active power at the point of interconnection", + "5317": "Ramp rate of active power at the point of interconnection", + "5318": "Please contact the battery manufacturer |tn8|", + "5319": "Inner resistance for DC source", + "5320": "AST type", + "5321": "Current target battery voltage", + "5322": "Reminder: Communication failure still exists.", + "5323": "Call interval for the control", + "5324": "Parameter \"|ln04|\" set successfully, to \"|tn8|\"", + "5325": "Setting of parameter \"|ln04|\" failed, to \"|tn8|\"", + "5326": " Setpoint of the battery power", + "5327": "Phase-locked loop", + "5328": "Voltage for stopping", + "5329": "Voltage for activation", + "5330": "Waiting time for activation", + "5331": "Frequency setpoint for stopping", + "5332": "Backup (OnGrid) ", + "5333": "Load shedding (relay |u4|) due to overload in the electrical island", + "5334": "Delay in switchover to battery-backup operation", + "5335": "Maximum apparent power VAMax", + "5336": "Current-controlled OnGrid", + "5337": "Voltage-controlled OnGrid", + "5338": "Voltage-controlled OffGrid ", + "5341": "Status des Ersatzstromrelais", + "5342": "Setpoint of the frequency shift ", + "5343": "Active power-dependent frequency curve f(P)", + "5344": "Setpoint of the voltage shift ", + "5345": "Reactive power-dependent voltage amplitude curve V(Q)", + "5346": "Voltage-dependent current matching I(V)", + "5347": "SMA dataset for 50Hz networks - stop", + "5348": "SMA dataset for 60Hz networks - stop", + "5349": "Datenaufzeichnung", + "5350": "redundant", + "5351": "Redundanz Rolle hat sich in |tn0| geändert.", + "5352": "individual setpoint distribution", + "5353": "Rückfallwert als normierte minimale Wirkleistung", + "5354": "Rückfallwert als normierte maximale Wirkleistung", + "5355": "Interne Parameter-Konsistenzprüfung fehlgeschlagen", + "5356": "Unterlagertes Gerät", + "5357": "Infoflags", + "5358": "Active power setpoint that is sent to all inverters in stop state", + "5359": "Fast reserve for storage unit (FRS)", + "5360": "Reserve time", + "5361": "Active characteristic curve duration", + "5362": "Duration for the change to 0 W after expiry of the active characteristic curve duration", + "5363": "Duration for the change to 0 W after expiry of the reserve time", + "5364": "EPR file format supported", + "5365": "License expired", + "5366": "Test license", + "5367": "License valid", + "5368": "License", + "5369": "Signal Schnell-Stopp", + "5370": "Signal Puffermodul", + "5371": "Anlagenwirkleistung (Einspeisung)", + "5372": "Anlagenwirkleistung (Bezug)", + "5373": "Anlagenstatus", + "5374": "Sollwerte", + "5375": "Blindleistungsvorgabe über analogen Eingang", + "5376": "Wirkleistungsbegrenzung über analogen Eingang", + "5377": "Verschiebungsfaktor cos φ über analogen Eingang", + "5378": "Batterieladezustand", + "5379": "Role", + "5380": "Number", + "5381": "Error service", + "5382": "LIMIT_ANGLE", + "5383": "sensitivity of end switch", + "5384": "BackTracking Distance", + "5385": "BackTracking Height", + "5386": "azimuth position night", + "5387": "Arc-Fault Circuit Interrupter (AFCI)", + "5388": "Flight recorder selection", + "5389": "Number of inverters in state Run", + "5390": "Number of inverters in state Wait", + "5391": "Number of inverters in state Stop", + "5392": "Number of inverters in state Q on Demand", + "5393": "Availability", + "5394": "Überstrom Elektroliseur laden", + "5395": "Überstrom Elektroliseur entladen", + "5396": "Elektroliseur Unterspannung", + "5397": "Elektroliseur Überspannung", + "5398": "Maximale Energie überschritten, DC-Vorladung", + "5399": "DC-Kurzschluss/Leerlaufspannung beim DC-Vorladen detektiert", + "5400": "Maximale DC-Entladezeit überschritten", + "5401": "DC-Spannung nach DC-Kurzschließen/Erden nicht gültig", + "5402": "Fehlermeldung Kirchner", + "7500": "[IT] Enel-GUIDA", + "7501": "[ES] RD1663/661-A", + "7502": "[TH] IEC61727/MEA", + "7503": "[TH] IEC61727/PEA", + "7504": "[IL] SI4777-2[TH] IEC", + "7505": "[CN] CGC/GF001", + "7506": "[DE] VDE0126-1-1/UTE", + "7507": "[KR] KEMCO502/2009", + "7508": "[JP] JP50", + "7509": "[JP] JP60", + "7510": "[DE] VDE-AR-N4105", + "7511": "[CN] GB-T19939-2005", + "7512": "[GB] G59/2", + "7513": "[DE] VDE-AR-N4105-MP", + "7514": "[DE] VDE-AR-N4105-HP", + "7515": "[KR] KEMCO501/2009", + "7516": "[IT] CEI 0-21", + "7517": "[IT] CEI 0-21 intern", + "7518": "[IT] CEI 0-21 extern", + "7519": "[US] UL1741/2010/277", + "7520": "[US] UL1741/2010/120", + "7521": "[US] UL1741/2010/240", + "7522": "[NL] NEN-EN50438", + "7523": "[BE] C10/11/2012", + "7524": "[ES] RD1699", + "7525": "[GB] G83/2", + "7526": "[FR] VFR2013", + "7527": "[FR] VFR2014", + "7528": "[GB] G59/3", + "7529": "[IL] SI4777_HS131_Pf", + "7530": "[TH] MEA2013", + "7531": "[TH] PEA2013", + "7532": "[EN] EN50438:2013", + "7533": "[NL] NEN-EN50438:2013", + "7534": "[SA] SA220V/60Hz", + "7535": "SMA WorstCase", + "7536": "SMA Default", + "7537": "SMA Other standard (60Hz)", + "7538": "[IL] SI4777_HS131_13", + "7539": "[ES] RD1699/413", + "7540": "KEMCO2013", + "7541": "[US] UL1741/2010/208", + "7542": "[DE] GPPWide", + "7543": "[CH] VDE_0126-1-1-CH", + "7544": "[DK] VDE-AR-N4105-DK", + "7545": "[DE] VDE-AR-N4105-MC", + "7546": "SMA Adjusted-MC", + "7547": "[AT] OENORME80014712", + "7548": "[US] HECO2015", + "7549": "[AU] AS4777.2_2015", + "7550": "[ZA] NRS 097-2-1", + "7551": "[CL] NT_Ley20571", + "7552": "[US] HECO2015/120", + "7553": "[US] HECO2015/208", + "7554": "[US] HECO2015/240", + "7555": "IEC IEC61727", + "7556": "[TH] MEA2016", + "7557": "[TH] PEA2016", + "7558": "[US] UL1741/2016/277", + "7559": "[US] UL1741/2016/120", + "7560": "[US] UL1741/2016/240", + "7561": "[US] UL1741/2016/208", + "7562": "[US] HECO2017/120", + "7563": "[US] HECO2017/208", + "7564": "[US] HECO2017/240", + "7565": "[BR] ABNT NBR 16149:2013", + "7566": "[EU] IE-EN50438:2013", + "7567": "[AE] DEWA 2016 intern", + "7568": "[AE] DEWA 2016 extern", + "7569": "[AT] TOR D4 2016 ", + "7570": "[US] IEEE 1547", + "7571": "[US] CA Rule 21", + "7572": "[IT] CEI 0-16 external", + "7573": "[GB] G83/2-1:2018", + "7574": "[GB] G59/3-4:2018", + "7575": "[US] HECO_OHM Rule 14H SRD 1.1 / 120 L-N-L", + "7576": "[US] HECO_OHM Rule 14H SRD 1.1 / 208 L-L", + "7577": "[US] HECO_OHM Rule 14H SRD 1.1 / 240 L-L", + "7578": "[US] NE-ISO / 120 L-N-L", + "7579": "[US] NE-ISO / 208 L-L", + "7580": "[US] NE-ISO / 240 L-L", + "7581": "[US] CA Rule 21 / 120 L-N-L", + "7582": "[US] CA Rule 21 / 208 L-L", + "7583": "[US] CA Rule 21 / 240 L-L", + "7584": "[DE] VDE-AR-N4105:2018 Generators > 4.6 kVA", + "7584t": "Germany, Low Voltage Directive for generators > 4.6 kVA", + "7585": "[DE] VDE-AR-N4105:2018 Storage > 4.6 kVA", + "7585t": "Germany, Low Voltage Directive for storage > 4.6 kVA", + "7586": "[DE] VDE-AR-N4105:2018 Generators up to 4.6 kVA", + "7586t": "Germany, Low Voltage Directive for generators up to 4.6 kVA", + "7587": "[DE] VDE-AR-N4105:2018 Storage up to 4.6 kVA", + "7587t": "Germany, Low Voltage Directive for up to 4.6 kVA", + "7588": "[DE] VDE-AR-N4110:2018 Generator int. Decoup. Protection Device", + "7588t": "Germany, Medium Voltage Directive for generators with internal decoupling protection", + "7589": "[DE] VDE-AR-N4110:2018 Generator ext. Decoup. Protection Device", + "7589t": "Germany, Medium Voltage Directive for generators with external decoupling protection", + "7590": "[EU] EN50549-1:2018 LV", + "7590t": "Europe, Requirements for generators connected to LV distribution network", + "7591": "[EU] EN50549-2:2018 MV", + "7591t": "Europe, Requirements for generators connected to MV distribution network", + "7592": "SMA Default 2019 50Hz", + "7592t": "Default country dataset for 50Hz networks", + "7593": "SMA Default2019 60Hz", + "7593t": "Default country dataset for 60Hz networks", + "7594": "[UK] ENA-EREC-G98/1:2018", + "7594t": "Great Britain, Requirements for generators with max. 16 A per phase", + "7595": "[UK] ENA-EREC-G99/1:2018", + "7595t": "Great Britain, Requirements for generators with max. 16 A per phase", + "7596": "[BE] C10/11-LV1:2018 LV up to 10kVA", + "7596t": "Belgium, generators on low-voltage grid up to 10 kVA (up to 5 kVA single-phase)", + "7597": "[BE] C10/11-LV2:2018 LV >10kVA", + "7597t": "Belgium, generators on low-voltage grid >10 kVA", + "7598": "[BE] C10/11-MV1:2018 MV", + "7598t": "Belgium, generators on high-voltage grid up to 25 MW", + "7599": "[DK] Dansk Energi DK1:2019 LV", + "7599t": "Denmark, generators on low voltage grid, West Denmark (DK2) ", + "7600": "[DK] Dansk Energi DK2:2019 LV", + "7600t": "Denmark, generators on low voltage grid, East Denmark (DK2) ", + "7601": "SMA Default 2019 for grid management services", + "7602": "[BE] Synergrid C10/11:2019 LV Generators int. Decoup. Protection Device", + "7602t": "Belgien, Generator at low-voltage grid, Internal Decoupling Protection Device", + "7603": "[BE] Synergrid C10/11:2019 LV Generators ext. Decoup. Protection Device", + "7603t": "Belgien, Generator at low-voltage grid, External Decoupling Protection Device", + "7604": "[BE] Synergrid C10/11:2019 MV Generators int. Decoup. Protection Device", + "7604t": "Belgien, Generator at high-voltage grid, Internal Decoupling Protection Device", + "7605": "[BE] Synergrid C10/11:2019 MV Generators ext. Decoup. Protection Device", + "7605t": "Belgien, Generator at high-voltage grid, External Decoupling Protection Device", + "7606": "[BE] Synergrid C10/11:2019 LV Storage int. Decoup. Protection Device", + "7606t": "Belgien, Storage at low-voltage grid, Internal Decoupling Protection Device", + "7607": "[BE] Synergrid C10/11:2019 LV Storage ext. Decoup. Protection Device", + "7607t": "Belgien, Storage at low-voltage grid, External Decoupling Protection Device", + "7608": "[BE] Synergrid C10/11:2019 MV Storage int. Decoup. Protection Device", + "7608t": "Belgien, Storage at high-voltage grid, Internal Decoupling Protection Device", + "7609": "[BE] Synergrid C10/11:2019 MV Storage ext. Decoup. Protection Device", + "7609t": "Belgien, Storage at high-voltage grid, External Decoupling Protection Device", + "7610": "[IT] CEI0-21:2019 System ≤11.08 kW int. Decoup. Protection Device", + "7610t": "Italy, systems in low-voltage grids, up to 11,08 kW, with internal decoupling protection device", + "7611": "[IT] CEI0-21:2019 System ≤11.08 kW ext. Decoup. Protection Device", + "7611t": "Italy, systems in low-voltage grids, up to 11,08 kW, with internal decoupling protection device", + "7612": "[IT] CEI0-21:2019 System >11.08 kW ext. Decoup. Protection Device", + "7612t": "Italy, systems in low-voltage Grids, higher than 11,08 kW, with external decoupling protection device", + "7613": "[IT] CEI0-16:2019 System ≤6 MW", + "7613t": "Italy, systems in medium or high-voltage Grids, up to 6 MW", + "7614": "[AT] TOR Erzeuger Typ A V1.0:2019", + "7615": "[AT] TOR Generator Type A V1.0:2019", + "7615t": "Austria, Generators or Storage Typ A, in low-voltage grids, up to 250 kW", + "7616": "[AT] TOR Generator Type B V1.0:2019 System >250 kW", + "7616t": "Austria, Generators or Storage Typ B, in medium-voltage grids, higher than 250 kW up to 35 MW", + "7617": "[DE] VDE-AR-N 4120:2018", + "7618": "[FR] VFR:2019", + "7619": "[ES] P.O.12.2:2018", + "7620": "[IN] IEC 61727", + "7621": "[KR] PV 502:2013", + "7622": "[TW] CNS 15382:2018", + "7623": "[FI] VJV:2018", + "7624": "Production test", + "7625": "[ES] Orden TED 749:2020 Type A Power generation systems ≤ 100 kW", + "7626": "[ES] Orden TED 749:2020 Type B 100 kW > Power generation systems ≤ 5 MW", + "7627": "[ES] Orden TED 749:2020 Types C&D Power generation systems > 5 MW", + "7628": "[PL] EN50549-1/19-PL: Typ A", + "7629": "[PL] EN50549-2/19-PL: Typ B", + "7630": "[US] IEEE 1547:2018, Abnormal Performance Cat.I, Normal Performance Cat. B", + "7630t": "USA, UL1741/SA, UL1741/SB, IEEE1547:2018, Normal Performance Category B, Abnormal Performance Category I (based on SMA Grid Guard 10)", + "7631": "[US] IEEE 1547:2018, Abnormal Performance Cat.II, Normal Performance Cat. B", + "7631t": "USA, UL1741/SA, UL1741/SB, IEEE1547:2018, Normal Performance Category B, Abnormal Performance Category II (based on SMA Grid Guard 10)", + "7632": "[US] IEEE 1547:2018, Abnormal Performance Cat.III, Normal Performance Cat. B", + "7632t": "USA, UL1741/SA, UL1741/SB, IEEE1547:2018, Normal Performance Category B, Abnormal Performance Category III (based on SMA Grid Guard 10)", + "7633": "[IT] CEI0-21:2019 Storage ≤11,08 kW int. EKS", + "7634": "[IT] CEI0-21:2019 Storage >11,08 kW ext. EKS", + "7635": "[IT] CEI0-16:2019 Storage", + "7636": "[CH] NA/EEA-NE7:2020 generator ≤ 250 kW", + "7637": "[CH] NA/EEA-NE7:2020 battery-storage system ≤ 250 kW", + "7638": "[CH] NA/EEA-NE7:2020 generator > 250 kW", + "7639": "[CH] NA/EEA-NE7:2020 battery-storage system > 250 kW", + "7648": "[ZA] NRS 097-2-1:2017 categories A1&A2 ≤100 kVA", + "7649": "[ZA] NRS 097-2-1:2017 category A3 > 1000 kVA", + "7650": "[TH] IEC61727/PEA 2016 all systems", + "7651": "[TH] IEC61727/MEA 2016 all systems", + "7652": "[Offgrid] SMA stand-alone mode 50 Hz PV inverter", + "7653": "[Offgrid] SMA stand-alone mode 60 Hz PV inverter", + "7654": "[IL] SI4777_HS131_13 systems ≤ 50kW ", + "7655": "[IL] SI4777_HS131_Pf systems > 50kW", + "7656": "[CL] NT_Ley20571 systems ≤ 100 kW ", + "7657": "[BR] ABNT NBR 16149:2013 all systems", + "7658": "[PL] PN-EN 50549-1_2019", + "7659": "[PL] PN-EN 50549-1_2019_1ph", + "7660": "[PL] PN-EN 50549-2_2019", + "7661": "[AU] AS/NZS 4777.2:2020 Generator Region A ", + "7661t": "Australia, Grid Connection Inverter, Generator Region A", + "7662": "[AU] AS/NZS 4777.2:2020 Generator Region B", + "7662t": "Australia, Grid Connection Inverter, Generator Region B", + "7663": "[AU] AS/NZS 4777.2:2020 Generator Region C", + "7663t": "Australia, Grid Connection Inverter, Generator Region C", + "7664": "[AU] AS/NZS 4777.2:2020 Generator Region NZ", + "7664t": "Australia, Grid Connection Inverter, Generator Region NZ", + "7665": "[AU] AS/NZS 4777.2:2020 Storage Region A", + "7665t": "Australia, Grid Connection Inverter, Storage Region A", + "7666": "[AU] AS/NZS 4777.2:2020 Storage Region B", + "7666t": "Australia, Grid Connection Inverter, Storage Region B", + "7667": "[AU] AS/NZS 4777.2:2020 Storage Region C", + "7667t": "Australia, Grid Connection Inverter, Storage Region C", + "7668": "[AU] AS/NZS 4777.2:2020 Storage Region NZ", + "7668t": "Australia, Grid Connection Inverter, Storage Region NZ", + "7669": "[US] HECO SRD2.0; IEEE 1547:2018; Abnormal Performance Cat.III; Normal Performance Cat. B", + "7669t": "HECO SRD2.0; IEEE 1547:2018; Abnormal Performance Cat.III; Normal Performance Cat. B", + "7670": "SMA Default 2021 60Hz US", + "7671": "[SE] EIFS-2018:2 Generator Type A < 1.5 MW", + "7671t": "Sweden, RfG-Implementation for Generators < 1.5 MW", + "7672": "[KR] KS C 8565:2020 (inverter 30-250 kW)", + "7672t": "Korea, KS C 8565:2020 for inverters with a rated output over 30 kW and 250 kW", + "7673": "[KR] KS C 8565:2020 (inverter 10-30 kW)", + "7673t": "Korea, KS C 8565:2020 for inverters with a rated output betweenr 10 kW and 30 kW", + "7674": "[US] CA-R21-IEEE1547:2018-Cat.III-Cat.B", + "7674t": "California (USA); Rule 21, IEEE 1547:2018; Abnormal Performance Cat.III; Normal Performance Cat. B", + "7675": "[JO] IRR-DCC-MV inst. less than 500kW", + "7675t": "Jordan IRR-DCC-MV for installations with a power less than 500kW", + "7676": "[JO] IRR-DCC-MV inst. between 500 kW and 2 MW", + "7676t": "Jordan IRR-DCC-MV for installations with a power between 500 kW and 2 MW", + "7677": "[US] UL1741 /SB Cat B-II Storage", + "7678": "[US] UL1741 /SB Cat B-III Storage", + "7679": "[AE] DEWA systems < 10 kW", + "7680": "[AE] DEWA systems ≥ 10 kW", + "7681": "[AE] DEWA medium-voltage systems", + "7682": "[UK] Northern Ireland G98/NI systems ≤ 16 A", + "7683": "[UK] Northern Ireland G99/NI systems > 16 A", + "7684": "[TW] CNS 15382 PV systems", + "8000": "All Devices", + "8001": "Solar Inverters", + "8002": "Wind Turbine Inverter", + "8003": "Hydroelectric power plant", + "8004": "CHP plant", + "8005": "Fuel cell", + "8006": "Diesel generator", + "8007": "Battery Inverter", + "8008": "Charging station", + "8009": "Hybrid inverter", + "8010": "No translation in Taglist for ID 8010", + "8032": "Electrolyzer", + "8033": "Load", + "8034": "No translation in Taglist for ID 8034", + "8064": "Sensor System in General", + "8065": "Electricity meter", + "8066": "Gas meter", + "8067": "Generic meter", + "8096": "Tracker", + "8097": "No translation in Taglist for ID 8097", + "8128": "Communication products", + "8129": "No translation in Taglist for ID 8129", + "8500": "ROOT", + "8501": "VMEM", + "8502": "PWT", + "8503": "COM", + "8504": "FWCHK", + "8505": "COND", + "8506": "SET", + "8507": "LOGDEV", + "8508": "LOGOBJ", + "8509": "TAGS", + "8510": "PHYDEV", + "8511": "PHYOBJ", + "8512": "LEXE", + "8513": "LEXN", + "8514": "LEXA", + "8515": "LS", + "8516": "VERS", + "8517": "IPCFG", + "8518": "YAP", + "8519": "HiFrqMessungDirectoryObjekt", + "8520": "HiFrqMessungIVKurveObjekt", + "8521": "HiFrqMessungIVKurveSIngleObjekt", + "8530": "Counter object", + "8531": "5-min value object", + "8532": "Instantaneous value object", + "8533": "Status object", + "8534": "Parameter object", + "8535": "PV string group mean values", + "8536": "String list object", + "8537": "PV string group parameter", + "8538": "PV string group instantaneous values", + "8539": "Adaptor information", + "8540": "Data logger object energy", + "8541": "Data logger object event", + "8542": "Data logger object daily energy", + "8543": "Event counter object", + "8544": "Event object", + "8545": "Taglist object", + "8546": "Time setting object", + "8547": "PV system control parameter", + "8548": "PV voltage level mean values", + "8549": "PV voltage level instantaneous values", + "8550": "PV voltage level parameter", + "8551": "PV system control object", + "8552": "PV voltage level status", + "8553": "Data logger object supplied power", + "8554": "Data logger object consumed power", + "8555": "Data logger object supplied daily power", + "8556": "Data logger object consumed daily power", + "8557": "External PV system control object", + "8558": "Datenloggerobjekt Netzspannung Phase A", + "8559": "Datenloggerobjekt Netzspannung Phase B", + "8560": "Datenloggerobjekt Netzspannung Phase C", + "8561": "Datenloggerobjekt DC-Spannung", + "8562": "Datenloggerobjekt Netzfrequenz", + "8563": "Datenloggerobjekt PCB-Temperatur", + "8564": "Datenloggerobjekt Batteriespannung Mittelwert", + "8565": "Datenloggerobjekt Batteriespannung Max", + "8566": "Datenloggerobjekt Batteriespannung Min", + "8567": "Datenloggerobjekt Batteriestrom", + "8568": "Datenloggerobjekt Batterietemperatur Mittelwert", + "8569": "Datenloggerobjekt Batterietemperatur Max", + "8570": "Datenloggerobjekt Batterietemperatur Min", + "8571": "Datenloggerobjekt Batterie SOH", + "8572": "Datalogger obj. PV gen. meter", + "8573": "Datalogger obj. total consump.", + "8574": "Datalogger obj. self-consump.", + "8575": "Datalogger obj. direct consump.", + "8576": "Datalogger obj. battery charge", + "8577": "Datalogger obj. battery disch.", + "8578": "Datalogger obj. PV/batt. power", + "8579": "Data logger object self-supply", + "8580": "Data logger object feed-in power", + "8581": "Data logger object - phase voltage", + "8582": "Data logger object - phase current", + "8583": "Data logger object - DC power", + "8584": "Data logger object - DC voltage", + "8585": "Data logger object - DC current", + "8586": "Data logger object - insulation resistance", + "8587": "Data logger object - residual current", + "8588": "Data logger object - device state", + "8589": "Data logger object total consumption of current day", + "8590": "Data logger object absorbed energy", + "8591": "Data logger object daily value absorbed energy", + "8592": "Data logger object battery state of charge", + "8593": "Generic 1-minute logger", + "8594": "Generic 5-minute logger", + "8595": "Generic daily logger", + "8596": "Datenloggerobjekt Batterieladung des laufenden Tages", + "8597": "Datenloggerobjekt Batterieentladung des laufenden Tages", + "8598": "Data logger object battery status", + "8599": "Data logger object battery capacity", + "8600": "Data logger object battery state of charge", + "8601": "Datalogger obj. battery charge", + "8602": "Datalogger obj. battery disch.", + "8603": "Datalogger obj. Available charging power", + "8604": "Datalogger obj. Available discharging power", + "8605": "Tesla", + "8606": "Sony", + "8607": "Daily-Powerwall-6.4kWh", + "8608": "RESU-8.0", + "8609": "RESU-9.8", + "8610": "RESU-10H", + "8611": "Datalogger obj. Ambient temperature", + "8612": "Datalogger obj. Status enable signal", + "8613": "Datalogger obj. Climate management supply req.", + "8614": "Datalogger obj. - DC-bus voltage", + "8615": "Datalogger obj. - DC-bus power", + "8616": "Datalogger obj. Logic supply voltage", + "8617": "Datalogger obj. Climate mgmt. supply voltage", + "8618": "Datalogger obj. Battery management system command", + "8619": "Other type", + "8620": "BYD", + "8621": "BYD Battery-Box H (4 - 8)", + "8622": "Kirchner", + "8623": "RESU-7H", + "8624": "Generischer Logger Flight Recorder", + "8625": "Datenloggerobjekt DC-Leistung für String B", + "8626": "Datenloggerobjekt DC-Spannung für String B", + "8627": "Datenloggerobjekt DC-Strom für String B", + "8628": "Hyperion (3 - 6)", + "8629": "era:powerbase 7.5 - 15 HV", + "8630": "AXIstorage Li SH 3 – 6 Powerpack", + "8631": "BMZ", + "8632": "IBC Solar", + "8633": "Axitec", + "8634": "RESU-10M", + "8635": "SMART SOLAR", + "8636": "RESU16H Prim", + "8637": "LG Energy Solution", + "8638": "RESU10H Prime", + "8639": "RESU FLEX 2s", + "8640": "RESU FLEX 3s", + "8641": "RESU FLEX 4s", + "8642": "RESU FLEX", + "8643": "Force-H1", + "8644": "Force-H2", + "8645": "Pylontech", + "9000": "SWR 700", + "9001": "SWR 850", + "9002": "SWR 850E", + "9003": "SWR 1100", + "9004": "SWR 1100E", + "9005": "SWR 1100LV", + "9006": "SWR 1500", + "9007": "SWR 1600", + "9008": "SWR 1700E", + "9009": "SWR 1800U", + "9010": "SWR 2000", + "9011": "SWR 2400", + "9012": "SWR 2500", + "9013": "SWR 2500U", + "9014": "SWR 3000", + "9015": "SB 700", + "9016": "SB 700U", + "9017": "SB 1100", + "9018": "SB 1100U", + "9019": "SB 1100LV", + "9020": "SB 1700", + "9021": "SB 1900TLJ", + "9022": "SB 2100TL", + "9023": "SB 2500", + "9024": "SB 2800", + "9025": "SB 2800i", + "9026": "SB 3000", + "9027": "SB 3000US", + "9028": "SB 3300", + "9029": "SB 3300U", + "9030": "SB 3300TL", + "9031": "SB 3300TL HC", + "9032": "SB 3800", + "9033": "SB 3800U", + "9034": "SB 4000US", + "9035": "SB 4200TL", + "9036": "SB 4200TL HC", + "9037": "SB 5000TL", + "9038": "SB 5000TLW", + "9039": "SB 5000TL HC", + "9040": "Convert 2700", + "9041": "SMC 4600A", + "9042": "SMC 5000", + "9043": "SMC 5000A", + "9044": "SB 5000US", + "9045": "SMC 6000", + "9046": "SMC 6000A", + "9047": "SB 6000US", + "9048": "SMC 6000UL", + "9049": "SMC 6000TL", + "9050": "SMC 6500A", + "9051": "SMC 7000A", + "9052": "SMC 7000HV", + "9053": "SB 7000US", + "9054": "SMC 7000TL", + "9055": "SMC 8000TL", + "9056": "SMC 9000TL-10", + "9057": "SMC 10000TL-10", + "9058": "SMC 11000TL-10", + "9059": "SB 3000 K", + "9060": "Unknown device", + "9061": "SensorBox", + "9062": "SMC 11000TLRP", + "9063": "SMC 10000TLRP", + "9064": "SMC 9000TLRP", + "9065": "SMC 7000HVRP", + "9066": "SB 1200", + "9067": "STP 10000TL-10", + "9068": "STP 12000TL-10", + "9069": "STP 15000TL-10", + "9070": "STP 17000TL-10", + "9071": "SB 2000HF-30", + "9072": "SB 2500HF-30", + "9073": "SB 3000HF-30", + "9074": "SB 3000TL-21", + "9075": "SB 4000TL-21", + "9076": "SB 5000TL-21", + "9077": "SB 2000HFUS-30", + "9078": "SB 2500HFUS-30", + "9079": "SB 3000HFUS-30", + "9080": "SB 8000TLUS", + "9081": "SB 9000TLUS", + "9082": "SB 10000TLUS", + "9083": "SB 8000US", + "9084": "WB 3600TL-20", + "9085": "WB 5000TL-20", + "9086": "SB 3800US-10", + "9087": "Sunny Beam BT11", + "9088": "Sunny Central 500CP", + "9089": "Sunny Central 630CP", + "9090": "Sunny Central 800CP", + "9091": "Sunny Central 250U", + "9092": "Sunny Central 500U", + "9093": "Sunny Central 500HEUS", + "9094": "Sunny Central 760CP", + "9095": "Sunny Central 720CP", + "9096": "Sunny Central 910CP", + "9097": "SMU8", + "9098": "STP 5000TL-20", + "9099": "STP 6000TL-20", + "9100": "STP 7000TL-20", + "9101": "STP 8000TL-10", + "9102": "STP 9000TL-20", + "9103": "STP 8000TL-20", + "9104": "SB 3000TL-JP-21", + "9105": "SB 3500TL-JP-21", + "9106": "SB 4000TL-JP-21", + "9107": "SB 4500TL-JP-21", + "9108": "SCSMC", + "9109": "SB 1600TL-10", + "9110": "SSM US", + "9111": "radio-controlled socket", + "9112": "WB 2000HF-30", + "9113": "WB 2500HF-30", + "9114": "WB 3000HF-30", + "9115": "WB 2000HFUS-30", + "9116": "WB 2500HFUS-30", + "9117": "WB 3000HFUS-30", + "9118": "VIEW-10", + "9119": "Sunny Home Manager", + "9120": "SMID", + "9121": "Sunny Central 800HE-20", + "9122": "Sunny Central 630HE-20", + "9123": "Sunny Central 500HE-20", + "9124": "Sunny Central 720HE-20", + "9125": "Sunny Central 760HE-20", + "9126": "SMC 6000A-11", + "9127": "SMC 5000A-11", + "9128": "SMC 4600A-11", + "9129": "SB 3800-11", + "9130": "SB 3300-11", + "9131": "STP 20000TL-10", + "9132": "SMA CT Meter", + "9133": "SB 2000HFUS-32", + "9134": "SB 2500HFUS-32", + "9135": "SB 3000HFUS-32", + "9136": "WB 2000HFUS-32", + "9137": "WB 2500HFUS-32", + "9138": "WB 3000HFUS-32", + "9139": "STP 20000TLHE-10", + "9140": "STP 15000TLHE-10", + "9141": "SB 3000US-12", + "9142": "SB 3800-US-12", + "9143": "SB 4000US-12", + "9144": "SB 5000US-12", + "9145": "SB 6000US-12", + "9146": "SB 7000US-12", + "9147": "SB 8000US-12", + "9148": "SB 8000TLUS-12", + "9149": "SB 9000TLUS-12", + "9150": "SB 10000TLUS-12", + "9151": "SB 11000TLUS-12", + "9152": "SB 7000TLUS-12", + "9153": "SB 6000TLUS-12", + "9154": "SB 1300TL-10", + "9155": "Sunny Backup 2200", + "9156": "Sunny Backup 5000", + "9157": "Sunny Island 2012", + "9158": "Sunny Island 2224", + "9159": "Sunny Island 5048", + "9160": "SB 3600TL-20", + "9161": "SB 3000TL-JP-22", + "9162": "SB 3500TL-JP-22", + "9163": "SB 4000TL-JP-22", + "9164": "SB 4500TL-JP-22", + "9165": "SB 3600TL-21", + "9167": "Cluster Controller", + "9168": "SC630HE-11", + "9169": "SC500HE-11", + "9170": "SC400HE-11", + "9171": "WB 3000TL-21", + "9172": "WB 3600TL-21", + "9173": "WB 4000TL-21", + "9174": "WB 5000TL-21", + "9175": "SC 250", + "9176": "SMA Meteo Station", + "9177": "SB 240-10", + "9178": "SB 240-US-10", + "9179": "Multigate-10", + "9180": "Multigate-US-10", + "9181": "STP 20000TLEE-10", + "9182": "STP 15000TLEE-10", + "9183": "SB 2000TLST-21", + "9184": "SB 2500TLST-21", + "9185": "SB 3000TLST-21", + "9186": "WB 2000TLST-21", + "9187": "WB 2500TLST-21", + "9188": "WB 3000TLST-21", + "9189": "WTP 5000TL-20", + "9190": "WTP 6000TL-20", + "9191": "WTP 7000TL-20", + "9192": "WTP 8000TL-20", + "9193": "WTP 9000TL-20", + "9194": "STP 12000TL-US-10", + "9195": "STP 15000TL-US-10", + "9196": "STP 20000TL-US-10", + "9197": "STP 24000TL-US-10", + "9198": "SB 3000TL-US-22", + "9199": "SB 3800TL-US-22", + "9200": "SB 4000TL-US-22", + "9201": "SB 5000TL-US-22", + "9202": "WB 3000TL-US-22", + "9203": "WB 3800TL-US-22", + "9204": "WB 4000TL-US-22", + "9205": "WB 5000TL-US-22", + "9206": "SC 500CP-JP", + "9207": "SC 850CP", + "9208": "SC 900CP", + "9209": "SC 850 CP-US", + "9210": "SC 900 CP-US", + "9211": "SC 619CP", + "9212": "SMA Meteo Station", + "9213": "SC 800 CP-US", + "9214": "SC 630 CP-US", + "9215": "SC 500 CP-US", + "9216": "SC 720 CP-US", + "9217": "SC 750 CP-US", + "9218": "SB 240 Dev", + "9219": "SB 240-US BTF", + "9220": "Grid Gate-20", + "9221": "SC 500 CP-US/600V", + "9222": "STP 10000TLEE-JP-10", + "9223": "Sunny Island 6.0H", + "9224": "Sunny Island 8.0H", + "9225": "SB 5000SE-10", + "9226": "SB 3600SE-10", + "9227": "SC 800CP-JP", + "9228": "SC 630CP-JP", + "9229": "WebBox-30", + "9230": "Power Reducer Box", + "9231": "Sunny Sensor Counter", + "9232": "Sunny Boy Control", + "9233": "Sunny Boy Control Plus", + "9234": "Sunny Boy Control Light", + "9235": "Sunny Central 100 Outdoor", + "9236": "Sunny Central 1000MV", + "9237": "Sunny Central 100 LV", + "9238": "Sunny Central 1120MV", + "9239": "Sunny Central 125 LV", + "9240": "Sunny Central 150", + "9241": "Sunny Central 200", + "9242": "Sunny Central 200 HE", + "9243": "Sunny Central 250 HE", + "9244": "Sunny Central 350", + "9245": "Sunny Central 350 HE", + "9246": "Sunny Central 400 HE", + "9247": "Sunny Central 400MV", + "9248": "Sunny Central 500 HE", + "9249": "Sunny Central 500MV", + "9250": "Sunny Central 560 HE", + "9251": "Sunny Central 630 HE", + "9252": "Sunny Central 700MV", + "9253": "Sunny Central Betriebsführung", + "9254": "Sunny Island 3324", + "9255": "Sunny Island 4.0M", + "9256": "Sunny Island 4248", + "9257": "Sunny Island 4248U", + "9258": "Sunny Island 4500", + "9259": "Sunny Island 4548U", + "9260": "Sunny Island 5.4M", + "9261": "Sunny Island 5048U", + "9262": "Sunny Island 6048U", + "9263": "Sunny Mini Central 7000HV-11", + "9264": "Sunny Solar Tracker", + "9265": "Sunny Beam", + "9266": "Sunny Boy SWR 700/150", + "9267": "Sunny Boy SWR 700/200", + "9268": "Sunny Boy SWR 700/250", + "9269": "Sunny WebBox for SC", + "9270": "Sunny WebBox", + "9271": "STP 20000TLEE-JP-11", + "9272": "STP 10000TLEE-JP-11", + "9273": "SB 6000TL-21", + "9274": "SB 6000TL-US-22", + "9275": "SB 7000TL-US-22", + "9276": "SB 7600TL-US-22", + "9277": "SB 8000TL-US-22", + "9278": "Sunny Island 3.0M", + "9279": "Sunny Island 4.4M", + "9280": "Consumer external device", + "9281": "STP 10000TL-20", + "9282": "STP 11000TL-20", + "9283": "STP 12000TL-20", + "9284": "STP 20000TL-30", + "9285": "STP 25000TL-30", + "9286": "Sunny Central Storage 500", + "9287": "Sunny Central Storage 630", + "9288": "Sunny Central Storage 720", + "9289": "Sunny Central Storage 760", + "9290": "Sunny Central Storage 800", + "9291": "Sunny Central Storage 850", + "9292": "Sunny Central Storage 900", + "9293": "SB 7700TL-US-22", + "9294": "SB20.0-3SP-40", + "9295": "SB30.0-3SP-40", + "9296": "SC 1000 CP", + "9297": "Zeversolar 1000", + "9298": "Sunny Central 2200", + "9299": "Sunny Central 2200-US", + "9300": "Sunny Central 2475-EV", + "9301": "Sunny Boy 1.5", + "9302": "Sunny Boy 2.5", + "9303": "Sunny Boy 2.0", + "9304": "Sunny Boy 5.0", + "9305": "Sunny Boy 6.0", + "9306": "Sunny Boy 7.7", + "9307": "Energy Meter", + "9308": "Zone Monitoring", + "9309": "STP 27000TL-US-10", + "9310": "STP 30000TL-US-10", + "9311": "STP 25000TL-JP-30", + "9312": "SMA String Monitor", + "9313": "SB50.0-3SP-40", + "9314": "Plugwise Circle", + "9315": "Plugwise Stealth/Sting", + "9316": "Sunny Central Storage 1000", + "9317": "SB 5400TL-JP-22", + "9318": "Sunny Central Storage 1000 KRBS", + "9319": "Sunny Boy 3.0", + "9320": "Sunny Boy 3.6", + "9321": "Sunny Boy 4.0", + "9322": "Sunny Boy 5.0", + "9323": "Multicluster Box 12 2", + "9324": "Sunny Boy Storage 1.5", + "9325": "Sunny Boy Storage 2.0", + "9326": "Sunny Boy Storage 2.5", + "9327": "SMA Energy Meter", + "9328": "Sunny Boy 3.0", + "9329": "Sunny Boy 3.8", + "9330": "Sunny Boy 7.0", + "9331": "Sunny Island 3.0M", + "9332": "Sunny Island 4.4M", + "9333": "Sunny Island 6.0H", + "9334": "Sunny Island 8.0H", + "9335": "SMA Com Gateway", + "9336": "STP 15000TL-30", + "9337": "STP 17000TL-30", + "9338": "STP50-40", + "9339": "STP50-US-40", + "9340": "STP50-JP-40", + "9341": "Edimax SP-2101W", + "9342": "Edimax SP-2110W", + "9343": "Sunny Home Manager 2.0", + "9344": "SUNNY TRIPOWER 4.0", + "9345": "SUNNY TRIPOWER 5.0", + "9346": "SUNNY TRIPOWER 6.0", + "9347": "SUNNY TRIPOWER 8.0", + "9348": "SUNNY TRIPOWER 10.0", + "9349": "STP4.0-3SP-40", + "9350": "STP5.0-3SP-40", + "9351": "STP6.0-3SP-40", + "9352": "STP8.0-3SP-40", + "9353": "STP10.0-3SP-40", + "9354": "STP 24500TL-JP-30", + "9355": "STP 20000TL-JP-30", + "9356": "SBS3.7-10", + "9357": "No translation in Taglist for ID 9357", + "9358": "SBS5.0-10", + "9359": "SBS6.0-10", + "9360": "SBS3.8-US-10", + "9361": "SBS5.0-US-10", + "9362": "SBS6.0-US-10", + "9363": "SPS-SM40-1A", + "9364": "SBS5.0-JP-10", + "9365": "Edimax SP-2101W V2", + "9366": "STP3.0-3AV-40", + "9367": "STP3.0-3SP-40", + "9368": "TS4-M", + "9369": "TS4-S", + "9370": "TS4-O", + "9371": "TS4-L", + "9372": "Tigo_ES75", + "9373": "Tigo_2ES", + "9374": "Tigo_JBOX", + "9375": "Wattnode Modbus RTU", + "9376": "SunSpec Modbus RTU", + "9377": "SMA Gateway Interface Module", + "9378": "SMA Cellular Modem Module", + "9379": "Sunny Central 1850-US", + "9380": "Sunny Central 2500-US", + "9381": "Sunny Central 2940", + "9382": "Sunny Central 2940-US", + "9383": "Sunny Central Storage 2200", + "9384": "Sunny Central Storage 2500-EV", + "9385": "Sunny Central Storage 2500-EV-US", + "9386": "Sunny Central Storage 2200-US", + "9387": "Sunny Central 2750-EV", + "9388": "Sunny Central 2750-EV-US", + "9389": "Sunny Central Storage 2750-EV", + "9390": "Sunny Central Storage 2750-EV-US", + "9391": "Sunny Central Storage 2475", + "9392": "Sunny Central Storage 2475-US", + "9393": "SB / STP Demo", + "9394": "Tigo Gateway", + "9395": "Tigo Gateway 2", + "9396": "SMA DATA MANAGER M", + "9397": "EDMM-10", + "9398": "EDMM-US-10", + "9399": "EMETER-30", + "9400": "EDMS-US-10", + "9401": "Sunny Boy 3.0", + "9402": "Sunny Boy 3.6", + "9403": "Sunny Boy 4.0", + "9404": "Sunny Boy 5.0", + "9405": "Sunny Boy 6.0", + "9406": "SHP 100-20", + "9407": "SHP 150-20", + "9408": "SHP 125-US-20", + "9409": "SHP 150-US-20", + "9410": "SHP 100-JP-20", + "9411": "SHP 150-JP-20", + "9412": "Sunny Central 2475", + "9413": "Sunny Central 3000-EV", + "9414": "Sunny Central Storage 3000-EV", + "9415": "Sunny Central 1760-US", + "9416": "Sunny Central 2000-US", + "9417": "Sunny Central 2500-EV-10", + "9418": "Sunny Central Storage 1900", + "9419": "Sunny Central Storage 1900-US", + "9420": "Sunny Central Storage 2900", + "9421": "Sunny Central Storage 2900-US", + "9422": "Sunny Boy 3.0-US", + "9423": "Sunny Boy 3.8-US", + "9424": "Sunny Boy 4.8-US", + "9425": "Sunny Boy 5.8-US", + "9426": "Sunny Boy 4.4-JP", + "9427": "Sunny Boy 5.5-JP", + "9428": "STP62-US-41", + "9429": "STP50-US-41", + "9430": "STP33-US-41", + "9431": "STP50-41", + "9432": "STP50-JP-41", + "9433": "Sunny Central 2000-EV-US", + "9434": "SMA DATA MANAGER L", + "9435": "EDML-10", + "9436": "EDML-US-10", + "9437": "SMA Revenue Grade Meter", + "9438": "SMA SPOT", + "9439": "Sunny Boy 3.0-US", + "9440": "Sunny Boy 3.8-US", + "9441": "Sunny Boy 5.0-US", + "9442": "Sunny Boy 6.0-US", + "9443": "Sunny Boy 7.0-US", + "9444": "Sunny Boy 7.7-US", + "9445": "Sunny Boy 3.0-US", + "9446": "Sunny Boy 3.8-US", + "9447": "Sunny Boy 5.0-US", + "9448": "Sunny Boy 6.0-US", + "9449": "Sunny Boy 7.0-US", + "9450": "Sunny Boy 7.7-US", + "9451": "Solid-Q 15.0", + "9452": "Solid-Q 18.0", + "9453": "Solid-Q 20.0", + "9454": "Solid-Q 23.0", + "9455": "Sunny Boy 5.5-JP", + "9456": "Sunny Tripower Storage 60", + "9457": "Sunny Central 4000-UP", + "9458": "Sunny Central 4000-UP-US", + "9459": "Sunny Central Storage 3450-UP-XT", + "9460": "Sunny Central Storage 3450-UP-XT-US", + "9461": "Sunny Central 4200-UP", + "9462": "Sunny Central 4200-UP-US", + "9463": "Sunny Central Storage 3600-UP-XT", + "9464": "Sunny Central Storage 3600-UP-XT-US", + "9465": "Sunny Central 4400-UP", + "9466": "Sunny Central 4400-UP-US", + "9467": "Sunny Central Storage 3800-UP-XT", + "9468": "Sunny Central Storage 3800-UP-XT-US", + "9469": "Sunny Central 4600-UP", + "9470": "Sunny Central 4600-UP-US", + "9471": "Sunny Central Storage 3950-UP-XT", + "9472": "Sunny Central Storage 3950-UP-XT-US", + "9473": "SMA Energy Meter powered by ennexOS", + "9474": "SI4.4M-13", + "9475": "SI6.0H-13", + "9476": "SI8.0H-13", + "9477": "SHP 143-JP-20", + "9478": "FRITZ!DECT 200", + "9479": "FRITZ!DECT 210", + "9480": "Sunny Tripower 60", + "9481": "Sunny Tripower 60 Japan", + "9482": "Sunny Highpower PEAK1", + "9483": "EVC7.4-1AC-10", + "9484": "EVC22-3AC-10", + "9485": "Hybrid Controller", + "9486": "Sunny Island 5.0H-13", + "9487": "Sunny Boy Storage 4.0-JP", + "9488": "Sunny Tripower X 25", + "9489": "Sunny Tripower X 20", + "9490": "Sunny Tripower X 17", + "9491": "Sunny Tripower X 15", + "9492": "Sunny Tripower X 12", + "9493": "Sunny Tripower X 30-US", + "9494": "Sunny Tripower X 25-US", + "9495": "Sunny Tripower 24000TL-US-50", + "9496": "Sunny Tripower X 20-US", + "9497": "Sunny Tripower 15000TL-US-50", + "9498": "Sunny Tripower 12000TL-US-50", + "9499": "(UTC-AUTO) Automatic via SMA protocol", + "9500": "(UTC+04:30) Kabul", + "9501": "(UTC-09:00) Alaska", + "9502": "(UTC+03:00) Kuwait, Riyardh", + "9503": "(UTC+04:00) Abu Dhabi, Muskat", + "9504": "(UTC+03:00) Baghdad, Istanbul", + "9505": "(UTC-04:00) Atlantic (Canada)", + "9506": "(UTC+09:30) Darwin", + "9507": "(UTC+10:00) Canberra, Melbourne, Sydney", + "9508": "(UTC+04:00) Baku", + "9509": "(UTC-01:00) Azores", + "9510": "(UTC-06:00) Saskatchewan", + "9511": "(UTC-01:00) Cape Verde Islands", + "9512": "(UTC+04:00) Yerevan", + "9513": "(UTC+09:30) Adelaide", + "9514": "(UTC-06:00) Regina", + "9515": "(UTC+06:00) Astana, Dhaka", + "9516": "(UTC-04:00) Manaus", + "9517": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", + "9518": "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", + "9519": "(UTC+11:00) Magadan, Solomon Islands, New Caledonia", + "9520": "(UTC-06:00) Central America", + "9521": "(UTC-06:00) Guadalajara, Mexico City, Monterrary - Old", + "9522": "(UTC+08:00) Peking, Chongqing, Hongkong, Urumchi", + "9523": "(UTC-12:00) (Western) International Date Line", + "9524": "(UTC+03:00) Nairobi", + "9525": "(UTC+10:00) Brisbane", + "9526": "(UTC+02:00) Minsk", + "9527": "(UTC-03:00) Brasilia", + "9528": "(UTC-05:00) New York, Miami, Atlanta, Detroit, Toronto", + "9529": "(UTC+02:00) Cairo", + "9530": "(UTC+05:00) Jekaterinburg", + "9531": "(UTC+12:00) Fidschi, Marshall Islands", + "9532": "(UTC+02:00) Helsinki, Kiev, Riga, Sofia, Tallin, Wilna", + "9533": "(UTC+04:00) Tiflis", + "9534": "(UTC) Dublin, Edinburgh, Lisbon, London", + "9535": "(UTC-03:00) Greenland", + "9536": "(UTC) Monrovia, Reykjavík", + "9537": "(UTC+02:00) Athens, Bucharest, Istanbul", + "9538": "(UTC-10:00) Hawaii", + "9539": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", + "9540": "(UTC+03:30) Teheran", + "9541": "(UTC+02:00) Jerusalem", + "9542": "(UTC+02:00) Amman", + "9543": "(UTC+09:00) Seoul", + "9544": "(UTC+08:00) Kuala Lumpur, Singapore", + "9545": "(UTC-02:00) Central Atlantic", + "9546": "(UTC+02:00) Beirut", + "9547": "(UTC-07:00) Denver, Salt Lake City, Calgary", + "9548": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - old", + "9549": "(UTC+06:30) Yangon (Rangoon)", + "9550": "(UTC+06:00) Novosibirsk", + "9551": "(UTC+02:00) Windhoek", + "9552": "(UTC+05:45) Katmandu", + "9553": "(UTC+12:00) Auckland, Wellington", + "9554": "(UTC-03:30) Newfoundland", + "9555": "(UTC+08:00) Irkutsk", + "9556": "(UTC+07:00) Krasnoyarsk", + "9557": "(UTC-04:00) Santiago", + "9558": "(UTC-08:00) Pacific (USA, Canada)", + "9559": "(UTC-08:00) Tijuana, Baja California (Mexico)", + "9560": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", + "9561": "(UTC+03:00) Moskow, St. Petersburg, Volgograd", + "9562": "(UTC-03:00) Buenos Aires, Santiago", + "9563": "(UTC-05:00) Bogotá, Lima, Quito", + "9564": "(UTC-04:30) Caracas", + "9565": "(UTC-11:00) Midway Islands, Samoa", + "9566": "(UTC+07:00) Bangkok, Hanoi, Jakarta", + "9567": "(UTC+02:00) Harare, Pretoria", + "9568": "(UTC+05:30) Sri Jayawardenepura", + "9569": "(UTC+08:00) Taipeh", + "9570": "(UTC+10:00) Hobart", + "9571": "(UTC+09:00) Osaka, Sapporo, Tokyo", + "9572": "(UTC+13:00) Nuku'alofa", + "9573": "(UTC-05:00) Indiana (East)", + "9574": "(UTC-07:00) Arizona", + "9575": "(UTC+10:00) Vladivostok, Magadan", + "9576": "(UTC+08:00) Perth", + "9577": "(UTC+01:00) West.Centr.Africa", + "9578": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", + "9579": "(UTC+05:00) Islamabad, Karatschi", + "9580": "(UTC+10:00) Guam, Port Moresby", + "9581": "(UTC+09:00) Yakutsk", + "9582": "(UTC+04:00) Caucasian Standard Time", + "9583": "(UTC-06:00) Chicago, Dallas, Kansas City, Winnipeg", + "9584": "(UTC-06:00) Guadalajara, Mexico City, Monterrey - new", + "9585": "(UTC) Casablanca", + "9586": "(UTC+04:00) Port Louis", + "9587": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - new", + "9588": "(UTC-03:00) Montevideo", + "9589": "(UTC+05:00) Taschkent", + "9590": "(UTC+01:00) Casablanca", + "9591": "(UTC-04:00) Georgetown, La Paz, San Juan", + "9592": "(UTC+08:00) Ulan-Bator", + "9593": "(UTC-03:00) Cayenne", + "9594": "(UTC-04:00) Asuncion", + "9595": "(UTC+12:00) Petropavlovsk-Kamtschatski", + "9596": "(UTC+03:00) Minsk", + "9597": "(UTC+07:00) Novosibirsk", + "9598": "(UTC-04:00) Caracas", + "10001": "Total yield", + "10002": "Power", + "10003": "MPP scan procedure completed successfully", + "10004": "Estimated MPP power", + "10005": "Absorbed energy", + "10006": "Estimated AC MAX power", + "10007": "Maximum unsymmetric load", + "10008": "Fan 3 operating time", + "10009": "Number of events for user", + "10010": "Number of grid connections", + "10011": "Operating time", + "10012": "Feed-in time", + "10013": "Number of events for installer", + "10014": "Number of events for service", + "10015": "Total energy drawn from the grid by the device", + "10016": "Total amount of energy fed into the grid by device", + "10017": "Total operating time of device", + "10018": "Total feed-in time of device", + "10019": "Number of grid connections of the device", + "10020": "Fan operating time", + "10021": "Fan 2 operating time", + "10022": "Fan heat sink operating time", + "10023": "Fan transformer operating time", + "10024": "Fan transformer 2 operating time", + "10025": "Number of Flash write cycles", + "10026": "Number of events for developer", + "10027": "Current event number", + "10028": "Waiting time until feed-in", + "10029": "Load unbalance limit", + "10030": "Power", + "10031": "Power L1", + "10032": "Power L2", + "10033": "Power L3", + "10034": "Measurement interval", + "10035": "Grid voltage phase L1", + "10036": "Grid voltage phase L2", + "10037": "Grid voltage phase L3", + "10038": "Grid current", + "10039": "Grid current phase L1", + "10040": "Grid current phase L2", + "10041": "Grid current phase L3", + "10042": "Grid frequency", + "10043": "Reactive power", + "10044": "Reactive power L1", + "10045": "Reactive power L2", + "10046": "Reactive power L3", + "10047": "Apparent power", + "10048": "Apparent power L1", + "10049": "Apparent power L2", + "10050": "Apparent power L3", + "10051": "Operating condition residual current", + "10052": "Operating condition insulation resistance", + "10053": "Operating condition grid voltage", + "10054": "Operating condition grid voltage L1", + "10055": "Operating condition grid voltage L2", + "10056": "Operating condition grid voltage L3", + "10057": "Operating condition grid frequency", + "10058": "Operating condition power", + "10061": "Operating condition reactive power", + "10063": "Operating condition current", + "10064": "Operating condition current L1", + "10065": "Operating condition current L2", + "10066": "Operating condition current L3", + "10067": "Operating condition temperatures", + "10068": "Highest measured ambient temperature", + "10069": "Ambient temperature", + "10070": "Insolation", + "10071": "Diffuse insolation", + "10072": "Direct irradiation", + "10073": "Insolation on external sensor", + "10074": "Wind speed", + "10075": "Wind direction", + "10076": "Air humidity", + "10077": "Atmospheric pressure", + "10078": "Residual current", + "10079": "Insulation resistance", + "10080": "Serial number", + "10081": "Nominal power in Ok Mode", + "10082": "Nominal power in Warning Mode", + "10083": "Nominal power in Fault Mode", + "10085": "Recommended action \"contact manufacturer\"", + "10086": "Recommended action \"contact installer\"", + "10087": "External temperature", + "10088": "Highest measured external temperature", + "10089": "External temperature 2", + "10090": "Highest measured external temperature 2", + "10091": "Internal temperature", + "10092": "Highest measured internal temperature", + "10093": "Heat sink temperature", + "10094": "Highest measured heat sink temperature", + "10095": "Heat sink temperature 2", + "10096": "Highest measured heat sink temperature 2", + "10097": "Transformer temperature", + "10098": "Highest measured transformer temperature", + "10099": "Internal temperature", + "10100": "Highest measured internal temperature", + "10101": "Module temperature", + "10102": "Highest measured module temperature", + "10103": "Highest measured inverter temperature", + "10104": "Inverter temperature", + "10105": "Highest measured printed circuit board temperature", + "10106": "Printed circuit board temperature", + "10107": "Last GridGuard password", + "10108": "Intermediate circuit voltage", + "10109": "Current event number for manufacturer", + "10110": "Condition", + "10111": "Recommended action", + "10112": "Message", + "10113": "Fault correction measure", + "10114": "Grid relay/contactor", + "10115": "Reason for derating", + "10116": "DC voltage control type", + "10117": "Last GridGuard password", + "10118": "BMS type", + "10119": "Acknowledge fault", + "10120": "Remote control", + "10121": "Rated active power WMaxOutRtg", + "10122": "Memory card status", + "10123": "General operating mode", + "10124": "Fan test", + "10125": "Deactivation delay", + "10126": "Country standard set", + "10127": "Device name", + "10128": "Device class", + "10129": "Device type", + "10130": "Manufacturer", + "10134": "Set total operating time at grid connection point", + "10135": "Set total feed-in time at the grid connection pt.", + "10136": "Set fan operating time", + "10137": "Set fan2 operating time", + "10138": "Set heat sink fan operating time", + "10139": "Set transfomer fan operating time", + "10140": "Set transformer fan 2 operating time", + "10141": "Reset operating data", + "10142": "Set transformer fan 3 operating time", + "10143": "Load parameter", + "10144": "Memory card function", + "10145": "Start of derating based on external temperature", + "10146": "Start of derating based on external temperature 2", + "10147": "Start of derating based on interior temperature", + "10148": "Setpoint of the interior temperature", + "10149": "Start of derating based on heat sink temperature", + "10150": "Setpoint of the heat sink temperature", + "10151": "Start of derating based on heat sink temperature 2", + "10152": "Setpoint of the heat sink temperature 2", + "10153": "Start of derating based on transformer temperature", + "10154": "Setpoint of transformer temperature", + "10155": "Start of derating based on board temperature", + "10156": "Start of derating based on inverter temperature", + "10157": "Target address", + "10158": "Message interval", + "10159": "Set active power limit", + "10160": "Current power limit A", + "10161": "Power limit B", + "10162": "Power limit C", + "10163": "Power limitation", + "10164": "Phase assignment", + "10165": "Start. point of the power control via frequency", + "10166": "End point of the power control via frequency", + "10167": "Tripping threshold DC current monitoring", + "10168": "Tripping time DC current monitoring", + "10169": "Maximum duration of a short interruption", + "10170": "Reconnection time upon short interruption", + "10171": "Reconnection time after grid fault", + "10172": "Reconnection time upon restart", + "10173": "Escalation factor", + "10174": "Frequency monitoring upper maximum threshold", + "10175": "Frequency monitoring upper max. threshold trip. time", + "10176": "Frequency monitoring median maximum threshold", + "10177": "Frq. monitoring median max. threshold trip. time", + "10178": "Frequency monitoring, lower maximum threshold", + "10179": "Frequency monitoring, lower max. threshold trip. time", + "10180": "Frequency monitoring upper minimum threshold", + "10181": "Frequency monitoring, upper min. threshold trip. time", + "10182": "Frequency monitoring median minimum threshold", + "10183": "Frq. monitoring median min. threshold trip. time", + "10184": "Frequency monitoring, lower minimum threshold", + "10185": "Frequency monitoring, lower min. threshold trip. time", + "10186": "Voltage monitoring upper maximum threshold", + "10187": "Voltage monitoring upper max. threshold trip. time", + "10188": "Voltage monitoring median maximum threshold", + "10189": "Voltage monitoring, median max. threshold trip.time", + "10190": "Voltage monitoring lower maximum threshold", + "10191": "Voltage monitoring, lower max. threshold trip. time", + "10192": "Voltage monitoring upper minimum threshold", + "10193": "Voltage monitoring, lower min. threshold trip. time", + "10194": "Voltage monitoring of median minimum threshold", + "10195": "Voltage monitoring, median min. threshold trip.time", + "10196": "Voltage monitoring lower minimum threshold", + "10197": "Voltage monitoring, lower min. threshold trip. time", + "10198": "Voltage increase protection", + "10199": "Maximum grid current", + "10200": "Maximum Bluetooth power", + "10201": "Set country standard", + "10202": "Ground connection monitoring", + "10203": "Minimum insulation resistance", + "10204": "Production test mode", + "10205": "Underlying country standard", + "10207": "Data recording on memory card", + "10209": "DC voltage input", + "10210": "DC voltage A input", + "10211": "DC voltage B input", + "10212": "DC voltage C input", + "10213": "DC current input", + "10214": "DC current A input", + "10215": "DC current B input", + "10216": "DC current C input", + "10217": "DC power input", + "10218": "DC power A input", + "10219": "DC power B input", + "10220": "DC power C input", + "10221": "Operating condition DC current input", + "10222": "Operating condition DC voltage input", + "10223": "Operating condition DC power input", + "10224": "Highest measured DC voltage", + "10225": "Maximum DC voltage A", + "10226": "Maximum DC voltage B", + "10227": "Maximum DC voltage C", + "10228": "DC current A input", + "10229": "DC current A input", + "10230": "DC current A input", + "10231": "DC current A input", + "10232": "DC current A input", + "10233": "DC current B input", + "10241": "Start delay input", + "10242": "Minimum voltage input", + "10243": "Maximum allowed voltage input", + "10244": "Maximum allowed voltage input A", + "10245": "Maximum allowed voltage input B", + "10246": "Maximum allowed voltage input C", + "10247": "Constant voltage setpoint", + "10248": "Constant voltage setpoint A", + "10249": "Constant voltage setpoint B", + "10250": "Constant voltage setpoint C", + "10257": "Grid nominal voltage", + "10258": "Communication version", + "10259": "Set total yield", + "10260": "Set absorbed energy", + "10261": "Set highest measured ambient temperature", + "10263": "Set highest measured internal temperature", + "10264": "Set highest measured heat sink temperature", + "10265": "Set highest measured heat sink temperature 2", + "10266": "Set highest measured transformer temperature", + "10267": "Set highest measured inverter temperature", + "10268": "Set highest measured PCB temperature", + "10269": "Set highest measured external temperature", + "10270": "Set highest measured external temperature 2", + "10272": "Daily yield", + "10273": "Set number of grid connections", + "10274": "Temporal control of the power limitation", + "10275": "Reset operating data (for Service)", + "10276": "Set highest measured module temperature", + "10277": "Reset measured values", + "10278": "System time", + "10283": "Checking firmware", + "10284": "Set user password", + "10285": "Set installer password", + "10286": "Set service password", + "10287": "Set developer password", + "10288": "Number of PV system detections", + "10289": "Time of the last detection", + "10290": "Hardware on Interface 1", + "10291": "Hardware on Interface 2", + "10292": "Hardware on Interface 3", + "10293": "System password", + "10294": "Manufacturer", + "10295": "BMS type", + "10297": "DHCP DNS Server IP", + "10298": "DHCP Gateway IP", + "10299": "DHCP IP address", + "10300": "DHCP server configuration owner", + "10301": "DHCP Subnet mask", + "10302": "WAN IP", + "10303": "Provider IP", + "10304": "Heating mode", + "10305": "OK to use grid power for heating mode", + "10306": "Daylight Saving Time on", + "10308": "Date format of the user interface", + "10309": "Language of the user interface", + "10310": "Units of length of the user interface", + "10311": "Number format of the user interface", + "10312": "Unit of temperature of the user interface", + "10313": "Time format of the user interface", + "10314": "Standard/Daylight saving time conversion on", + "10315": "Automatic time synchronization", + "10316": "Time zone", + "10317": "Automatic updates activated", + "10318": "Time of the automatic update", + "10319": "Device updates activated", + "10320": "Ethernet DHCP activated", + "10321": "Ethernet DNS server", + "10322": "Ethernet gateway", + "10323": "Ethernet IP address", + "10324": "Ethernet subnet mask", + "10325": "Ethernet NAT port", + "10326": "Ethernet proxy activated", + "10327": "Ethernet proxy server login", + "10328": "Ethernet proxy server port", + "10329": "Ethernet proxy server password", + "10330": "Ethernet proxy server address", + "10331": "Web service Port", + "10332": "HTTP server port", + "10333": "Test modem connection", + "10334": "GPRS-APN", + "10335": "Dial-in number for modem connection", + "10336": "Password for modem connection", + "10337": "Modem SIM Card PIN", + "10338": "Test modem signal strength", + "10339": "Upload data to the portal", + "10340": "Result of the last upload", + "10341": "Test the connection to the portal", + "10342": "Result of the last connection test", + "10343": "Register", + "10344": "Result of the last registration", + "10345": "Portal user name", + "10346": "Email address of portal user", + "10347": "PV system name in portal", + "10348": "PV system ID in portal", + "10349": "Use Sunny Portal", + "10350": "Frequency of data uploads to the portal", + "10351": "Status of the last SunnyDNS operation", + "10352": "SunnyDNS active", + "10353": "SunnyDNS Password", + "10354": "FTP Push active", + "10355": "FTP Push: Connection test", + "10356": "FTP Push Login", + "10357": "FTP Push server Port", + "10358": "FTP Push Password", + "10359": "FTP Push Server Address", + "10360": "FTP server activated", + "10361": "Write access to FTP server allowed", + "10362": "GPRS-Always-On active", + "10363": "Firmware version of the module", + "10364": "Hardware version of the module", + "10365": "Revision status of the module", + "10366": "Update version of the module", + "10367": "Serial number of the module", + "10368": "SUSyID of the module", + "10372": "Device number", + "10373": "Software package", + "10374": "Find device", + "10375": "Firmware version of the main processor", + "10376": "Hardware version of the main processor", + "10377": "Revision status of the main processor", + "10378": "Update version of the main processor", + "10379": "Serial number of the main processor", + "10380": "SUSyID of the main processor", + "10381": "Firmware version of the communication assembly", + "10382": "Hardware version of the communication assembly", + "10383": "Revision status of the communication assembly", + "10384": "Update version of the communication assembly", + "10385": "Serial number of the communication assembly", + "10386": "SUSyID of the communication assembly", + "10387": "Firmware version of the residual current mon. unit", + "10388": "Hardware version of the residual current mon. unit", + "10389": "Revision status of the residual current mon. unit", + "10390": "Update version of the residual current mon. unit", + "10391": "Serial number of residual current monitoring unit", + "10392": "SUSyID of the residual current monitoring unit", + "10393": "Firmware version of the display", + "10394": "Hardware version of the display", + "10395": "Revision status of the display", + "10396": "Update version of the display", + "10397": "Serial number of the display", + "10398": "SUSyID of the display", + "10399": "Firmware version of the logic component", + "10400": "Hardware version of the logic component", + "10401": "Revision status of the logic component", + "10402": "Update version of the logic component", + "10403": "Serial number of the logic component", + "10404": "SUSyID of the logic component", + "10405": "Firmware version of the RS485 Module", + "10406": "Hardware version of the RS485 module", + "10407": "Revision status of the RS485 module", + "10408": "Update version of the RS485 module", + "10409": "Serial number of the RS485 module", + "10410": "SUSyID of the RS485 module", + "10411": "Firmware version of the Zigbee components", + "10412": "Hardware version of the Zigbee components", + "10413": "Revision status of the Zigbee components", + "10414": "Update version of the Zigbee components", + "10415": "Serial number of the Zigbee components", + "10416": "SUSyID of the Zigbee components", + "10417": "Firmware version of the Bluetooth component", + "10418": "Hardware version of the Bluetooth component", + "10419": "Revision status of the Bluetooth component", + "10420": "Update version of the Bluetooth component", + "10421": "Serial number of the Bluetooth component", + "10422": "SUSyID of the Bluetooth component", + "10423": "Firmware version of the operating system", + "10424": "Hardware version of the operating system", + "10425": "Revision status of the operating system", + "10426": "Update version of the operating system", + "10427": "Serial number of the operating system", + "10428": "SUSyID of the operating system", + "10429": "PV system name", + "10430": "Sunny Portal server address", + "10431": "Difference PV system time/system time", + "10432": "Number of S0 impulses", + "10433": "Consumed energy", + "10434": "Number of Resets", + "10435": "Power absorbed", + "10436": "Reset operating data for string failure detection", + "10437": "Operating mode of string failure detection", + "10438": "Operating mode of static voltage stability, configuration of static voltage stability", + "10439": "Operating mode active power setting", + "10440": "Operating mode of active power reduction in case of overfrequency P(f)", + "10441": "Status, PV system control", + "10443": "Difference until next characteristic curve value", + "10444": "Difference until next charact. curve value Time", + "10445": "Nominal voltage offset", + "10446": "Gradient of reactive power characteristic curve", + "10447": "Reactive power mode at power input", + "10448": "Manual reactive power setting for active power output", + "10449": "Manual reactive power setting for active power output", + "10451": "Reactive power value starting point", + "10452": "Active power value starting point", + "10453": "Reactive power value end point", + "10454": "Active power value end point", + "10455": "cos φ setpoint, cos φ config., direct specif.", + "10456": "cos φ excit.type, cos φ config., direct spec.", + "10457": "Excit. type at start point, cos φ(P) char. conf.", + "10458": "cos φ at start point, cos φ(P) char. config.", + "10459": "Active power starting point", + "10460": "Excit. type at end point, cos φ(P) char. config.", + "10461": "cos φ at end point, cos φ(P) char. config.", + "10462": "Active power end point", + "10463": "Active power limitation P, active power configuration", + "10464": "Active power limitation P, active power configuration", + "10466": "Difference between starting frequency and grid frequency, linear instantaneous power gradient configuration", + "10467": "Active power gradient, linear instantaneous power gradient configuration", + "10468": "Difference between reset frequency and grid frequency, linear instantaneous power gradient configuration", + "10469": "Activation of stay-set indicator function, linear instantaneous power gradient configuration", + "10471": "Current reactive power limit", + "10472": "Max. reactive power", + "10473": "Currently set apparent power limit", + "10474": "Maximum apparent power device", + "10475": "Current cos φ limit", + "10476": "Min. cos φ", + "10477": "Reconnect gradient after grid fault", + "10478": "Soft start-up P after grid fault", + "10479": "Active power gradient", + "10480": "Activation of active power gradient", + "10481": "Firmware version of string protection", + "10482": "Hardware version of string protection", + "10483": "Revision status of the string protection", + "10484": "Update version of the string protection", + "10485": "String protection serial number", + "10486": "SUSyID of string protection", + "10487": "Status, device control", + "10488": "Normalized total apparent power", + "10489": "Boost converter temperature", + "10490": "Highest measured boost converter temperature", + "10491": "Boost converter 2 temperature", + "10492": "Highest measured boost converter 2 temperature", + "10493": "Start boost converter temperature derating", + "10494": "Set highest measured boost converter temperature", + "10495": "Set highest measured boost converter temperature 2", + "10496": "Maximum allowable phase shift", + "10497": "Tripping time when exceeding max. phase shift", + "10498": "Frequency monitoring, max. frequency change per second", + "10499": "Frequency monitoring, maximum frequency change tripping time", + "10500": "Minimum switching frequency", + "10501": "Maximum switching frequency", + "10502": "Nominal frequency", + "10503": "Calibration voltage", + "10504": "Calibration status", + "10505": "Selection of the voltage(s) to be calibrated", + "10506": "Maximum module ground current", + "10507": "Tripping time maximum module ground current", + "10508": "Module grounding prescribed?", + "10509": "Prescribed module grounding type", + "10510": "Module grounding status", + "10511": "Firmware version of protocol converter", + "10512": "Hardware version of protocol converter", + "10513": "Revision status of the protocol converter", + "10514": "Update version of the protocol converter", + "10515": "Serial number of the protocol converter", + "10516": "SUSyID of protocol converter", + "10517": "Set PV system time", + "10518": "Synchronize time with time server", + "10519": "Syslog service activated until", + "10520": "external transformer", + "10521": "Primary current", + "10522": "Secondary current", + "10583": "Reactive power limitation by PV system control", + "10584": "Standardized reactive power setpoint by system control", + "10585": "Active power limitation by PV system control", + "10586": "Normalized active power limitation by PV system control", + "10587": "External cos φ setpoint specification, cos φ setpoint for active power output", + "10588": "External cos φ setpoint specification, excitation type for active power output", + "10589": "Timeout for communication error indication", + "10590": "Measurement name in local language", + "10591": "Events in local language", + "10610": "Cycle time of SMA ShadeFix", + "10611": "Power limit of SMA ShadeFix", + "10612": "SMA ShadeFix", + "10637": "Setpoint for PV voltage", + "10638": "Derating status", + "10639": "Setpoint for intermediate circuit voltage", + "10640": "Path for update file", + "10641": "DAA type ID", + "10642": "S0 impulses/kWh", + "10643": "Number of S0 impulses", + "10644": "S0 counter status total yield", + "10645": "S0 energy yield", + "10646": "Active power gradient", + "10647": "RAA type ID", + "10648": "Min. voltage for reconnection", + "10649": "Max. voltage for reconnection", + "10650": "Specified voltage UQ0, reactive power/voltage characteristic curve configuration Q(V)", + "10651": "Symmetrical limit for maximum reactive power, reactive power/voltage characteristic curve configuration Q(V)", + "10652": "Voltage spread, reactive power/voltage characteristic curve configuration Q(V)", + "10653": "Reactive power gradient, reactive power/voltage characteristic curve configuration Q(V)", + "10654": "Adjustment time for characteristic operating point, reactive power/voltage characteristic curve configuration Q(V)", + "10655": "Act. power at start point, cos φ(P) char. config.", + "10656": "Act. power at end point, cos φ(P) char. config.", + "10657": "Software package update version available", + "10658": "PWM inverse voltage, dynamic grid support configuration for PM overvoltage", + "10659": "PWM inversion delay, dynamic grid support configuration for PM overvoltage", + "10660": "Grid nominal voltage", + "10661": "Reactive power gradient", + "10662": "Reference correction voltage, PV system control", + "10663": "PWM inverse voltage, dynamic grid support configuration", + "10664": "PWM inversion delay, dynamic grid support configuration", + "10665": "Dynamic grid support, reactive current static", + "10666": "Gradient K or reactive current droop, full dynamic grid support configuration", + "10667": "Check for update and install it", + "10668": "Hysteresis voltage, dynamic grid support configuration", + "10669": "CPU monitor", + "10670": "CPU load", + "10671": "FTP Push server path", + "10672": "IRE status", + "10673": "Number of DC disconnects", + "10674": "Lower limit, voltage dead band, full dynamic grid support configuration", + "10675": "Upper limit, voltage dead band, full dynamic support configuration", + "10676": "Result of the last FTP-Push connection test", + "10677": "Dynamic grid support, operating mode", + "10678": "Target version of the software package", + "10679": "Update version of the software package", + "10680": "Measures in the case of a grounding error", + "10681": "FTP Push: measurement name in local language", + "10682": "FTP Push: data export in CSV format", + "10683": "FTP Push: data export in XML format", + "10684": "Data export in CSV format", + "10685": "Data export in XML format", + "10686": "Displacement power factor", + "10687": "Reactive power droop mode, reactive power/voltage characteristic curve configuration Q(V)", + "10688": "Islanding detection, status of frequency monitor", + "10689": "Islanding detection, tripping time of the frequency monitor", + "10690": "Islanding detection, status of the unbalance detection", + "10691": "Islanding detection, permissible grid unbalance", + "10692": "Islanding detection, tripping time of the unbalance detection", + "10693": "Operating mode of multifunction relay", + "10694": "Minimum On time for MFR self-consumption", + "10695": "Minimum On power for MFR self-consumption", + "10696": "Minimum power On time, MFR self-consumption", + "10697": "Initiate device restart", + "10698": "Status of MFR with control via communication", + "10699": "Constant deviation from power calculation", + "10700": "Pre-expon. factor of power consumption acc. to Udc", + "10701": "Pre-expon. factor of power cons. acc. to Udc^2", + "10702": "Pre-expon. factor of power cons. Acc. to Udc^3", + "10703": "Proportionate factor of power control", + "10704": "Integral factor of power control", + "10705": "Differential factor of power control", + "10706": "Critical voltage to end feed-in", + "10707": "Minimum On power for MFR battery bank", + "10708": "Minimum time before reconnection of MFR battery bank", + "10710": "Displacement power factor", + "10711": "Excitation type of cos φ", + "10712": "Energy counter type", + "10713": "PV generation counter reading", + "10714": "Grid feed-in counter reading", + "10715": "Counter reading of power drawn counter", + "10716": "PV power generated", + "10717": "Power grid feed-in", + "10718": "Power drawn", + "10719": "Perm. grid-frequency deviation of islanding detection", + "10720": "Current pulse height of islanding detection", + "10721": "Max. impedance gradient of islanding detection", + "10722": "Status of impedance of islanding detection", + "10723": "Amplitude of islanding detection", + "10724": "Frequency of islanding detection", + "10725": "Status of passive islanding detection", + "10726": "Voltage monitoring normalized lower maximum threshold", + "10727": "Voltage monitoring normalized upper minimum threshold", + "10728": "Norm. max. voltage for reconnecting", + "10729": "Norm. min. voltage for reconnecting", + "10730": "Correction voltage, voltage increase protection", + "10731": "CO2-saving", + "10732": "Factor for CO2-saving", + "10733": "Grid type", + "10734": "Grid impedance", + "10735": "Central point of P-coordinates turbine mode", + "10736": "Lower voltage limit feed-in, turbine mode", + "10737": "Central point of U-coordinates turbine mode", + "10738": "End point of U-coordinates turbine mode", + "10739": "Start point of U-coordinates turbine mode", + "10740": "Power gradient for start-up, turbine mode", + "10741": "Ripple control signal detection threshold", + "10742": "Ripple control signal detection frequency", + "10743": "Ripple control signal detection operating mode", + "10744": "Ground voltage", + "10745": "DC converter HW version", + "10746": "DC converter SW version", + "10747": "Backup mode operating mode", + "10748": "Backup mode status", + "10749": "PowerBalancer operating mode", + "10750": "Max. load unbalance for PowerBalancer", + "10751": "S0-pulses PV feed-in counter", + "10752": "S0-pulses PV feed-in counter", + "10753": "S0-pulses power drawn counter", + "10754": "GridGuard version", + "10756": "Load power", + "10757": "Total increased self-consumption", + "10758": "Today's increased self-consumption", + "10759": "Plant mains connection", + "10760": "Power supply status", + "10761": "Number of battery charge throughputs", + "10763": "Lower discharge limit for self-consumption increase", + "10764": "SSM Id for the comm. fault has occurred", + "10765": "SMU warning code for string fault", + "10766": "Status of signal contact 1", + "10767": "Status of signal contact 2", + "10768": "Operating mode of the device update", + "10769": "Update source of the device update", + "10770": "Status of the device update", + "10771": "Transmission attempts of a device update", + "10772": "Time of last transm. attempt of a device update", + "10773": "S0 pulses per kWh for PV generation counter", + "10774": "S0 pulses per kWh for feed counter", + "10775": "S0 pulses per kWh for power drawn counter", + "10776": "Update operating mode", + "10777": "Status after loss of communication in autom. mode", + "10778": "Status after switching on automatic", + "10779": "Status of the grid switch", + "10781": "Automatic mode of the grid switch", + "10782": "Timeout after loss of communication", + "10783": "Starting current detection", + "10784": "Gradient K of the reactive current droop, full dynamic grid support configuration", + "10786": "Meter reading consumption meter", + "10788": "Grid voltage phase L1 against L2", + "10789": "Offset to AC current", + "10790": "Set supplied energy", + "10791": "Set absorbed energy", + "10792": "Logical flow direction phase L1", + "10793": "Logical flow direction phase L2", + "10795": "Grid disconnection for 0% active power setting", + "10796": "Characteristic curve number of the PV system control procedure P(V)", + "10797": "Adjustment time of characteristic operating point, conf. of grid integr. char. 1", + "10798": "Decrease ramp, conf. of grid integr. char. 1", + "10799": "Increase ramp, conf. of grid integr. char. 1", + "10800": "Number of points to be used, conf. of grid integr. char. 1", + "10801": "X value 1, conf. of grid integr. char. 1", + "10802": "Y value 1, conf. of grid integr. char. 1", + "10803": "X value 2, conf. of grid integr. char. 1", + "10804": "Y value 2, conf. of grid integr. char. 1", + "10805": "X value 3, conf. of grid integr. char. 1", + "10806": "Y value 3, conf. of grid integr. char. 1", + "10807": "X value 4, conf. of grid integr. char. 1", + "10808": "Y value 4, conf. of grid integr. char. 1", + "10809": "X value 5, conf. of grid integr. char. 1", + "10810": "Y value 5, conf. of grid integr. char. 1", + "10811": "X value 6, conf. of grid integr. char. 1", + "10812": "Y value 6, conf. of grid integr. char. 1", + "10813": "P(f), active power change rate after fault end", + "10814": "Soft start-up rate P", + "10815": "Increase rate in case of insolation change", + "10818": "E-mail alert function on", + "10820": "E-mail address(es) for alert", + "10821": "Test e-mail for e-mail alert", + "10824": "Modbus TCP server on", + "10825": "Modbus TCP server port", + "10826": "Modbus UDP server on", + "10827": "Modbus UDP server port", + "10828": "DHCP server switched on", + "10829": "Speedwire DHCP server start IP address", + "10830": "Speedwire DHCP server end IP address", + "10831": "Speedwire DHCP server subnet mask", + "10832": "Speedwire DHCP server IP address", + "10833": "Time synchronization source", + "10834": "NTP server", + "10837": "Analogue current input 1 (AI1)", + "10838": "Analogue current input 2 (AI2)", + "10839": "Analogue current input 3 (AI3)", + "10840": "Analogue voltage input 1 (AI1)", + "10842": "AFCI switched on", + "10843": "Set energy taken up by loads", + "10844": "Conn. point of counter on measuring interface 1", + "10845": "Conn. point of counter on measuring interface 2", + "10846": "Conn. point of counter on measuring interface 3", + "10847": "Type of counter on measuring interface 1", + "10848": "Type of counter on measuring interface 2", + "10849": "Type of counter on measuring interface 3", + "10850": "Logical flow direction phase L3", + "10851": "Activate island mode", + "10852": "Char. of insolation sensor - min. insolation", + "10853": "Char. of insolation sensor - max. insolation", + "10854": "Char. of insolation sensor - min. measurement", + "10855": "Char. of insolation sensor - max. measurement", + "10856": "Free memory on USB medium", + "10857": "Free memory on USB medium 2", + "10858": "Fast shut-down", + "10859": "Energy fed into grid (today)", + "10860": "Energy drawn today", + "10861": "Main processor type", + "10862": "Type of communication assembly", + "10863": "Type of residual current monitoring", + "10864": "Type of display", + "10865": "Type of logic component", + "10866": "Type of RS485 module", + "10867": "Type of Zigbee components", + "10868": "Type of Bluetooth component", + "10869": "Type of operating system", + "10870": "Type of string protection", + "10871": "Type of protocol converter", + "10872": "Type of module in module slot", + "10873": "Key switch", + "10874": "Local time", + "10875": "DC switch", + "10876": "Error message DC switch", + "10877": "String status", + "10878": "Speedwire connection status of SMACOM A", + "10879": "Connection speed of SMACOM A", + "10880": "Speedwire connection status of SMACOM B", + "10881": "Connection speed of SMACOM B", + "10882": "Current speedwire IP address", + "10883": "Current speedwire subnet mask", + "10884": "Current speedwire gateway address", + "10885": "Current speedwire DNS server address", + "10886": "Status of the Webconnect functionality", + "10887": "Webconnect functionality switched on", + "10888": "MAC address", + "10889": "Automatic speedwire configuration switched on", + "10890": "Speedwire IP address", + "10891": "Speedwire subnet mask", + "10892": "Speedwire gateway address", + "10893": "Speedwire DNS server address", + "10894": "Power PV generation (caluclated)", + "10895": "Counter status PV generation counter (calculated)", + "10896": "Duplex mode of SMACOM A", + "10897": "Duplex mode of SMACOM B", + "10898": "Amp hours counter for battery charge", + "10899": "Amp hours counter for battery discharge", + "10900": "Active battery charging mode", + "10901": "Current generator power", + "10902": "Battery maint. state of charge", + "10903": "Current battery state of charge", + "10904": "Battery temperature", + "10905": "Battery voltage", + "10906": "Absorbed energy", + "10907": "Released energy", + "10908": "Automatic generator start", + "10909": "Reason for generator request", + "10910": "Generator output energy", + "10911": "Manual generator control", + "10912": "Generator operating hours", + "10913": "Limit battery state of charge gen. shutdown in time range", + "10914": "Limit battery state of charge generator start in time range", + "10915": "Number of generator starts", + "10916": "Grid forming generator", + "10917": "Multifunction relay status", + "10918": "Energy consumed internally", + "10919": "Current rise in self-consumption", + "10920": "Current self-consumption", + "10921": "Current battery capacity", + "10922": "Battery current", + "10923": "Battery boost charge time", + "10924": "Battery equalization charge time", + "10925": "Battery full charge time", + "10926": "Max. start attempts after error", + "10927": "Max. battery charging current", + "10928": "Current battery charging set voltage", + "10929": "Battery nominal capacity", + "10930": "Max. battery temperature", + "10931": "Battery type", + "10932": "Nominal battery voltage", + "10933": "Acknowledge generator errors", + "10934": "Nominal generator current", + "10935": "Generator request via power on", + "10936": "Generator shutdown load limit", + "10937": "Generator startup load limit", + "10938": "Generator status", + "10939": "Rise in self-consumption switched on", + "10940": "Grid feed-in today", + "10941": "Power outage", + "10942": "Number of DC current measurement units", + "10943": "Free memory on USB medium 1", + "10944": "External measurement of the insulation resistance", + "10945": "IP address of the SMTP server", + "10946": "SMTP server port", + "10947": "User name for registration on the SMTP server", + "10948": "Password for registration on SMTP server", + "10949": "Type of password encryption", + "10950": "Synchronise with time synchronization source", + "10951": "SSH switched on", + "10952": "IGMP switched on", + "10953": "Speedwire Group", + "10954": "Analogue current input 4", + "10955": "Analogue voltage input 2", + "10956": "Analogue voltage input 3", + "10957": "Analogue voltage input 4", + "10958": "Encrypt portal communication", + "10959": "Portal communication monitoring signal", + "10960": "Last successful portal upload", + "10961": "Hardware ID", + "10962": "Data logging on monitoring server", + "10963": "Remove device", + "10964": "Remove all devices", + "10965": "WebConnect system environment", + "10966": "Wind direction", + "10967": "Reset communication data", + "10968": "Alarm at active power limit", + "10969": "Alarm at reactive power specification", + "10970": "Result of the last e-mail dispatch", + "10971": "X value 7, conf. of grid integr. char. 1", + "10972": "Y value 7, conf. of grid integr. char. 1", + "10973": "X value 8, conf. of grid integr. char. 1", + "10974": "Y value 8, conf. of grid integr. char. 1", + "10975": "Characteristic number, conf. of reactive power/voltage char. Q(V)", + "10976": "Activating active power, conf. of reactive power/voltage char. Q(V)", + "10977": "Deactivating active power, conf. of reactive power/voltage char. Q(V)", + "10978": "P(f), lag time", + "10979": "Activating voltage, cos φ(P) char. conf.", + "10980": "Deactivating voltage, cos φ(P) char. conf.", + "10981": "X-axes reference, conf. of grid integration char. 1", + "10982": "Y-axes reference, conf. of grid integration char. 1", + "10983": "Adjustment time of char. operating point, conf. of grid integration char. 2", + "10984": "Decrease ramp, conf. of grid integration char. 2", + "10985": "Increase ramp, conf. of grid integration char. 2", + "10986": "Number of points to be used, conf. of grid integr. char. 2", + "10987": "Input unit, conf. of grid integration char. 2", + "10988": "Output frequency, conf. of grid integration char. 2", + "10989": "X value 1, conf. of grid integr. char. 2", + "10990": "X value 2, conf. of grid integr. char. 2", + "10991": "X value 3, conf. of grid integr. char. 2", + "10992": "X value 4, conf. of grid integr. char. 2", + "10993": "X value 5, conf. of grid integr. char. 2", + "10994": "X value 6, conf. of grid integr. char. 2", + "10995": "X value 7, conf. of grid integr. char. 2", + "10996": "X value 8, conf. of grid integr. char. 2", + "10997": "Y value 1, conf. of grid integr. char. 2", + "10998": "Y value 2, conf. of grid integr. char. 2", + "10999": "Y value 3, conf. of grid integr. char. 2", + "11000": "Y value 4, conf. of grid integr. char. 2", + "11001": "Y value 5, conf. of grid integr. char. 2", + "11002": "Y value 6, conf. of grid integr. char. 2", + "11003": "Y value 7, conf. of grid integr. char. 2", + "11004": "Y value 8, conf. of grid integr. char. 2", + "11005": "Speedwire connection status of SMACOM C", + "11006": "Connection speed of SMACOM C", + "11007": "Speedwire connection status of SMACOM D", + "11008": "Connection speed of SMACOM D", + "11009": "Duplex mode of SMACOM C", + "11010": "Duplex mode of SMACOM D", + "11011": "Operating mode of power control module", + "11012": "Status of digital inputs of power control module", + "11013": "Lower frequency limit prior to end of active power reduction, linear instant. power gradient conf.", + "11014": "Upper frequency limit prior to end of active power reduction, linear instant. power gradient conf.", + "11015": "Goose application ID", + "11016": "Frequency monitoring switchable max. threshold", + "11017": "Frequency monit. switchable max. threshold tripping time", + "11018": "Frequency monitoring switchable min. threshold", + "11019": "Frequency monit. switchable min. threshold tripping time", + "11020": "Operating mode of frequency restriction", + "11021": "Source of quick shut-down", + "11022": "Frequency monitoring switchable max. threshold", + "11023": "Alarm upon warnings", + "11024": "Alarm e-mail languages", + "11025": "Alternative e-mail sender address (optional)", + "11026": "reaction of excitation to changes in direction of active power", + "11027": "Normalized active power limitation by PV system control", + "11028": "Extern. reactive power mode", + "11029": "Digital input group 1 (DI1 .. DI4)", + "11030": "Digital input group 2 (DI5 .. DI8)", + "11031": "Grid voltage phase L2 against L3", + "11032": "Grid voltage phase L3 against L1", + "11033": "Power unit supplies data", + "11034": "Voltage increase protection trigger time", + "11035": "Goose-Mac address", + "11036": "Grid connection point rated current", + "11037": "Active power specif. by PV system control", + "11038": "Reactive power specif. by PV system control", + "11039": "Active power limitation by PV system control", + "11040": "General operating status", + "11041": "RCD adjustment", + "11042": "Sunny portal port", + "11043": "Nominal PV system power", + "11044": "Operating mode of act. power limit. at grid connection pt", + "11045": "Dynamic act. power limitat. at grid connection pt", + "11046": "Set active power limit at grid connection point", + "11047": "Set active power limit at grid connection point", + "11048": "PV system control ON", + "11050": "Number of section switches", + "11051": "Time to open the section switches", + "11052": "Time to close section switches", + "11053": "Generator operating hours", + "11054": "Generator output energy", + "11055": "Current generator performance", + "11056": "Battery discharge cut-off voltage", + "11057": "Maximum battery charging current", + "11058": "Maximum battery discharge current", + "11059": "Status of utility grid", + "11060": "Cell charge nominal voltage for boost charge", + "11061": "Cell charge nominal voltage for full charging", + "11062": "Cell charge nominal voltage for equalization charge", + "11063": "Cell charge nominal voltage for float charge", + "11064": "Voltage monitoring hysteresis minimum threshold", + "11065": "Voltage monitoring hysteresis maximum threshold", + "11066": "Frequency monitoring hysteresis minimum threshold", + "11067": "Frequency monitoring hysteresis maximum threshold", + "11068": "Voltage monit. gener. lower minimum threshold", + "11069": "Voltage monit. gener. upper maximum threshold", + "11070": "Voltage monit. gener. hysteresis min. threshold", + "11071": "Voltage monit. hysteresis generator max. threshold", + "11072": "Frequency monit. generator lower minimum threshold", + "11073": "Frequency monit. generator without max. threshold", + "11074": "Frequency monit. gener. hysteresis min. threshold", + "11075": "Freq. Monit. generator hysteresis max. threshold", + "11076": "Generator maximum reverse power", + "11077": "Generator maximum reverse power tripping time", + "11078": "Output external grid connection", + "11079": "Output external grid connection phase A", + "11080": "Output external grid connection phase B", + "11081": "Output external grid connection phase C", + "11082": "Reactive power external grid connection", + "11083": "Reactive power external grid connection phase A", + "11084": "Reactive power external grid connection phase B", + "11085": "Reactive power external grid connection phase C", + "11086": "Grid frequency of external grid connection", + "11087": "Voltage external grid connection phase A", + "11088": "Voltage external grid connection phase B", + "11089": "Voltage external grid connection phase C", + "11090": "Electricity external grid connection phase A", + "11091": "Electricity external grid connection phase B", + "11092": "Electricity external grid connection phase C", + "11093": "Operating state grid voltage L1 against L2", + "11094": "Operating state grid voltage L2 against L3", + "11095": "Operating state grid voltage L3 against L1", + "11096": "Number of UCP events", + "11097": "Derating because of low DC voltage", + "11098": "Derating because of power and DC voltage", + "11099": "Bias voltage phase L1", + "11100": "Bias voltage phase L2", + "11101": "Relative bias voltage", + "11102": "Rated apparent power of all inverters", + "11103": "Ohmic resistive coating of the low-voltage line", + "11104": "Induc. reactive coating of the low-volt.power line", + "11105": "Length of the low-voltage cabling", + "11106": "Ohmic resistive coating of the medium-voltage line", + "11107": "Capac. resistive coating of the medium-volt. line", + "11108": "Length of the medium-voltage cabling", + "11109": "Nominal apparent power of the transformer", + "11110": "Short-circuit voltage of the transformer", + "11111": "Nominal voltage of the high-voltage side", + "11112": "Serial number of the counter on meas. interface 1", + "11113": "Serial number of the counter on meas. interface 2", + "11114": "Serial number of the counter on meas. interface 3", + "11115": "PLC communication package error rate", + "11116": "Firmware version of the module", + "11117": "Hardware version of the module", + "11118": "Revision status of the module", + "11119": "Update version of the module", + "11120": "Serial number of the module", + "11121": "SUSyID of module", + "11122": "Type of module in module slot", + "11123": "Power control module D1: 0 | D2:0 | D3: 0 | D4: 0", + "11124": "Power control module D1: 1 | D2:0 | D3: 0 | D4: 0", + "11125": "Power control module D1: 0 | D2:1 | D3: 0 | D4: 0", + "11126": "Power control module D1: 1 | D2:1 | D3: 0 | D4: 0", + "11127": "Power control module D1: 0 | D2:0 | D3: 1 | D4: 0", + "11128": "Power control module D1: 1 | D2:0 | D3: 1 | D4: 0", + "11129": "Power control module D1: 0 | D2:1 | D3: 1 | D4: 0", + "11130": "Power control module D1: 1 | D2:1 | D3: 1 | D4: 0", + "11131": "Power control module D1: 0 | D2:0 | D3: 0 | D4: 1", + "11132": "Power control module D1: 1 | D2:0 | D3: 0 | D4: 1", + "11133": "Power control module D1: 0 | D2:1 | D3: 0 | D4: 1", + "11134": "Power control module D1: 1 | D2:1 | D3: 0 | D4: 1", + "11135": "Power control module D1: 0 | D2:0 | D3: 1 | D4: 1", + "11136": "Power control module D1: 1 | D2:0 | D3: 1 | D4: 1", + "11137": "Power control module D1: 0 | D2:1 | D3: 1 | D4: 1", + "11138": "Power control module D1: 1 | D2:1 | D3: 1 | D4: 1", + "11139": "Power control module release time", + "11140": "Power control module release value", + "11141": "Power control module fault tolerance time", + "11142": "Oper.mode vol.maint.at Q on Dem., st.vol.maint.conf.", + "11143": "Manual reactive power setpoint for zero power output", + "11144": "Manual reactive power setpoint for zero power output", + "11145": "Dynamic grid support, k-factor of react. current stat. for undervolt.", + "11146": "Dynamic grid support, k-factor of react. current stat. for overvolt.", + "11147": "Characteristic curve number, configuration of characteristic curve mode", + "11148": "Activation of the characteristic curve, configuration of characteristic curve mode", + "11149": "Activation threshold, configuration of characteristic curve mode", + "11150": "Deactivation threshold, configuration of characteristic curve mode", + "11151": "Threshold reference, configuration of characteristic curve mode", + "11152": "X values charact. curve 1", + "11153": "Y values charact. curve 1", + "11154": "X values charact. curve 2", + "11155": "Y values charact. curve 2", + "11156": "X values charact. curve 3", + "11157": "Y values charact. curve 3", + "11158": "Service mode", + "11159": "Set charge volt. in serv. mode", + "11160": "Set disch. volt. in serv. mode", + "11161": "Charge current lim. serv. mode", + "11162": "Disch. current lim. serv. mode", + "11163": "Battery operating status", + "11164": "Battery switch temp.", + "11165": "Highest meas. battery switch temp.", + "11166": "BMS firmware version", + "11167": "BMS hardware version", + "11168": "BMS conversion status", + "11169": "BMS update version", + "11170": "BMS serial number", + "11171": "BMS SUSyID", + "11172": "BMS type", + "11173": "Speedwire meter serial no.", + "11174": "Speedwire meter status", + "11175": "Battery cell voltage", + "11176": "Inverter status", + "11177": "Battery status", + "11178": "Adj. time for charac. act. pt.", + "11179": "Down ramp f. charac. act. pt.", + "11180": "Up ramp f. charac. act. pt.", + "11181": "Charac. ramp up after ret. norm. op.", + "11182": "No. of charac. pt.s to be used", + "11183": "X-axis ref. characteristic", + "11184": "Y-axis ref. characteristic", + "11185": "Avg. eff. power lim. grid conn. pt.", + "11198": "Set battery targ. current val.", + "11199": "Battery manufacturer", + "11200": "Date of battery manufacture", + "11201": "BMS activation processes", + "11202": "Batt. man. activ. proc.s charge mode", + "11203": "Batt. man. activ. proc.s disch. mode", + "11204": "Tot. batt. man. activ. proc.s charge mode", + "11205": "Tot. batt. man. activ. proc.s disch. mode", + "11206": "Tot. battery runtime", + "11207": "Batt. charge res. for emerg. curr. op.", + "11208": "Battery nominal capacity", + "11209": "Battery cell temp.", + "11210": "Storage management operating mode", + "11211": "Active power setpoint", + "11212": "Eff./reac. pow. contr. via comm.", + "11213": "Reactive power setpoint", + "11214": "Meter count and PV gen. meter", + "11215": "Total cumulative consump.", + "11216": "Cumulative self-consump.", + "11217": "Cumulative direct consump.", + "11218": "Battery charge", + "11219": "Battery discharge", + "11220": "PV generation power", + "11221": "Present total consump.", + "11222": "Present self-consump.", + "11223": "Present direct consump.", + "11224": "Present battery charge", + "11225": "Present battery discharge", + "11226": "Present self-consump. ratio", + "11227": "Cumulative self-consump. ratio", + "11228": "Present electrical storage ratio", + "11229": "Electrical storage ratio", + "11230": "Present autonomy ratio", + "11231": "Autonomy ratio", + "11232": "Present direct consump. ratio", + "11233": "Direct consumption ratio", + "11234": "Set PV generation meter", + "11235": "Set cumulative total consump.", + "11236": "Set cumulative self-consump.", + "11237": "Set cumulative direct consump.", + "11238": "Set battery charge", + "11239": "Set battery discharge", + "11240": "IEC server switched on", + "11241": "Gfdi relay status", + "11242": "Block status", + "11243": "Mains watchdog firmware vers.", + "11244": "Mains watchdog hardware vers.", + "11245": "Mains watchdog conversion status", + "11246": "Mains watchdog update vers.", + "11247": "Mains watchdog serial no.", + "11248": "Mains watchdog SUSyID", + "11249": "Mains watchdog unit type", + "11250": "Total memory on USB medium 1", + "11251": "Total memory on USB medium 2", + "11252": "Abs. meter count and PV gen. meter", + "11253": "Absolute battery charge", + "11254": "Absolute battery discharge", + "11255": "BMS operating mode", + "11256": "Min. battery charge capac.", + "11257": "Max. battery charge capac.", + "11258": "Min. battery discharge capac.", + "11259": "Max. battery discharge capac.", + "11260": "Mains exch. capac. target value", + "11261": "Battery temp.", + "11262": "Max. PV power", + "11263": "Batt. manuf's max. charge capac.", + "11264": "Batt. manuf's min. charge capac.", + "11265": "Batt. manuf's max. disch. capac.", + "11266": "Batt. manuf's min. disch. capac.", + "11267": "Determine SOH", + "11268": "Monitoring of AC capacitors", + "11269": "Cumulative self-supply", + "11270": "Current self-supply", + "11271": "Battery discharge of current battery", + "11272": "Monitoring of battery management system", + "11273": "Ripple control signal detection, amplification of narrow-band support", + "11274": "Ripple control signal detection, damping of narrow-band support", + "11275": "Ripple control signal detection, frequency of narrow-band support", + "11276": "Ripple control signal detection, amplification of broad-band support", + "11277": "Ripple control signal detection, frequency of broad-band support", + "11278": "Current capacity (Dvlp)", + "11279": "Programming progress", + "11280": "Set offset of the supplied energy", + "11281": "Set offset of the absorbed energy", + "11282": "Island network detect. status", + "11283": "Characteristic curve number for dynamic grid disconnect", + "11284": "Nominal current of all phases", + "11285": "cos φ of start pt, cos φ(P) char. curve config", + "11286": "cos φ of end pt, cos φ(P) char. curve config", + "11287": "AC voltage EPS (Emergency Power Supply)", + "11288": "Current EPS (Emergency Power Supply)", + "11289": "Power EPS (Emergency Power Supply)", + "11290": "Energy EPS (Emergency Power Supply)", + "11291": "Total energy EPS (Emergency Power Supply)", + "11292": "Operating mode EPS (Emergency Power Supply)", + "11293": "Change-over time to EPS after network failure", + "11294": "Chg-over t EPS to network op after network reconnect", + "11295": "Version of communication Bootloader", + "11296": "Version of Webserver", + "11297": "External active power setting, fallback behavior", + "11298": "External active power setting, timeout", + "11299": "Fallback active power limit P in % of WMax for absent active power limit", + "11300": "External reactive power setting, fallback behavior", + "11301": "External reactive power setting, timeout", + "11302": "External reactive power setting, fallback value", + "11303": "External cos φ setting, fallback behavior", + "11304": "External cos φ setting, timeout", + "11305": "External cos φ setpoint specification, fallback value of cos φ for active power output", + "11306": "External cos φ setpoint specification, fallback value of the excitation type for active power output", + "11307": "Current spec. active power limitation P", + "11308": "Current spec. reactive power Q", + "11309": "Current spec. cos φ", + "11310": "Current spec. stimulation type cos φ", + "11311": "Impedance compensation switched on", + "11312": "Ohmic resistance for impedance compensation", + "11313": "Inductive resistance for impedance compensation", + "11314": "Capacitive resistance for impedance compensation", + "11315": "Max. react. p of freq-dep. react. p sup Q(df/dt)", + "11316": "React p of harmonic-dep. react p sup Q(dTHD/dt)", + "11317": "Serial no. Slave1 (Phase L2)", + "11318": "Serial no. Slave2 (Phase L3)", + "11319": "Operating status Master (Phase L1)", + "11320": "Operating status Slave1 (Phase L2)", + "11321": "Operating status Slave2 (Phase L3)", + "11322": "Bootloader version of the main processor", + "11323": "Bootloader version of logic component", + "11324": "Type of AC subdistribution", + "11325": "Photovoltaic energy in solar charger", + "11326": "Total energy of photovoltaics", + "11327": "Total energy of photovoltaics current day", + "11328": "Output of photovoltaics", + "11329": "Total output current of solar charger", + "11330": "Cluster behaviour when a device fails", + "11331": "Energy saving mode", + "11332": "Status battery application area", + "11333": "Operating time of battery statistics counter", + "11334": "Charge factor: ratio of battery charge/discharge", + "11335": "Lowest measured battery temperature", + "11336": "Highest measured battery temperature", + "11337": "Number of battery equalization charges", + "11338": "Number of battery full charges", + "11339": "Relative battery discharge since last full charge", + "11340": "Relative battery discharge since last equalization charge", + "11341": "Max. occurred battery voltage", + "11342": "Maximum battery current in charge direction", + "11343": "Maximum battery current in discharge direction", + "11344": "Battery switch-on limit after overtemp. shutdown", + "11345": "Line resistance of battery connection", + "11346": "Cycle time full charge", + "11347": "Cycle time equalization charge", + "11348": "Battery temperature compensation", + "11349": "Automatic equalization charge", + "11350": "Remaining absorption time", + "11351": "Remaining time until full charge", + "11352": "Remaining time until equalization charge", + "11353": "Absorption phase active", + "11354": "Fault battery state of charge", + "11355": "Manual equalization charge", + "11356": "Time until change-over to energy saving mode", + "11357": "Maximum duration of energy saving mode", + "11358": "Voltage setpoint with deactivated battery mgmt", + "11359": "Start time of battery protection mode level", + "11360": "End time of battery protection mode level", + "11361": "Battery state of charge for protection mode", + "11362": "Type of additional DC sources", + "11363": "Operating time energy count", + "11364": "Automatic frequency control", + "11365": "Inverter nominal voltage", + "11366": "Inverter nominal frequency", + "11367": "Maximum AC battery charge current", + "11368": "Time-controlled inverter operation", + "11369": "Start date for time-controlled inverter operation", + "11370": "Operating time for time-controlled inverter op.", + "11371": "Repeat cycle for time-controlled inverter op.", + "11372": "Total current external network connection", + "11373": "Cut-off time until connection to external network", + "11374": "Lower lmt deep disch. protect area prior shutdown", + "11375": "Minimum width of deep discharge protection area", + "11376": "Minimum width of backup power area", + "11377": "Area width for conserving battery state of charge", + "11378": "Minimum width of self-consumption area", + "11379": "Most productive month for battery usage range", + "11380": "Season operation active", + "11381": "Limit battery state of charge generator start in time range", + "11382": "Limit battery state of charge gen. shutdown in time range", + "11383": "End time additional time period, generator request", + "11384": "Nominal generator frequency", + "11385": "Generator request", + "11386": "Average time for generator request via power", + "11387": "Average operating time of generator", + "11388": "Average idle period of generator", + "11389": "Cooling down time of generator", + "11390": "Idle period after generator fault", + "11391": "Warm-up time of generator", + "11392": "Time-controlled generator operation", + "11393": "Start time for time-controlled generator op.", + "11394": "Operating time for time-controlled generator op.", + "11395": "Repeat cycle of time-controlled generator op.", + "11396": "Generator request with set charge type", + "11397": "Reaction to digital input of generator request", + "11398": "Remaining min. operating time of generator", + "11399": "Limitation type of generator current", + "11400": "Sensitivity of generator failure detection", + "11401": "Maximum current from utility grid", + "11402": "Power feedback to utility grid allowed", + "11403": "Energy saving mode switched on", + "11404": "Maximum network reverse power", + "11405": "Maximum network reverse power tripping time", + "11406": "Start feed-in PV", + "11407": "Stop feed-in PV", + "11408": "Upper state of charge for reactivating feed-in", + "11409": "Lower state of charge for locking feed-in", + "11410": "Grid request via battery state of charge switched on", + "11411": "Lmt battery state of charge for connection to grid", + "11412": "Lmt battery state of charge for disconnection from grid", + "11413": "Start interval for grid request", + "11414": "Grid request via power switched on", + "11415": "Grid request switch-on power limit", + "11416": "Grid request switch-off power limit", + "11417": "Manual control of grid connection", + "11418": "Grid request via charge type", + "11419": "Lmt value battery state of charge for start load shedding 1", + "11420": "Lmt value battery state of charge for stop load shedding 1", + "11421": "Time load shedding 1", + "11422": "Lmt value battery state of charge for start load shedding 2", + "11423": "Lmt value battery state of charge for stop load shedding 2", + "11424": "Time load shedding 2", + "11425": "Start date of relay control for timer", + "11426": "Duration for which multifunction relay is activated for timer", + "11427": "Repeat cycle time of relay control for timer", + "11428": "Slave 1: Operating mode of multifunction relay", + "11429": "Slave 2: Operating mode of multifunction relay", + "11430": "Temp lmt for multifunct. relay with batt comp fan", + "11431": "Slave 1: Multifunction relay status", + "11432": "Slave 2: Multifunction relay status", + "11433": "Status digital input", + "11434": "Power threshold for start-up detection", + "11435": "Tripping time for start-up detection", + "11436": "Locking time for start-up detection", + "11437": "Counter suitability at interface 1 for energy mgmt", + "11438": "Counter suitability at interface 2 for energy mgmt", + "11439": "Counter suitability at interface 3 for energy mgmt", + "11440": "Switch-on request", + "11442": "V at zero crossing 1 of reactive power char. curve", + "11443": "V at zero crossing 2 of reactive power char. curve", + "11445": "Battery installation mode", + "11446": "Battery state of charge limit, generator start in additional time period", + "11447": "Battery state of charge limit, generator shutdown in additional time period", + "11448": "Start time additional time range generator request", + "11449": "Limit battery state of charge for stop load shedding 1 in add time range", + "11450": "Limit battery state of charge for stop load shedding 2 in add time range", + "11451": "Limit battery state of charge for start load shedding 1 in add time range", + "11452": "Limit battery state of charge for start load shedding 2 in add time range", + "11453": "Start time additional time range load shedding 1", + "11454": "Start time additional time range load shedding 2", + "11455": "Start time additional time range grid request", + "11456": "Limit battery state of charge for disconnect from grid in add time range", + "11457": "Limit battery state of charge for connect to grid in add time range", + "11458": "Source for system active power", + "11459": "Source for system reactive power", + "11460": "System active power at grid connection point", + "11461": "System reactive power at grid connection point", + "11462": "Normalized reactive power limitation by system control via direct marketer", + "11463": "Normalized active power limitation by system control via direct marketer", + "11464": "No translation in Taglist for ID 11464", + "11465": "No translation in Taglist for ID 11465", + "11466": "Control of battery charging via communication available", + "11467": "Function of analog current output", + "11468": "X-value 1 of characteristic curve of digital current output", + "11469": "Y-value 1 of characteristic curve of digital current output", + "11470": "X-value 2 of characteristic curve of digital current output", + "11471": "Y-value 2 of characteristic curve of digital current output", + "11472": "Actual measurement value of digital current output", + "11473": "Function of digital output", + "11474": "Actual status of digital output", + "11475": "Lower discharge limit for self-consumption range", + "11476": "Manual restart activated", + "11477": "Manual restart after overvoltage", + "11478": "Manual restart after undervoltage", + "11479": "Manual restart after frequency error", + "11480": "BMS serial number", + "11481": "Manual restart after passive islanding detection", + "11482": "Manual restart after active islanding detection", + "11483": "Device ID", + "11484": "Type designation", + "11485": "URL", + "11486": "Communication protocol", + "11487": "Type of measured value acquisition", + "11488": "Centre/neutral conductor connection", + "11489": "Available PV power", + "11490": "Internal PV power limitation", + "11491": "Reactive power of loads", + "11492": "Maximum short-term decrease in power", + "11493": "PV reactive power currently supplied from grid", + "11494": "PV apparent power currently supplied from grid", + "11495": "PV power not requested", + "11496": "Return monitoring value", + "11497": "Input monitoring value", + "11498": "PV energy produced (today)", + "11499": "PV energy produced (yesterday)", + "11500": "PV energy produced (current month)", + "11501": "PV energy produced (last month)", + "11502": "Generator energy produced (today)", + "11503": "Generator energy produced (yesterday)", + "11504": "Generator energy produced (current month)", + "11505": "Generator energy produced (last month)", + "11506": "Energy output to grid (yesterday)", + "11507": "Energy output to grid (current month)", + "11508": "Energy output to grid (last month)", + "11509": "Energy drawn from grid (yesterday)", + "11510": "Energy drawn from grid (current month)", + "11511": "Energy drawn from grid (last month)", + "11512": "Energy consumed (today)", + "11513": "Energy consumed (yesterday)", + "11514": "Energy consumed (current month)", + "11515": "Energy consumed (last month)", + "11516": "Estimated fuel consumption since last reset", + "11517": "Estimated current fuel consumption", + "11518": "Current generator power", + "11519": "Currently available generator apparent power", + "11520": "Current generator reactive power", + "11521": "Minimum generator power to be provided", + "11522": "Current grid export active power", + "11523": "Current grid export reactive power", + "11524": "Neutral conductor is connected", + "11525": "Run self test", + "11527": "Send IGMP requests", + "11528": "2nd characteristic curve number, configuration of characteristic curve mode", + "11529": "2nd activation of the characteristic curve, configuration of characteristic curve mode", + "11530": "2nd activation threshold, configuration of characteristic curve mode", + "11531": "2nd deactivation threshold, configuration of characteristic curve mode", + "11532": "2nd threshold reference, configuration of characteristic curve mode", + "11533": "Status of the firmware update", + "11534": "P(f), tripping delay", + "11535": "Current temperature of AC choke", + "11536": "Highest measured temperature of AC choke", + "11537": "Beginning of limiting via temperature on AC choke", + "11538": "Number of battery strings present", + "11539": "Number of active battery strings", + "11540": "Average voltage on the high-voltage side", + "11541": "Average current on the high-voltage side", + "11542": "Current assigned active power", + "11543": "Version of WebUI", + "11544": "Current assigned apparent power", + "11545": "Power of inverter", + "11546": "Apparent power of inverter", + "11547": "Insulation resistance of battery", + "11548": "Insulation resistance of inverter", + "11549": "Waiting time until feed-in", + "11550": "Boost converter temperature", + "11551": "Highest measured boost converter temperature", + "11552": "Usable meters on Speedwire", + "11553": "Main processor bootloader version", + "11554": "Preloader version", + "11555": "Deviation from max. standardised string current", + "11556": "Average deviation from max. standardised string current", + "11557": "Time since an error occurred", + "11558": "Maximum possible string current", + "11559": "Average deviation at which an error is present", + "11560": "Time after an error is reported", + "11561": "Cycle time for measuring the currents", + "11562": "Minimum current to activate zone monitoring", + "11563": "Data logger function", + "11564": "Provide system view", + "11565": "Diagnostic logger function", + "11566": "Prescribed self-test", + "11567": "Mean value of the external conductor voltages", + "11568": "Supplied battery power in all phases", + "11569": "Consumed battery power in all phases", + "11570": "Supplied reactive battery power in all phases", + "11571": "Calculated active power default value for battery inverter", + "11572": "Calculated reactive power default value for battery inverter", + "11573": "Power of all battery inverters in OK status", + "11574": "Free capacity of all batteries", + "11575": "Accessible charge of all batteries", + "11576": "Charge energy (today)", + "11577": "Charge energy (yesterday)", + "11578": "Charge energy (current month)", + "11579": "Charge energy (previous month)", + "11580": "Discharge energy (today)", + "11581": "Discharge energy (yesterday)", + "11582": "Discharge energy (current month)", + "11583": "Discharge energy (previous month)", + "11584": "Charge energy (total)", + "11585": "Discharge energy (total)", + "11586": "Counter state of generator generating meter", + "11587": "Supply grid frequency with greater accuracy", + "11588": "IGMP query interval", + "11589": "Write flight data", + "11592": "Current time is daylight savings time", + "11593": "Firmware version of Wi-Fi component", + "11594": "Hardware version of Wi-Fi component", + "11595": "Revision status of Wi-Fi component", + "11596": "Update version of Wi-Fi component", + "11597": "Serial number of Wi-Fi component", + "11598": "SUSyID of Wi-Fi component", + "11599": "Wi-Fi component type", + "11600": "Dynamic power display via green LED", + "11601": "Signal strength of the selected network", + "11602": "Currently used IP address for Wi-Fi", + "11603": "Currently used IP subnet mask for Wi-Fi", + "11604": "Currently used IP gateway address for Wi-Fi", + "11605": "Currently used IP DNS server address for Wi-Fi", + "11606": "Wi-Fis found", + "11607": "Wi-Fi connection status", + "11608": "Wi-Fi antenna type", + "11609": "Wi-Fi is turned on", + "11610": "Soft-access-point is turned on", + "11611": "SSID of Wi-Fi", + "11612": "Wi-Fi password", + "11613": "Encryption for Wi-Fi", + "11614": "Activate WPS", + "11615": "Automatic configuration of Wi-Fi is turned on", + "11616": "IP address of Wi-Fi", + "11617": "Subnet mask of Wi-Fi", + "11618": "IP address of Wi-Fi gateway", + "11619": "IP address of Wi-Fi DNS server", + "11620": "Version of time zone database", + "11621": "Perform Wi-Fi scan", + "11622": "Total system power", + "11623": "Signal value 1 of characteristic curve of digital current input", + "11624": "Y-value 1 of characteristic curve of digital current input", + "11625": "Signal value 2 of characteristic curve of digital current input", + "11626": "Y-value 2 of characteristic curve of digital current input", + "11627": "Source of irradiation sensor measurement", + "11628": "Reactive power supplied to the grid in all phases", + "11629": "Operating mode of grid system service", + "11630": "WEP key index", + "11631": "Usable Wi-Fi channels", + "11632": "Status of active power limitation", + "11633": "Status of reactive power limitation", + "11634": "Fallback active power limitation, reg. to grid connection point", + "11635": "Fallback active power limitation as %, reg. to grid connection point", + "11636": "Status of Wi-Fi scan", + "11637": "S0 pulses per m/s", + "11638": "Configuration of PCM digital inputs", + "11639": "Active power limitation via PCM digital inputs", + "11640": "Reactive power limit. assigned via PCM dig. inputs", + "11641": "Wi-Fi-MAC address", + "11642": "Regulating power operating mode", + "11643": "Preferred power band of the regulating reserve", + "11644": "Upper reserve value of the regulating reserve", + "11645": "Lower reserve value of the regulating reserve", + "11646": "Upper reserve value of the regulating reserve", + "11647": "Lower reserve value of the regulating reserve", + "11648": "Preferred power band of the regulating reserve", + "11649": "Upper reserve value of the regulating reserve", + "11650": "Lower reserve value of the regulating reserve", + "11651": "Upper reserve value of the regulating reserve", + "11652": "Lower reserve value of the regulating reserve", + "11653": "Power reserve active", + "11654": "Required positive power reserve will be reserved", + "11655": "Required negative power reserve will be reserved", + "11656": "Maximum possible power reserve", + "11657": "Required power limit", + "11658": "Secondary reserve value of the regulating reserve", + "11659": "Secondary reserve value of the regulating reserve", + "11660": "Secondary reserve value of the regulating reserve", + "11661": "Secondary reserve value of the regulating reserve", + "11662": "Version of the software on Core1", + "11663": "Maximum achievable reactive power quadrant 1", + "11664": "Maximum achievable reactive power quadrant 2", + "11665": "Maximum achievable reactive power quadrant 3", + "11666": "Maximum achievable reactive power quadrant 4", + "11667": "Minimum achievable cos(phi) quadrant 1", + "11668": "Minimum achievable cos(phi) quadrant 2", + "11669": "Minimum achievable cos(phi) quadrant 3", + "11670": "Minimum achievable cos(phi) quadrant 4", + "11671": "Currently permitted device power", + "11672": "AFCI robustness", + "11673": "Setpoint cos(phi) as per EEI convention", + "11674": "Voltage monitoring of upper maximum threshold as RMS value", + "11675": "Voltage monitoring of upper max. thresh. as RMS value for tripping time", + "11676": "Voltage monitoring of lower minimum threshold as RMS value", + "11677": "Voltage monitoring of lower min.threshold as RMS value for tripping time", + "11678": "Set supplied PV energy", + "11679": "Sig. val. 1 of char. curve of analogue input", + "11680": "Y value 1 of char. curve of analogue input", + "11681": "Sig. val. 2 of char. curve of analogue input", + "11682": "Y value 2 of char. curve of analogue input", + "11683": "Function of analogue input", + "11684": "Error evaluation of the device", + "11685": "Tolerance of string failure detection", + "11686": "Time until warning for string failure detection", + "11687": "EEI displacement power factor", + "11688": "Positive sequence voltage (calculated) on the PCC", + "11689": "Supplied power (calculated) on the PCC", + "11690": "Supplied reactive power (calculated) on the PCC", + "11691": "Current generator reactive power", + "11692": "Current generator reactive power", + "11693": "Supplied battery power in all phases", + "11694": "Consumed battery power in all phases", + "11695": "Supplied reactive battery power in all phases", + "11696": "Currently available generator active power", + "11697": "Antenna switching", + "11698": "Device is new part", + "11699": "Tripping time for activation of char. curve 2", + "11700": "Function of S0 input", + "11701": "Adjustment time of char. operating point, conf. of grid integration char. curve 3", + "11702": "Decrease ramp, conf. of grid integration char. curve 3", + "11703": "Increase ramp, conf. of grid integration char. curve 3", + "11704": "Number of points to be used, conf. of grid integr. char. curve 3", + "11705": "Input unit, conf. of grid integration char. curve 3", + "11706": "Output reference, conf. of grid integration char. curve 3", + "11707": "X value 1, conf. of grid integr. char. curve 3", + "11708": "X value 2, conf. of grid integr. char. curve 3", + "11709": "X value 3, conf. of grid integr. char. curve 3", + "11710": "X value 4, conf. of grid integr. char. curve 3", + "11711": "X value 5, conf. of grid integr. char. curve 3", + "11712": "X value 6, conf. of grid integr. char. curve 3", + "11713": "X value 7, conf. of grid integr. char. curve 3", + "11714": "X value 8, conf. of grid integr. char. curve 3", + "11715": "Y value 1, conf. of grid integr. char. curve 3", + "11716": "Y value 2, conf. of grid integr. char. curve 3", + "11717": "Y value 3, conf. of grid integr. char. curve 3", + "11718": "Y value 4, conf. of grid integr. char. curve 3", + "11719": "Y value 5, conf. of grid integr. char. curve 3", + "11720": "Y value 6, conf. of grid integr. char. curve 3", + "11721": "Y value 7, conf. of grid integr. char. curve 3", + "11722": "Y value 8, conf. of grid integr. char. curve 3", + "11723": "3rd char. curve number, conf. of char. curve mode", + "11724": "Difference between starting frequency and grid frequency, linear instantaneous power gradient conf. with underfrequency", + "11725": "Active power gradient, linear instantaneous power gradient configuration with underfrequency", + "11726": "No translation in Taglist for ID 11726", + "11727": "No translation in Taglist for ID 11727", + "11728": "No translation in Taglist for ID 11728", + "11729": "No translation in Taglist for ID 11729", + "11730": "No translation in Taglist for ID 11730", + "11731": "No translation in Taglist for ID 11731", + "11732": "Source of ref. meas. for reactive/active power reduction", + "11733": "Phased reactive/act. power specification", + "11734": "Functions for grid/offgrid operation", + "11735": "Minimum setpoint for intermediate circuit voltage", + "11736": "Manually set active power limitation for the entire system", + "11737": "Setpoint of active power limitation via dialog input", + "11738": "Setpoint for active power limitation via analog input", + "11739": "PV power limitation via communication", + "11740": "PV power limitation via communication for direct marketing", + "11741": "Minimum PV power limitation", + "11742": "Internal PV power limitation", + "11762": "Monostring Testmode", + "11763": "Modbus Unit ID", + "11764": "Hardware version of the operating system", + "11765": "Hardware version of string protection", + "11766": "Hardware version of protocol converter", + "11767": "Hardware version of the module", + "11768": "Hardware version of the module", + "11769": "BMS hardware version", + "11770": "Mains watchdog hardware vers.", + "11771": "Hardware version of Wi-Fi component", + "11772": "Tripping time for activation of char. curve", + "11773": "SSID of Wi-Fi", + "11774": "Wi-Fi password", + "11775": "Encryption for Wi-Fi", + "11776": "NSS function is active", + "11777": "Devices found", + "11778": "Activate ambient temperature measurement", + "11779": "Activate module temperature measurement", + "11780": "Hardware version of the main processor", + "11781": "Hardware version of the communication assembly", + "11782": "Hardware version of the residual current mon. unit", + "11783": "Hardware version of the display", + "11784": "Hardware version of the logic component", + "11785": "Hardware version of the RS485 module", + "11786": "Hardware version of the Zigbee components", + "11787": "Hardware version of the Bluetooth component", + "11788": "Grid voltage phase L1", + "11789": "Grid voltage phase L2", + "11790": "Grid voltage phase L3", + "11791": "Power grid feeding L1", + "11792": "Power grid feeding L2", + "11793": "Power grid feeding L3", + "11794": "Power drawn from grid phase L1", + "11795": "Power drawn from grid phase L2", + "11796": "Power drawn from grid phase L3", + "11797": "Reactive power grid feeding phase L1", + "11798": "Reactive power grid feeding phase L2", + "11799": "Reactive power grid feeding phase L3", + "11800": "Reactive power grid feeding", + "11801": "BMS hardware version", + "11803": "Operating status", + "11804": "Charge of current battery", + "11805": "Specified battery setpoints", + "11807": "External active power setpoint specification, fallback value for active power setpoint specification", + "11808": "Timeout for absent assigned active power", + "11810": "Nominal current control at grid connection point", + "11811": "Lower discharge limit for assigned active power", + "11812": "Upper discharge limit for assigned active power", + "11813": "Setpoint at grid connection point for batt. Charge", + "11814": "Setpoint at grid conn. point for batt. discharge", + "11815": "Available charging power", + "11816": "Available discharging power", + "11817": "Ambient temperature", + "11818": "Status Enable Signal", + "11819": "Climate management supply voltage", + "11820": "DC-bus voltage", + "11821": "DC-bus power", + "11822": "Logic supply voltage", + "11823": "Climate management supply voltage", + "11824": "Command sent to the battery management system", + "11825": "RS485 communication speed", + "11826": "RS485 device detect timeout", + "11827": "Number of RS485 devices to detect", + "11828": "Trigger device restart", + "11829": "Start device detect", + "11830": "Number of detected devices", + "11831": "Send interval for SIP OPTIONS keepalive messages", + "11832": "operations state DSP", + "11833": "Current reactive power limit at overriding required reactive power", + "11834": "String comparison group for string failure detect", + "11835": "Number of connected sub-strings per string", + "11836": "String failure detection sensitivity", + "11837": "Active power setpoint on phase A (in %) for WCtlCom op. mode", + "11838": "Active power setpoint on phase B (in %) for WCtlCom op. mode", + "11839": "Active power setpoint on phase C (in %) for WCtlCom op. mode", + "11840": "Reactive power setpoint on phase A (in %) for VArCtlCom op. mode", + "11841": "Reactive power setpoint on phase B (in %) for VArCtlCom op. mode", + "11842": "Reactive power setpoint on phase C (in %) for VArCtlCom op. mode", + "11843": "Voltage symmetry operating mode", + "11844": "Inverter bridge temperature", + "11845": "Highest measured inverter bridge temperature", + "11847": "AST type", + "11848": "AST type", + "11851": "Nominal voltage and frequency", + "11852": "Cluster configuration", + "11853": "Cluster system", + "11854": "Cluster in the multi-cluster", + "11855": "Extension cluster address", + "11856": "System performance", + "11857": "Design of the generation plant", + "11859": "Limitation of the active power consumption in %", + "11860": "Limitation of the active power consumption in W", + "11861": "Fallback active power P", + "11862": "Derating of the PV inverter to the grid connection point", + "11865": "Location longitude", + "11866": "Location latitude", + "11867": "Maximum time without reference run", + "11868": "Minimum deviation before tracking start", + "11869": "Minimum elevation deviation before tracking start", + "11870": "Number of motor steps when leaving azimuth end position", + "11871": "Number of motor steps when leaving elevation end position", + "11872": "Maximum tilt angle", + "11873": "Select type", + "11874": "Last external override", + "11875": "Maximum azimuth motor current", + "11876": "Maximum elevation motor current", + "11877": "Actual elevation motor current", + "11878": "Actual azimuth motor current", + "11879": "Current azimuth", + "11880": "Current elevation", + "11881": "Target azimuth", + "11882": "Target elevation", + "11883": "Azimut end position", + "11884": "Voltage supply", + "11885": "Number of external overrides", + "11886": "Remote operation", + "11888": "Serial number device 1", + "11889": "Serial number device 2", + "11890": "Phase assignment device 1", + "11891": "Phase assignment device 2", + "11892": "Last time synchronization", + "11893": "Device password", + "11894": "Maximum number of reference run errors", + "11895": "Start delay", + "11896": "Traverse angle for remote operation", + "11897": "Elevation correction angle", + "11898": "Soft Access Point status", + "11900": "Max AC battery discharge current", + "11901": "Charge current specification self-consumption", + "11902": "Discharge current specification self-consumption", + "11903": "Maximum inverter frequency", + "11904": "Minimum inverter frequency", + "11905": "Maximum inverter voltage", + "11906": "Minimum inverter voltage", + "11907": "Process specification battery charge current", + "11908": "Process specification battery discharge current", + "11909": "Power of the SI charger |s0|", + "11910": "Total current multi-cluster charging power", + "11911": "Total current multi-cluster discharging power", + "11912": "Frequency distribution of the state of charge, |s0| % > SOC >= |s1|%", + "11914": "EEBUS SKI device identification", + "11916": "Backup controller SW version", + "11917": "Backup controller HW version", + "11918": "Backup controller revision status", + "11919": "Backup controller serial number", + "11920": "Backup controller SUSyID", + "11921": "Software version of the battery interface module", + "11922": "Hardware version of the battery interface module", + "11923": "Modification status of the battery interface module", + "11924": "Serial number of the battery interface module", + "11925": "SUSy ID of the battery interface module", + "11926": "Time of the update", + "11927": "Voltage increase protection enabled", + "11928": "Grid monitoring time", + "11929": "Lowest measured frequency", + "11930": "Highest measured frequency", + "11931": "Charge current limitation", + "11932": "Discharge current limitation", + "11933": "Device address", + "11934": "Azimuth correction angle", + "11937": "ADC average value formation in 0.1 s", + "11938": "Angle of elevation limitation 2", + "11939": "Start of elevation limitation 2", + "11940": "End of elevation limitation 2", + "11941": "Angle of date-dependent rotation limitation", + "11942": "Start of date-dependent rotation limitation", + "11943": "End of date-dependent rotation limitation", + "11944": "Fixed elevation angle", + "11945": "Fixed rotation angle drive 2", + "11946": "Fixed azimuth angle", + "11947": "Fixed rotation angle drive 1", + "11948": "Activation of fixed angle", + "11949": "HyTrack azimuth sensitivity", + "11950": "HyTrack elevation sensitivity", + "11951": "Jump width for HyTrack adjustment", + "11952": "Rotation of HyTrack", + "11953": "Temperature of HyTrack", + "11954": "Voltage of HyTrack Q1", + "11955": "Voltage of HyTrack Q2", + "11956": "Voltage of HyTrack Q3", + "11957": "Voltage of HyTrack Q4", + "11958": "X-angle of HyTrack", + "11959": "Y-angle of HyTrack", + "11960": "HyTrack", + "11961": "Total adjustment time", + "11962": "Total error time", + "11963": "Angle of night position", + "11964": "Current motor current drive 1", + "11965": "Current motor current drive 2", + "11966": "Maximum motor current drive 1", + "11967": "Maximum motor current drive 2", + "11968": "Current angle drive 1", + "11969": "Current angle drive 2", + "11970": "Target angle drive 1", + "11971": "Target angle drive 2", + "11972": "Drives activated", + "11973": "Open-circuit voltage point counter", + "11974": "Multifunction relay status", + "11975": "Active battery charging mode", + "11976": "Number of Resets", + "11977": "Operating mode", + "11978": "Error", + "11979": "Counter warning battery voltage high", + "11980": "Counter error battery overvoltage", + "11981": "Counter warning battery state of charge low", + "11982": "Device address", + "11983": "Current battery state of charge", + "11984": "Current battery capacity", + "11987": "Battery nominal capacity", + "11988": "Present battery charge", + "11989": "Present battery discharge", + "11990": "Battery charge", + "11991": "Battery discharge", + "11992": "Absolute battery charge", + "11993": "Absolute battery discharge", + "11994": "Battery discharge of current battery", + "11995": "Set battery charge", + "11996": "Set battery discharge", + "11997": "Current capacity (Dvlp)", + "11998": "Charge of current battery", + "11999": "Relay monitoring voltage", + "12000": "Activation of communication test between clusters", + "12001": "Status of communication test", + "12002": "Current sensor type (60mV 50mV)", + "12003": "Current sensor gain", + "12004": "Current sensor gain", + "12005": "Current at AC2 with high resolution", + "12006": "Highest measured drawn power", + "12007": "Highest measured feed-in power", + "12008": "Anti-islanding sensitivity", + "12009": "Current control mode", + "12010": "Grounding type", + "12011": "Selection of mains exchange capacity measurement method", + "12012": "Total current load active power", + "12013": "Serial number", + "12014": "System ID", + "12015": "Software version", + "12016": "Serial number", + "12017": "Position number", + "12018": "Serial number", + "12019": "Designation", + "12020": "Type", + "12021": "Voltage", + "12022": "Current", + "12023": "Power", + "12024": "PV module electronics temperature", + "12025": "Received signal strength", + "12026": "Condition", + "12027": "Condition", + "12028": "Condition", + "12029": "Energy counter", + "12030": "Frequency droop P(f)", + "12031": "Voltage droop Q (V)", + "12032": "Frequency at AC2 with high resolution", + "12033": "Backup unit controller status", + "12034": "Batter interface module status", + "12035": "Hardware version of the main processor", + "12036": "Energy counter serial number", + "12037": "Energy meter used", + "12038": "Auto-calibration of the external battery current sensor", + "12039": "Energy meters used", + "12040": "Rapid Shutdown Mode", + "12041": "MPP tracker assignment", + "12042": "Number of PC modules in the string", + "12043": "Number of PC module electronics in the string", + "12044": "Rapid shutdown system function", + "12045": "Commissioning status", + "12046": "Type", + "12047": "Type", + "12048": "Software version", + "12049": "Software version", + "12050": "Minimum time for the use of excess energy", + "12051": "Voltage difference for the use of excess energy", + "12052": "Status of the counter on the Modbus", + "12053": "Number of gateways", + "12054": "SPS voltage", + "12055": "Backup voltage", + "12056": "Voltage monitoring upper maximum threshold", + "12057": "Voltage monitoring upper max. threshold trip. time", + "12058": "Voltage monitoring lower maximum threshold", + "12059": "Voltage monitoring lower max. threshold trip. time", + "12060": "Minimum voltage for start backup operation", + "12061": "Contactor switching status", + "12062": "Backup box communication status", + "12063": "Backup box operating mode", + "12064": "Redundant grid contactors", + "12065": "Phase coupling", + "12066": "Neutral conductor grounding", + "12067": "Upper limit for the charging state for derating of the PV inverters", + "12068": "Monitoring time contactor monitoring contact", + "12069": "Minimum voltage for activation of the load contactors in backup", + "12070": "Monitoring time for activation of the load contactors in backup", + "12071": "Duration of the AC voltage ramp", + "12072": "DC input configuration reset", + "12073": "DC input configuration [|s0|]", + "12074": "Can test mode", + "12075": "PV module electronics hardware version", + "12076": "PV module gateway hardware version", + "12077": "Backup module temperature monitoring trigger threshold", + "12078": "PV module electronics found", + "12079": "Gateways found", + "12080": "Activate power profile function", + "12081": "Charging power of the selected function", + "12082": "Discharging power of the selected function", + "12083": "Start time of the selected function", + "12084": "Stop time of the selected function", + "12085": "Weekday selection", + "12086": "Operating mode of the power control plan", + "12087": "Name of the power profile", + "12088": "Width of the usage range for Time of Use", + "12089": "Width of the usage range for Peak Load Shaving", + "12090": "Nominal CT current [Amps]", + "12091": "Displacement power factor", + "12092": "Grid current phase L1", + "12093": "Grid current phase L2", + "12094": "Grid current phase L3", + "12095": "Apparent power L1", + "12096": "Apparent power L2", + "12097": "Apparent power L3", + "12098": "Grid frequency", + "12099": "Grid voltage phase L3 against L1", + "12100": "Grid voltage phase L1 against L2", + "12101": "Grid voltage phase L2 against L3", + "12102": "Apparent power", + "12103": "Setpoint at the grid connection point in self-consumption", + "12104": "Activate voltage disconnect monitoring", + "12105": "RS485 interface protocol", + "12106": "RS485 interface protocol", + "12107": "RS485 interface protocol", + "12108": "Setpoint for grid frequency", + "12109": "Setpoint for grid voltage", + "12110": "Internal resistance", + "12111": "Open circuit voltage", + "12112": "Disconnection limit for leakage current", + "12113": "Disconnection limit for the lagging component of the leakage current", + "12114": "Cellular modem is switched on", + "12115": "Execute function", + "12116": "IMEI", + "12117": "Serial number (ICCID)", + "12118": "Condition", + "12119": "Received signal strength", + "12120": "Grid operator", + "12121": "EnnexOS is switched on", + "12122": "Execute function", + "12123": "Condition", + "12124": "RS485 interface terminal resistance", + "12125": "Energy meter software version", + "12126": "Duration until activation of secondary connection", + "12127": "Cellular connection status", + "12128": "EnnexOS portal connection status", + "12129": "SunSpec signal test", + "12130": "Trigger test for rapid shutdown", + "12131": "Cellular modem software version", + "12132": "Webconnect version", + "12133": "Limitation to 4 reconnections (24 hrs) after exceeding continuous residual current", + "12134": "Ethernet Link Diagnosis via LED", + "12135": "Internal PV reactive power limitation", + "12136": "Laboratory mode is activated", + "12137": "Minimum PV reactive power limitation", + "12144": "Correction value for power gradient, e.g. WGraRecon, WGraConn, WCtlHzModCfg.WCtlHzCfg.HzStopWGra", + "12145": "Communication Diagnosis via LED", + "12146": "Smart Inverter Screen switched on", + "12147": "Upload interval", + "12148": "Upload interval", + "12149": "Average values type", + "12150": "Output power limitation of PV inverter", + "12151": "Q(V), number of support points to be used", + "12152": "Maximum active power", + "12153": "Reactive power mode, reference size for reactive power setting", + "12154": "Number of supported strings", + "12156": "Minimum active power", + "12157": "Q(V), voltage value", + "12158": "Q(V), reactive power value", + "12159": "Maximum active power", + "12160": "Minimum active power", + "12161": "External active power setpoint 2, low priority", + "12162": "Q(V), external reference voltage setting in p.u.", + "12163": "Q(V), operating mode for reference voltage adaption", + "12164": "Fallback of reactive power control in event of outage of measuring point", + "12165": "Q(V), fallback of reference voltage", + "12166": "External active power setting, fallback value of minimum active power", + "12167": "External active power setting, fallback value of maximum active power", + "12168": "External active power setting 2, fallback behavior", + "12169": "External active power setting, nominal value filter", + "12170": "PV system voltage phase L1", + "12171": "PV system voltage phase L2", + "12172": "PV system voltage phase L3", + "12173": "Current control mode", + "12174": "Battery and control interface", + "12175": "Reactive power compensation", + "12176": "Encryption", + "12177": "Q(V), max. number of support points", + "12178": "Q(V), setting time of automatic reference voltage adaption", + "12179": "Insulation monitoring", + "12180": "Rated active power WMaxOutRtg", + "12181": "Rated active power WMaxInRtg", + "12182": "Rated active power WMinOutRtg", + "12183": "Rated active power WMinInRtg", + "12184": "Rated reactive power VArMaxQ1Rtg", + "12185": "Rated reactive power VArMaxQ2Rtg", + "12186": "Rated reactive power VArMaxQ3Rtg", + "12187": "Rated reactive power VArMaxQ4Rtg", + "12188": "Rated cos φ PFMinQ1Rtg", + "12189": "Rated cos φ PFMinQ2Rtg", + "12190": "Rated cos φ PFMinQ3Rtg", + "12191": "Rated cos φ PFMinQ4Rtg", + "12192": "Rated apparent power VAMaxOutRtg", + "12193": "Rated apparent power VAMaxInRtg", + "12194": "Nominal active power WMaxOut", + "12195": "Nominal active power WMaxIn", + "12196": "Nominal active power WMinOut", + "12197": "Nominal active power WMinIn", + "12198": "Nominal apparent power VAMaxOut", + "12199": "Nominal apparent power VAMaxIn", + "12200": "Nominal reactive power VArMaxQ1", + "12201": "Nominal reactive power VArMaxQ2", + "12202": "Nominal reactive power VArMaxQ3", + "12203": "Nominal reactive power VArMaxQ4", + "12204": "Nominal reactive power VArMaxZerWQ1", + "12205": "Nominal reactive power VArMaxZerWQ2", + "12206": "Nominal reactive power VArMaxZerWQ3", + "12207": "Nominal reactive power VArMaxZerWQ4", + "12208": "Nominal cos φ PFMinQ1", + "12209": "Nominal cos φ PFMinQ2", + "12210": "Nominal cos φ PFMinQ3", + "12211": "Nominal cos φ PFMinQ4", + "12212": "Data logging of PV module outputs", + "12213": "Absolute meter reading for grid infeed", + "12214": "Absolute meter reading of grid consumption", + "12215": "External cos φ setting, cos φ nominal value in case of active power output", + "12216": "External cos φ setting, excitation type in case of active power output", + "12217": "External cos φ setting, cos φ nominal value in case of active power draw", + "12218": "External cos φ setting, excitation type in case of active power draw", + "12219": "External cos φ setting, fallback value of cos φ in case of active power output", + "12220": "External cos φ setting, fallback value of excitation type in case of active power output", + "12221": "External cos φ setting, fallback value of cos φ in case of active power draw", + "12222": "External cos φ setting, fallback value of excitation type in case of active power draw", + "12223": "Manual cos φ setting, cos φ nominal value in case of active power generation", + "12224": "Manual cos φ setting, excitation type in case of active power generation", + "12225": "Manual cos φ setting, cos φ nominal value in case of active power draw", + "12226": "Manual cos φ setting, excitation type in case of active power draw", + "12227": "cos φ setting, actual value filter for active power value", + "12228": "cos φ setting, actual value filter for active power value", + "12229": "cos φ setting, nominal value filter", + "12230": "cos φ setting, setting time, nominal value filter", + "12231": "cos φ setting, limitation of change rate", + "12232": "cos φ setting, increase rate", + "12233": "Reactive power setting with voltage limitation", + "12234": "Reactive power setting with voltage limitation, voltage value", + "12235": "Reactive power setting with voltage limitation, reactive power value", + "12236": "External active power setting, setting time, nominal value filter", + "12237": "Manual reactive power setting in case of active power draw", + "12239": "Reactive power setting, nominal value filter", + "12240": "Reactive power setting, setting time, nominal value filter", + "12241": "Reactive power setting, limitation of change rate", + "12242": "Reactive power setting, increase rate", + "12243": "Reactive power mode, hysteresis active power", + "12244": "Reactive power mode, hysteresis time", + "12245": "Reactive power mode in case of active power output", + "12246": "Reactive power mode in case of active power draw", + "12247": "Reactive power for zero active power", + "12248": "Reactive power fallback process in case of active power output", + "12249": "Reactive power fallback process in case of active power draw", + "12250": "Reactive power fallback process in case of zero active power", + "12251": "Residual current limiting", + "12252": "Activation of residual current limiting", + "12253": "Active reactive power range", + "12254": "Voltage-dependent reactive power limitation", + "12255": "Voltage-dependent reactive power limitation, distance to cut-off thresholds of voltage monitoring", + "12256": "Voltage-dependent reactive power limitation, hysteresis voltage", + "12257": "Reactive power setting, decrease rate", + "12258": "cos φ setting, decrease rate", + "12259": "Dynamic grid support, short-term averaging time of the pre-fault voltage", + "12260": "Dynamic grid support, long-term averaging time of the pre-fault voltage", + "12261": "Dynamic grid support, averaging of threshold value detection", + "12262": "Applicable voltages", + "12263": "Dynamic grid support, overvoltage threshold for zero current", + "12264": "Dynamic grid support, undervoltage threshold for zero current", + "12265": "dI_B/dt Gradient limitation for the reactive current in transition from fault operation to normal operation", + "12266": "Dynamic grid support, averaging for reactive current static", + "12267": "Dynamic grid support, overvoltage threshold for reactive current", + "12268": "Dynamic grid support, undervoltage threshold for reactive current", + "12269": "Dynamic grid support, voltage leap height", + "12270": "Dynamic grid support, k-factor of react. current stat. in neg. system", + "12271": "Dynamic grid support, maximum reactive current in case of overvoltage", + "12272": "Dynamic grid support, active current priority at apparent current limit", + "12273": "dI_W/dt Gradient limitation for active current in transition from fault operation to normal operation", + "12274": "Maximum time for which the inverter supplies dynamic reactive current", + "12275": "Dynamic grid support, reactive current change rate after fault end", + "12276": "Dynamic grid support, active current change rate after fault end", + "12277": "Dynamic grid support, time for providing reactive power after voltage leap", + "12278": "P(f) characteristic curve", + "12279": "P(f) reference value for active power in case of overfrequency", + "12280": "P(f), setting time", + "12281": "P(f), buckling overfrequency", + "12282": "P(f), active power change per Hz in case of overfrequency", + "12283": "P(f), buckling underfrequency", + "12284": "P(f), active power change per Hz in case of underfrequency", + "12285": "P(f), hysteresis in case of overfrequency", + "12286": "P(f), hysteresis in case of underfrequency", + "12287": "Dynamic grid support, maximum reactive current in case of undervoltage", + "12288": "Dynamic grid support, lag time in case of overvoltage", + "12289": "Dynamic grid support, lag time in case of undervoltage", + "12290": "Presetting of Q(V) curve", + "12291": "P(f), reset underfrequency", + "12292": "Energy saving mode in self-consumption switched on", + "12293": "P(f), reset underfrequency", + "12294": "Manual reactive power setpoint for active power draw", + "12295": "Log level of EEBus gateway", + "12296": "Standardized reactive power setpoint by communication", + "12297": "Q(V), fallback behavior for absent reference voltage setting", + "12298": "Dynamic grid support, hysteresis voltage", + "12299": "External active power setting, limitation of change rate", + "12300": "External active power setting, increase rate", + "12301": "External active power setting, decrease rate", + "12303": "External active power setting 2, fallback value of minimum active power", + "12304": "External active power setting 2, fallback value of maximum active power", + "12305": "External active power setting 2, timeout", + "12306": "External active power setting 2, nominal value filter", + "12307": "External active power setting 2, setting time, nominal value filter", + "12308": "External active power setting 2, limitation of change rate", + "12309": "External active power setting 2, increase rate", + "12310": "External active power setting 2, decrease rate", + "12311": "Voltage monitoring, median maximum threshold", + "12312": "Voltage monitoring, lower maximum threshold", + "12313": "Voltage monitoring, upper minimum threshold", + "12314": "Voltage monitoring, median minimum threshold", + "12315": "Voltage monitoring, upper maximum threshold", + "12316": "Voltage monitoring, peak voltage threshold", + "12317": "Voltage monitoring, lower minimum threshold", + "12319": "Volt. increase prot.", + "12320": "Min. voltage for reconnection", + "12321": "Max. voltage for reconnection", + "12322": "Q(V), nominal value filter", + "12323": "Q(V), limitation of change rate", + "12324": "Q(V), increase rate", + "12325": "Q(V), decrease rate", + "12326": "Q(P), max. number of support points", + "12327": "Q(P), number of support points to be used", + "12328": "Q(P), active power value", + "12329": "Q(P), reactive power value", + "12330": "Q(P), nominal value filter", + "12331": "Q(P), setting time, nominal value filter", + "12332": "Q(P), limitation of change rate", + "12333": "Q(P), increase rate", + "12334": "Q(P), decrease rate", + "12335": "cos φ(P), upper deactivation voltage", + "12336": "cos φ(P), upper activation voltage", + "12337": "cos φ(P), max. number of support points", + "12338": "cos φ(P), number of support points to be used", + "12339": "cos φ(P), excitation type", + "12340": "cos φ(P), cos φ nominal value", + "12341": "cos φ(P), active power", + "12342": "Departure time of connected vehicle (E-mobility)", + "12343": "Time of reaching target charge", + "12344": "External generator feed-in counter", + "12345": "Feed-in power of external generator", + "12346": "cos φ(P), actual value filter for active power measured value", + "12347": "cos φ(P), setting time, actual value filter", + "12348": "cos φ(P), nominal value filter", + "12349": "cos φ(P), setting time, nominal value filter", + "12350": "cos φ(P), limitation of change rate", + "12351": "cos φ(P), increase rate", + "12352": "cos φ(P), decrease rate", + "12353": "Tripping threshold DC current monitoring", + "12354": "DC monitoring mode", + "12355": "P(V), activation", + "12356": "P(V), nominal value filter", + "12357": "P(V), setting time, nominal value filter", + "12358": "P(V), limitation of change rate", + "12359": "P(V), increase rate", + "12360": "P(V), decrease rate", + "12361": "P(V), tripping delay", + "12362": "P(V), max. number of support points", + "12363": "P(V), number of points used", + "12364": "P(V), voltage value", + "12365": "P(V), active power value", + "12366": "cos φ(V), max. number of support points", + "12367": "cos φ(V), number of support points used", + "12368": "cos φ(V), voltage value", + "12369": "cos φ(V), excitation type", + "12370": "cos φ(V), cos φ nominal value", + "12371": "cos φ(V), actual value filter for active power measured value", + "12372": "cos φ(V), setting time, actual value filter", + "12373": "cos φ(V), nominal value filter", + "12374": "cos φ(P), setting time, nominal value filter", + "12375": "cos φ(P), limitation of change rate", + "12376": "cos φ(V), increase rate", + "12377": "cos φ(V), decrease rate", + "12378": "cos φ(V), tripping delay", + "12379": "cos φ(V), status", + "12380": "JET test mode", + "12384": "Dynamic grid support, minimum duration of providing reactive current", + "12385": "Dynamic grid support, maximum duration of providing reactive current", + "12386": "P(V), type of reference voltage", + "12387": "P(V), type of reference active power", + "12388": "RS485 interface", + "12389": "Q(V), timeout for absent reference voltage setting", + "12390": "Q(V), tripping delay", + "12391": "Q(P), upper deactivation voltage", + "12392": "Q(P), upper activation voltage", + "12393": "Q(P), tripping delay", + "12394": "cos φ(P), tripping delay", + "12395": "Q(V), setting time, nominal value filter", + "12396": "Voltage monitoring, peak voltage threshold tripping time", + "12397": "Voltage monitoring, upper max. threshold trip. time", + "12398": "Phase reference of grid nominal voltage", + "12399": "Status of active power limitation setting", + "12401": "Enable command that overwrites enable conditions", + "12402": "Reference voltage selection", + "12403": "Manual restart after arc detection", + "12404": "Manual restart after 0% preset", + "12405": "Manual restart after fault current", + "12406": "P(f), reference value for active power for underfrequency", + "12407": "Displacement factor cos φ setpoint input via analog input", + "12408": "Displacement factor cos φ excitation type via analog input", + "12409": "Electrical reference point for grid requirements", + "12410": "Increase rate in case of insolation change", + "12411": "Priority compared to local charact. curves", + "12412": "Priority compared to local charact. curves", + "12413": "Function execution level P(f)", + "12414": "Function execution level P(V)", + "12415": "Function execution level reactive power mode", + "12416": "Soft start-up P", + "12417": "Standby status", + "12418": "Operating status", + "12419": "Source of maximum active power setpoint", + "12420": "Source of minimum active power setpoint", + "12421": "Current maximum active power setpoint", + "12422": "Current minimum active power setpoint", + "12423": "Current reference voltage setpoint for Q(V)", + "12424": "Current cos φ setpoint for active power draw", + "12425": "Current cos φ excitation type setpoint for active power draw", + "12426": "Max. setpoint value for active power of storage (pos. = discharge power, neg. = charge power)", + "12427": "Min. setpoint value for active power of storage (pos. = discharge power, neg. = charge power)", + "12428": "Communication to SMA Portal permitted", + "12429": "Communication to Tigo Cloud permitted", + "12431": "Q(P), lower deactivation voltage", + "12432": "Q(P), lower activation voltage", + "12433": "cos φ(P), lower deactivation voltage", + "12434": "cos φ(P), lower activation voltage", + "12435": "Active power control mode", + "12436": "Reactive power control mode", + "12437": "Soft start-up rate Q", + "12438": "Soft start-up Q", + "12439": "Modbus P-settings at input 2", + "12440": "Dynamic grid support, reactive power dynamic after error end", + "12441": "Reactive power behavior, type of reference voltage", + "12442": "NTP server for connected devices switched on", + "12443": "Islanding detection mode", + "12444": "Maximum active power setpoint specification", + "12445": "Minimum active power setpoint specification", + "12446": "Maximum reactive power setpoint specification", + "12447": "Minimum reactive power setpoint specification", + "12448": "Active reactive power behavior", + "12449": "Progress of the DC input configuration", + "12450": "EEI displacement power factor", + "12451": "Excitation type of cos φ", + "12452": "Grid and system protection", + "12453": "Maximum output voltage of the AC current regulator", + "12454": "Amplification of the resonance regulator for the fundamental harmonics current", + "12455": "Amplification of the integral regulator for the DC share in the AC current", + "12456": "Amplification of the proportion regulator for the fundamental harmonics current", + "12457": "Activation of the AC current controller", + "12458": "Activation of the active attenuation", + "12459": "Limit frequency of the active attenuation", + "12460": "Proportional amplification of the active attenuation", + "12461": "Activation of automatic grid connection", + "12462": "Activation of all harmonics regulators", + "12463": "Activation of harmonics regulator number 3", + "12464": "Activation of harmonics regulator number 4", + "12465": "Magnitude of the resonance frequency for harmonics regulator number 3", + "12466": "Magnitude of the resonance frequency for harmonics regulator number 4", + "12467": "Amplification of the resonance regulator for harmonics regulator number 3", + "12468": "Amplification of the resonance regulator for harmonics regulator number 4", + "12469": "Amplification of the proportional regulator for harmonics regulator number 3", + "12470": "Amplification of the proportional regulator for harmonics regulator number 4", + "12471": "Maximum output voltage of the harmonics regulators", + "12472": "Reduction factor of the fed-back grid voltage", + "12473": "Limit frequency of the band-pass filter for the grid voltage feedback", + "12474": "Integral amplification of the intermediate circuit voltage regulator", + "12475": "Proportional amplification of the intermediate circuit voltage regulator", + "12476": "Proportional amplification of the intermediate circuit symmetry regulation", + "12477": "Weighting of AC offset to DC offset for the intermediate circuit symmetry regulation", + "12478": "AID rate of rise", + "12479": "Reactive power setpoint specification via analog input", + "12480": "Battery maximum active power", + "12481": "Battery minimum active power", + "12482": "SMA SPOT direct marketing active", + "12483": "Manufacturer", + "12484": "Peak Load Shaving - charging limit", + "12485": "Peak Load Shaving - discharging limit", + "12486": "ennexOS framework version", + "12487": "ennexOS diagnostics configuration", + "12488": "Activated", + "12489": "Automatic Ethernet configuration enabled", + "12490": "Currently used IP address", + "12491": "Currently used IP subnet mask", + "12492": "Currently used IP gateway address", + "12493": "Currently used IP DNS server address", + "12494": "Power drawn by PV", + "12495": "Energy PV", + "12496": "Absorbed energy PV", + "12497": "Battery power", + "12498": "Reactive power PV", + "12499": "Maximum battery charging current", + "12500": "Maximum battery discharge current", + "12501": "PFMinQ1-Q4 Limit for all reactive power modes", + "12502": "Activation threshold for active power output", + "12503": "Deactivation threshold for active power output", + "12504": "Activation threshold for active power draw", + "12505": "Deactivation threshold for active power draw", + "12506": "Acoustic signal for event messages", + "12507": "Reactive power setpoint via digital input", + "12508": "Minimum relay switching time", + "12509": "Minimum charge current", + "12510": "Operating mode of charge session", + "12511": "Duration of the charge session", + "12512": "Energy quantity of the charge session", + "12513": "Disconnection after full charge", + "12514": "Standby for charging process to disconnection", + "12515": "Serial number of the charge controller", + "12516": "SusyID of charge controller", + "12517": "Software version of the charge controller", + "12518": "Type of charge controller", + "12519": "Charge energy", + "12520": "Discharge energy", + "12521": "Switching request value", + "12522": "Switching request active", + "12523": "Freezer unit rating", + "12524": "Refrigeration unit rating", + "12525": "Freezer system rating", + "12526": "Refrigeration system rating", + "12527": "Internal temperature", + "12529": "Heartbeat", + "12530": "Hot gas temperature actual value", + "12531": "Hot gas temperature setpoint", + "12532": "Hot gas override limit", + "12533": "Compressor power level", + "12534": "Available underexcited \nreactive power", + "12535": "Available overexcited reactive power", + "12536": "Theoretically available system power", + "12537": "Generation plant availability", + "12538": "External active power reduction", + "12539": "Current active power setpoint", + "12540": "Current reactive power setpoint", + "12541": "Available active power", + "12542": "Available reactive power", + "12543": "Modbus profile version", + "12544": "Error code", + "12545": "Device status", + "12546": "Control mode", + "12547": "Power", + "12548": "Load power", + "12549": "Load reactive power", + "12550": "Load power consumption", + "12551": "Number of active strings", + "12552": "Number of active strings", + "12553": "Number of active battery systems", + "12554": "Power consumption at point of common coupling", + "12555": "Feed in power at point of common coupling", + "12556": "Setpoint reserved power for genset systems", + "12557": "Start request command for genset systems", + "12558": "Total PV active power limitation", + "12559": "Total PV reactive power setpoint", + "12560": "Total battery active power setpoint", + "12561": "Total battery reactive power setpoint", + "12562": "Active power setpoint for battery system", + "12563": "Reactive power setpoint for whole system (PV and BAT)", + "12564": "Voltage setpoint (phase-phase)", + "12565": "Power factor setpoint", + "12566": "Upper active power limitation for whole plant (PV and BAT)", + "12567": "Lower active power limitation for whole plant (PV and BAT)", + "12568": "Deny inverter restart by Hybrid Controller", + "12569": "Current generator performance", + "12570": "Current generator reactive power", + "12571": "Counter state of generator generating meter", + "12572": "PV reactive power currently supplied from grid", + "12573": "Supplied reactive battery power in all phases", + "12574": "Available underexcited reactive power", + "12575": "Available overexcited reactive power", + "12576": "Generation plant availability", + "12577": "AC self-test mode", + "12578": "Parameter change via Sunny Portal", + "12579": "Total energy fed into the grid", + "12580": "Total energy drawn from the grid", + "12581": "Total energy released", + "12582": "Current grid export active power", + "12583": "Current grid export reactive power", + "12584": "Local time of the automatic update", + "12585": "Local start time additional time period, generator request", + "12586": "Local end time additional time period, generator request", + "12587": "Local time of the update", + "12588": "Local start time of selected function", + "12589": "Local end time of selected function", + "12590": "Local start time battery protection mode level", + "12591": "Local end time battery protection mode level", + "12592": "Local start time for PV grid feed-in", + "12593": "Local end time for PV grid feed-in", + "12594": "Local end time additional time period for grid request", + "12595": "Local start time additional time period for grid request", + "12596": "Local time load shedding 1", + "12597": "Local tart time additional time period load shedding 1", + "12598": "Local time load shedding 2", + "12599": "Local start time additional time period load shedding 2", + "12600": "Operation with meter at point of interconnection", + "12601": "Set active power limit for grid-supplied power at point of interconnection", + "12602": "Available power for charging stations", + "12603": "Current power limitation of charging stations", + "12604": "Device serial number", + "12605": "Direct selling enabled", + "12606": "Output current Grid feed-in Line conductor L1 at point of interconnection", + "12607": "Output current Grid feed-in Line conductor L2 at point of interconnection", + "12608": "Output current Grid feed-in Line conductor L3 at point of interconnection", + "12609": "Grid voltage Line conductor L1 against L2 at point of interconnection", + "12610": "Grid voltage Line conductor L2 against L3 at point of interconnection", + "12611": "Grid voltage Line conductor L3 against L1 at point of interconnection", + "12612": "Mean value Grid voltage Line conductor L-N", + "12613": "Mean value Grid voltage Line conductor L-L", + "12614": "Power Grid feed-in Line conductor L1 at point of interconnection", + "12615": "Power Grid feed-in Line conductor L2 at point of interconnection", + "12616": "Power Grid feed-in Line conductor L3 at point of interconnection", + "12617": "Reactive power Grid feed-in Line conductor L1 at point of interconnection", + "12618": "Reactive power Grid feed-in Line conductor L2 at point of interconnection", + "12619": "Reactive power Grid feed-in Line conductor L3 at point of interconnection", + "12620": "Mean value Grid voltage L-N at point of interconnection", + "12621": "Mean value Grid voltage L-L at point of interconnection", + "12622": "Displacement power factor at point of interconnection", + "12623": "Grid frequency at point of interconnection", + "12624": "End of charging process", + "12625": "No translation in Taglist for ID 12625", + "12626": "No translation in Taglist for ID 12626", + "12627": "No translation in Taglist for ID 12627", + "12628": "External cos φ setting, cos φ nominal value in case of active power output", + "12629": "External cos φ setting, excitation type in case of active power output", + "12630": "External cos φ setting, cos φ nominal value in case of active power draw", + "12631": "External cos φ setting, excitation type in case of active power draw", + "12632": "Difference PV system time/system time", + "12633": "Nominal power of connected diesel generators", + "12634": "Activation threshold for string-failure detection", + "12635": "Energy released by string", + "12636": "Total energy released by string", + "12637": "Set offset of energy released by string", + "12638": "SunSpec life sign", + "12639": "Available underexcited reactive power", + "12640": "Available overexcited reactive power", + "12641": "Current charging power", + "12642": "Current discharging power", + "12643": "Digital input", + "12644": "Maximum DC voltage of complete device", + "12645": "Actual value filter for measured frequency value", + "12646": "Setting time actual value filter", + "12647": "Highest measured battery temperature", + "12648": "Lowest measured battery temperature", + "12649": "End-of-charge voltage", + "12650": "End-of-discharge voltage", + "12651": "Maximum charging current", + "12652": "Maximum discharging current", + "12653": "Current battery energy content", + "12654": "Sum of cell voltages", + "12655": "Lowest measured cell voltage", + "12656": "Highest measured cell voltage", + "12657": "Measured value of displacement power factor", + "12658": "Temperature of dew point", + "12659": "Absolute air pressure", + "12660": "Relative air pressure", + "12661": "Standard deviation of wind speed", + "12662": "Standard deviation of wind direction", + "12663": "Quality of wind measurement ", + "12664": "Absolute precipitation amount", + "12665": "Differential precipitation amount", + "12666": "Precipitation intensity", + "12667": "Precipitation type", + "12668": "WMO code", + "12669": "Lightning events", + "12670": "Lightning events (interval)", + "12671": "External temperature sensor", + "12672": "Operating Voltage", + "12673": "Feed-in monitoring at point of interconnection", + "12674": "Percentage feed-in limit at point of interconnection", + "12675": "Feed-in monitoring time at point of interconnection", + "12676": "Manually set active power setpoint in %", + "12677": "Manually set active power setpoint in W", + "12678": "External active power setpoint", + "12679": "External active power setpoint 2", + "12680": "External active power setpoint via SMA SPOT (direct seller)", + "12681": "External active power setpoint via Modbus (direct seller)", + "12682": "External active power setpoint via analog inputs (electric utility company)", + "12683": "External active power setpoint via digital inputs (electric utility company)", + "12684": "External active power setpoint via Modbus (electric utility company)", + "12685": "External reactive power setpoint via digital inputs (electric utility company)", + "12686": "External reactive power setpoint via analog inputs (electric utility company)", + "12687": "External reactive power setpoint via Modbus (electric utility company)", + "12688": "External cos phi setpoint via Modbus (electric utility company)", + "12689": "External cos phi setpoint via analog inputs (electric utility company)", + "12690": "Modbus TCP server addresses", + "12691": "Modbus profile", + "12692": "Status of installation test of meter at point of interconnection", + "12694": "Device temperature", + "12695": "Standard deviation of solar irradiation", + "12696": "Pollution degree Sensor 1", + "12697": "Transmission loss Sensor 1", + "12698": "Pollution degree Sensor 2", + "12699": "Transmission loss Sensor 2", + "12700": "Data model version", + "12701": "Software version", + "12702": "Hardware version", + "12703": "Inclination X-axis", + "12704": "Inclination Y-axis", + "12705": "Year of factory calibration", + "12706": "Month of factory calibration", + "12707": "Day of factory calibration", + "12708": "Maximum active power setpoint (grid supply)", + "12709": "Minimum active power setpoint (grid supply)", + "12710": "Proportional gain of active power controller", + "12711": "Integral gain of active power controller", + "12712": "Proportional gain of reactive power controller", + "12713": "Integral gain of reactive power controller", + "12714": "Proportional gain of voltage regulator", + "12715": "Integral gain of voltage regulator", + "12716": "Voltage setpoint (line-to-line)", + "12717": "Voltage setpoint (line-to-line)", + "12718": "Voltage regulation, setting time of actual value filter", + "12719": "Voltage regulation, actual value filter for measured voltage value", + "12720": "Upper limit of voltage regulator", + "12721": "Lower limit of voltage regulator", + "12722": "Voltage setpoint", + "12723": "DC-Current input", + "12724": "DC-Voltage input", + "12725": "Number of local calibrations initiated", + "12726": "Number of local calibrations succeeded", + "12727": "Calibration flags", + "12728": "Interval of cyclic insulation measurement", + "12729": "Time of cyclic insulation measurement", + "12730": "Standardized measured voltage value for Q(V)", + "12731": "Connection of line conductor L1 of device to line conductor of power distribution", + "12732": "Connection of line conductor L2 of device to line conductor of power distribution", + "12733": "Connection of line conductor L3 of device to line conductor of power distribution", + "12734": "Pollution degree Sensor", + "12735": "Transmission loss Sensor", + "12736": "Position of rotary switch", + "12737": "Starting the I-V curve measurement", + "12738": "IP addresses of battery", + "12739": "Data recording on memory card", + "12740": "Dynamic grid support, voltages to be used for voltage jump detection", + "12741": "Dynamic grid support, delay time for residual current at undervoltage", + "12742": "Dynamic grid support, delay time for residual current at overvoltage", + "12743": "Maximum connection frequency after overfrequency disconnection", + "12744": "Maximum connection frequency after restart", + "12745": "Minimum connection frequency after restart", + "12746": "OCPP server address", + "12747": "OCPP server port", + "12748": "Client ID for registration on OCPP server", + "12749": "User name for registration on the OCPP server", + "12750": "Password for registration on OCPP server", + "12751": "Maximum charging current", + "12752": "Currently available charging points", + "12753": "Maximum available charging points", + "12754": "Charging transactions performed", + "12755": "AFCI switched on", + "12756": "AFCI meter", + "12757": "Reset AFCI meter", + "12758": "Frequency containment reserve (FCR), reference active power for active power offset", + "12759": "Frequency containment reserve (FCR), cut-off point at overfrequency", + "12760": "Frequency containment reserve (FCR), active power offset per Hz at overfrequency", + "12761": "Frequency containment reserve (FCR), threshold for activation at overfrequency", + "12762": "Frequency containment reserve (FCR), cut-off point at underfrequency", + "12763": "Frequency containment reserve (FCR), active power offset per Hz at underfrequency", + "12764": "Frequency containment reserve (FCR), threshold for activation at underfrequency", + "12765": "Frequency containment reserve (FCR), actual value filter for measured frequency value", + "12766": "Frequency containment reserve (FCR), response time of actual value filter for measured frequency value", + "12767": "Frequency containment reserve (FCR), operating reserve related to the available active power", + "12768": "Frequency containment reserve (FCR), filter for available active power", + "12769": "Frequency containment reserve (FCR), response time of filter for available active power", + "12770": "Frequency containment reserve (FCR), limitation of ramp rate of available active power", + "12771": "Frequency containment reserve (FCR), ramp-up rate of available active power", + "12772": "Frequency containment reserve (FCR), ramp-down rate of available active power", + "12773": "Frequency containment reserve (FCR), setpoint filter for active power offset", + "12774": "Frequency containment reserve (FCR), response time of setpoint filter for active power offset", + "12775": "Frequency containment reserve (FCR), limitation of ramp rate of active power offset", + "12776": "Frequency containment reserve (FCR), ramp-up rate of active power offset", + "12777": "Frequency containment reserve (FCR), ramp-down rate of active power offset", + "12778": "Frequency containment reserve (FCR), base active power", + "12779": "Frequency containment reserve (FCR)", + "12780": "Upper reactive power threshold for deactivating the reactive power control", + "12781": "Lower reactive power threshold for deactivating the reactive power control", + "12782": "Upper reactive power threshold for activating the reactive power control", + "12783": "Lower reactive power threshold for activating the reactive power control", + "12787": "Maximum connection voltage after restart", + "12788": "Minimum connection voltage after restart", + "12789": "Operating mode of backup mode of PV inverter", + "12790": "Eingespeiste Leistung", + "12791": "Air flow rate", + "12792": "Volume", + "12793": "Billing calorific value", + "12794": "Conversion factor", + "12795": "Number of active systems", + "12796": "Total nominal power", + "12797": "Available system power", + "12798": "Manual operating mode setting in laboratory mode", + "12799": "Run diagnostic export of the subsystem", + "12800": "Reference of unbalanced load limitation", + "12801": "Available inverter power", + "12802": "Address of MQTT broker", + "12803": "Port of MQTT broker", + "12804": "Connection state of MQTT broker", + "12805": "Voltage monitoring (for reconnection after a disconnection), maximum threshold tripping time", + "12806": "Voltage monitoring (for reconnection after a disconnection), minimum threshold tripping time", + "12807": "Frequency monitoring (for reconnection after a disconnection), maximum threshold tripping time", + "12808": "Frequency monitoring (for reconnection after a disconnection), minimum threshold tripping time", + "12809": "Time until reactivation of reactive power control", + "12811": "Manual input of frequency measuring value at point of interconnection", + "12813": "Manual input of system voltage of line conductor L1", + "12814": "Manual input of system voltage of line conductor L2", + "12815": "Manual input of system voltage of line conductor L3", + "12816": "Manual input of system voltage of line conductors L1 - L2 at point of interconnection", + "12817": "Manual input of system voltage of line conductors L2 - L3 at point of interconnection", + "12818": "Manual input of system voltage of line conductors L2 - L3 at point of interconnection", + "12819": "Active power threshold for activating the reactive power control", + "12820": "Waiting time until deactivation of reactive power control", + "12821": "Dynamic grid support, overvoltage threshold for deactivating the active and reactive power control", + "12822": "Dynamic grid support, overvoltage threshold for deactivating the active and reactive power control", + "12823": "Dynamic grid support, undervoltage threshold for deactivating the active and reactive power control", + "12824": "Dynamic grid support, undervoltage threshold for deactivating the active and reactive power control", + "12825": "Waiting time until reactivation of active and reactive power control", + "12826": "Dynamic grid support, actual value filter for measured voltage value", + "12827": "Dynamic grid support, response time of actual value filter", + "12830": "Permission to access via SMA Service", + "12831": "Access process via SMA Service", + "12834": "Energy DC input A", + "12835": "Energy DC input B", + "12836": "Energy DC input C", + "12837": "Energy DC input D", + "12838": "Energy DC input E", + "12839": "Energy DC input F", + "12840": "Energy DC input G", + "12841": "Energy DC input H", + "12842": "Energy DC input I", + "12843": "Energy DC input J", + "12844": "Energy DC input K", + "12845": "Energy DC input L", + "12846": "Energy DC input M", + "12847": "Energy DC input N", + "12848": "Energy DC input O", + "12849": "Energy DC input P", + "12850": "Q(V), external reference voltage setting in V", + "12851": "Rapid Shutdown Initiator", + "12852": "Warning threshold for critical insulation resistance", + "12853": "Time until equalization charge has been completed in SOC range 1", + "12854": "Time until equalization charge has been completed in SOC range 2", + "12855": "Number of batteries", + "12856": "Fast shutdown via the digital input", + "12857": "Permitted upper battery charge limit", + "12858": "Maximum charge power of the battery. ", + "12859": "Maximum discharge power of the battery. ", + "12860": "Fallback of the limitation of the battery charge.", + "12861": "Fallback of the limitation of the battery discharge.", + "12862": "Current battery state of charge including set reserve range", + "12863": "Current battery capacity including set reserve range", + "12864": "Individual device", + "12864t": "Does the system consist of an individual device with energy meter?", + "12865": "Lower intermediate circuit voltage half", + "12866": "Upper intermediate circuit voltage half", + "12867": "Setpoint for the DC input balancing", + "12868": "Balancing current in the RSC", + "12869": "Integral local frequency (ILF), activation", + "12870": "Integral local frequency (ILF), time until deactivation", + "12871": "Integral local frequency (ILF), overfrequency for activation", + "12872": "Integral local frequency (ILF), overfrequency for deactivation", + "12873": "Integral local frequency (ILF), active power gradient", + "12874": "Integral local frequency (ILF), actual value filter for measured frequency value", + "12875": "Integral local frequency (ILF), response time of actual value filter for measured frequency value", + "12877": "AC current limitation", + "12878": "Integral local frequency (ILF), underfrequency for activation", + "12879": "Integral local frequency (ILF), underfrequency for deactivation", + "12880": "Modbus SunSpec profile version", + "12881": "Integral local frequency (ILF), activation via Modbus", + "12882": "Number of active charging stations", + "12883": "Charging release via app", + "12884": "Manual charging release", + "12885": "Brightness of the LEDs", + "12886": "Integral local frequency (ILF), upper frequency limit prior to active power release", + "12887": "Integral local frequency (ILF), lower frequency limit prior to active power release", + "12888": "Active power limit for activating the reactive power control", + "12889": "Active power limit for deactivating the reactive power control", + "12890": "Waiting time until deactivation of reactive power control", + "12894": "Q(V), response time for setpoint filter", + "12895": "Nominal apparent power VAMaxOut Service", + "12896": "Nominal apparent power VAMaxIn Service", + "12897": "Duty cycle of the fan control", + "12898": "Rated grid voltage", + "12899": "Communication timeout data logging energy meter at the point of interconnection", + "12900": "Peak load limit: discharging limiting value when the state of charge is low", + "12901": "Peak load limit: charging limiting value when the state of charge is low", + "12902": "Peak load limit: state of charge limit for switching the parameter sets", + "12903": "Peak load limit: discharging limiting value when the state of charge is high", + "12904": "Peak load limit: charging limiting value when the state of charge is high", + "12905": "External active power setpoint, ramp rate in fallback behavior", + "12906": "External active power setpoint, limitation of the ramp rate in fallback behavior", + "12907": "Reactive power setpoint, ramp rate in fallback behavior", + "12908": "Reactive power setpoint, limitation of the ramp rate in fallback behavior", + "12909": "Activation of the apparent power limitation", + "12910": "AC voltage of backup supply of connected line conductor L1", + "12911": "AC voltage of backup supply of connected line conductor L2", + "12912": "AC voltage of backup supply of connected line conductor L3", + "12913": "AC current of backup supply of connected line conductor L1", + "12914": "AC current of backup supply of connected line conductor L2", + "12915": "AC current of backup supply of connected line conductor L3", + "12916": "AC power of backup supply of connected line conductor L1", + "12917": "AC power of backup supply of connected line conductor L2", + "12918": "AC power of backup supply of connected line conductor L3", + "12919": "Hysteresis charge/discharge limits switchover STPS-60", + "12920": "Nominal active power WMaxOut – Service", + "12921": "SingleCast IP address 1", + "12922": "SingleCast IP address 2", + "12923": "SingleCast IP address 3", + "12924": "AFCI is allowed", + "12925": "Applied voltages", + "12926": "P(V), low priority", + "12927": "Fallback of the battery control in case of a measuring point failure", + "12928": "Time until aborting the equalization charge for lithium-ion batteries", + "12929": "Hysteresis charge/discharge limits switchover STPS-60", + "12930": "Battery-backup system present", + "12931": "Measured value filtering, actual value filter for measured active power values", + "12932": "Measured value filtering, actual value filter for measured reactive power values", + "12933": "Measure value filtering, actual value filter for measured frequency value", + "12934": "Measure value filtering, actual value filter for measured voltage values", + "12935": "Measured value filtering, response time of actual value filter for measured active power values", + "12936": "Measured value filtering, response time of actual value filter for measured reactive power values", + "12937": "Measure value filtering, response time of actual value filter for measured frequency value", + "12938": "Measure value filtering, response time of actual value filter for measured voltage values", + "12939": "Configuration of the backup type", + "12941": "Status of connection detection", + "12942": "Batteries found", + "12943": "Status of the communication terminal", + "12944": "Analog voltage input", + "12945": "Type of AC control", + "12946": "Delay in switchover to battery-backup operation", + "12947": "Setpoint of the frequency shift of the characteristic curve f(P)", + "12948": "Setpoint of the voltage shift of the characteristic curve V(Q)", + "12949": "DC current setpoint for constant current mode", + "12950": "Standardized ramp rate of active power at the point of interconnection", + "12951": "Ramp rate of active power at the point of interconnection", + "12952": "I(V), voltage value", + "12953": "External reactive power setpoint, ramp rate in fallback behavior", + "12954": "External reactive power setpoint 2, ramp rate in fallback behavior", + "12955": "External reactive power setpoint, activation of the ramp rate in fallback behavior", + "12956": "External reactive power setpoint 2, activation of the ramp rate in fallback behavior", + "12957": "External active power setpoint, ramp rate in fallback behavior", + "12958": "External active power setpoint 2, ramp rate in fallback behavior", + "12959": "External active power setpoint, activation of the ramp rate in fallback behavior", + "12960": "External active power setpoint 2, activation of the ramp rate in fallback behavior", + "12961": "Messintervall des Energiezählers", + "12962": "I(V), current value", + "12965": "Aktivierung der Gradienten zur Begrenzung der Wirkleistungsänderung am Netzanschlußpunkt", + "12966": "Gradient zur Begrenzung der Wirkleistungssteigerung am Netzanschlußpunkt", + "12967": "Gradient zur Begrenzung der Wirkleistungsänderung am Netzanschlußpunkt", + "12968": "Active power limitation P, active power configuration", + "12969": "Status des Ersatzstromrelais", + "12970": "Datenaufzeichnung", + "12971": "Active power setpoint that is sent by the system controller to all inverters in stop state", + "12972": "Activation of fast reserve for storage systems (FRS)", + "12973": "Current target battery voltage", + "12974": "Call interval for the control at the system level", + "12975": "Setpoint of the battery power", + "12976": "Positive sequence voltage for stopping the phase-locked loop", + "12977": "Positive sequence voltage for renewed activation of the phase control loop", + "12978": "Waiting time for renewed activation of the phase control loop", + "12979": "Frequency setpoint for stopping the phase control loop", + "12980": "AC voltage of line conductor L1 ", + "12981": "AC voltage of line conductor L2", + "12982": "AC voltage of line conductor L3", + "12983": "Current of line conductor L1", + "12984": "Current of line conductor L2", + "12985": "Current of line conductor L3", + "12986": "Power of line conductor 1", + "12987": "Power of line conductor 2", + "12988": "Power of line conductor 3", + "12989": "individual setpoint distribution", + "12990": "External active power setting, fallback value of nominal minimum active power", + "12991": "External active power setting, fallback value of nominal maximum active power", + "12992": "External active power setting 2, fallback value of nominal minimum active power", + "12993": "External active power setting 2, fallback value of nominal maximum active power", + "12994": "Infoflags", + "12995": "Reserve time of FRS", + "12996": "Active characteristic curve duration of FRS", + "12997": "Duration for the change to 0 W after expiry of the active characteristic curve duration of FRS", + "12998": "Duration for the change to 0 W after expiry of the reserve time of FRS", + "12999": "Actual value filter for measured frequency value (FRS)", + "13000": "Setting time for actual value filter (FRS)", + "13001": "license", + "13002": "Number of switchovers in the redundancy system", + "13003": "Switchovers in the redundancy system, acknowledge errors", + "13004": "Role of the device in the redundancy system", + "13005": "azimuth position night", + "13006": "Flight recorder selection", + "13007": "Upper battery charge limit of the plant", + "13008": "Lower battery discharge limit of the plant", + "13009": "Availability Fast reserve for storage unit (FRS)", + "13010": "Plant nominal capacity", + "13011": "Free capacity of the plant", + "13012": "Accessible charge of the plant", + "13013": "sensitivity of end switch", + "13014": "Overdrive", + "19000": "STP 24.8-JP-50", + "19001": "STP 20.0-JP-50", + "19002": "STP 12.4-JP-50", + "19003": "STP 9.9-JP-50", + "19004": "EDMM-10.A", + "19005": "Sunny Central Storage 3450-UP", + "19006": "Sunny Central Storage 3450-UP-US", + "19007": "Sunny Central Storage 3600-UP", + "19008": "Sunny Central Storage 3600-UP-US", + "19009": "Sunny Central Storage 3800-UP", + "19010": "Sunny Central Storage 3800-UP-US", + "19011": "Sunny Central Storage 3950-UP", + "19012": "Sunny Central Storage 3950-UP-US", + "19013": "Sunny Central Storage 2750-UP", + "19014": "Sunny Central Storage 2750-UP-US", + "19015": "SMA EV CHARGER 7.4", + "19016": "SMA EV CHARGER 22", + "19017": "Sunny Island 50", + "19018": "Sunny Island 30", + "19019": "Sunny Island 60 US480", + "19020": "Sunny Island 40 US480", + "19021": "Sunny Island 27 US208", + "19022": "Sunny Highpower Storage 150", + "19023": "Sunny Highpower Storage 100", + "19024": "Sunny Highpower Storage 150-US", + "19025": "Sunny Highpower Storage 125-US", + "19026": "Sunny Highpower Storage 143-JP", + "19027": "Sunny Highpower Storage 100-JP", + "19028": "SMA DATA MANAGER M Lite", + "19029": "VBPC455GW3LH", + "19033": "SBG4-2A", + "19034": "SBT3-12A", + "19035": "Sunny Tripower Storage 50", + "19036": "Sunny Tripower Storage 30", + "19037": "Sunny Tripower Storage 60 US480", + "19038": "Sunny Tripower Storage 40 US480", + "19039": "Sunny Tripower Storage 27 US208", + "19040": "Sunny Tripower Storage 50 JP", + "19041": "FRITZ!DECT 301", + "19042": "Sunny Central Storage 2900-US 1100V", + "19043": "SmartSolar Energy meter RTU", + "19044": "Tesvolt_TS-HV-70", + "19045": "Battery-Box Premium HVM", + "19046": "Battery-Box Premium HVS", + "19047": "STP 110-60", + "19048": "SUNNY TRIPOWER 5.0 SE", + "19049": "SUNNY TRIPOWER 6.0 SE", + "19050": "SUNNY TRIPOWER 8.0 SE", + "19051": "SUNNY TRIPOWER 10.0 SE", + "19052": "Modbus-PV-WR", + "19053": "Modbus-IO-Modul", + "19054": "Sunny Central 2660-UP", + "19055": "Sunny Central 2660-UP-US", + "19056": "Sunny Central 2800-UP", + "19057": "Sunny Central 2800-UP-US", + "19058": "Sunny Central 2930-UP", + "19059": "Sunny Central 2930-UP-US", + "19060": "Sunny Central 3060-UP", + "19061": "Sunny Central 3060-UP-US", + "19062": "Sunny Central 2750-UP-US", + "19063": "Sunny Central Storage 2300-UP-XT", + "19064": "Sunny Central Storage 2300-UP-XT-US", + "19065": "Sunny Central Storage 2400-UP-XT", + "19066": "Sunny Central Storage 2400-UP-XT-US", + "19067": "Sunny Central Storage 2530-UP-XT", + "19068": "Sunny Central Storage 2530-UP-XT-US", + "19069": "Sunny Central Storage 2630-UP-XT", + "19070": "Sunny Central Storage 2630-UP-XT-US", + "19071": "Modbus-Hybrid-WR", + "19072": "SBS4.0-JP-10", + "19073": "Battery-Box Premium HVL", + "19074": "Battlecat PV ", + "19075": "Battlecat Hybrid", + "19076": "Battlecat Battery", + "19077": "FRITZ!DECT 500", + "19078": "Sunny Boy 7.7-US", + "19079": "Sunny Boy 7.0-US", + "19080": "Sunny Boy 6.0", + "19081": "Sunny Boy 5.8-US", + "19082": "Sunny Boy 4.8-US", + "19083": "Sunny Boy 3.8-US", + "19084": "Sunny Boy Smart Energy 7.7-US", + "19085": "Sunny Boy Smart Energy 6.0", + "19086": "Sunny Boy Smart Energy 5.8-US", + "19087": "Sunny Boy Smart Energy 4.8-US", + "19088": "Sunny Boy Smart Energy 3.8-US", + "19089": "Sunny Boy Storage 5.8-US", + "19090": "Sunny Boy Storage 5.0", + "19091": "SBT7-26", + "19092": "SHP 172-21", + "19093": "SHP 180-21", + "19094": "SHP 165-US-21", + "19095": "SHP 172-US-21", + "19096": "SHP FLEX-US-21", + "19097": "SHP 100-21", + "19098": "SHP 150-21", + "19099": "SHP 125-US-21", + "19100": "SHP 150-US-21", + "19101": "SHP 100-JP-21", + "19102": "SHP 143-JP-21", + "19103": "Sunny Boy Smart Energy 8.0", + "19104": "Sunny Boy Smart Energy 10.0", + "19105": "Sunny Boy Smart Energy 8.0-US", + "19106": "Sunny Boy Smart Energy 10.0-US", + "19107": "SSP 100-2X", + "19108": "SSP 150-2X", + "19109": "SSP 125-US-2X", + "19110": "SSP 150-US-2X", + "19111": "SSP 100-JP-2X", + "19112": "SSP 150-JP-2X", + "19113": "SSP 143-JP-2X", + "19114": "SSP 172-2X", + "19115": "SSP 180-2X", + "19116": "SSP 165-US-2X", + "19117": "SSP 172-US-2X", + "19118": "SSP FLEX-US-2X", + "19119": "SBT7-25", + "19120": "SBT3-12", + "19121": "Integrated multifunction relay", + "19122": "Electrolyzer Converter UP-HV", + "19123": "Electrolyzer Converter UP-HV-US", + "19124": "Electrolyzer Converter UP-LV", + "19125": "Electrolyzer Converter UP-LV-US", + "30000": "No translation in Taglist for ID 30000", + "30001": "Enable conditions in normal mode", + "30002": "Enable behavior", + "30003": "Operating status control", + "30004": "Function prioritization", + "30005": "Active power gradient, normal mode", + "30006": "Grid security management", + "30007": "Active Power Export Limitation", + "30008": "Voltage-dependent active power adjustment P(V)", + "30009": "Primary regulating power", + "30010": "Selection of reactive power mode", + "30011": "Reactive power setting", + "30012": "cos φ specification", + "30013": "Reactive power/active power char. curve Q(P)", + "30014": "React. power/volt. char. Q(V)", + "30015": "cos φ / reactive power char. curve cos φ(P)", + "30016": "cos φ / voltage curve cos φ(V)", + "30017": "Unbalances", + "30018": "Voltage protection", + "30019": "Dynamic grid support", + "30020": "Frequency protection", + "30021": "P(f)", + "30022": "Islanding detection", + "30023": "Country datasets and factory setting", + "30024": "Nameplate Information", + "30025": "Configuration Information", + "30026": "PV Insulation Monitoring Riso", + "30027": "Arc Fault Current Interruption", + "30028": "Inverter Control Interface", + "30029": "Commissioning phase (incl. Declaration of Conformity)", + "39999": "No translation in Taglist for ID 39999", + "130001": "Grid management services alarm", + "130002": "The alarm informs you of grid management service events.", + "130003": "Wait time after first occurance: {{0}} minutes", + "130004": "Active power limitation alarm", + "130005": "The alarm informs you of active power limitations in your system.", + "130006": "Only issues an alert when setpoint specification is for longer than: {{0}} minutes", + "130007": "Only issues an alert when the setpoint specification is below: {{0}} %", + "130008": "Performance ratio alarm", + "130009": "The alarm informs you when the performance ratio is not within tolerance.", + "130010": "Only issues an altert if the performance ratio falls below: {{0}} %", + "130011": "Event report", + "130012": "The event report informs you of all events occurring in your system.", + "130013": "Please select the types of event that should be included into the report: {{0}}", + "130014": "Event categories that should be included: {{0}}", + "130015": "Number of inverters in state Run", + "130016": "Number of inverters in state Wait", + "130017": "Number of inverters in state Stop", + "130018": "Number of inverters in state Q on Demand", + "200002": "Purchased electricity", + "200003": "Grid feed-in", + "200004": "The specific yield of the device is {{0}} kWh/kWp, this deviating from the mean value {{2}} kWh/kWp by {{1}} %. The configured threshold is {{3}} %.", + "200005": "The performance ratio of the system {{0}} on {{1}} was {{4}}, outside of the tolerance range of {{2}} to {{3}}.", + "200006": "Inverter comparison alarm", + "200007": "The alarm informs you of inverter comparison yield warnings.", + "200008": "State of inverter comparison", + "200009": "Current input", + "200010": "Debug", + "200011": "Device state", + "200012": "Temperature input", + "200013": "Only reports with events", + "200014": "IO system", + "200015": "Monitoring and control", + "200016": "Sensor technology", + "200017": "Module inverters", + "200018": "Central inverters", + "200019": "DC technology", + "200020": "Smart module technology", + "200021": "New user '{{0}}' created by {{1}}.", + "200022": "User '{{0}}' was deleted by {{1}}.", + "200023": "User '{{0}}' was edited by {{1}}.", + "200024": "Parameter change for parameter {{0}} initiated by user {{1}} via {{2}} from value {{3}} to {{4}}.", + "200025": "DataManager M", + "200026": "Portal", + "200027": "Specific AC power", + "200028": "Change of '{{0}}' initiated by '{{1}}' from '{{2}}' to '{{3}}' .", + "200029": "Power feed-in", + "200030": "Power consumption", + "200031": "Configuration of notification in the event of an invalid specification", + "200032": "Info report", + "200033": "The info report provides you with regular information on the yields of your system.", + "200040": "Mr.", + "200041": "Ms.", + "200042": "User role", + "200043": "Administrator", + "200044": "Administrator", + "200045": "Reactive power setpoint via digital input", + "200046": "Internal reactive power setpoint", + "200047": "Fallback in the event of invalid setpoint", + "200048": "Constant setpoint", + "200049": "Message in the event of invalid values", + "200050": "Yield {{0}} kWh in ComparisonGroup {{1}} at {{2}} (Specific Yield {{3}} kWh/kWp).", + "200051": "Communication fault", + "200052": "Send reports: {{0}}", + "200053": "Satellite Sensor", + "200054": "The administrator account has been reset", + "200056": "Alarm communication monitoring", + "200057": "The alarm notifies you about communication faults of your communication devices", + "200058": "Communication failure: Contact to device '{{0}}' with serial number {{1}} is overdue. Last contact: {{2}}", + "200059": "Contact to device '{{0}}' with serial number {{1}} is restored, Faulted from: {{2}} until {{3}}", + "200060": "Device {{0}} was deleted by {{1}}", + "200061": "New device {{0}}/{{1}} registered", + "200062": "Reminder: Communication failure still exists to the device '{{0}}' with the serial number {{1}}. Last contact: {{2}}", + "200063": "Current output", + "200064": "Unidirectional energy meter for feed in", + "200065": "Bidirectional energy meter with two power channels", + "200066": "Voltage output", + "200067": "Active and reactive power", + "200068": "Active power and voltage-dependent reactive power", + "200070": "Unidirectional energy meter for consumption", + "200071": "Bidirectional energy meter with one channel", + "200072": "A communication error to device {{0}} has occurred", + "200073": "The device {{0}} notifies the fault {{1}}", + "200074": "Current input", + "200075": "Current output", + "200076": "Voltage output", + "200077": "Current input", + "200078": "Current output", + "200079": "Voltage output", + "200080": "Charging Station", + "200081": "Percent", + "200083": "Insolation", + "200084": "Speed", + "200085": "Temperature Input", + "200086": "Gas power", + "200087": "Gas energy", + "200088": "Gas volume flow", + "200089": "Gas volume", + "200090": "Gas calorific billing value", + "200091": "Gas correction factor", + "200092": "Chp power", + "200093": "Chp energy", + "200094": "Hydro power plant power", + "200095": "Hydro power plant energy", + "200096": "Charging station power", + "200097": "Charging station meter reading", + "200098": "Status of connected vehicle", + "200099": "Charging session status", + "200100": "Charging session costs", + "200101": "Charging session energy", + "200102": "Consumption light", + "200103": "Power light", + "200104": "Consumption home appliances", + "200105": "Power home appliances", + "200106": "Warning", + "200107": "Consumption heating element and hot water", + "200108": "Power heating element and hot water", + "200109": "Consumption cooling", + "200110": "Power cooling", + "200111": "not connected", + "200112": "in sleep mode", + "200113": "Charging session active", + "200114": "Charging target reached", + "200115": "Error", + "200116": "Power Generator", + "200118": "Hydroelectric power plant", + "200119": "Electricity meter", + "200120": "Gas meter", + "200121": "Combined heat and power", + "200122": "Average yield expectations", + "200123": "Detailed report", + "200124": "The detailed report informates you with detailed device information of your system.", + "200125": "Sort by: {{0}}", + "200126": "Operator", + "200127": "Alarm SMA Smart Connected", + "200128": "SMA Smart Connected provides free automatic monitoring and analysis of your inverter.", + "200129": "kn", + "200130": "Specific yield", + "200131": "Average yield expectations", + "200132": "Specific yield", + "200133": "Percent", + "200134": "Power", + "200135": "Digital group output", + "200136": "Setpoint for displacement power factor cos phi via analog input", + "200137": "Excitation type for displacement power factor cos phi via analog input", + "200138": "Digital group input", + "200140": "Consumption air-conditioning", + "200141": "Power air-conditioning", + "200142": "Consumption industrial loads", + "200143": "Power industrial loads", + "200144": "Consumption other loads", + "200145": "Power other loads", + "200146": "Consumption", + "200147": "Consumption", + "210000": "Feed-in energy at the grid connection point", + "210001": "Energy drawn at the grid connection point", + "210002": "System active power (drawn) at grid connection point", + "210004": "Digital output group 1", + "210005": "Temperature input |d0|", + "210006": "Grid voltage on line conductor L1 at grid connection point", + "210007": "Grid voltage on line conductor L2 at grid connection point", + "210008": "Grid voltage line conductor L3 at grid connection point", + "210009": "Displacement power factor at grid connection point", + "210010": "Counter reading of PV feed-in counter", + "210011": "Counter reading of battery feed-in counter", + "210012": "PV feed-in power", + "210013": "Battery feed-in power", + "210014": "Counter reading of power drawn by battery counter", + "210015": "Power drawn by battery", + "210016": "PV power", + "210017": "Active power limitation setpoint", + "210018": "Active power limitation set value", + "210019": "Power drawn from grid", + "210020": "Power fed into grid", + "210021": "Reactive power limitation set value", + "210022": "Reactive power limitation setpoint", + "210023": "Percent", + "210024": "Insolation", + "210025": "Speed", + "210026": "Digital output", + "210027": "Digital output", + "210028": "Temperature", + "210029": "Temperature", + "210035": "System insolation on external sensor", + "210036": "System wind speed", + "210037": "System ambient temperature", + "210038": "System module temperature", + "210039": "fuel power", + "210040": "External generator feed-in counter", + "210041": "Feed-in power of external generator", + "210042": "Chp power", + "210043": "Chp energy", + "210044": "Hydro power plant power", + "210045": "Hydro power plant energy", + "210046": "Gas power", + "210047": "Gas energy", + "210048": "Gas volume flow", + "210049": "Gas volume", + "210050": "Gas calorific billing value", + "210051": "Gas correction factor", + "210052": "Current speedwire IP address", + "210053": "Current speedwire subnet mask", + "210054": "Current speedwire gateway address", + "210055": "Current speedwire DNS server address", + "210056": "Currently used IP address for Wi-Fi", + "210057": "Currently used IP subnet mask for Wi-Fi", + "210058": "Currently used IP gateway address for Wi-Fi", + "210059": "Diesel energy", + "210060": "Consumption light", + "210061": "Power light", + "210062": "Consumption home appliances", + "210063": "Power home appliances", + "210064": "Consumption heating element and hot water", + "210065": "Power heating element and hot water", + "210066": "Consumption cooling", + "210067": "Power cooling", + "210068": "Consumption air-conditioning", + "210069": "Power air-conditioning", + "210070": "Consumption industrial loads", + "210071": "Power industrial loads", + "210072": "Consumption other loads", + "210073": "Power other loads", + "210074": "Consumption", + "210075": "Consumption", + "210076": "Counter reading of power drawn counter", + "16777213": "Information not available", + "16777216": "Transmission attempt to", + "16777217": "Setpoint", + "16777218": "Actual", + "16777219": "Active power", + "9999001": "Other", + "9999002": "Tigo Cloud Connect Advanced (CCA)", + "9999003": "SMA Rooftop Communication Kit-P2", + "9999004": "Other, i.e. 3rd party rapid shutdown device", + "9999005": "Grid measurements of energy meter", + "9999006": "Grid measurements of inverter", + "bAddDevice": "Add a device to the system", + "bBarDhcpServer_Ja": "Yes", + "bBarDhcpServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "bBarDhcpServer_Nein": "No", + "bBarDhcpServer_Proxy-Serververwenden": "Use proxy server", + "bBarEventExport_AlleEreignisse": "All events", + "bBarEventExport_GefilterteEreignisse": "Filtered events", + "bBarPower_Gesamt": "Total", + "bBarPower_Jahr": "Year", + "bBarPower_Monat": "Month", + "bBarPower_Tag": "Day", + "bBarProxyServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "bBarProxyServer_Proxy-Serververwenden": "Use proxy server", + "bBarWlanConfig_GefundeneWLAN-Netzwerkeanzeigen": "Show WLAN networks found", + "bBarWlanConfig_WLAN-Netzwerkeinstellungenmanuellvornehmen": "Configure WLAN network settings manually", + "bBarWlanConfig_WPSfürWLAN-Netzwerk": "WPS for WLAN network", + "bCancel": "Cancel", + "bChangeDeviceName": "Change device names", + "bClose": "Close", + "bConnectToWLAN": "Connect to this WLAN", + "bCopy": "Copy", + "bDeactivateWlan": "Deactivate now", + "bDiscard": "Discard changes", + "bDownload": "Download", + "bEmcChrStart": "Emergency charge", + "bEmcChrStop": "Stop emergency charge", + "bEnergyMeterExchange": "Use an energy meter in the system", + "bEnergyMeterRemove": "Remove energy meter from the PV system", + "bEventExport": "Export events", + "bEventFilterReset": "Reset time filter", + "bEventfilterApply": "Apply time filter", + "bExport": "export", + "bExportSummary": "Export the summary", + "bFindAllTigoModuls": "Find and Save", + "bFwUpdate": "Update the firmware", + "bFwUpdateStart": "Update the firmware", + "bGenerate": "Generating", + "bImportFile": "Import file", + "bJetTestBoxConnect": "Connect", + "bJetTestBoxDisconnect": "Disconnect", + "bJetTestOfflineMode": "JET-Offline Mode", + "bJetTestOverFrequencyRelay": "Over frequency relay", + "bJetTestOverVoltageRelay": "Over voltage relay", + "bJetTestUnderFrequencyRelay": "Under frequency relay", + "bJetTestUnderVoltageRelay": "Under voltage relay", + "bJetTestVoltageRiseSuppression": "Voltage rise suppression", + "bJumpToTop": "To the start of the page", + "bLoad50Hz": "50Hz default values", + "bLoad60Hz": "60Hz default values", + "bLoadConfigFromFile": "Adopt the configuration from a file", + "bLoggerExport": "Export data", + "bLogin": "Login", + "bLogout": "Logout", + "bNewBatteryBackupCfg": "Detect new configuration", + "bNext": "Next", + "bParameterEdit": "Edit parameters", + "bParameterExport": "Export all parameters", + "bPreviousStep": "Back", + "bProfileNameAdd": "Add to list.", + "bProfileNameCopy": "COPY", + "bProfileNameSave": "Save performance profile.", + "bQCGNewBat": "New battery configuration", + "bQCGNewSys": "New system configuration", + "bRemoveDevice": "Delete the device", + "bReplaceDevice": "Add as replacement device", + "bResetParaCounter": "Reset operation inhibition", + "bReversePowerRelay": "Reverse power relay test", + "bRunSelftest": "Start the self-test", + "bSave": "Save", + "bSaveAllSettings": "Save all", + "bSaveAndNext": "Save and next", + "bSaveConfigToFile": "Save configuration to a file", + "bSaveLogin": "Save and log in", + "bSaveSelftestProtocol": "Save the self-test protocol", + "bSearchFile": "Browse...", + "bSkipAllChanges": "Discard all", + "bSkipConf": "Skip configuration", + "bSkipSettings": "Discard changes", + "bSpotValuesExport": "Export all instantaneous values", + "bStartBatteryQCG": "Start the new battery configuration", + "bStartEmgChargeQCG": "Start the battery emergency charge operation", + "bStartMeasurement": "Start new measurement", + "bStartSystemQCG": "Start the new system configuration", + "bStartTigoTests": "Start Gateway test", + "bTestStart": "Start test", + "bToggleBlindleistung_Aus": "Off", + "bToggleBlindleistung_Ein": "On", + "bToggleOnOff_Aus": "Off", + "bToggleOnOff_Ein": "On", + "bUploadSslCert": "Import proxy certificate", + "bWlanConnect": "Connect to WLAN", + "bWpsActivate": "Activate WPS", + "cAutoDaylightSavingDeactivated": "Deactivate automatic change from daylight saving time to standard time", + "cDoNotShowDialogAgain": "Do not show this dialog again.", + "cError": "Error", + "cInformation": "Information", + "cWarning": "Warning", + "eCookiesDeactivated": "Saving cookies is deactivated in the settings of your web browser.
For the correct display of the user interface, cookies are, however, required.
  • Activate the saving of cookies in the settings of your web browser and then reload the user interface.
", + "eCyberSecuritySecret": "Cyber security information: to increase the level of protection, create product key", + "eEventExportNoSelection": "Select the events to be exported.", + "eEventFilterDateRangeInvalid": "The end date is before the start date.", + "eEventFilterEndDateInvalid": "Enter a valid end date.", + "eEventFilterIdInvalid": "Only numbers are valid for event IDs.", + "eEventFilterIdInvalidMax": "Invalid event ID", + "eEventFilterIdInvalidMin": "Only positive numbers are valid for event IDs.", + "eEventFilterStartDateInvalid": "Enter a valid start date.", + "eFallbackTimeout": "The available time has expired", + "eInfoSaveSecret": "Please save the product key now", + "eInstallPasswordNotChangedYetInstaller": "No password has been assigned for user group Installer.", + "eInstallPasswordNotChangedYetUser": "No password has been assigned for user group User.", + "eJavaScriptDeactivated": "JavaScript is deactivated in the settings of your web browser.
For the correct display of the user interface, JavaScript is, however, required.
  • Activate JavaScript in the settings of your web browser and then reload the user interface.
    A description how to activate JavaScript in your web browser can be found here: here.
", + "eLoginFailed": "Login failed", + "eMaximumCountGGLoginTrysAccomplished": "An incorrect SMA Grid Guard code has been repeatedly entered. For security reasons, the SMA Grid Guard login is temporarily blocked.

Wait {{time}} and then try again.", + "eMaximumCountLoginTrysAccomplished": "Your entry was wrong again. For security reasons, your account has been temporarily blocked.

Wait {{time}} and then try again.", + "eMaximumFallbackMustWait": "Further execution of this process has been blocked.

Either you repeatedly made an incorrect entry, or the required proof of presence was repeatedly unsuccessful. For safety reasons, further execution of this process has been temporarily blocked.
Wait {{time}} and then try again.", + "eMaximumUsersLoggedIn": "The maximum number of users is already logged in on this device.
  1. Please wait until one of the users has logged out and try again later.
", + "eNewPassError": "The password does not comply with the password guidelines.", + "eParamMaxSizeExceeded": "The maximum permissible number of characters is exceeded.
Please correct your entry.", + "ePassDoNotMatch": "The passwords do not match.", + "ePassRepeatRequired": "The field \"Repeat password\" is mandatory.", + "ePassRequired": "The field \"Password\" is mandatory.", + "ePasswortFalsch": "The password you entered is incorrect.", + "ePasswortFehlt": "Enter the password of the selected user group.", + "ePskChange": "From now on, only the device-specific WLAN password for direct WLAN connections is valid (see WPA2-PSK on the device type label).", + "ePskChangeAutomatic": "The standard WLAN password of the device for direct WLAN connection is only valid for a limited period of time.", + "ePskChangeAutomaticConditions": "After the first ten operating hours, the initial configuration, or activating the option Do not show this dialog again on the bottom of this page, only the device-specific WLAN password is valid (see WPA2-PSK on the device type label).", + "ePskChangeAutomaticCountdown": "The WLAN password will be changed after {{time}} at the latest.", + "eUsergroupFehlt": "Select a user group.", + "hAddEnergyMeter": "Add a detected SMA Energy Meter to the system. The SMA Energy Meter is used as purchased electricity meter and feed-in meter.", + "hAnalogInput": "Temperature inputs and analog input", + "hBatteryFound": "Identified battery types", + "hBatteryNewBackupHelp": "Battery-backup system recognized", + "hBatteryNewCfgHelp": "New battery configuration", + "hBatteryReversePowerRelayHelp": "Reverse Power Relay", + "hBatteryTestHelp": "Battery functional test", + "hBatteryTyp": "Selectable battery types", + "hClusterSettingsHelp": "Select whether the system is single-phase or three-phase and make the necessary settings depending on the system.

Single-phase system
Select the Single-phase type, and in systems with stand-alone mode, set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to three inverters (single cluster)
Select the Three-phase type and the SingleCluster system. Set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to twelve clusters (multi cluster)
Select the Three-phase type and the MultiCluster system and select the cluster type in the multicluster that applies to this inverter. For this, you must select the cluster in which this inverter is contained.", + "hClusterUsedSlavesHelp": "All detected battery inverters of a cluster are displayed here. Assign each device the phase to which it is connected.", + "hConfManual": "With this configuration option, you can configure all parameters of the device manually.", + "hConfManualHeading": "Manual Configuration", + "hConfSetupWizard": "With this configuration option, you can configure the device with the help of the installation assistant. The installation assistant guides you step-by-step through the configuration process.", + "hConfSetupWizardHeading": "Configuration with Installation Assistant", + "hConfigNAP": "Grid-connection point configuration", + "hConfigureCellular": "If you would like to use Cellular, select the option Yes under Cellular.
The cellular connection allows the direct data transmission between the inverter and the internet portal Sunny Portal via the cellular network as an alternative to data transmission via Ethernet or WLAN. The cellular connection only transmits a limited amount of data to Sunny Portal. A local network connection is not absolutely necessary, but it is recommended to be able to view all information regarding the system in Sunny Portal.
Note the term of the mobile data plan. All costs are covered within the term.", + "hConfigureEthernet": "You can either obtain the network settings automatically from a DHCP server or configure them manually. Select the desired option under Automatic configuration switched on.

If you want to configure the network settings manually, you have to enter the required network data additionally.

Direct Ethernet Connection
If you want to establish a direct connection to the device via a network cable, you need to activate the automatic configuration of the Ethernet interface. Select the option Yes under Automatic configuration switched on.", + "hConfigureEthernetProxy": "If there is a proxy server in your local network, you must make additional proxy settings. The proxy settings are needed for the connection to Sunny Portal and for firmware updates of the device.
Select the option Use proxy server in Proxy settings and enter the required data of your proxy server.", + "hConfigureIrradiationSensor": "
  1. Connect the irradiation sensor to the analog input of the SMA Sensor Module (refer to the Module installation manual).
  2. Configure the characteristic curve depending on the connected irradiation sensor (refer to the irradiation sensor manual).
", + "hConfigureModbus": "You can enable the Modbus TCP server and set the TCP port and the Unit ID.
If you would like to use Modbus via UDP, you must turn on the UDP server via Device parameters and set the UDP port.
", + "hConfigureModbusProfil": "Once you have enabled the Modbus TCP server, you can use the device-specific SMA Modbus profile and the standardized SunSpec Modbus profile.
Information on the device-specific SMA Modbus profiles can be found on the product pages or Modbus page at www.SMA-Solar.com.
", + "hConfigureNetwork": "You can integrate the product, depending on its features, either into your local network via Ethernet using a cable or wireless via WLAN. Select the respective option under Type of communication.", + "hConfigureSunSpec": "If you would like to use the SunSpec Modbus profile, you can choose between two profile versions:
-\tCompatibility mode - is optimized for the support of existing systems.
-\tStandard (recommended) - is optimized for SunSpec compliance and is continuously improved and extended.
For further information on the SunSpec Modbus profile, see the Technical Information 'SunSpec Modbus' at www.SMA-Solar.com.
", + "hConfigureTemperatureSensor": "
  1. Connect the temperature sensor to the desired temperature input of the SMA Sensor Module (refer to the Module installation manual).
The type of temperature sensor is automatically detected upon successful installation. No configuration is necessary.", + "hConfigureWlan": "If you want to use WLAN, you have the following options:
  • Showing WLAN Networks Found
    Via the button Settings, you can make the corresponding network settings to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • Configuring WLAN Network Settings Manually
    Here you can enter the data of your WLAN network manually to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • WPS for WLAN network
    In order to connect the device via WPS automatically to your WLAN network, you first have to activate WPS in your WLAN router (refer to the WLAN router manual). Then activate the WPS function of the device by selecting [Activate WPS] on the user interface.


If required, you can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "hContentDatenlogger": "The inverter must be connected to the SMA Sunny Home Manager or SMA Data Manager. The data logger transmits its time to the inverter.", + "hContentEnergyMeter": "Select the energy meter used in the system on this page. After selecting the energy meter, the inverter will detect the serial number and the state of the energy meter automatically.

Select the entry SMA Energy Meter when the inverter is connected to an SMA Energy Meter. After the selection, all available energy meters are shown in a table. Add the requested energy meter to the system by selecting Settings and Use energy meter in the system for the requested energy meter.
Select the entry SMA Revenue Grade Meter when the inverter is equipped with an SMA Revenue Grade Meter Kit (e.g. with inverters of the type SBx.x-1TP-US-40).
Select the entry WattNode Modbus RTU when the inverter is connected to a WattNode Modbus energy meter.
Select the entry SunSpec Modbus RTU when the inverter is connected to an energy meter that communicates with the inverter via SunSpec Modbus RTU protocol.

You must adjust further settings depending on the energy meter.", + "hContentHelpBackupDelay": "The value Change-over delay to the battery-backup operation corresponds to the time delay after which the inverter switches to battery-backup operation following a power outage.", + "hContentHelpBackupLink": "A battery-backup system has been recognized. Further settings must be made in the \"battery-backup system\" step. Wait until all the connected batteries are recognized and listed in the list.", + "hContentHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery.\" The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "hContentHelpIsland": "When selecting a lead-acid battery, you have to enter the nominal capacity of the battery for a ten-hour electric discharge (C10). Refer to the lead-acid battery documentation for the battery capacity in relation to discharge time.", + "hContentHelpKiteJPTest": "The battery functional test comprises the tests: Battery charging and battery discharging. The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.", + "hContentHelpKiteNewCfg": "Selecting this button is only necessary when changing the system.

Select this button when a battery is exchanged or a new battery is added, and when the system is extended to a battery-backup system with an automatic transfer switch.", + "hContentHelpKiteTest": "The battery functional test comprises the tests: Battery charging and battery discharging. The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE! Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
Make sure that each battery power cable is correctly connected to the inverter. Make also sure that only one or several batteries used as a DC source are connected to the inverter.", + "hContentHelpReversePowerRelay": "The reverse power play test is a functional test in which the battery is charged and discharged for a short time.
The measured values are compared with the energy meter.
The functional test must be carried out once during commissioning", + "hContentManuell": "The manual time setting is overwritten as soon as a data logger is connected to the inverter.", + "hContentServiceTime": "Please note: If Permission for SMA Service Access is set to No when service access is required, this will increase the response times of the SMA Service.
The No setting provides additional, increased security for your device against access by third parties.", + "hContentStatischeSpannungshaltung": "Upon activation, the inverter provides reactive power by means of the set operating mode.
In case of manual input, you must enter the nominal value specified by the grid operator in VAr or in percent.
In case of external specification, the inverter receives the setpoint through a higher control unit. You must enter the dynamic behavior for the implementation of the setpoint and the specified disengaging value for the absent setpoint.
When selecting a characteristic curve process, the characteristic curve is preconfigured as per country standard. You can make adjustments after completing the installation assistant via the menu Device parameters. Coordinate the configuration with your grid operator.", + "hContentWebConnect": "The inverter must be connected directly to the Internet without a data logger. The time setting will be called up from the SMA server via Webconnect and transmitted to the inverter.", + "hCountrySetting": "Selecting the Country Data Set", + "hCountrySettingsHelp": "The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard.
If you select a country data set, the device will be configured with the corresponding default settings.", + "hDateTimeSetting": "Set date and device time", + "hDisconnectWlanConfirmation": "Are you sure that you would like to deactivate the WLAN connection of the device to the local network?
If you are currently connected to the device via the WLAN network, the connection will be broken immediately.
You will then only be able to access the user interface via Ethernet or the WLAN direct connection of the device.", + "hEnergyMeter": "If there is an energy meter in your system, you can, in addition, have the consumption data of your household displayed on the home page.", + "hEnergyMeterSetting": "Configure the energy meter", + "hEthernetConfig": "Network configuration", + "hEventExport": "You can export the events of the device in text form to a CSV file.
If you select \"Filtered events,\" only the events that you have filtered before are exported.", + "hFileDiagnoseSystemHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card).
You can display and download the data.

Service files
Service files for analysis purposes.

Daily values
Stored values are shown in the time scale at one-day intervals. For each year, a file is automatically created.

One-second values
Stored instantaneous values of the last two months are shown in the time scale at one-second intervals.

Five-minute values
Stored values are shown in the time scale at five minute intervals.

Events
All events that have occurred. For each year, a folder is automatically created.", + "hFileSystemRootHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card). Select the folder /Data to obtain all data stored on the inverter.", + "hFileUploadFailedBody": "An error occurred during file upload. Please restart the file upload.", + "hFileUploadWrongFiletype": "The selected file does not have the required format. Select a file that has a valid file format.", + "hFilenameToLong": "File name too long", + "hFileuploadFailed": "File upload failed", + "hFirmwareUpdate": "You can load the update downloaded from www.SMA-Solar.com onto your device manually.", + "hFirmwareUpdateTakaP": "You can load the update onto your device manually.", + "hForgPass": "If you have forgotten the password for your device, you can unlock the device by means of a Personal Unlocking Key (PUK) (refer to the device manual).", + "hForgPass_NoPUK": "If you have forgotten the password for your device, you can reset the device to default settings. Press the reset button with a sharp object and hold it for two to six seconds. All passwords and device settings are reset.", + "hGridGuardCodeMissing": "You must enter your personal SMA Grid Guard code before proceeding.", + "hGridGuardLoginNecessary": "In order to change the current country data set, you must additionally log in with your personal SMA Grid Guard code.", + "hHeaderHelpBatteryIsland": "Island battery configuration", + "hHeaderHelpClusterSetting": "System configuration", + "hHeaderHelpClusterUsedSlaves": "Devices in the system", + "hHeaderHelpStringFailure": "String-failure detection", + "hHeaderYapPasswort": "New Password", + "hHeaderYapSecret": "Generate product key", + "hHeaderYapService": "Permission to access via Service", + "hHelpBackupCobra": "Please set the operating mode.

In the Off operating mode, selected loads are not allowed to be connected to the AC-BACKUP terminal. If you have selected loads that are connected to the AC-BACKUP terminal, select Automatic operating mode. In this case, backup operation starts automatically in the event of a grid failure. The lower battery charge limit (SOC in %) value equals the share of the battery charge that is held in reserve for backup operation. This charge cannot be used in regular parallel grid operation.", + "hHelpBackupConfig": "When using an automatic transfer switch, you must set the operating mode.
With the operating mode Off, the battery-backup operation is not activated automatically in the event of grid failure. The battery-backup operation must be activated manually in this operating mode.
Select the operating mode Automatic to activate the battery-backup operation automatically in the event of grid failure.
The operating mode Force is only used for test purposes. In this operating mode, you can force to switch to battery-backup operation during utility grid supply. This allows you to test the automatic transfer switch function. If the test has been completed successfully, you must select the operating mode Off or Automatic.", + "hHelpBatteryConfig": "Select the battery type connected.", + "hHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery\". The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "hHelpPasswordConfig": "Here you can configure the access data for your device.", + "hHelpPsk": "The WPA2-PSK is used to prove your authorization to set a new password.
You will find the WPA2-PSK on the type label:", + "hHelpRid": "The RID is used to prove your authorization to set a new password.
You will find the RID on the type label:", + "hHelpYapPasswort": "You can assign a new password for your user account here according to the password guidelines shown.", + "hHelpYapSecret": "The product key is used to create a new password if you have forgotten your current password. The product key is assigned to your user account and only you know it - we strongly recommend to create it for security reasons. You should safely store the product key ([TAGROLE]) (e.g. as a photo, printout, in a text file or preferably in a password safe).
To copy the product key to the clipboard, use the [Copy] button.", + "hHelpYapService": "You can specify here whether you allow SMA Service to access your device.

If you select Yes, temporary, the field 'Expiry SMA Service access' is shown and a date suggestion is inserted which you can change however.

If you select No, the associated passwords for the Service account are deleted and must be newly assigned by Service in case of a future Service access.", + "hHintGridGuardCode": "Information: In order to configure the device, you require a personal SMA Grid Guard code (application form is available at www.SMA-Solar.com).", + "hImportBackup": "With this configuration option, you can adopt a previously saved configuration from a file.", + "hImportBackupHeading": "Adopting the Configuration from a File", + "hImportProxyCert": "Under [Import proxy certificate], you have the option of importing the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "hImpulseInput": "S0 interface", + "hInfotextKennlinie": "Characteristic curve was configured according to the set country standard. Changes or more settings can also be configured via the device parameters.", + "hIslandCountryHelp": "Select the country data set valid for your application. The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard. The selection of the correct country data set depends on the installation site and the grid-connection standard applicable on-site. Contact your grid operator, if necessary.
Depending on the application, it might be necessary to adjust further device parameters after completion of the installation assistant in order to meet the respective grid connection standard.", + "hIslandCountryHelpHeader": "Selecting the Country Data Set", + "hIslandNewSysHelp": "Selecting this button is only necessary when changing the application or the system structure (e.g. if the Function of the system changes or a single-phase system is extended to a three-phase system).", + "hIslandNewSysHelpHeader": "New system configuration", + "hIslandSetting": "Select application", + "hIslandSettingsHelp": "If the inverter is to form a self-sufficient utility grid, select the stand-alone mode and set the nominal voltage and frequency of the utility grid.
If the inverter is used in a storage system for increased self-consumption or in a battery-backup system, select grid operation and set the function of the system.", + "hIslandSettingsHelpHeader": "Select application", + "hJapanAIDContent": "The rate of rise is set to High by default. Only change the value if it is required by the transmission system operator or if a flicker problem exists in the system.", + "hJapanAIDHeader": "AID rate of rise", + "hJapanNetConfContent": "Configure the values for Voltage / Frequency monitoring and Voltage rise suppression in accordance with the grid operator's specifications and grid-connection codes JEAC 9701.", + "hJapanNetConfHeader": "System configuration", + "hJapanOtherConfContent": "Set the operating mode from Stop to MPP to operate the inverter.", + "hJapanOtherConfHeader": "Other options", + "hJapanPowerboxConfContent": "Ensure that the inverter's network configuration has been made to connect to a Power Curtailment Box.
The inverter and Power Curtailment Box must be located in the same network.", + "hJapanPowerboxConfHeader": "Power Curtailment Box", + "hJetTestContent": "Lorem", + "hJetTestHeader": "Jet Test Mode", + "hLoggerExportHelpContent": "You have the option of exporting the data stored on the product as an Excel file. Select in the drop-down list which data should be exported and use the time filter prior to exporting the data.", + "hManagementInverter": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode \"Active power limitation P via system control\". When using this operating mode, you can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Select whether the inverter shall disconnect from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not allow the inverter to still feed in a low amount of active power when limited to 0% or 0 W.", + "hManagementInverterFalcon": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode Act. power lim. via PV system ctrl. Select this mode even if the inverter does not receive the default values via a higher unit. The active power limitation is limited dynamically by the inverter itself at the grid-connection point.

You can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Furthermore, you can select if the inverter disconnects from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not permit the inverter to still feed in a low amount of active power when limited to 0% or 0 W.

If the inverter limits the active power limitation dynamically by itself at the grid-connection point, you must set the Operating mode for absent system control to Values maintained and the Grid disconnection for 0% feeding to No.", + "hManagementMeasuringGridPoint": "If the limitation of the system's active power feed-in at the grid-connection point is required by standards or law, enter the total nominal power of the system, select the desired operating mode and enter the respective value to which the nominal power must be reduced. When selecting an operating mode for the limitation of active power at the grid-connection point, the system's active power is controlled at the grid-connection point depending on the local consumption and the battery state of charge (if a battery is available).", + "hManagementPhase": "The selection of line conductor ensures that the displayed values on the user interface are displayed correctly and the unbalanced load limitation can be implemented correctly.", + "hManagementSchieflast": "If the grid operator requires a limitation of the unbalanced load, activate the unbalanced load limitation and enter the maximum permissible unbalanced load.", + "hMaximumCountGGLoginTrysAccomplished": "SMA Grid Guard login is temporarily blocked.", + "hMltContent": "The floating switching contact for the multifunction relay is marked with DO on the COM connector. Only signals with a voltage &<; 30 V may be connected to the COM connector.", + "hMltContentBackup": "The multifunction relay controls a display device (e.g. an indicator light) which signals that backup operation is active.", + "hMltContentEarth": "The multifunction relay controls a display device (e.g. a warning light) when a drop below the insulation resistance has been detected at the PV or battery inputs of the inverter.", + "hMltContentError": "The multifunction relay controls a display device (e.g. a warning light) which signals an error of the inverter.", + "hMltContentFan": "The multifunction relay controls an external fan depending on the temperature of the inverter. If the temperature of the inverter rises above a limiting value defined by SMA, the fan starts automatically. If the temperature falls below the limiting value, the fan is switched off again.", + "hMltContentSgReady": "The multifunction relay switches loads on or off according to commands transmitted by a communication product.", + "hMltHeaderBackup": "Switching status of the backup", + "hMltHeaderEarth": "Ground-fault detection", + "hMltHeaderFan": "Fan control", + "hMltHeaderSgReady": "SG Ready", + "hNetworkConfig": "Network configuration", + "hNetworkConfigIpInFooter": "Information: You will find the IP address of the device on which you are currently logged into in the status bar below in the user interface after having completed the configuration procedure. You will require the IP address to call up the user interface in the local network.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "hNoConnectionToDevice": "No connection to the device", + "hOldEnergyMeter": "Configure the energy meter", + "hOldTitleEnergyMeter": "Configuring the Energy Meter", + "hRS485ProtocolContent": "On this page, you select for which purpose the RS485 interface is used.
Select the entry SMA Data if a RS485 communication bus is connected to the RS485 interface. The inverter is connected to SMA communication products via the RS485 communication bus.
Select the entry Energy Meter if an energy meter is connected to the RS485 interface.
Select the entry Module Technology if the gateway of the TS4 module technology is connected to the RS485 interface.", + "hRS485ProtocolHeader": "RS485 configuration", + "hRS485TerminatorContent": "If your inverter is located at the beginning or at the end of the RS485 communication bus, the terminator must be activated.
If your inverter is located in the middle of the RS485 communication bus, the terminator must not be activated.", + "hRS485TerminatorHeader": "Activate Terminator", + "hRefersToNominalPower": "These values are based on the set nominal system power.", + "hSafetyOffContentHelp": "Select Off if you do not want to use the Rapid Shutdown function (e.g. ground mounts, carports, or AHJ does not require).", + "hSafetyOtherContentHelp": "Select Other if an alternate DC disconnection unit is used (e.g. TS4 or SMA Rapid Shutdown System).", + "hSafetyRabbitShutDownSetting": "Rapid Shutdown Setting", + "hSafetySettingsHelp": "The Rapid Shutdown function of the inverter must be enabled if the PV modules or PV strings are equipped with an additional DC disconnection unit that disconnects the PV array from the inverter.", + "hSafetySettingsHelpHeader": "Configuring the Rapid Shutdown Function", + "hSafetySettingsHelpOn": "Select On if PV array and inverter are disconnected by an additional DC disconnection unit independent of the inverter.", + "hSafetySunspecShutdownHelp": "Select SunSpec Shutdown if the PV array is disconnected with devices in accordance with the SunSpec Rapid Shutdown specification (e.g. SMA JMS-F, APsmart RSD).", + "hSafetyTigoSettingsHelp": "Select TS4 Shutdown if the PV array is disconnected via TS4 module technology. With TS4-R-F, SunSpec Shutdown must be selected.", + "hSaveNetworkSettingsAuto": "After having saved the settings, you are automatically logged out of the user interface.


You have the following options to log back in to the user interface:
  • If you are directly connected to the device, enter the standard IP address (refer to the device manual).
  • If you manually assigned the IP address, enter the manually assigned IP address.
  • If you have received the IP address from a DHCP server, enter the newly assigned IP address. You can determine the newly assigned IP address by checking the settings of your router (see manual of the router) or using network-scanning software.
", + "hSaveNotCompleteInsufficientDcPower": "Settings not yet saved completely.", + "hSensorModuleEnergyMeterS0": "Enter the current meter reading of the energy meter used in the field \"S0 meter reading Total yield\". In the field \"S0 pulses\", you must enter the number of S0 pulses per kWh defined by the manufacturer of the energy meter. This ensures that the Sensor Module receives the data of the energy meter correctly.", + "hSensorModuleWindSensor": "Enter the number of S0 pulses per m/s defined by the manufacturer of the anemometer in the field \"S0 pluses per m/s. This ensures that the Sensor Module receives the data of the anemometer correctly.", + "hStringFailureDetection": "String-failure detection", + "hTigoMainSetting": "Modular Technology Configuration", + "hTigoSystemContent": "Enter the number of gateways that are in the system. Please note the number of the maximum permissible gateways in a system.", + "hTigoSystemHeader": "System configuration", + "hTigoTabCfgContent": "Enter the number of strings that are connected to the particular input and enter the number of PV modules as well as the number of the TS4 in the string. Based on this information, the serial numbers of the TS4 in a string can be exactly assigned in the next step.", + "hTigoTabCfgHeader": "String configuration", + "hTigoTabStatusContent": "By clicking on the button Start search, you start the search of all modular technology components in the system. The button Perform Gateway test starts the search for the Gateways in the system. Keep in mind that searching for all components may take up to one hour. Make sure that the inverter is in operation during the search. The search runs in the background. You can continue the configuration of the inverter during the search.
When the search has been completed successfully, the message Commissioning status OK appears under the buttons and the number of detected components is displayed. Check the result and make sure that the components are correctly captured. You can find all information on the detected components in the Details.
You can cancel the search at any time to add or delete further components, for example. To do so, click the Cancel search button during the search.", + "hTigoTabStatusHeader": "Search for modular technology components", + "hTigoTabStringContent": "All captured TS4 that are assigned to the particular input of the inverter are listed on this page. Enter the related serial number for each TS4. You can scan the serial number with the barcode.", + "hTigoTabStringHeader": "Capturing TS4 serial numbers", + "hTimeSetting": "You can set the date and the system time of the device either manually or automatically from an NTP server.
An Internet connection is required for automatic time synchronization.", + "hTitleEnergyMeter": "Energy meter used", + "hUserInfoDiag": "This function detects the current/voltage characteristic curve of the PV array per MPP tracker. By representing the results in a graphic, problems in a PV array can be identified at an early stage.
The table contains the following measured values for the individual MPP trackers:

  • Vmpp = Module voltage at max. power
  • Impp = Module current at max. power
  • Pmpp = Maximum power
  • Voc = Open-circuit voltage
  • Isc = Short-circuit current
  • FF = Fill factor - Characteristic value for the curve shape
", + "hUserInfoPlantManagement": "In the table all available devices in the system are shown.
By clicking on the button Settings, you can select different settings on your requested device.

In the table with the devices found, all devices are shown that have been detected by the inverter. By clicking on the button Settings, you are able to add further devices.
", + "hWizardSummary": "The summary lists the settings made while running the installation assistant.", + "hWlanNotPassProtected": "The WLAN is not password-protected.", + "hWlanPassProtected": "The WLAN is password-protected.", + "hWlanPassword": "WLAN settings", + "headingHelpIrradiationSensor": "Configuring the Irradiation Sensor", + "headingHelpSensorModuleEnergyMeterS0": "Configuring the S0 Energy Meter", + "headingHelpSensorModuleWindSensor": "Configuring the S0 Sensor for Wind Speed", + "headingHelpTemperatureSensor": "Connecting the Temperature Sensor", + "headingManagementPhase": "Connected line conductors", + "headingManagementSchieflast": "Activating Unbalanced Load Limitation", + "headlineConfigureCellular": "Configuring Communication via Cellular", + "headlineConfigureEthernet": "Configuring Communication via Ethernet", + "headlineConfigureWlan": "Configuring Communication via WLAN", + "helpAnalogInput": "You can connect one module temperature sensor and one outside temperature sensor to the two temperature inputs of the SMA Sensor Module.

You can connect one irradiation sensor to the analog input of the SMA Sensor Module.", + "helpContentDigInFstStop": "The inverter comes equipped with a fast stop input. It is possible to connect an external switch to this fast stop input. The external fast stop disconnects the inverter from the utility grid.", + "helpContentNASchutz": "Activate the grid and PV system protection if the inverter is connected to an external monitoring unit with grid and PV system protection relays via the SMA I/O Module.", + "helpContentWirkleistungsAdjust": "In the field Failure tolerance time, enter the time a signal is to be applied until the inverter accepts the default value.
If not all inputs are active, you can enable the fallback level for the case if an invalid signal is applied. The fallback time is the time that an invalid signal must be applied until the inverter accepts the fallback value.", + "helpContentWirkleistungsbegrenzung": "Make sure that the configuration of the digital inputs corresponds to the specifications of the grid operator and the assignment on the I/O module.", + "helpImpulseInput": "The SMA Sensor Module is equipped with a S0 interface to which you can either connect an anemometer or energy meter (see installation manual of the module).

Select the function of the S0 input according to the connection made and enter your settings.", + "helpStringFailureDetection": "You can consolidate the string inputs of the inverter into groups. Thereby you can compare string inputs that have the same characteristics (e.g. shading, alignment or module type) with each other and be notified in the event of a string failure via an event message.", + "iDisplayLanguage": "This option is used if the device supports a connected display.", + "iErrorEmgCharge": "An error has occurred. Restart the inverter and perform the configuration again.", + "iErrorNewBattery": "An error has occurred. Restart the inverter and perform the configuration again.", + "iErrorNewSystem": "An error has occurred. Restart the inverter and perform the configuration again.", + "iEventsRenderTable": "Please wait", + "iFileDownloadSuccess": "The file has been successfully downloaded.", + "iFileSaveFailed": "An error has occurred while downloading the file.", + "iFwUpdateFailedManual": "An error has occurred.
The firmware could not be updated.
Contact the Service Line.", + "iGenerateEventsExport": "An export of the events is being created", + "iHeadlineClusterSetting": "System configuration", + "iHeadlineEinspeisemanagement": "Grid management service configuration", + "iHeadlineJETTest": "Jet Test", + "iHundredPercentText": "The active power is not limited when DI4 is closed. When DI1, DI2, and DI3 are open, the active power is also not limited, regardless of the state of DI4./>", + "iLoadConfigDCInfo": "To completely adopt the configuration, a certain DC input voltage is required for some devices. If the DC input voltage is currently too low, the configuration is only completely adopted once sufficient DC input voltage is present.", + "iLoadConfigFromFile": "In order to be able to adopt a configuration for this device, you have to transfer the configuration file.", + "iLoadConfigGridGuard": "In addition, for certain devices you require your personal SMA Grid Guard code for authentication (application form is available at www.SMA-Solar.com).", + "iLoadSslCertFromFile": "Here, you have the option of importing the security certificate of the proxy server used. By doing so, the proxy server used will be categorized as trustworthy.", + "iLoadingEvents": "More events are being loaded...", + "iNoEventsFound": "No events found.", + "iProcessBatteryQcg": "Switching to the new battery configuration", + "iProcessEmcChargeQcg": "Switching to the battery emergency charge operation", + "iProcessSystemQcg": "Switching to the new system configuration", + "iSaveConfigToFile": "You can save the current configuration of the device in a file.
You can use the file as backup and, if required, import it then to this or other devices of the same type. No passwords - only the device parameters are saved in the file.", + "iSaveNotCompleteInsufficientDcPower": "The DC voltage of the inverter is currently too low or a component is being updated. As a result, the settings could not yet be saved completely.

As soon as sufficient DC voltage is available again or the update is completed, the settings will be saved completely.", + "iSelftest": "You configured a country data set which requires a self-test of the inverter.
You can now start the self-test.", + "iSelftestDuration": "Perform the self-test may take several minutes.", + "iSmaShadeFix": "Depending on the type of device, the cycle time can be set in 1- or 60-second intervals.", + "iTime": "Time", + "iWaitForTigoResults": "Search request", + "lAccessType": "Access mode", + "lActivateStringFailureDetection": "Activating String-Failure Detection", + "lActivePowerReductionActive": "Active power limitation is activated", + "lActivePowerReductionNotActive": "Active power limitation is not activated.", + "lActivePowerReductionOff": "Active power limitation deactivated", + "lActualConsumption": "Current consumption", + "lActualCtrlValue": "Current default value", + "lAddressProxyServer": "Server", + "lAdjustSetting": "Special settings", + "lAfciInfo": "The arc-fault circuit interrupter (AFCI) reliably detects and extinguishes serial electric arcs every second. The qualified person responsible for the system is informed of the arcing event and can repair the system.
AFCI must not be used in systems with optimizers and in strings operated in parallel. Likewise, the maximum string voltage for AFCI according to the operating manual must not be exceeded.
When using AFCI, a yield reduction of approx. 0.3% is to be expected.", + "lAllOptimizerSet": "OK", + "lAlreadyGridGuardRights": "You are already logged in with SMA Grid Guard rights.", + "lAlternateDCDisconnectionDevice": "Alternate DC disconnection device", + "lAnschlussart": "Connection type", + "lAskSecurePowerSupplyInstalled": "Is a Secure Power Supply outlet and switch installed?", + "lAutomaticSeasonSetting": "Automatically change from daylight saving time to standard time", + "lAutomaticTimeSetting": "Automatic time synchronization", + "lBackupCfgHeader": "Configuration detected by the system", + "lBackupModalNoUpdate": "No firmware updates are carried out during battery-backup operation.", + "lBackupNoUpdate": "No automatic firmware updates are carried out during battery-backup operation. As soon as the inverter is in parallel grid operation again, the update is carried out automatically.", + "lBackupOperation": "Battery-backup operation", + "lBackupReserve": "Lower battery charge limit (SOC in %)", + "lBackupTimeLeft": "Remaining time in the battery-backup system {{time}}", + "lBackupWizardMenu": "Battery-backup system", + "lBarOptimizerErr": "The entered serial number is incorrect. Please check your entry.", + "lBatteryBackupWizardMenu": "Configuration of battery / battery-backup system", + "lBatteryEnergyExchange": "Nominal energy throughput of the battery", + "lBatteryIslandEcm": "Emergency charging of the battery", + "lBatteryRecognized": "Recognized battery", + "lBatterySet": "Selectable battery types", + "lBatteryTest": "Battery functional test", + "lBatteryTestEvents": "Details for test operation", + "lBatteryTestIstl": "Battery functional test", + "lBatteryTestService": "Battery functional test (for Service only)", + "lBatteryValues": "Battery instantaneous values", + "lBatteryWizardMenu": "Battery configuration", + "lBenutzergruppe": "User group", + "lBft0": "Calm, dead calm", + "lBft1": "Light air", + "lBft10": "Storm", + "lBft11": "Violent storm", + "lBft12": "Hurricane", + "lBft2": "Light breeze", + "lBft3": "Gentle breeze", + "lBft4": "Moderate breeze", + "lBft5": "Fresh breeze", + "lBft6": "Strong breeze", + "lBft7": "Near gale", + "lBft8": "Gale", + "lBft9": "Strong gale", + "lCellular": "Cellular", + "lCellularIMEI": "IMEI", + "lCellularName": "Provider", + "lChangeDeviceName": "Change device names", + "lCharge": "Charge", + "lCharging": "Charge", + "lChartConsumption": "Yield", + "lChartPower": "Current power", + "lChartPowerAndGrid": "PV and grid-supplied power", + "lChartPowerConsumption": "Current power and current consumption", + "lChartYield": "Yield", + "lChartYieldAndGrid": "PV yield and grid-supplied power", + "lChartYieldConsumption": "Yield and consumption", + "lChkValidation": "The checksum of the serial number is incorrect.", + "lChooseFwFile": "Select the desired update file:", + "lClusterSettingExtensionAddress": "Extension cluster address", + "lClusterSettingExternSource": "Selection external source", + "lClusterSettingGeneratorCurrent": "Nominal generator current", + "lClusterSettingGridCurrent": "Nominal line current", + "lClusterSettingMode": "Cluster mode", + "lClusterSettingSysBoxType": "MultiCluster Box type", + "lClusterSettingSysConfig": "System configuration", + "lClusterSettingSysTyp": "Cluster type", + "lClusterSettingType": "Cluster type", + "lClusterSettingWizardMenu": "System configuration", + "lClusterState": "Cluster status", + "lCntrySet": "Enabled country data set", + "lComModuleWizardMenu": "RS485 configuration", + "lCommunicationType": "Type of communication", + "lCommunicationType_Cellular": "Cellular", + "lCommunicationType_Ethernet": "Ethernet", + "lCommunicationType_WLAN": "WLAN", + "lCommunicationsTest": "Connection test", + "lCompany": "Company", + "lConfBackFile": "Adopt the configuration from a file", + "lConfManual": "Manual configuration", + "lConfigEinspeiseManagementWechselrichter": "Active power setpoint", + "lConfigUploadIsRunning": "The configuration file is being transmitted to the device ...", + "lConsumption": "Consumption", + "lConsumptionToday": "Today:", + "lConsumptionTotal": "Total:", + "lConsumptionYesterday": "Yesterday:", + "lCookiesNotActive": "Cookies are deactivated.", + "lCountrySettingWizardMenu": "Country data set", + "lCurrentConnection": "Network configured", + "lCurrentConnections": "Networks configured", + "lCurrentTimeSummer": "Is the current time set to reflect daylight saving time?", + "lDCMissing": "Currently not permitted: interruption of the miniature circuit breaker (AC fuse) of your device, possibly due to missing DC input voltage.", + "lDailyBalance": "Daily total", + "lDataLogger": "Automatically using a data logger", + "lDate": "Date", + "lDateHeading": "Date", + "lDateSetWizardMenu": "Time and Service", + "lDateTime": "Date/time", + "lDays": "days", + "lDeratingOperation": "Derating", + "lDetailsConfigProcess": "Details for configuration", + "lDetailsUpdateProcess": "Details on the update procedure", + "lDevName": "Device name:", + "lDeviceName": "Device name", + "lDeviceNameSavedFailed": "An error has occurred.
The device name could not be saved.", + "lDeviceNameSavedSuccess": "The device name has been successfully saved.", + "lDeviceParameter": "Device parameters", + "lDeviceState": "Device status", + "lDeviceTyp": "Device type", + "lDevicesFound": "Devices found", + "lDevicesInPlant": "Devices in the system", + "lDevicetime": "Device time", + "lDhcp": "Automatic configuration switched on", + "lDiagnosis": "Diagnosis", + "lDigInFstStop": "Fast stop", + "lDioModuleWizardMenu": "Digital output", + "lDischarge": "Electric discharge", + "lDischarging": "Discharge", + "lDisclaimerContent": "The results of the I-V diagnostics function depend on the ambient conditions of the PV array (e.g., temperature, shading, solar irradiation) as well as the settings and the operating state of all system components. The results may only be used by qualified persons taking this information into consideration to assess the quality and the total power of the PV system.", + "lDisclaimerHeader": "Disclaimer", + "lDisconnectWlanConfirmation": "Deactivate WLAN network connection", + "lDisplayLanguage": "Display language", + "lDtTiFt": "Date:", + "lEinspeisemAmNetzanschluss": "Grid connection point regulation", + "lEndDate": "to", + "lEnergyMeterFound": "Available energy meters", + "lEnergyMeterName": "Name of the energy meter", + "lEnergyMeterSelected": "Selected energy meter", + "lEnergyMeterWizardMenu": "Meter configuration", + "lEntryId": "Entry ID", + "lErgebnisId": "", + "lEventExport": "Export events", + "lEventExportChoose": "Select the events you want to export:", + "lEventExportFailed": "An error has occurred.
The events could not be exported.", + "lEventExportSuccess": "The events were successfully exported.", + "lEventID": "Event ID", + "lEventText": "Event message", + "lEvents": "Events", + "lEventtype": "Event type", + "lFallbackCheckbox": "Fallback level", + "lFileDirNameDIAGNOSE": "Data", + "lFileDirNameDay": "Daily values", + "lFileDirNameEvents": "Events", + "lFileDirNameFLCR": "Service files", + "lFileDirNameOnline": "One-second values", + "lFileDirNameOnline5M": "Five-minute values", + "lFileDownload": "Data", + "lFileSystemHeadline": "Stored data", + "lFileSystemHelpHeadline": "Stored data", + "lFileSystemLastModification": "Last modification", + "lFileSystemName": "Name", + "lFileSystemSize": "Size", + "lFileSystemType": "Type", + "lForceChargePower": "Forced charge power", + "lForgPassHd": "Forgotten password", + "lFoundWlans": "Networks found", + "lFwAvailable": "Firmware version available", + "lFwInstalled": "Firmware version installed", + "lFwUpdateIsRunning": "The firmware is being updated.", + "lFwUpdateRunning": "The firmware is being installed ...", + "lFwUpdateTransferedToDevice": "The update file has been transmitted to the device.", + "lFwVerFt": "Firmware version:", + "lFwVersion": "Firmware version:", + "lGenLog5Min": "Five-minute values", + "lGenLogDay": "Daily values", + "lGenLogFlr": "Service files", + "lGidConnectionGenPower": "Generator power", + "lGidConnectionPointEnergyExchange": "Energy exchange at the grid-connection point", + "lGidConnectionPointPower": "Power at the grid-connection point", + "lGidReference": "Consumption", + "lGridFeedIn": "Grid feed-in", + "lGridGuardCodeMissing": "Enter your personal SMA Grid Guard code.", + "lGridGuardLogin": "SMA Grid Guard login", + "lGridGuardLoginPwFailed": "The entered SMA Grid Guard code is incorrect. Please correct your entry.", + "lGridGuardLoginText": "You can only change the SMA Grid Guard parameters with your personal access code. Any change to SMA Grid Guard parameters must be approved by the grid operator.", + "lGridGuardPlaceholder": "SMA Grid Guard code", + "lHeadlineNsd": "Grid management service configuration", + "lHelp": "Help", + "lHierarchiegroup": "Group", + "lHome": "Home", + "lHour": "Hour", + "lHours": "hours", + "lIVCurveReportHead": "I-V generator diagnosis report", + "lImportBackupFile": "Load the configuration file", + "lImportSslCertHealineFile": "Import proxy security certificate", + "lImpulseInputMenu": "S0 interface", + "lInfoSecretCopy": "You have successfully carried out steps 1. and 2. Please proceed as follows now:

3. Enter a new password.
4. Copy the newly generated product key and save it.
5. Complete the process by clicking on the [Login] button.", + "lInfoSecretSave": "The product key is used to create a new password if you have forgotten your current password. The product key is assigned to your user account and only you know it - we strongly recommend to create it for security reasons. You should safely store the product key ([TAGROLE]) (e.g. as a photo, printout, in a text file or preferably in a password safe).
To copy the product key to the clipboard, use the [Copy] button.", + "lInformationDevice": "Information", + "lInformationDeviceEN": "Information", + "lInverterMppEntry": "Inverter input", + "lInverterProductWebsite": "Open the product page of the inverter", + "lIpAddressDnsServer": "IP address of the DNS server", + "lIpAdress": "Server", + "lIpAdressInverter": "IP address of the device", + "lIpGateway": "IP address of the gateway", + "lIpInverterSpeedwire": "Ethernet IP address:", + "lIpInverterWlan": "WLAN IP address:", + "lIslandSettingWizardMenu": "Application", + "lJavaScriptNotActive": "JavaScript is deactivated.", + "lJetTestActiveIslandingDetection": "Active islanding detection", + "lJetTestActiveIslandingDetectionMode": "Active islanding detection mode", + "lJetTestBoxState": "Status", + "lJetTestDetectionLevel": "Detection level", + "lJetTestDetectionLevelPU": "Detection level P(U)", + "lJetTestDetectionLevelQU": "Detection level reactive power", + "lJetTestDetectionTime": "Detection time", + "lJetTestFixedTime": "Fixed time", + "lJetTestFrequency": "Frequency", + "lJetTestFrequencyFeedback": "Frequency feedback", + "lJetTestFrequencyMonitoring": "Frequency monitoring", + "lJetTestInverterPower": "Inverter power", + "lJetTestIslandDetection": "Island detection", + "lJetTestOptionCosPi": "Cos(Phi)", + "lJetTestOptionOperationMode": "Operation mode", + "lJetTestOtherOption": "Other options", + "lJetTestPassiveIslandingDetection": "Passive islanding detection", + "lJetTestPminNorm": "Pmin Norm", + "lJetTestPowerCurtailmentBox": "Power Curtailment Box", + "lJetTestStepInjectionDetection": "Step injection detection", + "lJetTestVoltageDropDetection": "Voltage drop detection", + "lJetTestVoltageMonitoring": "Voltage monitoring", + "lJetTestWizardMenu": "Jet Test", + "lKeyConsumption": "Consumption", + "lKeyGridPower": "Power consumption", + "lKeyPvPower": "PV power", + "lKeyYield": "PV yield", + "lLeavePageWithUnsavedChanges": "There are unsaved changes which will be lost when leaving this page.", + "lLoadConfigFile": "Adopt the configuration from a file", + "lLoadImbalancesAsk": "Activating Unbalanced Load Limitation", + "lLoadImbalancesValue": "Maximum unbalanced load", + "lLoggerExportHelpHeadline": "Export data", + "lLogout": "Logout", + "lMaxNoParamChanges": "The maximum number of unsaved changes has been reached. You must first save the changes, before you can change further parameters.", + "lMaxOptimizerErr": "The number of the entered serial numbers exceeds the number of the detected TS4. Please check your entry.", + "lMaxValidation": "The number of characters of the serial number exceeds the maximum number.", + "lMeassurentDone": "Measurement performed", + "lMeterExport": "Meter: Export", + "lMeterImport": "Meter: Import", + "lMinOptimizerErr": "The number of the entered serial numbers is too low. Please check your entry.", + "lMinValidation": "The number of characters of the serial number is too low.", + "lMinute": "Minute", + "lMinutes": "Minutes", + "lMltMainSetting": "Operating Modes of the Multifunction Relay", + "lModeOfCurrentProfile": "Operating mode of the performance profile", + "lMultiClusterOverview": "Multicluster overview", + "lMultiClusterSoc": "middle SOC:", + "lMultiClusterState": "Multicluster status", + "lMultiClusterTotal": "Total capacity:", + "lName": "Name", + "lNameOfAllProfiles": "Created performance profiles", + "lNameOfCurrentProfile": "Designation of the performance profile", + "lNetworkConfWizardMenu": "Network configuration", + "lNewPass": "New Password", + "lNewPassRepeat": "Repeat password", + "lNewSecret": "New product key", + "lNewValue": "New value", + "lNoDataForGraph": "No data is available for the selected time period.", + "lNoDataForGraphRequestTimedOut": "The device has not answered the data request in time. Therefore, no data can be displayed.
Check the network connection if necessary and then reload the user interface in the web browser.", + "lNoMoreLogins": "No further login is possible.", + "lNoNetworkCommunication": "Manually", + "lNoSafety": "No (AC disconnect is Rapid Shutdown initiator)", + "lNotSavedSettings": "Unsaved changes", + "lNsdType_Netzanschlusspunkt": "Grid-connection point", + "lNsmState": "Feed-in management", + "lNsmTableCosPhi": "Cos phi setpoint", + "lNsmTablePower": "Active power", + "lNsmTablePowerShort": "Act.P", + "lNsmTableReactivePower": "Reactive power", + "lNsmTableReactivePowerShort": "React.P", + "lNsmTakaWizardMenu": "Grid management", + "lNsmWizardMenu": "Grid management service", + "lNumberConnectedStrings": "Number of connected strings", + "lOldPass": "Old password:", + "lOldValue": "Old value", + "lOpenSourceLicenses": "Open source licenses", + "lOptimizerDiffErr": "If there are several strings connected to an inverter input, all PV modules must be equipped with modular technology components.", + "lOptimizerMaxErr": "The total number of all TS4 products is exceeded.", + "lOverview": "Overview", + "lPInverter": "Inverter", + "lParameterName": "Parameter name", + "lPassword": "Password", + "lPasswort": "Password", + "lPcmWizardMenu": "I/O module", + "lPhaseAmNetzanschluss": "Connected line conductors", + "lPlantConfWizardMenu": "System configuration", + "lPlantConfiguration": "Device configuration", + "lPlantInverterWizardMenu": "System configuration", + "lPlsChrgW": "Grid Consumption Limit", + "lPlsDschW": "Grid Feed-In Limit", + "lPopNoneWeekDay": "When selecting a fixed date regardless of the weekday (e.g. Performance profile shall always apply from 1 May of each year.)", + "lPopOverListProfileCurrent": "Enter the requested name for the performance profile.", + "lPopOverListProfileNames": "Here you can create and configure a performance profile. In case of several performance profiles, the following applies: The performance profile on the top of the list has priority over the profiles that lie underneath it.", + "lPopPlsLimitFeed": "Target reference power at the grid connection point. When the set value is reached, the battery is discharged.", + "lPopPlsLimitFeedin": "Nominal feed-in power at the grid connection point. When the set value is reached, charging of the battery with the surplus power is started.", + "lPopProfileAdd": "Create new performance profile.", + "lPopProfileDown": "Selected performance profile is moved down a position.", + "lPopProfileDup": "Copy selected performance profile.", + "lPopProfileRemove": "Delete selected performance profile.", + "lPopProfileSave": "The current performance profile is saved temporarily on this page. The data is only transferred when the page is closed by clicking on the \"Save\" button.", + "lPopProfileUp": "Selected performance profile is moved up a position.", + "lPopTouLimitCharge": "Desired charging power of the battery. The power is set independently of the grid connection point.", + "lPortProxyServer": "Port", + "lPower": "Current power", + "lPowerControlModule": "Active power setpoint via SMA I/O module", + "lPowerControlModuleNA": "Grid and PV system protection via SMA I/O Module", + "lPreActiveHeader": "Active", + "lPreActivePowerHeader": "Active power", + "lPreDHeader": "D", + "lPreDIHeader": "DI", + "lPreInputHeader": "Input", + "lProcedure": "Procedure", + "lProxySettings": "Proxy settings", + "lPskChange": "The standard WLAN password of the device will be changed to the device-specific WLAN password.", + "lPskChangeAutomatic": "The WLAN password of the device changes after the initial configuration.", + "lPvLengthErr": "If there are several strings with a different number of PV modules connected to an inverter input, the difference should be less than 25%.", + "lPvOptimizerErr": "The number of the TS4 in the string may not exceed the number of the PV modules in the string.", + "lPvStringMaxErr": "The total number of all strings for this inverter is exceeded.", + "lPwdCharBig": "Upper case", + "lPwdCharCount": "8-12 characters", + "lPwdCharOther": "Special characters ?_!-", + "lPwdCharSign": "Number", + "lPwdCharSmall": "Lower case", + "lPwdInstallateur": "Installer password", + "lPwdRichtlinien": "Password guidelines", + "lPwdRptDvlp": "Repeat developer password", + "lPwdRptIstl": "Repeat installer password", + "lPwdRptSvc": "Repeat Service password", + "lPwdRptUsr": "Repeat user password", + "lPwdUser": "User password", + "lQcgContentEmgCharge": "In order to start the inverter again after an automatic shutdown, you must charge the battery in emergency charge mode.", + "lQcgContentNewBattery": "Selecting this button is only necessary when the battery settings are changed or when replacing the battery.
NOTICE
Damage to the battery due to incorrect settings
The battery can be damaged by incorrect settings of the battery type, nominal voltage and capacity parameters.
- Set the correct battery type as well as the correct values for nominal voltage and battery capacity when configuring.
- Ensure that the values recommended by the manufacturer are set for the battery.", + "lQcgContentNewSystem": "NOTICE
By starting the new system configuration, important parameters of the inverter are reset to the default settings.", + "lQcgFinishEmgCharge": "Emergency charging of the battery can be started.", + "lQcgFinishNewBattery": "The battery is newly configured.", + "lQcgFinishNewSystem": "The system configuration has been completed.", + "lQcgHeaderEmgCharge": "Battery emergency charge operation", + "lQcgHeaderNewBattery": "New battery configuration", + "lQcgHeaderNewSystem": "New system configuration", + "lRPRTestRunning": "Test is in progress", + "lRS485ErrorDoubleChoice": "The same purpose has been selected twice. The interfaces may only be used for different purposes.", + "lRS485MainSetting": "RS485 configuration", + "lRealStateOfCharge": "Actual state of charge", + "lReferenceValue": "Setpoint", + "lRestartSetupWizard": "Start the installation assistant", + "lReversePowerRelay": "Reverse Power Relay", + "lRunFirmwareUpdate": "Update the firmware", + "lRunSelftest": "Start the self-test", + "lSMAInverter": "SMA device", + "lSafetyFunctionsHeader": "Safety Functions", + "lSafetyFunctionsWizardMenu": "Safety Functions", + "lSaveChangesFailed": "An error has occurred while saving the changes. Please try again.", + "lSaveConfigToFile": "Save configuration to a file", + "lSaveNetworkSettings": "The network settings will be saved.", + "lSavePerfect": "Saving successful", + "lSearchModbusMeter": "Search", + "lSecond": "Second", + "lSeconds": "Seconds", + "lSecretFallback": "Reset [TAGMODE]", + "lSecurity": "Access rights", + "lSelectAll": "Select all", + "lSeleted": "Select", + "lSelftestResult": "Result of the self-test", + "lSerNoFt": "Serial number:", + "lSerialHeading": "Serial number", + "lSettings": "Settings", + "lSetupWizard": "Configuration with installation assistant", + "lShowGridSearching": "The inverter synchronizes to the available grid frequency.", + "lSignValidation": "The serial number is faulty. Please check your entry.", + "lSignalStrength": "Signal strength", + "lSmartViewInfo": "Can only be activated after the initial start-up by the installation assistant", + "lSpotValues": "Instantaneous values", + "lSprache": "Language", + "lStandardSetting": "Standard settings", + "lStandby": "Standby", + "lStartDate": "from", + "lSteuerwert": "Output value", + "lStringFailureDetectionMenu": "String-failure detection", + "lStringFailureWizardMenu": "String configuration", + "lStringGroup1": "Group 1", + "lStringGroup2": "Group 2", + "lStringGroup3": "Group 3", + "lStringInput": "String input", + "lSubnetmask": "Subnet mask", + "lSummary": "Summary", + "lSummaryWizardMenu": "Summary", + "lSupportedModbusMeter": "Supported Modbus energy meters", + "lSusyId": "SUSyID", + "lSystemOverview": "System Overview", + "lTableHeadingPvDay": "PV power", + "lTemperatureIrradiationMenu": "Temperature Irradiation", + "lTemperatureMeasurement": "Temperature measurement", + "lTestRunning": "The test is being performed.", + "lTestStarted": "The test has been started.", + "lTestStopped": "The test has been completed.", + "lTextVon": "of", + "lTigoDetailsDevices": "Details", + "lTigoGateway": "Gateway", + "lTigoMainSttHeader": "Search for modular technology components", + "lTigoNumberCompoments": "Number of detected components", + "lTigoNumberGateways": "Number of gateways", + "lTigoParameterChanged": "The parameters of the module technology configuration have not been saved yet.
Click on Start search to complete the configuration.", + "lTigoPortalInfo": "Logging has been started!
One moment please...
When the logging process is completed, the TS4 components are available in Sunny Portal after a waiting time of 10 minutes.", + "lTigoSpotValueHeader": "Module Technology", + "lTigoSttCommissioning": "Commissioning is active and not all devices have been detected yet.", + "lTigoSttCommunication": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "lTigoTS4": "TS4", + "lTigoTS4String": "Number of the TS4 in the string", + "lTigoTabNameCfg": "String configuration", + "lTigoTabNameStatus": "Status", + "lTigoTabNameSystem": "System configuration", + "lTigoUsedNumberGateways": "Gateways", + "lTigoWizardMenu": "Modular technology configuration", + "lTilesHeadOptimizer": "Modular technology status", + "lTime": "Time", + "lTimeDomain": "Time range", + "lTimeLeft": "Remaining time", + "lTimeOfUseDayDi": "Tue", + "lTimeOfUseDayDo": "Thu", + "lTimeOfUseDayFr": "Fri", + "lTimeOfUseDayHd": "Independent of weekdays", + "lTimeOfUseDayMi": "Wed", + "lTimeOfUseDayMo": "Mon", + "lTimeOfUseDaySa": "Sa", + "lTimeOfUseDaySo": "Sun", + "lTimeOfUseDays": "Select days of the week", + "lTimeOfUseHelpContent": "Time-controlled power specification (time-of-use)

This operating mode is used to adapt the charging behavior of the battery to its electricity tariff.
You can determine in which time range the battery with a specified charging power is operated.

Load-controlled power setpoint at the grid-connection point (peak load shaving)

This operating mode is used to optimize the battery inverter behavior to the power exchange at the grid-connection point. With this operating mode, certain grid-exchange power outputs to which the battery inverter is adjusted depending on its power and battery capacity available can be set. Power peaks can thus be avoided.

Inactive
This operating mode is used to deactivate a performance profile temporarily.", + "lTimeOfUseHelpIntro": "On this page, you can create performance profiles for the use of different electricity tariffs. Three operating modes can be chosen from regarding the performance profiles. As a result, you can use cheap electricity and reduce your energy bills.", + "lTimeOfUseModal": "Performance profile", + "lTimeOfUseStartDate": "Date", + "lTimeOfUseStartTime": "Time", + "lTimezone": "Time zone", + "lToggelEinspeisemanagementOnOff": "Feed-in management at the grid-connection point", + "lUniqueValidation": "This serial number already exists. Please check your entry.", + "lUnitPowerConsumption": "(kWh)", + "lUnitYieldConsumption": "(kWh)", + "lUnitYieldConsumptionActual": "(kW)", + "lUsedPlantInverter": "Devices in the system", + "lUsedSlaves": "Devices in the system", + "lUserInfo": "User information", + "lUserInformation": "User information", + "lUserSettings": "User settings", + "lUsrGrFt": "User group:", + "lWarningWaitingNewSys": "QCG dialog", + "lWebConnect": "Automatically via a NTP time server", + "lWlanConfigType": "Type of connection", + "lYapAcSwitchOff": "If you lost the [TAGMODE], please proceed as follows:
1. Click on the [Next] button below
2. Within the next 20 minutes carry out one of the two following actions:
a) Go to your device and tap on the enclosure lid of the device twice in quick succession or
b) Go to your distribution board and interrupt the miniature circuit breaker (AC fuse) of your device for at least 10 seconds and for a maximum of 30 seconds.

As soon as you have successfully carried out one of these actions:
3. Enter a new password.
4. Copy the newly generated product key and save it.
5. Complete the process by clicking on the [Login] button.", + "lYapAcSwitchOffService": "To carry out the \"login\" process, please proceed as follows:
1. Enter your one-time password (token)
2. Click on the [Next] button below
3. Within the time specified carry out one of the two following actions:
a) Go to your device and tap on the enclosure lid of the device twice in quick succession or
b) Go to your distribution board and interrupt the miniature circuit breaker (AC
fuse) of your device for at least 10 seconds and for a maximum of 30 seconds.
4. Confirm the process by clicking on the [Login] button below.", + "lYapDataBase": "PUK 2.0 - Service", + "lYapKeyHeaderChangeSecret": "Please enter [TAGMODE] to generate a new product key:", + "lYapKeySetNewKeyPsk": "For logging in and creating a new password, a specific device secret of the WPA2-PSK must be entered.", + "lYapKeySetNewKeyRid": "For logging in and creating a new password, a specific device secret of the RID must be entered.", + "lYapKeyToken": "One-time password (token)", + "lYapReady": "Password guidelines PUK2.0 ready", + "lYapSerectLost": "Lost [TAGMODE]?", + "lYapServiceRemovePwd": "Information: any existing passwords for Service access are deleted when saving.", + "lYapServiceTimeExpired": "The currently saved value for the 'Expiry of SMA Service access' is in the past. Service access is not possible. Please enter a new time and save.", + "lYapServiceTimeNotSaved": "The value shown for 'Expiry SMA Service access' is not yet saved.", + "lYesSafety": "Yes (DC disconnect is Rapid Shutdown initiator)", + "lYield": "Yield", + "lYieldToday": "Today:", + "lYieldTotal": "Total:", + "lYieldYesterday": "Yesterday:", + "lcurrentComType": "Type of communication", + "lcurrentIp": "IP", + "lcurrentIpInverter": "IP address of the device", + "lcurrentNetworkName": "Network name", + "leventSearch": "Search", + "llTigoNumberStringInputs": "Number of strings", + "lloginLocked": "Your access has been blocked.", + "oChooseConf": "Select a configuration option:", + "oChooseContextMenuEnergyMeter": "In the table SMA Energy Meters found, select the following button for the desired SMA Energy Meter:", + "oChooseCountrySetting": "Select the desired country data set.", + "oChooseFile": "Select the desired file:", + "oChooseUsedEnergyMeter": "In the context menu, select Use SMA Energy Meter in the system. The SMA Energy Meter will be added to your system as installed SMA Energy Meter.", + "oConfInv": "Configure the device", + "oDontShutdown": "In order to avoid data loss, do not switch off the device during the update procedure.", + "oEnableWlan": "Activate WLAN", + "oFilenameToLong": "The name of the selected file is too long.
  • Adapt the file name or select a file with a shorter file name.
", + "oGridGuard": "Enter your personal SMA Grid Guard code:", + "oInsertGGLogin": "Enter your personal SMA Grid Guard code.", + "oNewDevicenameInput": "Enter the desired device name:", + "oNoConnectionToDevice": "The connection to the device was interrupted.
  • Reestablish the network connection to the device.
", + "oSimpleStringFailureDetection": "To activate the string-failure detection, select the option On under Activate string-failure detection.", + "oStringFailureDetection": "Procedure:
  1. To activate the string-failure detection, select the option On under Activate string-failure detection.
  2. Specify the number of connected strings per string input used.
  3. To consolidate certain string inputs into a group, activate the check box for the respective string input in the desired group column. Here, each string input can only be assigned to one group. At least two string inputs must be selected per group.
  4. Specify the tolerance limit for the string-failure detection.
  5. Specify how long the set tolerance limit has to be overstepped once a string failure has been detected before a warning is displayed in the events list of the inverter.
", + "oWlanPasswortInsert": "WPA2 password", + "tActivePowerReductionActive": "The active power limitation is active at the moment.", + "tActivePowerReductionNotActive": "The active power limitation is set, but not active at the moment.", + "tActivePowerReductionOff": "The active power limitation is deactivated.", + "tClickForSearch": "select now and search", + "tConsumptionLegend": "Power that your household has drawn from your PV system (self-consumption) and the utility grid (purchased electricity).", + "tDeactivateWlan": "You can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "tDhcsServer": "The DCHP server automatically assigns the appropriate network settings to your nodes in the local network (e.g. the computer). A manual network configuration is therefore not necessary. In a local network, the router is usually the DHCP server.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "tDiscardParamChange": "Discard change", + "tEventError": "Error", + "tEventErrorIncoming": "Incoming error", + "tEventErrorOutgoing": "Outgoing error", + "tEventInfo": "Information", + "tEventInfoIncoming": "Incoming information", + "tEventInfoOutgoing": "Outgoing information", + "tEventWarning": "Warning", + "tEventWarningIncoming": "Incoming warning", + "tEventWarningOutgoing": "Outgoing warning", + "tFiles": "Files", + "tHelp": "Help", + "tIpAdress": "Enter the desired IP address of the device and note it down. You will require the IP address to call up the user interface in the local network after having completed the configuration procedure.
Tip: The first three blocks of the IP address are usually identical with the IP address of your router.

The IP address is the unique identification of a node in the local network.", + "tIpDnsServer": "Enter the IP address of your DNS server here.
Tip: This is usually the IP address of your router.
A DNS server translates the more easily readable Internet addresses for the user into the required IP addresses for the devices (e.g. www.SunnyPortal.com >> 10.12.122.122).", + "tIpGateway": "Enter the IP address of your gateway.
Tip: This is usually the IP address of your router.
A gateway is the transfer point between two networks, e.g. local network and Internet.", + "tListChangeDeviceName": "Change the device names.", + "tListFwUpdate": "Update the firmware.", + "tListImportProxyCert": "Import the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "tListLoadConfig": "Adopt configuration of a device from a file.", + "tListRemoveDevice": "Delete the device.", + "tListSaveConfig": "Save the current configuration of the device in a file.", + "tListSelfTest": "If the configured country data set requires a self-test, start the self-test.", + "tLoginGridGuard": "In order to change this parameter, you must log in with your personal SMA Grid Guard code in the menu User settings.", + "tModbusMeterHelp": "In the table with the supported Modbus energy meters, all supported energy meters are shown. By clicking on the button Search, you can search for energy meters and add them to your system.", + "tOldEnergyMeterSettings": "Select the energy meter from which the consumption data is to be obtained.

Procedure
  1. In the table Available energy meters, select the button Settings for the desired energy meter.
  2. In the context menu, select Use energy meter in the system. The energy meter is then added as installed energy meter to your system.
", + "tOptimizerStatus": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "tPasswordRules": "Password guideline
  • 8 to 12 characters
  • At least 1 lower and 1 upper case letter
  • At least 1 digit
  • Possible special characters: ?_!-
", + "tPasswortVergessen": "Forgot password?", + "tProxyserver": "A proxy server is a communication interface in the local network. Via the proxy server, the nodes in the local network can, for example, establish an Internet connection.", + "tStringFaultDetectionTolerance": "Specify the tolerance limit by which the string current may deviate from the average value of the respective group here.", + "tSubnetmask": "Enter the subnet mask of the network here.
Tip: You can usually use the standard subnet mask 255.255.255.0. If you have any questions, contact your network administrator.
The subnet mask separates network areas in the local network from each other. Together with the IP address, the subnet mask determines the address of a node in the local network. Via this address, the node can be reached inside and outside the local network (e.g. via a router connected with the Internet).", + "tUserSettings": "User settings", + "tYapPskForgot": "Where can I find the WPA2-PSK?", + "tYapRidForgot": "Where can I find the RID?", + "tYieldLegend": "Power that your PV system has fed into the utility grid.", + "lFileCfgFormat": "Configuration file format", + "lOnlineHelp": "eManual", + "lSmartView": "Smart Inverter Screen", + "1383": "Active power is limited by a specified maximum Limit", + "1500000": "SMA Solar Technology AG", + "1500001": "|raw01|", + "2000000": "Gushen" +} diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sbs.definition.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sbs.definition.json new file mode 100644 index 0000000..962e060 --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sbs.definition.json @@ -0,0 +1,44165 @@ +{ + "6100_00416C00": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 11549, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08419000": { + "Prio": 2, + "TagId": 814, + "TagIdEvtMsg": 10003, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 3409 + ] + }, + "6180_08414D00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11177, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 46 + ] + }, + "6180_08414E00": { + "Prio": 2, + "TagId": 2425, + "TagIdEvtMsg": 11261, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 46 + ] + }, + "6100_40412100": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 11573, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 3222 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_08414B00": { + "Prio": 2, + "TagId": 76, + "TagIdEvtMsg": 10113, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6100_00418000": { + "Prio": 2, + "TagId": 153, + "TagIdEvtMsg": 10109, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00417F00": { + "Prio": 2, + "TagId": 152, + "TagIdEvtMsg": 10027, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08414900": { + "Prio": 2, + "TagId": 297, + "TagIdEvtMsg": 10112, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6180_08414A00": { + "Prio": 2, + "TagId": 335, + "TagIdEvtMsg": 10111, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 888 + ] + }, + "6180_08414F00": { + "Prio": 2, + "TagId": 2523, + "TagIdEvtMsg": 11319, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6182_08415000": { + "Prio": 2, + "TagId": 2521, + "TagIdEvtMsg": 11320, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6182_08415100": { + "Prio": 2, + "TagId": 2522, + "TagIdEvtMsg": 11321, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 240 + ] + }, + "6100_00412000": { + "Prio": 2, + "TagId": 35, + "TagIdEvtMsg": 10083, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411E00": { + "Prio": 2, + "TagId": 307, + "TagIdEvtMsg": 10081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6100_00411F00": { + "Prio": 2, + "TagId": 455, + "TagIdEvtMsg": 10082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 241 + ], + "Sum": true, + "Cnt": true, + "SumD": true + }, + "6180_08413200": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10487, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 1087 + ] + }, + "6180_08414C00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11176, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 267 + ] + }, + "6180_08413300": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10441, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309, + 1080 + ] + }, + "6182_08413400": { + "Prio": 2, + "TagId": 3822, + "TagIdEvtMsg": 11899, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416500": { + "Prio": 2, + "TagId": 277, + "TagIdEvtMsg": 10115, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6402_00618D00": { + "Prio": 3, + "TagId": 103, + "TagIdEvtMsg": 10013, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6400_00618C00": { + "Prio": 3, + "TagId": 105, + "TagIdEvtMsg": 10009, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_00412300": { + "Prio": 2, + "TagId": 4761, + "TagIdEvtMsg": 12544, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416800": { + "Prio": 2, + "TagId": 2384, + "TagIdEvtMsg": 11241, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08416400": { + "Prio": 2, + "TagId": 238, + "TagIdEvtMsg": 10114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "7280_08214800": { + "Prio": 1, + "TagId": 240, + "TagIdEvtMsg": 10110, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412400": { + "Prio": 2, + "TagId": 4762, + "TagIdEvtMsg": 12545, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08419900": { + "Prio": 2, + "TagId": 1700, + "TagIdEvtMsg": 10873, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6180_08412800": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11040, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412200": { + "Prio": 2, + "TagId": 3699, + "TagIdEvtMsg": 11846, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00416600": { + "Prio": 2, + "TagId": 350, + "TagIdEvtMsg": 10028, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08416900": { + "Prio": 2, + "TagId": 2385, + "TagIdEvtMsg": 11242, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412B00": { + "Prio": 2, + "TagId": 4572, + "TagIdEvtMsg": 12418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6182_08412A00": { + "Prio": 2, + "TagId": 4571, + "TagIdEvtMsg": 12417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6800_08811F00": { + "Prio": 4, + "TagId": 3145, + "TagIdEvtMsg": 11526, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 394 + ] + }, + "6180_08412900": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11533, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 704 + ] + }, + "6800_08813500": { + "Prio": 4, + "TagId": 1438, + "TagIdEvtMsg": 10781, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 1531 + ] + }, + "6800_08813400": { + "Prio": 4, + "TagId": 1534, + "TagIdEvtMsg": 10780, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 1531 + ] + }, + "6800_08813300": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 830, + 1531 + ] + }, + "6800_00825200": { + "Prio": 4, + "TagId": 4348, + "TagIdEvtMsg": 12188, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825300": { + "Prio": 4, + "TagId": 4349, + "TagIdEvtMsg": 12189, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825400": { + "Prio": 4, + "TagId": 4350, + "TagIdEvtMsg": 12190, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825500": { + "Prio": 4, + "TagId": 4351, + "TagIdEvtMsg": 12191, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825700": { + "Prio": 4, + "TagId": 4353, + "TagIdEvtMsg": 12193, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_00825600": { + "Prio": 4, + "TagId": 4352, + "TagIdEvtMsg": 12192, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824E00": { + "Prio": 4, + "TagId": 4344, + "TagIdEvtMsg": 12184, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824F00": { + "Prio": 4, + "TagId": 4345, + "TagIdEvtMsg": 12185, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40825000": { + "Prio": 4, + "TagId": 4346, + "TagIdEvtMsg": 12186, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40825100": { + "Prio": 4, + "TagId": 4347, + "TagIdEvtMsg": 12187, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824B00": { + "Prio": 4, + "TagId": 4341, + "TagIdEvtMsg": 12181, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824A00": { + "Prio": 4, + "TagId": 4340, + "TagIdEvtMsg": 12180, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ], + "Deprecated": true + }, + "6800_40824D00": { + "Prio": 4, + "TagId": 4343, + "TagIdEvtMsg": 12183, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6800_40824C00": { + "Prio": 4, + "TagId": 4342, + "TagIdEvtMsg": 12182, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 267 + ] + }, + "6802_10822F00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10295, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46, + 3802 + ] + }, + "6802_10822E00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 10294, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46, + 3802 + ] + }, + "6802_00822D00": { + "Prio": 4, + "TagId": 2342, + "TagIdEvtMsg": 11200, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46 + ] + }, + "6802_08822C00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 11199, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 46 + ] + }, + "6802_00823F00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10745, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 1105 + ] + }, + "6800_00823E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10746, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 1105 + ] + }, + "6800_00823D00": { + "Prio": 4, + "TagId": 4898, + "TagIdEvtMsg": 12707, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 4895 + ] + }, + "6800_00823C00": { + "Prio": 4, + "TagId": 4897, + "TagIdEvtMsg": 12706, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 4895 + ] + }, + "6800_00823B00": { + "Prio": 4, + "TagId": 4896, + "TagIdEvtMsg": 12705, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 4895 + ] + }, + "6802_00A21F00": { + "Prio": 5, + "TagId": 2521, + "TagIdEvtMsg": 11317, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 372 + ] + }, + "6802_00A22000": { + "Prio": 5, + "TagId": 2522, + "TagIdEvtMsg": 11318, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299, + 372 + ] + }, + "6800_00822500": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 11284, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6802_08822200": { + "Prio": 4, + "TagId": 574, + "TagIdEvtMsg": 10280, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822100": { + "Prio": 4, + "TagId": 573, + "TagIdEvtMsg": 10279, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824800": { + "Prio": 4, + "TagId": 3080, + "TagIdEvtMsg": 11486, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6802_00823300": { + "Prio": 4, + "TagId": 533, + "TagIdEvtMsg": 10258, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823800": { + "Prio": 4, + "TagId": 4892, + "TagIdEvtMsg": 12700, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824500": { + "Prio": 4, + "TagId": 3077, + "TagIdEvtMsg": 11483, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00A22100": { + "Prio": 5, + "TagId": 3814, + "TagIdEvtMsg": 10372, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12702, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "680E_10821E00": { + "Prio": 4, + "TagId": 284, + "TagIdEvtMsg": 10127, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 24, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A22F00": { + "Prio": 5, + "TagId": 1717, + "TagIdEvtMsg": 10888, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08821F00": { + "Prio": 4, + "TagId": 286, + "TagIdEvtMsg": 10128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_08822000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 10129, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824600": { + "Prio": 4, + "TagId": 3078, + "TagIdEvtMsg": 11484, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08824900": { + "Prio": 4, + "TagId": 3081, + "TagIdEvtMsg": 11487, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823400": { + "Prio": 4, + "TagId": 875, + "TagIdEvtMsg": 10373, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823600": { + "Prio": 4, + "TagId": 1526, + "TagIdEvtMsg": 10678, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822800": { + "Prio": 4, + "TagId": 3811, + "TagIdEvtMsg": 10657, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823500": { + "Prio": 4, + "TagId": 1316, + "TagIdEvtMsg": 10679, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_00A21E00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10080, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A22200": { + "Prio": 5, + "TagId": 4799, + "TagIdEvtMsg": 12604, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "680E_10A22200": { + "Prio": 5, + "TagId": 4799, + "TagIdEvtMsg": 12604, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A24600": { + "Prio": 5, + "TagId": 882, + "TagIdEvtMsg": 10429, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 831, + 299 + ] + }, + "6800_00823900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12701, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10824700": { + "Prio": 4, + "TagId": 3079, + "TagIdEvtMsg": 11485, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08822B00": { + "Prio": 4, + "TagId": 440, + "TagIdEvtMsg": 10130, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10822A00": { + "Prio": 4, + "TagId": 4685, + "TagIdEvtMsg": 12483, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_10A23000": { + "Prio": 5, + "TagId": 3399, + "TagIdEvtMsg": 11641, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, + "6800_08837700": { + "Prio": 4, + "TagId": 724, + "TagIdEvtMsg": 10308, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837800": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": 10309, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837900": { + "Prio": 4, + "TagId": 726, + "TagIdEvtMsg": 10310, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837A00": { + "Prio": 4, + "TagId": 727, + "TagIdEvtMsg": 10311, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837C00": { + "Prio": 4, + "TagId": 729, + "TagIdEvtMsg": 10313, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6800_08837B00": { + "Prio": 4, + "TagId": 728, + "TagIdEvtMsg": 10312, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 56 + ] + }, + "6802_40835800": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 10145, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 44 + ] + }, + "6102_40433600": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10087, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40433700": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 10088, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_40835900": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10269, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 44 + ] + }, + "6802_40835A00": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 10146, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 45 + ] + }, + "6102_40433800": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10089, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40433900": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 10090, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_40835B00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10270, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 45 + ] + }, + "6102_40633000": { + "Prio": 3, + "TagId": 2449, + "TagIdEvtMsg": 10099, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 48 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6102_40433100": { + "Prio": 2, + "TagId": 2450, + "TagIdEvtMsg": 10100, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 48 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00432800": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 12694, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 1883 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00835300": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10136, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 211 + ] + }, + "6802_00835400": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10137, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 212 + ] + }, + "6802_00835200": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10142, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 2489 + ] + }, + "6802_00835500": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10138, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 213 + ] + }, + "6802_00835600": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10139, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 214 + ] + }, + "6802_00835700": { + "Prio": 4, + "TagId": 405, + "TagIdEvtMsg": 10140, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 58, + 215 + ] + }, + "6102_40633E00": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10104, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40633400": { + "Prio": 3, + "TagId": 400, + "TagIdEvtMsg": 10097, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 422 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08834800": { + "Prio": 4, + "TagId": 216, + "TagIdEvtMsg": 10124, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 58 + ] + }, + "6200_40237700": { + "Prio": 1, + "TagId": 397, + "TagIdEvtMsg": 10067, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6800_08831900": { + "Prio": 4, + "TagId": 4150, + "TagIdEvtMsg": 12044, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 62, + 4065 + ] + }, + "6800_08838100": { + "Prio": 4, + "TagId": 700, + "TagIdEvtMsg": 10290, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6800_08838200": { + "Prio": 4, + "TagId": 701, + "TagIdEvtMsg": 10291, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6800_08838300": { + "Prio": 4, + "TagId": 702, + "TagIdEvtMsg": 10292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 266 + ] + }, + "6802_08834200": { + "Prio": 4, + "TagId": 823, + "TagIdEvtMsg": 10034, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 266 + ] + }, + "6802_0083FE00": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11855, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_0883FD00": { + "Prio": 4, + "TagId": 3639, + "TagIdEvtMsg": 11854, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_00A33700": { + "Prio": 5, + "TagId": 3806, + "TagIdEvtMsg": 11888, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ], + "Hidden": true + }, + "6802_00A33800": { + "Prio": 5, + "TagId": 3807, + "TagIdEvtMsg": 11889, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ], + "Hidden": true + }, + "6802_0883FC00": { + "Prio": 4, + "TagId": 394, + "TagIdEvtMsg": 11853, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_0883FB00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11852, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 3638 + ] + }, + "6802_4083BF00": { + "Prio": 4, + "TagId": 1357, + "TagIdEvtMsg": 10705, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083BE00": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 10704, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083BD00": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 10703, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083B900": { + "Prio": 4, + "TagId": 1351, + "TagIdEvtMsg": 10699, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083BA00": { + "Prio": 4, + "TagId": 1352, + "TagIdEvtMsg": 10700, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083BB00": { + "Prio": 4, + "TagId": 1353, + "TagIdEvtMsg": 10701, + "Unit": 1361, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6800_4083BC00": { + "Prio": 4, + "TagId": 1354, + "TagIdEvtMsg": 10702, + "Unit": 1362, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C000": { + "Prio": 4, + "TagId": 1422, + "TagIdEvtMsg": 10735, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C500": { + "Prio": 4, + "TagId": 1221, + "TagIdEvtMsg": 10736, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C300": { + "Prio": 4, + "TagId": 1424, + "TagIdEvtMsg": 10738, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C100": { + "Prio": 4, + "TagId": 1423, + "TagIdEvtMsg": 10737, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C200": { + "Prio": 4, + "TagId": 1425, + "TagIdEvtMsg": 10739, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_0083C400": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10740, + "Unit": 33, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1350 + ] + }, + "6802_4083A800": { + "Prio": 4, + "TagId": 2470, + "TagIdEvtMsg": 11276, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2469 + ] + }, + "6802_0083A900": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 11277, + "Unit": 7, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2469 + ] + }, + "6802_4083A600": { + "Prio": 4, + "TagId": 2471, + "TagIdEvtMsg": 11274, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_4083A500": { + "Prio": 4, + "TagId": 2470, + "TagIdEvtMsg": 11273, + "Unit": 2467, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_0083A700": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 11275, + "Unit": 7, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426, + 2468 + ] + }, + "6802_0083A300": { + "Prio": 4, + "TagId": 1414, + "TagIdEvtMsg": 10741, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6802_0083A200": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 10742, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6802_0883A400": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10743, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267, + 1426 + ] + }, + "6102_00632300": { + "Prio": 3, + "TagId": 3940, + "TagIdEvtMsg": 11931, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00832600": { + "Prio": 4, + "TagId": 2560, + "TagIdEvtMsg": 11367, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6102_00632400": { + "Prio": 3, + "TagId": 3941, + "TagIdEvtMsg": 11932, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08838900": { + "Prio": 4, + "TagId": 3637, + "TagIdEvtMsg": 11851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_0883FF00": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08833200": { + "Prio": 4, + "TagId": 1660, + "TagIdEvtMsg": 10842, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08833D00": { + "Prio": 4, + "TagId": 3480, + "TagIdEvtMsg": 11672, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08A33300": { + "Prio": 5, + "TagId": 3700, + "TagIdEvtMsg": 11847, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832700": { + "Prio": 4, + "TagId": 2120, + "TagIdEvtMsg": 11041, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_40831C00": { + "Prio": 4, + "TagId": 4096, + "TagIdEvtMsg": 12030, + "Unit": 4098, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08833F00": { + "Prio": 4, + "TagId": 3549, + "TagIdEvtMsg": 11734, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833500": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 11366, + "Unit": 7, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6800_00831400": { + "Prio": 4, + "TagId": 4320, + "TagIdEvtMsg": 12155, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6800_00831300": { + "Prio": 4, + "TagId": 4329, + "TagIdEvtMsg": 12154, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6182_08434F00": { + "Prio": 2, + "TagId": 3620, + "TagIdEvtMsg": 11832, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833000": { + "Prio": 4, + "TagId": 1063, + "TagIdEvtMsg": 10475, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_4083F700": { + "Prio": 4, + "TagId": 3473, + "TagIdEvtMsg": 11667, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F800": { + "Prio": 4, + "TagId": 3474, + "TagIdEvtMsg": 11668, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F900": { + "Prio": 4, + "TagId": 3475, + "TagIdEvtMsg": 11669, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083FA00": { + "Prio": 4, + "TagId": 3476, + "TagIdEvtMsg": 11670, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6180_08436400": { + "Prio": 2, + "TagId": 2099, + "TagIdEvtMsg": 11033, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833300": { + "Prio": 4, + "TagId": 380, + "TagIdEvtMsg": 10125, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08990800": { + "Prio": 4, + "TagId": 4987, + "TagIdEvtMsg": 12755, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6402_00435300": { + "Prio": 2, + "TagId": 4988, + "TagIdEvtMsg": 12756, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Sum": true, + "SumD": true + }, + "6802_08990900": { + "Prio": 4, + "TagId": 4989, + "TagIdEvtMsg": 12757, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08838A00": { + "Prio": 4, + "TagId": 3640, + "TagIdEvtMsg": 11856, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832F00": { + "Prio": 4, + "TagId": 1062, + "TagIdEvtMsg": 10474, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832E00": { + "Prio": 4, + "TagId": 1061, + "TagIdEvtMsg": 10473, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6100_40432600": { + "Prio": 2, + "TagId": 4754, + "TagIdEvtMsg": 12542, + "Unit": 4314, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00834600": { + "Prio": 4, + "TagId": 3621, + "TagIdEvtMsg": 11833, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832D00": { + "Prio": 4, + "TagId": 1060, + "TagIdEvtMsg": 10472, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F300": { + "Prio": 4, + "TagId": 3469, + "TagIdEvtMsg": 11663, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F400": { + "Prio": 4, + "TagId": 3470, + "TagIdEvtMsg": 11664, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F500": { + "Prio": 4, + "TagId": 3471, + "TagIdEvtMsg": 11665, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_4083F600": { + "Prio": 4, + "TagId": 3472, + "TagIdEvtMsg": 11666, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_00832C00": { + "Prio": 4, + "TagId": 1059, + "TagIdEvtMsg": 10471, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, + "6802_40831500": { + "Prio": 4, + "TagId": 1059, + "TagIdEvtMsg": 10471, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08830F00": { + "Prio": 4, + "TagId": 4550, + "TagIdEvtMsg": 12402, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00833400": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 11365, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_40831D00": { + "Prio": 4, + "TagId": 4097, + "TagIdEvtMsg": 12031, + "Unit": 4099, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6100_00435400": { + "Prio": 2, + "TagId": 5052, + "TagIdEvtMsg": 12801, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6100_40432500": { + "Prio": 2, + "TagId": 4753, + "TagIdEvtMsg": 12541, + "Unit": 4314, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00832A00": { + "Prio": 4, + "TagId": 314, + "TagIdEvtMsg": 10121, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, + "6802_00832B00": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 10159, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832900": { + "Prio": 4, + "TagId": 566, + "TagIdEvtMsg": 10274, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_08832800": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, + "6802_0083F100": { + "Prio": 4, + "TagId": 1786, + "TagIdEvtMsg": 10642, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 290 + ] + }, + "6800_0083F200": { + "Prio": 4, + "TagId": 3575, + "TagIdEvtMsg": 10644, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 290 + ] + }, + "6402_00432100": { + "Prio": 2, + "TagId": 2129, + "TagIdEvtMsg": 10643, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00432200": { + "Prio": 2, + "TagId": 3576, + "TagIdEvtMsg": 10645, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_08834700": { + "Prio": 4, + "TagId": 3642, + "TagIdEvtMsg": 11858, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309, + 3376 + ] + }, + "6800_00233400": { + "Prio": 1, + "TagId": 3716, + "TagIdEvtMsg": 11863, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232B00": { + "Prio": 1, + "TagId": 65, + "TagIdEvtMsg": 11753, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232A00": { + "Prio": 1, + "TagId": 761, + "TagIdEvtMsg": 11752, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232D00": { + "Prio": 1, + "TagId": 763, + "TagIdEvtMsg": 11755, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232C00": { + "Prio": 1, + "TagId": 762, + "TagIdEvtMsg": 11754, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6100_00437B00": { + "Prio": 2, + "TagId": 4920, + "TagIdEvtMsg": 12727, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00431E00": { + "Prio": 2, + "TagId": 4918, + "TagIdEvtMsg": 12725, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 + ], + "Sum": true, + "SumD": true + }, + "6800_00232900": { + "Prio": 1, + "TagId": 331, + "TagIdEvtMsg": 11751, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232800": { + "Prio": 1, + "TagId": 760, + "TagIdEvtMsg": 11750, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6400_00432900": { + "Prio": 2, + "TagId": 4919, + "TagIdEvtMsg": 12726, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 454 + ], + "Sum": true, + "SumD": true + }, + "6800_00232700": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 11749, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232600": { + "Prio": 1, + "TagId": 759, + "TagIdEvtMsg": 11748, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00232500": { + "Prio": 1, + "TagId": 758, + "TagIdEvtMsg": 11747, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6800_00233500": { + "Prio": 1, + "TagId": 437, + "TagIdEvtMsg": 11864, + "Unit": 16, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 454 + ] + }, + "6802_08830D00": { + "Prio": 4, + "TagId": 4646, + "TagIdEvtMsg": 12443, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 4, + "GridGuard": true, + "TagHier": [ + 832, + 309, + 4279 + ] + }, + "6800_00232200": { + "Prio": 1, + "TagId": 286, + "TagIdEvtMsg": 11743, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233200": { + "Prio": 1, + "TagId": 294, + "TagIdEvtMsg": 11760, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_00233100": { + "Prio": 1, + "TagId": 372, + "TagIdEvtMsg": 11759, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6800_10233000": { + "Prio": 1, + "TagId": 440, + "TagIdEvtMsg": 11758, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 299 + ] + }, + "6802_00833C00": { + "Prio": 4, + "TagId": 1432, + "TagIdEvtMsg": 10750, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 309, + 1430, + 1431 + ] + }, + "6800_08833B00": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10749, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 309, + 1430 + ] + }, + "6800_00832100": { + "Prio": 4, + "TagId": 2562, + "TagIdEvtMsg": 11370, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_08831F00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11368, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_08832200": { + "Prio": 4, + "TagId": 2563, + "TagIdEvtMsg": 11371, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_00832000": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11369, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 1775 + ] + }, + "6800_08832300": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 10119, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00234D00": { + "Prio": 1, + "TagId": 35, + "TagIdEvtMsg": 11744, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08834500": { + "Prio": 4, + "TagId": 1428, + "TagIdEvtMsg": 10747, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6180_08436800": { + "Prio": 2, + "TagId": 1429, + "TagIdEvtMsg": 10748, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08832500": { + "Prio": 4, + "TagId": 2530, + "TagIdEvtMsg": 11330, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6180_08432700": { + "Prio": 2, + "TagId": 4763, + "TagIdEvtMsg": 12546, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834400": { + "Prio": 4, + "TagId": 339, + "TagIdEvtMsg": 10116, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232400": { + "Prio": 1, + "TagId": 757, + "TagIdEvtMsg": 11746, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_0083CB00": { + "Prio": 4, + "TagId": 1756, + "TagIdEvtMsg": 10926, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232E00": { + "Prio": 1, + "TagId": 764, + "TagIdEvtMsg": 11756, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232300": { + "Prio": 1, + "TagId": 756, + "TagIdEvtMsg": 11745, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834300": { + "Prio": 4, + "TagId": 3275, + "TagIdEvtMsg": 11600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6802_00990600": { + "Prio": 4, + "TagId": 4931, + "TagIdEvtMsg": 12728, + "Unit": 4227, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_00990700": { + "Prio": 4, + "TagId": 4932, + "TagIdEvtMsg": 12729, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08837300": { + "Prio": 4, + "TagId": 63, + "TagIdEvtMsg": 10143, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08831E00": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_00232F00": { + "Prio": 1, + "TagId": 765, + "TagIdEvtMsg": 11757, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6402_00639D00": { + "Prio": 3, + "TagId": 357, + "TagIdEvtMsg": 10434, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_08830A00": { + "Prio": 4, + "TagId": 4709, + "TagIdEvtMsg": 12506, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08838000": { + "Prio": 4, + "TagId": 3614, + "TagIdEvtMsg": 11829, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08837F00": { + "Prio": 4, + "TagId": 3173, + "TagIdEvtMsg": 11828, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6100_40437500": { + "Prio": 2, + "TagId": 4893, + "TagIdEvtMsg": 12703, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40437600": { + "Prio": 2, + "TagId": 4894, + "TagIdEvtMsg": 12704, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08834D00": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10141, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, + "6800_08834F00": { + "Prio": 4, + "TagId": 1582, + "TagIdEvtMsg": 10277, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309 + ] + }, + "6100_00436200": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 12672, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00439C00": { + "Prio": 2, + "TagId": 3477, + "TagIdEvtMsg": 11671, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00234E00": { + "Prio": 1, + "TagId": 455, + "TagIdEvtMsg": 11761, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309 + ] + }, + "6802_08831700": { + "Prio": 4, + "TagId": 4285, + "TagIdEvtMsg": 12145, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08838800": { + "Prio": 4, + "TagId": 1348, + "TagIdEvtMsg": 10697, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08838700": { + "Prio": 4, + "TagId": 877, + "TagIdEvtMsg": 10374, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08831800": { + "Prio": 4, + "TagId": 4278, + "TagIdEvtMsg": 12134, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08833A00": { + "Prio": 4, + "TagId": 3133, + "TagIdEvtMsg": 11525, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 394 + ] + }, + "6802_08833900": { + "Prio": 4, + "TagId": 3217, + "TagIdEvtMsg": 11566, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 394 + ] + }, + "6800_08838B00": { + "Prio": 4, + "TagId": 730, + "TagIdEvtMsg": 10314, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08839000": { + "Prio": 4, + "TagId": 1828, + "TagIdEvtMsg": 10950, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6100_00439700": { + "Prio": 2, + "TagId": 1701, + "TagIdEvtMsg": 10874, + "Unit": 13, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 703 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_10838F00": { + "Prio": 4, + "TagId": 1626, + "TagIdEvtMsg": 10834, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08830E00": { + "Prio": 4, + "TagId": 4645, + "TagIdEvtMsg": 12442, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_40A32100": { + "Prio": 5, + "TagId": 4809, + "TagIdEvtMsg": 12632, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_00A31F00": { + "Prio": 5, + "TagId": 1144, + "TagIdEvtMsg": 10517, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838C00": { + "Prio": 4, + "TagId": 3258, + "TagIdEvtMsg": 11592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "F000_00236D00": { + "Prio": 1, + "TagId": 398, + "TagIdEvtMsg": 10278, + "Unit": 13, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08836F00": { + "Prio": 4, + "TagId": 1058, + "TagIdEvtMsg": 10518, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08836E00": { + "Prio": 4, + "TagId": 731, + "TagIdEvtMsg": 10315, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838E00": { + "Prio": 4, + "TagId": 1638, + "TagIdEvtMsg": 10833, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08838D00": { + "Prio": 4, + "TagId": 732, + "TagIdEvtMsg": 10316, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 703 + ] + }, + "6800_08839500": { + "Prio": 4, + "TagId": 1317, + "TagIdEvtMsg": 10317, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6800_00839600": { + "Prio": 4, + "TagId": 1318, + "TagIdEvtMsg": 10318, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6800_00990300": { + "Prio": 4, + "TagId": 4789, + "TagIdEvtMsg": 12584, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6800_08839700": { + "Prio": 4, + "TagId": 1232, + "TagIdEvtMsg": 10667, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 704 + ] + }, + "6802_08839800": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10776, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 704 + ] + }, + "6400_00638A00": { + "Prio": 3, + "TagId": 1501, + "TagIdEvtMsg": 10771, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ], + "Sum": true, + "SumD": true + }, + "6800_00839900": { + "Prio": 4, + "TagId": 1561, + "TagIdEvtMsg": 10787, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ] + }, + "6100_00638900": { + "Prio": 3, + "TagId": 1502, + "TagIdEvtMsg": 10772, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 704 + ], + "Min": true, + "Max": true, + "MinD": true, + "MaxD": true + }, + "6800_08835800": { + "Prio": 4, + "TagId": 754, + "TagIdEvtMsg": 10361, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 711 + ] + }, + "6800_08835700": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10360, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 711 + ] + }, + "6802_08835100": { + "Prio": 4, + "TagId": 3494, + "TagIdEvtMsg": 11684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1234 + ] + }, + "6802_00831A00": { + "Prio": 4, + "TagId": 4152, + "TagIdEvtMsg": 12050, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1340, + 2638 + ] + }, + "6802_00831B00": { + "Prio": 4, + "TagId": 4153, + "TagIdEvtMsg": 12051, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1340, + 2638 + ] + }, + "6800_0083AF00": { + "Prio": 4, + "TagId": 1345, + "TagIdEvtMsg": 10707, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1359 + ] + }, + "6800_0083B000": { + "Prio": 4, + "TagId": 1360, + "TagIdEvtMsg": 10708, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1359 + ] + }, + "6800_0883AE00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10698, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1349 + ] + }, + "6800_0083AC00": { + "Prio": 4, + "TagId": 1345, + "TagIdEvtMsg": 10695, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1343 + ] + }, + "6800_0083AD00": { + "Prio": 4, + "TagId": 1346, + "TagIdEvtMsg": 10696, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1343 + ] + }, + "6800_0083AB00": { + "Prio": 4, + "TagId": 1344, + "TagIdEvtMsg": 10694, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 1343 + ] + }, + "6800_0883B300": { + "Prio": 4, + "TagId": 2606, + "TagIdEvtMsg": 11427, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 2604 + ] + }, + "6800_0083B200": { + "Prio": 4, + "TagId": 2605, + "TagIdEvtMsg": 11426, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 2604 + ] + }, + "6800_0083B100": { + "Prio": 4, + "TagId": 2657, + "TagIdEvtMsg": 11425, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340, + 2604 + ] + }, + "6802_4083C600": { + "Prio": 4, + "TagId": 2607, + "TagIdEvtMsg": 11430, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_0883AA00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10693, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_0883B500": { + "Prio": 4, + "TagId": 3097, + "TagIdEvtMsg": 11428, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_0883B600": { + "Prio": 4, + "TagId": 3098, + "TagIdEvtMsg": 11429, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08636900": { + "Prio": 3, + "TagId": 50, + "TagIdEvtMsg": 10917, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436C00": { + "Prio": 2, + "TagId": 3985, + "TagIdEvtMsg": 11974, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436A00": { + "Prio": 2, + "TagId": 3099, + "TagIdEvtMsg": 11431, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6182_08436B00": { + "Prio": 2, + "TagId": 3100, + "TagIdEvtMsg": 11432, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1340 + ] + }, + "6800_40833700": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 10763, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6802_08831200": { + "Prio": 4, + "TagId": 2531, + "TagIdEvtMsg": 12292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6800_08833600": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10762, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6800_08833800": { + "Prio": 4, + "TagId": 1766, + "TagIdEvtMsg": 10939, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1343 + ] + }, + "6182_08437100": { + "Prio": 2, + "TagId": 4178, + "TagIdEvtMsg": 12062, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1463 + ] + }, + "6182_08437000": { + "Prio": 2, + "TagId": 4177, + "TagIdEvtMsg": 12061, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1463 + ] + }, + "6800_0083D700": { + "Prio": 4, + "TagId": 2667, + "TagIdEvtMsg": 11436, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531, + 1537 + ] + }, + "6800_4083D500": { + "Prio": 4, + "TagId": 2665, + "TagIdEvtMsg": 11434, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531, + 1537 + ] + }, + "6800_0083D600": { + "Prio": 4, + "TagId": 2666, + "TagIdEvtMsg": 11435, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531, + 1537 + ] + }, + "6800_0883D200": { + "Prio": 4, + "TagId": 1532, + "TagIdEvtMsg": 10777, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531 + ] + }, + "6800_0883D300": { + "Prio": 4, + "TagId": 1533, + "TagIdEvtMsg": 10778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531 + ] + }, + "6800_0883D400": { + "Prio": 4, + "TagId": 1537, + "TagIdEvtMsg": 10783, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 1531 + ] + }, + "6800_0883D800": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_0083C700": { + "Prio": 4, + "TagId": 3063, + "TagIdEvtMsg": 11623, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_00839100": { + "Prio": 4, + "TagId": 3486, + "TagIdEvtMsg": 11679, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_0083C900": { + "Prio": 4, + "TagId": 3064, + "TagIdEvtMsg": 11625, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_00839300": { + "Prio": 4, + "TagId": 3487, + "TagIdEvtMsg": 11681, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_4083C800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11624, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_40839200": { + "Prio": 4, + "TagId": 3488, + "TagIdEvtMsg": 11680, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_4083CA00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11626, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6800_40839400": { + "Prio": 4, + "TagId": 3489, + "TagIdEvtMsg": 11682, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3347 + ] + }, + "6100_0043AF00": { + "Prio": 2, + "TagId": 3067, + "TagIdEvtMsg": 11472, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639, + 3065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0883CC00": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11467, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_0083CE00": { + "Prio": 4, + "TagId": 3063, + "TagIdEvtMsg": 11469, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_0083D000": { + "Prio": 4, + "TagId": 3064, + "TagIdEvtMsg": 11471, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_4083CD00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11468, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_4083CF00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11470, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3065 + ] + }, + "6800_0883D100": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11473, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3066 + ] + }, + "6180_0843B000": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11474, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639, + 3066 + ] + }, + "6800_0883D900": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11700, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 3512 + ] + }, + "6100_4043A700": { + "Prio": 2, + "TagId": 1642, + "TagIdEvtMsg": 10837, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043A800": { + "Prio": 2, + "TagId": 1643, + "TagIdEvtMsg": 10838, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043A900": { + "Prio": 2, + "TagId": 1644, + "TagIdEvtMsg": 10839, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AB00": { + "Prio": 2, + "TagId": 1856, + "TagIdEvtMsg": 10954, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AA00": { + "Prio": 2, + "TagId": 1645, + "TagIdEvtMsg": 10840, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AC00": { + "Prio": 2, + "TagId": 1857, + "TagIdEvtMsg": 10955, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AD00": { + "Prio": 2, + "TagId": 1858, + "TagIdEvtMsg": 10956, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4043AE00": { + "Prio": 2, + "TagId": 1859, + "TagIdEvtMsg": 10957, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_1043A500": { + "Prio": 2, + "TagId": 1640, + "TagIdEvtMsg": 10835, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_1043A600": { + "Prio": 2, + "TagId": 1641, + "TagIdEvtMsg": 10836, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_0843A300": { + "Prio": 2, + "TagId": 2053, + "TagIdEvtMsg": 11029, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6180_0843A400": { + "Prio": 2, + "TagId": 2054, + "TagIdEvtMsg": 11030, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6800_00831000": { + "Prio": 4, + "TagId": 3066, + "TagIdEvtMsg": 210026, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 1639 + ] + }, + "6A02_00831000": { + "Prio": 4, + "TagId": 3066, + "TagIdEvtMsg": 210026, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639 + ] + }, + "6802_08834100": { + "Prio": 4, + "TagId": 1821, + "TagIdEvtMsg": 10944, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1735 + ] + }, + "6800_08838400": { + "Prio": 4, + "TagId": 2561, + "TagIdEvtMsg": 10520, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6800_00238500": { + "Prio": 1, + "TagId": 3569, + "TagIdEvtMsg": 10521, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ], + "Deprecated": true + }, + "6800_00838500": { + "Prio": 4, + "TagId": 3569, + "TagIdEvtMsg": 10521, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6802_0883DA00": { + "Prio": 4, + "TagId": 1882, + "TagIdEvtMsg": 10964, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6802_08A33600": { + "Prio": 5, + "TagId": 1881, + "TagIdEvtMsg": 10963, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6800_00238600": { + "Prio": 1, + "TagId": 3570, + "TagIdEvtMsg": 10522, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ], + "Deprecated": true + }, + "6800_00838600": { + "Prio": 4, + "TagId": 3570, + "TagIdEvtMsg": 10522, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 1883 + ] + }, + "6802_0883EE00": { + "Prio": 4, + "TagId": 3376, + "TagIdEvtMsg": 11638, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 2003, + 3377 + ] + }, + "6802_0083F000": { + "Prio": 4, + "TagId": 1588, + "TagIdEvtMsg": 11640, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 3377 + ] + }, + "6802_0083EF00": { + "Prio": 4, + "TagId": 2245, + "TagIdEvtMsg": 11639, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 3377 + ] + }, + "6802_4083DB00": { + "Prio": 4, + "TagId": 2246, + "TagIdEvtMsg": 11123, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DC00": { + "Prio": 4, + "TagId": 2247, + "TagIdEvtMsg": 11124, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DD00": { + "Prio": 4, + "TagId": 2248, + "TagIdEvtMsg": 11125, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DE00": { + "Prio": 4, + "TagId": 2249, + "TagIdEvtMsg": 11126, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083DF00": { + "Prio": 4, + "TagId": 2250, + "TagIdEvtMsg": 11127, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E000": { + "Prio": 4, + "TagId": 2251, + "TagIdEvtMsg": 11128, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E100": { + "Prio": 4, + "TagId": 2252, + "TagIdEvtMsg": 11129, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E200": { + "Prio": 4, + "TagId": 2253, + "TagIdEvtMsg": 11130, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E300": { + "Prio": 4, + "TagId": 2254, + "TagIdEvtMsg": 11131, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E400": { + "Prio": 4, + "TagId": 2255, + "TagIdEvtMsg": 11132, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E500": { + "Prio": 4, + "TagId": 2256, + "TagIdEvtMsg": 11133, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E600": { + "Prio": 4, + "TagId": 2257, + "TagIdEvtMsg": 11134, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E700": { + "Prio": 4, + "TagId": 2258, + "TagIdEvtMsg": 11135, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E800": { + "Prio": 4, + "TagId": 2259, + "TagIdEvtMsg": 11136, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083E900": { + "Prio": 4, + "TagId": 2260, + "TagIdEvtMsg": 11137, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_4083EA00": { + "Prio": 4, + "TagId": 2261, + "TagIdEvtMsg": 11138, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003, + 2245 + ] + }, + "6802_0083EB00": { + "Prio": 4, + "TagId": 2262, + "TagIdEvtMsg": 11139, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_4083EC00": { + "Prio": 4, + "TagId": 2263, + "TagIdEvtMsg": 11140, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_0083ED00": { + "Prio": 4, + "TagId": 2264, + "TagIdEvtMsg": 11141, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_08830C00": { + "Prio": 4, + "TagId": 4657, + "TagIdEvtMsg": 12452, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 832, + 2003 + ] + }, + "6802_00839C00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11295, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 2498 + ] + }, + "6802_00830B00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12486, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 4686, + 4687 + ] + }, + "6802_0083A000": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11662, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3432 + ] + }, + "6802_00839B00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11553, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3200 + ] + }, + "6802_00839A00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11554, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3201 + ] + }, + "6802_00839F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11620, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3328 + ] + }, + "6802_00839D00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11296, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 2499 + ] + }, + "6802_00839E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11543, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 2497, + 3197 + ] + }, + "6802_00837500": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11449, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00837400": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11451, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836E00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11421, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00990000": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12596, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836B00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11453, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00990500": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12597, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600, + 3039 + ] + }, + "6802_00836D00": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11420, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600 + ] + }, + "6802_00836C00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11419, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2600 + ] + }, + "6802_00837E00": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11450, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837D00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11452, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837100": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11424, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00990200": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12598, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837200": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11454, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00990100": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12599, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601, + 3039 + ] + }, + "6802_00837000": { + "Prio": 4, + "TagId": 2603, + "TagIdEvtMsg": 11423, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601 + ] + }, + "6802_00836F00": { + "Prio": 4, + "TagId": 2602, + "TagIdEvtMsg": 11422, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 2601 + ] + }, + "6182_08434C00": { + "Prio": 2, + "TagId": 310, + "TagIdEvtMsg": 11433, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 2608 + ] + }, + "6800_00A32000": { + "Prio": 5, + "TagId": 2555, + "TagIdEvtMsg": 12624, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 832, + 4715, + 4717 + ] + }, + "6180_08435200": { + "Prio": 2, + "TagId": 4949, + "TagIdEvtMsg": 12736, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 4715 + ] + }, + "6802_08990400": { + "Prio": 4, + "TagId": 4794, + "TagIdEvtMsg": 12600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 4715 + ] + }, + "6182_08441F00": { + "Prio": 2, + "TagId": 5105, + "TagIdEvtMsg": 12829, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6180_08441E00": { + "Prio": 2, + "TagId": 5104, + "TagIdEvtMsg": 12828, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6800_00842400": { + "Prio": 4, + "TagId": 5107, + "TagIdEvtMsg": 12831, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6800_08842300": { + "Prio": 4, + "TagId": 5106, + "TagIdEvtMsg": 12830, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 833, + 584, + 5103 + ] + }, + "6802_08842200": { + "Prio": 4, + "TagId": 4544, + "TagIdEvtMsg": 12400, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 833, + 584 + ] + }, + "6802_10841F00": { + "Prio": 4, + "TagId": 592, + "TagIdEvtMsg": 10285, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6800_10841E00": { + "Prio": 4, + "TagId": 591, + "TagIdEvtMsg": 10284, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 12, + "TagHier": [ + 833, + 584 + ] + }, + "6102_00455000": { + "Prio": 2, + "TagId": 272, + "TagIdEvtMsg": 11547, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6322_00854D00": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 10247, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 57 + ] + }, + "6802_00855D00": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 10610, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_08855C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10612, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 62, + 1201 + ] + }, + "6800_00853400": { + "Prio": 4, + "TagId": 4157, + "TagIdEvtMsg": 12053, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10853700": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12076, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_08853100": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12047, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10852400": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12016, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_10853200": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12048, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4066 + ], + "Hidden": true + }, + "6800_08853000": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12046, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_40852200": { + "Prio": 4, + "TagId": 752, + "TagIdEvtMsg": 12014, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_10852100": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12013, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_00852300": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12015, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4065 + ] + }, + "6800_10853600": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 12075, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852500": { + "Prio": 4, + "TagId": 4068, + "TagIdEvtMsg": 12017, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_08852800": { + "Prio": 4, + "TagId": 294, + "TagIdEvtMsg": 12020, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852600": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 12018, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10853300": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12049, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 834, + 62, + 4067 + ], + "Hidden": true + }, + "6800_10852900": { + "Prio": 4, + "TagId": 4068, + "TagIdEvtMsg": 12019, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_00852E00": { + "Prio": 4, + "TagId": 4148, + "TagIdEvtMsg": 12042, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_08852700": { + "Prio": 4, + "TagId": 4069, + "TagIdEvtMsg": 12041, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6800_00852F00": { + "Prio": 4, + "TagId": 4149, + "TagIdEvtMsg": 12043, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 4136 + ], + "Hidden": true + }, + "6802_00856400": { + "Prio": 4, + "TagId": 3209, + "TagIdEvtMsg": 11558, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62, + 3208 + ] + }, + "6802_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00852000": { + "Prio": 4, + "TagId": 1358, + "TagIdEvtMsg": 10706, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851F00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 10241, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851F00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 10241, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6322_00851E00": { + "Prio": 4, + "TagId": 387, + "TagIdEvtMsg": 10242, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6802_00853500": { + "Prio": 4, + "TagId": 444, + "TagIdEvtMsg": 10243, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 62 + ] + }, + "6180_08653A00": { + "Prio": 3, + "TagId": 4151, + "TagIdEvtMsg": 12045, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ] + }, + "6100_00653200": { + "Prio": 3, + "TagId": 4205, + "TagIdEvtMsg": 12079, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6100_00653100": { + "Prio": 3, + "TagId": 4204, + "TagIdEvtMsg": 12078, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4065 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6200_40652900": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 12022, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652900": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 12022, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_00652C00": { + "Prio": 3, + "TagId": 3314, + "TagIdEvtMsg": 12025, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_00652C00": { + "Prio": 3, + "TagId": 3314, + "TagIdEvtMsg": 12025, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652B00": { + "Prio": 3, + "TagId": 395, + "TagIdEvtMsg": 12024, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652B00": { + "Prio": 3, + "TagId": 395, + "TagIdEvtMsg": 12024, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652800": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 12021, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6100_40652800": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 12021, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "MinD": true, + "MaxD": true + }, + "6200_40652A00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 12023, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6100_40652A00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 12023, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67, + 4067 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "Hidden": true, + "SumD": true + }, + "6200_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40652100": { + "Prio": 3, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7250_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73D0_40452100": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10213, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6180_00656A00": { + "Prio": 3, + "TagId": 1819, + "TagIdEvtMsg": 10942, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40456800": { + "Prio": 2, + "TagId": 39, + "TagIdEvtMsg": 10221, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08656900": { + "Prio": 3, + "TagId": 1703, + "TagIdEvtMsg": 10877, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6400_00453300": { + "Prio": 2, + "TagId": 4812, + "TagIdEvtMsg": 12635, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00456B00": { + "Prio": 2, + "TagId": 5125, + "TagIdEvtMsg": 12834, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456C00": { + "Prio": 2, + "TagId": 5126, + "TagIdEvtMsg": 12835, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456D00": { + "Prio": 2, + "TagId": 5127, + "TagIdEvtMsg": 12836, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456E00": { + "Prio": 2, + "TagId": 5128, + "TagIdEvtMsg": 12837, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00456F00": { + "Prio": 2, + "TagId": 5129, + "TagIdEvtMsg": 12838, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457000": { + "Prio": 2, + "TagId": 5130, + "TagIdEvtMsg": 12839, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457100": { + "Prio": 2, + "TagId": 5131, + "TagIdEvtMsg": 12840, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457200": { + "Prio": 2, + "TagId": 5132, + "TagIdEvtMsg": 12841, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457300": { + "Prio": 2, + "TagId": 5133, + "TagIdEvtMsg": 12842, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457400": { + "Prio": 2, + "TagId": 5134, + "TagIdEvtMsg": 12843, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457500": { + "Prio": 2, + "TagId": 5135, + "TagIdEvtMsg": 12844, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457600": { + "Prio": 2, + "TagId": 5136, + "TagIdEvtMsg": 12845, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457700": { + "Prio": 2, + "TagId": 5137, + "TagIdEvtMsg": 12846, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457800": { + "Prio": 2, + "TagId": 5138, + "TagIdEvtMsg": 12847, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457900": { + "Prio": 2, + "TagId": 5139, + "TagIdEvtMsg": 12848, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6400_00457A00": { + "Prio": 2, + "TagId": 5140, + "TagIdEvtMsg": 12849, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Sum": true, + "SumD": true + }, + "6800_00854000": { + "Prio": 4, + "TagId": 4814, + "TagIdEvtMsg": 12637, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 834, + 67 + ] + }, + "6200_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6300_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6310_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70D0_40651F00": { + "Prio": 3, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "7240_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73C0_40451F00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10209, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40456700": { + "Prio": 2, + "TagId": 446, + "TagIdEvtMsg": 10222, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6300_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6310_40651E00": { + "Prio": 3, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6380_40251E00": { + "Prio": 1, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "7230_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "73B0_40451E00": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 10217, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ] + }, + "6300_40256600": { + "Prio": 1, + "TagId": 451, + "TagIdEvtMsg": 10223, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 67 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00455100": { + "Prio": 2, + "TagId": 272, + "TagIdEvtMsg": 11548, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6202_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7270_40254E00": { + "Prio": 1, + "TagId": 217, + "TagIdEvtMsg": 10078, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ] + }, + "6200_40458A00": { + "Prio": 2, + "TagId": 219, + "TagIdEvtMsg": 10051, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7260_00254F00": { + "Prio": 1, + "TagId": 272, + "TagIdEvtMsg": 10079, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ] + }, + "6200_40458B00": { + "Prio": 2, + "TagId": 274, + "TagIdEvtMsg": 10052, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 268 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00455B00": { + "Prio": 2, + "TagId": 1427, + "TagIdEvtMsg": 10744, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6400_00652700": { + "Prio": 3, + "TagId": 1739, + "TagIdEvtMsg": 12029, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 4067 + ], + "Sum": true, + "Hidden": true, + "SumD": true + }, + "6202_00454A00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11329, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00454A00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11329, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00454C00": { + "Prio": 2, + "TagId": 2528, + "TagIdEvtMsg": 11327, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6202_40652300": { + "Prio": 3, + "TagId": 3866, + "TagIdEvtMsg": 11909, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ] + }, + "6102_40652300": { + "Prio": 3, + "TagId": 3866, + "TagIdEvtMsg": 11909, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ] + }, + "6400_00454B00": { + "Prio": 2, + "TagId": 2527, + "TagIdEvtMsg": 11326, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6402_00454D00": { + "Prio": 2, + "TagId": 2526, + "TagIdEvtMsg": 11325, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Sum": true, + "SumD": true + }, + "6200_00452200": { + "Prio": 2, + "TagId": 2529, + "TagIdEvtMsg": 11328, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00452200": { + "Prio": 2, + "TagId": 2529, + "TagIdEvtMsg": 11328, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 290, + 3070 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_08654900": { + "Prio": 3, + "TagId": 297, + "TagIdEvtMsg": 10876, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 1702, + 888 + ] + }, + "6180_08654800": { + "Prio": 3, + "TagId": 50, + "TagIdEvtMsg": 10875, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 1702 + ] + }, + "6800_08A51E00": { + "Prio": 5, + "TagId": 4955, + "TagIdEvtMsg": 12737, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 309, + 4956 + ] + }, + "6180_08652600": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12028, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4066 + ], + "Hidden": true + }, + "6180_08652500": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12027, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4065 + ], + "Hidden": true + }, + "6180_08652400": { + "Prio": 3, + "TagId": 240, + "TagIdEvtMsg": 12026, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 4067 + ], + "Hidden": true + }, + "6802_08857000": { + "Prio": 4, + "TagId": 3622, + "TagIdEvtMsg": 11834, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857100": { + "Prio": 4, + "TagId": 3623, + "TagIdEvtMsg": 11835, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_08857400": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 10437, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6100_0065A800": { + "Prio": 3, + "TagId": 1489, + "TagIdEvtMsg": 10765, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309, + 892 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08857200": { + "Prio": 4, + "TagId": 3624, + "TagIdEvtMsg": 11836, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857500": { + "Prio": 4, + "TagId": 3495, + "TagIdEvtMsg": 11685, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_08857300": { + "Prio": 4, + "TagId": 52, + "TagIdEvtMsg": 10436, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00853F00": { + "Prio": 4, + "TagId": 4811, + "TagIdEvtMsg": 12634, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6802_00857600": { + "Prio": 4, + "TagId": 3496, + "TagIdEvtMsg": 11686, + "Unit": 34, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 309, + 892 + ] + }, + "6402_00654700": { + "Prio": 3, + "TagId": 382, + "TagIdEvtMsg": 10673, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_40459000": { + "Prio": 2, + "TagId": 815, + "TagIdEvtMsg": 10004, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08852C00": { + "Prio": 4, + "TagId": 4147, + "TagIdEvtMsg": 12040, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309 + ] + }, + "6800_08853A00": { + "Prio": 4, + "TagId": 4268, + "TagIdEvtMsg": 12130, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 834, + 309 + ] + }, + "6800_00852A00": { + "Prio": 4, + "TagId": 2134, + "TagIdEvtMsg": 11043, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 340 + ] + }, + "6802_08852B00": { + "Prio": 4, + "TagId": 2557, + "TagIdEvtMsg": 11362, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 394 + ] + }, + "6102_00452F00": { + "Prio": 2, + "TagId": 3206, + "TagIdEvtMsg": 11556, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00453000": { + "Prio": 2, + "TagId": 3207, + "TagIdEvtMsg": 11557, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00452E00": { + "Prio": 2, + "TagId": 3205, + "TagIdEvtMsg": 11555, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234, + 3204, + 3208 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00857F00": { + "Prio": 4, + "TagId": 3210, + "TagIdEvtMsg": 11559, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858100": { + "Prio": 4, + "TagId": 1202, + "TagIdEvtMsg": 11561, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858000": { + "Prio": 4, + "TagId": 3211, + "TagIdEvtMsg": 11560, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6802_00858200": { + "Prio": 4, + "TagId": 3212, + "TagIdEvtMsg": 11562, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 1234, + 3204 + ] + }, + "6180_0865A600": { + "Prio": 3, + "TagId": 1490, + "TagIdEvtMsg": 10766, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234 + ] + }, + "6180_0865A700": { + "Prio": 3, + "TagId": 1491, + "TagIdEvtMsg": 10767, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 1234 + ] + }, + "6180_08452D00": { + "Prio": 2, + "TagId": 4816, + "TagIdEvtMsg": 12638, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 834, + 4821 + ] + }, + "6100_00572A00": { + "Prio": 2, + "TagId": 2359, + "TagIdEvtMsg": 12561, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 46, + 1072 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572900": { + "Prio": 2, + "TagId": 2357, + "TagIdEvtMsg": 12560, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 46, + 1079 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7220_40465300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10039, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ] + }, + "6200_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10040, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00465200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40465500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10041, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10064, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40468400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10065, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40468500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10066, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 41 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70A0_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "7210_00464800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10035, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464B00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 10788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464B00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 10788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70B0_00464900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10036, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464C00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11031, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464C00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11031, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "70C0_00464A00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10037, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ] + }, + "6200_00464D00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11032, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00464D00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11032, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467B00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10054, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467E00": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 11093, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467C00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10055, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467F00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 11094, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40467D00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10056, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468000": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 11095, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 332 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40572000": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12498, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 413 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40571F00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210016, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40571F00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210016, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40666800": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10048, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666800": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10048, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666900": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10049, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666900": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10049, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666A00": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10050, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666A00": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10050, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666000": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10044, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666000": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 10044, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666100": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10045, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666100": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 10045, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40666200": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10046, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666200": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 10046, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10031, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464000": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 10031, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10032, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464100": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 10032, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40464200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10033, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464200": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 10033, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00468D00": { + "Prio": 2, + "TagId": 3218, + "TagIdEvtMsg": 11567, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00467000": { + "Prio": 2, + "TagId": 580, + "TagIdEvtMsg": 10731, + "Unit": 1282, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00867300": { + "Prio": 4, + "TagId": 1419, + "TagIdEvtMsg": 10732, + "Unit": 1290, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 230 + ] + }, + "6180_08467200": { + "Prio": 2, + "TagId": 1420, + "TagIdEvtMsg": 10733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6800_08867200": { + "Prio": 4, + "TagId": 1420, + "TagIdEvtMsg": 10733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "70E0_00465700": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 10042, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_40468B00": { + "Prio": 2, + "TagId": 259, + "TagIdEvtMsg": 10057, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00667100": { + "Prio": 3, + "TagId": 1421, + "TagIdEvtMsg": 10734, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6200_00664F00": { + "Prio": 3, + "TagId": 406, + "TagIdEvtMsg": 10038, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00664F00": { + "Prio": 3, + "TagId": 406, + "TagIdEvtMsg": 10038, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40468200": { + "Prio": 2, + "TagId": 407, + "TagIdEvtMsg": 10063, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_00665800": { + "Prio": 3, + "TagId": 1327, + "TagIdEvtMsg": 10686, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665800": { + "Prio": 3, + "TagId": 1327, + "TagIdEvtMsg": 10686, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40665B00": { + "Prio": 3, + "TagId": 3497, + "TagIdEvtMsg": 11687, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_40665B00": { + "Prio": 3, + "TagId": 3497, + "TagIdEvtMsg": 11687, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6180_08465A00": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 10711, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6100_00665900": { + "Prio": 3, + "TagId": 1401, + "TagIdEvtMsg": 10710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6200_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40666700": { + "Prio": 3, + "TagId": 412, + "TagIdEvtMsg": 10047, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40467600": { + "Prio": 2, + "TagId": 1104, + "TagIdEvtMsg": 10488, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6200_40265F00": { + "Prio": 1, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40665F00": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_40265F00": { + "Prio": 1, + "TagId": 413, + "TagIdEvtMsg": 10043, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40668C00": { + "Prio": 3, + "TagId": 414, + "TagIdEvtMsg": 10061, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Cnt": true + }, + "6200_40669600": { + "Prio": 3, + "TagId": 415, + "TagIdEvtMsg": 10062, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Cnt": true + }, + "6200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "7200_40263F00": { + "Prio": 1, + "TagId": 416, + "TagIdEvtMsg": 10030, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ] + }, + "6200_40267500": { + "Prio": 1, + "TagId": 419, + "TagIdEvtMsg": 10058, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40669500": { + "Prio": 3, + "TagId": 420, + "TagIdEvtMsg": 10060, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40669400": { + "Prio": 3, + "TagId": 421, + "TagIdEvtMsg": 10059, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MaxD": true + }, + "6200_40467A00": { + "Prio": 2, + "TagId": 446, + "TagIdEvtMsg": 10053, + "Unit": 1, + "DataFrmt": 14, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08A61E00": { + "Prio": 5, + "TagId": 3808, + "TagIdEvtMsg": 11890, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 3638 + ] + }, + "6802_08A61F00": { + "Prio": 5, + "TagId": 3809, + "TagIdEvtMsg": 11891, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 3638 + ] + }, + "6802_00864100": { + "Prio": 4, + "TagId": 255, + "TagIdEvtMsg": 10166, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 304 + ] + }, + "6802_00864000": { + "Prio": 4, + "TagId": 256, + "TagIdEvtMsg": 10165, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267, + 304 + ] + }, + "6802_08867200": { + "Prio": 4, + "TagId": 4545, + "TagIdEvtMsg": 12262, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_00865F00": { + "Prio": 4, + "TagId": 1205, + "TagIdEvtMsg": 10660, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_08867800": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12398, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, + "6802_40866000": { + "Prio": 4, + "TagId": 1226, + "TagIdEvtMsg": 10662, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ], + "Deprecated": true + }, + "6802_40862000": { + "Prio": 4, + "TagId": 3805, + "TagIdEvtMsg": 11900, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_08861E00": { + "Prio": 4, + "TagId": 312, + "TagIdEvtMsg": 10164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866100": { + "Prio": 4, + "TagId": 4367, + "TagIdEvtMsg": 12208, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866200": { + "Prio": 4, + "TagId": 4368, + "TagIdEvtMsg": 12209, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866300": { + "Prio": 4, + "TagId": 4369, + "TagIdEvtMsg": 12210, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866400": { + "Prio": 4, + "TagId": 4370, + "TagIdEvtMsg": 12211, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6102_40467400": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11546, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_40467300": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11545, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00866D00": { + "Prio": 4, + "TagId": 4358, + "TagIdEvtMsg": 12199, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_00866900": { + "Prio": 4, + "TagId": 4357, + "TagIdEvtMsg": 12198, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866E00": { + "Prio": 4, + "TagId": 4359, + "TagIdEvtMsg": 12200, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866F00": { + "Prio": 4, + "TagId": 4360, + "TagIdEvtMsg": 12201, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867000": { + "Prio": 4, + "TagId": 4361, + "TagIdEvtMsg": 12202, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867100": { + "Prio": 4, + "TagId": 4362, + "TagIdEvtMsg": 12203, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867400": { + "Prio": 4, + "TagId": 4363, + "TagIdEvtMsg": 12204, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867500": { + "Prio": 4, + "TagId": 4364, + "TagIdEvtMsg": 12205, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867600": { + "Prio": 4, + "TagId": 4365, + "TagIdEvtMsg": 12206, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40867700": { + "Prio": 4, + "TagId": 4366, + "TagIdEvtMsg": 12207, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866600": { + "Prio": 4, + "TagId": 3676, + "TagIdEvtMsg": 12195, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866500": { + "Prio": 4, + "TagId": 4354, + "TagIdEvtMsg": 12194, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866800": { + "Prio": 4, + "TagId": 4356, + "TagIdEvtMsg": 12197, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6802_40866700": { + "Prio": 4, + "TagId": 4355, + "TagIdEvtMsg": 12196, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 267 + ] + }, + "6800_08868D00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 10792, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6800_08868E00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 10793, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6800_08868F00": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 10850, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1583 + ] + }, + "6400_0046DD00": { + "Prio": 2, + "TagId": 3225, + "TagIdEvtMsg": 11576, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E100": { + "Prio": 2, + "TagId": 3229, + "TagIdEvtMsg": 11580, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DF00": { + "Prio": 2, + "TagId": 3227, + "TagIdEvtMsg": 11578, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E300": { + "Prio": 2, + "TagId": 3231, + "TagIdEvtMsg": 11582, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DE00": { + "Prio": 2, + "TagId": 3226, + "TagIdEvtMsg": 11577, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E200": { + "Prio": 2, + "TagId": 3230, + "TagIdEvtMsg": 11581, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E000": { + "Prio": 2, + "TagId": 3228, + "TagIdEvtMsg": 11579, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046E400": { + "Prio": 2, + "TagId": 3232, + "TagIdEvtMsg": 11583, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6100_4046A200": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11570, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046A300": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 11584, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6400_0046A400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 11585, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Sum": true, + "SumD": true + }, + "6100_4046A100": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11569, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046A000": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11568, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046D900": { + "Prio": 2, + "TagId": 1689, + "TagIdEvtMsg": 11512, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DB00": { + "Prio": 2, + "TagId": 3113, + "TagIdEvtMsg": 11514, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DA00": { + "Prio": 2, + "TagId": 3112, + "TagIdEvtMsg": 11513, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6400_0046DC00": { + "Prio": 2, + "TagId": 3114, + "TagIdEvtMsg": 11515, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63900": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10843, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1456 + ] + }, + "6100_40468600": { + "Prio": 2, + "TagId": 3117, + "TagIdEvtMsg": 11491, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462600": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10786, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Sum": true, + "SumD": true + }, + "6200_40463900": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10756, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463900": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10756, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1456 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046FC00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12344, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6100_4046FD00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 12345, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046CF00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 11502, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D100": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11504, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D000": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11503, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D200": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11505, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00663000": { + "Prio": 3, + "TagId": 409, + "TagIdEvtMsg": 10912, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_40464300": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11691, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00462D00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 11586, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00662B00": { + "Prio": 3, + "TagId": 1724, + "TagIdEvtMsg": 10910, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6200_40462C00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10901, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40462C00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10901, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12093, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12093, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12094, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12094, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00573D00": { + "Prio": 2, + "TagId": 4804, + "TagIdEvtMsg": 12613, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00573C00": { + "Prio": 2, + "TagId": 4803, + "TagIdEvtMsg": 12612, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046E500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E500": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11788, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467800": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12100, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467800": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12100, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11789, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E600": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11789, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467900": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12101, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467900": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12101, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E700": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11790, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E700": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11790, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00467700": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12099, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00467700": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12099, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 331 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40572F00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12573, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572C00": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12570, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572E00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12572, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 3119 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_40572200": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12497, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 416 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6400_00462000": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210014, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469700": { + "Prio": 2, + "TagId": 4653, + "TagIdEvtMsg": 200097, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469B00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210011, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00574000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12571, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469A00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210010, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6200_40571E00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210015, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40571E00": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210015, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40469300": { + "Prio": 2, + "TagId": 4653, + "TagIdEvtMsg": 200096, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046FE00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12494, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40572100": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210013, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40572100": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 210013, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6100_40572B00": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12569, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_4046FF00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 210012, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 1408 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true, + "Deprecated": true + }, + "6200_40466C00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12095, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466C00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12095, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466D00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12096, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466D00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12096, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40466E00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12097, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40466E00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12097, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 436 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572500": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12549, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_4046EE00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11797, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046EE00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11797, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046EF00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11798, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046EF00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11798, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F000": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11799, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046F000": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11799, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572400": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12548, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046E800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11791, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E800": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11791, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046E900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11792, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046E900": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11792, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046EA00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11793, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EA00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11793, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00572600": { + "Prio": 2, + "TagId": 4765, + "TagIdEvtMsg": 12550, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 4772 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046EB00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11794, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EB00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11794, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046EC00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11795, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046EC00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11795, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046ED00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046ED00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230, + 824 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00469200": { + "Prio": 2, + "TagId": 24, + "TagIdEvtMsg": 12214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00469100": { + "Prio": 2, + "TagId": 25, + "TagIdEvtMsg": 12213, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462A00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 10940, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462800": { + "Prio": 2, + "TagId": 1689, + "TagIdEvtMsg": 10860, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_00462700": { + "Prio": 2, + "TagId": 563, + "TagIdEvtMsg": 10859, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_00468100": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 12098, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00468100": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 12098, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_08862300": { + "Prio": 4, + "TagId": 4059, + "TagIdEvtMsg": 12011, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_0046D400": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11507, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D700": { + "Prio": 2, + "TagId": 3113, + "TagIdEvtMsg": 11510, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D300": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11506, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D600": { + "Prio": 2, + "TagId": 3112, + "TagIdEvtMsg": 11509, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D500": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11508, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6400_0046D800": { + "Prio": 2, + "TagId": 3114, + "TagIdEvtMsg": 11511, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6802_00863700": { + "Prio": 4, + "TagId": 1525, + "TagIdEvtMsg": 10775, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6802_00863600": { + "Prio": 4, + "TagId": 1524, + "TagIdEvtMsg": 10774, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63B00": { + "Prio": 5, + "TagId": 2475, + "TagIdEvtMsg": 11281, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_00A63800": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10791, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_40A63A00": { + "Prio": 5, + "TagId": 2474, + "TagIdEvtMsg": 11280, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6800_00A63700": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10790, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6200_00464E00": { + "Prio": 2, + "TagId": 1327, + "TagIdEvtMsg": 12091, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00464E00": { + "Prio": 2, + "TagId": 1327, + "TagIdEvtMsg": 12091, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40469900": { + "Prio": 2, + "TagId": 3497, + "TagIdEvtMsg": 12450, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "AvgD": true + }, + "6180_08469800": { + "Prio": 2, + "TagId": 1402, + "TagIdEvtMsg": 12451, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6402_00669F00": { + "Prio": 3, + "TagId": 1448, + "TagIdEvtMsg": 10753, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6402_00669E00": { + "Prio": 3, + "TagId": 1447, + "TagIdEvtMsg": 10752, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "6200_40468F00": { + "Prio": 2, + "TagId": 412, + "TagIdEvtMsg": 12102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40468F00": { + "Prio": 2, + "TagId": 412, + "TagIdEvtMsg": 12102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F100": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11800, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046F100": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 11800, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463300": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11628, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572300": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 12547, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "7040_00262500": { + "Prio": 1, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "7060_00262500": { + "Prio": 1, + "TagId": 417, + "TagIdEvtMsg": 10715, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6400_00462400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Sum": true, + "SumD": true + }, + "7030_00262400": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "7050_00262400": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10714, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ] + }, + "6200_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463700": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10718, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00666300": { + "Prio": 3, + "TagId": 4052, + "TagIdEvtMsg": 12006, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463600": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10717, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00666400": { + "Prio": 3, + "TagId": 4053, + "TagIdEvtMsg": 12007, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08869400": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10844, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_08869700": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10847, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_00869A00": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11112, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6180_08463C00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11437, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1662 + ] + }, + "6800_08869500": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10845, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_08869800": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10848, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_00869B00": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11113, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6180_08463D00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1663 + ] + }, + "6800_08869600": { + "Prio": 4, + "TagId": 1665, + "TagIdEvtMsg": 10846, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6800_08869900": { + "Prio": 4, + "TagId": 1666, + "TagIdEvtMsg": 10849, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6800_00869C00": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11114, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6180_08463E00": { + "Prio": 2, + "TagId": 2668, + "TagIdEvtMsg": 11439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1664 + ] + }, + "6400_0046CB00": { + "Prio": 2, + "TagId": 1797, + "TagIdEvtMsg": 11498, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CD00": { + "Prio": 2, + "TagId": 3110, + "TagIdEvtMsg": 11500, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CC00": { + "Prio": 2, + "TagId": 3109, + "TagIdEvtMsg": 11499, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_0046CE00": { + "Prio": 2, + "TagId": 3111, + "TagIdEvtMsg": 11501, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6802_00863500": { + "Prio": 4, + "TagId": 1524, + "TagIdEvtMsg": 10773, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290, + 1407 + ] + }, + "6800_00A63C00": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 11678, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290, + 1407 + ] + }, + "6402_00669D00": { + "Prio": 3, + "TagId": 1447, + "TagIdEvtMsg": 10751, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6100_40468900": { + "Prio": 2, + "TagId": 3120, + "TagIdEvtMsg": 11494, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40468800": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11493, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00462300": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 10713, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6400_00462900": { + "Prio": 2, + "TagId": 1724, + "TagIdEvtMsg": 10895, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Sum": true, + "SumD": true + }, + "6200_40463500": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10716, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463500": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 10716, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_40463400": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 10894, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40463400": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 10894, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1407 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AD00": { + "Prio": 2, + "TagId": 1457, + "TagIdEvtMsg": 10757, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_0046AB00": { + "Prio": 2, + "TagId": 1751, + "TagIdEvtMsg": 10920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046AB00": { + "Prio": 2, + "TagId": 1751, + "TagIdEvtMsg": 10920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AE00": { + "Prio": 2, + "TagId": 1458, + "TagIdEvtMsg": 10758, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_4046AC00": { + "Prio": 2, + "TagId": 1750, + "TagIdEvtMsg": 10919, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_4046AC00": { + "Prio": 2, + "TagId": 1750, + "TagIdEvtMsg": 10919, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046AA00": { + "Prio": 2, + "TagId": 1860, + "TagIdEvtMsg": 10918, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Sum": true, + "SumD": true + }, + "6200_40463800": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 10755, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 1343 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C500": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12496, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 417 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00469C00": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12495, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290, + 418 + ], + "Sum": true, + "SumD": true, + "Deprecated": true + }, + "6400_00262200": { + "Prio": 1, + "TagId": 563, + "TagIdEvtMsg": 10272, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6402_00463200": { + "Prio": 2, + "TagId": 2558, + "TagIdEvtMsg": 11363, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6400_00463100": { + "Prio": 2, + "TagId": 1818, + "TagIdEvtMsg": 10941, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_00A62B00": { + "Prio": 5, + "TagId": 410, + "TagIdEvtMsg": 10135, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462F00": { + "Prio": 2, + "TagId": 411, + "TagIdEvtMsg": 10012, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_00A63600": { + "Prio": 5, + "TagId": 531, + "TagIdEvtMsg": 10260, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6800_00A63500": { + "Prio": 5, + "TagId": 530, + "TagIdEvtMsg": 10259, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6802_00A62A00": { + "Prio": 5, + "TagId": 408, + "TagIdEvtMsg": 10134, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00462E00": { + "Prio": 2, + "TagId": 409, + "TagIdEvtMsg": 10011, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6100_40468E00": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 10002, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00461F00": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 10005, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6800_08862A00": { + "Prio": 4, + "TagId": 1403, + "TagIdEvtMsg": 10712, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00260100": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "7000_00261E00": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "7020_00261E00": { + "Prio": 1, + "TagId": 418, + "TagIdEvtMsg": 10001, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00463A00": { + "Prio": 2, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "7070_00263A00": { + "Prio": 1, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "7080_00263A00": { + "Prio": 1, + "TagId": 1738, + "TagIdEvtMsg": 10906, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ] + }, + "6400_00463B00": { + "Prio": 2, + "TagId": 1739, + "TagIdEvtMsg": 10907, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 290 + ], + "Sum": true, + "SumD": true + }, + "6802_0886CA00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11476, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08867F00": { + "Prio": 4, + "TagId": 4551, + "TagIdEvtMsg": 12403, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886D000": { + "Prio": 4, + "TagId": 3076, + "TagIdEvtMsg": 11482, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CD00": { + "Prio": 4, + "TagId": 3073, + "TagIdEvtMsg": 11479, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CB00": { + "Prio": 4, + "TagId": 3071, + "TagIdEvtMsg": 11477, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CF00": { + "Prio": 4, + "TagId": 3075, + "TagIdEvtMsg": 11481, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08868100": { + "Prio": 4, + "TagId": 4553, + "TagIdEvtMsg": 12405, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_0886CC00": { + "Prio": 4, + "TagId": 3072, + "TagIdEvtMsg": 11478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08868000": { + "Prio": 4, + "TagId": 4552, + "TagIdEvtMsg": 12404, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309, + 2383 + ] + }, + "6802_08862200": { + "Prio": 4, + "TagId": 4056, + "TagIdEvtMsg": 12010, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862600": { + "Prio": 4, + "TagId": 2559, + "TagIdEvtMsg": 11364, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886A400": { + "Prio": 4, + "TagId": 5051, + "TagIdEvtMsg": 12789, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6180_0846A700": { + "Prio": 2, + "TagId": 1460, + "TagIdEvtMsg": 10760, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40573100": { + "Prio": 2, + "TagId": 4781, + "TagIdEvtMsg": 12575, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573F00": { + "Prio": 2, + "TagId": 4820, + "TagIdEvtMsg": 12640, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573000": { + "Prio": 2, + "TagId": 4780, + "TagIdEvtMsg": 12574, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40573E00": { + "Prio": 2, + "TagId": 4819, + "TagIdEvtMsg": 12639, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08865000": { + "Prio": 4, + "TagId": 4055, + "TagIdEvtMsg": 12173, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_4046A500": { + "Prio": 2, + "TagId": 3115, + "TagIdEvtMsg": 11489, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08863300": { + "Prio": 4, + "TagId": 4189, + "TagIdEvtMsg": 12073, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086C100": { + "Prio": 4, + "TagId": 2486, + "TagIdEvtMsg": 11293, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0086C200": { + "Prio": 4, + "TagId": 2487, + "TagIdEvtMsg": 11294, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_0886C000": { + "Prio": 4, + "TagId": 2485, + "TagIdEvtMsg": 11292, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40469000": { + "Prio": 2, + "TagId": 816, + "TagIdEvtMsg": 10006, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08862500": { + "Prio": 4, + "TagId": 1798, + "TagIdEvtMsg": 10916, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6402_00666F00": { + "Prio": 3, + "TagId": 237, + "TagIdEvtMsg": 10010, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_00862400": { + "Prio": 4, + "TagId": 564, + "TagIdEvtMsg": 10273, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862700": { + "Prio": 4, + "TagId": 3096, + "TagIdEvtMsg": 11488, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6802_08862800": { + "Prio": 4, + "TagId": 3132, + "TagIdEvtMsg": 11524, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40468A00": { + "Prio": 2, + "TagId": 3121, + "TagIdEvtMsg": 11495, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0086D700": { + "Prio": 4, + "TagId": 3238, + "TagIdEvtMsg": 11590, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 309 + ] + }, + "6800_0886D800": { + "Prio": 4, + "TagId": 3239, + "TagIdEvtMsg": 11591, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 309 + ] + }, + "6180_0846A600": { + "Prio": 2, + "TagId": 1459, + "TagIdEvtMsg": 10759, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ] + }, + "6100_40468700": { + "Prio": 2, + "TagId": 3118, + "TagIdEvtMsg": 11492, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08866A00": { + "Prio": 4, + "TagId": 2525, + "TagIdEvtMsg": 11324, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 394 + ] + }, + "6802_00863A00": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 12056, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863B00": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 12057, + "Unit": 10, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863C00": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 12058, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_00863D00": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 12059, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463, + 442 + ] + }, + "6802_08864200": { + "Prio": 4, + "TagId": 4179, + "TagIdEvtMsg": 12063, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08863F00": { + "Prio": 4, + "TagId": 4299, + "TagIdEvtMsg": 12150, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864600": { + "Prio": 4, + "TagId": 4183, + "TagIdEvtMsg": 12067, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864500": { + "Prio": 4, + "TagId": 4182, + "TagIdEvtMsg": 12066, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864400": { + "Prio": 4, + "TagId": 4181, + "TagIdEvtMsg": 12065, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_08864300": { + "Prio": 4, + "TagId": 4180, + "TagIdEvtMsg": 12064, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864700": { + "Prio": 4, + "TagId": 4184, + "TagIdEvtMsg": 12068, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864800": { + "Prio": 4, + "TagId": 4185, + "TagIdEvtMsg": 12069, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864900": { + "Prio": 4, + "TagId": 4186, + "TagIdEvtMsg": 12070, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_40863200": { + "Prio": 4, + "TagId": 396, + "TagIdEvtMsg": 12077, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6800_08863400": { + "Prio": 4, + "TagId": 4229, + "TagIdEvtMsg": 12104, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00863E00": { + "Prio": 4, + "TagId": 4176, + "TagIdEvtMsg": 12060, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00864A00": { + "Prio": 4, + "TagId": 4187, + "TagIdEvtMsg": 12071, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1463 + ] + }, + "6802_00863900": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 12055, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 1463 + ] + }, + "6100_40464600": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11695, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464500": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11694, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40464400": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11693, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 1730 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00865300": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11456, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865200": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11457, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865D00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11413, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_0086A200": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12594, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_00865E00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11455, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_0086A100": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12595, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598, + 3039 + ] + }, + "6802_08865A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11410, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6802_00865C00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11412, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6802_00865B00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11411, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2598 + ] + }, + "6800_08865800": { + "Prio": 4, + "TagId": 2585, + "TagIdEvtMsg": 11418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2599 + ] + }, + "6800_08865400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11414, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6800_00865600": { + "Prio": 4, + "TagId": 1763, + "TagIdEvtMsg": 11416, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6800_00865500": { + "Prio": 4, + "TagId": 1764, + "TagIdEvtMsg": 11415, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2656 + ] + }, + "6802_00862E00": { + "Prio": 4, + "TagId": 2180, + "TagIdEvtMsg": 11404, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2593 + ] + }, + "6802_00862F00": { + "Prio": 4, + "TagId": 2181, + "TagIdEvtMsg": 11405, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780, + 2593 + ] + }, + "6802_00862B00": { + "Prio": 4, + "TagId": 2591, + "TagIdEvtMsg": 11401, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780 + ] + }, + "6802_08862C00": { + "Prio": 4, + "TagId": 2592, + "TagIdEvtMsg": 11402, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1780 + ] + }, + "6800_08865700": { + "Prio": 4, + "TagId": 1744, + "TagIdEvtMsg": 11417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 835, + 1780 + ] + }, + "6180_08461F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11059, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 835, + 1780 + ] + }, + "6802_08A62000": { + "Prio": 5, + "TagId": 325, + "TagIdEvtMsg": 12731, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6802_08A62100": { + "Prio": 5, + "TagId": 327, + "TagIdEvtMsg": 12732, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6802_08A62200": { + "Prio": 5, + "TagId": 329, + "TagIdEvtMsg": 12733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 1883, + 862, + 4936 + ] + }, + "6800_0086AA00": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 11036, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 2113 + ] + }, + "6802_0886AB00": { + "Prio": 4, + "TagId": 3589, + "TagIdEvtMsg": 11810, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 2113 + ] + }, + "6802_0086BA00": { + "Prio": 4, + "TagId": 2164, + "TagIdEvtMsg": 11052, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6802_0086B800": { + "Prio": 4, + "TagId": 2162, + "TagIdEvtMsg": 11050, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6802_0086B900": { + "Prio": 4, + "TagId": 2163, + "TagIdEvtMsg": 11051, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2165 + ] + }, + "6100_4046BC00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11090, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BD00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11091, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BE00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11092, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 20 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046B900": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11087, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046BA00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11088, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046BB00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11089, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 331 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0066B500": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 11083, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F700": { + "Prio": 3, + "TagId": 325, + "TagIdEvtMsg": 11083, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0066B600": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 11084, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F800": { + "Prio": 3, + "TagId": 327, + "TagIdEvtMsg": 11084, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0066B700": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 11085, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F900": { + "Prio": 3, + "TagId": 329, + "TagIdEvtMsg": 11085, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 437 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B100": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 11079, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B200": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 11080, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B300": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 11081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182, + 448 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_0046B800": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 11086, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_0046B800": { + "Prio": 2, + "TagId": 254, + "TagIdEvtMsg": 11086, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_0066FB00": { + "Prio": 3, + "TagId": 3939, + "TagIdEvtMsg": 11930, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_0066FA00": { + "Prio": 3, + "TagId": 3938, + "TagIdEvtMsg": 11929, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00865900": { + "Prio": 4, + "TagId": 2564, + "TagIdEvtMsg": 11373, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2182 + ] + }, + "6200_4046BF00": { + "Prio": 2, + "TagId": 406, + "TagIdEvtMsg": 11372, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_4046BF00": { + "Prio": 2, + "TagId": 406, + "TagIdEvtMsg": 11372, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0066B400": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 11082, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4066F600": { + "Prio": 3, + "TagId": 413, + "TagIdEvtMsg": 11082, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_4046F200": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046B000": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_4046F200": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 11078, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00573500": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 12580, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6400_00573400": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12579, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2182 + ], + "Sum": true, + "SumD": true + }, + "6102_4046C100": { + "Prio": 2, + "TagId": 3192, + "TagIdEvtMsg": 11541, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2203 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_0046C000": { + "Prio": 2, + "TagId": 3191, + "TagIdEvtMsg": 11540, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2203 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C200": { + "Prio": 2, + "TagId": 2369, + "TagIdEvtMsg": 11220, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ], + "Sum": true, + "SumD": true + }, + "7180_0046C300": { + "Prio": 2, + "TagId": 2366, + "TagIdEvtMsg": 11214, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2360 + ] + }, + "6800_0086A300": { + "Prio": 4, + "TagId": 2376, + "TagIdEvtMsg": 11234, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 835, + 2360 + ] + }, + "6200_0046C700": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11288, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046C700": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 11288, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C600": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 11287, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_0046C600": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 11287, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_0046C800": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 11289, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_0046C800": { + "Prio": 2, + "TagId": 450, + "TagIdEvtMsg": 11289, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_0046C900": { + "Prio": 2, + "TagId": 1739, + "TagIdEvtMsg": 11290, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 2484 + ], + "Sum": true, + "SumD": true + }, + "6802_08862D00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11403, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00866C00": { + "Prio": 4, + "TagId": 2552, + "TagIdEvtMsg": 11357, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00866B00": { + "Prio": 4, + "TagId": 2551, + "TagIdEvtMsg": 11356, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2550 + ] + }, + "6802_00863100": { + "Prio": 4, + "TagId": 2595, + "TagIdEvtMsg": 11407, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_0086A000": { + "Prio": 4, + "TagId": 4793, + "TagIdEvtMsg": 12593, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_00863000": { + "Prio": 4, + "TagId": 2594, + "TagIdEvtMsg": 11406, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6802_00869F00": { + "Prio": 4, + "TagId": 4792, + "TagIdEvtMsg": 12592, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 2660 + ] + }, + "6202_00465E00": { + "Prio": 2, + "TagId": 4061, + "TagIdEvtMsg": 12012, + "Unit": 1275, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00465E00": { + "Prio": 2, + "TagId": 4061, + "TagIdEvtMsg": 12012, + "Unit": 1275, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40465C00": { + "Prio": 2, + "TagId": 890, + "TagIdEvtMsg": 11910, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6202_40465D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11911, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6102_40465D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11911, + "Unit": 1275, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 3663 + ] + }, + "6802_00863800": { + "Prio": 4, + "TagId": 447, + "TagIdEvtMsg": 12054, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 4191 + ] + }, + "6100_00572800": { + "Prio": 2, + "TagId": 2359, + "TagIdEvtMsg": 12559, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4697, + 1072 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00572700": { + "Prio": 2, + "TagId": 314, + "TagIdEvtMsg": 12558, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4697, + 1079 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00573200": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 200131, + "Unit": 19, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4785 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00573300": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 200132, + "Unit": 4788, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 4786 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00574100": { + "Prio": 2, + "TagId": 4785, + "TagIdEvtMsg": 4785, + "Unit": 19, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00574200": { + "Prio": 2, + "TagId": 4786, + "TagIdEvtMsg": 4786, + "Unit": 4788, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_0887AE00": { + "Prio": 4, + "TagId": 1321, + "TagIdEvtMsg": 10680, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_0887AC00": { + "Prio": 4, + "TagId": 1122, + "TagIdEvtMsg": 10508, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_0887AD00": { + "Prio": 4, + "TagId": 1123, + "TagIdEvtMsg": 10509, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 53, + 289 + ] + }, + "6802_00879C00": { + "Prio": 4, + "TagId": 1334, + "TagIdEvtMsg": 10691, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_00879D00": { + "Prio": 4, + "TagId": 1335, + "TagIdEvtMsg": 10692, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_08879B00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10690, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1333 + ] + }, + "6802_0087A700": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 11316, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 2519 + ] + }, + "6802_0087A100": { + "Prio": 4, + "TagId": 1409, + "TagIdEvtMsg": 10719, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_00879A00": { + "Prio": 4, + "TagId": 1336, + "TagIdEvtMsg": 10689, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_08879900": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10688, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, + "6802_0087A600": { + "Prio": 4, + "TagId": 2520, + "TagIdEvtMsg": 11315, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 2518 + ] + }, + "6802_0087A300": { + "Prio": 4, + "TagId": 1411, + "TagIdEvtMsg": 10720, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0087A200": { + "Prio": 4, + "TagId": 1412, + "TagIdEvtMsg": 10721, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0887A400": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10722, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1410 + ] + }, + "6802_0887A000": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10725, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1445 + ] + }, + "6802_00879E00": { + "Prio": 4, + "TagId": 1414, + "TagIdEvtMsg": 10723, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1413 + ] + }, + "6802_00879F00": { + "Prio": 4, + "TagId": 254, + "TagIdEvtMsg": 10724, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1413 + ] + }, + "6802_40879600": { + "Prio": 4, + "TagId": 40, + "TagIdEvtMsg": 10173, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_40879700": { + "Prio": 4, + "TagId": 1097, + "TagIdEvtMsg": 10496, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_00879800": { + "Prio": 4, + "TagId": 1098, + "TagIdEvtMsg": 10497, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_08877D00": { + "Prio": 4, + "TagId": 4684, + "TagIdEvtMsg": 12478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_0887A500": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 11282, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28 + ] + }, + "6802_40873100": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12142, + "Unit": 3, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 36 + ] + }, + "6802_40873200": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12143, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 36 + ] + }, + "6802_40872800": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12382, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 4510 + ] + }, + "6802_00878C00": { + "Prio": 4, + "TagId": 1099, + "TagIdEvtMsg": 10498, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878D00": { + "Prio": 4, + "TagId": 1100, + "TagIdEvtMsg": 10499, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874700": { + "Prio": 4, + "TagId": 4974, + "TagIdEvtMsg": 12744, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874800": { + "Prio": 4, + "TagId": 4975, + "TagIdEvtMsg": 12745, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_40872F00": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12140, + "Unit": 7, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_40873000": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12141, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878200": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10176, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878300": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10177, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878400": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10178, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878500": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10179, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878600": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10180, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878700": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10181, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878800": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10182, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878900": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10183, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878000": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 10174, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878100": { + "Prio": 4, + "TagId": 288, + "TagIdEvtMsg": 10175, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878A00": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 10184, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878B00": { + "Prio": 4, + "TagId": 292, + "TagIdEvtMsg": 10185, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878F00": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10501, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875F00": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11067, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00874600": { + "Prio": 4, + "TagId": 4973, + "TagIdEvtMsg": 12743, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876800": { + "Prio": 4, + "TagId": 5086, + "TagIdEvtMsg": 12807, + "Unit": 7, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00878E00": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10500, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00875E00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11066, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876900": { + "Prio": 4, + "TagId": 5087, + "TagIdEvtMsg": 12808, + "Unit": 7, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_08877E00": { + "Prio": 4, + "TagId": 2015, + "TagIdEvtMsg": 11020, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879000": { + "Prio": 4, + "TagId": 2011, + "TagIdEvtMsg": 11016, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879100": { + "Prio": 4, + "TagId": 2012, + "TagIdEvtMsg": 11017, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879200": { + "Prio": 4, + "TagId": 2013, + "TagIdEvtMsg": 11018, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00879300": { + "Prio": 4, + "TagId": 2014, + "TagIdEvtMsg": 11019, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 222 + ] + }, + "6802_00876400": { + "Prio": 4, + "TagId": 4403, + "TagIdEvtMsg": 12251, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 4402, + 4403 + ] + }, + "6802_08876500": { + "Prio": 4, + "TagId": 4404, + "TagIdEvtMsg": 12252, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 4402, + 4403 + ] + }, + "6802_0087AA00": { + "Prio": 4, + "TagId": 1120, + "TagIdEvtMsg": 10506, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 289 + ] + }, + "6802_0087AB00": { + "Prio": 4, + "TagId": 1121, + "TagIdEvtMsg": 10507, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 289 + ] + }, + "6802_00874900": { + "Prio": 4, + "TagId": 5042, + "TagIdEvtMsg": 12787, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874A00": { + "Prio": 4, + "TagId": 5043, + "TagIdEvtMsg": 12788, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872D00": { + "Prio": 4, + "TagId": 4282, + "TagIdEvtMsg": 12138, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872700": { + "Prio": 4, + "TagId": 4515, + "TagIdEvtMsg": 12381, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_40872E00": { + "Prio": 4, + "TagId": 4283, + "TagIdEvtMsg": 12139, + "Unit": 10, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875000": { + "Prio": 4, + "TagId": 242, + "TagIdEvtMsg": 10188, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873C00": { + "Prio": 4, + "TagId": 4491, + "TagIdEvtMsg": 12311, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875100": { + "Prio": 4, + "TagId": 243, + "TagIdEvtMsg": 10189, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875200": { + "Prio": 4, + "TagId": 245, + "TagIdEvtMsg": 10190, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875A00": { + "Prio": 4, + "TagId": 1415, + "TagIdEvtMsg": 10726, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873D00": { + "Prio": 4, + "TagId": 4492, + "TagIdEvtMsg": 12312, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875300": { + "Prio": 4, + "TagId": 246, + "TagIdEvtMsg": 10191, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875400": { + "Prio": 4, + "TagId": 278, + "TagIdEvtMsg": 10192, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875B00": { + "Prio": 4, + "TagId": 1416, + "TagIdEvtMsg": 10727, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873E00": { + "Prio": 4, + "TagId": 4493, + "TagIdEvtMsg": 12313, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875500": { + "Prio": 4, + "TagId": 279, + "TagIdEvtMsg": 10193, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875600": { + "Prio": 4, + "TagId": 281, + "TagIdEvtMsg": 10194, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873F00": { + "Prio": 4, + "TagId": 4494, + "TagIdEvtMsg": 12314, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875700": { + "Prio": 4, + "TagId": 282, + "TagIdEvtMsg": 10195, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874E00": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 10186, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876000": { + "Prio": 4, + "TagId": 3484, + "TagIdEvtMsg": 11674, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876100": { + "Prio": 4, + "TagId": 3485, + "TagIdEvtMsg": 11675, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00874500": { + "Prio": 4, + "TagId": 4537, + "TagIdEvtMsg": 12316, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873400": { + "Prio": 4, + "TagId": 4538, + "TagIdEvtMsg": 12396, + "Unit": 10, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00873B00": { + "Prio": 4, + "TagId": 4495, + "TagIdEvtMsg": 12315, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874100": { + "Prio": 4, + "TagId": 4539, + "TagIdEvtMsg": 12397, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874F00": { + "Prio": 4, + "TagId": 288, + "TagIdEvtMsg": 10187, + "Unit": 10, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ], + "Deprecated": true + }, + "6802_00875800": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 10196, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876200": { + "Prio": 4, + "TagId": 3482, + "TagIdEvtMsg": 11676, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876300": { + "Prio": 4, + "TagId": 3483, + "TagIdEvtMsg": 11677, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874000": { + "Prio": 4, + "TagId": 4497, + "TagIdEvtMsg": 12317, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875900": { + "Prio": 4, + "TagId": 292, + "TagIdEvtMsg": 10197, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877900": { + "Prio": 4, + "TagId": 1102, + "TagIdEvtMsg": 10649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875D00": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11065, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877A00": { + "Prio": 4, + "TagId": 1417, + "TagIdEvtMsg": 10728, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874300": { + "Prio": 4, + "TagId": 4501, + "TagIdEvtMsg": 12321, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876600": { + "Prio": 4, + "TagId": 5084, + "TagIdEvtMsg": 12805, + "Unit": 4314, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877800": { + "Prio": 4, + "TagId": 1101, + "TagIdEvtMsg": 10648, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00875C00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11064, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877B00": { + "Prio": 4, + "TagId": 1418, + "TagIdEvtMsg": 10729, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874400": { + "Prio": 4, + "TagId": 4500, + "TagIdEvtMsg": 12320, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00876700": { + "Prio": 4, + "TagId": 5085, + "TagIdEvtMsg": 12806, + "Unit": 4314, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877600": { + "Prio": 4, + "TagId": 351, + "TagIdEvtMsg": 10198, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_08872300": { + "Prio": 4, + "TagId": 3936, + "TagIdEvtMsg": 11927, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00874200": { + "Prio": 4, + "TagId": 4499, + "TagIdEvtMsg": 12319, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_00877500": { + "Prio": 4, + "TagId": 2111, + "TagIdEvtMsg": 11034, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 442 + ] + }, + "6802_08872500": { + "Prio": 4, + "TagId": 4054, + "TagIdEvtMsg": 12008, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_40879400": { + "Prio": 4, + "TagId": 36, + "TagIdEvtMsg": 10167, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08873900": { + "Prio": 4, + "TagId": 4511, + "TagIdEvtMsg": 12354, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873A00": { + "Prio": 4, + "TagId": 4510, + "TagIdEvtMsg": 12353, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00879500": { + "Prio": 4, + "TagId": 37, + "TagIdEvtMsg": 10168, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6800_00872100": { + "Prio": 4, + "TagId": 1446, + "TagIdEvtMsg": 10754, + "DataFrmt": 24, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873700": { + "Prio": 4, + "TagId": 232, + "TagIdEvtMsg": 10171, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873600": { + "Prio": 4, + "TagId": 233, + "TagIdEvtMsg": 10170, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873500": { + "Prio": 4, + "TagId": 234, + "TagIdEvtMsg": 10169, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00873800": { + "Prio": 4, + "TagId": 236, + "TagIdEvtMsg": 10172, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00877F00": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 10502, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_4087A800": { + "Prio": 4, + "TagId": 4239, + "TagIdEvtMsg": 12112, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_4087A900": { + "Prio": 4, + "TagId": 4240, + "TagIdEvtMsg": 12113, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872A00": { + "Prio": 4, + "TagId": 273, + "TagIdEvtMsg": 10203, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872000": { + "Prio": 4, + "TagId": 1369, + "TagIdEvtMsg": 10709, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872B00": { + "Prio": 4, + "TagId": 323, + "TagIdEvtMsg": 10202, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_08872600": { + "Prio": 4, + "TagId": 4277, + "TagIdEvtMsg": 12133, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872400": { + "Prio": 4, + "TagId": 3937, + "TagIdEvtMsg": 11928, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00872C00": { + "Prio": 4, + "TagId": 1226, + "TagIdEvtMsg": 10730, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6802_00874D00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10257, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53 + ] + }, + "6180_08671E00": { + "Prio": 3, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6800_08871E00": { + "Prio": 4, + "TagId": 53, + "TagIdEvtMsg": 10126, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08872900": { + "Prio": 4, + "TagId": 4516, + "TagIdEvtMsg": 12383, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08672200": { + "Prio": 3, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ], + "Deprecated": true + }, + "6802_08872200": { + "Prio": 4, + "TagId": 453, + "TagIdEvtMsg": 10205, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 836, + 229 + ] + }, + "6802_08871F00": { + "Prio": 4, + "TagId": 54, + "TagIdEvtMsg": 10201, + "DataFrmt": 30, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229 + ] + }, + "6800_0887FF00": { + "Prio": 4, + "TagId": 764, + "TagIdEvtMsg": 12179, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 268 + ] + }, + "6802_0887B900": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 11629, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 836, + 309, + 1080 + ] + }, + "6802_0887B800": { + "Prio": 4, + "TagId": 2016, + "TagIdEvtMsg": 11021, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 309, + 1080 + ] + }, + "6100_00482000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12633, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 290, + 230, + 4810 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6802_08886E00": { + "Prio": 4, + "TagId": 2589, + "TagIdEvtMsg": 11399, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886500": { + "Prio": 4, + "TagId": 2580, + "TagIdEvtMsg": 11389, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886600": { + "Prio": 4, + "TagId": 2581, + "TagIdEvtMsg": 11390, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6180_08681E00": { + "Prio": 3, + "TagId": 1742, + "TagIdEvtMsg": 10909, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 837, + 309 + ] + }, + "6802_08886F00": { + "Prio": 4, + "TagId": 2590, + "TagIdEvtMsg": 11400, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886000": { + "Prio": 4, + "TagId": 1103, + "TagIdEvtMsg": 11384, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886300": { + "Prio": 4, + "TagId": 2578, + "TagIdEvtMsg": 11387, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886400": { + "Prio": 4, + "TagId": 2579, + "TagIdEvtMsg": 11388, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6102_00484900": { + "Prio": 2, + "TagId": 2588, + "TagIdEvtMsg": 11398, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08887000": { + "Prio": 4, + "TagId": 4328, + "TagIdEvtMsg": 12175, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6800_00886700": { + "Prio": 4, + "TagId": 2582, + "TagIdEvtMsg": 11391, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 309 + ] + }, + "6400_00683200": { + "Prio": 3, + "TagId": 1748, + "TagIdEvtMsg": 10915, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1740, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6802_00885200": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 11073, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885100": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 11072, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885400": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11075, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6802_00885300": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11074, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 222 + ] + }, + "6800_0888CC00": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 10933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740, + 309 + ] + }, + "6802_00884E00": { + "Prio": 4, + "TagId": 287, + "TagIdEvtMsg": 11069, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00884D00": { + "Prio": 4, + "TagId": 291, + "TagIdEvtMsg": 11068, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00885000": { + "Prio": 4, + "TagId": 2179, + "TagIdEvtMsg": 11071, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00884F00": { + "Prio": 4, + "TagId": 2178, + "TagIdEvtMsg": 11070, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 442 + ] + }, + "6802_00885500": { + "Prio": 4, + "TagId": 2180, + "TagIdEvtMsg": 11076, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 3062 + ] + }, + "6802_00885600": { + "Prio": 4, + "TagId": 2181, + "TagIdEvtMsg": 11077, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740, + 3062 + ] + }, + "6800_00882000": { + "Prio": 4, + "TagId": 1761, + "TagIdEvtMsg": 10934, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08881E00": { + "Prio": 4, + "TagId": 1741, + "TagIdEvtMsg": 10908, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740 + ] + }, + "6802_08882200": { + "Prio": 4, + "TagId": 4055, + "TagIdEvtMsg": 12009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08886100": { + "Prio": 4, + "TagId": 2575, + "TagIdEvtMsg": 11385, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1740 + ] + }, + "6800_08881F00": { + "Prio": 4, + "TagId": 1744, + "TagIdEvtMsg": 10911, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 837, + 1740 + ] + }, + "6180_08486A00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 10938, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 837, + 1740 + ] + }, + "6400_00684600": { + "Prio": 3, + "TagId": 409, + "TagIdEvtMsg": 11053, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_40484A00": { + "Prio": 2, + "TagId": 3119, + "TagIdEvtMsg": 11692, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00481F00": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12581, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6400_00684700": { + "Prio": 3, + "TagId": 1724, + "TagIdEvtMsg": 11054, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Sum": true, + "SumD": true + }, + "6100_00484800": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 11055, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 837, + 1743 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_00885B00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11447, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885A00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11446, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885F00": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11383, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885900": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12586, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885C00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11448, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885800": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12585, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745, + 3039 + ] + }, + "6800_00885E00": { + "Prio": 4, + "TagId": 2573, + "TagIdEvtMsg": 11382, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00885D00": { + "Prio": 4, + "TagId": 2572, + "TagIdEvtMsg": 11381, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00883900": { + "Prio": 4, + "TagId": 1746, + "TagIdEvtMsg": 10913, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_00883A00": { + "Prio": 4, + "TagId": 1747, + "TagIdEvtMsg": 10914, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1745 + ] + }, + "6800_08882A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10935, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00886200": { + "Prio": 4, + "TagId": 2577, + "TagIdEvtMsg": 11386, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00882B00": { + "Prio": 4, + "TagId": 1763, + "TagIdEvtMsg": 10936, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_00882C00": { + "Prio": 4, + "TagId": 1764, + "TagIdEvtMsg": 10937, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 1762 + ] + }, + "6800_08886C00": { + "Prio": 4, + "TagId": 2585, + "TagIdEvtMsg": 11396, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2584 + ] + }, + "6800_08886D00": { + "Prio": 4, + "TagId": 2587, + "TagIdEvtMsg": 11397, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2586 + ] + }, + "6800_08886800": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11392, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_08886B00": { + "Prio": 4, + "TagId": 2563, + "TagIdEvtMsg": 11395, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_00886A00": { + "Prio": 4, + "TagId": 2583, + "TagIdEvtMsg": 11394, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6800_00886900": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11393, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 837, + 2655 + ] + }, + "6802_08893100": { + "Prio": 4, + "TagId": 4142, + "TagIdEvtMsg": 12038, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46, + 454 + ] + }, + "6202_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "72D2_00497D00": { + "Prio": 2, + "TagId": 3586, + "TagIdEvtMsg": 11806, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6202_00499B00": { + "Prio": 2, + "TagId": 4001, + "TagIdEvtMsg": 11985, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00499B00": { + "Prio": 2, + "TagId": 4001, + "TagIdEvtMsg": 11985, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00696E00": { + "Prio": 3, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00696E00": { + "Prio": 2, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7172_00696E00": { + "Prio": 3, + "TagId": 1752, + "TagIdEvtMsg": 10921, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6200_00499100": { + "Prio": 2, + "TagId": 4000, + "TagIdEvtMsg": 11984, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00499100": { + "Prio": 2, + "TagId": 4000, + "TagIdEvtMsg": 11984, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40491E00": { + "Prio": 2, + "TagId": 1464, + "TagIdEvtMsg": 10761, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00492D00": { + "Prio": 2, + "TagId": 2539, + "TagIdEvtMsg": 11342, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492900": { + "Prio": 2, + "TagId": 2534, + "TagIdEvtMsg": 11334, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698D00": { + "Prio": 3, + "TagId": 3994, + "TagIdEvtMsg": 11980, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698C00": { + "Prio": 3, + "TagId": 3993, + "TagIdEvtMsg": 11979, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00698E00": { + "Prio": 3, + "TagId": 3995, + "TagIdEvtMsg": 11981, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492E00": { + "Prio": 2, + "TagId": 2540, + "TagIdEvtMsg": 11343, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00492F00": { + "Prio": 2, + "TagId": 3034, + "TagIdEvtMsg": 11444, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6102_00498B00": { + "Prio": 2, + "TagId": 3984, + "TagIdEvtMsg": 11973, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6102_00693000": { + "Prio": 3, + "TagId": 3867, + "TagIdEvtMsg": 11912, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ] + }, + "6102_00492800": { + "Prio": 2, + "TagId": 2533, + "TagIdEvtMsg": 11333, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40492B00": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 11336, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40492A00": { + "Prio": 2, + "TagId": 2651, + "TagIdEvtMsg": 11335, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00492600": { + "Prio": 2, + "TagId": 1731, + "TagIdEvtMsg": 10898, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6400_00492700": { + "Prio": 2, + "TagId": 1732, + "TagIdEvtMsg": 10899, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Sum": true, + "SumD": true + }, + "6102_00492C00": { + "Prio": 2, + "TagId": 445, + "TagIdEvtMsg": 11341, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46, + 1234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_08897D00": { + "Prio": 4, + "TagId": 2549, + "TagIdEvtMsg": 11355, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 46, + 309 + ] + }, + "6182_08497700": { + "Prio": 2, + "TagId": 2547, + "TagIdEvtMsg": 11353, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7132_40495D00": { + "Prio": 2, + "TagId": 38, + "TagIdEvtMsg": 10922, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7312_00498100": { + "Prio": 2, + "TagId": 3599, + "TagIdEvtMsg": 11815, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7322_00498200": { + "Prio": 2, + "TagId": 3600, + "TagIdEvtMsg": 11816, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00497500": { + "Prio": 2, + "TagId": 2548, + "TagIdEvtMsg": 11354, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00892F00": { + "Prio": 4, + "TagId": 4047, + "TagIdEvtMsg": 12003, + "Unit": 3, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893000": { + "Prio": 4, + "TagId": 4048, + "TagIdEvtMsg": 12004, + "Unit": 3, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_08892E00": { + "Prio": 4, + "TagId": 4046, + "TagIdEvtMsg": 12002, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_08892900": { + "Prio": 4, + "TagId": 3636, + "TagIdEvtMsg": 11850, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893900": { + "Prio": 4, + "TagId": 1759, + "TagIdEvtMsg": 10929, + "Unit": 1293, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893700": { + "Prio": 4, + "TagId": 2350, + "TagIdEvtMsg": 11208, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00894800": { + "Prio": 4, + "TagId": 4003, + "TagIdEvtMsg": 11987, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00495900": { + "Prio": 2, + "TagId": 2315, + "TagIdEvtMsg": 11175, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00495900": { + "Prio": 2, + "TagId": 2315, + "TagIdEvtMsg": 11175, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6102_00493B00": { + "Prio": 2, + "TagId": 4840, + "TagIdEvtMsg": 12656, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493A00": { + "Prio": 2, + "TagId": 4839, + "TagIdEvtMsg": 12655, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493900": { + "Prio": 2, + "TagId": 4838, + "TagIdEvtMsg": 12654, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493700": { + "Prio": 2, + "TagId": 4843, + "TagIdEvtMsg": 12651, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08495600": { + "Prio": 2, + "TagId": 3061, + "TagIdEvtMsg": 11466, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6182_08498000": { + "Prio": 2, + "TagId": 897, + "TagIdEvtMsg": 11805, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00492400": { + "Prio": 2, + "TagId": 4837, + "TagIdEvtMsg": 12653, + "Unit": 8, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7090_00295A00": { + "Prio": 1, + "TagId": 1737, + "TagIdEvtMsg": 10903, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "72E2_00495100": { + "Prio": 2, + "TagId": 3587, + "TagIdEvtMsg": 11809, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00499200": { + "Prio": 2, + "TagId": 4002, + "TagIdEvtMsg": 11986, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00499200": { + "Prio": 2, + "TagId": 4002, + "TagIdEvtMsg": 11986, + "Unit": 19, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00498F00": { + "Prio": 2, + "TagId": 3999, + "TagIdEvtMsg": 11983, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00498F00": { + "Prio": 2, + "TagId": 3999, + "TagIdEvtMsg": 11983, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493500": { + "Prio": 2, + "TagId": 4841, + "TagIdEvtMsg": 12649, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6202_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7362_00498600": { + "Prio": 2, + "TagId": 3604, + "TagIdEvtMsg": 11820, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6202_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7372_40498700": { + "Prio": 2, + "TagId": 3605, + "TagIdEvtMsg": 11821, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00894300": { + "Prio": 4, + "TagId": 2542, + "TagIdEvtMsg": 11345, + "Unit": 11, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00493800": { + "Prio": 2, + "TagId": 4844, + "TagIdEvtMsg": 12652, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00493600": { + "Prio": 2, + "TagId": 4842, + "TagIdEvtMsg": 12650, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08498400": { + "Prio": 2, + "TagId": 3602, + "TagIdEvtMsg": 11818, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7342_08498400": { + "Prio": 2, + "TagId": 3602, + "TagIdEvtMsg": 11818, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7330_40498300": { + "Prio": 2, + "TagId": 3601, + "TagIdEvtMsg": 11817, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893800": { + "Prio": 4, + "TagId": 2349, + "TagIdEvtMsg": 11207, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6100_00497400": { + "Prio": 2, + "TagId": 2654, + "TagIdEvtMsg": 11352, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00497300": { + "Prio": 2, + "TagId": 2653, + "TagIdEvtMsg": 11351, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_08893600": { + "Prio": 4, + "TagId": 3035, + "TagIdEvtMsg": 11445, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6202_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7382_00498800": { + "Prio": 2, + "TagId": 3606, + "TagIdEvtMsg": 11822, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6180_08495E00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6402_00496600": { + "Prio": 2, + "TagId": 2348, + "TagIdEvtMsg": 11206, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Sum": true, + "SumD": true + }, + "6802_40894200": { + "Prio": 4, + "TagId": 2541, + "TagIdEvtMsg": 11344, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6102_00497200": { + "Prio": 2, + "TagId": 2652, + "TagIdEvtMsg": 11350, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495400": { + "Prio": 2, + "TagId": 3189, + "TagIdEvtMsg": 11538, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00495500": { + "Prio": 2, + "TagId": 3190, + "TagIdEvtMsg": 11539, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6202_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 23, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7392_00498900": { + "Prio": 2, + "TagId": 3607, + "TagIdEvtMsg": 11823, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6182_08498500": { + "Prio": 2, + "TagId": 3603, + "TagIdEvtMsg": 11819, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7352_08498500": { + "Prio": 2, + "TagId": 3603, + "TagIdEvtMsg": 11819, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00893A00": { + "Prio": 4, + "TagId": 1760, + "TagIdEvtMsg": 10930, + "Unit": 2, + "DataFrmt": 12, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6200_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7142_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7152_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7162_40495B00": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 10904, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6100_40492200": { + "Prio": 2, + "TagId": 401, + "TagIdEvtMsg": 12647, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40492300": { + "Prio": 2, + "TagId": 2651, + "TagIdEvtMsg": 12648, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495200": { + "Prio": 2, + "TagId": 3223, + "TagIdEvtMsg": 11574, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00495300": { + "Prio": 2, + "TagId": 3224, + "TagIdEvtMsg": 11575, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08893B00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10931, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6200_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "7102_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7112_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "7122_00495C00": { + "Prio": 2, + "TagId": 441, + "TagIdEvtMsg": 10905, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_00893C00": { + "Prio": 4, + "TagId": 449, + "TagIdEvtMsg": 10932, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, + "6800_08892B00": { + "Prio": 4, + "TagId": 3804, + "TagIdEvtMsg": 10305, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 46 + ] + }, + "6800_08892A00": { + "Prio": 4, + "TagId": 3803, + "TagIdEvtMsg": 10304, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 46 + ] + }, + "6402_00496400": { + "Prio": 2, + "TagId": 2344, + "TagIdEvtMsg": 11202, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 2288 + ], + "Sum": true, + "SumD": true + }, + "6402_00496500": { + "Prio": 2, + "TagId": 2345, + "TagIdEvtMsg": 11203, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 2288 + ], + "Sum": true, + "SumD": true + }, + "6800_10A91E00": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 12738, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6182_08498A00": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11824, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "73A2_08498A00": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6182_08497F00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11803, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "72C2_08497F00": { + "Prio": 2, + "TagId": 1765, + "TagIdEvtMsg": 11803, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6802_08896800": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10118, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 309, + 915 + ] + }, + "6100_00491F00": { + "Prio": 2, + "TagId": 4656, + "TagIdEvtMsg": 12449, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00893200": { + "Prio": 4, + "TagId": 4190, + "TagIdEvtMsg": 12074, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6802_08893300": { + "Prio": 4, + "TagId": 4188, + "TagIdEvtMsg": 12072, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, + "6A02_08896600": { + "Prio": 4, + "TagId": 2432, + "TagIdEvtMsg": 11267, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896200": { + "Prio": 4, + "TagId": 2420, + "TagIdEvtMsg": 11257, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896100": { + "Prio": 4, + "TagId": 2419, + "TagIdEvtMsg": 11256, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6800_00895E00": { + "Prio": 4, + "TagId": 4730, + "TagIdEvtMsg": 12519, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896400": { + "Prio": 4, + "TagId": 2422, + "TagIdEvtMsg": 11259, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_00896300": { + "Prio": 4, + "TagId": 2421, + "TagIdEvtMsg": 11258, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6800_00895F00": { + "Prio": 4, + "TagId": 4731, + "TagIdEvtMsg": 12520, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 915 + ] + }, + "6400_00492000": { + "Prio": 2, + "TagId": 4825, + "TagIdEvtMsg": 12641, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 915 + ], + "Sum": true, + "SumD": true + }, + "6400_00492100": { + "Prio": 2, + "TagId": 4826, + "TagIdEvtMsg": 12642, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 915 + ], + "Sum": true, + "SumD": true + }, + "6A02_40896500": { + "Prio": 4, + "TagId": 2423, + "TagIdEvtMsg": 11260, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6A02_08896000": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 11255, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 915 + ] + }, + "6182_08693200": { + "Prio": 3, + "TagId": 1734, + "TagIdEvtMsg": 10900, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ] + }, + "6182_08493400": { + "Prio": 2, + "TagId": 3986, + "TagIdEvtMsg": 11975, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ] + }, + "6200_00693300": { + "Prio": 3, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6200_00493300": { + "Prio": 2, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00693300": { + "Prio": 3, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00493300": { + "Prio": 2, + "TagId": 1758, + "TagIdEvtMsg": 10928, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00897E00": { + "Prio": 4, + "TagId": 2553, + "TagIdEvtMsg": 11358, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00891E00": { + "Prio": 4, + "TagId": 1753, + "TagIdEvtMsg": 10923, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892500": { + "Prio": 4, + "TagId": 2174, + "TagIdEvtMsg": 11060, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40892300": { + "Prio": 4, + "TagId": 2172, + "TagIdEvtMsg": 11057, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40892400": { + "Prio": 4, + "TagId": 2173, + "TagIdEvtMsg": 11058, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892200": { + "Prio": 4, + "TagId": 2171, + "TagIdEvtMsg": 11056, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_08894700": { + "Prio": 4, + "TagId": 2546, + "TagIdEvtMsg": 11349, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497800": { + "Prio": 2, + "TagId": 2535, + "TagIdEvtMsg": 11337, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00894500": { + "Prio": 4, + "TagId": 2544, + "TagIdEvtMsg": 11347, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00891F00": { + "Prio": 4, + "TagId": 1754, + "TagIdEvtMsg": 10924, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892700": { + "Prio": 4, + "TagId": 2176, + "TagIdEvtMsg": 11062, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497B00": { + "Prio": 2, + "TagId": 2538, + "TagIdEvtMsg": 11340, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6402_00497900": { + "Prio": 2, + "TagId": 2536, + "TagIdEvtMsg": 11338, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6802_00894400": { + "Prio": 4, + "TagId": 2543, + "TagIdEvtMsg": 11346, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892000": { + "Prio": 4, + "TagId": 1755, + "TagIdEvtMsg": 10925, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892600": { + "Prio": 4, + "TagId": 2175, + "TagIdEvtMsg": 11061, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6402_00497A00": { + "Prio": 2, + "TagId": 2537, + "TagIdEvtMsg": 11339, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Sum": true, + "SumD": true + }, + "6800_00892100": { + "Prio": 4, + "TagId": 1757, + "TagIdEvtMsg": 10927, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_40894600": { + "Prio": 4, + "TagId": 2545, + "TagIdEvtMsg": 11348, + "Unit": 2658, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00892800": { + "Prio": 4, + "TagId": 2177, + "TagIdEvtMsg": 11063, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6180_08694600": { + "Prio": 3, + "TagId": 1736, + "TagIdEvtMsg": 10902, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 1735 + ] + }, + "6802_00897000": { + "Prio": 4, + "TagId": 2428, + "TagIdEvtMsg": 11263, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897200": { + "Prio": 4, + "TagId": 2430, + "TagIdEvtMsg": 11265, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897100": { + "Prio": 4, + "TagId": 2429, + "TagIdEvtMsg": 11264, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6802_00897300": { + "Prio": 4, + "TagId": 2431, + "TagIdEvtMsg": 11266, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2288 + ] + }, + "6400_00497E00": { + "Prio": 2, + "TagId": 896, + "TagIdEvtMsg": 11804, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "7300_00497E00": { + "Prio": 2, + "TagId": 896, + "TagIdEvtMsg": 11804, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "6400_00499800": { + "Prio": 2, + "TagId": 4013, + "TagIdEvtMsg": 11998, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "6400_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "71C0_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "72A0_00496700": { + "Prio": 2, + "TagId": 2363, + "TagIdEvtMsg": 11218, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ] + }, + "6400_00499500": { + "Prio": 2, + "TagId": 4006, + "TagIdEvtMsg": 11990, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Sum": true, + "SumD": true + }, + "6800_00894D00": { + "Prio": 4, + "TagId": 2380, + "TagIdEvtMsg": 11238, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2363 + ] + }, + "6802_40892C00": { + "Prio": 4, + "TagId": 3863, + "TagIdEvtMsg": 11907, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 838, + 2363 + ] + }, + "6800_00895800": { + "Prio": 4, + "TagId": 4011, + "TagIdEvtMsg": 11995, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2363 + ] + }, + "6200_00496900": { + "Prio": 2, + "TagId": 2370, + "TagIdEvtMsg": 11224, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496900": { + "Prio": 2, + "TagId": 2370, + "TagIdEvtMsg": 11224, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00499300": { + "Prio": 2, + "TagId": 4004, + "TagIdEvtMsg": 11988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00499300": { + "Prio": 2, + "TagId": 4004, + "TagIdEvtMsg": 11988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2363 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00496D00": { + "Prio": 2, + "TagId": 2455, + "TagIdEvtMsg": 11271, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "72F0_00496D00": { + "Prio": 2, + "TagId": 2455, + "TagIdEvtMsg": 11271, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "6400_00499700": { + "Prio": 2, + "TagId": 4010, + "TagIdEvtMsg": 11994, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "6400_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "71D0_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "72B0_00496800": { + "Prio": 2, + "TagId": 2364, + "TagIdEvtMsg": 11219, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ] + }, + "6400_00499600": { + "Prio": 2, + "TagId": 4007, + "TagIdEvtMsg": 11991, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Sum": true, + "SumD": true + }, + "6800_00894E00": { + "Prio": 4, + "TagId": 2381, + "TagIdEvtMsg": 11239, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2364 + ] + }, + "6802_40892D00": { + "Prio": 4, + "TagId": 3864, + "TagIdEvtMsg": 11908, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 838, + 2364 + ] + }, + "6800_00895900": { + "Prio": 4, + "TagId": 4012, + "TagIdEvtMsg": 11996, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 838, + 2364 + ] + }, + "6200_00496A00": { + "Prio": 2, + "TagId": 2371, + "TagIdEvtMsg": 11225, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496A00": { + "Prio": 2, + "TagId": 2371, + "TagIdEvtMsg": 11225, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00499400": { + "Prio": 2, + "TagId": 4005, + "TagIdEvtMsg": 11989, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00499400": { + "Prio": 2, + "TagId": 4005, + "TagIdEvtMsg": 11989, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2364 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00496B00": { + "Prio": 2, + "TagId": 2373, + "TagIdEvtMsg": 11228, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2365 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00496C00": { + "Prio": 2, + "TagId": 2365, + "TagIdEvtMsg": 11229, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2365 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00893500": { + "Prio": 4, + "TagId": 4210, + "TagIdEvtMsg": 12089, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 3823 + ] + }, + "6802_00893400": { + "Prio": 4, + "TagId": 4209, + "TagIdEvtMsg": 12088, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 3823 + ] + }, + "6802_00895700": { + "Prio": 4, + "TagId": 3590, + "TagIdEvtMsg": 11812, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 1193 + ] + }, + "6802_00895600": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 11811, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532, + 1193 + ] + }, + "6802_00895100": { + "Prio": 4, + "TagId": 2567, + "TagIdEvtMsg": 11376, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00894F00": { + "Prio": 4, + "TagId": 2565, + "TagIdEvtMsg": 11374, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895000": { + "Prio": 4, + "TagId": 2566, + "TagIdEvtMsg": 11375, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_08895400": { + "Prio": 4, + "TagId": 2570, + "TagIdEvtMsg": 11379, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_08895500": { + "Prio": 4, + "TagId": 2571, + "TagIdEvtMsg": 11380, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895200": { + "Prio": 4, + "TagId": 2568, + "TagIdEvtMsg": 11377, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00895300": { + "Prio": 4, + "TagId": 2569, + "TagIdEvtMsg": 11378, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, + "6102_00497C00": { + "Prio": 2, + "TagId": 3069, + "TagIdEvtMsg": 11475, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 2532 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08497600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11332, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 2532 + ] + }, + "6802_00898100": { + "Prio": 4, + "TagId": 2556, + "TagIdEvtMsg": 11361, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898000": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 11360, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898300": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12591, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00897F00": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 11359, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6802_00898200": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12590, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2659 + ] + }, + "6800_088A4000": { + "Prio": 4, + "TagId": 59, + "TagIdEvtMsg": 11563, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 267 + ] + }, + "6802_088A4200": { + "Prio": 4, + "TagId": 3216, + "TagIdEvtMsg": 11565, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 267 + ] + }, + "6802_088A4100": { + "Prio": 4, + "TagId": 3215, + "TagIdEvtMsg": 11564, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 267 + ] + }, + "6800_108A2B00": { + "Prio": 4, + "TagId": 4143, + "TagIdEvtMsg": 12036, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084A2C00": { + "Prio": 2, + "TagId": 4144, + "TagIdEvtMsg": 12039, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084A2E00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12052, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6800_108A3200": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12125, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 1628 + ] + }, + "6180_084AAA00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 11174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA200": { + "Prio": 4, + "TagId": 2244, + "TagIdEvtMsg": 11173, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008AA300": { + "Prio": 4, + "TagId": 3199, + "TagIdEvtMsg": 11552, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 290, + 2314 + ] + }, + "6800_008A2A00": { + "Prio": 4, + "TagId": 4213, + "TagIdEvtMsg": 12090, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 290 + ] + }, + "6800_088A2900": { + "Prio": 4, + "TagId": 4144, + "TagIdEvtMsg": 12037, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 290 + ] + }, + "6800_088A3300": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12146, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309, + 4288 + ], + "Hidden": true + }, + "6800_088A2C00": { + "Prio": 4, + "TagId": 1539, + "TagIdEvtMsg": 10785, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 309 + ] + }, + "6102_004A2A00": { + "Prio": 2, + "TagId": 3611, + "TagIdEvtMsg": 11830, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_006A8F00": { + "Prio": 3, + "TagId": 1488, + "TagIdEvtMsg": 10764, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_008A2D00": { + "Prio": 4, + "TagId": 1536, + "TagIdEvtMsg": 10782, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 309 + ] + }, + "6180_084A2800": { + "Prio": 2, + "TagId": 4543, + "TagIdEvtMsg": 12399, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 309 + ] + }, + "6102_404A9000": { + "Prio": 2, + "TagId": 3122, + "TagIdEvtMsg": 11496, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 394 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_108A2400": { + "Prio": 4, + "TagId": 820, + "TagIdEvtMsg": 10293, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 839, + 584 + ] + }, + "6800_008A2800": { + "Prio": 4, + "TagId": 1318, + "TagIdEvtMsg": 11926, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_008A3500": { + "Prio": 4, + "TagId": 4789, + "TagIdEvtMsg": 12587, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10319, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A1F00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 10768, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6180_082A2100": { + "Prio": 1, + "TagId": 50, + "TagIdEvtMsg": 10770, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 705 + ] + }, + "6800_088A2000": { + "Prio": 4, + "TagId": 1503, + "TagIdEvtMsg": 10769, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 705 + ] + }, + "6802_108A2300": { + "Prio": 4, + "TagId": 819, + "TagIdEvtMsg": 11777, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 818 + ] + }, + "6802_088A2200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11776, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 818 + ] + }, + "6802_408A3900": { + "Prio": 4, + "TagId": 47, + "TagIdEvtMsg": 10200, + "Unit": 4, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 839, + 889 + ] + }, + "6802_088A2F00": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12105, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 911 + ] + }, + "6802_088A3000": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12106, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 914 + ] + }, + "6100_004A2900": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 11049, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1163, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004A1F00": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10560, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4700": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10593, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6180_004A5B00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10614, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6180_084A3300": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10572, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1171 + ] + }, + "6100_004A1E00": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10559, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4600": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10592, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6180_004A5A00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10613, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6180_084A3200": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10571, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1170 + ] + }, + "6800_00AA8C00": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10816, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1623 + ] + }, + "6800_00AA8D00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10817, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1164, + 1623 + ] + }, + "6100_004A2100": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10562, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4900": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10595, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6180_004A5D00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10616, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6180_084A3500": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10574, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1171 + ] + }, + "6100_004A2000": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10561, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4800": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10594, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6180_004A5C00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10615, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6180_084A3400": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10573, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1165, + 1170 + ] + }, + "6100_004A2300": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10564, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4B00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10597, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6180_004A5F00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10618, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6180_084A3700": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10576, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1171 + ] + }, + "6100_004A2200": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10563, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4A00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10596, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6180_004A5E00": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10617, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6180_084A3600": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10575, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1166, + 1170 + ] + }, + "6100_004A2500": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10566, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4D00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10599, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6180_004A6100": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10620, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6180_084A3900": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10578, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1171 + ] + }, + "6100_004A2400": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10565, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4C00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10598, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6180_004A6000": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10619, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6180_084A3800": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10577, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1167, + 1170 + ] + }, + "6100_004A2700": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10568, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4F00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10601, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6180_004A6300": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10622, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6180_084A3B00": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10580, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1171 + ] + }, + "6100_004A2600": { + "Prio": 2, + "TagId": 1175, + "TagIdEvtMsg": 10567, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084A4E00": { + "Prio": 2, + "TagId": 1177, + "TagIdEvtMsg": 10600, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_004A6200": { + "Prio": 2, + "TagId": 1179, + "TagIdEvtMsg": 10621, + "DataFrmt": 13, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_084A3A00": { + "Prio": 2, + "TagId": 1176, + "TagIdEvtMsg": 10579, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1168, + 1170 + ] + }, + "6180_084A9700": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10879, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6182_084A9E00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10896, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9600": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10878, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1709 + ] + }, + "6180_084A9900": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 10881, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6182_084A9F00": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 10897, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6180_084A9800": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10880, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 1710 + ] + }, + "6180_084A9300": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 11006, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6182_084AA000": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 11009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6180_084A9200": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11005, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2001 + ] + }, + "6180_084A9500": { + "Prio": 2, + "TagId": 1711, + "TagIdEvtMsg": 11008, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6182_084AA100": { + "Prio": 2, + "TagId": 1728, + "TagIdEvtMsg": 11010, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6180_084A9400": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11007, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708, + 2002 + ] + }, + "6800_108A7400": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 10832, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7200", + "6800_108A7100", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_088A7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10828, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7200": { + "Prio": 4, + "TagId": 1637, + "TagIdEvtMsg": 10830, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7100", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7100": { + "Prio": 4, + "TagId": 1636, + "TagIdEvtMsg": 10829, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7200", + "6800_108A7300" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6800_108A7300": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 10831, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "GroupChange": [ + "6800_108A7400", + "6800_108A7200", + "6800_108A7100" + ], + "TagHier": [ + 839, + 1708, + 1631 + ] + }, + "6180_104A9D00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 10885, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9C00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 10884, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9A00": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 10882, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6180_104A9B00": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 10883, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A8A00": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 10889, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A7700": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 12176, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6400": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10893, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6300", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10892, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6100", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6802_008A7600": { + "Prio": 4, + "TagId": 3233, + "TagIdEvtMsg": 11588, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6802_088A7500": { + "Prio": 4, + "TagId": 3147, + "TagIdEvtMsg": 11527, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10890, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6200" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_10AA6200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10891, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A8A00", + "6800_10AA6400", + "6800_10AA6300", + "6800_10AA6100" + ], + "TagHier": [ + 839, + 1708 + ] + }, + "6800_088A5B00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5A00", + "6800_108A5900" + ], + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5A00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11774, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5900" + ], + "Len": 63, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6800_108A5900": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11773, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5B00", + "6800_108A5A00" + ], + "Len": 32, + "TagHier": [ + 839, + 3313, + 817 + ] + }, + "6180_084ABB00": { + "Prio": 2, + "TagId": 3365, + "TagIdEvtMsg": 11636, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104ABA00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 11605, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB900": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 11604, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB700": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 11602, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_104AB800": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 11603, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABD00": { + "Prio": 2, + "TagId": 3317, + "TagIdEvtMsg": 11608, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5800": { + "Prio": 4, + "TagId": 3507, + "TagIdEvtMsg": 11697, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5200": { + "Prio": 4, + "TagId": 1718, + "TagIdEvtMsg": 11615, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_108A5600", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084ABC00": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 11607, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5000": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 11613, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_008A5700": { + "Prio": 4, + "TagId": 3351, + "TagIdEvtMsg": 11630, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5600": { + "Prio": 4, + "TagId": 714, + "TagIdEvtMsg": 11619, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5500", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA500": { + "Prio": 4, + "TagId": 3342, + "TagIdEvtMsg": 11621, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A5100": { + "Prio": 4, + "TagId": 3321, + "TagIdEvtMsg": 11614, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108AA400": { + "Prio": 4, + "TagId": 3315, + "TagIdEvtMsg": 11606, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5500": { + "Prio": 4, + "TagId": 715, + "TagIdEvtMsg": 11618, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5300", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A5300": { + "Prio": 4, + "TagId": 716, + "TagIdEvtMsg": 11616, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5400" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4C00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11609, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A4F00": { + "Prio": 4, + "TagId": 3320, + "TagIdEvtMsg": 11612, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "Len": 63, + "TagHier": [ + 839, + 3313 + ] + }, + "6100_004AB600": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 11601, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_108A5400": { + "Prio": 4, + "TagId": 717, + "TagIdEvtMsg": 11617, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_088A5200", + "6800_108A5600", + "6800_108A5500", + "6800_108A5300" + ], + "TagHier": [ + 839, + 3313 + ] + }, + "6180_084A6400": { + "Prio": 2, + "TagId": 3820, + "TagIdEvtMsg": 11898, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088A4D00": { + "Prio": 4, + "TagId": 3318, + "TagIdEvtMsg": 11610, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_108A4E00": { + "Prio": 4, + "TagId": 3319, + "TagIdEvtMsg": 11611, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "Len": 32, + "TagHier": [ + 839, + 3313 + ] + }, + "6800_088AA600": { + "Prio": 4, + "TagId": 3356, + "TagIdEvtMsg": 11631, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 3313 + ] + }, + "6802_008A2600": { + "Prio": 4, + "TagId": 3612, + "TagIdEvtMsg": 11826, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A2B00": { + "Prio": 4, + "TagId": 1711, + "TagIdEvtMsg": 11825, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_008A2700": { + "Prio": 4, + "TagId": 3613, + "TagIdEvtMsg": 11827, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A3400": { + "Prio": 4, + "TagId": 266, + "TagIdEvtMsg": 12388, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A2E00": { + "Prio": 4, + "TagId": 4230, + "TagIdEvtMsg": 12107, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6802_088A3100": { + "Prio": 4, + "TagId": 4249, + "TagIdEvtMsg": 12124, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 839, + 3610 + ] + }, + "6800_10AB3200": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10297, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3300": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10298, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3400": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10299, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_08AB1E00": { + "Prio": 5, + "TagId": 733, + "TagIdEvtMsg": 10320, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_108B4400": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 10300, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_10AB3500": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10301, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 64 + ] + }, + "6800_00AB3C00": { + "Prio": 5, + "TagId": 330, + "TagIdEvtMsg": 10325, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 300 + ] + }, + "6800_10AB3D00": { + "Prio": 5, + "TagId": 718, + "TagIdEvtMsg": 10302, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210, + 300 + ] + }, + "6800_088B1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10326, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_108B2100": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10327, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_008B1F00": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10328, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_10AB4800": { + "Prio": 5, + "TagId": 736, + "TagIdEvtMsg": 10329, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ], + "Deprecated": true + }, + "6800_108B2200": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10329, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6800_108B2000": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10330, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 210, + 328 + ] + }, + "6180_104B2B00": { + "Prio": 2, + "TagId": 1715, + "TagIdEvtMsg": 12493, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2A00": { + "Prio": 2, + "TagId": 1714, + "TagIdEvtMsg": 12492, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2800": { + "Prio": 2, + "TagId": 1712, + "TagIdEvtMsg": 12490, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6180_104B2900": { + "Prio": 2, + "TagId": 1713, + "TagIdEvtMsg": 12491, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 210 + ] + }, + "6800_08AB2500": { + "Prio": 5, + "TagId": 1718, + "TagIdEvtMsg": 12489, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GroupChange": [ + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB1F00": { + "Prio": 5, + "TagId": 714, + "TagIdEvtMsg": 10321, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB2000", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2000": { + "Prio": 5, + "TagId": 715, + "TagIdEvtMsg": 10322, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2100", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2100": { + "Prio": 5, + "TagId": 716, + "TagIdEvtMsg": 10323, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2200" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6802_088B2500": { + "Prio": 4, + "TagId": 3571, + "TagIdEvtMsg": 10158, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6800_10AB2200": { + "Prio": 5, + "TagId": 717, + "TagIdEvtMsg": 10324, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 1, + "GroupChange": [ + "6800_08AB2500", + "6800_10AB1F00", + "6800_10AB2000", + "6800_10AB2100" + ], + "TagHier": [ + 840, + 210 + ] + }, + "6802_108B2400": { + "Prio": 4, + "TagId": 2576, + "TagIdEvtMsg": 10157, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6800_00AB5700": { + "Prio": 5, + "TagId": 330, + "TagIdEvtMsg": 10332, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 260 + ] + }, + "6800_088B6000": { + "Prio": 4, + "TagId": 738, + "TagIdEvtMsg": 10333, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6802_08AB6500": { + "Prio": 5, + "TagId": 755, + "TagIdEvtMsg": 10362, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6100": { + "Prio": 5, + "TagId": 739, + "TagIdEvtMsg": 10334, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_108B6600": { + "Prio": 4, + "TagId": 719, + "TagIdEvtMsg": 10303, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6200": { + "Prio": 5, + "TagId": 740, + "TagIdEvtMsg": 10335, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6300": { + "Prio": 5, + "TagId": 741, + "TagIdEvtMsg": 10336, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_10AB6400": { + "Prio": 5, + "TagId": 742, + "TagIdEvtMsg": 10337, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6800_088B6100": { + "Prio": 4, + "TagId": 743, + "TagIdEvtMsg": 10338, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 296 + ] + }, + "6182_084B2400": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 12127, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6180_084B2000": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12118, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6180_104B2200": { + "Prio": 2, + "TagId": 4245, + "TagIdEvtMsg": 12120, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ] + }, + "6102_004B2100": { + "Prio": 2, + "TagId": 3314, + "TagIdEvtMsg": 12119, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4241 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084B2300": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12123, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 309, + 4246 + ] + }, + "6800_088B3400": { + "Prio": 4, + "TagId": 1625, + "TagIdEvtMsg": 12428, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 584 + ] + }, + "6800_088B3500": { + "Prio": 4, + "TagId": 4619, + "TagIdEvtMsg": 12429, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 584 + ] + }, + "6802_088B3000": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 12148, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246, + 4241 + ] + }, + "6802_088B2F00": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 12147, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246, + 4290 + ] + }, + "6182_084B2500": { + "Prio": 2, + "TagId": 3316, + "TagIdEvtMsg": 12128, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B2B00": { + "Prio": 4, + "TagId": 1146, + "TagIdEvtMsg": 12122, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B2A00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12121, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6802_088B3600": { + "Prio": 4, + "TagId": 4621, + "TagIdEvtMsg": 12430, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6800_088B3800": { + "Prio": 4, + "TagId": 4784, + "TagIdEvtMsg": 12578, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1625, + 4246 + ] + }, + "6800_088B7000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10824, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_008B7100": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10825, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1629 + ] + }, + "6800_088B7200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_008B7300": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10827, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 1630 + ] + }, + "6800_108B4000": { + "Prio": 4, + "TagId": 4882, + "TagIdEvtMsg": 12691, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6802_088B7500": { + "Prio": 4, + "TagId": 4634, + "TagIdEvtMsg": 12439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_108B3F00": { + "Prio": 4, + "TagId": 1629, + "TagIdEvtMsg": 12690, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_008B7400": { + "Prio": 4, + "TagId": 712, + "TagIdEvtMsg": 11763, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628 + ] + }, + "6800_088B5200": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10887, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1716 + ] + }, + "6802_008B5300": { + "Prio": 4, + "TagId": 3634, + "TagIdEvtMsg": 11831, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1716 + ] + }, + "6180_084B1E00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 10886, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_008B2E00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12132, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 1716 + ] + }, + "6800_088B3D00": { + "Prio": 4, + "TagId": 1826, + "TagIdEvtMsg": 10949, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3B00": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10947, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3E00": { + "Prio": 4, + "TagId": 2022, + "TagIdEvtMsg": 11025, + "DataFrmt": 28, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_008B3A00": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10946, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3C00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10948, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6800_108B3900": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10945, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 840, + 1892 + ] + }, + "6802_008B8A00": { + "Prio": 4, + "TagId": 2010, + "TagIdEvtMsg": 11015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6802_108B8B00": { + "Prio": 4, + "TagId": 2112, + "TagIdEvtMsg": 11035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 840, + 2018, + 2019 + ] + }, + "6800_108B2600": { + "Prio": 4, + "TagId": 3906, + "TagIdEvtMsg": 11914, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 840, + 3572 + ] + }, + "6802_088B2700": { + "Prio": 4, + "TagId": 4044, + "TagIdEvtMsg": 12000, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 3663 + ] + }, + "6182_084B1F00": { + "Prio": 2, + "TagId": 4045, + "TagIdEvtMsg": 12001, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 3663 + ] + }, + "6802_10AB2400": { + "Prio": 5, + "TagId": 4243, + "TagIdEvtMsg": 12117, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241, + 4244 + ] + }, + "6802_008B2C00": { + "Prio": 4, + "TagId": 4265, + "TagIdEvtMsg": 12126, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B2900": { + "Prio": 4, + "TagId": 1146, + "TagIdEvtMsg": 12115, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_10AB2300": { + "Prio": 5, + "TagId": 4242, + "TagIdEvtMsg": 12116, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B2800": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 12114, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_108B2D00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 12131, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 840, + 4241 + ] + }, + "6802_088B3200": { + "Prio": 4, + "TagId": 4327, + "TagIdEvtMsg": 12174, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 4326 + ] + }, + "6802_008B4200": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 12803, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 5079 + ] + }, + "6802_108B4100": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 12802, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 5079 + ] + }, + "6182_084B2C00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 12804, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 840, + 5079 + ] + }, + "6800_088C2200": { + "Prio": 4, + "TagId": 4959, + "TagIdEvtMsg": 12739, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6100_004C1E00": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10841, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 360 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088C2000": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 10144, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C1E00": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10122, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 841, + 360 + ] + }, + "6800_088C4600": { + "Prio": 4, + "TagId": 1325, + "TagIdEvtMsg": 10684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4400": { + "Prio": 4, + "TagId": 1197, + "TagIdEvtMsg": 10590, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4700": { + "Prio": 4, + "TagId": 1326, + "TagIdEvtMsg": 10685, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6800_088C4500": { + "Prio": 4, + "TagId": 1198, + "TagIdEvtMsg": 10591, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 1196 + ] + }, + "6100_004C1F00": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10856, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1687 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2000": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10857, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1688 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2300": { + "Prio": 2, + "TagId": 2413, + "TagIdEvtMsg": 11251, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1688 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2100": { + "Prio": 2, + "TagId": 1646, + "TagIdEvtMsg": 10943, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1820 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004C2200": { + "Prio": 2, + "TagId": 2413, + "TagIdEvtMsg": 11250, + "Unit": 271, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 841, + 1820 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_008D5200": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10331, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 842, + 452 + ] + }, + "6800_088D3B00": { + "Prio": 4, + "TagId": 744, + "TagIdEvtMsg": 10339, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3000": { + "Prio": 4, + "TagId": 745, + "TagIdEvtMsg": 10340, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6802_088D3E00": { + "Prio": 4, + "TagId": 2675, + "TagIdEvtMsg": 11441, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3C00": { + "Prio": 4, + "TagId": 746, + "TagIdEvtMsg": 10341, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3100": { + "Prio": 4, + "TagId": 747, + "TagIdEvtMsg": 10342, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3D00": { + "Prio": 4, + "TagId": 748, + "TagIdEvtMsg": 10343, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 706 + ] + }, + "6800_088D3200": { + "Prio": 4, + "TagId": 749, + "TagIdEvtMsg": 10344, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 842, + 706 + ] + }, + "6800_108D1F00": { + "Prio": 4, + "TagId": 750, + "TagIdEvtMsg": 10346, + "DataFrmt": 28, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D1E00": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 10345, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D2100": { + "Prio": 4, + "TagId": 752, + "TagIdEvtMsg": 10348, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_108D2000": { + "Prio": 4, + "TagId": 751, + "TagIdEvtMsg": 10347, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 842, + 707 + ] + }, + "6800_088D6000": { + "Prio": 4, + "TagId": 1145, + "TagIdEvtMsg": 10349, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_088D6400": { + "Prio": 4, + "TagId": 1870, + "TagIdEvtMsg": 10959, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_088D6100": { + "Prio": 4, + "TagId": 753, + "TagIdEvtMsg": 10350, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 842, + 708 + ] + }, + "6800_008D6500": { + "Prio": 4, + "TagId": 1871, + "TagIdEvtMsg": 10960, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 842, + 708 + ] + }, + "6100_004E3400": { + "Prio": 2, + "TagId": 4739, + "TagIdEvtMsg": 12524, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3600": { + "Prio": 2, + "TagId": 4741, + "TagIdEvtMsg": 12526, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3300": { + "Prio": 2, + "TagId": 4738, + "TagIdEvtMsg": 12523, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3500": { + "Prio": 2, + "TagId": 4740, + "TagIdEvtMsg": 12525, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 58 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E2800": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200090, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4531 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6800_408E2800": { + "Prio": 4, + "TagId": 4535, + "TagIdEvtMsg": 200090, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230, + 4531 + ] + }, + "6100_404E2900": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200091, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4532 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6800_408E2900": { + "Prio": 4, + "TagId": 4535, + "TagIdEvtMsg": 200091, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230, + 4532 + ] + }, + "6100_404E2700": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200089, + "Unit": 3134, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4530 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2600": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200088, + "Unit": 4391, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 4536 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2500": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200087, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 417 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2400": { + "Prio": 2, + "TagId": 4535, + "TagIdEvtMsg": 200086, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230, + 890 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E4000": { + "Prio": 2, + "TagId": 4531, + "TagIdEvtMsg": 12793, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_408E4000": { + "Prio": 4, + "TagId": 4531, + "TagIdEvtMsg": 12793, + "Unit": 4392, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230 + ] + }, + "6100_404E4100": { + "Prio": 2, + "TagId": 4532, + "TagIdEvtMsg": 12794, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_408E4100": { + "Prio": 4, + "TagId": 4532, + "TagIdEvtMsg": 12794, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 290, + 230 + ] + }, + "6100_404E3F00": { + "Prio": 2, + "TagId": 4530, + "TagIdEvtMsg": 12792, + "Unit": 3134, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E3E00": { + "Prio": 2, + "TagId": 4536, + "TagIdEvtMsg": 12791, + "Unit": 4391, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 230 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2F00": { + "Prio": 2, + "TagId": 4640, + "TagIdEvtMsg": 200093, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 418 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3100": { + "Prio": 2, + "TagId": 4641, + "TagIdEvtMsg": 200095, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 418 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E2E00": { + "Prio": 2, + "TagId": 4640, + "TagIdEvtMsg": 200092, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 1408 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3000": { + "Prio": 2, + "TagId": 4641, + "TagIdEvtMsg": 200094, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290, + 1408 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true, + "Deprecated": true + }, + "6100_404E3D00": { + "Prio": 2, + "TagId": 1408, + "TagIdEvtMsg": 12790, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 290 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_00AE1E00": { + "Prio": 5, + "TagId": 4760, + "TagIdEvtMsg": 12543, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 299 + ] + }, + "6800_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "680E_088E7B00": { + "Prio": 4, + "TagId": 1590, + "TagIdEvtMsg": 10794, + "DataFrmt": 23, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9E00": { + "Prio": 2, + "TagId": 3976, + "TagIdEvtMsg": 11968, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9F00": { + "Prio": 2, + "TagId": 3977, + "TagIdEvtMsg": 11969, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008EA500": { + "Prio": 4, + "TagId": 3662, + "TagIdEvtMsg": 11982, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8400": { + "Prio": 2, + "TagId": 3733, + "TagIdEvtMsg": 11878, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8500": { + "Prio": 2, + "TagId": 3734, + "TagIdEvtMsg": 11879, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E8100": { + "Prio": 2, + "TagId": 3730, + "TagIdEvtMsg": 11875, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E8F00": { + "Prio": 4, + "TagId": 3942, + "TagIdEvtMsg": 11934, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8A00": { + "Prio": 4, + "TagId": 3815, + "TagIdEvtMsg": 11893, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA100": { + "Prio": 4, + "TagId": 3980, + "TagIdEvtMsg": 11972, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9300": { + "Prio": 4, + "TagId": 3948, + "TagIdEvtMsg": 11940, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9100": { + "Prio": 4, + "TagId": 3946, + "TagIdEvtMsg": 11938, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9200": { + "Prio": 4, + "TagId": 3947, + "TagIdEvtMsg": 11939, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8300": { + "Prio": 2, + "TagId": 3732, + "TagIdEvtMsg": 11877, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8600": { + "Prio": 2, + "TagId": 3735, + "TagIdEvtMsg": 11880, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8800": { + "Prio": 4, + "TagId": 3727, + "TagIdEvtMsg": 11872, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8200": { + "Prio": 2, + "TagId": 3731, + "TagIdEvtMsg": 11876, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E8E00": { + "Prio": 4, + "TagId": 3818, + "TagIdEvtMsg": 11897, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8900": { + "Prio": 2, + "TagId": 3738, + "TagIdEvtMsg": 11883, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_004E9900": { + "Prio": 2, + "TagId": 3970, + "TagIdEvtMsg": 11962, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_408E9A00": { + "Prio": 4, + "TagId": 3955, + "TagIdEvtMsg": 11947, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9800": { + "Prio": 4, + "TagId": 3953, + "TagIdEvtMsg": 11945, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9900": { + "Prio": 4, + "TagId": 3954, + "TagIdEvtMsg": 11946, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9B00": { + "Prio": 4, + "TagId": 3956, + "TagIdEvtMsg": 11948, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9700": { + "Prio": 4, + "TagId": 3952, + "TagIdEvtMsg": 11944, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088E9F00": { + "Prio": 4, + "TagId": 3968, + "TagIdEvtMsg": 11960, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9600": { + "Prio": 2, + "TagId": 3966, + "TagIdEvtMsg": 11958, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9700": { + "Prio": 2, + "TagId": 3967, + "TagIdEvtMsg": 11959, + "Unit": 2, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9000": { + "Prio": 2, + "TagId": 3960, + "TagIdEvtMsg": 11952, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9100": { + "Prio": 2, + "TagId": 3961, + "TagIdEvtMsg": 11953, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9200": { + "Prio": 2, + "TagId": 3962, + "TagIdEvtMsg": 11954, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9300": { + "Prio": 2, + "TagId": 3963, + "TagIdEvtMsg": 11955, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9400": { + "Prio": 2, + "TagId": 3964, + "TagIdEvtMsg": 11956, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E9500": { + "Prio": 2, + "TagId": 3965, + "TagIdEvtMsg": 11957, + "Unit": 5, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E9C00": { + "Prio": 4, + "TagId": 3957, + "TagIdEvtMsg": 11949, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E9D00": { + "Prio": 4, + "TagId": 3958, + "TagIdEvtMsg": 11950, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9E00": { + "Prio": 4, + "TagId": 3959, + "TagIdEvtMsg": 11951, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8000": { + "Prio": 2, + "TagId": 3729, + "TagIdEvtMsg": 11874, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E8C00": { + "Prio": 2, + "TagId": 3813, + "TagIdEvtMsg": 11892, + "DataFrmt": 6, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_408E9400": { + "Prio": 4, + "TagId": 3949, + "TagIdEvtMsg": 11941, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9600": { + "Prio": 4, + "TagId": 3951, + "TagIdEvtMsg": 11943, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E9500": { + "Prio": 4, + "TagId": 3950, + "TagIdEvtMsg": 11942, + "DataFrmt": 6, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E8100": { + "Prio": 4, + "TagId": 3721, + "TagIdEvtMsg": 11866, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408E8000": { + "Prio": 4, + "TagId": 3720, + "TagIdEvtMsg": 11865, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E9A00": { + "Prio": 2, + "TagId": 3972, + "TagIdEvtMsg": 11964, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9B00": { + "Prio": 2, + "TagId": 3973, + "TagIdEvtMsg": 11965, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9C00": { + "Prio": 2, + "TagId": 3974, + "TagIdEvtMsg": 11966, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E9D00": { + "Prio": 2, + "TagId": 3975, + "TagIdEvtMsg": 11967, + "Unit": 1266, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E9000": { + "Prio": 4, + "TagId": 3945, + "TagIdEvtMsg": 11937, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_408EA000": { + "Prio": 4, + "TagId": 3971, + "TagIdEvtMsg": 11963, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6182_084EA300": { + "Prio": 2, + "TagId": 1347, + "TagIdEvtMsg": 11977, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6400_004E8B00": { + "Prio": 2, + "TagId": 3740, + "TagIdEvtMsg": 11885, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_008E8B00": { + "Prio": 4, + "TagId": 3816, + "TagIdEvtMsg": 11894, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8200": { + "Prio": 4, + "TagId": 3722, + "TagIdEvtMsg": 11867, + "Unit": 6, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_088EA200": { + "Prio": 4, + "TagId": 3751, + "TagIdEvtMsg": 11886, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8D00": { + "Prio": 4, + "TagId": 3817, + "TagIdEvtMsg": 11896, + "Unit": 5, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6402_004EA200": { + "Prio": 2, + "TagId": 3987, + "TagIdEvtMsg": 11976, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6802_008E8500": { + "Prio": 4, + "TagId": 3725, + "TagIdEvtMsg": 11870, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8600": { + "Prio": 4, + "TagId": 3726, + "TagIdEvtMsg": 11871, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8C00": { + "Prio": 4, + "TagId": 385, + "TagIdEvtMsg": 11895, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6100_004E8A00": { + "Prio": 2, + "TagId": 3739, + "TagIdEvtMsg": 11884, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004EA000": { + "Prio": 2, + "TagId": 3978, + "TagIdEvtMsg": 11970, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004EA100": { + "Prio": 2, + "TagId": 3979, + "TagIdEvtMsg": 11971, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8400": { + "Prio": 4, + "TagId": 3724, + "TagIdEvtMsg": 11869, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6802_008E8300": { + "Prio": 4, + "TagId": 3723, + "TagIdEvtMsg": 11868, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6182_084EA400": { + "Prio": 2, + "TagId": 3988, + "TagIdEvtMsg": 11978, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ] + }, + "6400_004E9800": { + "Prio": 2, + "TagId": 3969, + "TagIdEvtMsg": 11961, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Sum": true, + "SumD": true + }, + "6100_404E8700": { + "Prio": 2, + "TagId": 3736, + "TagIdEvtMsg": 11881, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404E8800": { + "Prio": 2, + "TagId": 3737, + "TagIdEvtMsg": 11882, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_008E8900": { + "Prio": 4, + "TagId": 3728, + "TagIdEvtMsg": 11873, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, + "6800_088E1E00": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10352, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 843, + 709 + ] + }, + "6800_108E1F00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10353, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 3, + "TagHier": [ + 843, + 709 + ] + }, + "6800_108E2000": { + "Prio": 4, + "TagId": 50, + "TagIdEvtMsg": 10351, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 843, + 709 + ] + }, + "6800_088E4500": { + "Prio": 4, + "TagId": 738, + "TagIdEvtMsg": 10355, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4900": { + "Prio": 4, + "TagId": 1258, + "TagIdEvtMsg": 10676, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4C00": { + "Prio": 4, + "TagId": 1325, + "TagIdEvtMsg": 10682, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4B00": { + "Prio": 4, + "TagId": 1197, + "TagIdEvtMsg": 10681, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4D00": { + "Prio": 4, + "TagId": 1326, + "TagIdEvtMsg": 10683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10354, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4A00": { + "Prio": 4, + "TagId": 735, + "TagIdEvtMsg": 10356, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_008E4600": { + "Prio": 4, + "TagId": 330, + "TagIdEvtMsg": 10357, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_10AE1F00": { + "Prio": 5, + "TagId": 736, + "TagIdEvtMsg": 10358, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ], + "Deprecated": true + }, + "6800_108E4E00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 10358, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4800": { + "Prio": 4, + "TagId": 1237, + "TagIdEvtMsg": 10671, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_108E4700": { + "Prio": 4, + "TagId": 737, + "TagIdEvtMsg": 10359, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E4F00": { + "Prio": 4, + "TagId": 1635, + "TagIdEvtMsg": 10823, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 710 + ] + }, + "6800_088E6000": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10818, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6900": { + "Prio": 4, + "TagId": 725, + "TagIdEvtMsg": 11024, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_108E6200": { + "Prio": 4, + "TagId": 1633, + "TagIdEvtMsg": 10820, + "DataFrmt": 29, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6100": { + "Prio": 4, + "TagId": 1632, + "TagIdEvtMsg": 10819, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6700": { + "Prio": 4, + "TagId": 1936, + "TagIdEvtMsg": 10970, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6300": { + "Prio": 4, + "TagId": 1634, + "TagIdEvtMsg": 10821, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 750 + ] + }, + "6800_088E6600": { + "Prio": 4, + "TagId": 1931, + "TagIdEvtMsg": 10969, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6500": { + "Prio": 4, + "TagId": 1930, + "TagIdEvtMsg": 10968, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6800": { + "Prio": 4, + "TagId": 2021, + "TagIdEvtMsg": 11023, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 1932 + ] + }, + "6800_088E6400": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 10822, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 843, + 1627, + 710 + ] + }, + "6A02_088E2500": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 200137, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639, + 4834 + ] + }, + "6A02_008E2400": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 200136, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639, + 4834 + ] + }, + "6100_004E2B00": { + "Prio": 2, + "TagId": 200009, + "TagIdEvtMsg": 200074, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_008E2C00": { + "Prio": 4, + "TagId": 200063, + "TagIdEvtMsg": 200075, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6A02_008E2C00": { + "Prio": 4, + "TagId": 200063, + "TagIdEvtMsg": 200075, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6800_008E2D00": { + "Prio": 4, + "TagId": 200066, + "TagIdEvtMsg": 200076, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6A02_008E2D00": { + "Prio": 4, + "TagId": 200066, + "TagIdEvtMsg": 200076, + "Unit": 14, + "DataFrmt": 2, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E3C00": { + "Prio": 2, + "TagId": 2608, + "TagIdEvtMsg": 12643, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3B00": { + "Prio": 2, + "TagId": 4835, + "TagIdEvtMsg": 200138, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_008E2300": { + "Prio": 4, + "TagId": 4836, + "TagIdEvtMsg": 200135, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E2200": { + "Prio": 2, + "TagId": 4534, + "TagIdEvtMsg": 210025, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2A00": { + "Prio": 2, + "TagId": 395, + "TagIdEvtMsg": 210028, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_404E2300": { + "Prio": 2, + "TagId": 200012, + "TagIdEvtMsg": 210005, + "Unit": 2, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_004E2100": { + "Prio": 2, + "TagId": 528, + "TagIdEvtMsg": 210024, + "Unit": 17, + "DataFrmt": 0, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6A02_008E2200": { + "Prio": 4, + "TagId": 1408, + "TagIdEvtMsg": 200134, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_404E1F00": { + "Prio": 2, + "TagId": 4533, + "TagIdEvtMsg": 210023, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6A02_008E2600": { + "Prio": 4, + "TagId": 4833, + "TagIdEvtMsg": 200133, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 1639 + ] + }, + "6100_004E3700": { + "Prio": 2, + "TagId": 4742, + "TagIdEvtMsg": 12530, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3800": { + "Prio": 2, + "TagId": 4743, + "TagIdEvtMsg": 12531, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3A00": { + "Prio": 2, + "TagId": 4745, + "TagIdEvtMsg": 12533, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004E3900": { + "Prio": 2, + "TagId": 4744, + "TagIdEvtMsg": 12532, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_004E3200": { + "Prio": 2, + "TagId": 1870, + "TagIdEvtMsg": 12529, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 4734 + ], + "Sum": true, + "SumD": true + }, + "6800_088E2100": { + "Prio": 4, + "TagId": 4771, + "TagIdEvtMsg": 12568, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 4773 + ] + }, + "6800_008F3200": { + "Prio": 4, + "TagId": 1683, + "TagIdEvtMsg": 10853, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3100": { + "Prio": 4, + "TagId": 1682, + "TagIdEvtMsg": 10852, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_088F3000": { + "Prio": 4, + "TagId": 3348, + "TagIdEvtMsg": 11627, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3400": { + "Prio": 4, + "TagId": 1685, + "TagIdEvtMsg": 10855, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_008F3300": { + "Prio": 4, + "TagId": 1684, + "TagIdEvtMsg": 10854, + "Unit": 1266, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 1686, + 2139 + ] + }, + "6800_088F2000": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 844, + 82, + 400 + ] + }, + "6100_004F2900": { + "Prio": 2, + "TagId": 4848, + "TagIdEvtMsg": 12659, + "Unit": 4928, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2A00": { + "Prio": 2, + "TagId": 4849, + "TagIdEvtMsg": 12660, + "Unit": 4928, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2800": { + "Prio": 2, + "TagId": 4847, + "TagIdEvtMsg": 12658, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4D00": { + "Prio": 2, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4D00": { + "Prio": 2, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F4D00": { + "Prio": 3, + "TagId": 73, + "TagIdEvtMsg": 10071, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4C00": { + "Prio": 2, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4C00": { + "Prio": 2, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F4C00": { + "Prio": 3, + "TagId": 74, + "TagIdEvtMsg": 10072, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_004F4E00": { + "Prio": 2, + "TagId": 529, + "TagIdEvtMsg": 10073, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404F3500": { + "Prio": 2, + "TagId": 4861, + "TagIdEvtMsg": 12671, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F9000": { + "Prio": 2, + "TagId": 248, + "TagIdEvtMsg": 10076, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_004F9000": { + "Prio": 2, + "TagId": 248, + "TagIdEvtMsg": 10076, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6200_002F7A00": { + "Prio": 1, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_002F7A00": { + "Prio": 1, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_006F7A00": { + "Prio": 3, + "TagId": 250, + "TagIdEvtMsg": 10074, + "Unit": 9, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3300": { + "Prio": 2, + "TagId": 4858, + "TagIdEvtMsg": 12669, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3400": { + "Prio": 2, + "TagId": 4859, + "TagIdEvtMsg": 12670, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3000": { + "Prio": 2, + "TagId": 4855, + "TagIdEvtMsg": 12666, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2E00": { + "Prio": 2, + "TagId": 4853, + "TagIdEvtMsg": 12664, + "Unit": 4862, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2F00": { + "Prio": 2, + "TagId": 4854, + "TagIdEvtMsg": 12665, + "Unit": 4862, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_084F3100": { + "Prio": 2, + "TagId": 4856, + "TagIdEvtMsg": 12667, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ] + }, + "6200_004F9100": { + "Prio": 2, + "TagId": 334, + "TagIdEvtMsg": 10077, + "Unit": 12, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6100_004F9100": { + "Prio": 2, + "TagId": 334, + "TagIdEvtMsg": 10077, + "Unit": 12, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "AvgD": true + }, + "6800_008F3500": { + "Prio": 4, + "TagId": 3370, + "TagIdEvtMsg": 11637, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 844, + 82 + ] + }, + "6100_004F3600": { + "Prio": 2, + "TagId": 4941, + "TagIdEvtMsg": 12734, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_402F1E00": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10069, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_402F1E00": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10069, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_406F1F00": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10068, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_406F1F00": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10068, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_408F1E00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10261, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ] + }, + "6200_002F4B00": { + "Prio": 1, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_002F4B00": { + "Prio": 1, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_004F4B00": { + "Prio": 2, + "TagId": 528, + "TagIdEvtMsg": 10070, + "Unit": 17, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2300": { + "Prio": 2, + "TagId": 4887, + "TagIdEvtMsg": 12695, + "Unit": 17, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_404F3700": { + "Prio": 2, + "TagId": 4942, + "TagIdEvtMsg": 12735, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2C00": { + "Prio": 2, + "TagId": 4851, + "TagIdEvtMsg": 12662, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2D00": { + "Prio": 2, + "TagId": 4852, + "TagIdEvtMsg": 12663, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F2B00": { + "Prio": 2, + "TagId": 4850, + "TagIdEvtMsg": 12661, + "Unit": 9, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F3200": { + "Prio": 2, + "TagId": 4857, + "TagIdEvtMsg": 12668, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_004F9200": { + "Prio": 2, + "TagId": 1906, + "TagIdEvtMsg": 10966, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_004F9200": { + "Prio": 2, + "TagId": 1906, + "TagIdEvtMsg": 10966, + "Unit": 1907, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 82 + ], + "Min": true, + "Max": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_088F2100": { + "Prio": 4, + "TagId": 49, + "TagIdEvtMsg": 11779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 844, + 289, + 400 + ] + }, + "6200_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_402F2000": { + "Prio": 1, + "TagId": 400, + "TagIdEvtMsg": 10101, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_406F2100": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10102, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6600_406F2100": { + "Prio": 3, + "TagId": 401, + "TagIdEvtMsg": 10102, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_408F1F00": { + "Prio": 4, + "TagId": 532, + "TagIdEvtMsg": 10276, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 289 + ] + }, + "6100_004F2200": { + "Prio": 2, + "TagId": 400, + "TagIdEvtMsg": 12527, + "Unit": 2, + "DataFrmt": 12, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 844, + 4735 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "71B0_00502000": { + "Prio": 2, + "TagId": 8575, + "TagIdEvtMsg": 12627, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "71A0_00501F00": { + "Prio": 2, + "TagId": 8574, + "TagIdEvtMsg": 12626, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "71F0_00501F00": { + "Prio": 2, + "TagId": 8574, + "TagIdEvtMsg": 12626, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "7190_00501E00": { + "Prio": 2, + "TagId": 8573, + "TagIdEvtMsg": 12625, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 845, + 4808 + ] + }, + "6100_00512200": { + "Prio": 2, + "TagId": 46, + "TagIdEvtMsg": 12553, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512000": { + "Prio": 2, + "TagId": 1740, + "TagIdEvtMsg": 12551, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512100": { + "Prio": 2, + "TagId": 4697, + "TagIdEvtMsg": 12552, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230, + 4764 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true, + "Deprecated": true + }, + "6100_00512500": { + "Prio": 2, + "TagId": 4764, + "TagIdEvtMsg": 12795, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00512600": { + "Prio": 2, + "TagId": 4810, + "TagIdEvtMsg": 12796, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 290, + 230 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_0091A500": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11922, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A600": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11923, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A700": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11924, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A800": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 11925, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_0091A400": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11921, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3913 + ] + }, + "6802_00918A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11167, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10918F00": { + "Prio": 4, + "TagId": 828, + "TagIdEvtMsg": 11801, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11769, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10919000": { + "Prio": 4, + "TagId": 829, + "TagIdEvtMsg": 11802, + "DataFrmt": 23, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11168, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00B18900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11170, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_10B18B00": { + "Prio": 5, + "TagId": 721, + "TagIdEvtMsg": 11480, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00B18A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11171, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11166, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00918C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11169, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_08918D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11172, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 915 + ] + }, + "6802_00915A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10418, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11787, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10419, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00B15900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10421, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00B15A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10422, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10417, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_00915C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10420, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_08915D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10868, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 907 + ] + }, + "6802_0091A000": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11917, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A100": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11918, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A200": { + "Prio": 4, + "TagId": 372, + "TagIdEvtMsg": 11919, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_0091A300": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 11920, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_00919F00": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11916, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 3912 + ] + }, + "6802_00912A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10382, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11781, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10383, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10385, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00B12A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10386, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10381, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00912C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10384, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_08912D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10862, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 901 + ] + }, + "6802_00913A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10394, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11783, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10395, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00B13900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10397, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00B13A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10398, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10393, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10396, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_08913D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 903 + ] + }, + "6802_00913200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10388, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11782, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10389, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00B13100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10391, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00B13200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10392, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10387, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00913400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10390, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_08913500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10863, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 902 + ] + }, + "6802_00919200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11244, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11770, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11245, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00B19100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11247, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00B19200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11248, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11243, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00919400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11246, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_08919500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11249, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 918 + ] + }, + "6802_00912200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10376, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_10912700": { + "Prio": 4, + "TagId": 4106, + "TagIdEvtMsg": 12035, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00912600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11780, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00912300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10377, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10379, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00B12200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10380, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10375, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6800_00912400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10378, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_08912500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10861, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 900 + ] + }, + "6802_00917A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10364, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11767, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10365, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00B17900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10367, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00B17A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10368, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10363, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00917C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10366, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_08917D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10872, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 911 + ] + }, + "6802_00918200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11117, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11768, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11118, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00B18100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11120, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00B18200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11121, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11116, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00918400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11119, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_08918500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11122, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 914 + ] + }, + "6802_00916200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10424, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11764, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10425, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00B16100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10427, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00B16200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10428, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10423, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00916400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10426, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_08916500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10869, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 908 + ] + }, + "6802_00917200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10512, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11766, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10513, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00B17100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10515, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00B17200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10516, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10511, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00917400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10514, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_08917500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10871, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 910 + ] + }, + "6802_00916A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10482, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11765, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10484, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00B16900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10485, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00B16A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10486, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10481, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00916C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10483, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_08916D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10870, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 909 + ] + }, + "6802_00914A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10406, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11785, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10407, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00B14900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10409, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00B14A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10410, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10405, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10408, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_08914D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10866, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 905 + ] + }, + "6802_00914200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10400, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11784, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10401, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00B14100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10403, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00B14200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10404, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10399, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00914400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10402, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_08914500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10865, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 904 + ] + }, + "6802_00919A00": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 11594, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919E00": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11771, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919B00": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 11595, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00B19900": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 11597, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00B19A00": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 11598, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919900": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 11593, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00919C00": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 11596, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_08919D00": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 11599, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 921 + ] + }, + "6802_00915200": { + "Prio": 4, + "TagId": 253, + "TagIdEvtMsg": 10412, + "DataFrmt": 10, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915600": { + "Prio": 4, + "TagId": 713, + "TagIdEvtMsg": 11786, + "DataFrmt": 31, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915300": { + "Prio": 4, + "TagId": 348, + "TagIdEvtMsg": 10413, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00B15100": { + "Prio": 5, + "TagId": 372, + "TagIdEvtMsg": 10415, + "DataFrmt": 15, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00B15200": { + "Prio": 5, + "TagId": 880, + "TagIdEvtMsg": 10416, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915100": { + "Prio": 4, + "TagId": 393, + "TagIdEvtMsg": 10411, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_00915400": { + "Prio": 4, + "TagId": 379, + "TagIdEvtMsg": 10414, + "DataFrmt": 9, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6802_08915500": { + "Prio": 4, + "TagId": 1691, + "TagIdEvtMsg": 10867, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 299, + 906 + ] + }, + "6180_08511F00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12034, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 309, + 3913 + ] + }, + "6180_08511E00": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 12033, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 309, + 3912 + ] + }, + "6100_00512400": { + "Prio": 2, + "TagId": 448, + "TagIdEvtMsg": 12556, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 846, + 1740, + 1079, + 3409 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08512300": { + "Prio": 2, + "TagId": 1467, + "TagIdEvtMsg": 12557, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 846, + 1740, + 1079 + ] + }, + "6A02_40951700": { + "Prio": 4, + "TagId": 4321, + "TagIdEvtMsg": 12426, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40950D00": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12480, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40951800": { + "Prio": 4, + "TagId": 4324, + "TagIdEvtMsg": 12427, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40950E00": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12481, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_00954600": { + "Prio": 4, + "TagId": 4774, + "TagIdEvtMsg": 12562, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A12_00954600": { + "Prio": 4, + "TagId": 4774, + "TagIdEvtMsg": 12562, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46, + 1079 + ] + }, + "6A02_40953F00": { + "Prio": 4, + "TagId": 2172, + "TagIdEvtMsg": 12499, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46 + ] + }, + "6A02_40954000": { + "Prio": 4, + "TagId": 2173, + "TagIdEvtMsg": 12500, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 46 + ] + }, + "6802_08921900": { + "Prio": 4, + "TagId": 3641, + "TagIdEvtMsg": 11857, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 229 + ] + }, + "6800_4092F800": { + "Prio": 4, + "TagId": 3406, + "TagIdEvtMsg": 11645, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092FA00": { + "Prio": 4, + "TagId": 3408, + "TagIdEvtMsg": 11647, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092AB00": { + "Prio": 4, + "TagId": 3424, + "TagIdEvtMsg": 11658, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_4092AC00": { + "Prio": 4, + "TagId": 3425, + "TagIdEvtMsg": 11659, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0092F700": { + "Prio": 4, + "TagId": 3405, + "TagIdEvtMsg": 11644, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0092F900": { + "Prio": 4, + "TagId": 3407, + "TagIdEvtMsg": 11646, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6800_0892F600": { + "Prio": 4, + "TagId": 3404, + "TagIdEvtMsg": 11643, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401, + 3402 + ] + }, + "6A02_4092FD00": { + "Prio": 4, + "TagId": 3406, + "TagIdEvtMsg": 11650, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092FF00": { + "Prio": 4, + "TagId": 3408, + "TagIdEvtMsg": 11652, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092A600": { + "Prio": 4, + "TagId": 3424, + "TagIdEvtMsg": 11660, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_4092A700": { + "Prio": 4, + "TagId": 3425, + "TagIdEvtMsg": 11661, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0092FC00": { + "Prio": 4, + "TagId": 3405, + "TagIdEvtMsg": 11649, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0092FE00": { + "Prio": 4, + "TagId": 3407, + "TagIdEvtMsg": 11651, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6A02_0892FB00": { + "Prio": 4, + "TagId": 3404, + "TagIdEvtMsg": 11648, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3401, + 3403 + ] + }, + "6800_0892F500": { + "Prio": 4, + "TagId": 3400, + "TagIdEvtMsg": 11642, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 3401 + ] + }, + "6802_0892EC00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11303, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_4092EE00": { + "Prio": 4, + "TagId": 2504, + "TagIdEvtMsg": 11305, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0892EF00": { + "Prio": 4, + "TagId": 2505, + "TagIdEvtMsg": 11306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_08956600": { + "Prio": 4, + "TagId": 4380, + "TagIdEvtMsg": 12222, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_08956400": { + "Prio": 4, + "TagId": 4378, + "TagIdEvtMsg": 12220, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ], + "Deprecated": true + }, + "6802_00956500": { + "Prio": 4, + "TagId": 4379, + "TagIdEvtMsg": 12221, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_00956300": { + "Prio": 4, + "TagId": 4377, + "TagIdEvtMsg": 12219, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ], + "Deprecated": true + }, + "6802_0092ED00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11304, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1075 + ] + }, + "6802_0895BB00": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12689, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4880 + ] + }, + "6802_0895BA00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12688, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4880 + ] + }, + "6802_0892E900": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11300, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_4092EB00": { + "Prio": 4, + "TagId": 2503, + "TagIdEvtMsg": 11302, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0092EA00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11301, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_0895B800": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12686, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895B700": { + "Prio": 4, + "TagId": 4877, + "TagIdEvtMsg": 12685, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895B900": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12687, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4879 + ] + }, + "6802_0895A800": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 12297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_00953800": { + "Prio": 4, + "TagId": 4481, + "TagIdEvtMsg": 12165, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_0095FF00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 12389, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4480 + ] + }, + "6802_0892E600": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 11297, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_4095AC00": { + "Prio": 4, + "TagId": 4486, + "TagIdEvtMsg": 12167, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00921800": { + "Prio": 4, + "TagId": 3677, + "TagIdEvtMsg": 11861, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_4095AB00": { + "Prio": 4, + "TagId": 4485, + "TagIdEvtMsg": 12166, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E800": { + "Prio": 4, + "TagId": 2513, + "TagIdEvtMsg": 11299, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0092E700": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11298, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_0895AA00": { + "Prio": 4, + "TagId": 2501, + "TagIdEvtMsg": 12168, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_4095AE00": { + "Prio": 4, + "TagId": 4486, + "TagIdEvtMsg": 12304, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_4095AD00": { + "Prio": 4, + "TagId": 4485, + "TagIdEvtMsg": 12303, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_0095B000": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 12305, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_08955C00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12681, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4881 + ] + }, + "6802_08955B00": { + "Prio": 4, + "TagId": 4874, + "TagIdEvtMsg": 12680, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4881 + ] + }, + "6802_08955D00": { + "Prio": 4, + "TagId": 4876, + "TagIdEvtMsg": 12682, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_08955E00": { + "Prio": 4, + "TagId": 4877, + "TagIdEvtMsg": 12683, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_0895B600": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12684, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4878 + ] + }, + "6802_00B22400": { + "Prio": 5, + "TagId": 5123, + "TagIdEvtMsg": 12832, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_00B22500": { + "Prio": 5, + "TagId": 5124, + "TagIdEvtMsg": 12833, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_0892E500": { + "Prio": 4, + "TagId": 3545, + "TagIdEvtMsg": 11732, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6802_0892F000": { + "Prio": 4, + "TagId": 3546, + "TagIdEvtMsg": 11733, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500 + ] + }, + "6A12_0092F300": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 11464, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1194 + ] + }, + "6A12_0892F400": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 11465, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1194 + ] + }, + "6A12_4092F100": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11462, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1024, + 1192 + ] + }, + "6A12_4092F200": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11463, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3056, + 1048, + 1193 + ] + }, + "6802_00959D00": { + "Prio": 4, + "TagId": 4419, + "TagIdEvtMsg": 12275, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_00959F00": { + "Prio": 4, + "TagId": 4428, + "TagIdEvtMsg": 12277, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0095A400": { + "Prio": 4, + "TagId": 4449, + "TagIdEvtMsg": 12289, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0095A300": { + "Prio": 4, + "TagId": 4448, + "TagIdEvtMsg": 12288, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_00959E00": { + "Prio": 4, + "TagId": 4427, + "TagIdEvtMsg": 12276, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262, + 4412 + ] + }, + "6802_0895BC00": { + "Prio": 4, + "TagId": 4969, + "TagIdEvtMsg": 12740, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958E00": { + "Prio": 4, + "TagId": 4419, + "TagIdEvtMsg": 12265, + "Unit": 4435, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_08927A00": { + "Prio": 4, + "TagId": 1229, + "TagIdEvtMsg": 10665, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959B00": { + "Prio": 4, + "TagId": 4424, + "TagIdEvtMsg": 12270, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00927B00": { + "Prio": 4, + "TagId": 1218, + "TagIdEvtMsg": 10666, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928000": { + "Prio": 4, + "TagId": 1538, + "TagIdEvtMsg": 10784, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928100": { + "Prio": 4, + "TagId": 2267, + "TagIdEvtMsg": 11145, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00928200": { + "Prio": 4, + "TagId": 2268, + "TagIdEvtMsg": 11146, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095A200": { + "Prio": 4, + "TagId": 4447, + "TagIdEvtMsg": 12287, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959C00": { + "Prio": 4, + "TagId": 4425, + "TagIdEvtMsg": 12271, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959000": { + "Prio": 4, + "TagId": 4428, + "TagIdEvtMsg": 12274, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095FB00": { + "Prio": 4, + "TagId": 4518, + "TagIdEvtMsg": 12385, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095FA00": { + "Prio": 4, + "TagId": 4517, + "TagIdEvtMsg": 12384, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958F00": { + "Prio": 4, + "TagId": 4427, + "TagIdEvtMsg": 12273, + "Unit": 4435, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0895A100": { + "Prio": 4, + "TagId": 4426, + "TagIdEvtMsg": 12272, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959900": { + "Prio": 4, + "TagId": 4421, + "TagIdEvtMsg": 12267, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00959A00": { + "Prio": 4, + "TagId": 4422, + "TagIdEvtMsg": 12268, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00927E00": { + "Prio": 4, + "TagId": 1254, + "TagIdEvtMsg": 10675, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_40927D00": { + "Prio": 4, + "TagId": 1253, + "TagIdEvtMsg": 10674, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_0095A000": { + "Prio": 4, + "TagId": 4423, + "TagIdEvtMsg": 12269, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_08959800": { + "Prio": 4, + "TagId": 4420, + "TagIdEvtMsg": 12266, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230, + 1262 + ] + }, + "6802_00958900": { + "Prio": 4, + "TagId": 4414, + "TagIdEvtMsg": 12260, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958800": { + "Prio": 4, + "TagId": 4413, + "TagIdEvtMsg": 12259, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08927F00": { + "Prio": 4, + "TagId": 1263, + "TagIdEvtMsg": 10677, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927C00": { + "Prio": 4, + "TagId": 1217, + "TagIdEvtMsg": 10668, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095A900": { + "Prio": 4, + "TagId": 4483, + "TagIdEvtMsg": 12298, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927900": { + "Prio": 4, + "TagId": 1228, + "TagIdEvtMsg": 10664, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00927800": { + "Prio": 4, + "TagId": 1227, + "TagIdEvtMsg": 10663, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00923000": { + "Prio": 4, + "TagId": 3574, + "TagIdEvtMsg": 10659, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00922F00": { + "Prio": 4, + "TagId": 3573, + "TagIdEvtMsg": 10658, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08923B00": { + "Prio": 4, + "TagId": 4636, + "TagIdEvtMsg": 12440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_08958A00": { + "Prio": 4, + "TagId": 4415, + "TagIdEvtMsg": 12261, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958C00": { + "Prio": 4, + "TagId": 4417, + "TagIdEvtMsg": 12263, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095BE00": { + "Prio": 4, + "TagId": 4971, + "TagIdEvtMsg": 12742, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00958D00": { + "Prio": 4, + "TagId": 4418, + "TagIdEvtMsg": 12264, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_0095BD00": { + "Prio": 4, + "TagId": 4970, + "TagIdEvtMsg": 12741, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1230 + ] + }, + "6802_00925200": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11283, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 2477 + ] + }, + "6A02_0892AF00": { + "Prio": 4, + "TagId": 1672, + "TagIdEvtMsg": 10851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 304 + ] + }, + "6A12_0892AF00": { + "Prio": 4, + "TagId": 1672, + "TagIdEvtMsg": 10851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 304 + ] + }, + "6802_00928700": { + "Prio": 4, + "TagId": 1195, + "TagIdEvtMsg": 10589, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1080 + ] + }, + "6802_08923F00": { + "Prio": 4, + "TagId": 3626, + "TagIdEvtMsg": 11843, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 3627 + ] + }, + "6802_00928C00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10797, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928F00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10800, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928D00": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 10798, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00928E00": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 10799, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928A00": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10981, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929000": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10801, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929200": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10803, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929400": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10805, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929600": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10807, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929800": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 10809, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929A00": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 10811, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929C00": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 10971, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929E00": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 10973, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_08928B00": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10982, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929100": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10802, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929300": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10804, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929500": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10806, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929700": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 10808, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929900": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 10810, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929B00": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 10812, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929D00": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 10972, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_40929F00": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 10974, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1603 + ] + }, + "6802_00927700": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 11772, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092DE00": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 11178, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E100": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 11182, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092DF00": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 11179, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E000": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 11180, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0092E400": { + "Prio": 4, + "TagId": 2320, + "TagIdEvtMsg": 11181, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0892E200": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11183, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_0892E300": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11184, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2139 + ] + }, + "6802_00925300": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 11699, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B400": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 10983, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B700": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 10986, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B500": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 10984, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0092B600": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 10985, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B800": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 10987, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BA00": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 10989, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BC00": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 10990, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BE00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 10991, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C000": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 10992, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C200": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 10993, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C400": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 10994, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C600": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 10995, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C800": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 10996, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_0892B900": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 10988, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BB00": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 10997, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BD00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 10998, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092BF00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 10999, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C100": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11000, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C300": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 11001, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C500": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 11002, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C700": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 11003, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_4092C900": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 11004, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 1991 + ] + }, + "6802_00920100": { + "Prio": 4, + "TagId": 1604, + "TagIdEvtMsg": 11701, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920400": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 11704, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920200": { + "Prio": 4, + "TagId": 1605, + "TagIdEvtMsg": 11702, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_00920300": { + "Prio": 4, + "TagId": 1606, + "TagIdEvtMsg": 11703, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920500": { + "Prio": 4, + "TagId": 1973, + "TagIdEvtMsg": 11705, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920700": { + "Prio": 4, + "TagId": 1608, + "TagIdEvtMsg": 11707, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920900": { + "Prio": 4, + "TagId": 1610, + "TagIdEvtMsg": 11708, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920B00": { + "Prio": 4, + "TagId": 1612, + "TagIdEvtMsg": 11709, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920D00": { + "Prio": 4, + "TagId": 1614, + "TagIdEvtMsg": 11710, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920F00": { + "Prio": 4, + "TagId": 1616, + "TagIdEvtMsg": 11711, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921100": { + "Prio": 4, + "TagId": 1618, + "TagIdEvtMsg": 11712, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921300": { + "Prio": 4, + "TagId": 1980, + "TagIdEvtMsg": 11713, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921500": { + "Prio": 4, + "TagId": 1982, + "TagIdEvtMsg": 11714, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_08920600": { + "Prio": 4, + "TagId": 1974, + "TagIdEvtMsg": 11706, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920800": { + "Prio": 4, + "TagId": 1609, + "TagIdEvtMsg": 11715, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920A00": { + "Prio": 4, + "TagId": 1611, + "TagIdEvtMsg": 11716, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920C00": { + "Prio": 4, + "TagId": 1613, + "TagIdEvtMsg": 11717, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40920E00": { + "Prio": 4, + "TagId": 1615, + "TagIdEvtMsg": 11718, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921000": { + "Prio": 4, + "TagId": 1617, + "TagIdEvtMsg": 11719, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921200": { + "Prio": 4, + "TagId": 1619, + "TagIdEvtMsg": 11720, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921400": { + "Prio": 4, + "TagId": 1981, + "TagIdEvtMsg": 11721, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_40921600": { + "Prio": 4, + "TagId": 1983, + "TagIdEvtMsg": 11722, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3513 + ] + }, + "6802_0892CC00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11148, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_0092CB00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11147, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_4092CE00": { + "Prio": 4, + "TagId": 2276, + "TagIdEvtMsg": 11150, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_4092CD00": { + "Prio": 4, + "TagId": 2275, + "TagIdEvtMsg": 11149, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_0892CF00": { + "Prio": 4, + "TagId": 2277, + "TagIdEvtMsg": 11151, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2273 + ] + }, + "6802_08924D00": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 11529, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00924C00": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11528, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40924F00": { + "Prio": 4, + "TagId": 2276, + "TagIdEvtMsg": 11531, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_40924E00": { + "Prio": 4, + "TagId": 2275, + "TagIdEvtMsg": 11530, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_08925000": { + "Prio": 4, + "TagId": 2277, + "TagIdEvtMsg": 11532, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3159 + ] + }, + "6802_00925400": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 11723, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 3516 + ] + }, + "6802_4092A000": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11152, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2278 + ] + }, + "6802_4092A100": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11153, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2278 + ] + }, + "6802_4092A200": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11154, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2279 + ] + }, + "6802_4092A300": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11155, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2279 + ] + }, + "6802_4092A400": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 11156, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2280 + ] + }, + "6802_4092A500": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 11157, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1602, + 2280 + ] + }, + "6802_08957B00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12254, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 4407 + ] + }, + "6802_00926C00": { + "Prio": 4, + "TagId": 2517, + "TagIdEvtMsg": 11314, + "Unit": 11, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_00926B00": { + "Prio": 4, + "TagId": 2516, + "TagIdEvtMsg": 11313, + "Unit": 11, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_08926900": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11311, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_00926A00": { + "Prio": 4, + "TagId": 2515, + "TagIdEvtMsg": 11312, + "Unit": 11, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 2514 + ] + }, + "6802_08956F00": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12231, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00958700": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12258, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00957000": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12232, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_08956D00": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12229, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00956E00": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12230, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_08956B00": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12227, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_00956C00": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12228, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4385, + 4522 + ] + }, + "6802_40923100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10455, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ], + "Deprecated": true + }, + "6802_08923200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10456, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ], + "Deprecated": true + }, + "6802_08956A00": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12226, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_08956800": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12224, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_00956900": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12225, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6802_00956700": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12223, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1038 + ] + }, + "6A02_08951000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12408, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4565 + ] + }, + "6A02_00950F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12407, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4565 + ] + }, + "6A02_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00923500": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 10587, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_40923700": { + "Prio": 4, + "TagId": 3481, + "TagIdEvtMsg": 11673, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08923600": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 10588, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08956200": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12218, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_08956200": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12218, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_08956000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12216, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A12_08956000": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12216, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A02_00956100": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12217, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A12_00956100": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12217, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ] + }, + "6A02_00955F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12215, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6A12_00955F00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12215, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1194 + ], + "Deprecated": true + }, + "6802_0095EE00": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12367, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095ED00": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12366, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095F100": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 12370, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0895F000": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 12369, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095EF00": { + "Prio": 4, + "TagId": 4514, + "TagIdEvtMsg": 12368, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 1603 + ] + }, + "6802_0095F900": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12378, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F600": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12375, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F800": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12377, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F700": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12376, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F400": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12373, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F500": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12374, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0895F200": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12371, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6802_0095F300": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12372, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4513, + 4522 + ] + }, + "6182_08524C00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 12379, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 4513 + ] + }, + "6802_0095D100": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12338, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0095D000": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12337, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0095D300": { + "Prio": 4, + "TagId": 1039, + "TagIdEvtMsg": 12340, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_0895D200": { + "Prio": 4, + "TagId": 1040, + "TagIdEvtMsg": 12339, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_4095D400": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 12341, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 1603 + ] + }, + "6802_00950400": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12394, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D900": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12350, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095DB00": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12352, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095DA00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12351, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D700": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12348, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095D800": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12349, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0895D500": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12346, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_0095D600": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12347, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4522 + ] + }, + "6802_00951C00": { + "Prio": 4, + "TagId": 4628, + "TagIdEvtMsg": 12433, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_0095CE00": { + "Prio": 4, + "TagId": 4502, + "TagIdEvtMsg": 12335, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_00951D00": { + "Prio": 4, + "TagId": 4629, + "TagIdEvtMsg": 12434, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_0095CF00": { + "Prio": 4, + "TagId": 4503, + "TagIdEvtMsg": 12336, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043, + 4523 + ] + }, + "6802_00927400": { + "Prio": 4, + "TagId": 1990, + "TagIdEvtMsg": 10980, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927300": { + "Prio": 4, + "TagId": 1989, + "TagIdEvtMsg": 10979, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40927600": { + "Prio": 4, + "TagId": 2483, + "TagIdEvtMsg": 11286, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_40927500": { + "Prio": 4, + "TagId": 2482, + "TagIdEvtMsg": 11285, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08927200": { + "Prio": 4, + "TagId": 1046, + "TagIdEvtMsg": 10460, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08926F00": { + "Prio": 4, + "TagId": 1044, + "TagIdEvtMsg": 10457, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927100": { + "Prio": 4, + "TagId": 1047, + "TagIdEvtMsg": 10461, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926E00": { + "Prio": 4, + "TagId": 1045, + "TagIdEvtMsg": 10458, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00927000": { + "Prio": 4, + "TagId": 1225, + "TagIdEvtMsg": 10656, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_00926D00": { + "Prio": 4, + "TagId": 1224, + "TagIdEvtMsg": 10655, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1043 + ] + }, + "6802_08957100": { + "Prio": 4, + "TagId": 2274, + "TagIdEvtMsg": 12233, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_00957200": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12234, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_40957300": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12235, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 1603 + ] + }, + "6802_08957900": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12241, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00958600": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12257, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00957A00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12242, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_08957700": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12239, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_00957800": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12240, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ] + }, + "6802_40922A00": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 10448, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6802_40922B00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10449, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1067 + ] + }, + "6802_40922D00": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 11143, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 2266 + ] + }, + "6802_40922E00": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 11144, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 2266 + ] + }, + "6802_40957500": { + "Prio": 4, + "TagId": 437, + "TagIdEvtMsg": 12237, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4474 + ] + }, + "6802_40957400": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 12294, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4474 + ] + }, + "6A02_40922100": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11840, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40922200": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11841, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40922300": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11842, + "Unit": 16, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 3633 + ] + }, + "6A02_40923C00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11729, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_40923D00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11730, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_40923E00": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11731, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192, + 2359 + ] + }, + "6A02_4092DB00": { + "Prio": 4, + "TagId": 2115, + "TagIdEvtMsg": 11038, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_4092DB00": { + "Prio": 4, + "TagId": 2115, + "TagIdEvtMsg": 11038, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923900": { + "Prio": 4, + "TagId": 1031, + "TagIdEvtMsg": 10584, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_40923A00": { + "Prio": 4, + "TagId": 2043, + "TagIdEvtMsg": 11028, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A02_4092DD00": { + "Prio": 4, + "TagId": 2359, + "TagIdEvtMsg": 11213, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6A12_4092DD00": { + "Prio": 4, + "TagId": 2359, + "TagIdEvtMsg": 11213, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1192 + ] + }, + "6802_0095A500": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12151, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_00953D00": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12177, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_08952A00": { + "Prio": 4, + "TagId": 4471, + "TagIdEvtMsg": 12290, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_00953000": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12157, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_40953100": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12158, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 1603 + ] + }, + "6802_0095FE00": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12390, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0895C200": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12323, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0095C400": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12325, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0095C300": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12324, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_0895C100": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12322, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_00950500": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12395, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ] + }, + "6802_08953600": { + "Prio": 4, + "TagId": 4322, + "TagIdEvtMsg": 12163, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_00953E00": { + "Prio": 4, + "TagId": 4335, + "TagIdEvtMsg": 12178, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962700": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12780, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962800": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12781, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962900": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12782, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_40962A00": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12783, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_00958B00": { + "Prio": 4, + "TagId": 5040, + "TagIdEvtMsg": 12809, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A02_0095BF00": { + "Prio": 4, + "TagId": 4303, + "TagIdEvtMsg": 12850, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A12_0095BF00": { + "Prio": 4, + "TagId": 4303, + "TagIdEvtMsg": 12850, + "Unit": 14, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A02_00953700": { + "Prio": 4, + "TagId": 4482, + "TagIdEvtMsg": 12162, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6A12_00953700": { + "Prio": 4, + "TagId": 4482, + "TagIdEvtMsg": 12162, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4303 + ] + }, + "6802_08926800": { + "Prio": 4, + "TagId": 1328, + "TagIdEvtMsg": 10687, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926600": { + "Prio": 4, + "TagId": 1222, + "TagIdEvtMsg": 10653, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926400": { + "Prio": 4, + "TagId": 1220, + "TagIdEvtMsg": 10651, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926700": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 10654, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ], + "Deprecated": true + }, + "6802_00925700": { + "Prio": 4, + "TagId": 2854, + "TagIdEvtMsg": 11442, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00925800": { + "Prio": 4, + "TagId": 2855, + "TagIdEvtMsg": 11443, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926300": { + "Prio": 4, + "TagId": 1219, + "TagIdEvtMsg": 10650, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_00926500": { + "Prio": 4, + "TagId": 1329, + "TagIdEvtMsg": 10652, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025 + ] + }, + "6802_0092A800": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 10975, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092AA00": { + "Prio": 4, + "TagId": 1987, + "TagIdEvtMsg": 10977, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0092A900": { + "Prio": 4, + "TagId": 1986, + "TagIdEvtMsg": 10976, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1985 + ] + }, + "6802_0095C600": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12327, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_0095C500": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12326, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_4095C700": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12328, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_4095C800": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12329, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 1603 + ] + }, + "6802_00950300": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12393, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0895CB00": { + "Prio": 4, + "TagId": 4384, + "TagIdEvtMsg": 12332, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CD00": { + "Prio": 4, + "TagId": 4410, + "TagIdEvtMsg": 12334, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CC00": { + "Prio": 4, + "TagId": 4409, + "TagIdEvtMsg": 12333, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0895C900": { + "Prio": 4, + "TagId": 4383, + "TagIdEvtMsg": 12330, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_0095CA00": { + "Prio": 4, + "TagId": 1223, + "TagIdEvtMsg": 12331, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4522 + ] + }, + "6802_00951A00": { + "Prio": 4, + "TagId": 4628, + "TagIdEvtMsg": 12431, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00950100": { + "Prio": 4, + "TagId": 4502, + "TagIdEvtMsg": 12391, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00951B00": { + "Prio": 4, + "TagId": 4629, + "TagIdEvtMsg": 12432, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_00950200": { + "Prio": 4, + "TagId": 4503, + "TagIdEvtMsg": 12392, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1033, + 4523 + ] + }, + "6802_08953500": { + "Prio": 4, + "TagId": 4305, + "TagIdEvtMsg": 12164, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_00957D00": { + "Prio": 4, + "TagId": 4395, + "TagIdEvtMsg": 12244, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_00957C00": { + "Prio": 4, + "TagId": 4394, + "TagIdEvtMsg": 12243, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954400": { + "Prio": 4, + "TagId": 4704, + "TagIdEvtMsg": 12504, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954500": { + "Prio": 4, + "TagId": 4705, + "TagIdEvtMsg": 12505, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954200": { + "Prio": 4, + "TagId": 4702, + "TagIdEvtMsg": 12502, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_40954300": { + "Prio": 4, + "TagId": 4703, + "TagIdEvtMsg": 12503, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08954100": { + "Prio": 4, + "TagId": 4701, + "TagIdEvtMsg": 12501, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08922800": { + "Prio": 4, + "TagId": 2041, + "TagIdEvtMsg": 11026, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08922900": { + "Prio": 4, + "TagId": 1022, + "TagIdEvtMsg": 10438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ], + "Deprecated": true + }, + "6802_08922C00": { + "Prio": 4, + "TagId": 2265, + "TagIdEvtMsg": 11142, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08957F00": { + "Prio": 4, + "TagId": 4397, + "TagIdEvtMsg": 12246, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958200": { + "Prio": 4, + "TagId": 4400, + "TagIdEvtMsg": 12249, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08957E00": { + "Prio": 4, + "TagId": 4396, + "TagIdEvtMsg": 12245, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958100": { + "Prio": 4, + "TagId": 4399, + "TagIdEvtMsg": 12248, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08923800": { + "Prio": 4, + "TagId": 3635, + "TagIdEvtMsg": 10447, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958000": { + "Prio": 4, + "TagId": 4398, + "TagIdEvtMsg": 12247, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08958300": { + "Prio": 4, + "TagId": 4401, + "TagIdEvtMsg": 12250, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08952C00": { + "Prio": 4, + "TagId": 4336, + "TagIdEvtMsg": 12153, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_0895DD00": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12441, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024 + ] + }, + "6802_08925D00": { + "Prio": 4, + "TagId": 1057, + "TagIdEvtMsg": 10469, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08952D00": { + "Prio": 4, + "TagId": 4445, + "TagIdEvtMsg": 12285, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_08952E00": { + "Prio": 4, + "TagId": 4446, + "TagIdEvtMsg": 12286, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00959400": { + "Prio": 4, + "TagId": 4438, + "TagIdEvtMsg": 12281, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959500": { + "Prio": 4, + "TagId": 4439, + "TagIdEvtMsg": 12282, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_4095A600": { + "Prio": 4, + "TagId": 4472, + "TagIdEvtMsg": 12291, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925C00": { + "Prio": 4, + "TagId": 1056, + "TagIdEvtMsg": 10468, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40926100": { + "Prio": 4, + "TagId": 2009, + "TagIdEvtMsg": 11014, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40926000": { + "Prio": 4, + "TagId": 2008, + "TagIdEvtMsg": 11013, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925E00": { + "Prio": 4, + "TagId": 1620, + "TagIdEvtMsg": 10813, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925F00": { + "Prio": 4, + "TagId": 1988, + "TagIdEvtMsg": 10978, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925A00": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 10466, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959600": { + "Prio": 4, + "TagId": 4440, + "TagIdEvtMsg": 12283, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40959700": { + "Prio": 4, + "TagId": 4441, + "TagIdEvtMsg": 12284, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_4095A700": { + "Prio": 4, + "TagId": 4473, + "TagIdEvtMsg": 12293, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00926200": { + "Prio": 4, + "TagId": 3183, + "TagIdEvtMsg": 11534, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_00925B00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10467, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 1053 + ] + }, + "6802_40925500": { + "Prio": 4, + "TagId": 1054, + "TagIdEvtMsg": 11724, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 3543 + ] + }, + "6802_00925600": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 11725, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052, + 3543 + ] + }, + "6802_08959100": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12278, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08955200": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12645, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00955300": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12646, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08959200": { + "Prio": 4, + "TagId": 4563, + "TagIdEvtMsg": 12279, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08950800": { + "Prio": 4, + "TagId": 4564, + "TagIdEvtMsg": 12406, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_08925900": { + "Prio": 4, + "TagId": 1023, + "TagIdEvtMsg": 10440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00959300": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12280, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1052 + ] + }, + "6802_00925100": { + "Prio": 4, + "TagId": 1601, + "TagIdEvtMsg": 10796, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1600 + ] + }, + "6A02_0092DC00": { + "Prio": 4, + "TagId": 2116, + "TagIdEvtMsg": 11039, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 2118 + ] + }, + "6A12_0092DC00": { + "Prio": 4, + "TagId": 2116, + "TagIdEvtMsg": 11039, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 2118 + ] + }, + "6802_00924200": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10463, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08955800": { + "Prio": 4, + "TagId": 4873, + "TagIdEvtMsg": 12677, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_00924300": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10464, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08955700": { + "Prio": 4, + "TagId": 4872, + "TagIdEvtMsg": 12676, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, + "6802_08953A00": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12299, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953C00": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12301, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953B00": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12300, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_0895AF00": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12169, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6802_00953900": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12236, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ] + }, + "6A02_40924600": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11726, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40924700": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11727, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40924800": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11728, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 448 + ] + }, + "6A02_40921E00": { + "Prio": 4, + "TagId": 325, + "TagIdEvtMsg": 11837, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_40921F00": { + "Prio": 4, + "TagId": 327, + "TagIdEvtMsg": 11838, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_40922000": { + "Prio": 4, + "TagId": 329, + "TagIdEvtMsg": 11839, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 3625 + ] + }, + "6A02_4092DA00": { + "Prio": 4, + "TagId": 2114, + "TagIdEvtMsg": 11037, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_4092DA00": { + "Prio": 4, + "TagId": 2114, + "TagIdEvtMsg": 11037, + "Unit": 3, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_08955900": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12678, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_40921D00": { + "Prio": 4, + "TagId": 3588, + "TagIdEvtMsg": 11807, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_00921C00": { + "Prio": 4, + "TagId": 2502, + "TagIdEvtMsg": 11808, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924900": { + "Prio": 4, + "TagId": 448, + "TagIdEvtMsg": 10585, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_08924500": { + "Prio": 4, + "TagId": 2358, + "TagIdEvtMsg": 11212, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40951F00": { + "Prio": 4, + "TagId": 3676, + "TagIdEvtMsg": 11860, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40951E00": { + "Prio": 4, + "TagId": 3675, + "TagIdEvtMsg": 11859, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924A00": { + "Prio": 4, + "TagId": 1050, + "TagIdEvtMsg": 10586, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40924B00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 11027, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40924400": { + "Prio": 4, + "TagId": 2357, + "TagIdEvtMsg": 11211, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40952B00": { + "Prio": 4, + "TagId": 4321, + "TagIdEvtMsg": 12152, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40953200": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12159, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40953200": { + "Prio": 4, + "TagId": 4323, + "TagIdEvtMsg": 12159, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_08951100": { + "Prio": 4, + "TagId": 4567, + "TagIdEvtMsg": 12411, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40952F00": { + "Prio": 4, + "TagId": 4324, + "TagIdEvtMsg": 12156, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A02_40953300": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12160, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_40953300": { + "Prio": 4, + "TagId": 4302, + "TagIdEvtMsg": 12160, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6A12_08951200": { + "Prio": 4, + "TagId": 4568, + "TagIdEvtMsg": 12412, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193 + ] + }, + "6802_0895B300": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12308, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B500": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12310, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B400": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12309, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0895B100": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12306, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_0095B200": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12307, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301, + 4522 + ] + }, + "6802_08955A00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12679, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 4301 + ] + }, + "6802_08953400": { + "Prio": 4, + "TagId": 4484, + "TagIdEvtMsg": 12161, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4301 + ] + }, + "6802_00961400": { + "Prio": 4, + "TagId": 5000, + "TagIdEvtMsg": 12761, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961700": { + "Prio": 4, + "TagId": 5001, + "TagIdEvtMsg": 12764, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961200": { + "Prio": 4, + "TagId": 4438, + "TagIdEvtMsg": 12759, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_40961300": { + "Prio": 4, + "TagId": 4439, + "TagIdEvtMsg": 12760, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_00961500": { + "Prio": 4, + "TagId": 4440, + "TagIdEvtMsg": 12762, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_40961600": { + "Prio": 4, + "TagId": 4441, + "TagIdEvtMsg": 12763, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 1603 + ] + }, + "6802_08961800": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12765, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961900": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12766, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08961B00": { + "Prio": 4, + "TagId": 5003, + "TagIdEvtMsg": 12768, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08961D00": { + "Prio": 4, + "TagId": 5005, + "TagIdEvtMsg": 12770, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961F00": { + "Prio": 4, + "TagId": 5007, + "TagIdEvtMsg": 12772, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961E00": { + "Prio": 4, + "TagId": 5006, + "TagIdEvtMsg": 12771, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00961C00": { + "Prio": 4, + "TagId": 5004, + "TagIdEvtMsg": 12769, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962000": { + "Prio": 4, + "TagId": 5008, + "TagIdEvtMsg": 12773, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962100": { + "Prio": 4, + "TagId": 5009, + "TagIdEvtMsg": 12774, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962200": { + "Prio": 4, + "TagId": 5010, + "TagIdEvtMsg": 12775, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962400": { + "Prio": 4, + "TagId": 5012, + "TagIdEvtMsg": 12777, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_00962300": { + "Prio": 4, + "TagId": 5011, + "TagIdEvtMsg": 12776, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998, + 4522 + ] + }, + "6802_08962600": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12779, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_08962500": { + "Prio": 4, + "TagId": 5013, + "TagIdEvtMsg": 12778, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_08961100": { + "Prio": 4, + "TagId": 4999, + "TagIdEvtMsg": 12758, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_00961A00": { + "Prio": 4, + "TagId": 5002, + "TagIdEvtMsg": 12767, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4998 + ] + }, + "6802_0095E600": { + "Prio": 4, + "TagId": 1607, + "TagIdEvtMsg": 12363, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E500": { + "Prio": 4, + "TagId": 4334, + "TagIdEvtMsg": 12362, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E700": { + "Prio": 4, + "TagId": 2281, + "TagIdEvtMsg": 12364, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_4095E800": { + "Prio": 4, + "TagId": 2282, + "TagIdEvtMsg": 12365, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512, + 1603 + ] + }, + "6802_0095E400": { + "Prio": 4, + "TagId": 3509, + "TagIdEvtMsg": 12361, + "Unit": 13, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895DE00": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12355, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895FC00": { + "Prio": 4, + "TagId": 4416, + "TagIdEvtMsg": 12386, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895E100": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12358, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E300": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12360, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E200": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12359, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895FD00": { + "Prio": 4, + "TagId": 4519, + "TagIdEvtMsg": 12387, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0895DF00": { + "Prio": 4, + "TagId": 4487, + "TagIdEvtMsg": 12356, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_0095E000": { + "Prio": 4, + "TagId": 4437, + "TagIdEvtMsg": 12357, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, + "6802_08924000": { + "Prio": 4, + "TagId": 1599, + "TagIdEvtMsg": 10795, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6802_08924100": { + "Prio": 4, + "TagId": 316, + "TagIdEvtMsg": 10439, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048 + ] + }, + "6A02_08950900": { + "Prio": 4, + "TagId": 4549, + "TagIdEvtMsg": 12401, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6100_40524B00": { + "Prio": 2, + "TagId": 4477, + "TagIdEvtMsg": 12296, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40524900": { + "Prio": 2, + "TagId": 4280, + "TagIdEvtMsg": 12137, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40524A00": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12135, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00551F00": { + "Prio": 2, + "TagId": 4752, + "TagIdEvtMsg": 12540, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40521F00": { + "Prio": 2, + "TagId": 3116, + "TagIdEvtMsg": 11490, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524500": { + "Prio": 2, + "TagId": 3562, + "TagIdEvtMsg": 11739, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524600": { + "Prio": 2, + "TagId": 3563, + "TagIdEvtMsg": 11740, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524700": { + "Prio": 2, + "TagId": 3564, + "TagIdEvtMsg": 11741, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524800": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11742, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00551E00": { + "Prio": 2, + "TagId": 4751, + "TagIdEvtMsg": 12539, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 267 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A12_0892B000": { + "Prio": 4, + "TagId": 1690, + "TagIdEvtMsg": 10858, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6A02_0892B100": { + "Prio": 4, + "TagId": 2017, + "TagIdEvtMsg": 11022, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922200": { + "Prio": 4, + "TagId": 1029, + "TagIdEvtMsg": 10661, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00960300": { + "Prio": 4, + "TagId": 4632, + "TagIdEvtMsg": 12437, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08960400": { + "Prio": 4, + "TagId": 4633, + "TagIdEvtMsg": 12438, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921E00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 10479, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922300": { + "Prio": 4, + "TagId": 1621, + "TagIdEvtMsg": 10814, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08950A00": { + "Prio": 4, + "TagId": 4582, + "TagIdEvtMsg": 12416, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922400": { + "Prio": 4, + "TagId": 1622, + "TagIdEvtMsg": 10815, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08951900": { + "Prio": 4, + "TagId": 4585, + "TagIdEvtMsg": 12410, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00921700": { + "Prio": 4, + "TagId": 3685, + "TagIdEvtMsg": 10646, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_00922000": { + "Prio": 4, + "TagId": 1065, + "TagIdEvtMsg": 10477, + "Unit": 4635, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6802_08922100": { + "Prio": 4, + "TagId": 1066, + "TagIdEvtMsg": 10478, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267 + ] + }, + "6182_08523500": { + "Prio": 2, + "TagId": 3410, + "TagIdEvtMsg": 11653, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6102_00523900": { + "Prio": 2, + "TagId": 3414, + "TagIdEvtMsg": 11657, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_00523800": { + "Prio": 2, + "TagId": 3413, + "TagIdEvtMsg": 11656, + "Unit": 18, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523700": { + "Prio": 2, + "TagId": 3412, + "TagIdEvtMsg": 11655, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6182_08523600": { + "Prio": 2, + "TagId": 3411, + "TagIdEvtMsg": 11654, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3409 + ] + }, + "6100_40522100": { + "Prio": 2, + "TagId": 3221, + "TagIdEvtMsg": 11572, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3219 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40522000": { + "Prio": 2, + "TagId": 3220, + "TagIdEvtMsg": 11571, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 3219 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6180_00522900": { + "Prio": 2, + "TagId": 2511, + "TagIdEvtMsg": 11309, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_08522A00": { + "Prio": 2, + "TagId": 2512, + "TagIdEvtMsg": 11310, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_40522800": { + "Prio": 2, + "TagId": 2510, + "TagIdEvtMsg": 11308, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522500": { + "Prio": 2, + "TagId": 3193, + "TagIdEvtMsg": 11544, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522700": { + "Prio": 2, + "TagId": 2509, + "TagIdEvtMsg": 11307, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6180_00522600": { + "Prio": 2, + "TagId": 2357, + "TagIdEvtMsg": 11542, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2508 + ] + }, + "6802_08951500": { + "Prio": 4, + "TagId": 2510, + "TagIdEvtMsg": 12415, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951300": { + "Prio": 4, + "TagId": 1132, + "TagIdEvtMsg": 12413, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951400": { + "Prio": 4, + "TagId": 4581, + "TagIdEvtMsg": 12414, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080, + 4580 + ] + }, + "6802_08951600": { + "Prio": 4, + "TagId": 4566, + "TagIdEvtMsg": 12409, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08950600": { + "Prio": 4, + "TagId": 9438, + "TagIdEvtMsg": 12482, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08960200": { + "Prio": 4, + "TagId": 4631, + "TagIdEvtMsg": 12436, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6802_08960100": { + "Prio": 4, + "TagId": 4630, + "TagIdEvtMsg": 12435, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309, + 1080 + ] + }, + "6180_08523000": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11633, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6182_08522200": { + "Prio": 2, + "TagId": 4393, + "TagIdEvtMsg": 12253, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6182_08522400": { + "Prio": 2, + "TagId": 4652, + "TagIdEvtMsg": 12448, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2510 + ] + }, + "6100_40525100": { + "Prio": 2, + "TagId": 4514, + "TagIdEvtMsg": 12730, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 1069 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08522F00": { + "Prio": 2, + "TagId": 50, + "TagIdEvtMsg": 11632, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309, + 2509 + ] + }, + "6100_00523F00": { + "Prio": 2, + "TagId": 4782, + "TagIdEvtMsg": 12576, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A02_0892D100": { + "Prio": 4, + "TagId": 2531, + "TagIdEvtMsg": 11331, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 309 + ] + }, + "6102_40522D00": { + "Prio": 2, + "TagId": 4650, + "TagIdEvtMsg": 12446, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522E00": { + "Prio": 2, + "TagId": 4651, + "TagIdEvtMsg": 12447, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40525000": { + "Prio": 2, + "TagId": 4906, + "TagIdEvtMsg": 12722, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00525200": { + "Prio": 2, + "TagId": 5052, + "TagIdEvtMsg": 12797, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6100_00523300": { + "Prio": 2, + "TagId": 4748, + "TagIdEvtMsg": 12536, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40524E00": { + "Prio": 2, + "TagId": 4901, + "TagIdEvtMsg": 12708, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522B00": { + "Prio": 2, + "TagId": 4648, + "TagIdEvtMsg": 12444, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523C00": { + "Prio": 2, + "TagId": 4573, + "TagIdEvtMsg": 12419, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6102_40524F00": { + "Prio": 2, + "TagId": 4902, + "TagIdEvtMsg": 12709, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40522C00": { + "Prio": 2, + "TagId": 4649, + "TagIdEvtMsg": 12445, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6182_08523D00": { + "Prio": 2, + "TagId": 4574, + "TagIdEvtMsg": 12420, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ] + }, + "6100_00523A00": { + "Prio": 2, + "TagId": 4750, + "TagIdEvtMsg": 12538, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_0092D000": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11736, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 340 + ] + }, + "6A12_4092AD00": { + "Prio": 4, + "TagId": 3123, + "TagIdEvtMsg": 11497, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 394 + ] + }, + "6802_00963100": { + "Prio": 4, + "TagId": 5092, + "TagIdEvtMsg": 12822, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963000": { + "Prio": 4, + "TagId": 5090, + "TagIdEvtMsg": 12821, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963300": { + "Prio": 4, + "TagId": 5093, + "TagIdEvtMsg": 12824, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963200": { + "Prio": 4, + "TagId": 5091, + "TagIdEvtMsg": 12823, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_08963500": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12826, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963600": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12827, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00963400": { + "Prio": 4, + "TagId": 5094, + "TagIdEvtMsg": 12825, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 1230 + ] + }, + "6802_00962E00": { + "Prio": 4, + "TagId": 5089, + "TagIdEvtMsg": 12819, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960800": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12713, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960700": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12712, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00962F00": { + "Prio": 4, + "TagId": 5094, + "TagIdEvtMsg": 12820, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_40960A00": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12715, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960900": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12714, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960F00": { + "Prio": 4, + "TagId": 4909, + "TagIdEvtMsg": 12720, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40961000": { + "Prio": 4, + "TagId": 4910, + "TagIdEvtMsg": 12721, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_08960E00": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12719, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960D00": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12718, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960B00": { + "Prio": 4, + "TagId": 1204, + "TagIdEvtMsg": 12716, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_00960C00": { + "Prio": 4, + "TagId": 4906, + "TagIdEvtMsg": 12717, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 442 + ] + }, + "6802_40960600": { + "Prio": 4, + "TagId": 1356, + "TagIdEvtMsg": 12711, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2509 + ] + }, + "6802_40960500": { + "Prio": 4, + "TagId": 1355, + "TagIdEvtMsg": 12710, + "Unit": 4314, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2509 + ] + }, + "6802_0892D500": { + "Prio": 4, + "TagId": 733, + "TagIdEvtMsg": 11048, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6100_00524200": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12479, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 3347 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524400": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11738, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 3347 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524D00": { + "Prio": 2, + "TagId": 4281, + "TagIdEvtMsg": 12507, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 2608 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00524300": { + "Prio": 2, + "TagId": 3561, + "TagIdEvtMsg": 11737, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 1639, + 2608 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6A12_40922700": { + "Prio": 4, + "TagId": 3501, + "TagIdEvtMsg": 11696, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_4092B300": { + "Prio": 4, + "TagId": 3125, + "TagIdEvtMsg": 11517, + "Unit": 3135, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928400": { + "Prio": 4, + "TagId": 3126, + "TagIdEvtMsg": 11519, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928600": { + "Prio": 4, + "TagId": 293, + "TagIdEvtMsg": 11521, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_4092B200": { + "Prio": 4, + "TagId": 3124, + "TagIdEvtMsg": 11516, + "Unit": 3134, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928500": { + "Prio": 4, + "TagId": 413, + "TagIdEvtMsg": 11520, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6A12_40928300": { + "Prio": 4, + "TagId": 416, + "TagIdEvtMsg": 11518, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1740 + ] + }, + "6180_08521E00": { + "Prio": 2, + "TagId": 2004, + "TagIdEvtMsg": 11012, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 847, + 2003 + ] + }, + "6800_0892AE00": { + "Prio": 4, + "TagId": 1347, + "TagIdEvtMsg": 11011, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2003 + ] + }, + "6800_00922500": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11634, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3360 + ] + }, + "6800_00922600": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11635, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3360 + ] + }, + "6800_40952200": { + "Prio": 4, + "TagId": 4211, + "TagIdEvtMsg": 12081, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_40952300": { + "Prio": 4, + "TagId": 4212, + "TagIdEvtMsg": 12082, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952600": { + "Prio": 4, + "TagId": 4206, + "TagIdEvtMsg": 12085, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6802_08952100": { + "Prio": 4, + "TagId": 764, + "TagIdEvtMsg": 12080, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 3823 + ] + }, + "6800_10952800": { + "Prio": 4, + "TagId": 298, + "TagIdEvtMsg": 12087, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_08952700": { + "Prio": 4, + "TagId": 310, + "TagIdEvtMsg": 12086, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952500": { + "Prio": 4, + "TagId": 2555, + "TagIdEvtMsg": 12084, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00954D00": { + "Prio": 4, + "TagId": 4790, + "TagIdEvtMsg": 12589, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00952400": { + "Prio": 4, + "TagId": 2554, + "TagIdEvtMsg": 12083, + "DataFrmt": 5, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6800_00954C00": { + "Prio": 4, + "TagId": 4791, + "TagIdEvtMsg": 12588, + "DataFrmt": 32, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113, + 3823 + ], + "Hidden": true + }, + "6802_40921A00": { + "Prio": 4, + "TagId": 3591, + "TagIdEvtMsg": 11813, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6802_40921B00": { + "Prio": 4, + "TagId": 3592, + "TagIdEvtMsg": 11814, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6802_40952900": { + "Prio": 4, + "TagId": 2423, + "TagIdEvtMsg": 12103, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113, + 1343 + ] + }, + "6800_0892D900": { + "Prio": 4, + "TagId": 2136, + "TagIdEvtMsg": 11045, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092CA00": { + "Prio": 4, + "TagId": 4796, + "TagIdEvtMsg": 12601, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08955100": { + "Prio": 4, + "TagId": 4376, + "TagIdEvtMsg": 12631, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08954F00": { + "Prio": 4, + "TagId": 4374, + "TagIdEvtMsg": 12629, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_40955000": { + "Prio": 4, + "TagId": 4375, + "TagIdEvtMsg": 12630, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_40954E00": { + "Prio": 4, + "TagId": 4373, + "TagIdEvtMsg": 12628, + "DataFrmt": 26, + "Scale": 0.0001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954900": { + "Prio": 4, + "TagId": 4768, + "TagIdEvtMsg": 12565, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_08950700": { + "Prio": 4, + "TagId": 4885, + "TagIdEvtMsg": 12692, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 3, + "TagHier": [ + 847, + 2113 + ] + }, + "6A12_40928900": { + "Prio": 4, + "TagId": 413, + "TagIdEvtMsg": 11523, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A12_40928800": { + "Prio": 4, + "TagId": 416, + "TagIdEvtMsg": 11522, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954700": { + "Prio": 4, + "TagId": 4766, + "TagIdEvtMsg": 12563, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954800": { + "Prio": 4, + "TagId": 4767, + "TagIdEvtMsg": 12564, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D700": { + "Prio": 4, + "TagId": 315, + "TagIdEvtMsg": 11046, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_08952000": { + "Prio": 4, + "TagId": 3680, + "TagIdEvtMsg": 11862, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_00923400": { + "Prio": 4, + "TagId": 821, + "TagIdEvtMsg": 10007, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_08923300": { + "Prio": 4, + "TagId": 822, + "TagIdEvtMsg": 10029, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_0895DC00": { + "Prio": 4, + "TagId": 5077, + "TagIdEvtMsg": 12800, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D400": { + "Prio": 4, + "TagId": 2321, + "TagIdEvtMsg": 11185, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0892D600": { + "Prio": 4, + "TagId": 2135, + "TagIdEvtMsg": 11044, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6800_0092D800": { + "Prio": 4, + "TagId": 2140, + "TagIdEvtMsg": 11047, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954A00": { + "Prio": 4, + "TagId": 4769, + "TagIdEvtMsg": 12566, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6A02_00954B00": { + "Prio": 4, + "TagId": 4770, + "TagIdEvtMsg": 12567, + "Unit": 1, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_0092D200": { + "Prio": 4, + "TagId": 2596, + "TagIdEvtMsg": 11408, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2532 + ] + }, + "6802_0092D300": { + "Prio": 4, + "TagId": 2597, + "TagIdEvtMsg": 11409, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2532 + ] + }, + "6800_40950B00": { + "Prio": 4, + "TagId": 4211, + "TagIdEvtMsg": 12484, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 4208 + ] + }, + "6800_40950C00": { + "Prio": 4, + "TagId": 4212, + "TagIdEvtMsg": 12485, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 847, + 4208 + ] + }, + "6100_40523B00": { + "Prio": 2, + "TagId": 4797, + "TagIdEvtMsg": 12602, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40523E00": { + "Prio": 2, + "TagId": 4798, + "TagIdEvtMsg": 12603, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 847, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533600": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12606, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533700": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12607, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533800": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12608, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4802 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533100": { + "Prio": 2, + "TagId": 4804, + "TagIdEvtMsg": 12621, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533000": { + "Prio": 2, + "TagId": 4803, + "TagIdEvtMsg": 12620, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12170, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533900": { + "Prio": 2, + "TagId": 1562, + "TagIdEvtMsg": 12609, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12171, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533A00": { + "Prio": 2, + "TagId": 2097, + "TagIdEvtMsg": 12610, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12172, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533B00": { + "Prio": 2, + "TagId": 2098, + "TagIdEvtMsg": 12611, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 4325 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532D00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12617, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532E00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12618, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532F00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12619, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3050 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532A00": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12614, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532B00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12615, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532C00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12616, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051, + 3049 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00533300": { + "Prio": 2, + "TagId": 4806, + "TagIdEvtMsg": 12623, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40533200": { + "Prio": 2, + "TagId": 4805, + "TagIdEvtMsg": 12622, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40531F00": { + "Prio": 2, + "TagId": 3050, + "TagIdEvtMsg": 11461, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08932900": { + "Prio": 4, + "TagId": 3048, + "TagIdEvtMsg": 11459, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 848, + 290, + 3051 + ] + }, + "6100_40531E00": { + "Prio": 2, + "TagId": 3049, + "TagIdEvtMsg": 11460, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6800_08932800": { + "Prio": 4, + "TagId": 3047, + "TagIdEvtMsg": 11458, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 848, + 290, + 3051 + ] + }, + "6100_00532000": { + "Prio": 2, + "TagId": 3498, + "TagIdEvtMsg": 11688, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_40532200": { + "Prio": 2, + "TagId": 3499, + "TagIdEvtMsg": 11690, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40532100": { + "Prio": 2, + "TagId": 1723, + "TagIdEvtMsg": 11689, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6802_00932000": { + "Prio": 4, + "TagId": 2205, + "TagIdEvtMsg": 11104, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2201 + ] + }, + "6802_00932100": { + "Prio": 4, + "TagId": 2210, + "TagIdEvtMsg": 11105, + "Unit": 1287, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2201 + ] + }, + "6802_00931F00": { + "Prio": 4, + "TagId": 2204, + "TagIdEvtMsg": 11103, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2201 + ] + }, + "6802_00932300": { + "Prio": 4, + "TagId": 2206, + "TagIdEvtMsg": 11107, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 + ] + }, + "6802_00932400": { + "Prio": 4, + "TagId": 2211, + "TagIdEvtMsg": 11108, + "Unit": 1287, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 + ] + }, + "6802_00932200": { + "Prio": 4, + "TagId": 2204, + "TagIdEvtMsg": 11106, + "Unit": 2209, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2202 + ] + }, + "6802_00932600": { + "Prio": 4, + "TagId": 2207, + "TagIdEvtMsg": 11110, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2203 + ] + }, + "6802_00932500": { + "Prio": 4, + "TagId": 2200, + "TagIdEvtMsg": 11109, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340, + 2203 + ] + }, + "6800_00931E00": { + "Prio": 4, + "TagId": 2200, + "TagIdEvtMsg": 11102, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340 + ] + }, + "6800_00932A00": { + "Prio": 4, + "TagId": 3346, + "TagIdEvtMsg": 11622, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 340 + ] + }, + "6A02_40933400": { + "Prio": 4, + "TagId": 4845, + "TagIdEvtMsg": 12657, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 1639 + ] + }, + "6802_00932700": { + "Prio": 4, + "TagId": 2208, + "TagIdEvtMsg": 11111, + "Unit": 14, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 848, + 2113 + ] + }, + "6100_00532900": { + "Prio": 2, + "TagId": 413, + "TagIdEvtMsg": 12583, + "Unit": 16, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532800": { + "Prio": 2, + "TagId": 416, + "TagIdEvtMsg": 12582, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532600": { + "Prio": 2, + "TagId": 417, + "TagIdEvtMsg": 12554, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00532700": { + "Prio": 2, + "TagId": 418, + "TagIdEvtMsg": 12555, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 3051 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6180_08542900": { + "Prio": 2, + "TagId": 1737, + "TagIdEvtMsg": 200099, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309, + 4655 + ] + }, + "6180_08542800": { + "Prio": 2, + "TagId": 240, + "TagIdEvtMsg": 200098, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309, + 4655 + ] + }, + "6802_08944600": { + "Prio": 4, + "TagId": 2352, + "TagIdEvtMsg": 11210, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 849, + 309 + ] + }, + "6180_08543F00": { + "Prio": 2, + "TagId": 2673, + "TagIdEvtMsg": 11440, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 849, + 309 + ] + }, + "6102_40742400": { + "Prio": 3, + "TagId": 2363, + "TagIdEvtMsg": 11901, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 1343, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6102_40742500": { + "Prio": 3, + "TagId": 2364, + "TagIdEvtMsg": 11902, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 1343, + 20 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6802_00942000": { + "Prio": 4, + "TagId": 2331, + "TagIdEvtMsg": 11194, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00942100": { + "Prio": 4, + "TagId": 2332, + "TagIdEvtMsg": 11195, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00942200": { + "Prio": 4, + "TagId": 2333, + "TagIdEvtMsg": 11196, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00942300": { + "Prio": 4, + "TagId": 2334, + "TagIdEvtMsg": 11197, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00941E00": { + "Prio": 4, + "TagId": 2329, + "TagIdEvtMsg": 11192, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6802_00941F00": { + "Prio": 4, + "TagId": 2330, + "TagIdEvtMsg": 11193, + "Unit": 1, + "DataFrmt": 23, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742000": { + "Prio": 3, + "TagId": 2325, + "TagIdEvtMsg": 11188, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742100": { + "Prio": 3, + "TagId": 2326, + "TagIdEvtMsg": 11189, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742200": { + "Prio": 3, + "TagId": 2327, + "TagIdEvtMsg": 11190, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40742300": { + "Prio": 3, + "TagId": 2328, + "TagIdEvtMsg": 11191, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40741E00": { + "Prio": 3, + "TagId": 2323, + "TagIdEvtMsg": 11186, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6102_40741F00": { + "Prio": 3, + "TagId": 2324, + "TagIdEvtMsg": 11187, + "Unit": 18, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2322 + ] + }, + "6100_00543700": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11231, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6400_00543C00": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11217, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6100_00543900": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11233, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00944900": { + "Prio": 4, + "TagId": 2379, + "TagIdEvtMsg": 11237, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 2361 + ] + }, + "6400_00543B00": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11216, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6100_00543500": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11227, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00944800": { + "Prio": 4, + "TagId": 2378, + "TagIdEvtMsg": 11236, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 2361 + ] + }, + "6400_00543D00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11269, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "6400_00543A00": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11215, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ], + "Sum": true, + "SumD": true + }, + "7290_00543A00": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11215, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2361 + ] + }, + "6800_00944700": { + "Prio": 4, + "TagId": 2377, + "TagIdEvtMsg": 11235, + "Unit": 8, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 2361 + ] + }, + "6200_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543600": { + "Prio": 2, + "TagId": 2374, + "TagIdEvtMsg": 11230, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543300": { + "Prio": 2, + "TagId": 2368, + "TagIdEvtMsg": 11223, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543800": { + "Prio": 2, + "TagId": 2375, + "TagIdEvtMsg": 11232, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543200": { + "Prio": 2, + "TagId": 1343, + "TagIdEvtMsg": 11222, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00543400": { + "Prio": 2, + "TagId": 2372, + "TagIdEvtMsg": 11226, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6200_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543E00": { + "Prio": 2, + "TagId": 2454, + "TagIdEvtMsg": 11270, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6200_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00543100": { + "Prio": 2, + "TagId": 2367, + "TagIdEvtMsg": 11221, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 2362 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_00542600": { + "Prio": 2, + "TagId": 4654, + "TagIdEvtMsg": 200100, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 4506 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6400_00542700": { + "Prio": 2, + "TagId": 1738, + "TagIdEvtMsg": 200101, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 849, + 4506 + ], + "Sum": true, + "SumD": true + }, + "6800_00944A00": { + "Prio": 4, + "TagId": 4736, + "TagIdEvtMsg": 12521, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 849, + 4733 + ] + }, + "6800_08944B00": { + "Prio": 4, + "TagId": 4737, + "TagIdEvtMsg": 12522, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 849, + 4733 + ] + }, + "6802_10982800": { + "Prio": 4, + "TagId": 4729, + "TagIdEvtMsg": 12518, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_10982500": { + "Prio": 4, + "TagId": 721, + "TagIdEvtMsg": 12515, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_00982600": { + "Prio": 4, + "TagId": 880, + "TagIdEvtMsg": 12516, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6802_10982700": { + "Prio": 4, + "TagId": 4728, + "TagIdEvtMsg": 12517, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 5, + "TagHier": [ + 853, + 299, + 4716 + ] + }, + "6100_00581E00": { + "Prio": 2, + "TagId": 4982, + "TagIdEvtMsg": 12752, + "DataFrmt": 1, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6800_00982900": { + "Prio": 4, + "TagId": 4983, + "TagIdEvtMsg": 12753, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ] + }, + "6400_00581F00": { + "Prio": 2, + "TagId": 4984, + "TagIdEvtMsg": 12754, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 853, + 4653 + ], + "Sum": true, + "SumD": true + }, + "6800_00981F00": { + "Prio": 4, + "TagId": 4722, + "TagIdEvtMsg": 12511, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715, + 4717 + ] + }, + "6800_00982100": { + "Prio": 4, + "TagId": 4725, + "TagIdEvtMsg": 12512, + "Unit": 8, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715, + 4717 + ] + }, + "6800_08981E00": { + "Prio": 4, + "TagId": 1734, + "TagIdEvtMsg": 12510, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982F00": { + "Prio": 4, + "TagId": 4981, + "TagIdEvtMsg": 12751, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982400": { + "Prio": 4, + "TagId": 4727, + "TagIdEvtMsg": 12509, + "Unit": 3, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_00982300": { + "Prio": 4, + "TagId": 4726, + "TagIdEvtMsg": 12508, + "Unit": 13, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_08982000": { + "Prio": 4, + "TagId": 4723, + "TagIdEvtMsg": 12513, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_00982200": { + "Prio": 4, + "TagId": 4724, + "TagIdEvtMsg": 12514, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6802_10982C00": { + "Prio": 4, + "TagId": 4979, + "TagIdEvtMsg": 12748, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982D00": { + "Prio": 4, + "TagId": 4980, + "TagIdEvtMsg": 12749, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982E00": { + "Prio": 4, + "TagId": 736, + "TagIdEvtMsg": 12750, + "DataFrmt": 20, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982A00": { + "Prio": 4, + "TagId": 4977, + "TagIdEvtMsg": 12746, + "DataFrmt": 8, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + }, + "6802_10982B00": { + "Prio": 4, + "TagId": 4978, + "TagIdEvtMsg": 12747, + "DataFrmt": 8, + "Scale": 1, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 853, + 4976 + ] + } +} diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sbs.translationData.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sbs.translationData.json new file mode 100644 index 0000000..81b7fb3 --- /dev/null +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sbs.translationData.json @@ -0,0 +1,10221 @@ +{ + "1": "%", + "2": "°C", + "3": "A", + "4": "dBm", + "5": "deg", + "6": "h", + "7": "Hz", + "8": "kWh", + "9": "m/s", + "10": "ms", + "11": "Ohm", + "12": "Pa", + "13": "s", + "14": "V", + "15": "VA", + "16": "var", + "17": "W/m²", + "18": "W", + "19": "Wh", + "20": "Phase currents", + "21": "Number grid connections device", + "22": "Total operating time of device", + "23": "Total feed-in time of device", + "24": "Total energy absorbed from the grid by the device", + "25": "Total counter reading, feed-in counter", + "26": "Acknowledge fault", + "27": "Special setting", + "28": "Islanding detection", + "29": "Number of detections", + "30": "Time of the last detection", + "31": "K", + "32": "°F", + "33": "W/s", + "34": "min", + "35": "Fault", + "36": "Tripping threshold DC current monitoring", + "37": "Tripping time DC current monitoring", + "38": "Current", + "39": "Operating condition current", + "40": "Escalation factor", + "41": "Operating condition current", + "42": "[AU] AS4777.3", + "44": "External", + "45": "External 2", + "46": "Battery", + "47": "Maximum Bluetooth transmission power", + "48": "Interior", + "49": "Function", + "50": "Status", + "51": "Closed", + "52": "Reset operating data", + "53": "Country standard", + "54": "Set country standard", + "55": "Communication impaired", + "56": "Country settings", + "57": "Constant voltage control", + "58": "Cooling system", + "59": "Data logging", + "60": "Number of Flash write cycles", + "61": "DC overcurrent", + "62": "DC settings", + "63": "Load parameter", + "64": "DHCP", + "65": "Intermediate circuit voltage", + "66": "Start conditions not met", + "67": "DC measurements", + "68": "DC control", + "69": "DC overvoltage", + "70": "KiB", + "71": "Interference device", + "72": "Load preset", + "73": "Diffuse insolation", + "74": "Direct insolation", + "75": "[DK] 5940E2.2", + "76": "Fault correction measure", + "77": "Check AC circuit breaker", + "78": "Check generator", + "79": "Disconnect generator", + "80": "Check parameter", + "81": "Check connection", + "82": "Environment", + "83": "UCE monitoring", + "84": "Overcurrent grid (HW)", + "85": "Overcurrent grid (SW)", + "86": "Offset grid current sensor", + "87": "Grid frequency disturbance", + "88": "Grid frequency not permitted", + "89": "Grid disconnection point", + "90": "Deviation grid voltage measurement", + "91": "Overvoltage grid (HW)", + "92": "Grid overvoltage fast", + "93": "Grid overvoltage slow", + "94": "Grid overvoltage (spot value)", + "95": "Grid undervoltage fast", + "96": "Grid undervoltage slow", + "97": "Grid voltage measurement Offset", + "98": "Voltage increase protection", + "99": "High discharge current", + "100": "On-board supply system disturbance", + "101": "General BSP fault", + "102": "Events for developer", + "103": "Events for installer", + "104": "Events for service", + "105": "Events for user", + "106": "Execution (Reboot)", + "107": "CPLD (HW)", + "108": "CPLD version check", + "109": "CPU self-test HP", + "110": "DI converter fault", + "111": "DI converter communication", + "112": "Residual current", + "113": "DI converter test current", + "114": "Data storage blocked", + "115": "Overcurrent input A (SW)", + "116": "Overcurrent input B (SW)", + "117": "Offset DC current sensor A", + "118": "Offset DC current sensor B", + "119": "DC grid feed-in", + "120": "Overcurrent input A (HW)", + "121": "Overcurrent input B (HW)", + "122": "Overvoltage intermediate circuit (HW)", + "123": "Overvoltage intermediate circuit (SW)", + "124": "DC voltage measurement deviation", + "125": "Overvoltage input A (SW)", + "126": "Overvoltage input B (SW)", + "127": "Generator voltage too low", + "128": "DC power too low", + "129": "DC converter string A defective", + "130": "DC converter string B defective", + "131": "Generator output too low", + "132": "System data defective", + "133": "System data access not possible", + "134": "System data restored", + "135": "External watchdog (enable)", + "136": "Grid parameter unchanged", + "137": "Waiting for main CPU", + "138": "Grid parameter locked", + "139": "Execution (Test HW)", + "140": "Restart diagnosis system", + "141": "Derating occurred", + "142": "Execution (Taskinit)", + "143": "Installer code invalid", + "144": "Installer code valid", + "145": "Relay defect", + "146": "24 hour relay test", + "147": "Execution (Mail)", + "148": "Internal communication", + "149": "Insulation failure", + "150": "Sensor system insulation resistance", + "151": "Relay insulation resistance", + "152": "Current event number", + "153": "Event number manufacturer", + "154": "Grid failure", + "155": "Island grid", + "156": "Execution (Operation)", + "157": "Execution", + "158": "General OSL fault", + "159": "Overtemperature interior", + "160": "Overtemperature power unit", + "161": "Varistor defective", + "162": "PE not connected", + "163": "L / N swapped", + "164": "2nd phase connected to N", + "165": "PLL outside limits", + "166": "Memory defective", + "167": "Reference voltage test", + "168": "Code memory defective", + "169": "SD memory card defective", + "170": "SD memory card is read", + "171": "Parameter file not found or defective", + "172": "Set parameter", + "173": "Parameter setting failed", + "174": "Parameters set successfully", + "175": "No new update on the SD mempry card", + "176": "Update file defective", + "177": "Update file OK", + "178": "No update file found", + "179": "Execution (SharedMemory)", + "180": "Self-test", + "181": "Abort self-test", + "182": "Abort self-test", + "183": "Self-test current disconnection limit", + "184": "Self-test standard value for display", + "185": "Self-test disconnection time for display", + "186": "Self-test disconnection limit for display", + "187": "Long term data defective", + "188": "Data storage defective", + "189": "Execution (State machine)", + "190": "Execution (Startup)", + "191": "No system data", + "192": "Fault sensor interior temperature", + "193": "Fault sensor power unit temperature", + "194": "Update Bluetooth", + "195": "Update Bluetooth failed", + "196": "Update completed", + "197": "Update main CPU", + "198": "Update main CPU failed", + "199": "Update RS485i module", + "200": "Update RS485i module failed", + "201": "Update communication", + "202": "Update language table", + "203": "Update language table failed", + "204": "Update display", + "205": "Update display failed", + "206": "Power unit", + "207": "Bridge short-circuit", + "208": "Execution (Watchdog)", + "209": "24h watchdog test", + "210": "Ethernet", + "211": "Fan interior", + "212": "Fan interior 2", + "213": "Fan heat sink", + "214": "Fan transformer", + "215": "Fan transformer 2", + "216": "Fan test", + "217": "Residual current", + "218": "High discharge curr.", + "219": "Operating condition residual current", + "220": "Residual current too high", + "221": "Installation error", + "222": "Frequency monitoring", + "223": "[GB] G83/1", + "224": "Display self-test start message", + "225": "Grid parameter unchanged", + "226": "Changing of grid parameters not possible", + "228": "Grid parameter locked", + "229": "Grid monitoring", + "230": "Grid measurements", + "231": "Grid incident", + "232": "Reconnection time after grid fault", + "233": "Reconnection time upon short interruption", + "234": "Maximum duration of a short interruption", + "235": "Parallel grid operation", + "236": "Reconnection time upon restart", + "237": "Counter grid connections", + "238": "Grid relay status", + "239": "Set group", + "240": "Condition", + "241": "Device status", + "242": "Median maximum threshold", + "243": "Median maximum threshold tripping time", + "244": "Overcurrent input C (HW)", + "245": "Lower maximum threshold", + "246": "Lower maximum threshold tripping time", + "247": "[GB] G83/1-1", + "248": "Air humidity", + "249": "Wind direction", + "250": "Wind speed", + "251": "Heat sink", + "252": "Heat sink 2", + "253": "Hardware version", + "254": "Grid frequency", + "255": "End point of the power control via frequency", + "256": "Start point of the power control via frequency", + "257": "Frequency not permitted", + "258": "Switching status grid relay", + "259": "Operating condition grid frequency", + "260": "HTTP", + "261": "Derating occurred", + "262": "Unstable operation", + "263": "SMA Grid Guard code invalid", + "264": "SMA Grid Guard code valid", + "265": "GridGuard password", + "266": "Interface", + "267": "Inverter", + "268": "Insulation monitoring", + "269": "Data storage not possible", + "270": "[KR] KEPCO-Guide", + "271": "kB", + "272": "Insulation resistance", + "273": "Minimum insulation resistance", + "274": "Operating condition insulation resistance", + "275": "10 minute average", + "276": "Instantaneous value", + "277": "Reason for derating", + "278": "Upper minimum threshold", + "279": "Upper minimum threshold tripping time", + "280": "Byte", + "281": "Median minimum threshold", + "282": "Median minimum threshold tripping time", + "283": "B", + "284": "Device name", + "285": "[KR] KEMCO501/2008", + "286": "Device class", + "287": "Upper maximum threshold", + "288": "Upper maximum threshold tripping time", + "289": "PV module", + "290": "Measured values", + "291": "Lower minimum threshold", + "292": "Lower minimum threshold tripping time", + "294": "Device type", + "295": "MPP", + "296": "Modem", + "297": "Message", + "298": "Name", + "299": "Type Label", + "300": "Nat", + "301": "Grid failure", + "302": "-------", + "303": "Off", + "304": "Island mode", + "305": "Island mode", + "306": "SMA Island mode 60 Hz", + "307": "Ok", + "308": "On", + "309": "Operation", + "310": "General operating mode", + "311": "Open", + "312": "Phase assignment", + "313": "SMA Island mode 50 Hz", + "314": "Maximum active power", + "315": "Maximum active power output", + "316": "Operating mode active power setting", + "317": "All phases", + "318": "Overload", + "319": "Overtemperature", + "320": "Varistor defective", + "321": "Printed circuit board", + "322": "PE connection missing", + "323": "PE connection monitoring", + "324": "L / N swapped", + "325": "Phase L1", + "326": "Phases L1, L2 and L3", + "327": "Phase L2", + "328": "Proxy settings", + "329": "Phase L3", + "330": "Port", + "331": "Phase voltage", + "332": "Operating condition voltage", + "333": "[GR] PPC", + "334": "Atmospheric pressure", + "335": "Recommended action", + "336": "Contact manufacturer", + "337": "Contact installer", + "338": "invalid", + "339": "DC voltage control type", + "340": "PV system", + "341": "Recommended action", + "342": "Production test mode", + "343": "[ES] RD1663", + "344": "Reset operating data", + "345": "Controller", + "346": "Remote control", + "347": "Device restart triggered", + "348": "Revision status", + "349": "Grid relay closed", + "350": "Waiting time until feed-in", + "351": "Voltage increase protection", + "352": "[ES] RD1663/661", + "353": "Reset events", + "354": "Reset maximum values", + "355": "Reset energy logger", + "356": "Reset operation inhibition", + "357": "Number of Resets", + "358": "SB 4000TL-20", + "359": "SB 5000TL-20", + "360": "Storage card", + "361": "SD memory card defective", + "362": "Reading SD memory card", + "363": "Parameter file not found or defective", + "364": "Set parameter", + "365": "Parameter setting failed", + "366": "Parameters set successfully", + "367": "No new update on the SD memory card", + "368": "Update file defective", + "369": "Update file OK", + "370": "No update file found", + "372": "Serial number", + "373": "[ES] RD1663-A", + "374": "Self-diagnosis", + "375": "self-test", + "376": "Abort self-test", + "377": "Number of S0 impulses", + "378": "Consumed energy", + "379": "Software version Update", + "380": "Deactivation delay", + "381": "Stop", + "382": "Number of DC disconnects", + "383": "Input A defective", + "384": "Input B defective", + "385": "Start delay", + "386": "unclear", + "387": "Critical voltage to start feed-in", + "388": "Operation status", + "389": "Startup status", + "390": "Stop status", + "391": "Cold start status", + "392": "Test HW status", + "393": "Software version", + "394": "System", + "395": "Temperature", + "396": "Derating temperature", + "397": "Operating condition temperatures", + "398": "Time", + "399": "Sensor error fan permanently on", + "400": "Temperature", + "401": "Highest measured temperature", + "402": "Phases L1 and L2", + "403": "Phases L1 and L3", + "404": "Phases L2 and L3", + "405": "Set total time", + "406": "Phase total Current", + "407": "Operating condition current", + "408": "Set operating time", + "409": "Operating time", + "410": "Set feed-in time", + "411": "Feed-in time", + "412": "Apparent power", + "413": "Reactive power", + "414": "Operating condition reactive power", + "416": "Power", + "417": "Absorbed energy", + "418": "Total yield", + "419": "Operating condition power", + "422": "Transformer", + "423": "Validation system", + "424": "Update Bluetooth", + "425": "Update Bluetooth failed", + "426": "Update completed", + "427": "Update main CPU", + "428": "Update main CPU failed", + "429": "Update RS485i module", + "430": "Update RS485i module failed", + "431": "Update communication", + "432": "Update language table", + "433": "Update language table failed", + "434": "Update display", + "435": "Update display failed", + "436": "Apparent power", + "437": "Reactive power", + "438": "[DE] VDE0126-1-1", + "439": "[DE] Special setting VDE0126-1-1", + "440": "Manufacturer", + "441": "Voltage", + "442": "Voltage monitoring", + "443": "Constant voltage", + "444": "Voltage limit", + "445": "Maximum voltage", + "446": "Operating condition voltage", + "447": "Voltage setpoint", + "448": "Active power", + "449": "Nominal voltage", + "450": "Power", + "451": "Operating condition power", + "452": "Web service", + "453": "Underlying country standard", + "454": "Calibration", + "455": "Warning", + "456": "Waiting for DC start conditions", + "457": "Waiting for grid voltage", + "458": "Sunny Central", + "459": "Overcurrent, input in short-circuit (HW)", + "460": "Sunny Boy", + "461": "SMA", + "462": "On-board supply sys. dist. 15V", + "463": "Check DC generator", + "464": "DC overvoltage (HW)", + "465": "DC switch", + "466": "DC overvoltage", + "467": "DC overcurrent", + "468": "Fault CAN Initialization", + "469": "Fault DA converter", + "470": "Fault reverse current", + "471": "Fault IPC communication", + "472": "Fault RTC Initialization", + "473": "Fault overvoltage protector", + "474": "Ground fault detected", + "475": "Frequent watchdog fault", + "476": "Internal timing fault", + "477": "Reverse current", + "478": "Check inverter electronics", + "479": "Check inv. electr. and comm.", + "480": "Check inverter electr. and fan", + "481": "Chk inv.electr. and contactors", + "482": "Check inv.electr. and SW vers.", + "483": "Communication error CAN", + "484": "Communication error IPC", + "485": "Fan fault", + "486": "Fan fault interior", + "487": "Fan fault interior 2", + "488": "Fan fault heat sink", + "489": "Fan fault heat sink 2", + "490": "Fan fault motor prot. switch", + "491": "Fan fault coilware", + "492": "Fan fault coilware 2", + "493": "Check grid and fuses", + "494": "Check grid frequency", + "495": "Maximum grid frequency disturbance", + "496": "Maximum grid frequency disturbance", + "497": "Minimum grid frequency disturbance", + "498": "Minimum grid frequency disturbance", + "499": "Check grid voltage", + "500": "Grid overvoltage fast", + "501": "Grid undervoltage fast", + "502": "Smoke alarm", + "503": "Fault sensor ambient temp.", + "504": "Fault sensor battery temp.", + "505": "Fault sensor DC voltage", + "506": "Fault sensor pow.unit temp2", + "507": "Fault sensor fan perm. on", + "508": "Fault sensor transf. temp.", + "509": "Synchronization error", + "510": "Team switch", + "511": "Overvoltage EVR (HW)", + "512": "Overvoltage protector", + "513": "Check overvoltage protector", + "514": "Overcurrent EVR (HW)", + "515": "Overtemperature outside", + "516": "Overtemperature battery", + "517": "Overtemperature EVR (HW)", + "518": "Overtemp. power unit (HW)", + "519": "Overtemperature power unit 2", + "520": "Overtemp. transformer area", + "521": "Overtemperature switch", + "522": "Invalid device address", + "523": "Invalid parameter file", + "524": "Unspecified HW fault (HW)", + "525": "Watchdog BFR", + "526": "Watchdog DSP", + "527": "Display self-test start mess.", + "528": "Irradiation", + "529": "Irradiation on external sensor", + "530": "Set total yield", + "531": "Set absorbed energy", + "532": "Set highest measured temperature", + "533": "Communication version", + "534": "Generator control", + "535": "String protection defective", + "536": "DC converter string C defective", + "537": "EvtTmpPwrLim", + "538": "Grid impedance jump", + "539": "EvtExlIn", + "540": "Ground fuse missing", + "541": "DC current sensor C offset", + "542": "Internal meas. comp. fault", + "543": "Internal meas. comp. fault", + "544": "Internal meas. comp. fault", + "545": "Internal meas. comp. fault", + "546": "Meas. recording fault", + "547": "Grid incident reported", + "548": "Team relay defective", + "549": "Team instable", + "550": "Team config", + "551": "Team coupling", + "552": "Team disconnection", + "553": "Team head config", + "554": "Team error", + "555": "Grid impedance too high", + "556": "EvtGriOp", + "557": "Overtemperature", + "558": "SB 3000TL-20", + "559": "[FR] VDE0126-1-1 B", + "560": "[EU] EN50438", + "561": "[CZ] EN50438-CZ", + "562": "[BE] C10/11", + "563": "Daily yield", + "564": "Set number of grid connections", + "565": "Power specif. via char. curve", + "566": "Temporal control of the power limitation", + "567": "Reset operating data (for Service)", + "568": "Execute all", + "569": "Activated", + "570": "Execute write operation", + "571": "Write events on memory card", + "572": "Write faults to SD", + "577": "Specific yield of PV system", + "578": "Performance ratio", + "579": "Revenue", + "580": "CO2 avoidance", + "581": "Specific inverter yield", + "582": "Active power limitation", + "583": "Checking firmware", + "584": "Access Control", + "585": "Parameter |ln04| set successfully", + "586": "Setting of parameter |ln04| failed", + "587": "Parameter |ln04| set successfully", + "588": "Setting of parameter |ln04| failed", + "589": "Parameter |ln04| set successfully", + "590": "Setting of parameter |ln04| failed", + "591": "Set user password", + "592": "Set installer password", + "593": "Set service password", + "594": "Set developer password", + "595": "Update successful", + "596": "Update failed", + "597": "Time adjusted / old time", + "598": "Time adjusted / new time", + "599": "Update to version |s0| successful", + "600": "Mono-string mode active", + "661": "Minimum", + "662": "Maximum", + "663": "Sum", + "664": "Average", + "665": "Number of devices", + "666": "Piece/yield", + "667": "Minimum of lower limits", + "668": "Maximum of lower limits", + "669": "Minimum of upper limits", + "670": "Maximum of upper limits", + "671": "Minimum of current values", + "672": "Maximum of current values", + "673": "200 ms", + "674": "600 ms", + "675": "1000 ms", + "700": "Hardware Interface 1", + "701": "Hardware Interface 2", + "702": "Hardware Interface 3", + "703": "Time settings", + "704": "Update", + "705": "Device update", + "706": "Status and Actions", + "707": "User settings", + "708": "Basic settings", + "709": "SunnyDNS", + "710": "FTP Push", + "711": "FTP server", + "712": "Unit ID", + "713": "Hardware version", + "714": "DNS server IP", + "715": "Gateway IP", + "716": "IP address", + "717": "Subnet mask", + "718": "WAN IP", + "719": "Internet service provider IP", + "720": "Reset network parameter", + "721": "Serial number", + "722": "Standard or Daylight Saving Time", + "723": "No translation in Taglist for ID 723", + "724": "Date format", + "725": "Language", + "726": "Unit of length", + "727": "Number format", + "728": "Unit of temperature", + "729": "Time format", + "730": "Standard/Daylight Saving Time conversion on", + "731": "Automatic time synchronization", + "732": "Time zone", + "733": "Activated", + "734": "Time interval", + "735": "Login", + "736": "Password", + "737": "Server", + "738": "Connection test", + "739": "GPRS-APN", + "740": "Dial-in number", + "741": "Dial-in password", + "742": "PIN", + "743": "Signal strength test", + "744": "Upload data", + "745": "Result of the last upload", + "746": "Portal connection test", + "747": "Result of the last portal connection test", + "748": "Register", + "749": "Result of the last registration", + "750": "Email", + "751": "Name of PV system", + "752": "ID of PV system", + "753": "Upload frequency", + "754": "Write access allowed", + "755": "GPRS-Always-On activated", + "764": "Activate function", + "766": "DD.MM.YYYY", + "767": "MM/DD/YYYY", + "768": "YYYY.MM.DD", + "769": "MM.DD.YYYY", + "770": "DD/MM/YYYY", + "771": "YYYY/MM/DD", + "772": "DD-MM-YYYY", + "773": "YYYY-MM-DD", + "774": "MM-DD-YYYY", + "775": "HH:mm", + "776": "hh:mm", + "777": "Deutsch", + "778": "English", + "779": "Italiano", + "780": "Español", + "781": "Français", + "782": "Ελληνικά", + "783": "한국어", + "784": "Česky", + "785": "Português", + "786": "Nederlands", + "787": "123456.0", + "788": "123456,0", + "789": "123.456,0", + "790": "123,456.0", + "791": "Celsius", + "792": "Kelvin", + "793": "Fahrenheit", + "794": "Metric", + "795": "Imperial", + "796": "Slovenski", + "797": "Български", + "798": "Polski", + "799": "日本語", + "800": "Disabled", + "801": "ภาษาไทย", + "802": "Active", + "803": "Inactive", + "804": "עברית", + "805": "HH:mm:ss", + "806": "hh:mm:ss", + "807": "100 % bat. charge state was reached before the end of the bat. charge time", + "808": "End of bat. charge time, battery state of charge: |d0| %", + "809": "Battery charge overcurr. (SW limit)", + "810": "Battery discharge overcurr. (SW limit)", + "811": "Battery undervoltage (SW limit)", + "812": "Battery overvoltage (SW limit)", + "813": "not configured", + "814": "MPP search status", + "815": "Estimated MPP power", + "816": "Estimated AC-MAX power", + "817": "Security", + "818": "Grid management services", + "819": "Devices found", + "820": "System password", + "821": "Max. asymmetric load", + "822": "Load unbalance limit", + "823": "Measurement interval", + "824": "Active power consumed", + "825": "System password of the connected device |s0| invalid", + "826": "Reset device to factory settings", + "827": "Battery charge too low for start procedure", + "828": "Hardware version", + "830": "Status", + "831": "Type Label", + "832": "Device", + "833": "User Rights", + "834": "DC Side", + "835": "AC Side", + "836": "Grid Monitoring", + "837": "Generator", + "838": "Battery", + "839": "System communication", + "840": "External Communication", + "841": "Data Recording", + "842": "Sunny Portal", + "843": "Further Applications", + "844": "Meteorology", + "845": "Theft Protection", + "846": "Device Components", + "847": "System and device control", + "848": "Grid connection", + "849": "Energy management", + "850": "System and device control", + "851": "System and device control", + "852": "AC Side", + "853": "EV charger", + "854": "Device", + "861": "User", + "862": "Installer", + "863": "Service", + "864": "Developer", + "865": "Any", + "866": "Grid Guard", + "867": "10MBit", + "868": "100MBit", + "869": "Bluetooth", + "870": "Speedwire", + "871": "Analog modem", + "872": "GSM", + "873": "Interface GPRS", + "874": "UMTS", + "875": "Software package", + "876": "Total yield logger partially deleted", + "877": "Find device", + "878": "LED blinking", + "879": "Components", + "880": "SUSyID", + "881": "Sunny Explorer", + "882": "Name of PV system", + "883": "Difference PV system time/system time", + "884": "not active", + "885": "none", + "886": "none", + "887": "none", + "888": "Current event", + "889": "Bluetooth", + "890": "Power absorbed", + "891": "WebBox-20", + "892": "String failure detection", + "893": "Signal processor update", + "894": "Signal processor update failed", + "895": "S0 energy counter", + "896": "Charge of current battery", + "897": "Specified battery setpoints", + "898": "heating", + "899": "cooling", + "900": "Main processor", + "901": "Communication assembly", + "902": "Residual current monitoring unit", + "903": "Display", + "904": "Logic component", + "905": "RS485 module", + "906": "Zigbee components", + "907": "Bluetooth component", + "908": "Operating system", + "909": "String protection", + "910": "Protocol converter", + "911": "Module slot 1", + "912": "Webconnect module", + "913": "Power control modules", + "914": "Module slot 2", + "915": "Battery management system", + "916": "Emergency power supply modules", + "917": "Multifunction relay modules", + "918": "Mains watchdog unit", + "919": "Dedicated access module", + "920": "SMA SensorModule", + "921": "Wi-Fi component", + "922": "SMA I/O Module", + "923": "SMA RS485 Module", + "924": "RS485 interface", + "932": "Initialization Start: |tn0|", + "933": "Initialization End: |tn0|", + "934": "Operation Start: |tn0|", + "935": "Operation End: |tn0|", + "936": "Shutdown Start: |tn0|", + "937": "Shutdown End: |tn0|", + "938": "Internal fault 0x|x4||x5||x6||x7|/|u0|", + "939": "Calculation overflow in module |u0|", + "940": "Startup |x5|:|x4|:|x3|:|x2|:|x1|:|x0|:|5u8|", + "941": "Resource |s0| could not load.", + "942": "Server could not start|x5|:|x4|:|x3|:|x2|:|x1|:|x0|:|5u8|", + "943": "24h Timeout at parameter setting |ln8c|", + "944": "Login OK: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|", + "945": "Logout: Level: |u8|Device:|x1||x0||x7||x6||x5||x4|", + "946": "Auth. error: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|", + "947": "Login error: Level: |u8|Device: |x1||x0||x7||x6||x5||x4|Error: |dc|", + "948": "Detection started", + "949": "New Device: |x1||x0||x7||x6||x5||x4|", + "950": "Rec. Hello World: Device: |x1||x0||x7||x6||x5||x4|", + "951": "Sent Hello World", + "952": "New Object Unknown: Device: |x1||x0| |x7||x6||x5||x4| - |x9||x8|", + "953": "New Master: Device: |x1||x0||x7||x6||x5||x4|", + "954": "Login started: Level: |u0|", + "955": "Login End: Level: |u0|", + "956": "Logout started: Level: |u0|", + "957": "Bluetooth connection to root node established", + "958": "Bluetooth connection to root node terminated", + "959": "Bluetooth connection has broken", + "960": "New dev.info [\"['|x5|:|x4|:|x3|:|x2|:|x1|:|x0|']\"], Type=|c8|", + "961": "Conn.device ['|x5|:|x4|:|x3|:|x2|:|x1|:|x0|'] lost", + "962": "BCN: Radio network established", + "963": "Server prob. not available until |s0| due to maint", + "964": "Server not available: |d0|", + "965": "Registration failed |d0|", + "966": "|d0| bytes successfully transmitted in |d4| sec.", + "967": "Data succ. transmitted: |d0| bytes in |d4| seconds", + "968": "Data transm. aborted after |d0| bytes and |d4| sec. flt: |d8|", + "969": "Time synchronization failed |d0|", + "970": "Faulty parameter |ln04|", + "971": "Internal ODB fault |d0|", + "972": "Ensure DC supply", + "973": "------", + "974": "String protection", + "975": "Restart Learning", + "976": "Reverse currents or substring |s0| polarity rev.", + "977": "Substring |s0| failed", + "978": "ESS-IGBT defective Input |s0|", + "979": "ESS Relay fault Input |s0|", + "980": "Relay control defective input |s0|", + "981": "HSS-IGBT defective input |s0|", + "982": "Ring line interrupted", + "983": "Short-circuit String A, risk of arc.Don't pull ESS", + "984": "Arcing danger DC plug input; reinsert ESS", + "985": "Varistor A or B through thermal fuse", + "986": "Varistor A or B through arcing", + "987": "Lightning protection device at input A defective", + "988": "Overheating", + "989": "String |s0| defective", + "990": "String |s0| defective", + "991": "Lightning protection inactive", + "992": "Overheating", + "993": "Reverse currents or input |s0| polarity reversed", + "994": "Phase(s) or neutral conductor not connected", + "995": "Do not disconnect ESS", + "996": "Connect ESS, do not open cover", + "997": "Check varistors", + "998": "Check lightning protector A/PE", + "999": "Disconnect device from generator and grid", + "1000": "New device cannot be administered: Device: |x1||x0| |x7||x6||x5||x4|", + "1001": "Parameter |ln8c| was sent", + "1002": "Bluetooth Repeater", + "1003": "Intermediate circuit voltages not permitted", + "1004": "Grid type detection failed", + "1005": "Grid current sensor defective", + "1006": "General fault", + "1007": "Overcurrent Ground fuse", + "1008": "[DE] ENS", + "1009": "[GB] G77", + "1010": "[AU] AGL", + "1011": "[US] UL1741", + "1012": "[US] UL1741/2005", + "1013": "SMA other standard", + "1014": "[DK] DK5950", + "1015": "[US] UL1741/2001", + "1016": "Constant current", + "1017": "[TH] PEA", + "1018": "[TH] MEA", + "1020": "[DE] Medium-Voltage Directive (Germany)", + "1021": "[JP] Airdolphine", + "1022": "Operating mode of static voltage stabilization", + "1023": "Operating mode active power red., overfreq. P(f)", + "1024": "Reactive power mode", + "1025": "Q(V) characteristic curve", + "1026": "Voltage difference to next charact. curve value", + "1027": "Time to adoption of next charact. curve value", + "1028": "Nominal voltage offset", + "1029": "Reactive power gradient", + "1030": "Stop voltage", + "1031": "Reactive power", + "1032": "[DE] MVtgDirective Internal", + "1033": "Q(P) characteristic curve", + "1034": "Reactive power value starting point", + "1035": "Active power value starting point", + "1036": "Reactive power value end point", + "1037": "Active power value end point", + "1038": "Manual cos φ specification", + "1039": "cos φ setpoint for active power output", + "1040": "Excitation type for active power output", + "1041": "Overexcited", + "1042": "Underexcited", + "1043": "cos φ(P) charac. curve", + "1044": "Excitation type at starting point", + "1045": "cos φ of start point", + "1046": "Excitation type at end point", + "1047": "cos φ of end point", + "1048": "Active power mode", + "1049": "Manual setting", + "1050": "Standardized active power", + "1051": "Reference value for normalized active power", + "1052": "Frequency-dependent active power adapt. P(f)", + "1053": "P(f) characteristic curve", + "1054": "Difference between starting freq. and grid freq.", + "1055": "Active power gradient", + "1056": "Difference between reset frequency and grid freq.", + "1057": "Activation of stay-set indicator function", + "1058": "Synchronize time with time server", + "1059": "Current reactive power limit", + "1060": "Max. reactive power", + "1061": "Currently set apparent power limit", + "1062": "Maximum apparent power", + "1063": "Current cos φ limit", + "1064": "Min. cos φ", + "1065": "Power gradient for reconnection after grid fault", + "1066": "Soft start-up P after grid fault", + "1067": "Manual reactive power setting for active power output", + "1068": "Limitation of change rate", + "1069": "Q(V) characteristic curve", + "1070": "Q, manual setting in %", + "1071": "Q, manual setting in var", + "1072": "Q, external setting", + "1073": "Q(P) characteristic curve", + "1074": "cos φ, manual setting", + "1075": "cos φ, external setting", + "1076": "cos φ(P) charac. curve", + "1077": "Manual setting in W", + "1078": "Manual setting in %", + "1079": "External setting", + "1080": "PV system control", + "1081": "AC circuit breaker activated or open", + "1082": "Grid connection installation failure ", + "1083": "Check grid and rotating field", + "1084": "Rotating field left", + "1085": "Primary Master", + "1086": "Secondary Master", + "1087": "Device control", + "1088": "Data inconsistency", + "1089": "AC bridge not ready for operation", + "1090": "UCE monitoring HF half-bridge", + "1091": "Bridge short circuit HF half-bridge", + "1092": "Voltage conditions not met", + "1093": "Fault sensor PCB temperature", + "1094": "External fan fault", + "1095": "Boost converter", + "1096": "Boost converter 2", + "1097": "Maximum phase shift", + "1098": "Tripping time for max. phase shift", + "1099": "Max. frequency change per second", + "1100": "Maximum frequency change tripping time", + "1101": "Lower reconnection limit", + "1102": "Upper reconnection limit", + "1103": "Nominal frequency", + "1104": "Normalized total apparent power", + "1105": "Boost converter", + "1106": "Overtemperature boost converter", + "1107": "Frequency change not permitted", + "1108": "Calibration voltage", + "1109": "Calibration status", + "1110": "AC voltage calibration failed", + "1111": "Failed", + "1112": "Not executed", + "1113": "Ground fuse fault", + "1114": "Check ground fuse", + "1115": "Replace fan", + "1116": "Clean fan", + "1117": "Varistor monitoring defective", + "1118": "Calibration failed", + "1119": "Selection of the voltage(s) to be calibrated", + "1120": "Maximum ground current", + "1121": "Tripping time maximum ground current", + "1122": "Grounding prescribed?", + "1123": "Prescribed grounding type", + "1124": "Grounding status", + "1125": "Positive", + "1126": "Negative", + "1127": "No grounding", + "1128": "None prescribed", + "1129": "Yes", + "1130": "No", + "1131": "Grid relay open", + "1132": "Frequency-dependent active power adapt. P(f)", + "1133": "Configuration of reactive power mode const. Q as %", + "1134": "Configuration of active power mode const. W as %", + "1135": "Update string prot. failed", + "1136": "Update string prot. failed", + "1137": "Update string protection", + "1138": "Update string protection", + "1139": "[US] UL1741/2005, 208 V", + "1140": "[US] UL1741/2005, 240 V", + "1141": "Grounding error", + "1142": "Wrong earthing type", + "1143": "Wrong earthing type; check earthing set", + "1144": "Set PV system time", + "1145": "Use Sunny Portal", + "1146": "Execute", + "1147": "Not initialized", + "1148": "Not connected", + "1149": "Searching", + "1150": "Not connected", + "1151": "Connected", + "1152": "Not connected", + "1153": "Not connected", + "1154": "Firmware update completed", + "1163": "Zigbee", + "1164": "Bluetooth", + "1165": "Ethernet", + "1166": "Serial", + "1167": "Speedwire", + "1168": "Webconnect", + "1170": "Downlink", + "1171": "Uplink", + "1173": "Current root node", + "1174": "Possible root nodes", + "1175": "Connection quality", + "1176": "Status", + "1177": "Fault indication", + "1179": "NetID", + "1180": "Current event", + "1186": "DC current measurement defective", + "1187": "every 15 minutes", + "1188": "hourly", + "1189": "daily", + "1190": "Syslog service", + "1191": "Activated until", + "1192": "Extern. reactive power mode", + "1193": "External setting", + "1194": "cos φ config. method of PV system control", + "1195": "Timeout for communication error indication", + "1196": "Export", + "1197": "Measurement name in local language", + "1198": "Events in local language", + "1199": "[CZ] PPDS", + "1200": "String protection OK", + "1201": "SMA ShadeFix", + "1202": "Cycle time", + "1203": "Power limit", + "1204": "Setpoint for PV voltage", + "1205": "Nominal system voltage", + "1206": "Setpoint for intermediate circuit voltage", + "1207": "Update file", + "1208": "Adaptor: Conn. interrupted", + "1209": "Adapter event: NetID changed", + "1210": "Not connected", + "1211": "Not connected", + "1212": "Not connected", + "1213": "DAA type ID", + "1214": "RAA type ID", + "1215": "Time interval expired", + "1216": "Dynamic settings established", + "1217": "Hysteresis voltage", + "1218": "Gradient K of reactive current droop", + "1219": "Specified voltage UQ0", + "1220": "Symmetrical limit for maximum reactive power", + "1221": "PWM reverse voltage", + "1222": "Reactive power gradient", + "1223": "Setting time for nominal value filter", + "1224": "Active power at starting point", + "1225": "Active power at end point", + "1226": "Reference correction voltage", + "1227": "PWM inverse voltage at undervoltage", + "1228": "PWM inversion delay at undervoltage", + "1229": "Reactive current droop", + "1230": "Dynamic grid support", + "1231": "NetID changed: New ID: |x3||x2||x1||x0|", + "1232": "Check for update and install it", + "1233": "SDLWindV", + "1234": "Diagnosis", + "1235": "CPU monitor", + "1236": "CPU load", + "1237": "Server path", + "1238": "Update started", + "1239": "Search for update completed successfully", + "1240": "Search for update not compl. successfully: |tn0|", + "1241": "Update aborted", + "1242": "Download of an update started", + "1243": "Download of an update completed successfully", + "1244": "Download of update not compl. successfully: |tn0|", + "1245": "Version unknown", + "1246": "Incorrect package size", + "1247": "One or more parameters are missing", + "1248": "Next connection", + "1249": "Next connection 2", + "1250": "Next connection 3", + "1251": "IRE status", + "1252": "Adaptor event: Conn. restored", + "1253": "Lower limit, voltage dead band", + "1254": "Upper limit, voltage dead band", + "1255": "Grid voltage fault", + "1256": "Update Speedwire", + "1257": "Update Speedwire", + "1258": "Result of the last connection test", + "1259": "Short-circuit String B, risk of arc.Don't pull ESS", + "1260": "Lightning protection device at input B defective", + "1261": "Check lightning protector B/PE", + "1262": "Full dynamic grid support", + "1263": "Operating mode of dynamic grid support", + "1264": "Full dynamic grid support", + "1265": "Limited dynamic grid support", + "1266": "mA", + "1267": "km/h", + "1268": "mph", + "1269": "kOhm", + "1270": "mOhm", + "1271": "mV", + "1272": "kVA", + "1273": "kvar", + "1274": "kW/m²", + "1275": "kW", + "1276": "MW", + "1277": "GW", + "1278": "MWh", + "1279": "GWh", + "1280": "Ws", + "1281": "g", + "1282": "kg", + "1283": "lb.", + "1284": "t", + "1285": "m²", + "1286": "sq.ft.", + "1287": "m", + "1288": "km", + "1289": "ft.", + "1290": "g/kWh", + "1291": "kg/kWh", + "1292": "kWh/kWp", + "1293": "Ah", + "1294": "As", + "1295": "Standby", + "1296": "New update available: Version |s0|", + "1297": "FTP Push connection test successfully completed.", + "1298": "An error occurred in the FTP Push conn. test: |s0|", + "1299": "FTP server started.", + "1300": "FTP server stopped.", + "1301": "An error occurred when start. the FTP server: |s0|", + "1302": "An error occurred when stop. the FTP server: |s0|", + "1303": "FTP upload completed.", + "1304": "An error occurred during the FTP upload: |s0|", + "1305": "Learning", + "1306": "Update Speedwire module failed", + "1307": "Server not available", + "1308": "Registration failed: |tn0|", + "1309": "Time synchronization failed: |tn0|", + "1310": "Data transmission aborted: |tn0|", + "1311": "Unknown device class", + "1312": "System fault", + "1313": "Authentication fault", + "1314": "Web service not available", + "1315": "Sunny WebBox not registered with the Sunny Portal", + "1316": "Update version of the software package", + "1317": "Automatic update", + "1318": "Time of the automatic update", + "1319": "No version available", + "1320": "Identification of WAN IP via Sunny Portal failed", + "1321": "Measures in the case of a grounding error", + "1322": "Disconnect from grid", + "1323": "Warn", + "1324": "Server not available: |lv04|", + "1325": "Data export in CSV format", + "1326": "Data export in XML format", + "1327": "Displacement power factor", + "1328": "Reactive power droop mode", + "1329": "Voltage spread", + "1330": "Hysteresis", + "1331": "Dead band", + "1332": "Frequency monitoring", + "1333": "Unbalance detection", + "1334": "Permissible grid unbalance", + "1335": "Tripping time of the unbalance detection", + "1336": "Tripping time of the frequency monitor", + "1337": "[US] UL1741/120", + "1338": "[US] UL1741/208", + "1339": "[US] UL1741/240", + "1340": "Multifunction relay", + "1341": "Fault indication", + "1342": "Fan control", + "1343": "Self-consumption", + "1344": "Minimum On time", + "1345": "Minimum On power", + "1346": "Minimum power On time", + "1347": "Operating mode", + "1348": "Initiate device restart", + "1349": "Control via communication", + "1350": "Configuration of \"Turbine\" operating mode", + "1351": "Constant deviation of power calculation", + "1352": "Coefficient of power calculation based on Udc", + "1353": "Coefficient of power calculation based on Udc^2", + "1354": "Coefficient of power calculation based on Udc^3", + "1355": "Proportional factor of power control", + "1356": "Integral factor of power control", + "1357": "Differential factor of power control", + "1358": "Critical voltage to end feed-in", + "1359": "Battery bank", + "1360": "Minimum time before reconnection", + "1361": "1E-3", + "1362": "1E-6", + "1363": "Rate for feed-in reimbursement", + "1364": "Rate for self-use reimbursement", + "1365": "Electricity tariff", + "1366": "Feed-in reimbursement", + "1367": "Self-use reimbursement", + "1368": "Electricity costs", + "1370": "Transformer prot. triggered", + "1371": "Quick stop triggered", + "1372": "CAN communication error", + "1374": "AC separating point", + "1376": "Invalid analogue active power specification", + "1377": "Invalid digital active power specification", + "1378": "Invalid analogue reactive power specification", + "1379": "Invalid analogue power factor specification", + "1380": "Doors have been opened during operation", + "1384": "Active power limit AC frequency", + "1385": "Temperature derating", + "1387": "Reactive power Q, specific. via analogue input", + "1388": "cos φ specific. analog input", + "1389": "Reactive power/volt. char. Q(V) param.", + "1390": "Active power limitation P via analogue input", + "1391": "Active power limitation P via digital inputs", + "1392": "Fault", + "1393": "Waiting for PV voltage", + "1394": "Waiting for valid AC grid", + "1395": "DC range", + "1396": "AC grid", + "1397": "Check active and reactive power interface", + "1398": "Close doors and cancel release", + "1399": "Check external transformer", + "1400": "DC overvoltage peak", + "1401": "Displacement power factor", + "1402": "Excitation type of cos φ", + "1403": "Energy counter type", + "1404": "PV generation counter", + "1405": "Grid feed-in counter", + "1406": "Grid reference counter", + "1407": "PV system measurements", + "1408": "Supplied power", + "1409": "Frequency threshold", + "1410": "Grip impedance monitoring", + "1411": "Current amplitude", + "1412": "Max. impedance gradient", + "1413": "Periodic AID", + "1414": "Amplitude", + "1415": "Normalized upper threshold", + "1416": "Normalized lower threshold", + "1417": "Norm. max. reconnection threshold", + "1418": "Norm. min. reconnection threshold", + "1419": "Specific CO2 reduction", + "1420": "Grid type", + "1421": "Impedance", + "1422": "Centre point of P-coordinate", + "1423": "Centre point of U-coordinate", + "1424": "End point of U-coordinate", + "1425": "Start point of U-coordinate", + "1426": "Ripple control signal detection", + "1427": "Ground voltage", + "1428": "Backup mode operating mode", + "1429": "Backup mode status", + "1430": "PowerBalancer", + "1431": "PowerGuard", + "1432": "Power max. Value", + "1433": "277 Volt", + "1434": "208 Volt", + "1435": "240 Volt", + "1436": "208 Volt without neutral conductor", + "1437": "240 Volt without neutral conductor", + "1438": "Automatic", + "1439": "In all phases", + "1440": "Grid mode", + "1441": "Separate network mode", + "1442": "PhaseGuard", + "1443": "PowerGuard", + "1444": "FaultGuard", + "1445": "Passive AID", + "1446": "GridGuard-Version", + "1447": "S0-pulse feed-in", + "1448": "S0-pulse reference", + "1449": "Insulation failure ignored", + "1450": "Grounding error ignored", + "1451": "Insulation monitoring configuration error", + "1452": "No Remote GFDI response", + "1453": "Permanent insulation failure", + "1454": "Soft grounding triggered", + "1455": "Emergency OFF", + "1456": "Consumption", + "1457": "Self consumption increase", + "1458": "Today's increased self-consumption", + "1459": "Mains connection", + "1460": "Power supply status", + "1461": "Mains connected", + "1462": "Backup not available", + "1463": "Backup", + "1464": "Rated capacity throughput", + "1465": "Lower battery discharge limit", + "1466": "Wait", + "1467": "Start", + "1468": "MPP search", + "1469": "Shut down", + "1470": "Fault", + "1471": "Warning/error mail OK", + "1472": "Warning/error mail not OK", + "1473": "PV system info mail OK", + "1474": "PV system info mail not OK", + "1475": "Error mail OK", + "1476": "Error mail not OK", + "1477": "Warning mail OK", + "1478": "Warning mail not OK", + "1479": "Wait after mains interruption", + "1480": "Waiting for utilities company", + "1481": "Sunny central control", + "1482": "PV system is not available in the portal", + "1483": "Device is already available in the portal", + "1484": "Invalid parameter was transmitted", + "1485": "Unknown device version", + "1486": "No rights to execute the operation", + "1487": "Device successfully registered in the portal", + "1488": "SSM Id for which comm. fault has occurred", + "1489": "SMU warning code for string fault", + "1490": "Status of signal contact 1", + "1491": "Status of signal contact 2", + "1492": "String temporarily deselected due to earth fault", + "1493": "String permanently deselected due to earth fault", + "1494": "Eliminate earth fault", + "1495": "String detected w. yield loss", + "1496": "Check functionality of the whole string", + "1497": "Watchdog SMID CONT", + "1498": "Watchdog SMID CT", + "1499": "On-board supply sys. dist. 12V", + "1500": "Replace SD card with a functional one", + "1501": "Transmission attempts", + "1502": "Time of the last transmission attempt", + "1503": "Update source", + "1504": "Automatic update", + "1505": "Manual update", + "1506": "Update portal", + "1507": "Information", + "1508": "90% of DC switch. cycl. reach.", + "1509": "100% of DC switch. cyc. reach.", + "1510": "Compress", + "1511": "Compress and delete", + "1512": "The data export to the SD card was temporarily deactivated as at least one update file is on the SD card.", + "1513": "The data export to the SD card was re-activated.", + "1514": "The firmware update with version number |u/9/0| for device type |tn4| was sent to the PV system.", + "1515": "The firmware update with version number |u/9/0| for device types |tn8| was sent to the PV system.", + "1516": "The firmware update with version number |u/9/0| for device types |tn4|, |tn8| and |tnc|was sent to the PV system.", + "1517": "The device with serial number |u0| was successfully updated to firmware version |u/9/4|.", + "1518": "The device with serial number |u0| could not be updated to firmware version |u/9/4|.", + "1519": "The device with serial number |u0| and firmware version |u/9/4| is no longer considered for the current update process as this appliance update has failed several times.", + "1520": "Download of the update file with version |u/9/0| for device type |tn4| did not complete successfully.", + "1521": "Download of the update file with version |u/9/0| for device types |tn4| and |tn8| did not complete successfully.", + "1522": "Download of the update file with version |u/9/0| for device types |tn4|, |tn8| and |tnc| did not complete successfully.", + "1523": "Wait for update conditions", + "1524": "S0 pulses per infed kWh", + "1525": "S0 pulses per consumed kWh", + "1526": "Target version of the software package", + "1527": "Force", + "1528": "Reconnection fault grid", + "1529": "Reconnection condition not satisfied", + "1530": "208V WYE", + "1531": "Grid switch", + "1532": "Status after loss of communication in autom. mode", + "1533": "Status after switching on automatic", + "1535": "Jet offline test", + "1536": "Timeout after loss of communication", + "1537": "Starting current detection", + "1538": "Gradient K of the reactive current droop", + "1540": "Quick stop", + "1541": "Unspecif. DSP fault", + "1542": "Unspecif. BFR fault", + "1543": "Overtemperature DC clamps", + "1544": "A DC switch does not close", + "1545": "Insulation failure stack", + "1546": "Warning grounding error", + "1547": "Permanent grounding error", + "1548": "Warning softgrounding activated", + "1549": "Permanent softgrounding error", + "1550": "Softgrounding ignored", + "1551": "Softgrounding hardware fault", + "1552": "Warning insulation failure", + "1553": "Do not change", + "1554": "Disturbance sensor display temperature", + "1555": "No display", + "1556": "Display fault (temp. too low)", + "1557": "Display fault (unknown display type)", + "1558": "Display fault (display not connected)", + "1559": "Run update", + "1560": "Remote control disconnection active", + "1562": "Phase L1 against L2", + "1563": "Offset to AC current", + "1564": "K1", + "1565": "K1+K2", + "1566": "K1+K2+K3", + "1567": "K1+K2+K3+K4", + "1568": "K1+K2+K4", + "1569": "K1+K3", + "1570": "K1+K3+K4", + "1571": "K1+K4", + "1572": "K2", + "1573": "K2+K3", + "1574": "K2+K3+K4", + "1575": "K2+K4", + "1576": "K3", + "1577": "K3+K4", + "1578": "K4", + "1579": "Restart in |u0| seconds", + "1580": "Please connect AC and DC", + "1581": "Feeding", + "1582": "Reset measured values", + "1583": "Current flow direction", + "1584": "Positive", + "1585": "Negative", + "1586": "Sunny portal occupied", + "1587": "Network fault", + "1588": "Reactive power specification", + "1589": "cos φ specification", + "1591": "Control of wireless sockets", + "1592": "Overtemperature throttle range", + "1593": "Update file successfully copied", + "1594": "The passwords of the device reset to factory s.", + "1595": "Network settings of device reset to the factory s.", + "1596": "The device has been reset to the factory setting", + "1597": "The memory card is full or write-protected", + "1598": "Transformer incorrectly connected", + "1599": "Grid disconnection for 0% active power setting", + "1600": "Conf. of the PV system control procedure P(V)", + "1601": "Characteristic curve number", + "1602": "Conf. of the grid integr. characteristic curves", + "1603": "Characteristic", + "1604": "Adjustm. time characteristic curve operating point", + "1605": "Decrease ramp", + "1606": "Increase ramp", + "1607": "Number of support points to be used", + "1608": "X value 1", + "1609": "Y value 1", + "1610": "X value 2", + "1611": "Y value 2", + "1612": "X value 3", + "1613": "Y value 3", + "1614": "X value 4", + "1615": "Y value 4", + "1616": "X value 5", + "1617": "Y value 5", + "1618": "X value 6", + "1619": "Y value 6", + "1620": "Active power change rate after fault end", + "1621": "Soft start-up rate P", + "1622": "Increase rate in case of insolation change", + "1623": "Root node", + "1624": "Password recovery failed: Device: |u4|", + "1625": "Sunny Portal", + "1626": "NTP server", + "1627": "Alarm", + "1628": "Modbus", + "1629": "TCP server", + "1630": "UDP server", + "1631": "DHCP server", + "1632": "Repeated notification", + "1633": "Email address(es)", + "1634": "Send test e-mail", + "1635": "Upload interval", + "1636": "Start IP address", + "1637": "End IP address", + "1638": "Time synchronization source", + "1639": "Inputs/outputs", + "1640": "Digital input group 1 (DI1 .. DI4)", + "1641": "Digital input group 2 (DI5 .. DI8)", + "1642": "Analogue current input 1", + "1643": "Analogue current input 2", + "1644": "Analogue current input 3", + "1645": "Analogue voltage input 1", + "1646": "Remaining space", + "1647": "Detect string failures", + "1648": "Detect partial string failures", + "1649": "String |s0| low power", + "1650": "Partial string |s0| low power", + "1651": "Overvoltage suppression", + "1652": "Minimum power reduction", + "1653": "Sensor error", + "1654": "Offset DCinAC defective", + "1655": "Electric arc detected", + "1656": "Serial el.arc in String |s0| detected by AFCI mod.", + "1657": "AFCI self-test failed", + "1658": "AFCI self-test successful", + "1659": "Please confirm by tapping", + "1660": "AFCI switched on", + "1661": "Status: |tn0| / |tn4| / |tn8|", + "1662": "Measuring interface 1", + "1663": "Measuring interface 2", + "1664": "Measuring interface 3", + "1665": "Connection point", + "1666": "Type of counter", + "1667": "S0 reference", + "1668": "S0 feed-in", + "1669": "D0 reference", + "1670": "D0 feed-in", + "1671": "D0 reference and feed-in", + "1672": "Activate island mode", + "1673": "Not enough energy available from wind generator", + "1674": "IsNotLogin response: Device: |x1||x0| |x7||x6||x5||x4|", + "1675": "Login status response: Device: |x1||x0| |x7||x6||x5||x4|, status: |xb||xa||x9||x8|", + "1676": "IsNotLogin query started", + "1677": "LoginStatus query started", + "1678": "Devices LoginStatus query: Device: |x1||x0| |x7||x6||x5||x4|", + "1679": "Devices Login started: Device: |x1||x0| |x7||x6||x5||x4|, Level: |u8|", + "1680": "Devices Logout started: Device: |x1||x0| |x7||x6||x5||x4|, Level: |xb||xa||x9||x8|", + "1681": "MandatoryData queried: Device: |x1||x0| |x7||x6||x5||x4|, Obj: |x9||x8|, LRI: |xf||xe||xd||xc|", + "1682": "Minimum insolation", + "1683": "Maximum insolation", + "1684": "Minimum measurement", + "1685": "Maximum measurement", + "1686": "Insolation sensor", + "1687": "USB connection", + "1688": "USB connection 2", + "1689": "Energy absorbed today", + "1690": "Fast shut-down", + "1691": "Type", + "1692": "String deactivated due to WMax", + "1693": "No string connected", + "1694": "DC switch tripped", + "1695": "DC switch waits for connection", + "1696": "DC switch blocked by spindle", + "1697": "DC switch manually blocked", + "1698": "DC switch 3 x tripped", + "1699": "DC switch defective", + "1700": "Key switch", + "1701": "Local time", + "1702": "DC switch", + "1703": "String status", + "1704": "Derating due to max. power", + "1705": "Frequency deviation", + "1706": "Derating due to PV current", + "1707": "Product has switched to the status Automatic=|tn4| and Power switch=|tn8|", + "1708": "Speedwire", + "1709": "SMACOM A", + "1710": "SMACOM B", + "1711": "Connection speed", + "1712": "Current IP address", + "1713": "Current subnet mask", + "1714": "Current gateway address", + "1715": "Current DNS server address", + "1716": "Webconnect", + "1717": "MAC address", + "1718": "Automatic configuration switched on", + "1719": "Faulty communication", + "1720": "10 Mbit/s", + "1721": "100 Mbit/s", + "1722": "IRE faulty", + "1723": "Supplied power (calculated)", + "1724": "Counter status generation counter (calculated)", + "1725": "No connection", + "1726": "Half duplex", + "1727": "Full duplex", + "1728": "Duplex mode", + "1729": "Communication error power unit", + "1730": "Battery values", + "1731": "Energy absorbed charge amount", + "1732": "Charge amount released", + "1733": "Charge", + "1734": "Active charging process", + "1735": "Maintenance", + "1736": "Full and equalization charge", + "1737": "State of charge", + "1738": "Absorbed energy", + "1739": "Energy released", + "1740": "Generator", + "1741": "Automatic start", + "1742": "Reason for requesting generator", + "1743": "Generator measured values", + "1744": "Manual control", + "1745": "Generator queries state of charge", + "1746": "Switch-off limit in time range 1", + "1747": "Switch-off limit in time range 2", + "1748": "Number of starts", + "1749": "Full stop", + "1750": "Actual increased self-consumption", + "1751": "Current self-consumption", + "1752": "Current capacity", + "1753": "Time for boost charge", + "1754": "Time for equalization charge", + "1755": "Time for full charge", + "1756": "Maximum start attempts after error", + "1757": "Maximum charging current", + "1758": "Current set charging voltage", + "1759": "Nominal capacity", + "1760": "Maximum temperature", + "1761": "Nominal current", + "1762": "Generator request via power", + "1763": "Switch-off power", + "1764": "Switch-on power", + "1765": "General operating status", + "1766": "Rise in self-consumption switched on", + "1767": "Boost charge", + "1768": "Full charge", + "1769": "Equalization charge", + "1770": "Float charge", + "1771": "Charge with solar power", + "1772": "Charge with solar and grid power", + "1773": "No request", + "1774": "Load", + "1775": "Time control", + "1776": "Manual one hour", + "1777": "Manual start", + "1778": "External source", + "1779": "Separated", + "1780": "Public electricity mains", + "1781": "Island mains", + "1782": "Valve Regulated Lead Acid battery (VRLA)", + "1783": "Flooded lead acid batt. (FLA)", + "1784": "Nickel/Cadmium (NiCd)", + "1785": "Lithium-Ion (Li-Ion)", + "1786": "S0 impulses/kWh:", + "1787": "Initialization", + "1788": "Ready", + "1789": "Warming", + "1790": "Synchronization", + "1791": "Activated", + "1792": "Resynchronization", + "1793": "Generator separation", + "1794": "Slow down", + "1795": "Bolted", + "1796": "Blocked after error", + "1797": "Energy release today", + "1798": "External sources", + "1799": "No", + "1800": "Generator", + "1801": "Mains", + "1802": "Mains and generator", + "1803": "Invalid configuration for the PV generation counter", + "1804": "Invalid configuration for the mains infeed counter", + "1805": "Invalid configuration for the mains consumption counter", + "1806": "Error in data transfer from the PV gen. counter", + "1807": "Error in data transfer from mains infeed counter", + "1808": "Error in data transfer from mains consump. counter", + "1809": "Invalid configuration for the load control", + "1810": "The communiction key has been replaced", + "1811": "PV system time has been reset", + "1812": "Serial number of the Bluetooth root node is |u0|-|u4|", + "1813": "Bluetooth connection quality to root node: |d0|%", + "1814": "There is no Bluetooth conn.", + "1815": "Establishing Bluetooth connection to root node", + "1816": "Bluetooth connection failed", + "1817": "Connection to load faulty. Load control not poss.", + "1818": "Power outage", + "1819": "Number of DC current measurement units", + "1820": "USB connection 1", + "1821": "External measurement of the insulation resistance", + "1822": "Alignment not homogeneous", + "1823": "PV connection reconfigured", + "1824": "Arc detection triggered", + "1825": "SMTP server", + "1826": "Encryption", + "1827": "SSH", + "1828": "Trigger time synchronization", + "1829": "Always SSL/TLS", + "1830": "SSL/TLS if possible", + "1831": "No encryption", + "1832": "Connection to mains establ.", + "1833": "Connection to mains disconn.", + "1834": "Connection to mains collapsed", + "1835": "Fault sensor module temp.", + "1836": "Fan life-time reached", + "1837": "Error in pyranometer", + "1838": "Pyranometer calibr. necessary", + "1839": "Backup mode switched on", + "1840": "Communication to the Sunny Portal was disrupted for |s0| hours", + "1841": "An error occurred in communication to the Sunny Portal: Error Code |d0|", + "1842": "Transfer of the Firmware update Version number |u/9/0| for device type |tn4|. The transfer can take some time.", + "1843": "Error when transferring the Firmware update Version number |u/9/0| for device type |tn4|. Procedure aborted.", + "1844": "IGMP switched on", + "1845": "Speedwire Group", + "1846": "|tn4|: network busy", + "1847": "|tn4|: network overloaded", + "1848": "|tn4|: faulty data packages", + "1849": "|tn4|: communication status goes to |tn8|", + "1850": "|tn4|: communication disrupted", + "1851": "|tn4|: connection speed goes to |tn8|", + "1852": "|tn4|: duplex mode goes to |tn8|", + "1853": "Load reduced through device reduction or increase of query interval", + "1854": "Stand-alone operation", + "1855": "Stand-alone operation", + "1856": "Analogue current input 4", + "1857": "Analogue voltage input 2", + "1858": "Analogue voltage input 3", + "1859": "Analogue voltage input 4", + "1860": "Energy consumed internally", + "1861": "|tn4|: Network load OK", + "1862": "high", + "1863": "Hardware recognition failed", + "1864": "Unknown hardware ID", + "1865": "Update transport started", + "1866": "Update transport successful", + "1867": "Update transport failed", + "1868": "Communication with device currently not possible. Device may be switched off.", + "1869": "Encrypt communication", + "1870": "Communication monitoring signal", + "1871": "Last successful upload", + "1872": "every 30 minutes", + "1873": "every 2 hours", + "1874": "every 4 hours", + "1875": "every 6 hours", + "1876": "every 8 hours", + "1877": "every 12 hours", + "1878": "BT chip has been reinitialised", + "1879": "Hardware ID", + "1880": "Monitoring server", + "1881": "Remove device", + "1882": "Remove all devices", + "1883": "Device", + "1887": "System environment", + "1888": "STP208HW12", + "1889": "STP208HW13", + "1890": "STP208HW14", + "1891": "STP208HW15", + "1892": "SMTP", + "1893": "Active power", + "1894": "Reactive power", + "1895": "Digital inputs", + "1896": "Analogue inputs", + "1897": "Modbus", + "1898": "Active power limits are being sent to PV system", + "1899": "Reactive power setpoint is sent to system", + "1900": "Invalid spec. for |tn0| from |tn4|", + "1901": "New active power limits from |tn0| parameter |tn4| value |d8|%", + "1902": "New reactive power spec. from |tn0| parameter |tn4| value |f8|%", + "1903": "New reactive power spec. from |tn0| parameter |tn4| value |f8|", + "1904": "New reactive power spec. from |tn0| parameter |tn4| value |tn8|", + "1905": "Default status for |tn0| active", + "1906": "Wind direction", + "1907": "°", + "1908": "Reset communication data", + "1909": "Delete system parameters in SPI", + "1910": "Delete ODB experts in SPI", + "1911": "Delete HP images in SPI", + "1912": "Delete all firmware blocks in SPI", + "1913": "Clear SPI flashes", + "1914": "Reset CP", + "1915": "Webconnect update", + "1916": "Webconnect update failed", + "1917": "PID quick stop triggered", + "1918": "Self-test failed", + "1919": "Insulation monitoring error", + "1920": "Check insulation monitoring", + "1921": "First error stack", + "1922": "Stack error", + "1923": "Cluster controller registration failed: |tn0|", + "1924": "Cluster controller registered", + "1925": "New devices registered", + "1926": "Registration of new devices failed", + "1927": "Heartbeat signal sending failed", + "1928": "Network latency too high", + "1929": "Test at maximum voltage", + "1930": "Alarm at active power limit", + "1931": "Alarm at reactive power specification", + "1932": "Filter settings", + "1933": "E-mail sent", + "1934": "E-mail sending failed", + "1935": "Alarm triggered. Event |d0| at device |d4|:|u8|", + "1936": "Result of the last e-mail dispatch", + "1937": "Set NetID: |s0|", + "1938": "NetID 1 not supported", + "1939": "|tn0| logs in from |ip4|", + "1940": "Login from |ip0| failed", + "1941": "|ip0| successfully logged off", + "1942": "Parameter \"|ln04|\" set successfully. \"|lv04c|\" to \"|lv048|\"", + "1943": "Parameter \"|ln04|\" set successfully. \"|tnc|\" to \"|tn8|\"", + "1944": "Parameter \"|ln04|\" set successfully. Old value: \"|s8|\"", + "1945": "Parameter \"|ln04|\" set successfully. New value: \"|s8|\"", + "1946": "Setting of parameter \"|ln04|\" failed. \"|lv04c|\" to \"|lv048|\"", + "1947": "Setting of parameter \"|ln04|\" failed. \"|tnc|\" to \"|tn8|\"", + "1948": "Setting of parameter \"|ln04|\" failed. Old value: \"|s8|\"", + "1949": "Setting of parameter \"|ln04|\" failed. New value: \"|s8|\"", + "1950": "Watchdog reset |s0|", + "1951": "Memory card detected (capacity|d0| MB, free |d4| MB)", + "1952": "Memory card removed", + "1953": "Memory card nearly full (capacity|d0| MB, free |d4| MB)", + "1954": "Memory card write-protected", + "1955": "Memory card not detected or not readable", + "1956": "Memory card full (capacity|d0| MB, free |d4| MB)", + "1957": "Memory card full", + "1958": "No memory card inserted", + "1959": "Syslog service act. until: |ts0|", + "1960": "Error occurred in the FTP Push conn. test: |tn0|", + "1961": "Target computer does not respond", + "1962": "Connection rejected by target computer", + "1963": "Too many users logged in", + "1964": "Incorrect user name or password", + "1965": "File/directory not found or no access rights", + "1966": "An error occurred during FTP upload: |tn0|", + "1967": "Energy values for device |u0|:|u4| for time from |ts8| to |tsc| resent", + "1968": "Active power limitation: |b0|%/|b1|%/|b2|% (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1969": "Reactive power spec.: |b0|%/|b1|%/|b2|% (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1970": "cos φ spec.: |f0| (|x9|-|x8|-|x7|-|x6|-|x5|-|x4|)", + "1971": "Unknown PRB attempted to change |tn0|", + "1972": "Communication error: Contact to device |tn0|, SN: |u4| overdue (last contact: |ts8|)", + "1973": "X-axes reference", + "1974": "Y-axes reference", + "1975": "Voltage in V", + "1976": "Voltage in percentages of Un", + "1977": "Var in percentages of Pmax", + "1978": "Power in percentages of Pmax", + "1979": "Power in percentages of frozen active power", + "1980": "X value 7", + "1981": "Y value 7", + "1982": "X value 8", + "1983": "Y value 8", + "1984": "Reactive power/volt. char. Q(V) with meas. points", + "1985": "Conf. of reactive power/volt. char. Q(V) with meas. points", + "1986": "Activating active power", + "1987": "Deactivating active power", + "1988": "Lag time", + "1989": "Activating voltage", + "1990": "Deactivating voltage", + "1991": "Characteristic 2", + "1992": "PV system switches to status |tn0|", + "1993": "directly after \"Upload\"", + "1994": "Active power currently limited due to AC current limitation", + "1995": "EPS relay fails to open or close", + "1996": "Modbus |tn0| started", + "1997": "Modbus |tn0| terminated", + "1998": "An error occurred during startup of Modbus |tn0|: port |d4|", + "1999": "Modbus configurations file |s0| successfully loaded", + "2000": "Modbus configurations file |s0| corrupt", + "2001": "SMACOM C", + "2002": "SMACOM D", + "2003": "Power control module", + "2004": "Status of digital inputs", + "2005": "Remote shut-down", + "2006": "Input C defective", + "2007": "Fault in wind sensor", + "2008": "Lower frequency deviation limit prior to active power release", + "2009": "Upper frequency deviation limit prior to active power release", + "2010": "Application-ID", + "2011": "Switchable maximum threshold", + "2012": "Switchable maximum threshold tripping time", + "2013": "Switchable minimum threshold", + "2014": "Switchable minimum threshold tripping time", + "2015": "Operating mode of frequency restriction", + "2016": "Source of quick shut-down", + "2017": "Switchable frequency thresholds", + "2018": "IEC 61850 configuration", + "2019": "GOOSE configuration", + "2020": "61850 GOOSE", + "2021": "Alarm upon warnings", + "2022": "Alternative e-mail sender address (optional)", + "2023": "Absolute", + "2024": "In percentages", + "2025": "File upload successful: |s0|", + "2026": "File upload failed: |s0|", + "2027": "File upload rejected: |s0|", + "2028": "NSS quick stop: |tn0| through |tn4| is executed", + "2029": "Webconnect enabled", + "2030": "Webconnect disabled", + "2031": "Webconnect error: no connection", + "2032": "Default gateway not configured", + "2033": "DNS server not configured", + "2034": "No reply to DNS request", + "2035": "SIP proxy DNS resolution failed", + "2036": "Stun server DNS resolution failed", + "2037": "No reply to request to Stun server", + "2038": "No reply to SIP option packs", + "2039": "Webconnect server: Device could not log on", + "2040": "Storage medium detected at USB2; USB1 not assigned, thus no logging", + "2041": "reaction excitation type", + "2042": "Standardized active power", + "2043": "Reactive power setpoint Q", + "2044": "Change excitation type", + "2045": "Do not change excitation type", + "2046": "Internal SD card defective", + "2047": "Data retention refresh started", + "2048": "Data retention refresh completed", + "2049": "NSS not forwarded, is deactivated", + "2050": "Invalid NSS command", + "2051": "Invalid RPC command", + "2052": "E-mail could not be sent. SMTP error code: |d0|", + "2053": "Digital input group 1 (DI1 .. DI4)", + "2054": "Digital input group 2 (DI5 .. DI8)", + "2055": "DI1", + "2056": "DI1 DI2", + "2057": "DI1 DI2 DI3", + "2058": "DI1 DI2 DI3 DI4", + "2059": "DI1 DI2 DI4", + "2060": "DI1 DI3", + "2061": "DI1 DI3 DI4", + "2062": "DI1 DI4", + "2063": "DI2", + "2064": "DI2 DI3", + "2065": "DI2 DI3 DI4", + "2066": "DI2 DI4", + "2067": "DI3", + "2068": "DI3 DI4", + "2069": "DI4", + "2070": "DI5", + "2071": "DI5 DI6", + "2072": "DI5 DI6 DI7", + "2073": "DI5 DI6 DI7 DI8", + "2074": "DI5 DI6 DI8", + "2075": "DI5 DI7", + "2076": "DI5 DI7 DI8", + "2077": "DI5 DI8", + "2078": "DI6", + "2079": "DI6 DI7", + "2080": "DI6 DI7 DI8", + "2081": "DI6 DI8", + "2082": "DI7", + "2083": "DI7 DI8", + "2084": "DI8", + "2085": "Webconnect server: DNS address cannot be resolved", + "2086": "Webconnect error: Default gateway not configured", + "2087": "Webconnect error: DNS server not configured", + "2088": "Webconnect error: No reply to DNS request |s0|", + "2089": "Webconnect error: Unknown SIP proxy |s0|", + "2090": "Webconnect error: Unknown STUN server", + "2091": "Webconnect error: No reply to request to STUN server", + "2092": "Webconnect error: No reply to SIP option packs", + "2093": "Webconnect error: Device could not log onto server", + "2094": "Webconnect error: DNS address could not be resolved on server (|s0|)", + "2095": "Webconnect error: Faulty communication", + "2096": "STP208HW11", + "2097": "Phase L2 against L3", + "2098": "Phase L3 against L1", + "2099": "Power unit supplies data", + "2100": "Power limitation to prevent load unbalance", + "2101": "Insulation measurement", + "2102": "Frequency restr. due to timeout in |tn0|", + "2103": "Inconsistent communication version", + "2104": "Invalid device combination", + "2105": "Max. permitted number of inverters exceeded", + "2106": "Generator voltage too high", + "2107": "Mirror new complete pack", + "2108": "Remove inverter or delete removed inverters", + "2110": "Unsupported data system to |s0|", + "2111": "Voltage increase protection trigger time", + "2112": "Goose-Mac address", + "2113": "Grid connection point", + "2114": "Active power specification", + "2115": "Reactive power specification", + "2116": "Active power limitation", + "2117": "Generator control", + "2118": "Configuration of generator control", + "2119": "Derating", + "2120": "RCD adjustment", + "2121": "30 mA", + "2122": "40 mA", + "2123": "50 mA", + "2124": "60 mA", + "2125": "70 mA", + "2126": "80 mA", + "2127": "90 mA", + "2128": "100 mA", + "2129": "Number of S0 impulses", + "2130": "Connection establishment", + "2131": "Data transfer from PV generation counter OK", + "2132": "Data transfer from mains infeed counter OK", + "2133": "Data transfer from mains consumption counter OK", + "2134": "Nominal power", + "2135": "Operating mode of active power limitation", + "2136": "Dynamic active power limitation", + "2137": "Fixed specification in Watt", + "2138": "Fixed specification in percentages", + "2139": "Characteristic curve", + "2140": "Set active power limit", + "2141": "Configuration of network switch failed", + "2142": "Configuration of network switch successful", + "2143": "Relay defect confirmed", + "2144": "Dynamic active power limitation started.", + "2145": "Dynamic active power limitation terminated.", + "2146": "Act. power limitation deactivated due to incorr. configuration.", + "2147": "Supplied power: |u0| W (permitted value: |u4| W)", + "2148": "Active power was limited today for |u0| minutes.", + "2149": "Error: act. power limitation activated w/o regard to self consumption", + "2150": "Self-consumption again included for active power limitation.", + "2151": "Permanent 0 W grid supply measured No active power limitation possible, if meter is faulty", + "2152": "Inverter fails to respond to act. power limitation.", + "2153": "Self-test started manually", + "2154": "Manually started self-start completed successfully", + "2155": "Supplied power has exceeded the permitted value several times.", + "2156": "No answer during log on", + "2157": "No answer during log on to server", + "2158": "Permanent freq. restriction", + "2159": "Condition test successful", + "2160": "Condition test failed", + "2161": "STP267HW07", + "2162": "Number of section switches", + "2163": "Time to open", + "2164": "Time to close", + "2165": "Section switches", + "2166": "Overload at high DC voltage", + "2167": "Max. operating cycles of the GFDI reached", + "2168": "Replace GFDI", + "2169": "React. power spec.: |d0|%/|d4|%/|d8|%", + "2170": "cos φ spec.: |f0|/|f4|/|f8| |tnc|", + "2171": "Discharge cut-off voltage", + "2172": "Maximum charge current", + "2173": "Maximum discharge current", + "2174": "Cell charge nominal voltage for boost charge", + "2175": "Cell charge nominal voltage for full charging", + "2176": "Cell charge nominal voltage for equalization charge", + "2177": "Cell charge nominal voltage for float charge", + "2178": "Hysteresis minimum threshold", + "2179": "Hysteresis maximum threshold", + "2180": "Maximum reverse power", + "2181": "Maximum reverse power tripping time", + "2182": "Measurements of external power connection", + "2183": "Mains oper. without feed back", + "2184": "Energy saving in the network", + "2185": "End energy saving in the network", + "2186": "Start energy saving in the network", + "2187": "|tn0| logs on", + "2188": "Access to |x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf|", + "2189": "Logging on |x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf| failed", + "2190": "|x0||x1|:|x2||x3|:|x4||x5|:|x6||x7|:|x8||x9|:|xa||xb|:|xc||xd|:|xe||xf| was successfully logged off", + "2191": "Minimum operating temperature not reached", + "2192": "Update Zigbee", + "2193": "Zigbee update failed", + "2194": "Energy transfer not possible", + "2195": "Number of UCP events", + "2196": "Derating because of low DC voltage", + "2197": "Derating because of power and DC voltage", + "2198": "Bias voltage", + "2199": "Relative", + "2200": "Nominal apparent power", + "2201": "Low-voltage powerline", + "2202": "Medium-voltage powerline", + "2203": "Transformer", + "2204": "Ohmic resistive coating", + "2205": "Inductive reactive coating", + "2206": "Capacitive reactive coating", + "2207": "Short-circuit voltage", + "2208": "Nominal voltage of the high-voltage side", + "2209": "Ohm/km", + "2210": "Length of the low-voltage powerline", + "2211": "Length of the medium-voltage powerline", + "2212": "AC voltage measurement on the inverter side less than a mains voltage measurement", + "2213": "AC voltage measurement on the mains side less than inverter side voltage measurement", + "2214": "AC voltage measurement of the mains limit controller is defective", + "2215": "AC elect. measurem. is defect.", + "2216": "AC voltage measurement shows a whine on mains side", + "2217": "Defective precharging circuit", + "2218": "Check AC meas. cable and AC voltage sensing", + "2219": "Battery error", + "2220": "Channel 2 arc detection triggered", + "2221": "Check AC cable and AC power meas.", + "2222": "Check parameter settings of the DSP", + "2223": "Check precharg. circuit and fuses", + "2224": "Precharging circuit active", + "2225": "Pure reactive power operation, QonDemand active", + "2226": "Reverse current detection (immed. separation from the PV field)", + "2227": "General firmware error: |u0|", + "2228": "General firmware warning: |u0|", + "2229": "General error: |u0|/|u4|/|u8|/|uc|", + "2230": "Capacitor self-test failed", + "2231": "Check capacitor", + "2232": "SMA energy meter purchase", + "2233": "SMA energy meter supply", + "2234": "PIC", + "2235": "SMA energy meter purchase and supply", + "2236": "PLC communication impaired", + "2237": "PLC communication impaired", + "2238": "Power line communication", + "2239": "Package error rate", + "2240": "Intermediate circuit voltages not permitted (SW)", + "2241": "Wrong config: simultan. communication via bluetooth and speedwire", + "2242": "Overvoltage suppression P (V)", + "2243": "Overvoltage suppression Q (V)", + "2244": "Serial Number", + "2245": "Active power limitation", + "2246": "D1: 0 | D2: 0 | D3: 0 | D4: 0", + "2247": "D1: 1 | D2: 0 | D3: 0 | D4: 0", + "2248": "D1: 0 | D2: 1 | D3: 0 | D4: 0", + "2249": "D1: 1 | D2: 1 | D3: 0 | D4: 0", + "2250": "D1: 0 | D2: 0 | D3: 1 | D4: 0", + "2251": "D1: 1 | D2: 0 | D3: 1 | D4: 0", + "2252": "D1: 0 | D2: 1 | D3: 1 | D4: 0", + "2253": "D1: 1 | D2: 1 | D3: 1 | D4: 0", + "2254": "D1: 0 | D2: 0 | D3: 0 | D4: 1", + "2255": "D1: 1 | D2: 0 | D3: 0 | D4: 1", + "2256": "D1: 0 | D2: 1 | D3: 0 | D4: 1", + "2257": "D1: 1 | D2: 1 | D3: 0 | D4: 1", + "2258": "D1: 0 | D2: 0 | D3: 1 | D4: 1", + "2259": "D1: 1 | D2: 0 | D3: 1 | D4: 1", + "2260": "D1: 0 | D2: 1 | D3: 1 | D4: 1", + "2261": "D1: 1 | D2: 1 | D3: 1 | D4: 1", + "2262": "Release time", + "2263": "Release value", + "2264": "Error tolerance time", + "2265": "Operating mode of the stat.volt.maint. for Q on demand", + "2266": "Manual reactive power setpoint for zero power output", + "2267": "K-factor of react. current stat. for undervolt.", + "2268": "K-factor of react. current stat. for overvolt.", + "2269": "Reactive power charact. curve", + "2270": "cos φ or Q specification through optimum PV system control", + "2271": "Active power in watts", + "2272": "cos φ (EEI convention)", + "2273": "Configuration of characteristic curve mode", + "2274": "Activation of the characteristic curve", + "2275": "Activation threshold", + "2276": "Deactivation threshold", + "2277": "Threshold reference", + "2278": "Supporting points of the characteristic curve 1", + "2279": "Supporting points of the characteristic curve 2", + "2280": "Supporting points of the characteristic curve 3", + "2281": "X value", + "2282": "Y value", + "2283": "Service mode", + "2284": "Set charge volt. in serv. mode", + "2285": "Set disch. volt. in serv. mode", + "2286": "Charge current lim. serv. mode", + "2287": "Disch. current lim. serv. mode", + "2288": "Battery switch", + "2289": "Charge battery", + "2290": "Discharge battery", + "2291": "Battery standby", + "2292": "Charge battery", + "2293": "Discharge battery", + "2294": "Update battery management syst.", + "2295": "Battery management system update unsuccessful", + "2296": "New battery identified", + "2297": "Charge battery overcurr. (SW)", + "2298": "Disch. battery overcurr. (SW)", + "2299": "Battery undervoltage", + "2300": "Battery overvoltage", + "2301": "Battery switch overtemperature", + "2302": "Battery current sensor offset", + "2303": "Setting of parameter \"|ln04|\" unsuccessful. Conflict w/parameter \"ln8c|\"", + "2304": "Battery overcurrent", + "2305": "Battery input defect", + "2306": "Charge battery overcurr. (HW)", + "2307": "Disch. battery overcurr. (HW)", + "2308": "Battery overvoltage (HW)", + "2309": "Battery undervoltage (SW)", + "2310": "Battery overvoltage (SW)", + "2311": "Check cabling at inverter end", + "2312": "Delete BMS logger", + "2313": "Delete BMS events", + "2314": "Meter on Speedwire", + "2315": "Cell voltage", + "2316": "STP208HW10", + "2317": "Device with serial no. |u0| has not be contactable since |u4| day(s)", + "2318": "Device with serial no. |u0| is again contactable", + "2319": "Loss of communication with one or more devices", + "2320": "Ramp up after ret. to norm. op", + "2321": "Avg. active power limit", + "2335": "Faulty quick stop", + "2336": "Check quick stop connections", + "2337": "Insulated operation, insulation measurement", + "2338": "Trace data saved on SD board", + "2339": "Capacitor self-test interrupted", + "2340": "LG Chem", + "2341": "Sunny Home Manager preset", + "2342": "Production date", + "2343": "Activation processes", + "2344": "Charge mode activat. processes", + "2345": "Disch. mode activat. processes", + "2346": "All charge mode activ. proc.s", + "2347": "All disch. mode activ. proc.s", + "2348": "Total running time", + "2349": "Charge res. for emerg. curr. op.", + "2350": "Rated capacity", + "2351": "Cell temperature", + "2352": "Storage management operating mode", + "2353": "Set target current value", + "2354": "BAT-2.0A-SE-10", + "2355": "BMS activation processes", + "2356": "Active power limited AC voltage", + "2357": "Active power setpoint", + "2358": "Act./reac. pow. contr. via comm.", + "2359": "Reactive power setpoint", + "2360": "PV generation", + "2361": "Total values", + "2362": "Realtime values", + "2363": "Battery charge", + "2364": "Battery discharge", + "2365": "Electrical storage ratio", + "2366": "Meter count and PV gen. meter", + "2367": "Total consumption", + "2368": "Direct consumption", + "2369": "PV generation power", + "2370": "Present battery charge", + "2371": "Present battery discharge", + "2372": "Self-consumption ratio", + "2373": "Present electrical storage ratio", + "2374": "Autonomy ratio", + "2375": "Direct consumption ratio", + "2376": "Set PV generation meter", + "2377": "Set cumulative total consump.", + "2378": "Set cumulative self-consump.", + "2379": "Set cumulative direct consump.", + "2380": "Set battery charge", + "2381": "Set battery discharge", + "2382": "Server switched on", + "2383": "Manual restart", + "2384": "Gfdi relay status", + "2385": "Block status", + "2386": "Overvoltage", + "2387": "Undervoltage", + "2388": "Overfrequency", + "2389": "Underfrequency", + "2390": "Passive islanding detection", + "2391": "Communication fault with meter unit", + "2391t": "No meter values", + "2392": "Communication fault with Sunny Home Manager", + "2393": "Battery service life expiry", + "2394": "Battery connection fault", + "2395": "Unauthorized battery system", + "2396": "Battery voltage deviation", + "2397": "Battery system defect", + "2398": "Battery input defect", + "2399": "Battery switch relay defect", + "2400": "Battery switch defect", + "2401": "Battery system communication error", + "2402": "Battery system signal fault", + "2403": "Battery cell overvoltage fault", + "2404": "Battery cell undervoltage fault", + "2405": "Battery low temperature fault", + "2406": "Battery high temperature fault", + "2407": "Battery imbalancing fault", + "2408": "Internal battery hardware fault", + "2409": "Check connection", + "2410": "Check battery connection", + "2411": "Isolate generator, open DC switch", + "2412": "Check installation location", + "2413": "Total capacity", + "2414": "Reset battery protection mode", + "2415": "Abs. meter count and PV gen. meter", + "2416": "Absolute battery charge", + "2417": "Absolute battery discharge", + "2418": "Battery switch actuation fault", + "2419": "Min. battery charge capac.", + "2420": "Max. battery charge capac.", + "2421": "Min. battery discharge capac.", + "2422": "Max. battery discharge capac.", + "2423": "Mains exch. capac. target value", + "2424": "Presetting", + "2425": "Temperature", + "2426": "Do not update components", + "2427": "Max. PV power", + "2428": "Max. charge capacity", + "2429": "Min. charge capacity", + "2430": "Max. discharge capacity", + "2431": "Min. discharge capacity", + "2432": "Determine SOH", + "2433": "New active power setpoint via |tn0| parameter |tn4| value |d8|%", + "2434": "Update mains watchdog unit", + "2435": "Mains watchdog unit update unsuccessful", + "2436": "Update communication unsuccessful", + "2437": "New active power setpoint via |tn0| parameter |tn4| value |d8|", + "2438": "Another user already assigned Grid Guard rights", + "2439": "Dynamic active power limitation ends. Curtailment lasted |u0| minutes", + "2440": "Stringstromfehler - kommt", + "2441": "Kommunikationsfehler - kommt", + "2442": "SMU-Fehler (WD, EEPROM) - kommt", + "2443": "Stringstromfehler - geht", + "2444": "Kommunikationsfehler - geht", + "2445": "SMU-Fehler (WD, EEPROM) - geht", + "2446": "Battery system safety signal defect", + "2447": "Aged capacitors in AC filter", + "2448": "Monitoring of AC capacitors", + "2449": "Temperature", + "2450": "Highest measured temp.", + "2451": "GridGuard password", + "2452": "STP267HW09", + "2453": "Reset Bootloader Environment", + "2454": "Self-supply", + "2455": "Discharge of current battery", + "2456": "Monitoring", + "2457": "High AC ripple current due to defective sine-wave filter capacitors", + "2458": "High AC ripple current due to too high AC ripple voltage", + "2459": "Check inverter electronics and sine-wave filter capacitors", + "2460": "Fan fault interior 3", + "2461": "Single-phase power failure on the medium voltage level (transformer switch group Ynd)", + "2462": "Megger threshold value unknown", + "2463": "Check megger", + "2464": "Battery overcurrent (HW)", + "2465": "Initialization battery module", + "2466": "FRT case identif. and treated", + "2467": "V/A", + "2468": "Narrow-band support", + "2469": "Broad-band support", + "2470": "Amplification", + "2471": "Damping", + "2472": "Current capacity (Dvlp)", + "2473": "Programming progress", + "2474": "Set offset of the supplied energy", + "2475": "Set offset of the absorbed energy", + "2476": "As static voltage stability", + "2477": "Dynamic grid disconnection", + "2478": "Seconds", + "2479": "Voltage in percentages of Unom", + "2480": "Stack test canc. due to exc. UZK measured value dev.", + "2481": "Numerous statuses", + "2482": "cos φ of start point", + "2483": "cos φ of end point", + "2484": "Emergency power measurements", + "2485": "Operating mode EPS (Emergency Power Supply)", + "2486": "Change-over time to EPS after network failure", + "2487": "Chg-over t EPS to network op after network reconnect", + "2488": "Total energy", + "2489": "Fan interior 3", + "2490": "Phase loss", + "2491": "Update Bootloader", + "2492": "Update Bootloader failed", + "2493": "Update Webserver", + "2494": "Update Webserver failed", + "2495": "Overcurr. inp.C (SW)", + "2496": "Overvoltage input C (SW)", + "2497": "Software component", + "2498": "Communication Bootloader", + "2499": "Webserver", + "2500": "System control and fallback behavior", + "2501": "Fallback behavior", + "2502": "Timeout", + "2503": "Fallback value of reactive power setting", + "2504": "Fallback value of cos φ for active power output", + "2505": "Fallback value of the excitation type for active power output", + "2506": "Values maintained", + "2507": "Apply fallback values", + "2508": "Specification", + "2509": "Active power limitation P", + "2510": "Reactive power mode", + "2511": "cos φ", + "2512": "Excitation type cos φ", + "2513": "Fallback active power P", + "2514": "Impedance compensation", + "2515": "Ohmic resistance", + "2516": "Inductive resistance", + "2517": "Capacitive resistance", + "2518": "Frequency-dependent reactive power supply Q(df/dt)", + "2519": "Harmonic-dep. reactive power supply Q(dTHD/dt)", + "2520": "Max. reactive power", + "2521": "Slave 1", + "2522": "Slave 2", + "2523": "Master", + "2524": "Bootloader version", + "2525": "Type of AC distribution", + "2526": "Solar charger total energy", + "2527": "Total energy photovoltaics", + "2528": "Daily energy photovoltaics", + "2529": "Output of photovoltaics", + "2530": "Cluster behaviour when a device fails", + "2531": "Energy saving mode", + "2532": "Areas of application", + "2533": "Operating time statistics counter", + "2534": "Charge factor", + "2535": "No. of equalization charges", + "2536": "No. of full charges", + "2537": "Relative battery discharge since last full charge", + "2538": "Relative battery discharge since last equalization charge", + "2539": "Max. occurred charge current", + "2540": "Max. occurred discharge current", + "2541": "Switch-on limit after overtemperature shutdown", + "2542": "Line resistance of DC connection", + "2543": "Cycle time full charge", + "2544": "Cycle time equalization charge", + "2545": "Temperature compensation", + "2546": "Automatic equalization charge", + "2547": "Absorption phase active", + "2548": "Fault state of charge", + "2549": "Manual equalization charge", + "2550": "Energy saving mode", + "2551": "Time until change-over to energy saving mode", + "2552": "Maximum duration of energy saving mode", + "2553": "Voltage setpoint with deactivated BMS", + "2554": "Start time", + "2555": "End time", + "2556": "Limit of battery state of charge", + "2557": "Type of additional DC sources", + "2558": "Operating time energy count", + "2559": "Automatic frequency control", + "2560": "Maximum AC charge current", + "2561": "external transformer", + "2562": "Operating time", + "2563": "Repeat cycle", + "2564": "Cut-off time until shutdown", + "2565": "Lower lmt deep disch. protect area prior shutdown", + "2566": "Minimum width of deep discharge protection area", + "2567": "Minimum width of backup power area", + "2568": "Area width for conserving battery state of charge", + "2569": "Minimum width of self-consumption area", + "2570": "Most profitable month", + "2571": "Season operation active", + "2572": "Switch-on limit", + "2573": "Switch-off limit", + "2574": "Start time range", + "2575": "Request", + "2576": "Target address", + "2577": "Average time", + "2578": "Min. operating time", + "2579": "Min. idle period", + "2580": "Cooling time", + "2581": "Idle period after fault", + "2582": "Warm-up time", + "2583": "Operating time", + "2584": "Generator request via charge type", + "2585": "Charge type", + "2586": "Generator request via digital input", + "2587": "Reaction to digital input", + "2588": "Remaining min. operating time", + "2589": "Type of current limitation", + "2590": "Sensitivity of generator failure detection", + "2591": "Maximum current of the ext. network interface", + "2592": "Feed-in permitted", + "2593": "Power monitoring", + "2594": "Start feed-in", + "2595": "Stop feed-in", + "2596": "Upper state of charge for reactivating feed-in", + "2597": "Lower state of charge for locking feed-in", + "2598": "Grid request via battery state of charge", + "2599": "Grid request via charge type", + "2600": "Load shedding 1", + "2601": "Load shedding 2", + "2602": "Limit of battery state of charge for start", + "2603": "Limit of battery state of charge for stop", + "2604": "Timer", + "2605": "Duration in which the relay is activated for timer", + "2606": "Repeat cycle for timer", + "2607": "Temperature limit for battery compartment fan", + "2608": "Digital input", + "2609": "Multicluster Box 6", + "2610": "Multicluster Box 12", + "2611": "Multicluster Box 36", + "2612": "Further operation", + "2613": "Stop all devices", + "2614": "Self-consumption area", + "2615": "State of charge conservation area", + "2616": "Backup power area", + "2617": "Deep discharge protection area", + "2618": "Deep discharge area", + "2619": "AC sources and DC charge controllers", + "2620": "Other DC charge controllers", + "2621": "Communicatively coupled DC charge controller", + "2622": "Once", + "2623": "Weekly", + "2624": "June profitable", + "2625": "December profitable", + "2626": "Fixed limit value for current limitation", + "2627": "Frequency-dependent current limitation", + "2628": "Low", + "2629": "Medium", + "2630": "Normal", + "2631": "High", + "2632": "Automatic generator request", + "2633": "1-stage load shedding", + "2634": "1-stage load shedding or 1st stage with 2-stage load shedding", + "2635": "2nd stage for 2-stage load shedding (load shedding 2)", + "2636": "Timer 1", + "2637": "Timer 2", + "2638": "Control of add. loads", + "2639": "Relay on if generator running", + "2640": "Relay on if ext. source available", + "2641": "Relay on if grid is available", + "2642": "Relay off in case of fault", + "2643": "Relay on in case of warning", + "2644": "Relay on if cluster running", + "2645": "Battery compartment fan", + "2646": "Electrolyte pump", + "2647": "ComSync", + "2648": "Relay on with power limitation", + "2649": "Grid disconnection during emergency operation", + "2650": "Earthing in emer op", + "2651": "Lowest measured temperature", + "2652": "Remaining absorption time", + "2653": "Remaining time until full charge", + "2654": "Remaining time until equalization charge", + "2655": "Time-controlled generator operation", + "2656": "Grid request via power", + "2657": "Start date", + "2658": "V/°C", + "2659": "Protection mode", + "2660": "External network", + "2661": "Time range", + "2662": "Device is no longer updated after several failures", + "2663": "Remote update not supported", + "2664": "Execute firmware update via SD card", + "2665": "Power threshold", + "2666": "Power threshold tripping time", + "2667": "Cut-off time", + "2668": "Suitable for energy management", + "2669": "Unsuitable", + "2670": "Conditionally suitable", + "2671": "Well suited", + "2672": "Max. chg-over frequency charge/disch. direct. reached", + "2673": "Switch-on request", + "2674": "Limit value violation in GridGuard setting", + "2676": "Battery system defect (ID |b0|: 0x|x5||x4|, 0x|x7||x6|, 0x|x9||x8|, 0x|xB||xA|)", + "2677": "Operation at generator (at external input)", + "2678": "Feeding network op (at external input)", + "2679": "Energy saving mode of slaves in single-phase parallel op", + "2680": "Energy saving mode at network", + "2681": "Shutdown due to fault", + "2682": "Emergency charge", + "2683": "Automatic start", + "2684": "Manual start (change-over from standby to op)", + "2685": "Manual stop (change-over from op to standby)", + "2686": "Energy saving mode start", + "2687": "Energy saving mode stop", + "2688": "Ext. start via system control (chg-over from op to standby)", + "2689": "Ext. stop via system control (chg-over from op to standby)", + "2690": "Automatic frequency control intervenes", + "2691": "Automatic frequency control ends", + "2692": "Self-consumption control started", + "2693": "Self-consumption control stopped", + "2694": "Only charge op. in self-consumption mode", + "2695": "Full or equalization charge with active self-consumption optimisation", + "2696": "Return to self-consumption optimisation after completing a full or equalization charge", + "2697": "The device switches off", + "2698": "System control: Setpoint spec. activated", + "2699": "System control: Setpoint spec. deactivated", + "2700": "Reset battery management due to new battery", + "2701": "Status change to battery float charge", + "2702": "Status change to battery boost charge", + "2703": "Status change to battery full charge", + "2704": "20 percent calibration being executed", + "2705": "Automatic generator start due to set criteria, e.g. battery state of charge", + "2706": "Automatic generator stop due to set criteria, e.g. battery state of charge", + "2707": "Manual generator start", + "2708": "Manual generator stop", + "2709": "Manual fault confirmation generator fault", + "2710": "Generator requested", + "2711": "Generator started in current-controlled operation", + "2712": "Generator stopped in current-controlled operation", + "2713": "Grid request due to low battery state of charge", + "2714": "Release of grid disconnect due to sufficient battery state of charge", + "2715": "Grid request due to power limit exceedance", + "2716": "Grid disconnect release as power limit not reached", + "2717": "Manual grid request", + "2718": "Manual grid disconnect release", + "2719": "Multifunction relay |d0| of device at L|d4| is |tn8|", + "2720": "Transfer relay |d0| of device at L|d4| is |tn8|", + "2721": "Master starts firmware update of cluster", + "2722": "Sunny Remote Control activated", + "2723": "Data module |d0| incorr. connected or missing", + "2724": "Device model specified", + "2725": "Solar charger 1 is detected", + "2726": "Event |tn0| of process interface", + "2727": "Derating due to temp. L|d0|", + "2728": "Battery voltage too high and not generated by device", + "2729": "Warning actual battery capacity (SOH) <= 70%", + "2730": "A 20% recalibration of battery state of charge executed with a leap greater than 10%", + "2731": "Excess current transfer relay of device at L1", + "2732": "Ext grid disconnect due to undervoltage at phase L1", + "2733": "Ext grid disconnect due to overvoltage at phase L1", + "2734": "External grid disconnect due to insufficient freq. at phase L1", + "2735": "External grid disconnect due to excess freq. at phase L1", + "2736": "Ext grid disconnect due to undesired island grid at phase L1", + "2737": "Ext source disconnect due to violation of any limits in device at L1 (redundant measurement)", + "2738": "Voltage increase protection phase L1", + "2739": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L1", + "2740": "Ext grid disconnect due to phase failure or overload at phase L1", + "2741": "Ext grid disconnect due to external short circuit at phase L1", + "2742": "Ext. network has no correct rotary field", + "2743": "Ext grid disconnect due to overcurrent at phase L1", + "2744": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L1", + "2745": "Reverse power prot. (generator)", + "2746": "Blocking of generator due to too much connect. processes", + "2747": "Prohibited feedback to utility grid at phase L1", + "2748": "Feed-in current larger than set max. value at phase L1", + "2749": "Transfer relay does not close at phase L1", + "2750": "Watchdog counter Slave 1 expired (multiple cons. watchdog tripping)", + "2751": "Faulty CAN communication with device at L2", + "2752": "Short circuit battery temp. sensor", + "2753": "Cable break battery temp. sensor", + "2754": "No synchronisation signal from device to L2", + "2755": "No message from device at L2", + "2756": "Synchronisation not executed", + "2757": "Invalid date", + "2758": "Battery potection mode 1", + "2759": "Short circuit 24V DC output", + "2760": "Timeout of signal processor in device to L2", + "2761": "No PV in off-grid mode available", + "2762": "Generator mode not possible", + "2763": "No valid grif voltage for requested network op.", + "2764": "Fault 4 contactor", + "2765": "Thermal fuse of earthing resistor has tripped (backup TT)", + "2766": "Communication with PV meter faulty", + "2767": "Communication device with SBUKomBox faulty", + "2768": "Watchdog tripping SBUKomBox", + "2769": "Unsupported protocol detected at eHZ 1", + "2770": "Readout heads of eHZ swapped in KomBox input", + "2771": "Communication with meter faulty", + "2772": "Rev pol. batt. connection or short circuit Solar Charger 1", + "2773": "Battery overvoltage Solar Charger 1", + "2774": "Overvoltage PV generator Solar Charger 1", + "2775": "No PV voltage or short circuit Solar Charger 1", + "2776": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 1", + "2777": "Device overtemp Solar Charger 1", + "2778": "No communication to DC charger for more than 24h Solar Charger 1", + "2779": "P(f)/Q(V) char. curve config. autom. adjusted", + "2780": "Timeout monitoring of battery management has triggered", + "2781": "Overtemp. at device transformer at L1", + "2782": "Overtemp. at power element device at L1", + "2783": "AC current limit phase L1", + "2784": "Inverter overvoltage phase L1", + "2785": "Inverter overfrequency phase L1", + "2786": "Inverter underfrequency phase L1", + "2787": "Inverter undervoltage phase L1", + "2788": "Voltage at AC connection phase L1", + "2789": "Device at L1 was loaded above its 5min capacity", + "2790": "Device at L1 was loaded above its 30min capacity", + "2791": "Device at L1 was loaded above its short-time capacity", + "2792": "A slave is in error state, cluster is stopped", + "2793": "The current sensor is not connected, not available or faulty", + "2794": "Meas. range violation battery voltage in device at L1", + "2795": "Ext. battery management detected but not set", + "2796": "Meas. range violation battery voltage in device at L1", + "2797": "Failure of ext. voltage", + "2798": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L1", + "2799": "With open section switch, AC voltage is applied at phase L1", + "2800": "Section switch does not open", + "2801": "N-cond. relay does not open at L1", + "2802": "Transfer relay does not open at phase L1", + "2803": "Reset signal processor in device detected at L1", + "2804": "Invalid calibration in DSP", + "2805": "Timeout in communication for active power limitation", + "2806": "Timeout in communication for reactive power spec.", + "2807": "Timeout in communication for cos-Phi spec.", + "2808": "Wait until device cools down", + "2809": "Reduce load; trip short circuit", + "2810": "Find cause by gradual application of AC sources", + "2811": "Reduce load", + "2812": "Check device and network-forming sources for corr. AC connection", + "2813": "Regulate AC sources; check DC sources settings; check battery nominal voltage", + "2814": "Wait until battery cools down", + "2815": "Check battery; observe correct battery size when replacing it", + "2816": "Reduce load; check battery nominal voltage", + "2817": "Check voltage and frequency of network-forming AC source", + "2818": "Check network connection (wire cross-sect.)", + "2819": "Check battery voltage (transmission ratio of transformer affects the voltage being set)", + "2820": "Trip external short circuit", + "2821": "Check phase assigt of network-forming AC source", + "2822": "Check ext. and int. AC connections", + "2823": "Check control and wiring of coupling contactor", + "2824": "Check N-cond. relay.", + "2825": "Check whether AC sources can be regulated", + "2826": "Confirm generator management fault", + "2827": "Reduce load; regulate AC sources", + "2828": "Check system wiring; contact SMA Service", + "2829": "Check CAN connections and terminating resistors", + "2830": "Check sensor status and function", + "2831": "Check system config.; check cluster communication (wires / resistors)", + "2832": "Check generator (fuel, fuses, fault status)", + "2833": "Set time and date", + "2834": "Check settings; charge battery; observe battery size when replacing it", + "2835": "Check cabling of extension cluster to main cluster; measure AC voltage", + "2836": "Check cluster communication", + "2837": "Check contactor", + "2838": "Check network connection (phasing); contact Service", + "2839": "Wait until earthing resistor has cooled down; reset thermal fuse", + "2840": "Check communication to meter", + "2841": "Check communication to MeterBox", + "2842": "Check communication to meter", + "2843": "Check CAN connection to external battery management", + "2844": "Device incorrectly connected (AC voltage detected)", + "2845": "Eliminate fault in slave", + "2846": "Send in defective device, repair/replace current transformer", + "2847": "Charge battery; check battery nom. voltage; observe battery size when replacing it", + "2848": "Check system settings.", + "2849": "Check voltage and frequency of connected AC source", + "2850": "Check communication to Box (wires, resistors)", + "2851": "Check system config.; check cluster communication", + "2852": "Eliminate fault of slave; check cluster comm. to slave", + "2853": "Check meas. lines to Box", + "2854": "Voltage at zero-crossing 1", + "2855": "Voltage at zero-crossing 2", + "2856": "HystDb", + "2857": "Message from process interface: General", + "2858": "Message from process interface: Battery overvoltage", + "2859": "Message from process interface: Battery undervoltage", + "2860": "Message from process interface: Battery overtemperature", + "2861": "Message from process interface: Battery undertemperature", + "2862": "Message from process interface: Battery overtemp. charge", + "2863": "Message from process interface: Battery undertemp. charge", + "2864": "Message from process interface: Battery overcurrent", + "2865": "Message from process interface: Battery overcurrent charge", + "2866": "Message from process interface: Contactor", + "2867": "Message from process interface: Short circuit", + "2868": "Message from process interface: BMS internal", + "2869": "Message from process interface: Cell imbalance", + "2870": "Message from process interface: Reserved", + "2871": "Message from process interface: Generator", + "2872": "Autostart counter expired in device at L1 (multiple cons. autostart)", + "2873": "Limit value exceedance hardware", + "2874": "Short circuit or cable break temp. sensor of transformer L1", + "2875": "Short circuit or cable break temp. sensor of power elem. L1", + "2876": "No synchronisation signal", + "2877": "Fault in cluster configuration", + "2878": "Fault in address assigt of cluster devices, configuration fault", + "2879": "No message from cluster master (only slave)", + "2880": "No message from cluster master in device at L1", + "2881": "Device int. interprocessor comm. missing in device at L1", + "2882": "Communication with MC-BOX interrupted", + "2883": "Device at L|d0| does not detect output voltage of master cluster", + "2884": "Fault in DSP AI and/or ext. voltage monitoring algorithm", + "2885": "Cluster incomplete", + "2886": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L1", + "2887": "Device int. sync imp missing in device at L1", + "2888": "Processor voltage in device at L1 faulty", + "2889": "Plausibility check MC-BOX failed", + "2890": "Box encoding does not correspond to software settings", + "2891": "Fault in 15V supply of MCBUBox", + "2892": "Box phase missing", + "2893": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L1", + "2894": "Unable to read calibration data or incomplete data in device at L1", + "2895": "Overvoltage boost conv A", + "2896": "Communication to AnalogFrontEnd impaired/defect", + "2897": "Overvoltage boost conv B", + "2898": "Overvoltage boost conv C", + "2899": "Reactive power/voltage param with activation power", + "2900": "Battery fan in Multicluster", + "2901": "Load shedding in Multicluster", + "2902": "EM gateway found: |tn0|, Name: |s4|", + "2903": "EM gateway not found: |tn0|, Name: |s4|", + "2904": "EM device registered: |tn0|, Name: |s4|", + "2905": "EM device removed: |tn0|, Name: |s4|", + "2906": "SEMP", + "2907": "Miele@Home", + "2908": "Derating due to temp. L2", + "2909": "Derating due to temp. L3", + "2910": "Excess current transfer relay of device at L2", + "2911": "Ext grid disconnect due to undervoltage at phase L2", + "2912": "Ext grid disconnect due to overvoltage at phase L2", + "2913": "External grid disconnect due to low frequency at phase L2", + "2914": "Ext grid disconnect due to high frequency at phase L2", + "2915": "Ext grid disconnect due to undesired island grid at phase L2", + "2916": "Ext source disconnect due to violation of any limits in device at L2 (redundant measurement)", + "2917": "Voltage increase protection phase L2", + "2918": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L2", + "2919": "Ext grid disconnect due to phase failure or overload at phase L2", + "2920": "Ext grid disconnect due to external short circuit at phase L2", + "2921": "Excess current transfer relay of device at L3", + "2922": "Ext grid disconnect due to undervoltage at phase L3", + "2923": "Ext grid disconnect due to overvoltage at phase L3", + "2924": "External grid disconnect due to low frequency at phase L3", + "2925": "External grid disconnect due to high frequency at phase L3", + "2926": "Ext grid disconnect due to undesired island grid at phase L3", + "2927": "Ext source disconnect due to violation of any limits in device at L3 (redundant measurement)", + "2928": "Voltage increase protection phase L3", + "2929": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase L3", + "2930": "Ext grid disconnect due to phase failure or overload at phase L3", + "2931": "Ext grid disconnect due to external short circuit at phase L3", + "2932": "Ext grid disconnect due to overcurrent at phase L2", + "2933": "Ext grid disconnect due to overcurrent at phase L3", + "2934": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L2", + "2935": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase L3", + "2936": "Prohibited feedback to grid at phase L2", + "2937": "Feed-in current larger than set max. value at phase L2", + "2938": "Transfer relay does not close at phase L2", + "2939": "Watchdog counter Slave 2 expired (multiple cons. watchdog tripping)", + "2940": "Faulty CAN communication with device at L3", + "2941": "Prohibited feedback to grid at phase L3", + "2942": "Feed-in current larger than set max. value at phase L3", + "2943": "Transfer relay does not close at phase L3", + "2944": "No synchronisation signal from device to L3", + "2945": "No message from device at L3", + "2946": "Battery protection mode 2", + "2947": "Battery protection mode 3", + "2948": "Timeout of signal processor in device to L3", + "2949": "Fault Q5 contactor", + "2950": "Fault Q7 contactor", + "2951": "Fault Q9 contactor", + "2952": "Fault Q10 contactor", + "2953": "Unsupported protocol detected at eHZ 2", + "2954": "Rev pol. batt. connection or short circuit Solar Charger 2", + "2955": "Battery overvoltage Solar Charger 2", + "2956": "Overvoltage PV generator Solar Charger 2", + "2957": "No PV voltage or short circuit Solar Charger 2", + "2958": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 2", + "2959": "Device overtemp Solar Charger 2", + "2960": "No communication to DC charger for more than 24h Solar Charger 2", + "2961": "Rev pol. batt. connection or short circuit Solar Charger 3", + "2962": "Battery overvoltage Solar Charger 3", + "2963": "Overvoltage PV generator Solar Charger 3", + "2964": "No PV voltage or short circuit Solar Charger 3", + "2965": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 3", + "2966": "Device overtemp Solar Charger 3", + "2967": "No communication to DC charger for more than 24h Solar Charger 3", + "2968": "Rev pol. batt. connection or short circuit Solar Charger 4", + "2969": "Battery overvoltage Solar Charger 4", + "2970": "Overvoltage PV generator Solar Charger 4", + "2971": "No PV voltage or short circuit Solar Charger 4", + "2972": "Sensor error (or undertemp) for DC_charger temperature Solar Charger 4", + "2973": "Device overtemp Solar Charger 4", + "2974": "No communication to DC charger for more than 24h Solar Charger 4", + "2975": "Overtemp. at device transformer at L2", + "2976": "Overtemp. at device power elem at L2", + "2977": "AC current limiting phase L2", + "2978": "Inverter overvoltage phase L2", + "2979": "Inverter overfrequency phase L2", + "2980": "Inverter underfrequency phase L2", + "2981": "Inverter undervoltage phase L2", + "2982": "Voltage at AC connection phase L2", + "2983": "Device at L2 was loaded above its 5min capacity", + "2984": "Device at L2 was loaded above its 30min capacity", + "2985": "Device at L2 was loaded above its short-time capacity", + "2986": "Overtemp. at device transformer at L3", + "2987": "Overtemp. at power element device at L3", + "2988": "AC current limiting phase L3", + "2989": "Inverter overvoltage phase L3", + "2990": "Inverter overfrequency phase L3", + "2991": "Inverter underfrequency phase L3", + "2992": "Inverter undervoltage phase L3", + "2993": "Voltage at AC connection phase L3", + "2994": "Device at L3 was loaded above its 5min capacity", + "2995": "Device at L3 was loaded above its 30min capacity", + "2996": "Device at L3 was loaded above its short-time capacity", + "2997": "Meas. range violation battery voltage in device at L2", + "2998": "Meas. range violation battery voltage in device at L3", + "2999": "Meas. range violation battery voltage in device at L2", + "3000": "Meas. range violation battery voltage in device at L3", + "3001": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L2", + "3002": "With open section switch, AC voltage is applied at phase L2", + "3003": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase L3", + "3004": "With open section switch, AC voltage is applied at phase L3", + "3005": "N-cond. relay does not open at L2", + "3006": "Transfer relay does not open at phase L2", + "3007": "Reset signal processor in device detected at L2", + "3008": "N-cond. relay does not open at L3", + "3009": "Transfer relay does not open at phase L3", + "3010": "Reset signal processor in device detected at L3", + "3011": "Autostart counter expired in device at L2 (multiple cons. autostart)", + "3012": "Autostart counter expired in device at L3 (multiple cons. autostart)", + "3013": "Short circuit or cable break temp. sensor of transformer L2", + "3014": "Short circuit or cable break temp. sensor of power element L2", + "3015": "Short circuit or cable break temp. sensor of transformer L3", + "3016": "Short circuit or cable break temp. sensor of power element L3", + "3017": "No message from cluster master in device at L2", + "3018": "Device int. interprocessor comm. missing in device at L2", + "3019": "No message from cluster master in device at L3", + "3020": "Device int. interprocessor comm. missing in device at L3", + "3021": "Device at L2 does not detect output voltage of master cluster", + "3022": "Device at L3 does not detect output voltage of master cluster", + "3023": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L2", + "3024": "Device int. sync imp missing in device at L2", + "3025": "Processor voltage in device at L2 faulty", + "3026": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at L3", + "3027": "Device int. sync imp missing in device at L3", + "3028": "Processor voltage in device at L3 faulty", + "3029": "Fault in 24V supply of MCBUBox", + "3030": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L2", + "3031": "Unable to read calibration data or incomplete data in device at L2", + "3032": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase L3", + "3033": "Unable to read calibration data or incomplete data in device at L3", + "3035": "Installation mode", + "3036": "Battery test charge", + "3037": "Battery test discharge", + "3038": "Start conditions battery test not fulfilled", + "3039": "Additional time range", + "3040": "Communication with grid power meter faulty", + "3041": "Battery test charge successful", + "3042": "Battery test discharge successful", + "3043": "Battery test charge failed", + "3044": "Battery test discharge failed", + "3045": "Memory card is read", + "3046": "No new update on the memory card", + "3047": "Source for system active power", + "3048": "Source for system reactive power", + "3049": "System active power", + "3050": "System reactive power", + "3051": "Measurements at grid connection point", + "3052": "Sum of inverter performance", + "3053": "SMA Energy Meter", + "3054": "Analog input", + "3055": "Modbus", + "3056": "Direct selling", + "3057": "Please confirm", + "3058": "Self-test arc detection: Interference level too high", + "3059": "Self-test arc detection: Signal level too low", + "3060": "Status change to battery equalization charge", + "3061": "Control charging via communication available", + "3062": "Power monitoring", + "3063": "Signal value 1", + "3064": "Signal value 2", + "3065": "Analog output", + "3066": "Digital output", + "3067": "Current measured value", + "3068": "Mains operation with feedback", + "3069": "Lower discharge limit for self-consumption range", + "3070": "Solar charger", + "3071": "After overvoltage", + "3072": "After undervoltage", + "3073": "After frequency error", + "3074": "Ext grid disconnect due to undesired island grid", + "3075": "After passive islanding detection", + "3076": "After active islanding detection", + "3077": "Device ID", + "3078": "Type designation", + "3079": "URL", + "3080": "Communication protocol", + "3081": "Type of measured value acquisition", + "3082": "Measured", + "3083": "Estimated", + "3084": "None", + "3085": "Setpoint for active power limitation. Reference: available nominal power of inverter", + "3086": "Setpoint for reactive power limitation. Ref.: available nominal power of inverter", + "3087": "Resulting setpoint of active power limitation. Reference: total system power", + "3088": "Resulting setpoint of reactive power limitation. Ref.: total system power", + "3089": "Measured active power at grid connection point. Ref.: total system power", + "3090": "Meas. reactive power at grid connection point. Ref.: total system power", + "3091": "Solar charger 2 is detected", + "3092": "Solar charger 3 is detected", + "3093": "Solar charger 4 is detected", + "3094": "Constant operational limiting", + "3095": "Activate feeding operation", + "3096": "Centre/neutral conductor connection", + "3097": "Operating mode slave 1", + "3098": "Operating mode slave 2", + "3099": "Status slave 1", + "3100": "Status slave 2", + "3101": "Cancel", + "3102": "Memory card full", + "3103": "No file system detected", + "3104": "File system incompatible", + "3105": "Save parameters", + "3106": "Save parameters failed", + "3107": "Save log data", + "3108": "No memory card present", + "3109": "Energy output yesterday", + "3110": "Energy output this month", + "3111": "Energy output last month", + "3112": "Energy absorbed yesterday", + "3113": "Energy absorbed this month", + "3114": "Energy absorbed last month", + "3115": "Available PV power", + "3116": "Internal PV power limitation", + "3117": "Reactive power drawn", + "3118": "Maximum short-term decrease in power", + "3119": "PV reactive power currently supplied from grid", + "3120": "PV apparent power currently supplied from grid", + "3121": "PV power not requested", + "3122": "Return monitoring value", + "3123": "Input monitoring value", + "3124": "Estimated fuel consumption since last reset", + "3125": "Estimated current fuel consumption", + "3126": "Currently available power", + "3127": "Fuel save meter", + "3128": "Remote service", + "3129": "Manual mode", + "3130": "Slave mode", + "3131": "Parameter upload complete", + "3132": "Neutral conductor is connected", + "3133": "Run self test", + "3134": "m3", + "3135": "l/h", + "3136": "DC connection, polarity reversed", + "3137": "Inverter is not reaching measured VDC level in time", + "3138": "Inverter is not assigned measured VDC level in time", + "3139": "DC voltage gradient is exceeding the assigned limits", + "3140": "DC current gradient is exceeding the assigned limits", + "3141": "Timeout between internal communication units", + "3142": "VDC too low for synchronisation of DC intermediate circuit", + "3143": "DC intermediate circuit precharging via DC side failed", + "3144": "Invalid control mode of system control", + "3146": "Yes, with manual restart", + "3147": "Send IGMP requests", + "3148": "Self test of offline capacitor test failed", + "3149": "Self test of online capacitor test failed", + "3150": "Check sine filter capacitor current and parameters for capacitor test", + "3151": "Endless loop between online and offline capacitor test", + "3152": "Derating due to DC switch overcurrent", + "3153": "AFE not communicating", + "3154": "AFE measured values outside of the valid range", + "3155": "Double bit ECC error", + "3156": "Bit flipper in FPGA bit stream", + "3157": "ECC self test failed", + "3158": "Active power as a percentage of Pmax", + "3159": "Configuration of characteristic curve mode, 2nd characteristic curve", + "3160": "Malfunction in communication to EM gateway: |tn0|, Name: |s4|", + "3161": "Malfunction in communication to EM device: |tn0|, Name: |s4|", + "3162": "EM gateway incompatible: |tn0|, Name: |s4|", + "3163": "EM device incompatible: |tn0|, Name: |s4|", + "3164": "Internal error |d0| in EM communication", + "3165": "PLL error", + "3166": "Phase loss on low voltage side", + "3167": "Active islanding detection", + "3168": "AFE memory error", + "3169": "AFE EEPROM error", + "3170": "DC-EMC EEPROM error", + "3171": "AC-RLY EEPROM error", + "3172": "Reset main computer", + "3173": "Reset system", + "3174": "Optimized BU process", + "3175": "Linear gradient of the maximum active power", + "3176": "Incompatible file", + "3177": "Incorrect file format", + "3178": "Incorrect login rights for configuration file", + "3179": "Update is currently being received", + "3180": "Update is currently running", + "3181": "Update performed successfully", + "3182": "An error occurred during the update", + "3183": "Tripping delay", + "3184": "Transfer of a configuration file has started", + "3185": "Monitoring has failed, input A detected", + "3186": "Monitoring has failed, input B detected", + "3187": "Monitoring has failed, input C detected", + "3188": "AC choke", + "3189": "Number of strings present", + "3190": "Number of active strings", + "3191": "Average voltage on the high-voltage side", + "3192": "Average current on the high-voltage side", + "3193": "Assigned apparent power", + "3194": "Optimized BU process", + "3195": "Ari-Ari-Adressierung des Eventloggers", + "3196": "NTP time reference", + "3197": "Version of WebUI", + "3198": "AFE controller not ready for operation", + "3199": "Serial numbers for usable meters", + "3200": "Main processor bootloader", + "3201": "Preloader", + "3202": "Fault boost converter temperature sensor", + "3203": "Fault AC choke temperature sensor", + "3204": "Zone monitoring", + "3205": "Deviation from max. standardised string current", + "3206": "Average deviation", + "3207": "Time since an error occurred", + "3208": "String", + "3209": "Maximum current", + "3210": "Deviation at which an error is present", + "3211": "Time until error is reported", + "3212": "Minimum current for activation", + "3213": "Job status |u0| of |ln48| does not match the action to be performed |uc|", + "3214": "Supply grid frequency with greater accuracy", + "3215": "System view", + "3216": "Diagnostics logger", + "3217": "Prescribed self-test", + "3218": "Mean value of the external conductor voltages", + "3219": "Default value for battery", + "3220": "Calculated active power default value", + "3221": "Calculated reactive power default value", + "3222": "Battery status", + "3223": "Total free capacity", + "3224": "Total accessible charge", + "3225": "Charge energy (today)", + "3226": "Charge energy (yesterday)", + "3227": "Charge energy (current month)", + "3228": "Charge energy (previous month)", + "3229": "Discharge energy (today)", + "3230": "Discharge energy (yesterday)", + "3231": "Discharge energy (current month)", + "3232": "Discharge energy (previous month)", + "3233": "IGMP query interval", + "3234": "Overload test", + "3235": "Write flight data", + "3236": "|tn0|-Login via |tn4| locked", + "3237": "Automatic time synchronisation", + "3240": "On-board power supply reset", + "3241": "Load defaults via communication", + "3242": "Manual acknowledgement", + "3243": "Change to error operating mode", + "3244": "Communication problem SDELimit", + "3245": "Partition restored after CRC error or firmware update", + "3246": "Unable to restore partition", + "3247": "Country standard set and parameters applied", + "3248": "Invalid application coding", + "3249": "Application connector not present or not readable", + "3250": "Application connector faulty", + "3251": "Application coding faulty", + "3252": "Invalid hardware variant on application connector", + "3253": "Invalid firmware variant on application connector", + "3254": "Replace application connector", + "3255": "Unable to load calibration data for the current measurement (|tn0|)", + "3256": "Unable to load calibration data for the voltage measurement (|tn0|)", + "3257": "IPC communication error (|tn0|)", + "3258": "Current time is daylight savings time", + "3259": "Air filter differential pressure too high", + "3260": "Fan fault interior 4", + "3261": "Insulation error display |tn0| faulty", + "3262": "Check inverter electronics and display", + "3263": "Remote GFDI not responding for |tn0|", + "3264": "Open", + "3265": "Close", + "3266": "DC shuntboard |d0| stack |d4| not connected", + "3267": "DC shuntboard |d0| stack |d4| connected incorrectly", + "3268": "CAN communication error (|tn0|)", + "3269": "Sensor error, air filter differential pressure", + "3270": "Update Wi-Fi", + "3271": "Update of Wi-Fi not successful", + "3272": "http", + "3273": "D2+", + "3274": "Modbus", + "3275": "Dynamic power display via green LED", + "3276": "Link to |tn0| |d4| lost", + "3277": "Link from |tn0| |d4| or |tn8| lost", + "3278": "SC30DST", + "3279": "SC30ACC", + "3280": "SC30DCC", + "3281": "SC30RIO", + "3282": "SC30CONT", + "3283": "SC30CONT CPU1", + "3284": "SC30CONT CPU2", + "3285": "Fault interior temperature sensor |tn0|", + "3286": "Overtemperature interior |tn0|", + "3287": "Grid monitoring inactive", + "3288": "Orange", + "3289": "Yellow", + "3290": "Green", + "3291": "Red", + "3292": "Timeout in comm. for power preset, device will continue to run", + "3293": "Timeout in comm. for power preset, device switching off", + "3294": "Overtemperature sine filter choke (warning limit exceeded)", + "3295": "Overtemperature sine filter choke (shut-off limit exceeded)", + "3296": "Fast Stop DC overcurrent triggered", + "3297": "Fast Stop GFDI triggered", + "3298": "Fast Stop Emergency Stop at switch cabinet triggered", + "3299": "Fast Stop external triggered", + "3300": "Fast Stop AC circuit breaker auxiliary contact TRIP triggered", + "3301": "Fast Stop feedback AC remote disconnect triggered", + "3302": "Fast Stop feedback short-circuiter triggered", + "3303": "Fast Stop triggered by software", + "3304": "Fast Stop DC disconnect triggered", + "3305": "Wi-Fi module faulty", + "3306": "No Wi-Fi connection possible", + "3307": "Wi-Fi connection established", + "3308": "Wi-Fi connection lost", + "3309": "Insulation error occurred in the past", + "3310": "Deviation in AC/DC power ratio", + "3311": "Check AC/DC measurement channel and the current and voltage sensors", + "3312": "Set parameters 2.0", + "3313": "Wi-Fi", + "3314": "Signal strength of the selected network", + "3315": "Networks found", + "3316": "Connection status", + "3317": "Antenna type", + "3318": "Soft-access-point is turned on", + "3319": "SSID", + "3320": "Password", + "3321": "Activate WPS", + "3322": "WEP", + "3323": "WPA", + "3324": "WPA2", + "3325": "Error while connecting", + "3326": "Internal antenna", + "3327": "External antenna", + "3328": "Time zone database", + "3329": "Parameter Setzen mit SCAST bestätigen", + "3330": "Self-test start |s0|", + "3331": "Current disconnection limit for voltage increase protection |lv048|", + "3332": "Current disconnection limit for voltage monitoring lower maximum threshold |lv048|", + "3333": "Current disconnection limit for voltage monitoring upper minimum threshold |lv048|", + "3334": "Current disconnection limit for voltage monitoring middle minimum threshold |lv048|", + "3335": "Current disconnection limit for frequency monitoring switchable maximum threshold |lv048|", + "3336": "Current disconnection limit for frequency monitoring switchable minimum threshold |lv048|", + "3337": "Current disconnection limit for frequency monitoring lower maximum threshold |lv048|", + "3338": "Current disconnection limit for frequency monitoring upper minimum threshold |lv048|", + "3339": "Measured disconnection threshold for the running test point |lv048|", + "3340": "Standard value for the running test point |lv048|", + "3341": "Measured disconnection time for the running test point |f0| s", + "3342": "Perform scan", + "3343": "Analogue input 1", + "3344": "Analogue input 2", + "3345": "Analogue input 3", + "3346": "Nominal power", + "3347": "Analogue input", + "3348": "Source of measurement", + "3349": "Update time zone database", + "3350": "Update of time zone database not successful", + "3351": "WEP key index", + "3352": "Open loop control", + "3353": "Closed loop control", + "3354": "Old value for |tn0| of |tn4|", + "3355": "Check fan sensor", + "3356": "Usable channels", + "3357": "Channels 1 to 11", + "3358": "Channels 1 to 13", + "3359": "Limits possible active power", + "3360": "Fallback for inverter", + "3361": "Unknown NTP server", + "3362": "NTP request failed", + "3363": "Wi-Fi module detected", + "3364": "QoDForceNight test mode active", + "3365": "Status of the scan", + "3366": "No scan completed", + "3367": "Scan is active", + "3368": "Scan failed", + "3369": "Scan successful", + "3370": "S0 pulses per m/s", + "3371": "S0 sensor for wind speed", + "3372": "S0 sensor for PV generation counter", + "3373": "Pt100 temperature sensor", + "3374": "Pt1000 temperature sensor", + "3375": "1/s", + "3376": "Configuration", + "3377": "Digital input group D1..D4", + "3378": "0000", + "3379": "1000", + "3380": "0100", + "3381": "1100", + "3382": "0010", + "3383": "1010", + "3384": "0110", + "3385": "1110", + "3386": "0001", + "3387": "1001", + "3388": "0101", + "3389": "1101", + "3390": "0011", + "3391": "1011", + "3392": "0111", + "3393": "1111", + "3394": "WPA-TKIP", + "3395": "WPA-AES", + "3396": "WPA2-TKIP", + "3397": "WPA2-AES", + "3398": "WPA2-MIXED", + "3399": "Wi-Fi-MAC address", + "3400": "Regulating power operating mode", + "3401": "Regulating power configuration", + "3402": "Config. of regulating power, const. assigned value", + "3403": "Config. of regulating power, plant control", + "3404": "Preferred power band", + "3405": "Upper reserved value", + "3406": "Lower reserved value", + "3407": "Upper reserved value", + "3408": "Lower reserved value", + "3409": "Active power reserve", + "3410": "Power reserve active", + "3411": "Required positive power reserve will be reserved", + "3412": "Required negative power reserve will be reserved", + "3413": "Maximum possible power reserve", + "3414": "Required power limit", + "3415": "Regulating power in W", + "3416": "Regulating power as a %", + "3417": "Regulating power through plant control", + "3418": "Upper power band", + "3419": "Lower power band", + "3420": "Hertz", + "3421": "Hertz as the difference from the nominal frequency", + "3422": "Regulating power in W", + "3423": "Regulating power as a % of maximum power", + "3424": "Secondary reserve value", + "3425": "Secondary reserve value", + "3426": "WPS is active", + "3427": "SPS AC overvoltage", + "3428": "PV power for SPS too low", + "3429": "Short circuit in the SPS power outlet", + "3430": "SPS mode not available", + "3431": "AC ground fault", + "3432": "Core1", + "3433": "Check inverter electronics and AC overvoltage protection", + "3434": "Electric arc detected in 2nd string group", + "3435": "Ser. el. arc in string |s0| detected by AFCI mod.", + "3436": "AFCI self-test for 2nd string group failed", + "3437": "Self-test el.arc dtct.f. 2nd string group: intf level too high", + "3438": "Self-test el.arc dtct.f. 2nd string group: signal level too low", + "3439": "Overcurrent input D (SW)", + "3440": "Overcurrent input E (SW)", + "3441": "Overcurrent input F (SW)", + "3442": "Overcurrent input D (HW)", + "3443": "Overcurrent input E (HW)", + "3444": "Overcurrent input F (HW)", + "3445": "Input D fault", + "3446": "Input E fault", + "3447": "Input F fault", + "3448": "Offset DC current sensor D", + "3449": "Offset DC current sensor E", + "3450": "Offset DC current sensor F", + "3451": "DC actuator string D fault", + "3452": "DC actuator string E fault", + "3453": "DC actuator string F fault", + "3454": "Overvoltage input D (SW)", + "3455": "Overvoltage input E (SW)", + "3456": "Overvoltage input F (SW)", + "3457": "Overvoltage boost converter D", + "3458": "Overvoltage boost converter E", + "3459": "Overvoltage boost converter F", + "3460": "Overvoltage boost converter A (SW)", + "3461": "Overvoltage boost converter B (SW)", + "3462": "Overvoltage boost converter C (SW)", + "3463": "Overvoltage boost converter D (SW)", + "3464": "Overvoltage boost converter E (SW)", + "3465": "Overvoltage boost converter F (SW)", + "3466": "Monitoring has failed, input D detected", + "3467": "Monitoring has failed, input E detected", + "3468": "Monitoring has failed, input F detected", + "3469": "Maximum achievable reactive power quadrant 1", + "3470": "Maximum achievable reactive power quadrant 2", + "3471": "Maximum achievable reactive power quadrant 3", + "3472": "Maximum achievable reactive power quadrant 4", + "3473": "Minimum achievable cos(phi) quadrant 1", + "3474": "Minimum achievable cos(phi) quadrant 2", + "3475": "Minimum achievable cos(phi) quadrant 3", + "3476": "Minimum achievable cos(phi) quadrant 4", + "3477": "Currently permitted device power", + "3478": "Update WebUI", + "3479": "Update of WebUI not successful", + "3480": "AFCI robustness", + "3481": "Setpoint cos(phi) as per EEI", + "3482": "Lower minimum threshold as RMS value", + "3483": "Lower min.threshold as RMS value for tripping time", + "3484": "Upper maximum threshold as RMS value", + "3485": "Upper max.threshold as RMS value for tripping time", + "3486": "Signal value 1", + "3487": "Signal value 2", + "3488": "Y value 1", + "3489": "Y value 2", + "3490": "DC input has too low a current", + "3491": "DC input without input current", + "3492": "DC inputs are not configured", + "3493": "No communication with I/O module", + "3494": "Error evaluation of the device", + "3495": "Tolerance", + "3496": "Time until warning", + "3497": "EEI displacement power factor", + "3498": "Positive sequence voltage (calculated)", + "3499": "Supplied reactive power (calculated)", + "3500": "The resulting specified active power is |d0|% (specification based on \"|tn4|\").", + "3501": "Currently available active power", + "3502": "Irradiation sensor 0 to 20 mA", + "3503": "Irradiation sensor 0 to 10 V", + "3504": "Offset value of battery current outside of permitted range", + "3505": "Currently permitted number of parameterizations exceeded", + "3506": "Pure reactive power operation, QonDemand stopped", + "3507": "Antenna switching", + "3508": "Device is new", + "3509": "Tripping delay", + "3510": "Plugwise Stretch |s0| successfully connected w. Sunny Home Manager", + "3511": "PV voltage too high, insulation meas. aborted", + "3512": "S0 input", + "3513": "Characteristic curve 3", + "3514": "Stack cur. is permanently in limitation", + "3515": "Float controller is reporting a error", + "3516": "Conf. of char.curve mode, 3rd char.curve", + "3517": "Battery power as a % of maximum power", + "3518": "Bridged strings determined", + "3519": "No bridged strings determined", + "3520": "Voltage deviation", + "3521": "The FW is faulty", + "3522": "Update of the FW being performed", + "3523": "Device is performing a reset", + "3524": "Connect AC", + "3525": "Connect DC", + "3526": "Supply", + "3527": "Fault Ride Through", + "3528": "Device not supplying, all contactors closed", + "3529": "Reactive power supply", + "3530": "Shutdown of supplied power", + "3531": "Controlled operation", + "3532": "Operation as AC source", + "3533": "IO test active", + "3534": "Operation as DC source", + "3535": "Controlled operation with ext. ref. (AC grid)", + "3536": "Controlled operation with ext. ref. (AC grid) for grid monitoring", + "3537": "Commissioning without grid", + "3538": "Commissioning without grid in MPP mode", + "3539": "Alarm upon errors", + "3540": "All grid relays are open", + "3541": "All grid relays are closed", + "3542": "Total of inverter powers. Ref.: available nominal power of inverter", + "3543": "Config. of linear instantaneous power gradient with underfrequency", + "3544": "Linear instantaneous power gradient for over- and underfrequency", + "3545": "Source of ref. meas. for reactive/active power reduction", + "3546": "Phased reactive/act. power specification", + "3547": "Inverter", + "3548": "MC box", + "3549": "Functions for grid/offgrid operation", + "3550": "Functions for grid operation", + "3551": "Functions for offgrid operation", + "3552": "Derating due to AC current limitation", + "3553": "Derating due to max. apparent power", + "3554": "Reactive power priority", + "3555": "Derating due to reserve for a guaranteed reactive power", + "3556": "High DC voltage", + "3557": "Derating due to too high switching currents with Optiprotect", + "3558": "Grid overvoltage very fast", + "3559": "Grid undervoltage very fast", + "3560": "Minimum setpoint for intermediate circuit voltage", + "3561": "Internal PV power limitation as %", + "3562": "PV power limitation via communication as %", + "3563": "PV power limitation via communication for direct marketing as %", + "3564": "Minimum PV power limitation as %", + "3565": "VAr as percentage of available reactive power", + "3566": "Device error insulation monitoring", + "3567": "Insulation monitoring device must be replaced", + "3568": "Hardware driver for GFDI defective", + "3569": "Primary current", + "3570": "Secondary current", + "3571": "Message interval", + "3572": "EEBus", + "3573": "PWM inverse voltage at overvoltage", + "3574": "PWM inversion delay at overvoltage", + "3575": "Total yield S0 energy counter", + "3576": "S0 counter status total yield:", + "3577": "Normal operation (self-consumption increase)", + "3578": "Special operation (charge retention)", + "3579": "Special operation (external setpoint)", + "3580": "Special operation (frequency derating)", + "3581": "No connection speed set", + "3582": "No duplex mode set", + "3583": "No software test set", + "3584": "No update status set", + "3585": "No self-test set", + "3588": "Fallback value of the active power setpoint specification", + "3589": "Nominal current control", + "3590": "Upper battery charge limit", + "3591": "Setpoint for battery charge", + "3592": "Setpoint for battery discharge", + "3593": "Reverse currents or substring A polarity reversed", + "3594": "Reverse currents or substring B polarity reversed", + "3595": "Reverse currents or substring C polarity reversed", + "3596": "Reverse currents or substring D polarity reversed", + "3597": "Reverse currents or substring E polarity reversed", + "3598": "Reverse currents or substring F polarity reversed", + "3599": "Available charging power", + "3600": "Available discharging power", + "3601": "Ambient temperature", + "3602": "Status Enable Signal", + "3603": "Climate management supply required", + "3604": "DC-bus voltage", + "3605": "DC-bus power", + "3606": "Logic supply voltage", + "3607": "Climate management supply voltage", + "3608": "Time synchronization failed", + "3609": "Battery management system update unsuccessful(|d0|)", + "3610": "RS485", + "3611": "Number of detected devices", + "3612": "RS485 device detect timeout", + "3613": "Number of RS485 devices to detect", + "3614": "Start device detect", + "3615": "Internal communication starting", + "3616": "Control test status", + "3617": "Stack control", + "3618": "Stack test", + "3619": "DC connection open", + "3620": "DSP operating state", + "3621": "Current reactive power limit at overriding required reactive power", + "3622": "Comparison group", + "3623": "Group string number", + "3624": "Sensor sensitivity", + "3625": "Active power setpoint in percent", + "3626": "Symmetry mode", + "3627": "Symmetry mode configuration", + "3628": "Symmetric feeding", + "3629": "Asymmetric feeding", + "3630": "Autonom. voltage symmetry mode", + "3631": "Array", + "3632": "Power unit", + "3633": "Reactive power value setpoint in percent", + "3634": "Send interval for SIP OPTIONS keepalive messages", + "3635": "Reactive power mode at power input", + "3637": "Nominal voltage and frequency", + "3638": "Cluster", + "3639": "Cluster type in multi-cluster", + "3640": "Operation mode", + "3641": "Design of the generation plant", + "3643": "44V", + "3644": "46V", + "3645": "48V", + "3646": "120V_60Hz", + "3647": "230V_50Hz", + "3648": "220V_60Hz", + "3649": "Single phase", + "3650": "Three-phase", + "3651": "Split phase", + "3652": "Single-cluster", + "3653": "Main-cluster", + "3654": "Extension cluster", + "3655": "Self-consumption only", + "3656": "Backup only", + "3657": "Self-consumption and backup", + "3658": "Symmetric", + "3659": "Asymmetric", + "3660": "New system", + "3661": "New battery", + "3662": "Address", + "3663": "Multi-cluster", + "3664": "Emergency charge mode", + "3665": "1200 bit/s", + "3666": "19200 bit/s", + "3667": "Detect completed. |d0| devices found", + "3668": "Device found: |tn0| SN: |u4|", + "3669": "Maximum number of RS485-bus devices exceeded", + "3670": "Devices with different baud rates detected", + "3671": "Device with wrong baud rate: |tn0| SN: |u4|", + "3672": "D1D2 mapping error unknown channel name |tn0|", + "3673": "D1D2 mapping error invalid range |tn0|", + "3674": "Restart triggered", + "3675": "maximum active power draw in %", + "3676": "Nominal active power WMaxIn", + "3677": "Fallback of power draw control", + "3678": "Max. power draw in % based on Pmax", + "3679": "Battery not configured", + "3680": "Derating of the PV inverter to the grid connection point", + "3681": "no group", + "3682": "Group 1", + "3683": "Group 2", + "3684": "Group 3", + "3685": "Active power gradient", + "3686": "QCG Start", + "3687": "Symmetric plant design", + "3688": "Asymmetric plant design", + "3689": "Battery reports event", + "3690": "Battery |cC| reports event: 0x|x5||x4|, 0x|x7||x6|, 0x|x9||x8|, 0x|xB||xA|", + "3691": "Check BMS", + "3693": "Timeout monitoring external control has tripped", + "3694": "SOC limit set too narrow to take hysteresis into account", + "3695": "RS485 detection started", + "3696": "DSP RAM defective", + "3697": "DSP code memory defective", + "3698": "CPU self-test DSP", + "3700": "AST type", + "3701": "SIAST50-24", + "3702": "SIAST50-48", + "3703": "SIASTU-48", + "3704": "SIASTBU-24", + "3705": "SIASTBU-48S", + "3706": "SIAST50-48-12", + "3707": "SIAST50-48S-12", + "3708": "Overtemperature AC Busbar", + "3709": "Attach AC Busbar correctly", + "3710": "Error in Backfeed power", + "3711": "Check HW backfeed power", + "3712": "Timeout in communication between inverters", + "3713": "Check inverter communication parameters", + "3714": "Timeout in comm. for grid mgmt. spec., device continues to run", + "3715": "Timeout in comm. for grid mgmt. spec., device switching off", + "3717": "Timeout for battery status change", + "3718": "Check Battery Management System", + "3719": "The battery management system has reported a warning", + "3720": "Location longitude", + "3721": "Location latitude", + "3722": "Time since last reference run", + "3723": "Minimum deviation before tracking start", + "3724": "Minimum elevation deviation before tracking start", + "3725": "No. of steps when leaving azimuth end position", + "3726": "No. of steps when leaving elevation end position", + "3727": "Maximum tilt angle", + "3728": "Select type", + "3729": "Last external override", + "3730": "Maximum azimuth motor current", + "3731": "Maximum elevation motor current", + "3732": "Actual elevation motor current", + "3733": "Actual azimuth motor current", + "3734": "Current azimuth", + "3735": "Current elevation", + "3736": "Target azimuth", + "3737": "Target elevation", + "3738": "Azimut end position", + "3739": "Voltage supply", + "3740": "Number of external overrides", + "3741": "Overdrive", + "3742": "Temperature error", + "3743": "Permanent error", + "3744": "Motor test", + "3745": "Reference run", + "3746": "Wait time", + "3747": "Safe status", + "3748": "Tracking", + "3749": "Back to east position", + "3750": "Night mode", + "3751": "Remote operation", + "3752": "Boot mode", + "3753": "Refresh after 30 s", + "3754": "Stop current command", + "3755": "Up and east", + "3756": "Up", + "3757": "Down", + "3758": "East", + "3759": "West", + "3760": "Remote operation up", + "3761": "Remote operation down", + "3762": "West 90°", + "3763": "South", + "3764": "East 90°", + "3765": "Tilt 35°", + "3766": "Initiate error", + "3767": "Leave remote operation", + "3768": "Reference south", + "3769": "Reference Astro", + "3770": "RPC busy", + "3771": "RPC maximum", + "3772": "Error fuse failed", + "3773": "Error relay", + "3774": "Error invalid X direction", + "3775": "Error invalid Y direction", + "3776": "Error timeout", + "3777": "Error pulse count", + "3778": "Error X range", + "3779": "Error sensor position", + "3780": "Error reference counter", + "3781": "Error RPC halt", + "3782": "Error maximum current exceeded", + "3783": "Error stop current too high", + "3784": "Error invalid X reference", + "3785": "Error invalid Y reference", + "3786": "Error when moving in X direction", + "3787": "Error when moving in Y direction", + "3788": "Error during test", + "3789": "Error Y range", + "3790": "Error delay in X direction", + "3791": "Error delay in Y direction", + "3792": "Error voltage supply", + "3793": "Incorrect switch position for the battery disconnection point", + "3794": "Battery system short circuit", + "3795": "Battery system thermal management defective", + "3796": "Battery system |cC| heating procedure unsuccessful", + "3797": "Battery system derating", + "3798": "Battery system disconnected", + "3799": "Battery system balancing procedure", + "3800": "Battery system SOC calibration procedure", + "3801": "Battery system themal management activated", + "3802": "Details", + "3803": "Heating mode", + "3804": "Grid drawing during heating OK", + "3805": "Max AC battery discharge current", + "3806": "Serial No. device 1", + "3807": "Serial No. device 2", + "3808": "Phase assignment device 1", + "3809": "Phase assignment device 2", + "3810": "Version test failed", + "3811": "Software package update version available", + "3812": "Fan fault MV transformer", + "3813": "Last time synchronization", + "3814": "Device number", + "3815": "Device password", + "3816": "Maximum number of reference run errors", + "3817": "Traverse angle for remote operation", + "3818": "Elevation correction angle", + "3819": "No new update available", + "3820": "Soft Access Point status", + "3821": "300 mA", + "3823": "Power profile", + "3824": "Ext grid disconnect due to overvoltage at phase |s0|", + "3825": "Ext grid disconnect due to undervoltage at phase |s0|", + "3826": "Voltage increase protection phase |s0|", + "3827": "Ext grid disconnect due to undesired island grid at phase |s0|", + "3828": "External grid disconnect due to low frequency at phase |s0|", + "3829": "External grid disconnect due to high frequency at phase |s0|", + "3830": "Phasing of measured AC voltage at Vext and VAC2 does not correspond at phase |s0|", + "3831": "Ext grid disconnect due to insufficient battery voltage or overvoltage at phase |s0|", + "3832": "Ext grid disconnect due to phase failure or overload at phase |s0|", + "3833": "Ext grid disconnect due to external short circuit at phase |s0|", + "3834": "Ext. grid disconnect due to violation of voltage/freq. ratio of ext. voltage at phase |s0|", + "3835": "Feed-in current larger than set max. value at phase |s0|", + "3836": "Inverter overvoltage phase |s0|", + "3837": "Inverter overfrequency phase |s0|", + "3838": "Inverter underfrequency phase |s0|", + "3839": "Inverter undervoltage phase |s0|", + "3840": "Voltage at AC connection phase |s0|", + "3841": "Fault of voltage/current measurement at ext. measure point of box to AC sub-distribution phase |s0|", + "3842": "AC current limiting phase |s0|", + "3843": "Transfer relay does not open at phase |s0|", + "3844": "Ext source disconnect due to violation of any limits in device at |s0| (redundant measurement)", + "3845": "Timeout of signal processor in device to |s0|", + "3846": "Reset signal processor in device detected at |s0|", + "3847": "Autostart counter expired in device at |s0| (multiple cons. autostart)", + "3848": "Nonobserv. of monitoring times for island grid detect. and voltage at ext. grid in device at |s0|", + "3849": "Processor voltage in device at |s0| faulty", + "3850": "Overtemp. at device power element at |s0|", + "3851": "Overtemp. at device transformer at |s0|", + "3852": "Excess current at device transfer relay at |s0|", + "3853": "Device at |s0| was loaded above its 5min capacity", + "3854": "Device at |s0| was loaded above its 30min capacity", + "3855": "Device at |s0| was loaded above its short-time capacity", + "3856": "Device int. interprocessor comm. missing in device at |s0|", + "3857": "No message from device at |s0|", + "3858": "No message from cluster master in device at |s0|", + "3859": "Device int. sync impulse missing in device at |s0|", + "3860": "Device at |s0| does not detect output voltage of master cluster", + "3861": "Meas. range violation battery voltage in device at |s0|", + "3862": "Meas. range violation battery voltage in device at |s0|", + "3863": "Process specification battery charge current", + "3864": "Process specification battery discharge current", + "3865": "Modbus RTU", + "3866": "Power of the SI charger |s0|", + "3867": "Frequency distribution of the state of charge", + "3868": "Current monitoring", + "3869": "Watchdog counter Slave |s0| expired (multiple cons. watchdog tripping)", + "3870": "Overvoltage PV generator Solar Charger |s0|", + "3871": "No PV voltage or short circuit Solar Charger |s0|", + "3872": "Device overtemp Solar Charger |s0|", + "3873": "Sensor error (or undertemp) for DC charger temperature Solar Charger |s0|", + "3874": "No communication to DC charger for more than 24h Solar Charger |s0|", + "3875": "Solar charger |s0| is detected", + "3876": "Rev pol. batt. connection or short circuit Solar Charger |s0|", + "3877": "Battery overvoltage Solar Charger |s0|", + "3878": "Fault |s0| contactor", + "3879": "Overcurrent input |s0| (SW)", + "3880": "Fault in |s0| supply of MCBUBox", + "3881": "Short circuit or cable break temp. sensor of power element |s0|", + "3882": "Short circuit or cable break temp. sensor of transformer |s0|", + "3883": "Communication with |tn0| faulty", + "3884": "Unsupported protocol detected at eHZ |s0|", + "3885": "N-cond. relay does not open at |s0|", + "3886": "Derating due to temp. |s0|", + "3887": "Battery protection mode |s0|", + "3888": "Message from process interface: |tn0|", + "3889": "General", + "3890": "Battery overvoltage", + "3891": "Battery undervoltage", + "3892": "Battery overtemperature", + "3893": "Battery undertemperature", + "3894": "Battery overtemp. charge", + "3895": "Battery undertemp. charge", + "3896": "Battery overcurrent", + "3897": "Battery overcurrent charge", + "3898": "Contactor", + "3899": "Short circuit", + "3900": "BMS internal", + "3901": "Cell imbalance", + "3902": "Reserved", + "3903": "PV meter", + "3904": "Grid power meter", + "3905": "With open section switch, AC voltage is applied at phase |s0|", + "3906": "Subject Key Identifier", + "3907": "Some messages need to be deleted prior to expiry of retention period to free up memory", + "3908": "Data logging stopped due to invalid system time.", + "3909": "Data logging started. The system time is valid.", + "3910": "Redundant grid disconnection control", + "3912": "Backup controller", + "3913": "Battery Interface Module", + "3914": "Digital input at |tn0| has changed its status to |tn4|", + "3915": "Battery utilization range |tn0| reached", + "3916": "The system could not be switched to |tn0| after 3 attempts", + "3917": "The external current at phase |s0| is greater than the max. permissible current", + "3918": "Due to a short circuit on the load side, the supply voltage of |s0| has collapsed and con no longer be maintained", + "3919": "Extension cluster has a country data set configured that is different to that of the main cluster", + "3920": "Main cluster phase |s0| too many unsuccessful attempts to switch to the grid/generator", + "3921": "Battery |tn0| range reached", + "3922": "Voltage at “VAcExt” does not correspond with voltage at “VAc2” (phasing or amplitude)", + "3923": "Grid disconnection", + "3924": "Waiting for grid disconnection", + "3925": "Unload", + "3926": "Waiting for unload", + "3927": "Initialize ECC controller", + "3928": "Initialize BCC controller", + "3929": "Waiting for VLoop", + "3930": "All Sunny Island chargers", + "3931": "Battery voltage initialization", + "3932": "Contactor |s0| not open", + "3933": "Contactor |s0| open", + "3934": "External contactor not closing", + "3935": "VLoop at external source", + "3936": "Enable voltage increase protection", + "3937": "Waiting time until connection", + "3938": "Lowest measured frequency", + "3939": "Highest measured frequency", + "3940": "Charge current limitation", + "3941": "Discharge current limitation", + "3942": "Azimuth correction angle", + "3943": "Azimuth correction angle", + "3944": "Elevation correction angle", + "3945": "ADC average value formation in 0.1 s", + "3946": "Angle of elevation limitation 2", + "3947": "Start of elevation limitation 2", + "3948": "End of elevation limitation 2", + "3949": "Angle of date-dependent rotation limitation", + "3950": "Start of date-dependent rotation limitation", + "3951": "End of date-dependent rotation limitation", + "3952": "Fixed elevation angle", + "3953": "Fixed rotation angle drive 2", + "3954": "Fixed azimuth angle", + "3955": "Fixed rotation angle drive 1", + "3956": "Activation of fixed angle", + "3957": "HyTrack azimuth sensitivity", + "3958": "HyTrack elevation sensitivity", + "3959": "Jump width for HyTrack adjustment", + "3960": "Voltage of HyTrack Q1", + "3961": "Voltage of HyTrack Q2", + "3962": "Voltage of HyTrack Q3", + "3963": "Voltage of HyTrack Q4", + "3964": "X-angle of HyTrack", + "3965": "Y-angle of HyTrack", + "3966": "Rotation of HyTrack", + "3967": "Temperature of HyTrack", + "3968": "Set HyTrack operating mode", + "3969": "Total adjustment time", + "3970": "Total error time", + "3971": "Angle of night position", + "3972": "Current motor current drive 1", + "3973": "Current motor current drive 2", + "3974": "Maximum motor current drive 1", + "3975": "Maximum motor current drive 2", + "3976": "Current angle drive 1", + "3977": "Current angle drive 2", + "3978": "Target angle drive 1", + "3979": "Target angle drive 2", + "3980": "Drives activated", + "3981": "All drives", + "3982": "Drive 1 activated", + "3983": "Drive 2 activated", + "3984": "Open-circuit voltage point counter", + "3985": "Status of master", + "3986": "Active charging process", + "3987": "Number of Resets", + "3988": "Error", + "3990": "Protection", + "3991": "Battery reserve range", + "3992": "Battery protection range", + "3993": "Counter warning battery voltage high", + "3994": "Counter error battery overvoltage", + "3995": "Counter warning battery state of charge low", + "3996": "9600 bit/s", + "3997": "115200 bit/s", + "3998": "Impermissible grid frequency change or grid synchronization not possible", + "3999": "State of charge", + "4000": "Current capacity", + "4003": "Rated capacity", + "4004": "Present battery charge", + "4005": "Present battery discharge", + "4006": "Battery charge", + "4007": "Battery discharge", + "4008": "Absolute battery charge", + "4009": "Absolute battery discharge", + "4010": "Discharge of current battery", + "4011": "Set battery charge", + "4012": "Set battery discharge", + "4013": "Charge of current battery", + "4014": "Current capacity (Dvlp)", + "4015": "New battery |cC| identified", + "4016": "Battery |cC| service life expiry", + "4017": "Battery connection |cC|", + "4018": "Unauthorized battery system |cC|", + "4019": "Battery voltage deviation |cC|", + "4020": "Battery system |cC| defect", + "4021": "Battery system |cC| communication fault", + "4022": "Battery cell |cC| overvoltage fault", + "4023": "Battery cell |cC| undervoltage fault", + "4024": "Battery |cC| low temperature fault", + "4025": "Battery |cC| high temperature fault", + "4026": "Battery |cC| imbalancing fault", + "4027": "Internal battery hardware |cC| fault", + "4028": "Battery |cC| test: charge", + "4029": "Battery |cC| test: discharge", + "4030": "Start conditions battery |cC| test not fulfilled", + "4031": "Battery |cC| test: Charge successful", + "4032": "Battery |cC| test: Discharge successful", + "4033": "Battery |cC| test: charge failed", + "4034": "Battery |cC| test: discharge failed", + "4035": "Battery charge|cC| too low for start procedure", + "4036": "Incorrect switch position for the battery |cC| disconnection point", + "4037": "Battery system|cC| short circuit", + "4038": "Battery system|cC| thermal management activated", + "4039": "Update BIM", + "4040": "Update BIM failed", + "4041": "Update BUC", + "4042": "Update BUC failed", + "4043": "Relay monitoring voltage", + "4044": "Activation of communication test", + "4045": "Status of communication test", + "4046": "Current sensor type (60mV 50mV)", + "4047": "Current sensor gain", + "4048": "Current sensor gain", + "4049": "50 mV/A", + "4050": "60 mV/A", + "4051": "Current at AC2 with high resolution", + "4052": "Highest measured drawn power", + "4053": "Highest measured feed-in power", + "4054": "Anti-islanding sensitivity", + "4055": "Current control mode", + "4056": "Grounding type", + "4057": "TN grid", + "4058": "TT grid", + "4059": "Selection of mains exchange capacity measurement method", + "4060": "Meter Box", + "4061": "Total current load active power", + "4062": "Time-controlled", + "4063": "Setting of parameter |ln04| failed. Device must be stopped first", + "4064": "Setting of parameter |ln04| failed. Installation assistant must be started", + "4065": "PV module control", + "4066": "PV module gateway", + "4067": "PV module electronics", + "4068": "Label", + "4069": "MPP tracker assignment", + "4070": "A", + "4071": "B", + "4072": "C", + "4073": "D", + "4074": "E", + "4075": "F", + "4076": "G", + "4077": "H", + "4078": "I", + "4079": "J", + "4080": "K", + "4081": "L", + "4082": "M", + "4083": "N", + "4084": "O", + "4085": "P", + "4086": "Q", + "4087": "R", + "4088": "S", + "4089": "T", + "4090": "U", + "4091": "V", + "4092": "W", + "4093": "X", + "4094": "Y", + "4095": "Z", + "4096": "Frequency droop P(f)", + "4097": "Voltage droop Q (V)", + "4098": "Hz/kW", + "4099": "V/kVAr", + "4100": "Data1 device reports error: |s0|", + "4101": "Communication bandwidth on RS485 not sufficient to query all connected devices within 5 minutes.", + "4102": "Reduce number of devices, check communication", + "4103": "The current position is not known", + "4104": "Disconnection from grid/generator due to asymmetry between phases", + "4105": "Inverter switches to energy saving mode because battery range reached", + "4106": "Hardware version", + "4107": "Check voltage supply", + "4108": "Circuit breaker for heating and interior fan triggered", + "4109": "Precharging overload protection triggered", + "4110": "Check fuse for heating and interior fan", + "4111": "Overdrive active", + "4112": "Invalid azimuth referencing", + "4113": "Invalid elevation referencing", + "4114": "No azimuth movement", + "4115": "No elevation movement", + "4116": "Move both drives to the east", + "4117": "Drive 2 to the east", + "4118": "Drive 2 to the west", + "4119": "Drive 1 to the east", + "4120": "Drive 1 to the west", + "4121": "Move both drives to the west", + "4122": "Move both drives to the frame", + "4123": "Move drive 1 to the frame", + "4124": "Move drive 2 to the frame", + "4125": "Start frame referencing", + "4126": "Both drives activated", + "4127": "TS4 shutdown", + "4128": "SunSpec shutdown", + "4129": "Frequency at AC2 with high resolution", + "4130": "AC overvoltage backup (fast)", + "4131": "AC overvoltage backup (slow)", + "4132": "Input power for backup too low", + "4133": "Short circuit in backup", + "4134": "Communication to backup module disrupted", + "4135": "Communication to battery interface module disrupted", + "4136": "Panel level string", + "4137": "Start SOC calibration procedure", + "4138": "Stop SOC calibration procedure", + "4139": "Start derating", + "4140": "Stop derating", + "4141": "Preventative battery disconnection", + "4142": "Battery current sensor", + "4143": "Energy counter serial number", + "4144": "Energy meter used", + "4145": "Start search", + "4146": "Cancel search", + "4147": "Rapid Shutdown Mode", + "4148": "Number of PV modules in the string", + "4149": "Number of PV module electronics in the string", + "4150": "Rapid shutdown system function", + "4151": "Commissioning status", + "4152": "Minimum time for the use of excess energy", + "4153": "Voltage difference for the use of excess energy", + "4154": "Perform gateway test", + "4155": "Tigo CCA software", + "4156": "System disturbance", + "4157": "Number of gateways", + "4158": "Backup module bimetal switch", + "4159": "Backup module relay error |u4|", + "4160": "Backup module N-PE monitoring", + "4161": "Backup module hardware error", + "4162": "Backup module overtemperature", + "4163": "Backup mode relay test black start", + "4164": "Backup box configuration incorrect |d0|", + "4165": "Black start battery voltage too low", + "4166": "Battery interface module hardware error", + "4167": "Supply voltage too low", + "4168": "Output supply voltage of the battery interface module too low |b4| |b5|", + "4169": "Battery interface module output communication error |b4| |b5|", + "4170": "More than one node at output |b4| of the battery interface module", + "4171": "Test mode battery interface module |b5|, success rate: |b4|", + "4172": "Limitation of the switching frequency of the input relay for current limitation", + "4173": "Input current limitation fault |s0|", + "4174": "Backup operation", + "4175": "Input power for SPS too low", + "4176": "Minimum voltage for start backup operation", + "4177": "Contactor switching status", + "4178": "Backup box communication status", + "4179": "Backup box operating mode", + "4180": "Redundant grid contactors", + "4181": "Phase coupling", + "4182": "Neutral conductor grounding", + "4183": "Upper limit for the charging state for derating of the PV inverters", + "4184": "Monitoring time contactor monitoring contact", + "4185": "Minimum voltage for activation of the load contactors in backup", + "4186": "Monitoring time for activation of the load contactors in backup", + "4187": "Duration of the AC voltage ramp", + "4188": "DC input configuration reset", + "4189": "DC input configuration [|s0|]", + "4190": "Can test mode", + "4191": "Emergency power mode", + "4192": "Extension cluster firmware not the same as main cluster firmware", + "4193": "Bring all clusters to the same firmware status", + "4194": "Rapid shutdown has been triggered", + "4195": "detected", + "4196": "not detected", + "4197": "Update SMA Gateway Interface Module", + "4198": "Update SMA Gateway Interface Module failed", + "4199": "Communication disturbance with gateway. Serial number: |s0|", + "4200": "Communication disturbance with optimizer. Serial number: |s0|", + "4201": "Update can not be performed. SD memory card type or format not supported.", + "4202": "Copy the update file to an SD card of max. 2 GB and FAT16 format", + "4203": "Asymmetrical load of the inverter", + "4204": "PV module electronics found", + "4205": "Gateways found", + "4206": "Weekday selected", + "4207": "Time of Use", + "4208": "Peak Load Shaving", + "4209": "Width of the usage range for Time of Use", + "4210": "Width of the usage range for Peak Load Shaving", + "4211": "Charging power", + "4212": "Discharging power", + "4213": "Nominal CT current [Amps]", + "4214": "Condition for switching the input relay |s0| not satisfied", + "4215": "W/Wp", + "4216": "Overcurrent in the power element at |s0|", + "4217": "Analogue input 4", + "4218": "Analogue input 5", + "4219": "Analogue input 6", + "4220": "Analog output 1", + "4221": "Analog output 2", + "4222": "Analog output 3", + "4223": "Analog output 4", + "4224": "Analog output 5", + "4225": "Analog output 6", + "4226": "Off with single-string configuration", + "4227": "d", + "4228": "Battery inverter voltage disconnect tripped", + "4229": "Activate voltage disconnect monitoring", + "4230": "RS485 interface application", + "4231": "Energy meter", + "4232": "SMA Data", + "4233": "Module technology", + "4234": "Setpoint for grid voltage", + "4235": "Internal resistance", + "4236": "Open circuit voltage", + "4237": "AC settings", + "4238": "Setpoint for grid frequency", + "4239": "Disconnection limit for leakage current", + "4240": "Disconnection limit for the lagging component of the leakage current", + "4241": "Cellular modem", + "4242": "IMEI International Mobile Equipment Identity", + "4243": "ICCID Integrated Circuit Card Identifier", + "4244": "SIM card", + "4245": "Grid operator", + "4246": "EnnexOS", + "4247": "Communication with cellular modem interrupted", + "4248": "Communication with EnnexOS portal interrupted", + "4249": "Termination", + "4250": "Access point activated", + "4251": "Access point deactivated", + "4252": "Connected to access point", + "4253": "Overload at the SPS power outlet", + "4254": "Overload in backup operation", + "4255": "Communication with cellular modem interrupted", + "4256": "Communication with EnnexOS portal interrupted", + "4257": "Generate power line test signal", + "4258": "Mark signal", + "4259": "Space signal", + "4260": "DC precharging", + "4261": "Invalid master/slave configuration", + "4262": "Check master/slave configuration", + "4263": "DC precharging time exceeded", + "4264": "The battery management system has reported an error", + "4265": "Duration until activation of secondary connection", + "4266": "Modem error", + "4267": "No Internet", + "4268": "Rapid Shutdown test", + "4269": "Error in the rapid shutdown system", + "4270": "Rapid shutdown performed successfully", + "4271": "A thyristor did not open after the ASC test", + "4272": "Error in the controller clocking signal", + "4273": "Replace thyristors", + "4274": "IO test interrupted, because inverter is not voltage-free (AC, DC)", + "4275": "Rapid shutdown triggered by external switch", + "4276": "Generator not connected", + "4277": "Limitation to 4 reconnections (24 hrs) after exceeding continuous residual current", + "4278": "Ethernet link diagnostics via LED", + "4279": "Laboratory mode is activated", + "4280": "Minimum PV reactive power limitation as %", + "4281": "Internal PV reactive power limitation as %", + "4284": "Correct power gradient", + "4285": "Communication diagnosis", + "4286": "Redundant rapid shutdown discharge function not assured", + "4287": "Contact SMA service", + "4288": "Smart Inverter Screen", + "4289": "Reset of configuration data", + "4290": "Ethernet Wi-Fi", + "4291": "Average values type", + "4292": "5 minute average values", + "4293": "10 minute average values", + "4294": "Update PV module electronics", + "4295": "Cellular modem defect", + "4296": "No carrier", + "4297": "Cellular modem connection lost", + "4298": "RGM defect", + "4299": "Output power limitation of PV inverter", + "4300": "Fallback", + "4301": "Config. active power mode system control 2. Setpoint input", + "4302": "Minimum active power", + "4303": "Reference voltage adjustment", + "4304": "Operating mode for dynamic voltage setpoint at Q(V)", + "4305": "Fallback of reactive power control with communication fault", + "4306": "Single Droop", + "4307": "Droop with 4 supporting points and hysteresis", + "4308": "Droop with 6 supporting points", + "4309": "Droop with 8 supporting points", + "4310": "Droop with 10 supporting points", + "4311": "Droop with 12 supporting points", + "4312": "Droop with 14 supporting points", + "4313": "Max. value of external conductor voltages", + "4314": "p.u.", + "4315": "Mean value of external conductor voltages", + "4316": "Single Droop with hysteresis", + "4317": "Droop with deadband", + "4318": "Droop with deadband and hysteresis", + "4319": "Reference reactive power", + "4321": "Maximum active power", + "4322": "Operating mode", + "4323": "Maximum active power", + "4324": "Minimum active power", + "4325": "Phase voltage at grid connection point", + "4326": "CAN", + "4327": "Battery and control interface", + "4328": "Reactive power compensation", + "4329": "Number of supported strings", + "4330": "Unencrypted", + "4331": "Basic security", + "4332": "High security", + "4333": "Battery type not specified", + "4334": "Max. number of support points", + "4335": "Setting time for automatic mode", + "4336": "Reference size for reactive power setting", + "4337": "every 5 minutes", + "4338": "every 10 minutes", + "4339": "10 minute average values", + "4340": "Rated active power WMaxOutRtg", + "4341": "Rated active power WMaxInRtg", + "4342": "Rated active power WMinOutRtg", + "4343": "Rated active power WMinInRtg", + "4344": "Rated reactive power VArMaxQ1Rtg", + "4345": "Rated reactive power VArMaxQ2Rtg", + "4346": "Rated reactive power VArMaxQ3Rtg", + "4347": "Rated reactive power VArMaxQ4Rtg", + "4348": "Rated cos φ PFMinQ1Rtg", + "4349": "Rated cos φ PFMinQ2Rtg", + "4350": "Rated cos φ PFMinQ3Rtg", + "4351": "Rated cos φ PFMinQ4Rtg", + "4352": "Rated apparent power VAMaxOutRtg", + "4353": "Rated apparent power VAMaxInRtg", + "4354": "Maximum active power export", + "4355": "Nominal active power WMinOut", + "4356": "Nominal active power WMinIn", + "4357": "Nominal apparent power VAMaxOut", + "4358": "Nominal apparent power VAMaxIn", + "4359": "Nominal reactive power VArMaxQ1", + "4360": "Nominal reactive power VArMaxQ2", + "4361": "Nominal reactive power VArMaxQ3", + "4362": "Nominal reactive power VArMaxQ4", + "4363": "Nominal reactive power VArMaxZerWQ1", + "4364": "Nominal reactive power VArMaxZerWQ2", + "4365": "Nominal reactive power VArMaxZerWQ3", + "4366": "Nominal reactive power VArMaxZerWQ4", + "4367": "Nominal cos φ PFMinQ1", + "4368": "Nominal cos φ PFMinQ2", + "4369": "Nominal cos φ PFMinQ3", + "4370": "Nominal cos φ PFMinQ4", + "4371": "Update of PV module electronics not successful", + "4372": "PV module logger", + "4373": "cos φ nominal value in case of active power output", + "4374": "Excitation type in case of active power output", + "4375": "cos φ nominal value in case of active power draw", + "4376": "Excitation type in case of active power draw", + "4377": "Fallback value of cos φ in case of active power output", + "4378": "Fallback value of excitation type in case of active power output", + "4379": "Fallback value of cos φ in case of active power draw", + "4380": "Fallback value of excitation type in case of active power draw", + "4381": "Actual value filter for active power value", + "4382": "Setting time actual value filter", + "4383": "Nominal value filter", + "4384": "Limitation of change rate", + "4385": "Advanced settings for cos φ setpoint specifications", + "4386": "Fixed reactive power setpoint for active power generation", + "4387": "Fixed reactive power setpoint for active power draw", + "4388": "Fixed reactive power setpoint for low active power", + "4389": "Advanced settings for reactive power setpoint specifications", + "4390": "VAr/s", + "4391": "m3/h", + "4392": "kWh/m3", + "4393": "Active reactive power range", + "4394": "Hysteresis active power", + "4395": "Hysteresis time", + "4396": "Reactive power mode in case of active power output", + "4397": "Reactive power mode in case of active power draw", + "4398": "Reactive power mode in case of zero power output", + "4399": "Fallback behavior in case of active power output", + "4400": "Fallback behavior in case of active power draw", + "4401": "Fallback behavior in case of zero power output", + "4402": "Residual current", + "4403": "Residual current limiting", + "4404": "Activation of residual current limiting", + "4405": "Maximum active power WMax", + "4406": "Maximum reactive power VArMax", + "4407": "Voltage-dependent reactive power limitation", + "4408": "Hysteresis voltage", + "4409": "Increase rate", + "4410": "Decrease rate", + "4411": "Activation", + "4412": "Fault end", + "4413": "Short-term averaging time of the pre-fault voltage", + "4414": "Long-term averaging time of the pre-fault voltage", + "4415": "Averaging for threshold detection", + "4416": "Phase reference of grid nominal voltage", + "4417": "Overvoltage threshold for zero current", + "4418": "Undervoltage threshold for zero current", + "4419": "Reactive current change rate after fault end", + "4420": "Averaging of reactive current static", + "4421": "Overvoltage threshold for reactive current", + "4422": "Undervoltage threshold for reactive current", + "4423": "Voltage leap height", + "4424": "K-factor of react. current stat. in neg. system", + "4425": "Maximum reactive current in case of overvoltage", + "4426": "Active current priority at apparent current limit", + "4427": "Active current change rate after fault end", + "4428": "Time for providing reactive power after voltage leap", + "4429": "Reference voltage, averaged", + "4430": "Outer conductor voltage", + "4431": "Phase voltage", + "4432": "Outer conductor and phase voltage", + "4433": "Zero at dead band boundary", + "4434": "Zero at origin", + "4435": "A/s", + "4436": "Reference value", + "4437": "Setting time for nominal value filter", + "4438": "Buckling overfrequency", + "4439": "Active power change per Hz in case of overfrequency", + "4440": "Buckling underfrequency", + "4441": "Active power change per Hz in case of underfrequency", + "4443": "Current power", + "4444": "Potential power", + "4445": "Hysteresis in case of overfrequency", + "4446": "Hysteresis in case of underfrequency", + "4447": "Maximum reactive current in case of undervoltage", + "4448": "Lag time in case of overvoltage", + "4449": "Lag time in case of undervoltage", + "4450": "Q limitation", + "4451": "Blackstart process start", + "4452": "Blackstart process cancel", + "4453": "Operating mode: Isolated at generator", + "4454": "Operating mode: Isolated at battery", + "4455": "Operating mode: Mains-connected", + "4456": "Generator relief", + "4457": "Generator shutdown", + "4458": "Generator start preparation", + "4459": "Generator start", + "4460": "Waiting, net-forming", + "4461": "Waiting, voltage-free", + "4462": "Black start from battery: Battery preparation", + "4463": "Black start from battery: Connecting", + "4464": "Black start from battery: Power-up", + "4465": "Prepare synchronization from island grid to grid", + "4466": "Connect island grid to grid", + "4467": "Prepare separation of island grid from grid", + "4468": "Power down grid", + "4469": "Disconnect island grid from grid", + "4470": "Waiting state, system stopped", + "4471": "Presetting", + "4472": "Reset overfrequency", + "4473": "Reset underfrequency", + "4474": "Manual reactive power setting in case of active power draw", + "4475": "Gateway", + "4476": "Recording level for log messages", + "4477": "Standardized reactive power setpoint by communication", + "4478": "Version 2", + "4479": "Version 3", + "4480": "External reference voltage setting", + "4481": "Fallback of reference voltage", + "4482": "External reference voltage setting", + "4483": "Hysteresis voltage", + "4484": "Low priority", + "4485": "Fallback value of minimum active power", + "4486": "Fallback value of maximum active power", + "4487": "Nominal value filter", + "4488": "Increase rate", + "4489": "Decrease rate", + "4490": "External active power setting 2", + "4491": "Median maximum threshold", + "4492": "Lower maximum threshold", + "4493": "Upper minimum threshold", + "4494": "Median minimum threshold", + "4495": "Upper maximum threshold", + "4496": "Upper maximum threshold as RMS value", + "4497": "Lower minimum threshold", + "4498": "Lower minimum threshold as RMS value", + "4499": "Volt. increase prot.", + "4500": "Min. voltage for reconnection", + "4501": "Max. voltage for reconnection", + "4502": "Upper deactivation voltage", + "4503": "Upper activation voltage", + "4504": "Planned departure time", + "4505": "Time of reaching target charge", + "4506": "Charge session", + "4507": "38400 bit/s", + "4508": "%/s", + "4509": "Tripping threshold DC current monitoring in A", + "4510": "Tripping threshold DC current monitoring in %", + "4511": "DC monitoring mode", + "4512": "Voltage-dependent active power adjustment P(V)", + "4513": "cos φ(V) charac. curve", + "4514": "Voltage value", + "4517": "Minimum duration of providing reactive current", + "4518": "Maximum duration of providing reactive current", + "4519": "Type of reference voltage", + "4520": "Mean value of phase voltages", + "4521": "Maximum phase voltage", + "4522": "Dynamics", + "4523": "Trigger", + "4524": "System start", + "4525": "Interface COM1", + "4526": "Interface COM2", + "4527": "Interface COM3", + "4528": "Interface COM4", + "4529": "Gas volume flow", + "4530": "Volume", + "4531": "Gas calorific billing value", + "4532": "Gas correction factor", + "4533": "relative value in percent", + "4534": "Speed", + "4535": "Gas", + "4536": "Volume flow", + "4537": "Upper voltage threshold", + "4538": "Upper voltage threshold tripping time", + "4539": "Upper maximum threshold tripping time", + "4540": "Network type 202 split phase Japan", + "4541": "Setpoint not yet received", + "4542": "Setpoint received", + "4543": "Active power setpoint status", + "4544": "Japan Installation Assistant", + "4545": "Applicable voltages", + "4546": "EKS", + "4547": "NIV", + "4548": "EKS/NIV", + "4549": "Enable command", + "4550": "Reference voltage selection", + "4551": "After arc detection", + "4552": "Manual restart after 0% preset", + "4553": "After fault current", + "4554": "Active power setpoint 2", + "4555": "P(f) curve", + "4556": "P(V) charact. curve", + "4557": "Infeed limit", + "4558": "Draw limit", + "4559": "Draw limit 2", + "4560": "External setting", + "4561": "External setting 2", + "4562": "cos φ(V) charac. curve", + "4563": "Reference value for active power in case of overfrequency", + "4564": "Reference value for active power in case of underfrequency", + "4565": "Analog cos-phi setpoint", + "4566": "Electrical reference point", + "4567": "Priority compared to local charact. curves", + "4568": "Priority compared to local charact. curves", + "4569": "Inverter connection point", + "4570": "Wait for enable operation", + "4571": "Standby status", + "4572": "Operating status", + "4573": "Source of maximum active power setpoint", + "4574": "Source of maximum active power setpoint", + "4575": "Source of minimum active power setpoint", + "4576": "Current maximum active power setpoint", + "4577": "Current minimum active power setpoint", + "4578": "Current reference voltage setpoint for Q(V)", + "4579": "Current cos φ setpoint for active power draw", + "4580": "Function execution level", + "4581": "Voltage-dependent active power adjustment P(V)", + "4582": "Soft start-up P", + "4583": "Maintain procedure", + "4584": "Read only", + "4585": "Increase rate in case of insolation change", + "4586": "GFDI leakage resistor overloaded", + "4587": "GFDI internal measurement error", + "4588": "GFDI ancillary relay not reacting with |tn0|", + "4589": "GFDI ancillary relay not reacting", + "4590": "GFDI fuse down", + "4591": "GFDI program sequence (status machine)", + "4592": "GFDI on-board network fault", + "4593": "Timeout monitoring DC/DC converter |d0|", + "4594": "Timeout monitoring DC/DC converter", + "4595": "Check DC/DC converter connection/configuration", + "4596": "Timeout monitoring battery management system |d0|", + "4597": "Timeout monitoring battery management system", + "4598": "Battery management system, check connection/configuration", + "4599": "Battery management system |d0| reports error", + "4600": "Battery management system reports error", + "4601": "DC/DC converter |d0| reports event", + "4602": "DC/DC converter reports event", + "4603": "Battery management system |d0| reports warning", + "4604": "Battery management system reports warning", + "4605": "DC/DC converter |d0| reports warning", + "4606": "DC/DC converter reports warning", + "4607": "Check DC/DC converter", + "4608": "Check battery management system", + "4609": "Reverse currents or reverse-poled input", + "4610": "Unable to load calibration data for current measurement", + "4611": "Unable to load calibration data for voltage measurement", + "4612": "DC shuntboard not connected", + "4613": "DC shuntboard wrongly connected", + "4614": "Display for insulation fault defective", + "4615": "Link for |tn0| |d4| lost", + "4616": "Waiting for first setting value", + "4617": "Permanently derated", + "4618": "Dynamic with automatic switch-off", + "4619": "Tigo Cloud", + "4620": "Overvoltage grid (SW)", + "4622": "Reactive power, manual setting", + "4623": "Reactive power, analog input", + "4624": "Reactive power, Modbus", + "4625": "Power factor cos φ, manual setpoint specification", + "4626": "Power factor cos φ, analog input", + "4627": "Power factor cos φ, Modbus", + "4628": "Lower deactivation voltage", + "4629": "Lower activation voltage", + "4630": "System and device control", + "4631": "Reactive power control mode", + "4632": "Soft start-up rate Q", + "4633": "Soft start-up Q", + "4634": "P-settings at input 2", + "4635": "%/min", + "4636": "Reactive power dynamic after error end", + "4637": "Active power derating due to apparent power limitation", + "4638": "Number of critical DC switching cycles almost reached", + "4639": "Number of critical DC switching cycles reached", + "4640": "Combined heat and power plant", + "4641": "Hydroelectric power plant", + "4642": "General hardware test error", + "4643": "DC switch is open", + "4644": "General storage or communication error", + "4645": "NTP server for connected devices switched on", + "4646": "Islanding detection mode", + "4647": "Force Normal Active Mode", + "4648": "Maximum active power setpoint specification", + "4649": "Minimum active power setpoint specification", + "4650": "Maximum reactive power setpoint specification", + "4651": "Minimum reactive power setpoint specification", + "4652": "Active reactive power behavior", + "4653": "Charging station", + "4654": "Costs", + "4655": "E-vehicle", + "4656": "Progress of the DC input configuration", + "4657": "Grid and system protection", + "4658": "AC current regulation", + "4659": "Maximum output voltage regulator", + "4660": "Amplification of the resonance regulator", + "4661": "Activation of the AC current controller", + "4662": "Active attenuation", + "4663": "Limit frequency of the active attenuation", + "4664": "Proportional amplification of the active attenuation", + "4665": "Automatic grid connection", + "4666": "Harmonics regulators", + "4667": "Activation of all harmonics regulators", + "4668": "Activation of harmonics regulator number 3", + "4669": "Activation of harmonics regulator number 4", + "4670": "Magnitude of the resonance frequency for harmonics regulator number 3", + "4671": "Magnitude of the resonance frequency for harmonics regulator number 4", + "4672": "Amplification of the resonance regulator for harmonics regulator number 3", + "4673": "Amplification of the resonance regulator for harmonics regulator number 4", + "4674": "Amplification of the proportional regulator for harmonics regulator number 3", + "4675": "Amplification of the proportional regulator for harmonics regulator number 4", + "4676": "Grid voltage feedback", + "4677": "Reduction factor of the fed-back grid voltage", + "4678": "Limit frequency of the band-pass filter", + "4679": "Intermediate circuit voltage regulator", + "4680": "Intermediate circuit symmetry regulation", + "4681": "Software regulation", + "4682": "Weighting factor", + "4683": "1/Ohm", + "4684": "Steepness", + "4685": "Manufacturer", + "4686": "EnnexOS", + "4687": "Framework", + "4688": "Activated", + "4689": "Etherlynx", + "4690": "ComLynx", + "4691": "With conversion information", + "4692": "Without conversion information", + "4693": "Without conversion information and volume flow", + "4694": "{{0}}' connected to '{{1}}'.", + "4695": "{{0}}' disconnected from '{{1}}'.", + "4696": "Not enough memory available: Cannot download update file '{{0}}'.", + "4697": "Photovoltaics", + "4698": "W or Var", + "4699": "The device {{0}} notifies the fault {{1}}", + "4700": "A communication error to device {{0}} has occurred", + "4701": "Activation of the CosPhi reactive power limits", + "4702": "Activation threshold of the reactive power mode for feed-in", + "4703": "Deactivation threshold of the reactive power mode for feed-in", + "4704": "Activation threshold of the reactive power mode for grid power", + "4705": "Deactivation threshold of the reactive power mode for grid power", + "4706": "The supply voltage was interrupted", + "4707": "The supply voltage has been restored", + "4708": "No connection to buffer module available", + "4709": "Acoustic signal for event messages", + "4710": "Automatic test SPI CEI 0-21", + "4711": "Result: Test OK", + "4712": "Result: Test not OK", + "4713": "Test progress |d0|", + "4714": "Reactive power, digital input", + "4715": "-", + "4716": "-", + "4717": "-", + "4718": "Boost charging", + "4719": "Optimized charging", + "4720": "Charging with setpoint", + "4721": "Charge stop", + "4722": "Duration", + "4723": "Disconnection after full charge", + "4724": "Standby for charging process to disconnection", + "4725": "Energy", + "4726": "Minimum relay switching time", + "4727": "Minimum charge current", + "4728": "Software-Version", + "4729": "Type of charge controller", + "4730": "Charge energy", + "4731": "Discharge energy", + "4732": "FRITZ!Box", + "4733": "Energy management", + "4734": "External device", + "4735": "Building", + "4736": "Switching request value", + "4737": "Switching request active", + "4738": "Freezer unit rating", + "4739": "Refrigeration unit rating", + "4740": "Freezer system rating", + "4741": "Refrigeration system rating", + "4742": "Hot gas temperature actual value", + "4743": "Hot gas temperature setpoint", + "4744": "Hot gas override limit", + "4745": "Compressor power level", + "4746": "Available underexcited \nreactive power", + "4747": "Available overexcited reactive power", + "4748": "Theoretically available power output", + "4749": "Generation plant availability", + "4750": "External active power reduction", + "4751": "Current active power setpoint", + "4752": "Current reactive power setpoint", + "4753": "Available active power", + "4754": "Available reactive power", + "4755": "Overcurrent at grid connection point, quick stop triggered", + "4756": "Vehicle not compatible", + "4757": "Vehicle signals charging error", + "4758": "Communication problems between charging station and vehicle", + "4759": "Alarm upon warning or error", + "4760": "Modbus profile version", + "4761": "Error code", + "4762": "Device status", + "4763": "Control mode", + "4764": "Number", + "4765": "Load", + "4766": "Reactive power setpoint for whole system (PV and BAT)", + "4767": "Voltage setpoint (phase-phase)", + "4768": "Power factor setpoint", + "4769": "Upper active power limitation for whole plant (PV and BAT)", + "4770": "Lower active power limitation for whole plant (PV and BAT)", + "4771": "Deny inverter restart", + "4772": "Wh", + "4773": "Hybrid controller", + "4774": "Active power setpoint", + "4775": "Service info requested from Sunny Central", + "4776": "Service info transferred from Sunny Central", + "4777": "Transfer of service info failed", + "4778": "Service info transferred to portal", + "4779": "Service info upload to portal failed", + "4780": "Available underexcited reactive power", + "4781": "Available overexcited reactive power", + "4782": "Generation plant availability", + "4783": "AC self-test mode", + "4784": "Parameter change via Sunny Portal", + "4785": "Average expected yield", + "4786": "Specific yield", + "4787": "Modbus error", + "4788": "Wh/Wp", + "4789": "Time of the automatic update", + "4790": "End time", + "4791": "Start time", + "4792": "Start feed-in", + "4793": "Stop feed-in", + "4794": "Operation with meter at point of interconnection", + "4795": "TakaP", + "4796": "Set active power limit\nfor grid-supplied power at point of interconnection", + "4797": "Available power for\ncharging stations", + "4798": "Current power limitation\nof charging stations", + "4799": "Serial number device", + "4800": "Direct selling enabled", + "4801": "Self-test of AC bridge failed", + "4802": "System current", + "4803": "Mean value Line conductor L-N", + "4804": "Mean value Line conductor L-N", + "4805": "Displacement power factor at point of interconnection", + "4806": "Grid frequency at point of interconnection", + "4807": "Charging station switches to charging mode |tn0|", + "4808": "DUMMY", + "4809": "Difference PV system time/system time", + "4810": "Total nominal power", + "4811": "Nominal AC power", + "4812": "Energy released by string", + "4813": "Total energy released by string", + "4814": "Set offset of energy released by string", + "4815": "String |s0| is in derating mode", + "4816": "SunSpec keepalive signal", + "4817": "Adaptive", + "4818": "Adopting process enabled", + "4819": "Available underexcited reactive power", + "4820": "Available overexcited reactive power", + "4821": "SunSpec signal", + "4822": "Dynamic", + "4823": "Curtailed permanently", + "4824": "Dynamic with automatic disconnection", + "4825": "Current charging power", + "4826": "Current discharging power", + "4827": "No control values are sent from the Data Manager to the inverters because you have configured a Hybrid Controller for control in your system.", + "4828": "Actual value filter for measured frequency value", + "4829": "Setting time for actual value filter", + "4830": "Electric vehicle was connected to charging station.", + "4831": "Electric vehicle was disconnected from electric vehicle.", + "4832": "Charging mode was interrupted by vehicle.", + "4833": "Percent", + "4834": "cos phi", + "4835": "Digital group input", + "4836": "Digital group output", + "4837": "Current battery energy content", + "4838": "Sum of cell voltages", + "4839": "Lowest measured cell voltage", + "4840": "Highest measured cell voltage", + "4841": "End-of-charge voltage", + "4842": "End-of-discharge voltage", + "4843": "Maximum charging current", + "4844": "Maximum discharging current", + "4845": "Measured value of displacement power factor", + "4846": "Sunspec Shutdown & SPS", + "4847": "Temperature of dew point", + "4848": "Absolute air pressure", + "4849": "Relative air pressure", + "4850": "Standard deviation of wind speed", + "4851": "Standard deviation of wind direction", + "4852": "Quality of wind measurement ", + "4853": "Absolute precipitation amount", + "4854": "Differential precipitation amount", + "4855": "Precipitation intensity", + "4856": "Precipitation  type", + "4857": "WMO code", + "4858": "Lightning events", + "4859": "Lightning events (interval)", + "4860": "Weather station error", + "4861": "External temperature sensor", + "4862": "mm", + "4863": "Test of meter at point of interconnection", + "4864": "Grid feed-in", + "4865": "No current transformer", + "4866": "Meter at point of interconnection not installed correctly", + "4867": "Installation test of meter at point of interconnection", + "4868": "Installation test of meter at point of interconnection not carried out yet", + "4869": "Feed-in monitoring at point of interconnection", + "4870": "Percentage feed-in limit at point of interconnection", + "4871": "Feed-in monitoring time at point of interconnection", + "4872": "Active power setpoint in %", + "4873": "Active power setpoint in W", + "4874": "SMA SPOT", + "4875": "Modbus", + "4876": "Analog inputs", + "4877": "Digital inputs", + "4878": "Active power setpoint (electric utility company)", + "4879": "Reactive power setpoint (electric utility company)", + "4880": "Cos phi setpoint (electric utility company)", + "4881": "Active power setpoint (direct seller)", + "4882": "Modbus profile", + "4883": "Installation test of meter at point of interconnection not carried out successfully", + "4884": "Installation test of meter at point of interconnection carried out successfully", + "4885": "Status of installation test of meter at point of interconnection", + "4887": "Standard deviation of solar irradiation", + "4888": "Pollution degree Sensor 1", + "4889": "Transmission loss Sensor 1", + "4890": "Pollution degree Sensor 2", + "4891": "Transmission loss Sensor 2", + "4892": "Data model version", + "4893": "Inclination X-axis", + "4894": "Inclination Y-axis", + "4895": "Calibration date", + "4896": "Year", + "4897": "Month", + "4898": "Day", + "4899": "Pollution sensor\n", + "4900": "Pyranometer", + "4901": "Maximum active power setpoint (grid supply)", + "4902": "Minimum active power setpoint (grid supply)", + "4903": "Voltage regulation, manually set in Volt", + "4904": "Voltage regulation, manually set in p.u.", + "4905": "Voltage regulation, external setpoint", + "4906": "Voltage setpoint (line-to-line)", + "4907": "Voltage regulation, setting time of actual value filter", + "4908": "Voltage regulation, actual value filter for measured voltage value", + "4909": "Upper limit of voltage regulator", + "4910": "Lower limit of voltage regulator", + "4911": "Start conditions for meter test not fulfilled", + "4912": "Number of critical chopper operations almost reached", + "4913": "Number of critical chopper operations reached", + "4914": "Watchdog |tn0|", + "4915": "DC-Current input", + "4916": "DC-Voltage input", + "4917": "Fuse of surge arrester / DC busbar", + "4918": "Initiated number", + "4919": "Successful number", + "4920": "Flags", + "4921": "No precipitation", + "4922": "Liquid precipitation (e.g.rainfall)", + "4923": "Solid precipitation (e.g.snow)", + "4924": "Unspecified precipitation", + "4925": "Freezing rain", + "4926": "Sleet", + "4927": "Hail", + "4928": "hPa", + "4929": "You have selected external setpoint for active or reactive power. The control process starts as soon as the setpoints have been successfully transferred to the Data Manager at least once.", + "4930": "Wait for setpoints", + "4931": "Interval of cyclic insulation measurement", + "4932": "Time of cyclic insulation measurement", + "4933": "Battery overcurrent |cC|", + "4934": "Overcurrent battery charging |cC|", + "4935": "Overcurrent battery discharging |cC|", + "4936": "Configuration", + "4937": "Contactor relay (Q30) opened due to overvoltage", + "4938": "Leakage current-carrying capacity of DC generator too high", + "4939": "Leakage current-carrying capacity of DC generator too high", + "4940": "Start of cyclic insulation test ", + "4941": "Pollution degree Sensor", + "4942": "Transmission loss Sensor", + "4943": "Master with subordinate controller", + "4944": "Deep discharge protection activated", + "4945": "Battery separated externally", + "4946": "DC unbalance detected", + "4947": "DC balancer HW defective", + "4948": "mm/h", + "4949": "Rotary Switch", + "4950": "Smart charging", + "4951": "Disconnect device from utility grid and battery permanently, contact Service", + "4952": "DC relay opened unintentionally", + "4953": "DC relay defective", + "4954": "I-V curve measurement was successful", + "4955": "Start measurement", + "4956": "I-V curve", + "4957": "Storage medium full", + "4958": "Storage medium not available", + "4959": "Data logging to memory card", + "4960": "Metal chips in power stack |d0| detected", + "4961": "Loose ribbon cable in power stack |d0|", + "4962": "Future failure of power stack |d0| expected (DCB of IGBTs)", + "4963": "|s0| defective", + "4964": "Air intake blocked", + "4965": "Replacement |s0| necessary", + "4966": "Cleaning of air intake necessary", + "4967": "Fans of inverter bridge defective ", + "4968": "Replacement of inverter bridge fan necessary", + "4969": "Voltages used for voltage jump detection", + "4970": "Delay time for residual current at undervoltage", + "4971": "Delay time for residual current at overvoltage", + "4972": "Positive-sequence and negative-sequence voltage", + "4973": "Upper limit of reconnection after overfrequency disconnection", + "4974": "Upper limit of first connection", + "4975": "Lower limit of first connection", + "4976": "Open Charge Point Protocol", + "4977": "OCPP server address", + "4978": "OCPP server port", + "4979": "Client ID for registration on OCPP server", + "4980": "User name for registration on the OCPP server", + "4981": "Maximum charging current", + "4982": "Currently available charging points", + "4983": "Maximum available charging points", + "4984": "Charging transactions performed", + "4985": "Waiting for setpoints", + "4987": "AFCI switched on", + "4988": "AFCI meter", + "4989": "Reset AFCI meter", + "4990": "Reset", + "4991": "Maximum number of I-V curve measurement reached", + "4992": "Timeout in communication for dynamic reference voltage Q(V) control", + "4993": "Modbus meter", + "4994": "Optimized event generation", + "4995": "State: |tn0| / |tn4|", + "4996": "State: |tn0|", + "4997": "Current unbalance of AC power stack", + "4998": "Frequency containment reserve (FCR) ", + "4999": "Reference active power for active power offset", + "5000": "Limiting value for activation at overfrequency", + "5001": "Limiting value for activation at underfrequency", + "5002": "Operating reserve related to the available active power", + "5003": "Filter for available active power", + "5004": "Response time of filter for available active power", + "5005": "Limitation of ramp rate of available active power", + "5006": "Ramp-up rate of available active power", + "5007": "Ramp-down rate of available active power", + "5008": "Setpoint filter for active power offset", + "5009": "Response time of setpoint filter for active power offset", + "5010": "Limitation of ramp rate of active power offset", + "5011": "Ramp-up rate of active power offset", + "5012": "Ramp-down rate of active power offset", + "5013": "Base active power", + "5014": "Current maximum active power setpoint", + "5015": "Minimum from active power setpoints and available power", + "5016": "Battery system |cC| defective (Source: |tn8|)", + "5017": "Battery cell overvoltage fault |cC| (Source: |tn8|) ", + "5018": "Battery cell undervoltage fault |cC| (Source: |tn8|) ", + "5019": "Battery undertemperature |cC| (Source: |tn8|) ", + "5020": "Battery overtemperature |cC| (Source: |tn8|) ", + "5021": "Imbalancing battery |cC| (Source: |tn8|) ", + "5022": "Internal battery hardware fault |cC| (Source: |tn8|) ", + "5023": "Battery |cC| is reporting event: 0x|x5||x4|, 0x|x7||x6| (Source: |tn8|)", + "5024": "Switch position for the battery disconnection point |cC| (Source: |tn8|) ", + "5025": "Battery system short circuit |cC| (Source: |tn8|) ", + "5026": "Overcurrent battery charging |cC| (Source: |tn8|) ", + "5027": "Overcurrent battery discharging |cC| (Source: |tn8|) ", + "5028": "Service life of battery |cC| is expiring (Source: |tn8|) ", + "5029": "Battery connection |cC| (Source: |tn8|) ", + "5030": "Thermal management of battery system |cC| (Source: |tn8|) ", + "5031": "DC/DC converter of battery", + "5032": "BMS", + "5033": "Upper reactive power threshold in p.u. for deactivating and maintaining reactive power control", + "5034": "Lower reactive power threshold in p.u. for deactivating and maintaining reactive power control", + "5035": "Upper reactive power threshold in p.u. for activating the reactive power control", + "5036": "Lower reactive power threshold in p.u. for activating the reactive power control", + "5037": "Hysteresis factor for deactivating the reactive power control", + "5038": "Proportional gain of reactive power controller", + "5039": "Integral gain of reactive power controller", + "5040": "Closed loop control", + "5041": "Yes, without permanent operation inhibition", + "5042": "Upper limit of first connection", + "5043": "Lower limit of first connection", + "5044": "Wind", + "5045": "Fuel cell", + "5046": "Hybrid inverter", + "5047": "Electrolyzer", + "5048": "Sensors", + "5049": "Energy meter", + "5050": "Communication", + "5051": "Operating mode of backup mode of PV inverter", + "5052": "Available power output", + "5053": "Manual operating mode setting in laboratory mode", + "5054": "Read system data", + "5055": "Read system control", + "5056": "Control systems", + "5057": "System forecast", + "5058": "Read system data live", + "5059": "Read SmartHome control", + "5060": "SmartHome control", + "5061": "Export all diagnosis data", + "5062": "Only export alarm message", + "5063": "Only export events", + "5064": "Only export debug data (1)", + "5065": "Only export debug data (2)", + "5066": "Only export debug data (3)", + "5067": "Only export debug data (4)", + "5068": "Only export debug data (5)", + "5069": "Only export debug data (6)", + "5070": "Only export parameter messages", + "5071": "Only export update messages", + "5072": "Only export waveform data", + "5073": "|tn0| failed. Error code |d4|.", + "5074": "|tn0| completed.", + "5075": "|tn0| started.", + "5076": "Run diagnostic export of the subsystem", + "5077": "Reference of unbalanced load limitation", + "5078": "Automatic selection of measuring point", + "5079": "MQTT", + "5080": "MQTT bridge activated", + "5081": "MQTT bridge deactivated", + "5082": "Connection to MQTT broker established", + "5083": "Connection to MQTT broker failed. Error code |d0|.", + "5084": "Maximum threshold tripping time for reconnection after a disconnection", + "5085": "Minimum threshold tripping time for reconnection after a disconnection", + "5086": "Maximum threshold tripping time for reconnection after a disconnection", + "5087": "Minimum threshold tripping time for reconnection after a disconnection", + "5088": "Time until reactivation", + "5089": "Upper active power threshold value", + "5090": "Overvoltage threshold for deactivation", + "5091": "Undervoltage threshold for deactivation", + "5092": "Overvoltage threshold for deactivation", + "5093": "Undervoltage threshold for deactivation", + "5094": "Waiting time", + "5095": "Manual overwrite", + "5096": "Frequency", + "5097": "Product key", + "5098": "WPA2-PSK", + "5099": "RID", + "5100": "DEV-KEY", + "5101": "Yes, temporary", + "5102": "Yes, permanently", + "5103": "PUK 2.0", + "5106": "Access via SMA Service", + "5107": "Access process via SMA Service", + "5108": "PUK 2.0 Login successful: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5109": "PUK 2.0 Login authentication error: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5110": "PUK 2.0 Login error: Level: |u8| Device: |x1||x0| |x7||x6||x5||x4| Error Code: |dc|", + "5111": "PUK 2.0 Product key updated: Level: |u8|", + "5112": "PUK 2.0 Offline login requested: Level: |u8|", + "5113": "PUK 2.0 Offline login ended: Level |u8| Error Code: |xf||xe||xd||xc|", + "5114": "PUK 2.0 Password reset requested: Level |u8|", + "5115": "PUK 2.0 Password reset ended: Level |u8| Error Code: |xf||xe||xd||xc|", + "5116": "PUK 2.0 Portal token request ended: Device: |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5117": "PUK 2.0 Login started: Device |x1||x0| |x7||x6||x5||x4|", + "5118": "PUK 2.0 Login ended: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5119": "PUK 2.0 Product key on master updated: Device |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5120": "PUK 2.0 Password reset ended: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4|", + "5121": "PUK 2.0 Offline login ended: Status: |u8| Device: |x1||x0| |x7||x6||x5||x4| Status: |xf||xe||xd||xc|", + "5122": "Delete SMA Service password", + "5125": "Energy DC input A", + "5126": "Energy DC input B", + "5127": "Energy DC input C", + "5128": "Energy DC input D", + "5129": "Energy DC input E", + "5130": "Energy DC input F", + "5131": "Energy DC input G", + "5132": "Energy DC input H", + "5133": "Energy DC input I", + "5134": "Energy DC input J", + "5135": "Energy DC input K", + "5136": "Energy DC input L", + "5137": "Energy DC input M", + "5138": "Energy DC input N", + "5139": "Energy DC input O", + "5140": "Energy DC input P", + "5141": "Daily schedule of the possible PV recharging |d0|", + "5142": "Short-time overcurrent has triggered", + "5143": "YAP available", + "5144": "Rapid Shutdown Initiator", + "5146": "AC disconnect PV system", + "5147": "Insulation resistance of the battery is below the set limiting value", + "5148": "Battery must be checked by the manufacturer", + "5149": "Time until equalization charge has been completed in SOC range 1", + "5150": "Time until equalization charge has been completed in SOC range 2", + "5151": "Warning threshold for critical insulation resistance", + "5153": "Niko Remote socket", + "5154": "Niko Relay", + "5155": "Number of batteries", + "5156": "Lufft Meteo Station", + "5157": "Permitted upper battery charge limit", + "5158": "Fallback of the limitation of the battery charge.", + "5159": "Fallback of the limitation of the battery discharge.", + "5160": "Current battery state of charge including set reserve range", + "5161": "Current battery capacity including set reserve range", + "5162": "Individual device", + "5163": "Balancing current in the RSC", + "5164": "Lower intermediate circuit voltage half", + "5165": "Upper intermediate circuit voltage half", + "5166": "Deactivation of the intermediate circuit balancing", + "5167": "Setpoint for the DC input balancing", + "5168": "Niko Home Control Hub", + "5169": "Charging station locked", + "5170": "Number of active charging stations", + "5171": "Charging lock", + "5172": "Charging release", + "5173": "High", + "5175": "E-mails to '{{0}}' could not be delivered repeatedly. Therefore, the e-mail address has been disabled for sending. Please correct the recipient list in the appropriate notifications.", + "5176": "|tn0|: Device has switched to the status |tn4| =|tn8|", + "5177": "Manual operation", + "5178": "Sunny Home Manager control", + "5179": "Manual remote control", + "5180": "AC current limitation", + "5181": "Compatibility mode", + "5182": "Standard (recommended)", + "5183": "SunSpec", + "5184": "Integral local frequency", + "5185": "Time until deactivation", + "5186": "Overfrequency for activation", + "5187": "Overfrequency for deactivation", + "5188": "Underfrequency for activation", + "5189": "Underfrequency for deactivation", + "5190": "Average", + "5191": "Low", + "5192": "Brightness of the LEDs", + "5193": "Communication to internal energy meter disturbed", + "5194": "Phases L2, L3 and L1", + "5195": "Phases L3, L1 and L2", + "5196": "The limiting value is automatically reset to the original value at the end of the set accounting period. If an automatic adjustment is not wanted, you can disable it and set a manual specification.", + "5197": "Parameters of CONT and COM are not compatible", + "5198": "Parameter {{0}} was set from value {{1}} auf {{2}} by an internal demand.", + "5199": "RS485 modules not detected", + "5200": "Check the installation of the RS485 module or if no RS485 module is used, reset the configuration of the RS485 module", + "5201": "Protocol versions of CONT and COM are not compatible", + "5202": "Surge arrester AC", + "5203": "Surge arrester DC", + "5204": "Overvoltage Input G (SW)", + "5205": "Overvoltage input A (SW)", + "5206": "Overvoltage input I (SW)", + "5207": "Overvoltage input J (SW)", + "5208": "Overvoltage input K (SW)", + "5209": "Overvoltage input L (SW)", + "5210": "Reverse currents or substring G polarity reversed", + "5211": "Reverse currents or substring H polarity reversed", + "5212": "Reverse currents or substring I polarity reversed", + "5213": "Reverse currents or substring J polarity reversed", + "5214": "Reverse currents or substring K polarity reversed", + "5215": "Reverse currents or substring L polarity reversed", + "5216": "Checking the cabling", + "5217": "Disconnect AC and DC for 15 minutes", + "5218": "Active power limit for activating the reactive power control", + "5219": "Active power limit for deactivating the reactive power control", + "5220": "Waiting time until deactivation of reactive power control", + "5221": "The limiting value for peak load shaving of {{1}} kW set in the energy management profile {{0}}, was adjusted automatically to {{4}} on {{2}} at {{3}} due to exceeding the limit.", + "5222": "The limiting value for peak load shaving of {{1}} kW set in the energy management profile {{0}}, was exceeded on {{2}} at {{3}}. The actual power drawn was {{5}} kW in the set averaging period of {{4}} min.", + "5223": "Adjust the limiting value in your configuration to be able to use your battery-storage system's capacity optimally for peak load shaving. Alternatively, change the dimensioning of your storage system.", + "5224": "Event battery module: 0x|x7||x6||x5||x4|, 0x|xB||xA||x9||x8|, 0x|xF||xE||xD||xC|", + "5228": "Too long in grid forming FRT (virtual impedance)", + "5229": "Too long in current limitation during black start (AcRmpUp)", + "5230": "Response time for setpoint filter", + "5231": "Nominal apparent power VAMaxOut Service", + "5232": "Nominal apparent power VAMaxIn Service", + "5233": "Duty cycle", + "5234": "Fan", + "5235": "The equalization charge was terminated since it could not be performed within the specifications", + "5236": "PUK 2.0 Offline login ended with timeout: level |tn0|", + "5237": "PUK 2.0 Password reset ended with timeout: level |tn0|", + "5238": "Rated grid voltage", + "5239": "208V/120V WYE or 208V Delta", + "5240": "240V/120V Split Phase or 240V Delta", + "5241": "Minimum operating temperature of the internal components not reached", + "5242": "MOhm", + "5243": "Peak load limit: discharging limiting value when the state of charge is low", + "5244": "Peak load limit: charging limiting value when the state of charge is low", + "5245": "Peak load limit: state of charge limit for switching the parameter sets", + "5246": "Peak load limit: discharging limiting value when the state of charge is high", + "5247": "Peak load limit: charging limiting value when the state of charge is high", + "5248": "Communication timeout data logging energy meter at the point of interconnection", + "5249": "Potential power with characteristic curve break", + "5250": "Consumption household (misc.)", + "5251": "Consumption", + "5252": "Ramp rate in fallback behavior", + "5253": "Limitation of the ramp rate in fallback behavior", + "5254": "Ramp rate in fallback behavior", + "5255": "Limitation of the ramp rate in fallback behavior", + "5256": "Risk of not reaching the minimum internal operating temperature in standby or stop mode", + "5257": "Replace SC40CHOP and check circuit breaker", + "5258": "Activation of the apparent power limitation", + "5259": "Hysteresis charge/discharge limits switchover STPS-60", + "5260": "Your e-mail address {{0}} has been removed from the notification {{1}}.\n", + "5261": "Your e-mail address {{0}} has been removed from the notification {{1}}.\nThe notification no longer contained any recipients, so it was deleted.", + "5262": "SB41-PSDR-FG", + "5263": "SB41-PSDR-ST", + "5264": "Nominal active power WMaxOut - Service", + "5265": "400V/230V WYE", + "5266": "SingleCast IP address 1", + "5267": "SingleCast IP address 2", + "5268": "SingleCast IP address 3", + "5269": "AC overcurrent backup (fast)", + "5270": "AC overcurrent backup (slow)", + "5271": "Backup bypass relay fault", + "5272": "Battery input is defective", + "5273": "AFCI is allowed", + "5274": "AFCI is not possible", + "5275": "AFCI is released", + "5276": "Applied voltages", + "5277": "Prefer battery charge", + "5278": "Prefer grid feed-in", + "5279": "Fallback of the battery control in case of a measuring point failure", + "5280": "Time until aborting the equalization charge for lithium-ion batteries", + "5281": "Hysteresis charge/discharge limits switchover STPS-60", + "5282": "Battery-backup system present", + "5283": "Measured value filtering", + "5284": "Actual value filter for measured reactive power values", + "5285": "Response time for actual value filter", + "5286": "DC source as battery", + "5287": "Automatic secure power supply operation", + "5288": "Battery-backup operation", + "5289": "Configuration of the backup type", + "5290": "Active search", + "5291": "Battery at the AC terminal", + "5292": "Battery connection", + "5293": "String connection", + "5294": "Status of connection detection", + "5295": "Batteries found", + "5296": "Backup box", + "5297": "Status of the communication terminal", + "5298": "Subscription search active", + "5299": "No subscription open", + "5300": "Voltage input", + "5301": "DC utility grid control", + "5302": "Fuel cell mode", + "5303": "Electrolysis mode", + "5304": "Battery-backup operating mode active", + "5305": "Battery A", + "5306": "Battery B", + "5307": "Battery C", + "5308": "Automatic switchover to electrical island", + "5309": "DC discharge", + "5310": "Type of AC control", + "5311": "No communication load found", + "5312": "Q, external setting 2", + "5313": "Activation of the ramp rate in fallback behavior", + "5314": "Start of the fallback behavior", + "5315": "End of the fallback behavior", + "5316": "Standardized ramp rate of active power at the point of interconnection", + "5317": "Ramp rate of active power at the point of interconnection", + "5318": "Please contact the battery manufacturer |tn8|", + "5319": "Inner resistance for DC source", + "5320": "AST type", + "5321": "Current target battery voltage", + "5322": "Reminder: Communication failure still exists.", + "5323": "Call interval for the control", + "5324": "Parameter \"|ln04|\" set successfully, to \"|tn8|\"", + "5325": "Setting of parameter \"|ln04|\" failed, to \"|tn8|\"", + "5326": " Setpoint of the battery power", + "5327": "Phase-locked loop", + "5328": "Voltage for stopping", + "5329": "Voltage for activation", + "5330": "Waiting time for activation", + "5331": "Frequency setpoint for stopping", + "5332": "Backup (OnGrid) ", + "5333": "Load shedding (relay |u4|) due to overload in the electrical island", + "5334": "Delay in switchover to battery-backup operation", + "5335": "Maximum apparent power VAMax", + "5336": "Current-controlled OnGrid", + "5337": "Voltage-controlled OnGrid", + "5338": "Voltage-controlled OffGrid ", + "5341": "Status des Ersatzstromrelais", + "5342": "Setpoint of the frequency shift ", + "5343": "Active power-dependent frequency curve f(P)", + "5344": "Setpoint of the voltage shift ", + "5345": "Reactive power-dependent voltage amplitude curve V(Q)", + "5346": "Voltage-dependent current matching I(V)", + "5347": "SMA dataset for 50Hz networks - stop", + "5348": "SMA dataset for 60Hz networks - stop", + "5349": "Datenaufzeichnung", + "5350": "redundant", + "5351": "Redundanz Rolle hat sich in |tn0| geändert.", + "5352": "individual setpoint distribution", + "5353": "Rückfallwert als normierte minimale Wirkleistung", + "5354": "Rückfallwert als normierte maximale Wirkleistung", + "5355": "Interne Parameter-Konsistenzprüfung fehlgeschlagen", + "5356": "Unterlagertes Gerät", + "5357": "Infoflags", + "5358": "Active power setpoint that is sent to all inverters in stop state", + "5359": "Fast reserve for storage unit (FRS)", + "5360": "Reserve time", + "5361": "Active characteristic curve duration", + "5362": "Duration for the change to 0 W after expiry of the active characteristic curve duration", + "5363": "Duration for the change to 0 W after expiry of the reserve time", + "5364": "EPR file format supported", + "5365": "License expired", + "5366": "Test license", + "5367": "License valid", + "5368": "License", + "5369": "Signal Schnell-Stopp", + "5370": "Signal Puffermodul", + "5371": "Anlagenwirkleistung (Einspeisung)", + "5372": "Anlagenwirkleistung (Bezug)", + "5373": "Anlagenstatus", + "5374": "Sollwerte", + "5375": "Blindleistungsvorgabe über analogen Eingang", + "5376": "Wirkleistungsbegrenzung über analogen Eingang", + "5377": "Verschiebungsfaktor cos φ über analogen Eingang", + "5378": "Batterieladezustand", + "5379": "Role", + "5380": "Number", + "5381": "Error service", + "5382": "LIMIT_ANGLE", + "5383": "sensitivity of end switch", + "5384": "BackTracking Distance", + "5385": "BackTracking Height", + "5386": "azimuth position night", + "5387": "Arc-Fault Circuit Interrupter (AFCI)", + "5388": "Flight recorder selection", + "5389": "Number of inverters in state Run", + "5390": "Number of inverters in state Wait", + "5391": "Number of inverters in state Stop", + "5392": "Number of inverters in state Q on Demand", + "5393": "Availability", + "5394": "Überstrom Elektroliseur laden", + "5395": "Überstrom Elektroliseur entladen", + "5396": "Elektroliseur Unterspannung", + "5397": "Elektroliseur Überspannung", + "5398": "Maximale Energie überschritten, DC-Vorladung", + "5399": "DC-Kurzschluss/Leerlaufspannung beim DC-Vorladen detektiert", + "5400": "Maximale DC-Entladezeit überschritten", + "5401": "DC-Spannung nach DC-Kurzschließen/Erden nicht gültig", + "5402": "Fehlermeldung Kirchner", + "7500": "[IT] Enel-GUIDA", + "7501": "[ES] RD1663/661-A", + "7502": "[TH] IEC61727/MEA", + "7503": "[TH] IEC61727/PEA", + "7504": "[IL] SI4777-2[TH] IEC", + "7505": "[CN] CGC/GF001", + "7506": "[DE] VDE0126-1-1/UTE", + "7507": "[KR] KEMCO502/2009", + "7508": "[JP] JP50", + "7509": "[JP] JP60", + "7510": "[DE] VDE-AR-N4105", + "7511": "[CN] GB-T19939-2005", + "7512": "[GB] G59/2", + "7513": "[DE] VDE-AR-N4105-MP", + "7514": "[DE] VDE-AR-N4105-HP", + "7515": "[KR] KEMCO501/2009", + "7516": "[IT] CEI 0-21", + "7517": "[IT] CEI 0-21 intern", + "7518": "[IT] CEI 0-21 extern", + "7519": "[US] UL1741/2010/277", + "7520": "[US] UL1741/2010/120", + "7521": "[US] UL1741/2010/240", + "7522": "[NL] NEN-EN50438", + "7523": "[BE] C10/11/2012", + "7524": "[ES] RD1699", + "7525": "[GB] G83/2", + "7526": "[FR] VFR2013", + "7527": "[FR] VFR2014", + "7528": "[GB] G59/3", + "7529": "[IL] SI4777_HS131_Pf", + "7530": "[TH] MEA2013", + "7531": "[TH] PEA2013", + "7532": "[EN] EN50438:2013", + "7533": "[NL] NEN-EN50438:2013", + "7534": "[SA] SA220V/60Hz", + "7535": "SMA WorstCase", + "7536": "SMA Default", + "7537": "SMA Other standard (60Hz)", + "7538": "[IL] SI4777_HS131_13", + "7539": "[ES] RD1699/413", + "7540": "KEMCO2013", + "7541": "[US] UL1741/2010/208", + "7542": "[DE] GPPWide", + "7543": "[CH] VDE_0126-1-1-CH", + "7544": "[DK] VDE-AR-N4105-DK", + "7545": "[DE] VDE-AR-N4105-MC", + "7546": "SMA Adjusted-MC", + "7547": "[AT] OENORME80014712", + "7548": "[US] HECO2015", + "7549": "[AU] AS4777.2_2015", + "7550": "[ZA] NRS 097-2-1", + "7551": "[CL] NT_Ley20571", + "7552": "[US] HECO2015/120", + "7553": "[US] HECO2015/208", + "7554": "[US] HECO2015/240", + "7555": "IEC IEC61727", + "7556": "[TH] MEA2016", + "7557": "[TH] PEA2016", + "7558": "[US] UL1741/2016/277", + "7559": "[US] UL1741/2016/120", + "7560": "[US] UL1741/2016/240", + "7561": "[US] UL1741/2016/208", + "7562": "[US] HECO2017/120", + "7563": "[US] HECO2017/208", + "7564": "[US] HECO2017/240", + "7565": "[BR] ABNT NBR 16149:2013", + "7566": "[EU] IE-EN50438:2013", + "7567": "[AE] DEWA 2016 intern", + "7568": "[AE] DEWA 2016 extern", + "7569": "[AT] TOR D4 2016 ", + "7570": "[US] IEEE 1547", + "7571": "[US] CA Rule 21", + "7572": "[IT] CEI 0-16 external", + "7573": "[GB] G83/2-1:2018", + "7574": "[GB] G59/3-4:2018", + "7575": "[US] HECO_OHM Rule 14H SRD 1.1 / 120 L-N-L", + "7576": "[US] HECO_OHM Rule 14H SRD 1.1 / 208 L-L", + "7577": "[US] HECO_OHM Rule 14H SRD 1.1 / 240 L-L", + "7578": "[US] NE-ISO / 120 L-N-L", + "7579": "[US] NE-ISO / 208 L-L", + "7580": "[US] NE-ISO / 240 L-L", + "7581": "[US] CA Rule 21 / 120 L-N-L", + "7582": "[US] CA Rule 21 / 208 L-L", + "7583": "[US] CA Rule 21 / 240 L-L", + "7584": "[DE] VDE-AR-N4105:2018 Generators > 4.6 kVA", + "7584t": "Germany, Low Voltage Directive for generators > 4.6 kVA", + "7585": "[DE] VDE-AR-N4105:2018 Storage > 4.6 kVA", + "7585t": "Germany, Low Voltage Directive for storage > 4.6 kVA", + "7586": "[DE] VDE-AR-N4105:2018 Generators up to 4.6 kVA", + "7586t": "Germany, Low Voltage Directive for generators up to 4.6 kVA", + "7587": "[DE] VDE-AR-N4105:2018 Storage up to 4.6 kVA", + "7587t": "Germany, Low Voltage Directive for up to 4.6 kVA", + "7588": "[DE] VDE-AR-N4110:2018 Generator int. Decoup. Protection Device", + "7588t": "Germany, Medium Voltage Directive for generators with internal decoupling protection", + "7589": "[DE] VDE-AR-N4110:2018 Generator ext. Decoup. Protection Device", + "7589t": "Germany, Medium Voltage Directive for generators with external decoupling protection", + "7590": "[EU] EN50549-1:2018 LV", + "7590t": "Europe, Requirements for generators connected to LV distribution network", + "7591": "[EU] EN50549-2:2018 MV", + "7591t": "Europe, Requirements for generators connected to MV distribution network", + "7592": "SMA Default 2019 50Hz", + "7592t": "Default country dataset for 50Hz networks", + "7593": "SMA Default2019 60Hz", + "7593t": "Default country dataset for 60Hz networks", + "7594": "[UK] ENA-EREC-G98/1:2018", + "7594t": "Great Britain, Requirements for generators with max. 16 A per phase", + "7595": "[UK] ENA-EREC-G99/1:2018", + "7595t": "Great Britain, Requirements for generators with max. 16 A per phase", + "7596": "[BE] C10/11-LV1:2018 LV up to 10kVA", + "7596t": "Belgium, generators on low-voltage grid up to 10 kVA (up to 5 kVA single-phase)", + "7597": "[BE] C10/11-LV2:2018 LV >10kVA", + "7597t": "Belgium, generators on low-voltage grid >10 kVA", + "7598": "[BE] C10/11-MV1:2018 MV", + "7598t": "Belgium, generators on high-voltage grid up to 25 MW", + "7599": "[DK] Dansk Energi DK1:2019 LV", + "7599t": "Denmark, generators on low voltage grid, West Denmark (DK2) ", + "7600": "[DK] Dansk Energi DK2:2019 LV", + "7600t": "Denmark, generators on low voltage grid, East Denmark (DK2) ", + "7601": "SMA Default 2019 for grid management services", + "7602": "[BE] Synergrid C10/11:2019 LV Generators int. Decoup. Protection Device", + "7602t": "Belgien, Generator at low-voltage grid, Internal Decoupling Protection Device", + "7603": "[BE] Synergrid C10/11:2019 LV Generators ext. Decoup. Protection Device", + "7603t": "Belgien, Generator at low-voltage grid, External Decoupling Protection Device", + "7604": "[BE] Synergrid C10/11:2019 MV Generators int. Decoup. Protection Device", + "7604t": "Belgien, Generator at high-voltage grid, Internal Decoupling Protection Device", + "7605": "[BE] Synergrid C10/11:2019 MV Generators ext. Decoup. Protection Device", + "7605t": "Belgien, Generator at high-voltage grid, External Decoupling Protection Device", + "7606": "[BE] Synergrid C10/11:2019 LV Storage int. Decoup. Protection Device", + "7606t": "Belgien, Storage at low-voltage grid, Internal Decoupling Protection Device", + "7607": "[BE] Synergrid C10/11:2019 LV Storage ext. Decoup. Protection Device", + "7607t": "Belgien, Storage at low-voltage grid, External Decoupling Protection Device", + "7608": "[BE] Synergrid C10/11:2019 MV Storage int. Decoup. Protection Device", + "7608t": "Belgien, Storage at high-voltage grid, Internal Decoupling Protection Device", + "7609": "[BE] Synergrid C10/11:2019 MV Storage ext. Decoup. Protection Device", + "7609t": "Belgien, Storage at high-voltage grid, External Decoupling Protection Device", + "7610": "[IT] CEI0-21:2019 System ≤11.08 kW int. Decoup. Protection Device", + "7610t": "Italy, systems in low-voltage grids, up to 11,08 kW, with internal decoupling protection device", + "7611": "[IT] CEI0-21:2019 System ≤11.08 kW ext. Decoup. Protection Device", + "7611t": "Italy, systems in low-voltage grids, up to 11,08 kW, with internal decoupling protection device", + "7612": "[IT] CEI0-21:2019 System >11.08 kW ext. Decoup. Protection Device", + "7612t": "Italy, systems in low-voltage Grids, higher than 11,08 kW, with external decoupling protection device", + "7613": "[IT] CEI0-16:2019 System ≤6 MW", + "7613t": "Italy, systems in medium or high-voltage Grids, up to 6 MW", + "7614": "[AT] TOR Erzeuger Typ A V1.0:2019", + "7615": "[AT] TOR Generator Type A V1.0:2019", + "7615t": "Austria, Generators or Storage Typ A, in low-voltage grids, up to 250 kW", + "7616": "[AT] TOR Generator Type B V1.0:2019 System >250 kW", + "7616t": "Austria, Generators or Storage Typ B, in medium-voltage grids, higher than 250 kW up to 35 MW", + "7617": "[DE] VDE-AR-N 4120:2018", + "7618": "[FR] VFR:2019", + "7619": "[ES] P.O.12.2:2018", + "7620": "[IN] IEC 61727", + "7621": "[KR] PV 502:2013", + "7622": "[TW] CNS 15382:2018", + "7623": "[FI] VJV:2018", + "7624": "Production test", + "7625": "[ES] Orden TED 749:2020 Type A Power generation systems ≤ 100 kW", + "7626": "[ES] Orden TED 749:2020 Type B 100 kW > Power generation systems ≤ 5 MW", + "7627": "[ES] Orden TED 749:2020 Types C&D Power generation systems > 5 MW", + "7628": "[PL] EN50549-1/19-PL: Typ A", + "7629": "[PL] EN50549-2/19-PL: Typ B", + "7630": "[US] IEEE 1547:2018, Abnormal Performance Cat.I, Normal Performance Cat. B", + "7630t": "USA, UL1741/SA, UL1741/SB, IEEE1547:2018, Normal Performance Category B, Abnormal Performance Category I (based on SMA Grid Guard 10)", + "7631": "[US] IEEE 1547:2018, Abnormal Performance Cat.II, Normal Performance Cat. B", + "7631t": "USA, UL1741/SA, UL1741/SB, IEEE1547:2018, Normal Performance Category B, Abnormal Performance Category II (based on SMA Grid Guard 10)", + "7632": "[US] IEEE 1547:2018, Abnormal Performance Cat.III, Normal Performance Cat. B", + "7632t": "USA, UL1741/SA, UL1741/SB, IEEE1547:2018, Normal Performance Category B, Abnormal Performance Category III (based on SMA Grid Guard 10)", + "7633": "[IT] CEI0-21:2019 Storage ≤11,08 kW int. EKS", + "7634": "[IT] CEI0-21:2019 Storage >11,08 kW ext. EKS", + "7635": "[IT] CEI0-16:2019 Storage", + "7636": "[CH] NA/EEA-NE7:2020 generator ≤ 250 kW", + "7637": "[CH] NA/EEA-NE7:2020 battery-storage system ≤ 250 kW", + "7638": "[CH] NA/EEA-NE7:2020 generator > 250 kW", + "7639": "[CH] NA/EEA-NE7:2020 battery-storage system > 250 kW", + "7648": "[ZA] NRS 097-2-1:2017 categories A1&A2 ≤100 kVA", + "7649": "[ZA] NRS 097-2-1:2017 category A3 > 1000 kVA", + "7650": "[TH] IEC61727/PEA 2016 all systems", + "7651": "[TH] IEC61727/MEA 2016 all systems", + "7652": "[Offgrid] SMA stand-alone mode 50 Hz PV inverter", + "7653": "[Offgrid] SMA stand-alone mode 60 Hz PV inverter", + "7654": "[IL] SI4777_HS131_13 systems ≤ 50kW ", + "7655": "[IL] SI4777_HS131_Pf systems > 50kW", + "7656": "[CL] NT_Ley20571 systems ≤ 100 kW ", + "7657": "[BR] ABNT NBR 16149:2013 all systems", + "7658": "[PL] PN-EN 50549-1_2019", + "7659": "[PL] PN-EN 50549-1_2019_1ph", + "7660": "[PL] PN-EN 50549-2_2019", + "7661": "[AU] AS/NZS 4777.2:2020 Generator Region A ", + "7661t": "Australia, Grid Connection Inverter, Generator Region A", + "7662": "[AU] AS/NZS 4777.2:2020 Generator Region B", + "7662t": "Australia, Grid Connection Inverter, Generator Region B", + "7663": "[AU] AS/NZS 4777.2:2020 Generator Region C", + "7663t": "Australia, Grid Connection Inverter, Generator Region C", + "7664": "[AU] AS/NZS 4777.2:2020 Generator Region NZ", + "7664t": "Australia, Grid Connection Inverter, Generator Region NZ", + "7665": "[AU] AS/NZS 4777.2:2020 Storage Region A", + "7665t": "Australia, Grid Connection Inverter, Storage Region A", + "7666": "[AU] AS/NZS 4777.2:2020 Storage Region B", + "7666t": "Australia, Grid Connection Inverter, Storage Region B", + "7667": "[AU] AS/NZS 4777.2:2020 Storage Region C", + "7667t": "Australia, Grid Connection Inverter, Storage Region C", + "7668": "[AU] AS/NZS 4777.2:2020 Storage Region NZ", + "7668t": "Australia, Grid Connection Inverter, Storage Region NZ", + "7669": "[US] HECO SRD2.0; IEEE 1547:2018; Abnormal Performance Cat.III; Normal Performance Cat. B", + "7669t": "HECO SRD2.0; IEEE 1547:2018; Abnormal Performance Cat.III; Normal Performance Cat. B", + "7670": "SMA Default 2021 60Hz US", + "7671": "[SE] EIFS-2018:2 Generator Type A < 1.5 MW", + "7671t": "Sweden, RfG-Implementation for Generators < 1.5 MW", + "7672": "[KR] KS C 8565:2020 (inverter 30-250 kW)", + "7672t": "Korea, KS C 8565:2020 for inverters with a rated output over 30 kW and 250 kW", + "7673": "[KR] KS C 8565:2020 (inverter 10-30 kW)", + "7673t": "Korea, KS C 8565:2020 for inverters with a rated output betweenr 10 kW and 30 kW", + "7674": "[US] CA-R21-IEEE1547:2018-Cat.III-Cat.B", + "7674t": "California (USA); Rule 21, IEEE 1547:2018; Abnormal Performance Cat.III; Normal Performance Cat. B", + "7675": "[JO] IRR-DCC-MV inst. less than 500kW", + "7675t": "Jordan IRR-DCC-MV for installations with a power less than 500kW", + "7676": "[JO] IRR-DCC-MV inst. between 500 kW and 2 MW", + "7676t": "Jordan IRR-DCC-MV for installations with a power between 500 kW and 2 MW", + "7677": "[US] UL1741 /SB Cat B-II Storage", + "7678": "[US] UL1741 /SB Cat B-III Storage", + "7679": "[AE] DEWA systems < 10 kW", + "7680": "[AE] DEWA systems ≥ 10 kW", + "7681": "[AE] DEWA medium-voltage systems", + "7682": "[UK] Northern Ireland G98/NI systems ≤ 16 A", + "7683": "[UK] Northern Ireland G99/NI systems > 16 A", + "7684": "[TW] CNS 15382 PV systems", + "8000": "All Devices", + "8001": "Solar Inverters", + "8002": "Wind Turbine Inverter", + "8003": "Hydroelectric power plant", + "8004": "CHP plant", + "8005": "Fuel cell", + "8006": "Diesel generator", + "8007": "Battery Inverter", + "8008": "Charging station", + "8009": "Hybrid inverter", + "8010": "No translation in Taglist for ID 8010", + "8032": "Electrolyzer", + "8033": "Load", + "8034": "No translation in Taglist for ID 8034", + "8064": "Sensor System in General", + "8065": "Electricity meter", + "8066": "Gas meter", + "8067": "Generic meter", + "8096": "Tracker", + "8097": "No translation in Taglist for ID 8097", + "8128": "Communication products", + "8129": "No translation in Taglist for ID 8129", + "8500": "ROOT", + "8501": "VMEM", + "8502": "PWT", + "8503": "COM", + "8504": "FWCHK", + "8505": "COND", + "8506": "SET", + "8507": "LOGDEV", + "8508": "LOGOBJ", + "8509": "TAGS", + "8510": "PHYDEV", + "8511": "PHYOBJ", + "8512": "LEXE", + "8513": "LEXN", + "8514": "LEXA", + "8515": "LS", + "8516": "VERS", + "8517": "IPCFG", + "8518": "YAP", + "8519": "HiFrqMessungDirectoryObjekt", + "8520": "HiFrqMessungIVKurveObjekt", + "8521": "HiFrqMessungIVKurveSIngleObjekt", + "8530": "Counter object", + "8531": "5-min value object", + "8532": "Instantaneous value object", + "8533": "Status object", + "8534": "Parameter object", + "8535": "PV string group mean values", + "8536": "String list object", + "8537": "PV string group parameter", + "8538": "PV string group instantaneous values", + "8539": "Adaptor information", + "8540": "Data logger object energy", + "8541": "Data logger object event", + "8542": "Data logger object daily energy", + "8543": "Event counter object", + "8544": "Event object", + "8545": "Taglist object", + "8546": "Time setting object", + "8547": "PV system control parameter", + "8548": "PV voltage level mean values", + "8549": "PV voltage level instantaneous values", + "8550": "PV voltage level parameter", + "8551": "PV system control object", + "8552": "PV voltage level status", + "8553": "Data logger object supplied power", + "8554": "Data logger object consumed power", + "8555": "Data logger object supplied daily power", + "8556": "Data logger object consumed daily power", + "8557": "External PV system control object", + "8558": "Datenloggerobjekt Netzspannung Phase A", + "8559": "Datenloggerobjekt Netzspannung Phase B", + "8560": "Datenloggerobjekt Netzspannung Phase C", + "8561": "Datenloggerobjekt DC-Spannung", + "8562": "Datenloggerobjekt Netzfrequenz", + "8563": "Datenloggerobjekt PCB-Temperatur", + "8564": "Datenloggerobjekt Batteriespannung Mittelwert", + "8565": "Datenloggerobjekt Batteriespannung Max", + "8566": "Datenloggerobjekt Batteriespannung Min", + "8567": "Datenloggerobjekt Batteriestrom", + "8568": "Datenloggerobjekt Batterietemperatur Mittelwert", + "8569": "Datenloggerobjekt Batterietemperatur Max", + "8570": "Datenloggerobjekt Batterietemperatur Min", + "8571": "Datenloggerobjekt Batterie SOH", + "8572": "Datalogger obj. PV gen. meter", + "8573": "Datalogger obj. total consump.", + "8574": "Datalogger obj. self-consump.", + "8575": "Datalogger obj. direct consump.", + "8576": "Datalogger obj. battery charge", + "8577": "Datalogger obj. battery disch.", + "8578": "Datalogger obj. PV/batt. power", + "8579": "Data logger object self-supply", + "8580": "Data logger object feed-in power", + "8581": "Data logger object - phase voltage", + "8582": "Data logger object - phase current", + "8583": "Data logger object - DC power", + "8584": "Data logger object - DC voltage", + "8585": "Data logger object - DC current", + "8586": "Data logger object - insulation resistance", + "8587": "Data logger object - residual current", + "8588": "Data logger object - device state", + "8589": "Data logger object total consumption of current day", + "8590": "Data logger object absorbed energy", + "8591": "Data logger object daily value absorbed energy", + "8592": "Data logger object battery state of charge", + "8593": "Generic 1-minute logger", + "8594": "Generic 5-minute logger", + "8595": "Generic daily logger", + "8596": "Datenloggerobjekt Batterieladung des laufenden Tages", + "8597": "Datenloggerobjekt Batterieentladung des laufenden Tages", + "8598": "Data logger object battery status", + "8599": "Data logger object battery capacity", + "8600": "Data logger object battery state of charge", + "8601": "Datalogger obj. battery charge", + "8602": "Datalogger obj. battery disch.", + "8603": "Datalogger obj. Available charging power", + "8604": "Datalogger obj. Available discharging power", + "8605": "Tesla", + "8606": "Sony", + "8607": "Daily-Powerwall-6.4kWh", + "8608": "RESU-8.0", + "8609": "RESU-9.8", + "8610": "RESU-10H", + "8611": "Datalogger obj. Ambient temperature", + "8612": "Datalogger obj. Status enable signal", + "8613": "Datalogger obj. Climate management supply req.", + "8614": "Datalogger obj. - DC-bus voltage", + "8615": "Datalogger obj. - DC-bus power", + "8616": "Datalogger obj. Logic supply voltage", + "8617": "Datalogger obj. Climate mgmt. supply voltage", + "8618": "Datalogger obj. Battery management system command", + "8619": "Other type", + "8620": "BYD", + "8621": "BYD Battery-Box H (4 - 8)", + "8622": "Kirchner", + "8623": "RESU-7H", + "8624": "Generischer Logger Flight Recorder", + "8625": "Datenloggerobjekt DC-Leistung für String B", + "8626": "Datenloggerobjekt DC-Spannung für String B", + "8627": "Datenloggerobjekt DC-Strom für String B", + "8628": "Hyperion (3 - 6)", + "8629": "era:powerbase 7.5 - 15 HV", + "8630": "AXIstorage Li SH 3 – 6 Powerpack", + "8631": "BMZ", + "8632": "IBC Solar", + "8633": "Axitec", + "8634": "RESU-10M", + "8635": "SMART SOLAR", + "8636": "RESU16H Prim", + "8637": "LG Energy Solution", + "8638": "RESU10H Prime", + "8639": "RESU FLEX 2s", + "8640": "RESU FLEX 3s", + "8641": "RESU FLEX 4s", + "8642": "RESU FLEX", + "8643": "Force-H1", + "8644": "Force-H2", + "8645": "Pylontech", + "9000": "SWR 700", + "9001": "SWR 850", + "9002": "SWR 850E", + "9003": "SWR 1100", + "9004": "SWR 1100E", + "9005": "SWR 1100LV", + "9006": "SWR 1500", + "9007": "SWR 1600", + "9008": "SWR 1700E", + "9009": "SWR 1800U", + "9010": "SWR 2000", + "9011": "SWR 2400", + "9012": "SWR 2500", + "9013": "SWR 2500U", + "9014": "SWR 3000", + "9015": "SB 700", + "9016": "SB 700U", + "9017": "SB 1100", + "9018": "SB 1100U", + "9019": "SB 1100LV", + "9020": "SB 1700", + "9021": "SB 1900TLJ", + "9022": "SB 2100TL", + "9023": "SB 2500", + "9024": "SB 2800", + "9025": "SB 2800i", + "9026": "SB 3000", + "9027": "SB 3000US", + "9028": "SB 3300", + "9029": "SB 3300U", + "9030": "SB 3300TL", + "9031": "SB 3300TL HC", + "9032": "SB 3800", + "9033": "SB 3800U", + "9034": "SB 4000US", + "9035": "SB 4200TL", + "9036": "SB 4200TL HC", + "9037": "SB 5000TL", + "9038": "SB 5000TLW", + "9039": "SB 5000TL HC", + "9040": "Convert 2700", + "9041": "SMC 4600A", + "9042": "SMC 5000", + "9043": "SMC 5000A", + "9044": "SB 5000US", + "9045": "SMC 6000", + "9046": "SMC 6000A", + "9047": "SB 6000US", + "9048": "SMC 6000UL", + "9049": "SMC 6000TL", + "9050": "SMC 6500A", + "9051": "SMC 7000A", + "9052": "SMC 7000HV", + "9053": "SB 7000US", + "9054": "SMC 7000TL", + "9055": "SMC 8000TL", + "9056": "SMC 9000TL-10", + "9057": "SMC 10000TL-10", + "9058": "SMC 11000TL-10", + "9059": "SB 3000 K", + "9060": "Unknown device", + "9061": "SensorBox", + "9062": "SMC 11000TLRP", + "9063": "SMC 10000TLRP", + "9064": "SMC 9000TLRP", + "9065": "SMC 7000HVRP", + "9066": "SB 1200", + "9067": "STP 10000TL-10", + "9068": "STP 12000TL-10", + "9069": "STP 15000TL-10", + "9070": "STP 17000TL-10", + "9071": "SB 2000HF-30", + "9072": "SB 2500HF-30", + "9073": "SB 3000HF-30", + "9074": "SB 3000TL-21", + "9075": "SB 4000TL-21", + "9076": "SB 5000TL-21", + "9077": "SB 2000HFUS-30", + "9078": "SB 2500HFUS-30", + "9079": "SB 3000HFUS-30", + "9080": "SB 8000TLUS", + "9081": "SB 9000TLUS", + "9082": "SB 10000TLUS", + "9083": "SB 8000US", + "9084": "WB 3600TL-20", + "9085": "WB 5000TL-20", + "9086": "SB 3800US-10", + "9087": "Sunny Beam BT11", + "9088": "Sunny Central 500CP", + "9089": "Sunny Central 630CP", + "9090": "Sunny Central 800CP", + "9091": "Sunny Central 250U", + "9092": "Sunny Central 500U", + "9093": "Sunny Central 500HEUS", + "9094": "Sunny Central 760CP", + "9095": "Sunny Central 720CP", + "9096": "Sunny Central 910CP", + "9097": "SMU8", + "9098": "STP 5000TL-20", + "9099": "STP 6000TL-20", + "9100": "STP 7000TL-20", + "9101": "STP 8000TL-10", + "9102": "STP 9000TL-20", + "9103": "STP 8000TL-20", + "9104": "SB 3000TL-JP-21", + "9105": "SB 3500TL-JP-21", + "9106": "SB 4000TL-JP-21", + "9107": "SB 4500TL-JP-21", + "9108": "SCSMC", + "9109": "SB 1600TL-10", + "9110": "SSM US", + "9111": "radio-controlled socket", + "9112": "WB 2000HF-30", + "9113": "WB 2500HF-30", + "9114": "WB 3000HF-30", + "9115": "WB 2000HFUS-30", + "9116": "WB 2500HFUS-30", + "9117": "WB 3000HFUS-30", + "9118": "VIEW-10", + "9119": "Sunny Home Manager", + "9120": "SMID", + "9121": "Sunny Central 800HE-20", + "9122": "Sunny Central 630HE-20", + "9123": "Sunny Central 500HE-20", + "9124": "Sunny Central 720HE-20", + "9125": "Sunny Central 760HE-20", + "9126": "SMC 6000A-11", + "9127": "SMC 5000A-11", + "9128": "SMC 4600A-11", + "9129": "SB 3800-11", + "9130": "SB 3300-11", + "9131": "STP 20000TL-10", + "9132": "SMA CT Meter", + "9133": "SB 2000HFUS-32", + "9134": "SB 2500HFUS-32", + "9135": "SB 3000HFUS-32", + "9136": "WB 2000HFUS-32", + "9137": "WB 2500HFUS-32", + "9138": "WB 3000HFUS-32", + "9139": "STP 20000TLHE-10", + "9140": "STP 15000TLHE-10", + "9141": "SB 3000US-12", + "9142": "SB 3800-US-12", + "9143": "SB 4000US-12", + "9144": "SB 5000US-12", + "9145": "SB 6000US-12", + "9146": "SB 7000US-12", + "9147": "SB 8000US-12", + "9148": "SB 8000TLUS-12", + "9149": "SB 9000TLUS-12", + "9150": "SB 10000TLUS-12", + "9151": "SB 11000TLUS-12", + "9152": "SB 7000TLUS-12", + "9153": "SB 6000TLUS-12", + "9154": "SB 1300TL-10", + "9155": "Sunny Backup 2200", + "9156": "Sunny Backup 5000", + "9157": "Sunny Island 2012", + "9158": "Sunny Island 2224", + "9159": "Sunny Island 5048", + "9160": "SB 3600TL-20", + "9161": "SB 3000TL-JP-22", + "9162": "SB 3500TL-JP-22", + "9163": "SB 4000TL-JP-22", + "9164": "SB 4500TL-JP-22", + "9165": "SB 3600TL-21", + "9167": "Cluster Controller", + "9168": "SC630HE-11", + "9169": "SC500HE-11", + "9170": "SC400HE-11", + "9171": "WB 3000TL-21", + "9172": "WB 3600TL-21", + "9173": "WB 4000TL-21", + "9174": "WB 5000TL-21", + "9175": "SC 250", + "9176": "SMA Meteo Station", + "9177": "SB 240-10", + "9178": "SB 240-US-10", + "9179": "Multigate-10", + "9180": "Multigate-US-10", + "9181": "STP 20000TLEE-10", + "9182": "STP 15000TLEE-10", + "9183": "SB 2000TLST-21", + "9184": "SB 2500TLST-21", + "9185": "SB 3000TLST-21", + "9186": "WB 2000TLST-21", + "9187": "WB 2500TLST-21", + "9188": "WB 3000TLST-21", + "9189": "WTP 5000TL-20", + "9190": "WTP 6000TL-20", + "9191": "WTP 7000TL-20", + "9192": "WTP 8000TL-20", + "9193": "WTP 9000TL-20", + "9194": "STP 12000TL-US-10", + "9195": "STP 15000TL-US-10", + "9196": "STP 20000TL-US-10", + "9197": "STP 24000TL-US-10", + "9198": "SB 3000TL-US-22", + "9199": "SB 3800TL-US-22", + "9200": "SB 4000TL-US-22", + "9201": "SB 5000TL-US-22", + "9202": "WB 3000TL-US-22", + "9203": "WB 3800TL-US-22", + "9204": "WB 4000TL-US-22", + "9205": "WB 5000TL-US-22", + "9206": "SC 500CP-JP", + "9207": "SC 850CP", + "9208": "SC 900CP", + "9209": "SC 850 CP-US", + "9210": "SC 900 CP-US", + "9211": "SC 619CP", + "9212": "SMA Meteo Station", + "9213": "SC 800 CP-US", + "9214": "SC 630 CP-US", + "9215": "SC 500 CP-US", + "9216": "SC 720 CP-US", + "9217": "SC 750 CP-US", + "9218": "SB 240 Dev", + "9219": "SB 240-US BTF", + "9220": "Grid Gate-20", + "9221": "SC 500 CP-US/600V", + "9222": "STP 10000TLEE-JP-10", + "9223": "Sunny Island 6.0H", + "9224": "Sunny Island 8.0H", + "9225": "SB 5000SE-10", + "9226": "SB 3600SE-10", + "9227": "SC 800CP-JP", + "9228": "SC 630CP-JP", + "9229": "WebBox-30", + "9230": "Power Reducer Box", + "9231": "Sunny Sensor Counter", + "9232": "Sunny Boy Control", + "9233": "Sunny Boy Control Plus", + "9234": "Sunny Boy Control Light", + "9235": "Sunny Central 100 Outdoor", + "9236": "Sunny Central 1000MV", + "9237": "Sunny Central 100 LV", + "9238": "Sunny Central 1120MV", + "9239": "Sunny Central 125 LV", + "9240": "Sunny Central 150", + "9241": "Sunny Central 200", + "9242": "Sunny Central 200 HE", + "9243": "Sunny Central 250 HE", + "9244": "Sunny Central 350", + "9245": "Sunny Central 350 HE", + "9246": "Sunny Central 400 HE", + "9247": "Sunny Central 400MV", + "9248": "Sunny Central 500 HE", + "9249": "Sunny Central 500MV", + "9250": "Sunny Central 560 HE", + "9251": "Sunny Central 630 HE", + "9252": "Sunny Central 700MV", + "9253": "Sunny Central Betriebsführung", + "9254": "Sunny Island 3324", + "9255": "Sunny Island 4.0M", + "9256": "Sunny Island 4248", + "9257": "Sunny Island 4248U", + "9258": "Sunny Island 4500", + "9259": "Sunny Island 4548U", + "9260": "Sunny Island 5.4M", + "9261": "Sunny Island 5048U", + "9262": "Sunny Island 6048U", + "9263": "Sunny Mini Central 7000HV-11", + "9264": "Sunny Solar Tracker", + "9265": "Sunny Beam", + "9266": "Sunny Boy SWR 700/150", + "9267": "Sunny Boy SWR 700/200", + "9268": "Sunny Boy SWR 700/250", + "9269": "Sunny WebBox for SC", + "9270": "Sunny WebBox", + "9271": "STP 20000TLEE-JP-11", + "9272": "STP 10000TLEE-JP-11", + "9273": "SB 6000TL-21", + "9274": "SB 6000TL-US-22", + "9275": "SB 7000TL-US-22", + "9276": "SB 7600TL-US-22", + "9277": "SB 8000TL-US-22", + "9278": "Sunny Island 3.0M", + "9279": "Sunny Island 4.4M", + "9280": "Consumer external device", + "9281": "STP 10000TL-20", + "9282": "STP 11000TL-20", + "9283": "STP 12000TL-20", + "9284": "STP 20000TL-30", + "9285": "STP 25000TL-30", + "9286": "Sunny Central Storage 500", + "9287": "Sunny Central Storage 630", + "9288": "Sunny Central Storage 720", + "9289": "Sunny Central Storage 760", + "9290": "Sunny Central Storage 800", + "9291": "Sunny Central Storage 850", + "9292": "Sunny Central Storage 900", + "9293": "SB 7700TL-US-22", + "9294": "SB20.0-3SP-40", + "9295": "SB30.0-3SP-40", + "9296": "SC 1000 CP", + "9297": "Zeversolar 1000", + "9298": "Sunny Central 2200", + "9299": "Sunny Central 2200-US", + "9300": "Sunny Central 2475-EV", + "9301": "Sunny Boy 1.5", + "9302": "Sunny Boy 2.5", + "9303": "Sunny Boy 2.0", + "9304": "Sunny Boy 5.0", + "9305": "Sunny Boy 6.0", + "9306": "Sunny Boy 7.7", + "9307": "Energy Meter", + "9308": "Zone Monitoring", + "9309": "STP 27000TL-US-10", + "9310": "STP 30000TL-US-10", + "9311": "STP 25000TL-JP-30", + "9312": "SMA String Monitor", + "9313": "SB50.0-3SP-40", + "9314": "Plugwise Circle", + "9315": "Plugwise Stealth/Sting", + "9316": "Sunny Central Storage 1000", + "9317": "SB 5400TL-JP-22", + "9318": "Sunny Central Storage 1000 KRBS", + "9319": "Sunny Boy 3.0", + "9320": "Sunny Boy 3.6", + "9321": "Sunny Boy 4.0", + "9322": "Sunny Boy 5.0", + "9323": "Multicluster Box 12 2", + "9324": "Sunny Boy Storage 1.5", + "9325": "Sunny Boy Storage 2.0", + "9326": "Sunny Boy Storage 2.5", + "9327": "SMA Energy Meter", + "9328": "Sunny Boy 3.0", + "9329": "Sunny Boy 3.8", + "9330": "Sunny Boy 7.0", + "9331": "Sunny Island 3.0M", + "9332": "Sunny Island 4.4M", + "9333": "Sunny Island 6.0H", + "9334": "Sunny Island 8.0H", + "9335": "SMA Com Gateway", + "9336": "STP 15000TL-30", + "9337": "STP 17000TL-30", + "9338": "STP50-40", + "9339": "STP50-US-40", + "9340": "STP50-JP-40", + "9341": "Edimax SP-2101W", + "9342": "Edimax SP-2110W", + "9343": "Sunny Home Manager 2.0", + "9344": "SUNNY TRIPOWER 4.0", + "9345": "SUNNY TRIPOWER 5.0", + "9346": "SUNNY TRIPOWER 6.0", + "9347": "SUNNY TRIPOWER 8.0", + "9348": "SUNNY TRIPOWER 10.0", + "9349": "STP4.0-3SP-40", + "9350": "STP5.0-3SP-40", + "9351": "STP6.0-3SP-40", + "9352": "STP8.0-3SP-40", + "9353": "STP10.0-3SP-40", + "9354": "STP 24500TL-JP-30", + "9355": "STP 20000TL-JP-30", + "9356": "SBS3.7-10", + "9357": "No translation in Taglist for ID 9357", + "9358": "SBS5.0-10", + "9359": "SBS6.0-10", + "9360": "SBS3.8-US-10", + "9361": "SBS5.0-US-10", + "9362": "SBS6.0-US-10", + "9363": "SPS-SM40-1A", + "9364": "SBS5.0-JP-10", + "9365": "Edimax SP-2101W V2", + "9366": "STP3.0-3AV-40", + "9367": "STP3.0-3SP-40", + "9368": "TS4-M", + "9369": "TS4-S", + "9370": "TS4-O", + "9371": "TS4-L", + "9372": "Tigo_ES75", + "9373": "Tigo_2ES", + "9374": "Tigo_JBOX", + "9375": "Wattnode Modbus RTU", + "9376": "SunSpec Modbus RTU", + "9377": "SMA Gateway Interface Module", + "9378": "SMA Cellular Modem Module", + "9379": "Sunny Central 1850-US", + "9380": "Sunny Central 2500-US", + "9381": "Sunny Central 2940", + "9382": "Sunny Central 2940-US", + "9383": "Sunny Central Storage 2200", + "9384": "Sunny Central Storage 2500-EV", + "9385": "Sunny Central Storage 2500-EV-US", + "9386": "Sunny Central Storage 2200-US", + "9387": "Sunny Central 2750-EV", + "9388": "Sunny Central 2750-EV-US", + "9389": "Sunny Central Storage 2750-EV", + "9390": "Sunny Central Storage 2750-EV-US", + "9391": "Sunny Central Storage 2475", + "9392": "Sunny Central Storage 2475-US", + "9393": "SB / STP Demo", + "9394": "Tigo Gateway", + "9395": "Tigo Gateway 2", + "9396": "SMA DATA MANAGER M", + "9397": "EDMM-10", + "9398": "EDMM-US-10", + "9399": "EMETER-30", + "9400": "EDMS-US-10", + "9401": "Sunny Boy 3.0", + "9402": "Sunny Boy 3.6", + "9403": "Sunny Boy 4.0", + "9404": "Sunny Boy 5.0", + "9405": "Sunny Boy 6.0", + "9406": "SHP 100-20", + "9407": "SHP 150-20", + "9408": "SHP 125-US-20", + "9409": "SHP 150-US-20", + "9410": "SHP 100-JP-20", + "9411": "SHP 150-JP-20", + "9412": "Sunny Central 2475", + "9413": "Sunny Central 3000-EV", + "9414": "Sunny Central Storage 3000-EV", + "9415": "Sunny Central 1760-US", + "9416": "Sunny Central 2000-US", + "9417": "Sunny Central 2500-EV-10", + "9418": "Sunny Central Storage 1900", + "9419": "Sunny Central Storage 1900-US", + "9420": "Sunny Central Storage 2900", + "9421": "Sunny Central Storage 2900-US", + "9422": "Sunny Boy 3.0-US", + "9423": "Sunny Boy 3.8-US", + "9424": "Sunny Boy 4.8-US", + "9425": "Sunny Boy 5.8-US", + "9426": "Sunny Boy 4.4-JP", + "9427": "Sunny Boy 5.5-JP", + "9428": "STP62-US-41", + "9429": "STP50-US-41", + "9430": "STP33-US-41", + "9431": "STP50-41", + "9432": "STP50-JP-41", + "9433": "Sunny Central 2000-EV-US", + "9434": "SMA DATA MANAGER L", + "9435": "EDML-10", + "9436": "EDML-US-10", + "9437": "SMA Revenue Grade Meter", + "9438": "SMA SPOT", + "9439": "Sunny Boy 3.0-US", + "9440": "Sunny Boy 3.8-US", + "9441": "Sunny Boy 5.0-US", + "9442": "Sunny Boy 6.0-US", + "9443": "Sunny Boy 7.0-US", + "9444": "Sunny Boy 7.7-US", + "9445": "Sunny Boy 3.0-US", + "9446": "Sunny Boy 3.8-US", + "9447": "Sunny Boy 5.0-US", + "9448": "Sunny Boy 6.0-US", + "9449": "Sunny Boy 7.0-US", + "9450": "Sunny Boy 7.7-US", + "9451": "Solid-Q 15.0", + "9452": "Solid-Q 18.0", + "9453": "Solid-Q 20.0", + "9454": "Solid-Q 23.0", + "9455": "Sunny Boy 5.5-JP", + "9456": "Sunny Tripower Storage 60", + "9457": "Sunny Central 4000-UP", + "9458": "Sunny Central 4000-UP-US", + "9459": "Sunny Central Storage 3450-UP-XT", + "9460": "Sunny Central Storage 3450-UP-XT-US", + "9461": "Sunny Central 4200-UP", + "9462": "Sunny Central 4200-UP-US", + "9463": "Sunny Central Storage 3600-UP-XT", + "9464": "Sunny Central Storage 3600-UP-XT-US", + "9465": "Sunny Central 4400-UP", + "9466": "Sunny Central 4400-UP-US", + "9467": "Sunny Central Storage 3800-UP-XT", + "9468": "Sunny Central Storage 3800-UP-XT-US", + "9469": "Sunny Central 4600-UP", + "9470": "Sunny Central 4600-UP-US", + "9471": "Sunny Central Storage 3950-UP-XT", + "9472": "Sunny Central Storage 3950-UP-XT-US", + "9473": "SMA Energy Meter powered by ennexOS", + "9474": "SI4.4M-13", + "9475": "SI6.0H-13", + "9476": "SI8.0H-13", + "9477": "SHP 143-JP-20", + "9478": "FRITZ!DECT 200", + "9479": "FRITZ!DECT 210", + "9480": "Sunny Tripower 60", + "9481": "Sunny Tripower 60 Japan", + "9482": "Sunny Highpower PEAK1", + "9483": "EVC7.4-1AC-10", + "9484": "EVC22-3AC-10", + "9485": "Hybrid Controller", + "9486": "Sunny Island 5.0H-13", + "9487": "Sunny Boy Storage 4.0-JP", + "9488": "Sunny Tripower X 25", + "9489": "Sunny Tripower X 20", + "9490": "Sunny Tripower X 17", + "9491": "Sunny Tripower X 15", + "9492": "Sunny Tripower X 12", + "9493": "Sunny Tripower X 30-US", + "9494": "Sunny Tripower X 25-US", + "9495": "Sunny Tripower 24000TL-US-50", + "9496": "Sunny Tripower X 20-US", + "9497": "Sunny Tripower 15000TL-US-50", + "9498": "Sunny Tripower 12000TL-US-50", + "9499": "(UTC-AUTO) Automatic via SMA protocol", + "9500": "(UTC+04:30) Kabul", + "9501": "(UTC-09:00) Alaska", + "9502": "(UTC+03:00) Kuwait, Riyardh", + "9503": "(UTC+04:00) Abu Dhabi, Muskat", + "9504": "(UTC+03:00) Baghdad, Istanbul", + "9505": "(UTC-04:00) Atlantic (Canada)", + "9506": "(UTC+09:30) Darwin", + "9507": "(UTC+10:00) Canberra, Melbourne, Sydney", + "9508": "(UTC+04:00) Baku", + "9509": "(UTC-01:00) Azores", + "9510": "(UTC-06:00) Saskatchewan", + "9511": "(UTC-01:00) Cape Verde Islands", + "9512": "(UTC+04:00) Yerevan", + "9513": "(UTC+09:30) Adelaide", + "9514": "(UTC-06:00) Regina", + "9515": "(UTC+06:00) Astana, Dhaka", + "9516": "(UTC-04:00) Manaus", + "9517": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague", + "9518": "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb", + "9519": "(UTC+11:00) Magadan, Solomon Islands, New Caledonia", + "9520": "(UTC-06:00) Central America", + "9521": "(UTC-06:00) Guadalajara, Mexico City, Monterrary - Old", + "9522": "(UTC+08:00) Peking, Chongqing, Hongkong, Urumchi", + "9523": "(UTC-12:00) (Western) International Date Line", + "9524": "(UTC+03:00) Nairobi", + "9525": "(UTC+10:00) Brisbane", + "9526": "(UTC+02:00) Minsk", + "9527": "(UTC-03:00) Brasilia", + "9528": "(UTC-05:00) New York, Miami, Atlanta, Detroit, Toronto", + "9529": "(UTC+02:00) Cairo", + "9530": "(UTC+05:00) Jekaterinburg", + "9531": "(UTC+12:00) Fidschi, Marshall Islands", + "9532": "(UTC+02:00) Helsinki, Kiev, Riga, Sofia, Tallin, Wilna", + "9533": "(UTC+04:00) Tiflis", + "9534": "(UTC) Dublin, Edinburgh, Lisbon, London", + "9535": "(UTC-03:00) Greenland", + "9536": "(UTC) Monrovia, Reykjavík", + "9537": "(UTC+02:00) Athens, Bucharest, Istanbul", + "9538": "(UTC-10:00) Hawaii", + "9539": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi", + "9540": "(UTC+03:30) Teheran", + "9541": "(UTC+02:00) Jerusalem", + "9542": "(UTC+02:00) Amman", + "9543": "(UTC+09:00) Seoul", + "9544": "(UTC+08:00) Kuala Lumpur, Singapore", + "9545": "(UTC-02:00) Central Atlantic", + "9546": "(UTC+02:00) Beirut", + "9547": "(UTC-07:00) Denver, Salt Lake City, Calgary", + "9548": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - old", + "9549": "(UTC+06:30) Yangon (Rangoon)", + "9550": "(UTC+06:00) Novosibirsk", + "9551": "(UTC+02:00) Windhoek", + "9552": "(UTC+05:45) Katmandu", + "9553": "(UTC+12:00) Auckland, Wellington", + "9554": "(UTC-03:30) Newfoundland", + "9555": "(UTC+08:00) Irkutsk", + "9556": "(UTC+07:00) Krasnoyarsk", + "9557": "(UTC-04:00) Santiago", + "9558": "(UTC-08:00) Pacific (USA, Canada)", + "9559": "(UTC-08:00) Tijuana, Baja California (Mexico)", + "9560": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris", + "9561": "(UTC+03:00) Moskow, St. Petersburg, Volgograd", + "9562": "(UTC-03:00) Buenos Aires, Santiago", + "9563": "(UTC-05:00) Bogotá, Lima, Quito", + "9564": "(UTC-04:30) Caracas", + "9565": "(UTC-11:00) Midway Islands, Samoa", + "9566": "(UTC+07:00) Bangkok, Hanoi, Jakarta", + "9567": "(UTC+02:00) Harare, Pretoria", + "9568": "(UTC+05:30) Sri Jayawardenepura", + "9569": "(UTC+08:00) Taipeh", + "9570": "(UTC+10:00) Hobart", + "9571": "(UTC+09:00) Osaka, Sapporo, Tokyo", + "9572": "(UTC+13:00) Nuku'alofa", + "9573": "(UTC-05:00) Indiana (East)", + "9574": "(UTC-07:00) Arizona", + "9575": "(UTC+10:00) Vladivostok, Magadan", + "9576": "(UTC+08:00) Perth", + "9577": "(UTC+01:00) West.Centr.Africa", + "9578": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna", + "9579": "(UTC+05:00) Islamabad, Karatschi", + "9580": "(UTC+10:00) Guam, Port Moresby", + "9581": "(UTC+09:00) Yakutsk", + "9582": "(UTC+04:00) Caucasian Standard Time", + "9583": "(UTC-06:00) Chicago, Dallas, Kansas City, Winnipeg", + "9584": "(UTC-06:00) Guadalajara, Mexico City, Monterrey - new", + "9585": "(UTC) Casablanca", + "9586": "(UTC+04:00) Port Louis", + "9587": "(UTC-07:00) Chihuahua, La Paz, Mazatlan - new", + "9588": "(UTC-03:00) Montevideo", + "9589": "(UTC+05:00) Taschkent", + "9590": "(UTC+01:00) Casablanca", + "9591": "(UTC-04:00) Georgetown, La Paz, San Juan", + "9592": "(UTC+08:00) Ulan-Bator", + "9593": "(UTC-03:00) Cayenne", + "9594": "(UTC-04:00) Asuncion", + "9595": "(UTC+12:00) Petropavlovsk-Kamtschatski", + "9596": "(UTC+03:00) Minsk", + "9597": "(UTC+07:00) Novosibirsk", + "9598": "(UTC-04:00) Caracas", + "10001": "Total yield", + "10002": "Power", + "10003": "MPP scan procedure completed successfully", + "10004": "Estimated MPP power", + "10005": "Absorbed energy", + "10006": "Estimated AC MAX power", + "10007": "Maximum unsymmetric load", + "10008": "Fan 3 operating time", + "10009": "Number of events for user", + "10010": "Number of grid connections", + "10011": "Operating time", + "10012": "Feed-in time", + "10013": "Number of events for installer", + "10014": "Number of events for service", + "10015": "Total energy drawn from the grid by the device", + "10016": "Total amount of energy fed into the grid by device", + "10017": "Total operating time of device", + "10018": "Total feed-in time of device", + "10019": "Number of grid connections of the device", + "10020": "Fan operating time", + "10021": "Fan 2 operating time", + "10022": "Fan heat sink operating time", + "10023": "Fan transformer operating time", + "10024": "Fan transformer 2 operating time", + "10025": "Number of Flash write cycles", + "10026": "Number of events for developer", + "10027": "Current event number", + "10028": "Waiting time until feed-in", + "10029": "Load unbalance limit", + "10030": "Power", + "10031": "Power L1", + "10032": "Power L2", + "10033": "Power L3", + "10034": "Measurement interval", + "10035": "Grid voltage phase L1", + "10036": "Grid voltage phase L2", + "10037": "Grid voltage phase L3", + "10038": "Grid current", + "10039": "Grid current phase L1", + "10040": "Grid current phase L2", + "10041": "Grid current phase L3", + "10042": "Grid frequency", + "10043": "Reactive power", + "10044": "Reactive power L1", + "10045": "Reactive power L2", + "10046": "Reactive power L3", + "10047": "Apparent power", + "10048": "Apparent power L1", + "10049": "Apparent power L2", + "10050": "Apparent power L3", + "10051": "Operating condition residual current", + "10052": "Operating condition insulation resistance", + "10053": "Operating condition grid voltage", + "10054": "Operating condition grid voltage L1", + "10055": "Operating condition grid voltage L2", + "10056": "Operating condition grid voltage L3", + "10057": "Operating condition grid frequency", + "10058": "Operating condition power", + "10061": "Operating condition reactive power", + "10063": "Operating condition current", + "10064": "Operating condition current L1", + "10065": "Operating condition current L2", + "10066": "Operating condition current L3", + "10067": "Operating condition temperatures", + "10068": "Highest measured ambient temperature", + "10069": "Ambient temperature", + "10070": "Insolation", + "10071": "Diffuse insolation", + "10072": "Direct irradiation", + "10073": "Insolation on external sensor", + "10074": "Wind speed", + "10075": "Wind direction", + "10076": "Air humidity", + "10077": "Atmospheric pressure", + "10078": "Residual current", + "10079": "Insulation resistance", + "10080": "Serial number", + "10081": "Nominal power in Ok Mode", + "10082": "Nominal power in Warning Mode", + "10083": "Nominal power in Fault Mode", + "10085": "Recommended action \"contact manufacturer\"", + "10086": "Recommended action \"contact installer\"", + "10087": "External temperature", + "10088": "Highest measured external temperature", + "10089": "External temperature 2", + "10090": "Highest measured external temperature 2", + "10091": "Internal temperature", + "10092": "Highest measured internal temperature", + "10093": "Heat sink temperature", + "10094": "Highest measured heat sink temperature", + "10095": "Heat sink temperature 2", + "10096": "Highest measured heat sink temperature 2", + "10097": "Transformer temperature", + "10098": "Highest measured transformer temperature", + "10099": "Internal temperature", + "10100": "Highest measured internal temperature", + "10101": "Module temperature", + "10102": "Highest measured module temperature", + "10103": "Highest measured inverter temperature", + "10104": "Inverter temperature", + "10105": "Highest measured printed circuit board temperature", + "10106": "Printed circuit board temperature", + "10107": "Last GridGuard password", + "10108": "Intermediate circuit voltage", + "10109": "Current event number for manufacturer", + "10110": "Condition", + "10111": "Recommended action", + "10112": "Message", + "10113": "Fault correction measure", + "10114": "Grid relay/contactor", + "10115": "Reason for derating", + "10116": "DC voltage control type", + "10117": "Last GridGuard password", + "10118": "BMS type", + "10119": "Acknowledge fault", + "10120": "Remote control", + "10121": "Rated active power WMaxOutRtg", + "10122": "Memory card status", + "10123": "General operating mode", + "10124": "Fan test", + "10125": "Deactivation delay", + "10126": "Country standard set", + "10127": "Device name", + "10128": "Device class", + "10129": "Device type", + "10130": "Manufacturer", + "10134": "Set total operating time at grid connection point", + "10135": "Set total feed-in time at the grid connection pt.", + "10136": "Set fan operating time", + "10137": "Set fan2 operating time", + "10138": "Set heat sink fan operating time", + "10139": "Set transfomer fan operating time", + "10140": "Set transformer fan 2 operating time", + "10141": "Reset operating data", + "10142": "Set transformer fan 3 operating time", + "10143": "Load parameter", + "10144": "Memory card function", + "10145": "Start of derating based on external temperature", + "10146": "Start of derating based on external temperature 2", + "10147": "Start of derating based on interior temperature", + "10148": "Setpoint of the interior temperature", + "10149": "Start of derating based on heat sink temperature", + "10150": "Setpoint of the heat sink temperature", + "10151": "Start of derating based on heat sink temperature 2", + "10152": "Setpoint of the heat sink temperature 2", + "10153": "Start of derating based on transformer temperature", + "10154": "Setpoint of transformer temperature", + "10155": "Start of derating based on board temperature", + "10156": "Start of derating based on inverter temperature", + "10157": "Target address", + "10158": "Message interval", + "10159": "Set active power limit", + "10160": "Current power limit A", + "10161": "Power limit B", + "10162": "Power limit C", + "10163": "Power limitation", + "10164": "Phase assignment", + "10165": "Start. point of the power control via frequency", + "10166": "End point of the power control via frequency", + "10167": "Tripping threshold DC current monitoring", + "10168": "Tripping time DC current monitoring", + "10169": "Maximum duration of a short interruption", + "10170": "Reconnection time upon short interruption", + "10171": "Reconnection time after grid fault", + "10172": "Reconnection time upon restart", + "10173": "Escalation factor", + "10174": "Frequency monitoring upper maximum threshold", + "10175": "Frequency monitoring upper max. threshold trip. time", + "10176": "Frequency monitoring median maximum threshold", + "10177": "Frq. monitoring median max. threshold trip. time", + "10178": "Frequency monitoring, lower maximum threshold", + "10179": "Frequency monitoring, lower max. threshold trip. time", + "10180": "Frequency monitoring upper minimum threshold", + "10181": "Frequency monitoring, upper min. threshold trip. time", + "10182": "Frequency monitoring median minimum threshold", + "10183": "Frq. monitoring median min. threshold trip. time", + "10184": "Frequency monitoring, lower minimum threshold", + "10185": "Frequency monitoring, lower min. threshold trip. time", + "10186": "Voltage monitoring upper maximum threshold", + "10187": "Voltage monitoring upper max. threshold trip. time", + "10188": "Voltage monitoring median maximum threshold", + "10189": "Voltage monitoring, median max. threshold trip.time", + "10190": "Voltage monitoring lower maximum threshold", + "10191": "Voltage monitoring, lower max. threshold trip. time", + "10192": "Voltage monitoring upper minimum threshold", + "10193": "Voltage monitoring, lower min. threshold trip. time", + "10194": "Voltage monitoring of median minimum threshold", + "10195": "Voltage monitoring, median min. threshold trip.time", + "10196": "Voltage monitoring lower minimum threshold", + "10197": "Voltage monitoring, lower min. threshold trip. time", + "10198": "Voltage increase protection", + "10199": "Maximum grid current", + "10200": "Maximum Bluetooth power", + "10201": "Set country standard", + "10202": "Ground connection monitoring", + "10203": "Minimum insulation resistance", + "10204": "Production test mode", + "10205": "Underlying country standard", + "10207": "Data recording on memory card", + "10209": "DC voltage input", + "10210": "DC voltage A input", + "10211": "DC voltage B input", + "10212": "DC voltage C input", + "10213": "DC current input", + "10214": "DC current A input", + "10215": "DC current B input", + "10216": "DC current C input", + "10217": "DC power input", + "10218": "DC power A input", + "10219": "DC power B input", + "10220": "DC power C input", + "10221": "Operating condition DC current input", + "10222": "Operating condition DC voltage input", + "10223": "Operating condition DC power input", + "10224": "Highest measured DC voltage", + "10225": "Maximum DC voltage A", + "10226": "Maximum DC voltage B", + "10227": "Maximum DC voltage C", + "10228": "DC current A input", + "10229": "DC current A input", + "10230": "DC current A input", + "10231": "DC current A input", + "10232": "DC current A input", + "10233": "DC current B input", + "10241": "Start delay input", + "10242": "Minimum voltage input", + "10243": "Maximum allowed voltage input", + "10244": "Maximum allowed voltage input A", + "10245": "Maximum allowed voltage input B", + "10246": "Maximum allowed voltage input C", + "10247": "Constant voltage setpoint", + "10248": "Constant voltage setpoint A", + "10249": "Constant voltage setpoint B", + "10250": "Constant voltage setpoint C", + "10257": "Grid nominal voltage", + "10258": "Communication version", + "10259": "Set total yield", + "10260": "Set absorbed energy", + "10261": "Set highest measured ambient temperature", + "10263": "Set highest measured internal temperature", + "10264": "Set highest measured heat sink temperature", + "10265": "Set highest measured heat sink temperature 2", + "10266": "Set highest measured transformer temperature", + "10267": "Set highest measured inverter temperature", + "10268": "Set highest measured PCB temperature", + "10269": "Set highest measured external temperature", + "10270": "Set highest measured external temperature 2", + "10272": "Daily yield", + "10273": "Set number of grid connections", + "10274": "Temporal control of the power limitation", + "10275": "Reset operating data (for Service)", + "10276": "Set highest measured module temperature", + "10277": "Reset measured values", + "10278": "System time", + "10283": "Checking firmware", + "10284": "Set user password", + "10285": "Set installer password", + "10286": "Set service password", + "10287": "Set developer password", + "10288": "Number of PV system detections", + "10289": "Time of the last detection", + "10290": "Hardware on Interface 1", + "10291": "Hardware on Interface 2", + "10292": "Hardware on Interface 3", + "10293": "System password", + "10294": "Manufacturer", + "10295": "BMS type", + "10297": "DHCP DNS Server IP", + "10298": "DHCP Gateway IP", + "10299": "DHCP IP address", + "10300": "DHCP server configuration owner", + "10301": "DHCP Subnet mask", + "10302": "WAN IP", + "10303": "Provider IP", + "10304": "Heating mode", + "10305": "OK to use grid power for heating mode", + "10306": "Daylight Saving Time on", + "10308": "Date format of the user interface", + "10309": "Language of the user interface", + "10310": "Units of length of the user interface", + "10311": "Number format of the user interface", + "10312": "Unit of temperature of the user interface", + "10313": "Time format of the user interface", + "10314": "Standard/Daylight saving time conversion on", + "10315": "Automatic time synchronization", + "10316": "Time zone", + "10317": "Automatic updates activated", + "10318": "Time of the automatic update", + "10319": "Device updates activated", + "10320": "Ethernet DHCP activated", + "10321": "Ethernet DNS server", + "10322": "Ethernet gateway", + "10323": "Ethernet IP address", + "10324": "Ethernet subnet mask", + "10325": "Ethernet NAT port", + "10326": "Ethernet proxy activated", + "10327": "Ethernet proxy server login", + "10328": "Ethernet proxy server port", + "10329": "Ethernet proxy server password", + "10330": "Ethernet proxy server address", + "10331": "Web service Port", + "10332": "HTTP server port", + "10333": "Test modem connection", + "10334": "GPRS-APN", + "10335": "Dial-in number for modem connection", + "10336": "Password for modem connection", + "10337": "Modem SIM Card PIN", + "10338": "Test modem signal strength", + "10339": "Upload data to the portal", + "10340": "Result of the last upload", + "10341": "Test the connection to the portal", + "10342": "Result of the last connection test", + "10343": "Register", + "10344": "Result of the last registration", + "10345": "Portal user name", + "10346": "Email address of portal user", + "10347": "PV system name in portal", + "10348": "PV system ID in portal", + "10349": "Use Sunny Portal", + "10350": "Frequency of data uploads to the portal", + "10351": "Status of the last SunnyDNS operation", + "10352": "SunnyDNS active", + "10353": "SunnyDNS Password", + "10354": "FTP Push active", + "10355": "FTP Push: Connection test", + "10356": "FTP Push Login", + "10357": "FTP Push server Port", + "10358": "FTP Push Password", + "10359": "FTP Push Server Address", + "10360": "FTP server activated", + "10361": "Write access to FTP server allowed", + "10362": "GPRS-Always-On active", + "10363": "Firmware version of the module", + "10364": "Hardware version of the module", + "10365": "Revision status of the module", + "10366": "Update version of the module", + "10367": "Serial number of the module", + "10368": "SUSyID of the module", + "10372": "Device number", + "10373": "Software package", + "10374": "Find device", + "10375": "Firmware version of the main processor", + "10376": "Hardware version of the main processor", + "10377": "Revision status of the main processor", + "10378": "Update version of the main processor", + "10379": "Serial number of the main processor", + "10380": "SUSyID of the main processor", + "10381": "Firmware version of the communication assembly", + "10382": "Hardware version of the communication assembly", + "10383": "Revision status of the communication assembly", + "10384": "Update version of the communication assembly", + "10385": "Serial number of the communication assembly", + "10386": "SUSyID of the communication assembly", + "10387": "Firmware version of the residual current mon. unit", + "10388": "Hardware version of the residual current mon. unit", + "10389": "Revision status of the residual current mon. unit", + "10390": "Update version of the residual current mon. unit", + "10391": "Serial number of residual current monitoring unit", + "10392": "SUSyID of the residual current monitoring unit", + "10393": "Firmware version of the display", + "10394": "Hardware version of the display", + "10395": "Revision status of the display", + "10396": "Update version of the display", + "10397": "Serial number of the display", + "10398": "SUSyID of the display", + "10399": "Firmware version of the logic component", + "10400": "Hardware version of the logic component", + "10401": "Revision status of the logic component", + "10402": "Update version of the logic component", + "10403": "Serial number of the logic component", + "10404": "SUSyID of the logic component", + "10405": "Firmware version of the RS485 Module", + "10406": "Hardware version of the RS485 module", + "10407": "Revision status of the RS485 module", + "10408": "Update version of the RS485 module", + "10409": "Serial number of the RS485 module", + "10410": "SUSyID of the RS485 module", + "10411": "Firmware version of the Zigbee components", + "10412": "Hardware version of the Zigbee components", + "10413": "Revision status of the Zigbee components", + "10414": "Update version of the Zigbee components", + "10415": "Serial number of the Zigbee components", + "10416": "SUSyID of the Zigbee components", + "10417": "Firmware version of the Bluetooth component", + "10418": "Hardware version of the Bluetooth component", + "10419": "Revision status of the Bluetooth component", + "10420": "Update version of the Bluetooth component", + "10421": "Serial number of the Bluetooth component", + "10422": "SUSyID of the Bluetooth component", + "10423": "Firmware version of the operating system", + "10424": "Hardware version of the operating system", + "10425": "Revision status of the operating system", + "10426": "Update version of the operating system", + "10427": "Serial number of the operating system", + "10428": "SUSyID of the operating system", + "10429": "PV system name", + "10430": "Sunny Portal server address", + "10431": "Difference PV system time/system time", + "10432": "Number of S0 impulses", + "10433": "Consumed energy", + "10434": "Number of Resets", + "10435": "Power absorbed", + "10436": "Reset operating data for string failure detection", + "10437": "Operating mode of string failure detection", + "10438": "Operating mode of static voltage stability, configuration of static voltage stability", + "10439": "Operating mode active power setting", + "10440": "Operating mode of active power reduction in case of overfrequency P(f)", + "10441": "Status, PV system control", + "10443": "Difference until next characteristic curve value", + "10444": "Difference until next charact. curve value Time", + "10445": "Nominal voltage offset", + "10446": "Gradient of reactive power characteristic curve", + "10447": "Reactive power mode at power input", + "10448": "Manual reactive power setting for active power output", + "10449": "Manual reactive power setting for active power output", + "10451": "Reactive power value starting point", + "10452": "Active power value starting point", + "10453": "Reactive power value end point", + "10454": "Active power value end point", + "10455": "cos φ setpoint, cos φ config., direct specif.", + "10456": "cos φ excit.type, cos φ config., direct spec.", + "10457": "Excit. type at start point, cos φ(P) char. conf.", + "10458": "cos φ at start point, cos φ(P) char. config.", + "10459": "Active power starting point", + "10460": "Excit. type at end point, cos φ(P) char. config.", + "10461": "cos φ at end point, cos φ(P) char. config.", + "10462": "Active power end point", + "10463": "Active power limitation P, active power configuration", + "10464": "Active power limitation P, active power configuration", + "10466": "Difference between starting frequency and grid frequency, linear instantaneous power gradient configuration", + "10467": "Active power gradient, linear instantaneous power gradient configuration", + "10468": "Difference between reset frequency and grid frequency, linear instantaneous power gradient configuration", + "10469": "Activation of stay-set indicator function, linear instantaneous power gradient configuration", + "10471": "Current reactive power limit", + "10472": "Max. reactive power", + "10473": "Currently set apparent power limit", + "10474": "Maximum apparent power device", + "10475": "Current cos φ limit", + "10476": "Min. cos φ", + "10477": "Reconnect gradient after grid fault", + "10478": "Soft start-up P after grid fault", + "10479": "Active power gradient", + "10480": "Activation of active power gradient", + "10481": "Firmware version of string protection", + "10482": "Hardware version of string protection", + "10483": "Revision status of the string protection", + "10484": "Update version of the string protection", + "10485": "String protection serial number", + "10486": "SUSyID of string protection", + "10487": "Status, device control", + "10488": "Normalized total apparent power", + "10489": "Boost converter temperature", + "10490": "Highest measured boost converter temperature", + "10491": "Boost converter 2 temperature", + "10492": "Highest measured boost converter 2 temperature", + "10493": "Start boost converter temperature derating", + "10494": "Set highest measured boost converter temperature", + "10495": "Set highest measured boost converter temperature 2", + "10496": "Maximum allowable phase shift", + "10497": "Tripping time when exceeding max. phase shift", + "10498": "Frequency monitoring, max. frequency change per second", + "10499": "Frequency monitoring, maximum frequency change tripping time", + "10500": "Minimum switching frequency", + "10501": "Maximum switching frequency", + "10502": "Nominal frequency", + "10503": "Calibration voltage", + "10504": "Calibration status", + "10505": "Selection of the voltage(s) to be calibrated", + "10506": "Maximum module ground current", + "10507": "Tripping time maximum module ground current", + "10508": "Module grounding prescribed?", + "10509": "Prescribed module grounding type", + "10510": "Module grounding status", + "10511": "Firmware version of protocol converter", + "10512": "Hardware version of protocol converter", + "10513": "Revision status of the protocol converter", + "10514": "Update version of the protocol converter", + "10515": "Serial number of the protocol converter", + "10516": "SUSyID of protocol converter", + "10517": "Set PV system time", + "10518": "Synchronize time with time server", + "10519": "Syslog service activated until", + "10520": "external transformer", + "10521": "Primary current", + "10522": "Secondary current", + "10583": "Reactive power limitation by PV system control", + "10584": "Standardized reactive power setpoint by system control", + "10585": "Active power limitation by PV system control", + "10586": "Normalized active power limitation by PV system control", + "10587": "External cos φ setpoint specification, cos φ setpoint for active power output", + "10588": "External cos φ setpoint specification, excitation type for active power output", + "10589": "Timeout for communication error indication", + "10590": "Measurement name in local language", + "10591": "Events in local language", + "10610": "Cycle time of SMA ShadeFix", + "10611": "Power limit of SMA ShadeFix", + "10612": "SMA ShadeFix", + "10637": "Setpoint for PV voltage", + "10638": "Derating status", + "10639": "Setpoint for intermediate circuit voltage", + "10640": "Path for update file", + "10641": "DAA type ID", + "10642": "S0 impulses/kWh", + "10643": "Number of S0 impulses", + "10644": "S0 counter status total yield", + "10645": "S0 energy yield", + "10646": "Active power gradient", + "10647": "RAA type ID", + "10648": "Min. voltage for reconnection", + "10649": "Max. voltage for reconnection", + "10650": "Specified voltage UQ0, reactive power/voltage characteristic curve configuration Q(V)", + "10651": "Symmetrical limit for maximum reactive power, reactive power/voltage characteristic curve configuration Q(V)", + "10652": "Voltage spread, reactive power/voltage characteristic curve configuration Q(V)", + "10653": "Reactive power gradient, reactive power/voltage characteristic curve configuration Q(V)", + "10654": "Adjustment time for characteristic operating point, reactive power/voltage characteristic curve configuration Q(V)", + "10655": "Act. power at start point, cos φ(P) char. config.", + "10656": "Act. power at end point, cos φ(P) char. config.", + "10657": "Software package update version available", + "10658": "PWM inverse voltage, dynamic grid support configuration for PM overvoltage", + "10659": "PWM inversion delay, dynamic grid support configuration for PM overvoltage", + "10660": "Grid nominal voltage", + "10661": "Reactive power gradient", + "10662": "Reference correction voltage, PV system control", + "10663": "PWM inverse voltage, dynamic grid support configuration", + "10664": "PWM inversion delay, dynamic grid support configuration", + "10665": "Dynamic grid support, reactive current static", + "10666": "Gradient K or reactive current droop, full dynamic grid support configuration", + "10667": "Check for update and install it", + "10668": "Hysteresis voltage, dynamic grid support configuration", + "10669": "CPU monitor", + "10670": "CPU load", + "10671": "FTP Push server path", + "10672": "IRE status", + "10673": "Number of DC disconnects", + "10674": "Lower limit, voltage dead band, full dynamic grid support configuration", + "10675": "Upper limit, voltage dead band, full dynamic support configuration", + "10676": "Result of the last FTP-Push connection test", + "10677": "Dynamic grid support, operating mode", + "10678": "Target version of the software package", + "10679": "Update version of the software package", + "10680": "Measures in the case of a grounding error", + "10681": "FTP Push: measurement name in local language", + "10682": "FTP Push: data export in CSV format", + "10683": "FTP Push: data export in XML format", + "10684": "Data export in CSV format", + "10685": "Data export in XML format", + "10686": "Displacement power factor", + "10687": "Reactive power droop mode, reactive power/voltage characteristic curve configuration Q(V)", + "10688": "Islanding detection, status of frequency monitor", + "10689": "Islanding detection, tripping time of the frequency monitor", + "10690": "Islanding detection, status of the unbalance detection", + "10691": "Islanding detection, permissible grid unbalance", + "10692": "Islanding detection, tripping time of the unbalance detection", + "10693": "Operating mode of multifunction relay", + "10694": "Minimum On time for MFR self-consumption", + "10695": "Minimum On power for MFR self-consumption", + "10696": "Minimum power On time, MFR self-consumption", + "10697": "Initiate device restart", + "10698": "Status of MFR with control via communication", + "10699": "Constant deviation from power calculation", + "10700": "Pre-expon. factor of power consumption acc. to Udc", + "10701": "Pre-expon. factor of power cons. acc. to Udc^2", + "10702": "Pre-expon. factor of power cons. Acc. to Udc^3", + "10703": "Proportionate factor of power control", + "10704": "Integral factor of power control", + "10705": "Differential factor of power control", + "10706": "Critical voltage to end feed-in", + "10707": "Minimum On power for MFR battery bank", + "10708": "Minimum time before reconnection of MFR battery bank", + "10710": "Displacement power factor", + "10711": "Excitation type of cos φ", + "10712": "Energy counter type", + "10713": "PV generation counter reading", + "10714": "Grid feed-in counter reading", + "10715": "Counter reading of power drawn counter", + "10716": "PV power generated", + "10717": "Power grid feed-in", + "10718": "Power drawn", + "10719": "Perm. grid-frequency deviation of islanding detection", + "10720": "Current pulse height of islanding detection", + "10721": "Max. impedance gradient of islanding detection", + "10722": "Status of impedance of islanding detection", + "10723": "Amplitude of islanding detection", + "10724": "Frequency of islanding detection", + "10725": "Status of passive islanding detection", + "10726": "Voltage monitoring normalized lower maximum threshold", + "10727": "Voltage monitoring normalized upper minimum threshold", + "10728": "Norm. max. voltage for reconnecting", + "10729": "Norm. min. voltage for reconnecting", + "10730": "Correction voltage, voltage increase protection", + "10731": "CO2-saving", + "10732": "Factor for CO2-saving", + "10733": "Grid type", + "10734": "Grid impedance", + "10735": "Central point of P-coordinates turbine mode", + "10736": "Lower voltage limit feed-in, turbine mode", + "10737": "Central point of U-coordinates turbine mode", + "10738": "End point of U-coordinates turbine mode", + "10739": "Start point of U-coordinates turbine mode", + "10740": "Power gradient for start-up, turbine mode", + "10741": "Ripple control signal detection threshold", + "10742": "Ripple control signal detection frequency", + "10743": "Ripple control signal detection operating mode", + "10744": "Ground voltage", + "10745": "DC converter HW version", + "10746": "DC converter SW version", + "10747": "Backup mode operating mode", + "10748": "Backup mode status", + "10749": "PowerBalancer operating mode", + "10750": "Max. load unbalance for PowerBalancer", + "10751": "S0-pulses PV feed-in counter", + "10752": "S0-pulses PV feed-in counter", + "10753": "S0-pulses power drawn counter", + "10754": "GridGuard version", + "10756": "Load power", + "10757": "Total increased self-consumption", + "10758": "Today's increased self-consumption", + "10759": "Plant mains connection", + "10760": "Power supply status", + "10761": "Number of battery charge throughputs", + "10763": "Lower discharge limit for self-consumption increase", + "10764": "SSM Id for the comm. fault has occurred", + "10765": "SMU warning code for string fault", + "10766": "Status of signal contact 1", + "10767": "Status of signal contact 2", + "10768": "Operating mode of the device update", + "10769": "Update source of the device update", + "10770": "Status of the device update", + "10771": "Transmission attempts of a device update", + "10772": "Time of last transm. attempt of a device update", + "10773": "S0 pulses per kWh for PV generation counter", + "10774": "S0 pulses per kWh for feed counter", + "10775": "S0 pulses per kWh for power drawn counter", + "10776": "Update operating mode", + "10777": "Status after loss of communication in autom. mode", + "10778": "Status after switching on automatic", + "10779": "Status of the grid switch", + "10781": "Automatic mode of the grid switch", + "10782": "Timeout after loss of communication", + "10783": "Starting current detection", + "10784": "Gradient K of the reactive current droop, full dynamic grid support configuration", + "10786": "Meter reading consumption meter", + "10788": "Grid voltage phase L1 against L2", + "10789": "Offset to AC current", + "10790": "Set supplied energy", + "10791": "Set absorbed energy", + "10792": "Logical flow direction phase L1", + "10793": "Logical flow direction phase L2", + "10795": "Grid disconnection for 0% active power setting", + "10796": "Characteristic curve number of the PV system control procedure P(V)", + "10797": "Adjustment time of characteristic operating point, conf. of grid integr. char. 1", + "10798": "Decrease ramp, conf. of grid integr. char. 1", + "10799": "Increase ramp, conf. of grid integr. char. 1", + "10800": "Number of points to be used, conf. of grid integr. char. 1", + "10801": "X value 1, conf. of grid integr. char. 1", + "10802": "Y value 1, conf. of grid integr. char. 1", + "10803": "X value 2, conf. of grid integr. char. 1", + "10804": "Y value 2, conf. of grid integr. char. 1", + "10805": "X value 3, conf. of grid integr. char. 1", + "10806": "Y value 3, conf. of grid integr. char. 1", + "10807": "X value 4, conf. of grid integr. char. 1", + "10808": "Y value 4, conf. of grid integr. char. 1", + "10809": "X value 5, conf. of grid integr. char. 1", + "10810": "Y value 5, conf. of grid integr. char. 1", + "10811": "X value 6, conf. of grid integr. char. 1", + "10812": "Y value 6, conf. of grid integr. char. 1", + "10813": "P(f), active power change rate after fault end", + "10814": "Soft start-up rate P", + "10815": "Increase rate in case of insolation change", + "10818": "E-mail alert function on", + "10820": "E-mail address(es) for alert", + "10821": "Test e-mail for e-mail alert", + "10824": "Modbus TCP server on", + "10825": "Modbus TCP server port", + "10826": "Modbus UDP server on", + "10827": "Modbus UDP server port", + "10828": "DHCP server switched on", + "10829": "Speedwire DHCP server start IP address", + "10830": "Speedwire DHCP server end IP address", + "10831": "Speedwire DHCP server subnet mask", + "10832": "Speedwire DHCP server IP address", + "10833": "Time synchronization source", + "10834": "NTP server", + "10837": "Analogue current input 1 (AI1)", + "10838": "Analogue current input 2 (AI2)", + "10839": "Analogue current input 3 (AI3)", + "10840": "Analogue voltage input 1 (AI1)", + "10842": "AFCI switched on", + "10843": "Set energy taken up by loads", + "10844": "Conn. point of counter on measuring interface 1", + "10845": "Conn. point of counter on measuring interface 2", + "10846": "Conn. point of counter on measuring interface 3", + "10847": "Type of counter on measuring interface 1", + "10848": "Type of counter on measuring interface 2", + "10849": "Type of counter on measuring interface 3", + "10850": "Logical flow direction phase L3", + "10851": "Activate island mode", + "10852": "Char. of insolation sensor - min. insolation", + "10853": "Char. of insolation sensor - max. insolation", + "10854": "Char. of insolation sensor - min. measurement", + "10855": "Char. of insolation sensor - max. measurement", + "10856": "Free memory on USB medium", + "10857": "Free memory on USB medium 2", + "10858": "Fast shut-down", + "10859": "Energy fed into grid (today)", + "10860": "Energy drawn today", + "10861": "Main processor type", + "10862": "Type of communication assembly", + "10863": "Type of residual current monitoring", + "10864": "Type of display", + "10865": "Type of logic component", + "10866": "Type of RS485 module", + "10867": "Type of Zigbee components", + "10868": "Type of Bluetooth component", + "10869": "Type of operating system", + "10870": "Type of string protection", + "10871": "Type of protocol converter", + "10872": "Type of module in module slot", + "10873": "Key switch", + "10874": "Local time", + "10875": "DC switch", + "10876": "Error message DC switch", + "10877": "String status", + "10878": "Speedwire connection status of SMACOM A", + "10879": "Connection speed of SMACOM A", + "10880": "Speedwire connection status of SMACOM B", + "10881": "Connection speed of SMACOM B", + "10882": "Current speedwire IP address", + "10883": "Current speedwire subnet mask", + "10884": "Current speedwire gateway address", + "10885": "Current speedwire DNS server address", + "10886": "Status of the Webconnect functionality", + "10887": "Webconnect functionality switched on", + "10888": "MAC address", + "10889": "Automatic speedwire configuration switched on", + "10890": "Speedwire IP address", + "10891": "Speedwire subnet mask", + "10892": "Speedwire gateway address", + "10893": "Speedwire DNS server address", + "10894": "Power PV generation (caluclated)", + "10895": "Counter status PV generation counter (calculated)", + "10896": "Duplex mode of SMACOM A", + "10897": "Duplex mode of SMACOM B", + "10898": "Amp hours counter for battery charge", + "10899": "Amp hours counter for battery discharge", + "10900": "Active battery charging mode", + "10901": "Current generator power", + "10902": "Battery maint. state of charge", + "10903": "Current battery state of charge", + "10904": "Battery temperature", + "10905": "Battery voltage", + "10906": "Absorbed energy", + "10907": "Released energy", + "10908": "Automatic generator start", + "10909": "Reason for generator request", + "10910": "Generator output energy", + "10911": "Manual generator control", + "10912": "Generator operating hours", + "10913": "Limit battery state of charge gen. shutdown in time range", + "10914": "Limit battery state of charge generator start in time range", + "10915": "Number of generator starts", + "10916": "Grid forming generator", + "10917": "Multifunction relay status", + "10918": "Energy consumed internally", + "10919": "Current rise in self-consumption", + "10920": "Current self-consumption", + "10921": "Current battery capacity", + "10922": "Battery current", + "10923": "Battery boost charge time", + "10924": "Battery equalization charge time", + "10925": "Battery full charge time", + "10926": "Max. start attempts after error", + "10927": "Max. battery charging current", + "10928": "Current battery charging set voltage", + "10929": "Battery nominal capacity", + "10930": "Max. battery temperature", + "10931": "Battery type", + "10932": "Nominal battery voltage", + "10933": "Acknowledge generator errors", + "10934": "Nominal generator current", + "10935": "Generator request via power on", + "10936": "Generator shutdown load limit", + "10937": "Generator startup load limit", + "10938": "Generator status", + "10939": "Rise in self-consumption switched on", + "10940": "Grid feed-in today", + "10941": "Power outage", + "10942": "Number of DC current measurement units", + "10943": "Free memory on USB medium 1", + "10944": "External measurement of the insulation resistance", + "10945": "IP address of the SMTP server", + "10946": "SMTP server port", + "10947": "User name for registration on the SMTP server", + "10948": "Password for registration on SMTP server", + "10949": "Type of password encryption", + "10950": "Synchronise with time synchronization source", + "10951": "SSH switched on", + "10952": "IGMP switched on", + "10953": "Speedwire Group", + "10954": "Analogue current input 4", + "10955": "Analogue voltage input 2", + "10956": "Analogue voltage input 3", + "10957": "Analogue voltage input 4", + "10958": "Encrypt portal communication", + "10959": "Portal communication monitoring signal", + "10960": "Last successful portal upload", + "10961": "Hardware ID", + "10962": "Data logging on monitoring server", + "10963": "Remove device", + "10964": "Remove all devices", + "10965": "WebConnect system environment", + "10966": "Wind direction", + "10967": "Reset communication data", + "10968": "Alarm at active power limit", + "10969": "Alarm at reactive power specification", + "10970": "Result of the last e-mail dispatch", + "10971": "X value 7, conf. of grid integr. char. 1", + "10972": "Y value 7, conf. of grid integr. char. 1", + "10973": "X value 8, conf. of grid integr. char. 1", + "10974": "Y value 8, conf. of grid integr. char. 1", + "10975": "Characteristic number, conf. of reactive power/voltage char. Q(V)", + "10976": "Activating active power, conf. of reactive power/voltage char. Q(V)", + "10977": "Deactivating active power, conf. of reactive power/voltage char. Q(V)", + "10978": "P(f), lag time", + "10979": "Activating voltage, cos φ(P) char. conf.", + "10980": "Deactivating voltage, cos φ(P) char. conf.", + "10981": "X-axes reference, conf. of grid integration char. 1", + "10982": "Y-axes reference, conf. of grid integration char. 1", + "10983": "Adjustment time of char. operating point, conf. of grid integration char. 2", + "10984": "Decrease ramp, conf. of grid integration char. 2", + "10985": "Increase ramp, conf. of grid integration char. 2", + "10986": "Number of points to be used, conf. of grid integr. char. 2", + "10987": "Input unit, conf. of grid integration char. 2", + "10988": "Output frequency, conf. of grid integration char. 2", + "10989": "X value 1, conf. of grid integr. char. 2", + "10990": "X value 2, conf. of grid integr. char. 2", + "10991": "X value 3, conf. of grid integr. char. 2", + "10992": "X value 4, conf. of grid integr. char. 2", + "10993": "X value 5, conf. of grid integr. char. 2", + "10994": "X value 6, conf. of grid integr. char. 2", + "10995": "X value 7, conf. of grid integr. char. 2", + "10996": "X value 8, conf. of grid integr. char. 2", + "10997": "Y value 1, conf. of grid integr. char. 2", + "10998": "Y value 2, conf. of grid integr. char. 2", + "10999": "Y value 3, conf. of grid integr. char. 2", + "11000": "Y value 4, conf. of grid integr. char. 2", + "11001": "Y value 5, conf. of grid integr. char. 2", + "11002": "Y value 6, conf. of grid integr. char. 2", + "11003": "Y value 7, conf. of grid integr. char. 2", + "11004": "Y value 8, conf. of grid integr. char. 2", + "11005": "Speedwire connection status of SMACOM C", + "11006": "Connection speed of SMACOM C", + "11007": "Speedwire connection status of SMACOM D", + "11008": "Connection speed of SMACOM D", + "11009": "Duplex mode of SMACOM C", + "11010": "Duplex mode of SMACOM D", + "11011": "Operating mode of power control module", + "11012": "Status of digital inputs of power control module", + "11013": "Lower frequency limit prior to end of active power reduction, linear instant. power gradient conf.", + "11014": "Upper frequency limit prior to end of active power reduction, linear instant. power gradient conf.", + "11015": "Goose application ID", + "11016": "Frequency monitoring switchable max. threshold", + "11017": "Frequency monit. switchable max. threshold tripping time", + "11018": "Frequency monitoring switchable min. threshold", + "11019": "Frequency monit. switchable min. threshold tripping time", + "11020": "Operating mode of frequency restriction", + "11021": "Source of quick shut-down", + "11022": "Frequency monitoring switchable max. threshold", + "11023": "Alarm upon warnings", + "11024": "Alarm e-mail languages", + "11025": "Alternative e-mail sender address (optional)", + "11026": "reaction of excitation to changes in direction of active power", + "11027": "Normalized active power limitation by PV system control", + "11028": "Extern. reactive power mode", + "11029": "Digital input group 1 (DI1 .. DI4)", + "11030": "Digital input group 2 (DI5 .. DI8)", + "11031": "Grid voltage phase L2 against L3", + "11032": "Grid voltage phase L3 against L1", + "11033": "Power unit supplies data", + "11034": "Voltage increase protection trigger time", + "11035": "Goose-Mac address", + "11036": "Grid connection point rated current", + "11037": "Active power specif. by PV system control", + "11038": "Reactive power specif. by PV system control", + "11039": "Active power limitation by PV system control", + "11040": "General operating status", + "11041": "RCD adjustment", + "11042": "Sunny portal port", + "11043": "Nominal PV system power", + "11044": "Operating mode of act. power limit. at grid connection pt", + "11045": "Dynamic act. power limitat. at grid connection pt", + "11046": "Set active power limit at grid connection point", + "11047": "Set active power limit at grid connection point", + "11048": "PV system control ON", + "11050": "Number of section switches", + "11051": "Time to open the section switches", + "11052": "Time to close section switches", + "11053": "Generator operating hours", + "11054": "Generator output energy", + "11055": "Current generator performance", + "11056": "Battery discharge cut-off voltage", + "11057": "Maximum battery charging current", + "11058": "Maximum battery discharge current", + "11059": "Status of utility grid", + "11060": "Cell charge nominal voltage for boost charge", + "11061": "Cell charge nominal voltage for full charging", + "11062": "Cell charge nominal voltage for equalization charge", + "11063": "Cell charge nominal voltage for float charge", + "11064": "Voltage monitoring hysteresis minimum threshold", + "11065": "Voltage monitoring hysteresis maximum threshold", + "11066": "Frequency monitoring hysteresis minimum threshold", + "11067": "Frequency monitoring hysteresis maximum threshold", + "11068": "Voltage monit. gener. lower minimum threshold", + "11069": "Voltage monit. gener. upper maximum threshold", + "11070": "Voltage monit. gener. hysteresis min. threshold", + "11071": "Voltage monit. hysteresis generator max. threshold", + "11072": "Frequency monit. generator lower minimum threshold", + "11073": "Frequency monit. generator without max. threshold", + "11074": "Frequency monit. gener. hysteresis min. threshold", + "11075": "Freq. Monit. generator hysteresis max. threshold", + "11076": "Generator maximum reverse power", + "11077": "Generator maximum reverse power tripping time", + "11078": "Output external grid connection", + "11079": "Output external grid connection phase A", + "11080": "Output external grid connection phase B", + "11081": "Output external grid connection phase C", + "11082": "Reactive power external grid connection", + "11083": "Reactive power external grid connection phase A", + "11084": "Reactive power external grid connection phase B", + "11085": "Reactive power external grid connection phase C", + "11086": "Grid frequency of external grid connection", + "11087": "Voltage external grid connection phase A", + "11088": "Voltage external grid connection phase B", + "11089": "Voltage external grid connection phase C", + "11090": "Electricity external grid connection phase A", + "11091": "Electricity external grid connection phase B", + "11092": "Electricity external grid connection phase C", + "11093": "Operating state grid voltage L1 against L2", + "11094": "Operating state grid voltage L2 against L3", + "11095": "Operating state grid voltage L3 against L1", + "11096": "Number of UCP events", + "11097": "Derating because of low DC voltage", + "11098": "Derating because of power and DC voltage", + "11099": "Bias voltage phase L1", + "11100": "Bias voltage phase L2", + "11101": "Relative bias voltage", + "11102": "Rated apparent power of all inverters", + "11103": "Ohmic resistive coating of the low-voltage line", + "11104": "Induc. reactive coating of the low-volt.power line", + "11105": "Length of the low-voltage cabling", + "11106": "Ohmic resistive coating of the medium-voltage line", + "11107": "Capac. resistive coating of the medium-volt. line", + "11108": "Length of the medium-voltage cabling", + "11109": "Nominal apparent power of the transformer", + "11110": "Short-circuit voltage of the transformer", + "11111": "Nominal voltage of the high-voltage side", + "11112": "Serial number of the counter on meas. interface 1", + "11113": "Serial number of the counter on meas. interface 2", + "11114": "Serial number of the counter on meas. interface 3", + "11115": "PLC communication package error rate", + "11116": "Firmware version of the module", + "11117": "Hardware version of the module", + "11118": "Revision status of the module", + "11119": "Update version of the module", + "11120": "Serial number of the module", + "11121": "SUSyID of module", + "11122": "Type of module in module slot", + "11123": "Power control module D1: 0 | D2:0 | D3: 0 | D4: 0", + "11124": "Power control module D1: 1 | D2:0 | D3: 0 | D4: 0", + "11125": "Power control module D1: 0 | D2:1 | D3: 0 | D4: 0", + "11126": "Power control module D1: 1 | D2:1 | D3: 0 | D4: 0", + "11127": "Power control module D1: 0 | D2:0 | D3: 1 | D4: 0", + "11128": "Power control module D1: 1 | D2:0 | D3: 1 | D4: 0", + "11129": "Power control module D1: 0 | D2:1 | D3: 1 | D4: 0", + "11130": "Power control module D1: 1 | D2:1 | D3: 1 | D4: 0", + "11131": "Power control module D1: 0 | D2:0 | D3: 0 | D4: 1", + "11132": "Power control module D1: 1 | D2:0 | D3: 0 | D4: 1", + "11133": "Power control module D1: 0 | D2:1 | D3: 0 | D4: 1", + "11134": "Power control module D1: 1 | D2:1 | D3: 0 | D4: 1", + "11135": "Power control module D1: 0 | D2:0 | D3: 1 | D4: 1", + "11136": "Power control module D1: 1 | D2:0 | D3: 1 | D4: 1", + "11137": "Power control module D1: 0 | D2:1 | D3: 1 | D4: 1", + "11138": "Power control module D1: 1 | D2:1 | D3: 1 | D4: 1", + "11139": "Power control module release time", + "11140": "Power control module release value", + "11141": "Power control module fault tolerance time", + "11142": "Oper.mode vol.maint.at Q on Dem., st.vol.maint.conf.", + "11143": "Manual reactive power setpoint for zero power output", + "11144": "Manual reactive power setpoint for zero power output", + "11145": "Dynamic grid support, k-factor of react. current stat. for undervolt.", + "11146": "Dynamic grid support, k-factor of react. current stat. for overvolt.", + "11147": "Characteristic curve number, configuration of characteristic curve mode", + "11148": "Activation of the characteristic curve, configuration of characteristic curve mode", + "11149": "Activation threshold, configuration of characteristic curve mode", + "11150": "Deactivation threshold, configuration of characteristic curve mode", + "11151": "Threshold reference, configuration of characteristic curve mode", + "11152": "X values charact. curve 1", + "11153": "Y values charact. curve 1", + "11154": "X values charact. curve 2", + "11155": "Y values charact. curve 2", + "11156": "X values charact. curve 3", + "11157": "Y values charact. curve 3", + "11158": "Service mode", + "11159": "Set charge volt. in serv. mode", + "11160": "Set disch. volt. in serv. mode", + "11161": "Charge current lim. serv. mode", + "11162": "Disch. current lim. serv. mode", + "11163": "Battery operating status", + "11164": "Battery switch temp.", + "11165": "Highest meas. battery switch temp.", + "11166": "BMS firmware version", + "11167": "BMS hardware version", + "11168": "BMS conversion status", + "11169": "BMS update version", + "11170": "BMS serial number", + "11171": "BMS SUSyID", + "11172": "BMS type", + "11173": "Speedwire meter serial no.", + "11174": "Speedwire meter status", + "11175": "Battery cell voltage", + "11176": "Inverter status", + "11177": "Battery status", + "11178": "Adj. time for charac. act. pt.", + "11179": "Down ramp f. charac. act. pt.", + "11180": "Up ramp f. charac. act. pt.", + "11181": "Charac. ramp up after ret. norm. op.", + "11182": "No. of charac. pt.s to be used", + "11183": "X-axis ref. characteristic", + "11184": "Y-axis ref. characteristic", + "11185": "Avg. eff. power lim. grid conn. pt.", + "11198": "Set battery targ. current val.", + "11199": "Battery manufacturer", + "11200": "Date of battery manufacture", + "11201": "BMS activation processes", + "11202": "Batt. man. activ. proc.s charge mode", + "11203": "Batt. man. activ. proc.s disch. mode", + "11204": "Tot. batt. man. activ. proc.s charge mode", + "11205": "Tot. batt. man. activ. proc.s disch. mode", + "11206": "Tot. battery runtime", + "11207": "Batt. charge res. for emerg. curr. op.", + "11208": "Battery nominal capacity", + "11209": "Battery cell temp.", + "11210": "Storage management operating mode", + "11211": "Active power setpoint", + "11212": "Eff./reac. pow. contr. via comm.", + "11213": "Reactive power setpoint", + "11214": "Meter count and PV gen. meter", + "11215": "Total cumulative consump.", + "11216": "Cumulative self-consump.", + "11217": "Cumulative direct consump.", + "11218": "Battery charge", + "11219": "Battery discharge", + "11220": "PV generation power", + "11221": "Present total consump.", + "11222": "Present self-consump.", + "11223": "Present direct consump.", + "11224": "Present battery charge", + "11225": "Present battery discharge", + "11226": "Present self-consump. ratio", + "11227": "Cumulative self-consump. ratio", + "11228": "Present electrical storage ratio", + "11229": "Electrical storage ratio", + "11230": "Present autonomy ratio", + "11231": "Autonomy ratio", + "11232": "Present direct consump. ratio", + "11233": "Direct consumption ratio", + "11234": "Set PV generation meter", + "11235": "Set cumulative total consump.", + "11236": "Set cumulative self-consump.", + "11237": "Set cumulative direct consump.", + "11238": "Set battery charge", + "11239": "Set battery discharge", + "11240": "IEC server switched on", + "11241": "Gfdi relay status", + "11242": "Block status", + "11243": "Mains watchdog firmware vers.", + "11244": "Mains watchdog hardware vers.", + "11245": "Mains watchdog conversion status", + "11246": "Mains watchdog update vers.", + "11247": "Mains watchdog serial no.", + "11248": "Mains watchdog SUSyID", + "11249": "Mains watchdog unit type", + "11250": "Total memory on USB medium 1", + "11251": "Total memory on USB medium 2", + "11252": "Abs. meter count and PV gen. meter", + "11253": "Absolute battery charge", + "11254": "Absolute battery discharge", + "11255": "BMS operating mode", + "11256": "Min. battery charge capac.", + "11257": "Max. battery charge capac.", + "11258": "Min. battery discharge capac.", + "11259": "Max. battery discharge capac.", + "11260": "Mains exch. capac. target value", + "11261": "Battery temp.", + "11262": "Max. PV power", + "11263": "Batt. manuf's max. charge capac.", + "11264": "Batt. manuf's min. charge capac.", + "11265": "Batt. manuf's max. disch. capac.", + "11266": "Batt. manuf's min. disch. capac.", + "11267": "Determine SOH", + "11268": "Monitoring of AC capacitors", + "11269": "Cumulative self-supply", + "11270": "Current self-supply", + "11271": "Battery discharge of current battery", + "11272": "Monitoring of battery management system", + "11273": "Ripple control signal detection, amplification of narrow-band support", + "11274": "Ripple control signal detection, damping of narrow-band support", + "11275": "Ripple control signal detection, frequency of narrow-band support", + "11276": "Ripple control signal detection, amplification of broad-band support", + "11277": "Ripple control signal detection, frequency of broad-band support", + "11278": "Current capacity (Dvlp)", + "11279": "Programming progress", + "11280": "Set offset of the supplied energy", + "11281": "Set offset of the absorbed energy", + "11282": "Island network detect. status", + "11283": "Characteristic curve number for dynamic grid disconnect", + "11284": "Nominal current of all phases", + "11285": "cos φ of start pt, cos φ(P) char. curve config", + "11286": "cos φ of end pt, cos φ(P) char. curve config", + "11287": "AC voltage EPS (Emergency Power Supply)", + "11288": "Current EPS (Emergency Power Supply)", + "11289": "Power EPS (Emergency Power Supply)", + "11290": "Energy EPS (Emergency Power Supply)", + "11291": "Total energy EPS (Emergency Power Supply)", + "11292": "Operating mode EPS (Emergency Power Supply)", + "11293": "Change-over time to EPS after network failure", + "11294": "Chg-over t EPS to network op after network reconnect", + "11295": "Version of communication Bootloader", + "11296": "Version of Webserver", + "11297": "External active power setting, fallback behavior", + "11298": "External active power setting, timeout", + "11299": "Fallback active power limit P in % of WMax for absent active power limit", + "11300": "External reactive power setting, fallback behavior", + "11301": "External reactive power setting, timeout", + "11302": "External reactive power setting, fallback value", + "11303": "External cos φ setting, fallback behavior", + "11304": "External cos φ setting, timeout", + "11305": "External cos φ setpoint specification, fallback value of cos φ for active power output", + "11306": "External cos φ setpoint specification, fallback value of the excitation type for active power output", + "11307": "Current spec. active power limitation P", + "11308": "Current spec. reactive power Q", + "11309": "Current spec. cos φ", + "11310": "Current spec. stimulation type cos φ", + "11311": "Impedance compensation switched on", + "11312": "Ohmic resistance for impedance compensation", + "11313": "Inductive resistance for impedance compensation", + "11314": "Capacitive resistance for impedance compensation", + "11315": "Max. react. p of freq-dep. react. p sup Q(df/dt)", + "11316": "React p of harmonic-dep. react p sup Q(dTHD/dt)", + "11317": "Serial no. Slave1 (Phase L2)", + "11318": "Serial no. Slave2 (Phase L3)", + "11319": "Operating status Master (Phase L1)", + "11320": "Operating status Slave1 (Phase L2)", + "11321": "Operating status Slave2 (Phase L3)", + "11322": "Bootloader version of the main processor", + "11323": "Bootloader version of logic component", + "11324": "Type of AC subdistribution", + "11325": "Photovoltaic energy in solar charger", + "11326": "Total energy of photovoltaics", + "11327": "Total energy of photovoltaics current day", + "11328": "Output of photovoltaics", + "11329": "Total output current of solar charger", + "11330": "Cluster behaviour when a device fails", + "11331": "Energy saving mode", + "11332": "Status battery application area", + "11333": "Operating time of battery statistics counter", + "11334": "Charge factor: ratio of battery charge/discharge", + "11335": "Lowest measured battery temperature", + "11336": "Highest measured battery temperature", + "11337": "Number of battery equalization charges", + "11338": "Number of battery full charges", + "11339": "Relative battery discharge since last full charge", + "11340": "Relative battery discharge since last equalization charge", + "11341": "Max. occurred battery voltage", + "11342": "Maximum battery current in charge direction", + "11343": "Maximum battery current in discharge direction", + "11344": "Battery switch-on limit after overtemp. shutdown", + "11345": "Line resistance of battery connection", + "11346": "Cycle time full charge", + "11347": "Cycle time equalization charge", + "11348": "Battery temperature compensation", + "11349": "Automatic equalization charge", + "11350": "Remaining absorption time", + "11351": "Remaining time until full charge", + "11352": "Remaining time until equalization charge", + "11353": "Absorption phase active", + "11354": "Fault battery state of charge", + "11355": "Manual equalization charge", + "11356": "Time until change-over to energy saving mode", + "11357": "Maximum duration of energy saving mode", + "11358": "Voltage setpoint with deactivated battery mgmt", + "11359": "Start time of battery protection mode level", + "11360": "End time of battery protection mode level", + "11361": "Battery state of charge for protection mode", + "11362": "Type of additional DC sources", + "11363": "Operating time energy count", + "11364": "Automatic frequency control", + "11365": "Inverter nominal voltage", + "11366": "Inverter nominal frequency", + "11367": "Maximum AC battery charge current", + "11368": "Time-controlled inverter operation", + "11369": "Start date for time-controlled inverter operation", + "11370": "Operating time for time-controlled inverter op.", + "11371": "Repeat cycle for time-controlled inverter op.", + "11372": "Total current external network connection", + "11373": "Cut-off time until connection to external network", + "11374": "Lower lmt deep disch. protect area prior shutdown", + "11375": "Minimum width of deep discharge protection area", + "11376": "Minimum width of backup power area", + "11377": "Area width for conserving battery state of charge", + "11378": "Minimum width of self-consumption area", + "11379": "Most productive month for battery usage range", + "11380": "Season operation active", + "11381": "Limit battery state of charge generator start in time range", + "11382": "Limit battery state of charge gen. shutdown in time range", + "11383": "End time additional time period, generator request", + "11384": "Nominal generator frequency", + "11385": "Generator request", + "11386": "Average time for generator request via power", + "11387": "Average operating time of generator", + "11388": "Average idle period of generator", + "11389": "Cooling down time of generator", + "11390": "Idle period after generator fault", + "11391": "Warm-up time of generator", + "11392": "Time-controlled generator operation", + "11393": "Start time for time-controlled generator op.", + "11394": "Operating time for time-controlled generator op.", + "11395": "Repeat cycle of time-controlled generator op.", + "11396": "Generator request with set charge type", + "11397": "Reaction to digital input of generator request", + "11398": "Remaining min. operating time of generator", + "11399": "Limitation type of generator current", + "11400": "Sensitivity of generator failure detection", + "11401": "Maximum current from utility grid", + "11402": "Power feedback to utility grid allowed", + "11403": "Energy saving mode switched on", + "11404": "Maximum network reverse power", + "11405": "Maximum network reverse power tripping time", + "11406": "Start feed-in PV", + "11407": "Stop feed-in PV", + "11408": "Upper state of charge for reactivating feed-in", + "11409": "Lower state of charge for locking feed-in", + "11410": "Grid request via battery state of charge switched on", + "11411": "Lmt battery state of charge for connection to grid", + "11412": "Lmt battery state of charge for disconnection from grid", + "11413": "Start interval for grid request", + "11414": "Grid request via power switched on", + "11415": "Grid request switch-on power limit", + "11416": "Grid request switch-off power limit", + "11417": "Manual control of grid connection", + "11418": "Grid request via charge type", + "11419": "Lmt value battery state of charge for start load shedding 1", + "11420": "Lmt value battery state of charge for stop load shedding 1", + "11421": "Time load shedding 1", + "11422": "Lmt value battery state of charge for start load shedding 2", + "11423": "Lmt value battery state of charge for stop load shedding 2", + "11424": "Time load shedding 2", + "11425": "Start date of relay control for timer", + "11426": "Duration for which multifunction relay is activated for timer", + "11427": "Repeat cycle time of relay control for timer", + "11428": "Slave 1: Operating mode of multifunction relay", + "11429": "Slave 2: Operating mode of multifunction relay", + "11430": "Temp lmt for multifunct. relay with batt comp fan", + "11431": "Slave 1: Multifunction relay status", + "11432": "Slave 2: Multifunction relay status", + "11433": "Status digital input", + "11434": "Power threshold for start-up detection", + "11435": "Tripping time for start-up detection", + "11436": "Locking time for start-up detection", + "11437": "Counter suitability at interface 1 for energy mgmt", + "11438": "Counter suitability at interface 2 for energy mgmt", + "11439": "Counter suitability at interface 3 for energy mgmt", + "11440": "Switch-on request", + "11442": "V at zero crossing 1 of reactive power char. curve", + "11443": "V at zero crossing 2 of reactive power char. curve", + "11445": "Battery installation mode", + "11446": "Battery state of charge limit, generator start in additional time period", + "11447": "Battery state of charge limit, generator shutdown in additional time period", + "11448": "Start time additional time range generator request", + "11449": "Limit battery state of charge for stop load shedding 1 in add time range", + "11450": "Limit battery state of charge for stop load shedding 2 in add time range", + "11451": "Limit battery state of charge for start load shedding 1 in add time range", + "11452": "Limit battery state of charge for start load shedding 2 in add time range", + "11453": "Start time additional time range load shedding 1", + "11454": "Start time additional time range load shedding 2", + "11455": "Start time additional time range grid request", + "11456": "Limit battery state of charge for disconnect from grid in add time range", + "11457": "Limit battery state of charge for connect to grid in add time range", + "11458": "Source for system active power", + "11459": "Source for system reactive power", + "11460": "System active power at grid connection point", + "11461": "System reactive power at grid connection point", + "11462": "Normalized reactive power limitation by system control via direct marketer", + "11463": "Normalized active power limitation by system control via direct marketer", + "11464": "No translation in Taglist for ID 11464", + "11465": "No translation in Taglist for ID 11465", + "11466": "Control of battery charging via communication available", + "11467": "Function of analog current output", + "11468": "X-value 1 of characteristic curve of digital current output", + "11469": "Y-value 1 of characteristic curve of digital current output", + "11470": "X-value 2 of characteristic curve of digital current output", + "11471": "Y-value 2 of characteristic curve of digital current output", + "11472": "Actual measurement value of digital current output", + "11473": "Function of digital output", + "11474": "Actual status of digital output", + "11475": "Lower discharge limit for self-consumption range", + "11476": "Manual restart activated", + "11477": "Manual restart after overvoltage", + "11478": "Manual restart after undervoltage", + "11479": "Manual restart after frequency error", + "11480": "BMS serial number", + "11481": "Manual restart after passive islanding detection", + "11482": "Manual restart after active islanding detection", + "11483": "Device ID", + "11484": "Type designation", + "11485": "URL", + "11486": "Communication protocol", + "11487": "Type of measured value acquisition", + "11488": "Centre/neutral conductor connection", + "11489": "Available PV power", + "11490": "Internal PV power limitation", + "11491": "Reactive power of loads", + "11492": "Maximum short-term decrease in power", + "11493": "PV reactive power currently supplied from grid", + "11494": "PV apparent power currently supplied from grid", + "11495": "PV power not requested", + "11496": "Return monitoring value", + "11497": "Input monitoring value", + "11498": "PV energy produced (today)", + "11499": "PV energy produced (yesterday)", + "11500": "PV energy produced (current month)", + "11501": "PV energy produced (last month)", + "11502": "Generator energy produced (today)", + "11503": "Generator energy produced (yesterday)", + "11504": "Generator energy produced (current month)", + "11505": "Generator energy produced (last month)", + "11506": "Energy output to grid (yesterday)", + "11507": "Energy output to grid (current month)", + "11508": "Energy output to grid (last month)", + "11509": "Energy drawn from grid (yesterday)", + "11510": "Energy drawn from grid (current month)", + "11511": "Energy drawn from grid (last month)", + "11512": "Energy consumed (today)", + "11513": "Energy consumed (yesterday)", + "11514": "Energy consumed (current month)", + "11515": "Energy consumed (last month)", + "11516": "Estimated fuel consumption since last reset", + "11517": "Estimated current fuel consumption", + "11518": "Current generator power", + "11519": "Currently available generator apparent power", + "11520": "Current generator reactive power", + "11521": "Minimum generator power to be provided", + "11522": "Current grid export active power", + "11523": "Current grid export reactive power", + "11524": "Neutral conductor is connected", + "11525": "Run self test", + "11527": "Send IGMP requests", + "11528": "2nd characteristic curve number, configuration of characteristic curve mode", + "11529": "2nd activation of the characteristic curve, configuration of characteristic curve mode", + "11530": "2nd activation threshold, configuration of characteristic curve mode", + "11531": "2nd deactivation threshold, configuration of characteristic curve mode", + "11532": "2nd threshold reference, configuration of characteristic curve mode", + "11533": "Status of the firmware update", + "11534": "P(f), tripping delay", + "11535": "Current temperature of AC choke", + "11536": "Highest measured temperature of AC choke", + "11537": "Beginning of limiting via temperature on AC choke", + "11538": "Number of battery strings present", + "11539": "Number of active battery strings", + "11540": "Average voltage on the high-voltage side", + "11541": "Average current on the high-voltage side", + "11542": "Current assigned active power", + "11543": "Version of WebUI", + "11544": "Current assigned apparent power", + "11545": "Power of inverter", + "11546": "Apparent power of inverter", + "11547": "Insulation resistance of battery", + "11548": "Insulation resistance of inverter", + "11549": "Waiting time until feed-in", + "11550": "Boost converter temperature", + "11551": "Highest measured boost converter temperature", + "11552": "Usable meters on Speedwire", + "11553": "Main processor bootloader version", + "11554": "Preloader version", + "11555": "Deviation from max. standardised string current", + "11556": "Average deviation from max. standardised string current", + "11557": "Time since an error occurred", + "11558": "Maximum possible string current", + "11559": "Average deviation at which an error is present", + "11560": "Time after an error is reported", + "11561": "Cycle time for measuring the currents", + "11562": "Minimum current to activate zone monitoring", + "11563": "Data logger function", + "11564": "Provide system view", + "11565": "Diagnostic logger function", + "11566": "Prescribed self-test", + "11567": "Mean value of the external conductor voltages", + "11568": "Supplied battery power in all phases", + "11569": "Consumed battery power in all phases", + "11570": "Supplied reactive battery power in all phases", + "11571": "Calculated active power default value for battery inverter", + "11572": "Calculated reactive power default value for battery inverter", + "11573": "Power of all battery inverters in OK status", + "11574": "Free capacity of all batteries", + "11575": "Accessible charge of all batteries", + "11576": "Charge energy (today)", + "11577": "Charge energy (yesterday)", + "11578": "Charge energy (current month)", + "11579": "Charge energy (previous month)", + "11580": "Discharge energy (today)", + "11581": "Discharge energy (yesterday)", + "11582": "Discharge energy (current month)", + "11583": "Discharge energy (previous month)", + "11584": "Charge energy (total)", + "11585": "Discharge energy (total)", + "11586": "Counter state of generator generating meter", + "11587": "Supply grid frequency with greater accuracy", + "11588": "IGMP query interval", + "11589": "Write flight data", + "11592": "Current time is daylight savings time", + "11593": "Firmware version of Wi-Fi component", + "11594": "Hardware version of Wi-Fi component", + "11595": "Revision status of Wi-Fi component", + "11596": "Update version of Wi-Fi component", + "11597": "Serial number of Wi-Fi component", + "11598": "SUSyID of Wi-Fi component", + "11599": "Wi-Fi component type", + "11600": "Dynamic power display via green LED", + "11601": "Signal strength of the selected network", + "11602": "Currently used IP address for Wi-Fi", + "11603": "Currently used IP subnet mask for Wi-Fi", + "11604": "Currently used IP gateway address for Wi-Fi", + "11605": "Currently used IP DNS server address for Wi-Fi", + "11606": "Wi-Fis found", + "11607": "Wi-Fi connection status", + "11608": "Wi-Fi antenna type", + "11609": "Wi-Fi is turned on", + "11610": "Soft-access-point is turned on", + "11611": "SSID of Wi-Fi", + "11612": "Wi-Fi password", + "11613": "Encryption for Wi-Fi", + "11614": "Activate WPS", + "11615": "Automatic configuration of Wi-Fi is turned on", + "11616": "IP address of Wi-Fi", + "11617": "Subnet mask of Wi-Fi", + "11618": "IP address of Wi-Fi gateway", + "11619": "IP address of Wi-Fi DNS server", + "11620": "Version of time zone database", + "11621": "Perform Wi-Fi scan", + "11622": "Total system power", + "11623": "Signal value 1 of characteristic curve of digital current input", + "11624": "Y-value 1 of characteristic curve of digital current input", + "11625": "Signal value 2 of characteristic curve of digital current input", + "11626": "Y-value 2 of characteristic curve of digital current input", + "11627": "Source of irradiation sensor measurement", + "11628": "Reactive power supplied to the grid in all phases", + "11629": "Operating mode of grid system service", + "11630": "WEP key index", + "11631": "Usable Wi-Fi channels", + "11632": "Status of active power limitation", + "11633": "Status of reactive power limitation", + "11634": "Fallback active power limitation, reg. to grid connection point", + "11635": "Fallback active power limitation as %, reg. to grid connection point", + "11636": "Status of Wi-Fi scan", + "11637": "S0 pulses per m/s", + "11638": "Configuration of PCM digital inputs", + "11639": "Active power limitation via PCM digital inputs", + "11640": "Reactive power limit. assigned via PCM dig. inputs", + "11641": "Wi-Fi-MAC address", + "11642": "Regulating power operating mode", + "11643": "Preferred power band of the regulating reserve", + "11644": "Upper reserve value of the regulating reserve", + "11645": "Lower reserve value of the regulating reserve", + "11646": "Upper reserve value of the regulating reserve", + "11647": "Lower reserve value of the regulating reserve", + "11648": "Preferred power band of the regulating reserve", + "11649": "Upper reserve value of the regulating reserve", + "11650": "Lower reserve value of the regulating reserve", + "11651": "Upper reserve value of the regulating reserve", + "11652": "Lower reserve value of the regulating reserve", + "11653": "Power reserve active", + "11654": "Required positive power reserve will be reserved", + "11655": "Required negative power reserve will be reserved", + "11656": "Maximum possible power reserve", + "11657": "Required power limit", + "11658": "Secondary reserve value of the regulating reserve", + "11659": "Secondary reserve value of the regulating reserve", + "11660": "Secondary reserve value of the regulating reserve", + "11661": "Secondary reserve value of the regulating reserve", + "11662": "Version of the software on Core1", + "11663": "Maximum achievable reactive power quadrant 1", + "11664": "Maximum achievable reactive power quadrant 2", + "11665": "Maximum achievable reactive power quadrant 3", + "11666": "Maximum achievable reactive power quadrant 4", + "11667": "Minimum achievable cos(phi) quadrant 1", + "11668": "Minimum achievable cos(phi) quadrant 2", + "11669": "Minimum achievable cos(phi) quadrant 3", + "11670": "Minimum achievable cos(phi) quadrant 4", + "11671": "Currently permitted device power", + "11672": "AFCI robustness", + "11673": "Setpoint cos(phi) as per EEI convention", + "11674": "Voltage monitoring of upper maximum threshold as RMS value", + "11675": "Voltage monitoring of upper max. thresh. as RMS value for tripping time", + "11676": "Voltage monitoring of lower minimum threshold as RMS value", + "11677": "Voltage monitoring of lower min.threshold as RMS value for tripping time", + "11678": "Set supplied PV energy", + "11679": "Sig. val. 1 of char. curve of analogue input", + "11680": "Y value 1 of char. curve of analogue input", + "11681": "Sig. val. 2 of char. curve of analogue input", + "11682": "Y value 2 of char. curve of analogue input", + "11683": "Function of analogue input", + "11684": "Error evaluation of the device", + "11685": "Tolerance of string failure detection", + "11686": "Time until warning for string failure detection", + "11687": "EEI displacement power factor", + "11688": "Positive sequence voltage (calculated) on the PCC", + "11689": "Supplied power (calculated) on the PCC", + "11690": "Supplied reactive power (calculated) on the PCC", + "11691": "Current generator reactive power", + "11692": "Current generator reactive power", + "11693": "Supplied battery power in all phases", + "11694": "Consumed battery power in all phases", + "11695": "Supplied reactive battery power in all phases", + "11696": "Currently available generator active power", + "11697": "Antenna switching", + "11698": "Device is new part", + "11699": "Tripping time for activation of char. curve 2", + "11700": "Function of S0 input", + "11701": "Adjustment time of char. operating point, conf. of grid integration char. curve 3", + "11702": "Decrease ramp, conf. of grid integration char. curve 3", + "11703": "Increase ramp, conf. of grid integration char. curve 3", + "11704": "Number of points to be used, conf. of grid integr. char. curve 3", + "11705": "Input unit, conf. of grid integration char. curve 3", + "11706": "Output reference, conf. of grid integration char. curve 3", + "11707": "X value 1, conf. of grid integr. char. curve 3", + "11708": "X value 2, conf. of grid integr. char. curve 3", + "11709": "X value 3, conf. of grid integr. char. curve 3", + "11710": "X value 4, conf. of grid integr. char. curve 3", + "11711": "X value 5, conf. of grid integr. char. curve 3", + "11712": "X value 6, conf. of grid integr. char. curve 3", + "11713": "X value 7, conf. of grid integr. char. curve 3", + "11714": "X value 8, conf. of grid integr. char. curve 3", + "11715": "Y value 1, conf. of grid integr. char. curve 3", + "11716": "Y value 2, conf. of grid integr. char. curve 3", + "11717": "Y value 3, conf. of grid integr. char. curve 3", + "11718": "Y value 4, conf. of grid integr. char. curve 3", + "11719": "Y value 5, conf. of grid integr. char. curve 3", + "11720": "Y value 6, conf. of grid integr. char. curve 3", + "11721": "Y value 7, conf. of grid integr. char. curve 3", + "11722": "Y value 8, conf. of grid integr. char. curve 3", + "11723": "3rd char. curve number, conf. of char. curve mode", + "11724": "Difference between starting frequency and grid frequency, linear instantaneous power gradient conf. with underfrequency", + "11725": "Active power gradient, linear instantaneous power gradient configuration with underfrequency", + "11726": "No translation in Taglist for ID 11726", + "11727": "No translation in Taglist for ID 11727", + "11728": "No translation in Taglist for ID 11728", + "11729": "No translation in Taglist for ID 11729", + "11730": "No translation in Taglist for ID 11730", + "11731": "No translation in Taglist for ID 11731", + "11732": "Source of ref. meas. for reactive/active power reduction", + "11733": "Phased reactive/act. power specification", + "11734": "Functions for grid/offgrid operation", + "11735": "Minimum setpoint for intermediate circuit voltage", + "11736": "Manually set active power limitation for the entire system", + "11737": "Setpoint of active power limitation via dialog input", + "11738": "Setpoint for active power limitation via analog input", + "11739": "PV power limitation via communication", + "11740": "PV power limitation via communication for direct marketing", + "11741": "Minimum PV power limitation", + "11742": "Internal PV power limitation", + "11762": "Monostring Testmode", + "11763": "Modbus Unit ID", + "11764": "Hardware version of the operating system", + "11765": "Hardware version of string protection", + "11766": "Hardware version of protocol converter", + "11767": "Hardware version of the module", + "11768": "Hardware version of the module", + "11769": "BMS hardware version", + "11770": "Mains watchdog hardware vers.", + "11771": "Hardware version of Wi-Fi component", + "11772": "Tripping time for activation of char. curve", + "11773": "SSID of Wi-Fi", + "11774": "Wi-Fi password", + "11775": "Encryption for Wi-Fi", + "11776": "NSS function is active", + "11777": "Devices found", + "11778": "Activate ambient temperature measurement", + "11779": "Activate module temperature measurement", + "11780": "Hardware version of the main processor", + "11781": "Hardware version of the communication assembly", + "11782": "Hardware version of the residual current mon. unit", + "11783": "Hardware version of the display", + "11784": "Hardware version of the logic component", + "11785": "Hardware version of the RS485 module", + "11786": "Hardware version of the Zigbee components", + "11787": "Hardware version of the Bluetooth component", + "11788": "Grid voltage phase L1", + "11789": "Grid voltage phase L2", + "11790": "Grid voltage phase L3", + "11791": "Power grid feeding L1", + "11792": "Power grid feeding L2", + "11793": "Power grid feeding L3", + "11794": "Power drawn from grid phase L1", + "11795": "Power drawn from grid phase L2", + "11796": "Power drawn from grid phase L3", + "11797": "Reactive power grid feeding phase L1", + "11798": "Reactive power grid feeding phase L2", + "11799": "Reactive power grid feeding phase L3", + "11800": "Reactive power grid feeding", + "11801": "BMS hardware version", + "11803": "Operating status", + "11804": "Charge of current battery", + "11805": "Specified battery setpoints", + "11807": "External active power setpoint specification, fallback value for active power setpoint specification", + "11808": "Timeout for absent assigned active power", + "11810": "Nominal current control at grid connection point", + "11811": "Lower discharge limit for assigned active power", + "11812": "Upper discharge limit for assigned active power", + "11813": "Setpoint at grid connection point for batt. Charge", + "11814": "Setpoint at grid conn. point for batt. discharge", + "11815": "Available charging power", + "11816": "Available discharging power", + "11817": "Ambient temperature", + "11818": "Status Enable Signal", + "11819": "Climate management supply voltage", + "11820": "DC-bus voltage", + "11821": "DC-bus power", + "11822": "Logic supply voltage", + "11823": "Climate management supply voltage", + "11824": "Command sent to the battery management system", + "11825": "RS485 communication speed", + "11826": "RS485 device detect timeout", + "11827": "Number of RS485 devices to detect", + "11828": "Trigger device restart", + "11829": "Start device detect", + "11830": "Number of detected devices", + "11831": "Send interval for SIP OPTIONS keepalive messages", + "11832": "operations state DSP", + "11833": "Current reactive power limit at overriding required reactive power", + "11834": "String comparison group for string failure detect", + "11835": "Number of connected sub-strings per string", + "11836": "String failure detection sensitivity", + "11837": "Active power setpoint on phase A (in %) for WCtlCom op. mode", + "11838": "Active power setpoint on phase B (in %) for WCtlCom op. mode", + "11839": "Active power setpoint on phase C (in %) for WCtlCom op. mode", + "11840": "Reactive power setpoint on phase A (in %) for VArCtlCom op. mode", + "11841": "Reactive power setpoint on phase B (in %) for VArCtlCom op. mode", + "11842": "Reactive power setpoint on phase C (in %) for VArCtlCom op. mode", + "11843": "Voltage symmetry operating mode", + "11844": "Inverter bridge temperature", + "11845": "Highest measured inverter bridge temperature", + "11847": "AST type", + "11848": "AST type", + "11851": "Nominal voltage and frequency", + "11852": "Cluster configuration", + "11853": "Cluster system", + "11854": "Cluster in the multi-cluster", + "11855": "Extension cluster address", + "11856": "System performance", + "11857": "Design of the generation plant", + "11859": "Limitation of the active power consumption in %", + "11860": "Limitation of the active power consumption in W", + "11861": "Fallback active power P", + "11862": "Derating of the PV inverter to the grid connection point", + "11865": "Location longitude", + "11866": "Location latitude", + "11867": "Maximum time without reference run", + "11868": "Minimum deviation before tracking start", + "11869": "Minimum elevation deviation before tracking start", + "11870": "Number of motor steps when leaving azimuth end position", + "11871": "Number of motor steps when leaving elevation end position", + "11872": "Maximum tilt angle", + "11873": "Select type", + "11874": "Last external override", + "11875": "Maximum azimuth motor current", + "11876": "Maximum elevation motor current", + "11877": "Actual elevation motor current", + "11878": "Actual azimuth motor current", + "11879": "Current azimuth", + "11880": "Current elevation", + "11881": "Target azimuth", + "11882": "Target elevation", + "11883": "Azimut end position", + "11884": "Voltage supply", + "11885": "Number of external overrides", + "11886": "Remote operation", + "11888": "Serial number device 1", + "11889": "Serial number device 2", + "11890": "Phase assignment device 1", + "11891": "Phase assignment device 2", + "11892": "Last time synchronization", + "11893": "Device password", + "11894": "Maximum number of reference run errors", + "11895": "Start delay", + "11896": "Traverse angle for remote operation", + "11897": "Elevation correction angle", + "11898": "Soft Access Point status", + "11900": "Max AC battery discharge current", + "11901": "Charge current specification self-consumption", + "11902": "Discharge current specification self-consumption", + "11903": "Maximum inverter frequency", + "11904": "Minimum inverter frequency", + "11905": "Maximum inverter voltage", + "11906": "Minimum inverter voltage", + "11907": "Process specification battery charge current", + "11908": "Process specification battery discharge current", + "11909": "Power of the SI charger |s0|", + "11910": "Total current multi-cluster charging power", + "11911": "Total current multi-cluster discharging power", + "11912": "Frequency distribution of the state of charge, |s0| % > SOC >= |s1|%", + "11914": "EEBUS SKI device identification", + "11916": "Backup controller SW version", + "11917": "Backup controller HW version", + "11918": "Backup controller revision status", + "11919": "Backup controller serial number", + "11920": "Backup controller SUSyID", + "11921": "Software version of the battery interface module", + "11922": "Hardware version of the battery interface module", + "11923": "Modification status of the battery interface module", + "11924": "Serial number of the battery interface module", + "11925": "SUSy ID of the battery interface module", + "11926": "Time of the update", + "11927": "Voltage increase protection enabled", + "11928": "Grid monitoring time", + "11929": "Lowest measured frequency", + "11930": "Highest measured frequency", + "11931": "Charge current limitation", + "11932": "Discharge current limitation", + "11933": "Device address", + "11934": "Azimuth correction angle", + "11937": "ADC average value formation in 0.1 s", + "11938": "Angle of elevation limitation 2", + "11939": "Start of elevation limitation 2", + "11940": "End of elevation limitation 2", + "11941": "Angle of date-dependent rotation limitation", + "11942": "Start of date-dependent rotation limitation", + "11943": "End of date-dependent rotation limitation", + "11944": "Fixed elevation angle", + "11945": "Fixed rotation angle drive 2", + "11946": "Fixed azimuth angle", + "11947": "Fixed rotation angle drive 1", + "11948": "Activation of fixed angle", + "11949": "HyTrack azimuth sensitivity", + "11950": "HyTrack elevation sensitivity", + "11951": "Jump width for HyTrack adjustment", + "11952": "Rotation of HyTrack", + "11953": "Temperature of HyTrack", + "11954": "Voltage of HyTrack Q1", + "11955": "Voltage of HyTrack Q2", + "11956": "Voltage of HyTrack Q3", + "11957": "Voltage of HyTrack Q4", + "11958": "X-angle of HyTrack", + "11959": "Y-angle of HyTrack", + "11960": "HyTrack", + "11961": "Total adjustment time", + "11962": "Total error time", + "11963": "Angle of night position", + "11964": "Current motor current drive 1", + "11965": "Current motor current drive 2", + "11966": "Maximum motor current drive 1", + "11967": "Maximum motor current drive 2", + "11968": "Current angle drive 1", + "11969": "Current angle drive 2", + "11970": "Target angle drive 1", + "11971": "Target angle drive 2", + "11972": "Drives activated", + "11973": "Open-circuit voltage point counter", + "11974": "Multifunction relay status", + "11975": "Active battery charging mode", + "11976": "Number of Resets", + "11977": "Operating mode", + "11978": "Error", + "11979": "Counter warning battery voltage high", + "11980": "Counter error battery overvoltage", + "11981": "Counter warning battery state of charge low", + "11982": "Device address", + "11983": "Current battery state of charge", + "11984": "Current battery capacity", + "11987": "Battery nominal capacity", + "11988": "Present battery charge", + "11989": "Present battery discharge", + "11990": "Battery charge", + "11991": "Battery discharge", + "11992": "Absolute battery charge", + "11993": "Absolute battery discharge", + "11994": "Battery discharge of current battery", + "11995": "Set battery charge", + "11996": "Set battery discharge", + "11997": "Current capacity (Dvlp)", + "11998": "Charge of current battery", + "11999": "Relay monitoring voltage", + "12000": "Activation of communication test between clusters", + "12001": "Status of communication test", + "12002": "Current sensor type (60mV 50mV)", + "12003": "Current sensor gain", + "12004": "Current sensor gain", + "12005": "Current at AC2 with high resolution", + "12006": "Highest measured drawn power", + "12007": "Highest measured feed-in power", + "12008": "Anti-islanding sensitivity", + "12009": "Current control mode", + "12010": "Grounding type", + "12011": "Selection of mains exchange capacity measurement method", + "12012": "Total current load active power", + "12013": "Serial number", + "12014": "System ID", + "12015": "Software version", + "12016": "Serial number", + "12017": "Position number", + "12018": "Serial number", + "12019": "Designation", + "12020": "Type", + "12021": "Voltage", + "12022": "Current", + "12023": "Power", + "12024": "PV module electronics temperature", + "12025": "Received signal strength", + "12026": "Condition", + "12027": "Condition", + "12028": "Condition", + "12029": "Energy counter", + "12030": "Frequency droop P(f)", + "12031": "Voltage droop Q (V)", + "12032": "Frequency at AC2 with high resolution", + "12033": "Backup unit controller status", + "12034": "Batter interface module status", + "12035": "Hardware version of the main processor", + "12036": "Energy counter serial number", + "12037": "Energy meter used", + "12038": "Auto-calibration of the external battery current sensor", + "12039": "Energy meters used", + "12040": "Rapid Shutdown Mode", + "12041": "MPP tracker assignment", + "12042": "Number of PC modules in the string", + "12043": "Number of PC module electronics in the string", + "12044": "Rapid shutdown system function", + "12045": "Commissioning status", + "12046": "Type", + "12047": "Type", + "12048": "Software version", + "12049": "Software version", + "12050": "Minimum time for the use of excess energy", + "12051": "Voltage difference for the use of excess energy", + "12052": "Status of the counter on the Modbus", + "12053": "Number of gateways", + "12054": "SPS voltage", + "12055": "Backup voltage", + "12056": "Voltage monitoring upper maximum threshold", + "12057": "Voltage monitoring upper max. threshold trip. time", + "12058": "Voltage monitoring lower maximum threshold", + "12059": "Voltage monitoring lower max. threshold trip. time", + "12060": "Minimum voltage for start backup operation", + "12061": "Contactor switching status", + "12062": "Backup box communication status", + "12063": "Backup box operating mode", + "12064": "Redundant grid contactors", + "12065": "Phase coupling", + "12066": "Neutral conductor grounding", + "12067": "Upper limit for the charging state for derating of the PV inverters", + "12068": "Monitoring time contactor monitoring contact", + "12069": "Minimum voltage for activation of the load contactors in backup", + "12070": "Monitoring time for activation of the load contactors in backup", + "12071": "Duration of the AC voltage ramp", + "12072": "DC input configuration reset", + "12073": "DC input configuration [|s0|]", + "12074": "Can test mode", + "12075": "PV module electronics hardware version", + "12076": "PV module gateway hardware version", + "12077": "Backup module temperature monitoring trigger threshold", + "12078": "PV module electronics found", + "12079": "Gateways found", + "12080": "Activate power profile function", + "12081": "Charging power of the selected function", + "12082": "Discharging power of the selected function", + "12083": "Start time of the selected function", + "12084": "Stop time of the selected function", + "12085": "Weekday selection", + "12086": "Operating mode of the power control plan", + "12087": "Name of the power profile", + "12088": "Width of the usage range for Time of Use", + "12089": "Width of the usage range for Peak Load Shaving", + "12090": "Nominal CT current [Amps]", + "12091": "Displacement power factor", + "12092": "Grid current phase L1", + "12093": "Grid current phase L2", + "12094": "Grid current phase L3", + "12095": "Apparent power L1", + "12096": "Apparent power L2", + "12097": "Apparent power L3", + "12098": "Grid frequency", + "12099": "Grid voltage phase L3 against L1", + "12100": "Grid voltage phase L1 against L2", + "12101": "Grid voltage phase L2 against L3", + "12102": "Apparent power", + "12103": "Setpoint at the grid connection point in self-consumption", + "12104": "Activate voltage disconnect monitoring", + "12105": "RS485 interface protocol", + "12106": "RS485 interface protocol", + "12107": "RS485 interface protocol", + "12108": "Setpoint for grid frequency", + "12109": "Setpoint for grid voltage", + "12110": "Internal resistance", + "12111": "Open circuit voltage", + "12112": "Disconnection limit for leakage current", + "12113": "Disconnection limit for the lagging component of the leakage current", + "12114": "Cellular modem is switched on", + "12115": "Execute function", + "12116": "IMEI", + "12117": "Serial number (ICCID)", + "12118": "Condition", + "12119": "Received signal strength", + "12120": "Grid operator", + "12121": "EnnexOS is switched on", + "12122": "Execute function", + "12123": "Condition", + "12124": "RS485 interface terminal resistance", + "12125": "Energy meter software version", + "12126": "Duration until activation of secondary connection", + "12127": "Cellular connection status", + "12128": "EnnexOS portal connection status", + "12129": "SunSpec signal test", + "12130": "Trigger test for rapid shutdown", + "12131": "Cellular modem software version", + "12132": "Webconnect version", + "12133": "Limitation to 4 reconnections (24 hrs) after exceeding continuous residual current", + "12134": "Ethernet Link Diagnosis via LED", + "12135": "Internal PV reactive power limitation", + "12136": "Laboratory mode is activated", + "12137": "Minimum PV reactive power limitation", + "12144": "Correction value for power gradient, e.g. WGraRecon, WGraConn, WCtlHzModCfg.WCtlHzCfg.HzStopWGra", + "12145": "Communication Diagnosis via LED", + "12146": "Smart Inverter Screen switched on", + "12147": "Upload interval", + "12148": "Upload interval", + "12149": "Average values type", + "12150": "Output power limitation of PV inverter", + "12151": "Q(V), number of support points to be used", + "12152": "Maximum active power", + "12153": "Reactive power mode, reference size for reactive power setting", + "12154": "Number of supported strings", + "12156": "Minimum active power", + "12157": "Q(V), voltage value", + "12158": "Q(V), reactive power value", + "12159": "Maximum active power", + "12160": "Minimum active power", + "12161": "External active power setpoint 2, low priority", + "12162": "Q(V), external reference voltage setting in p.u.", + "12163": "Q(V), operating mode for reference voltage adaption", + "12164": "Fallback of reactive power control in event of outage of measuring point", + "12165": "Q(V), fallback of reference voltage", + "12166": "External active power setting, fallback value of minimum active power", + "12167": "External active power setting, fallback value of maximum active power", + "12168": "External active power setting 2, fallback behavior", + "12169": "External active power setting, nominal value filter", + "12170": "PV system voltage phase L1", + "12171": "PV system voltage phase L2", + "12172": "PV system voltage phase L3", + "12173": "Current control mode", + "12174": "Battery and control interface", + "12175": "Reactive power compensation", + "12176": "Encryption", + "12177": "Q(V), max. number of support points", + "12178": "Q(V), setting time of automatic reference voltage adaption", + "12179": "Insulation monitoring", + "12180": "Rated active power WMaxOutRtg", + "12181": "Rated active power WMaxInRtg", + "12182": "Rated active power WMinOutRtg", + "12183": "Rated active power WMinInRtg", + "12184": "Rated reactive power VArMaxQ1Rtg", + "12185": "Rated reactive power VArMaxQ2Rtg", + "12186": "Rated reactive power VArMaxQ3Rtg", + "12187": "Rated reactive power VArMaxQ4Rtg", + "12188": "Rated cos φ PFMinQ1Rtg", + "12189": "Rated cos φ PFMinQ2Rtg", + "12190": "Rated cos φ PFMinQ3Rtg", + "12191": "Rated cos φ PFMinQ4Rtg", + "12192": "Rated apparent power VAMaxOutRtg", + "12193": "Rated apparent power VAMaxInRtg", + "12194": "Nominal active power WMaxOut", + "12195": "Nominal active power WMaxIn", + "12196": "Nominal active power WMinOut", + "12197": "Nominal active power WMinIn", + "12198": "Nominal apparent power VAMaxOut", + "12199": "Nominal apparent power VAMaxIn", + "12200": "Nominal reactive power VArMaxQ1", + "12201": "Nominal reactive power VArMaxQ2", + "12202": "Nominal reactive power VArMaxQ3", + "12203": "Nominal reactive power VArMaxQ4", + "12204": "Nominal reactive power VArMaxZerWQ1", + "12205": "Nominal reactive power VArMaxZerWQ2", + "12206": "Nominal reactive power VArMaxZerWQ3", + "12207": "Nominal reactive power VArMaxZerWQ4", + "12208": "Nominal cos φ PFMinQ1", + "12209": "Nominal cos φ PFMinQ2", + "12210": "Nominal cos φ PFMinQ3", + "12211": "Nominal cos φ PFMinQ4", + "12212": "Data logging of PV module outputs", + "12213": "Absolute meter reading for grid infeed", + "12214": "Absolute meter reading of grid consumption", + "12215": "External cos φ setting, cos φ nominal value in case of active power output", + "12216": "External cos φ setting, excitation type in case of active power output", + "12217": "External cos φ setting, cos φ nominal value in case of active power draw", + "12218": "External cos φ setting, excitation type in case of active power draw", + "12219": "External cos φ setting, fallback value of cos φ in case of active power output", + "12220": "External cos φ setting, fallback value of excitation type in case of active power output", + "12221": "External cos φ setting, fallback value of cos φ in case of active power draw", + "12222": "External cos φ setting, fallback value of excitation type in case of active power draw", + "12223": "Manual cos φ setting, cos φ nominal value in case of active power generation", + "12224": "Manual cos φ setting, excitation type in case of active power generation", + "12225": "Manual cos φ setting, cos φ nominal value in case of active power draw", + "12226": "Manual cos φ setting, excitation type in case of active power draw", + "12227": "cos φ setting, actual value filter for active power value", + "12228": "cos φ setting, actual value filter for active power value", + "12229": "cos φ setting, nominal value filter", + "12230": "cos φ setting, setting time, nominal value filter", + "12231": "cos φ setting, limitation of change rate", + "12232": "cos φ setting, increase rate", + "12233": "Reactive power setting with voltage limitation", + "12234": "Reactive power setting with voltage limitation, voltage value", + "12235": "Reactive power setting with voltage limitation, reactive power value", + "12236": "External active power setting, setting time, nominal value filter", + "12237": "Manual reactive power setting in case of active power draw", + "12239": "Reactive power setting, nominal value filter", + "12240": "Reactive power setting, setting time, nominal value filter", + "12241": "Reactive power setting, limitation of change rate", + "12242": "Reactive power setting, increase rate", + "12243": "Reactive power mode, hysteresis active power", + "12244": "Reactive power mode, hysteresis time", + "12245": "Reactive power mode in case of active power output", + "12246": "Reactive power mode in case of active power draw", + "12247": "Reactive power for zero active power", + "12248": "Reactive power fallback process in case of active power output", + "12249": "Reactive power fallback process in case of active power draw", + "12250": "Reactive power fallback process in case of zero active power", + "12251": "Residual current limiting", + "12252": "Activation of residual current limiting", + "12253": "Active reactive power range", + "12254": "Voltage-dependent reactive power limitation", + "12255": "Voltage-dependent reactive power limitation, distance to cut-off thresholds of voltage monitoring", + "12256": "Voltage-dependent reactive power limitation, hysteresis voltage", + "12257": "Reactive power setting, decrease rate", + "12258": "cos φ setting, decrease rate", + "12259": "Dynamic grid support, short-term averaging time of the pre-fault voltage", + "12260": "Dynamic grid support, long-term averaging time of the pre-fault voltage", + "12261": "Dynamic grid support, averaging of threshold value detection", + "12262": "Applicable voltages", + "12263": "Dynamic grid support, overvoltage threshold for zero current", + "12264": "Dynamic grid support, undervoltage threshold for zero current", + "12265": "dI_B/dt Gradient limitation for the reactive current in transition from fault operation to normal operation", + "12266": "Dynamic grid support, averaging for reactive current static", + "12267": "Dynamic grid support, overvoltage threshold for reactive current", + "12268": "Dynamic grid support, undervoltage threshold for reactive current", + "12269": "Dynamic grid support, voltage leap height", + "12270": "Dynamic grid support, k-factor of react. current stat. in neg. system", + "12271": "Dynamic grid support, maximum reactive current in case of overvoltage", + "12272": "Dynamic grid support, active current priority at apparent current limit", + "12273": "dI_W/dt Gradient limitation for active current in transition from fault operation to normal operation", + "12274": "Maximum time for which the inverter supplies dynamic reactive current", + "12275": "Dynamic grid support, reactive current change rate after fault end", + "12276": "Dynamic grid support, active current change rate after fault end", + "12277": "Dynamic grid support, time for providing reactive power after voltage leap", + "12278": "P(f) characteristic curve", + "12279": "P(f) reference value for active power in case of overfrequency", + "12280": "P(f), setting time", + "12281": "P(f), buckling overfrequency", + "12282": "P(f), active power change per Hz in case of overfrequency", + "12283": "P(f), buckling underfrequency", + "12284": "P(f), active power change per Hz in case of underfrequency", + "12285": "P(f), hysteresis in case of overfrequency", + "12286": "P(f), hysteresis in case of underfrequency", + "12287": "Dynamic grid support, maximum reactive current in case of undervoltage", + "12288": "Dynamic grid support, lag time in case of overvoltage", + "12289": "Dynamic grid support, lag time in case of undervoltage", + "12290": "Presetting of Q(V) curve", + "12291": "P(f), reset underfrequency", + "12292": "Energy saving mode in self-consumption switched on", + "12293": "P(f), reset underfrequency", + "12294": "Manual reactive power setpoint for active power draw", + "12295": "Log level of EEBus gateway", + "12296": "Standardized reactive power setpoint by communication", + "12297": "Q(V), fallback behavior for absent reference voltage setting", + "12298": "Dynamic grid support, hysteresis voltage", + "12299": "External active power setting, limitation of change rate", + "12300": "External active power setting, increase rate", + "12301": "External active power setting, decrease rate", + "12303": "External active power setting 2, fallback value of minimum active power", + "12304": "External active power setting 2, fallback value of maximum active power", + "12305": "External active power setting 2, timeout", + "12306": "External active power setting 2, nominal value filter", + "12307": "External active power setting 2, setting time, nominal value filter", + "12308": "External active power setting 2, limitation of change rate", + "12309": "External active power setting 2, increase rate", + "12310": "External active power setting 2, decrease rate", + "12311": "Voltage monitoring, median maximum threshold", + "12312": "Voltage monitoring, lower maximum threshold", + "12313": "Voltage monitoring, upper minimum threshold", + "12314": "Voltage monitoring, median minimum threshold", + "12315": "Voltage monitoring, upper maximum threshold", + "12316": "Voltage monitoring, peak voltage threshold", + "12317": "Voltage monitoring, lower minimum threshold", + "12319": "Volt. increase prot.", + "12320": "Min. voltage for reconnection", + "12321": "Max. voltage for reconnection", + "12322": "Q(V), nominal value filter", + "12323": "Q(V), limitation of change rate", + "12324": "Q(V), increase rate", + "12325": "Q(V), decrease rate", + "12326": "Q(P), max. number of support points", + "12327": "Q(P), number of support points to be used", + "12328": "Q(P), active power value", + "12329": "Q(P), reactive power value", + "12330": "Q(P), nominal value filter", + "12331": "Q(P), setting time, nominal value filter", + "12332": "Q(P), limitation of change rate", + "12333": "Q(P), increase rate", + "12334": "Q(P), decrease rate", + "12335": "cos φ(P), upper deactivation voltage", + "12336": "cos φ(P), upper activation voltage", + "12337": "cos φ(P), max. number of support points", + "12338": "cos φ(P), number of support points to be used", + "12339": "cos φ(P), excitation type", + "12340": "cos φ(P), cos φ nominal value", + "12341": "cos φ(P), active power", + "12342": "Departure time of connected vehicle (E-mobility)", + "12343": "Time of reaching target charge", + "12344": "External generator feed-in counter", + "12345": "Feed-in power of external generator", + "12346": "cos φ(P), actual value filter for active power measured value", + "12347": "cos φ(P), setting time, actual value filter", + "12348": "cos φ(P), nominal value filter", + "12349": "cos φ(P), setting time, nominal value filter", + "12350": "cos φ(P), limitation of change rate", + "12351": "cos φ(P), increase rate", + "12352": "cos φ(P), decrease rate", + "12353": "Tripping threshold DC current monitoring", + "12354": "DC monitoring mode", + "12355": "P(V), activation", + "12356": "P(V), nominal value filter", + "12357": "P(V), setting time, nominal value filter", + "12358": "P(V), limitation of change rate", + "12359": "P(V), increase rate", + "12360": "P(V), decrease rate", + "12361": "P(V), tripping delay", + "12362": "P(V), max. number of support points", + "12363": "P(V), number of points used", + "12364": "P(V), voltage value", + "12365": "P(V), active power value", + "12366": "cos φ(V), max. number of support points", + "12367": "cos φ(V), number of support points used", + "12368": "cos φ(V), voltage value", + "12369": "cos φ(V), excitation type", + "12370": "cos φ(V), cos φ nominal value", + "12371": "cos φ(V), actual value filter for active power measured value", + "12372": "cos φ(V), setting time, actual value filter", + "12373": "cos φ(V), nominal value filter", + "12374": "cos φ(P), setting time, nominal value filter", + "12375": "cos φ(P), limitation of change rate", + "12376": "cos φ(V), increase rate", + "12377": "cos φ(V), decrease rate", + "12378": "cos φ(V), tripping delay", + "12379": "cos φ(V), status", + "12380": "JET test mode", + "12384": "Dynamic grid support, minimum duration of providing reactive current", + "12385": "Dynamic grid support, maximum duration of providing reactive current", + "12386": "P(V), type of reference voltage", + "12387": "P(V), type of reference active power", + "12388": "RS485 interface", + "12389": "Q(V), timeout for absent reference voltage setting", + "12390": "Q(V), tripping delay", + "12391": "Q(P), upper deactivation voltage", + "12392": "Q(P), upper activation voltage", + "12393": "Q(P), tripping delay", + "12394": "cos φ(P), tripping delay", + "12395": "Q(V), setting time, nominal value filter", + "12396": "Voltage monitoring, peak voltage threshold tripping time", + "12397": "Voltage monitoring, upper max. threshold trip. time", + "12398": "Phase reference of grid nominal voltage", + "12399": "Status of active power limitation setting", + "12401": "Enable command that overwrites enable conditions", + "12402": "Reference voltage selection", + "12403": "Manual restart after arc detection", + "12404": "Manual restart after 0% preset", + "12405": "Manual restart after fault current", + "12406": "P(f), reference value for active power for underfrequency", + "12407": "Displacement factor cos φ setpoint input via analog input", + "12408": "Displacement factor cos φ excitation type via analog input", + "12409": "Electrical reference point for grid requirements", + "12410": "Increase rate in case of insolation change", + "12411": "Priority compared to local charact. curves", + "12412": "Priority compared to local charact. curves", + "12413": "Function execution level P(f)", + "12414": "Function execution level P(V)", + "12415": "Function execution level reactive power mode", + "12416": "Soft start-up P", + "12417": "Standby status", + "12418": "Operating status", + "12419": "Source of maximum active power setpoint", + "12420": "Source of minimum active power setpoint", + "12421": "Current maximum active power setpoint", + "12422": "Current minimum active power setpoint", + "12423": "Current reference voltage setpoint for Q(V)", + "12424": "Current cos φ setpoint for active power draw", + "12425": "Current cos φ excitation type setpoint for active power draw", + "12426": "Max. setpoint value for active power of storage (pos. = discharge power, neg. = charge power)", + "12427": "Min. setpoint value for active power of storage (pos. = discharge power, neg. = charge power)", + "12428": "Communication to SMA Portal permitted", + "12429": "Communication to Tigo Cloud permitted", + "12431": "Q(P), lower deactivation voltage", + "12432": "Q(P), lower activation voltage", + "12433": "cos φ(P), lower deactivation voltage", + "12434": "cos φ(P), lower activation voltage", + "12435": "Active power control mode", + "12436": "Reactive power control mode", + "12437": "Soft start-up rate Q", + "12438": "Soft start-up Q", + "12439": "Modbus P-settings at input 2", + "12440": "Dynamic grid support, reactive power dynamic after error end", + "12441": "Reactive power behavior, type of reference voltage", + "12442": "NTP server for connected devices switched on", + "12443": "Islanding detection mode", + "12444": "Maximum active power setpoint specification", + "12445": "Minimum active power setpoint specification", + "12446": "Maximum reactive power setpoint specification", + "12447": "Minimum reactive power setpoint specification", + "12448": "Active reactive power behavior", + "12449": "Progress of the DC input configuration", + "12450": "EEI displacement power factor", + "12451": "Excitation type of cos φ", + "12452": "Grid and system protection", + "12453": "Maximum output voltage of the AC current regulator", + "12454": "Amplification of the resonance regulator for the fundamental harmonics current", + "12455": "Amplification of the integral regulator for the DC share in the AC current", + "12456": "Amplification of the proportion regulator for the fundamental harmonics current", + "12457": "Activation of the AC current controller", + "12458": "Activation of the active attenuation", + "12459": "Limit frequency of the active attenuation", + "12460": "Proportional amplification of the active attenuation", + "12461": "Activation of automatic grid connection", + "12462": "Activation of all harmonics regulators", + "12463": "Activation of harmonics regulator number 3", + "12464": "Activation of harmonics regulator number 4", + "12465": "Magnitude of the resonance frequency for harmonics regulator number 3", + "12466": "Magnitude of the resonance frequency for harmonics regulator number 4", + "12467": "Amplification of the resonance regulator for harmonics regulator number 3", + "12468": "Amplification of the resonance regulator for harmonics regulator number 4", + "12469": "Amplification of the proportional regulator for harmonics regulator number 3", + "12470": "Amplification of the proportional regulator for harmonics regulator number 4", + "12471": "Maximum output voltage of the harmonics regulators", + "12472": "Reduction factor of the fed-back grid voltage", + "12473": "Limit frequency of the band-pass filter for the grid voltage feedback", + "12474": "Integral amplification of the intermediate circuit voltage regulator", + "12475": "Proportional amplification of the intermediate circuit voltage regulator", + "12476": "Proportional amplification of the intermediate circuit symmetry regulation", + "12477": "Weighting of AC offset to DC offset for the intermediate circuit symmetry regulation", + "12478": "AID rate of rise", + "12479": "Reactive power setpoint specification via analog input", + "12480": "Battery maximum active power", + "12481": "Battery minimum active power", + "12482": "SMA SPOT direct marketing active", + "12483": "Manufacturer", + "12484": "Peak Load Shaving - charging limit", + "12485": "Peak Load Shaving - discharging limit", + "12486": "ennexOS framework version", + "12487": "ennexOS diagnostics configuration", + "12488": "Activated", + "12489": "Automatic Ethernet configuration enabled", + "12490": "Currently used IP address", + "12491": "Currently used IP subnet mask", + "12492": "Currently used IP gateway address", + "12493": "Currently used IP DNS server address", + "12494": "Power drawn by PV", + "12495": "Energy PV", + "12496": "Absorbed energy PV", + "12497": "Battery power", + "12498": "Reactive power PV", + "12499": "Maximum battery charging current", + "12500": "Maximum battery discharge current", + "12501": "PFMinQ1-Q4 Limit for all reactive power modes", + "12502": "Activation threshold for active power output", + "12503": "Deactivation threshold for active power output", + "12504": "Activation threshold for active power draw", + "12505": "Deactivation threshold for active power draw", + "12506": "Acoustic signal for event messages", + "12507": "Reactive power setpoint via digital input", + "12508": "Minimum relay switching time", + "12509": "Minimum charge current", + "12510": "Operating mode of charge session", + "12511": "Duration of the charge session", + "12512": "Energy quantity of the charge session", + "12513": "Disconnection after full charge", + "12514": "Standby for charging process to disconnection", + "12515": "Serial number of the charge controller", + "12516": "SusyID of charge controller", + "12517": "Software version of the charge controller", + "12518": "Type of charge controller", + "12519": "Charge energy", + "12520": "Discharge energy", + "12521": "Switching request value", + "12522": "Switching request active", + "12523": "Freezer unit rating", + "12524": "Refrigeration unit rating", + "12525": "Freezer system rating", + "12526": "Refrigeration system rating", + "12527": "Internal temperature", + "12529": "Heartbeat", + "12530": "Hot gas temperature actual value", + "12531": "Hot gas temperature setpoint", + "12532": "Hot gas override limit", + "12533": "Compressor power level", + "12534": "Available underexcited \nreactive power", + "12535": "Available overexcited reactive power", + "12536": "Theoretically available system power", + "12537": "Generation plant availability", + "12538": "External active power reduction", + "12539": "Current active power setpoint", + "12540": "Current reactive power setpoint", + "12541": "Available active power", + "12542": "Available reactive power", + "12543": "Modbus profile version", + "12544": "Error code", + "12545": "Device status", + "12546": "Control mode", + "12547": "Power", + "12548": "Load power", + "12549": "Load reactive power", + "12550": "Load power consumption", + "12551": "Number of active strings", + "12552": "Number of active strings", + "12553": "Number of active battery systems", + "12554": "Power consumption at point of common coupling", + "12555": "Feed in power at point of common coupling", + "12556": "Setpoint reserved power for genset systems", + "12557": "Start request command for genset systems", + "12558": "Total PV active power limitation", + "12559": "Total PV reactive power setpoint", + "12560": "Total battery active power setpoint", + "12561": "Total battery reactive power setpoint", + "12562": "Active power setpoint for battery system", + "12563": "Reactive power setpoint for whole system (PV and BAT)", + "12564": "Voltage setpoint (phase-phase)", + "12565": "Power factor setpoint", + "12566": "Upper active power limitation for whole plant (PV and BAT)", + "12567": "Lower active power limitation for whole plant (PV and BAT)", + "12568": "Deny inverter restart by Hybrid Controller", + "12569": "Current generator performance", + "12570": "Current generator reactive power", + "12571": "Counter state of generator generating meter", + "12572": "PV reactive power currently supplied from grid", + "12573": "Supplied reactive battery power in all phases", + "12574": "Available underexcited reactive power", + "12575": "Available overexcited reactive power", + "12576": "Generation plant availability", + "12577": "AC self-test mode", + "12578": "Parameter change via Sunny Portal", + "12579": "Total energy fed into the grid", + "12580": "Total energy drawn from the grid", + "12581": "Total energy released", + "12582": "Current grid export active power", + "12583": "Current grid export reactive power", + "12584": "Local time of the automatic update", + "12585": "Local start time additional time period, generator request", + "12586": "Local end time additional time period, generator request", + "12587": "Local time of the update", + "12588": "Local start time of selected function", + "12589": "Local end time of selected function", + "12590": "Local start time battery protection mode level", + "12591": "Local end time battery protection mode level", + "12592": "Local start time for PV grid feed-in", + "12593": "Local end time for PV grid feed-in", + "12594": "Local end time additional time period for grid request", + "12595": "Local start time additional time period for grid request", + "12596": "Local time load shedding 1", + "12597": "Local tart time additional time period load shedding 1", + "12598": "Local time load shedding 2", + "12599": "Local start time additional time period load shedding 2", + "12600": "Operation with meter at point of interconnection", + "12601": "Set active power limit for grid-supplied power at point of interconnection", + "12602": "Available power for charging stations", + "12603": "Current power limitation of charging stations", + "12604": "Device serial number", + "12605": "Direct selling enabled", + "12606": "Output current Grid feed-in Line conductor L1 at point of interconnection", + "12607": "Output current Grid feed-in Line conductor L2 at point of interconnection", + "12608": "Output current Grid feed-in Line conductor L3 at point of interconnection", + "12609": "Grid voltage Line conductor L1 against L2 at point of interconnection", + "12610": "Grid voltage Line conductor L2 against L3 at point of interconnection", + "12611": "Grid voltage Line conductor L3 against L1 at point of interconnection", + "12612": "Mean value Grid voltage Line conductor L-N", + "12613": "Mean value Grid voltage Line conductor L-L", + "12614": "Power Grid feed-in Line conductor L1 at point of interconnection", + "12615": "Power Grid feed-in Line conductor L2 at point of interconnection", + "12616": "Power Grid feed-in Line conductor L3 at point of interconnection", + "12617": "Reactive power Grid feed-in Line conductor L1 at point of interconnection", + "12618": "Reactive power Grid feed-in Line conductor L2 at point of interconnection", + "12619": "Reactive power Grid feed-in Line conductor L3 at point of interconnection", + "12620": "Mean value Grid voltage L-N at point of interconnection", + "12621": "Mean value Grid voltage L-L at point of interconnection", + "12622": "Displacement power factor at point of interconnection", + "12623": "Grid frequency at point of interconnection", + "12624": "End of charging process", + "12625": "No translation in Taglist for ID 12625", + "12626": "No translation in Taglist for ID 12626", + "12627": "No translation in Taglist for ID 12627", + "12628": "External cos φ setting, cos φ nominal value in case of active power output", + "12629": "External cos φ setting, excitation type in case of active power output", + "12630": "External cos φ setting, cos φ nominal value in case of active power draw", + "12631": "External cos φ setting, excitation type in case of active power draw", + "12632": "Difference PV system time/system time", + "12633": "Nominal power of connected diesel generators", + "12634": "Activation threshold for string-failure detection", + "12635": "Energy released by string", + "12636": "Total energy released by string", + "12637": "Set offset of energy released by string", + "12638": "SunSpec life sign", + "12639": "Available underexcited reactive power", + "12640": "Available overexcited reactive power", + "12641": "Current charging power", + "12642": "Current discharging power", + "12643": "Digital input", + "12644": "Maximum DC voltage of complete device", + "12645": "Actual value filter for measured frequency value", + "12646": "Setting time actual value filter", + "12647": "Highest measured battery temperature", + "12648": "Lowest measured battery temperature", + "12649": "End-of-charge voltage", + "12650": "End-of-discharge voltage", + "12651": "Maximum charging current", + "12652": "Maximum discharging current", + "12653": "Current battery energy content", + "12654": "Sum of cell voltages", + "12655": "Lowest measured cell voltage", + "12656": "Highest measured cell voltage", + "12657": "Measured value of displacement power factor", + "12658": "Temperature of dew point", + "12659": "Absolute air pressure", + "12660": "Relative air pressure", + "12661": "Standard deviation of wind speed", + "12662": "Standard deviation of wind direction", + "12663": "Quality of wind measurement ", + "12664": "Absolute precipitation amount", + "12665": "Differential precipitation amount", + "12666": "Precipitation intensity", + "12667": "Precipitation type", + "12668": "WMO code", + "12669": "Lightning events", + "12670": "Lightning events (interval)", + "12671": "External temperature sensor", + "12672": "Operating Voltage", + "12673": "Feed-in monitoring at point of interconnection", + "12674": "Percentage feed-in limit at point of interconnection", + "12675": "Feed-in monitoring time at point of interconnection", + "12676": "Manually set active power setpoint in %", + "12677": "Manually set active power setpoint in W", + "12678": "External active power setpoint", + "12679": "External active power setpoint 2", + "12680": "External active power setpoint via SMA SPOT (direct seller)", + "12681": "External active power setpoint via Modbus (direct seller)", + "12682": "External active power setpoint via analog inputs (electric utility company)", + "12683": "External active power setpoint via digital inputs (electric utility company)", + "12684": "External active power setpoint via Modbus (electric utility company)", + "12685": "External reactive power setpoint via digital inputs (electric utility company)", + "12686": "External reactive power setpoint via analog inputs (electric utility company)", + "12687": "External reactive power setpoint via Modbus (electric utility company)", + "12688": "External cos phi setpoint via Modbus (electric utility company)", + "12689": "External cos phi setpoint via analog inputs (electric utility company)", + "12690": "Modbus TCP server addresses", + "12691": "Modbus profile", + "12692": "Status of installation test of meter at point of interconnection", + "12694": "Device temperature", + "12695": "Standard deviation of solar irradiation", + "12696": "Pollution degree Sensor 1", + "12697": "Transmission loss Sensor 1", + "12698": "Pollution degree Sensor 2", + "12699": "Transmission loss Sensor 2", + "12700": "Data model version", + "12701": "Software version", + "12702": "Hardware version", + "12703": "Inclination X-axis", + "12704": "Inclination Y-axis", + "12705": "Year of factory calibration", + "12706": "Month of factory calibration", + "12707": "Day of factory calibration", + "12708": "Maximum active power setpoint (grid supply)", + "12709": "Minimum active power setpoint (grid supply)", + "12710": "Proportional gain of active power controller", + "12711": "Integral gain of active power controller", + "12712": "Proportional gain of reactive power controller", + "12713": "Integral gain of reactive power controller", + "12714": "Proportional gain of voltage regulator", + "12715": "Integral gain of voltage regulator", + "12716": "Voltage setpoint (line-to-line)", + "12717": "Voltage setpoint (line-to-line)", + "12718": "Voltage regulation, setting time of actual value filter", + "12719": "Voltage regulation, actual value filter for measured voltage value", + "12720": "Upper limit of voltage regulator", + "12721": "Lower limit of voltage regulator", + "12722": "Voltage setpoint", + "12723": "DC-Current input", + "12724": "DC-Voltage input", + "12725": "Number of local calibrations initiated", + "12726": "Number of local calibrations succeeded", + "12727": "Calibration flags", + "12728": "Interval of cyclic insulation measurement", + "12729": "Time of cyclic insulation measurement", + "12730": "Standardized measured voltage value for Q(V)", + "12731": "Connection of line conductor L1 of device to line conductor of power distribution", + "12732": "Connection of line conductor L2 of device to line conductor of power distribution", + "12733": "Connection of line conductor L3 of device to line conductor of power distribution", + "12734": "Pollution degree Sensor", + "12735": "Transmission loss Sensor", + "12736": "Position of rotary switch", + "12737": "Starting the I-V curve measurement", + "12738": "IP addresses of battery", + "12739": "Data recording on memory card", + "12740": "Dynamic grid support, voltages to be used for voltage jump detection", + "12741": "Dynamic grid support, delay time for residual current at undervoltage", + "12742": "Dynamic grid support, delay time for residual current at overvoltage", + "12743": "Maximum connection frequency after overfrequency disconnection", + "12744": "Maximum connection frequency after restart", + "12745": "Minimum connection frequency after restart", + "12746": "OCPP server address", + "12747": "OCPP server port", + "12748": "Client ID for registration on OCPP server", + "12749": "User name for registration on the OCPP server", + "12750": "Password for registration on OCPP server", + "12751": "Maximum charging current", + "12752": "Currently available charging points", + "12753": "Maximum available charging points", + "12754": "Charging transactions performed", + "12755": "AFCI switched on", + "12756": "AFCI meter", + "12757": "Reset AFCI meter", + "12758": "Frequency containment reserve (FCR), reference active power for active power offset", + "12759": "Frequency containment reserve (FCR), cut-off point at overfrequency", + "12760": "Frequency containment reserve (FCR), active power offset per Hz at overfrequency", + "12761": "Frequency containment reserve (FCR), threshold for activation at overfrequency", + "12762": "Frequency containment reserve (FCR), cut-off point at underfrequency", + "12763": "Frequency containment reserve (FCR), active power offset per Hz at underfrequency", + "12764": "Frequency containment reserve (FCR), threshold for activation at underfrequency", + "12765": "Frequency containment reserve (FCR), actual value filter for measured frequency value", + "12766": "Frequency containment reserve (FCR), response time of actual value filter for measured frequency value", + "12767": "Frequency containment reserve (FCR), operating reserve related to the available active power", + "12768": "Frequency containment reserve (FCR), filter for available active power", + "12769": "Frequency containment reserve (FCR), response time of filter for available active power", + "12770": "Frequency containment reserve (FCR), limitation of ramp rate of available active power", + "12771": "Frequency containment reserve (FCR), ramp-up rate of available active power", + "12772": "Frequency containment reserve (FCR), ramp-down rate of available active power", + "12773": "Frequency containment reserve (FCR), setpoint filter for active power offset", + "12774": "Frequency containment reserve (FCR), response time of setpoint filter for active power offset", + "12775": "Frequency containment reserve (FCR), limitation of ramp rate of active power offset", + "12776": "Frequency containment reserve (FCR), ramp-up rate of active power offset", + "12777": "Frequency containment reserve (FCR), ramp-down rate of active power offset", + "12778": "Frequency containment reserve (FCR), base active power", + "12779": "Frequency containment reserve (FCR)", + "12780": "Upper reactive power threshold for deactivating the reactive power control", + "12781": "Lower reactive power threshold for deactivating the reactive power control", + "12782": "Upper reactive power threshold for activating the reactive power control", + "12783": "Lower reactive power threshold for activating the reactive power control", + "12787": "Maximum connection voltage after restart", + "12788": "Minimum connection voltage after restart", + "12789": "Operating mode of backup mode of PV inverter", + "12790": "Eingespeiste Leistung", + "12791": "Air flow rate", + "12792": "Volume", + "12793": "Billing calorific value", + "12794": "Conversion factor", + "12795": "Number of active systems", + "12796": "Total nominal power", + "12797": "Available system power", + "12798": "Manual operating mode setting in laboratory mode", + "12799": "Run diagnostic export of the subsystem", + "12800": "Reference of unbalanced load limitation", + "12801": "Available inverter power", + "12802": "Address of MQTT broker", + "12803": "Port of MQTT broker", + "12804": "Connection state of MQTT broker", + "12805": "Voltage monitoring (for reconnection after a disconnection), maximum threshold tripping time", + "12806": "Voltage monitoring (for reconnection after a disconnection), minimum threshold tripping time", + "12807": "Frequency monitoring (for reconnection after a disconnection), maximum threshold tripping time", + "12808": "Frequency monitoring (for reconnection after a disconnection), minimum threshold tripping time", + "12809": "Time until reactivation of reactive power control", + "12811": "Manual input of frequency measuring value at point of interconnection", + "12813": "Manual input of system voltage of line conductor L1", + "12814": "Manual input of system voltage of line conductor L2", + "12815": "Manual input of system voltage of line conductor L3", + "12816": "Manual input of system voltage of line conductors L1 - L2 at point of interconnection", + "12817": "Manual input of system voltage of line conductors L2 - L3 at point of interconnection", + "12818": "Manual input of system voltage of line conductors L2 - L3 at point of interconnection", + "12819": "Active power threshold for activating the reactive power control", + "12820": "Waiting time until deactivation of reactive power control", + "12821": "Dynamic grid support, overvoltage threshold for deactivating the active and reactive power control", + "12822": "Dynamic grid support, overvoltage threshold for deactivating the active and reactive power control", + "12823": "Dynamic grid support, undervoltage threshold for deactivating the active and reactive power control", + "12824": "Dynamic grid support, undervoltage threshold for deactivating the active and reactive power control", + "12825": "Waiting time until reactivation of active and reactive power control", + "12826": "Dynamic grid support, actual value filter for measured voltage value", + "12827": "Dynamic grid support, response time of actual value filter", + "12830": "Permission to access via SMA Service", + "12831": "Access process via SMA Service", + "12834": "Energy DC input A", + "12835": "Energy DC input B", + "12836": "Energy DC input C", + "12837": "Energy DC input D", + "12838": "Energy DC input E", + "12839": "Energy DC input F", + "12840": "Energy DC input G", + "12841": "Energy DC input H", + "12842": "Energy DC input I", + "12843": "Energy DC input J", + "12844": "Energy DC input K", + "12845": "Energy DC input L", + "12846": "Energy DC input M", + "12847": "Energy DC input N", + "12848": "Energy DC input O", + "12849": "Energy DC input P", + "12850": "Q(V), external reference voltage setting in V", + "12851": "Rapid Shutdown Initiator", + "12852": "Warning threshold for critical insulation resistance", + "12853": "Time until equalization charge has been completed in SOC range 1", + "12854": "Time until equalization charge has been completed in SOC range 2", + "12855": "Number of batteries", + "12856": "Fast shutdown via the digital input", + "12857": "Permitted upper battery charge limit", + "12858": "Maximum charge power of the battery. ", + "12859": "Maximum discharge power of the battery. ", + "12860": "Fallback of the limitation of the battery charge.", + "12861": "Fallback of the limitation of the battery discharge.", + "12862": "Current battery state of charge including set reserve range", + "12863": "Current battery capacity including set reserve range", + "12864": "Individual device", + "12864t": "Does the system consist of an individual device with energy meter?", + "12865": "Lower intermediate circuit voltage half", + "12866": "Upper intermediate circuit voltage half", + "12867": "Setpoint for the DC input balancing", + "12868": "Balancing current in the RSC", + "12869": "Integral local frequency (ILF), activation", + "12870": "Integral local frequency (ILF), time until deactivation", + "12871": "Integral local frequency (ILF), overfrequency for activation", + "12872": "Integral local frequency (ILF), overfrequency for deactivation", + "12873": "Integral local frequency (ILF), active power gradient", + "12874": "Integral local frequency (ILF), actual value filter for measured frequency value", + "12875": "Integral local frequency (ILF), response time of actual value filter for measured frequency value", + "12877": "AC current limitation", + "12878": "Integral local frequency (ILF), underfrequency for activation", + "12879": "Integral local frequency (ILF), underfrequency for deactivation", + "12880": "Modbus SunSpec profile version", + "12881": "Integral local frequency (ILF), activation via Modbus", + "12882": "Number of active charging stations", + "12883": "Charging release via app", + "12884": "Manual charging release", + "12885": "Brightness of the LEDs", + "12886": "Integral local frequency (ILF), upper frequency limit prior to active power release", + "12887": "Integral local frequency (ILF), lower frequency limit prior to active power release", + "12888": "Active power limit for activating the reactive power control", + "12889": "Active power limit for deactivating the reactive power control", + "12890": "Waiting time until deactivation of reactive power control", + "12894": "Q(V), response time for setpoint filter", + "12895": "Nominal apparent power VAMaxOut Service", + "12896": "Nominal apparent power VAMaxIn Service", + "12897": "Duty cycle of the fan control", + "12898": "Rated grid voltage", + "12899": "Communication timeout data logging energy meter at the point of interconnection", + "12900": "Peak load limit: discharging limiting value when the state of charge is low", + "12901": "Peak load limit: charging limiting value when the state of charge is low", + "12902": "Peak load limit: state of charge limit for switching the parameter sets", + "12903": "Peak load limit: discharging limiting value when the state of charge is high", + "12904": "Peak load limit: charging limiting value when the state of charge is high", + "12905": "External active power setpoint, ramp rate in fallback behavior", + "12906": "External active power setpoint, limitation of the ramp rate in fallback behavior", + "12907": "Reactive power setpoint, ramp rate in fallback behavior", + "12908": "Reactive power setpoint, limitation of the ramp rate in fallback behavior", + "12909": "Activation of the apparent power limitation", + "12910": "AC voltage of backup supply of connected line conductor L1", + "12911": "AC voltage of backup supply of connected line conductor L2", + "12912": "AC voltage of backup supply of connected line conductor L3", + "12913": "AC current of backup supply of connected line conductor L1", + "12914": "AC current of backup supply of connected line conductor L2", + "12915": "AC current of backup supply of connected line conductor L3", + "12916": "AC power of backup supply of connected line conductor L1", + "12917": "AC power of backup supply of connected line conductor L2", + "12918": "AC power of backup supply of connected line conductor L3", + "12919": "Hysteresis charge/discharge limits switchover STPS-60", + "12920": "Nominal active power WMaxOut – Service", + "12921": "SingleCast IP address 1", + "12922": "SingleCast IP address 2", + "12923": "SingleCast IP address 3", + "12924": "AFCI is allowed", + "12925": "Applied voltages", + "12926": "P(V), low priority", + "12927": "Fallback of the battery control in case of a measuring point failure", + "12928": "Time until aborting the equalization charge for lithium-ion batteries", + "12929": "Hysteresis charge/discharge limits switchover STPS-60", + "12930": "Battery-backup system present", + "12931": "Measured value filtering, actual value filter for measured active power values", + "12932": "Measured value filtering, actual value filter for measured reactive power values", + "12933": "Measure value filtering, actual value filter for measured frequency value", + "12934": "Measure value filtering, actual value filter for measured voltage values", + "12935": "Measured value filtering, response time of actual value filter for measured active power values", + "12936": "Measured value filtering, response time of actual value filter for measured reactive power values", + "12937": "Measure value filtering, response time of actual value filter for measured frequency value", + "12938": "Measure value filtering, response time of actual value filter for measured voltage values", + "12939": "Configuration of the backup type", + "12941": "Status of connection detection", + "12942": "Batteries found", + "12943": "Status of the communication terminal", + "12944": "Analog voltage input", + "12945": "Type of AC control", + "12946": "Delay in switchover to battery-backup operation", + "12947": "Setpoint of the frequency shift of the characteristic curve f(P)", + "12948": "Setpoint of the voltage shift of the characteristic curve V(Q)", + "12949": "DC current setpoint for constant current mode", + "12950": "Standardized ramp rate of active power at the point of interconnection", + "12951": "Ramp rate of active power at the point of interconnection", + "12952": "I(V), voltage value", + "12953": "External reactive power setpoint, ramp rate in fallback behavior", + "12954": "External reactive power setpoint 2, ramp rate in fallback behavior", + "12955": "External reactive power setpoint, activation of the ramp rate in fallback behavior", + "12956": "External reactive power setpoint 2, activation of the ramp rate in fallback behavior", + "12957": "External active power setpoint, ramp rate in fallback behavior", + "12958": "External active power setpoint 2, ramp rate in fallback behavior", + "12959": "External active power setpoint, activation of the ramp rate in fallback behavior", + "12960": "External active power setpoint 2, activation of the ramp rate in fallback behavior", + "12961": "Messintervall des Energiezählers", + "12962": "I(V), current value", + "12965": "Aktivierung der Gradienten zur Begrenzung der Wirkleistungsänderung am Netzanschlußpunkt", + "12966": "Gradient zur Begrenzung der Wirkleistungssteigerung am Netzanschlußpunkt", + "12967": "Gradient zur Begrenzung der Wirkleistungsänderung am Netzanschlußpunkt", + "12968": "Active power limitation P, active power configuration", + "12969": "Status des Ersatzstromrelais", + "12970": "Datenaufzeichnung", + "12971": "Active power setpoint that is sent by the system controller to all inverters in stop state", + "12972": "Activation of fast reserve for storage systems (FRS)", + "12973": "Current target battery voltage", + "12974": "Call interval for the control at the system level", + "12975": "Setpoint of the battery power", + "12976": "Positive sequence voltage for stopping the phase-locked loop", + "12977": "Positive sequence voltage for renewed activation of the phase control loop", + "12978": "Waiting time for renewed activation of the phase control loop", + "12979": "Frequency setpoint for stopping the phase control loop", + "12980": "AC voltage of line conductor L1 ", + "12981": "AC voltage of line conductor L2", + "12982": "AC voltage of line conductor L3", + "12983": "Current of line conductor L1", + "12984": "Current of line conductor L2", + "12985": "Current of line conductor L3", + "12986": "Power of line conductor 1", + "12987": "Power of line conductor 2", + "12988": "Power of line conductor 3", + "12989": "individual setpoint distribution", + "12990": "External active power setting, fallback value of nominal minimum active power", + "12991": "External active power setting, fallback value of nominal maximum active power", + "12992": "External active power setting 2, fallback value of nominal minimum active power", + "12993": "External active power setting 2, fallback value of nominal maximum active power", + "12994": "Infoflags", + "12995": "Reserve time of FRS", + "12996": "Active characteristic curve duration of FRS", + "12997": "Duration for the change to 0 W after expiry of the active characteristic curve duration of FRS", + "12998": "Duration for the change to 0 W after expiry of the reserve time of FRS", + "12999": "Actual value filter for measured frequency value (FRS)", + "13000": "Setting time for actual value filter (FRS)", + "13001": "license", + "13002": "Number of switchovers in the redundancy system", + "13003": "Switchovers in the redundancy system, acknowledge errors", + "13004": "Role of the device in the redundancy system", + "13005": "azimuth position night", + "13006": "Flight recorder selection", + "13007": "Upper battery charge limit of the plant", + "13008": "Lower battery discharge limit of the plant", + "13009": "Availability Fast reserve for storage unit (FRS)", + "13010": "Plant nominal capacity", + "13011": "Free capacity of the plant", + "13012": "Accessible charge of the plant", + "13013": "sensitivity of end switch", + "13014": "Overdrive", + "19000": "STP 24.8-JP-50", + "19001": "STP 20.0-JP-50", + "19002": "STP 12.4-JP-50", + "19003": "STP 9.9-JP-50", + "19004": "EDMM-10.A", + "19005": "Sunny Central Storage 3450-UP", + "19006": "Sunny Central Storage 3450-UP-US", + "19007": "Sunny Central Storage 3600-UP", + "19008": "Sunny Central Storage 3600-UP-US", + "19009": "Sunny Central Storage 3800-UP", + "19010": "Sunny Central Storage 3800-UP-US", + "19011": "Sunny Central Storage 3950-UP", + "19012": "Sunny Central Storage 3950-UP-US", + "19013": "Sunny Central Storage 2750-UP", + "19014": "Sunny Central Storage 2750-UP-US", + "19015": "SMA EV CHARGER 7.4", + "19016": "SMA EV CHARGER 22", + "19017": "Sunny Island 50", + "19018": "Sunny Island 30", + "19019": "Sunny Island 60 US480", + "19020": "Sunny Island 40 US480", + "19021": "Sunny Island 27 US208", + "19022": "Sunny Highpower Storage 150", + "19023": "Sunny Highpower Storage 100", + "19024": "Sunny Highpower Storage 150-US", + "19025": "Sunny Highpower Storage 125-US", + "19026": "Sunny Highpower Storage 143-JP", + "19027": "Sunny Highpower Storage 100-JP", + "19028": "SMA DATA MANAGER M Lite", + "19029": "VBPC455GW3LH", + "19033": "SBG4-2A", + "19034": "SBT3-12A", + "19035": "Sunny Tripower Storage 50", + "19036": "Sunny Tripower Storage 30", + "19037": "Sunny Tripower Storage 60 US480", + "19038": "Sunny Tripower Storage 40 US480", + "19039": "Sunny Tripower Storage 27 US208", + "19040": "Sunny Tripower Storage 50 JP", + "19041": "FRITZ!DECT 301", + "19042": "Sunny Central Storage 2900-US 1100V", + "19043": "SmartSolar Energy meter RTU", + "19044": "Tesvolt_TS-HV-70", + "19045": "Battery-Box Premium HVM", + "19046": "Battery-Box Premium HVS", + "19047": "STP 110-60", + "19048": "SUNNY TRIPOWER 5.0 SE", + "19049": "SUNNY TRIPOWER 6.0 SE", + "19050": "SUNNY TRIPOWER 8.0 SE", + "19051": "SUNNY TRIPOWER 10.0 SE", + "19052": "Modbus-PV-WR", + "19053": "Modbus-IO-Modul", + "19054": "Sunny Central 2660-UP", + "19055": "Sunny Central 2660-UP-US", + "19056": "Sunny Central 2800-UP", + "19057": "Sunny Central 2800-UP-US", + "19058": "Sunny Central 2930-UP", + "19059": "Sunny Central 2930-UP-US", + "19060": "Sunny Central 3060-UP", + "19061": "Sunny Central 3060-UP-US", + "19062": "Sunny Central 2750-UP-US", + "19063": "Sunny Central Storage 2300-UP-XT", + "19064": "Sunny Central Storage 2300-UP-XT-US", + "19065": "Sunny Central Storage 2400-UP-XT", + "19066": "Sunny Central Storage 2400-UP-XT-US", + "19067": "Sunny Central Storage 2530-UP-XT", + "19068": "Sunny Central Storage 2530-UP-XT-US", + "19069": "Sunny Central Storage 2630-UP-XT", + "19070": "Sunny Central Storage 2630-UP-XT-US", + "19071": "Modbus-Hybrid-WR", + "19072": "SBS4.0-JP-10", + "19073": "Battery-Box Premium HVL", + "19074": "Battlecat PV ", + "19075": "Battlecat Hybrid", + "19076": "Battlecat Battery", + "19077": "FRITZ!DECT 500", + "19078": "Sunny Boy 7.7-US", + "19079": "Sunny Boy 7.0-US", + "19080": "Sunny Boy 6.0", + "19081": "Sunny Boy 5.8-US", + "19082": "Sunny Boy 4.8-US", + "19083": "Sunny Boy 3.8-US", + "19084": "Sunny Boy Smart Energy 7.7-US", + "19085": "Sunny Boy Smart Energy 6.0", + "19086": "Sunny Boy Smart Energy 5.8-US", + "19087": "Sunny Boy Smart Energy 4.8-US", + "19088": "Sunny Boy Smart Energy 3.8-US", + "19089": "Sunny Boy Storage 5.8-US", + "19090": "Sunny Boy Storage 5.0", + "19091": "SBT7-26", + "19092": "SHP 172-21", + "19093": "SHP 180-21", + "19094": "SHP 165-US-21", + "19095": "SHP 172-US-21", + "19096": "SHP FLEX-US-21", + "19097": "SHP 100-21", + "19098": "SHP 150-21", + "19099": "SHP 125-US-21", + "19100": "SHP 150-US-21", + "19101": "SHP 100-JP-21", + "19102": "SHP 143-JP-21", + "19103": "Sunny Boy Smart Energy 8.0", + "19104": "Sunny Boy Smart Energy 10.0", + "19105": "Sunny Boy Smart Energy 8.0-US", + "19106": "Sunny Boy Smart Energy 10.0-US", + "19107": "SSP 100-2X", + "19108": "SSP 150-2X", + "19109": "SSP 125-US-2X", + "19110": "SSP 150-US-2X", + "19111": "SSP 100-JP-2X", + "19112": "SSP 150-JP-2X", + "19113": "SSP 143-JP-2X", + "19114": "SSP 172-2X", + "19115": "SSP 180-2X", + "19116": "SSP 165-US-2X", + "19117": "SSP 172-US-2X", + "19118": "SSP FLEX-US-2X", + "19119": "SBT7-25", + "19120": "SBT3-12", + "19121": "Integrated multifunction relay", + "19122": "Electrolyzer Converter UP-HV", + "19123": "Electrolyzer Converter UP-HV-US", + "19124": "Electrolyzer Converter UP-LV", + "19125": "Electrolyzer Converter UP-LV-US", + "30000": "No translation in Taglist for ID 30000", + "30001": "Enable conditions in normal mode", + "30002": "Enable behavior", + "30003": "Operating status control", + "30004": "Function prioritization", + "30005": "Active power gradient, normal mode", + "30006": "Grid security management", + "30007": "Active Power Export Limitation", + "30008": "Voltage-dependent active power adjustment P(V)", + "30009": "Primary regulating power", + "30010": "Selection of reactive power mode", + "30011": "Reactive power setting", + "30012": "cos φ specification", + "30013": "Reactive power/active power char. curve Q(P)", + "30014": "React. power/volt. char. Q(V)", + "30015": "cos φ / reactive power char. curve cos φ(P)", + "30016": "cos φ / voltage curve cos φ(V)", + "30017": "Unbalances", + "30018": "Voltage protection", + "30019": "Dynamic grid support", + "30020": "Frequency protection", + "30021": "P(f)", + "30022": "Islanding detection", + "30023": "Country datasets and factory setting", + "30024": "Nameplate Information", + "30025": "Configuration Information", + "30026": "PV Insulation Monitoring Riso", + "30027": "Arc Fault Current Interruption", + "30028": "Inverter Control Interface", + "30029": "Commissioning phase (incl. Declaration of Conformity)", + "39999": "No translation in Taglist for ID 39999", + "130001": "Grid management services alarm", + "130002": "The alarm informs you of grid management service events.", + "130003": "Wait time after first occurance: {{0}} minutes", + "130004": "Active power limitation alarm", + "130005": "The alarm informs you of active power limitations in your system.", + "130006": "Only issues an alert when setpoint specification is for longer than: {{0}} minutes", + "130007": "Only issues an alert when the setpoint specification is below: {{0}} %", + "130008": "Performance ratio alarm", + "130009": "The alarm informs you when the performance ratio is not within tolerance.", + "130010": "Only issues an altert if the performance ratio falls below: {{0}} %", + "130011": "Event report", + "130012": "The event report informs you of all events occurring in your system.", + "130013": "Please select the types of event that should be included into the report: {{0}}", + "130014": "Event categories that should be included: {{0}}", + "130015": "Number of inverters in state Run", + "130016": "Number of inverters in state Wait", + "130017": "Number of inverters in state Stop", + "130018": "Number of inverters in state Q on Demand", + "200002": "Purchased electricity", + "200003": "Grid feed-in", + "200004": "The specific yield of the device is {{0}} kWh/kWp, this deviating from the mean value {{2}} kWh/kWp by {{1}} %. The configured threshold is {{3}} %.", + "200005": "The performance ratio of the system {{0}} on {{1}} was {{4}}, outside of the tolerance range of {{2}} to {{3}}.", + "200006": "Inverter comparison alarm", + "200007": "The alarm informs you of inverter comparison yield warnings.", + "200008": "State of inverter comparison", + "200009": "Current input", + "200010": "Debug", + "200011": "Device state", + "200012": "Temperature input", + "200013": "Only reports with events", + "200014": "IO system", + "200015": "Monitoring and control", + "200016": "Sensor technology", + "200017": "Module inverters", + "200018": "Central inverters", + "200019": "DC technology", + "200020": "Smart module technology", + "200021": "New user '{{0}}' created by {{1}}.", + "200022": "User '{{0}}' was deleted by {{1}}.", + "200023": "User '{{0}}' was edited by {{1}}.", + "200024": "Parameter change for parameter {{0}} initiated by user {{1}} via {{2}} from value {{3}} to {{4}}.", + "200025": "DataManager M", + "200026": "Portal", + "200027": "Specific AC power", + "200028": "Change of '{{0}}' initiated by '{{1}}' from '{{2}}' to '{{3}}' .", + "200029": "Power feed-in", + "200030": "Power consumption", + "200031": "Configuration of notification in the event of an invalid specification", + "200032": "Info report", + "200033": "The info report provides you with regular information on the yields of your system.", + "200040": "Mr.", + "200041": "Ms.", + "200042": "User role", + "200043": "Administrator", + "200044": "Administrator", + "200045": "Reactive power setpoint via digital input", + "200046": "Internal reactive power setpoint", + "200047": "Fallback in the event of invalid setpoint", + "200048": "Constant setpoint", + "200049": "Message in the event of invalid values", + "200050": "Yield {{0}} kWh in ComparisonGroup {{1}} at {{2}} (Specific Yield {{3}} kWh/kWp).", + "200051": "Communication fault", + "200052": "Send reports: {{0}}", + "200053": "Satellite Sensor", + "200054": "The administrator account has been reset", + "200056": "Alarm communication monitoring", + "200057": "The alarm notifies you about communication faults of your communication devices", + "200058": "Communication failure: Contact to device '{{0}}' with serial number {{1}} is overdue. Last contact: {{2}}", + "200059": "Contact to device '{{0}}' with serial number {{1}} is restored, Faulted from: {{2}} until {{3}}", + "200060": "Device {{0}} was deleted by {{1}}", + "200061": "New device {{0}}/{{1}} registered", + "200062": "Reminder: Communication failure still exists to the device '{{0}}' with the serial number {{1}}. Last contact: {{2}}", + "200063": "Current output", + "200064": "Unidirectional energy meter for feed in", + "200065": "Bidirectional energy meter with two power channels", + "200066": "Voltage output", + "200067": "Active and reactive power", + "200068": "Active power and voltage-dependent reactive power", + "200070": "Unidirectional energy meter for consumption", + "200071": "Bidirectional energy meter with one channel", + "200072": "A communication error to device {{0}} has occurred", + "200073": "The device {{0}} notifies the fault {{1}}", + "200074": "Current input", + "200075": "Current output", + "200076": "Voltage output", + "200077": "Current input", + "200078": "Current output", + "200079": "Voltage output", + "200080": "Charging Station", + "200081": "Percent", + "200083": "Insolation", + "200084": "Speed", + "200085": "Temperature Input", + "200086": "Gas power", + "200087": "Gas energy", + "200088": "Gas volume flow", + "200089": "Gas volume", + "200090": "Gas calorific billing value", + "200091": "Gas correction factor", + "200092": "Chp power", + "200093": "Chp energy", + "200094": "Hydro power plant power", + "200095": "Hydro power plant energy", + "200096": "Charging station power", + "200097": "Charging station meter reading", + "200098": "Status of connected vehicle", + "200099": "Charging session status", + "200100": "Charging session costs", + "200101": "Charging session energy", + "200102": "Consumption light", + "200103": "Power light", + "200104": "Consumption home appliances", + "200105": "Power home appliances", + "200106": "Warning", + "200107": "Consumption heating element and hot water", + "200108": "Power heating element and hot water", + "200109": "Consumption cooling", + "200110": "Power cooling", + "200111": "not connected", + "200112": "in sleep mode", + "200113": "Charging session active", + "200114": "Charging target reached", + "200115": "Error", + "200116": "Power Generator", + "200118": "Hydroelectric power plant", + "200119": "Electricity meter", + "200120": "Gas meter", + "200121": "Combined heat and power", + "200122": "Average yield expectations", + "200123": "Detailed report", + "200124": "The detailed report informates you with detailed device information of your system.", + "200125": "Sort by: {{0}}", + "200126": "Operator", + "200127": "Alarm SMA Smart Connected", + "200128": "SMA Smart Connected provides free automatic monitoring and analysis of your inverter.", + "200129": "kn", + "200130": "Specific yield", + "200131": "Average yield expectations", + "200132": "Specific yield", + "200133": "Percent", + "200134": "Power", + "200135": "Digital group output", + "200136": "Setpoint for displacement power factor cos phi via analog input", + "200137": "Excitation type for displacement power factor cos phi via analog input", + "200138": "Digital group input", + "200140": "Consumption air-conditioning", + "200141": "Power air-conditioning", + "200142": "Consumption industrial loads", + "200143": "Power industrial loads", + "200144": "Consumption other loads", + "200145": "Power other loads", + "200146": "Consumption", + "200147": "Consumption", + "210000": "Feed-in energy at the grid connection point", + "210001": "Energy drawn at the grid connection point", + "210002": "System active power (drawn) at grid connection point", + "210004": "Digital output group 1", + "210005": "Temperature input |d0|", + "210006": "Grid voltage on line conductor L1 at grid connection point", + "210007": "Grid voltage on line conductor L2 at grid connection point", + "210008": "Grid voltage line conductor L3 at grid connection point", + "210009": "Displacement power factor at grid connection point", + "210010": "Counter reading of PV feed-in counter", + "210011": "Counter reading of battery feed-in counter", + "210012": "PV feed-in power", + "210013": "Battery feed-in power", + "210014": "Counter reading of power drawn by battery counter", + "210015": "Power drawn by battery", + "210016": "PV power", + "210017": "Active power limitation setpoint", + "210018": "Active power limitation set value", + "210019": "Power drawn from grid", + "210020": "Power fed into grid", + "210021": "Reactive power limitation set value", + "210022": "Reactive power limitation setpoint", + "210023": "Percent", + "210024": "Insolation", + "210025": "Speed", + "210026": "Digital output", + "210027": "Digital output", + "210028": "Temperature", + "210029": "Temperature", + "210035": "System insolation on external sensor", + "210036": "System wind speed", + "210037": "System ambient temperature", + "210038": "System module temperature", + "210039": "fuel power", + "210040": "External generator feed-in counter", + "210041": "Feed-in power of external generator", + "210042": "Chp power", + "210043": "Chp energy", + "210044": "Hydro power plant power", + "210045": "Hydro power plant energy", + "210046": "Gas power", + "210047": "Gas energy", + "210048": "Gas volume flow", + "210049": "Gas volume", + "210050": "Gas calorific billing value", + "210051": "Gas correction factor", + "210052": "Current speedwire IP address", + "210053": "Current speedwire subnet mask", + "210054": "Current speedwire gateway address", + "210055": "Current speedwire DNS server address", + "210056": "Currently used IP address for Wi-Fi", + "210057": "Currently used IP subnet mask for Wi-Fi", + "210058": "Currently used IP gateway address for Wi-Fi", + "210059": "Diesel energy", + "210060": "Consumption light", + "210061": "Power light", + "210062": "Consumption home appliances", + "210063": "Power home appliances", + "210064": "Consumption heating element and hot water", + "210065": "Power heating element and hot water", + "210066": "Consumption cooling", + "210067": "Power cooling", + "210068": "Consumption air-conditioning", + "210069": "Power air-conditioning", + "210070": "Consumption industrial loads", + "210071": "Power industrial loads", + "210072": "Consumption other loads", + "210073": "Power other loads", + "210074": "Consumption", + "210075": "Consumption", + "210076": "Counter reading of power drawn counter", + "16777213": "Information not available", + "16777216": "Transmission attempt to", + "16777217": "Setpoint", + "16777218": "Actual", + "16777219": "Active power", + "9999001": "Other", + "9999002": "Tigo Cloud Connect Advanced (CCA)", + "9999003": "SMA Rooftop Communication Kit-P2", + "9999004": "Other, i.e. 3rd party rapid shutdown device", + "9999005": "Grid measurements of energy meter", + "9999006": "Grid measurements of inverter", + "bAddDevice": "Add a device to the system", + "bBarDhcpServer_Ja": "Yes", + "bBarDhcpServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "bBarDhcpServer_Nein": "No", + "bBarDhcpServer_Proxy-Serververwenden": "Use proxy server", + "bBarEventExport_AlleEreignisse": "All events", + "bBarEventExport_GefilterteEreignisse": "Filtered events", + "bBarPower_Gesamt": "Total", + "bBarPower_Jahr": "Year", + "bBarPower_Monat": "Month", + "bBarPower_Tag": "Day", + "bBarProxyServer_KeinenProxy-Serververwenden": "Do not use proxy server", + "bBarProxyServer_Proxy-Serververwenden": "Use proxy server", + "bBarWlanConfig_GefundeneWLAN-Netzwerkeanzeigen": "Show WLAN networks found", + "bBarWlanConfig_WLAN-Netzwerkeinstellungenmanuellvornehmen": "Configure WLAN network settings manually", + "bBarWlanConfig_WPSfürWLAN-Netzwerk": "WPS for WLAN network", + "bCancel": "Cancel", + "bChangeDeviceName": "Change device names", + "bClose": "Close", + "bConnectToWLAN": "Connect to this WLAN", + "bCopy": "Copy", + "bDeactivateWlan": "Deactivate now", + "bDiscard": "Discard changes", + "bDownload": "Download", + "bEmcChrStart": "Emergency charge", + "bEmcChrStop": "Stop emergency charge", + "bEnergyMeterExchange": "Use an energy meter in the system", + "bEnergyMeterRemove": "Remove energy meter from the PV system", + "bEventExport": "Export events", + "bEventFilterReset": "Reset time filter", + "bEventfilterApply": "Apply time filter", + "bExport": "export", + "bExportSummary": "Export the summary", + "bFindAllTigoModuls": "Find and Save", + "bFwUpdate": "Update the firmware", + "bFwUpdateStart": "Update the firmware", + "bGenerate": "Generating", + "bImportFile": "Import file", + "bJetTestBoxConnect": "Connect", + "bJetTestBoxDisconnect": "Disconnect", + "bJetTestOfflineMode": "JET-Offline Mode", + "bJetTestOverFrequencyRelay": "Over frequency relay", + "bJetTestOverVoltageRelay": "Over voltage relay", + "bJetTestUnderFrequencyRelay": "Under frequency relay", + "bJetTestUnderVoltageRelay": "Under voltage relay", + "bJetTestVoltageRiseSuppression": "Voltage rise suppression", + "bJumpToTop": "To the start of the page", + "bLoad50Hz": "50Hz default values", + "bLoad60Hz": "60Hz default values", + "bLoadConfigFromFile": "Adopt the configuration from a file", + "bLoggerExport": "Export data", + "bLogin": "Login", + "bLogout": "Logout", + "bNewBatteryBackupCfg": "Detect new configuration", + "bNext": "Next", + "bParameterEdit": "Edit parameters", + "bParameterExport": "Export all parameters", + "bPreviousStep": "Back", + "bProfileNameAdd": "Add to list.", + "bProfileNameCopy": "COPY", + "bProfileNameSave": "Save performance profile.", + "bQCGNewBat": "New battery configuration", + "bQCGNewSys": "New system configuration", + "bRemoveDevice": "Delete the device", + "bReplaceDevice": "Add as replacement device", + "bResetParaCounter": "Reset operation inhibition", + "bReversePowerRelay": "Reverse power relay test", + "bRunSelftest": "Start the self-test", + "bSave": "Save", + "bSaveAllSettings": "Save all", + "bSaveAndNext": "Save and next", + "bSaveConfigToFile": "Save configuration to a file", + "bSaveLogin": "Save and log in", + "bSaveSelftestProtocol": "Save the self-test protocol", + "bSearchFile": "Browse...", + "bSkipAllChanges": "Discard all", + "bSkipConf": "Skip configuration", + "bSkipSettings": "Discard changes", + "bSpotValuesExport": "Export all instantaneous values", + "bStartBatteryQCG": "Start the new battery configuration", + "bStartEmgChargeQCG": "Start the battery emergency charge operation", + "bStartMeasurement": "Start new measurement", + "bStartSystemQCG": "Start the new system configuration", + "bStartTigoTests": "Start Gateway test", + "bTestStart": "Start test", + "bToggleBlindleistung_Aus": "Off", + "bToggleBlindleistung_Ein": "On", + "bToggleOnOff_Aus": "Off", + "bToggleOnOff_Ein": "On", + "bUploadSslCert": "Import proxy certificate", + "bWlanConnect": "Connect to WLAN", + "bWpsActivate": "Activate WPS", + "cAutoDaylightSavingDeactivated": "Deactivate automatic change from daylight saving time to standard time", + "cDoNotShowDialogAgain": "Do not show this dialog again.", + "cError": "Error", + "cInformation": "Information", + "cWarning": "Warning", + "eCookiesDeactivated": "Saving cookies is deactivated in the settings of your web browser.
For the correct display of the user interface, cookies are, however, required.
  • Activate the saving of cookies in the settings of your web browser and then reload the user interface.
", + "eCyberSecuritySecret": "Cyber security information: to increase the level of protection, create product key", + "eEventExportNoSelection": "Select the events to be exported.", + "eEventFilterDateRangeInvalid": "The end date is before the start date.", + "eEventFilterEndDateInvalid": "Enter a valid end date.", + "eEventFilterIdInvalid": "Only numbers are valid for event IDs.", + "eEventFilterIdInvalidMax": "Invalid event ID", + "eEventFilterIdInvalidMin": "Only positive numbers are valid for event IDs.", + "eEventFilterStartDateInvalid": "Enter a valid start date.", + "eFallbackTimeout": "The available time has expired", + "eInfoSaveSecret": "Please save the product key now", + "eInstallPasswordNotChangedYetInstaller": "No password has been assigned for user group Installer.", + "eInstallPasswordNotChangedYetUser": "No password has been assigned for user group User.", + "eJavaScriptDeactivated": "JavaScript is deactivated in the settings of your web browser.
For the correct display of the user interface, JavaScript is, however, required.
  • Activate JavaScript in the settings of your web browser and then reload the user interface.
    A description how to activate JavaScript in your web browser can be found here: here.
", + "eLoginFailed": "Login failed", + "eMaximumCountGGLoginTrysAccomplished": "An incorrect SMA Grid Guard code has been repeatedly entered. For security reasons, the SMA Grid Guard login is temporarily blocked.

Wait {{time}} and then try again.", + "eMaximumCountLoginTrysAccomplished": "Your entry was wrong again. For security reasons, your account has been temporarily blocked.

Wait {{time}} and then try again.", + "eMaximumFallbackMustWait": "Further execution of this process has been blocked.

Either you repeatedly made an incorrect entry, or the required proof of presence was repeatedly unsuccessful. For safety reasons, further execution of this process has been temporarily blocked.
Wait {{time}} and then try again.", + "eMaximumUsersLoggedIn": "The maximum number of users is already logged in on this device.
  1. Please wait until one of the users has logged out and try again later.
", + "eNewPassError": "The password does not comply with the password guidelines.", + "eParamMaxSizeExceeded": "The maximum permissible number of characters is exceeded.
Please correct your entry.", + "ePassDoNotMatch": "The passwords do not match.", + "ePassRepeatRequired": "The field \"Repeat password\" is mandatory.", + "ePassRequired": "The field \"Password\" is mandatory.", + "ePasswortFalsch": "The password you entered is incorrect.", + "ePasswortFehlt": "Enter the password of the selected user group.", + "ePskChange": "From now on, only the device-specific WLAN password for direct WLAN connections is valid (see WPA2-PSK on the device type label).", + "ePskChangeAutomatic": "The standard WLAN password of the device for direct WLAN connection is only valid for a limited period of time.", + "ePskChangeAutomaticConditions": "After the first ten operating hours, the initial configuration, or activating the option Do not show this dialog again on the bottom of this page, only the device-specific WLAN password is valid (see WPA2-PSK on the device type label).", + "ePskChangeAutomaticCountdown": "The WLAN password will be changed after {{time}} at the latest.", + "eUsergroupFehlt": "Select a user group.", + "hAddEnergyMeter": "Add a detected SMA Energy Meter to the system. The SMA Energy Meter is used as purchased electricity meter and feed-in meter.", + "hAnalogInput": "Temperature inputs and analog input", + "hBatteryFound": "Identified battery types", + "hBatteryNewBackupHelp": "Battery-backup system recognized", + "hBatteryNewCfgHelp": "New battery configuration", + "hBatteryReversePowerRelayHelp": "Reverse Power Relay", + "hBatteryTestHelp": "Battery functional test", + "hBatteryTyp": "Selectable battery types", + "hClusterSettingsHelp": "Select whether the system is single-phase or three-phase and make the necessary settings depending on the system.

Single-phase system
Select the Single-phase type, and in systems with stand-alone mode, set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to three inverters (single cluster)
Select the Three-phase type and the SingleCluster system. Set whether grid-forming generators are present or not.
If grid-forming generators are present, set the nominal current and/or maximum current.

Three-phase system with up to twelve clusters (multi cluster)
Select the Three-phase type and the MultiCluster system and select the cluster type in the multicluster that applies to this inverter. For this, you must select the cluster in which this inverter is contained.", + "hClusterUsedSlavesHelp": "All detected battery inverters of a cluster are displayed here. Assign each device the phase to which it is connected.", + "hConfManual": "With this configuration option, you can configure all parameters of the device manually.", + "hConfManualHeading": "Manual Configuration", + "hConfSetupWizard": "With this configuration option, you can configure the device with the help of the installation assistant. The installation assistant guides you step-by-step through the configuration process.", + "hConfSetupWizardHeading": "Configuration with Installation Assistant", + "hConfigNAP": "Grid-connection point configuration", + "hConfigureCellular": "If you would like to use Cellular, select the option Yes under Cellular.
The cellular connection allows the direct data transmission between the inverter and the internet portal Sunny Portal via the cellular network as an alternative to data transmission via Ethernet or WLAN. The cellular connection only transmits a limited amount of data to Sunny Portal. A local network connection is not absolutely necessary, but it is recommended to be able to view all information regarding the system in Sunny Portal.
Note the term of the mobile data plan. All costs are covered within the term.", + "hConfigureEthernet": "You can either obtain the network settings automatically from a DHCP server or configure them manually. Select the desired option under Automatic configuration switched on.

If you want to configure the network settings manually, you have to enter the required network data additionally.

Direct Ethernet Connection
If you want to establish a direct connection to the device via a network cable, you need to activate the automatic configuration of the Ethernet interface. Select the option Yes under Automatic configuration switched on.", + "hConfigureEthernetProxy": "If there is a proxy server in your local network, you must make additional proxy settings. The proxy settings are needed for the connection to Sunny Portal and for firmware updates of the device.
Select the option Use proxy server in Proxy settings and enter the required data of your proxy server.", + "hConfigureIrradiationSensor": "
  1. Connect the irradiation sensor to the analog input of the SMA Sensor Module (refer to the Module installation manual).
  2. Configure the characteristic curve depending on the connected irradiation sensor (refer to the irradiation sensor manual).
", + "hConfigureModbus": "You can enable the Modbus TCP server and set the TCP port and the Unit ID.
If you would like to use Modbus via UDP, you must turn on the UDP server via Device parameters and set the UDP port.
", + "hConfigureModbusProfil": "Once you have enabled the Modbus TCP server, you can use the device-specific SMA Modbus profile and the standardized SunSpec Modbus profile.
Information on the device-specific SMA Modbus profiles can be found on the product pages or Modbus page at www.SMA-Solar.com.
", + "hConfigureNetwork": "You can integrate the product, depending on its features, either into your local network via Ethernet using a cable or wireless via WLAN. Select the respective option under Type of communication.", + "hConfigureSunSpec": "If you would like to use the SunSpec Modbus profile, you can choose between two profile versions:
-\tCompatibility mode - is optimized for the support of existing systems.
-\tStandard (recommended) - is optimized for SunSpec compliance and is continuously improved and extended.
For further information on the SunSpec Modbus profile, see the Technical Information 'SunSpec Modbus' at www.SMA-Solar.com.
", + "hConfigureTemperatureSensor": "
  1. Connect the temperature sensor to the desired temperature input of the SMA Sensor Module (refer to the Module installation manual).
The type of temperature sensor is automatically detected upon successful installation. No configuration is necessary.", + "hConfigureWlan": "If you want to use WLAN, you have the following options:
  • Showing WLAN Networks Found
    Via the button Settings, you can make the corresponding network settings to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • Configuring WLAN Network Settings Manually
    Here you can enter the data of your WLAN network manually to connect the device with the WLAN network. You can either obtain the network settings automatically from your DHCP server (router) or configure them manually.
  • WPS for WLAN network
    In order to connect the device via WPS automatically to your WLAN network, you first have to activate WPS in your WLAN router (refer to the WLAN router manual). Then activate the WPS function of the device by selecting [Activate WPS] on the user interface.


If required, you can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "hContentDatenlogger": "The inverter must be connected to the SMA Sunny Home Manager or SMA Data Manager. The data logger transmits its time to the inverter.", + "hContentEnergyMeter": "Select the energy meter used in the system on this page. After selecting the energy meter, the inverter will detect the serial number and the state of the energy meter automatically.

Select the entry SMA Energy Meter when the inverter is connected to an SMA Energy Meter. After the selection, all available energy meters are shown in a table. Add the requested energy meter to the system by selecting Settings and Use energy meter in the system for the requested energy meter.
Select the entry SMA Revenue Grade Meter when the inverter is equipped with an SMA Revenue Grade Meter Kit (e.g. with inverters of the type SBx.x-1TP-US-40).
Select the entry WattNode Modbus RTU when the inverter is connected to a WattNode Modbus energy meter.
Select the entry SunSpec Modbus RTU when the inverter is connected to an energy meter that communicates with the inverter via SunSpec Modbus RTU protocol.

You must adjust further settings depending on the energy meter.", + "hContentHelpBackupDelay": "The value Change-over delay to the battery-backup operation corresponds to the time delay after which the inverter switches to battery-backup operation following a power outage.", + "hContentHelpBackupLink": "A battery-backup system has been recognized. Further settings must be made in the \"battery-backup system\" step. Wait until all the connected batteries are recognized and listed in the list.", + "hContentHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery.\" The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "hContentHelpIsland": "When selecting a lead-acid battery, you have to enter the nominal capacity of the battery for a ten-hour electric discharge (C10). Refer to the lead-acid battery documentation for the battery capacity in relation to discharge time.", + "hContentHelpKiteJPTest": "The battery functional test comprises the tests: Battery charging and battery discharging. The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.", + "hContentHelpKiteNewCfg": "Selecting this button is only necessary when changing the system.

Select this button when a battery is exchanged or a new battery is added, and when the system is extended to a battery-backup system with an automatic transfer switch.", + "hContentHelpKiteTest": "The battery functional test comprises the tests: Battery charging and battery discharging. The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE! Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
Make sure that each battery power cable is correctly connected to the inverter. Make also sure that only one or several batteries used as a DC source are connected to the inverter.", + "hContentHelpReversePowerRelay": "The reverse power play test is a functional test in which the battery is charged and discharged for a short time.
The measured values are compared with the energy meter.
The functional test must be carried out once during commissioning", + "hContentManuell": "The manual time setting is overwritten as soon as a data logger is connected to the inverter.", + "hContentServiceTime": "Please note: If Permission for SMA Service Access is set to No when service access is required, this will increase the response times of the SMA Service.
The No setting provides additional, increased security for your device against access by third parties.", + "hContentStatischeSpannungshaltung": "Upon activation, the inverter provides reactive power by means of the set operating mode.
In case of manual input, you must enter the nominal value specified by the grid operator in VAr or in percent.
In case of external specification, the inverter receives the setpoint through a higher control unit. You must enter the dynamic behavior for the implementation of the setpoint and the specified disengaging value for the absent setpoint.
When selecting a characteristic curve process, the characteristic curve is preconfigured as per country standard. You can make adjustments after completing the installation assistant via the menu Device parameters. Coordinate the configuration with your grid operator.", + "hContentWebConnect": "The inverter must be connected directly to the Internet without a data logger. The time setting will be called up from the SMA server via Webconnect and transmitted to the inverter.", + "hCountrySetting": "Selecting the Country Data Set", + "hCountrySettingsHelp": "The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard.
If you select a country data set, the device will be configured with the corresponding default settings.", + "hDateTimeSetting": "Set date and device time", + "hDisconnectWlanConfirmation": "Are you sure that you would like to deactivate the WLAN connection of the device to the local network?
If you are currently connected to the device via the WLAN network, the connection will be broken immediately.
You will then only be able to access the user interface via Ethernet or the WLAN direct connection of the device.", + "hEnergyMeter": "If there is an energy meter in your system, you can, in addition, have the consumption data of your household displayed on the home page.", + "hEnergyMeterSetting": "Configure the energy meter", + "hEthernetConfig": "Network configuration", + "hEventExport": "You can export the events of the device in text form to a CSV file.
If you select \"Filtered events,\" only the events that you have filtered before are exported.", + "hFileDiagnoseSystemHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card).
You can display and download the data.

Service files
Service files for analysis purposes.

Daily values
Stored values are shown in the time scale at one-day intervals. For each year, a file is automatically created.

One-second values
Stored instantaneous values of the last two months are shown in the time scale at one-second intervals.

Five-minute values
Stored values are shown in the time scale at five minute intervals.

Events
All events that have occurred. For each year, a folder is automatically created.", + "hFileSystemRootHelp": "On this page, you will find all data stored on an external storage device (e.g. USB flash drive, SD memory card). Select the folder /Data to obtain all data stored on the inverter.", + "hFileUploadFailedBody": "An error occurred during file upload. Please restart the file upload.", + "hFileUploadWrongFiletype": "The selected file does not have the required format. Select a file that has a valid file format.", + "hFilenameToLong": "File name too long", + "hFileuploadFailed": "File upload failed", + "hFirmwareUpdate": "You can load the update downloaded from www.SMA-Solar.com onto your device manually.", + "hFirmwareUpdateTakaP": "You can load the update onto your device manually.", + "hForgPass": "If you have forgotten the password for your device, you can unlock the device by means of a Personal Unlocking Key (PUK) (refer to the device manual).", + "hForgPass_NoPUK": "If you have forgotten the password for your device, you can reset the device to default settings. Press the reset button with a sharp object and hold it for two to six seconds. All passwords and device settings are reset.", + "hGridGuardCodeMissing": "You must enter your personal SMA Grid Guard code before proceeding.", + "hGridGuardLoginNecessary": "In order to change the current country data set, you must additionally log in with your personal SMA Grid Guard code.", + "hHeaderHelpBatteryIsland": "Island battery configuration", + "hHeaderHelpClusterSetting": "System configuration", + "hHeaderHelpClusterUsedSlaves": "Devices in the system", + "hHeaderHelpStringFailure": "String-failure detection", + "hHeaderYapPasswort": "New Password", + "hHeaderYapSecret": "Generate product key", + "hHeaderYapService": "Permission to access via Service", + "hHelpBackupCobra": "Please set the operating mode.

In the Off operating mode, selected loads are not allowed to be connected to the AC-BACKUP terminal. If you have selected loads that are connected to the AC-BACKUP terminal, select Automatic operating mode. In this case, backup operation starts automatically in the event of a grid failure. The lower battery charge limit (SOC in %) value equals the share of the battery charge that is held in reserve for backup operation. This charge cannot be used in regular parallel grid operation.", + "hHelpBackupConfig": "When using an automatic transfer switch, you must set the operating mode.
With the operating mode Off, the battery-backup operation is not activated automatically in the event of grid failure. The battery-backup operation must be activated manually in this operating mode.
Select the operating mode Automatic to activate the battery-backup operation automatically in the event of grid failure.
The operating mode Force is only used for test purposes. In this operating mode, you can force to switch to battery-backup operation during utility grid supply. This allows you to test the automatic transfer switch function. If the test has been completed successfully, you must select the operating mode Off or Automatic.", + "hHelpBatteryConfig": "Select the battery type connected.", + "hHelpBatteryTest": "The battery functional test comprises the tests \"Charge battery\" and \"Discharge battery\". The tests can be performed in any sequence. The entire functional test can take up to five minutes. Once started, the tests can not be interrupted. Ensure prior to the tests that the battery is not charged above 98% and that the battery state of charge is not 2% above the lower discharge threshold.

NOTICE!
Damage to the inverter in the event of battery power cable being connected to the incorrect polarity.
  1. Ensure that the DC connectors are connected to the inverter correctly. You must bear in mind that each DC connector is equipped with a cable of the same polarity. If the DC connectors are connected to the inverter with reverse polarity, abort the configuration of the inverter and correct the connection of the battery power cable (see manual of the inverter).
  2. Make sure that there is no PV array accidentally connected to the inverter instead of a battery.
", + "hHelpPasswordConfig": "Here you can configure the access data for your device.", + "hHelpPsk": "The WPA2-PSK is used to prove your authorization to set a new password.
You will find the WPA2-PSK on the type label:", + "hHelpRid": "The RID is used to prove your authorization to set a new password.
You will find the RID on the type label:", + "hHelpYapPasswort": "You can assign a new password for your user account here according to the password guidelines shown.", + "hHelpYapSecret": "The product key is used to create a new password if you have forgotten your current password. The product key is assigned to your user account and only you know it - we strongly recommend to create it for security reasons. You should safely store the product key ([TAGROLE]) (e.g. as a photo, printout, in a text file or preferably in a password safe).
To copy the product key to the clipboard, use the [Copy] button.", + "hHelpYapService": "You can specify here whether you allow SMA Service to access your device.

If you select Yes, temporary, the field 'Expiry SMA Service access' is shown and a date suggestion is inserted which you can change however.

If you select No, the associated passwords for the Service account are deleted and must be newly assigned by Service in case of a future Service access.", + "hHintGridGuardCode": "Information: In order to configure the device, you require a personal SMA Grid Guard code (application form is available at www.SMA-Solar.com).", + "hImportBackup": "With this configuration option, you can adopt a previously saved configuration from a file.", + "hImportBackupHeading": "Adopting the Configuration from a File", + "hImportProxyCert": "Under [Import proxy certificate], you have the option of importing the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "hImpulseInput": "S0 interface", + "hInfotextKennlinie": "Characteristic curve was configured according to the set country standard. Changes or more settings can also be configured via the device parameters.", + "hIslandCountryHelp": "Select the country data set valid for your application. The country data set contains special default settings of the device parameters on the grid side to meet the corresponding grid-connection standard. The selection of the correct country data set depends on the installation site and the grid-connection standard applicable on-site. Contact your grid operator, if necessary.
Depending on the application, it might be necessary to adjust further device parameters after completion of the installation assistant in order to meet the respective grid connection standard.", + "hIslandCountryHelpHeader": "Selecting the Country Data Set", + "hIslandNewSysHelp": "Selecting this button is only necessary when changing the application or the system structure (e.g. if the Function of the system changes or a single-phase system is extended to a three-phase system).", + "hIslandNewSysHelpHeader": "New system configuration", + "hIslandSetting": "Select application", + "hIslandSettingsHelp": "If the inverter is to form a self-sufficient utility grid, select the stand-alone mode and set the nominal voltage and frequency of the utility grid.
If the inverter is used in a storage system for increased self-consumption or in a battery-backup system, select grid operation and set the function of the system.", + "hIslandSettingsHelpHeader": "Select application", + "hJapanAIDContent": "The rate of rise is set to High by default. Only change the value if it is required by the transmission system operator or if a flicker problem exists in the system.", + "hJapanAIDHeader": "AID rate of rise", + "hJapanNetConfContent": "Configure the values for Voltage / Frequency monitoring and Voltage rise suppression in accordance with the grid operator's specifications and grid-connection codes JEAC 9701.", + "hJapanNetConfHeader": "System configuration", + "hJapanOtherConfContent": "Set the operating mode from Stop to MPP to operate the inverter.", + "hJapanOtherConfHeader": "Other options", + "hJapanPowerboxConfContent": "Ensure that the inverter's network configuration has been made to connect to a Power Curtailment Box.
The inverter and Power Curtailment Box must be located in the same network.", + "hJapanPowerboxConfHeader": "Power Curtailment Box", + "hJetTestContent": "Lorem", + "hJetTestHeader": "Jet Test Mode", + "hLoggerExportHelpContent": "You have the option of exporting the data stored on the product as an Excel file. Select in the drop-down list which data should be exported and use the time filter prior to exporting the data.", + "hManagementInverter": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode \"Active power limitation P via system control\". When using this operating mode, you can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Select whether the inverter shall disconnect from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not allow the inverter to still feed in a low amount of active power when limited to 0% or 0 W.", + "hManagementInverterFalcon": "The inverter can limit its active power by the use of a higher unit or fixed default values. If the inverter shall receive the default values via a higher unit (e.g. communication product, I/O module or Modbus), select the operating mode Act. power lim. via PV system ctrl. Select this mode even if the inverter does not receive the default values via a higher unit. The active power limitation is limited dynamically by the inverter itself at the grid-connection point.

You can additionally configure how the active power is limited in the event of a communication failure. You can select whether the inverter shall retain the last values received or limit the nominal power of the inverter to the set fallback value once the time-out interval has elapsed. Furthermore, you can select if the inverter disconnects from the utility grid when limited to 0% or 0 W. This setting is required if the grid operator does not permit the inverter to still feed in a low amount of active power when limited to 0% or 0 W.

If the inverter limits the active power limitation dynamically by itself at the grid-connection point, you must set the Operating mode for absent system control to Values maintained and the Grid disconnection for 0% feeding to No.", + "hManagementMeasuringGridPoint": "If the limitation of the system's active power feed-in at the grid-connection point is required by standards or law, enter the total nominal power of the system, select the desired operating mode and enter the respective value to which the nominal power must be reduced. When selecting an operating mode for the limitation of active power at the grid-connection point, the system's active power is controlled at the grid-connection point depending on the local consumption and the battery state of charge (if a battery is available).", + "hManagementPhase": "The selection of line conductor ensures that the displayed values on the user interface are displayed correctly and the unbalanced load limitation can be implemented correctly.", + "hManagementSchieflast": "If the grid operator requires a limitation of the unbalanced load, activate the unbalanced load limitation and enter the maximum permissible unbalanced load.", + "hMaximumCountGGLoginTrysAccomplished": "SMA Grid Guard login is temporarily blocked.", + "hMltContent": "The floating switching contact for the multifunction relay is marked with DO on the COM connector. Only signals with a voltage &<; 30 V may be connected to the COM connector.", + "hMltContentBackup": "The multifunction relay controls a display device (e.g. an indicator light) which signals that backup operation is active.", + "hMltContentEarth": "The multifunction relay controls a display device (e.g. a warning light) when a drop below the insulation resistance has been detected at the PV or battery inputs of the inverter.", + "hMltContentError": "The multifunction relay controls a display device (e.g. a warning light) which signals an error of the inverter.", + "hMltContentFan": "The multifunction relay controls an external fan depending on the temperature of the inverter. If the temperature of the inverter rises above a limiting value defined by SMA, the fan starts automatically. If the temperature falls below the limiting value, the fan is switched off again.", + "hMltContentSgReady": "The multifunction relay switches loads on or off according to commands transmitted by a communication product.", + "hMltHeaderBackup": "Switching status of the backup", + "hMltHeaderEarth": "Ground-fault detection", + "hMltHeaderFan": "Fan control", + "hMltHeaderSgReady": "SG Ready", + "hNetworkConfig": "Network configuration", + "hNetworkConfigIpInFooter": "Information: You will find the IP address of the device on which you are currently logged into in the status bar below in the user interface after having completed the configuration procedure. You will require the IP address to call up the user interface in the local network.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "hNoConnectionToDevice": "No connection to the device", + "hOldEnergyMeter": "Configure the energy meter", + "hOldTitleEnergyMeter": "Configuring the Energy Meter", + "hRS485ProtocolContent": "On this page, you select for which purpose the RS485 interface is used.
Select the entry SMA Data if a RS485 communication bus is connected to the RS485 interface. The inverter is connected to SMA communication products via the RS485 communication bus.
Select the entry Energy Meter if an energy meter is connected to the RS485 interface.
Select the entry Module Technology if the gateway of the TS4 module technology is connected to the RS485 interface.", + "hRS485ProtocolHeader": "RS485 configuration", + "hRS485TerminatorContent": "If your inverter is located at the beginning or at the end of the RS485 communication bus, the terminator must be activated.
If your inverter is located in the middle of the RS485 communication bus, the terminator must not be activated.", + "hRS485TerminatorHeader": "Activate Terminator", + "hRefersToNominalPower": "These values are based on the set nominal system power.", + "hSafetyOffContentHelp": "Select Off if you do not want to use the Rapid Shutdown function (e.g. ground mounts, carports, or AHJ does not require).", + "hSafetyOtherContentHelp": "Select Other if an alternate DC disconnection unit is used (e.g. TS4 or SMA Rapid Shutdown System).", + "hSafetyRabbitShutDownSetting": "Rapid Shutdown Setting", + "hSafetySettingsHelp": "The Rapid Shutdown function of the inverter must be enabled if the PV modules or PV strings are equipped with an additional DC disconnection unit that disconnects the PV array from the inverter.", + "hSafetySettingsHelpHeader": "Configuring the Rapid Shutdown Function", + "hSafetySettingsHelpOn": "Select On if PV array and inverter are disconnected by an additional DC disconnection unit independent of the inverter.", + "hSafetySunspecShutdownHelp": "Select SunSpec Shutdown if the PV array is disconnected with devices in accordance with the SunSpec Rapid Shutdown specification (e.g. SMA JMS-F, APsmart RSD).", + "hSafetyTigoSettingsHelp": "Select TS4 Shutdown if the PV array is disconnected via TS4 module technology. With TS4-R-F, SunSpec Shutdown must be selected.", + "hSaveNetworkSettingsAuto": "After having saved the settings, you are automatically logged out of the user interface.


You have the following options to log back in to the user interface:
  • If you are directly connected to the device, enter the standard IP address (refer to the device manual).
  • If you manually assigned the IP address, enter the manually assigned IP address.
  • If you have received the IP address from a DHCP server, enter the newly assigned IP address. You can determine the newly assigned IP address by checking the settings of your router (see manual of the router) or using network-scanning software.
", + "hSaveNotCompleteInsufficientDcPower": "Settings not yet saved completely.", + "hSensorModuleEnergyMeterS0": "Enter the current meter reading of the energy meter used in the field \"S0 meter reading Total yield\". In the field \"S0 pulses\", you must enter the number of S0 pulses per kWh defined by the manufacturer of the energy meter. This ensures that the Sensor Module receives the data of the energy meter correctly.", + "hSensorModuleWindSensor": "Enter the number of S0 pulses per m/s defined by the manufacturer of the anemometer in the field \"S0 pluses per m/s. This ensures that the Sensor Module receives the data of the anemometer correctly.", + "hStringFailureDetection": "String-failure detection", + "hTigoMainSetting": "Modular Technology Configuration", + "hTigoSystemContent": "Enter the number of gateways that are in the system. Please note the number of the maximum permissible gateways in a system.", + "hTigoSystemHeader": "System configuration", + "hTigoTabCfgContent": "Enter the number of strings that are connected to the particular input and enter the number of PV modules as well as the number of the TS4 in the string. Based on this information, the serial numbers of the TS4 in a string can be exactly assigned in the next step.", + "hTigoTabCfgHeader": "String configuration", + "hTigoTabStatusContent": "By clicking on the button Start search, you start the search of all modular technology components in the system. The button Perform Gateway test starts the search for the Gateways in the system. Keep in mind that searching for all components may take up to one hour. Make sure that the inverter is in operation during the search. The search runs in the background. You can continue the configuration of the inverter during the search.
When the search has been completed successfully, the message Commissioning status OK appears under the buttons and the number of detected components is displayed. Check the result and make sure that the components are correctly captured. You can find all information on the detected components in the Details.
You can cancel the search at any time to add or delete further components, for example. To do so, click the Cancel search button during the search.", + "hTigoTabStatusHeader": "Search for modular technology components", + "hTigoTabStringContent": "All captured TS4 that are assigned to the particular input of the inverter are listed on this page. Enter the related serial number for each TS4. You can scan the serial number with the barcode.", + "hTigoTabStringHeader": "Capturing TS4 serial numbers", + "hTimeSetting": "You can set the date and the system time of the device either manually or automatically from an NTP server.
An Internet connection is required for automatic time synchronization.", + "hTitleEnergyMeter": "Energy meter used", + "hUserInfoDiag": "This function detects the current/voltage characteristic curve of the PV array per MPP tracker. By representing the results in a graphic, problems in a PV array can be identified at an early stage.
The table contains the following measured values for the individual MPP trackers:

  • Vmpp = Module voltage at max. power
  • Impp = Module current at max. power
  • Pmpp = Maximum power
  • Voc = Open-circuit voltage
  • Isc = Short-circuit current
  • FF = Fill factor - Characteristic value for the curve shape
", + "hUserInfoPlantManagement": "In the table all available devices in the system are shown.
By clicking on the button Settings, you can select different settings on your requested device.

In the table with the devices found, all devices are shown that have been detected by the inverter. By clicking on the button Settings, you are able to add further devices.
", + "hWizardSummary": "The summary lists the settings made while running the installation assistant.", + "hWlanNotPassProtected": "The WLAN is not password-protected.", + "hWlanPassProtected": "The WLAN is password-protected.", + "hWlanPassword": "WLAN settings", + "headingHelpIrradiationSensor": "Configuring the Irradiation Sensor", + "headingHelpSensorModuleEnergyMeterS0": "Configuring the S0 Energy Meter", + "headingHelpSensorModuleWindSensor": "Configuring the S0 Sensor for Wind Speed", + "headingHelpTemperatureSensor": "Connecting the Temperature Sensor", + "headingManagementPhase": "Connected line conductors", + "headingManagementSchieflast": "Activating Unbalanced Load Limitation", + "headlineConfigureCellular": "Configuring Communication via Cellular", + "headlineConfigureEthernet": "Configuring Communication via Ethernet", + "headlineConfigureWlan": "Configuring Communication via WLAN", + "helpAnalogInput": "You can connect one module temperature sensor and one outside temperature sensor to the two temperature inputs of the SMA Sensor Module.

You can connect one irradiation sensor to the analog input of the SMA Sensor Module.", + "helpContentDigInFstStop": "The inverter comes equipped with a fast stop input. It is possible to connect an external switch to this fast stop input. The external fast stop disconnects the inverter from the utility grid.", + "helpContentNASchutz": "Activate the grid and PV system protection if the inverter is connected to an external monitoring unit with grid and PV system protection relays via the SMA I/O Module.", + "helpContentWirkleistungsAdjust": "In the field Failure tolerance time, enter the time a signal is to be applied until the inverter accepts the default value.
If not all inputs are active, you can enable the fallback level for the case if an invalid signal is applied. The fallback time is the time that an invalid signal must be applied until the inverter accepts the fallback value.", + "helpContentWirkleistungsbegrenzung": "Make sure that the configuration of the digital inputs corresponds to the specifications of the grid operator and the assignment on the I/O module.", + "helpImpulseInput": "The SMA Sensor Module is equipped with a S0 interface to which you can either connect an anemometer or energy meter (see installation manual of the module).

Select the function of the S0 input according to the connection made and enter your settings.", + "helpStringFailureDetection": "You can consolidate the string inputs of the inverter into groups. Thereby you can compare string inputs that have the same characteristics (e.g. shading, alignment or module type) with each other and be notified in the event of a string failure via an event message.", + "iDisplayLanguage": "This option is used if the device supports a connected display.", + "iErrorEmgCharge": "An error has occurred. Restart the inverter and perform the configuration again.", + "iErrorNewBattery": "An error has occurred. Restart the inverter and perform the configuration again.", + "iErrorNewSystem": "An error has occurred. Restart the inverter and perform the configuration again.", + "iEventsRenderTable": "Please wait", + "iFileDownloadSuccess": "The file has been successfully downloaded.", + "iFileSaveFailed": "An error has occurred while downloading the file.", + "iFwUpdateFailedManual": "An error has occurred.
The firmware could not be updated.
Contact the Service Line.", + "iGenerateEventsExport": "An export of the events is being created", + "iHeadlineClusterSetting": "System configuration", + "iHeadlineEinspeisemanagement": "Grid management service configuration", + "iHeadlineJETTest": "Jet Test", + "iHundredPercentText": "The active power is not limited when DI4 is closed. When DI1, DI2, and DI3 are open, the active power is also not limited, regardless of the state of DI4./>", + "iLoadConfigDCInfo": "To completely adopt the configuration, a certain DC input voltage is required for some devices. If the DC input voltage is currently too low, the configuration is only completely adopted once sufficient DC input voltage is present.", + "iLoadConfigFromFile": "In order to be able to adopt a configuration for this device, you have to transfer the configuration file.", + "iLoadConfigGridGuard": "In addition, for certain devices you require your personal SMA Grid Guard code for authentication (application form is available at www.SMA-Solar.com).", + "iLoadSslCertFromFile": "Here, you have the option of importing the security certificate of the proxy server used. By doing so, the proxy server used will be categorized as trustworthy.", + "iLoadingEvents": "More events are being loaded...", + "iNoEventsFound": "No events found.", + "iProcessBatteryQcg": "Switching to the new battery configuration", + "iProcessEmcChargeQcg": "Switching to the battery emergency charge operation", + "iProcessSystemQcg": "Switching to the new system configuration", + "iSaveConfigToFile": "You can save the current configuration of the device in a file.
You can use the file as backup and, if required, import it then to this or other devices of the same type. No passwords - only the device parameters are saved in the file.", + "iSaveNotCompleteInsufficientDcPower": "The DC voltage of the inverter is currently too low or a component is being updated. As a result, the settings could not yet be saved completely.

As soon as sufficient DC voltage is available again or the update is completed, the settings will be saved completely.", + "iSelftest": "You configured a country data set which requires a self-test of the inverter.
You can now start the self-test.", + "iSelftestDuration": "Perform the self-test may take several minutes.", + "iSmaShadeFix": "Depending on the type of device, the cycle time can be set in 1- or 60-second intervals.", + "iTime": "Time", + "iWaitForTigoResults": "Search request", + "lAccessType": "Access mode", + "lActivateStringFailureDetection": "Activating String-Failure Detection", + "lActivePowerReductionActive": "Active power limitation is activated", + "lActivePowerReductionNotActive": "Active power limitation is not activated.", + "lActivePowerReductionOff": "Active power limitation deactivated", + "lActualConsumption": "Current consumption", + "lActualCtrlValue": "Current default value", + "lAddressProxyServer": "Server", + "lAdjustSetting": "Special settings", + "lAfciInfo": "The arc-fault circuit interrupter (AFCI) reliably detects and extinguishes serial electric arcs every second. The qualified person responsible for the system is informed of the arcing event and can repair the system.
AFCI must not be used in systems with optimizers and in strings operated in parallel. Likewise, the maximum string voltage for AFCI according to the operating manual must not be exceeded.
When using AFCI, a yield reduction of approx. 0.3% is to be expected.", + "lAllOptimizerSet": "OK", + "lAlreadyGridGuardRights": "You are already logged in with SMA Grid Guard rights.", + "lAlternateDCDisconnectionDevice": "Alternate DC disconnection device", + "lAnschlussart": "Connection type", + "lAskSecurePowerSupplyInstalled": "Is a Secure Power Supply outlet and switch installed?", + "lAutomaticSeasonSetting": "Automatically change from daylight saving time to standard time", + "lAutomaticTimeSetting": "Automatic time synchronization", + "lBackupCfgHeader": "Configuration detected by the system", + "lBackupModalNoUpdate": "No firmware updates are carried out during battery-backup operation.", + "lBackupNoUpdate": "No automatic firmware updates are carried out during battery-backup operation. As soon as the inverter is in parallel grid operation again, the update is carried out automatically.", + "lBackupOperation": "Battery-backup operation", + "lBackupReserve": "Lower battery charge limit (SOC in %)", + "lBackupTimeLeft": "Remaining time in the battery-backup system {{time}}", + "lBackupWizardMenu": "Battery-backup system", + "lBarOptimizerErr": "The entered serial number is incorrect. Please check your entry.", + "lBatteryBackupWizardMenu": "Configuration of battery / battery-backup system", + "lBatteryEnergyExchange": "Nominal energy throughput of the battery", + "lBatteryIslandEcm": "Emergency charging of the battery", + "lBatteryRecognized": "Recognized battery", + "lBatterySet": "Selectable battery types", + "lBatteryTest": "Battery functional test", + "lBatteryTestEvents": "Details for test operation", + "lBatteryTestIstl": "Battery functional test", + "lBatteryTestService": "Battery functional test (for Service only)", + "lBatteryValues": "Battery instantaneous values", + "lBatteryWizardMenu": "Battery configuration", + "lBenutzergruppe": "User group", + "lBft0": "Calm, dead calm", + "lBft1": "Light air", + "lBft10": "Storm", + "lBft11": "Violent storm", + "lBft12": "Hurricane", + "lBft2": "Light breeze", + "lBft3": "Gentle breeze", + "lBft4": "Moderate breeze", + "lBft5": "Fresh breeze", + "lBft6": "Strong breeze", + "lBft7": "Near gale", + "lBft8": "Gale", + "lBft9": "Strong gale", + "lCellular": "Cellular", + "lCellularIMEI": "IMEI", + "lCellularName": "Provider", + "lChangeDeviceName": "Change device names", + "lCharge": "Charge", + "lCharging": "Charge", + "lChartConsumption": "Yield", + "lChartPower": "Current power", + "lChartPowerAndGrid": "PV and grid-supplied power", + "lChartPowerConsumption": "Current power and current consumption", + "lChartYield": "Yield", + "lChartYieldAndGrid": "PV yield and grid-supplied power", + "lChartYieldConsumption": "Yield and consumption", + "lChkValidation": "The checksum of the serial number is incorrect.", + "lChooseFwFile": "Select the desired update file:", + "lClusterSettingExtensionAddress": "Extension cluster address", + "lClusterSettingExternSource": "Selection external source", + "lClusterSettingGeneratorCurrent": "Nominal generator current", + "lClusterSettingGridCurrent": "Nominal line current", + "lClusterSettingMode": "Cluster mode", + "lClusterSettingSysBoxType": "MultiCluster Box type", + "lClusterSettingSysConfig": "System configuration", + "lClusterSettingSysTyp": "Cluster type", + "lClusterSettingType": "Cluster type", + "lClusterSettingWizardMenu": "System configuration", + "lClusterState": "Cluster status", + "lCntrySet": "Enabled country data set", + "lComModuleWizardMenu": "RS485 configuration", + "lCommunicationType": "Type of communication", + "lCommunicationType_Cellular": "Cellular", + "lCommunicationType_Ethernet": "Ethernet", + "lCommunicationType_WLAN": "WLAN", + "lCommunicationsTest": "Connection test", + "lCompany": "Company", + "lConfBackFile": "Adopt the configuration from a file", + "lConfManual": "Manual configuration", + "lConfigEinspeiseManagementWechselrichter": "Active power setpoint", + "lConfigUploadIsRunning": "The configuration file is being transmitted to the device ...", + "lConsumption": "Consumption", + "lConsumptionToday": "Today:", + "lConsumptionTotal": "Total:", + "lConsumptionYesterday": "Yesterday:", + "lCookiesNotActive": "Cookies are deactivated.", + "lCountrySettingWizardMenu": "Country data set", + "lCurrentConnection": "Network configured", + "lCurrentConnections": "Networks configured", + "lCurrentTimeSummer": "Is the current time set to reflect daylight saving time?", + "lDCMissing": "Currently not permitted: interruption of the miniature circuit breaker (AC fuse) of your device, possibly due to missing DC input voltage.", + "lDailyBalance": "Daily total", + "lDataLogger": "Automatically using a data logger", + "lDate": "Date", + "lDateHeading": "Date", + "lDateSetWizardMenu": "Time and Service", + "lDateTime": "Date/time", + "lDays": "days", + "lDeratingOperation": "Derating", + "lDetailsConfigProcess": "Details for configuration", + "lDetailsUpdateProcess": "Details on the update procedure", + "lDevName": "Device name:", + "lDeviceName": "Device name", + "lDeviceNameSavedFailed": "An error has occurred.
The device name could not be saved.", + "lDeviceNameSavedSuccess": "The device name has been successfully saved.", + "lDeviceParameter": "Device parameters", + "lDeviceState": "Device status", + "lDeviceTyp": "Device type", + "lDevicesFound": "Devices found", + "lDevicesInPlant": "Devices in the system", + "lDevicetime": "Device time", + "lDhcp": "Automatic configuration switched on", + "lDiagnosis": "Diagnosis", + "lDigInFstStop": "Fast stop", + "lDioModuleWizardMenu": "Digital output", + "lDischarge": "Electric discharge", + "lDischarging": "Discharge", + "lDisclaimerContent": "The results of the I-V diagnostics function depend on the ambient conditions of the PV array (e.g., temperature, shading, solar irradiation) as well as the settings and the operating state of all system components. The results may only be used by qualified persons taking this information into consideration to assess the quality and the total power of the PV system.", + "lDisclaimerHeader": "Disclaimer", + "lDisconnectWlanConfirmation": "Deactivate WLAN network connection", + "lDisplayLanguage": "Display language", + "lDtTiFt": "Date:", + "lEinspeisemAmNetzanschluss": "Grid connection point regulation", + "lEndDate": "to", + "lEnergyMeterFound": "Available energy meters", + "lEnergyMeterName": "Name of the energy meter", + "lEnergyMeterSelected": "Selected energy meter", + "lEnergyMeterWizardMenu": "Meter configuration", + "lEntryId": "Entry ID", + "lErgebnisId": "", + "lEventExport": "Export events", + "lEventExportChoose": "Select the events you want to export:", + "lEventExportFailed": "An error has occurred.
The events could not be exported.", + "lEventExportSuccess": "The events were successfully exported.", + "lEventID": "Event ID", + "lEventText": "Event message", + "lEvents": "Events", + "lEventtype": "Event type", + "lFallbackCheckbox": "Fallback level", + "lFileDirNameDIAGNOSE": "Data", + "lFileDirNameDay": "Daily values", + "lFileDirNameEvents": "Events", + "lFileDirNameFLCR": "Service files", + "lFileDirNameOnline": "One-second values", + "lFileDirNameOnline5M": "Five-minute values", + "lFileDownload": "Data", + "lFileSystemHeadline": "Stored data", + "lFileSystemHelpHeadline": "Stored data", + "lFileSystemLastModification": "Last modification", + "lFileSystemName": "Name", + "lFileSystemSize": "Size", + "lFileSystemType": "Type", + "lForceChargePower": "Forced charge power", + "lForgPassHd": "Forgotten password", + "lFoundWlans": "Networks found", + "lFwAvailable": "Firmware version available", + "lFwInstalled": "Firmware version installed", + "lFwUpdateIsRunning": "The firmware is being updated.", + "lFwUpdateRunning": "The firmware is being installed ...", + "lFwUpdateTransferedToDevice": "The update file has been transmitted to the device.", + "lFwVerFt": "Firmware version:", + "lFwVersion": "Firmware version:", + "lGenLog5Min": "Five-minute values", + "lGenLogDay": "Daily values", + "lGenLogFlr": "Service files", + "lGidConnectionGenPower": "Generator power", + "lGidConnectionPointEnergyExchange": "Energy exchange at the grid-connection point", + "lGidConnectionPointPower": "Power at the grid-connection point", + "lGidReference": "Consumption", + "lGridFeedIn": "Grid feed-in", + "lGridGuardCodeMissing": "Enter your personal SMA Grid Guard code.", + "lGridGuardLogin": "SMA Grid Guard login", + "lGridGuardLoginPwFailed": "The entered SMA Grid Guard code is incorrect. Please correct your entry.", + "lGridGuardLoginText": "You can only change the SMA Grid Guard parameters with your personal access code. Any change to SMA Grid Guard parameters must be approved by the grid operator.", + "lGridGuardPlaceholder": "SMA Grid Guard code", + "lHeadlineNsd": "Grid management service configuration", + "lHelp": "Help", + "lHierarchiegroup": "Group", + "lHome": "Home", + "lHour": "Hour", + "lHours": "hours", + "lIVCurveReportHead": "I-V generator diagnosis report", + "lImportBackupFile": "Load the configuration file", + "lImportSslCertHealineFile": "Import proxy security certificate", + "lImpulseInputMenu": "S0 interface", + "lInfoSecretCopy": "You have successfully carried out steps 1. and 2. Please proceed as follows now:

3. Enter a new password.
4. Copy the newly generated product key and save it.
5. Complete the process by clicking on the [Login] button.", + "lInfoSecretSave": "The product key is used to create a new password if you have forgotten your current password. The product key is assigned to your user account and only you know it - we strongly recommend to create it for security reasons. You should safely store the product key ([TAGROLE]) (e.g. as a photo, printout, in a text file or preferably in a password safe).
To copy the product key to the clipboard, use the [Copy] button.", + "lInformationDevice": "Information", + "lInformationDeviceEN": "Information", + "lInverterMppEntry": "Inverter input", + "lInverterProductWebsite": "Open the product page of the inverter", + "lIpAddressDnsServer": "IP address of the DNS server", + "lIpAdress": "Server", + "lIpAdressInverter": "IP address of the device", + "lIpGateway": "IP address of the gateway", + "lIpInverterSpeedwire": "Ethernet IP address:", + "lIpInverterWlan": "WLAN IP address:", + "lIslandSettingWizardMenu": "Application", + "lJavaScriptNotActive": "JavaScript is deactivated.", + "lJetTestActiveIslandingDetection": "Active islanding detection", + "lJetTestActiveIslandingDetectionMode": "Active islanding detection mode", + "lJetTestBoxState": "Status", + "lJetTestDetectionLevel": "Detection level", + "lJetTestDetectionLevelPU": "Detection level P(U)", + "lJetTestDetectionLevelQU": "Detection level reactive power", + "lJetTestDetectionTime": "Detection time", + "lJetTestFixedTime": "Fixed time", + "lJetTestFrequency": "Frequency", + "lJetTestFrequencyFeedback": "Frequency feedback", + "lJetTestFrequencyMonitoring": "Frequency monitoring", + "lJetTestInverterPower": "Inverter power", + "lJetTestIslandDetection": "Island detection", + "lJetTestOptionCosPi": "Cos(Phi)", + "lJetTestOptionOperationMode": "Operation mode", + "lJetTestOtherOption": "Other options", + "lJetTestPassiveIslandingDetection": "Passive islanding detection", + "lJetTestPminNorm": "Pmin Norm", + "lJetTestPowerCurtailmentBox": "Power Curtailment Box", + "lJetTestStepInjectionDetection": "Step injection detection", + "lJetTestVoltageDropDetection": "Voltage drop detection", + "lJetTestVoltageMonitoring": "Voltage monitoring", + "lJetTestWizardMenu": "Jet Test", + "lKeyConsumption": "Consumption", + "lKeyGridPower": "Power consumption", + "lKeyPvPower": "PV power", + "lKeyYield": "PV yield", + "lLeavePageWithUnsavedChanges": "There are unsaved changes which will be lost when leaving this page.", + "lLoadConfigFile": "Adopt the configuration from a file", + "lLoadImbalancesAsk": "Activating Unbalanced Load Limitation", + "lLoadImbalancesValue": "Maximum unbalanced load", + "lLoggerExportHelpHeadline": "Export data", + "lLogout": "Logout", + "lMaxNoParamChanges": "The maximum number of unsaved changes has been reached. You must first save the changes, before you can change further parameters.", + "lMaxOptimizerErr": "The number of the entered serial numbers exceeds the number of the detected TS4. Please check your entry.", + "lMaxValidation": "The number of characters of the serial number exceeds the maximum number.", + "lMeassurentDone": "Measurement performed", + "lMeterExport": "Meter: Export", + "lMeterImport": "Meter: Import", + "lMinOptimizerErr": "The number of the entered serial numbers is too low. Please check your entry.", + "lMinValidation": "The number of characters of the serial number is too low.", + "lMinute": "Minute", + "lMinutes": "Minutes", + "lMltMainSetting": "Operating Modes of the Multifunction Relay", + "lModeOfCurrentProfile": "Operating mode of the performance profile", + "lMultiClusterOverview": "Multicluster overview", + "lMultiClusterSoc": "middle SOC:", + "lMultiClusterState": "Multicluster status", + "lMultiClusterTotal": "Total capacity:", + "lName": "Name", + "lNameOfAllProfiles": "Created performance profiles", + "lNameOfCurrentProfile": "Designation of the performance profile", + "lNetworkConfWizardMenu": "Network configuration", + "lNewPass": "New Password", + "lNewPassRepeat": "Repeat password", + "lNewSecret": "New product key", + "lNewValue": "New value", + "lNoDataForGraph": "No data is available for the selected time period.", + "lNoDataForGraphRequestTimedOut": "The device has not answered the data request in time. Therefore, no data can be displayed.
Check the network connection if necessary and then reload the user interface in the web browser.", + "lNoMoreLogins": "No further login is possible.", + "lNoNetworkCommunication": "Manually", + "lNoSafety": "No (AC disconnect is Rapid Shutdown initiator)", + "lNotSavedSettings": "Unsaved changes", + "lNsdType_Netzanschlusspunkt": "Grid-connection point", + "lNsmState": "Feed-in management", + "lNsmTableCosPhi": "Cos phi setpoint", + "lNsmTablePower": "Active power", + "lNsmTablePowerShort": "Act.P", + "lNsmTableReactivePower": "Reactive power", + "lNsmTableReactivePowerShort": "React.P", + "lNsmTakaWizardMenu": "Grid management", + "lNsmWizardMenu": "Grid management service", + "lNumberConnectedStrings": "Number of connected strings", + "lOldPass": "Old password:", + "lOldValue": "Old value", + "lOpenSourceLicenses": "Open source licenses", + "lOptimizerDiffErr": "If there are several strings connected to an inverter input, all PV modules must be equipped with modular technology components.", + "lOptimizerMaxErr": "The total number of all TS4 products is exceeded.", + "lOverview": "Overview", + "lPInverter": "Inverter", + "lParameterName": "Parameter name", + "lPassword": "Password", + "lPasswort": "Password", + "lPcmWizardMenu": "I/O module", + "lPhaseAmNetzanschluss": "Connected line conductors", + "lPlantConfWizardMenu": "System configuration", + "lPlantConfiguration": "Device configuration", + "lPlantInverterWizardMenu": "System configuration", + "lPlsChrgW": "Grid Consumption Limit", + "lPlsDschW": "Grid Feed-In Limit", + "lPopNoneWeekDay": "When selecting a fixed date regardless of the weekday (e.g. Performance profile shall always apply from 1 May of each year.)", + "lPopOverListProfileCurrent": "Enter the requested name for the performance profile.", + "lPopOverListProfileNames": "Here you can create and configure a performance profile. In case of several performance profiles, the following applies: The performance profile on the top of the list has priority over the profiles that lie underneath it.", + "lPopPlsLimitFeed": "Target reference power at the grid connection point. When the set value is reached, the battery is discharged.", + "lPopPlsLimitFeedin": "Nominal feed-in power at the grid connection point. When the set value is reached, charging of the battery with the surplus power is started.", + "lPopProfileAdd": "Create new performance profile.", + "lPopProfileDown": "Selected performance profile is moved down a position.", + "lPopProfileDup": "Copy selected performance profile.", + "lPopProfileRemove": "Delete selected performance profile.", + "lPopProfileSave": "The current performance profile is saved temporarily on this page. The data is only transferred when the page is closed by clicking on the \"Save\" button.", + "lPopProfileUp": "Selected performance profile is moved up a position.", + "lPopTouLimitCharge": "Desired charging power of the battery. The power is set independently of the grid connection point.", + "lPortProxyServer": "Port", + "lPower": "Current power", + "lPowerControlModule": "Active power setpoint via SMA I/O module", + "lPowerControlModuleNA": "Grid and PV system protection via SMA I/O Module", + "lPreActiveHeader": "Active", + "lPreActivePowerHeader": "Active power", + "lPreDHeader": "D", + "lPreDIHeader": "DI", + "lPreInputHeader": "Input", + "lProcedure": "Procedure", + "lProxySettings": "Proxy settings", + "lPskChange": "The standard WLAN password of the device will be changed to the device-specific WLAN password.", + "lPskChangeAutomatic": "The WLAN password of the device changes after the initial configuration.", + "lPvLengthErr": "If there are several strings with a different number of PV modules connected to an inverter input, the difference should be less than 25%.", + "lPvOptimizerErr": "The number of the TS4 in the string may not exceed the number of the PV modules in the string.", + "lPvStringMaxErr": "The total number of all strings for this inverter is exceeded.", + "lPwdCharBig": "Upper case", + "lPwdCharCount": "8-12 characters", + "lPwdCharOther": "Special characters ?_!-", + "lPwdCharSign": "Number", + "lPwdCharSmall": "Lower case", + "lPwdInstallateur": "Installer password", + "lPwdRichtlinien": "Password guidelines", + "lPwdRptDvlp": "Repeat developer password", + "lPwdRptIstl": "Repeat installer password", + "lPwdRptSvc": "Repeat Service password", + "lPwdRptUsr": "Repeat user password", + "lPwdUser": "User password", + "lQcgContentEmgCharge": "In order to start the inverter again after an automatic shutdown, you must charge the battery in emergency charge mode.", + "lQcgContentNewBattery": "Selecting this button is only necessary when the battery settings are changed or when replacing the battery.
NOTICE
Damage to the battery due to incorrect settings
The battery can be damaged by incorrect settings of the battery type, nominal voltage and capacity parameters.
- Set the correct battery type as well as the correct values for nominal voltage and battery capacity when configuring.
- Ensure that the values recommended by the manufacturer are set for the battery.", + "lQcgContentNewSystem": "NOTICE
By starting the new system configuration, important parameters of the inverter are reset to the default settings.", + "lQcgFinishEmgCharge": "Emergency charging of the battery can be started.", + "lQcgFinishNewBattery": "The battery is newly configured.", + "lQcgFinishNewSystem": "The system configuration has been completed.", + "lQcgHeaderEmgCharge": "Battery emergency charge operation", + "lQcgHeaderNewBattery": "New battery configuration", + "lQcgHeaderNewSystem": "New system configuration", + "lRPRTestRunning": "Test is in progress", + "lRS485ErrorDoubleChoice": "The same purpose has been selected twice. The interfaces may only be used for different purposes.", + "lRS485MainSetting": "RS485 configuration", + "lRealStateOfCharge": "Actual state of charge", + "lReferenceValue": "Setpoint", + "lRestartSetupWizard": "Start the installation assistant", + "lReversePowerRelay": "Reverse Power Relay", + "lRunFirmwareUpdate": "Update the firmware", + "lRunSelftest": "Start the self-test", + "lSMAInverter": "SMA device", + "lSafetyFunctionsHeader": "Safety Functions", + "lSafetyFunctionsWizardMenu": "Safety Functions", + "lSaveChangesFailed": "An error has occurred while saving the changes. Please try again.", + "lSaveConfigToFile": "Save configuration to a file", + "lSaveNetworkSettings": "The network settings will be saved.", + "lSavePerfect": "Saving successful", + "lSearchModbusMeter": "Search", + "lSecond": "Second", + "lSeconds": "Seconds", + "lSecretFallback": "Reset [TAGMODE]", + "lSecurity": "Access rights", + "lSelectAll": "Select all", + "lSeleted": "Select", + "lSelftestResult": "Result of the self-test", + "lSerNoFt": "Serial number:", + "lSerialHeading": "Serial number", + "lSettings": "Settings", + "lSetupWizard": "Configuration with installation assistant", + "lShowGridSearching": "The inverter synchronizes to the available grid frequency.", + "lSignValidation": "The serial number is faulty. Please check your entry.", + "lSignalStrength": "Signal strength", + "lSmartViewInfo": "Can only be activated after the initial start-up by the installation assistant", + "lSpotValues": "Instantaneous values", + "lSprache": "Language", + "lStandardSetting": "Standard settings", + "lStandby": "Standby", + "lStartDate": "from", + "lSteuerwert": "Output value", + "lStringFailureDetectionMenu": "String-failure detection", + "lStringFailureWizardMenu": "String configuration", + "lStringGroup1": "Group 1", + "lStringGroup2": "Group 2", + "lStringGroup3": "Group 3", + "lStringInput": "String input", + "lSubnetmask": "Subnet mask", + "lSummary": "Summary", + "lSummaryWizardMenu": "Summary", + "lSupportedModbusMeter": "Supported Modbus energy meters", + "lSusyId": "SUSyID", + "lSystemOverview": "System Overview", + "lTableHeadingPvDay": "PV power", + "lTemperatureIrradiationMenu": "Temperature Irradiation", + "lTemperatureMeasurement": "Temperature measurement", + "lTestRunning": "The test is being performed.", + "lTestStarted": "The test has been started.", + "lTestStopped": "The test has been completed.", + "lTextVon": "of", + "lTigoDetailsDevices": "Details", + "lTigoGateway": "Gateway", + "lTigoMainSttHeader": "Search for modular technology components", + "lTigoNumberCompoments": "Number of detected components", + "lTigoNumberGateways": "Number of gateways", + "lTigoParameterChanged": "The parameters of the module technology configuration have not been saved yet.
Click on Start search to complete the configuration.", + "lTigoPortalInfo": "Logging has been started!
One moment please...
When the logging process is completed, the TS4 components are available in Sunny Portal after a waiting time of 10 minutes.", + "lTigoSpotValueHeader": "Module Technology", + "lTigoSttCommissioning": "Commissioning is active and not all devices have been detected yet.", + "lTigoSttCommunication": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "lTigoTS4": "TS4", + "lTigoTS4String": "Number of the TS4 in the string", + "lTigoTabNameCfg": "String configuration", + "lTigoTabNameStatus": "Status", + "lTigoTabNameSystem": "System configuration", + "lTigoUsedNumberGateways": "Gateways", + "lTigoWizardMenu": "Modular technology configuration", + "lTilesHeadOptimizer": "Modular technology status", + "lTime": "Time", + "lTimeDomain": "Time range", + "lTimeLeft": "Remaining time", + "lTimeOfUseDayDi": "Tue", + "lTimeOfUseDayDo": "Thu", + "lTimeOfUseDayFr": "Fri", + "lTimeOfUseDayHd": "Independent of weekdays", + "lTimeOfUseDayMi": "Wed", + "lTimeOfUseDayMo": "Mon", + "lTimeOfUseDaySa": "Sa", + "lTimeOfUseDaySo": "Sun", + "lTimeOfUseDays": "Select days of the week", + "lTimeOfUseHelpContent": "Time-controlled power specification (time-of-use)

This operating mode is used to adapt the charging behavior of the battery to its electricity tariff.
You can determine in which time range the battery with a specified charging power is operated.

Load-controlled power setpoint at the grid-connection point (peak load shaving)

This operating mode is used to optimize the battery inverter behavior to the power exchange at the grid-connection point. With this operating mode, certain grid-exchange power outputs to which the battery inverter is adjusted depending on its power and battery capacity available can be set. Power peaks can thus be avoided.

Inactive
This operating mode is used to deactivate a performance profile temporarily.", + "lTimeOfUseHelpIntro": "On this page, you can create performance profiles for the use of different electricity tariffs. Three operating modes can be chosen from regarding the performance profiles. As a result, you can use cheap electricity and reduce your energy bills.", + "lTimeOfUseModal": "Performance profile", + "lTimeOfUseStartDate": "Date", + "lTimeOfUseStartTime": "Time", + "lTimezone": "Time zone", + "lToggelEinspeisemanagementOnOff": "Feed-in management at the grid-connection point", + "lUniqueValidation": "This serial number already exists. Please check your entry.", + "lUnitPowerConsumption": "(kWh)", + "lUnitYieldConsumption": "(kWh)", + "lUnitYieldConsumptionActual": "(kW)", + "lUsedPlantInverter": "Devices in the system", + "lUsedSlaves": "Devices in the system", + "lUserInfo": "User information", + "lUserInformation": "User information", + "lUserSettings": "User settings", + "lUsrGrFt": "User group:", + "lWarningWaitingNewSys": "QCG dialog", + "lWebConnect": "Automatically via a NTP time server", + "lWlanConfigType": "Type of connection", + "lYapAcSwitchOff": "If you lost the [TAGMODE], please proceed as follows:
1. Click on the [Next] button below
2. Within the next 20 minutes carry out one of the two following actions:
a) Go to your device and tap on the enclosure lid of the device twice in quick succession or
b) Go to your distribution board and interrupt the miniature circuit breaker (AC fuse) of your device for at least 10 seconds and for a maximum of 30 seconds.

As soon as you have successfully carried out one of these actions:
3. Enter a new password.
4. Copy the newly generated product key and save it.
5. Complete the process by clicking on the [Login] button.", + "lYapAcSwitchOffService": "To carry out the \"login\" process, please proceed as follows:
1. Enter your one-time password (token)
2. Click on the [Next] button below
3. Within the time specified carry out one of the two following actions:
a) Go to your device and tap on the enclosure lid of the device twice in quick succession or
b) Go to your distribution board and interrupt the miniature circuit breaker (AC
fuse) of your device for at least 10 seconds and for a maximum of 30 seconds.
4. Confirm the process by clicking on the [Login] button below.", + "lYapDataBase": "PUK 2.0 - Service", + "lYapKeyHeaderChangeSecret": "Please enter [TAGMODE] to generate a new product key:", + "lYapKeySetNewKeyPsk": "For logging in and creating a new password, a specific device secret of the WPA2-PSK must be entered.", + "lYapKeySetNewKeyRid": "For logging in and creating a new password, a specific device secret of the RID must be entered.", + "lYapKeyToken": "One-time password (token)", + "lYapReady": "Password guidelines PUK2.0 ready", + "lYapSerectLost": "Lost [TAGMODE]?", + "lYapServiceRemovePwd": "Information: any existing passwords for Service access are deleted when saving.", + "lYapServiceTimeExpired": "The currently saved value for the 'Expiry of SMA Service access' is in the past. Service access is not possible. Please enter a new time and save.", + "lYapServiceTimeNotSaved": "The value shown for 'Expiry SMA Service access' is not yet saved.", + "lYesSafety": "Yes (DC disconnect is Rapid Shutdown initiator)", + "lYield": "Yield", + "lYieldToday": "Today:", + "lYieldTotal": "Total:", + "lYieldYesterday": "Yesterday:", + "lcurrentComType": "Type of communication", + "lcurrentIp": "IP", + "lcurrentIpInverter": "IP address of the device", + "lcurrentNetworkName": "Network name", + "leventSearch": "Search", + "llTigoNumberStringInputs": "Number of strings", + "lloginLocked": "Your access has been blocked.", + "oChooseConf": "Select a configuration option:", + "oChooseContextMenuEnergyMeter": "In the table SMA Energy Meters found, select the following button for the desired SMA Energy Meter:", + "oChooseCountrySetting": "Select the desired country data set.", + "oChooseFile": "Select the desired file:", + "oChooseUsedEnergyMeter": "In the context menu, select Use SMA Energy Meter in the system. The SMA Energy Meter will be added to your system as installed SMA Energy Meter.", + "oConfInv": "Configure the device", + "oDontShutdown": "In order to avoid data loss, do not switch off the device during the update procedure.", + "oEnableWlan": "Activate WLAN", + "oFilenameToLong": "The name of the selected file is too long.
  • Adapt the file name or select a file with a shorter file name.
", + "oGridGuard": "Enter your personal SMA Grid Guard code:", + "oInsertGGLogin": "Enter your personal SMA Grid Guard code.", + "oNewDevicenameInput": "Enter the desired device name:", + "oNoConnectionToDevice": "The connection to the device was interrupted.
  • Reestablish the network connection to the device.
", + "oSimpleStringFailureDetection": "To activate the string-failure detection, select the option On under Activate string-failure detection.", + "oStringFailureDetection": "Procedure:
  1. To activate the string-failure detection, select the option On under Activate string-failure detection.
  2. Specify the number of connected strings per string input used.
  3. To consolidate certain string inputs into a group, activate the check box for the respective string input in the desired group column. Here, each string input can only be assigned to one group. At least two string inputs must be selected per group.
  4. Specify the tolerance limit for the string-failure detection.
  5. Specify how long the set tolerance limit has to be overstepped once a string failure has been detected before a warning is displayed in the events list of the inverter.
", + "oWlanPasswortInsert": "WPA2 password", + "tActivePowerReductionActive": "The active power limitation is active at the moment.", + "tActivePowerReductionNotActive": "The active power limitation is set, but not active at the moment.", + "tActivePowerReductionOff": "The active power limitation is deactivated.", + "tClickForSearch": "select now and search", + "tConsumptionLegend": "Power that your household has drawn from your PV system (self-consumption) and the utility grid (purchased electricity).", + "tDeactivateWlan": "You can activate or deactivate the WLAN connection of the device to the local network via the check box Activate WLAN. The WLAN settings already made are retained.", + "tDhcsServer": "The DCHP server automatically assigns the appropriate network settings to your nodes in the local network (e.g. the computer). A manual network configuration is therefore not necessary. In a local network, the router is usually the DHCP server.
With automatic configuration via DHCP, you can determine the IP address of the device assigned by the DHCP server by checking the settings of your router (refer to the router manual) or using network-scanning software.", + "tDiscardParamChange": "Discard change", + "tEventError": "Error", + "tEventErrorIncoming": "Incoming error", + "tEventErrorOutgoing": "Outgoing error", + "tEventInfo": "Information", + "tEventInfoIncoming": "Incoming information", + "tEventInfoOutgoing": "Outgoing information", + "tEventWarning": "Warning", + "tEventWarningIncoming": "Incoming warning", + "tEventWarningOutgoing": "Outgoing warning", + "tFiles": "Files", + "tHelp": "Help", + "tIpAdress": "Enter the desired IP address of the device and note it down. You will require the IP address to call up the user interface in the local network after having completed the configuration procedure.
Tip: The first three blocks of the IP address are usually identical with the IP address of your router.

The IP address is the unique identification of a node in the local network.", + "tIpDnsServer": "Enter the IP address of your DNS server here.
Tip: This is usually the IP address of your router.
A DNS server translates the more easily readable Internet addresses for the user into the required IP addresses for the devices (e.g. www.SunnyPortal.com >> 10.12.122.122).", + "tIpGateway": "Enter the IP address of your gateway.
Tip: This is usually the IP address of your router.
A gateway is the transfer point between two networks, e.g. local network and Internet.", + "tListChangeDeviceName": "Change the device names.", + "tListFwUpdate": "Update the firmware.", + "tListImportProxyCert": "Import the security certificate of your proxy server. Ask your administrator whether importing the security certificate is necessary.", + "tListLoadConfig": "Adopt configuration of a device from a file.", + "tListRemoveDevice": "Delete the device.", + "tListSaveConfig": "Save the current configuration of the device in a file.", + "tListSelfTest": "If the configured country data set requires a self-test, start the self-test.", + "tLoginGridGuard": "In order to change this parameter, you must log in with your personal SMA Grid Guard code in the menu User settings.", + "tModbusMeterHelp": "In the table with the supported Modbus energy meters, all supported energy meters are shown. By clicking on the button Search, you can search for energy meters and add them to your system.", + "tOldEnergyMeterSettings": "Select the energy meter from which the consumption data is to be obtained.

Procedure
  1. In the table Available energy meters, select the button Settings for the desired energy meter.
  2. In the context menu, select Use energy meter in the system. The energy meter is then added as installed energy meter to your system.
", + "tOptimizerStatus": "The middle column shows the number of devices with the status OK of the number of all captured devices.", + "tPasswordRules": "Password guideline
  • 8 to 12 characters
  • At least 1 lower and 1 upper case letter
  • At least 1 digit
  • Possible special characters: ?_!-
", + "tPasswortVergessen": "Forgot password?", + "tProxyserver": "A proxy server is a communication interface in the local network. Via the proxy server, the nodes in the local network can, for example, establish an Internet connection.", + "tStringFaultDetectionTolerance": "Specify the tolerance limit by which the string current may deviate from the average value of the respective group here.", + "tSubnetmask": "Enter the subnet mask of the network here.
Tip: You can usually use the standard subnet mask 255.255.255.0. If you have any questions, contact your network administrator.
The subnet mask separates network areas in the local network from each other. Together with the IP address, the subnet mask determines the address of a node in the local network. Via this address, the node can be reached inside and outside the local network (e.g. via a router connected with the Internet).", + "tUserSettings": "User settings", + "tYapPskForgot": "Where can I find the WPA2-PSK?", + "tYapRidForgot": "Where can I find the RID?", + "tYieldLegend": "Power that your PV system has fed into the utility grid.", + "lFileCfgFormat": "Configuration file format", + "lOnlineHelp": "eManual", + "lSmartView": "Smart Inverter Screen", + "1383": "Active power is limited by a specified maximum Limit", + "1500000": "SMA Solar Technology AG", + "1500001": "|raw01|", + "2000000": "Gushen" +} diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.Translation_Names.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.Translation_Names.json index 9411dc3..13ea0d4 100644 --- a/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.Translation_Names.json +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.Translation_Names.json @@ -9574,4 +9574,3 @@ "2000000": "Gushen", "lSmartViewInfo": "Can only be activated after the initial start-up by the installation assistant" } - diff --git a/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.objectMetaData.json b/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.objectMetaData.json index 962e060..808b096 100644 --- a/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.objectMetaData.json +++ b/Sources/sma2mqttLibrary/DataObjects/Resources/sma.data.objectMetaData.json @@ -288,6 +288,18 @@ 1080 ] }, + "6180_08412500": { + "Prio": 2, + "TagId": 5341, + "TagIdEvtMsg": 12969, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, "6182_08413400": { "Prio": 2, "TagId": 3822, @@ -440,6 +452,58 @@ 309 ] }, + "6100_00412F00": { + "Prio": 2, + "TagId": 5392, + "TagIdEvtMsg": 130018, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412C00": { + "Prio": 2, + "TagId": 5389, + "TagIdEvtMsg": 130015, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412E00": { + "Prio": 2, + "TagId": 5391, + "TagIdEvtMsg": 130017, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, + "6100_00412D00": { + "Prio": 2, + "TagId": 5390, + "TagIdEvtMsg": 130016, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, "6180_08412800": { "Prio": 2, "TagId": 1765, @@ -503,6 +567,18 @@ 309 ] }, + "6180_08412B00": { + "Prio": 2, + "TagId": 4572, + "TagIdEvtMsg": 12418, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ] + }, "6182_08412B00": { "Prio": 2, "TagId": 4572, @@ -510,6 +586,19 @@ "DataFrmt": 18, "Typ": 1, "WriteLevel": 5, + "TagHier": [ + 830, + 309 + ], + "Deprecated": true + }, + "6180_08412A00": { + "Prio": 2, + "TagId": 4571, + "TagIdEvtMsg": 12417, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, "TagHier": [ 830, 309 @@ -525,8 +614,74 @@ "TagHier": [ 830, 309 + ], + "Deprecated": true + }, + "6100_08412600": { + "Prio": 2, + "TagId": 5393, + "TagIdEvtMsg": 13009, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 830, + 340, + 5359 + ] + }, + "6100_00412700": { + "Prio": 2, + "TagId": 2350, + "TagIdEvtMsg": 13010, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 340 ] }, + "6100_00413000": { + "Prio": 2, + "TagId": 3223, + "TagIdEvtMsg": 13011, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 340 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true + }, + "6100_00413100": { + "Prio": 2, + "TagId": 3224, + "TagIdEvtMsg": 13012, + "Unit": 19, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 830, + 340 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true + }, "6800_08811F00": { "Prio": 4, "TagId": 3145, @@ -1047,6 +1202,18 @@ 299 ] }, + "6800_08822900": { + "Prio": 4, + "TagId": 5368, + "TagIdEvtMsg": 13001, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 831, + 299 + ] + }, "6800_10821E00": { "Prio": 4, "TagId": 284, @@ -1348,14 +1515,15 @@ "6800_08837800": { "Prio": 4, "TagId": 725, - "TagIdEvtMsg": 10309, + "TagIdEvtMsg": "lDisplayLanguage", "DataFrmt": 18, "Typ": 1, "WriteLevel": 1, "TagHier": [ 832, 56 - ] + ], + "ParaInfo": "iDisplayLanguage" }, "6800_08837900": { "Prio": 4, @@ -1614,6 +1782,27 @@ "MinD": true, "MaxD": true }, + "6102_00435A00": { + "Prio": 2, + "TagId": 5233, + "TagIdEvtMsg": 12897, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 58, + 5234 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, "6802_00835300": { "Prio": 4, "TagId": 405, @@ -2232,6 +2421,20 @@ 1426 ] }, + "6802_00830900": { + "Prio": 4, + "TagId": 5180, + "TagIdEvtMsg": 12877, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ] + }, "6102_00632300": { "Prio": 3, "TagId": 3940, @@ -2346,6 +2549,18 @@ 267 ] }, + "6802_08A33D00": { + "Prio": 5, + "TagId": 5320, + "TagIdEvtMsg": 11848, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 267 + ] + }, "6802_08832700": { "Prio": 4, "TagId": 2120, @@ -2517,6 +2732,32 @@ 267 ] }, + "6800_08A33A00": { + "Prio": 5, + "TagId": 5162, + "TagIdEvtMsg": 12864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "ParaInfo": "12864t" + }, + "6802_08A33A00": { + "Prio": 5, + "TagId": 5162, + "TagIdEvtMsg": 12864, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 267 + ], + "Deprecated": true + }, "6802_00833300": { "Prio": 4, "TagId": 380, @@ -2541,7 +2782,8 @@ "TagHier": [ 832, 267 - ] + ], + "ParaInfo": "lAfciInfo" }, "6402_00435300": { "Prio": 2, @@ -3259,6 +3501,46 @@ 1430 ] }, + "6800_08830700": { + "Prio": 4, + "TagId": 26, + "TagIdEvtMsg": 13003, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 309, + 5350 + ] + }, + "6100_00435C00": { + "Prio": 2, + "TagId": 5380, + "TagIdEvtMsg": 13002, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 5350 + ] + }, + "6180_08435D00": { + "Prio": 2, + "TagId": 5379, + "TagIdEvtMsg": 13004, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 832, + 309, + 5350 + ] + }, "6800_00832100": { "Prio": 4, "TagId": 2562, @@ -3363,6 +3645,20 @@ 309 ] }, + "6802_00830800": { + "Prio": 4, + "TagId": 5334, + "TagIdEvtMsg": 12946, + "Unit": 10, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 832, + 309 + ] + }, "6802_08832500": { "Prio": 4, "TagId": 2530, @@ -3732,6 +4028,18 @@ 394 ] }, + "6800_08990A00": { + "Prio": 4, + "TagId": 5192, + "TagIdEvtMsg": 12885, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 832, + 394 + ] + }, "6802_08831800": { "Prio": 4, "TagId": 4278, @@ -4717,6 +5025,20 @@ 3065 ] }, + "6802_08A33B00": { + "Prio": 5, + "TagId": 1690, + "TagIdEvtMsg": 12856, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 832, + 1639, + 2608 + ], + "ParaInfo": "12856t" + }, "6800_0883D100": { "Prio": 4, "TagId": 49, @@ -5813,11 +6135,11 @@ 4715 ] }, - "6182_08441F00": { - "Prio": 2, + "680E_08841F00": { + "Prio": 4, "TagId": 5105, "TagIdEvtMsg": 12829, - "DataFrmt": 18, + "DataFrmt": 23, "Typ": 1, "WriteLevel": 5, "TagHier": [ @@ -5826,8 +6148,8 @@ 5103 ] }, - "6180_08441E00": { - "Prio": 2, + "680E_08841E00": { + "Prio": 4, "TagId": 5104, "TagIdEvtMsg": 12828, "DataFrmt": 23, @@ -5952,7 +6274,8 @@ 834, 62, 1201 - ] + ], + "ParaInfo": "iSmaShadeFix" }, "6800_08855C00": { "Prio": 4, @@ -7761,7 +8084,8 @@ 834, 309, 4956 - ] + ], + "Hidden": true }, "6180_08652600": { "Prio": 3, @@ -7971,6 +8295,18 @@ "Cnt": true, "SumD": true }, + "6800_08854300": { + "Prio": 4, + "TagId": 5144, + "TagIdEvtMsg": 12851, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 834, + 309 + ] + }, "6800_08852C00": { "Prio": 4, "TagId": 4147, @@ -7981,7 +8317,8 @@ "TagHier": [ 834, 309 - ] + ], + "SortTranslation": false }, "6800_08853A00": { "Prio": 4, @@ -8171,6 +8508,90 @@ 1234 ] }, + "6802_00A52100": { + "Prio": 5, + "TagId": 5245, + "TagIdEvtMsg": 12902, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_00A52400": { + "Prio": 5, + "TagId": 5259, + "TagIdEvtMsg": 12919, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A52200": { + "Prio": 5, + "TagId": 5246, + "TagIdEvtMsg": 12903, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A51F00": { + "Prio": 5, + "TagId": 5243, + "TagIdEvtMsg": 12900, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A52300": { + "Prio": 5, + "TagId": 5247, + "TagIdEvtMsg": 12904, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, + "6802_40A52000": { + "Prio": 5, + "TagId": 5244, + "TagIdEvtMsg": 12901, + "Unit": 1275, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 834, + 4208 + ] + }, "6180_08452D00": { "Prio": 2, "TagId": 4816, @@ -10207,6 +10628,20 @@ ], "Deprecated": true }, + "6802_0886A800": { + "Prio": 4, + "TagId": 5238, + "TagIdEvtMsg": 12898, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 835, + 267, + 1080 + ] + }, "6802_40862000": { "Prio": 4, "TagId": 3805, @@ -10339,6 +10774,20 @@ 267 ] }, + "6802_0086A700": { + "Prio": 4, + "TagId": 5232, + "TagIdEvtMsg": 12896, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 835, + 267 + ] + }, "6802_00866900": { "Prio": 4, "TagId": 4357, @@ -10353,6 +10802,20 @@ 267 ] }, + "6802_0086A600": { + "Prio": 4, + "TagId": 5231, + "TagIdEvtMsg": 12895, + "Unit": 15, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 835, + 267 + ] + }, "6802_40866E00": { "Prio": 4, "TagId": 4359, @@ -10493,6 +10956,20 @@ 267 ] }, + "6802_0086A900": { + "Prio": 4, + "TagId": 5264, + "TagIdEvtMsg": 12920, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 3, + "TagHier": [ + 835, + 267 + ] + }, "6802_40866800": { "Prio": 4, "TagId": 4356, @@ -13376,7 +13853,7 @@ }, "6800_00869A00": { "Prio": 4, - "TagId": 2244, + "TagId": 372, "TagIdEvtMsg": 11112, "DataFrmt": 15, "Scale": 1, @@ -13429,7 +13906,7 @@ }, "6800_00869B00": { "Prio": 4, - "TagId": 2244, + "TagId": 372, "TagIdEvtMsg": 11113, "DataFrmt": 15, "Scale": 1, @@ -13482,7 +13959,7 @@ }, "6800_00869C00": { "Prio": 4, - "TagId": 2244, + "TagId": 372, "TagIdEvtMsg": 11114, "DataFrmt": 15, "Scale": 1, @@ -14391,6 +14868,18 @@ 309 ] }, + "6802_08A62400": { + "Prio": 5, + "TagId": 5310, + "TagIdEvtMsg": 12945, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, "6802_08862600": { "Prio": 4, "TagId": 2559, @@ -14403,6 +14892,19 @@ 309 ] }, + "6802_0086AE00": { + "Prio": 4, + "TagId": 5282, + "TagIdEvtMsg": 12930, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, "6800_0886A400": { "Prio": 4, "TagId": 5051, @@ -14415,6 +14917,18 @@ 309 ] }, + "6800_0886AF00": { + "Prio": 4, + "TagId": 5289, + "TagIdEvtMsg": 12939, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 835, + 309 + ] + }, "6180_0846A700": { "Prio": 2, "TagId": 1460, @@ -15393,7 +15907,7 @@ 4936 ] }, - "6800_0086AA00": { + "6800_0086AC00": { "Prio": 4, "TagId": 1761, "TagIdEvtMsg": 11036, @@ -15401,7 +15915,7 @@ "DataFrmt": 2, "Scale": 0.01, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 2, "TagHier": [ 835, 2113 @@ -16628,6 +17142,20 @@ 4191 ] }, + "6802_00A62300": { + "Prio": 5, + "TagId": 5281, + "TagIdEvtMsg": 12929, + "Unit": 1, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 835, + 4208 + ] + }, "6100_00572800": { "Prio": 2, "TagId": 2359, @@ -16712,6 +17240,141 @@ "MaxD": true, "Deprecated": true }, + "6100_40574600": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12983, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 38 + ] + }, + "6100_40574700": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12984, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 38 + ] + }, + "6100_40574800": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12985, + "Unit": 3, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 38 + ] + }, + "6100_00574300": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12980, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 441 + ] + }, + "6100_00574400": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12981, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 441 + ] + }, + "6100_00574500": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12982, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 441 + ] + }, + "6100_40574900": { + "Prio": 2, + "TagId": 325, + "TagIdEvtMsg": 12986, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 450 + ] + }, + "6100_40574A00": { + "Prio": 2, + "TagId": 327, + "TagIdEvtMsg": 12987, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 450 + ] + }, + "6100_40574B00": { + "Prio": 2, + "TagId": 329, + "TagIdEvtMsg": 12988, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 835, + 5332, + 450 + ] + }, "6100_00574100": { "Prio": 2, "TagId": 4785, @@ -16896,6 +17559,24 @@ 1332 ] }, + "6802_00876B00": { + "Prio": 4, + "TagId": 5340, + "TagIdEvtMsg": 12964, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, "6802_08879900": { "Prio": 4, "TagId": 50, @@ -16912,6 +17593,24 @@ 1332 ] }, + "6802_00876A00": { + "Prio": 4, + "TagId": 5339, + "TagIdEvtMsg": 12963, + "Unit": 4314, + "DataFrmt": 23, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 836, + 229, + 53, + 28, + 1332 + ] + }, "6802_0087A600": { "Prio": 4, "TagId": 2520, @@ -17536,7 +18235,8 @@ 229, 53, 222 - ] + ], + "Deprecated": true }, "6802_00878E00": { "Prio": 4, @@ -17586,7 +18286,8 @@ 229, 53, 222 - ] + ], + "Deprecated": true }, "6802_08877E00": { "Prio": 4, @@ -17981,6 +18682,7 @@ "Scale": 0.001, "Typ": 0, "WriteLevel": 2, + "GridGuard": true, "TagHier": [ 836, 229, @@ -18360,7 +19062,8 @@ 229, 53, 442 - ] + ], + "Deprecated": true }, "6802_00877800": { "Prio": 4, @@ -18443,7 +19146,8 @@ 229, 53, 442 - ] + ], + "Deprecated": true }, "6802_00877600": { "Prio": 4, @@ -18727,6 +19431,21 @@ 53 ] }, + "6802_00874B00": { + "Prio": 4, + "TagId": 5151, + "TagIdEvtMsg": 12852, + "Unit": 11, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 836, + 229, + 53 + ] + }, "6802_08872000": { "Prio": 4, "TagId": 1369, @@ -21032,6 +21751,19 @@ 46 ] }, + "6102_00693C00": { + "Prio": 3, + "TagId": 5291, + "TagIdEvtMsg": 12940, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, "6802_00894300": { "Prio": 4, "TagId": 2542, @@ -21198,6 +21930,18 @@ "MinD": true, "MaxD": true }, + "6800_08895A00": { + "Prio": 4, + "TagId": 5279, + "TagIdEvtMsg": 12927, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, "6100_00497300": { "Prio": 2, "TagId": 2653, @@ -21348,6 +22092,19 @@ "MinD": true, "MaxD": true }, + "6102_00493100": { + "Prio": 2, + "TagId": 5295, + "TagIdEvtMsg": 12942, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 46 + ] + }, "6100_00495400": { "Prio": 2, "TagId": 3189, @@ -21750,6 +22507,34 @@ 46 ] }, + "6802_00894B00": { + "Prio": 4, + "TagId": 2428, + "TagIdEvtMsg": 12858, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, + "6802_00894C00": { + "Prio": 4, + "TagId": 2430, + "TagIdEvtMsg": 12859, + "Unit": 18, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 46 + ] + }, "6800_08892B00": { "Prio": 4, "TagId": 3804, @@ -21886,6 +22671,19 @@ 915 ] }, + "6802_00894900": { + "Prio": 4, + "TagId": 5155, + "TagIdEvtMsg": 12855, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 309 + ] + }, "6100_00491F00": { "Prio": 2, "TagId": 4656, @@ -21906,6 +22704,30 @@ "Cnt": true, "SumD": true }, + "6182_08493D00": { + "Prio": 2, + "TagId": 5294, + "TagIdEvtMsg": 12941, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ] + }, + "6182_08493E00": { + "Prio": 2, + "TagId": 5297, + "TagIdEvtMsg": 12943, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 5, + "TagHier": [ + 838, + 309 + ] + }, "6802_00893200": { "Prio": 4, "TagId": 4190, @@ -22109,6 +22931,46 @@ 1733 ] }, + "6200_00493F00": { + "Prio": 2, + "TagId": 5321, + "TagIdEvtMsg": 12973, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, + "6100_00493F00": { + "Prio": 2, + "TagId": 5321, + "TagIdEvtMsg": 12973, + "Unit": 14, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 838, + 1733 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, "6200_00693300": { "Prio": 3, "TagId": 1758, @@ -22360,6 +23222,48 @@ "Sum": true, "SumD": true }, + "6802_00A91F00": { + "Prio": 5, + "TagId": 5149, + "TagIdEvtMsg": 12853, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00A92000": { + "Prio": 5, + "TagId": 5150, + "TagIdEvtMsg": 12854, + "Unit": 34, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, + "6802_00A92100": { + "Prio": 5, + "TagId": 5280, + "TagIdEvtMsg": 12928, + "Unit": 6, + "DataFrmt": 7, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 1733 + ] + }, "6402_00497900": { "Prio": 2, "TagId": 2536, @@ -23113,6 +24017,20 @@ 2532 ] }, + "6802_00894A00": { + "Prio": 4, + "TagId": 5157, + "TagIdEvtMsg": 12857, + "Unit": 1, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 838, + 2532 + ] + }, "6802_00894F00": { "Prio": 4, "TagId": 2565, @@ -23393,9 +24311,22 @@ 2314 ] }, + "6800_088AA100": { + "Prio": 4, + "TagId": 823, + "TagIdEvtMsg": 12961, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 839, + 290, + 2314 + ] + }, "6800_008AA200": { "Prio": 4, - "TagId": 2244, + "TagId": 372, "TagIdEvtMsg": 11173, "DataFrmt": 15, "Scale": 1, @@ -23519,7 +24450,7 @@ "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 2, "TagHier": [ 839, 309 @@ -25567,6 +26498,42 @@ 210 ] }, + "6802_10AB2600": { + "Prio": 5, + "TagId": 5266, + "TagIdEvtMsg": 12921, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6802_10AB2700": { + "Prio": 5, + "TagId": 5267, + "TagIdEvtMsg": 12922, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, + "6802_10AB2800": { + "Prio": 5, + "TagId": 5268, + "TagIdEvtMsg": 12923, + "DataFrmt": 27, + "Typ": 2, + "WriteLevel": 2, + "TagHier": [ + 840, + 210 + ] + }, "6800_10AB2200": { "Prio": 5, "TagId": 717, @@ -25779,6 +26746,26 @@ 4246 ] }, + "6102_004B2D00": { + "Prio": 2, + "TagId": 5174, + "TagIdEvtMsg": 12876, + "Unit": 13, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 840, + 309 + ], + "Min": true, + "Max": true, + "Avg": true, + "Cnt": true, + "MinD": true, + "MaxD": true + }, "6800_088B3400": { "Prio": 4, "TagId": 1625, @@ -25896,6 +26883,61 @@ 4246 ] }, + "6802_088B4300": { + "Prio": 4, + "TagId": 4760, + "TagIdEvtMsg": 12880, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6802_008B4500": { + "Prio": 4, + "TagId": 5225, + "TagIdEvtMsg": 12891, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6802_008B4600": { + "Prio": 4, + "TagId": 5226, + "TagIdEvtMsg": 12892, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, + "6802_008B4700": { + "Prio": 4, + "TagId": 5227, + "TagIdEvtMsg": 12893, + "DataFrmt": 23, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 840, + 1628, + 5183 + ] + }, "6800_088B7000": { "Prio": 4, "TagId": 733, @@ -26312,6 +27354,18 @@ 5079 ] }, + "6800_088C2300": { + "Prio": 4, + "TagId": 5349, + "TagIdEvtMsg": 12970, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 841, + 360 + ] + }, "6800_088C2200": { "Prio": 4, "TagId": 4959, @@ -27372,6 +28426,7 @@ "TagId": 3948, "TagIdEvtMsg": 11940, "DataFrmt": 6, + "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ @@ -27398,6 +28453,7 @@ "TagId": 3947, "TagIdEvtMsg": 11939, "DataFrmt": 6, + "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ @@ -27867,6 +28923,7 @@ "TagId": 3951, "TagIdEvtMsg": 11943, "DataFrmt": 6, + "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ @@ -27879,6 +28936,7 @@ "TagId": 3950, "TagIdEvtMsg": 11942, "DataFrmt": 6, + "Scale": 1, "Typ": 0, "WriteLevel": 2, "TagHier": [ @@ -28033,6 +29091,18 @@ 309 ] }, + "6802_088EA400": { + "Prio": 4, + "TagId": 3741, + "TagIdEvtMsg": 13014, + "DataFrmt": 25, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, "6400_004E8B00": { "Prio": 2, "TagId": 3740, @@ -28216,6 +29286,20 @@ "MinD": true, "MaxD": true }, + "6802_408EA300": { + "Prio": 4, + "TagId": 5386, + "TagIdEvtMsg": 13005, + "Unit": 5, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 843, + 309 + ] + }, "6802_008E8400": { "Prio": 4, "TagId": 3724, @@ -28724,6 +29808,26 @@ 1639 ] }, + "6100_404E4200": { + "Prio": 2, + "TagId": 5300, + "TagIdEvtMsg": 12944, + "Unit": 14, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 843, + 1639 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, "6800_008E2D00": { "Prio": 4, "TagId": 200066, @@ -28744,7 +29848,7 @@ "TagIdEvtMsg": 200076, "Unit": 14, "DataFrmt": 2, - "Scale": 1, + "Scale": 0.01, "Typ": 0, "WriteLevel": 2, "TagHier": [ @@ -29529,6 +30633,7 @@ "Prio": 2, "TagId": 4855, "TagIdEvtMsg": 12666, + "Unit": 4948, "DataFrmt": 2, "Scale": 0.01, "Typ": 0, @@ -32865,6 +33970,20 @@ 1072 ] }, + "6802_08965D00": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12955, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, "6802_0092EA00": { "Prio": 4, "TagId": 2502, @@ -32881,6 +34000,52 @@ 1072 ] }, + "6802_00965B00": { + "Prio": 4, + "TagId": 5254, + "TagIdEvtMsg": 12953, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1072 + ] + }, + "6802_08965E00": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12956, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 5312 + ] + }, + "6802_00965C00": { + "Prio": 4, + "TagId": 5254, + "TagIdEvtMsg": 12954, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 5312 + ] + }, "6802_0895B800": { "Prio": 4, "TagId": 4876, @@ -32984,6 +34149,38 @@ 1079 ] }, + "6802_00963800": { + "Prio": 4, + "TagId": 5159, + "TagIdEvtMsg": 12861, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, + "6802_00963700": { + "Prio": 4, + "TagId": 5158, + "TagIdEvtMsg": 12860, + "Unit": 18, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, "6802_4095AC00": { "Prio": 4, "TagId": 4486, @@ -33016,6 +34213,22 @@ 1079 ] }, + "6802_40966400": { + "Prio": 4, + "TagId": 5354, + "TagIdEvtMsg": 12991, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, "6802_4095AB00": { "Prio": 4, "TagId": 4485, @@ -33032,6 +34245,22 @@ 1079 ] }, + "6802_40966300": { + "Prio": 4, + "TagId": 5353, + "TagIdEvtMsg": 12990, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, "6802_0092E800": { "Prio": 4, "TagId": 2513, @@ -33048,6 +34277,20 @@ 1079 ] }, + "6802_08965900": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12959, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, "6802_0092E700": { "Prio": 4, "TagId": 2502, @@ -33064,6 +34307,22 @@ 1079 ] }, + "6802_00965700": { + "Prio": 4, + "TagId": 5252, + "TagIdEvtMsg": 12957, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 1079 + ] + }, "6802_0895AA00": { "Prio": 4, "TagId": 2501, @@ -33094,6 +34353,22 @@ 4490 ] }, + "6802_40966600": { + "Prio": 4, + "TagId": 5354, + "TagIdEvtMsg": 12993, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, "6802_4095AD00": { "Prio": 4, "TagId": 4485, @@ -33110,6 +34385,36 @@ 4490 ] }, + "6802_40966500": { + "Prio": 4, + "TagId": 5353, + "TagIdEvtMsg": 12992, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, + "6802_08965A00": { + "Prio": 4, + "TagId": 5313, + "TagIdEvtMsg": 12960, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, "6802_0095B000": { "Prio": 4, "TagId": 2502, @@ -33126,6 +34431,22 @@ 4490 ] }, + "6802_00965800": { + "Prio": 4, + "TagId": 5252, + "TagIdEvtMsg": 12958, + "Unit": 4508, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 2500, + 4490 + ] + }, "6802_08955C00": { "Prio": 4, "TagId": 4875, @@ -36800,6 +38121,40 @@ 4522 ] }, + "6802_00964B00": { + "Prio": 4, + "TagId": 5254, + "TagIdEvtMsg": 12907, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ], + "Deprecated": true + }, + "6802_08964C00": { + "Prio": 4, + "TagId": 5255, + "TagIdEvtMsg": 12908, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1024, + 4389, + 4522 + ], + "Deprecated": true + }, "6802_00958600": { "Prio": 4, "TagId": 4410, @@ -37380,6 +38735,25 @@ "Typ": 0, "WriteLevel": 2, "GridGuard": true, + "TagHier": [ + 847, + 267, + 1024, + 1025, + 4522 + ], + "Deprecated": true + }, + "6802_00964800": { + "Prio": 4, + "TagId": 5230, + "TagIdEvtMsg": 12894, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "GridGuard": true, "TagHier": [ 847, 267, @@ -38824,6 +40198,22 @@ 1049 ] }, + "6802_00965F00": { + "Prio": 4, + "TagId": 2042, + "TagIdEvtMsg": 12968, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1049 + ] + }, "6802_08953A00": { "Prio": 4, "TagId": 1068, @@ -38840,6 +40230,40 @@ 4522 ] }, + "6802_00964900": { + "Prio": 4, + "TagId": 5252, + "TagIdEvtMsg": 12905, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ], + "Deprecated": true + }, + "6802_08964A00": { + "Prio": 4, + "TagId": 5253, + "TagIdEvtMsg": 12906, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 1193, + 4522 + ], + "Deprecated": true + }, "6802_00953C00": { "Prio": 4, "TagId": 4489, @@ -39864,6 +41288,192 @@ 4998 ] }, + "6802_00963A00": { + "Prio": 4, + "TagId": 5185, + "TagIdEvtMsg": 12870, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_08963900": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12869, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_08963E00": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12874, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963F00": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12875, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963C00": { + "Prio": 4, + "TagId": 5189, + "TagIdEvtMsg": 12872, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963B00": { + "Prio": 4, + "TagId": 5188, + "TagIdEvtMsg": 12871, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964300": { + "Prio": 4, + "TagId": 2009, + "TagIdEvtMsg": 12886, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964400": { + "Prio": 4, + "TagId": 2008, + "TagIdEvtMsg": 12887, + "Unit": 7, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964100": { + "Prio": 4, + "TagId": 5187, + "TagIdEvtMsg": 12879, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00964000": { + "Prio": 4, + "TagId": 5186, + "TagIdEvtMsg": 12878, + "Unit": 7, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_08962B00": { + "Prio": 4, + "TagId": 4875, + "TagIdEvtMsg": 12881, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, + "6802_00963D00": { + "Prio": 4, + "TagId": 1055, + "TagIdEvtMsg": 12873, + "Unit": 4508, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 267, + 1048, + 5184 + ] + }, "6802_0095E600": { "Prio": 4, "TagId": 1607, @@ -39965,6 +41575,21 @@ 4512 ] }, + "6802_0895C000": { + "Prio": 4, + "TagId": 4484, + "TagIdEvtMsg": 12926, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "GridGuard": true, + "TagHier": [ + 847, + 267, + 1048, + 4512 + ] + }, "6802_0895FC00": { "Prio": 4, "TagId": 4416, @@ -40352,6 +41977,18 @@ 267 ] }, + "6802_08964D00": { + "Prio": 4, + "TagId": 5258, + "TagIdEvtMsg": 12909, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 267 + ] + }, "6802_00922200": { "Prio": 4, "TagId": 1029, @@ -40399,7 +42036,7 @@ "Prio": 4, "TagId": 1055, "TagIdEvtMsg": 10479, - "Unit": 1, + "Unit": 4508, "DataFrmt": 0, "Scale": 1, "Typ": 0, @@ -40470,7 +42107,7 @@ "Prio": 4, "TagId": 3685, "TagIdEvtMsg": 10646, - "Unit": 1, + "Unit": 4508, "DataFrmt": 2, "Scale": 0.01, "Typ": 0, @@ -41268,6 +42905,234 @@ 1230 ] }, + "6802_00966A00": { + "Prio": 4, + "TagId": 5361, + "TagIdEvtMsg": 12996, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966B00": { + "Prio": 4, + "TagId": 5362, + "TagIdEvtMsg": 12997, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_08966800": { + "Prio": 4, + "TagId": 4411, + "TagIdEvtMsg": 12972, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_08966D00": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12999, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966E00": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 13000, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966C00": { + "Prio": 4, + "TagId": 5363, + "TagIdEvtMsg": 12998, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_00966900": { + "Prio": 4, + "TagId": 5360, + "TagIdEvtMsg": 12995, + "Unit": 13, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5359 + ] + }, + "6802_08965000": { + "Prio": 4, + "TagId": 4828, + "TagIdEvtMsg": 12933, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965400": { + "Prio": 4, + "TagId": 4829, + "TagIdEvtMsg": 12937, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_08964F00": { + "Prio": 4, + "TagId": 5284, + "TagIdEvtMsg": 12932, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965300": { + "Prio": 4, + "TagId": 5285, + "TagIdEvtMsg": 12936, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_08965100": { + "Prio": 4, + "TagId": 4908, + "TagIdEvtMsg": 12934, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965500": { + "Prio": 4, + "TagId": 4907, + "TagIdEvtMsg": 12938, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_08964E00": { + "Prio": 4, + "TagId": 4381, + "TagIdEvtMsg": 12931, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00965200": { + "Prio": 4, + "TagId": 4382, + "TagIdEvtMsg": 12935, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 5283 + ] + }, + "6802_00964700": { + "Prio": 4, + "TagId": 5220, + "TagIdEvtMsg": 12890, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, "6802_00962E00": { "Prio": 4, "TagId": 5089, @@ -41328,6 +43193,36 @@ 2510 ] }, + "6802_00964500": { + "Prio": 4, + "TagId": 5218, + "TagIdEvtMsg": 12888, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, + "6802_00964600": { + "Prio": 4, + "TagId": 5219, + "TagIdEvtMsg": 12889, + "Unit": 4314, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080, + 2510 + ] + }, "6802_40960A00": { "Prio": 4, "TagId": 1356, @@ -41476,6 +43371,34 @@ 2509 ] }, + "6800_40966F00": { + "Prio": 4, + "TagId": 3590, + "TagIdEvtMsg": 13007, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6800_40967000": { + "Prio": 4, + "TagId": 1465, + "TagIdEvtMsg": 13008, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, "6802_0892D500": { "Prio": 4, "TagId": 733, @@ -41488,6 +43411,46 @@ 1080 ] }, + "6802_08B22700": { + "Prio": 5, + "TagId": 5352, + "TagIdEvtMsg": 12989, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6802_00965600": { + "Prio": 4, + "TagId": 5323, + "TagIdEvtMsg": 12974, + "Unit": 13, + "DataFrmt": 3, + "Scale": 0.001, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, + "6802_00966700": { + "Prio": 4, + "TagId": 5358, + "TagIdEvtMsg": 12971, + "Unit": 1, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 1080 + ] + }, "6100_00524200": { "Prio": 2, "TagId": 4281, @@ -41918,6 +43881,19 @@ 1343 ] }, + "6A02_00964200": { + "Prio": 4, + "TagId": 5170, + "TagIdEvtMsg": 12882, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, "6800_0892D900": { "Prio": 4, "TagId": 2136, @@ -41930,6 +43906,20 @@ 2113 ] }, + "6802_00B22600": { + "Prio": 5, + "TagId": 5248, + "TagIdEvtMsg": 12899, + "Unit": 13, + "DataFrmt": 1, + "Scale": 0.1, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, "6800_0092CA00": { "Prio": 4, "TagId": 4796, @@ -42075,6 +44065,46 @@ 2113 ] }, + "6802_08966000": { + "Prio": 4, + "TagId": 1068, + "TagIdEvtMsg": 12965, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_00966200": { + "Prio": 4, + "TagId": 4489, + "TagIdEvtMsg": 12967, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, + "6802_00966100": { + "Prio": 4, + "TagId": 4488, + "TagIdEvtMsg": 12966, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 2, + "TagHier": [ + 847, + 2113 + ] + }, "6800_0092D700": { "Prio": 4, "TagId": 315, @@ -42109,7 +44139,7 @@ "DataFrmt": 0, "Scale": 1, "Typ": 0, - "WriteLevel": 1, + "WriteLevel": 2, "GridGuard": true, "TagHier": [ 847, @@ -42122,7 +44152,7 @@ "TagIdEvtMsg": 10029, "DataFrmt": 18, "Typ": 1, - "WriteLevel": 1, + "WriteLevel": 2, "GridGuard": true, "TagHier": [ 847, @@ -42779,6 +44809,48 @@ "Cnt": true, "SumD": true }, + "6100_40533D00": { + "Prio": 2, + "TagId": 5317, + "TagIdEvtMsg": 12951, + "Unit": 33, + "DataFrmt": 0, + "Scale": 1, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, + "6100_40533C00": { + "Prio": 2, + "TagId": 5316, + "TagIdEvtMsg": 12950, + "Unit": 4508, + "DataFrmt": 2, + "Scale": 0.01, + "Typ": 0, + "WriteLevel": 5, + "TagHier": [ + 848, + 290, + 3051 + ], + "Min": true, + "Max": true, + "Sum": true, + "Avg": true, + "Cnt": true, + "SumD": true + }, "6800_08932800": { "Prio": 4, "TagId": 3047, @@ -43948,7 +46020,7 @@ "Prio": 2, "TagId": 4982, "TagIdEvtMsg": 12752, - "DataFrmt": 1, + "DataFrmt": 0, "Scale": 1, "Typ": 0, "WriteLevel": 5, @@ -44061,6 +46133,30 @@ 4715 ] }, + "6800_08983100": { + "Prio": 4, + "TagId": 5172, + "TagIdEvtMsg": 12884, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, + "6800_08983000": { + "Prio": 4, + "TagId": 5171, + "TagIdEvtMsg": 12883, + "DataFrmt": 18, + "Typ": 1, + "WriteLevel": 1, + "TagHier": [ + 853, + 4715 + ] + }, "6802_00982300": { "Prio": 4, "TagId": 4726, diff --git a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift index 3747d06..e61ab48 100644 --- a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift @@ -8,13 +8,20 @@ import Foundation import JLog + struct SMATagTranslator { typealias ObjectIDString = String let smaObjectDefinitions: [ObjectIDString: SMADataObject] let translations: [Int: String] - let objectsAndPaths: [ObjectIDString: String] + let objectsAndPaths: [ObjectIDString: SimpleObject] + + struct SimpleObject:Codable + { + let path:String + let format:Int + } static var shared: SMATagTranslator = .init(definitionData: nil, translationData: nil) @@ -47,15 +54,21 @@ struct SMATagTranslator objectsAndPaths = Dictionary(uniqueKeysWithValues: smaObjectDefinitions.map { key, value in + var tags = value.TagHier tags.append(value.TagId) - return (key, tags.map { translations[$0] ?? "tag-\(String($0))" } + + let path = tags.map { translations[$0] ?? "tag-\(String($0))" } .map { $0.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } } .joined(separator: "/") - .replacing(#/ /#) { _ in "-" }) + .replacing(#/ /#) { _ in "-" } + + let simpleObject = SimpleObject(path: path, format: value.DataFrmt) + + return (key,simpleObject) }) - JLog.trace("Objects and Paths:\(objectsAndPaths)") + JLog.trace("Objects and Paths:\(objectsAndPaths.json)") } func translate(tag: Int) -> String { translations[tag] ?? "tag-\(String(tag))" } @@ -69,5 +82,5 @@ struct SMATagTranslator return [String]() } - var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.hasSuffix("type-label/device-name") }.map(\.key) } + var devicenameObjectIDs: [String] { objectsAndPaths.filter { $0.value.path.hasSuffix("type-label/device-name") }.map(\.key) } } diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index eb60849..5726ab9 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -25,12 +25,13 @@ public actor SMADevice public var lastSeen = Date.distantPast - var loggedIn = false var scheme = "https" let httpClient: HTTPClient + private var sessionid: String? let udpEmitter: UDPEmitter? - var udpSerial: Int? + var udpSystemId: UInt16 = 0xFFFF + var udpSerial: UInt32 = 0xFFFF_FFFF var udpLoggedIn = false var udpSession: Int? var udpPacketCounter = 1 @@ -38,19 +39,10 @@ public actor SMADevice private var hasDeviceName = false public var name: String { willSet { hasDeviceName = true } } - private var sessionid: String? private var refreshTask: Task? private var tagTranslator = SMATagTranslator.shared - public enum UserRight: String - { - case user = "usr" - case installer = "istl" - case service = "svc" - case developer = "dvlp" - } - - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 10, interestingPaths: [String] = [], requestAllObjects: Bool = false, udpEmitter: UDPEmitter? = nil) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 1, interestingPaths: [String] = [], requestAllObjects: Bool = false, udpEmitter: UDPEmitter? = nil) async throws { self.address = address self.userright = userright @@ -74,7 +66,8 @@ public actor SMADevice do { try await Task.sleep(nanoseconds: UInt64(refreshInterval) * UInt64(NSEC_PER_SEC)) - try await self.queryInterestingObjects() +// try await self.httpQueryInterestingObjects() + try await self.udpQueryInterestingObjects() errorcounter = 0 } catch @@ -91,27 +84,6 @@ public actor SMADevice public extension SMADevice { - func encodePassword(password: String, usertype: UInt8 = 0x88) -> [UInt8] - { - let paddedPassword = password.padding(toLength: 12, withPad: "\0", startingAt: 0) - let passwordData = Data(paddedPassword.utf8) - - var encoded: [UInt8] = [] - for byte in passwordData - { - let calculate = UInt8((Int(byte) + Int(usertype)) % 256) - encoded.append(calculate) - } - - return encoded - } - - func getPacketCounter() -> UInt16 - { - udpPacketCounter = (udpPacketCounter + 1) - return UInt16(udpPacketCounter | 0x8000) - } - func receivedUDPData(_ data: Data) async -> SMAPacket? { lastSeen = Date() @@ -129,6 +101,37 @@ public extension SMADevice do { smaPacket = try SMAPacket(data: data) + + if let netPacket = smaPacket.netPacket + { + udpLoggedIn = netPacket.isLoggedIn + udpSystemId = netPacket.header.sourceSystemId + udpSerial = netPacket.header.sourceSerial + + + for value in netPacket.values + { + if 0xfffd == netPacket.header.u16command + { + continue + } + let objectID = String(format:"%04X_%02X%04X00",netPacket.header.u16command,value.type,value.address) + JLog.trace("\(address): objectid:\(objectID)") + + if let simpleObject = tagTranslator.objectsAndPaths[objectID] + { + JLog.trace("\(address): objectid:\(objectID) name:\(simpleObject.json)") + + try? await publisher?.publish(to: name + "/" + simpleObject.path, payload: value.json, qos: .atMostOnce, retain: false) + } + else + { + JLog.error("\(address): objectid not known \(objectID)") + } + + } + + } } catch { @@ -150,8 +153,41 @@ public extension SMADevice return smaPacket } + + func getNextPacketCounter() -> Int + { + udpPacketCounter = (udpPacketCounter + 1) + return udpPacketCounter + } + + func udpQueryInterestingObjects() async throws + { + let packetcounter = getNextPacketCounter() + + let packetToSend:String + + if !udpLoggedIn + { + packetToSend = try SMAPacketGenerator.generateLoginPacket(packetcounter: packetcounter, password: password, userRight: .user) + } + else + { + let objectIDs = Array(objectsToQueryContinously) + let queryobject = objectIDs[(packetcounter % objectIDs.count)] + + packetToSend = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: packetcounter, objectID: queryobject,dstSystemId: udpSystemId,dstSerial: udpSerial) + } + + JLog.trace("\(address): sending udp packet:\(packetToSend)") + await udpEmitter?.sendPacket(data: [UInt8](packetToSend.hexStringToData()), address: address,port: 9522) + + } + } + + + extension SMADevice { enum DeviceError: Error @@ -161,8 +197,11 @@ extension SMADevice case invalidDataError(String) case invalidHTTPResponseError case loginFailed + case packetGenerationError(String) } + + func findOutDeviceNameAndType() async throws { JLog.debug("\(address):find out device type") @@ -196,6 +235,9 @@ extension SMADevice let definitionData = try await data(forPath: "/data/ObjectMetadata_Istl.json").bodyData let translationData = try await data(forPath: "/data/l10n/en-US.json").bodyData +// try definitionData.write(to: URL(filePath:"/Users/jolly/Desktop/\(address).definition.json")) +// try translationData.write(to:URL(filePath:"/Users/jolly/Desktop/\(address).translationData.json")) + tagTranslator = SMATagTranslator(definitionData: definitionData, translationData: translationData) } catch @@ -206,7 +248,7 @@ extension SMADevice JLog.debug("\(address):SMA device found - logging in now") // login now - sessionid = try await login() + sessionid = try await httpLogin() JLog.debug("\(address):Successfull login") // get first time data @@ -247,18 +289,20 @@ extension SMADevice } } - func queryInterestingObjects() async throws + + func httpQueryInterestingObjects() async throws { if sessionid == nil { JLog.debug("\(address):Will Login") - sessionid = try await login() + sessionid = try await httpLogin() } JLog.debug("\(address):Successfull login") try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously)) } - func login() async throws -> String + + func httpLogin() async throws -> String { JLog.debug("\(address):Login") @@ -358,7 +402,7 @@ extension SMADevice JLog.trace("\(address):working on objectId:\(objectId.key)") let singleValue = PublishedValue(objectID: objectId.key, values: objectId.value.values, tagTranslator: tagTranslator) - let mqttPath = name.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } + "/" + (tagTranslator.objectsAndPaths[objectId.key] ?? "unkown-id-\(objectId.key)") + let mqttPath = name.lowercased().replacing(#/[\\\/\s]+/#) { _ in "-" } + "/" + (tagTranslator.objectsAndPaths[objectId.key]?.path ?? "unkown-id-\(objectId.key)") retrievedInformation[mqttPath] = singleValue diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 8cca1ec..c356bca 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -8,6 +8,16 @@ import Foundation import JLog + +public enum UserRight: String +{ + case user = "usr" + case installer = "istl" + case service = "svc" + case developer = "dvlp" +} + + public actor SMALighthouse { let password: String @@ -53,7 +63,7 @@ public actor SMALighthouse try? await Task.sleep(for: .seconds(5)) guard !Task.isCancelled else { return } JLog.debug("sending discovery packet") - await sendDiscoveryPacketIfNeeded() + try? await sendDiscoveryPacketIfNeeded() } } } @@ -95,13 +105,23 @@ public actor SMALighthouse public func shutdown() async throws { await mcastReceiver.shutdown() } - private func sendDiscoveryPacketIfNeeded() async + + var hassentlogin = false + private func sendDiscoveryPacketIfNeeded() async throws { guard Date().timeIntervalSince(lastDiscoveryRequestDate) > disoveryRequestInterval else { return } - let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] - await mcastReceiver.sendPacket(data: data, address: mcastAddress, port: mcastPort) - lastDiscoveryRequestDate = Date() +// let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] +// await mcastReceiver.sendPacket(data: data, address: mcastAddress, port: mcastPort) +// lastDiscoveryRequestDate = Date() + + let loginPacket = try SMAPacketGenerator.generateLoginPacket(packetcounter: 0, password: password, userRight: .user) + + if !hassentlogin + { + await mcastReceiver.sendPacket(data: [UInt8](loginPacket.hexStringToData()), address: mcastAddress, port: mcastPort) + } + hassentlogin = true } public func receiveNext() async throws diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift index 0f20010..284f0f1 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift @@ -16,6 +16,12 @@ public struct SMANetPacket: Codable let directvalue: String? } +extension SMANetPacket +{ + var isLoggedIn:Bool { get { return header.u16result == 0 } } +} + + extension SMANetPacket: BinaryDecodable { public init(fromBinary decoder: BinaryDecoder) throws @@ -37,13 +43,13 @@ extension SMANetPacket: BinaryDecodable let valuesize: Int - switch header.valuestype + switch header.u8valuestype { case 0x01, 0x04: guard decoder.countToEnd >= 4 else { throw PacketError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } let startvalue = try Int(decoder.decode(UInt32.self).littleEndian) valuesheader.append(startvalue) - valuesize = header.valuestype == 0x01 ? 16 : decoder.countToEnd + valuesize = header.u8valuestype == 0x01 ? 16 : decoder.countToEnd case 0x02: guard decoder.countToEnd >= 8 else { throw PacketError.decoding("Valueheader too short header:\(header) toEnd:\(decoder.countToEnd)") } @@ -74,7 +80,7 @@ extension SMANetPacket: BinaryDecodable } case 0x00: valuesize = decoder.countToEnd // keepalive packet - default: throw PacketError.decoding("unknown valuestype:\(header.valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + default: throw PacketError.decoding("unknown valuestype:\(header.u8valuestype) header:\(header) toEnd:\(decoder.countToEnd)") } if valuesize > 0 @@ -94,3 +100,5 @@ extension SMANetPacket: BinaryDecodable self.directvalue = directvalue } } + + diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift index ae33ddc..4855485 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift @@ -11,28 +11,30 @@ import JLog struct SMANetPacketHeader: Codable { - let quaterlength: UInt8 // 0 - let type: UInt8 // 1 +// let quaterlength: UInt8 // 0 + let u8type: UInt8 // 1 - let sourceSystemId: UInt16 // 2-3 - let sourceSerial: UInt32 // 4-7 + let destinationSystemId: UInt16 // 2,3 + let destinationSerial: UInt32 // 4-7 - let unknown1: UInt8 // 8 always 0x00 - let unknown2: UInt8 // 9 0x01 0xa1 0xe1 + let u8padding8: UInt8 // 8 always 0x00 + let u8p9: UInt8 // 9 0x01 0xa1 0xe1 - let destinationSystemId: UInt16 // 10, 11 - let destinationSerial: UInt32 // 12-15 + let sourceSystemId: UInt16 // 10, 11 + let sourceSerial: UInt32 // 12-15 - let unknown3: UInt16 // 16-17 0x100 - let response: UInt16 // 18-19 0x00 , 0x14, 0x15 + let u8padding16: UInt8 // 16 0x100 + let u8jobid: UInt8 // 17 - let remainingpackets: UInt16 // 20-21 + let u16result: UInt16 // 18-19 0x00 , 0x14, 0x15 + + let u16remainingpackets: UInt16 // 20-21 private let _packetId: UInt16 // 22-23 - let unknown6: UInt8 // 24 - let valuestype: UInt8 // 25 - let command: UInt16 // 26-27 + let u8unknown6: UInt8 // 24 + let u8valuestype: UInt8 // 25 + let u16command: UInt16 // 26-27 } extension SMANetPacketHeader // calculated @@ -40,7 +42,7 @@ extension SMANetPacketHeader // calculated var packetId: UInt16 { _packetId & 0x7FFF } var direction: Bool { _packetId & 0x8000 != 0 } static var size: Int { 28 } - private var followingdatasize: Int { (Int(quaterlength) * 4) - Self.size } +// private var followingdatasize: Int { (Int(quaterlength) * 4) - Self.size } } extension SMANetPacketHeader: BinaryDecodable @@ -53,34 +55,37 @@ extension SMANetPacketHeader: BinaryDecodable { let startposition = decoder.position - quaterlength = try decoder.decode(UInt8.self).littleEndian + let quaterlength = try decoder.decode(UInt8.self).littleEndian guard Int(quaterlength) * 4 == (decoder.countToEnd + 1) else { throw SMANetPacketHeaderDecodingError.decoding("quaterlength \(quaterlength) != countToEnd \(decoder.countToEnd)") } - type = try decoder.decode(UInt8.self).littleEndian - - sourceSystemId = try decoder.decode(UInt16.self).littleEndian - sourceSerial = try decoder.decode(UInt32.self).littleEndian - - unknown1 = try decoder.decode(UInt8.self).littleEndian - unknown2 = try decoder.decode(UInt8.self).littleEndian + u8type = try decoder.decode(UInt8.self).littleEndian destinationSystemId = try decoder.decode(UInt16.self).littleEndian destinationSerial = try decoder.decode(UInt32.self).littleEndian + u8padding8 = try decoder.decode(UInt8.self).littleEndian - unknown3 = try decoder.decode(UInt16.self).littleEndian + u8p9 = try decoder.decode(UInt8.self).littleEndian - response = try decoder.decode(UInt16.self).littleEndian + sourceSystemId = try decoder.decode(UInt16.self).littleEndian + sourceSerial = try decoder.decode(UInt32.self).littleEndian + u8padding16 = try decoder.decode(UInt8.self).littleEndian + + u8jobid = try decoder.decode(UInt8.self).littleEndian + + u16result = try decoder.decode(UInt16.self).littleEndian - remainingpackets = try decoder.decode(UInt16.self).littleEndian + u16remainingpackets = try decoder.decode(UInt16.self).littleEndian _packetId = try decoder.decode(UInt16.self).littleEndian - unknown6 = try decoder.decode(UInt8.self).littleEndian - valuestype = try decoder.decode(UInt8.self).littleEndian + u8unknown6 = try decoder.decode(UInt8.self).littleEndian + u8valuestype = try decoder.decode(UInt8.self).littleEndian - command = try decoder.decode(UInt16.self).littleEndian + u16command = try decoder.decode(UInt16.self).littleEndian assert(Self.size == decoder.position - startposition) } } + + diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift index 2b8755b..5b3685a 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift @@ -52,6 +52,7 @@ extension SMAPacket: BinaryDecodable public extension SMAPacket { var obis: [ObisValue] { smaTagPackets.first(where: { $0.type == .net })?.obisvalues ?? [] } + var netPacket: SMANetPacket? { smaTagPackets.first(where: { $0.netPacket != nil })?.netPacket } } // diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift new file mode 100644 index 0000000..49d0a9d --- /dev/null +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift @@ -0,0 +1,120 @@ +// +// File.swift +// +// +// Created by Patrick Stein on 27.06.23. +// + +import Foundation +import JLog + +struct SMAPacketGenerator {} + + +extension SMAPacketGenerator +{ + enum GeneratorError: Error + { + case objectIDConversionError(String) + } + + static func generatePacketForObjectID(packetcounter:Int,objectID:String,dstSystemId:UInt16 = 0xffff , dstSerial:UInt32 = 0xFFFF_FFFF) throws -> String + { + let command = try objectID2Command(objectId: objectID) + return try generateCommandPacket(packetcounter:packetcounter,command:command,dstSystemId:dstSystemId,dstSerial:dstSerial) + } + + static func generateCommandPacket(packetcounter:Int,command:String,dstSystemId:UInt16 = 0xffff , dstSerial:UInt32 = 0xFFFF_FFFF) throws -> String + { + let jobid = String(format:"%02x",1) + let result = "0000" + let remainingpackets = "0000" + let packetid = String(format:"%02x%02x",(packetcounter & 0xFF),(((packetcounter & 0x7F00) >> 8 )|0x80)) + let dstSysidString = String(format:"%02x%02x",(dstSystemId & 0xFF),((dstSystemId & 0xFF00) >> 8) ) + let dstSerialString = String(format:"%02x%02x%02x%02x",(dstSerial & 0xFF),((dstSerial >> 8) & 0xFF),((dstSerial >> 16) & 0xFF),((dstSerial >> 24) & 0xFF)) + + let header = """ + 534d 4100 + 0004 02a0 0000 0001 + """ + + let smanetpacketheader = + """ + A0 + \(dstSysidString) \(dstSerialString) 00 + 01 + 1234 95b5 4321 00 + \(jobid) + \(result) + \(remainingpackets) + \(packetid) + """ + + let smanetpacketwithoutlength = smanetpacketheader + command + JLog.trace("smanetpacketwithoutlength :\(smanetpacketwithoutlength)") + + let smanetpacketlength = smanetpacketwithoutlength.hexStringToData().count + 1 + JLog.trace("smanetpacketlength :\(smanetpacketlength)") + + assert(smanetpacketlength % 4 == 0) + assert(smanetpacketlength < 255) + + let smanetpacket = " 0010 6065 \n" + + String(format:" %02x ",(smanetpacketlength / 4)) + smanetpacketwithoutlength + + let footer = " 0000 0000 " + + let smapacket = header + String(format:" %04x ",smanetpacket.hexStringToData().count - 2) + smanetpacket + footer + + JLog.trace("generated smapacket:\(smapacket)") + + return smapacket //.hexStringToData() + } + + static func objectID2Command(objectId:String) throws -> String + { + let regex = #/([a-fA-F\d]{2})([a-fA-F\d]{2})_([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})/# + + if let match = objectId.firstMatch(of: regex) + { + let (_,a,b,c,d,e,f) = match.output + + return "0000 \(b)\(a) \(f)\(e) \(d)\(c) FF\(e) \(d)\(c)" + } + throw GeneratorError.objectIDConversionError(objectId) + } + + static func generateDiscoveryPacket() -> String + { + let data = Data([0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00]) + + return data.hexDump + } + + static func generateLoginPacket(packetcounter:Int,password: String, userRight: UserRight,dstSystemId:UInt16 = 0xffff , dstSerial:UInt32 = 0xFFFF_FFFF) throws -> String + { + let encodedPassword = encodePassword(password: password, userRight: userRight) + let passwordCommand = "0C04 fdff 07000000 84030000 4c20cb51 00000000 " + encodedPassword + return try generateCommandPacket(packetcounter:packetcounter,command:passwordCommand,dstSystemId:dstSystemId,dstSerial:dstSerial) + } + + + static func encodePassword(password: String, userRight: UserRight) -> String + { + let paddedPassword = password.padding(toLength: 12, withPad: "\0", startingAt: 0) + let passwordData = Data(paddedPassword.utf8) + + let usertype = userRight == .user ? 0x88 : 0xBB + + var encoded = Data() + for byte in passwordData + { + let calculate = UInt8((Int(byte) + usertype) % 256) + encoded.append(calculate) + } + + return encoded.hexDump + } + +} + diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift index 48ca33f..2662a85 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift @@ -82,7 +82,8 @@ extension SMATagPacket: BinaryCodable _netPacket = try SMANetPacket(fromBinary: netpacketDecoder) case .extendedEmeterPacket: - let data = try netpacketDecoder.decode(Data.self, length: data.count - 2) + JLog.info("Got packetype:\(packetType) - ignoring") + let _ = try netpacketDecoder.decode(Data.self, length: data.count - 2) } guard netpacketDecoder.isAtEnd else { throw PacketError.notExpectedPacket("SMATagPacket type:\(tagType) too long") } } @@ -112,6 +113,7 @@ public extension SMATagPacket var isLastPacket: Bool { type == .end && data == Data(capacity: 4) } var obisvalues: [ObisValue] { _obisPacket?.obisvalues ?? [ObisValue]() } + var netPacket: SMANetPacket? { _netPacket } var netPacketValues: [SMANetPacketValue] { _netPacket?.values ?? [SMANetPacketValue]() } } diff --git a/Sources/sma2mqttLibrary/Tools/Extensions.swift b/Sources/sma2mqttLibrary/Tools/Extensions.swift index c109850..80df02c 100644 --- a/Sources/sma2mqttLibrary/Tools/Extensions.swift +++ b/Sources/sma2mqttLibrary/Tools/Extensions.swift @@ -46,6 +46,28 @@ public extension Data } } +extension String +{ + func hexStringToData() -> Data + { + let stringWithoutSpaces = self.replacingOccurrences(of: " ", with: "") + .replacingOccurrences(of: "\n", with: "") + .replacingOccurrences(of: "\t", with: "") + + let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) + .map + { + stringWithoutSpaces[ + stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1) + ] + } + .map { UInt8($0, radix: 16)! } + return Data(uInt8Array) + } +} + + + public extension Encodable { var json: String diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index b1965b4..44e9317 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -57,4 +57,19 @@ final class SMAObjectTests: XCTestCase XCTAssertNotNil(keys.first, "Incorrectly loaded smaObjectDefinitions") } + + func testPassword() async throws + { + let encoded = SMAPacketGenerator.encodePassword(password: "password", userRight: .user) + XCTAssertEqual(encoded.hexStringToData(),"f8e9 fbfb fff7 faec 8888 8888".hexStringToData()) + } + + + func testDiscoveryPacket() async throws + { + let encoded = SMAPacketGenerator.generateDiscoveryPacket() + XCTAssertEqual(encoded.hexStringToData(),"534d 4100 0004 02a0 ffff ffff 0000 0020 0000".hexStringToData()) + } + + } diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift index 3845e7d..8258ac9 100644 --- a/Tests/sma2mqttTests/TestHelpers.swift +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -13,25 +13,6 @@ import class Foundation.Bundle @testable import JLog @testable import sma2mqttLibrary -extension String -{ - func hexStringToData() -> Data - { - let stringWithoutSpaces = self.replacingOccurrences(of: " ", with: "") - .replacingOccurrences(of: "\n", with: "") - .replacingOccurrences(of: "\t", with: "") - - let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) - .map - { - stringWithoutSpaces[ - stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1) - ] - } - .map { UInt8($0, radix: 16)! } - return Data(uInt8Array) - } -} struct DataSplitter: Sequence, IteratorProtocol { diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 8e40c90..e5a90e7 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -40,6 +40,42 @@ final class sma2mqttTests: XCTestCase JLog.debug("Packet2:\(packet2)") } + func testSMAPacketGeneration() throws + { + let data1 = """ + + 534d 4100 + 0004 02a0 + 0000 0001 + 0026 0010 + 6065 + 09 + a0 + ffff ffff ffff 00 + 00 + 7401 10e7 f0b2 00 + 00 + 0000 + 0000 + 60e2 0002 8061 0048 2100 ff4a 4100 + 0000 0000 + + """ + + let dataString = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: 1, objectID: "6180_08414E00") + let data = dataString.hexStringToData() + + let binaryDecoder = BinaryDecoder(data: [UInt8](data) ) + + let packet = try SMAPacket(fromBinary: binaryDecoder) + JLog.debug("Packet:\(packet)") + XCTAssert(binaryDecoder.isAtEnd) + + let packet2 = try SMAPacket(data: data) + JLog.debug("Packet2:\(packet2)") + } + + func testSHMWeird() throws { let data = """ @@ -63,36 +99,8 @@ final class sma2mqttTests: XCTestCase { let data = """ 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100a 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100d 0002 0070 ef0c 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100e 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 - 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 534d 4100 0004 02a0 0000 0001 0002 0000 0001 0004 0010 0001 0003 0004 0020 0000 0001 0004 0030 0a70 100f 0004 0040 0000 0000 0002 0070 ef0c 0001 0080 00 0000 0000 """.hexStringToData() let binaryDecoder = BinaryDecoder(data: [UInt8](data)) @@ -115,11 +123,9 @@ final class sma2mqttTests: XCTestCase func testSMAFile() throws { JLog.debug("loading data") - // let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/testswift.sma"),options:.mappedRead) - let filedata = try Data(contentsOf: URL( - fileURLWithPath: - "/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/shm.20220615.pcap"), - options: .mappedRead) + let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/pcaps/vlan2.20220618-1.pcap"),options:.mappedRead) +// let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Downloads/FW3-11-11-R_SBS25-1VL-10/SBS2.5-1VL-10-V3.11.11.R.up2"),options:.mappedRead) +// let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/shm.20220615.pcap"),options: .mappedRead) JLog.debug("data loaded") let separator = Data([0x53, 0x4D, 0x41, 0x00]) @@ -596,4 +602,28 @@ final class sma2mqttTests: XCTestCase } XCTAssert(packetcounter == 27) } + + + func testSMAPacketDecoding8() throws + { + let data = """ + + 534d 4100 + 0004 02a0 0000 0001 003c 0010 6065 + 0e + A0 + ffff ffff ffff 00 + 01 + 1234 95b5 4321 00 + 01 + 0080 + 0000 + 0002 + 0C04 fdff 07000000 84030000 4c20cb51 00000000 dbb8 f4e9 fae7 ddfb edfa 8888 0000 0000 + + """.hexStringToData() + let binaryDecoder = BinaryDecoder(data: [UInt8](data)) + let _ = try? SMAPacket(fromBinary: binaryDecoder) + } + } diff --git a/smatester.perl b/smatester.perl deleted file mode 100644 index 006be37..0000000 --- a/smatester.perl +++ /dev/null @@ -1,1248 +0,0 @@ -#!/usr/bin/perl -# -# author: @jollyjinx (Patrick Stein) -# purpose: trying to figure out the udp based sma inverter protocol -# - -use strict; -use FindBin; use lib "$FindBin::Bin/perl5/lib/perl5","$FindBin::Bin","$FindBin::Bin/JNX"; -use utf8; -use IO::Socket::INET; -use POSIX; -use Data::Dumper; -use Net::MQTT::Simple; -use Time::HiRes qw ( time alarm sleep ); - -use constant USER_TYPE_ADMIN => 0xBB; -use constant USER_TYPE_USER => 0x88; -use constant MAXIMUM_PACKET_SIZE => scalar 90000; -use constant TIMEOUT_RECEIVE => scalar 2; - -# perl smatester.perl Temp/Reverseengineering/sb4.out |perl -ne 'print "$2 $4$3 $5 $9$8$7$6 $10\n" if /(len:\d+ raw: (..)(..) (..)(..) (..)(..) (..)(..) (.*))/' |perl -ne 'if( /^\S\S (\S\S\S\S) / ){ $v=$1;$l=length($_); print "Match: $l $v $_"; if( exists($p{$v}{l}) && $p{$v}{l} != $l){ print "$l != $p{$v}{l}\n\t$p{$v}{v}\t$_";} $p{$v}{l} = $l;$p{$v}{v} = $_;}' |grep -v Match |grep -v ' != ' |sort -u -k 2 -my $mqttsender = undef; - -if( @ARGV == 1 ) -{ - dumpFile(@ARGV); - exit; -} -die "Usage $0 or [outputfilename]\n" unless @ARGV >= 2; - -my ($hostname,$password,$filename) = @ARGV; -my $portnumber = 9522; -my $usertype = USER_TYPE_USER; - -print "hostname:$hostname\n"; -# $mqttsender = lc((split(/\./,$hostname))[0]); - - - -my $mqtt = Net::MQTT::Simple->new("10.112.10.3") || die "Can't create mqtt client"; -my $mqttprefix = "test"; - - - -my $socket = new IO::Socket::INET (PeerHost => $hostname, - PeerPort => $portnumber, - Proto => 'udp', - Timeout => 3) || die "Can't open socket due to:$!\n"; - $socket->setsockopt(SOL_SOCKET, SO_RCVTIMEO, pack('l!l!', TIMEOUT_RECEIVE, 0)) || die "error setting SO_RCVTIMEO: $!"; - - -my $sessionid = sprintf '1234 %04x 4321',int(rand(0x10000)); -my $inverterid = 'ffff ffff ffff'; - my $commandconversion = 'V*'; - $commandconversion =~ s/ //g; - -# "0000 0052 0048 4600 ffff 4600 ", # multivalues if first -# "0000 0051 0048 4600 ffff 4600 ", # normal values -# 0x52000200, 0x00237700, 0x002377FF inverter temp - -my $timenow = time(); # unpack('V',pack('N',time())); -my $time1day = time() - time()%86400 - 7200; # unpack('V',pack('N',time() - time()%86400 )); -my $time2day = $time1day - (4*86400); # unpack('V',pack('N',time() - time()%86400 )); -my @commandarguments = ( - -#[0x70200000,0x4, $time1day,$timenow], - -#[0x70200000, $timenow, $time1day], -#[0x70000000, $time1day, $time1day ], - -#[0x61000000, 0x40263F00, 0x40263FFF], -[0x68000000, 0x088A4D00, 0x088A4DFF], -#[0x61800000, 0x084A9600, 0x084A96FF], -#[0x61020000, 0x40633E00, 0x40633EFF], -#[0x62000000, 0x40263F00, 0x40263FFF], -#[0x61000000, 0x40652B00, 0x40652BFF], -# -#[0x61000000, 0x402F1E00, 0x402F1EFF], -#[0x61000000, 0x402F2000, 0x402F20FF], -#[0x61000000, 0x40652B00, 0x40652BFF], -# -#[0x68000000, 0x088F2000, 0x088F20FF], -#[0x68000000, 0x088F2100, 0x088F21FF], -# -#[0x52000000, 0x00237700, 0x002377FF], - - -#[0x61000000, 0x00495C00, 0x00495CFF], -#[0x68000000, 0x00832A00, 0x00832AFF], -#[0x68000000, 0x00A21E00 ,0x00A21EFF], # low high val - -#/* -# sbs|Code:0x6800|0xa21e|No:0x07|Type:0x00|len:40|2022-06-17T06:36:49| type.unknown.0xa21e.7|0:0:NaN:NaN:3005625197:3005625197:0:0 |typ:uint|raw: 071e a200 e104 ac62 0000 0000 0000 0000 ffff ffff ffff ffff 6d33 26b3 6d33 26b3 0000 0000 0000 0000 -# -# "6800_00A21E00": { -# "7": [ -# { -# "low": 0, -# "high": null, -# "val": 3005625197 -# } -# ] -# -#*/ -# -#[0x70000000, $timenow-3600, $timenow], # discharge in interval 5 -#[0x54000000, 0x00496700, 0x004967FF], # charge 2day ? -##[0x70200000, $timenow-(86400*7000), $timenow], -#[0x51000000, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 -# -#[0x51000000, 0x00230000, 0x0023FFFF], -#[0x52000000, 0x00237700, 0x002377FF], -#[0x52000200, 0x00237700, 0x002377FF], -# {0x5200, 0x00237700, 0x002377FF, 0x00, 0x2377, DeviceTemperature, 0.01}, - -#[0x70000000, $timenow-180, $timenow ], -#[0x70200000, $time2day, $timenow ], -#[0x70000000, $time1day,$timenow], -#[0x70200000,0x8, $timenow,$time1day], -#[0x70200000,0x8, $timenow,$time2day], -#[0x70200000,0x8, $time1day,$timenow], -#[0x53800000, 0x00251E00, 0x00251EFF], - -#[0x51000000, 0x00460000, 0x0046ffff], - - -# sbs|Code:0x5100|0x46f0|No:0x07|Type:0x40|len:28|2022-06-10T17:00:07| type.unknown.0x46f0.7| 90:90:90:90:1 |typ: int|raw: 07f0 4640 775c a362 5a00 0000 5a00 0000 5a00 0000 5a00 0000 0100 0000 -# sbs|Code:0x5100|0x46f0|No:0x07|Type:0x40|len:28|2022-06-12T06:54:17| type.unknown.0x46f0.7| 92:92:92:92:1 |typ: int|raw: 07f0 4640 7971 a562 5c00 0000 5c00 0000 5c00 0000 5c00 0000 0100 0000 -# sbs|Code:0x5200|0x46f0|No:0x07|Type:0x40|len:28|2021-08-14T07:30:00| type.unknown.0x46f0.7| 69:83:76:76:1 |typ: int|raw: 07f0 4640 d854 1761 4500 0000 5300 0000 4c00 0000 4c00 0000 0100 0000 - -#[0x51000000, 0x00460000, 0x0046ffff], -#[0x51800000, 0x00460000, 0x0046ffff], -#[0x52000000, 0x00460000, 0x0046ffff], - -#[0x53800000, 0x00251E00, 0x00251EFF], -#[0x51800000, 0x00251E00, 0x00251EFF], -#[0x51008000, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS -#[0x51000000, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -#[0x51000000, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: -#[0x51000000, 0x00411e00, 0x004120ff ],# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 -#[0x51008000, 0x00416400, 0x004164ff ],# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY -#[0x51000000, 0x00463600, 0x004637ff ],# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: -#[0x51000000, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 -#[0x51000000, 0x00464800, 0x004655ff ],# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 -#[0x51000000, 0x00464800, 0x0046ffff ], -#[0x51000000, 0x00465700, 0x004657ff ],# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ -#[0x51000000, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: -#[0x51000000, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: -#[0x51000000, 0x00832a00, 0x00832aff ],# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 -# -#[0x52000000, 0x00237700, 0x00237702 ], -#[0x52000000, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature -#[0x52000000, 0x00464800, 0x0046ffff ], -# -#[0x53000000, 0x00251e00, 0x00251eff ], -#[0x53008000, 0x00251e00, 0x00251eff ],# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -#[0x53008000, 0x00251e01, 0x00251e01 ], -#[0x53008000, 0x00251e02, 0x00251e02 ], -#[0x53000000, 0x00251e02, 0x00251eff ], -#[0x53008000, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 -# -#[0x54000000, 0x00260100, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield -#[0x54000000, 0x00462e00, 0x00462fff ],# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM -# -#[0x58000000, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS -#[0x58000000, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION -#[0x64000200, 0x00618d00, 0x00618dff ], -# {0x5100, 0x00263F00, 0x00263FFF, 0x00, 0x263F, ActivePowerPlus, 0}, -# {0x5100, 0x00295A00, 0x00295AFF, 0x00, 0x295A, BatteryCharge, 0}, -# {0x5100, 0x00411E00, 0x004120FF, 0x00, 0x411E, ActivePowerMax, 0}, -# {0x5100, 0x00464000, 0x004642FF, 0x00, 0x4640, ActivePowerPlusL1, 0}, -# {0x5100, 0x00464000, 0x004642FF, 0x00, 0x4641, ActivePowerPlusL2, 0}, -# {0x5100, 0x00464000, 0x004642FF, 0x00, 0x4642, ActivePowerPlusL3, 0}, -# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4648, VoltageL1, 0.01}, -# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4649, VoltageL2, 0.01}, -# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x464a, VoltageL3, 0.01}, -# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4653, CurrentL1, 0.001}, -# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4654, CurrentL2, 0.001}, -# {0x5100, 0x00464800, 0x004655FF, 0x00, 0x4655, CurrentL3, 0.001}, -# {0x5100, 0x00465700, 0x004657FF, 0x00, 0x4657, UtilityFrequency, 0.01}, -# {0x5100, 0x00491E00, 0x00495DFF, 0x00, 0x495B, BatteryTemperature, 0.1}, -# -# // TODO more decoding for device_status & device_grid_relay -# {0x5180, 0x00214800, 0x002148FF, 0x00, 0x2148, DeviceStatus, 0}, -# {0x5180, 0x00416400, 0x004164FF, 0x00, 0x4164, DeviceGridRelay, 0}, -# -# {0x5200, 0x00237700, 0x002377FF, 0x00, 0x2377, DeviceTemperature, 0.01}, -# -# {0x5380, 0x00251E00, 0x00251EFF, 0x01, 0x251E, PowerS1, 0}, -# {0x5380, 0x00251E00, 0x00251EFF, 0x02, 0x251E, PowerS2, 0}, -# {0x5380, 0x00451F00, 0x004521FF, 0x01, 0x451F, VoltageS1, 0.01}, -# {0x5380, 0x00451F00, 0x004521FF, 0x02, 0x451F, VoltageS2, 0.01}, -# {0x5380, 0x00451F00, 0x004521FF, 0x01, 0x4521, CurrentS1, 0.001}, -# {0x5380, 0x00451F00, 0x004521FF, 0x02, 0x4521, CurrentS2, 0.001}, -# -# {0x5400, 0x00260100, 0x002622FF, 0x00, 0x2601, ActiveEnergyPlus, 3600}, -# {0x5400, 0x00260100, 0x002622FF, 0x00, 0x2622, ActiveEnergyPlusToday, 3600}, -# {0x5400, 0x00462E00, 0x00462FFF, 0x00, 0x462E, TimeOperating, 0}, -# {0x5400, 0x00462E00, 0x00462FFF, 0x00, 0x462F, TimeFeed, 0}, -# -# {0x5800, 0x00821E00, 0x008220FF, 0x00, 0x821E, DeviceName, 0}, -# {0x5800, 0x00821E00, 0x008220FF, 0x00, 0x821F, DeviceClass, 0}, -# {0x5800, 0x00821E00, 0x008220FF, 0x00, 0x8220, DeviceType, 0}, -# -); - -my @commandarguments2 = ( -[0x00, 0x00, 0x80, 0x51, 0x00214800, 0x002148ff ],# "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS -[0x00, 0x00, 0x00, 0x51, 0x00263f00, 0x00263fff ],# "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT -[0x00, 0x00, 0x00, 0x51, 0x00295a00, 0x00295aff ],# "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: -[0x00, 0x00, 0x00, 0x51, 0x00411e00, 0x004120ff ],# "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 -[0x00, 0x00, 0x80, 0x51, 0x00416400, 0x004164ff ],# "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY -[0x00, 0x00, 0x00, 0x51, 0x00463600, 0x004637ff ],# "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: -[0x00, 0x00, 0x00, 0x51, 0x00464000, 0x004642ff ],# "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 -[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x004655ff ],# "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 -[0x00, 0x00, 0x00, 0x51, 0x00464800, 0x0046ffff ], -[0x00, 0x00, 0x00, 0x51, 0x00465700, 0x004657ff ],# "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ -[0x00, 0x00, 0x00, 0x51, 0x00491e00, 0x00495dff ],# "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: -[0x00, 0x00, 0x00, 0x51, 0x00495b00, 0x00495bff ],# "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: -[0x00, 0x00, 0x00, 0x51, 0x00832a00, 0x00832aff ],# "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 - -[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x00237702 ], -[0x00, 0x00, 0x00, 0x52, 0x00237700, 0x002377ff ],# "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature -[0x00, 0x00, 0x00, 0x52, 0x00464800, 0x0046ffff ], - -[0x00, 0x00, 0x00, 0x53, 0x00251e00, 0x00251eff ], -[0x00, 0x00, 0x80, 0x53, 0x00251e00, 0x00251eff ],# "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 -[0x00, 0x00, 0x80, 0x53, 0x00251e01, 0x00251e01 ], -[0x00, 0x00, 0x80, 0x53, 0x00251e02, 0x00251e02 ], -[0x00, 0x00, 0x00, 0x53, 0x00251e02, 0x00251eff ], -[0x00, 0x00, 0x80, 0x53, 0x00451f00, 0x004521ff ],# "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 - -[0x00, 0x00, 0x00, 0x54, 0x00260100, 0x002622ff ],# "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL daily yield -[0x00, 0x00, 0x00, 0x54, 0x00462e00, 0x00462fff ],# "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM - -[0x00, 0x00, 0x00, 0x58, 0x00821e00, 0x008220ff ],# "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS -[0x00, 0x00, 0x00, 0x58, 0x00823400, 0x008234ff ],# "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION -[0x00, 0x00, 0x02, 0x64, 0x00618d00, 0x00618dff ], -); - -my @commands = ( - "0000 0051 001e 4100 ff20 4100 ", # MaxACPower: // INV_PACMAX1, INV_PACMAX2, INV_PACMAX3 - "0000 0051 001e 4900 ff5d 4900 ", # BatteryInfo: - "0000 0051 002a 8300 ff2a 8300 ", # MaxACPower2: // INV_PACMAX1_2 - "0000 0051 0036 4600 ff37 4600 ", # MeteringGridMsTotW: - "0000 0051 003f 2600 ff3f 2600 ", # SpotACTotalPower // SPOT_PACTOT - "0000 0051 0040 4600 FF42 4600 ", # SpotACPower: // SPOT_PAC1, SPOT_PAC2, SPOT_PAC3 - "0000 0051 0040 4600 FF42 4600 ", # grid power phases - "0000 0051 0048 4600 FF55 4600 ", # SpotACVoltage: // SPOT_UAC1, SPOT_UAC2, SPOT_UAC3, SPOT_IAC1, SPOT_IAC2, SPOT_IAC3 - "0000 0051 0048 4600 ffff 4600 ", # normal values - "0000 0051 0057 4600 FF57 4600 ", - "0000 0051 0057 4600 FF57 4600 ", # SpotGridFrequency // SPOT_FREQ - "0000 0051 005B 4900 ff5b 4900 ", # temperature battery: - "0000 0051 005a 2900 ff5a 2900 ", # BatteryChargeStatus: - "0000 0052 0048 4600 ffff 4600 ", # multivalues if first - "0000 0052 0077 2300 1077 2300 ", # InverterTemperature: - "0000 0052 0077 2300 ff77 2300 ", # InverterTemperature: - "0000 0052 0077 2300 ff77 2300 ", # external inverter temperature - "0000 0053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 - "0000 0053 021E 2500 FF1E 2500 ", # current power 0 - "0000 0054 0001 2600 FF22 2600 ", # EnergyProduction // SPOT_ETODAY, SPOT_ETOTAL - "0000 0054 002e 4600 ff2F 4600 ", # OperationTime: // SPOT_OPERTM, SPOT_FEEDTM - "0000 0058 001e 8200 ff20 8200 ", # TypeLabel: // INV_NAME, INV_TYPE, INV_CLASS - "0000 0058 0034 8200 ff34 8200 ", # SoftwareVersion: // INV_SWVERSION - "0000 0264 008d 6100 ff8d 6100 ", # sbftest: logout - "0000 8051 0048 2100 ff48 2100 ", # DeviceStatus: // INV_STATUS - "0000 8051 0064 4100 ff64 4100 ", # GridRelayStatus: // INV_GRIDRELAY - "0000 8053 001E 2500 FF1E 2500 ", # SpotDCPower // SPOT_PDC1, SPOT_PDC2 - "0000 8053 001F 4500 FF21 4500 ", # SpotDCVoltage // SPOT_UDC1, SPOT_UDC2, SPOT_IDC1, SPOT_IDC2 - "0000 8053 011E 2500 011E 2500 ", # current power 1 - "0000 8053 021E 2500 021E 2500 ", # current power 0 - - -# "0C04 fdff ffffffff ", # logout, shuts down socket for quite some time - ); - -# -#for my $command (0x51 .. 0x60) -#{ -# for my $cmdtype (0x20 .. 0x80) -# { -# for my $range (0x00 .. 0xFF) -# { -# push(@commands,''.sprintf("0000 00%02x 00%02x %02x00 FF%02x %02x00 ",$command,$range,$cmdtype,$range,$cmdtype)); -# } -# } -#} -#print join("\n",@commands); -# - -if(0) -{ - my @work = @commands; - - while( scalar @work ) - { - my $command = lc shift @work; - - my @bla = string2command($command); - my $retcommand = command2string(@bla); - - $command =~ s/\s//g; - if( $retcommand ne $command ) - { - print "Differ:\n\t$command\n\t$retcommand\n"; - exit; - } - - print "\n"; - - } - exit; -} - -if( scalar @commandarguments ) -{ - my $loop = 1; - my $looptime = 5; - - do - { - my @work = @commandarguments; - doWork(@work); - - jnxsleep($looptime) if $loop; - } - while( $loop ); - - exit; -} - -for my $a ( 0x51..0x54,0x58,0x5d,0x61..0x64,0x68,0xf0,0xff ) -{ -for my $b ( 0x00,0x02,0x22,0x80,0x82,0xfd ) -{ -for my $c ( 0x00 ) -{ -for my $d ( 0x00 ) -{ - my $command = ($a << 24) | ($b << 16) | ($c << 8) | $d; - - for my $address (0x24..0x99 ) - { - my $start = ($address << 16) | 0x0000; - my $end = ($address << 16) | 0xffff; - - my @cmd = [$command, $start, $end ]; - - doWork( @cmd ); - } -} -} -} -} -exit; - - -sub string2command -{ - my($string) = @_; - $string =~ s/\s//g; - - my $data = pack('H*',$string); - - print "string2command $string -> "; - return data2command($data,$commandconversion); -} - -sub data2command -{ - my($data,$convertstring,$oneline) = @_; - - $convertstring =~ s/\s+//g; - $convertstring .= 'H*' if !$oneline; - my @command = unpack($convertstring,$data); - push(@command, pack('H*',pop(@command))) if !$oneline; - - my @commandcopy = @command; - - print "["; - - while( $convertstring =~ /([HCvnVN]{1}(?:\d+|\*)?)/g ) - { - my $type = $1; - my $value = shift @commandcopy; -# print "\n".'Type:'.$type." "; - - if( $type eq 'C' ) { printf "0x%02x, ",$value } - elsif( $type eq 'v' ) { printf "0x%04x, ",$value } - elsif( $type eq 'n' ) { printf "0x%04x, ",$value } - elsif( $type eq 'V' ) { printf "0x%08x, ",$value } - elsif( $type eq 'N' ) { printf "0x%08x, ",$value } - elsif( $type eq 'H*') { printf "",length($value),prettyhexdata( $value ) } - else - { - print "type: $type unknown\n"; - exit; - } - } - - print "]"; - print "\n" if !$oneline; - #printf "string2command $string -> %02x %02x %02x %02x %08x %08x\n",@command; - -# printf "[0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%08x, 0x%08x ],\n",@command; - return @command; -} - -sub command2string -{ - my @command = @_; - - my $commandpacket = pack($commandconversion,@command); - my $string = unpack('H*',$commandpacket); - - printf "command2string %02x %02x %02x %02x %08x %08x -> $string\n",@command; - - return $string; -} - - -sub doWork -{ - my @work = @_; - my $loggedin = 0; - my $commandwaittime = 0.1; - - while( scalar @work ) - { - my $response; - - if( !$loggedin ) - { - print "NOT LOGGED IN \n"; - my $logincommand = "0C04 fdff 07000000 84030000 4c20cb51 00000000".encodePassword($password); - $response = sendReceiveCommand($socket,$logincommand,$sessionid,$inverterid); - - if( $response == 0x0000 ) - { - $loggedin = 1; - } - else - { - sleep(5); - } - } - else - { - my $arguments = shift @work; - my $command = command2string(@{$arguments}); - - $response = sendReceiveCommand($socket,$command,$sessionid,$inverterid); - - if( $response == 0x0017 || $response == 0x0102 ) - { - # unshift(@work,$command); - $loggedin = 0; - } - } - - jnxsleep($commandwaittime); - } -} - - -sub sendReceiveCommand -{ - my($socket,$command,$sessionid,$inverterid) = @_; - my $data; - - sendCommand($socket,$command,$sessionid,$inverterid); - - my $response = receiveData($socket); - - return $response; - -} - -sub receiveData -{ - my($socket) = @_; - - my $data; - my $response = undef; - my $moretocome = undef; - my $responsecounter = 0; - - while(1) - { - my $starttime = time(); - $socket->recv($data, MAXIMUM_PACKET_SIZE); - my $endtime = time(); - - printf "Responsetime = %.3f ms\n",($endtime - $starttime) * 1000; - if( 0 == length($data) ) - { - print "no response.\n" if undef == $response; - return $response; - } - writeDataToFile($data); - - $responsecounter++; - - print "RESPONSECOUNTER:$responsecounter\n"; - - ($response,$moretocome) = printSMAPacket('recv',$data); - print "\n\n"; - - return $response if 0==$moretocome; - } -} - - -{ - my $counter = 0; - sub packetcounter { return ++$counter } - sub jnxsleep { select(undef, undef, undef, @_[0] ) } -} - -sub sendCommand -{ - my($socket,$smanet_command,$sessionid,$inverterid) = @_; - - my $packetcounter = packetcounter(); - my $smanet_prefix = "00A0" - .$inverterid - .( $inverterid eq 'ffff ffff ffff' ? '0001' : '0001') - .$sessionid - .( $inverterid eq 'ffff ffff ffff' ? '0001' : '0001') - .'0000' # status - .'0000' # 2come - .sprintf("%02x%02x",($packetcounter & 0xFF),(($packetcounter & 0xFF00) >> 8 |0x80)) - ; - - - my $smanet_packet = $smanet_prefix.$smanet_command; - $smanet_packet =~ s/ //g; - my $smanet_length = length($smanet_packet)/2; - substr($smanet_packet,0,2) = sprintf("%02x",$smanet_length / 4); - - my $sma_header = "534d4100" . "0004 02a0 00000001"; - my $sma_footer = "0000 0000"; - my $sma_prefix = "0000 0010 6065"; - substr($sma_prefix,0,4) = sprintf("%04x",$smanet_length + 2); - - - my $hexstring = $sma_header - .$sma_prefix.$smanet_packet - .$sma_footer; - $hexstring =~ s/ //g; - - my $data = pack "H*",$hexstring; - - writeDataToFile($data); - - printSMAPacket('sending',$data); - - my $size = $socket->send($data); -} - -sub writeDataToFile -{ - my ($data) = @_; - - return if !length $filename; - - my $filehandle = undef; - - open( $filehandle, ">>", $filename) || die "Can't open $filename for appending due to:$!"; - binmode $filehandle; - print $filehandle $data; - close($filehandle); -} - - -sub prettyhexdata -{ - my ($data,$splitlength) = @_; - my $hexstring = unpack('H*',$data); - - if( $splitlength ) - { - my $linesize = $splitlength * 2; - $hexstring =~ s/(\S{$linesize})/\1\n/g; - } - $hexstring =~ s/(\S{4})/\1 /g; - return $hexstring; -} - -sub printSMAPacket -{ - my($prefix,$data) = @_; - - my $smaheader = unpack('N',substr($data,0,4)); - my $proto = unpack('n',substr($data,16,2)); - my $length = unpack('C',substr($data,18,1)) * 4; - - $data = substr($data,0,18 + 4 + $length); - - - if( $smaheader != 0x534d4100 ) - { - printf "%s: invalid packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); - return (undef,0); - } - - if( $proto != 0x6065 ) - { - printf "%s SMA packet: prefix:%0x header:%0x len:%d data:%s\n",$prefix,$smaheader,$proto,$length,prettyhexdata($data); - return (undef,0); - } - - printf "Complete Packet:\n".prettyhexdata($data)."\n"; - - my $footer = unpack('N',substr($data,-4)); - - if( $footer != 0x0 ) - { - print "invalid footer\n"; - return (undef,0); - } - #printf "%5s SMAPacket: %s\n",$prefix,prettyhexdata(substr($data,0,18)); - - my $smanetdata = substr($data,18,$length); - - return printSMANetPacket($smanetdata); -} - - - -sub counttimeswrong -{ - my($valuesdata,$valuesize,$warn) = @_; - - - my %validtypes = ( - 0 => 1, - 0x40 => 1, - 0x10 => 1, - 0x08 => 1, - 0x51 => 1, - ); - - my $timesnotok = 0; - - my $invalidtypes = 0; - - while( length($valuesdata) ) - { - my $time = unpack('V',substr($valuesdata,4 , 8)); - my $type = unpack('C',substr($valuesdata,3 , 1)); - - $valuesdata = substr($valuesdata,$valuesize); - - $timesnotok += 1000 if 1 != $validtypes{$type}; - - $invalidtypes++ if 1 != $validtypes{$type}; - - next if $time == 0; - - my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time); - - if( $year < 2010 || $year > 2022 ) - { - $timesnotok += 10; - } - elsif( $year < 2021 ) - { - $timesnotok += 1; - } - } - - if($warn) - { - printf " typeok:%d",0 == $invalidtypes; - } - - return $timesnotok; -} - -sub checkSMANetPacketCompleteness -{ - my($data) = @_; - - my $smanet_length = unpack('C',substr($data,0,1)) * 4; - my $remaining = $smanet_length - 36; - - if( $smanet_length != length($data) ) - { - printf "invalid SMANetPacket length $smanet_length != ".length($data)." data:".prettyhexdata($data)."\n"; - return undef; - } - return 1; -} - - -sub printSMANetPacket # return ( $result, $moretocome ) -{ - my($data) = @_; - - return (undef,undef) if !checkSMANetPacketCompleteness($data); - - - my @header = data2command($data , - 'C C n N C C n N C C v v v C C v'); - #0 1 2 4 8 9 10 12 16 17 18 20 22 24 25 26 - my ($quaterlength,$packettype, $dstid,$dstserial, $p8,$p9, $srcid,$srcserial, $p16,$p17 ,$result,$packetstocome ,$pktidflg, $p24, $p25, $command, $remaining) = @header; - - printf "SMANet:"; - - my $packetid = $pktidflg & 0x7FFF; - my $direction = $pktidflg & 0x8000 ? 1 : 0; - - - -# print $result != 0 ? ' ok ': 'fail'; - - my $srchostid = sprintf("%02x%04x",$srcid,$srcserial); - my $dsthostid = sprintf("%02x%04x",$dstid,$dstserial); - - - printf "".hostid2name($srchostid); - printf "-".hostid2name($dsthostid); - - printf "|p1:0x%02x",$packettype,$packettype; - -# printf "|p8:0x%02x %08b",$p8,$p8; # always zero -# printf "|p9:0x%02x %08b",$p9,$p9; - printf "|p9:0x%02x",$p9,$p9; - -# printf "|p16:0x%02x %08b",$p16,$p16; # always zero - printf "|p17:0x%02x",$p17,$p17; -# printf "|reslt:%04x %016b",$result,$result; - printf "|reslt:%04x",$result; - printf "|2come:0x%02x",$packetstocome; - - printf "|%s",$direction ? "res" : "req"; - printf "|pktid:0x%04x",$packetid; - printf "|p24:0x%02x",$p24,$p24; - printf "|p25:0x%02x",$p25,$p25; -# printf "|p25-p24:0x%02x-0x%02x",$p25,$p24; -# printf "|p24:0x%02x %08b",$p24,$p24; - printf "|cmd:%04x",$command; - - - my $remainingsize = length($remaining); - printf "|len:%03x-%03d",$remainingsize,$remainingsize; - printf "|head:%s%s\n",prettyhexdata(substr($remaining,0,62)),($remainingsize > 62 ? '..' : ''); - -#for i in $(cat ~/Desktop/values |grep '^SMANet:sb'|perl -e 'while(<>){$count{$1}++ if /\|(p25.*?)\|/o;} while( my($a,$b) = each %count ) {print "$a\n" }'|sort|perl -pe 's/\n/ /') (6:52:36) -#do -#echo $i ; -#b=`cat ~/Desktop/values|grep "$i"|perl -ne 'print $1."\n" if /len:(\d+) /;'|sort -nu|perl -pe 's/\n/ /g;'` -#echo "b:$b";for c in $(echo "$b") -#do -#cat ~/Desktop/values|grep "$i" |grep "len:$c"|head -10 -#done -#done - - -# p25:0x00 cnt:256312 cmd=2800, sb3 only, len 12 weird , or 52 ( start 0003 5000 x*16 bytes normal -# len 12 0100 3001 time 201c 0000 -# -# p25:0x01 cnt:437139 cmd 6a02, len 20 , 0400 0000 | x* 16 bytes normal , cmd fffd len 4 , data ffff ffff -# cmd fffd ,len 16 0000 0000 | 12 bytes weird - -#SMANet:sbs-any|p1:0xa0|p9:0x03|p17:0x03|..........|..........|...|............|p24:0x0e|p25:0x01|cmd:fffd|len:004-004|head:ffff|ffff -#SMANet:sh1-any|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|.... -#SMANet:sb3-sh1|p1:0xe0|.......|........|..........|..........|...|............|p24:0x0d|p25:0x01|........|len:010-016|head:0000|0000|4c4f|434b|4544|....|0000|0000 - - -#SMANet:sh1-sb4|p1:0xe0|p9:0x01|.||.|.|.|p24:0x0e|p25:0x01|cmd:6a02|len:014-020|head:0400|0000|0149|9240|0000|2061|a00f|0000|3a00|fec4 -#SMANet:sh1-sb3|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|....|....|b80b|....|....|068a -#SMANet:sh1-sb4|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|....|2161|a00f|....|....|4145 -#SMANet:sh1-sb3|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|....|....|b80b|....|....|b90b -#..............|.......|.......|.||.|.|.|........|........|........|len:034-052|.........|....|0745|9208|0429|2061|....|....|....|9d8b|0744|9240|0429|2061|00|074|200|3a00|f9df -#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|1829|....|....|....|....|7a80|....|....|1829|....|....|....|....|a960|....|....|1829|....|....|....|....|1ed4 -#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|83ae|ab62|....|....|....|4b04|....|....|83ae|ab62|....|....|....|98e4|....|....|83ae|ab62|....|....|....|2f50 -#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|97ae|....|....|....|....|8566|....|....|97ae|....|....|....|....|5686|....|....|97ae|....|....|....|....|e132 -#..............|.......|.......|.||.|.|.|........|........|........|len:064-100|.........|....|0760|8908|0035|ac62|7809|....|....|dbc3|0761|8900|0035|ac62|....|....|....|e1cf|0762|8900|0035|ac62|....|....|....|16c1|0763|8900|0035|ac62|0000|.. -#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|0044|....|....|....|....|e860|....|....|0044|....|....|....|....|d26c|....|....|0044|....|....|....|....|2562|....|....|0044|....|....|.. -#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|0087|1f61|....|....|....|8f90|....|....|0087|1f61|....|....|....|b59c|....|....|0087|1f61|....|....|....|4292|....|....|0087|1f61|....|.. -#..............|.......|.......|.||.|.|.|........|........|........|...........|.........|....|....|....|00ae|ab62|....|....|....|5bcd|....|....|00ae|ab62|....|....|....|61c1|....|....|00ae|ab62|....|....|....|96cf|....|....|00ae|ab62|....|.. -# - - -# p25:0x02 cnt:604718 normal -# p25:0x03 cnt:26 cmd 68*, len 12 weird 0100 0000 xxxx 0000 xxxx xxxx - -#SMANet:sb3-sh1|p1:0xe8|p9:0x00|p17:0x00|reslt:0000|2come:0x00|res|pktid:0x....|p24:0x00|p25:0x03|cmd:6800|len:00c-012|head:0100|0000|5601|0000|2b7f|bc76 -#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|6901|....|6d33|26b3 -#SMANet:sh1-sb3|.......|.......|........|..........|..........|...|............|p24:0x01|........|........|...........|.........|....|7401|....|10e7|f0b2 -#SMANet:sh1-sbs|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|.... -#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|p24:0x00|........|cmd:6802|...........|.........|....|6901|....|6d33|26b3 -#SMANet:sh1-sbs|.......|.......|........|..........|..........|...|............|p24:0x01|........|........|...........|.........|....|7401|....|10e7|f0b2 -#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|p24:0x00|........|........|...........|head:0101|0001|6901|....|6d33|26b3 -# - -# -# p25:0x04 cnt:15 cmnd fffd , 0a00 0000 | x* 16 bytes normal - -#SMANet:sb3-jnx|p1:0xe0|p9:0x00|p17:0x00|reslt:0018|2come:0x00|res|pktid:0x....|p24:0x0d|p25:0x04|cmd:fffd|len:010-016|head:0700|0000|8403|0000|4c20|cb51|0000|0000 -#..............|.......|p9:0x01|p17:0x01|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|.......|........|reslt:0102|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|p9:0x02|p17:0x02|reslt:0018|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sb4-jnx|.......|p9:0x00|p17:0x00|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|p9:0x01|........|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|.......|p17:0x01|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|.......|........|reslt:0102|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sbs-jnx|.......|.......|........|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|.......|........|reslt:0102|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sbt-jnx|.......|.......|........|reslt:0000|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sb3-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|head:0a00|....|....|....|5fae|ab62|....|.... -#SMANet:sb4-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sb3-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|6704|ac62|....|.... -#SMANet:sb4-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|9504|....|....|.... -#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b004|....|....|.... -#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b1ef|2061|....|.... -#SMANet:sb3-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d328|....|....|.... -#SMANet:sb4-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#SMANet:sbs-sh1|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|....|....|....|.... -#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d5ef|....|....|.... -#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|df04|ac62|....|.... -#SMANet:sh1-any|p1:0xa0|.......|........|..........|..........|...|............|p24:0x0c|........|........|len:01c-028|.........|....|....|....|5fae|ab62|....|....|0b07|0feb|1a0e|2a27|1c2d|bbbb -#SMANet:sh1-sb3|p1:0xe0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|6704|ac62|....|....|....|....|....|....|....|.... -#SMANet:sh1-sb4|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|9504|....|....|....|....|....|....|....|....|.... -#SMANet:sh1-sbs|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b004|....|....|....|....|....|....|....|....|.... -#..............|.......|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|b1ef|2061|....|....|....|....|....|....|....|.... -#SMANet:sh1-any|p1:0xa0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d328|....|....|....|....|....|....|....|....|.... -#SMANet:sh1-sbs|p1:0xe0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d5ef|....|....|....|....|....|....|....|....|.... -#SMANet:sbs-any|p1:0xa0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|d9ef|....|....|....|....|....|....|....|....|.... -#SMANet:sh1-sbs|p1:0xe0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|df04|ac62|....|....|....|....|....|....|....|.... -#SMANet:sbs-any|p1:0xa0|.......|........|..........|..........|...|............|........|........|........|...........|.........|....|....|....|e404|....|....|....|....|....|....|....|....|.... - - - - - - - -# p25-p24:0x00-0x0c -# p25-p24:0x00-0x0e 0003 5000 | x*16 bytes normal -# p25-p24:0x01-0x0d -# p25-p24:0x01-0x0e 0400 0000 | x* 16 bytes normal -# p25-p24:0x02-0x00 -# p25-p24:0x02-0x01 normal -# p25-p24:0x02-0x0a normal -# p25-p24:0x03-0x00 normal ? (8 only) -# p25-p24:0x04-0x0c normal ? (8 only) -# p25-p24:0x04-0x0d 0a00 0000 | x*16 bytes normal -# 0700 0000 | x*16 bytes normal - -# 02 0a normal -# 02 01 normal -# 03 00 normal ? (8 only) -# 04 00 normal ? (8 only) -# -# 00 0e 0003 5000 | 12 bytes time ? | 16 bytes ? | 4bytes 0 | 16 bytes -# -# 01 0e 0400 0000 | x* 16 bytes normal -# -# 04 0d 0a00 0000 | x*16 bytes normal -# 0700 0000 | x*16 bytes normal - - -# - - - - - - if( $remainingsize > 0) - { - if( 0x02 == $p25 ) - { - if( 0x0000 == $command ) - { - print " data:".prettyhexdata($remaining); - } - else - { - print " invalid:".prettyhexdata($data) if length($remaining) < 8; - - my $valuesheader = substr($remaining,0,8); - my $valuesdata = substr($remaining,8); - - my ($from,$to) = unpack('VV',$valuesheader); - my $valuescount = $to - $from + 1; - - printf " start:0x%08x end:0x%08x valcnt:%2d",$from,$to,$valuescount; - - if( $valuescount > 0) - { - my $valuelength = length($valuesdata) / $valuescount; - - printValues($srchostid,$command,$valuelength,$valuesdata); - } - } - } - elsif( 0x01 == $p25 || 0x04 == $p25 ) - { - print " invalid:".prettyhexdata($data) if length($remaining) < 4; - - my $valuesheader = substr($remaining,0,4); - my $valuesdata = substr($remaining,4); - - my ($unknown) = unpack('V',$valuesheader); - - my $valueslength = length($valuesdata); - my $valuelength = 0x01 == $p25 ? 16 : $valueslength; - - printf " valhead:0%08x vallen=%2d",$unknown,$valuelength; - - printValues($srchostid,$command,$valuelength,$valuesdata); - } - elsif( 0x00 == $p25 ) - { - print " keepalivepacket:".prettyhexdata($remaining); - } - else - { - print " typeunknown: ",prettyhexdata($remaining); - } - } - print "\n\n"; - - return ($result,$packetstocome); -} - - -sub printValues -{ - my($srchostid,$command,$valuelength,$valuesdata) = @_; - - my $valueslength = length($valuesdata); - - if( $valueslength > 0) - { - printf " lenisvalid=%d\n",length($valueslength % $valuelength == 0); - - while( length($valuesdata) >= $valuelength ) - { - my $data = substr($valuesdata,0,$valuelength); - - SMANetPacketValueParsing($srchostid,$command,$data); - $valuesdata = substr($valuesdata,$valuelength); - } - } - return undef; -} - - - -sub hostid2name -{ - my($source) = @_; - - my %knownsources = ( '69016d3326b3' => 'sbs', - '56012b7fbc76' => 'sb3', - '9901f6a22fb3' => 'sb4', - '7a01d39c05b3' => 'sbt', - '740110e7f0b2' => 'sh1', - '57012b7fbc76' => 'sh2', - '3701ffffffff' => 'sh3', - 'ffffffffffff' => 'any', - 'fdffffffffff' => 'an2', - 'e70064063a2e' => 'jn2', - ); - - my $newsource = $knownsources{$source}; - - if( !$newsource ) - { - if( substr($source,0,4) eq '1234' && substr($source,-4) == '4321' ) - { - $newsource = 'jnx'; - } - else - { - $newsource = 'unk'.$source; - } - } - - return $newsource; -} - -sub SMANetPacketValueParsing -{ - my($source,$command,$footer) = @_; - - if($command == 0x7020 || $command == 0x7000) - { - my $time = unpack('V',substr($footer,0,4)); - my $value = unpack('V',substr($footer,4,4)); - printf "time:".localtime($time)."value:".$value."\n"; - } - - my $number = unpack('C',substr($footer,0,1)); - my $code = unpack('v',substr($footer,1,2)); - my $type = unpack('C',substr($footer,3,1)); - my $time = unpack('V',substr($footer,4,4)); - my $timestring = POSIX::strftime('%Y-%m-%dT%H:%M:%S',localtime($time)); - - my $typeinformation = code2Typeinformation($code); - my $name = $$typeinformation{path}; - - my $unit = $$typeinformation{unit}; - my $factor = $$typeinformation{factor}|| 1; - my $title = $$typeinformation{title}; - my $path = $name.'.'.$number; - - $name .= '.'.$number ;# if $number > 0 && $number <7; - $name .= ' ('.$$typeinformation{unit}.')' if $$typeinformation{unit}; - - printf "%10s|Code:0x%04x|0x%04x|No:0x%02x|Type:0x%02x|len:%2d|%s|%37s|",hostid2name($source),$command,$code,$number,$type,length($footer),$timestring,$name; - - ##### TYPE decoding - - if( $type == 0x00 || $type == 0x40 ) # integer - { - my @values = unpack('V*',substr($footer,8)); - - if( @values[0] == 0x0 # version number scheme - && @values[1] == 0x0 - && @values[2] == 0xFFFFFFFE - && @values[3] == 0xFFFFFFFE - && @values[4] == @values[5] - && @values[6] == 0x0 - && @values[7] == 0x0 - ) - { - @values = unpack('C*',pack('N',@values[4])); - } - - my @results; - - VALUE_LOOP: for my $value (@values) - { - if( $type == 0x00 ) - { -# last VALUE_LOOP if $value == 0xFFFFFFFF - push(@results, $value != 4294967295 ? sprintf("%d",$value) : 'NaN'); - } - else - { -# last VALUE_LOOP if $value == 0x80000000 - my $signed = unpack('l',pack('L',$value)); - push(@results, $signed != -2147483648 ? sprintf("%d",$signed) : 'NaN'); - } - } - printf "%34s ",join(':',@results); - - sendMQTT($path,$unit,$factor,$title,@results); - - } - elsif( $type == 0x10 ) # string - { - my $value = unpack('Z*',substr($footer,8,32)); - - printf "%34s ",$value; - } - elsif( $type == 0x08) # dotted version - { - my $position = 8; - my @values = (); - - while( $position < 36) - { - my $valueA = unpack('v',substr($footer,$position,2)); - my $valueB = unpack('v',substr($footer,$position+2,2)); - - last if $valueB == 0xFFFE && $valueA == 0x00FF; - - push(@values, sprintf("%04d",$valueA) ) if $valueB & 0x100 ; - - $position += 4; - } - - printf "%34s ",join('.',@values); - } - else - { - printf "type unknown "; - } - - my %types = ( 0x00 => 'uint', - 0x40 => ' int', - 0x10 => ' str', - 0x08 => ' dot', - ); - my $realtype = defined $types{$type} ? $types{$type} : sprintf('0x%02d',$type); - - - printf "|typ:%s|raw: %s\n",$realtype,prettyhexdata($footer); -} - - - -sub sendMQTT -{ - my($path,$unit,$factor,$title,@values) = @_; - - return if !$mqttsender; - my $topic = join('/', ($mqttprefix,$mqttsender,split(/\./,$path)) ); - - $topic =~ s/\/(\d+)$/_$1/; - - my @outvalues = map { $_ eq 'NaN' ? 'null' : $_ * $factor } @values; - - - print "\nMqtt: device:$mqttsender path:$path topic:$topic unit:$unit value:@values @outvalues\n"; - - - if( @outvalues > 1 ) - { - $mqtt->publish($topic => '{"unit":"'.$unit.'","value":"'.join(':',@outvalues).'","title","'.$title.'"}' ); - } - else - { - $mqtt->publish($topic => '{"unit":"'.$unit.'","value":'.@outvalues[0].'","title","'.$title.'"}' ); - } - -} - - -sub encodePassword -{ - my($password) = @_; - - my $encoded = ''; - - for my $index (0..11) - { - my $character = ord(substr($password,$index,1)); - my $calculate = ($character + $usertype); - $encoded .= unpack('H*',chr($calculate)); -# printf "%s %d 0x%x %d 0x%x 0x%1X %s\n",substr($password,$index,1},$character,$character,$calculate,$calculate,$calculate,$encoded; - } -# print "encoded:".$encoded."\n"; - return $encoded; -} - -sub dumpFile -{ - my($filename) = @_; - - open(FILE,'<'.$filename) || die "Can't open $filename for reading due to:$!"; - binmode FILE; - my $seperator = pack('N',0x534d4100); - $/ = $seperator; - - while( my $data = ) - { - chomp $data; - next if length($data) < 10; - - printSMAPacket('FILE:',$seperator.$data); - } - close(FILE); -} - -sub code2Typeinformation -{ - my($number) = @_; - - my $battery = { - 0x295A => { path => 'immediate.soc', unit => '%' , title => "Battery State of Charge"}, - 0x2622 => { path => 'counter.dailydischarge', unit => 'kWh', factor => 0.001 , title => "Daily Discharge" }, - 0x495B => { path => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 , title => "Battery Temperature" }, - 0x263F => { path => 'immediate.gridusage', unit => 'W' , title => "Grid Usage"}, - - 0x251E => { path => 'immediate.dc.power', unit => 'W', title => "Power DC"}, - - }; - - - my $typeInformation = { - - 0x2148 => { path => 'immediate.system.status'}, - 0x2377 => { path => 'immediate.system.externaltemperature'}, - 0x251E => { path => 'immediate.dc.power', unit => 'W', title => "Power DC"}, - 0x2601 => { path => 'counter.totaldischarge', unit => 'kWh', factor => 0.001 }, - 0x2622 => { path => 'counter.dailydischarge', unit => 'kWh', factor => 0.001 , title => "Daily Discharge" }, - 0x263F => { path => 'immediate.gridusage', unit => 'W' , title => "Grid Usage"}, - 0x295A => { path => 'immediate.soc', unit => '%' , title => "Battery State of Charge"}, - 0x411E => { path => 'system.nominalpowerstatus'}, - 0x411F => { path => 'immediate.system.warning'}, - 0x4120 => { path => 'immediate.system.powerfault'}, - 0x4164 => { path => 'immediate.ac.contactstatus'}, - 0x4166 => { path => 'immediate.ac.feedinwaittime', unit => 's'}, - 0x451F => { path => 'immediate.dc.voltage', unit => 'V', factor => 0.01 }, - 0x4521 => { path => 'immediate.dc.amperage', unit => 'A', factor => 0.001 }, - 0x4623 => { path => 'unknown.counter.total.generation', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4624 => { path => 'unknown.counter.total.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4625 => { path => 'unknown.counter.total.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4626 => { path => 'unknown.counter.total.consumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4627 => { path => 'unknown.counter.day,feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4628 => { path => 'unknown.counter.day.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x462E => { path => 'immediate.operatingtime',unit => 's'}, - 0x462F => { path => 'counter.feedintime',unit => 's'}, - 0x4631 => { path => 'unknown.grid.failure'}, - 0x4635 => { path => 'unknown.grid.total.generation', unit => 'W'}, - 0x4636 => { path => 'counter.total.feedin', unit => 'W'}, - 0x4637 => { path => 'counter.total.usage', unit => 'W'}, - 0x4639 => { path => 'unknown.grid.total.consumption', unit => 'W'}, - 0x463A => { path => 'unknown.grid.power.feedin', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x463B => { path => 'unknown.grid.power.usage', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x4640 => { path => 'immediate.ac.power.phaseA', unit => 'W'}, - 0x4641 => { path => 'immediate.ac.power.phaseB', unit => 'W'}, - 0x4642 => { path => 'immediate.ac.power.phaseC', unit => 'W'}, - 0x4648 => { path => 'immediate.ac.voltage.phaseA', unit => 'V', factor => 0.01 }, - 0x4649 => { path => 'immediate.ac.voltage.phaseB', unit => 'V', factor => 0.01 }, - 0x464A => { path => 'immediate.ac.voltage.phaseC', unit => 'V', factor => 0.01 }, - 0x464B => { path => 'immediate.ac.powerfactor.phaseA', unit => '%'}, - 0x464C => { path => 'immediate.ac.powerfactor.phaseB', unit => '%'}, - 0x464D => { path => 'immediate.ac.powerfactor.phaseC', unit => '%'}, - 0x464E => { path => 'unknown.something', unit => '?'}, - 0x4650 => { path => 'unknown.grid.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4651 => { path => 'unknown.grid.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4652 => { path => 'unknown.grid.current.phaseC', unit => 'A', factor => 0.001 }, - 0x4653 => { path => 'immediate.ac.current.phaseA', unit => 'A', factor => 0.001 }, - 0x4654 => { path => 'immediate.ac.current.phaseB', unit => 'A', factor => 0.001 }, - 0x4655 => { path => 'immediate.ac.current.phaseC', unit => 'A', factor => 0.001 }, - 0x4657 => { path => 'immediate.ac.frequency', unit => 'Hz', factor => 0.01 }, - 0x46AA => { path => 'unknown.counter.ownconsumption', unit => 'kWh', factor => ( 1.0 / 3600000 ) }, - 0x46AB => { path => 'unknown.power.ownconsumption'}, - 0x491E => { path => 'unknown.battery.counter.charges'}, - 0x4922 => { path => 'battery.cells.maxtemperature', unit => 'ºC', factor => 0.1 }, - 0x4923 => { path => 'battery.cells.mintemperature', unit => 'ºC', factor => 0.1 }, - 0x4924 => { path => 'unknown.battery.cells'}, - 0x4926 => { path => 'unknown.battery.total.charge', unit => 'Ah'}, - 0x4927 => { path => 'unknown.battery.total.discharge', unit => 'Ah'}, - 0x4933 => { path => 'battery.cells.setcharging.voltage', unit => 'V', factor => 0.01 }, - 0x495B => { path => 'immediate.batterytemperature', unit => 'ºC' , factor => 0.1 , title => "Battery Temperature" }, - 0x495C => { path => 'battery.system.voltage', unit => 'V', factor => 0.01 }, - 0x495D => { path => 'battery.system.current', unit => 'A', factor => 0.001 }, - 0x821E => { path => 'settings.system.name'}, - 0x821F => { path => 'static.mainmodel'}, - 0x8220 => { path => 'static.systemtype'}, - 0x8234 => { path => 'static.softwareversion'}, - 0x832A => { path => 'unknown.system.maximumpoweroutput'}, - - }; - my $code = $$typeInformation{$number} || { path => 'type.unknown.'.sprintf("0x%04x",$number) }; - - return $code; -} From f6ec94fad03120d9decc33a6e38d6d7a18b72580 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Thu, 29 Jun 2023 16:25:40 +0200 Subject: [PATCH 68/81] First version which works with receiving udp and correctly adding to mqtt. --- .swiftformat | 3 +- Package.swift | 2 +- Sources/sma2mqtt/sma2mqtt.swift | 2 +- .../DataObjects/SMATagTranslator.swift | 9 ++- Sources/sma2mqttLibrary/SMADevice.swift | 60 ++++++++++++------ Sources/sma2mqttLibrary/SMALighthouse.swift | 3 - .../SMAPacket/SMANetPacket.swift | 12 ++-- .../SMAPacket/SMANetPacketHeader.swift | 2 - .../SMAPacket/SMANetPacketValue.swift | 61 ++++++++++-------- .../SMAPacket/SMAPacketGenerator.swift | 62 +++++++++---------- .../sma2mqttLibrary/Tools/Extensions.swift | 4 +- Tests/sma2mqttTests/SMAObjectTests.swift | 9 +-- Tests/sma2mqttTests/TestHelpers.swift | 1 - Tests/sma2mqttTests/sma2mqttTests.swift | 50 +++++++++++++-- swiftformat | 1 + 15 files changed, 170 insertions(+), 111 deletions(-) create mode 120000 swiftformat diff --git a/.swiftformat b/.swiftformat index 3f22b06..04ed8e7 100644 --- a/.swiftformat +++ b/.swiftformat @@ -1,4 +1,5 @@ ---swiftversion 5.7 +--header "\n {file}\n" +#--swiftversion 5.8 --indentcase true #--maxwidth none --allman true diff --git a/Package.swift b/Package.swift index 9ef3b0c..c5c5a74 100644 --- a/Package.swift +++ b/Package.swift @@ -16,7 +16,7 @@ let package = Package( .library(name: "sma2mqttLibrary", targets: ["sma2mqttLibrary"]), ], dependencies: [ - .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.51.11"), + .package(url: "https://github.com/nicklockwood/SwiftFormat", branch: "master"), .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 061071d..489033c 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -58,7 +58,7 @@ extension Logger.Level: ExpressibleByArgument {} "battery/battery/temperature", "battery/battery/battery-charge/battery-charge", // "temperatures", - "temperature", +// "temperature", ] func run() async throws { diff --git a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift index e61ab48..cd3059b 100644 --- a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift @@ -8,7 +8,6 @@ import Foundation import JLog - struct SMATagTranslator { typealias ObjectIDString = String @@ -17,10 +16,10 @@ struct SMATagTranslator let translations: [Int: String] let objectsAndPaths: [ObjectIDString: SimpleObject] - struct SimpleObject:Codable + struct SimpleObject: Codable { - let path:String - let format:Int + let path: String + let format: Int } static var shared: SMATagTranslator = .init(definitionData: nil, translationData: nil) @@ -65,7 +64,7 @@ struct SMATagTranslator let simpleObject = SimpleObject(path: path, format: value.DataFrmt) - return (key,simpleObject) + return (key, simpleObject) }) JLog.trace("Objects and Paths:\(objectsAndPaths.json)") diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 5726ab9..7bb0912 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -108,29 +108,62 @@ public extension SMADevice udpSystemId = netPacket.header.sourceSystemId udpSerial = netPacket.header.sourceSerial +// let multipleValues = netPacket.values.count > 1 for value in netPacket.values { - if 0xfffd == netPacket.header.u16command + if netPacket.header.u16command == 0xFFFD { continue } - let objectID = String(format:"%04X_%02X%04X00",netPacket.header.u16command,value.type,value.address) + let objectID = String(format: "%04X_%02X%04X00", netPacket.header.u16command, value.type, value.address) + JLog.trace("\(address): objectid:\(objectID)") if let simpleObject = tagTranslator.objectsAndPaths[objectID] { JLog.trace("\(address): objectid:\(objectID) name:\(simpleObject.json)") - try? await publisher?.publish(to: name + "/" + simpleObject.path, payload: value.json, qos: .atMostOnce, retain: false) + let path = name + simpleObject.path // "\(simpleObject.path)\(multipleValues ? ".\(value.number)" : "")" + + switch value.value + { + case .uint(let value): + if let firstValue = value.first + { + let resultValue = GetValuesResult.Value.intValue( Int(firstValue) ) + let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + } + case .int(let value): + if let firstValue = value.first + { + let resultValue = GetValuesResult.Value.intValue( Int(firstValue) ) + let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + } + + case .string(let string): + let resultValue = GetValuesResult.Value.stringValue( string) + let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + + case .tags(let tags): + let resultValue = GetValuesResult.Value.tagValues( tags.map{ Int($0) } ) + let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + + default: + try? await publisher?.publish(to: path, payload: value.json, qos: .atMostOnce, retain: false) + break + } + } else { JLog.error("\(address): objectid not known \(objectID)") } - } - } } catch @@ -164,7 +197,7 @@ public extension SMADevice { let packetcounter = getNextPacketCounter() - let packetToSend:String + let packetToSend: String if !udpLoggedIn { @@ -173,21 +206,16 @@ public extension SMADevice else { let objectIDs = Array(objectsToQueryContinously) - let queryobject = objectIDs[(packetcounter % objectIDs.count)] + let queryobject = objectIDs[packetcounter % objectIDs.count] - packetToSend = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: packetcounter, objectID: queryobject,dstSystemId: udpSystemId,dstSerial: udpSerial) + packetToSend = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: packetcounter, objectID: queryobject, dstSystemId: udpSystemId, dstSerial: udpSerial) } JLog.trace("\(address): sending udp packet:\(packetToSend)") - await udpEmitter?.sendPacket(data: [UInt8](packetToSend.hexStringToData()), address: address,port: 9522) - + await udpEmitter?.sendPacket(data: [UInt8](packetToSend.hexStringToData()), address: address, port: 9522) } - } - - - extension SMADevice { enum DeviceError: Error @@ -200,8 +228,6 @@ extension SMADevice case packetGenerationError(String) } - - func findOutDeviceNameAndType() async throws { JLog.debug("\(address):find out device type") @@ -289,7 +315,6 @@ extension SMADevice } } - func httpQueryInterestingObjects() async throws { if sessionid == nil @@ -301,7 +326,6 @@ extension SMADevice try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously)) } - func httpLogin() async throws -> String { JLog.debug("\(address):Login") diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index c356bca..faa59c9 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -8,7 +8,6 @@ import Foundation import JLog - public enum UserRight: String { case user = "usr" @@ -17,7 +16,6 @@ public enum UserRight: String case developer = "dvlp" } - public actor SMALighthouse { let password: String @@ -105,7 +103,6 @@ public actor SMALighthouse public func shutdown() async throws { await mcastReceiver.shutdown() } - var hassentlogin = false private func sendDiscoveryPacketIfNeeded() async throws { diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift index 284f0f1..d044499 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift @@ -18,10 +18,9 @@ public struct SMANetPacket: Codable extension SMANetPacket { - var isLoggedIn:Bool { get { return header.u16result == 0 } } + var isLoggedIn: Bool { header.u16result == 0 } } - extension SMANetPacket: BinaryDecodable { public init(fromBinary decoder: BinaryDecoder) throws @@ -79,8 +78,11 @@ extension SMANetPacket: BinaryDecodable directvalue = String(data: data, encoding: .isoLatin1)! } - case 0x00: valuesize = decoder.countToEnd // keepalive packet - default: throw PacketError.decoding("unknown valuestype:\(header.u8valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + case 0x00: + valuesize = decoder.countToEnd + + default: + throw PacketError.decoding("unknown valuestype:\(header.u8valuestype) header:\(header) toEnd:\(decoder.countToEnd)") } if valuesize > 0 @@ -100,5 +102,3 @@ extension SMANetPacket: BinaryDecodable self.directvalue = directvalue } } - - diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift index 4855485..7649a30 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift @@ -87,5 +87,3 @@ extension SMANetPacketHeader: BinaryDecodable assert(Self.size == decoder.position - startposition) } } - - diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift index 4ff9434..a73344d 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift @@ -22,7 +22,7 @@ public struct SMANetPacketValue case uint = 0x00 case int = 0x40 case string = 0x10 - case version = 0x08 + case tags = 0x08 case password = 0x51 case unknown = 0x01 @@ -33,7 +33,7 @@ public struct SMANetPacketValue case uint([UInt32]) case int([Int32]) case string(String) - case version([UInt16]) + case tags([UInt32]) case password(Data) case unknown(Data) } @@ -54,7 +54,7 @@ extension SMANetPacketValue: Codable { case address, topic, unit, title, - anumber, value, time, date + anumber, value, time, date, tags } var container = encoder.container(keyedBy: CodingKeys.self) @@ -80,7 +80,7 @@ extension SMANetPacketValue: Codable try container.encode(toEncode, forKey: CodingKeys.value) case let .string(value): try container.encode(value, forKey: CodingKeys.value) - case let .version(values): try container.encode(values, forKey: CodingKeys.value) + case let .tags(values): try container.encode(values, forKey: CodingKeys.tags) case let .password(value): try container.encode(value, forKey: CodingKeys.value) case let .unknown(value): try container.encode(value, forKey: CodingKeys.value) } @@ -124,29 +124,26 @@ extension SMANetPacketValue: BinaryDecodable } value = .int(values) - case .string: // assert(decoder.countToEnd >= 32 ) - var ok = true - let data = try decoder.decode(Data.self, length: decoder.countToEnd) - .filter - { - ok = ok && ($0 != 0) - return ok - } - let string = String(data: data, encoding: .isoLatin1)! - value = .string(string) - - case .version: - var values = [UInt16]() + case .tags: + var tags = [UInt32]() while !decoder.isAtEnd { - let a = try decoder.decode(UInt16.self).littleEndian - let b = try decoder.decode(UInt16.self).littleEndian + let a = try decoder.decode(UInt32.self).littleEndian + + let lastPacket = 0x00_FFFFE + if a == lastPacket { break } + - if a == 0xFFFE, b == 0x00FF { break } - values.append(a) + let flag = a>>24 + + if flag == 1 + { + let tag = 0x00FF_FFFF & a + tags.append(tag) + } } - value = .version(values) + value = .tags(tags) case .password: if decoder.isAtEnd @@ -161,10 +158,24 @@ extension SMANetPacketValue: BinaryDecodable value = .password(data) } - case .unknown: + case .string, .unknown: let data = try decoder.decode(Data.self, length: decoder.countToEnd) - value = .unknown(data) - JLog.info("unkown: \(String(format: "no:0x%02x code:0x%04x type:0x%02x", number, address, type)) time:\(date) data:\(data.hexDump) ") + + var ok = true + let stringdata = data.filter + { + ok = ok && ($0 != 0) + return ok + } + if let string = String(data: stringdata, encoding:.isoLatin1), !string.isEmpty + { + value = .string(string) + } + else + { + value = .unknown(data) + JLog.info("unkown: \(String(format: "no:0x%02x code:0x%04x type:0x%02x", number, address, type)) time:\(date) data:\(data.hexDump) ") + } } JLog.trace("Got Value: \(json)") } diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift index 49d0a9d..7208f49 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift @@ -1,6 +1,6 @@ // // File.swift -// +// // // Created by Patrick Stein on 27.06.23. // @@ -10,7 +10,6 @@ import JLog struct SMAPacketGenerator {} - extension SMAPacketGenerator { enum GeneratorError: Error @@ -18,20 +17,20 @@ extension SMAPacketGenerator case objectIDConversionError(String) } - static func generatePacketForObjectID(packetcounter:Int,objectID:String,dstSystemId:UInt16 = 0xffff , dstSerial:UInt32 = 0xFFFF_FFFF) throws -> String + static func generatePacketForObjectID(packetcounter: Int, objectID: String, dstSystemId: UInt16 = 0xFFFF, dstSerial: UInt32 = 0xFFFF_FFFF) throws -> String { let command = try objectID2Command(objectId: objectID) - return try generateCommandPacket(packetcounter:packetcounter,command:command,dstSystemId:dstSystemId,dstSerial:dstSerial) + return try generateCommandPacket(packetcounter: packetcounter, command: command, dstSystemId: dstSystemId, dstSerial: dstSerial) } - static func generateCommandPacket(packetcounter:Int,command:String,dstSystemId:UInt16 = 0xffff , dstSerial:UInt32 = 0xFFFF_FFFF) throws -> String + static func generateCommandPacket(packetcounter: Int, command: String, dstSystemId: UInt16 = 0xFFFF, dstSerial: UInt32 = 0xFFFF_FFFF) throws -> String { - let jobid = String(format:"%02x",1) + let jobid = String(format: "%02x", 1) let result = "0000" let remainingpackets = "0000" - let packetid = String(format:"%02x%02x",(packetcounter & 0xFF),(((packetcounter & 0x7F00) >> 8 )|0x80)) - let dstSysidString = String(format:"%02x%02x",(dstSystemId & 0xFF),((dstSystemId & 0xFF00) >> 8) ) - let dstSerialString = String(format:"%02x%02x%02x%02x",(dstSerial & 0xFF),((dstSerial >> 8) & 0xFF),((dstSerial >> 16) & 0xFF),((dstSerial >> 24) & 0xFF)) + let packetid = String(format: "%02x%02x", packetcounter & 0xFF, ((packetcounter & 0x7F00) >> 8) | 0x80) + let dstSysidString = String(format: "%02x%02x", dstSystemId & 0xFF, (dstSystemId & 0xFF00) >> 8) + let dstSerialString = String(format: "%02x%02x%02x%02x", dstSerial & 0xFF, (dstSerial >> 8) & 0xFF, (dstSerial >> 16) & 0xFF, (dstSerial >> 24) & 0xFF) let header = """ 534d 4100 @@ -39,45 +38,45 @@ extension SMAPacketGenerator """ let smanetpacketheader = - """ - A0 - \(dstSysidString) \(dstSerialString) 00 - 01 - 1234 95b5 4321 00 - \(jobid) - \(result) - \(remainingpackets) - \(packetid) - """ + """ + A0 + \(dstSysidString) \(dstSerialString) 00 + 01 + 1234 95b5 4321 00 + \(jobid) + \(result) + \(remainingpackets) + \(packetid) + """ let smanetpacketwithoutlength = smanetpacketheader + command - JLog.trace("smanetpacketwithoutlength :\(smanetpacketwithoutlength)") +// JLog.trace("smanetpacketwithoutlength :\(smanetpacketwithoutlength)") let smanetpacketlength = smanetpacketwithoutlength.hexStringToData().count + 1 - JLog.trace("smanetpacketlength :\(smanetpacketlength)") +// JLog.trace("smanetpacketlength :\(smanetpacketlength)") assert(smanetpacketlength % 4 == 0) assert(smanetpacketlength < 255) - let smanetpacket = " 0010 6065 \n" - + String(format:" %02x ",(smanetpacketlength / 4)) + smanetpacketwithoutlength + let smanetpacket = " 0010 6065 \n" + + String(format: " %02x ", smanetpacketlength / 4) + smanetpacketwithoutlength let footer = " 0000 0000 " - let smapacket = header + String(format:" %04x ",smanetpacket.hexStringToData().count - 2) + smanetpacket + footer + let smapacket = header + String(format: " %04x ", smanetpacket.hexStringToData().count - 2) + smanetpacket + footer - JLog.trace("generated smapacket:\(smapacket)") + JLog.trace("generated smapacket:\(smapacket.hexStringToData().hexDump)") - return smapacket //.hexStringToData() + return smapacket // .hexStringToData() } - static func objectID2Command(objectId:String) throws -> String + static func objectID2Command(objectId: String) throws -> String { let regex = #/([a-fA-F\d]{2})([a-fA-F\d]{2})_([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})/# if let match = objectId.firstMatch(of: regex) { - let (_,a,b,c,d,e,f) = match.output + let (_, a, b, c, d, e, f) = match.output return "0000 \(b)\(a) \(f)\(e) \(d)\(c) FF\(e) \(d)\(c)" } @@ -91,14 +90,13 @@ extension SMAPacketGenerator return data.hexDump } - static func generateLoginPacket(packetcounter:Int,password: String, userRight: UserRight,dstSystemId:UInt16 = 0xffff , dstSerial:UInt32 = 0xFFFF_FFFF) throws -> String + static func generateLoginPacket(packetcounter: Int, password: String, userRight: UserRight, dstSystemId: UInt16 = 0xFFFF, dstSerial: UInt32 = 0xFFFF_FFFF) throws -> String { let encodedPassword = encodePassword(password: password, userRight: userRight) let passwordCommand = "0C04 fdff 07000000 84030000 4c20cb51 00000000 " + encodedPassword - return try generateCommandPacket(packetcounter:packetcounter,command:passwordCommand,dstSystemId:dstSystemId,dstSerial:dstSerial) + return try generateCommandPacket(packetcounter: packetcounter, command: passwordCommand, dstSystemId: dstSystemId, dstSerial: dstSerial) } - static func encodePassword(password: String, userRight: UserRight) -> String { let paddedPassword = password.padding(toLength: 12, withPad: "\0", startingAt: 0) @@ -115,6 +113,4 @@ extension SMAPacketGenerator return encoded.hexDump } - } - diff --git a/Sources/sma2mqttLibrary/Tools/Extensions.swift b/Sources/sma2mqttLibrary/Tools/Extensions.swift index 80df02c..5719f63 100644 --- a/Sources/sma2mqttLibrary/Tools/Extensions.swift +++ b/Sources/sma2mqttLibrary/Tools/Extensions.swift @@ -50,7 +50,7 @@ extension String { func hexStringToData() -> Data { - let stringWithoutSpaces = self.replacingOccurrences(of: " ", with: "") + let stringWithoutSpaces = replacingOccurrences(of: " ", with: "") .replacingOccurrences(of: "\n", with: "") .replacingOccurrences(of: "\t", with: "") @@ -66,8 +66,6 @@ extension String } } - - public extension Encodable { var json: String diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index 44e9317..ea6e5ca 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -61,15 +61,12 @@ final class SMAObjectTests: XCTestCase func testPassword() async throws { let encoded = SMAPacketGenerator.encodePassword(password: "password", userRight: .user) - XCTAssertEqual(encoded.hexStringToData(),"f8e9 fbfb fff7 faec 8888 8888".hexStringToData()) - } - + XCTAssertEqual(encoded.hexStringToData(), "f8e9 fbfb fff7 faec 8888 8888".hexStringToData()) + } func testDiscoveryPacket() async throws { let encoded = SMAPacketGenerator.generateDiscoveryPacket() - XCTAssertEqual(encoded.hexStringToData(),"534d 4100 0004 02a0 ffff ffff 0000 0020 0000".hexStringToData()) + XCTAssertEqual(encoded.hexStringToData(), "534d 4100 0004 02a0 ffff ffff 0000 0020 0000".hexStringToData()) } - - } diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift index 8258ac9..7ac7baa 100644 --- a/Tests/sma2mqttTests/TestHelpers.swift +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -13,7 +13,6 @@ import class Foundation.Bundle @testable import JLog @testable import sma2mqttLibrary - struct DataSplitter: Sequence, IteratorProtocol { let data: Data diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index e5a90e7..98515f6 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -13,7 +13,22 @@ final class sma2mqttTests: XCTestCase JLog.loglevel = .trace } - func testSMANetDecoding() throws + func testSMANetDecoding1() throws + { + let data = """ + + 07 2c4a 08 8856 9c64 2e01 0000 6f24 0001 9f24 0000 a024 0000 dd24 0000 634a 0000 feff ff00 0000 0000 + + + """.hexStringToData() + let binaryDecoder = BinaryDecoder(data: [UInt8](data)) + + let packet = try SMANetPacketValue(fromBinary: binaryDecoder) + JLog.debug("Packet:\(packet)") + XCTAssert(binaryDecoder.isAtEnd) + } + + func testSMANetDecoding2() throws { let data = "0ea0 ffff ffff ffff 0001 1234 25f6 4321 0001 0000 0000 0180 0c04 fdff 0700 0000 8403 0000 4c20 cb51 0000 0000 dbb8 f4e9 fae7 ddfb edfa 8888" @@ -25,6 +40,32 @@ final class sma2mqttTests: XCTestCase XCTAssert(binaryDecoder.isAtEnd) } + func testSMANetDecoding3() throws + { + let data = """ + + 0aa0 + ffff ffff ffff 00 + c5 + 6901 6d33 26b3 00 + 05 + 0000 0000 7ba7 0c00 + fdff + 4c 4f43 4b + 4544 0000 + + 0000 0000 + + """ + .hexStringToData() + let binaryDecoder = BinaryDecoder(data: [UInt8](data)) + + let packet = try SMANetPacket(fromBinary: binaryDecoder) + JLog.debug("Packet:\(packet)") + XCTAssert(binaryDecoder.isAtEnd) + } + + func testSMADecoding() throws { let data = @@ -65,7 +106,7 @@ final class sma2mqttTests: XCTestCase let dataString = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: 1, objectID: "6180_08414E00") let data = dataString.hexStringToData() - let binaryDecoder = BinaryDecoder(data: [UInt8](data) ) + let binaryDecoder = BinaryDecoder(data: [UInt8](data)) let packet = try SMAPacket(fromBinary: binaryDecoder) JLog.debug("Packet:\(packet)") @@ -75,7 +116,6 @@ final class sma2mqttTests: XCTestCase JLog.debug("Packet2:\(packet2)") } - func testSHMWeird() throws { let data = """ @@ -123,7 +163,7 @@ final class sma2mqttTests: XCTestCase func testSMAFile() throws { JLog.debug("loading data") - let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/pcaps/vlan2.20220618-1.pcap"),options:.mappedRead) + let filedata = try Data(contentsOf: URL(fileURLWithPath: "/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/pcaps/vlan2.20220618-1.pcap"), options: .mappedRead) // let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Downloads/FW3-11-11-R_SBS25-1VL-10/SBS2.5-1VL-10-V3.11.11.R.up2"),options:.mappedRead) // let filedata = try Data(contentsOf: URL(fileURLWithPath:"/Users/jolly/Documents/GitHub/sma2mqtt/Temp/Reverseengineering/shm.20220615.pcap"),options: .mappedRead) JLog.debug("data loaded") @@ -603,7 +643,6 @@ final class sma2mqttTests: XCTestCase XCTAssert(packetcounter == 27) } - func testSMAPacketDecoding8() throws { let data = """ @@ -625,5 +664,4 @@ final class sma2mqttTests: XCTestCase let binaryDecoder = BinaryDecoder(data: [UInt8](data)) let _ = try? SMAPacket(fromBinary: binaryDecoder) } - } diff --git a/swiftformat b/swiftformat new file mode 120000 index 0000000..53d4a09 --- /dev/null +++ b/swiftformat @@ -0,0 +1 @@ +.swiftformat \ No newline at end of file From fb7f64cbac8bdbf5d60871aa369a899175a40f7f Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Thu, 29 Jun 2023 16:27:53 +0200 Subject: [PATCH 69/81] swiftformat - changed header format. --- Sources/sma2mqtt/sma2mqtt.swift | 4 +++ .../DataObjects/GetValuesResult.swift | 5 +-- .../DataObjects/PublishedValue.swift | 3 -- .../DataObjects/SMADataObject.swift | 5 +-- .../DataObjects/SMATagTranslator.swift | 5 +-- .../sma2mqttLibrary/Obis/ObisDefinition.swift | 3 -- Sources/sma2mqttLibrary/Obis/ObisPacket.swift | 6 ++-- Sources/sma2mqttLibrary/Obis/ObisValue.swift | 4 +++ Sources/sma2mqttLibrary/SMADevice.swift | 31 ++++++++----------- Sources/sma2mqttLibrary/SMALighthouse.swift | 5 +-- .../SMAPacket/PacketHelper.swift | 5 +-- .../SMAPacket/SMANetPacket.swift | 8 ++--- .../SMAPacket/SMANetPacketDefinition.swift | 3 -- .../SMAPacket/SMANetPacketHeader.swift | 3 -- .../SMAPacket/SMANetPacketValue.swift | 23 ++++++-------- .../sma2mqttLibrary/SMAPacket/SMAPacket.swift | 4 +++ .../SMAPacket/SMAPacketGenerator.swift | 5 +-- .../SMAPacket/SMATagPacket.swift | 3 -- .../sma2mqttLibrary/Tools/Extensions.swift | 5 +-- .../Tools/HTTPClientProvider.swift | 5 +-- .../sma2mqttLibrary/Tools/MQTTPublisher.swift | 3 -- .../Tools/MutlicastReceiver.swift | 4 +++ Tests/sma2mqttTests/SMAObjectTests.swift | 3 -- Tests/sma2mqttTests/TestHelpers.swift | 5 +-- Tests/sma2mqttTests/sma2mqttTests.swift | 9 ++++-- 25 files changed, 59 insertions(+), 100 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 489033c..58372c4 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -1,3 +1,7 @@ +// +// sma2mqtt.swift +// + import ArgumentParser import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift b/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift index 7161bfa..62d1925 100644 --- a/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift +++ b/Sources/sma2mqttLibrary/DataObjects/GetValuesResult.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 18.06.23. +// GetValuesResult.swift // import Foundation diff --git a/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift b/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift index d1f660c..080b60e 100644 --- a/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift +++ b/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift @@ -1,9 +1,6 @@ // // PublishedValue.swift // -// -// Created by Patrick Stein on 18.06.23. -// import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/DataObjects/SMADataObject.swift b/Sources/sma2mqttLibrary/DataObjects/SMADataObject.swift index 8203fa6..b24c87d 100644 --- a/Sources/sma2mqttLibrary/DataObjects/SMADataObject.swift +++ b/Sources/sma2mqttLibrary/DataObjects/SMADataObject.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 26.06.22. +// SMADataObject.swift // import Foundation diff --git a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift index cd3059b..53e8412 100644 --- a/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift +++ b/Sources/sma2mqttLibrary/DataObjects/SMATagTranslator.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 17.06.23. +// SMATagTranslator.swift // import Foundation diff --git a/Sources/sma2mqttLibrary/Obis/ObisDefinition.swift b/Sources/sma2mqttLibrary/Obis/ObisDefinition.swift index c65276d..fd0f2ee 100644 --- a/Sources/sma2mqttLibrary/Obis/ObisDefinition.swift +++ b/Sources/sma2mqttLibrary/Obis/ObisDefinition.swift @@ -1,9 +1,6 @@ // // ObisDefinition.swift // -// -// Created by Patrick Stein on 29.08.21. -// import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/Obis/ObisPacket.swift b/Sources/sma2mqttLibrary/Obis/ObisPacket.swift index b34f0e9..af28a42 100644 --- a/Sources/sma2mqttLibrary/Obis/ObisPacket.swift +++ b/Sources/sma2mqttLibrary/Obis/ObisPacket.swift @@ -1,9 +1,7 @@ // -// ObisProtocol.swift -// -// -// Created by Patrick Stein on 29.08.21. +// ObisPacket.swift // + import BinaryCoder import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/Obis/ObisValue.swift b/Sources/sma2mqttLibrary/Obis/ObisValue.swift index de870ff..f94584c 100644 --- a/Sources/sma2mqttLibrary/Obis/ObisValue.swift +++ b/Sources/sma2mqttLibrary/Obis/ObisValue.swift @@ -1,3 +1,7 @@ +// +// ObisValue.swift +// + import BinaryCoder import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 7bb0912..935d57d 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 27.06.22. +// SMADevice.swift // import AsyncHTTPClient @@ -128,36 +125,34 @@ public extension SMADevice switch value.value { - case .uint(let value): + case let .uint(value): if let firstValue = value.first { - let resultValue = GetValuesResult.Value.intValue( Int(firstValue) ) + let resultValue = GetValuesResult.Value.intValue(Int(firstValue)) let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) } - case .int(let value): + case let .int(value): if let firstValue = value.first { - let resultValue = GetValuesResult.Value.intValue( Int(firstValue) ) + let resultValue = GetValuesResult.Value.intValue(Int(firstValue)) let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) } - case .string(let string): - let resultValue = GetValuesResult.Value.stringValue( string) - let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) - try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + case let .string(string): + let resultValue = GetValuesResult.Value.stringValue(string) + let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) - case .tags(let tags): - let resultValue = GetValuesResult.Value.tagValues( tags.map{ Int($0) } ) - let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) - try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + case let .tags(tags): + let resultValue = GetValuesResult.Value.tagValues(tags.map { Int($0) }) + let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) default: try? await publisher?.publish(to: path, payload: value.json, qos: .atMostOnce, retain: false) - break } - } else { diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index faa59c9..8841cd6 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -1,8 +1,5 @@ // -// SunnyHomeManager.swift -// -// -// Created by Patrick Stein on 14.06.22. +// SMALighthouse.swift // import Foundation diff --git a/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift b/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift index 623615d..5e23aa8 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/PacketHelper.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 21.06.23. +// PacketHelper.swift // import BinaryCoder diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift index d044499..c37b0e0 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacket.swift @@ -1,9 +1,7 @@ // -// SMANetPacketHeader.swift -// -// -// Created by Patrick Stein on 01.06.2022. +// SMANetPacket.swift // + import BinaryCoder import Foundation import JLog @@ -82,7 +80,7 @@ extension SMANetPacket: BinaryDecodable valuesize = decoder.countToEnd default: - throw PacketError.decoding("unknown valuestype:\(header.u8valuestype) header:\(header) toEnd:\(decoder.countToEnd)") + throw PacketError.decoding("unknown valuestype:\(header.u8valuestype) header:\(header) toEnd:\(decoder.countToEnd)") } if valuesize > 0 diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift index 1d536cc..4702b2c 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketDefinition.swift @@ -1,9 +1,6 @@ // // SMANetPacketDefinition.swift // -// -// Created by Patrick Stein on 08.06.22. -// import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift index 7649a30..c76599c 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketHeader.swift @@ -1,9 +1,6 @@ // // SMANetPacketHeader.swift // -// -// Created by Patrick Stein on 19.06.23. -// import BinaryCoder import Foundation diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift index a73344d..ca7e0e1 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift @@ -1,9 +1,7 @@ // // SMANetPacketValue.swift // -// -// Created by Patrick Stein on 01.06.2022. -// + import BinaryCoder import Foundation import JLog @@ -131,16 +129,15 @@ extension SMANetPacketValue: BinaryDecodable { let a = try decoder.decode(UInt32.self).littleEndian - let lastPacket = 0x00_FFFFE + let lastPacket = 0x00FFFFE if a == lastPacket { break } - - let flag = a>>24 + let flag = a >> 24 if flag == 1 { - let tag = 0x00FF_FFFF & a - tags.append(tag) + let tag = 0x00FF_FFFF & a + tags.append(tag) } } value = .tags(tags) @@ -163,11 +160,11 @@ extension SMANetPacketValue: BinaryDecodable var ok = true let stringdata = data.filter - { - ok = ok && ($0 != 0) - return ok - } - if let string = String(data: stringdata, encoding:.isoLatin1), !string.isEmpty + { + ok = ok && ($0 != 0) + return ok + } + if let string = String(data: stringdata, encoding: .isoLatin1), !string.isEmpty { value = .string(string) } diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift index 5b3685a..a606a47 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacket.swift @@ -1,3 +1,7 @@ +// +// SMAPacket.swift +// + import BinaryCoder import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift index 7208f49..fe44f72 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 27.06.23. +// SMAPacketGenerator.swift // import Foundation diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift index 2662a85..4363f38 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift @@ -1,9 +1,6 @@ // // SMATagPacket.swift // -// -// Created by Patrick Stein on 18.06.23. -// import BinaryCoder import Foundation diff --git a/Sources/sma2mqttLibrary/Tools/Extensions.swift b/Sources/sma2mqttLibrary/Tools/Extensions.swift index 5719f63..7f22f3d 100644 --- a/Sources/sma2mqttLibrary/Tools/Extensions.swift +++ b/Sources/sma2mqttLibrary/Tools/Extensions.swift @@ -1,8 +1,5 @@ // -// File.swift -// File -// -// Created by Patrick Stein on 07.08.21. +// Extensions.swift // import Foundation diff --git a/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift b/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift index 182d68d..ac1a917 100644 --- a/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift +++ b/Sources/sma2mqttLibrary/Tools/HTTPClientProvider.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 18.06.23. +// HTTPClientProvider.swift // import AsyncHTTPClient diff --git a/Sources/sma2mqttLibrary/Tools/MQTTPublisher.swift b/Sources/sma2mqttLibrary/Tools/MQTTPublisher.swift index d06aec6..73fd668 100644 --- a/Sources/sma2mqttLibrary/Tools/MQTTPublisher.swift +++ b/Sources/sma2mqttLibrary/Tools/MQTTPublisher.swift @@ -1,9 +1,6 @@ // // MQTTPublisher.swift // -// -// Created by Patrick Stein on 12.06.22. -// import Foundation import JLog diff --git a/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift b/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift index 71a1e60..ebf7e7c 100644 --- a/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift +++ b/Sources/sma2mqttLibrary/Tools/MutlicastReceiver.swift @@ -1,3 +1,7 @@ +// +// MutlicastReceiver.swift +// + import Foundation import JLog diff --git a/Tests/sma2mqttTests/SMAObjectTests.swift b/Tests/sma2mqttTests/SMAObjectTests.swift index ea6e5ca..52bdd01 100644 --- a/Tests/sma2mqttTests/SMAObjectTests.swift +++ b/Tests/sma2mqttTests/SMAObjectTests.swift @@ -1,9 +1,6 @@ // // SMAObjectTests.swift // -// -// Created by Patrick Stein on 27.06.22. -// import XCTest diff --git a/Tests/sma2mqttTests/TestHelpers.swift b/Tests/sma2mqttTests/TestHelpers.swift index 7ac7baa..8084493 100644 --- a/Tests/sma2mqttTests/TestHelpers.swift +++ b/Tests/sma2mqttTests/TestHelpers.swift @@ -1,8 +1,5 @@ // -// File.swift -// -// -// Created by Patrick Stein on 13.06.22. +// TestHelpers.swift // import XCTest diff --git a/Tests/sma2mqttTests/sma2mqttTests.swift b/Tests/sma2mqttTests/sma2mqttTests.swift index 98515f6..07266d8 100644 --- a/Tests/sma2mqttTests/sma2mqttTests.swift +++ b/Tests/sma2mqttTests/sma2mqttTests.swift @@ -1,3 +1,7 @@ +// +// sma2mqttTests.swift +// + import XCTest import class Foundation.Bundle @@ -53,11 +57,11 @@ final class sma2mqttTests: XCTestCase fdff 4c 4f43 4b 4544 0000 - + 0000 0000 """ - .hexStringToData() + .hexStringToData() let binaryDecoder = BinaryDecoder(data: [UInt8](data)) let packet = try SMANetPacket(fromBinary: binaryDecoder) @@ -65,7 +69,6 @@ final class sma2mqttTests: XCTestCase XCTAssert(binaryDecoder.isAtEnd) } - func testSMADecoding() throws { let data = From 90acf9b1bfa1f3bc0277f466ccc64233651815bc Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 30 Jun 2023 08:57:22 +0200 Subject: [PATCH 70/81] support for getting NaN == nil values from inverter. --- Sources/sma2mqttLibrary/SMADevice.swift | 8 ++++---- .../SMAPacket/SMANetPacketValue.swift | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 935d57d..5d23f0d 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -105,7 +105,7 @@ public extension SMADevice udpSystemId = netPacket.header.sourceSystemId udpSerial = netPacket.header.sourceSerial -// let multipleValues = netPacket.values.count > 1 + let multipleValues = netPacket.values.count > 1 for value in netPacket.values { @@ -121,19 +121,19 @@ public extension SMADevice { JLog.trace("\(address): objectid:\(objectID) name:\(simpleObject.json)") - let path = name + simpleObject.path // "\(simpleObject.path)\(multipleValues ? ".\(value.number)" : "")" + let path = name + "/\(simpleObject.path)\(multipleValues ? ".\(value.number)" : "")" switch value.value { case let .uint(value): - if let firstValue = value.first + if let firstValue = value.first as? UInt32 { let resultValue = GetValuesResult.Value.intValue(Int(firstValue)) let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) } case let .int(value): - if let firstValue = value.first + if let firstValue = value.first as? Int32 { let resultValue = GetValuesResult.Value.intValue(Int(firstValue)) let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift index ca7e0e1..2c4b779 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMANetPacketValue.swift @@ -28,8 +28,8 @@ public struct SMANetPacketValue enum PacketValue: Codable { - case uint([UInt32]) - case int([Int32]) + case uint([UInt32?]) + case int([Int32?]) case string(String) case tags([UInt32]) case password(Data) @@ -70,11 +70,11 @@ extension SMANetPacketValue: Codable switch value { case let .uint(values): - let toEncode = values.map { $0 == .max ? nil : (hasFactor ? Decimal($0) / factor! : Decimal($0)) } + let toEncode = values.map { $0 == nil ? nil : (hasFactor ? Decimal($0!) / factor! : Decimal($0!)) } try container.encode(toEncode, forKey: CodingKeys.value) case let .int(values): - let toEncode = values.map { $0 == .min ? nil : (hasFactor ? Decimal($0) / factor! : Decimal($0)) } + let toEncode = values.map { $0 == nil ? nil : (hasFactor ? Decimal($0!) / factor! : Decimal($0!)) } try container.encode(toEncode, forKey: CodingKeys.value) case let .string(value): try container.encode(value, forKey: CodingKeys.value) @@ -103,22 +103,22 @@ extension SMANetPacketValue: BinaryDecodable switch valuetype { case .uint: - var values = [UInt32]() + var values = [UInt32?]() while !decoder.isAtEnd { let value = try decoder.decode(UInt32.self) - values.append(value) + values.append(value == UInt32.max ? nil : value) } value = .uint(values) case .int: - var values = [Int32]() + var values = [Int32?]() while !decoder.isAtEnd { let value = try decoder.decode(Int32.self) - values.append(value) + values.append(value == Int32.min ? nil : value) } value = .int(values) From fa50cb86bb81914c8b5c5a31f0e1e165d6cdeb52 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 30 Jun 2023 11:30:21 +0200 Subject: [PATCH 71/81] combining multiple values into one mqtt output like the json from the inverter website does. --- Sources/sma2mqttLibrary/SMADevice.swift | 50 +++++++++++++------------ 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 5d23f0d..9e77584 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -107,21 +107,24 @@ public extension SMADevice let multipleValues = netPacket.values.count > 1 - for value in netPacket.values + if netPacket.header.u16command == 0xFFFD { - if netPacket.header.u16command == 0xFFFD - { - continue - } - let objectID = String(format: "%04X_%02X%04X00", netPacket.header.u16command, value.type, value.address) + return nil + } - JLog.trace("\(address): objectid:\(objectID)") + let objectIDs = netPacket.values.map { String(format: "%04X_%02X%04X00", netPacket.header.u16command, $0.type, $0.address) } - if let simpleObject = tagTranslator.objectsAndPaths[objectID] - { - JLog.trace("\(address): objectid:\(objectID) name:\(simpleObject.json)") + if let objectID = objectIDs.first(where: { tagTranslator.objectsAndPaths[$0] != nil }), + let simpleObject = tagTranslator.objectsAndPaths[objectID] + { + JLog.trace("\(address): objectid:\(objectID) name:\(simpleObject.json)") + + let path = name + "/\(simpleObject.path)" + var resultValues = [GetValuesResult.Value]() - let path = name + "/\(simpleObject.path)\(multipleValues ? ".\(value.number)" : "")" + for value in netPacket.values + { + JLog.trace("\(address): objectid:\(objectID)") switch value.value { @@ -129,35 +132,34 @@ public extension SMADevice if let firstValue = value.first as? UInt32 { let resultValue = GetValuesResult.Value.intValue(Int(firstValue)) - let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) - try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + resultValues.append(resultValue) } case let .int(value): if let firstValue = value.first as? Int32 { let resultValue = GetValuesResult.Value.intValue(Int(firstValue)) - let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) - try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + resultValues.append(resultValue) } case let .string(string): let resultValue = GetValuesResult.Value.stringValue(string) - let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) - try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + resultValues.append(resultValue) case let .tags(tags): let resultValue = GetValuesResult.Value.tagValues(tags.map { Int($0) }) - let singleValue = PublishedValue(objectID: objectID, values: [resultValue], tagTranslator: tagTranslator) - try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + resultValues.append(resultValue) default: - try? await publisher?.publish(to: path, payload: value.json, qos: .atMostOnce, retain: false) + try? await publisher?.publish(to: path + ".\(value.number)", payload: value.json, qos: .atMostOnce, retain: false) } } - else - { - JLog.error("\(address): objectid not known \(objectID)") - } + + let singleValue = PublishedValue(objectID: objectID, values: resultValues, tagTranslator: tagTranslator) + try? await publisher?.publish(to: path, payload: singleValue.json, qos: .atMostOnce, retain: false) + } + else if !objectIDs.isEmpty + { + JLog.error("\(address): objectIDs not known \(objectIDs)") } } } From c50696b27f09820e7f6e07fdca3e418d0cae4000 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Fri, 30 Jun 2023 11:36:41 +0200 Subject: [PATCH 72/81] removed no longer needed value. --- Sources/sma2mqttLibrary/SMADevice.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 9e77584..886d537 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -105,8 +105,6 @@ public extension SMADevice udpSystemId = netPacket.header.sourceSystemId udpSerial = netPacket.header.sourceSerial - let multipleValues = netPacket.values.count > 1 - if netPacket.header.u16command == 0xFFFD { return nil From d9ce3fbeb4c738f949127714bbca6f7d2e9f1cb5 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 1 Jul 2023 10:04:58 +0200 Subject: [PATCH 73/81] Speedup regex speedup, hex string <-> data functions. --- .../SMAPacket/SMAPacketGenerator.swift | 4 +- .../sma2mqttLibrary/Tools/Extensions.swift | 58 ++++++++++++------- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift index fe44f72..7db6295 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift @@ -4,6 +4,7 @@ import Foundation import JLog +import RegexBuilder struct SMAPacketGenerator {} @@ -67,10 +68,9 @@ extension SMAPacketGenerator return smapacket // .hexStringToData() } + private static let regex: Regex = { #/([a-fA-F\d]{2})([a-fA-F\d]{2})_([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})/# }() static func objectID2Command(objectId: String) throws -> String { - let regex = #/([a-fA-F\d]{2})([a-fA-F\d]{2})_([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})([a-fA-F\d]{2})/# - if let match = objectId.firstMatch(of: regex) { let (_, a, b, c, d, e, f) = match.output diff --git a/Sources/sma2mqttLibrary/Tools/Extensions.swift b/Sources/sma2mqttLibrary/Tools/Extensions.swift index 7f22f3d..2ddee3c 100644 --- a/Sources/sma2mqttLibrary/Tools/Extensions.swift +++ b/Sources/sma2mqttLibrary/Tools/Extensions.swift @@ -25,41 +25,55 @@ public extension Data { var hexDump: String { - var string = "" - - for (offset, value) in enumerated() - { - string += String(format: "%02x", value) - if (offset + 1) % 2 == 0 { string += " " } - } - return string + toHexString(octetGrouped: true) } + private static let hexAlphabet = Array("0123456789abcdef".utf8) func toHexString(octetGrouped: Bool = false) -> String { - let formatString = octetGrouped ? "%02hhx " : "%02hhx" - let string = map { String(format: formatString, $0) }.joined() - return string + let returnString = String(unsafeUninitializedCapacity: 2 * count) + { ptr -> Int in + var p = ptr.baseAddress! + for byte in self + { + p[0] = Self.hexAlphabet[Int(byte / 16)] + p[1] = Self.hexAlphabet[Int(byte % 16)] + p += 2 + } + return 2 * self.count + } + if !octetGrouped + { + return returnString + } + + var counter = 0 + return returnString.map { counter += 1; return counter % 4 == 0 ? "\($0) " : "\($0)" }.joined() } } extension String { + static let hex2UInt8: [UInt8: UInt8] = Dictionary(uniqueKeysWithValues: "0123456789abcdefABCDEF".utf8.map { ($0, UInt8(String(format: "%c", $0), radix: 16)!) }) + func hexStringToData() -> Data { - let stringWithoutSpaces = replacingOccurrences(of: " ", with: "") - .replacingOccurrences(of: "\n", with: "") - .replacingOccurrences(of: "\t", with: "") - - let uInt8Array = stride(from: 0, to: stringWithoutSpaces.count, by: 2) - .map + var second = true + var last: UInt8 = 0 + return Data(utf8.compactMap + { + if let nibble = Self.hex2UInt8[$0] { - stringWithoutSpaces[ - stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0) ... stringWithoutSpaces.index(stringWithoutSpaces.startIndex, offsetBy: $0 + 1) - ] + second.toggle() + if second + { + return last << 4 | nibble + } + last = nibble } - .map { UInt8($0, radix: 16)! } - return Data(uInt8Array) + return nil + } + ) } } From 1868ac8f5f20efe14cfe88946e1a0cbecffd09af Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 1 Jul 2023 11:56:40 +0200 Subject: [PATCH 74/81] updated packages to use jlog 0.0.5 for speedup. --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index c5c5a74..4c18f2b 100644 --- a/Package.swift +++ b/Package.swift @@ -20,8 +20,8 @@ let package = Package( .package(url: "https://github.com/apple/swift-argument-parser", .upToNextMajor(from: "1.2.2")), .package(url: "https://github.com/swift-server/async-http-client.git", from: "1.18.0"), .package(url: "https://github.com/swift-server-community/mqtt-nio", .upToNextMajor(from: "2.8.0")), - .package(url: "https://github.com/jollyjinx/BinaryCoder", from: "2.3.1"), - .package(url: "https://github.com/jollyjinx/JLog", from: "0.0.4"), + .package(url: "https://github.com/jollyjinx/BinaryCoder", .upToNextMajor(from: "2.3.1")), + .package(url: "https://github.com/jollyjinx/JLog", .upToNextMajor(from: "0.0.5")), ], targets: [ .executableTarget( From 8fd75946b3593d9c83037eae9f06374d6cf3ae3c Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 1 Jul 2023 12:56:34 +0200 Subject: [PATCH 75/81] Fixed Sending discovery Packet --- Sources/sma2mqttLibrary/SMALighthouse.swift | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 8841cd6..f2f5007 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -105,17 +105,9 @@ public actor SMALighthouse { guard Date().timeIntervalSince(lastDiscoveryRequestDate) > disoveryRequestInterval else { return } -// let data: [UInt8] = [0x53, 0x4D, 0x41, 0x00, 0x00, 0x04, 0x02, 0xA0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00] -// await mcastReceiver.sendPacket(data: data, address: mcastAddress, port: mcastPort) -// lastDiscoveryRequestDate = Date() - - let loginPacket = try SMAPacketGenerator.generateLoginPacket(packetcounter: 0, password: password, userRight: .user) - - if !hassentlogin - { - await mcastReceiver.sendPacket(data: [UInt8](loginPacket.hexStringToData()), address: mcastAddress, port: mcastPort) - } - hassentlogin = true + let dicoveryPacket = SMAPacketGenerator.generateDiscoveryPacket() + await mcastReceiver.sendPacket(data: [UInt8](dicoveryPacket.hexStringToData()), address: mcastAddress, port: mcastPort) + lastDiscoveryRequestDate = Date() } public func receiveNext() async throws From 894c512e49846ab3066e7d602a58f3c721cfc3aa Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 1 Jul 2023 22:23:35 +0200 Subject: [PATCH 76/81] changed to have different refresh intervals for different paths. --- Sources/sma2mqtt/sma2mqtt.swift | 26 ++-- Sources/sma2mqttLibrary/SMADevice.swift | 147 ++++++++++++-------- Sources/sma2mqttLibrary/SMALighthouse.swift | 4 +- 3 files changed, 102 insertions(+), 75 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 58372c4..dd5e19d 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -29,7 +29,7 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "MQTT Server password") var mqttPassword: String = "" - @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") var interval: Double = 1.0 + @Option(name: .shortAndLong, help: "Interval to send updates to mqtt Server.") var emitInterval: Double = 1.0 #if DEBUG @Option(name: .shortAndLong, help: "MQTT Server topic.") var basetopic: String = "example/sma/" @@ -47,22 +47,22 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" - @Option(name: .long, help: "Paths we are interested to update") var interestingPaths: [String] = [ - "dc-side/dc-measurements/power", - "ac-side/grid-measurements/power", - "ac-side/measured-values/daily-yield", - "immediate/feedin", - "immediate/usage", + @Option(name: .long, help: "Array of path:interval values we are interested in") var interestingPathsAndValues: [String] = [ + "dc-side/dc-measurements/power:1", + "ac-side/grid-measurements/power:1", + "ac-side/measured-values/daily-yield:1", + "immediate/feedin:1", + "immediate/usage:1", // "immediate/gridfrequency", - "battery/state-of-charge", + "battery/state-of-charge:10", // "battery/battery-charge", // "battery/present-battery-charge", // "battery/present-battery-discharge", - "battery/battery/temperature", - "battery/battery/battery-charge/battery-charge", + "battery/battery/temperature:10", + "battery/battery/battery-charge/battery-charge:10", // "temperatures", -// "temperature", + "temperature:30", ] func run() async throws { @@ -74,7 +74,9 @@ extension Logger.Level: ExpressibleByArgument {} JLog.info("Loglevel: \(logLevel)") } - let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: interval, baseTopic: basetopic) + let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: emitInterval, baseTopic: basetopic) + + let interestingPaths = Dictionary(uniqueKeysWithValues: interestingPathsAndValues.compactMap { let kv = $0.split(separator: ":"); return (String(kv[0]), Int(kv[1])) as? (String, Int) }) let sunnyHome = try await SMALighthouse(mqttPublisher: mqttPublisher, multicastAddress: mcastAddress, diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 886d537..07dfe33 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -15,9 +15,30 @@ public actor SMADevice let userright: UserRight let password: String let publisher: SMAPublisher? - let interestingPaths: [String] - var objectsToQueryContinously = Set() + let refreshInterval: Int + let interestingPaths: [String: Int] + + struct QueryObject: Hashable + { + let objectid: String + let interval: Int + } + + struct QueryElement: Hashable, Comparable + { + let objectid: String + let nextReadDate: Date + + static func < (lhs: Self, rhs: Self) -> Bool { lhs.nextReadDate < rhs.nextReadDate } + static func <= (lhs: Self, rhs: Self) -> Bool { lhs.nextReadDate <= rhs.nextReadDate } + static func >= (lhs: Self, rhs: Self) -> Bool { lhs.nextReadDate >= rhs.nextReadDate } + static func > (lhs: Self, rhs: Self) -> Bool { lhs.nextReadDate > rhs.nextReadDate } + } + + var objectsToQueryContinously = [String: QueryObject]() + var objectsToQueryNext = [QueryElement]() + let requestAllObjects: Bool public var lastSeen = Date.distantPast @@ -39,12 +60,15 @@ public actor SMADevice private var refreshTask: Task? private var tagTranslator = SMATagTranslator.shared - public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 1, interestingPaths: [String] = [], requestAllObjects: Bool = false, udpEmitter: UDPEmitter? = nil) async throws + public init(address: String, userright: UserRight = .user, password: String = "00000", publisher: SMAPublisher? = nil, refreshInterval: Int = 30, interestingPaths: [String: Int] = [:], requestAllObjects: Bool = false, udpEmitter: UDPEmitter? = nil) async throws { self.address = address self.userright = userright self.password = password self.publisher = publisher + + self.refreshInterval = refreshInterval + self.interestingPaths = interestingPaths self.requestAllObjects = requestAllObjects self.udpEmitter = udpEmitter @@ -62,15 +86,14 @@ public actor SMADevice { do { - try await Task.sleep(nanoseconds: UInt64(refreshInterval) * UInt64(NSEC_PER_SEC)) -// try await self.httpQueryInterestingObjects() - try await self.udpQueryInterestingObjects() + try await self.workOnNextPacket() errorcounter = 0 } catch { JLog.error("\(address): Failed to query interesting objects: \(error)") errorcounter += 1 + try? await Task.sleep(for: .seconds(1)) } } JLog.error("\(address): too many erros") @@ -116,6 +139,7 @@ public extension SMADevice let simpleObject = tagTranslator.objectsAndPaths[objectID] { JLog.trace("\(address): objectid:\(objectID) name:\(simpleObject.json)") + justRetrievedObject(objectID: objectID) let path = name + "/\(simpleObject.path)" var resultValues = [GetValuesResult.Value]() @@ -182,13 +206,45 @@ public extension SMADevice return smaPacket } + internal func getNextRequest() throws -> QueryElement + { + guard let queryElement = objectsToQueryNext.min() else { throw DeviceError.packetGenerationError("no packets to wait for") } + + let newElement = QueryElement(objectid: queryElement.objectid, nextReadDate: Date(timeIntervalSinceNow: 5.0)) + objectsToQueryNext = objectsToQueryNext.map { $0.objectid == queryElement.objectid ? newElement : $0 } + + return queryElement + } + + func justRetrievedObject(objectID: String) + { + if let object = objectsToQueryContinously[objectID] + { + let newElement = QueryElement(objectid: object.objectid, nextReadDate: Date(timeIntervalSinceNow: Double(object.interval))) + objectsToQueryNext = objectsToQueryNext.map { $0.objectid == objectID ? newElement : $0 } + } + } + + func workOnNextPacket() async throws + { + let objectToQuery = try getNextRequest() + + let timeToWait = objectToQuery.nextReadDate.timeIntervalSinceNow + + if timeToWait > 0 + { + try await Task.sleep(for: .seconds(timeToWait)) + } + try await udpQueryObject(objectID: objectToQuery.objectid) + } + func getNextPacketCounter() -> Int { udpPacketCounter = (udpPacketCounter + 1) return udpPacketCounter } - func udpQueryInterestingObjects() async throws + func udpQueryObject(objectID: String) async throws { let packetcounter = getNextPacketCounter() @@ -200,10 +256,7 @@ public extension SMADevice } else { - let objectIDs = Array(objectsToQueryContinously) - let queryobject = objectIDs[packetcounter % objectIDs.count] - - packetToSend = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: packetcounter, objectID: queryobject, dstSystemId: udpSystemId, dstSerial: udpSerial) + packetToSend = try SMAPacketGenerator.generatePacketForObjectID(packetcounter: packetcounter, objectID: objectID, dstSystemId: udpSystemId, dstSerial: udpSerial) } JLog.trace("\(address): sending udp packet:\(packetToSend)") @@ -256,9 +309,6 @@ extension SMADevice let definitionData = try await data(forPath: "/data/ObjectMetadata_Istl.json").bodyData let translationData = try await data(forPath: "/data/l10n/en-US.json").bodyData -// try definitionData.write(to: URL(filePath:"/Users/jolly/Desktop/\(address).definition.json")) -// try translationData.write(to:URL(filePath:"/Users/jolly/Desktop/\(address).translationData.json")) - tagTranslator = SMATagTranslator(definitionData: definitionData, translationData: translationData) } catch @@ -278,36 +328,8 @@ extension SMADevice name = deviceName } - if true - { - try await getInformationDictionary(atPath: "/dyn/getDashValues.json") - try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") - - if requestAllObjects - { - var validatedObjectids = objectsToQueryContinously - - for key in tagTranslator.devicenameObjectIDs - { - do - { - try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: [key]) - - if objectsToQueryContinously.contains(key) - { - validatedObjectids.insert(key) - } - } - catch - { - JLog.error("\(address):request failed for key:\(key)") - } - try await Task.sleep(nanoseconds: UInt64(0.05 * Double(NSEC_PER_SEC))) - } - JLog.trace("\(address):validated ids:\(validatedObjectids)") - objectsToQueryContinously = validatedObjectids - } - } + try await getInformationDictionary(atPath: "/dyn/getDashValues.json") + try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") } func httpQueryInterestingObjects() async throws @@ -318,7 +340,7 @@ extension SMADevice sessionid = try await httpLogin() } JLog.debug("\(address):Successfull login") - try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously)) + try await getInformationDictionary(atPath: "/dyn/getValues.json", requestIds: Array(objectsToQueryContinously.keys)) } func httpLogin() async throws -> String @@ -389,9 +411,16 @@ extension SMADevice } } - func pathIsInteresting(_ path: String) -> Bool + func pathIsInteresting(_ path: String) -> Int? { - interestingPaths.first(where: { path.hasSuffix($0) }) != nil + for interestingPath in interestingPaths + { + if path.hasSuffix(interestingPath.key) + { + return interestingPath.value + } + } + return nil } func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] @@ -425,26 +454,22 @@ extension SMADevice retrievedInformation[mqttPath] = singleValue - let isInteresting: Bool + let interval = pathIsInteresting(mqttPath) - if objectsToQueryContinously.contains(objectId.key) + if let interval { - isInteresting = true - } - else if pathIsInteresting(mqttPath) - { - isInteresting = true - objectsToQueryContinously.insert(objectId.key) - JLog.debug("\(address):objectsToQueryContinously:\(objectsToQueryContinously)") - } - else - { - isInteresting = false + let queryObject = objectsToQueryContinously[objectId.key] ?? QueryObject(objectid: objectId.key, interval: interval) + + if interval <= queryObject.interval + { + objectsToQueryContinously[objectId.key] = queryObject + objectsToQueryNext.append(QueryElement(objectid: objectId.key, nextReadDate: Date(timeIntervalSinceNow: Double(min(interval, 5))))) + } } do { - if hasDeviceName, isInteresting + if hasDeviceName, interval != nil { try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index f2f5007..8a59c24 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -18,7 +18,7 @@ public actor SMALighthouse let password: String let bindAddress: String let mqttPublisher: MQTTPublisher - let interestingPaths: [String] + let interestingPaths: [String: Int] let jsonOutput: Bool let mcastAddress: String @@ -37,7 +37,7 @@ public actor SMALighthouse var lastDiscoveryRequestDate = Date.distantPast let disoveryRequestInterval = 10.0 - public init(mqttPublisher: MQTTPublisher, multicastAddress: String, multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths: [String] = [], jsonOutput: Bool = false) async throws + public init(mqttPublisher: MQTTPublisher, multicastAddress: String, multicastPort: UInt16, bindAddress: String = "0.0.0.0", bindPort _: UInt16 = 0, password: String = "0000", interestingPaths: [String: Int] = [:], jsonOutput: Bool = false) async throws { self.password = password mcastAddress = multicastAddress From e9541b9d38345081cc097e8de672b4ddab617306 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 1 Jul 2023 22:47:41 +0200 Subject: [PATCH 77/81] changed publishing of Wh to kWh --- Sources/sma2mqtt/sma2mqtt.swift | 8 +++--- .../DataObjects/PublishedValue.swift | 25 +++++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index dd5e19d..5e2493f 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -50,17 +50,17 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Array of path:interval values we are interested in") var interestingPathsAndValues: [String] = [ "dc-side/dc-measurements/power:1", "ac-side/grid-measurements/power:1", - "ac-side/measured-values/daily-yield:1", + "ac-side/measured-values/daily-yield:30", "immediate/feedin:1", "immediate/usage:1", // "immediate/gridfrequency", - "battery/state-of-charge:10", + "battery/state-of-charge:20", // "battery/battery-charge", // "battery/present-battery-charge", // "battery/present-battery-discharge", - "battery/battery/temperature:10", - "battery/battery/battery-charge/battery-charge:10", + "battery/battery/temperature:30", + "battery/battery/battery-charge/battery-charge:20", // "temperatures", "temperature:30", ] diff --git a/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift b/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift index 080b60e..ed79094 100644 --- a/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift +++ b/Sources/sma2mqttLibrary/DataObjects/PublishedValue.swift @@ -50,6 +50,22 @@ public struct PublishedValue: Encodable } case .intValue: + var newscale = Decimal(1) + + if let unit = objectDefinition?.Unit + { + var unitString = tagTranslator.translate(tag: unit) + + switch unitString + { + case "Wh": + unitString = "kWh" + newscale = 0.001 + + default: break + } + try container.encode(unitString, forKey: .unit) + } let decimalValues: [Decimal?] = values.map { if case let .intValue(value) = $0, @@ -57,9 +73,9 @@ public struct PublishedValue: Encodable { if let scale = objectDefinition?.Scale, scale != Decimal(1) { - return Decimal(value) * scale + return Decimal(value) * scale * newscale } - return Decimal(value) + return Decimal(value) * newscale } return nil } @@ -71,11 +87,6 @@ public struct PublishedValue: Encodable { try container.encode(decimalValues.first, forKey: .value) } - if let unit = objectDefinition?.Unit - { - let unitString = tagTranslator.translate(tag: unit) - try container.encode(unitString, forKey: .unit) - } case let .tagValues(values): let translated = values.map { $0 == nil ? nil : tagTranslator.translate(tag: $0!) } From 1ae3cffaed76d789ce57003d9480961574d04ff5 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sat, 1 Jul 2023 22:59:55 +0200 Subject: [PATCH 78/81] retry connecting to inverter after one minute. --- Sources/sma2mqttLibrary/SMALighthouse.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 8a59c24..7eee8fb 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -29,7 +29,7 @@ public actor SMALighthouse { case inProgress(Task) case ready(SMADevice) - case failed + case failed(Date) } private var smaDeviceCache = [String: SMADeviceCacheEntry]() @@ -73,7 +73,11 @@ public actor SMALighthouse return smaDevice case let .inProgress(task): return try? await task.value - case .failed: + case let .failed(date): + if date.timeIntervalSinceNow < -60 + { + smaDeviceCache.removeValue(forKey: remoteAddress) + } return nil } } @@ -93,7 +97,7 @@ public actor SMALighthouse { JLog.error("\(remoteAddress): was not able to initialize:\(error) - ignoring address") - smaDeviceCache[remoteAddress] = .failed + smaDeviceCache[remoteAddress] = .failed( Date() ) return nil } } From 27afd11306a2d48c56f91533a89babd9ba2da1da Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 2 Jul 2023 06:16:02 +0200 Subject: [PATCH 79/81] some cleanup, no longer requests first values via http(s) , added logout from http(s) on succesfull setup of smadevice --- Sources/sma2mqttLibrary/SMADevice.swift | 54 ++++++++++----- Sources/sma2mqttLibrary/SMALighthouse.swift | 7 +- .../SMAPacket/SMATagPacket.swift | 66 ------------------- 3 files changed, 42 insertions(+), 85 deletions(-) diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 07dfe33..0832849 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -328,8 +328,14 @@ extension SMADevice name = deviceName } - try await getInformationDictionary(atPath: "/dyn/getDashValues.json") - try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + for objectid in tagTranslator.smaObjectDefinitions.keys + { + addObjectToQueryContinouslyIfNeeded(objectid: objectid) + } +// try await getInformationDictionary(atPath: "/dyn/getDashValues.json") +// try await getInformationDictionary(atPath: "/dyn/getAllOnlValues.json") + + try? await logout() } func httpQueryInterestingObjects() async throws @@ -423,6 +429,33 @@ extension SMADevice return nil } + func objectIdIsInteresting(_ objectid:String) -> Int? + { + let path = "/" + (tagTranslator.objectsAndPaths[objectid]?.path ?? "unkown-id-\(objectid)") + + return pathIsInteresting(path) + } + + @discardableResult + func addObjectToQueryContinouslyIfNeeded(objectid:String) -> Bool + { + JLog.trace("\(address):working on objectId:\(objectid)") + + if let interval = objectIdIsInteresting(objectid) + { + let queryObject = objectsToQueryContinously[objectid] ?? QueryObject(objectid: objectid, interval: interval) + + if interval <= queryObject.interval + { + objectsToQueryContinously[objectid] = queryObject + objectsToQueryNext.append(QueryElement(objectid: objectid, nextReadDate: Date(timeIntervalSinceNow: Double(min(interval, 5))))) + } + return true + } + return false + } + + func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] { let headers = [("Content-Type", "application/json")] @@ -454,22 +487,10 @@ extension SMADevice retrievedInformation[mqttPath] = singleValue - let interval = pathIsInteresting(mqttPath) - - if let interval - { - let queryObject = objectsToQueryContinously[objectId.key] ?? QueryObject(objectid: objectId.key, interval: interval) - - if interval <= queryObject.interval - { - objectsToQueryContinously[objectId.key] = queryObject - objectsToQueryNext.append(QueryElement(objectid: objectId.key, nextReadDate: Date(timeIntervalSinceNow: Double(min(interval, 5))))) - } - } - do { - if hasDeviceName, interval != nil + if hasDeviceName, + addObjectToQueryContinouslyIfNeeded(objectid: objectId.key) { try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } @@ -478,6 +499,7 @@ extension SMADevice { JLog.error("\(address):could not convert to json error:\(error) singleValue:\(singleValue)") } + } } return retrievedInformation diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index 7eee8fb..a7e3855 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -74,11 +74,12 @@ public actor SMALighthouse case let .inProgress(task): return try? await task.value case let .failed(date): - if date.timeIntervalSinceNow < -60 + if date.timeIntervalSinceNow > -30 { - smaDeviceCache.removeValue(forKey: remoteAddress) + return nil } - return nil + JLog.info("renabling:\(remoteAddress)") + smaDeviceCache.removeValue(forKey: remoteAddress) } } diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift index 4363f38..c5d81af 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMATagPacket.swift @@ -113,69 +113,3 @@ public extension SMATagPacket var netPacket: SMANetPacket? { _netPacket } var netPacketValues: [SMANetPacketValue] { _netPacket?.values ?? [SMANetPacketValue]() } } - -// -// -// -// -// let smaNetDecoder = BinaryDecoder(data: [UInt8](smaTagPacket.data)) -// -// JLog.trace("smaTagPacketType :\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") -// -// switch smaTagPacket.type -// { -// case .end: endPacketRead = true -// while !decoder.isAtEnd && !endPacketRead -// -// case .group: -// JLog.trace("tag0 :\(smaTagPacket)") -// let groupnumber = try smaNetDecoder.decode(UInt32.self).bigEndian -// JLog.trace("\(String(format: "groupnumber : 0x%08x d:%d", groupnumber, groupnumber))") -// group = groupnumber -// -// case .net: -// if let protocolid = try? smaNetDecoder.decode(UInt16.self).bigEndian, -// let packetType = SMAPacketType(rawValue: protocolid) -// { -// JLog.debug("got packetType:\(packetType)") -// -// switch packetType -// { -// case .obisPacket: -// JLog.debug("recognizing ObisPacket") -// -// let obisPacket = try ObisPacket(fromBinary: smaNetDecoder) -// obisPackets.append(obisPacket) -// -// case .netPacket: -// JLog.debug("recognizing SMANetPacket") -// -// let smaNetPacket = try SMANetPacket(fromBinary: smaNetDecoder) -// smaNetPackets.append(smaNetPacket) -// } -// } -// else -// { -// JLog.error("Could not decode protocolid of smaTagType:\(smaTagPacket.type) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") -// } -// -// -// case .ipaddress: -// JLog.debug("smaTagPacketType :\(smaTagPacket.tag) length:\(smaTagPacket.data.count == 4 ? "Ok" : "illegal\(smaTagPacket.data.count)") data:\(smaTagPacket.data.hexDump)") -// fallthrough -// case .unknown0x20: -// fallthrough -// case .unknown0x40: -// fallthrough -// case .unknown0x70: -// fallthrough -// case .unknown0x80: -// fallthrough -// case .discovery: -// JLog.debug("smaTagPacketType :\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") -// -// case .unknown: -// JLog.warning("smaTagPacketType unknown:\(smaTagPacket.tag) length:\(smaTagPacket.data.count) data:\(smaTagPacket.data.hexDump)") -// } -// } -// while !decoder.isAtEnd && !endPacketRead From f7b1d3f7966d660f728b2acedb7fb645c69279c9 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 2 Jul 2023 06:44:45 +0200 Subject: [PATCH 80/81] added query all with "*" and zero time which means only once. --- Sources/sma2mqtt/sma2mqtt.swift | 20 +++++++++++------ Sources/sma2mqttLibrary/SMADevice.swift | 25 ++++++++++++--------- Sources/sma2mqttLibrary/SMALighthouse.swift | 2 +- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 5e2493f..0fbe066 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -48,21 +48,18 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" @Option(name: .long, help: "Array of path:interval values we are interested in") var interestingPathsAndValues: [String] = [ + "dc-side/dc-measurements/power:1", "ac-side/grid-measurements/power:1", "ac-side/measured-values/daily-yield:30", + "immediate/feedin:1", "immediate/usage:1", -// "immediate/gridfrequency", "battery/state-of-charge:20", -// "battery/battery-charge", -// "battery/present-battery-charge", -// "battery/present-battery-discharge", "battery/battery/temperature:30", "battery/battery/battery-charge/battery-charge:20", -// "temperatures", - "temperature:30", +// "*:0", // all once ] func run() async throws { @@ -76,7 +73,16 @@ extension Logger.Level: ExpressibleByArgument {} let mqttPublisher = try await MQTTPublisher(hostname: mqttServername, port: Int(mqttPort), username: mqttUsername, password: mqttPassword, emitInterval: emitInterval, baseTopic: basetopic) - let interestingPaths = Dictionary(uniqueKeysWithValues: interestingPathsAndValues.compactMap { let kv = $0.split(separator: ":"); return (String(kv[0]), Int(kv[1])) as? (String, Int) }) + let interestingPaths = Dictionary(uniqueKeysWithValues: interestingPathsAndValues.compactMap + { + let kv = $0.split(separator: ":") + if kv.count == 2, + let (path, interval) = (String(kv[0]), Int(kv[1])) as? (String, Int) + { + return (path, interval) + } + return nil + }) let sunnyHome = try await SMALighthouse(mqttPublisher: mqttPublisher, multicastAddress: mcastAddress, diff --git a/Sources/sma2mqttLibrary/SMADevice.swift b/Sources/sma2mqttLibrary/SMADevice.swift index 0832849..8310846 100644 --- a/Sources/sma2mqttLibrary/SMADevice.swift +++ b/Sources/sma2mqttLibrary/SMADevice.swift @@ -220,8 +220,15 @@ public extension SMADevice { if let object = objectsToQueryContinously[objectID] { - let newElement = QueryElement(objectid: object.objectid, nextReadDate: Date(timeIntervalSinceNow: Double(object.interval))) - objectsToQueryNext = objectsToQueryNext.map { $0.objectid == objectID ? newElement : $0 } + if object.interval != 0 + { + let newElement = QueryElement(objectid: object.objectid, nextReadDate: Date(timeIntervalSinceNow: Double(object.interval))) + objectsToQueryNext = objectsToQueryNext.map { $0.objectid == objectID ? newElement : $0 } + } + else + { + objectsToQueryNext.removeAll(where: { $0.objectid == objectID }) + } } } @@ -421,7 +428,7 @@ extension SMADevice { for interestingPath in interestingPaths { - if path.hasSuffix(interestingPath.key) + if path.hasSuffix(interestingPath.key) || interestingPath.key == "*" { return interestingPath.value } @@ -429,15 +436,15 @@ extension SMADevice return nil } - func objectIdIsInteresting(_ objectid:String) -> Int? + func objectIdIsInteresting(_ objectid: String) -> Int? { - let path = "/" + (tagTranslator.objectsAndPaths[objectid]?.path ?? "unkown-id-\(objectid)") + let path = "/" + (tagTranslator.objectsAndPaths[objectid]?.path ?? "unkown-id-\(objectid)") return pathIsInteresting(path) } @discardableResult - func addObjectToQueryContinouslyIfNeeded(objectid:String) -> Bool + func addObjectToQueryContinouslyIfNeeded(objectid: String) -> Bool { JLog.trace("\(address):working on objectId:\(objectid)") @@ -455,7 +462,6 @@ extension SMADevice return false } - func _getInformationDictionary(atPath path: String, requestIds: [String] = [String]()) async throws -> [String: PublishedValue] { let headers = [("Content-Type", "application/json")] @@ -489,8 +495,8 @@ extension SMADevice do { - if hasDeviceName, - addObjectToQueryContinouslyIfNeeded(objectid: objectId.key) + if hasDeviceName, + addObjectToQueryContinouslyIfNeeded(objectid: objectId.key) { try await publisher?.publish(to: mqttPath, payload: singleValue.json, qos: .atMostOnce, retain: true) } @@ -499,7 +505,6 @@ extension SMADevice { JLog.error("\(address):could not convert to json error:\(error) singleValue:\(singleValue)") } - } } return retrievedInformation diff --git a/Sources/sma2mqttLibrary/SMALighthouse.swift b/Sources/sma2mqttLibrary/SMALighthouse.swift index a7e3855..25ca5cc 100644 --- a/Sources/sma2mqttLibrary/SMALighthouse.swift +++ b/Sources/sma2mqttLibrary/SMALighthouse.swift @@ -98,7 +98,7 @@ public actor SMALighthouse { JLog.error("\(remoteAddress): was not able to initialize:\(error) - ignoring address") - smaDeviceCache[remoteAddress] = .failed( Date() ) + smaDeviceCache[remoteAddress] = .failed(Date()) return nil } } From e323d47318b85a04e234000fa1594616e0b4bdc7 Mon Sep 17 00:00:00 2001 From: Patrick Stein Date: Sun, 2 Jul 2023 09:05:06 +0200 Subject: [PATCH 81/81] creating random id on each start. --- Sources/sma2mqtt/sma2mqtt.swift | 10 ++++----- .../SMAPacket/SMAPacketGenerator.swift | 3 ++- .../sma2mqttLibrary/Tools/RandomNumber.swift | 22 +++++++++++++++++++ 3 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 Sources/sma2mqttLibrary/Tools/RandomNumber.swift diff --git a/Sources/sma2mqtt/sma2mqtt.swift b/Sources/sma2mqtt/sma2mqtt.swift index 0fbe066..da14f7f 100644 --- a/Sources/sma2mqtt/sma2mqtt.swift +++ b/Sources/sma2mqtt/sma2mqtt.swift @@ -5,19 +5,18 @@ import ArgumentParser import Foundation import JLog -import Logging import sma2mqttLibrary -extension Logger.Level: ExpressibleByArgument {} +extension JLog.Level: ExpressibleByArgument {} #if DEBUG - let defaultLoglevel: Logger.Level = .debug + let defaultLoglevel: JLog.Level = .debug #else - let defaultLoglevel: Logger.Level = .notice + let defaultLoglevel: JLog.Level = .notice #endif @main struct sma2mqtt: AsyncParsableCommand { - @Option(help: "Set the log level.") var logLevel: Logger.Level = defaultLoglevel + @Option(help: "Set the log level.") var logLevel: JLog.Level = defaultLoglevel @Flag(name: .long, help: "send json output to stdout") var json: Bool = false @@ -48,7 +47,6 @@ extension Logger.Level: ExpressibleByArgument {} @Option(name: .long, help: "Inverter Password.") var inverterPassword: String = "0000" @Option(name: .long, help: "Array of path:interval values we are interested in") var interestingPathsAndValues: [String] = [ - "dc-side/dc-measurements/power:1", "ac-side/grid-measurements/power:1", "ac-side/measured-values/daily-yield:30", diff --git a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift index 7db6295..2417f36 100644 --- a/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift +++ b/Sources/sma2mqttLibrary/SMAPacket/SMAPacketGenerator.swift @@ -30,6 +30,7 @@ extension SMAPacketGenerator let dstSysidString = String(format: "%02x%02x", dstSystemId & 0xFF, (dstSystemId & 0xFF00) >> 8) let dstSerialString = String(format: "%02x%02x%02x%02x", dstSerial & 0xFF, (dstSerial >> 8) & 0xFF, (dstSerial >> 16) & 0xFF, (dstSerial >> 24) & 0xFF) + let ownid = String(format: "%04x", generateRandomNumber()) let header = """ 534d 4100 0004 02a0 0000 0001 @@ -40,7 +41,7 @@ extension SMAPacketGenerator A0 \(dstSysidString) \(dstSerialString) 00 01 - 1234 95b5 4321 00 + 1234 \(ownid) 4321 00 \(jobid) \(result) \(remainingpackets) diff --git a/Sources/sma2mqttLibrary/Tools/RandomNumber.swift b/Sources/sma2mqttLibrary/Tools/RandomNumber.swift new file mode 100644 index 0000000..624e222 --- /dev/null +++ b/Sources/sma2mqttLibrary/Tools/RandomNumber.swift @@ -0,0 +1,22 @@ +// +// RandomNumber.swift +// + +import Foundation + +#if os(Linux) + import Glibc +#else + import Darwin.C +#endif + +// Generate a random 16-bit number +func generateRandomNumber() -> UInt16 +{ + #if os(Linux) + let randomNumber = UInt16(random() % (Int(UInt16.max) + 1)) + #else + let randomNumber = UInt16(arc4random_uniform(UInt32(UInt16.max) + 1)) + #endif + return randomNumber +}