You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/11/05 12:52:05 UTC
[plc4x] branch feature/plc4go updated: - Defined all of the KNX
datatypes - Optimized the DataIo code generation for Java - Fixed some
wrong type declarationd in mspec dataIo
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/plc4go
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feature/plc4go by this push:
new c5c7578 - Defined all of the KNX datatypes - Optimized the DataIo code generation for Java - Fixed some wrong type declarationd in mspec dataIo
c5c7578 is described below
commit c5c757820a9d95d341df38bedfa03fdddfbc34b9
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Thu Nov 5 13:51:57 2020 +0100
- Defined all of the KNX datatypes
- Optimized the DataIo code generation for Java
- Fixed some wrong type declarationd in mspec dataIo
---
.../language/go/GoLanguageTemplateHelper.java | 75 +-
.../resources/templates/go/data-io-template.ftlh | 39 +-
.../language/java/JavaLanguageTemplateHelper.java | 74 +-
.../resources/templates/java/data-io-template.ftlh | 126 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go | 16 +-
.../plc4go/knxnetip/KnxNetIpFieldHandler.go | 67 +
.../knxnetip/readwrite/model/KnxDatapoint.go | 67 +-
.../knxnetip/readwrite/model/KnxDatapoint2.go | 4820 ++++++++++++++++++++
.../knxnetip/readwrite/model/KnxDatapointTypes.go | 4379 ++++++++++++++++++
.../knxnetip/readwrite/model/ParserHelper.go | 32 +-
.../knxnetip/readwrite/model/XmlParserHelper.go | 96 +-
.../plc4go/modbus/readwrite/model/DataItem.go | 170 +-
.../internal/plc4go/model/values/DATE_AND_TIME.go | 14 +-
plc4go/internal/plc4go/model/values/TIME_OF_DAY.go | 14 +-
.../internal/plc4go/s7/readwrite/model/DataItem.go | 52 +-
plc4go/internal/plc4go/utils/WriteBuffer.go | 2 +-
plc4go/pom.xml | 1 -
.../ads/src/main/resources/protocols/ads/ads.mspec | 12 +-
.../resources/protocols/knxnetip/knxnetip.mspec | 994 +++-
.../main/resources/protocols/modbus/modbus.mspec | 34 +-
.../s7/src/main/resources/protocols/s7/s7.mspec | 8 +-
.../plc4c/generated-sources/modbus/src/data_item.c | 34 +-
sandbox/plc4c/generated-sources/s7/src/data_item.c | 8 +-
23 files changed, 10779 insertions(+), 355 deletions(-)
diff --git a/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java b/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
index 602403e..1640fce 100644
--- a/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
+++ b/build-utils/language-go/src/main/java/org/apache/plc4x/language/go/GoLanguageTemplateHelper.java
@@ -139,6 +139,77 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
}
+ public String getPlcValueTypeForTypeReference(TypeReference typeReference) {
+ if(typeReference instanceof SimpleTypeReference) {
+ SimpleTypeReference simpleTypeReference = (SimpleTypeReference) typeReference;
+ switch (simpleTypeReference.getBaseType()) {
+ case BIT: {
+ return "values.NewPlcBOOL";
+ }
+ case UINT: {
+ IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
+ if (integerTypeReference.getSizeInBits() <= 8) {
+ return "values.NewPlcUSINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 16) {
+ return "values.NewPlcUINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 32) {
+ return "values.NewPlcUDINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 64) {
+ return "values.NewPlcULINT";
+ }
+ throw new RuntimeException("Unsupported simple type");
+ }
+ case INT: {
+ IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
+ if (integerTypeReference.getSizeInBits() <= 8) {
+ return "values.NewPlcSINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 16) {
+ return "values.NewPlcINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 32) {
+ return "values.NewPlcDINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 64) {
+ return "values.NewPlcLINT";
+ }
+ throw new RuntimeException("Unsupported simple type");
+ }
+ case FLOAT:
+ case UFLOAT: {
+ FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
+ int sizeInBits = ((floatTypeReference.getBaseType() == SimpleTypeReference.SimpleBaseType.FLOAT) ? 1 : 0) +
+ floatTypeReference.getExponent() + floatTypeReference.getMantissa();
+ if (sizeInBits <= 32) {
+ return "values.NewPlcREAL";
+ }
+ if (sizeInBits <= 64) {
+ return "values.NewPlcLREAL";
+ }
+ throw new RuntimeException("Unsupported simple type");
+ }
+ case STRING: {
+ return "values.NewPlcSTRING";
+ }
+ case TIME: {
+ return "values.NewPlcTIME";
+ }
+ case DATE: {
+ return "values.NewPlcDATE";
+ }
+ case DATETIME: {
+ return "values.NewPlcDATE_AND_TIME";
+ }
+ }
+ throw new RuntimeException("Unsupported simple type");
+ } else {
+ return (typeReference != null) ? ((ComplexTypeReference) typeReference).getName() : "";
+ }
+ }
+
@Override
public String getNullValueForTypeReference(TypeReference typeReference) {
if(typeReference instanceof SimpleTypeReference) {
@@ -288,8 +359,10 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
case STRING: {
StringTypeReference stringTypeReference = (StringTypeReference) simpleTypeReference;
+ String encoding = ((stringTypeReference.getEncoding() != null) && (stringTypeReference.getEncoding().length() > 2)) ?
+ stringTypeReference.getEncoding().substring(1, stringTypeReference.getEncoding().length() - 1) : "UTF-8";
return "io.WriteString(" + stringTypeReference.getSizeInBits() + ", \"" +
- stringTypeReference.getEncoding() + "\", " + fieldName + ")";
+ encoding + "\", " + fieldName + ")";
}
}
return "Hurz";
diff --git a/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh b/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
index 2f03720..525d1f2 100644
--- a/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
@@ -76,6 +76,7 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
<#assign valueDefined=false>
<#if case.name == "Struct">
_map := map[string]interface{}{}
+ <#assign valueDefined=true>
</#if>
<#list case.fields as field>
<#switch field.typeName>
@@ -85,11 +86,11 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
// Array Field (${field.name})
var ${field.name} []api.PlcValue
for i := 0; i < int(${helper.toParseExpression(null, field.loopExpression, type.parserArguments)}); i++ {
- _item, _itemErr := DataItemParse(io, ${type.parserArguments[0].name}, ${helper.getLanguageTypeNameForTypeReference(type.parserArguments[1].type)}(1))
+ _item, _itemErr := <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>Complex type array in data-io parsing currently not implemented</#if>
if _itemErr != nil {
return nil, errors.New("Error parsing 'value' field " + _itemErr.Error())
}
- ${field.name} = append(${field.name}, _item)
+ ${field.name} = append(${field.name}, ${helper.getPlcValueTypeForTypeReference(field.type)}(_item))
}
<#if field.name == "value">
<#assign valueDefined=true>
@@ -119,29 +120,30 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
<#assign simpleField = field>
// Simple Field (${field.name})
- <#if case.name == "Struct" || field.name == "value">${field.name}<#else>_</#if>, _${field.name}Err := <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}Parse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArgume [...]
+ <#if case.name == "Struct" || ((case.name == "DATE_AND_TIME") && ((field.name == "year") || (field.name == "month") || (field.name == "day") || (field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) || ((case.name == "DATE") && ((field.name == "year") || (field.name == "month") || (field.name == "day"))) || ((case.name == "TIME_OF_DAY") && ((field.name == "hour") || (field.name == "minutes") || (field.name == "seconds"))) || field.name == "value">$ [...]
if _${field.name}Err != nil {
return nil, errors.New("Error parsing '${field.name}' field " + _${field.name}Err.Error())
}
<#if case.name == "Struct">
_map["${case.name}"] = ${field.name}
</#if>
- <#if field.name == "value">
- <#assign valueDefined=true>
- </#if>
+ <#assign valueDefined=true>
<#break>
</#switch>
</#list>
<#if valueDefined>
<#switch case.name>
- <#case "Time">
- return values.NewPlcTIME(value), nil
+ <#case "TIME_OF_DAY">
+ value := time.Date(0,0,0, int(hour), int(minutes), int(seconds), 0, nil)
+ return values.NewPlcTIME_OF_DAY(value), nil
<#break>
- <#case "Date">
- return values.NewPlcTIME(value), nil
+ <#case "DATE">
+ value := time.Date(int(year), time.Month(month), int(day), 0, 0, 0, 0, nil)
+ return values.NewPlcDATE(value), nil
<#break>
- <#case "DateTime">
- return values.NewPlcTIME(value), nil
+ <#case "DATE_AND_TIME">
+ value := time.Date(int(year), time.Month(month), int(day), int(hour), int(minutes), int(seconds), 0, nil)
+ return values.NewPlcDATE_AND_TIME(value), nil
<#break>
<#case "Struct">
return values.NewPlcStruct(_map), nil
@@ -149,16 +151,8 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
<#case "List">
return values.NewPlcList(value), nil
<#break>
- <#-- Disable this for now as Strings will only be parsed as manual fields
- <#case "STRING">
- //return values.NewPlcSTRING(value), nil
- <#break-->
<#default>
- <#if helper.isCountArrayField(case.fields[0])>
- return values.NewPlcList(value), nil
- <#else>
return values.NewPlc${case.name}(value), nil
- </#if>
</#switch>
</#if>
</#list>
@@ -170,9 +164,6 @@ func ${type.name}Serialize(io *utils.WriteBuffer, value api.PlcValue<#if type.pa
switch {
<#list type.switchField.cases as case>
case <#if case.discriminatorValues?has_content><#list case.discriminatorValues as discriminatorValue>${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)} == <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#else>${discriminatorValue}</#if><#sep> && </#sep></#list></#if>: // ${case.name}
- <#if case.name == "Struct">
- _map := map[string]interface{}{}
- </#if>
<#list case.fields as field>
<#switch field.typeName>
<#case "array">
@@ -180,7 +171,7 @@ func ${type.name}Serialize(io *utils.WriteBuffer, value api.PlcValue<#if type.pa
// Array Field (${field.name})
for i := uint32(0); i < uint32(${helper.toSerializationExpression(null, field.loopExpression, type.parserArguments)}); i++ {
- _itemErr := DataItemSerialize(io, value.GetIndex(i), ${type.parserArguments[0].name}, ${helper.getLanguageTypeNameForTypeReference(type.parserArguments[1].type)}(1))
+ _itemErr := <#if helper.isSimpleTypeReference(arrayField.type)>${helper.getWriteBufferWriteMethodCall(arrayField.type, arrayField.name + ".GetIndex(i).Get" + helper.getLanguageTypeNameForTypeReference(arrayField.type)?cap_first + "()")}<#else>Complex type array in data-io serialization currently not implemented</#if>
if _itemErr != nil {
return errors.New("Error serializing 'value' field " + _itemErr.Error())
}
diff --git a/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java b/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
index 7d23021..2a99c7f 100644
--- a/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
+++ b/build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageTemplateHelper.java
@@ -144,6 +144,74 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
}
}
+ public String getPlcValueTypeForTypeReference(TypeReference typeReference) {
+ if(typeReference instanceof SimpleTypeReference) {
+ SimpleTypeReference simpleTypeReference = (SimpleTypeReference) typeReference;
+ switch (simpleTypeReference.getBaseType()) {
+ case BIT: {
+ return "PlcBOOL";
+ }
+ case UINT: {
+ IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
+ if (integerTypeReference.getSizeInBits() <= 4) {
+ return "PlcUSINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 8) {
+ return "PlcUINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 16) {
+ return "PlcUDINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 32) {
+ return "PlcULINT";
+ }
+ }
+ case INT: {
+ IntegerTypeReference integerTypeReference = (IntegerTypeReference) simpleTypeReference;
+ if (integerTypeReference.getSizeInBits() <= 8) {
+ return "PlcSINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 16) {
+ return "PlcINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 32) {
+ return "PlcDINT";
+ }
+ if (integerTypeReference.getSizeInBits() <= 64) {
+ return "PlcLINT";
+ }
+ }
+ case FLOAT:
+ case UFLOAT: {
+ FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
+ int sizeInBits = ((floatTypeReference.getBaseType() == SimpleTypeReference.SimpleBaseType.FLOAT) ? 1 : 0) +
+ floatTypeReference.getExponent() + floatTypeReference.getMantissa();
+ if (sizeInBits <= 32) {
+ return "PlcREAL";
+ }
+ if (sizeInBits <= 64) {
+ return "PlcLREAL";
+ }
+ }
+ case STRING: {
+ return "PlcSTRING";
+ }
+ case TIME: {
+ return "PlcTIME";
+ }
+ case DATE: {
+ return "PlcTIME";
+ }
+ case DATETIME: {
+ return "PlcTIME";
+ }
+ }
+ throw new RuntimeException("Unsupported simple type");
+ } else {
+ return "PlcStruct";
+ }
+ }
+
@Override
public String getNullValueForTypeReference(TypeReference typeReference) {
if(typeReference instanceof SimpleTypeReference) {
@@ -334,10 +402,12 @@ public class JavaLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHe
case UFLOAT: {
FloatTypeReference floatTypeReference = (FloatTypeReference) simpleTypeReference;
- if (floatTypeReference.getSizeInBits() == 32) {
+ if (floatTypeReference.getSizeInBits() <= 32) {
return "io.writeFloat(" + fieldName + "," + floatTypeReference.getExponent() + "," + floatTypeReference.getMantissa() + ")";
- } else if (floatTypeReference.getSizeInBits() == 64) {
+ } else if (floatTypeReference.getSizeInBits() <= 64) {
return "io.writeDouble(" + fieldName + "," + floatTypeReference.getExponent() + "," + floatTypeReference.getMantissa() + ")";
+ } else {
+ throw new RuntimeException("Unsupported float type");
}
}
case STRING: {
diff --git a/build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh b/build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
index 358e587..edd72ac 100644
--- a/build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
+++ b/build-utils/language-java/src/main/resources/templates/java/data-io-template.ftlh
@@ -90,7 +90,7 @@ public class ${type.name}IO {
public static PlcValue staticParse(ReadBuffer io<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${helper.getLanguageTypeNameForTypeReference(parserArgument.type, false)} ${parserArgument.name}<#sep>, </#sep></#list></#if>) throws ParseException {
<#list type.switchField.cases as case><#if case.discriminatorValues?has_content>if(<#list case.discriminatorValues as discriminatorValue>EvaluationHelper.equals(${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)}, <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#else>${discriminatorValue}</#if>)<#sep> && </#se [...]
- <#assign skipReturn=false>
+ <#assign valueDefined=false>
<#list case.fields as field>
<#switch field.typeName>
<#case "array">
@@ -111,7 +111,7 @@ public class ${type.name}IO {
int itemCount = (int) ${helper.toParseExpression(field, field.loopExpression, type.parserArguments)};
${field.name} = new LinkedList<>();
for(int curItem = 0; curItem < itemCount; curItem++) {
- ${field.name}.add(new Plc${case.name}((${helper.getNonPrimitiveLanguageTypeNameForField(field)}) <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)})<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type [...]
+ ${field.name}.add(new ${helper.getPlcValueTypeForTypeReference(field.type)}((${helper.getNonPrimitiveLanguageTypeNameForField(field)}) <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)})<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParse [...]
}
}
<#-- In all other cases do we have to work with a list, that is later converted to an array -->
@@ -120,10 +120,10 @@ public class ${type.name}IO {
<#if helper.isLengthArrayField(field)>
// Length array
int _${field.name}Length = ${helper.toParseExpression(field, field.loopExpression, type.parserArguments)};
- List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> _${field.name}List = new LinkedList<>();
+ List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> ${field.name} = new LinkedList<>();
int ${field.name}EndPos = io.getPos() + _${field.name}Length;
while(io.getPos() < ${field.name}EndPos) {
- _${field.name}List.add(<#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep></#list></#if>)</#if>);
+ ${field.name}.add(<#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep></#list></#if>)</#if>);
<#-- After parsing, update the current position, but only if it's needed -->
<#if field.loopExpression.contains("curPos")>
curPos = io.getPos() - startPos;
@@ -132,9 +132,9 @@ public class ${type.name}IO {
<#-- A terminated array keeps on reading data as long as the termination expression evaluates to false -->
<#elseif helper.isTerminatedArrayField(field)>
// Terminated array
- List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> _${field.name}List = new LinkedList<>();
+ List<${helper.getNonPrimitiveLanguageTypeNameForField(field)}> ${field.name} = new LinkedList<>();
while(!((boolean) (${helper.toParseExpression(field, field.loopExpression, type.parserArguments)}))) {
- _${field.name}List.add(<#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep></#list></#if>)</#if>);
+ ${field.name}.add(<#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep></#list></#if>)</#if>);
<#-- After parsing, update the current position, but only if it's needed -->
<#if field.loopExpression.contains("curPos")>
@@ -142,19 +142,9 @@ public class ${type.name}IO {
</#if>
}
</#if>
- <#--
- Convert the list into an array. However if the array is of a primitive
- type we have to iterate over it's elements and explicitly cast them.
- Otherwise a simple toArray call is fine.
- -->
- <#if helper.isSimpleTypeReference(field.type)>
- ${helper.getNonPrimitiveLanguageTypeNameForField(field)}[] ${field.name} = new ${helper.getNonPrimitiveLanguageTypeNameForField(field)}[_${field.name}List.size()];
- for(int i = 0; i < _${field.name}List.size(); i++) {
- ${field.name}[i] = (${helper.getNonPrimitiveLanguageTypeNameForField(field)}) _${field.name}List.get(i);
- }
- <#else>
- ${helper.getNonPrimitiveLanguageTypeNameForField(field)}[] ${field.name} = _${field.name}List.toArray(new ${helper.getNonPrimitiveLanguageTypeNameForField(field)}[0]);
- </#if>
+ </#if>
+ <#if field.name == "value">
+ <#assign valueDefined=true>
</#if>
<#break>
<#case "const">
@@ -164,38 +154,25 @@ public class ${type.name}IO {
if(${field.name} != ${type.name}.${field.name?upper_case}) {
throw new ParseException("Expected constant value " + ${type.name}.${field.name?upper_case} + " but got " + ${field.name});
}
+ <#if field.name == "value">
+ <#assign valueDefined=true>
+ </#if>
<#break>
<#case "enum">
// Enum field (${field.name})
${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = ${helper.getNonPrimitiveLanguageTypeNameForField(field)}.valueOf(${helper.getReadBufferReadMethodCall(helper.getEnumBaseTypeReference(field.type))});
+ <#if field.name == "value">
+ <#assign valueDefined=true>
+ </#if>
<#break>
<#case "manual">
// Manual Field (${field.name})
${helper.getLanguageTypeNameForField(field)} ${field.name} = (${helper.getLanguageTypeNameForField(field)}) (${helper.toParseExpression(field, field.parseExpression, type.parserArguments)});
- <#-- If a manual field is detected, the value returned by this is instantly treated as the value -->
- <#switch case.name>
- <#case "Time">
- return new PlcTime(${field.name});
- <#break>
- <#case "Date">
- return new PlcDate(${field.name});
- <#break>
- <#case "DateTime">
- return new PlcDateTime(${field.name});
- <#break>
- <#case "Struct">
- return new PlcStruct(${field.name});
- <#break>
- <#case "String">
- return new PlcString(${field.name});
- <#break>
- <#default>
- return new Plc${case.name}(${field.name});
- </#switch>
- <#-- As we returned early, skip outputting a return at the end -->
- <#assign skipReturn=true>
+ <#if field.name == "value">
+ <#assign valueDefined=true>
+ </#if>
<#break>
<#case "reserved">
@@ -211,25 +188,74 @@ public class ${type.name}IO {
// Simple Field (${field.name})
${helper.getNonPrimitiveLanguageTypeNameForField(field)} ${field.name} = <#if helper.isSimpleTypeReference(field.type)>${helper.getReadBufferReadMethodCall(field.type)}<#else>${field.type.name}IO.staticParse(io<#if field.params?has_content>, <#list field.params as parserArgument>(${helper.getLanguageTypeNameForTypeReference(helper.getArgumentType(field.type, parserArgument?index), true)}) (${helper.toParseExpression(field, parserArgument, type.parserArguments)})<#sep>, </#sep [...]
+ <#if field.name == "value">
+ <#assign valueDefined=true>
+ </#if>
<#break>
</#switch>
</#list>
<#if case.name == "Struct">
+
+ <#-- In this case we need to wrap each field in a PlcValue that matches it's natural type -->
Map<String, PlcValue> _map = new HashMap<>();
<#list case.fields as field>
- _map.put("${field.name}", IEC61131ValueHandler.of(${field.name}));
+ <#if helper.isPropertyField(field)>
+ <#switch helper.getLanguageTypeNameForTypeReference(field.type)>
+ <#case "Boolean">
+ _map.put("${field.name}", new PlcBOOL(${field.name}));
+ <#break>
+ <#case "Byte">
+ _map.put("${field.name}", new PlcSINT(${field.name}));
+ <#break>
+ <#case "Short">
+ _map.put("${field.name}", new PlcINT(${field.name}));
+ <#break>
+ <#case "Integer">
+ _map.put("${field.name}", new PlcDINT(${field.name}));
+ <#break>
+ <#case "Long">
+ _map.put("${field.name}", new PlcLINT(${field.name}));
+ <#break>
+ <#case "BigInteger">
+ _map.put("${field.name}", new PlcBigInteger(${field.name}));
+ <#break>
+ <#case "Float">
+ _map.put("${field.name}", new PlcREAL(${field.name}));
+ <#break>
+ <#case "Double">
+ _map.put("${field.name}", new PlcLREAL(${field.name}));
+ <#break>
+ <#case "BigDecimal">
+ _map.put("${field.name}", new PlcBigDecimal(${field.name}));
+ <#break>
+ <#case "String">
+ _map.put("${field.name}", new PlcSTRING(${field.name}));
+ <#break>
+ <#case "LocalTime">
+ _map.put("${field.name}", new PlcTime(${field.name}));
+ <#break>
+ <#case "LocalDate">
+ _map.put("${field.name}", new PlcTime(${field.name}));
+ <#break>
+ <#case "LocalDateTime">
+ _map.put("${field.name}", new PlcTime(${field.name}));
+ <#break>
+ </#switch>
+ </#if>
</#list>
+ <#assign valueDefined=true>
</#if>
- <#if !skipReturn>
+
+ <#if valueDefined>
<#switch case.name>
<#case "Time">
- return new PlcTime(LocalTime.of((int) hours, (int) minutes, (int) seconds));
+ return new PlcTime(value);
<#break>
<#case "Date">
- return new PlcDate(LocalDate.of((int) year, (int) month, (int) day));
+ return new PlcDate(value);
<#break>
<#case "DateTime">
- return new PlcDateTime(LocalDateTime.of((int) year, (int) month, (int) day, (int) hours, (int) minutes, (int) seconds));
+ return new PlcDateTime(value);
<#break>
<#case "Struct">
return new PlcStruct(_map);
@@ -237,16 +263,8 @@ public class ${type.name}IO {
<#case "List">
return new PlcList(value);
<#break>
- <#-- Disable this for now as Strings will only be parsed as manual fields -->
- <#case "STRING">
- //return new PlcString(_map);
- <#break>
<#default>
- <#if helper.isCountArrayField(case.fields[0])>
- return new PlcList(value);
- <#else>
return new Plc${case.name}(value);
- </#if>
</#switch>
</#if>
}<#sep> else </#sep></#list>
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
index efc2fa5..2e43bbb 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpDriver.go
@@ -18,8 +18,18 @@
//
package knxnetip
-import "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+import (
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go"
+)
-func NewKnxNetIpDriver() plc4go.PlcDriver {
- return nil
+type KnxNetIpDriver struct {
+ fieldHandler spi.PlcFieldHandler
+ plc4go.PlcDriver
+}
+
+func NewKnxNetIpDriver() KnxNetIpDriver {
+ return &KnxNetIpDriver{
+ fieldHandler:
+ }
}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
new file mode 100644
index 0000000..3d1ee8d
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
@@ -0,0 +1,67 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+package knxnetip
+
+import (
+ "errors"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go/model"
+ "regexp"
+)
+
+type KnxNetIpFieldType uint8
+
+const (
+ KNX_NET_IP_FIELD_COIL KnxNetIpFieldType = 0x00
+)
+
+func (m KnxNetIpFieldType) GetName() string {
+ switch m {
+ case KNX_NET_IP_FIELD_COIL:
+ return "ModbusFieldHoldingRegister"
+ }
+ return ""
+}
+
+type FieldHandler struct {
+ knxNetIpGroupAddress3Level *regexp.Regexp
+ knxNetIpGroupAddress2Level *regexp.Regexp
+ knxNetIpGroupAddress1Level *regexp.Regexp
+ spi.PlcFieldHandler
+}
+
+func NewFieldHandler() FieldHandler {
+ return FieldHandler{
+ knxNetIpGroupAddress3Level: regexp.MustCompile(`^(?P<mainGroup>(\d{1,2}|\*))/(?P<middleGroup>(\d|\*))/(?P<subGroup>(\d{1,3}|\*))`),
+ knxNetIpGroupAddress2Level: regexp.MustCompile(`^(?P<mainGroup>(\d{1,2}|\*))/(?P<subGroup>(\d{1,4}|\*))`),
+ knxNetIpGroupAddress1Level: regexp.MustCompile(`^(?P<mainGroup>(\d{1,5}|\*))`),
+ }
+}
+
+func (m FieldHandler) ParseQuery(query string) (model.PlcField, error) {
+ if match := utils.GetSubgropMatches(m.knxNetIpGroupAddress3Level, query); match != nil {
+ return NewModbusPlcFieldFromStrings(MODBUS_FIELD_COIL, match["address"], match["quantity"], "IEC61131_"+match["datatype"])
+ } else if match := utils.GetSubgropMatches(m.knxNetIpGroupAddress2Level, query); match != nil {
+ return NewModbusPlcFieldFromStrings(MODBUS_FIELD_COIL, match["address"], match["quantity"], "IEC61131_"+match["datatype"])
+ } else if match := utils.GetSubgropMatches(m.knxNetIpGroupAddress1Level, query); match != nil {
+ return NewModbusPlcFieldFromStrings(MODBUS_FIELD_DISCRETE_INPUT, match["address"], match["quantity"], "IEC61131_"+match["datatype"])
+ }
+ return nil, errors.New("Invalid address format for address '" + query + "'")
+}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
index fc993f0..34e832c 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
@@ -40,7 +40,8 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case mainNumber == 2: // BOOL
+ case mainNumber == 2: // Struct
+ _map := map[string]interface{}{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(6); _err != nil {
@@ -48,17 +49,19 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
}
// Simple Field (control)
- _, _controlErr := io.ReadBit()
+ control, _controlErr := io.ReadBit()
if _controlErr != nil {
return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
+ _map["Struct"] = control
// Simple Field (value)
value, _valueErr := io.ReadBit()
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- return values.NewPlcBOOL(value), nil
+ _map["Struct"] = value
+ return values.NewPlcStruct(_map), nil
case mainNumber == 21: // Struct
_map := map[string]interface{}{}
@@ -117,7 +120,9 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
return nil, errors.New("Error parsing 'b0' field " + _b0Err.Error())
}
_map["Struct"] = b0
- case mainNumber == 3: // USINT
+ return values.NewPlcStruct(_map), nil
+ case mainNumber == 3: // Struct
+ _map := map[string]interface{}{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -125,24 +130,28 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
}
// Simple Field (control)
- _, _controlErr := io.ReadBit()
+ control, _controlErr := io.ReadBit()
if _controlErr != nil {
return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
+ _map["Struct"] = control
// Simple Field (value)
value, _valueErr := io.ReadUint8(3)
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- return values.NewPlcUSINT(value), nil
- case mainNumber == 18: // USINT
+ _map["Struct"] = value
+ return values.NewPlcStruct(_map), nil
+ case mainNumber == 18: // Struct
+ _map := map[string]interface{}{}
// Simple Field (control)
- _, _controlErr := io.ReadBit()
+ control, _controlErr := io.ReadBit()
if _controlErr != nil {
return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
+ _map["Struct"] = control
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(1); _err != nil {
@@ -154,7 +163,8 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- return values.NewPlcUSINT(value), nil
+ _map["Struct"] = value
+ return values.NewPlcStruct(_map), nil
case mainNumber == 17: // USINT
// Reserved Field (Just skip the bytes)
@@ -207,44 +217,51 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case mainNumber == 6 && subNumber == 20: // SINT
+ case mainNumber == 6 && subNumber == 20: // Struct
+ _map := map[string]interface{}{}
// Simple Field (a)
- _, _aErr := io.ReadBit()
+ a, _aErr := io.ReadBit()
if _aErr != nil {
return nil, errors.New("Error parsing 'a' field " + _aErr.Error())
}
+ _map["Struct"] = a
// Simple Field (b)
- _, _bErr := io.ReadBit()
+ b, _bErr := io.ReadBit()
if _bErr != nil {
return nil, errors.New("Error parsing 'b' field " + _bErr.Error())
}
+ _map["Struct"] = b
// Simple Field (c)
- _, _cErr := io.ReadBit()
+ c, _cErr := io.ReadBit()
if _cErr != nil {
return nil, errors.New("Error parsing 'c' field " + _cErr.Error())
}
+ _map["Struct"] = c
// Simple Field (d)
- _, _dErr := io.ReadBit()
+ d, _dErr := io.ReadBit()
if _dErr != nil {
return nil, errors.New("Error parsing 'd' field " + _dErr.Error())
}
+ _map["Struct"] = d
// Simple Field (e)
- _, _eErr := io.ReadBit()
+ e, _eErr := io.ReadBit()
if _eErr != nil {
return nil, errors.New("Error parsing 'e' field " + _eErr.Error())
}
+ _map["Struct"] = e
// Simple Field (value)
value, _valueErr := io.ReadInt8(8)
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- return values.NewPlcSINT(value), nil
+ _map["Struct"] = value
+ return values.NewPlcStruct(_map), nil
case mainNumber == 6: // SINT
// Reserved Field (Just skip the bytes)
@@ -371,6 +388,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
if _secondsErr != nil {
return nil, errors.New("Error parsing 'seconds' field " + _secondsErr.Error())
}
+ return values.NewPlcTime(value), nil
case mainNumber == 11: // Date
// Reserved Field (Just skip the bytes)
@@ -405,6 +423,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
if _yearErr != nil {
return nil, errors.New("Error parsing 'year' field " + _yearErr.Error())
}
+ return values.NewPlcDate(value), nil
case mainNumber == 19: // DateTime
// Simple Field (year)
@@ -522,6 +541,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
if _clockQualityErr != nil {
return nil, errors.New("Error parsing 'clockQuality' field " + _clockQualityErr.Error())
}
+ return values.NewPlcDateTime(value), nil
case mainNumber == 15: // Struct
_map := map[string]interface{}{}
@@ -601,6 +621,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, mainNumber uint16, subNumber uint16
return nil, errors.New("Error parsing 'index' field " + _indexErr.Error())
}
_map["Struct"] = index
+ return values.NewPlcStruct(_map), nil
}
return nil, errors.New("unsupported type")
}
@@ -618,7 +639,7 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
if _err := io.WriteBit(value.GetBool()); _err != nil {
return errors.New("Error serializing 'value' field " + _err.Error())
}
- case mainNumber == 2: // BOOL
+ case mainNumber == 2: // Struct
// Reserved Field (Just skip the bytes)
if _err := io.WriteUint8(6, uint8(0x0)); _err != nil {
@@ -635,7 +656,6 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
return errors.New("Error serializing 'value' field " + _err.Error())
}
case mainNumber == 21: // Struct
- _map := map[string]interface{}{}
// Simple Field (b7)
if _err := io.WriteBit(value.GetBool()); _err != nil {
@@ -676,7 +696,7 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
if _err := io.WriteBit(value.GetBool()); _err != nil {
return errors.New("Error serializing 'b0' field " + _err.Error())
}
- case mainNumber == 3: // USINT
+ case mainNumber == 3: // Struct
// Reserved Field (Just skip the bytes)
if _err := io.WriteUint8(4, uint8(0x0)); _err != nil {
@@ -692,7 +712,7 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
if _err := io.WriteUint8(3, value.GetUint8()); _err != nil {
return errors.New("Error serializing 'value' field " + _err.Error())
}
- case mainNumber == 18: // USINT
+ case mainNumber == 18: // Struct
// Simple Field (control)
if _err := io.WriteBit(value.GetBool()); _err != nil {
@@ -752,7 +772,7 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
if _err := io.WriteUint32(32, value.GetUint32()); _err != nil {
return errors.New("Error serializing 'value' field " + _err.Error())
}
- case mainNumber == 6 && subNumber == 20: // SINT
+ case mainNumber == 6 && subNumber == 20: // Struct
// Simple Field (a)
if _err := io.WriteBit(value.GetBool()); _err != nil {
@@ -847,7 +867,7 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
}
// Simple Field (value)
- if _err := io.WriteString(8, "UTF-8", value.GetString()); _err != nil {
+ if _err := io.WriteString(8, "TF-", value.GetString()); _err != nil {
return errors.New("Error serializing 'value' field " + _err.Error())
}
case mainNumber == 16: // STRING
@@ -858,7 +878,7 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
}
// Simple Field (value)
- if _err := io.WriteString(112, "UTF-8", value.GetString()); _err != nil {
+ if _err := io.WriteString(112, "TF-", value.GetString()); _err != nil {
return errors.New("Error serializing 'value' field " + _err.Error())
}
case mainNumber == 10: // Time
@@ -1025,7 +1045,6 @@ func KnxDatapointSerialize(io *utils.WriteBuffer, value api.PlcValue, mainNumber
return errors.New("Error serializing 'clockQuality' field " + _err.Error())
}
case mainNumber == 15: // Struct
- _map := map[string]interface{}{}
// Simple Field (D6)
if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint2.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint2.go
new file mode 100644
index 0000000..ca6d95e
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint2.go
@@ -0,0 +1,4820 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+package model
+
+import (
+ "errors"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/model/values"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+ api "plc4x.apache.org/plc4go-modbus-driver/v0/pkg/plc4go/values"
+)
+
+func KnxDatapoint2Parse(io *utils.ReadBuffer, formatName string) (api.PlcValue, error) {
+ switch {
+ case formatName == "B1": // BOOL
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(7); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadBit()
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcBOOL(value), nil
+ case formatName == "B2": // Struct
+ _map := map[string]interface{}{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
+ }
+ _map["Struct"] = control
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadBit()
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ _map["Struct"] = value
+ return values.NewPlcStruct(_map), nil
+ case formatName == "B1U3": // Struct
+ _map := map[string]interface{}{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
+ }
+ _map["Struct"] = control
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(3)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ _map["Struct"] = value
+ return values.NewPlcStruct(_map), nil
+ case formatName == "A8_ASCII": // STRING
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadString(8)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcSTRING(value), nil
+ case formatName == "A8_8859_1": // STRING
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadString(8)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcSTRING(value), nil
+ case formatName == "U8": // USINT
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(8)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcUSINT(value), nil
+ case formatName == "V8": // SINT
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadInt8(8)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcSINT(value), nil
+ case formatName == "F16": // REAL
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadFloat32(16)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcREAL(value), nil
+ case formatName == "N3N5r2N6r2N6": // TIME_OF_DAY
+
+ // Simple Field (day)
+ _, _dayErr := io.ReadUint8(3)
+ if _dayErr != nil {
+ return nil, errors.New("Error parsing 'day' field " + _dayErr.Error())
+ }
+
+ // Simple Field (hour)
+ hour, _hourErr := io.ReadUint8(5)
+ if _hourErr != nil {
+ return nil, errors.New("Error parsing 'hour' field " + _hourErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (minutes)
+ minutes, _minutesErr := io.ReadUint8(6)
+ if _minutesErr != nil {
+ return nil, errors.New("Error parsing 'minutes' field " + _minutesErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (seconds)
+ seconds, _secondsErr := io.ReadUint8(6)
+ if _secondsErr != nil {
+ return nil, errors.New("Error parsing 'seconds' field " + _secondsErr.Error())
+ }
+ value := time.Date(0,0,0, int(hour), int(minutes), int(seconds), 0, nil)
+ return values.NewPlcTIME_OF_DAY(value), nil
+ case formatName == "r3N5r4N4r1U7": // DATE
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(3); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (day)
+ day, _dayErr := io.ReadUint8(5)
+ if _dayErr != nil {
+ return nil, errors.New("Error parsing 'day' field " + _dayErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (month)
+ month, _monthErr := io.ReadUint8(4)
+ if _monthErr != nil {
+ return nil, errors.New("Error parsing 'month' field " + _monthErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(1); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (year)
+ year, _yearErr := io.ReadUint8(7)
+ if _yearErr != nil {
+ return nil, errors.New("Error parsing 'year' field " + _yearErr.Error())
+ }
+ value := time.Date(int(year), time.Month(month), int(day), 0, 0, 0, 0, nil)
+ return values.NewPlcDATE(value), nil
+ case formatName == "U32": // UDINT
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint32(32)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcUDINT(value), nil
+ case formatName == "V32": // DINT
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadInt32(32)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcDINT(value), nil
+ case formatName == "F32": // REAL
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadFloat32(32)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcREAL(value), nil
+ case formatName == "U4U4U4U4U4U4B4N4": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (d6)
+ d6, _d6Err := io.ReadUint8(4)
+ if _d6Err != nil {
+ return nil, errors.New("Error parsing 'd6' field " + _d6Err.Error())
+ }
+ _map["Struct"] = d6
+
+ // Simple Field (d5)
+ d5, _d5Err := io.ReadUint8(4)
+ if _d5Err != nil {
+ return nil, errors.New("Error parsing 'd5' field " + _d5Err.Error())
+ }
+ _map["Struct"] = d5
+
+ // Simple Field (d4)
+ d4, _d4Err := io.ReadUint8(4)
+ if _d4Err != nil {
+ return nil, errors.New("Error parsing 'd4' field " + _d4Err.Error())
+ }
+ _map["Struct"] = d4
+
+ // Simple Field (d3)
+ d3, _d3Err := io.ReadUint8(4)
+ if _d3Err != nil {
+ return nil, errors.New("Error parsing 'd3' field " + _d3Err.Error())
+ }
+ _map["Struct"] = d3
+
+ // Simple Field (d2)
+ d2, _d2Err := io.ReadUint8(4)
+ if _d2Err != nil {
+ return nil, errors.New("Error parsing 'd2' field " + _d2Err.Error())
+ }
+ _map["Struct"] = d2
+
+ // Simple Field (d1)
+ d1, _d1Err := io.ReadUint8(4)
+ if _d1Err != nil {
+ return nil, errors.New("Error parsing 'd1' field " + _d1Err.Error())
+ }
+ _map["Struct"] = d1
+
+ // Simple Field (e)
+ e, _eErr := io.ReadBit()
+ if _eErr != nil {
+ return nil, errors.New("Error parsing 'e' field " + _eErr.Error())
+ }
+ _map["Struct"] = e
+
+ // Simple Field (p)
+ p, _pErr := io.ReadBit()
+ if _pErr != nil {
+ return nil, errors.New("Error parsing 'p' field " + _pErr.Error())
+ }
+ _map["Struct"] = p
+
+ // Simple Field (d)
+ d, _dErr := io.ReadBit()
+ if _dErr != nil {
+ return nil, errors.New("Error parsing 'd' field " + _dErr.Error())
+ }
+ _map["Struct"] = d
+
+ // Simple Field (c)
+ c, _cErr := io.ReadBit()
+ if _cErr != nil {
+ return nil, errors.New("Error parsing 'c' field " + _cErr.Error())
+ }
+ _map["Struct"] = c
+
+ // Simple Field (index)
+ index, _indexErr := io.ReadUint8(4)
+ if _indexErr != nil {
+ return nil, errors.New("Error parsing 'index' field " + _indexErr.Error())
+ }
+ _map["Struct"] = index
+ return values.NewPlcStruct(_map), nil
+ case formatName == "A112_ASCII": // STRING
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadString(112)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcSTRING(value), nil
+ case formatName == "A112_8859_1": // STRING
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadString(112)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcSTRING(value), nil
+ case formatName == "r2U6": // USINT
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(6)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcUSINT(value), nil
+ case formatName == "B1r1U6": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (learn)
+ learn, _learnErr := io.ReadBit()
+ if _learnErr != nil {
+ return nil, errors.New("Error parsing 'learn' field " + _learnErr.Error())
+ }
+ _map["Struct"] = learn
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(1); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (sceneNumber)
+ sceneNumber, _sceneNumberErr := io.ReadUint8(6)
+ if _sceneNumberErr != nil {
+ return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
+ }
+ _map["Struct"] = sceneNumber
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8r4U4r3U5U3U5r2U6r2U6B16": // DATE_AND_TIME
+
+ // Simple Field (year)
+ year, _yearErr := io.ReadUint8(8)
+ if _yearErr != nil {
+ return nil, errors.New("Error parsing 'year' field " + _yearErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (month)
+ month, _monthErr := io.ReadUint8(4)
+ if _monthErr != nil {
+ return nil, errors.New("Error parsing 'month' field " + _monthErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(3); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (day)
+ day, _dayErr := io.ReadUint8(5)
+ if _dayErr != nil {
+ return nil, errors.New("Error parsing 'day' field " + _dayErr.Error())
+ }
+
+ // Simple Field (dayOfWeek)
+ _, _dayOfWeekErr := io.ReadUint8(3)
+ if _dayOfWeekErr != nil {
+ return nil, errors.New("Error parsing 'dayOfWeek' field " + _dayOfWeekErr.Error())
+ }
+
+ // Simple Field (hour)
+ hour, _hourErr := io.ReadUint8(5)
+ if _hourErr != nil {
+ return nil, errors.New("Error parsing 'hour' field " + _hourErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (minutes)
+ minutes, _minutesErr := io.ReadUint8(6)
+ if _minutesErr != nil {
+ return nil, errors.New("Error parsing 'minutes' field " + _minutesErr.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (seconds)
+ seconds, _secondsErr := io.ReadUint8(6)
+ if _secondsErr != nil {
+ return nil, errors.New("Error parsing 'seconds' field " + _secondsErr.Error())
+ }
+
+ // Simple Field (fault)
+ _, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
+ }
+
+ // Simple Field (workingDay)
+ _, _workingDayErr := io.ReadBit()
+ if _workingDayErr != nil {
+ return nil, errors.New("Error parsing 'workingDay' field " + _workingDayErr.Error())
+ }
+
+ // Simple Field (noWorkingDay)
+ _, _noWorkingDayErr := io.ReadBit()
+ if _noWorkingDayErr != nil {
+ return nil, errors.New("Error parsing 'noWorkingDay' field " + _noWorkingDayErr.Error())
+ }
+
+ // Simple Field (noYear)
+ _, _noYearErr := io.ReadBit()
+ if _noYearErr != nil {
+ return nil, errors.New("Error parsing 'noYear' field " + _noYearErr.Error())
+ }
+
+ // Simple Field (noMonthAndDay)
+ _, _noMonthAndDayErr := io.ReadBit()
+ if _noMonthAndDayErr != nil {
+ return nil, errors.New("Error parsing 'noMonthAndDay' field " + _noMonthAndDayErr.Error())
+ }
+
+ // Simple Field (noDayOfWeek)
+ _, _noDayOfWeekErr := io.ReadBit()
+ if _noDayOfWeekErr != nil {
+ return nil, errors.New("Error parsing 'noDayOfWeek' field " + _noDayOfWeekErr.Error())
+ }
+
+ // Simple Field (noTime)
+ _, _noTimeErr := io.ReadBit()
+ if _noTimeErr != nil {
+ return nil, errors.New("Error parsing 'noTime' field " + _noTimeErr.Error())
+ }
+
+ // Simple Field (standardSummerTime)
+ _, _standardSummerTimeErr := io.ReadBit()
+ if _standardSummerTimeErr != nil {
+ return nil, errors.New("Error parsing 'standardSummerTime' field " + _standardSummerTimeErr.Error())
+ }
+
+ // Simple Field (clockWithSyncSignal)
+ _, _clockWithSyncSignalErr := io.ReadBit()
+ if _clockWithSyncSignalErr != nil {
+ return nil, errors.New("Error parsing 'clockWithSyncSignal' field " + _clockWithSyncSignalErr.Error())
+ }
+ value := time.Date(int(year), time.Month(month), int(day), int(hour), int(minutes), int(seconds), 0, nil)
+ return values.NewPlcDATE_AND_TIME(value), nil
+ case formatName == "N8": // USINT
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(8)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcUSINT(value), nil
+ case formatName == "B8": // BYTE
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(8)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcBYTE(value), nil
+ case formatName == "B16": // WORD
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint16(16)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcWORD(value), nil
+ case formatName == "U4U4": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (busy)
+ busy, _busyErr := io.ReadUint8(4)
+ if _busyErr != nil {
+ return nil, errors.New("Error parsing 'busy' field " + _busyErr.Error())
+ }
+ _map["Struct"] = busy
+
+ // Simple Field (nak)
+ nak, _nakErr := io.ReadUint8(4)
+ if _nakErr != nil {
+ return nil, errors.New("Error parsing 'nak' field " + _nakErr.Error())
+ }
+ _map["Struct"] = nak
+ return values.NewPlcStruct(_map), nil
+ case formatName == "r1b1U6": // Struct
+ _map := map[string]interface{}{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(1); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (sceneActive)
+ sceneActive, _sceneActiveErr := io.ReadBit()
+ if _sceneActiveErr != nil {
+ return nil, errors.New("Error parsing 'sceneActive' field " + _sceneActiveErr.Error())
+ }
+ _map["Struct"] = sceneActive
+
+ // Simple Field (sceneNumber)
+ sceneNumber, _sceneNumberErr := io.ReadUint8(6)
+ if _sceneNumberErr != nil {
+ return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
+ }
+ _map["Struct"] = sceneNumber
+ return values.NewPlcStruct(_map), nil
+ case formatName == "B32": // DWORD
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint32(32)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcDWORD(value), nil
+ case formatName == "V64": // LINT
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadInt64(64)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcLINT(value), nil
+ case formatName == "B24": // List
+
+ // Array Field (value)
+ var value []api.PlcValue
+ for i := 0; i < int((24)); i++ {
+ _item, _itemErr := io.ReadBit()
+ if _itemErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _itemErr.Error())
+ }
+ value = append(value, values.NewPlcBOOL(_item))
+ }
+ return values.NewPlcList(value), nil
+ case formatName == "N3": // USINT
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(3)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcUSINT(value), nil
+ case formatName == "B1Z8HeatingOrCoolingZ": // Struct
+ _map := map[string]interface{}{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(7); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (heating)
+ heating, _heatingErr := io.ReadBit()
+ if _heatingErr != nil {
+ return nil, errors.New("Error parsing 'heating' field " + _heatingErr.Error())
+ }
+ _map["Struct"] = heating
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "B1Z8BinaryValueZ": // Struct
+ _map := map[string]interface{}{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(7); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (high)
+ high, _highErr := io.ReadBit()
+ if _highErr != nil {
+ return nil, errors.New("Error parsing 'high' field " + _highErr.Error())
+ }
+ _map["Struct"] = high
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8HvacOperatingMode": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (hvacOperatingMode)
+ hvacOperatingMode, _hvacOperatingModeErr := io.ReadUint8(8)
+ if _hvacOperatingModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacOperatingMode' field " + _hvacOperatingModeErr.Error())
+ }
+ _map["Struct"] = hvacOperatingMode
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8DhwMode": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (dhwMode)
+ dhwMode, _dhwModeErr := io.ReadUint8(8)
+ if _dhwModeErr != nil {
+ return nil, errors.New("Error parsing 'dhwMode' field " + _dhwModeErr.Error())
+ }
+ _map["Struct"] = dhwMode
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8HvacControllingMode": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (hvacControllingMode)
+ hvacControllingMode, _hvacControllingModeErr := io.ReadUint8(8)
+ if _hvacControllingModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacControllingMode' field " + _hvacControllingModeErr.Error())
+ }
+ _map["Struct"] = hvacControllingMode
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8EnableHeatingOrCoolingStage": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (enableHeatingOrCoolingStage)
+ enableHeatingOrCoolingStage, _enableHeatingOrCoolingStageErr := io.ReadUint8(8)
+ if _enableHeatingOrCoolingStageErr != nil {
+ return nil, errors.New("Error parsing 'enableHeatingOrCoolingStage' field " + _enableHeatingOrCoolingStageErr.Error())
+ }
+ _map["Struct"] = enableHeatingOrCoolingStage
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8BuildingMode": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (buildingMode)
+ buildingMode, _buildingModeErr := io.ReadUint8(8)
+ if _buildingModeErr != nil {
+ return nil, errors.New("Error parsing 'buildingMode' field " + _buildingModeErr.Error())
+ }
+ _map["Struct"] = buildingMode
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8OccupancyMode": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (occupancyMode)
+ occupancyMode, _occupancyModeErr := io.ReadUint8(8)
+ if _occupancyModeErr != nil {
+ return nil, errors.New("Error parsing 'occupancyMode' field " + _occupancyModeErr.Error())
+ }
+ _map["Struct"] = occupancyMode
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N8Z8EmergencyMode": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (hvacEmergencyMode)
+ hvacEmergencyMode, _hvacEmergencyModeErr := io.ReadUint8(8)
+ if _hvacEmergencyModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacEmergencyMode' field " + _hvacEmergencyModeErr.Error())
+ }
+ _map["Struct"] = hvacEmergencyMode
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8Z8Rel": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (relValue)
+ relValue, _relValueErr := io.ReadUint8(8)
+ if _relValueErr != nil {
+ return nil, errors.New("Error parsing 'relValue' field " + _relValueErr.Error())
+ }
+ _map["Struct"] = relValue
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8Z8Counter": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (counterValue)
+ counterValue, _counterValueErr := io.ReadUint8(8)
+ if _counterValueErr != nil {
+ return nil, errors.New("Error parsing 'counterValue' field " + _counterValueErr.Error())
+ }
+ _map["Struct"] = counterValue
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8TimePeriod": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (timePeriod)
+ timePeriod, _timePeriodErr := io.ReadUint16(16)
+ if _timePeriodErr != nil {
+ return nil, errors.New("Error parsing 'timePeriod' field " + _timePeriodErr.Error())
+ }
+ _map["Struct"] = timePeriod
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8FlowRate": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (flowRate)
+ flowRate, _flowRateErr := io.ReadUint16(16)
+ if _flowRateErr != nil {
+ return nil, errors.New("Error parsing 'flowRate' field " + _flowRateErr.Error())
+ }
+ _map["Struct"] = flowRate
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8Counter": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (counterValue)
+ counterValue, _counterValueErr := io.ReadUint16(16)
+ if _counterValueErr != nil {
+ return nil, errors.New("Error parsing 'counterValue' field " + _counterValueErr.Error())
+ }
+ _map["Struct"] = counterValue
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8ElectricCurrent": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (electricalCurrent)
+ electricalCurrent, _electricalCurrentErr := io.ReadUint16(16)
+ if _electricalCurrentErr != nil {
+ return nil, errors.New("Error parsing 'electricalCurrent' field " + _electricalCurrentErr.Error())
+ }
+ _map["Struct"] = electricalCurrent
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8Power": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (power)
+ power, _powerErr := io.ReadUint16(16)
+ if _powerErr != nil {
+ return nil, errors.New("Error parsing 'power' field " + _powerErr.Error())
+ }
+ _map["Struct"] = power
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8AtmPressure": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (atmPressure)
+ atmPressure, _atmPressureErr := io.ReadUint16(16)
+ if _atmPressureErr != nil {
+ return nil, errors.New("Error parsing 'atmPressure' field " + _atmPressureErr.Error())
+ }
+ _map["Struct"] = atmPressure
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8PercentValue": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (percentValue)
+ percentValue, _percentValueErr := io.ReadUint16(16)
+ if _percentValueErr != nil {
+ return nil, errors.New("Error parsing 'percentValue' field " + _percentValueErr.Error())
+ }
+ _map["Struct"] = percentValue
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8HvacAirQuality": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (ppmResolution)
+ ppmResolution, _ppmResolutionErr := io.ReadUint16(16)
+ if _ppmResolutionErr != nil {
+ return nil, errors.New("Error parsing 'ppmResolution' field " + _ppmResolutionErr.Error())
+ }
+ _map["Struct"] = ppmResolution
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8WindSpeed": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (windSpeed)
+ windSpeed, _windSpeedErr := io.ReadUint16(16)
+ if _windSpeedErr != nil {
+ return nil, errors.New("Error parsing 'windSpeed' field " + _windSpeedErr.Error())
+ }
+ _map["Struct"] = windSpeed
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8SunIntensity": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (sunIntensity)
+ sunIntensity, _sunIntensityErr := io.ReadUint16(16)
+ if _sunIntensityErr != nil {
+ return nil, errors.New("Error parsing 'sunIntensity' field " + _sunIntensityErr.Error())
+ }
+ _map["Struct"] = sunIntensity
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16Z8HvacAirFlow": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (airFlow)
+ airFlow, _airFlowErr := io.ReadUint16(16)
+ if _airFlowErr != nil {
+ return nil, errors.New("Error parsing 'airFlow' field " + _airFlowErr.Error())
+ }
+ _map["Struct"] = airFlow
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V8Z8RelSignedValue": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (relSignedValue)
+ relSignedValue, _relSignedValueErr := io.ReadInt8(8)
+ if _relSignedValueErr != nil {
+ return nil, errors.New("Error parsing 'relSignedValue' field " + _relSignedValueErr.Error())
+ }
+ _map["Struct"] = relSignedValue
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16Z8DeltaTime": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (deltaTime)
+ deltaTime, _deltaTimeErr := io.ReadInt16(16)
+ if _deltaTimeErr != nil {
+ return nil, errors.New("Error parsing 'deltaTime' field " + _deltaTimeErr.Error())
+ }
+ _map["Struct"] = deltaTime
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16Z8RelSignedValue": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (relSignedValue)
+ relSignedValue, _relSignedValueErr := io.ReadInt16(16)
+ if _relSignedValueErr != nil {
+ return nil, errors.New("Error parsing 'relSignedValue' field " + _relSignedValueErr.Error())
+ }
+ _map["Struct"] = relSignedValue
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16N8HvacModeAndTimeDelay": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (delayTime)
+ delayTime, _delayTimeErr := io.ReadUint16(16)
+ if _delayTimeErr != nil {
+ return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
+ }
+ _map["Struct"] = delayTime
+
+ // Simple Field (hvacMode)
+ hvacMode, _hvacModeErr := io.ReadUint8(8)
+ if _hvacModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacMode' field " + _hvacModeErr.Error())
+ }
+ _map["Struct"] = hvacMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16N8DhwModeAndTimeDelay": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (delayTime)
+ delayTime, _delayTimeErr := io.ReadUint16(16)
+ if _delayTimeErr != nil {
+ return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
+ }
+ _map["Struct"] = delayTime
+
+ // Simple Field (dhwMode)
+ dhwMode, _dhwModeErr := io.ReadUint8(8)
+ if _dhwModeErr != nil {
+ return nil, errors.New("Error parsing 'dhwMode' field " + _dhwModeErr.Error())
+ }
+ _map["Struct"] = dhwMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16N8OccupancyModeAndTimeDelay": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (delayTime)
+ delayTime, _delayTimeErr := io.ReadUint16(16)
+ if _delayTimeErr != nil {
+ return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
+ }
+ _map["Struct"] = delayTime
+
+ // Simple Field (occupationMode)
+ occupationMode, _occupationModeErr := io.ReadUint8(8)
+ if _occupationModeErr != nil {
+ return nil, errors.New("Error parsing 'occupationMode' field " + _occupationModeErr.Error())
+ }
+ _map["Struct"] = occupationMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16N8BuildingModeAndTimeDelay": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (delayTime)
+ delayTime, _delayTimeErr := io.ReadUint16(16)
+ if _delayTimeErr != nil {
+ return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
+ }
+ _map["Struct"] = delayTime
+
+ // Simple Field (buildingMode)
+ buildingMode, _buildingModeErr := io.ReadUint8(8)
+ if _buildingModeErr != nil {
+ return nil, errors.New("Error parsing 'buildingMode' field " + _buildingModeErr.Error())
+ }
+ _map["Struct"] = buildingMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8B8StatusBurnerController": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (actualRelativePower)
+ actualRelativePower, _actualRelativePowerErr := io.ReadUint8(8)
+ if _actualRelativePowerErr != nil {
+ return nil, errors.New("Error parsing 'actualRelativePower' field " + _actualRelativePowerErr.Error())
+ }
+ _map["Struct"] = actualRelativePower
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (stage2Active)
+ stage2Active, _stage2ActiveErr := io.ReadBit()
+ if _stage2ActiveErr != nil {
+ return nil, errors.New("Error parsing 'stage2Active' field " + _stage2ActiveErr.Error())
+ }
+ _map["Struct"] = stage2Active
+
+ // Simple Field (stage1Active)
+ stage1Active, _stage1ActiveErr := io.ReadBit()
+ if _stage1ActiveErr != nil {
+ return nil, errors.New("Error parsing 'stage1Active' field " + _stage1ActiveErr.Error())
+ }
+ _map["Struct"] = stage1Active
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+
+ // Simple Field (actualRelativePowerValid)
+ actualRelativePowerValid, _actualRelativePowerValidErr := io.ReadBit()
+ if _actualRelativePowerValidErr != nil {
+ return nil, errors.New("Error parsing 'actualRelativePowerValid' field " + _actualRelativePowerValidErr.Error())
+ }
+ _map["Struct"] = actualRelativePowerValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8B8LockingSignal": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (requestedPowerReduction)
+ requestedPowerReduction, _requestedPowerReductionErr := io.ReadUint8(8)
+ if _requestedPowerReductionErr != nil {
+ return nil, errors.New("Error parsing 'requestedPowerReduction' field " + _requestedPowerReductionErr.Error())
+ }
+ _map["Struct"] = requestedPowerReduction
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (critical)
+ critical, _criticalErr := io.ReadBit()
+ if _criticalErr != nil {
+ return nil, errors.New("Error parsing 'critical' field " + _criticalErr.Error())
+ }
+ _map["Struct"] = critical
+
+ // Simple Field (requestedPowerReductionValid)
+ requestedPowerReductionValid, _requestedPowerReductionValidErr := io.ReadBit()
+ if _requestedPowerReductionValidErr != nil {
+ return nil, errors.New("Error parsing 'requestedPowerReductionValid' field " + _requestedPowerReductionValidErr.Error())
+ }
+ _map["Struct"] = requestedPowerReductionValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8B8BoilerControllerDemandSignal": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (relativeDemand)
+ relativeDemand, _relativeDemandErr := io.ReadUint8(8)
+ if _relativeDemandErr != nil {
+ return nil, errors.New("Error parsing 'relativeDemand' field " + _relativeDemandErr.Error())
+ }
+ _map["Struct"] = relativeDemand
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (controlsOperationStage2)
+ controlsOperationStage2, _controlsOperationStage2Err := io.ReadBit()
+ if _controlsOperationStage2Err != nil {
+ return nil, errors.New("Error parsing 'controlsOperationStage2' field " + _controlsOperationStage2Err.Error())
+ }
+ _map["Struct"] = controlsOperationStage2
+
+ // Simple Field (controlsOperationStage1)
+ controlsOperationStage1, _controlsOperationStage1Err := io.ReadBit()
+ if _controlsOperationStage1Err != nil {
+ return nil, errors.New("Error parsing 'controlsOperationStage1' field " + _controlsOperationStage1Err.Error())
+ }
+ _map["Struct"] = controlsOperationStage1
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8B8ActuatorPositionDemand": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (actuatorPositionDemand)
+ actuatorPositionDemand, _actuatorPositionDemandErr := io.ReadUint8(8)
+ if _actuatorPositionDemandErr != nil {
+ return nil, errors.New("Error parsing 'actuatorPositionDemand' field " + _actuatorPositionDemandErr.Error())
+ }
+ _map["Struct"] = actuatorPositionDemand
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (emergencyDemand)
+ emergencyDemand, _emergencyDemandErr := io.ReadBit()
+ if _emergencyDemandErr != nil {
+ return nil, errors.New("Error parsing 'emergencyDemand' field " + _emergencyDemandErr.Error())
+ }
+ _map["Struct"] = emergencyDemand
+
+ // Simple Field (shiftLoadPriority)
+ shiftLoadPriority, _shiftLoadPriorityErr := io.ReadBit()
+ if _shiftLoadPriorityErr != nil {
+ return nil, errors.New("Error parsing 'shiftLoadPriority' field " + _shiftLoadPriorityErr.Error())
+ }
+ _map["Struct"] = shiftLoadPriority
+
+ // Simple Field (absoluteLoadPriority)
+ absoluteLoadPriority, _absoluteLoadPriorityErr := io.ReadBit()
+ if _absoluteLoadPriorityErr != nil {
+ return nil, errors.New("Error parsing 'absoluteLoadPriority' field " + _absoluteLoadPriorityErr.Error())
+ }
+ _map["Struct"] = absoluteLoadPriority
+
+ // Simple Field (actuatorPositionDemandValid)
+ actuatorPositionDemandValid, _actuatorPositionDemandValidErr := io.ReadBit()
+ if _actuatorPositionDemandValidErr != nil {
+ return nil, errors.New("Error parsing 'actuatorPositionDemandValid' field " + _actuatorPositionDemandValidErr.Error())
+ }
+ _map["Struct"] = actuatorPositionDemandValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8B8ActuatorPositionStatus": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (actualActuatorPosition)
+ actualActuatorPosition, _actualActuatorPositionErr := io.ReadUint8(8)
+ if _actualActuatorPositionErr != nil {
+ return nil, errors.New("Error parsing 'actualActuatorPosition' field " + _actualActuatorPositionErr.Error())
+ }
+ _map["Struct"] = actualActuatorPosition
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(3); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (synchronizationMode)
+ synchronizationMode, _synchronizationModeErr := io.ReadBit()
+ if _synchronizationModeErr != nil {
+ return nil, errors.New("Error parsing 'synchronizationMode' field " + _synchronizationModeErr.Error())
+ }
+ _map["Struct"] = synchronizationMode
+
+ // Simple Field (valveKick)
+ valveKick, _valveKickErr := io.ReadBit()
+ if _valveKickErr != nil {
+ return nil, errors.New("Error parsing 'valveKick' field " + _valveKickErr.Error())
+ }
+ _map["Struct"] = valveKick
+
+ // Simple Field (callibrationMode)
+ callibrationMode, _callibrationModeErr := io.ReadBit()
+ if _callibrationModeErr != nil {
+ return nil, errors.New("Error parsing 'callibrationMode' field " + _callibrationModeErr.Error())
+ }
+ _map["Struct"] = callibrationMode
+
+ // Simple Field (positionManuallyOverridden)
+ positionManuallyOverridden, _positionManuallyOverriddenErr := io.ReadBit()
+ if _positionManuallyOverriddenErr != nil {
+ return nil, errors.New("Error parsing 'positionManuallyOverridden' field " + _positionManuallyOverriddenErr.Error())
+ }
+ _map["Struct"] = positionManuallyOverridden
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8B8StatusLightingActuator": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (lightingLevel)
+ lightingLevel, _lightingLevelErr := io.ReadUint8(8)
+ if _lightingLevelErr != nil {
+ return nil, errors.New("Error parsing 'lightingLevel' field " + _lightingLevelErr.Error())
+ }
+ _map["Struct"] = lightingLevel
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+
+ // Simple Field (localOverride)
+ localOverride, _localOverrideErr := io.ReadBit()
+ if _localOverrideErr != nil {
+ return nil, errors.New("Error parsing 'localOverride' field " + _localOverrideErr.Error())
+ }
+ _map["Struct"] = localOverride
+
+ // Simple Field (dimming)
+ dimming, _dimmingErr := io.ReadBit()
+ if _dimmingErr != nil {
+ return nil, errors.New("Error parsing 'dimming' field " + _dimmingErr.Error())
+ }
+ _map["Struct"] = dimming
+
+ // Simple Field (staircaseLightingFunction)
+ staircaseLightingFunction, _staircaseLightingFunctionErr := io.ReadBit()
+ if _staircaseLightingFunctionErr != nil {
+ return nil, errors.New("Error parsing 'staircaseLightingFunction' field " + _staircaseLightingFunctionErr.Error())
+ }
+ _map["Struct"] = staircaseLightingFunction
+
+ // Simple Field (nightMode)
+ nightMode, _nightModeErr := io.ReadBit()
+ if _nightModeErr != nil {
+ return nil, errors.New("Error parsing 'nightMode' field " + _nightModeErr.Error())
+ }
+ _map["Struct"] = nightMode
+
+ // Simple Field (forced)
+ forced, _forcedErr := io.ReadBit()
+ if _forcedErr != nil {
+ return nil, errors.New("Error parsing 'forced' field " + _forcedErr.Error())
+ }
+ _map["Struct"] = forced
+
+ // Simple Field (locked)
+ locked, _lockedErr := io.ReadBit()
+ if _lockedErr != nil {
+ return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
+ }
+ _map["Struct"] = locked
+
+ // Simple Field (lightingLevelValid)
+ lightingLevelValid, _lightingLevelValidErr := io.ReadBit()
+ if _lightingLevelValidErr != nil {
+ return nil, errors.New("Error parsing 'lightingLevelValid' field " + _lightingLevelValidErr.Error())
+ }
+ _map["Struct"] = lightingLevelValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16B8HeatProducerManagerStatus": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (tempFlowProdSegmH)
+ tempFlowProdSegmH, _tempFlowProdSegmHErr := io.ReadFloat32(16)
+ if _tempFlowProdSegmHErr != nil {
+ return nil, errors.New("Error parsing 'tempFlowProdSegmH' field " + _tempFlowProdSegmHErr.Error())
+ }
+ _map["Struct"] = tempFlowProdSegmH
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(3); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (temporarilyOff)
+ temporarilyOff, _temporarilyOffErr := io.ReadBit()
+ if _temporarilyOffErr != nil {
+ return nil, errors.New("Error parsing 'temporarilyOff' field " + _temporarilyOffErr.Error())
+ }
+ _map["Struct"] = temporarilyOff
+
+ // Simple Field (permanentlyOff)
+ permanentlyOff, _permanentlyOffErr := io.ReadBit()
+ if _permanentlyOffErr != nil {
+ return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
+ }
+ _map["Struct"] = permanentlyOff
+
+ // Simple Field (switchedOffSummerMode)
+ switchedOffSummerMode, _switchedOffSummerModeErr := io.ReadBit()
+ if _switchedOffSummerModeErr != nil {
+ return nil, errors.New("Error parsing 'switchedOffSummerMode' field " + _switchedOffSummerModeErr.Error())
+ }
+ _map["Struct"] = switchedOffSummerMode
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+
+ // Simple Field (tempFlowProdSegmHValid)
+ tempFlowProdSegmHValid, _tempFlowProdSegmHValidErr := io.ReadBit()
+ if _tempFlowProdSegmHValidErr != nil {
+ return nil, errors.New("Error parsing 'tempFlowProdSegmHValid' field " + _tempFlowProdSegmHValidErr.Error())
+ }
+ _map["Struct"] = tempFlowProdSegmHValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16B8RoomTemperatureDemand": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (roomTemperatureDemand)
+ roomTemperatureDemand, _roomTemperatureDemandErr := io.ReadFloat32(16)
+ if _roomTemperatureDemandErr != nil {
+ return nil, errors.New("Error parsing 'roomTemperatureDemand' field " + _roomTemperatureDemandErr.Error())
+ }
+ _map["Struct"] = roomTemperatureDemand
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (emergencyDemand)
+ emergencyDemand, _emergencyDemandErr := io.ReadBit()
+ if _emergencyDemandErr != nil {
+ return nil, errors.New("Error parsing 'emergencyDemand' field " + _emergencyDemandErr.Error())
+ }
+ _map["Struct"] = emergencyDemand
+
+ // Simple Field (shiftLoadPriority)
+ shiftLoadPriority, _shiftLoadPriorityErr := io.ReadBit()
+ if _shiftLoadPriorityErr != nil {
+ return nil, errors.New("Error parsing 'shiftLoadPriority' field " + _shiftLoadPriorityErr.Error())
+ }
+ _map["Struct"] = shiftLoadPriority
+
+ // Simple Field (absoluteLoadPriority)
+ absoluteLoadPriority, _absoluteLoadPriorityErr := io.ReadBit()
+ if _absoluteLoadPriorityErr != nil {
+ return nil, errors.New("Error parsing 'absoluteLoadPriority' field " + _absoluteLoadPriorityErr.Error())
+ }
+ _map["Struct"] = absoluteLoadPriority
+
+ // Simple Field (roomTemperatureDemandValid)
+ roomTemperatureDemandValid, _roomTemperatureDemandValidErr := io.ReadBit()
+ if _roomTemperatureDemandValidErr != nil {
+ return nil, errors.New("Error parsing 'roomTemperatureDemandValid' field " + _roomTemperatureDemandValidErr.Error())
+ }
+ _map["Struct"] = roomTemperatureDemandValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16B8ColdWaterProducerManagerStatus": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (flowTemperatureProdSegmC)
+ flowTemperatureProdSegmC, _flowTemperatureProdSegmCErr := io.ReadFloat32(16)
+ if _flowTemperatureProdSegmCErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureProdSegmC' field " + _flowTemperatureProdSegmCErr.Error())
+ }
+ _map["Struct"] = flowTemperatureProdSegmC
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (temporarilyOff)
+ temporarilyOff, _temporarilyOffErr := io.ReadBit()
+ if _temporarilyOffErr != nil {
+ return nil, errors.New("Error parsing 'temporarilyOff' field " + _temporarilyOffErr.Error())
+ }
+ _map["Struct"] = temporarilyOff
+
+ // Simple Field (permanentlyOff)
+ permanentlyOff, _permanentlyOffErr := io.ReadBit()
+ if _permanentlyOffErr != nil {
+ return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
+ }
+ _map["Struct"] = permanentlyOff
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+
+ // Simple Field (flowTemperatureProdSegmCValid)
+ flowTemperatureProdSegmCValid, _flowTemperatureProdSegmCValidErr := io.ReadBit()
+ if _flowTemperatureProdSegmCValidErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureProdSegmCValid' field " + _flowTemperatureProdSegmCValidErr.Error())
+ }
+ _map["Struct"] = flowTemperatureProdSegmCValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16B8WaterTemperatureControllerStatus": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (actualTemperature)
+ actualTemperature, _actualTemperatureErr := io.ReadFloat32(16)
+ if _actualTemperatureErr != nil {
+ return nil, errors.New("Error parsing 'actualTemperature' field " + _actualTemperatureErr.Error())
+ }
+ _map["Struct"] = actualTemperature
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (controllerWorking)
+ controllerWorking, _controllerWorkingErr := io.ReadBit()
+ if _controllerWorkingErr != nil {
+ return nil, errors.New("Error parsing 'controllerWorking' field " + _controllerWorkingErr.Error())
+ }
+ _map["Struct"] = controllerWorking
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+
+ // Simple Field (actualTemperatureValid)
+ actualTemperatureValid, _actualTemperatureValidErr := io.ReadBit()
+ if _actualTemperatureValidErr != nil {
+ return nil, errors.New("Error parsing 'actualTemperatureValid' field " + _actualTemperatureValidErr.Error())
+ }
+ _map["Struct"] = actualTemperatureValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16B16": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (flowTemperatureDemand)
+ flowTemperatureDemand, _flowTemperatureDemandErr := io.ReadFloat32(16)
+ if _flowTemperatureDemandErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureDemand' field " + _flowTemperatureDemandErr.Error())
+ }
+ _map["Struct"] = flowTemperatureDemand
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (demandFromDhwWhileLegionellaFunctionIsActive)
+ demandFromDhwWhileLegionellaFunctionIsActive, _demandFromDhwWhileLegionellaFunctionIsActiveErr := io.ReadBit()
+ if _demandFromDhwWhileLegionellaFunctionIsActiveErr != nil {
+ return nil, errors.New("Error parsing 'demandFromDhwWhileLegionellaFunctionIsActive' field " + _demandFromDhwWhileLegionellaFunctionIsActiveErr.Error())
+ }
+ _map["Struct"] = demandFromDhwWhileLegionellaFunctionIsActive
+
+ // Simple Field (emergencyDemandForFrostProtection)
+ emergencyDemandForFrostProtection, _emergencyDemandForFrostProtectionErr := io.ReadBit()
+ if _emergencyDemandForFrostProtectionErr != nil {
+ return nil, errors.New("Error parsing 'emergencyDemandForFrostProtection' field " + _emergencyDemandForFrostProtectionErr.Error())
+ }
+ _map["Struct"] = emergencyDemandForFrostProtection
+
+ // Simple Field (requestForWaterCirculationInPrimaryDistributionSegment)
+ requestForWaterCirculationInPrimaryDistributionSegment, _requestForWaterCirculationInPrimaryDistributionSegmentErr := io.ReadBit()
+ if _requestForWaterCirculationInPrimaryDistributionSegmentErr != nil {
+ return nil, errors.New("Error parsing 'requestForWaterCirculationInPrimaryDistributionSegment' field " + _requestForWaterCirculationInPrimaryDistributionSegmentErr.Error())
+ }
+ _map["Struct"] = requestForWaterCirculationInPrimaryDistributionSegment
+
+ // Simple Field (demandFromAuxillaryHeatOrCoolConsumer)
+ demandFromAuxillaryHeatOrCoolConsumer, _demandFromAuxillaryHeatOrCoolConsumerErr := io.ReadBit()
+ if _demandFromAuxillaryHeatOrCoolConsumerErr != nil {
+ return nil, errors.New("Error parsing 'demandFromAuxillaryHeatOrCoolConsumer' field " + _demandFromAuxillaryHeatOrCoolConsumerErr.Error())
+ }
+ _map["Struct"] = demandFromAuxillaryHeatOrCoolConsumer
+
+ // Simple Field (demandFromVentilation)
+ demandFromVentilation, _demandFromVentilationErr := io.ReadBit()
+ if _demandFromVentilationErr != nil {
+ return nil, errors.New("Error parsing 'demandFromVentilation' field " + _demandFromVentilationErr.Error())
+ }
+ _map["Struct"] = demandFromVentilation
+
+ // Simple Field (demandForRoomHeatingOrCooling)
+ demandForRoomHeatingOrCooling, _demandForRoomHeatingOrCoolingErr := io.ReadBit()
+ if _demandForRoomHeatingOrCoolingErr != nil {
+ return nil, errors.New("Error parsing 'demandForRoomHeatingOrCooling' field " + _demandForRoomHeatingOrCoolingErr.Error())
+ }
+ _map["Struct"] = demandForRoomHeatingOrCooling
+
+ // Simple Field (heatDemandFromDhw)
+ heatDemandFromDhw, _heatDemandFromDhwErr := io.ReadBit()
+ if _heatDemandFromDhwErr != nil {
+ return nil, errors.New("Error parsing 'heatDemandFromDhw' field " + _heatDemandFromDhwErr.Error())
+ }
+ _map["Struct"] = heatDemandFromDhw
+
+ // Simple Field (flowTemperatureDemandIsMin)
+ flowTemperatureDemandIsMin, _flowTemperatureDemandIsMinErr := io.ReadBit()
+ if _flowTemperatureDemandIsMinErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureDemandIsMin' field " + _flowTemperatureDemandIsMinErr.Error())
+ }
+ _map["Struct"] = flowTemperatureDemandIsMin
+
+ // Simple Field (flowTemperatureDemandIsMax)
+ flowTemperatureDemandIsMax, _flowTemperatureDemandIsMaxErr := io.ReadBit()
+ if _flowTemperatureDemandIsMaxErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureDemandIsMax' field " + _flowTemperatureDemandIsMaxErr.Error())
+ }
+ _map["Struct"] = flowTemperatureDemandIsMax
+
+ // Simple Field (shiftLoadPriority)
+ shiftLoadPriority, _shiftLoadPriorityErr := io.ReadBit()
+ if _shiftLoadPriorityErr != nil {
+ return nil, errors.New("Error parsing 'shiftLoadPriority' field " + _shiftLoadPriorityErr.Error())
+ }
+ _map["Struct"] = shiftLoadPriority
+
+ // Simple Field (absoluteLoadPriority)
+ absoluteLoadPriority, _absoluteLoadPriorityErr := io.ReadBit()
+ if _absoluteLoadPriorityErr != nil {
+ return nil, errors.New("Error parsing 'absoluteLoadPriority' field " + _absoluteLoadPriorityErr.Error())
+ }
+ _map["Struct"] = absoluteLoadPriority
+
+ // Simple Field (flowTemperatureDemandValid)
+ flowTemperatureDemandValid, _flowTemperatureDemandValidErr := io.ReadBit()
+ if _flowTemperatureDemandValidErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureDemandValid' field " + _flowTemperatureDemandValidErr.Error())
+ }
+ _map["Struct"] = flowTemperatureDemandValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8N8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (energyDemand)
+ energyDemand, _energyDemandErr := io.ReadUint8(8)
+ if _energyDemandErr != nil {
+ return nil, errors.New("Error parsing 'energyDemand' field " + _energyDemandErr.Error())
+ }
+ _map["Struct"] = energyDemand
+
+ // Simple Field (actualControllerMode)
+ actualControllerMode, _actualControllerModeErr := io.ReadUint8(8)
+ if _actualControllerModeErr != nil {
+ return nil, errors.New("Error parsing 'actualControllerMode' field " + _actualControllerModeErr.Error())
+ }
+ _map["Struct"] = actualControllerMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16V16V16RoomTemperature": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (temperatureSetpointComfort)
+ temperatureSetpointComfort, _temperatureSetpointComfortErr := io.ReadFloat32(16)
+ if _temperatureSetpointComfortErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointComfort' field " + _temperatureSetpointComfortErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointComfort
+
+ // Simple Field (temperatureSetpointStandby)
+ temperatureSetpointStandby, _temperatureSetpointStandbyErr := io.ReadFloat32(16)
+ if _temperatureSetpointStandbyErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointStandby' field " + _temperatureSetpointStandbyErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointStandby
+
+ // Simple Field (temperatureSetpointEco)
+ temperatureSetpointEco, _temperatureSetpointEcoErr := io.ReadFloat32(16)
+ if _temperatureSetpointEcoErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointEco' field " + _temperatureSetpointEcoErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointEco
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16V16V16RoomTemperatureShift": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (temperatureSetpointShiftComfort)
+ temperatureSetpointShiftComfort, _temperatureSetpointShiftComfortErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftComfortErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftComfort' field " + _temperatureSetpointShiftComfortErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftComfort
+
+ // Simple Field (temperatureSetpointShiftStandby)
+ temperatureSetpointShiftStandby, _temperatureSetpointShiftStandbyErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftStandbyErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftStandby' field " + _temperatureSetpointShiftStandbyErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftStandby
+
+ // Simple Field (temperatureSetpointShiftEco)
+ temperatureSetpointShiftEco, _temperatureSetpointShiftEcoErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftEcoErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftEco' field " + _temperatureSetpointShiftEcoErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftEco
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16V16V16V16RoomTemperature": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (temperatureSetpointComfort)
+ temperatureSetpointComfort, _temperatureSetpointComfortErr := io.ReadFloat32(16)
+ if _temperatureSetpointComfortErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointComfort' field " + _temperatureSetpointComfortErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointComfort
+
+ // Simple Field (temperatureSetpointStandby)
+ temperatureSetpointStandby, _temperatureSetpointStandbyErr := io.ReadFloat32(16)
+ if _temperatureSetpointStandbyErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointStandby' field " + _temperatureSetpointStandbyErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointStandby
+
+ // Simple Field (temperatureSetpointEco)
+ temperatureSetpointEco, _temperatureSetpointEcoErr := io.ReadFloat32(16)
+ if _temperatureSetpointEcoErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointEco' field " + _temperatureSetpointEcoErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointEco
+
+ // Simple Field (temperatureSetpointBProt)
+ temperatureSetpointBProt, _temperatureSetpointBProtErr := io.ReadFloat32(16)
+ if _temperatureSetpointBProtErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointBProt' field " + _temperatureSetpointBProtErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointBProt
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16V16V16V16DhwtTemperature": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (temperatureSetpointLegioProtect)
+ temperatureSetpointLegioProtect, _temperatureSetpointLegioProtectErr := io.ReadFloat32(16)
+ if _temperatureSetpointLegioProtectErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointLegioProtect' field " + _temperatureSetpointLegioProtectErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointLegioProtect
+
+ // Simple Field (temperatureSetpointNormal)
+ temperatureSetpointNormal, _temperatureSetpointNormalErr := io.ReadFloat32(16)
+ if _temperatureSetpointNormalErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointNormal' field " + _temperatureSetpointNormalErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointNormal
+
+ // Simple Field (temperatureSetpointReduced)
+ temperatureSetpointReduced, _temperatureSetpointReducedErr := io.ReadFloat32(16)
+ if _temperatureSetpointReducedErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointReduced' field " + _temperatureSetpointReducedErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointReduced
+
+ // Simple Field (temperatureSetpointFrostProtect)
+ temperatureSetpointFrostProtect, _temperatureSetpointFrostProtectErr := io.ReadFloat32(16)
+ if _temperatureSetpointFrostProtectErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointFrostProtect' field " + _temperatureSetpointFrostProtectErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointFrostProtect
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16V16V16V16RoomTemperatureShift": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (temperatureSetpointShiftComfort)
+ temperatureSetpointShiftComfort, _temperatureSetpointShiftComfortErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftComfortErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftComfort' field " + _temperatureSetpointShiftComfortErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftComfort
+
+ // Simple Field (temperatureSetpointShiftStandby)
+ temperatureSetpointShiftStandby, _temperatureSetpointShiftStandbyErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftStandbyErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftStandby' field " + _temperatureSetpointShiftStandbyErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftStandby
+
+ // Simple Field (temperatureSetpointShiftEco)
+ temperatureSetpointShiftEco, _temperatureSetpointShiftEcoErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftEcoErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftEco' field " + _temperatureSetpointShiftEcoErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftEco
+
+ // Simple Field (temperatureSetpointShiftBProt)
+ temperatureSetpointShiftBProt, _temperatureSetpointShiftBProtErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftBProtErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftBProt' field " + _temperatureSetpointShiftBProtErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftBProt
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16U8B8Heat": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (flowTemperatureDemand)
+ flowTemperatureDemand, _flowTemperatureDemandErr := io.ReadInt16(16)
+ if _flowTemperatureDemandErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureDemand' field " + _flowTemperatureDemandErr.Error())
+ }
+ _map["Struct"] = flowTemperatureDemand
+
+ // Simple Field (relativePower)
+ relativePower, _relativePowerErr := io.ReadUint8(8)
+ if _relativePowerErr != nil {
+ return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
+ }
+ _map["Struct"] = relativePower
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (boilerEnabled)
+ boilerEnabled, _boilerEnabledErr := io.ReadBit()
+ if _boilerEnabledErr != nil {
+ return nil, errors.New("Error parsing 'boilerEnabled' field " + _boilerEnabledErr.Error())
+ }
+ _map["Struct"] = boilerEnabled
+
+ // Simple Field (stage2Forced)
+ stage2Forced, _stage2ForcedErr := io.ReadBit()
+ if _stage2ForcedErr != nil {
+ return nil, errors.New("Error parsing 'stage2Forced' field " + _stage2ForcedErr.Error())
+ }
+ _map["Struct"] = stage2Forced
+
+ // Simple Field (stage2Enabled)
+ stage2Enabled, _stage2EnabledErr := io.ReadBit()
+ if _stage2EnabledErr != nil {
+ return nil, errors.New("Error parsing 'stage2Enabled' field " + _stage2EnabledErr.Error())
+ }
+ _map["Struct"] = stage2Enabled
+
+ // Simple Field (stage1Forced)
+ stage1Forced, _stage1ForcedErr := io.ReadBit()
+ if _stage1ForcedErr != nil {
+ return nil, errors.New("Error parsing 'stage1Forced' field " + _stage1ForcedErr.Error())
+ }
+ _map["Struct"] = stage1Forced
+
+ // Simple Field (stage1Enabled)
+ stage1Enabled, _stage1EnabledErr := io.ReadBit()
+ if _stage1EnabledErr != nil {
+ return nil, errors.New("Error parsing 'stage1Enabled' field " + _stage1EnabledErr.Error())
+ }
+ _map["Struct"] = stage1Enabled
+
+ // Simple Field (flowTemperatureDemandValid)
+ flowTemperatureDemandValid, _flowTemperatureDemandValidErr := io.ReadBit()
+ if _flowTemperatureDemandValidErr != nil {
+ return nil, errors.New("Error parsing 'flowTemperatureDemandValid' field " + _flowTemperatureDemandValidErr.Error())
+ }
+ _map["Struct"] = flowTemperatureDemandValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16U8B8ChilledWater": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (chilledWaterFlowTemperatureDemand)
+ chilledWaterFlowTemperatureDemand, _chilledWaterFlowTemperatureDemandErr := io.ReadInt16(16)
+ if _chilledWaterFlowTemperatureDemandErr != nil {
+ return nil, errors.New("Error parsing 'chilledWaterFlowTemperatureDemand' field " + _chilledWaterFlowTemperatureDemandErr.Error())
+ }
+ _map["Struct"] = chilledWaterFlowTemperatureDemand
+
+ // Simple Field (relativePower)
+ relativePower, _relativePowerErr := io.ReadUint8(8)
+ if _relativePowerErr != nil {
+ return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
+ }
+ _map["Struct"] = relativePower
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (chilledWaterPumpEnabled)
+ chilledWaterPumpEnabled, _chilledWaterPumpEnabledErr := io.ReadBit()
+ if _chilledWaterPumpEnabledErr != nil {
+ return nil, errors.New("Error parsing 'chilledWaterPumpEnabled' field " + _chilledWaterPumpEnabledErr.Error())
+ }
+ _map["Struct"] = chilledWaterPumpEnabled
+
+ // Simple Field (relativePowerValid)
+ relativePowerValid, _relativePowerValidErr := io.ReadBit()
+ if _relativePowerValidErr != nil {
+ return nil, errors.New("Error parsing 'relativePowerValid' field " + _relativePowerValidErr.Error())
+ }
+ _map["Struct"] = relativePowerValid
+
+ // Simple Field (chilledWaterFlowTemperatureDemandValid)
+ chilledWaterFlowTemperatureDemandValid, _chilledWaterFlowTemperatureDemandValidErr := io.ReadBit()
+ if _chilledWaterFlowTemperatureDemandValidErr != nil {
+ return nil, errors.New("Error parsing 'chilledWaterFlowTemperatureDemandValid' field " + _chilledWaterFlowTemperatureDemandValidErr.Error())
+ }
+ _map["Struct"] = chilledWaterFlowTemperatureDemandValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16U8B16Boiler": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (tempBoiler)
+ tempBoiler, _tempBoilerErr := io.ReadInt16(16)
+ if _tempBoilerErr != nil {
+ return nil, errors.New("Error parsing 'tempBoiler' field " + _tempBoilerErr.Error())
+ }
+ _map["Struct"] = tempBoiler
+
+ // Simple Field (relativePower)
+ relativePower, _relativePowerErr := io.ReadUint8(8)
+ if _relativePowerErr != nil {
+ return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
+ }
+ _map["Struct"] = relativePower
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (chimneySweepFunctionActive)
+ chimneySweepFunctionActive, _chimneySweepFunctionActiveErr := io.ReadBit()
+ if _chimneySweepFunctionActiveErr != nil {
+ return nil, errors.New("Error parsing 'chimneySweepFunctionActive' field " + _chimneySweepFunctionActiveErr.Error())
+ }
+ _map["Struct"] = chimneySweepFunctionActive
+
+ // Simple Field (reducedAvailability)
+ reducedAvailability, _reducedAvailabilityErr := io.ReadBit()
+ if _reducedAvailabilityErr != nil {
+ return nil, errors.New("Error parsing 'reducedAvailability' field " + _reducedAvailabilityErr.Error())
+ }
+ _map["Struct"] = reducedAvailability
+
+ // Simple Field (powerLimitBoilerReached)
+ powerLimitBoilerReached, _powerLimitBoilerReachedErr := io.ReadBit()
+ if _powerLimitBoilerReachedErr != nil {
+ return nil, errors.New("Error parsing 'powerLimitBoilerReached' field " + _powerLimitBoilerReachedErr.Error())
+ }
+ _map["Struct"] = powerLimitBoilerReached
+
+ // Simple Field (powerLimitStage1Reached)
+ powerLimitStage1Reached, _powerLimitStage1ReachedErr := io.ReadBit()
+ if _powerLimitStage1ReachedErr != nil {
+ return nil, errors.New("Error parsing 'powerLimitStage1Reached' field " + _powerLimitStage1ReachedErr.Error())
+ }
+ _map["Struct"] = powerLimitStage1Reached
+
+ // Simple Field (stage2Enabled)
+ stage2Enabled, _stage2EnabledErr := io.ReadBit()
+ if _stage2EnabledErr != nil {
+ return nil, errors.New("Error parsing 'stage2Enabled' field " + _stage2EnabledErr.Error())
+ }
+ _map["Struct"] = stage2Enabled
+
+ // Simple Field (stage1Enabled)
+ stage1Enabled, _stage1EnabledErr := io.ReadBit()
+ if _stage1EnabledErr != nil {
+ return nil, errors.New("Error parsing 'stage1Enabled' field " + _stage1EnabledErr.Error())
+ }
+ _map["Struct"] = stage1Enabled
+
+ // Simple Field (boilerTemporarilyNotProvidingHeat)
+ boilerTemporarilyNotProvidingHeat, _boilerTemporarilyNotProvidingHeatErr := io.ReadBit()
+ if _boilerTemporarilyNotProvidingHeatErr != nil {
+ return nil, errors.New("Error parsing 'boilerTemporarilyNotProvidingHeat' field " + _boilerTemporarilyNotProvidingHeatErr.Error())
+ }
+ _map["Struct"] = boilerTemporarilyNotProvidingHeat
+
+ // Simple Field (permanentlyOff)
+ permanentlyOff, _permanentlyOffErr := io.ReadBit()
+ if _permanentlyOffErr != nil {
+ return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
+ }
+ _map["Struct"] = permanentlyOff
+
+ // Simple Field (boilerSwitchedOffWinterSummerMode)
+ boilerSwitchedOffWinterSummerMode, _boilerSwitchedOffWinterSummerModeErr := io.ReadBit()
+ if _boilerSwitchedOffWinterSummerModeErr != nil {
+ return nil, errors.New("Error parsing 'boilerSwitchedOffWinterSummerMode' field " + _boilerSwitchedOffWinterSummerModeErr.Error())
+ }
+ _map["Struct"] = boilerSwitchedOffWinterSummerMode
+
+ // Simple Field (boilerFailure)
+ boilerFailure, _boilerFailureErr := io.ReadBit()
+ if _boilerFailureErr != nil {
+ return nil, errors.New("Error parsing 'boilerFailure' field " + _boilerFailureErr.Error())
+ }
+ _map["Struct"] = boilerFailure
+
+ // Simple Field (relativePowerValid)
+ relativePowerValid, _relativePowerValidErr := io.ReadBit()
+ if _relativePowerValidErr != nil {
+ return nil, errors.New("Error parsing 'relativePowerValid' field " + _relativePowerValidErr.Error())
+ }
+ _map["Struct"] = relativePowerValid
+
+ // Simple Field (tempBoilerValid)
+ tempBoilerValid, _tempBoilerValidErr := io.ReadBit()
+ if _tempBoilerValidErr != nil {
+ return nil, errors.New("Error parsing 'tempBoilerValid' field " + _tempBoilerValidErr.Error())
+ }
+ _map["Struct"] = tempBoilerValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16U8B16Chiller": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (tempChiller)
+ tempChiller, _tempChillerErr := io.ReadInt16(16)
+ if _tempChillerErr != nil {
+ return nil, errors.New("Error parsing 'tempChiller' field " + _tempChillerErr.Error())
+ }
+ _map["Struct"] = tempChiller
+
+ // Simple Field (relativePower)
+ relativePower, _relativePowerErr := io.ReadUint8(8)
+ if _relativePowerErr != nil {
+ return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
+ }
+ _map["Struct"] = relativePower
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (reducedAvailability)
+ reducedAvailability, _reducedAvailabilityErr := io.ReadBit()
+ if _reducedAvailabilityErr != nil {
+ return nil, errors.New("Error parsing 'reducedAvailability' field " + _reducedAvailabilityErr.Error())
+ }
+ _map["Struct"] = reducedAvailability
+
+ // Simple Field (powerLimitChillerReached)
+ powerLimitChillerReached, _powerLimitChillerReachedErr := io.ReadBit()
+ if _powerLimitChillerReachedErr != nil {
+ return nil, errors.New("Error parsing 'powerLimitChillerReached' field " + _powerLimitChillerReachedErr.Error())
+ }
+ _map["Struct"] = powerLimitChillerReached
+
+ // Simple Field (powerLimitCurrentStageReached)
+ powerLimitCurrentStageReached, _powerLimitCurrentStageReachedErr := io.ReadBit()
+ if _powerLimitCurrentStageReachedErr != nil {
+ return nil, errors.New("Error parsing 'powerLimitCurrentStageReached' field " + _powerLimitCurrentStageReachedErr.Error())
+ }
+ _map["Struct"] = powerLimitCurrentStageReached
+
+ // Simple Field (permanentlyOff)
+ permanentlyOff, _permanentlyOffErr := io.ReadBit()
+ if _permanentlyOffErr != nil {
+ return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
+ }
+ _map["Struct"] = permanentlyOff
+
+ // Simple Field (chillerFailure)
+ chillerFailure, _chillerFailureErr := io.ReadBit()
+ if _chillerFailureErr != nil {
+ return nil, errors.New("Error parsing 'chillerFailure' field " + _chillerFailureErr.Error())
+ }
+ _map["Struct"] = chillerFailure
+
+ // Simple Field (chillerRunningStatus)
+ chillerRunningStatus, _chillerRunningStatusErr := io.ReadBit()
+ if _chillerRunningStatusErr != nil {
+ return nil, errors.New("Error parsing 'chillerRunningStatus' field " + _chillerRunningStatusErr.Error())
+ }
+ _map["Struct"] = chillerRunningStatus
+
+ // Simple Field (relativePowerValid)
+ relativePowerValid, _relativePowerValidErr := io.ReadBit()
+ if _relativePowerValidErr != nil {
+ return nil, errors.New("Error parsing 'relativePowerValid' field " + _relativePowerValidErr.Error())
+ }
+ _map["Struct"] = relativePowerValid
+
+ // Simple Field (tempChillerValid)
+ tempChillerValid, _tempChillerValidErr := io.ReadBit()
+ if _tempChillerValidErr != nil {
+ return nil, errors.New("Error parsing 'tempChillerValid' field " + _tempChillerValidErr.Error())
+ }
+ _map["Struct"] = tempChillerValid
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16U8N8B8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (nominalPower)
+ nominalPower, _nominalPowerErr := io.ReadUint16(16)
+ if _nominalPowerErr != nil {
+ return nil, errors.New("Error parsing 'nominalPower' field " + _nominalPowerErr.Error())
+ }
+ _map["Struct"] = nominalPower
+
+ // Simple Field (relativePowerLimit)
+ relativePowerLimit, _relativePowerLimitErr := io.ReadUint8(8)
+ if _relativePowerLimitErr != nil {
+ return nil, errors.New("Error parsing 'relativePowerLimit' field " + _relativePowerLimitErr.Error())
+ }
+ _map["Struct"] = relativePowerLimit
+
+ // Simple Field (burnerType)
+ burnerType, _burnerTypeErr := io.ReadInt8(8)
+ if _burnerTypeErr != nil {
+ return nil, errors.New("Error parsing 'burnerType' field " + _burnerTypeErr.Error())
+ }
+ _map["Struct"] = burnerType
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (solidState)
+ solidState, _solidStateErr := io.ReadBit()
+ if _solidStateErr != nil {
+ return nil, errors.New("Error parsing 'solidState' field " + _solidStateErr.Error())
+ }
+ _map["Struct"] = solidState
+
+ // Simple Field (gas)
+ gas, _gasErr := io.ReadBit()
+ if _gasErr != nil {
+ return nil, errors.New("Error parsing 'gas' field " + _gasErr.Error())
+ }
+ _map["Struct"] = gas
+
+ // Simple Field (oil)
+ oil, _oilErr := io.ReadBit()
+ if _oilErr != nil {
+ return nil, errors.New("Error parsing 'oil' field " + _oilErr.Error())
+ }
+ _map["Struct"] = oil
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U5U5U6": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (magicNumber)
+ magicNumber, _magicNumberErr := io.ReadUint8(5)
+ if _magicNumberErr != nil {
+ return nil, errors.New("Error parsing 'magicNumber' field " + _magicNumberErr.Error())
+ }
+ _map["Struct"] = magicNumber
+
+ // Simple Field (versionNumber)
+ versionNumber, _versionNumberErr := io.ReadUint8(5)
+ if _versionNumberErr != nil {
+ return nil, errors.New("Error parsing 'versionNumber' field " + _versionNumberErr.Error())
+ }
+ _map["Struct"] = versionNumber
+
+ // Simple Field (revisionNumber)
+ revisionNumber, _revisionNumberErr := io.ReadUint8(6)
+ if _revisionNumberErr != nil {
+ return nil, errors.New("Error parsing 'revisionNumber' field " + _revisionNumberErr.Error())
+ }
+ _map["Struct"] = revisionNumber
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V32Z8VolumeLiter": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (volumeLiter)
+ volumeLiter, _volumeLiterErr := io.ReadInt32(32)
+ if _volumeLiterErr != nil {
+ return nil, errors.New("Error parsing 'volumeLiter' field " + _volumeLiterErr.Error())
+ }
+ _map["Struct"] = volumeLiter
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V32Z8FlowRate": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (flowRate)
+ flowRate, _flowRateErr := io.ReadInt32(32)
+ if _flowRateErr != nil {
+ return nil, errors.New("Error parsing 'flowRate' field " + _flowRateErr.Error())
+ }
+ _map["Struct"] = flowRate
+
+ // Simple Field (statusCommand)
+ statusCommand, _statusCommandErr := io.ReadUint8(8)
+ if _statusCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
+ }
+ _map["Struct"] = statusCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8N8N8N8B8B8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (logNumber)
+ logNumber, _logNumberErr := io.ReadUint8(8)
+ if _logNumberErr != nil {
+ return nil, errors.New("Error parsing 'logNumber' field " + _logNumberErr.Error())
+ }
+ _map["Struct"] = logNumber
+
+ // Simple Field (alarmPriority)
+ alarmPriority, _alarmPriorityErr := io.ReadUint8(8)
+ if _alarmPriorityErr != nil {
+ return nil, errors.New("Error parsing 'alarmPriority' field " + _alarmPriorityErr.Error())
+ }
+ _map["Struct"] = alarmPriority
+
+ // Simple Field (applicationArea)
+ applicationArea, _applicationAreaErr := io.ReadUint8(8)
+ if _applicationAreaErr != nil {
+ return nil, errors.New("Error parsing 'applicationArea' field " + _applicationAreaErr.Error())
+ }
+ _map["Struct"] = applicationArea
+
+ // Simple Field (errorClass)
+ errorClass, _errorClassErr := io.ReadUint8(8)
+ if _errorClassErr != nil {
+ return nil, errors.New("Error parsing 'errorClass' field " + _errorClassErr.Error())
+ }
+ _map["Struct"] = errorClass
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (errorCode_Sup)
+ errorCode_Sup, _errorCode_SupErr := io.ReadBit()
+ if _errorCode_SupErr != nil {
+ return nil, errors.New("Error parsing 'errorCode_Sup' field " + _errorCode_SupErr.Error())
+ }
+ _map["Struct"] = errorCode_Sup
+
+ // Simple Field (alarmText_Sup)
+ alarmText_Sup, _alarmText_SupErr := io.ReadBit()
+ if _alarmText_SupErr != nil {
+ return nil, errors.New("Error parsing 'alarmText_Sup' field " + _alarmText_SupErr.Error())
+ }
+ _map["Struct"] = alarmText_Sup
+
+ // Simple Field (timeStamp_Sup)
+ timeStamp_Sup, _timeStamp_SupErr := io.ReadBit()
+ if _timeStamp_SupErr != nil {
+ return nil, errors.New("Error parsing 'timeStamp_Sup' field " + _timeStamp_SupErr.Error())
+ }
+ _map["Struct"] = timeStamp_Sup
+
+ // Simple Field (ack_Sup)
+ ack_Sup, _ack_SupErr := io.ReadBit()
+ if _ack_SupErr != nil {
+ return nil, errors.New("Error parsing 'ack_Sup' field " + _ack_SupErr.Error())
+ }
+ _map["Struct"] = ack_Sup
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (alarmUnAck)
+ alarmUnAck, _alarmUnAckErr := io.ReadBit()
+ if _alarmUnAckErr != nil {
+ return nil, errors.New("Error parsing 'alarmUnAck' field " + _alarmUnAckErr.Error())
+ }
+ _map["Struct"] = alarmUnAck
+
+ // Simple Field (locked)
+ locked, _lockedErr := io.ReadBit()
+ if _lockedErr != nil {
+ return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
+ }
+ _map["Struct"] = locked
+
+ // Simple Field (inAlarm)
+ inAlarm, _inAlarmErr := io.ReadBit()
+ if _inAlarmErr != nil {
+ return nil, errors.New("Error parsing 'inAlarm' field " + _inAlarmErr.Error())
+ }
+ _map["Struct"] = inAlarm
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16V16": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (delayTime)
+ delayTime, _delayTimeErr := io.ReadUint16(16)
+ if _delayTimeErr != nil {
+ return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
+ }
+ _map["Struct"] = delayTime
+
+ // Simple Field (temperature)
+ temperature, _temperatureErr := io.ReadInt16(16)
+ if _temperatureErr != nil {
+ return nil, errors.New("Error parsing 'temperature' field " + _temperatureErr.Error())
+ }
+ _map["Struct"] = temperature
+ return values.NewPlcStruct(_map), nil
+ case formatName == "N16U32": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (manufacturerCode)
+ manufacturerCode, _manufacturerCodeErr := io.ReadUint16(16)
+ if _manufacturerCodeErr != nil {
+ return nil, errors.New("Error parsing 'manufacturerCode' field " + _manufacturerCodeErr.Error())
+ }
+ _map["Struct"] = manufacturerCode
+
+ // Simple Field (incrementedNumber)
+ incrementedNumber, _incrementedNumberErr := io.ReadUint32(32)
+ if _incrementedNumberErr != nil {
+ return nil, errors.New("Error parsing 'incrementedNumber' field " + _incrementedNumberErr.Error())
+ }
+ _map["Struct"] = incrementedNumber
+ return values.NewPlcStruct(_map), nil
+ case formatName == "F16F16F16": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (temperatureSetpointComfort)
+ temperatureSetpointComfort, _temperatureSetpointComfortErr := io.ReadFloat32(16)
+ if _temperatureSetpointComfortErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointComfort' field " + _temperatureSetpointComfortErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointComfort
+
+ // Simple Field (temperatureSetpointShiftStandby)
+ temperatureSetpointShiftStandby, _temperatureSetpointShiftStandbyErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftStandbyErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftStandby' field " + _temperatureSetpointShiftStandbyErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftStandby
+
+ // Simple Field (temperatureSetpointShiftEco)
+ temperatureSetpointShiftEco, _temperatureSetpointShiftEcoErr := io.ReadFloat32(16)
+ if _temperatureSetpointShiftEcoErr != nil {
+ return nil, errors.New("Error parsing 'temperatureSetpointShiftEco' field " + _temperatureSetpointShiftEcoErr.Error())
+ }
+ _map["Struct"] = temperatureSetpointShiftEco
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V8N8N8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (energyDemand)
+ energyDemand, _energyDemandErr := io.ReadInt8(8)
+ if _energyDemandErr != nil {
+ return nil, errors.New("Error parsing 'energyDemand' field " + _energyDemandErr.Error())
+ }
+ _map["Struct"] = energyDemand
+
+ // Simple Field (hvacControllerMode)
+ hvacControllerMode, _hvacControllerModeErr := io.ReadUint8(8)
+ if _hvacControllerModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacControllerMode' field " + _hvacControllerModeErr.Error())
+ }
+ _map["Struct"] = hvacControllerMode
+
+ // Simple Field (hvacEmergencyMode)
+ hvacEmergencyMode, _hvacEmergencyModeErr := io.ReadUint8(8)
+ if _hvacEmergencyModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacEmergencyMode' field " + _hvacEmergencyModeErr.Error())
+ }
+ _map["Struct"] = hvacEmergencyMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V16V16N8N8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (tempSetpointCooling)
+ tempSetpointCooling, _tempSetpointCoolingErr := io.ReadInt16(16)
+ if _tempSetpointCoolingErr != nil {
+ return nil, errors.New("Error parsing 'tempSetpointCooling' field " + _tempSetpointCoolingErr.Error())
+ }
+ _map["Struct"] = tempSetpointCooling
+
+ // Simple Field (tempSetpointHeating)
+ tempSetpointHeating, _tempSetpointHeatingErr := io.ReadInt16(16)
+ if _tempSetpointHeatingErr != nil {
+ return nil, errors.New("Error parsing 'tempSetpointHeating' field " + _tempSetpointHeatingErr.Error())
+ }
+ _map["Struct"] = tempSetpointHeating
+
+ // Simple Field (hvacControllerMode)
+ hvacControllerMode, _hvacControllerModeErr := io.ReadUint8(8)
+ if _hvacControllerModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacControllerMode' field " + _hvacControllerModeErr.Error())
+ }
+ _map["Struct"] = hvacControllerMode
+
+ // Simple Field (hvacEmergencyMode)
+ hvacEmergencyMode, _hvacEmergencyModeErr := io.ReadUint8(8)
+ if _hvacEmergencyModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacEmergencyMode' field " + _hvacEmergencyModeErr.Error())
+ }
+ _map["Struct"] = hvacEmergencyMode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16U8Scaling": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (timePeriod)
+ timePeriod, _timePeriodErr := io.ReadUint16(16)
+ if _timePeriodErr != nil {
+ return nil, errors.New("Error parsing 'timePeriod' field " + _timePeriodErr.Error())
+ }
+ _map["Struct"] = timePeriod
+
+ // Simple Field (percent)
+ percent, _percentErr := io.ReadUint8(8)
+ if _percentErr != nil {
+ return nil, errors.New("Error parsing 'percent' field " + _percentErr.Error())
+ }
+ _map["Struct"] = percent
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16U8TariffNext": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (delayTime)
+ delayTime, _delayTimeErr := io.ReadUint16(16)
+ if _delayTimeErr != nil {
+ return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
+ }
+ _map["Struct"] = delayTime
+
+ // Simple Field (tariff)
+ tariff, _tariffErr := io.ReadUint8(8)
+ if _tariffErr != nil {
+ return nil, errors.New("Error parsing 'tariff' field " + _tariffErr.Error())
+ }
+ _map["Struct"] = tariff
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V32N8Z8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (countVal)
+ countVal, _countValErr := io.ReadInt32(32)
+ if _countValErr != nil {
+ return nil, errors.New("Error parsing 'countVal' field " + _countValErr.Error())
+ }
+ _map["Struct"] = countVal
+
+ // Simple Field (valInfField)
+ valInfField, _valInfFieldErr := io.ReadUint8(8)
+ if _valInfFieldErr != nil {
+ return nil, errors.New("Error parsing 'valInfField' field " + _valInfFieldErr.Error())
+ }
+ _map["Struct"] = valInfField
+
+ // Simple Field (statusOrCommand)
+ statusOrCommand, _statusOrCommandErr := io.ReadUint8(8)
+ if _statusOrCommandErr != nil {
+ return nil, errors.New("Error parsing 'statusOrCommand' field " + _statusOrCommandErr.Error())
+ }
+ _map["Struct"] = statusOrCommand
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U16U32U8N8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (manufacturerId)
+ manufacturerId, _manufacturerIdErr := io.ReadUint16(16)
+ if _manufacturerIdErr != nil {
+ return nil, errors.New("Error parsing 'manufacturerId' field " + _manufacturerIdErr.Error())
+ }
+ _map["Struct"] = manufacturerId
+
+ // Simple Field (identNumber)
+ identNumber, _identNumberErr := io.ReadUint32(32)
+ if _identNumberErr != nil {
+ return nil, errors.New("Error parsing 'identNumber' field " + _identNumberErr.Error())
+ }
+ _map["Struct"] = identNumber
+
+ // Simple Field (version)
+ version, _versionErr := io.ReadUint8(8)
+ if _versionErr != nil {
+ return nil, errors.New("Error parsing 'version' field " + _versionErr.Error())
+ }
+ _map["Struct"] = version
+
+ // Simple Field (medium)
+ medium, _mediumErr := io.ReadInt8(8)
+ if _mediumErr != nil {
+ return nil, errors.New("Error parsing 'medium' field " + _mediumErr.Error())
+ }
+ _map["Struct"] = medium
+ return values.NewPlcStruct(_map), nil
+ case formatName == "A8A8A8A8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (languageCode)
+ languageCode, _languageCodeErr := io.ReadString(16)
+ if _languageCodeErr != nil {
+ return nil, errors.New("Error parsing 'languageCode' field " + _languageCodeErr.Error())
+ }
+ _map["Struct"] = languageCode
+
+ // Simple Field (regionCode)
+ regionCode, _regionCodeErr := io.ReadString(16)
+ if _regionCodeErr != nil {
+ return nil, errors.New("Error parsing 'regionCode' field " + _regionCodeErr.Error())
+ }
+ _map["Struct"] = regionCode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8U8U8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (red)
+ red, _redErr := io.ReadUint8(8)
+ if _redErr != nil {
+ return nil, errors.New("Error parsing 'red' field " + _redErr.Error())
+ }
+ _map["Struct"] = red
+
+ // Simple Field (green)
+ green, _greenErr := io.ReadUint8(8)
+ if _greenErr != nil {
+ return nil, errors.New("Error parsing 'green' field " + _greenErr.Error())
+ }
+ _map["Struct"] = green
+
+ // Simple Field (blue)
+ blue, _blueErr := io.ReadUint8(8)
+ if _blueErr != nil {
+ return nil, errors.New("Error parsing 'blue' field " + _blueErr.Error())
+ }
+ _map["Struct"] = blue
+ return values.NewPlcStruct(_map), nil
+ case formatName == "A8A8Language": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (languageCode)
+ languageCode, _languageCodeErr := io.ReadString(16)
+ if _languageCodeErr != nil {
+ return nil, errors.New("Error parsing 'languageCode' field " + _languageCodeErr.Error())
+ }
+ _map["Struct"] = languageCode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "A8A8Region": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (regionCode)
+ regionCode, _regionCodeErr := io.ReadString(16)
+ if _regionCodeErr != nil {
+ return nil, errors.New("Error parsing 'regionCode' field " + _regionCodeErr.Error())
+ }
+ _map["Struct"] = regionCode
+ return values.NewPlcStruct(_map), nil
+ case formatName == "V32U8B8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (activeElectricalEnergy)
+ activeElectricalEnergy, _activeElectricalEnergyErr := io.ReadInt32(32)
+ if _activeElectricalEnergyErr != nil {
+ return nil, errors.New("Error parsing 'activeElectricalEnergy' field " + _activeElectricalEnergyErr.Error())
+ }
+ _map["Struct"] = activeElectricalEnergy
+
+ // Simple Field (tariff)
+ tariff, _tariffErr := io.ReadUint8(8)
+ if _tariffErr != nil {
+ return nil, errors.New("Error parsing 'tariff' field " + _tariffErr.Error())
+ }
+ _map["Struct"] = tariff
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (noTariff)
+ noTariff, _noTariffErr := io.ReadBit()
+ if _noTariffErr != nil {
+ return nil, errors.New("Error parsing 'noTariff' field " + _noTariffErr.Error())
+ }
+ _map["Struct"] = noTariff
+
+ // Simple Field (noActiveElectricalEnergy)
+ noActiveElectricalEnergy, _noActiveElectricalEnergyErr := io.ReadBit()
+ if _noActiveElectricalEnergyErr != nil {
+ return nil, errors.New("Error parsing 'noActiveElectricalEnergy' field " + _noActiveElectricalEnergyErr.Error())
+ }
+ _map["Struct"] = noActiveElectricalEnergy
+ return values.NewPlcStruct(_map), nil
+ case formatName == "B1N3N4": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (deactivationOfPriority)
+ deactivationOfPriority, _deactivationOfPriorityErr := io.ReadBit()
+ if _deactivationOfPriorityErr != nil {
+ return nil, errors.New("Error parsing 'deactivationOfPriority' field " + _deactivationOfPriorityErr.Error())
+ }
+ _map["Struct"] = deactivationOfPriority
+
+ // Simple Field (priorityLevel)
+ priorityLevel, _priorityLevelErr := io.ReadUint8(3)
+ if _priorityLevelErr != nil {
+ return nil, errors.New("Error parsing 'priorityLevel' field " + _priorityLevelErr.Error())
+ }
+ _map["Struct"] = priorityLevel
+
+ // Simple Field (modeLevel)
+ modeLevel, _modeLevelErr := io.ReadUint8(4)
+ if _modeLevelErr != nil {
+ return nil, errors.New("Error parsing 'modeLevel' field " + _modeLevelErr.Error())
+ }
+ _map["Struct"] = modeLevel
+ return values.NewPlcStruct(_map), nil
+ case formatName == "B10U6": // Struct
+ _map := map[string]interface{}{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (convertorError)
+ convertorError, _convertorErrorErr := io.ReadBit()
+ if _convertorErrorErr != nil {
+ return nil, errors.New("Error parsing 'convertorError' field " + _convertorErrorErr.Error())
+ }
+ _map["Struct"] = convertorError
+
+ // Simple Field (ballastFailure)
+ ballastFailure, _ballastFailureErr := io.ReadBit()
+ if _ballastFailureErr != nil {
+ return nil, errors.New("Error parsing 'ballastFailure' field " + _ballastFailureErr.Error())
+ }
+ _map["Struct"] = ballastFailure
+
+ // Simple Field (lampError)
+ lampError, _lampErrorErr := io.ReadBit()
+ if _lampErrorErr != nil {
+ return nil, errors.New("Error parsing 'lampError' field " + _lampErrorErr.Error())
+ }
+ _map["Struct"] = lampError
+
+ // Simple Field (read)
+ read, _readErr := io.ReadBit()
+ if _readErr != nil {
+ return nil, errors.New("Error parsing 'read' field " + _readErr.Error())
+ }
+ _map["Struct"] = read
+
+ // Simple Field (groupAddress)
+ groupAddress, _groupAddressErr := io.ReadBit()
+ if _groupAddressErr != nil {
+ return nil, errors.New("Error parsing 'groupAddress' field " + _groupAddressErr.Error())
+ }
+ _map["Struct"] = groupAddress
+
+ // Simple Field (address)
+ address, _addressErr := io.ReadUint8(6)
+ if _addressErr != nil {
+ return nil, errors.New("Error parsing 'address' field " + _addressErr.Error())
+ }
+ _map["Struct"] = address
+ return values.NewPlcStruct(_map), nil
+ case formatName == "B2U6": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (sceneActivationInactive)
+ sceneActivationInactive, _sceneActivationInactiveErr := io.ReadBit()
+ if _sceneActivationInactiveErr != nil {
+ return nil, errors.New("Error parsing 'sceneActivationInactive' field " + _sceneActivationInactiveErr.Error())
+ }
+ _map["Struct"] = sceneActivationInactive
+
+ // Simple Field (storageFunctionDisable)
+ storageFunctionDisable, _storageFunctionDisableErr := io.ReadBit()
+ if _storageFunctionDisableErr != nil {
+ return nil, errors.New("Error parsing 'storageFunctionDisable' field " + _storageFunctionDisableErr.Error())
+ }
+ _map["Struct"] = storageFunctionDisable
+
+ // Simple Field (sceneNumber)
+ sceneNumber, _sceneNumberErr := io.ReadUint8(6)
+ if _sceneNumberErr != nil {
+ return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
+ }
+ _map["Struct"] = sceneNumber
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8r7B1": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (setValue)
+ setValue, _setValueErr := io.ReadUint8(8)
+ if _setValueErr != nil {
+ return nil, errors.New("Error parsing 'setValue' field " + _setValueErr.Error())
+ }
+ _map["Struct"] = setValue
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(7); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (channelActivationActive)
+ channelActivationActive, _channelActivationActiveErr := io.ReadBit()
+ if _channelActivationActiveErr != nil {
+ return nil, errors.New("Error parsing 'channelActivationActive' field " + _channelActivationActiveErr.Error())
+ }
+ _map["Struct"] = channelActivationActive
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8U8B8": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (heightPosition)
+ heightPosition, _heightPositionErr := io.ReadUint8(8)
+ if _heightPositionErr != nil {
+ return nil, errors.New("Error parsing 'heightPosition' field " + _heightPositionErr.Error())
+ }
+ _map["Struct"] = heightPosition
+
+ // Simple Field (slatsPosition)
+ slatsPosition, _slatsPositionErr := io.ReadUint8(8)
+ if _slatsPositionErr != nil {
+ return nil, errors.New("Error parsing 'slatsPosition' field " + _slatsPositionErr.Error())
+ }
+ _map["Struct"] = slatsPosition
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (validSlatsPos)
+ validSlatsPos, _validSlatsPosErr := io.ReadBit()
+ if _validSlatsPosErr != nil {
+ return nil, errors.New("Error parsing 'validSlatsPos' field " + _validSlatsPosErr.Error())
+ }
+ _map["Struct"] = validSlatsPos
+
+ // Simple Field (validHeightPos)
+ validHeightPos, _validHeightPosErr := io.ReadBit()
+ if _validHeightPosErr != nil {
+ return nil, errors.New("Error parsing 'validHeightPos' field " + _validHeightPosErr.Error())
+ }
+ _map["Struct"] = validHeightPos
+ return values.NewPlcStruct(_map), nil
+ case formatName == "U8U8B16": // Struct
+ _map := map[string]interface{}{}
+
+ // Simple Field (heightPosition)
+ heightPosition, _heightPositionErr := io.ReadUint8(8)
+ if _heightPositionErr != nil {
+ return nil, errors.New("Error parsing 'heightPosition' field " + _heightPositionErr.Error())
+ }
+ _map["Struct"] = heightPosition
+
+ // Simple Field (slatsPosition)
+ slatsPosition, _slatsPositionErr := io.ReadUint8(8)
+ if _slatsPositionErr != nil {
+ return nil, errors.New("Error parsing 'slatsPosition' field " + _slatsPositionErr.Error())
+ }
+ _map["Struct"] = slatsPosition
+
+ // Simple Field (validSlatsPos)
+ validSlatsPos, _validSlatsPosErr := io.ReadBit()
+ if _validSlatsPosErr != nil {
+ return nil, errors.New("Error parsing 'validSlatsPos' field " + _validSlatsPosErr.Error())
+ }
+ _map["Struct"] = validSlatsPos
+
+ // Simple Field (validHeightPos)
+ validHeightPos, _validHeightPosErr := io.ReadBit()
+ if _validHeightPosErr != nil {
+ return nil, errors.New("Error parsing 'validHeightPos' field " + _validHeightPosErr.Error())
+ }
+ _map["Struct"] = validHeightPos
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(3); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ failure, _failureErr := io.ReadBit()
+ if _failureErr != nil {
+ return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
+ }
+ _map["Struct"] = failure
+
+ // Simple Field (localOverride)
+ localOverride, _localOverrideErr := io.ReadBit()
+ if _localOverrideErr != nil {
+ return nil, errors.New("Error parsing 'localOverride' field " + _localOverrideErr.Error())
+ }
+ _map["Struct"] = localOverride
+
+ // Simple Field (locked)
+ locked, _lockedErr := io.ReadBit()
+ if _lockedErr != nil {
+ return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
+ }
+ _map["Struct"] = locked
+
+ // Simple Field (forced)
+ forced, _forcedErr := io.ReadBit()
+ if _forcedErr != nil {
+ return nil, errors.New("Error parsing 'forced' field " + _forcedErr.Error())
+ }
+ _map["Struct"] = forced
+
+ // Simple Field (weatherAlarm)
+ weatherAlarm, _weatherAlarmErr := io.ReadBit()
+ if _weatherAlarmErr != nil {
+ return nil, errors.New("Error parsing 'weatherAlarm' field " + _weatherAlarmErr.Error())
+ }
+ _map["Struct"] = weatherAlarm
+
+ // Simple Field (targetSPosRestrict)
+ targetSPosRestrict, _targetSPosRestrictErr := io.ReadBit()
+ if _targetSPosRestrictErr != nil {
+ return nil, errors.New("Error parsing 'targetSPosRestrict' field " + _targetSPosRestrictErr.Error())
+ }
+ _map["Struct"] = targetSPosRestrict
+
+ // Simple Field (targetHPosRestrict)
+ targetHPosRestrict, _targetHPosRestrictErr := io.ReadBit()
+ if _targetHPosRestrictErr != nil {
+ return nil, errors.New("Error parsing 'targetHPosRestrict' field " + _targetHPosRestrictErr.Error())
+ }
+ _map["Struct"] = targetHPosRestrict
+
+ // Simple Field (driveState)
+ driveState, _driveStateErr := io.ReadBit()
+ if _driveStateErr != nil {
+ return nil, errors.New("Error parsing 'driveState' field " + _driveStateErr.Error())
+ }
+ _map["Struct"] = driveState
+
+ // Simple Field (lowerPredefPos)
+ lowerPredefPos, _lowerPredefPosErr := io.ReadBit()
+ if _lowerPredefPosErr != nil {
+ return nil, errors.New("Error parsing 'lowerPredefPos' field " + _lowerPredefPosErr.Error())
+ }
+ _map["Struct"] = lowerPredefPos
+
+ // Simple Field (lowerEndPos)
+ lowerEndPos, _lowerEndPosErr := io.ReadBit()
+ if _lowerEndPosErr != nil {
+ return nil, errors.New("Error parsing 'lowerEndPos' field " + _lowerEndPosErr.Error())
+ }
+ _map["Struct"] = lowerEndPos
+
+ // Simple Field (upperEndPos)
+ upperEndPos, _upperEndPosErr := io.ReadBit()
+ if _upperEndPosErr != nil {
+ return nil, errors.New("Error parsing 'upperEndPos' field " + _upperEndPosErr.Error())
+ }
+ _map["Struct"] = upperEndPos
+ return values.NewPlcStruct(_map), nil
+ }
+ return nil, errors.New("unsupported type")
+}
+
+func KnxDatapoint2Serialize(io *utils.WriteBuffer, value api.PlcValue, formatName string) error {
+ switch {
+ case formatName == "B1": // BOOL
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(7, uint8(0x0)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B2": // Struct
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(6, uint8(0x0)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (control)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'control' field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B1U3": // Struct
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x0)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (control)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'control' field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ if _err := io.WriteUint8(3, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "A8_ASCII": // STRING
+
+ // Simple Field (value)
+ if _err := io.WriteString(8, "ASCII", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "A8_8859_1": // STRING
+
+ // Simple Field (value)
+ if _err := io.WriteString(8, "ISO-8859-1", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "U8": // USINT
+
+ // Simple Field (value)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "V8": // SINT
+
+ // Simple Field (value)
+ if _err := io.WriteInt8(8, value.GetInt8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "F16": // REAL
+
+ // Simple Field (value)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "N3N5r2N6r2N6": // TIME_OF_DAY
+
+ // Simple Field (day)
+ if _err := io.WriteUint8(3, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'day' field " + _err.Error())
+ }
+
+ // Simple Field (hour)
+ if _err := io.WriteUint8(5, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hour' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(2, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (minutes)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'minutes' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(2, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (seconds)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'seconds' field " + _err.Error())
+ }
+ case formatName == "r3N5r4N4r1U7": // DATE
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(3, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (day)
+ if _err := io.WriteUint8(5, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'day' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (month)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'month' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(1, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (year)
+ if _err := io.WriteUint8(7, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'year' field " + _err.Error())
+ }
+ case formatName == "U32": // UDINT
+
+ // Simple Field (value)
+ if _err := io.WriteUint32(32, value.GetUint32()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "V32": // DINT
+
+ // Simple Field (value)
+ if _err := io.WriteInt32(32, value.GetInt32()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "F32": // REAL
+
+ // Simple Field (value)
+ if _err := io.WriteFloat32(32, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "U4U4U4U4U4U4B4N4": // Struct
+
+ // Simple Field (d6)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'd6' field " + _err.Error())
+ }
+
+ // Simple Field (d5)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'd5' field " + _err.Error())
+ }
+
+ // Simple Field (d4)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'd4' field " + _err.Error())
+ }
+
+ // Simple Field (d3)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'd3' field " + _err.Error())
+ }
+
+ // Simple Field (d2)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'd2' field " + _err.Error())
+ }
+
+ // Simple Field (d1)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'd1' field " + _err.Error())
+ }
+
+ // Simple Field (e)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'e' field " + _err.Error())
+ }
+
+ // Simple Field (p)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'p' field " + _err.Error())
+ }
+
+ // Simple Field (d)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'd' field " + _err.Error())
+ }
+
+ // Simple Field (c)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'c' field " + _err.Error())
+ }
+
+ // Simple Field (index)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'index' field " + _err.Error())
+ }
+ case formatName == "A112_ASCII": // STRING
+
+ // Simple Field (value)
+ if _err := io.WriteString(112, "ASCII", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "A112_8859_1": // STRING
+
+ // Simple Field (value)
+ if _err := io.WriteString(112, "ISO-8859-1", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "r2U6": // USINT
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(2, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B1r1U6": // Struct
+
+ // Simple Field (learn)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'learn' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(1, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (sceneNumber)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'sceneNumber' field " + _err.Error())
+ }
+ case formatName == "U8r4U4r3U5U3U5r2U6r2U6B16": // DATE_AND_TIME
+
+ // Simple Field (year)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'year' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (month)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'month' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(3, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (day)
+ if _err := io.WriteUint8(5, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'day' field " + _err.Error())
+ }
+
+ // Simple Field (dayOfWeek)
+ if _err := io.WriteUint8(3, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'dayOfWeek' field " + _err.Error())
+ }
+
+ // Simple Field (hour)
+ if _err := io.WriteUint8(5, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hour' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(2, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (minutes)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'minutes' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(2, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (seconds)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'seconds' field " + _err.Error())
+ }
+
+ // Simple Field (fault)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'fault' field " + _err.Error())
+ }
+
+ // Simple Field (workingDay)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'workingDay' field " + _err.Error())
+ }
+
+ // Simple Field (noWorkingDay)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noWorkingDay' field " + _err.Error())
+ }
+
+ // Simple Field (noYear)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noYear' field " + _err.Error())
+ }
+
+ // Simple Field (noMonthAndDay)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noMonthAndDay' field " + _err.Error())
+ }
+
+ // Simple Field (noDayOfWeek)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noDayOfWeek' field " + _err.Error())
+ }
+
+ // Simple Field (noTime)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noTime' field " + _err.Error())
+ }
+
+ // Simple Field (standardSummerTime)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'standardSummerTime' field " + _err.Error())
+ }
+
+ // Simple Field (clockWithSyncSignal)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'clockWithSyncSignal' field " + _err.Error())
+ }
+ case formatName == "N8": // USINT
+
+ // Simple Field (value)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B8": // BYTE
+
+ // Simple Field (value)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B16": // WORD
+
+ // Simple Field (value)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "U4U4": // Struct
+
+ // Simple Field (busy)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'busy' field " + _err.Error())
+ }
+
+ // Simple Field (nak)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'nak' field " + _err.Error())
+ }
+ case formatName == "r1b1U6": // Struct
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(1, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (sceneActive)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'sceneActive' field " + _err.Error())
+ }
+
+ // Simple Field (sceneNumber)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'sceneNumber' field " + _err.Error())
+ }
+ case formatName == "B32": // DWORD
+
+ // Simple Field (value)
+ if _err := io.WriteUint32(32, value.GetUint32()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "V64": // LINT
+
+ // Simple Field (value)
+ if _err := io.WriteInt64(64, value.GetInt64()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B24": // List
+
+ // Array Field (value)
+ for i := uint32(0); i < uint32((24)); i++ {
+ _itemErr := io.WriteBit(value.GetIndex(i).GetBool())
+ if _itemErr != nil {
+ return errors.New("Error serializing 'value' field " + _itemErr.Error())
+ }
+ }
+ case formatName == "N3": // USINT
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(5, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (value)
+ if _err := io.WriteUint8(3, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'value' field " + _err.Error())
+ }
+ case formatName == "B1Z8HeatingOrCoolingZ": // Struct
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(7, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (heating)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'heating' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "B1Z8BinaryValueZ": // Struct
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(7, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (high)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'high' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8HvacOperatingMode": // Struct
+
+ // Simple Field (hvacOperatingMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacOperatingMode' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8DhwMode": // Struct
+
+ // Simple Field (dhwMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'dhwMode' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8HvacControllingMode": // Struct
+
+ // Simple Field (hvacControllingMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacControllingMode' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8EnableHeatingOrCoolingStage": // Struct
+
+ // Simple Field (enableHeatingOrCoolingStage)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'enableHeatingOrCoolingStage' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8BuildingMode": // Struct
+
+ // Simple Field (buildingMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'buildingMode' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8OccupancyMode": // Struct
+
+ // Simple Field (occupancyMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'occupancyMode' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "N8Z8EmergencyMode": // Struct
+
+ // Simple Field (hvacEmergencyMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacEmergencyMode' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U8Z8Rel": // Struct
+
+ // Simple Field (relValue)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relValue' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U8Z8Counter": // Struct
+
+ // Simple Field (counterValue)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'counterValue' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8TimePeriod": // Struct
+
+ // Simple Field (timePeriod)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'timePeriod' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8FlowRate": // Struct
+
+ // Simple Field (flowRate)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'flowRate' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8Counter": // Struct
+
+ // Simple Field (counterValue)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'counterValue' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8ElectricCurrent": // Struct
+
+ // Simple Field (electricalCurrent)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'electricalCurrent' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8Power": // Struct
+
+ // Simple Field (power)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'power' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8AtmPressure": // Struct
+
+ // Simple Field (atmPressure)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'atmPressure' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8PercentValue": // Struct
+
+ // Simple Field (percentValue)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'percentValue' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8HvacAirQuality": // Struct
+
+ // Simple Field (ppmResolution)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'ppmResolution' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8WindSpeed": // Struct
+
+ // Simple Field (windSpeed)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'windSpeed' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8SunIntensity": // Struct
+
+ // Simple Field (sunIntensity)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'sunIntensity' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16Z8HvacAirFlow": // Struct
+
+ // Simple Field (airFlow)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'airFlow' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "V8Z8RelSignedValue": // Struct
+
+ // Simple Field (relSignedValue)
+ if _err := io.WriteInt8(8, value.GetInt8()); _err != nil {
+ return errors.New("Error serializing 'relSignedValue' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "V16Z8DeltaTime": // Struct
+
+ // Simple Field (deltaTime)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'deltaTime' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "V16Z8RelSignedValue": // Struct
+
+ // Simple Field (relSignedValue)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'relSignedValue' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U16N8HvacModeAndTimeDelay": // Struct
+
+ // Simple Field (delayTime)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'delayTime' field " + _err.Error())
+ }
+
+ // Simple Field (hvacMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacMode' field " + _err.Error())
+ }
+ case formatName == "U16N8DhwModeAndTimeDelay": // Struct
+
+ // Simple Field (delayTime)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'delayTime' field " + _err.Error())
+ }
+
+ // Simple Field (dhwMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'dhwMode' field " + _err.Error())
+ }
+ case formatName == "U16N8OccupancyModeAndTimeDelay": // Struct
+
+ // Simple Field (delayTime)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'delayTime' field " + _err.Error())
+ }
+
+ // Simple Field (occupationMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'occupationMode' field " + _err.Error())
+ }
+ case formatName == "U16N8BuildingModeAndTimeDelay": // Struct
+
+ // Simple Field (delayTime)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'delayTime' field " + _err.Error())
+ }
+
+ // Simple Field (buildingMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'buildingMode' field " + _err.Error())
+ }
+ case formatName == "U8B8StatusBurnerController": // Struct
+
+ // Simple Field (actualRelativePower)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'actualRelativePower' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (stage2Active)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage2Active' field " + _err.Error())
+ }
+
+ // Simple Field (stage1Active)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage1Active' field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+
+ // Simple Field (actualRelativePowerValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'actualRelativePowerValid' field " + _err.Error())
+ }
+ case formatName == "U8B8LockingSignal": // Struct
+
+ // Simple Field (requestedPowerReduction)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'requestedPowerReduction' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(6, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (critical)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'critical' field " + _err.Error())
+ }
+
+ // Simple Field (requestedPowerReductionValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'requestedPowerReductionValid' field " + _err.Error())
+ }
+ case formatName == "U8B8BoilerControllerDemandSignal": // Struct
+
+ // Simple Field (relativeDemand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relativeDemand' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(6, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (controlsOperationStage2)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'controlsOperationStage2' field " + _err.Error())
+ }
+
+ // Simple Field (controlsOperationStage1)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'controlsOperationStage1' field " + _err.Error())
+ }
+ case formatName == "U8B8ActuatorPositionDemand": // Struct
+
+ // Simple Field (actuatorPositionDemand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'actuatorPositionDemand' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (emergencyDemand)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'emergencyDemand' field " + _err.Error())
+ }
+
+ // Simple Field (shiftLoadPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'shiftLoadPriority' field " + _err.Error())
+ }
+
+ // Simple Field (absoluteLoadPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'absoluteLoadPriority' field " + _err.Error())
+ }
+
+ // Simple Field (actuatorPositionDemandValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'actuatorPositionDemandValid' field " + _err.Error())
+ }
+ case formatName == "U8B8ActuatorPositionStatus": // Struct
+
+ // Simple Field (actualActuatorPosition)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'actualActuatorPosition' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(3, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (synchronizationMode)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'synchronizationMode' field " + _err.Error())
+ }
+
+ // Simple Field (valveKick)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'valveKick' field " + _err.Error())
+ }
+
+ // Simple Field (callibrationMode)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'callibrationMode' field " + _err.Error())
+ }
+
+ // Simple Field (positionManuallyOverridden)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'positionManuallyOverridden' field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+ case formatName == "U8B8StatusLightingActuator": // Struct
+
+ // Simple Field (lightingLevel)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'lightingLevel' field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+
+ // Simple Field (localOverride)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'localOverride' field " + _err.Error())
+ }
+
+ // Simple Field (dimming)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'dimming' field " + _err.Error())
+ }
+
+ // Simple Field (staircaseLightingFunction)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'staircaseLightingFunction' field " + _err.Error())
+ }
+
+ // Simple Field (nightMode)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'nightMode' field " + _err.Error())
+ }
+
+ // Simple Field (forced)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'forced' field " + _err.Error())
+ }
+
+ // Simple Field (locked)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'locked' field " + _err.Error())
+ }
+
+ // Simple Field (lightingLevelValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'lightingLevelValid' field " + _err.Error())
+ }
+ case formatName == "V16B8HeatProducerManagerStatus": // Struct
+
+ // Simple Field (tempFlowProdSegmH)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'tempFlowProdSegmH' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(3, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (temporarilyOff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'temporarilyOff' field " + _err.Error())
+ }
+
+ // Simple Field (permanentlyOff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'permanentlyOff' field " + _err.Error())
+ }
+
+ // Simple Field (switchedOffSummerMode)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'switchedOffSummerMode' field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+
+ // Simple Field (tempFlowProdSegmHValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'tempFlowProdSegmHValid' field " + _err.Error())
+ }
+ case formatName == "V16B8RoomTemperatureDemand": // Struct
+
+ // Simple Field (roomTemperatureDemand)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'roomTemperatureDemand' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (emergencyDemand)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'emergencyDemand' field " + _err.Error())
+ }
+
+ // Simple Field (shiftLoadPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'shiftLoadPriority' field " + _err.Error())
+ }
+
+ // Simple Field (absoluteLoadPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'absoluteLoadPriority' field " + _err.Error())
+ }
+
+ // Simple Field (roomTemperatureDemandValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'roomTemperatureDemandValid' field " + _err.Error())
+ }
+ case formatName == "V16B8ColdWaterProducerManagerStatus": // Struct
+
+ // Simple Field (flowTemperatureProdSegmC)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureProdSegmC' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (temporarilyOff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'temporarilyOff' field " + _err.Error())
+ }
+
+ // Simple Field (permanentlyOff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'permanentlyOff' field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+
+ // Simple Field (flowTemperatureProdSegmCValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureProdSegmCValid' field " + _err.Error())
+ }
+ case formatName == "V16B8WaterTemperatureControllerStatus": // Struct
+
+ // Simple Field (actualTemperature)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'actualTemperature' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(5, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (controllerWorking)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'controllerWorking' field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+
+ // Simple Field (actualTemperatureValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'actualTemperatureValid' field " + _err.Error())
+ }
+ case formatName == "V16B16": // Struct
+
+ // Simple Field (flowTemperatureDemand)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureDemand' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (demandFromDhwWhileLegionellaFunctionIsActive)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'demandFromDhwWhileLegionellaFunctionIsActive' field " + _err.Error())
+ }
+
+ // Simple Field (emergencyDemandForFrostProtection)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'emergencyDemandForFrostProtection' field " + _err.Error())
+ }
+
+ // Simple Field (requestForWaterCirculationInPrimaryDistributionSegment)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'requestForWaterCirculationInPrimaryDistributionSegment' field " + _err.Error())
+ }
+
+ // Simple Field (demandFromAuxillaryHeatOrCoolConsumer)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'demandFromAuxillaryHeatOrCoolConsumer' field " + _err.Error())
+ }
+
+ // Simple Field (demandFromVentilation)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'demandFromVentilation' field " + _err.Error())
+ }
+
+ // Simple Field (demandForRoomHeatingOrCooling)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'demandForRoomHeatingOrCooling' field " + _err.Error())
+ }
+
+ // Simple Field (heatDemandFromDhw)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'heatDemandFromDhw' field " + _err.Error())
+ }
+
+ // Simple Field (flowTemperatureDemandIsMin)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureDemandIsMin' field " + _err.Error())
+ }
+
+ // Simple Field (flowTemperatureDemandIsMax)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureDemandIsMax' field " + _err.Error())
+ }
+
+ // Simple Field (shiftLoadPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'shiftLoadPriority' field " + _err.Error())
+ }
+
+ // Simple Field (absoluteLoadPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'absoluteLoadPriority' field " + _err.Error())
+ }
+
+ // Simple Field (flowTemperatureDemandValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureDemandValid' field " + _err.Error())
+ }
+ case formatName == "U8N8": // Struct
+
+ // Simple Field (energyDemand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'energyDemand' field " + _err.Error())
+ }
+
+ // Simple Field (actualControllerMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'actualControllerMode' field " + _err.Error())
+ }
+ case formatName == "V16V16V16RoomTemperature": // Struct
+
+ // Simple Field (temperatureSetpointComfort)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointComfort' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointStandby)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointStandby' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointEco)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointEco' field " + _err.Error())
+ }
+ case formatName == "V16V16V16RoomTemperatureShift": // Struct
+
+ // Simple Field (temperatureSetpointShiftComfort)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftComfort' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftStandby)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftStandby' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftEco)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftEco' field " + _err.Error())
+ }
+ case formatName == "V16V16V16V16RoomTemperature": // Struct
+
+ // Simple Field (temperatureSetpointComfort)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointComfort' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointStandby)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointStandby' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointEco)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointEco' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointBProt)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointBProt' field " + _err.Error())
+ }
+ case formatName == "V16V16V16V16DhwtTemperature": // Struct
+
+ // Simple Field (temperatureSetpointLegioProtect)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointLegioProtect' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointNormal)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointNormal' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointReduced)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointReduced' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointFrostProtect)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointFrostProtect' field " + _err.Error())
+ }
+ case formatName == "V16V16V16V16RoomTemperatureShift": // Struct
+
+ // Simple Field (temperatureSetpointShiftComfort)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftComfort' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftStandby)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftStandby' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftEco)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftEco' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftBProt)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftBProt' field " + _err.Error())
+ }
+ case formatName == "V16U8B8Heat": // Struct
+
+ // Simple Field (flowTemperatureDemand)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureDemand' field " + _err.Error())
+ }
+
+ // Simple Field (relativePower)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relativePower' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(2, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (boilerEnabled)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'boilerEnabled' field " + _err.Error())
+ }
+
+ // Simple Field (stage2Forced)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage2Forced' field " + _err.Error())
+ }
+
+ // Simple Field (stage2Enabled)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage2Enabled' field " + _err.Error())
+ }
+
+ // Simple Field (stage1Forced)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage1Forced' field " + _err.Error())
+ }
+
+ // Simple Field (stage1Enabled)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage1Enabled' field " + _err.Error())
+ }
+
+ // Simple Field (flowTemperatureDemandValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'flowTemperatureDemandValid' field " + _err.Error())
+ }
+ case formatName == "V16U8B8ChilledWater": // Struct
+
+ // Simple Field (chilledWaterFlowTemperatureDemand)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'chilledWaterFlowTemperatureDemand' field " + _err.Error())
+ }
+
+ // Simple Field (relativePower)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relativePower' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(5, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (chilledWaterPumpEnabled)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'chilledWaterPumpEnabled' field " + _err.Error())
+ }
+
+ // Simple Field (relativePowerValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'relativePowerValid' field " + _err.Error())
+ }
+
+ // Simple Field (chilledWaterFlowTemperatureDemandValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'chilledWaterFlowTemperatureDemandValid' field " + _err.Error())
+ }
+ case formatName == "V16U8B16Boiler": // Struct
+
+ // Simple Field (tempBoiler)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'tempBoiler' field " + _err.Error())
+ }
+
+ // Simple Field (relativePower)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relativePower' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (chimneySweepFunctionActive)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'chimneySweepFunctionActive' field " + _err.Error())
+ }
+
+ // Simple Field (reducedAvailability)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'reducedAvailability' field " + _err.Error())
+ }
+
+ // Simple Field (powerLimitBoilerReached)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'powerLimitBoilerReached' field " + _err.Error())
+ }
+
+ // Simple Field (powerLimitStage1Reached)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'powerLimitStage1Reached' field " + _err.Error())
+ }
+
+ // Simple Field (stage2Enabled)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage2Enabled' field " + _err.Error())
+ }
+
+ // Simple Field (stage1Enabled)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'stage1Enabled' field " + _err.Error())
+ }
+
+ // Simple Field (boilerTemporarilyNotProvidingHeat)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'boilerTemporarilyNotProvidingHeat' field " + _err.Error())
+ }
+
+ // Simple Field (permanentlyOff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'permanentlyOff' field " + _err.Error())
+ }
+
+ // Simple Field (boilerSwitchedOffWinterSummerMode)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'boilerSwitchedOffWinterSummerMode' field " + _err.Error())
+ }
+
+ // Simple Field (boilerFailure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'boilerFailure' field " + _err.Error())
+ }
+
+ // Simple Field (relativePowerValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'relativePowerValid' field " + _err.Error())
+ }
+
+ // Simple Field (tempBoilerValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'tempBoilerValid' field " + _err.Error())
+ }
+ case formatName == "V16U8B16Chiller": // Struct
+
+ // Simple Field (tempChiller)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'tempChiller' field " + _err.Error())
+ }
+
+ // Simple Field (relativePower)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relativePower' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(8, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (reducedAvailability)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'reducedAvailability' field " + _err.Error())
+ }
+
+ // Simple Field (powerLimitChillerReached)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'powerLimitChillerReached' field " + _err.Error())
+ }
+
+ // Simple Field (powerLimitCurrentStageReached)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'powerLimitCurrentStageReached' field " + _err.Error())
+ }
+
+ // Simple Field (permanentlyOff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'permanentlyOff' field " + _err.Error())
+ }
+
+ // Simple Field (chillerFailure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'chillerFailure' field " + _err.Error())
+ }
+
+ // Simple Field (chillerRunningStatus)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'chillerRunningStatus' field " + _err.Error())
+ }
+
+ // Simple Field (relativePowerValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'relativePowerValid' field " + _err.Error())
+ }
+
+ // Simple Field (tempChillerValid)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'tempChillerValid' field " + _err.Error())
+ }
+ case formatName == "U16U8N8B8": // Struct
+
+ // Simple Field (nominalPower)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'nominalPower' field " + _err.Error())
+ }
+
+ // Simple Field (relativePowerLimit)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'relativePowerLimit' field " + _err.Error())
+ }
+
+ // Simple Field (burnerType)
+ if _err := io.WriteInt8(8, value.GetInt8()); _err != nil {
+ return errors.New("Error serializing 'burnerType' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(5, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (solidState)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'solidState' field " + _err.Error())
+ }
+
+ // Simple Field (gas)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'gas' field " + _err.Error())
+ }
+
+ // Simple Field (oil)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'oil' field " + _err.Error())
+ }
+ case formatName == "U5U5U6": // Struct
+
+ // Simple Field (magicNumber)
+ if _err := io.WriteUint8(5, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'magicNumber' field " + _err.Error())
+ }
+
+ // Simple Field (versionNumber)
+ if _err := io.WriteUint8(5, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'versionNumber' field " + _err.Error())
+ }
+
+ // Simple Field (revisionNumber)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'revisionNumber' field " + _err.Error())
+ }
+ case formatName == "V32Z8VolumeLiter": // Struct
+
+ // Simple Field (volumeLiter)
+ if _err := io.WriteInt32(32, value.GetInt32()); _err != nil {
+ return errors.New("Error serializing 'volumeLiter' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "V32Z8FlowRate": // Struct
+
+ // Simple Field (flowRate)
+ if _err := io.WriteInt32(32, value.GetInt32()); _err != nil {
+ return errors.New("Error serializing 'flowRate' field " + _err.Error())
+ }
+
+ // Simple Field (statusCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusCommand' field " + _err.Error())
+ }
+ case formatName == "U8N8N8N8B8B8": // Struct
+
+ // Simple Field (logNumber)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'logNumber' field " + _err.Error())
+ }
+
+ // Simple Field (alarmPriority)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'alarmPriority' field " + _err.Error())
+ }
+
+ // Simple Field (applicationArea)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'applicationArea' field " + _err.Error())
+ }
+
+ // Simple Field (errorClass)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'errorClass' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(4, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (errorCode_Sup)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'errorCode_Sup' field " + _err.Error())
+ }
+
+ // Simple Field (alarmText_Sup)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'alarmText_Sup' field " + _err.Error())
+ }
+
+ // Simple Field (timeStamp_Sup)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'timeStamp_Sup' field " + _err.Error())
+ }
+
+ // Simple Field (ack_Sup)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'ack_Sup' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(5, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (alarmUnAck)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'alarmUnAck' field " + _err.Error())
+ }
+
+ // Simple Field (locked)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'locked' field " + _err.Error())
+ }
+
+ // Simple Field (inAlarm)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'inAlarm' field " + _err.Error())
+ }
+ case formatName == "U16V16": // Struct
+
+ // Simple Field (delayTime)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'delayTime' field " + _err.Error())
+ }
+
+ // Simple Field (temperature)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'temperature' field " + _err.Error())
+ }
+ case formatName == "N16U32": // Struct
+
+ // Simple Field (manufacturerCode)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'manufacturerCode' field " + _err.Error())
+ }
+
+ // Simple Field (incrementedNumber)
+ if _err := io.WriteUint32(32, value.GetUint32()); _err != nil {
+ return errors.New("Error serializing 'incrementedNumber' field " + _err.Error())
+ }
+ case formatName == "F16F16F16": // Struct
+
+ // Simple Field (temperatureSetpointComfort)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointComfort' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftStandby)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftStandby' field " + _err.Error())
+ }
+
+ // Simple Field (temperatureSetpointShiftEco)
+ if _err := io.WriteFloat32(16, value.GetFloat32()); _err != nil {
+ return errors.New("Error serializing 'temperatureSetpointShiftEco' field " + _err.Error())
+ }
+ case formatName == "V8N8N8": // Struct
+
+ // Simple Field (energyDemand)
+ if _err := io.WriteInt8(8, value.GetInt8()); _err != nil {
+ return errors.New("Error serializing 'energyDemand' field " + _err.Error())
+ }
+
+ // Simple Field (hvacControllerMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacControllerMode' field " + _err.Error())
+ }
+
+ // Simple Field (hvacEmergencyMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacEmergencyMode' field " + _err.Error())
+ }
+ case formatName == "V16V16N8N8": // Struct
+
+ // Simple Field (tempSetpointCooling)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'tempSetpointCooling' field " + _err.Error())
+ }
+
+ // Simple Field (tempSetpointHeating)
+ if _err := io.WriteInt16(16, value.GetInt16()); _err != nil {
+ return errors.New("Error serializing 'tempSetpointHeating' field " + _err.Error())
+ }
+
+ // Simple Field (hvacControllerMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacControllerMode' field " + _err.Error())
+ }
+
+ // Simple Field (hvacEmergencyMode)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'hvacEmergencyMode' field " + _err.Error())
+ }
+ case formatName == "U16U8Scaling": // Struct
+
+ // Simple Field (timePeriod)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'timePeriod' field " + _err.Error())
+ }
+
+ // Simple Field (percent)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'percent' field " + _err.Error())
+ }
+ case formatName == "U16U8TariffNext": // Struct
+
+ // Simple Field (delayTime)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'delayTime' field " + _err.Error())
+ }
+
+ // Simple Field (tariff)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'tariff' field " + _err.Error())
+ }
+ case formatName == "V32N8Z8": // Struct
+
+ // Simple Field (countVal)
+ if _err := io.WriteInt32(32, value.GetInt32()); _err != nil {
+ return errors.New("Error serializing 'countVal' field " + _err.Error())
+ }
+
+ // Simple Field (valInfField)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'valInfField' field " + _err.Error())
+ }
+
+ // Simple Field (statusOrCommand)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'statusOrCommand' field " + _err.Error())
+ }
+ case formatName == "U16U32U8N8": // Struct
+
+ // Simple Field (manufacturerId)
+ if _err := io.WriteUint16(16, value.GetUint16()); _err != nil {
+ return errors.New("Error serializing 'manufacturerId' field " + _err.Error())
+ }
+
+ // Simple Field (identNumber)
+ if _err := io.WriteUint32(32, value.GetUint32()); _err != nil {
+ return errors.New("Error serializing 'identNumber' field " + _err.Error())
+ }
+
+ // Simple Field (version)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'version' field " + _err.Error())
+ }
+
+ // Simple Field (medium)
+ if _err := io.WriteInt8(8, value.GetInt8()); _err != nil {
+ return errors.New("Error serializing 'medium' field " + _err.Error())
+ }
+ case formatName == "A8A8A8A8": // Struct
+
+ // Simple Field (languageCode)
+ if _err := io.WriteString(16, "ASCII", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'languageCode' field " + _err.Error())
+ }
+
+ // Simple Field (regionCode)
+ if _err := io.WriteString(16, "ASCII", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'regionCode' field " + _err.Error())
+ }
+ case formatName == "U8U8U8": // Struct
+
+ // Simple Field (red)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'red' field " + _err.Error())
+ }
+
+ // Simple Field (green)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'green' field " + _err.Error())
+ }
+
+ // Simple Field (blue)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'blue' field " + _err.Error())
+ }
+ case formatName == "A8A8Language": // Struct
+
+ // Simple Field (languageCode)
+ if _err := io.WriteString(16, "ASCII", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'languageCode' field " + _err.Error())
+ }
+ case formatName == "A8A8Region": // Struct
+
+ // Simple Field (regionCode)
+ if _err := io.WriteString(16, "ASCII", value.GetString()); _err != nil {
+ return errors.New("Error serializing 'regionCode' field " + _err.Error())
+ }
+ case formatName == "V32U8B8": // Struct
+
+ // Simple Field (activeElectricalEnergy)
+ if _err := io.WriteInt32(32, value.GetInt32()); _err != nil {
+ return errors.New("Error serializing 'activeElectricalEnergy' field " + _err.Error())
+ }
+
+ // Simple Field (tariff)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'tariff' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(6, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (noTariff)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noTariff' field " + _err.Error())
+ }
+
+ // Simple Field (noActiveElectricalEnergy)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'noActiveElectricalEnergy' field " + _err.Error())
+ }
+ case formatName == "B1N3N4": // Struct
+
+ // Simple Field (deactivationOfPriority)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'deactivationOfPriority' field " + _err.Error())
+ }
+
+ // Simple Field (priorityLevel)
+ if _err := io.WriteUint8(3, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'priorityLevel' field " + _err.Error())
+ }
+
+ // Simple Field (modeLevel)
+ if _err := io.WriteUint8(4, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'modeLevel' field " + _err.Error())
+ }
+ case formatName == "B10U6": // Struct
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(5, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (convertorError)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'convertorError' field " + _err.Error())
+ }
+
+ // Simple Field (ballastFailure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'ballastFailure' field " + _err.Error())
+ }
+
+ // Simple Field (lampError)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'lampError' field " + _err.Error())
+ }
+
+ // Simple Field (read)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'read' field " + _err.Error())
+ }
+
+ // Simple Field (groupAddress)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'groupAddress' field " + _err.Error())
+ }
+
+ // Simple Field (address)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'address' field " + _err.Error())
+ }
+ case formatName == "B2U6": // Struct
+
+ // Simple Field (sceneActivationInactive)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'sceneActivationInactive' field " + _err.Error())
+ }
+
+ // Simple Field (storageFunctionDisable)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'storageFunctionDisable' field " + _err.Error())
+ }
+
+ // Simple Field (sceneNumber)
+ if _err := io.WriteUint8(6, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'sceneNumber' field " + _err.Error())
+ }
+ case formatName == "U8r7B1": // Struct
+
+ // Simple Field (setValue)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'setValue' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(7, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (channelActivationActive)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'channelActivationActive' field " + _err.Error())
+ }
+ case formatName == "U8U8B8": // Struct
+
+ // Simple Field (heightPosition)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'heightPosition' field " + _err.Error())
+ }
+
+ // Simple Field (slatsPosition)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'slatsPosition' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(6, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (validSlatsPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'validSlatsPos' field " + _err.Error())
+ }
+
+ // Simple Field (validHeightPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'validHeightPos' field " + _err.Error())
+ }
+ case formatName == "U8U8B16": // Struct
+
+ // Simple Field (heightPosition)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'heightPosition' field " + _err.Error())
+ }
+
+ // Simple Field (slatsPosition)
+ if _err := io.WriteUint8(8, value.GetUint8()); _err != nil {
+ return errors.New("Error serializing 'slatsPosition' field " + _err.Error())
+ }
+
+ // Simple Field (validSlatsPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'validSlatsPos' field " + _err.Error())
+ }
+
+ // Simple Field (validHeightPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'validHeightPos' field " + _err.Error())
+ }
+
+ // Reserved Field (Just skip the bytes)
+ if _err := io.WriteUint8(3, uint8(0x00)); _err != nil {
+ return errors.New("Error serializing reserved field " + _err.Error())
+ }
+
+ // Simple Field (failure)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'failure' field " + _err.Error())
+ }
+
+ // Simple Field (localOverride)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'localOverride' field " + _err.Error())
+ }
+
+ // Simple Field (locked)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'locked' field " + _err.Error())
+ }
+
+ // Simple Field (forced)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'forced' field " + _err.Error())
+ }
+
+ // Simple Field (weatherAlarm)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'weatherAlarm' field " + _err.Error())
+ }
+
+ // Simple Field (targetSPosRestrict)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'targetSPosRestrict' field " + _err.Error())
+ }
+
+ // Simple Field (targetHPosRestrict)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'targetHPosRestrict' field " + _err.Error())
+ }
+
+ // Simple Field (driveState)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'driveState' field " + _err.Error())
+ }
+
+ // Simple Field (lowerPredefPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'lowerPredefPos' field " + _err.Error())
+ }
+
+ // Simple Field (lowerEndPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'lowerEndPos' field " + _err.Error())
+ }
+
+ // Simple Field (upperEndPos)
+ if _err := io.WriteBit(value.GetBool()); _err != nil {
+ return errors.New("Error serializing 'upperEndPos' field " + _err.Error())
+ }
+ default:
+
+ return errors.New("unsupported type")
+ }
+ return nil
+}
+
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapointTypes.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapointTypes.go
new file mode 100644
index 0000000..fc148d6
--- /dev/null
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapointTypes.go
@@ -0,0 +1,4379 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+package model
+
+import (
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/spi"
+ "plc4x.apache.org/plc4go-modbus-driver/v0/internal/plc4go/utils"
+)
+
+type KnxDatapointTypes string
+
+type IKnxDatapointTypes interface {
+ spi.Message
+ FormatName() string
+ MainNumber() uint16
+ SubNumber() uint16
+ Serialize(io utils.WriteBuffer) error
+}
+
+const(
+ KnxDatapointTypes_DPT_Switch KnxDatapointTypes = "DPT_Switch"
+ KnxDatapointTypes_DPT_Bool KnxDatapointTypes = "DPT_Bool"
+ KnxDatapointTypes_DPT_Enable KnxDatapointTypes = "DPT_Enable"
+ KnxDatapointTypes_DPT_Ramp KnxDatapointTypes = "DPT_Ramp"
+ KnxDatapointTypes_DPT_Alarm KnxDatapointTypes = "DPT_Alarm"
+ KnxDatapointTypes_DPT_BinaryValue KnxDatapointTypes = "DPT_BinaryValue"
+ KnxDatapointTypes_DPT_Step KnxDatapointTypes = "DPT_Step"
+ KnxDatapointTypes_DPT_UpDown KnxDatapointTypes = "DPT_UpDown"
+ KnxDatapointTypes_DPT_OpenClose KnxDatapointTypes = "DPT_OpenClose"
+ KnxDatapointTypes_DPT_Start KnxDatapointTypes = "DPT_Start"
+ KnxDatapointTypes_DPT_State KnxDatapointTypes = "DPT_State"
+ KnxDatapointTypes_DPT_Invert KnxDatapointTypes = "DPT_Invert"
+ KnxDatapointTypes_DPT_DimSendStyle KnxDatapointTypes = "DPT_DimSendStyle"
+ KnxDatapointTypes_DPT_InputSource KnxDatapointTypes = "DPT_InputSource"
+ KnxDatapointTypes_DPT_Reset KnxDatapointTypes = "DPT_Reset"
+ KnxDatapointTypes_DPT_Ack KnxDatapointTypes = "DPT_Ack"
+ KnxDatapointTypes_DPT_Trigger KnxDatapointTypes = "DPT_Trigger"
+ KnxDatapointTypes_DPT_Occupancy KnxDatapointTypes = "DPT_Occupancy"
+ KnxDatapointTypes_DPT_Window_Door KnxDatapointTypes = "DPT_Window_Door"
+ KnxDatapointTypes_DPT_LogicalFunction KnxDatapointTypes = "DPT_LogicalFunction"
+ KnxDatapointTypes_DPT_Scene_AB KnxDatapointTypes = "DPT_Scene_AB"
+ KnxDatapointTypes_DPT_ShutterBlinds_Mode KnxDatapointTypes = "DPT_ShutterBlinds_Mode"
+ KnxDatapointTypes_DPT_Heat_Cool KnxDatapointTypes = "DPT_Heat_Cool"
+ KnxDatapointTypes_DPT_Switch_Control KnxDatapointTypes = "DPT_Switch_Control"
+ KnxDatapointTypes_DPT_Bool_Control KnxDatapointTypes = "DPT_Bool_Control"
+ KnxDatapointTypes_DPT_Enable_Control KnxDatapointTypes = "DPT_Enable_Control"
+ KnxDatapointTypes_DPT_Ramp_Control KnxDatapointTypes = "DPT_Ramp_Control"
+ KnxDatapointTypes_DPT_Alarm_Control KnxDatapointTypes = "DPT_Alarm_Control"
+ KnxDatapointTypes_DPT_BinaryValue_Control KnxDatapointTypes = "DPT_BinaryValue_Control"
+ KnxDatapointTypes_DPT_Step_Control KnxDatapointTypes = "DPT_Step_Control"
+ KnxDatapointTypes_DPT_Direction1_Control KnxDatapointTypes = "DPT_Direction1_Control"
+ KnxDatapointTypes_DPT_Direction2_Control KnxDatapointTypes = "DPT_Direction2_Control"
+ KnxDatapointTypes_DPT_Start_Control KnxDatapointTypes = "DPT_Start_Control"
+ KnxDatapointTypes_DPT_State_Control KnxDatapointTypes = "DPT_State_Control"
+ KnxDatapointTypes_DPT_Invert_Control KnxDatapointTypes = "DPT_Invert_Control"
+ KnxDatapointTypes_DPT_Control_Dimming KnxDatapointTypes = "DPT_Control_Dimming"
+ KnxDatapointTypes_DPT_Control_Blinds KnxDatapointTypes = "DPT_Control_Blinds"
+ KnxDatapointTypes_DPT_Char_ASCII KnxDatapointTypes = "DPT_Char_ASCII"
+ KnxDatapointTypes_DPT_Char_8859_1 KnxDatapointTypes = "DPT_Char_8859_1"
+ KnxDatapointTypes_DPT_Scaling KnxDatapointTypes = "DPT_Scaling"
+ KnxDatapointTypes_DPT_Angle KnxDatapointTypes = "DPT_Angle"
+ KnxDatapointTypes_DPT_Percent_U8 KnxDatapointTypes = "DPT_Percent_U8"
+ KnxDatapointTypes_DPT_DecimalFactor KnxDatapointTypes = "DPT_DecimalFactor"
+ KnxDatapointTypes_DPT_Tariff KnxDatapointTypes = "DPT_Tariff"
+ KnxDatapointTypes_DPT_Value_1_Ucount KnxDatapointTypes = "DPT_Value_1_Ucount"
+ KnxDatapointTypes_DPT_Percent_V8 KnxDatapointTypes = "DPT_Percent_V8"
+ KnxDatapointTypes_DPT_Value_1_Count KnxDatapointTypes = "DPT_Value_1_Count"
+ KnxDatapointTypes_DPT_Status_Mode3 KnxDatapointTypes = "DPT_Status_Mode3"
+ KnxDatapointTypes_DPT_Value_2_Ucount KnxDatapointTypes = "DPT_Value_2_Ucount"
+ KnxDatapointTypes_DPT_TimePeriodMsec KnxDatapointTypes = "DPT_TimePeriodMsec"
+ KnxDatapointTypes_DPT_TimePeriod10MSec KnxDatapointTypes = "DPT_TimePeriod10MSec"
+ KnxDatapointTypes_DPT_TimePeriod100MSec KnxDatapointTypes = "DPT_TimePeriod100MSec"
+ KnxDatapointTypes_DPT_TimePeriodSec KnxDatapointTypes = "DPT_TimePeriodSec"
+ KnxDatapointTypes_DPT_TimePeriodMin KnxDatapointTypes = "DPT_TimePeriodMin"
+ KnxDatapointTypes_DPT_TimePeriodHrs KnxDatapointTypes = "DPT_TimePeriodHrs"
+ KnxDatapointTypes_DPT_PropDataType KnxDatapointTypes = "DPT_PropDataType"
+ KnxDatapointTypes_DPT_Length_mm KnxDatapointTypes = "DPT_Length_mm"
+ KnxDatapointTypes_DPT_UElCurrentmA KnxDatapointTypes = "DPT_UElCurrentmA"
+ KnxDatapointTypes_DPT_Brightness KnxDatapointTypes = "DPT_Brightness"
+ KnxDatapointTypes_DPT_Value_2_Count KnxDatapointTypes = "DPT_Value_2_Count"
+ KnxDatapointTypes_DPT_DeltaTimeMsec KnxDatapointTypes = "DPT_DeltaTimeMsec"
+ KnxDatapointTypes_DPT_DeltaTime10MSec KnxDatapointTypes = "DPT_DeltaTime10MSec"
+ KnxDatapointTypes_DPT_DeltaTime100MSec KnxDatapointTypes = "DPT_DeltaTime100MSec"
+ KnxDatapointTypes_DPT_DeltaTimeSec KnxDatapointTypes = "DPT_DeltaTimeSec"
+ KnxDatapointTypes_DPT_DeltaTimeMin KnxDatapointTypes = "DPT_DeltaTimeMin"
+ KnxDatapointTypes_DPT_DeltaTimeHrs KnxDatapointTypes = "DPT_DeltaTimeHrs"
+ KnxDatapointTypes_DPT_Percent_V16 KnxDatapointTypes = "DPT_Percent_V16"
+ KnxDatapointTypes_DPT_Rotation_Angle KnxDatapointTypes = "DPT_Rotation_Angle"
+ KnxDatapointTypes_DPT_Value_Temp KnxDatapointTypes = "DPT_Value_Temp"
+ KnxDatapointTypes_DPT_Value_Tempd KnxDatapointTypes = "DPT_Value_Tempd"
+ KnxDatapointTypes_DPT_Value_Tempa KnxDatapointTypes = "DPT_Value_Tempa"
+ KnxDatapointTypes_DPT_Value_Lux KnxDatapointTypes = "DPT_Value_Lux"
+ KnxDatapointTypes_DPT_Value_Wsp KnxDatapointTypes = "DPT_Value_Wsp"
+ KnxDatapointTypes_DPT_Value_Pres KnxDatapointTypes = "DPT_Value_Pres"
+ KnxDatapointTypes_DPT_Value_Humidity KnxDatapointTypes = "DPT_Value_Humidity"
+ KnxDatapointTypes_DPT_Value_AirQuality KnxDatapointTypes = "DPT_Value_AirQuality"
+ KnxDatapointTypes_DPT_Value_Time1 KnxDatapointTypes = "DPT_Value_Time1"
+ KnxDatapointTypes_DPT_Value_Time2 KnxDatapointTypes = "DPT_Value_Time2"
+ KnxDatapointTypes_DPT_Value_Volt KnxDatapointTypes = "DPT_Value_Volt"
+ KnxDatapointTypes_DPT_Value_Curr KnxDatapointTypes = "DPT_Value_Curr"
+ KnxDatapointTypes_DPT_PowerDensity KnxDatapointTypes = "DPT_PowerDensity"
+ KnxDatapointTypes_DPT_KelvinPerPercent KnxDatapointTypes = "DPT_KelvinPerPercent"
+ KnxDatapointTypes_DPT_Power KnxDatapointTypes = "DPT_Power"
+ KnxDatapointTypes_DPT_Value_Volume_Flow KnxDatapointTypes = "DPT_Value_Volume_Flow"
+ KnxDatapointTypes_DPT_Rain_Amount KnxDatapointTypes = "DPT_Rain_Amount"
+ KnxDatapointTypes_DPT_Value_Temp_F KnxDatapointTypes = "DPT_Value_Temp_F"
+ KnxDatapointTypes_DPT_Value_Wsp_kmh KnxDatapointTypes = "DPT_Value_Wsp_kmh"
+ KnxDatapointTypes_DPT_TimeOfDay KnxDatapointTypes = "DPT_TimeOfDay"
+ KnxDatapointTypes_DPT_Date KnxDatapointTypes = "DPT_Date"
+ KnxDatapointTypes_DPT_Value_4_Ucount KnxDatapointTypes = "DPT_Value_4_Ucount"
+ KnxDatapointTypes_DPT_Value_4_Count KnxDatapointTypes = "DPT_Value_4_Count"
+ KnxDatapointTypes_DPT_FlowRate_m3h KnxDatapointTypes = "DPT_FlowRate_m3h"
+ KnxDatapointTypes_DPT_ActiveEnergy KnxDatapointTypes = "DPT_ActiveEnergy"
+ KnxDatapointTypes_DPT_ApparantEnergy KnxDatapointTypes = "DPT_ApparantEnergy"
+ KnxDatapointTypes_DPT_ReactiveEnergy KnxDatapointTypes = "DPT_ReactiveEnergy"
+ KnxDatapointTypes_DPT_ActiveEnergy_kWh KnxDatapointTypes = "DPT_ActiveEnergy_kWh"
+ KnxDatapointTypes_DPT_ApparantEnergy_kVAh KnxDatapointTypes = "DPT_ApparantEnergy_kVAh"
+ KnxDatapointTypes_DPT_ReactiveEnergy_kVARh KnxDatapointTypes = "DPT_ReactiveEnergy_kVARh"
+ KnxDatapointTypes_DPT_LongDeltaTimeSec KnxDatapointTypes = "DPT_LongDeltaTimeSec"
+ KnxDatapointTypes_DPT_Value_Acceleration KnxDatapointTypes = "DPT_Value_Acceleration"
+ KnxDatapointTypes_DPT_Value_Acceleration_Angular KnxDatapointTypes = "DPT_Value_Acceleration_Angular"
+ KnxDatapointTypes_DPT_Value_Activation_Energy KnxDatapointTypes = "DPT_Value_Activation_Energy"
+ KnxDatapointTypes_DPT_Value_Activity KnxDatapointTypes = "DPT_Value_Activity"
+ KnxDatapointTypes_DPT_Value_Mol KnxDatapointTypes = "DPT_Value_Mol"
+ KnxDatapointTypes_DPT_Value_Amplitude KnxDatapointTypes = "DPT_Value_Amplitude"
+ KnxDatapointTypes_DPT_Value_AngleRad KnxDatapointTypes = "DPT_Value_AngleRad"
+ KnxDatapointTypes_DPT_Value_AngleDeg KnxDatapointTypes = "DPT_Value_AngleDeg"
+ KnxDatapointTypes_DPT_Value_Angular_Momentum KnxDatapointTypes = "DPT_Value_Angular_Momentum"
+ KnxDatapointTypes_DPT_Value_Angular_Velocity KnxDatapointTypes = "DPT_Value_Angular_Velocity"
+ KnxDatapointTypes_DPT_Value_Area KnxDatapointTypes = "DPT_Value_Area"
+ KnxDatapointTypes_DPT_Value_Capacitance KnxDatapointTypes = "DPT_Value_Capacitance"
+ KnxDatapointTypes_DPT_Value_Charge_DensitySurface KnxDatapointTypes = "DPT_Value_Charge_DensitySurface"
+ KnxDatapointTypes_DPT_Value_Charge_DensityVolume KnxDatapointTypes = "DPT_Value_Charge_DensityVolume"
+ KnxDatapointTypes_DPT_Value_Compressibility KnxDatapointTypes = "DPT_Value_Compressibility"
+ KnxDatapointTypes_DPT_Value_Conductance KnxDatapointTypes = "DPT_Value_Conductance"
+ KnxDatapointTypes_DPT_Value_Electrical_Conductivity KnxDatapointTypes = "DPT_Value_Electrical_Conductivity"
+ KnxDatapointTypes_DPT_Value_Density KnxDatapointTypes = "DPT_Value_Density"
+ KnxDatapointTypes_DPT_Value_Electric_Charge KnxDatapointTypes = "DPT_Value_Electric_Charge"
+ KnxDatapointTypes_DPT_Value_Electric_Current KnxDatapointTypes = "DPT_Value_Electric_Current"
+ KnxDatapointTypes_DPT_Value_Electric_CurrentDensity KnxDatapointTypes = "DPT_Value_Electric_CurrentDensity"
+ KnxDatapointTypes_DPT_Value_Electric_DipoleMoment KnxDatapointTypes = "DPT_Value_Electric_DipoleMoment"
+ KnxDatapointTypes_DPT_Value_Electric_Displacement KnxDatapointTypes = "DPT_Value_Electric_Displacement"
+ KnxDatapointTypes_DPT_Value_Electric_FieldStrength KnxDatapointTypes = "DPT_Value_Electric_FieldStrength"
+ KnxDatapointTypes_DPT_Value_Electric_Flux KnxDatapointTypes = "DPT_Value_Electric_Flux"
+ KnxDatapointTypes_DPT_Value_Electric_FluxDensity KnxDatapointTypes = "DPT_Value_Electric_FluxDensity"
+ KnxDatapointTypes_DPT_Value_Electric_Polarization KnxDatapointTypes = "DPT_Value_Electric_Polarization"
+ KnxDatapointTypes_DPT_Value_Electric_Potential KnxDatapointTypes = "DPT_Value_Electric_Potential"
+ KnxDatapointTypes_DPT_Value_Electric_PotentialDifference KnxDatapointTypes = "DPT_Value_Electric_PotentialDifference"
+ KnxDatapointTypes_DPT_Value_ElectromagneticMoment KnxDatapointTypes = "DPT_Value_ElectromagneticMoment"
+ KnxDatapointTypes_DPT_Value_Electromotive_Force KnxDatapointTypes = "DPT_Value_Electromotive_Force"
+ KnxDatapointTypes_DPT_Value_Energy KnxDatapointTypes = "DPT_Value_Energy"
+ KnxDatapointTypes_DPT_Value_Force KnxDatapointTypes = "DPT_Value_Force"
+ KnxDatapointTypes_DPT_Value_Frequency KnxDatapointTypes = "DPT_Value_Frequency"
+ KnxDatapointTypes_DPT_Value_Angular_Frequency KnxDatapointTypes = "DPT_Value_Angular_Frequency"
+ KnxDatapointTypes_DPT_Value_Heat_Capacity KnxDatapointTypes = "DPT_Value_Heat_Capacity"
+ KnxDatapointTypes_DPT_Value_Heat_FlowRate KnxDatapointTypes = "DPT_Value_Heat_FlowRate"
+ KnxDatapointTypes_DPT_Value_Heat_Quantity KnxDatapointTypes = "DPT_Value_Heat_Quantity"
+ KnxDatapointTypes_DPT_Value_Impedance KnxDatapointTypes = "DPT_Value_Impedance"
+ KnxDatapointTypes_DPT_Value_Length KnxDatapointTypes = "DPT_Value_Length"
+ KnxDatapointTypes_DPT_Value_Light_Quantity KnxDatapointTypes = "DPT_Value_Light_Quantity"
+ KnxDatapointTypes_DPT_Value_Luminance KnxDatapointTypes = "DPT_Value_Luminance"
+ KnxDatapointTypes_DPT_Value_Luminous_Flux KnxDatapointTypes = "DPT_Value_Luminous_Flux"
+ KnxDatapointTypes_DPT_Value_Luminous_Intensity KnxDatapointTypes = "DPT_Value_Luminous_Intensity"
+ KnxDatapointTypes_DPT_Value_Magnetic_FieldStrength KnxDatapointTypes = "DPT_Value_Magnetic_FieldStrength"
+ KnxDatapointTypes_DPT_Value_Magnetic_Flux KnxDatapointTypes = "DPT_Value_Magnetic_Flux"
+ KnxDatapointTypes_DPT_Value_Magnetic_FluxDensity KnxDatapointTypes = "DPT_Value_Magnetic_FluxDensity"
+ KnxDatapointTypes_DPT_Value_Magnetic_Moment KnxDatapointTypes = "DPT_Value_Magnetic_Moment"
+ KnxDatapointTypes_DPT_Value_Magnetic_Polarization KnxDatapointTypes = "DPT_Value_Magnetic_Polarization"
+ KnxDatapointTypes_DPT_Value_Magnetization KnxDatapointTypes = "DPT_Value_Magnetization"
+ KnxDatapointTypes_DPT_Value_MagnetomotiveForce KnxDatapointTypes = "DPT_Value_MagnetomotiveForce"
+ KnxDatapointTypes_DPT_Value_Mass KnxDatapointTypes = "DPT_Value_Mass"
+ KnxDatapointTypes_DPT_Value_MassFlux KnxDatapointTypes = "DPT_Value_MassFlux"
+ KnxDatapointTypes_DPT_Value_Momentum KnxDatapointTypes = "DPT_Value_Momentum"
+ KnxDatapointTypes_DPT_Value_Phase_AngleRad KnxDatapointTypes = "DPT_Value_Phase_AngleRad"
+ KnxDatapointTypes_DPT_Value_Phase_AngleDeg KnxDatapointTypes = "DPT_Value_Phase_AngleDeg"
+ KnxDatapointTypes_DPT_Value_Power KnxDatapointTypes = "DPT_Value_Power"
+ KnxDatapointTypes_DPT_Value_Power_Factor KnxDatapointTypes = "DPT_Value_Power_Factor"
+ KnxDatapointTypes_DPT_Value_Pressure KnxDatapointTypes = "DPT_Value_Pressure"
+ KnxDatapointTypes_DPT_Value_Reactance KnxDatapointTypes = "DPT_Value_Reactance"
+ KnxDatapointTypes_DPT_Value_Resistance KnxDatapointTypes = "DPT_Value_Resistance"
+ KnxDatapointTypes_DPT_Value_Resistivity KnxDatapointTypes = "DPT_Value_Resistivity"
+ KnxDatapointTypes_DPT_Value_SelfInductance KnxDatapointTypes = "DPT_Value_SelfInductance"
+ KnxDatapointTypes_DPT_Value_SolidAngle KnxDatapointTypes = "DPT_Value_SolidAngle"
+ KnxDatapointTypes_DPT_Value_Sound_Intensity KnxDatapointTypes = "DPT_Value_Sound_Intensity"
+ KnxDatapointTypes_DPT_Value_Speed KnxDatapointTypes = "DPT_Value_Speed"
+ KnxDatapointTypes_DPT_Value_Stress KnxDatapointTypes = "DPT_Value_Stress"
+ KnxDatapointTypes_DPT_Value_Surface_Tension KnxDatapointTypes = "DPT_Value_Surface_Tension"
+ KnxDatapointTypes_DPT_Value_Common_Temperature KnxDatapointTypes = "DPT_Value_Common_Temperature"
+ KnxDatapointTypes_DPT_Value_Absolute_Temperature KnxDatapointTypes = "DPT_Value_Absolute_Temperature"
+ KnxDatapointTypes_DPT_Value_TemperatureDifference KnxDatapointTypes = "DPT_Value_TemperatureDifference"
+ KnxDatapointTypes_DPT_Value_Thermal_Capacity KnxDatapointTypes = "DPT_Value_Thermal_Capacity"
+ KnxDatapointTypes_DPT_Value_Thermal_Conductivity KnxDatapointTypes = "DPT_Value_Thermal_Conductivity"
+ KnxDatapointTypes_DPT_Value_ThermoelectricPower KnxDatapointTypes = "DPT_Value_ThermoelectricPower"
+ KnxDatapointTypes_DPT_Value_Time KnxDatapointTypes = "DPT_Value_Time"
+ KnxDatapointTypes_DPT_Value_Torque KnxDatapointTypes = "DPT_Value_Torque"
+ KnxDatapointTypes_DPT_Value_Volume KnxDatapointTypes = "DPT_Value_Volume"
+ KnxDatapointTypes_DPT_Value_Volume_Flux KnxDatapointTypes = "DPT_Value_Volume_Flux"
+ KnxDatapointTypes_DPT_Value_Weight KnxDatapointTypes = "DPT_Value_Weight"
+ KnxDatapointTypes_DPT_Value_Work KnxDatapointTypes = "DPT_Value_Work"
+ KnxDatapointTypes_DPT_Access_Data KnxDatapointTypes = "DPT_Access_Data"
+ KnxDatapointTypes_DPT_String_ASCII KnxDatapointTypes = "DPT_String_ASCII"
+ KnxDatapointTypes_DPT_String_8859_1 KnxDatapointTypes = "DPT_String_8859_1"
+ KnxDatapointTypes_DPT_SceneNumber KnxDatapointTypes = "DPT_SceneNumber"
+ KnxDatapointTypes_DPT_SceneControl KnxDatapointTypes = "DPT_SceneControl"
+ KnxDatapointTypes_DPT_DateTime KnxDatapointTypes = "DPT_DateTime"
+ KnxDatapointTypes_DPT_SCLOMode KnxDatapointTypes = "DPT_SCLOMode"
+ KnxDatapointTypes_DPT_BuildingMode KnxDatapointTypes = "DPT_BuildingMode"
+ KnxDatapointTypes_DPT_OccMode KnxDatapointTypes = "DPT_OccMode"
+ KnxDatapointTypes_DPT_Priority KnxDatapointTypes = "DPT_Priority"
+ KnxDatapointTypes_DPT_LightApplicationMode KnxDatapointTypes = "DPT_LightApplicationMode"
+ KnxDatapointTypes_DPT_ApplicationArea KnxDatapointTypes = "DPT_ApplicationArea"
+ KnxDatapointTypes_DPT_AlarmClassType KnxDatapointTypes = "DPT_AlarmClassType"
+ KnxDatapointTypes_DPT_PSUMode KnxDatapointTypes = "DPT_PSUMode"
+ KnxDatapointTypes_DPT_ErrorClass_System KnxDatapointTypes = "DPT_ErrorClass_System"
+ KnxDatapointTypes_DPT_ErrorClass_HVAC KnxDatapointTypes = "DPT_ErrorClass_HVAC"
+ KnxDatapointTypes_DPT_Time_Delay KnxDatapointTypes = "DPT_Time_Delay"
+ KnxDatapointTypes_DPT_Beaufort_Wind_Force_Scale KnxDatapointTypes = "DPT_Beaufort_Wind_Force_Scale"
+ KnxDatapointTypes_DPT_SensorSelect KnxDatapointTypes = "DPT_SensorSelect"
+ KnxDatapointTypes_DPT_ActuatorConnectType KnxDatapointTypes = "DPT_ActuatorConnectType"
+ KnxDatapointTypes_DPT_FuelType KnxDatapointTypes = "DPT_FuelType"
+ KnxDatapointTypes_DPT_BurnerType KnxDatapointTypes = "DPT_BurnerType"
+ KnxDatapointTypes_DPT_HVACMode KnxDatapointTypes = "DPT_HVACMode"
+ KnxDatapointTypes_DPT_DHWMode KnxDatapointTypes = "DPT_DHWMode"
+ KnxDatapointTypes_DPT_LoadPriority KnxDatapointTypes = "DPT_LoadPriority"
+ KnxDatapointTypes_DPT_HVACContrMode KnxDatapointTypes = "DPT_HVACContrMode"
+ KnxDatapointTypes_DPT_HVACEmergMode KnxDatapointTypes = "DPT_HVACEmergMode"
+ KnxDatapointTypes_DPT_ChangeoverMode KnxDatapointTypes = "DPT_ChangeoverMode"
+ KnxDatapointTypes_DPT_ValveMode KnxDatapointTypes = "DPT_ValveMode"
+ KnxDatapointTypes_DPT_DamperMode KnxDatapointTypes = "DPT_DamperMode"
+ KnxDatapointTypes_DPT_HeaterMode KnxDatapointTypes = "DPT_HeaterMode"
+ KnxDatapointTypes_DPT_FanMode KnxDatapointTypes = "DPT_FanMode"
+ KnxDatapointTypes_DPT_MasterSlaveMode KnxDatapointTypes = "DPT_MasterSlaveMode"
+ KnxDatapointTypes_DPT_StatusRoomSetp KnxDatapointTypes = "DPT_StatusRoomSetp"
+ KnxDatapointTypes_DPT_ADAType KnxDatapointTypes = "DPT_ADAType"
+ KnxDatapointTypes_DPT_BackupMode KnxDatapointTypes = "DPT_BackupMode"
+ KnxDatapointTypes_DPT_StartSynchronization KnxDatapointTypes = "DPT_StartSynchronization"
+ KnxDatapointTypes_DPT_Behaviour_Lock_Unlock KnxDatapointTypes = "DPT_Behaviour_Lock_Unlock"
+ KnxDatapointTypes_DPT_Behaviour_Bus_Power_Up_Down KnxDatapointTypes = "DPT_Behaviour_Bus_Power_Up_Down"
+ KnxDatapointTypes_DPT_DALI_Fade_Time KnxDatapointTypes = "DPT_DALI_Fade_Time"
+ KnxDatapointTypes_DPT_BlinkingMode KnxDatapointTypes = "DPT_BlinkingMode"
+ KnxDatapointTypes_DPT_LightControlMode KnxDatapointTypes = "DPT_LightControlMode"
+ KnxDatapointTypes_DPT_SwitchPBModel KnxDatapointTypes = "DPT_SwitchPBModel"
+ KnxDatapointTypes_DPT_PBAction KnxDatapointTypes = "DPT_PBAction"
+ KnxDatapointTypes_DPT_DimmPBModel KnxDatapointTypes = "DPT_DimmPBModel"
+ KnxDatapointTypes_DPT_SwitchOnMode KnxDatapointTypes = "DPT_SwitchOnMode"
+ KnxDatapointTypes_DPT_LoadTypeSet KnxDatapointTypes = "DPT_LoadTypeSet"
+ KnxDatapointTypes_DPT_LoadTypeDetected KnxDatapointTypes = "DPT_LoadTypeDetected"
+ KnxDatapointTypes_DPT_SABExceptBehaviour KnxDatapointTypes = "DPT_SABExceptBehaviour"
+ KnxDatapointTypes_DPT_SABBehaviour_Lock_Unlock KnxDatapointTypes = "DPT_SABBehaviour_Lock_Unlock"
+ KnxDatapointTypes_DPT_SSSBMode KnxDatapointTypes = "DPT_SSSBMode"
+ KnxDatapointTypes_DPT_BlindsControlMode KnxDatapointTypes = "DPT_BlindsControlMode"
+ KnxDatapointTypes_DPT_CommMode KnxDatapointTypes = "DPT_CommMode"
+ KnxDatapointTypes_DPT_AddInfoTypes KnxDatapointTypes = "DPT_AddInfoTypes"
+ KnxDatapointTypes_DPT_RF_ModeSelect KnxDatapointTypes = "DPT_RF_ModeSelect"
+ KnxDatapointTypes_DPT_RF_FilterSelect KnxDatapointTypes = "DPT_RF_FilterSelect"
+ KnxDatapointTypes_DPT_StatusGen KnxDatapointTypes = "DPT_StatusGen"
+ KnxDatapointTypes_DPT_Device_Control KnxDatapointTypes = "DPT_Device_Control"
+ KnxDatapointTypes_DPT_ForceSign KnxDatapointTypes = "DPT_ForceSign"
+ KnxDatapointTypes_DPT_ForceSignCool KnxDatapointTypes = "DPT_ForceSignCool"
+ KnxDatapointTypes_DPT_StatusRHC KnxDatapointTypes = "DPT_StatusRHC"
+ KnxDatapointTypes_DPT_StatusSDHWC KnxDatapointTypes = "DPT_StatusSDHWC"
+ KnxDatapointTypes_DPT_FuelTypeSet KnxDatapointTypes = "DPT_FuelTypeSet"
+ KnxDatapointTypes_DPT_StatusRCC KnxDatapointTypes = "DPT_StatusRCC"
+ KnxDatapointTypes_DPT_StatusAHU KnxDatapointTypes = "DPT_StatusAHU"
+ KnxDatapointTypes_DPT_LightActuatorErrorInfo KnxDatapointTypes = "DPT_LightActuatorErrorInfo"
+ KnxDatapointTypes_DPT_RF_ModeInfo KnxDatapointTypes = "DPT_RF_ModeInfo"
+ KnxDatapointTypes_DPT_RF_FilterInfo KnxDatapointTypes = "DPT_RF_FilterInfo"
+ KnxDatapointTypes_DPT_Channel_Activation_8 KnxDatapointTypes = "DPT_Channel_Activation_8"
+ KnxDatapointTypes_DPT_StatusDHWC KnxDatapointTypes = "DPT_StatusDHWC"
+ KnxDatapointTypes_DPT_StatusRHCC KnxDatapointTypes = "DPT_StatusRHCC"
+ KnxDatapointTypes_DPT_Media KnxDatapointTypes = "DPT_Media"
+ KnxDatapointTypes_DPT_Channel_Activation_16 KnxDatapointTypes = "DPT_Channel_Activation_16"
+ KnxDatapointTypes_DPT_OnOff_Action KnxDatapointTypes = "DPT_OnOff_Action"
+ KnxDatapointTypes_DPT_Alarm_Reaction KnxDatapointTypes = "DPT_Alarm_Reaction"
+ KnxDatapointTypes_DPT_UpDown_Action KnxDatapointTypes = "DPT_UpDown_Action"
+ KnxDatapointTypes_DPT_HVAC_PB_Action KnxDatapointTypes = "DPT_HVAC_PB_Action"
+ KnxDatapointTypes_DPT_VarString_8859_1 KnxDatapointTypes = "DPT_VarString_8859_1"
+ KnxDatapointTypes_DPT_DoubleNibble KnxDatapointTypes = "DPT_DoubleNibble"
+ KnxDatapointTypes_DPT_SceneInfo KnxDatapointTypes = "DPT_SceneInfo"
+ KnxDatapointTypes_DPT_CombinedInfoOnOff KnxDatapointTypes = "DPT_CombinedInfoOnOff"
+ KnxDatapointTypes_DPT_UTF_8 KnxDatapointTypes = "DPT_UTF_8"
+ KnxDatapointTypes_DPT_ActiveEnergy_V64 KnxDatapointTypes = "DPT_ActiveEnergy_V64"
+ KnxDatapointTypes_DPT_ApparantEnergy_V64 KnxDatapointTypes = "DPT_ApparantEnergy_V64"
+ KnxDatapointTypes_DPT_ReactiveEnergy_V64 KnxDatapointTypes = "DPT_ReactiveEnergy_V64"
+ KnxDatapointTypes_DPT_Channel_Activation_24 KnxDatapointTypes = "DPT_Channel_Activation_24"
+ KnxDatapointTypes_DPT_PB_Action_HVAC_Extended KnxDatapointTypes = "DPT_PB_Action_HVAC_Extended"
+ KnxDatapointTypes_DPT_Heat_Cool_Z KnxDatapointTypes = "DPT_Heat_Cool_Z"
+ KnxDatapointTypes_DPT_BinaryValue_Z KnxDatapointTypes = "DPT_BinaryValue_Z"
+ KnxDatapointTypes_DPT_HVACMode_Z KnxDatapointTypes = "DPT_HVACMode_Z"
+ KnxDatapointTypes_DPT_DHWMode_Z KnxDatapointTypes = "DPT_DHWMode_Z"
+ KnxDatapointTypes_DPT_HVACContrMode_Z KnxDatapointTypes = "DPT_HVACContrMode_Z"
+ KnxDatapointTypes_DPT_EnablH_Cstage_Z_DPT_EnablH_CStage KnxDatapointTypes = "DPT_EnablH_Cstage_Z_DPT_EnablH_CStage"
+ KnxDatapointTypes_DPT_BuildingMode_Z KnxDatapointTypes = "DPT_BuildingMode_Z"
+ KnxDatapointTypes_DPT_OccMode_Z KnxDatapointTypes = "DPT_OccMode_Z"
+ KnxDatapointTypes_DPT_HVACEmergMode_Z KnxDatapointTypes = "DPT_HVACEmergMode_Z"
+ KnxDatapointTypes_DPT_RelValue_Z KnxDatapointTypes = "DPT_RelValue_Z"
+ KnxDatapointTypes_DPT_UCountValue8_Z KnxDatapointTypes = "DPT_UCountValue8_Z"
+ KnxDatapointTypes_DPT_TimePeriodMsec_Z KnxDatapointTypes = "DPT_TimePeriodMsec_Z"
+ KnxDatapointTypes_DPT_TimePeriod10Msec_Z KnxDatapointTypes = "DPT_TimePeriod10Msec_Z"
+ KnxDatapointTypes_DPT_TimePeriod100Msec_Z KnxDatapointTypes = "DPT_TimePeriod100Msec_Z"
+ KnxDatapointTypes_DPT_TimePeriodSec_Z KnxDatapointTypes = "DPT_TimePeriodSec_Z"
+ KnxDatapointTypes_DPT_TimePeriodMin_Z KnxDatapointTypes = "DPT_TimePeriodMin_Z"
+ KnxDatapointTypes_DPT_TimePeriodHrs_Z KnxDatapointTypes = "DPT_TimePeriodHrs_Z"
+ KnxDatapointTypes_DPT_UFlowRateLiter_h_Z KnxDatapointTypes = "DPT_UFlowRateLiter_h_Z"
+ KnxDatapointTypes_DPT_UCountValue16_Z KnxDatapointTypes = "DPT_UCountValue16_Z"
+ KnxDatapointTypes_DPT_UElCurrentyA_Z KnxDatapointTypes = "DPT_UElCurrentyA_Z"
+ KnxDatapointTypes_DPT_PowerKW_Z KnxDatapointTypes = "DPT_PowerKW_Z"
+ KnxDatapointTypes_DPT_AtmPressureAbs_Z KnxDatapointTypes = "DPT_AtmPressureAbs_Z"
+ KnxDatapointTypes_DPT_PercentU16_Z KnxDatapointTypes = "DPT_PercentU16_Z"
+ KnxDatapointTypes_DPT_HVACAirQual_Z KnxDatapointTypes = "DPT_HVACAirQual_Z"
+ KnxDatapointTypes_DPT_WindSpeed_Z_DPT_WindSpeed KnxDatapointTypes = "DPT_WindSpeed_Z_DPT_WindSpeed"
+ KnxDatapointTypes_DPT_SunIntensity_Z KnxDatapointTypes = "DPT_SunIntensity_Z"
+ KnxDatapointTypes_DPT_HVACAirFlowAbs_Z KnxDatapointTypes = "DPT_HVACAirFlowAbs_Z"
+ KnxDatapointTypes_DPT_RelSignedValue_Z KnxDatapointTypes = "DPT_RelSignedValue_Z"
+ KnxDatapointTypes_DPT_DeltaTimeMsec_Z KnxDatapointTypes = "DPT_DeltaTimeMsec_Z"
+ KnxDatapointTypes_DPT_DeltaTime10Msec_Z KnxDatapointTypes = "DPT_DeltaTime10Msec_Z"
+ KnxDatapointTypes_DPT_DeltaTime100Msec_Z KnxDatapointTypes = "DPT_DeltaTime100Msec_Z"
+ KnxDatapointTypes_DPT_DeltaTimeSec_Z KnxDatapointTypes = "DPT_DeltaTimeSec_Z"
+ KnxDatapointTypes_DPT_DeltaTimeMin_Z KnxDatapointTypes = "DPT_DeltaTimeMin_Z"
+ KnxDatapointTypes_DPT_DeltaTimeHrs_Z KnxDatapointTypes = "DPT_DeltaTimeHrs_Z"
+ KnxDatapointTypes_DPT_Percent_V16_Z KnxDatapointTypes = "DPT_Percent_V16_Z"
+ KnxDatapointTypes_DPT_TempHVACAbs_Z KnxDatapointTypes = "DPT_TempHVACAbs_Z"
+ KnxDatapointTypes_DPT_TempHVACRel_Z KnxDatapointTypes = "DPT_TempHVACRel_Z"
+ KnxDatapointTypes_DPT_HVACAirFlowRel_Z KnxDatapointTypes = "DPT_HVACAirFlowRel_Z"
+ KnxDatapointTypes_DPT_HVACModeNext KnxDatapointTypes = "DPT_HVACModeNext"
+ KnxDatapointTypes_DPT_DHWModeNext KnxDatapointTypes = "DPT_DHWModeNext"
+ KnxDatapointTypes_DPT_OccModeNext KnxDatapointTypes = "DPT_OccModeNext"
+ KnxDatapointTypes_DPT_BuildingModeNext KnxDatapointTypes = "DPT_BuildingModeNext"
+ KnxDatapointTypes_DPT_StatusBUC KnxDatapointTypes = "DPT_StatusBUC"
+ KnxDatapointTypes_DPT_LockSign KnxDatapointTypes = "DPT_LockSign"
+ KnxDatapointTypes_DPT_ValueDemBOC KnxDatapointTypes = "DPT_ValueDemBOC"
+ KnxDatapointTypes_DPT_ActPosDemAbs KnxDatapointTypes = "DPT_ActPosDemAbs"
+ KnxDatapointTypes_DPT_StatusAct KnxDatapointTypes = "DPT_StatusAct"
+ KnxDatapointTypes_DPT_StatusLightingActuator KnxDatapointTypes = "DPT_StatusLightingActuator"
+ KnxDatapointTypes_DPT_StatusHPM KnxDatapointTypes = "DPT_StatusHPM"
+ KnxDatapointTypes_DPT_TempRoomDemAbs KnxDatapointTypes = "DPT_TempRoomDemAbs"
+ KnxDatapointTypes_DPT_StatusCPM KnxDatapointTypes = "DPT_StatusCPM"
+ KnxDatapointTypes_DPT_StatusWTC KnxDatapointTypes = "DPT_StatusWTC"
+ KnxDatapointTypes_DPT_TempFlowWaterDemAbs KnxDatapointTypes = "DPT_TempFlowWaterDemAbs"
+ KnxDatapointTypes_DPT_EnergyDemWater KnxDatapointTypes = "DPT_EnergyDemWater"
+ KnxDatapointTypes_DPT_TempRoomSetpSetShift3 KnxDatapointTypes = "DPT_TempRoomSetpSetShift3"
+ KnxDatapointTypes_DPT_TempRoomSetpSet3 KnxDatapointTypes = "DPT_TempRoomSetpSet3"
+ KnxDatapointTypes_DPT_TempRoomSetpSet4 KnxDatapointTypes = "DPT_TempRoomSetpSet4"
+ KnxDatapointTypes_DPT_TempDHWSetpSet4 KnxDatapointTypes = "DPT_TempDHWSetpSet4"
+ KnxDatapointTypes_DPT_TempRoomSetpSetShift4 KnxDatapointTypes = "DPT_TempRoomSetpSetShift4"
+ KnxDatapointTypes_DPT_PowerFlowWaterDemHPM KnxDatapointTypes = "DPT_PowerFlowWaterDemHPM"
+ KnxDatapointTypes_DPT_PowerFlowWaterDemCPM KnxDatapointTypes = "DPT_PowerFlowWaterDemCPM"
+ KnxDatapointTypes_DPT_StatusBOC KnxDatapointTypes = "DPT_StatusBOC"
+ KnxDatapointTypes_DPT_StatusCC KnxDatapointTypes = "DPT_StatusCC"
+ KnxDatapointTypes_DPT_SpecHeatProd KnxDatapointTypes = "DPT_SpecHeatProd"
+ KnxDatapointTypes_DPT_Version KnxDatapointTypes = "DPT_Version"
+ KnxDatapointTypes_DPT_VolumeLiter_Z KnxDatapointTypes = "DPT_VolumeLiter_Z"
+ KnxDatapointTypes_DPT_FlowRate_m3h_Z KnxDatapointTypes = "DPT_FlowRate_m3h_Z"
+ KnxDatapointTypes_DPT_AlarmInfo KnxDatapointTypes = "DPT_AlarmInfo"
+ KnxDatapointTypes_DPT_TempHVACAbsNext KnxDatapointTypes = "DPT_TempHVACAbsNext"
+ KnxDatapointTypes_DPT_SerNum KnxDatapointTypes = "DPT_SerNum"
+ KnxDatapointTypes_DPT_TempRoomSetpSetF163 KnxDatapointTypes = "DPT_TempRoomSetpSetF163"
+ KnxDatapointTypes_DPT_TempRoomSetpSetShiftF163 KnxDatapointTypes = "DPT_TempRoomSetpSetShiftF163"
+ KnxDatapointTypes_DPT_EnergyDemAir KnxDatapointTypes = "DPT_EnergyDemAir"
+ KnxDatapointTypes_DPT_TempSupply_AirSetpSet KnxDatapointTypes = "DPT_TempSupply_AirSetpSet"
+ KnxDatapointTypes_DPT_ScalingSpeed KnxDatapointTypes = "DPT_ScalingSpeed"
+ KnxDatapointTypes_DPT_Scaling_Step_Time KnxDatapointTypes = "DPT_Scaling_Step_Time"
+ KnxDatapointTypes_DPT_TariffNext KnxDatapointTypes = "DPT_TariffNext"
+ KnxDatapointTypes_DPT_MeteringValue KnxDatapointTypes = "DPT_MeteringValue"
+ KnxDatapointTypes_DPT_MBus_Address KnxDatapointTypes = "DPT_MBus_Address"
+ KnxDatapointTypes_DPT_Locale_ASCII KnxDatapointTypes = "DPT_Locale_ASCII"
+ KnxDatapointTypes_DPT_Colour_RGB KnxDatapointTypes = "DPT_Colour_RGB"
+ KnxDatapointTypes_DPT_LanguageCodeAlpha2_ASCII KnxDatapointTypes = "DPT_LanguageCodeAlpha2_ASCII"
+ KnxDatapointTypes_DPT_RegionCodeAlpha2_ASCII KnxDatapointTypes = "DPT_RegionCodeAlpha2_ASCII"
+ KnxDatapointTypes_DPT_Tariff_ActiveEnergy KnxDatapointTypes = "DPT_Tariff_ActiveEnergy"
+ KnxDatapointTypes_DPT_Prioritised_Mode_Control KnxDatapointTypes = "DPT_Prioritised_Mode_Control"
+ KnxDatapointTypes_DPT_DALI_Control_Gear_Diagnostic KnxDatapointTypes = "DPT_DALI_Control_Gear_Diagnostic"
+ KnxDatapointTypes_DPT_SceneConfig KnxDatapointTypes = "DPT_SceneConfig"
+ KnxDatapointTypes_DPT_DALI_Diagnostics KnxDatapointTypes = "DPT_DALI_Diagnostics"
+ KnxDatapointTypes_DPT_FlaggedScaling KnxDatapointTypes = "DPT_FlaggedScaling"
+ KnxDatapointTypes_DPT_CombinedPosition KnxDatapointTypes = "DPT_CombinedPosition"
+ KnxDatapointTypes_DPT_StatusSAB KnxDatapointTypes = "DPT_StatusSAB"
+)
+
+
+func (e KnxDatapointTypes) FormatName() string {
+ switch e {
+ case "DPT_ADAType": { /* 'DPT_ADAType' */
+ return "N8"
+ }
+ case "DPT_Access_Data": { /* 'DPT_Access_Data' */
+ return "U4U4U4U4U4U4B4N4"
+ }
+ case "DPT_Ack": { /* 'DPT_Ack' */
+ return "B1"
+ }
+ case "DPT_ActPosDemAbs": { /* 'DPT_ActPosDemAbs' */
+ return "U8B8ActuatorPositionDemand"
+ }
+ case "DPT_ActiveEnergy": { /* 'DPT_ActiveEnergy' */
+ return "V32"
+ }
+ case "DPT_ActiveEnergy_V64": { /* 'DPT_ActiveEnergy_V64' */
+ return "V64"
+ }
+ case "DPT_ActiveEnergy_kWh": { /* 'DPT_ActiveEnergy_kWh' */
+ return "V32"
+ }
+ case "DPT_ActuatorConnectType": { /* 'DPT_ActuatorConnectType' */
+ return "N8"
+ }
+ case "DPT_AddInfoTypes": { /* 'DPT_AddInfoTypes' */
+ return "N8"
+ }
+ case "DPT_Alarm": { /* 'DPT_Alarm' */
+ return "B1"
+ }
+ case "DPT_AlarmClassType": { /* 'DPT_AlarmClassType' */
+ return "N8"
+ }
+ case "DPT_AlarmInfo": { /* 'DPT_AlarmInfo' */
+ return "U8N8N8N8B8B8"
+ }
+ case "DPT_Alarm_Control": { /* 'DPT_Alarm_Control' */
+ return "B2"
+ }
+ case "DPT_Alarm_Reaction": { /* 'DPT_Alarm_Reaction' */
+ return "N2"
+ }
+ case "DPT_Angle": { /* 'DPT_Angle' */
+ return "U8"
+ }
+ case "DPT_ApparantEnergy": { /* 'DPT_ApparantEnergy' */
+ return "V32"
+ }
+ case "DPT_ApparantEnergy_V64": { /* 'DPT_ApparantEnergy_V64' */
+ return "V64"
+ }
+ case "DPT_ApparantEnergy_kVAh": { /* 'DPT_ApparantEnergy_kVAh' */
+ return "V32"
+ }
+ case "DPT_ApplicationArea": { /* 'DPT_ApplicationArea' */
+ return "N8"
+ }
+ case "DPT_AtmPressureAbs_Z": { /* 'DPT_AtmPressureAbs_Z' */
+ return "U16Z8AtmPressure"
+ }
+ case "DPT_BackupMode": { /* 'DPT_BackupMode' */
+ return "N8"
+ }
+ case "DPT_Beaufort_Wind_Force_Scale": { /* 'DPT_Beaufort_Wind_Force_Scale' */
+ return "N8"
+ }
+ case "DPT_Behaviour_Bus_Power_Up_Down": { /* 'DPT_Behaviour_Bus_Power_Up_Down' */
+ return "N8"
+ }
+ case "DPT_Behaviour_Lock_Unlock": { /* 'DPT_Behaviour_Lock_Unlock' */
+ return "N8"
+ }
+ case "DPT_BinaryValue": { /* 'DPT_BinaryValue' */
+ return "B1"
+ }
+ case "DPT_BinaryValue_Control": { /* 'DPT_BinaryValue_Control' */
+ return "B2"
+ }
+ case "DPT_BinaryValue_Z": { /* 'DPT_BinaryValue_Z' */
+ return "B1Z8BinaryValueZ"
+ }
+ case "DPT_BlindsControlMode": { /* 'DPT_BlindsControlMode' */
+ return "N8"
+ }
+ case "DPT_BlinkingMode": { /* 'DPT_BlinkingMode' */
+ return "N8"
+ }
+ case "DPT_Bool": { /* 'DPT_Bool' */
+ return "B1"
+ }
+ case "DPT_Bool_Control": { /* 'DPT_Bool_Control' */
+ return "B2"
+ }
+ case "DPT_Brightness": { /* 'DPT_Brightness' */
+ return "U16"
+ }
+ case "DPT_BuildingMode": { /* 'DPT_BuildingMode' */
+ return "N8"
+ }
+ case "DPT_BuildingModeNext": { /* 'DPT_BuildingModeNext' */
+ return "U16N8BuildingModeAndTimeDelay"
+ }
+ case "DPT_BuildingMode_Z": { /* 'DPT_BuildingMode_Z' */
+ return "N8Z8BuildingMode"
+ }
+ case "DPT_BurnerType": { /* 'DPT_BurnerType' */
+ return "N8"
+ }
+ case "DPT_ChangeoverMode": { /* 'DPT_ChangeoverMode' */
+ return "N8"
+ }
+ case "DPT_Channel_Activation_16": { /* 'DPT_Channel_Activation_16' */
+ return "B16"
+ }
+ case "DPT_Channel_Activation_24": { /* 'DPT_Channel_Activation_24' */
+ return "B24"
+ }
+ case "DPT_Channel_Activation_8": { /* 'DPT_Channel_Activation_8' */
+ return "B8"
+ }
+ case "DPT_Char_8859_1": { /* 'DPT_Char_8859_1' */
+ return "A8_8859_1"
+ }
+ case "DPT_Char_ASCII": { /* 'DPT_Char_ASCII' */
+ return "A8_ASCII"
+ }
+ case "DPT_Colour_RGB": { /* 'DPT_Colour_RGB' */
+ return "U8U8U8"
+ }
+ case "DPT_CombinedInfoOnOff": { /* 'DPT_CombinedInfoOnOff' */
+ return "B32"
+ }
+ case "DPT_CombinedPosition": { /* 'DPT_CombinedPosition' */
+ return "U8U8B8"
+ }
+ case "DPT_CommMode": { /* 'DPT_CommMode' */
+ return "N8"
+ }
+ case "DPT_Control_Blinds": { /* 'DPT_Control_Blinds' */
+ return "B1U3"
+ }
+ case "DPT_Control_Dimming": { /* 'DPT_Control_Dimming' */
+ return "B1U3"
+ }
+ case "DPT_DALI_Control_Gear_Diagnostic": { /* 'DPT_DALI_Control_Gear_Diagnostic' */
+ return "B10U6"
+ }
+ case "DPT_DALI_Diagnostics": { /* 'DPT_DALI_Diagnostics' */
+ return "B2U6"
+ }
+ case "DPT_DALI_Fade_Time": { /* 'DPT_DALI_Fade_Time' */
+ return "N8"
+ }
+ case "DPT_DHWMode": { /* 'DPT_DHWMode' */
+ return "N8"
+ }
+ case "DPT_DHWModeNext": { /* 'DPT_DHWModeNext' */
+ return "U16N8DhwModeAndTimeDelay"
+ }
+ case "DPT_DHWMode_Z": { /* 'DPT_DHWMode_Z' */
+ return "N8Z8DhwMode"
+ }
+ case "DPT_DamperMode": { /* 'DPT_DamperMode' */
+ return "N8"
+ }
+ case "DPT_Date": { /* 'DPT_Date' */
+ return "r3N5r4N4r1U7"
+ }
+ case "DPT_DateTime": { /* 'DPT_DateTime' */
+ return "U8r4U4r3U5U3U5r2U6r2U6B16"
+ }
+ case "DPT_DecimalFactor": { /* 'DPT_DecimalFactor' */
+ return "U8"
+ }
+ case "DPT_DeltaTime100MSec": { /* 'DPT_DeltaTime100MSec' */
+ return "V16"
+ }
+ case "DPT_DeltaTime100Msec_Z": { /* 'DPT_DeltaTime100Msec_Z' */
+ return "V16Z8DeltaTime"
+ }
+ case "DPT_DeltaTime10MSec": { /* 'DPT_DeltaTime10MSec' */
+ return "V16"
+ }
+ case "DPT_DeltaTime10Msec_Z": { /* 'DPT_DeltaTime10Msec_Z' */
+ return "V16Z8DeltaTime"
+ }
+ case "DPT_DeltaTimeHrs": { /* 'DPT_DeltaTimeHrs' */
+ return "V16"
+ }
+ case "DPT_DeltaTimeHrs_Z": { /* 'DPT_DeltaTimeHrs_Z' */
+ return "V16Z8DeltaTime"
+ }
+ case "DPT_DeltaTimeMin": { /* 'DPT_DeltaTimeMin' */
+ return "V16"
+ }
+ case "DPT_DeltaTimeMin_Z": { /* 'DPT_DeltaTimeMin_Z' */
+ return "V16Z8DeltaTime"
+ }
+ case "DPT_DeltaTimeMsec": { /* 'DPT_DeltaTimeMsec' */
+ return "V16"
+ }
+ case "DPT_DeltaTimeMsec_Z": { /* 'DPT_DeltaTimeMsec_Z' */
+ return "V16Z8DeltaTime"
+ }
+ case "DPT_DeltaTimeSec": { /* 'DPT_DeltaTimeSec' */
+ return "V16"
+ }
+ case "DPT_DeltaTimeSec_Z": { /* 'DPT_DeltaTimeSec_Z' */
+ return "V16Z8DeltaTime"
+ }
+ case "DPT_Device_Control": { /* 'DPT_Device_Control' */
+ return "B8"
+ }
+ case "DPT_DimSendStyle": { /* 'DPT_DimSendStyle' */
+ return "B1"
+ }
+ case "DPT_DimmPBModel": { /* 'DPT_DimmPBModel' */
+ return "N8"
+ }
+ case "DPT_Direction1_Control": { /* 'DPT_Direction1_Control' */
+ return "B2"
+ }
+ case "DPT_Direction2_Control": { /* 'DPT_Direction2_Control' */
+ return "B2"
+ }
+ case "DPT_DoubleNibble": { /* 'DPT_DoubleNibble' */
+ return "U4U4"
+ }
+ case "DPT_EnablH_Cstage_Z_DPT_EnablH_CStage": { /* 'DPT_EnablH_Cstage_Z_DPT_EnablH_CStage' */
+ return "N8Z8EnableHeatingOrCoolingStage"
+ }
+ case "DPT_Enable": { /* 'DPT_Enable' */
+ return "B1"
+ }
+ case "DPT_Enable_Control": { /* 'DPT_Enable_Control' */
+ return "B2"
+ }
+ case "DPT_EnergyDemAir": { /* 'DPT_EnergyDemAir' */
+ return "V8N8N8"
+ }
+ case "DPT_EnergyDemWater": { /* 'DPT_EnergyDemWater' */
+ return "U8N8"
+ }
+ case "DPT_ErrorClass_HVAC": { /* 'DPT_ErrorClass_HVAC' */
+ return "N8"
+ }
+ case "DPT_ErrorClass_System": { /* 'DPT_ErrorClass_System' */
+ return "N8"
+ }
+ case "DPT_FanMode": { /* 'DPT_FanMode' */
+ return "N8"
+ }
+ case "DPT_FlaggedScaling": { /* 'DPT_FlaggedScaling' */
+ return "U8r7B1"
+ }
+ case "DPT_FlowRate_m3h": { /* 'DPT_FlowRate_m3h' */
+ return "V32"
+ }
+ case "DPT_FlowRate_m3h_Z": { /* 'DPT_FlowRate_m3h_Z' */
+ return "V32Z8FlowRate"
+ }
+ case "DPT_ForceSign": { /* 'DPT_ForceSign' */
+ return "B8"
+ }
+ case "DPT_ForceSignCool": { /* 'DPT_ForceSignCool' */
+ return "B8"
+ }
+ case "DPT_FuelType": { /* 'DPT_FuelType' */
+ return "N8"
+ }
+ case "DPT_FuelTypeSet": { /* 'DPT_FuelTypeSet' */
+ return "B8"
+ }
+ case "DPT_HVACAirFlowAbs_Z": { /* 'DPT_HVACAirFlowAbs_Z' */
+ return "U16Z8HvacAirFlow"
+ }
+ case "DPT_HVACAirFlowRel_Z": { /* 'DPT_HVACAirFlowRel_Z' */
+ return "V16Z8RelSignedValue"
+ }
+ case "DPT_HVACAirQual_Z": { /* 'DPT_HVACAirQual_Z' */
+ return "U16Z8HvacAirQuality"
+ }
+ case "DPT_HVACContrMode": { /* 'DPT_HVACContrMode' */
+ return "N8"
+ }
+ case "DPT_HVACContrMode_Z": { /* 'DPT_HVACContrMode_Z' */
+ return "N8Z8HvacControllingMode"
+ }
+ case "DPT_HVACEmergMode": { /* 'DPT_HVACEmergMode' */
+ return "N8"
+ }
+ case "DPT_HVACEmergMode_Z": { /* 'DPT_HVACEmergMode_Z' */
+ return "N8Z8EmergencyMode"
+ }
+ case "DPT_HVACMode": { /* 'DPT_HVACMode' */
+ return "N8"
+ }
+ case "DPT_HVACModeNext": { /* 'DPT_HVACModeNext' */
+ return "U16N8HvacModeAndTimeDelay"
+ }
+ case "DPT_HVACMode_Z": { /* 'DPT_HVACMode_Z' */
+ return "N8Z8HvacOperatingMode"
+ }
+ case "DPT_HVAC_PB_Action": { /* 'DPT_HVAC_PB_Action' */
+ return "N2"
+ }
+ case "DPT_Heat_Cool": { /* 'DPT_Heat_Cool' */
+ return "B1"
+ }
+ case "DPT_Heat_Cool_Z": { /* 'DPT_Heat_Cool_Z' */
+ return "B1Z8HeatingOrCoolingZ"
+ }
+ case "DPT_HeaterMode": { /* 'DPT_HeaterMode' */
+ return "N8"
+ }
+ case "DPT_InputSource": { /* 'DPT_InputSource' */
+ return "B1"
+ }
+ case "DPT_Invert": { /* 'DPT_Invert' */
+ return "B1"
+ }
+ case "DPT_Invert_Control": { /* 'DPT_Invert_Control' */
+ return "B2"
+ }
+ case "DPT_KelvinPerPercent": { /* 'DPT_KelvinPerPercent' */
+ return "F16"
+ }
+ case "DPT_LanguageCodeAlpha2_ASCII": { /* 'DPT_LanguageCodeAlpha2_ASCII' */
+ return "A8A8Language"
+ }
+ case "DPT_Length_mm": { /* 'DPT_Length_mm' */
+ return "U16"
+ }
+ case "DPT_LightActuatorErrorInfo": { /* 'DPT_LightActuatorErrorInfo' */
+ return "B8"
+ }
+ case "DPT_LightApplicationMode": { /* 'DPT_LightApplicationMode' */
+ return "N8"
+ }
+ case "DPT_LightControlMode": { /* 'DPT_LightControlMode' */
+ return "N8"
+ }
+ case "DPT_LoadPriority": { /* 'DPT_LoadPriority' */
+ return "N8"
+ }
+ case "DPT_LoadTypeDetected": { /* 'DPT_LoadTypeDetected' */
+ return "N8"
+ }
+ case "DPT_LoadTypeSet": { /* 'DPT_LoadTypeSet' */
+ return "N8"
+ }
+ case "DPT_Locale_ASCII": { /* 'DPT_Locale_ASCII' */
+ return "A8A8A8A8"
+ }
+ case "DPT_LockSign": { /* 'DPT_LockSign' */
+ return "U8B8LockingSignal"
+ }
+ case "DPT_LogicalFunction": { /* 'DPT_LogicalFunction' */
+ return "B1"
+ }
+ case "DPT_LongDeltaTimeSec": { /* 'DPT_LongDeltaTimeSec' */
+ return "V32"
+ }
+ case "DPT_MBus_Address": { /* 'DPT_MBus_Address' */
+ return "U16U32U8N8"
+ }
+ case "DPT_MasterSlaveMode": { /* 'DPT_MasterSlaveMode' */
+ return "N8"
+ }
+ case "DPT_Media": { /* 'DPT_Media' */
+ return "B16"
+ }
+ case "DPT_MeteringValue": { /* 'DPT_MeteringValue' */
+ return "V32N8Z8"
+ }
+ case "DPT_OccMode": { /* 'DPT_OccMode' */
+ return "N8"
+ }
+ case "DPT_OccModeNext": { /* 'DPT_OccModeNext' */
+ return "U16N8OccupancyModeAndTimeDelay"
+ }
+ case "DPT_OccMode_Z": { /* 'DPT_OccMode_Z' */
+ return "N8Z8OccupancyMode"
+ }
+ case "DPT_Occupancy": { /* 'DPT_Occupancy' */
+ return "B1"
+ }
+ case "DPT_OnOff_Action": { /* 'DPT_OnOff_Action' */
+ return "N2"
+ }
+ case "DPT_OpenClose": { /* 'DPT_OpenClose' */
+ return "B1"
+ }
+ case "DPT_PBAction": { /* 'DPT_PBAction' */
+ return "N8"
+ }
+ case "DPT_PB_Action_HVAC_Extended": { /* 'DPT_PB_Action_HVAC_Extended' */
+ return "N3"
+ }
+ case "DPT_PSUMode": { /* 'DPT_PSUMode' */
+ return "N8"
+ }
+ case "DPT_PercentU16_Z": { /* 'DPT_PercentU16_Z' */
+ return "U16Z8PercentValue"
+ }
+ case "DPT_Percent_U8": { /* 'DPT_Percent_U8' */
+ return "U8"
+ }
+ case "DPT_Percent_V16": { /* 'DPT_Percent_V16' */
+ return "V16"
+ }
+ case "DPT_Percent_V16_Z": { /* 'DPT_Percent_V16_Z' */
+ return "V16Z8RelSignedValue"
+ }
+ case "DPT_Percent_V8": { /* 'DPT_Percent_V8' */
+ return "V8"
+ }
+ case "DPT_Power": { /* 'DPT_Power' */
+ return "F16"
+ }
+ case "DPT_PowerDensity": { /* 'DPT_PowerDensity' */
+ return "F16"
+ }
+ case "DPT_PowerFlowWaterDemCPM": { /* 'DPT_PowerFlowWaterDemCPM' */
+ return "V16U8B8ChilledWater"
+ }
+ case "DPT_PowerFlowWaterDemHPM": { /* 'DPT_PowerFlowWaterDemHPM' */
+ return "V16U8B8Heat"
+ }
+ case "DPT_PowerKW_Z": { /* 'DPT_PowerKW_Z' */
+ return "U16Z8Power"
+ }
+ case "DPT_Prioritised_Mode_Control": { /* 'DPT_Prioritised_Mode_Control' */
+ return "B1N3N4"
+ }
+ case "DPT_Priority": { /* 'DPT_Priority' */
+ return "N8"
+ }
+ case "DPT_PropDataType": { /* 'DPT_PropDataType' */
+ return "U16"
+ }
+ case "DPT_RF_FilterInfo": { /* 'DPT_RF_FilterInfo' */
+ return "B8"
+ }
+ case "DPT_RF_FilterSelect": { /* 'DPT_RF_FilterSelect' */
+ return "N8"
+ }
+ case "DPT_RF_ModeInfo": { /* 'DPT_RF_ModeInfo' */
+ return "B8"
+ }
+ case "DPT_RF_ModeSelect": { /* 'DPT_RF_ModeSelect' */
+ return "N8"
+ }
+ case "DPT_Rain_Amount": { /* 'DPT_Rain_Amount' */
+ return "F16"
+ }
+ case "DPT_Ramp": { /* 'DPT_Ramp' */
+ return "B1"
+ }
+ case "DPT_Ramp_Control": { /* 'DPT_Ramp_Control' */
+ return "B2"
+ }
+ case "DPT_ReactiveEnergy": { /* 'DPT_ReactiveEnergy' */
+ return "V32"
+ }
+ case "DPT_ReactiveEnergy_V64": { /* 'DPT_ReactiveEnergy_V64' */
+ return "V64"
+ }
+ case "DPT_ReactiveEnergy_kVARh": { /* 'DPT_ReactiveEnergy_kVARh' */
+ return "V32"
+ }
+ case "DPT_RegionCodeAlpha2_ASCII": { /* 'DPT_RegionCodeAlpha2_ASCII' */
+ return "A8A8Region"
+ }
+ case "DPT_RelSignedValue_Z": { /* 'DPT_RelSignedValue_Z' */
+ return "V8Z8RelSignedValue"
+ }
+ case "DPT_RelValue_Z": { /* 'DPT_RelValue_Z' */
+ return "U8Z8Rel"
+ }
+ case "DPT_Reset": { /* 'DPT_Reset' */
+ return "B1"
+ }
+ case "DPT_Rotation_Angle": { /* 'DPT_Rotation_Angle' */
+ return "V16"
+ }
+ case "DPT_SABBehaviour_Lock_Unlock": { /* 'DPT_SABBehaviour_Lock_Unlock' */
+ return "N8"
+ }
+ case "DPT_SABExceptBehaviour": { /* 'DPT_SABExceptBehaviour' */
+ return "N8"
+ }
+ case "DPT_SCLOMode": { /* 'DPT_SCLOMode' */
+ return "N8"
+ }
+ case "DPT_SSSBMode": { /* 'DPT_SSSBMode' */
+ return "N8"
+ }
+ case "DPT_Scaling": { /* 'DPT_Scaling' */
+ return "U8"
+ }
+ case "DPT_ScalingSpeed": { /* 'DPT_ScalingSpeed' */
+ return "U16U8Scaling"
+ }
+ case "DPT_Scaling_Step_Time": { /* 'DPT_Scaling_Step_Time' */
+ return "U16U8Scaling"
+ }
+ case "DPT_SceneConfig": { /* 'DPT_SceneConfig' */
+ return "B2U6"
+ }
+ case "DPT_SceneControl": { /* 'DPT_SceneControl' */
+ return "B1r1U6"
+ }
+ case "DPT_SceneInfo": { /* 'DPT_SceneInfo' */
+ return "r1b1U6"
+ }
+ case "DPT_SceneNumber": { /* 'DPT_SceneNumber' */
+ return "r2U6"
+ }
+ case "DPT_Scene_AB": { /* 'DPT_Scene_AB' */
+ return "B1"
+ }
+ case "DPT_SensorSelect": { /* 'DPT_SensorSelect' */
+ return "N8"
+ }
+ case "DPT_SerNum": { /* 'DPT_SerNum' */
+ return "N16U32"
+ }
+ case "DPT_ShutterBlinds_Mode": { /* 'DPT_ShutterBlinds_Mode' */
+ return "B1"
+ }
+ case "DPT_SpecHeatProd": { /* 'DPT_SpecHeatProd' */
+ return "U16U8N8B8"
+ }
+ case "DPT_Start": { /* 'DPT_Start' */
+ return "B1"
+ }
+ case "DPT_StartSynchronization": { /* 'DPT_StartSynchronization' */
+ return "N8"
+ }
+ case "DPT_Start_Control": { /* 'DPT_Start_Control' */
+ return "B2"
+ }
+ case "DPT_State": { /* 'DPT_State' */
+ return "B1"
+ }
+ case "DPT_State_Control": { /* 'DPT_State_Control' */
+ return "B2"
+ }
+ case "DPT_StatusAHU": { /* 'DPT_StatusAHU' */
+ return "B8"
+ }
+ case "DPT_StatusAct": { /* 'DPT_StatusAct' */
+ return "U8B8ActuatorPositionStatus"
+ }
+ case "DPT_StatusBOC": { /* 'DPT_StatusBOC' */
+ return "V16U8B16Boiler"
+ }
+ case "DPT_StatusBUC": { /* 'DPT_StatusBUC' */
+ return "U8B8StatusBurnerController"
+ }
+ case "DPT_StatusCC": { /* 'DPT_StatusCC' */
+ return "V16U8B16Chiller"
+ }
+ case "DPT_StatusCPM": { /* 'DPT_StatusCPM' */
+ return "V16B8ColdWaterProducerManagerStatus"
+ }
+ case "DPT_StatusDHWC": { /* 'DPT_StatusDHWC' */
+ return "B16"
+ }
+ case "DPT_StatusGen": { /* 'DPT_StatusGen' */
+ return "B8"
+ }
+ case "DPT_StatusHPM": { /* 'DPT_StatusHPM' */
+ return "V16B8HeatProducerManagerStatus"
+ }
+ case "DPT_StatusLightingActuator": { /* 'DPT_StatusLightingActuator' */
+ return "U8B8StatusLightingActuator"
+ }
+ case "DPT_StatusRCC": { /* 'DPT_StatusRCC' */
+ return "B8"
+ }
+ case "DPT_StatusRHC": { /* 'DPT_StatusRHC' */
+ return "B8"
+ }
+ case "DPT_StatusRHCC": { /* 'DPT_StatusRHCC' */
+ return "B16"
+ }
+ case "DPT_StatusRoomSetp": { /* 'DPT_StatusRoomSetp' */
+ return "N8"
+ }
+ case "DPT_StatusSAB": { /* 'DPT_StatusSAB' */
+ return "U8U8B16"
+ }
+ case "DPT_StatusSDHWC": { /* 'DPT_StatusSDHWC' */
+ return "B8"
+ }
+ case "DPT_StatusWTC": { /* 'DPT_StatusWTC' */
+ return "V16B8WaterTemperatureControllerStatus"
+ }
+ case "DPT_Status_Mode3": { /* 'DPT_Status_Mode3' */
+ return "B5N3"
+ }
+ case "DPT_Step": { /* 'DPT_Step' */
+ return "B1"
+ }
+ case "DPT_Step_Control": { /* 'DPT_Step_Control' */
+ return "B2"
+ }
+ case "DPT_String_8859_1": { /* 'DPT_String_8859_1' */
+ return "A112_8859_1"
+ }
+ case "DPT_String_ASCII": { /* 'DPT_String_ASCII' */
+ return "A112_ASCII"
+ }
+ case "DPT_SunIntensity_Z": { /* 'DPT_SunIntensity_Z' */
+ return "U16Z8SunIntensity"
+ }
+ case "DPT_Switch": { /* 'DPT_Switch' */
+ return "B1"
+ }
+ case "DPT_SwitchOnMode": { /* 'DPT_SwitchOnMode' */
+ return "N8"
+ }
+ case "DPT_SwitchPBModel": { /* 'DPT_SwitchPBModel' */
+ return "N8"
+ }
+ case "DPT_Switch_Control": { /* 'DPT_Switch_Control' */
+ return "B2"
+ }
+ case "DPT_Tariff": { /* 'DPT_Tariff' */
+ return "U8"
+ }
+ case "DPT_TariffNext": { /* 'DPT_TariffNext' */
+ return "U16U8TariffNext"
+ }
+ case "DPT_Tariff_ActiveEnergy": { /* 'DPT_Tariff_ActiveEnergy' */
+ return "V32U8B8"
+ }
+ case "DPT_TempDHWSetpSet4": { /* 'DPT_TempDHWSetpSet4' */
+ return "V16V16V16V16DhwtTemperature"
+ }
+ case "DPT_TempFlowWaterDemAbs": { /* 'DPT_TempFlowWaterDemAbs' */
+ return "V16B16"
+ }
+ case "DPT_TempHVACAbsNext": { /* 'DPT_TempHVACAbsNext' */
+ return "U16V16"
+ }
+ case "DPT_TempHVACAbs_Z": { /* 'DPT_TempHVACAbs_Z' */
+ return "V16Z8RelSignedValue"
+ }
+ case "DPT_TempHVACRel_Z": { /* 'DPT_TempHVACRel_Z' */
+ return "V16Z8RelSignedValue"
+ }
+ case "DPT_TempRoomDemAbs": { /* 'DPT_TempRoomDemAbs' */
+ return "V16B8RoomTemperatureDemand"
+ }
+ case "DPT_TempRoomSetpSet3": { /* 'DPT_TempRoomSetpSet3' */
+ return "V16V16V16RoomTemperature"
+ }
+ case "DPT_TempRoomSetpSet4": { /* 'DPT_TempRoomSetpSet4' */
+ return "V16V16V16V16RoomTemperature"
+ }
+ case "DPT_TempRoomSetpSetF163": { /* 'DPT_TempRoomSetpSetF163' */
+ return "F16F16F16"
+ }
+ case "DPT_TempRoomSetpSetShift3": { /* 'DPT_TempRoomSetpSetShift3' */
+ return "V16V16V16RoomTemperatureShift"
+ }
+ case "DPT_TempRoomSetpSetShift4": { /* 'DPT_TempRoomSetpSetShift4' */
+ return "V16V16V16V16RoomTemperatureShift"
+ }
+ case "DPT_TempRoomSetpSetShiftF163": { /* 'DPT_TempRoomSetpSetShiftF163' */
+ return "F16F16F16"
+ }
+ case "DPT_TempSupply_AirSetpSet": { /* 'DPT_TempSupply_AirSetpSet' */
+ return "V16V16N8N8"
+ }
+ case "DPT_TimeOfDay": { /* 'DPT_TimeOfDay' */
+ return "N3N5r2N6r2N6"
+ }
+ case "DPT_TimePeriod100MSec": { /* 'DPT_TimePeriod100MSec' */
+ return "U16"
+ }
+ case "DPT_TimePeriod100Msec_Z": { /* 'DPT_TimePeriod100Msec_Z' */
+ return "U16Z8TimePeriod"
+ }
+ case "DPT_TimePeriod10MSec": { /* 'DPT_TimePeriod10MSec' */
+ return "U16"
+ }
+ case "DPT_TimePeriod10Msec_Z": { /* 'DPT_TimePeriod10Msec_Z' */
+ return "U16Z8TimePeriod"
+ }
+ case "DPT_TimePeriodHrs": { /* 'DPT_TimePeriodHrs' */
+ return "U16"
+ }
+ case "DPT_TimePeriodHrs_Z": { /* 'DPT_TimePeriodHrs_Z' */
+ return "U16Z8TimePeriod"
+ }
+ case "DPT_TimePeriodMin": { /* 'DPT_TimePeriodMin' */
+ return "U16"
+ }
+ case "DPT_TimePeriodMin_Z": { /* 'DPT_TimePeriodMin_Z' */
+ return "U16Z8TimePeriod"
+ }
+ case "DPT_TimePeriodMsec": { /* 'DPT_TimePeriodMsec' */
+ return "U16"
+ }
+ case "DPT_TimePeriodMsec_Z": { /* 'DPT_TimePeriodMsec_Z' */
+ return "U16Z8TimePeriod"
+ }
+ case "DPT_TimePeriodSec": { /* 'DPT_TimePeriodSec' */
+ return "U16"
+ }
+ case "DPT_TimePeriodSec_Z": { /* 'DPT_TimePeriodSec_Z' */
+ return "U16Z8TimePeriod"
+ }
+ case "DPT_Time_Delay": { /* 'DPT_Time_Delay' */
+ return "N8"
+ }
+ case "DPT_Trigger": { /* 'DPT_Trigger' */
+ return "B1"
+ }
+ case "DPT_UCountValue16_Z": { /* 'DPT_UCountValue16_Z' */
+ return "U16Z8Counter"
+ }
+ case "DPT_UCountValue8_Z": { /* 'DPT_UCountValue8_Z' */
+ return "U8Z8Counter"
+ }
+ case "DPT_UElCurrentmA": { /* 'DPT_UElCurrentmA' */
+ return "U16"
+ }
+ case "DPT_UElCurrentyA_Z": { /* 'DPT_UElCurrentyA_Z' */
+ return "U16Z8ElectricCurrent"
+ }
+ case "DPT_UFlowRateLiter_h_Z": { /* 'DPT_UFlowRateLiter_h_Z' */
+ return "U16Z8FlowRate"
+ }
+ case "DPT_UTF_8": { /* 'DPT_UTF_8' */
+ return "An_UTF_8"
+ }
+ case "DPT_UpDown": { /* 'DPT_UpDown' */
+ return "B1"
+ }
+ case "DPT_UpDown_Action": { /* 'DPT_UpDown_Action' */
+ return "N2"
+ }
+ case "DPT_ValueDemBOC": { /* 'DPT_ValueDemBOC' */
+ return "U8B8BoilerControllerDemandSignal"
+ }
+ case "DPT_Value_1_Count": { /* 'DPT_Value_1_Count' */
+ return "V8"
+ }
+ case "DPT_Value_1_Ucount": { /* 'DPT_Value_1_Ucount' */
+ return "U8"
+ }
+ case "DPT_Value_2_Count": { /* 'DPT_Value_2_Count' */
+ return "V16"
+ }
+ case "DPT_Value_2_Ucount": { /* 'DPT_Value_2_Ucount' */
+ return "U16"
+ }
+ case "DPT_Value_4_Count": { /* 'DPT_Value_4_Count' */
+ return "V32"
+ }
+ case "DPT_Value_4_Ucount": { /* 'DPT_Value_4_Ucount' */
+ return "U32"
+ }
+ case "DPT_Value_Absolute_Temperature": { /* 'DPT_Value_Absolute_Temperature' */
+ return "F32"
+ }
+ case "DPT_Value_Acceleration": { /* 'DPT_Value_Acceleration' */
+ return "F32"
+ }
+ case "DPT_Value_Acceleration_Angular": { /* 'DPT_Value_Acceleration_Angular' */
+ return "F32"
+ }
+ case "DPT_Value_Activation_Energy": { /* 'DPT_Value_Activation_Energy' */
+ return "F32"
+ }
+ case "DPT_Value_Activity": { /* 'DPT_Value_Activity' */
+ return "F32"
+ }
+ case "DPT_Value_AirQuality": { /* 'DPT_Value_AirQuality' */
+ return "F16"
+ }
+ case "DPT_Value_Amplitude": { /* 'DPT_Value_Amplitude' */
+ return "F32"
+ }
+ case "DPT_Value_AngleDeg": { /* 'DPT_Value_AngleDeg' */
+ return "F32"
+ }
+ case "DPT_Value_AngleRad": { /* 'DPT_Value_AngleRad' */
+ return "F32"
+ }
+ case "DPT_Value_Angular_Frequency": { /* 'DPT_Value_Angular_Frequency' */
+ return "F32"
+ }
+ case "DPT_Value_Angular_Momentum": { /* 'DPT_Value_Angular_Momentum' */
+ return "F32"
+ }
+ case "DPT_Value_Angular_Velocity": { /* 'DPT_Value_Angular_Velocity' */
+ return "F32"
+ }
+ case "DPT_Value_Area": { /* 'DPT_Value_Area' */
+ return "F32"
+ }
+ case "DPT_Value_Capacitance": { /* 'DPT_Value_Capacitance' */
+ return "F32"
+ }
+ case "DPT_Value_Charge_DensitySurface": { /* 'DPT_Value_Charge_DensitySurface' */
+ return "F32"
+ }
+ case "DPT_Value_Charge_DensityVolume": { /* 'DPT_Value_Charge_DensityVolume' */
+ return "F32"
+ }
+ case "DPT_Value_Common_Temperature": { /* 'DPT_Value_Common_Temperature' */
+ return "F32"
+ }
+ case "DPT_Value_Compressibility": { /* 'DPT_Value_Compressibility' */
+ return "F32"
+ }
+ case "DPT_Value_Conductance": { /* 'DPT_Value_Conductance' */
+ return "F32"
+ }
+ case "DPT_Value_Curr": { /* 'DPT_Value_Curr' */
+ return "F16"
+ }
+ case "DPT_Value_Density": { /* 'DPT_Value_Density' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_Charge": { /* 'DPT_Value_Electric_Charge' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_Current": { /* 'DPT_Value_Electric_Current' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_CurrentDensity": { /* 'DPT_Value_Electric_CurrentDensity' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_DipoleMoment": { /* 'DPT_Value_Electric_DipoleMoment' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_Displacement": { /* 'DPT_Value_Electric_Displacement' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_FieldStrength": { /* 'DPT_Value_Electric_FieldStrength' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_Flux": { /* 'DPT_Value_Electric_Flux' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_FluxDensity": { /* 'DPT_Value_Electric_FluxDensity' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_Polarization": { /* 'DPT_Value_Electric_Polarization' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_Potential": { /* 'DPT_Value_Electric_Potential' */
+ return "F32"
+ }
+ case "DPT_Value_Electric_PotentialDifference": { /* 'DPT_Value_Electric_PotentialDifference' */
+ return "F32"
+ }
+ case "DPT_Value_Electrical_Conductivity": { /* 'DPT_Value_Electrical_Conductivity' */
+ return "F32"
+ }
+ case "DPT_Value_ElectromagneticMoment": { /* 'DPT_Value_ElectromagneticMoment' */
+ return "F32"
+ }
+ case "DPT_Value_Electromotive_Force": { /* 'DPT_Value_Electromotive_Force' */
+ return "F32"
+ }
+ case "DPT_Value_Energy": { /* 'DPT_Value_Energy' */
+ return "F32"
+ }
+ case "DPT_Value_Force": { /* 'DPT_Value_Force' */
+ return "F32"
+ }
+ case "DPT_Value_Frequency": { /* 'DPT_Value_Frequency' */
+ return "F32"
+ }
+ case "DPT_Value_Heat_Capacity": { /* 'DPT_Value_Heat_Capacity' */
+ return "F32"
+ }
+ case "DPT_Value_Heat_FlowRate": { /* 'DPT_Value_Heat_FlowRate' */
+ return "F32"
+ }
+ case "DPT_Value_Heat_Quantity": { /* 'DPT_Value_Heat_Quantity' */
+ return "F32"
+ }
+ case "DPT_Value_Humidity": { /* 'DPT_Value_Humidity' */
+ return "F16"
+ }
+ case "DPT_Value_Impedance": { /* 'DPT_Value_Impedance' */
+ return "F32"
+ }
+ case "DPT_Value_Length": { /* 'DPT_Value_Length' */
+ return "F32"
+ }
+ case "DPT_Value_Light_Quantity": { /* 'DPT_Value_Light_Quantity' */
+ return "F32"
+ }
+ case "DPT_Value_Luminance": { /* 'DPT_Value_Luminance' */
+ return "F32"
+ }
+ case "DPT_Value_Luminous_Flux": { /* 'DPT_Value_Luminous_Flux' */
+ return "F32"
+ }
+ case "DPT_Value_Luminous_Intensity": { /* 'DPT_Value_Luminous_Intensity' */
+ return "F32"
+ }
+ case "DPT_Value_Lux": { /* 'DPT_Value_Lux' */
+ return "F16"
+ }
+ case "DPT_Value_Magnetic_FieldStrength": { /* 'DPT_Value_Magnetic_FieldStrength' */
+ return "F32"
+ }
+ case "DPT_Value_Magnetic_Flux": { /* 'DPT_Value_Magnetic_Flux' */
+ return "F32"
+ }
+ case "DPT_Value_Magnetic_FluxDensity": { /* 'DPT_Value_Magnetic_FluxDensity' */
+ return "F32"
+ }
+ case "DPT_Value_Magnetic_Moment": { /* 'DPT_Value_Magnetic_Moment' */
+ return "F32"
+ }
+ case "DPT_Value_Magnetic_Polarization": { /* 'DPT_Value_Magnetic_Polarization' */
+ return "F32"
+ }
+ case "DPT_Value_Magnetization": { /* 'DPT_Value_Magnetization' */
+ return "F32"
+ }
+ case "DPT_Value_MagnetomotiveForce": { /* 'DPT_Value_MagnetomotiveForce' */
+ return "F32"
+ }
+ case "DPT_Value_Mass": { /* 'DPT_Value_Mass' */
+ return "F32"
+ }
+ case "DPT_Value_MassFlux": { /* 'DPT_Value_MassFlux' */
+ return "F32"
+ }
+ case "DPT_Value_Mol": { /* 'DPT_Value_Mol' */
+ return "F32"
+ }
+ case "DPT_Value_Momentum": { /* 'DPT_Value_Momentum' */
+ return "F32"
+ }
+ case "DPT_Value_Phase_AngleDeg": { /* 'DPT_Value_Phase_AngleDeg' */
+ return "F32"
+ }
+ case "DPT_Value_Phase_AngleRad": { /* 'DPT_Value_Phase_AngleRad' */
+ return "F32"
+ }
+ case "DPT_Value_Power": { /* 'DPT_Value_Power' */
+ return "F32"
+ }
+ case "DPT_Value_Power_Factor": { /* 'DPT_Value_Power_Factor' */
+ return "F32"
+ }
+ case "DPT_Value_Pres": { /* 'DPT_Value_Pres' */
+ return "F16"
+ }
+ case "DPT_Value_Pressure": { /* 'DPT_Value_Pressure' */
+ return "F32"
+ }
+ case "DPT_Value_Reactance": { /* 'DPT_Value_Reactance' */
+ return "F32"
+ }
+ case "DPT_Value_Resistance": { /* 'DPT_Value_Resistance' */
+ return "F32"
+ }
+ case "DPT_Value_Resistivity": { /* 'DPT_Value_Resistivity' */
+ return "F32"
+ }
+ case "DPT_Value_SelfInductance": { /* 'DPT_Value_SelfInductance' */
+ return "F32"
+ }
+ case "DPT_Value_SolidAngle": { /* 'DPT_Value_SolidAngle' */
+ return "F32"
+ }
+ case "DPT_Value_Sound_Intensity": { /* 'DPT_Value_Sound_Intensity' */
+ return "F32"
+ }
+ case "DPT_Value_Speed": { /* 'DPT_Value_Speed' */
+ return "F32"
+ }
+ case "DPT_Value_Stress": { /* 'DPT_Value_Stress' */
+ return "F32"
+ }
+ case "DPT_Value_Surface_Tension": { /* 'DPT_Value_Surface_Tension' */
+ return "F32"
+ }
+ case "DPT_Value_Temp": { /* 'DPT_Value_Temp' */
+ return "F16"
+ }
+ case "DPT_Value_Temp_F": { /* 'DPT_Value_Temp_F' */
+ return "F16"
+ }
+ case "DPT_Value_Tempa": { /* 'DPT_Value_Tempa' */
+ return "F16"
+ }
+ case "DPT_Value_Tempd": { /* 'DPT_Value_Tempd' */
+ return "F16"
+ }
+ case "DPT_Value_TemperatureDifference": { /* 'DPT_Value_TemperatureDifference' */
+ return "F32"
+ }
+ case "DPT_Value_Thermal_Capacity": { /* 'DPT_Value_Thermal_Capacity' */
+ return "F32"
+ }
+ case "DPT_Value_Thermal_Conductivity": { /* 'DPT_Value_Thermal_Conductivity' */
+ return "F32"
+ }
+ case "DPT_Value_ThermoelectricPower": { /* 'DPT_Value_ThermoelectricPower' */
+ return "F32"
+ }
+ case "DPT_Value_Time": { /* 'DPT_Value_Time' */
+ return "F32"
+ }
+ case "DPT_Value_Time1": { /* 'DPT_Value_Time1' */
+ return "F16"
+ }
+ case "DPT_Value_Time2": { /* 'DPT_Value_Time2' */
+ return "F16"
+ }
+ case "DPT_Value_Torque": { /* 'DPT_Value_Torque' */
+ return "F32"
+ }
+ case "DPT_Value_Volt": { /* 'DPT_Value_Volt' */
+ return "F16"
+ }
+ case "DPT_Value_Volume": { /* 'DPT_Value_Volume' */
+ return "F32"
+ }
+ case "DPT_Value_Volume_Flow": { /* 'DPT_Value_Volume_Flow' */
+ return "F16"
+ }
+ case "DPT_Value_Volume_Flux": { /* 'DPT_Value_Volume_Flux' */
+ return "F32"
+ }
+ case "DPT_Value_Weight": { /* 'DPT_Value_Weight' */
+ return "F32"
+ }
+ case "DPT_Value_Work": { /* 'DPT_Value_Work' */
+ return "F32"
+ }
+ case "DPT_Value_Wsp": { /* 'DPT_Value_Wsp' */
+ return "F16"
+ }
+ case "DPT_Value_Wsp_kmh": { /* 'DPT_Value_Wsp_kmh' */
+ return "F16"
+ }
+ case "DPT_ValveMode": { /* 'DPT_ValveMode' */
+ return "N8"
+ }
+ case "DPT_VarString_8859_1": { /* 'DPT_VarString_8859_1' */
+ return "An_8859_1"
+ }
+ case "DPT_Version": { /* 'DPT_Version' */
+ return "U5U5U6"
+ }
+ case "DPT_VolumeLiter_Z": { /* 'DPT_VolumeLiter_Z' */
+ return "V32Z8VolumeLiter"
+ }
+ case "DPT_WindSpeed_Z_DPT_WindSpeed": { /* 'DPT_WindSpeed_Z_DPT_WindSpeed' */
+ return "U16Z8WindSpeed"
+ }
+ case "DPT_Window_Door": { /* 'DPT_Window_Door' */
+ return "B1"
+ }
+ default: {
+ return ""
+ }
+ }
+}
+
+func (e KnxDatapointTypes) MainNumber() uint16 {
+ switch e {
+ case "DPT_ADAType": { /* 'DPT_ADAType' */
+ return 20
+ }
+ case "DPT_Access_Data": { /* 'DPT_Access_Data' */
+ return 15
+ }
+ case "DPT_Ack": { /* 'DPT_Ack' */
+ return 1
+ }
+ case "DPT_ActPosDemAbs": { /* 'DPT_ActPosDemAbs' */
+ return 207
+ }
+ case "DPT_ActiveEnergy": { /* 'DPT_ActiveEnergy' */
+ return 13
+ }
+ case "DPT_ActiveEnergy_V64": { /* 'DPT_ActiveEnergy_V64' */
+ return 29
+ }
+ case "DPT_ActiveEnergy_kWh": { /* 'DPT_ActiveEnergy_kWh' */
+ return 13
+ }
+ case "DPT_ActuatorConnectType": { /* 'DPT_ActuatorConnectType' */
+ return 20
+ }
+ case "DPT_AddInfoTypes": { /* 'DPT_AddInfoTypes' */
+ return 20
+ }
+ case "DPT_Alarm": { /* 'DPT_Alarm' */
+ return 1
+ }
+ case "DPT_AlarmClassType": { /* 'DPT_AlarmClassType' */
+ return 20
+ }
+ case "DPT_AlarmInfo": { /* 'DPT_AlarmInfo' */
+ return 219
+ }
+ case "DPT_Alarm_Control": { /* 'DPT_Alarm_Control' */
+ return 2
+ }
+ case "DPT_Alarm_Reaction": { /* 'DPT_Alarm_Reaction' */
+ return 23
+ }
+ case "DPT_Angle": { /* 'DPT_Angle' */
+ return 5
+ }
+ case "DPT_ApparantEnergy": { /* 'DPT_ApparantEnergy' */
+ return 13
+ }
+ case "DPT_ApparantEnergy_V64": { /* 'DPT_ApparantEnergy_V64' */
+ return 29
+ }
+ case "DPT_ApparantEnergy_kVAh": { /* 'DPT_ApparantEnergy_kVAh' */
+ return 13
+ }
+ case "DPT_ApplicationArea": { /* 'DPT_ApplicationArea' */
+ return 20
+ }
+ case "DPT_AtmPressureAbs_Z": { /* 'DPT_AtmPressureAbs_Z' */
+ return 203
+ }
+ case "DPT_BackupMode": { /* 'DPT_BackupMode' */
+ return 20
+ }
+ case "DPT_Beaufort_Wind_Force_Scale": { /* 'DPT_Beaufort_Wind_Force_Scale' */
+ return 20
+ }
+ case "DPT_Behaviour_Bus_Power_Up_Down": { /* 'DPT_Behaviour_Bus_Power_Up_Down' */
+ return 20
+ }
+ case "DPT_Behaviour_Lock_Unlock": { /* 'DPT_Behaviour_Lock_Unlock' */
+ return 20
+ }
+ case "DPT_BinaryValue": { /* 'DPT_BinaryValue' */
+ return 1
+ }
+ case "DPT_BinaryValue_Control": { /* 'DPT_BinaryValue_Control' */
+ return 2
+ }
+ case "DPT_BinaryValue_Z": { /* 'DPT_BinaryValue_Z' */
+ return 200
+ }
+ case "DPT_BlindsControlMode": { /* 'DPT_BlindsControlMode' */
+ return 20
+ }
+ case "DPT_BlinkingMode": { /* 'DPT_BlinkingMode' */
+ return 20
+ }
+ case "DPT_Bool": { /* 'DPT_Bool' */
+ return 1
+ }
+ case "DPT_Bool_Control": { /* 'DPT_Bool_Control' */
+ return 2
+ }
+ case "DPT_Brightness": { /* 'DPT_Brightness' */
+ return 7
+ }
+ case "DPT_BuildingMode": { /* 'DPT_BuildingMode' */
+ return 20
+ }
+ case "DPT_BuildingModeNext": { /* 'DPT_BuildingModeNext' */
+ return 206
+ }
+ case "DPT_BuildingMode_Z": { /* 'DPT_BuildingMode_Z' */
+ return 201
+ }
+ case "DPT_BurnerType": { /* 'DPT_BurnerType' */
+ return 20
+ }
+ case "DPT_ChangeoverMode": { /* 'DPT_ChangeoverMode' */
+ return 20
+ }
+ case "DPT_Channel_Activation_16": { /* 'DPT_Channel_Activation_16' */
+ return 22
+ }
+ case "DPT_Channel_Activation_24": { /* 'DPT_Channel_Activation_24' */
+ return 30
+ }
+ case "DPT_Channel_Activation_8": { /* 'DPT_Channel_Activation_8' */
+ return 21
+ }
+ case "DPT_Char_8859_1": { /* 'DPT_Char_8859_1' */
+ return 4
+ }
+ case "DPT_Char_ASCII": { /* 'DPT_Char_ASCII' */
+ return 4
+ }
+ case "DPT_Colour_RGB": { /* 'DPT_Colour_RGB' */
+ return 232
+ }
+ case "DPT_CombinedInfoOnOff": { /* 'DPT_CombinedInfoOnOff' */
+ return 27
+ }
+ case "DPT_CombinedPosition": { /* 'DPT_CombinedPosition' */
+ return 240
+ }
+ case "DPT_CommMode": { /* 'DPT_CommMode' */
+ return 20
+ }
+ case "DPT_Control_Blinds": { /* 'DPT_Control_Blinds' */
+ return 3
+ }
+ case "DPT_Control_Dimming": { /* 'DPT_Control_Dimming' */
+ return 3
+ }
+ case "DPT_DALI_Control_Gear_Diagnostic": { /* 'DPT_DALI_Control_Gear_Diagnostic' */
+ return 237
+ }
+ case "DPT_DALI_Diagnostics": { /* 'DPT_DALI_Diagnostics' */
+ return 238
+ }
+ case "DPT_DALI_Fade_Time": { /* 'DPT_DALI_Fade_Time' */
+ return 20
+ }
+ case "DPT_DHWMode": { /* 'DPT_DHWMode' */
+ return 20
+ }
+ case "DPT_DHWModeNext": { /* 'DPT_DHWModeNext' */
+ return 206
+ }
+ case "DPT_DHWMode_Z": { /* 'DPT_DHWMode_Z' */
+ return 201
+ }
+ case "DPT_DamperMode": { /* 'DPT_DamperMode' */
+ return 20
+ }
+ case "DPT_Date": { /* 'DPT_Date' */
+ return 11
+ }
+ case "DPT_DateTime": { /* 'DPT_DateTime' */
+ return 19
+ }
+ case "DPT_DecimalFactor": { /* 'DPT_DecimalFactor' */
+ return 5
+ }
+ case "DPT_DeltaTime100MSec": { /* 'DPT_DeltaTime100MSec' */
+ return 8
+ }
+ case "DPT_DeltaTime100Msec_Z": { /* 'DPT_DeltaTime100Msec_Z' */
+ return 205
+ }
+ case "DPT_DeltaTime10MSec": { /* 'DPT_DeltaTime10MSec' */
+ return 8
+ }
+ case "DPT_DeltaTime10Msec_Z": { /* 'DPT_DeltaTime10Msec_Z' */
+ return 205
+ }
+ case "DPT_DeltaTimeHrs": { /* 'DPT_DeltaTimeHrs' */
+ return 8
+ }
+ case "DPT_DeltaTimeHrs_Z": { /* 'DPT_DeltaTimeHrs_Z' */
+ return 205
+ }
+ case "DPT_DeltaTimeMin": { /* 'DPT_DeltaTimeMin' */
+ return 8
+ }
+ case "DPT_DeltaTimeMin_Z": { /* 'DPT_DeltaTimeMin_Z' */
+ return 205
+ }
+ case "DPT_DeltaTimeMsec": { /* 'DPT_DeltaTimeMsec' */
+ return 8
+ }
+ case "DPT_DeltaTimeMsec_Z": { /* 'DPT_DeltaTimeMsec_Z' */
+ return 205
+ }
+ case "DPT_DeltaTimeSec": { /* 'DPT_DeltaTimeSec' */
+ return 8
+ }
+ case "DPT_DeltaTimeSec_Z": { /* 'DPT_DeltaTimeSec_Z' */
+ return 205
+ }
+ case "DPT_Device_Control": { /* 'DPT_Device_Control' */
+ return 21
+ }
+ case "DPT_DimSendStyle": { /* 'DPT_DimSendStyle' */
+ return 1
+ }
+ case "DPT_DimmPBModel": { /* 'DPT_DimmPBModel' */
+ return 20
+ }
+ case "DPT_Direction1_Control": { /* 'DPT_Direction1_Control' */
+ return 2
+ }
+ case "DPT_Direction2_Control": { /* 'DPT_Direction2_Control' */
+ return 2
+ }
+ case "DPT_DoubleNibble": { /* 'DPT_DoubleNibble' */
+ return 25
+ }
+ case "DPT_EnablH_Cstage_Z_DPT_EnablH_CStage": { /* 'DPT_EnablH_Cstage_Z_DPT_EnablH_CStage' */
+ return 201
+ }
+ case "DPT_Enable": { /* 'DPT_Enable' */
+ return 1
+ }
+ case "DPT_Enable_Control": { /* 'DPT_Enable_Control' */
+ return 2
+ }
+ case "DPT_EnergyDemAir": { /* 'DPT_EnergyDemAir' */
+ return 223
+ }
+ case "DPT_EnergyDemWater": { /* 'DPT_EnergyDemWater' */
+ return 211
+ }
+ case "DPT_ErrorClass_HVAC": { /* 'DPT_ErrorClass_HVAC' */
+ return 20
+ }
+ case "DPT_ErrorClass_System": { /* 'DPT_ErrorClass_System' */
+ return 20
+ }
+ case "DPT_FanMode": { /* 'DPT_FanMode' */
+ return 20
+ }
+ case "DPT_FlaggedScaling": { /* 'DPT_FlaggedScaling' */
+ return 239
+ }
+ case "DPT_FlowRate_m3h": { /* 'DPT_FlowRate_m3h' */
+ return 13
+ }
+ case "DPT_FlowRate_m3h_Z": { /* 'DPT_FlowRate_m3h_Z' */
+ return 218
+ }
+ case "DPT_ForceSign": { /* 'DPT_ForceSign' */
+ return 21
+ }
+ case "DPT_ForceSignCool": { /* 'DPT_ForceSignCool' */
+ return 21
+ }
+ case "DPT_FuelType": { /* 'DPT_FuelType' */
+ return 20
+ }
+ case "DPT_FuelTypeSet": { /* 'DPT_FuelTypeSet' */
+ return 21
+ }
+ case "DPT_HVACAirFlowAbs_Z": { /* 'DPT_HVACAirFlowAbs_Z' */
+ return 203
+ }
+ case "DPT_HVACAirFlowRel_Z": { /* 'DPT_HVACAirFlowRel_Z' */
+ return 205
+ }
+ case "DPT_HVACAirQual_Z": { /* 'DPT_HVACAirQual_Z' */
+ return 203
+ }
+ case "DPT_HVACContrMode": { /* 'DPT_HVACContrMode' */
+ return 20
+ }
+ case "DPT_HVACContrMode_Z": { /* 'DPT_HVACContrMode_Z' */
+ return 201
+ }
+ case "DPT_HVACEmergMode": { /* 'DPT_HVACEmergMode' */
+ return 20
+ }
+ case "DPT_HVACEmergMode_Z": { /* 'DPT_HVACEmergMode_Z' */
+ return 201
+ }
+ case "DPT_HVACMode": { /* 'DPT_HVACMode' */
+ return 20
+ }
+ case "DPT_HVACModeNext": { /* 'DPT_HVACModeNext' */
+ return 206
+ }
+ case "DPT_HVACMode_Z": { /* 'DPT_HVACMode_Z' */
+ return 201
+ }
+ case "DPT_HVAC_PB_Action": { /* 'DPT_HVAC_PB_Action' */
+ return 23
+ }
+ case "DPT_Heat_Cool": { /* 'DPT_Heat_Cool' */
+ return 1
+ }
+ case "DPT_Heat_Cool_Z": { /* 'DPT_Heat_Cool_Z' */
+ return 200
+ }
+ case "DPT_HeaterMode": { /* 'DPT_HeaterMode' */
+ return 20
+ }
+ case "DPT_InputSource": { /* 'DPT_InputSource' */
+ return 1
+ }
+ case "DPT_Invert": { /* 'DPT_Invert' */
+ return 1
+ }
+ case "DPT_Invert_Control": { /* 'DPT_Invert_Control' */
+ return 2
+ }
+ case "DPT_KelvinPerPercent": { /* 'DPT_KelvinPerPercent' */
+ return 9
+ }
+ case "DPT_LanguageCodeAlpha2_ASCII": { /* 'DPT_LanguageCodeAlpha2_ASCII' */
+ return 234
+ }
+ case "DPT_Length_mm": { /* 'DPT_Length_mm' */
+ return 7
+ }
+ case "DPT_LightActuatorErrorInfo": { /* 'DPT_LightActuatorErrorInfo' */
+ return 21
+ }
+ case "DPT_LightApplicationMode": { /* 'DPT_LightApplicationMode' */
+ return 20
+ }
+ case "DPT_LightControlMode": { /* 'DPT_LightControlMode' */
+ return 20
+ }
+ case "DPT_LoadPriority": { /* 'DPT_LoadPriority' */
+ return 20
+ }
+ case "DPT_LoadTypeDetected": { /* 'DPT_LoadTypeDetected' */
+ return 20
+ }
+ case "DPT_LoadTypeSet": { /* 'DPT_LoadTypeSet' */
+ return 20
+ }
+ case "DPT_Locale_ASCII": { /* 'DPT_Locale_ASCII' */
+ return 231
+ }
+ case "DPT_LockSign": { /* 'DPT_LockSign' */
+ return 207
+ }
+ case "DPT_LogicalFunction": { /* 'DPT_LogicalFunction' */
+ return 1
+ }
+ case "DPT_LongDeltaTimeSec": { /* 'DPT_LongDeltaTimeSec' */
+ return 13
+ }
+ case "DPT_MBus_Address": { /* 'DPT_MBus_Address' */
+ return 230
+ }
+ case "DPT_MasterSlaveMode": { /* 'DPT_MasterSlaveMode' */
+ return 20
+ }
+ case "DPT_Media": { /* 'DPT_Media' */
+ return 22
+ }
+ case "DPT_MeteringValue": { /* 'DPT_MeteringValue' */
+ return 229
+ }
+ case "DPT_OccMode": { /* 'DPT_OccMode' */
+ return 20
+ }
+ case "DPT_OccModeNext": { /* 'DPT_OccModeNext' */
+ return 206
+ }
+ case "DPT_OccMode_Z": { /* 'DPT_OccMode_Z' */
+ return 201
+ }
+ case "DPT_Occupancy": { /* 'DPT_Occupancy' */
+ return 1
+ }
+ case "DPT_OnOff_Action": { /* 'DPT_OnOff_Action' */
+ return 23
+ }
+ case "DPT_OpenClose": { /* 'DPT_OpenClose' */
+ return 1
+ }
+ case "DPT_PBAction": { /* 'DPT_PBAction' */
+ return 20
+ }
+ case "DPT_PB_Action_HVAC_Extended": { /* 'DPT_PB_Action_HVAC_Extended' */
+ return 31
+ }
+ case "DPT_PSUMode": { /* 'DPT_PSUMode' */
+ return 20
+ }
+ case "DPT_PercentU16_Z": { /* 'DPT_PercentU16_Z' */
+ return 203
+ }
+ case "DPT_Percent_U8": { /* 'DPT_Percent_U8' */
+ return 5
+ }
+ case "DPT_Percent_V16": { /* 'DPT_Percent_V16' */
+ return 8
+ }
+ case "DPT_Percent_V16_Z": { /* 'DPT_Percent_V16_Z' */
+ return 205
+ }
+ case "DPT_Percent_V8": { /* 'DPT_Percent_V8' */
+ return 6
+ }
+ case "DPT_Power": { /* 'DPT_Power' */
+ return 9
+ }
+ case "DPT_PowerDensity": { /* 'DPT_PowerDensity' */
+ return 9
+ }
+ case "DPT_PowerFlowWaterDemCPM": { /* 'DPT_PowerFlowWaterDemCPM' */
+ return 214
+ }
+ case "DPT_PowerFlowWaterDemHPM": { /* 'DPT_PowerFlowWaterDemHPM' */
+ return 214
+ }
+ case "DPT_PowerKW_Z": { /* 'DPT_PowerKW_Z' */
+ return 203
+ }
+ case "DPT_Prioritised_Mode_Control": { /* 'DPT_Prioritised_Mode_Control' */
+ return 236
+ }
+ case "DPT_Priority": { /* 'DPT_Priority' */
+ return 20
+ }
+ case "DPT_PropDataType": { /* 'DPT_PropDataType' */
+ return 7
+ }
+ case "DPT_RF_FilterInfo": { /* 'DPT_RF_FilterInfo' */
+ return 21
+ }
+ case "DPT_RF_FilterSelect": { /* 'DPT_RF_FilterSelect' */
+ return 20
+ }
+ case "DPT_RF_ModeInfo": { /* 'DPT_RF_ModeInfo' */
+ return 21
+ }
+ case "DPT_RF_ModeSelect": { /* 'DPT_RF_ModeSelect' */
+ return 20
+ }
+ case "DPT_Rain_Amount": { /* 'DPT_Rain_Amount' */
+ return 9
+ }
+ case "DPT_Ramp": { /* 'DPT_Ramp' */
+ return 1
+ }
+ case "DPT_Ramp_Control": { /* 'DPT_Ramp_Control' */
+ return 2
+ }
+ case "DPT_ReactiveEnergy": { /* 'DPT_ReactiveEnergy' */
+ return 13
+ }
+ case "DPT_ReactiveEnergy_V64": { /* 'DPT_ReactiveEnergy_V64' */
+ return 29
+ }
+ case "DPT_ReactiveEnergy_kVARh": { /* 'DPT_ReactiveEnergy_kVARh' */
+ return 13
+ }
+ case "DPT_RegionCodeAlpha2_ASCII": { /* 'DPT_RegionCodeAlpha2_ASCII' */
+ return 234
+ }
+ case "DPT_RelSignedValue_Z": { /* 'DPT_RelSignedValue_Z' */
+ return 204
+ }
+ case "DPT_RelValue_Z": { /* 'DPT_RelValue_Z' */
+ return 202
+ }
+ case "DPT_Reset": { /* 'DPT_Reset' */
+ return 1
+ }
+ case "DPT_Rotation_Angle": { /* 'DPT_Rotation_Angle' */
+ return 8
+ }
+ case "DPT_SABBehaviour_Lock_Unlock": { /* 'DPT_SABBehaviour_Lock_Unlock' */
+ return 20
+ }
+ case "DPT_SABExceptBehaviour": { /* 'DPT_SABExceptBehaviour' */
+ return 20
+ }
+ case "DPT_SCLOMode": { /* 'DPT_SCLOMode' */
+ return 20
+ }
+ case "DPT_SSSBMode": { /* 'DPT_SSSBMode' */
+ return 20
+ }
+ case "DPT_Scaling": { /* 'DPT_Scaling' */
+ return 5
+ }
+ case "DPT_ScalingSpeed": { /* 'DPT_ScalingSpeed' */
+ return 225
+ }
+ case "DPT_Scaling_Step_Time": { /* 'DPT_Scaling_Step_Time' */
+ return 225
+ }
+ case "DPT_SceneConfig": { /* 'DPT_SceneConfig' */
+ return 238
+ }
+ case "DPT_SceneControl": { /* 'DPT_SceneControl' */
+ return 18
+ }
+ case "DPT_SceneInfo": { /* 'DPT_SceneInfo' */
+ return 26
+ }
+ case "DPT_SceneNumber": { /* 'DPT_SceneNumber' */
+ return 17
+ }
+ case "DPT_Scene_AB": { /* 'DPT_Scene_AB' */
+ return 1
+ }
+ case "DPT_SensorSelect": { /* 'DPT_SensorSelect' */
+ return 20
+ }
+ case "DPT_SerNum": { /* 'DPT_SerNum' */
+ return 221
+ }
+ case "DPT_ShutterBlinds_Mode": { /* 'DPT_ShutterBlinds_Mode' */
+ return 1
+ }
+ case "DPT_SpecHeatProd": { /* 'DPT_SpecHeatProd' */
+ return 216
+ }
+ case "DPT_Start": { /* 'DPT_Start' */
+ return 1
+ }
+ case "DPT_StartSynchronization": { /* 'DPT_StartSynchronization' */
+ return 20
+ }
+ case "DPT_Start_Control": { /* 'DPT_Start_Control' */
+ return 2
+ }
+ case "DPT_State": { /* 'DPT_State' */
+ return 1
+ }
+ case "DPT_State_Control": { /* 'DPT_State_Control' */
+ return 2
+ }
+ case "DPT_StatusAHU": { /* 'DPT_StatusAHU' */
+ return 21
+ }
+ case "DPT_StatusAct": { /* 'DPT_StatusAct' */
+ return 207
+ }
+ case "DPT_StatusBOC": { /* 'DPT_StatusBOC' */
+ return 215
+ }
+ case "DPT_StatusBUC": { /* 'DPT_StatusBUC' */
+ return 207
+ }
+ case "DPT_StatusCC": { /* 'DPT_StatusCC' */
+ return 215
+ }
+ case "DPT_StatusCPM": { /* 'DPT_StatusCPM' */
+ return 209
+ }
+ case "DPT_StatusDHWC": { /* 'DPT_StatusDHWC' */
+ return 22
+ }
+ case "DPT_StatusGen": { /* 'DPT_StatusGen' */
+ return 21
+ }
+ case "DPT_StatusHPM": { /* 'DPT_StatusHPM' */
+ return 209
+ }
+ case "DPT_StatusLightingActuator": { /* 'DPT_StatusLightingActuator' */
+ return 207
+ }
+ case "DPT_StatusRCC": { /* 'DPT_StatusRCC' */
+ return 21
+ }
+ case "DPT_StatusRHC": { /* 'DPT_StatusRHC' */
+ return 21
+ }
+ case "DPT_StatusRHCC": { /* 'DPT_StatusRHCC' */
+ return 22
+ }
+ case "DPT_StatusRoomSetp": { /* 'DPT_StatusRoomSetp' */
+ return 20
+ }
+ case "DPT_StatusSAB": { /* 'DPT_StatusSAB' */
+ return 241
+ }
+ case "DPT_StatusSDHWC": { /* 'DPT_StatusSDHWC' */
+ return 21
+ }
+ case "DPT_StatusWTC": { /* 'DPT_StatusWTC' */
+ return 209
+ }
+ case "DPT_Status_Mode3": { /* 'DPT_Status_Mode3' */
+ return 6
+ }
+ case "DPT_Step": { /* 'DPT_Step' */
+ return 1
+ }
+ case "DPT_Step_Control": { /* 'DPT_Step_Control' */
+ return 2
+ }
+ case "DPT_String_8859_1": { /* 'DPT_String_8859_1' */
+ return 16
+ }
+ case "DPT_String_ASCII": { /* 'DPT_String_ASCII' */
+ return 16
+ }
+ case "DPT_SunIntensity_Z": { /* 'DPT_SunIntensity_Z' */
+ return 203
+ }
+ case "DPT_Switch": { /* 'DPT_Switch' */
+ return 1
+ }
+ case "DPT_SwitchOnMode": { /* 'DPT_SwitchOnMode' */
+ return 20
+ }
+ case "DPT_SwitchPBModel": { /* 'DPT_SwitchPBModel' */
+ return 20
+ }
+ case "DPT_Switch_Control": { /* 'DPT_Switch_Control' */
+ return 2
+ }
+ case "DPT_Tariff": { /* 'DPT_Tariff' */
+ return 5
+ }
+ case "DPT_TariffNext": { /* 'DPT_TariffNext' */
+ return 225
+ }
+ case "DPT_Tariff_ActiveEnergy": { /* 'DPT_Tariff_ActiveEnergy' */
+ return 235
+ }
+ case "DPT_TempDHWSetpSet4": { /* 'DPT_TempDHWSetpSet4' */
+ return 213
+ }
+ case "DPT_TempFlowWaterDemAbs": { /* 'DPT_TempFlowWaterDemAbs' */
+ return 210
+ }
+ case "DPT_TempHVACAbsNext": { /* 'DPT_TempHVACAbsNext' */
+ return 220
+ }
+ case "DPT_TempHVACAbs_Z": { /* 'DPT_TempHVACAbs_Z' */
+ return 205
+ }
+ case "DPT_TempHVACRel_Z": { /* 'DPT_TempHVACRel_Z' */
+ return 205
+ }
+ case "DPT_TempRoomDemAbs": { /* 'DPT_TempRoomDemAbs' */
+ return 209
+ }
+ case "DPT_TempRoomSetpSet3": { /* 'DPT_TempRoomSetpSet3' */
+ return 212
+ }
+ case "DPT_TempRoomSetpSet4": { /* 'DPT_TempRoomSetpSet4' */
+ return 213
+ }
+ case "DPT_TempRoomSetpSetF163": { /* 'DPT_TempRoomSetpSetF163' */
+ return 222
+ }
+ case "DPT_TempRoomSetpSetShift3": { /* 'DPT_TempRoomSetpSetShift3' */
+ return 212
+ }
+ case "DPT_TempRoomSetpSetShift4": { /* 'DPT_TempRoomSetpSetShift4' */
+ return 213
+ }
+ case "DPT_TempRoomSetpSetShiftF163": { /* 'DPT_TempRoomSetpSetShiftF163' */
+ return 222
+ }
+ case "DPT_TempSupply_AirSetpSet": { /* 'DPT_TempSupply_AirSetpSet' */
+ return 224
+ }
+ case "DPT_TimeOfDay": { /* 'DPT_TimeOfDay' */
+ return 10
+ }
+ case "DPT_TimePeriod100MSec": { /* 'DPT_TimePeriod100MSec' */
+ return 7
+ }
+ case "DPT_TimePeriod100Msec_Z": { /* 'DPT_TimePeriod100Msec_Z' */
+ return 203
+ }
+ case "DPT_TimePeriod10MSec": { /* 'DPT_TimePeriod10MSec' */
+ return 7
+ }
+ case "DPT_TimePeriod10Msec_Z": { /* 'DPT_TimePeriod10Msec_Z' */
+ return 203
+ }
+ case "DPT_TimePeriodHrs": { /* 'DPT_TimePeriodHrs' */
+ return 7
+ }
+ case "DPT_TimePeriodHrs_Z": { /* 'DPT_TimePeriodHrs_Z' */
+ return 203
+ }
+ case "DPT_TimePeriodMin": { /* 'DPT_TimePeriodMin' */
+ return 7
+ }
+ case "DPT_TimePeriodMin_Z": { /* 'DPT_TimePeriodMin_Z' */
+ return 203
+ }
+ case "DPT_TimePeriodMsec": { /* 'DPT_TimePeriodMsec' */
+ return 7
+ }
+ case "DPT_TimePeriodMsec_Z": { /* 'DPT_TimePeriodMsec_Z' */
+ return 203
+ }
+ case "DPT_TimePeriodSec": { /* 'DPT_TimePeriodSec' */
+ return 7
+ }
+ case "DPT_TimePeriodSec_Z": { /* 'DPT_TimePeriodSec_Z' */
+ return 203
+ }
+ case "DPT_Time_Delay": { /* 'DPT_Time_Delay' */
+ return 20
+ }
+ case "DPT_Trigger": { /* 'DPT_Trigger' */
+ return 1
+ }
+ case "DPT_UCountValue16_Z": { /* 'DPT_UCountValue16_Z' */
+ return 203
+ }
+ case "DPT_UCountValue8_Z": { /* 'DPT_UCountValue8_Z' */
+ return 202
+ }
+ case "DPT_UElCurrentmA": { /* 'DPT_UElCurrentmA' */
+ return 7
+ }
+ case "DPT_UElCurrentyA_Z": { /* 'DPT_UElCurrentyA_Z' */
+ return 203
+ }
+ case "DPT_UFlowRateLiter_h_Z": { /* 'DPT_UFlowRateLiter_h_Z' */
+ return 203
+ }
+ case "DPT_UTF_8": { /* 'DPT_UTF_8' */
+ return 28
+ }
+ case "DPT_UpDown": { /* 'DPT_UpDown' */
+ return 1
+ }
+ case "DPT_UpDown_Action": { /* 'DPT_UpDown_Action' */
+ return 23
+ }
+ case "DPT_ValueDemBOC": { /* 'DPT_ValueDemBOC' */
+ return 207
+ }
+ case "DPT_Value_1_Count": { /* 'DPT_Value_1_Count' */
+ return 6
+ }
+ case "DPT_Value_1_Ucount": { /* 'DPT_Value_1_Ucount' */
+ return 5
+ }
+ case "DPT_Value_2_Count": { /* 'DPT_Value_2_Count' */
+ return 8
+ }
+ case "DPT_Value_2_Ucount": { /* 'DPT_Value_2_Ucount' */
+ return 7
+ }
+ case "DPT_Value_4_Count": { /* 'DPT_Value_4_Count' */
+ return 13
+ }
+ case "DPT_Value_4_Ucount": { /* 'DPT_Value_4_Ucount' */
+ return 12
+ }
+ case "DPT_Value_Absolute_Temperature": { /* 'DPT_Value_Absolute_Temperature' */
+ return 14
+ }
+ case "DPT_Value_Acceleration": { /* 'DPT_Value_Acceleration' */
+ return 14
+ }
+ case "DPT_Value_Acceleration_Angular": { /* 'DPT_Value_Acceleration_Angular' */
+ return 14
+ }
+ case "DPT_Value_Activation_Energy": { /* 'DPT_Value_Activation_Energy' */
+ return 14
+ }
+ case "DPT_Value_Activity": { /* 'DPT_Value_Activity' */
+ return 14
+ }
+ case "DPT_Value_AirQuality": { /* 'DPT_Value_AirQuality' */
+ return 9
+ }
+ case "DPT_Value_Amplitude": { /* 'DPT_Value_Amplitude' */
+ return 14
+ }
+ case "DPT_Value_AngleDeg": { /* 'DPT_Value_AngleDeg' */
+ return 14
+ }
+ case "DPT_Value_AngleRad": { /* 'DPT_Value_AngleRad' */
+ return 14
+ }
+ case "DPT_Value_Angular_Frequency": { /* 'DPT_Value_Angular_Frequency' */
+ return 14
+ }
+ case "DPT_Value_Angular_Momentum": { /* 'DPT_Value_Angular_Momentum' */
+ return 14
+ }
+ case "DPT_Value_Angular_Velocity": { /* 'DPT_Value_Angular_Velocity' */
+ return 14
+ }
+ case "DPT_Value_Area": { /* 'DPT_Value_Area' */
+ return 14
+ }
+ case "DPT_Value_Capacitance": { /* 'DPT_Value_Capacitance' */
+ return 14
+ }
+ case "DPT_Value_Charge_DensitySurface": { /* 'DPT_Value_Charge_DensitySurface' */
+ return 14
+ }
+ case "DPT_Value_Charge_DensityVolume": { /* 'DPT_Value_Charge_DensityVolume' */
+ return 14
+ }
+ case "DPT_Value_Common_Temperature": { /* 'DPT_Value_Common_Temperature' */
+ return 14
+ }
+ case "DPT_Value_Compressibility": { /* 'DPT_Value_Compressibility' */
+ return 14
+ }
+ case "DPT_Value_Conductance": { /* 'DPT_Value_Conductance' */
+ return 14
+ }
+ case "DPT_Value_Curr": { /* 'DPT_Value_Curr' */
+ return 9
+ }
+ case "DPT_Value_Density": { /* 'DPT_Value_Density' */
+ return 14
+ }
+ case "DPT_Value_Electric_Charge": { /* 'DPT_Value_Electric_Charge' */
+ return 14
+ }
+ case "DPT_Value_Electric_Current": { /* 'DPT_Value_Electric_Current' */
+ return 14
+ }
+ case "DPT_Value_Electric_CurrentDensity": { /* 'DPT_Value_Electric_CurrentDensity' */
+ return 14
+ }
+ case "DPT_Value_Electric_DipoleMoment": { /* 'DPT_Value_Electric_DipoleMoment' */
+ return 14
+ }
+ case "DPT_Value_Electric_Displacement": { /* 'DPT_Value_Electric_Displacement' */
+ return 14
+ }
+ case "DPT_Value_Electric_FieldStrength": { /* 'DPT_Value_Electric_FieldStrength' */
+ return 14
+ }
+ case "DPT_Value_Electric_Flux": { /* 'DPT_Value_Electric_Flux' */
+ return 14
+ }
+ case "DPT_Value_Electric_FluxDensity": { /* 'DPT_Value_Electric_FluxDensity' */
+ return 14
+ }
+ case "DPT_Value_Electric_Polarization": { /* 'DPT_Value_Electric_Polarization' */
+ return 14
+ }
+ case "DPT_Value_Electric_Potential": { /* 'DPT_Value_Electric_Potential' */
+ return 14
+ }
+ case "DPT_Value_Electric_PotentialDifference": { /* 'DPT_Value_Electric_PotentialDifference' */
+ return 14
+ }
+ case "DPT_Value_Electrical_Conductivity": { /* 'DPT_Value_Electrical_Conductivity' */
+ return 14
+ }
+ case "DPT_Value_ElectromagneticMoment": { /* 'DPT_Value_ElectromagneticMoment' */
+ return 14
+ }
+ case "DPT_Value_Electromotive_Force": { /* 'DPT_Value_Electromotive_Force' */
+ return 14
+ }
+ case "DPT_Value_Energy": { /* 'DPT_Value_Energy' */
+ return 14
+ }
+ case "DPT_Value_Force": { /* 'DPT_Value_Force' */
+ return 14
+ }
+ case "DPT_Value_Frequency": { /* 'DPT_Value_Frequency' */
+ return 14
+ }
+ case "DPT_Value_Heat_Capacity": { /* 'DPT_Value_Heat_Capacity' */
+ return 14
+ }
+ case "DPT_Value_Heat_FlowRate": { /* 'DPT_Value_Heat_FlowRate' */
+ return 14
+ }
+ case "DPT_Value_Heat_Quantity": { /* 'DPT_Value_Heat_Quantity' */
+ return 14
+ }
+ case "DPT_Value_Humidity": { /* 'DPT_Value_Humidity' */
+ return 9
+ }
+ case "DPT_Value_Impedance": { /* 'DPT_Value_Impedance' */
+ return 14
+ }
+ case "DPT_Value_Length": { /* 'DPT_Value_Length' */
+ return 14
+ }
+ case "DPT_Value_Light_Quantity": { /* 'DPT_Value_Light_Quantity' */
+ return 14
+ }
+ case "DPT_Value_Luminance": { /* 'DPT_Value_Luminance' */
+ return 14
+ }
+ case "DPT_Value_Luminous_Flux": { /* 'DPT_Value_Luminous_Flux' */
+ return 14
+ }
+ case "DPT_Value_Luminous_Intensity": { /* 'DPT_Value_Luminous_Intensity' */
+ return 14
+ }
+ case "DPT_Value_Lux": { /* 'DPT_Value_Lux' */
+ return 9
+ }
+ case "DPT_Value_Magnetic_FieldStrength": { /* 'DPT_Value_Magnetic_FieldStrength' */
+ return 14
+ }
+ case "DPT_Value_Magnetic_Flux": { /* 'DPT_Value_Magnetic_Flux' */
+ return 14
+ }
+ case "DPT_Value_Magnetic_FluxDensity": { /* 'DPT_Value_Magnetic_FluxDensity' */
+ return 14
+ }
+ case "DPT_Value_Magnetic_Moment": { /* 'DPT_Value_Magnetic_Moment' */
+ return 14
+ }
+ case "DPT_Value_Magnetic_Polarization": { /* 'DPT_Value_Magnetic_Polarization' */
+ return 14
+ }
+ case "DPT_Value_Magnetization": { /* 'DPT_Value_Magnetization' */
+ return 14
+ }
+ case "DPT_Value_MagnetomotiveForce": { /* 'DPT_Value_MagnetomotiveForce' */
+ return 14
+ }
+ case "DPT_Value_Mass": { /* 'DPT_Value_Mass' */
+ return 14
+ }
+ case "DPT_Value_MassFlux": { /* 'DPT_Value_MassFlux' */
+ return 14
+ }
+ case "DPT_Value_Mol": { /* 'DPT_Value_Mol' */
+ return 14
+ }
+ case "DPT_Value_Momentum": { /* 'DPT_Value_Momentum' */
+ return 14
+ }
+ case "DPT_Value_Phase_AngleDeg": { /* 'DPT_Value_Phase_AngleDeg' */
+ return 14
+ }
+ case "DPT_Value_Phase_AngleRad": { /* 'DPT_Value_Phase_AngleRad' */
+ return 14
+ }
+ case "DPT_Value_Power": { /* 'DPT_Value_Power' */
+ return 14
+ }
+ case "DPT_Value_Power_Factor": { /* 'DPT_Value_Power_Factor' */
+ return 14
+ }
+ case "DPT_Value_Pres": { /* 'DPT_Value_Pres' */
+ return 9
+ }
+ case "DPT_Value_Pressure": { /* 'DPT_Value_Pressure' */
+ return 14
+ }
+ case "DPT_Value_Reactance": { /* 'DPT_Value_Reactance' */
+ return 14
+ }
+ case "DPT_Value_Resistance": { /* 'DPT_Value_Resistance' */
+ return 14
+ }
+ case "DPT_Value_Resistivity": { /* 'DPT_Value_Resistivity' */
+ return 14
+ }
+ case "DPT_Value_SelfInductance": { /* 'DPT_Value_SelfInductance' */
+ return 14
+ }
+ case "DPT_Value_SolidAngle": { /* 'DPT_Value_SolidAngle' */
+ return 14
+ }
+ case "DPT_Value_Sound_Intensity": { /* 'DPT_Value_Sound_Intensity' */
+ return 14
+ }
+ case "DPT_Value_Speed": { /* 'DPT_Value_Speed' */
+ return 14
+ }
+ case "DPT_Value_Stress": { /* 'DPT_Value_Stress' */
+ return 14
+ }
+ case "DPT_Value_Surface_Tension": { /* 'DPT_Value_Surface_Tension' */
+ return 14
+ }
+ case "DPT_Value_Temp": { /* 'DPT_Value_Temp' */
+ return 9
+ }
+ case "DPT_Value_Temp_F": { /* 'DPT_Value_Temp_F' */
+ return 9
+ }
+ case "DPT_Value_Tempa": { /* 'DPT_Value_Tempa' */
+ return 9
+ }
+ case "DPT_Value_Tempd": { /* 'DPT_Value_Tempd' */
+ return 9
+ }
+ case "DPT_Value_TemperatureDifference": { /* 'DPT_Value_TemperatureDifference' */
+ return 14
+ }
+ case "DPT_Value_Thermal_Capacity": { /* 'DPT_Value_Thermal_Capacity' */
+ return 14
+ }
+ case "DPT_Value_Thermal_Conductivity": { /* 'DPT_Value_Thermal_Conductivity' */
+ return 14
+ }
+ case "DPT_Value_ThermoelectricPower": { /* 'DPT_Value_ThermoelectricPower' */
+ return 14
+ }
+ case "DPT_Value_Time": { /* 'DPT_Value_Time' */
+ return 14
+ }
+ case "DPT_Value_Time1": { /* 'DPT_Value_Time1' */
+ return 9
+ }
+ case "DPT_Value_Time2": { /* 'DPT_Value_Time2' */
+ return 9
+ }
+ case "DPT_Value_Torque": { /* 'DPT_Value_Torque' */
+ return 14
+ }
+ case "DPT_Value_Volt": { /* 'DPT_Value_Volt' */
+ return 9
+ }
+ case "DPT_Value_Volume": { /* 'DPT_Value_Volume' */
+ return 14
+ }
+ case "DPT_Value_Volume_Flow": { /* 'DPT_Value_Volume_Flow' */
+ return 9
+ }
+ case "DPT_Value_Volume_Flux": { /* 'DPT_Value_Volume_Flux' */
+ return 14
+ }
+ case "DPT_Value_Weight": { /* 'DPT_Value_Weight' */
+ return 14
+ }
+ case "DPT_Value_Work": { /* 'DPT_Value_Work' */
+ return 14
+ }
+ case "DPT_Value_Wsp": { /* 'DPT_Value_Wsp' */
+ return 9
+ }
+ case "DPT_Value_Wsp_kmh": { /* 'DPT_Value_Wsp_kmh' */
+ return 9
+ }
+ case "DPT_ValveMode": { /* 'DPT_ValveMode' */
+ return 20
+ }
+ case "DPT_VarString_8859_1": { /* 'DPT_VarString_8859_1' */
+ return 24
+ }
+ case "DPT_Version": { /* 'DPT_Version' */
+ return 217
+ }
+ case "DPT_VolumeLiter_Z": { /* 'DPT_VolumeLiter_Z' */
+ return 218
+ }
+ case "DPT_WindSpeed_Z_DPT_WindSpeed": { /* 'DPT_WindSpeed_Z_DPT_WindSpeed' */
+ return 203
+ }
+ case "DPT_Window_Door": { /* 'DPT_Window_Door' */
+ return 1
+ }
+ default: {
+ return 0
+ }
+ }
+}
+
+func (e KnxDatapointTypes) SubNumber() uint16 {
+ switch e {
+ case "DPT_ADAType": { /* 'DPT_ADAType' */
+ return 120
+ }
+ case "DPT_Access_Data": { /* 'DPT_Access_Data' */
+ return 0
+ }
+ case "DPT_Ack": { /* 'DPT_Ack' */
+ return 16
+ }
+ case "DPT_ActPosDemAbs": { /* 'DPT_ActPosDemAbs' */
+ return 104
+ }
+ case "DPT_ActiveEnergy": { /* 'DPT_ActiveEnergy' */
+ return 10
+ }
+ case "DPT_ActiveEnergy_V64": { /* 'DPT_ActiveEnergy_V64' */
+ return 10
+ }
+ case "DPT_ActiveEnergy_kWh": { /* 'DPT_ActiveEnergy_kWh' */
+ return 13
+ }
+ case "DPT_ActuatorConnectType": { /* 'DPT_ActuatorConnectType' */
+ return 20
+ }
+ case "DPT_AddInfoTypes": { /* 'DPT_AddInfoTypes' */
+ return 1001
+ }
+ case "DPT_Alarm": { /* 'DPT_Alarm' */
+ return 5
+ }
+ case "DPT_AlarmClassType": { /* 'DPT_AlarmClassType' */
+ return 7
+ }
+ case "DPT_AlarmInfo": { /* 'DPT_AlarmInfo' */
+ return 1
+ }
+ case "DPT_Alarm_Control": { /* 'DPT_Alarm_Control' */
+ return 5
+ }
+ case "DPT_Alarm_Reaction": { /* 'DPT_Alarm_Reaction' */
+ return 2
+ }
+ case "DPT_Angle": { /* 'DPT_Angle' */
+ return 3
+ }
+ case "DPT_ApparantEnergy": { /* 'DPT_ApparantEnergy' */
+ return 11
+ }
+ case "DPT_ApparantEnergy_V64": { /* 'DPT_ApparantEnergy_V64' */
+ return 11
+ }
+ case "DPT_ApparantEnergy_kVAh": { /* 'DPT_ApparantEnergy_kVAh' */
+ return 14
+ }
+ case "DPT_ApplicationArea": { /* 'DPT_ApplicationArea' */
+ return 6
+ }
+ case "DPT_AtmPressureAbs_Z": { /* 'DPT_AtmPressureAbs_Z' */
+ return 15
+ }
+ case "DPT_BackupMode": { /* 'DPT_BackupMode' */
+ return 121
+ }
+ case "DPT_Beaufort_Wind_Force_Scale": { /* 'DPT_Beaufort_Wind_Force_Scale' */
+ return 14
+ }
+ case "DPT_Behaviour_Bus_Power_Up_Down": { /* 'DPT_Behaviour_Bus_Power_Up_Down' */
+ return 601
+ }
+ case "DPT_Behaviour_Lock_Unlock": { /* 'DPT_Behaviour_Lock_Unlock' */
+ return 600
+ }
+ case "DPT_BinaryValue": { /* 'DPT_BinaryValue' */
+ return 6
+ }
+ case "DPT_BinaryValue_Control": { /* 'DPT_BinaryValue_Control' */
+ return 6
+ }
+ case "DPT_BinaryValue_Z": { /* 'DPT_BinaryValue_Z' */
+ return 101
+ }
+ case "DPT_BlindsControlMode": { /* 'DPT_BlindsControlMode' */
+ return 804
+ }
+ case "DPT_BlinkingMode": { /* 'DPT_BlinkingMode' */
+ return 603
+ }
+ case "DPT_Bool": { /* 'DPT_Bool' */
+ return 2
+ }
+ case "DPT_Bool_Control": { /* 'DPT_Bool_Control' */
+ return 2
+ }
+ case "DPT_Brightness": { /* 'DPT_Brightness' */
+ return 13
+ }
+ case "DPT_BuildingMode": { /* 'DPT_BuildingMode' */
+ return 2
+ }
+ case "DPT_BuildingModeNext": { /* 'DPT_BuildingModeNext' */
+ return 105
+ }
+ case "DPT_BuildingMode_Z": { /* 'DPT_BuildingMode_Z' */
+ return 107
+ }
+ case "DPT_BurnerType": { /* 'DPT_BurnerType' */
+ return 101
+ }
+ case "DPT_ChangeoverMode": { /* 'DPT_ChangeoverMode' */
+ return 107
+ }
+ case "DPT_Channel_Activation_16": { /* 'DPT_Channel_Activation_16' */
+ return 1010
+ }
+ case "DPT_Channel_Activation_24": { /* 'DPT_Channel_Activation_24' */
+ return 1010
+ }
+ case "DPT_Channel_Activation_8": { /* 'DPT_Channel_Activation_8' */
+ return 1010
+ }
+ case "DPT_Char_8859_1": { /* 'DPT_Char_8859_1' */
+ return 2
+ }
+ case "DPT_Char_ASCII": { /* 'DPT_Char_ASCII' */
+ return 1
+ }
+ case "DPT_Colour_RGB": { /* 'DPT_Colour_RGB' */
+ return 600
+ }
+ case "DPT_CombinedInfoOnOff": { /* 'DPT_CombinedInfoOnOff' */
+ return 1
+ }
+ case "DPT_CombinedPosition": { /* 'DPT_CombinedPosition' */
+ return 800
+ }
+ case "DPT_CommMode": { /* 'DPT_CommMode' */
+ return 1000
+ }
+ case "DPT_Control_Blinds": { /* 'DPT_Control_Blinds' */
+ return 8
+ }
+ case "DPT_Control_Dimming": { /* 'DPT_Control_Dimming' */
+ return 7
+ }
+ case "DPT_DALI_Control_Gear_Diagnostic": { /* 'DPT_DALI_Control_Gear_Diagnostic' */
+ return 600
+ }
+ case "DPT_DALI_Diagnostics": { /* 'DPT_DALI_Diagnostics' */
+ return 600
+ }
+ case "DPT_DALI_Fade_Time": { /* 'DPT_DALI_Fade_Time' */
+ return 602
+ }
+ case "DPT_DHWMode": { /* 'DPT_DHWMode' */
+ return 103
+ }
+ case "DPT_DHWModeNext": { /* 'DPT_DHWModeNext' */
+ return 102
+ }
+ case "DPT_DHWMode_Z": { /* 'DPT_DHWMode_Z' */
+ return 102
+ }
+ case "DPT_DamperMode": { /* 'DPT_DamperMode' */
+ return 109
+ }
+ case "DPT_Date": { /* 'DPT_Date' */
+ return 1
+ }
+ case "DPT_DateTime": { /* 'DPT_DateTime' */
+ return 1
+ }
+ case "DPT_DecimalFactor": { /* 'DPT_DecimalFactor' */
+ return 5
+ }
+ case "DPT_DeltaTime100MSec": { /* 'DPT_DeltaTime100MSec' */
+ return 4
+ }
+ case "DPT_DeltaTime100Msec_Z": { /* 'DPT_DeltaTime100Msec_Z' */
+ return 4
+ }
+ case "DPT_DeltaTime10MSec": { /* 'DPT_DeltaTime10MSec' */
+ return 3
+ }
+ case "DPT_DeltaTime10Msec_Z": { /* 'DPT_DeltaTime10Msec_Z' */
+ return 3
+ }
+ case "DPT_DeltaTimeHrs": { /* 'DPT_DeltaTimeHrs' */
+ return 7
+ }
+ case "DPT_DeltaTimeHrs_Z": { /* 'DPT_DeltaTimeHrs_Z' */
+ return 7
+ }
+ case "DPT_DeltaTimeMin": { /* 'DPT_DeltaTimeMin' */
+ return 6
+ }
+ case "DPT_DeltaTimeMin_Z": { /* 'DPT_DeltaTimeMin_Z' */
+ return 6
+ }
+ case "DPT_DeltaTimeMsec": { /* 'DPT_DeltaTimeMsec' */
+ return 2
+ }
+ case "DPT_DeltaTimeMsec_Z": { /* 'DPT_DeltaTimeMsec_Z' */
+ return 2
+ }
+ case "DPT_DeltaTimeSec": { /* 'DPT_DeltaTimeSec' */
+ return 5
+ }
+ case "DPT_DeltaTimeSec_Z": { /* 'DPT_DeltaTimeSec_Z' */
+ return 5
+ }
+ case "DPT_Device_Control": { /* 'DPT_Device_Control' */
+ return 2
+ }
+ case "DPT_DimSendStyle": { /* 'DPT_DimSendStyle' */
+ return 13
+ }
+ case "DPT_DimmPBModel": { /* 'DPT_DimmPBModel' */
+ return 607
+ }
+ case "DPT_Direction1_Control": { /* 'DPT_Direction1_Control' */
+ return 8
+ }
+ case "DPT_Direction2_Control": { /* 'DPT_Direction2_Control' */
+ return 9
+ }
+ case "DPT_DoubleNibble": { /* 'DPT_DoubleNibble' */
+ return 1000
+ }
+ case "DPT_EnablH_Cstage_Z_DPT_EnablH_CStage": { /* 'DPT_EnablH_Cstage_Z_DPT_EnablH_CStage' */
+ return 105
+ }
+ case "DPT_Enable": { /* 'DPT_Enable' */
+ return 3
+ }
+ case "DPT_Enable_Control": { /* 'DPT_Enable_Control' */
+ return 3
+ }
+ case "DPT_EnergyDemAir": { /* 'DPT_EnergyDemAir' */
+ return 100
+ }
+ case "DPT_EnergyDemWater": { /* 'DPT_EnergyDemWater' */
+ return 100
+ }
+ case "DPT_ErrorClass_HVAC": { /* 'DPT_ErrorClass_HVAC' */
+ return 12
+ }
+ case "DPT_ErrorClass_System": { /* 'DPT_ErrorClass_System' */
+ return 11
+ }
+ case "DPT_FanMode": { /* 'DPT_FanMode' */
+ return 111
+ }
+ case "DPT_FlaggedScaling": { /* 'DPT_FlaggedScaling' */
+ return 1
+ }
+ case "DPT_FlowRate_m3h": { /* 'DPT_FlowRate_m3h' */
+ return 2
+ }
+ case "DPT_FlowRate_m3h_Z": { /* 'DPT_FlowRate_m3h_Z' */
+ return 2
+ }
+ case "DPT_ForceSign": { /* 'DPT_ForceSign' */
+ return 100
+ }
+ case "DPT_ForceSignCool": { /* 'DPT_ForceSignCool' */
+ return 101
+ }
+ case "DPT_FuelType": { /* 'DPT_FuelType' */
+ return 100
+ }
+ case "DPT_FuelTypeSet": { /* 'DPT_FuelTypeSet' */
+ return 104
+ }
+ case "DPT_HVACAirFlowAbs_Z": { /* 'DPT_HVACAirFlowAbs_Z' */
+ return 104
+ }
+ case "DPT_HVACAirFlowRel_Z": { /* 'DPT_HVACAirFlowRel_Z' */
+ return 102
+ }
+ case "DPT_HVACAirQual_Z": { /* 'DPT_HVACAirQual_Z' */
+ return 100
+ }
+ case "DPT_HVACContrMode": { /* 'DPT_HVACContrMode' */
+ return 105
+ }
+ case "DPT_HVACContrMode_Z": { /* 'DPT_HVACContrMode_Z' */
+ return 104
+ }
+ case "DPT_HVACEmergMode": { /* 'DPT_HVACEmergMode' */
+ return 106
+ }
+ case "DPT_HVACEmergMode_Z": { /* 'DPT_HVACEmergMode_Z' */
+ return 109
+ }
+ case "DPT_HVACMode": { /* 'DPT_HVACMode' */
+ return 102
+ }
+ case "DPT_HVACModeNext": { /* 'DPT_HVACModeNext' */
+ return 100
+ }
+ case "DPT_HVACMode_Z": { /* 'DPT_HVACMode_Z' */
+ return 100
+ }
+ case "DPT_HVAC_PB_Action": { /* 'DPT_HVAC_PB_Action' */
+ return 102
+ }
+ case "DPT_Heat_Cool": { /* 'DPT_Heat_Cool' */
+ return 100
+ }
+ case "DPT_Heat_Cool_Z": { /* 'DPT_Heat_Cool_Z' */
+ return 100
+ }
+ case "DPT_HeaterMode": { /* 'DPT_HeaterMode' */
+ return 110
+ }
+ case "DPT_InputSource": { /* 'DPT_InputSource' */
+ return 14
+ }
+ case "DPT_Invert": { /* 'DPT_Invert' */
+ return 12
+ }
+ case "DPT_Invert_Control": { /* 'DPT_Invert_Control' */
+ return 12
+ }
+ case "DPT_KelvinPerPercent": { /* 'DPT_KelvinPerPercent' */
+ return 23
+ }
+ case "DPT_LanguageCodeAlpha2_ASCII": { /* 'DPT_LanguageCodeAlpha2_ASCII' */
+ return 1
+ }
+ case "DPT_Length_mm": { /* 'DPT_Length_mm' */
+ return 11
+ }
+ case "DPT_LightActuatorErrorInfo": { /* 'DPT_LightActuatorErrorInfo' */
+ return 601
+ }
+ case "DPT_LightApplicationMode": { /* 'DPT_LightApplicationMode' */
+ return 5
+ }
+ case "DPT_LightControlMode": { /* 'DPT_LightControlMode' */
+ return 604
+ }
+ case "DPT_LoadPriority": { /* 'DPT_LoadPriority' */
+ return 104
+ }
+ case "DPT_LoadTypeDetected": { /* 'DPT_LoadTypeDetected' */
+ return 610
+ }
+ case "DPT_LoadTypeSet": { /* 'DPT_LoadTypeSet' */
+ return 609
+ }
+ case "DPT_Locale_ASCII": { /* 'DPT_Locale_ASCII' */
+ return 1
+ }
+ case "DPT_LockSign": { /* 'DPT_LockSign' */
+ return 101
+ }
+ case "DPT_LogicalFunction": { /* 'DPT_LogicalFunction' */
+ return 21
+ }
+ case "DPT_LongDeltaTimeSec": { /* 'DPT_LongDeltaTimeSec' */
+ return 100
+ }
+ case "DPT_MBus_Address": { /* 'DPT_MBus_Address' */
+ return 1000
+ }
+ case "DPT_MasterSlaveMode": { /* 'DPT_MasterSlaveMode' */
+ return 112
+ }
+ case "DPT_Media": { /* 'DPT_Media' */
+ return 1000
+ }
+ case "DPT_MeteringValue": { /* 'DPT_MeteringValue' */
+ return 1
+ }
+ case "DPT_OccMode": { /* 'DPT_OccMode' */
+ return 3
+ }
+ case "DPT_OccModeNext": { /* 'DPT_OccModeNext' */
+ return 104
+ }
+ case "DPT_OccMode_Z": { /* 'DPT_OccMode_Z' */
+ return 108
+ }
+ case "DPT_Occupancy": { /* 'DPT_Occupancy' */
+ return 18
+ }
+ case "DPT_OnOff_Action": { /* 'DPT_OnOff_Action' */
+ return 1
+ }
+ case "DPT_OpenClose": { /* 'DPT_OpenClose' */
+ return 9
+ }
+ case "DPT_PBAction": { /* 'DPT_PBAction' */
+ return 606
+ }
+ case "DPT_PB_Action_HVAC_Extended": { /* 'DPT_PB_Action_HVAC_Extended' */
+ return 101
+ }
+ case "DPT_PSUMode": { /* 'DPT_PSUMode' */
+ return 8
+ }
+ case "DPT_PercentU16_Z": { /* 'DPT_PercentU16_Z' */
+ return 17
+ }
+ case "DPT_Percent_U8": { /* 'DPT_Percent_U8' */
+ return 4
+ }
+ case "DPT_Percent_V16": { /* 'DPT_Percent_V16' */
+ return 10
+ }
+ case "DPT_Percent_V16_Z": { /* 'DPT_Percent_V16_Z' */
+ return 17
+ }
+ case "DPT_Percent_V8": { /* 'DPT_Percent_V8' */
+ return 1
+ }
+ case "DPT_Power": { /* 'DPT_Power' */
+ return 24
+ }
+ case "DPT_PowerDensity": { /* 'DPT_PowerDensity' */
+ return 22
+ }
+ case "DPT_PowerFlowWaterDemCPM": { /* 'DPT_PowerFlowWaterDemCPM' */
+ return 101
+ }
+ case "DPT_PowerFlowWaterDemHPM": { /* 'DPT_PowerFlowWaterDemHPM' */
+ return 100
+ }
+ case "DPT_PowerKW_Z": { /* 'DPT_PowerKW_Z' */
+ return 14
+ }
+ case "DPT_Prioritised_Mode_Control": { /* 'DPT_Prioritised_Mode_Control' */
+ return 1
+ }
+ case "DPT_Priority": { /* 'DPT_Priority' */
+ return 4
+ }
+ case "DPT_PropDataType": { /* 'DPT_PropDataType' */
+ return 10
+ }
+ case "DPT_RF_FilterInfo": { /* 'DPT_RF_FilterInfo' */
+ return 1001
+ }
+ case "DPT_RF_FilterSelect": { /* 'DPT_RF_FilterSelect' */
+ return 1003
+ }
+ case "DPT_RF_ModeInfo": { /* 'DPT_RF_ModeInfo' */
+ return 1000
+ }
+ case "DPT_RF_ModeSelect": { /* 'DPT_RF_ModeSelect' */
+ return 1002
+ }
+ case "DPT_Rain_Amount": { /* 'DPT_Rain_Amount' */
+ return 26
+ }
+ case "DPT_Ramp": { /* 'DPT_Ramp' */
+ return 4
+ }
+ case "DPT_Ramp_Control": { /* 'DPT_Ramp_Control' */
+ return 4
+ }
+ case "DPT_ReactiveEnergy": { /* 'DPT_ReactiveEnergy' */
+ return 12
+ }
+ case "DPT_ReactiveEnergy_V64": { /* 'DPT_ReactiveEnergy_V64' */
+ return 12
+ }
+ case "DPT_ReactiveEnergy_kVARh": { /* 'DPT_ReactiveEnergy_kVARh' */
+ return 15
+ }
+ case "DPT_RegionCodeAlpha2_ASCII": { /* 'DPT_RegionCodeAlpha2_ASCII' */
+ return 2
+ }
+ case "DPT_RelSignedValue_Z": { /* 'DPT_RelSignedValue_Z' */
+ return 1
+ }
+ case "DPT_RelValue_Z": { /* 'DPT_RelValue_Z' */
+ return 1
+ }
+ case "DPT_Reset": { /* 'DPT_Reset' */
+ return 15
+ }
+ case "DPT_Rotation_Angle": { /* 'DPT_Rotation_Angle' */
+ return 11
+ }
+ case "DPT_SABBehaviour_Lock_Unlock": { /* 'DPT_SABBehaviour_Lock_Unlock' */
+ return 802
+ }
+ case "DPT_SABExceptBehaviour": { /* 'DPT_SABExceptBehaviour' */
+ return 801
+ }
+ case "DPT_SCLOMode": { /* 'DPT_SCLOMode' */
+ return 1
+ }
+ case "DPT_SSSBMode": { /* 'DPT_SSSBMode' */
+ return 803
+ }
+ case "DPT_Scaling": { /* 'DPT_Scaling' */
+ return 1
+ }
+ case "DPT_ScalingSpeed": { /* 'DPT_ScalingSpeed' */
+ return 1
+ }
+ case "DPT_Scaling_Step_Time": { /* 'DPT_Scaling_Step_Time' */
+ return 2
+ }
+ case "DPT_SceneConfig": { /* 'DPT_SceneConfig' */
+ return 1
+ }
+ case "DPT_SceneControl": { /* 'DPT_SceneControl' */
+ return 1
+ }
+ case "DPT_SceneInfo": { /* 'DPT_SceneInfo' */
+ return 1
+ }
+ case "DPT_SceneNumber": { /* 'DPT_SceneNumber' */
+ return 1
+ }
+ case "DPT_Scene_AB": { /* 'DPT_Scene_AB' */
+ return 22
+ }
+ case "DPT_SensorSelect": { /* 'DPT_SensorSelect' */
+ return 17
+ }
+ case "DPT_SerNum": { /* 'DPT_SerNum' */
+ return 1
+ }
+ case "DPT_ShutterBlinds_Mode": { /* 'DPT_ShutterBlinds_Mode' */
+ return 23
+ }
+ case "DPT_SpecHeatProd": { /* 'DPT_SpecHeatProd' */
+ return 100
+ }
+ case "DPT_Start": { /* 'DPT_Start' */
+ return 10
+ }
+ case "DPT_StartSynchronization": { /* 'DPT_StartSynchronization' */
+ return 122
+ }
+ case "DPT_Start_Control": { /* 'DPT_Start_Control' */
+ return 10
+ }
+ case "DPT_State": { /* 'DPT_State' */
+ return 11
+ }
+ case "DPT_State_Control": { /* 'DPT_State_Control' */
+ return 11
+ }
+ case "DPT_StatusAHU": { /* 'DPT_StatusAHU' */
+ return 106
+ }
+ case "DPT_StatusAct": { /* 'DPT_StatusAct' */
+ return 105
+ }
+ case "DPT_StatusBOC": { /* 'DPT_StatusBOC' */
+ return 100
+ }
+ case "DPT_StatusBUC": { /* 'DPT_StatusBUC' */
+ return 100
+ }
+ case "DPT_StatusCC": { /* 'DPT_StatusCC' */
+ return 101
+ }
+ case "DPT_StatusCPM": { /* 'DPT_StatusCPM' */
+ return 102
+ }
+ case "DPT_StatusDHWC": { /* 'DPT_StatusDHWC' */
+ return 100
+ }
+ case "DPT_StatusGen": { /* 'DPT_StatusGen' */
+ return 1
+ }
+ case "DPT_StatusHPM": { /* 'DPT_StatusHPM' */
+ return 100
+ }
+ case "DPT_StatusLightingActuator": { /* 'DPT_StatusLightingActuator' */
+ return 600
+ }
+ case "DPT_StatusRCC": { /* 'DPT_StatusRCC' */
+ return 105
+ }
+ case "DPT_StatusRHC": { /* 'DPT_StatusRHC' */
+ return 102
+ }
+ case "DPT_StatusRHCC": { /* 'DPT_StatusRHCC' */
+ return 101
+ }
+ case "DPT_StatusRoomSetp": { /* 'DPT_StatusRoomSetp' */
+ return 113
+ }
+ case "DPT_StatusSAB": { /* 'DPT_StatusSAB' */
+ return 800
+ }
+ case "DPT_StatusSDHWC": { /* 'DPT_StatusSDHWC' */
+ return 103
+ }
+ case "DPT_StatusWTC": { /* 'DPT_StatusWTC' */
+ return 103
+ }
+ case "DPT_Status_Mode3": { /* 'DPT_Status_Mode3' */
+ return 20
+ }
+ case "DPT_Step": { /* 'DPT_Step' */
+ return 7
+ }
+ case "DPT_Step_Control": { /* 'DPT_Step_Control' */
+ return 7
+ }
+ case "DPT_String_8859_1": { /* 'DPT_String_8859_1' */
+ return 1
+ }
+ case "DPT_String_ASCII": { /* 'DPT_String_ASCII' */
+ return 0
+ }
+ case "DPT_SunIntensity_Z": { /* 'DPT_SunIntensity_Z' */
+ return 102
+ }
+ case "DPT_Switch": { /* 'DPT_Switch' */
+ return 1
+ }
+ case "DPT_SwitchOnMode": { /* 'DPT_SwitchOnMode' */
+ return 608
+ }
+ case "DPT_SwitchPBModel": { /* 'DPT_SwitchPBModel' */
+ return 605
+ }
+ case "DPT_Switch_Control": { /* 'DPT_Switch_Control' */
+ return 1
+ }
+ case "DPT_Tariff": { /* 'DPT_Tariff' */
+ return 6
+ }
+ case "DPT_TariffNext": { /* 'DPT_TariffNext' */
+ return 3
+ }
+ case "DPT_Tariff_ActiveEnergy": { /* 'DPT_Tariff_ActiveEnergy' */
+ return 1
+ }
+ case "DPT_TempDHWSetpSet4": { /* 'DPT_TempDHWSetpSet4' */
+ return 101
+ }
+ case "DPT_TempFlowWaterDemAbs": { /* 'DPT_TempFlowWaterDemAbs' */
+ return 100
+ }
+ case "DPT_TempHVACAbsNext": { /* 'DPT_TempHVACAbsNext' */
+ return 100
+ }
+ case "DPT_TempHVACAbs_Z": { /* 'DPT_TempHVACAbs_Z' */
+ return 100
+ }
+ case "DPT_TempHVACRel_Z": { /* 'DPT_TempHVACRel_Z' */
+ return 101
+ }
+ case "DPT_TempRoomDemAbs": { /* 'DPT_TempRoomDemAbs' */
+ return 101
+ }
+ case "DPT_TempRoomSetpSet3": { /* 'DPT_TempRoomSetpSet3' */
+ return 101
+ }
+ case "DPT_TempRoomSetpSet4": { /* 'DPT_TempRoomSetpSet4' */
+ return 100
+ }
+ case "DPT_TempRoomSetpSetF163": { /* 'DPT_TempRoomSetpSetF163' */
+ return 100
+ }
+ case "DPT_TempRoomSetpSetShift3": { /* 'DPT_TempRoomSetpSetShift3' */
+ return 100
+ }
+ case "DPT_TempRoomSetpSetShift4": { /* 'DPT_TempRoomSetpSetShift4' */
+ return 102
+ }
+ case "DPT_TempRoomSetpSetShiftF163": { /* 'DPT_TempRoomSetpSetShiftF163' */
+ return 101
+ }
+ case "DPT_TempSupply_AirSetpSet": { /* 'DPT_TempSupply_AirSetpSet' */
+ return 100
+ }
+ case "DPT_TimeOfDay": { /* 'DPT_TimeOfDay' */
+ return 1
+ }
+ case "DPT_TimePeriod100MSec": { /* 'DPT_TimePeriod100MSec' */
+ return 4
+ }
+ case "DPT_TimePeriod100Msec_Z": { /* 'DPT_TimePeriod100Msec_Z' */
+ return 4
+ }
+ case "DPT_TimePeriod10MSec": { /* 'DPT_TimePeriod10MSec' */
+ return 3
+ }
+ case "DPT_TimePeriod10Msec_Z": { /* 'DPT_TimePeriod10Msec_Z' */
+ return 3
+ }
+ case "DPT_TimePeriodHrs": { /* 'DPT_TimePeriodHrs' */
+ return 7
+ }
+ case "DPT_TimePeriodHrs_Z": { /* 'DPT_TimePeriodHrs_Z' */
+ return 7
+ }
+ case "DPT_TimePeriodMin": { /* 'DPT_TimePeriodMin' */
+ return 6
+ }
+ case "DPT_TimePeriodMin_Z": { /* 'DPT_TimePeriodMin_Z' */
+ return 6
+ }
+ case "DPT_TimePeriodMsec": { /* 'DPT_TimePeriodMsec' */
+ return 2
+ }
+ case "DPT_TimePeriodMsec_Z": { /* 'DPT_TimePeriodMsec_Z' */
+ return 2
+ }
+ case "DPT_TimePeriodSec": { /* 'DPT_TimePeriodSec' */
+ return 5
+ }
+ case "DPT_TimePeriodSec_Z": { /* 'DPT_TimePeriodSec_Z' */
+ return 5
+ }
+ case "DPT_Time_Delay": { /* 'DPT_Time_Delay' */
+ return 13
+ }
+ case "DPT_Trigger": { /* 'DPT_Trigger' */
+ return 17
+ }
+ case "DPT_UCountValue16_Z": { /* 'DPT_UCountValue16_Z' */
+ return 12
+ }
+ case "DPT_UCountValue8_Z": { /* 'DPT_UCountValue8_Z' */
+ return 2
+ }
+ case "DPT_UElCurrentmA": { /* 'DPT_UElCurrentmA' */
+ return 12
+ }
+ case "DPT_UElCurrentyA_Z": { /* 'DPT_UElCurrentyA_Z' */
+ return 13
+ }
+ case "DPT_UFlowRateLiter_h_Z": { /* 'DPT_UFlowRateLiter_h_Z' */
+ return 11
+ }
+ case "DPT_UTF_8": { /* 'DPT_UTF_8' */
+ return 1
+ }
+ case "DPT_UpDown": { /* 'DPT_UpDown' */
+ return 8
+ }
+ case "DPT_UpDown_Action": { /* 'DPT_UpDown_Action' */
+ return 3
+ }
+ case "DPT_ValueDemBOC": { /* 'DPT_ValueDemBOC' */
+ return 102
+ }
+ case "DPT_Value_1_Count": { /* 'DPT_Value_1_Count' */
+ return 10
+ }
+ case "DPT_Value_1_Ucount": { /* 'DPT_Value_1_Ucount' */
+ return 10
+ }
+ case "DPT_Value_2_Count": { /* 'DPT_Value_2_Count' */
+ return 1
+ }
+ case "DPT_Value_2_Ucount": { /* 'DPT_Value_2_Ucount' */
+ return 1
+ }
+ case "DPT_Value_4_Count": { /* 'DPT_Value_4_Count' */
+ return 1
+ }
+ case "DPT_Value_4_Ucount": { /* 'DPT_Value_4_Ucount' */
+ return 1
+ }
+ case "DPT_Value_Absolute_Temperature": { /* 'DPT_Value_Absolute_Temperature' */
+ return 69
+ }
+ case "DPT_Value_Acceleration": { /* 'DPT_Value_Acceleration' */
+ return 0
+ }
+ case "DPT_Value_Acceleration_Angular": { /* 'DPT_Value_Acceleration_Angular' */
+ return 1
+ }
+ case "DPT_Value_Activation_Energy": { /* 'DPT_Value_Activation_Energy' */
+ return 2
+ }
+ case "DPT_Value_Activity": { /* 'DPT_Value_Activity' */
+ return 3
+ }
+ case "DPT_Value_AirQuality": { /* 'DPT_Value_AirQuality' */
+ return 8
+ }
+ case "DPT_Value_Amplitude": { /* 'DPT_Value_Amplitude' */
+ return 5
+ }
+ case "DPT_Value_AngleDeg": { /* 'DPT_Value_AngleDeg' */
+ return 7
+ }
+ case "DPT_Value_AngleRad": { /* 'DPT_Value_AngleRad' */
+ return 6
+ }
+ case "DPT_Value_Angular_Frequency": { /* 'DPT_Value_Angular_Frequency' */
+ return 34
+ }
+ case "DPT_Value_Angular_Momentum": { /* 'DPT_Value_Angular_Momentum' */
+ return 8
+ }
+ case "DPT_Value_Angular_Velocity": { /* 'DPT_Value_Angular_Velocity' */
+ return 9
+ }
+ case "DPT_Value_Area": { /* 'DPT_Value_Area' */
+ return 10
+ }
+ case "DPT_Value_Capacitance": { /* 'DPT_Value_Capacitance' */
+ return 11
+ }
+ case "DPT_Value_Charge_DensitySurface": { /* 'DPT_Value_Charge_DensitySurface' */
+ return 12
+ }
+ case "DPT_Value_Charge_DensityVolume": { /* 'DPT_Value_Charge_DensityVolume' */
+ return 13
+ }
+ case "DPT_Value_Common_Temperature": { /* 'DPT_Value_Common_Temperature' */
+ return 68
+ }
+ case "DPT_Value_Compressibility": { /* 'DPT_Value_Compressibility' */
+ return 14
+ }
+ case "DPT_Value_Conductance": { /* 'DPT_Value_Conductance' */
+ return 15
+ }
+ case "DPT_Value_Curr": { /* 'DPT_Value_Curr' */
+ return 21
+ }
+ case "DPT_Value_Density": { /* 'DPT_Value_Density' */
+ return 17
+ }
+ case "DPT_Value_Electric_Charge": { /* 'DPT_Value_Electric_Charge' */
+ return 18
+ }
+ case "DPT_Value_Electric_Current": { /* 'DPT_Value_Electric_Current' */
+ return 19
+ }
+ case "DPT_Value_Electric_CurrentDensity": { /* 'DPT_Value_Electric_CurrentDensity' */
+ return 20
+ }
+ case "DPT_Value_Electric_DipoleMoment": { /* 'DPT_Value_Electric_DipoleMoment' */
+ return 21
+ }
+ case "DPT_Value_Electric_Displacement": { /* 'DPT_Value_Electric_Displacement' */
+ return 22
+ }
+ case "DPT_Value_Electric_FieldStrength": { /* 'DPT_Value_Electric_FieldStrength' */
+ return 23
+ }
+ case "DPT_Value_Electric_Flux": { /* 'DPT_Value_Electric_Flux' */
+ return 24
+ }
+ case "DPT_Value_Electric_FluxDensity": { /* 'DPT_Value_Electric_FluxDensity' */
+ return 25
+ }
+ case "DPT_Value_Electric_Polarization": { /* 'DPT_Value_Electric_Polarization' */
+ return 26
+ }
+ case "DPT_Value_Electric_Potential": { /* 'DPT_Value_Electric_Potential' */
+ return 27
+ }
+ case "DPT_Value_Electric_PotentialDifference": { /* 'DPT_Value_Electric_PotentialDifference' */
+ return 28
+ }
+ case "DPT_Value_Electrical_Conductivity": { /* 'DPT_Value_Electrical_Conductivity' */
+ return 16
+ }
+ case "DPT_Value_ElectromagneticMoment": { /* 'DPT_Value_ElectromagneticMoment' */
+ return 29
+ }
+ case "DPT_Value_Electromotive_Force": { /* 'DPT_Value_Electromotive_Force' */
+ return 30
+ }
+ case "DPT_Value_Energy": { /* 'DPT_Value_Energy' */
+ return 31
+ }
+ case "DPT_Value_Force": { /* 'DPT_Value_Force' */
+ return 32
+ }
+ case "DPT_Value_Frequency": { /* 'DPT_Value_Frequency' */
+ return 33
+ }
+ case "DPT_Value_Heat_Capacity": { /* 'DPT_Value_Heat_Capacity' */
+ return 35
+ }
+ case "DPT_Value_Heat_FlowRate": { /* 'DPT_Value_Heat_FlowRate' */
+ return 36
+ }
+ case "DPT_Value_Heat_Quantity": { /* 'DPT_Value_Heat_Quantity' */
+ return 37
+ }
+ case "DPT_Value_Humidity": { /* 'DPT_Value_Humidity' */
+ return 7
+ }
+ case "DPT_Value_Impedance": { /* 'DPT_Value_Impedance' */
+ return 38
+ }
+ case "DPT_Value_Length": { /* 'DPT_Value_Length' */
+ return 39
+ }
+ case "DPT_Value_Light_Quantity": { /* 'DPT_Value_Light_Quantity' */
+ return 40
+ }
+ case "DPT_Value_Luminance": { /* 'DPT_Value_Luminance' */
+ return 41
+ }
+ case "DPT_Value_Luminous_Flux": { /* 'DPT_Value_Luminous_Flux' */
+ return 42
+ }
+ case "DPT_Value_Luminous_Intensity": { /* 'DPT_Value_Luminous_Intensity' */
+ return 43
+ }
+ case "DPT_Value_Lux": { /* 'DPT_Value_Lux' */
+ return 4
+ }
+ case "DPT_Value_Magnetic_FieldStrength": { /* 'DPT_Value_Magnetic_FieldStrength' */
+ return 44
+ }
+ case "DPT_Value_Magnetic_Flux": { /* 'DPT_Value_Magnetic_Flux' */
+ return 45
+ }
+ case "DPT_Value_Magnetic_FluxDensity": { /* 'DPT_Value_Magnetic_FluxDensity' */
+ return 46
+ }
+ case "DPT_Value_Magnetic_Moment": { /* 'DPT_Value_Magnetic_Moment' */
+ return 47
+ }
+ case "DPT_Value_Magnetic_Polarization": { /* 'DPT_Value_Magnetic_Polarization' */
+ return 48
+ }
+ case "DPT_Value_Magnetization": { /* 'DPT_Value_Magnetization' */
+ return 49
+ }
+ case "DPT_Value_MagnetomotiveForce": { /* 'DPT_Value_MagnetomotiveForce' */
+ return 50
+ }
+ case "DPT_Value_Mass": { /* 'DPT_Value_Mass' */
+ return 51
+ }
+ case "DPT_Value_MassFlux": { /* 'DPT_Value_MassFlux' */
+ return 52
+ }
+ case "DPT_Value_Mol": { /* 'DPT_Value_Mol' */
+ return 4
+ }
+ case "DPT_Value_Momentum": { /* 'DPT_Value_Momentum' */
+ return 53
+ }
+ case "DPT_Value_Phase_AngleDeg": { /* 'DPT_Value_Phase_AngleDeg' */
+ return 55
+ }
+ case "DPT_Value_Phase_AngleRad": { /* 'DPT_Value_Phase_AngleRad' */
+ return 54
+ }
+ case "DPT_Value_Power": { /* 'DPT_Value_Power' */
+ return 56
+ }
+ case "DPT_Value_Power_Factor": { /* 'DPT_Value_Power_Factor' */
+ return 57
+ }
+ case "DPT_Value_Pres": { /* 'DPT_Value_Pres' */
+ return 6
+ }
+ case "DPT_Value_Pressure": { /* 'DPT_Value_Pressure' */
+ return 58
+ }
+ case "DPT_Value_Reactance": { /* 'DPT_Value_Reactance' */
+ return 59
+ }
+ case "DPT_Value_Resistance": { /* 'DPT_Value_Resistance' */
+ return 60
+ }
+ case "DPT_Value_Resistivity": { /* 'DPT_Value_Resistivity' */
+ return 61
+ }
+ case "DPT_Value_SelfInductance": { /* 'DPT_Value_SelfInductance' */
+ return 62
+ }
+ case "DPT_Value_SolidAngle": { /* 'DPT_Value_SolidAngle' */
+ return 63
+ }
+ case "DPT_Value_Sound_Intensity": { /* 'DPT_Value_Sound_Intensity' */
+ return 64
+ }
+ case "DPT_Value_Speed": { /* 'DPT_Value_Speed' */
+ return 65
+ }
+ case "DPT_Value_Stress": { /* 'DPT_Value_Stress' */
+ return 66
+ }
+ case "DPT_Value_Surface_Tension": { /* 'DPT_Value_Surface_Tension' */
+ return 67
+ }
+ case "DPT_Value_Temp": { /* 'DPT_Value_Temp' */
+ return 1
+ }
+ case "DPT_Value_Temp_F": { /* 'DPT_Value_Temp_F' */
+ return 27
+ }
+ case "DPT_Value_Tempa": { /* 'DPT_Value_Tempa' */
+ return 3
+ }
+ case "DPT_Value_Tempd": { /* 'DPT_Value_Tempd' */
+ return 2
+ }
+ case "DPT_Value_TemperatureDifference": { /* 'DPT_Value_TemperatureDifference' */
+ return 70
+ }
+ case "DPT_Value_Thermal_Capacity": { /* 'DPT_Value_Thermal_Capacity' */
+ return 71
+ }
+ case "DPT_Value_Thermal_Conductivity": { /* 'DPT_Value_Thermal_Conductivity' */
+ return 72
+ }
+ case "DPT_Value_ThermoelectricPower": { /* 'DPT_Value_ThermoelectricPower' */
+ return 73
+ }
+ case "DPT_Value_Time": { /* 'DPT_Value_Time' */
+ return 74
+ }
+ case "DPT_Value_Time1": { /* 'DPT_Value_Time1' */
+ return 10
+ }
+ case "DPT_Value_Time2": { /* 'DPT_Value_Time2' */
+ return 11
+ }
+ case "DPT_Value_Torque": { /* 'DPT_Value_Torque' */
+ return 75
+ }
+ case "DPT_Value_Volt": { /* 'DPT_Value_Volt' */
+ return 20
+ }
+ case "DPT_Value_Volume": { /* 'DPT_Value_Volume' */
+ return 76
+ }
+ case "DPT_Value_Volume_Flow": { /* 'DPT_Value_Volume_Flow' */
+ return 25
+ }
+ case "DPT_Value_Volume_Flux": { /* 'DPT_Value_Volume_Flux' */
+ return 77
+ }
+ case "DPT_Value_Weight": { /* 'DPT_Value_Weight' */
+ return 78
+ }
+ case "DPT_Value_Work": { /* 'DPT_Value_Work' */
+ return 79
+ }
+ case "DPT_Value_Wsp": { /* 'DPT_Value_Wsp' */
+ return 5
+ }
+ case "DPT_Value_Wsp_kmh": { /* 'DPT_Value_Wsp_kmh' */
+ return 28
+ }
+ case "DPT_ValveMode": { /* 'DPT_ValveMode' */
+ return 108
+ }
+ case "DPT_VarString_8859_1": { /* 'DPT_VarString_8859_1' */
+ return 1
+ }
+ case "DPT_Version": { /* 'DPT_Version' */
+ return 1
+ }
+ case "DPT_VolumeLiter_Z": { /* 'DPT_VolumeLiter_Z' */
+ return 1
+ }
+ case "DPT_WindSpeed_Z_DPT_WindSpeed": { /* 'DPT_WindSpeed_Z_DPT_WindSpeed' */
+ return 101
+ }
+ case "DPT_Window_Door": { /* 'DPT_Window_Door' */
+ return 19
+ }
+ default: {
+ return 0
+ }
+ }
+}
+func KnxDatapointTypesValueOf(value string) KnxDatapointTypes {
+ switch value {
+ case "DPT_ADAType":
+ return KnxDatapointTypes_DPT_ADAType
+ case "DPT_Access_Data":
+ return KnxDatapointTypes_DPT_Access_Data
+ case "DPT_Ack":
+ return KnxDatapointTypes_DPT_Ack
+ case "DPT_ActPosDemAbs":
+ return KnxDatapointTypes_DPT_ActPosDemAbs
+ case "DPT_ActiveEnergy":
+ return KnxDatapointTypes_DPT_ActiveEnergy
+ case "DPT_ActiveEnergy_V64":
+ return KnxDatapointTypes_DPT_ActiveEnergy_V64
+ case "DPT_ActiveEnergy_kWh":
+ return KnxDatapointTypes_DPT_ActiveEnergy_kWh
+ case "DPT_ActuatorConnectType":
+ return KnxDatapointTypes_DPT_ActuatorConnectType
+ case "DPT_AddInfoTypes":
+ return KnxDatapointTypes_DPT_AddInfoTypes
+ case "DPT_Alarm":
+ return KnxDatapointTypes_DPT_Alarm
+ case "DPT_AlarmClassType":
+ return KnxDatapointTypes_DPT_AlarmClassType
+ case "DPT_AlarmInfo":
+ return KnxDatapointTypes_DPT_AlarmInfo
+ case "DPT_Alarm_Control":
+ return KnxDatapointTypes_DPT_Alarm_Control
+ case "DPT_Alarm_Reaction":
+ return KnxDatapointTypes_DPT_Alarm_Reaction
+ case "DPT_Angle":
+ return KnxDatapointTypes_DPT_Angle
+ case "DPT_ApparantEnergy":
+ return KnxDatapointTypes_DPT_ApparantEnergy
+ case "DPT_ApparantEnergy_V64":
+ return KnxDatapointTypes_DPT_ApparantEnergy_V64
+ case "DPT_ApparantEnergy_kVAh":
+ return KnxDatapointTypes_DPT_ApparantEnergy_kVAh
+ case "DPT_ApplicationArea":
+ return KnxDatapointTypes_DPT_ApplicationArea
+ case "DPT_AtmPressureAbs_Z":
+ return KnxDatapointTypes_DPT_AtmPressureAbs_Z
+ case "DPT_BackupMode":
+ return KnxDatapointTypes_DPT_BackupMode
+ case "DPT_Beaufort_Wind_Force_Scale":
+ return KnxDatapointTypes_DPT_Beaufort_Wind_Force_Scale
+ case "DPT_Behaviour_Bus_Power_Up_Down":
+ return KnxDatapointTypes_DPT_Behaviour_Bus_Power_Up_Down
+ case "DPT_Behaviour_Lock_Unlock":
+ return KnxDatapointTypes_DPT_Behaviour_Lock_Unlock
+ case "DPT_BinaryValue":
+ return KnxDatapointTypes_DPT_BinaryValue
+ case "DPT_BinaryValue_Control":
+ return KnxDatapointTypes_DPT_BinaryValue_Control
+ case "DPT_BinaryValue_Z":
+ return KnxDatapointTypes_DPT_BinaryValue_Z
+ case "DPT_BlindsControlMode":
+ return KnxDatapointTypes_DPT_BlindsControlMode
+ case "DPT_BlinkingMode":
+ return KnxDatapointTypes_DPT_BlinkingMode
+ case "DPT_Bool":
+ return KnxDatapointTypes_DPT_Bool
+ case "DPT_Bool_Control":
+ return KnxDatapointTypes_DPT_Bool_Control
+ case "DPT_Brightness":
+ return KnxDatapointTypes_DPT_Brightness
+ case "DPT_BuildingMode":
+ return KnxDatapointTypes_DPT_BuildingMode
+ case "DPT_BuildingModeNext":
+ return KnxDatapointTypes_DPT_BuildingModeNext
+ case "DPT_BuildingMode_Z":
+ return KnxDatapointTypes_DPT_BuildingMode_Z
+ case "DPT_BurnerType":
+ return KnxDatapointTypes_DPT_BurnerType
+ case "DPT_ChangeoverMode":
+ return KnxDatapointTypes_DPT_ChangeoverMode
+ case "DPT_Channel_Activation_16":
+ return KnxDatapointTypes_DPT_Channel_Activation_16
+ case "DPT_Channel_Activation_24":
+ return KnxDatapointTypes_DPT_Channel_Activation_24
+ case "DPT_Channel_Activation_8":
+ return KnxDatapointTypes_DPT_Channel_Activation_8
+ case "DPT_Char_8859_1":
+ return KnxDatapointTypes_DPT_Char_8859_1
+ case "DPT_Char_ASCII":
+ return KnxDatapointTypes_DPT_Char_ASCII
+ case "DPT_Colour_RGB":
+ return KnxDatapointTypes_DPT_Colour_RGB
+ case "DPT_CombinedInfoOnOff":
+ return KnxDatapointTypes_DPT_CombinedInfoOnOff
+ case "DPT_CombinedPosition":
+ return KnxDatapointTypes_DPT_CombinedPosition
+ case "DPT_CommMode":
+ return KnxDatapointTypes_DPT_CommMode
+ case "DPT_Control_Blinds":
+ return KnxDatapointTypes_DPT_Control_Blinds
+ case "DPT_Control_Dimming":
+ return KnxDatapointTypes_DPT_Control_Dimming
+ case "DPT_DALI_Control_Gear_Diagnostic":
+ return KnxDatapointTypes_DPT_DALI_Control_Gear_Diagnostic
+ case "DPT_DALI_Diagnostics":
+ return KnxDatapointTypes_DPT_DALI_Diagnostics
+ case "DPT_DALI_Fade_Time":
+ return KnxDatapointTypes_DPT_DALI_Fade_Time
+ case "DPT_DHWMode":
+ return KnxDatapointTypes_DPT_DHWMode
+ case "DPT_DHWModeNext":
+ return KnxDatapointTypes_DPT_DHWModeNext
+ case "DPT_DHWMode_Z":
+ return KnxDatapointTypes_DPT_DHWMode_Z
+ case "DPT_DamperMode":
+ return KnxDatapointTypes_DPT_DamperMode
+ case "DPT_Date":
+ return KnxDatapointTypes_DPT_Date
+ case "DPT_DateTime":
+ return KnxDatapointTypes_DPT_DateTime
+ case "DPT_DecimalFactor":
+ return KnxDatapointTypes_DPT_DecimalFactor
+ case "DPT_DeltaTime100MSec":
+ return KnxDatapointTypes_DPT_DeltaTime100MSec
+ case "DPT_DeltaTime100Msec_Z":
+ return KnxDatapointTypes_DPT_DeltaTime100Msec_Z
+ case "DPT_DeltaTime10MSec":
+ return KnxDatapointTypes_DPT_DeltaTime10MSec
+ case "DPT_DeltaTime10Msec_Z":
+ return KnxDatapointTypes_DPT_DeltaTime10Msec_Z
+ case "DPT_DeltaTimeHrs":
+ return KnxDatapointTypes_DPT_DeltaTimeHrs
+ case "DPT_DeltaTimeHrs_Z":
+ return KnxDatapointTypes_DPT_DeltaTimeHrs_Z
+ case "DPT_DeltaTimeMin":
+ return KnxDatapointTypes_DPT_DeltaTimeMin
+ case "DPT_DeltaTimeMin_Z":
+ return KnxDatapointTypes_DPT_DeltaTimeMin_Z
+ case "DPT_DeltaTimeMsec":
+ return KnxDatapointTypes_DPT_DeltaTimeMsec
+ case "DPT_DeltaTimeMsec_Z":
+ return KnxDatapointTypes_DPT_DeltaTimeMsec_Z
+ case "DPT_DeltaTimeSec":
+ return KnxDatapointTypes_DPT_DeltaTimeSec
+ case "DPT_DeltaTimeSec_Z":
+ return KnxDatapointTypes_DPT_DeltaTimeSec_Z
+ case "DPT_Device_Control":
+ return KnxDatapointTypes_DPT_Device_Control
+ case "DPT_DimSendStyle":
+ return KnxDatapointTypes_DPT_DimSendStyle
+ case "DPT_DimmPBModel":
+ return KnxDatapointTypes_DPT_DimmPBModel
+ case "DPT_Direction1_Control":
+ return KnxDatapointTypes_DPT_Direction1_Control
+ case "DPT_Direction2_Control":
+ return KnxDatapointTypes_DPT_Direction2_Control
+ case "DPT_DoubleNibble":
+ return KnxDatapointTypes_DPT_DoubleNibble
+ case "DPT_EnablH_Cstage_Z_DPT_EnablH_CStage":
+ return KnxDatapointTypes_DPT_EnablH_Cstage_Z_DPT_EnablH_CStage
+ case "DPT_Enable":
+ return KnxDatapointTypes_DPT_Enable
+ case "DPT_Enable_Control":
+ return KnxDatapointTypes_DPT_Enable_Control
+ case "DPT_EnergyDemAir":
+ return KnxDatapointTypes_DPT_EnergyDemAir
+ case "DPT_EnergyDemWater":
+ return KnxDatapointTypes_DPT_EnergyDemWater
+ case "DPT_ErrorClass_HVAC":
+ return KnxDatapointTypes_DPT_ErrorClass_HVAC
+ case "DPT_ErrorClass_System":
+ return KnxDatapointTypes_DPT_ErrorClass_System
+ case "DPT_FanMode":
+ return KnxDatapointTypes_DPT_FanMode
+ case "DPT_FlaggedScaling":
+ return KnxDatapointTypes_DPT_FlaggedScaling
+ case "DPT_FlowRate_m3h":
+ return KnxDatapointTypes_DPT_FlowRate_m3h
+ case "DPT_FlowRate_m3h_Z":
+ return KnxDatapointTypes_DPT_FlowRate_m3h_Z
+ case "DPT_ForceSign":
+ return KnxDatapointTypes_DPT_ForceSign
+ case "DPT_ForceSignCool":
+ return KnxDatapointTypes_DPT_ForceSignCool
+ case "DPT_FuelType":
+ return KnxDatapointTypes_DPT_FuelType
+ case "DPT_FuelTypeSet":
+ return KnxDatapointTypes_DPT_FuelTypeSet
+ case "DPT_HVACAirFlowAbs_Z":
+ return KnxDatapointTypes_DPT_HVACAirFlowAbs_Z
+ case "DPT_HVACAirFlowRel_Z":
+ return KnxDatapointTypes_DPT_HVACAirFlowRel_Z
+ case "DPT_HVACAirQual_Z":
+ return KnxDatapointTypes_DPT_HVACAirQual_Z
+ case "DPT_HVACContrMode":
+ return KnxDatapointTypes_DPT_HVACContrMode
+ case "DPT_HVACContrMode_Z":
+ return KnxDatapointTypes_DPT_HVACContrMode_Z
+ case "DPT_HVACEmergMode":
+ return KnxDatapointTypes_DPT_HVACEmergMode
+ case "DPT_HVACEmergMode_Z":
+ return KnxDatapointTypes_DPT_HVACEmergMode_Z
+ case "DPT_HVACMode":
+ return KnxDatapointTypes_DPT_HVACMode
+ case "DPT_HVACModeNext":
+ return KnxDatapointTypes_DPT_HVACModeNext
+ case "DPT_HVACMode_Z":
+ return KnxDatapointTypes_DPT_HVACMode_Z
+ case "DPT_HVAC_PB_Action":
+ return KnxDatapointTypes_DPT_HVAC_PB_Action
+ case "DPT_Heat_Cool":
+ return KnxDatapointTypes_DPT_Heat_Cool
+ case "DPT_Heat_Cool_Z":
+ return KnxDatapointTypes_DPT_Heat_Cool_Z
+ case "DPT_HeaterMode":
+ return KnxDatapointTypes_DPT_HeaterMode
+ case "DPT_InputSource":
+ return KnxDatapointTypes_DPT_InputSource
+ case "DPT_Invert":
+ return KnxDatapointTypes_DPT_Invert
+ case "DPT_Invert_Control":
+ return KnxDatapointTypes_DPT_Invert_Control
+ case "DPT_KelvinPerPercent":
+ return KnxDatapointTypes_DPT_KelvinPerPercent
+ case "DPT_LanguageCodeAlpha2_ASCII":
+ return KnxDatapointTypes_DPT_LanguageCodeAlpha2_ASCII
+ case "DPT_Length_mm":
+ return KnxDatapointTypes_DPT_Length_mm
+ case "DPT_LightActuatorErrorInfo":
+ return KnxDatapointTypes_DPT_LightActuatorErrorInfo
+ case "DPT_LightApplicationMode":
+ return KnxDatapointTypes_DPT_LightApplicationMode
+ case "DPT_LightControlMode":
+ return KnxDatapointTypes_DPT_LightControlMode
+ case "DPT_LoadPriority":
+ return KnxDatapointTypes_DPT_LoadPriority
+ case "DPT_LoadTypeDetected":
+ return KnxDatapointTypes_DPT_LoadTypeDetected
+ case "DPT_LoadTypeSet":
+ return KnxDatapointTypes_DPT_LoadTypeSet
+ case "DPT_Locale_ASCII":
+ return KnxDatapointTypes_DPT_Locale_ASCII
+ case "DPT_LockSign":
+ return KnxDatapointTypes_DPT_LockSign
+ case "DPT_LogicalFunction":
+ return KnxDatapointTypes_DPT_LogicalFunction
+ case "DPT_LongDeltaTimeSec":
+ return KnxDatapointTypes_DPT_LongDeltaTimeSec
+ case "DPT_MBus_Address":
+ return KnxDatapointTypes_DPT_MBus_Address
+ case "DPT_MasterSlaveMode":
+ return KnxDatapointTypes_DPT_MasterSlaveMode
+ case "DPT_Media":
+ return KnxDatapointTypes_DPT_Media
+ case "DPT_MeteringValue":
+ return KnxDatapointTypes_DPT_MeteringValue
+ case "DPT_OccMode":
+ return KnxDatapointTypes_DPT_OccMode
+ case "DPT_OccModeNext":
+ return KnxDatapointTypes_DPT_OccModeNext
+ case "DPT_OccMode_Z":
+ return KnxDatapointTypes_DPT_OccMode_Z
+ case "DPT_Occupancy":
+ return KnxDatapointTypes_DPT_Occupancy
+ case "DPT_OnOff_Action":
+ return KnxDatapointTypes_DPT_OnOff_Action
+ case "DPT_OpenClose":
+ return KnxDatapointTypes_DPT_OpenClose
+ case "DPT_PBAction":
+ return KnxDatapointTypes_DPT_PBAction
+ case "DPT_PB_Action_HVAC_Extended":
+ return KnxDatapointTypes_DPT_PB_Action_HVAC_Extended
+ case "DPT_PSUMode":
+ return KnxDatapointTypes_DPT_PSUMode
+ case "DPT_PercentU16_Z":
+ return KnxDatapointTypes_DPT_PercentU16_Z
+ case "DPT_Percent_U8":
+ return KnxDatapointTypes_DPT_Percent_U8
+ case "DPT_Percent_V16":
+ return KnxDatapointTypes_DPT_Percent_V16
+ case "DPT_Percent_V16_Z":
+ return KnxDatapointTypes_DPT_Percent_V16_Z
+ case "DPT_Percent_V8":
+ return KnxDatapointTypes_DPT_Percent_V8
+ case "DPT_Power":
+ return KnxDatapointTypes_DPT_Power
+ case "DPT_PowerDensity":
+ return KnxDatapointTypes_DPT_PowerDensity
+ case "DPT_PowerFlowWaterDemCPM":
+ return KnxDatapointTypes_DPT_PowerFlowWaterDemCPM
+ case "DPT_PowerFlowWaterDemHPM":
+ return KnxDatapointTypes_DPT_PowerFlowWaterDemHPM
+ case "DPT_PowerKW_Z":
+ return KnxDatapointTypes_DPT_PowerKW_Z
+ case "DPT_Prioritised_Mode_Control":
+ return KnxDatapointTypes_DPT_Prioritised_Mode_Control
+ case "DPT_Priority":
+ return KnxDatapointTypes_DPT_Priority
+ case "DPT_PropDataType":
+ return KnxDatapointTypes_DPT_PropDataType
+ case "DPT_RF_FilterInfo":
+ return KnxDatapointTypes_DPT_RF_FilterInfo
+ case "DPT_RF_FilterSelect":
+ return KnxDatapointTypes_DPT_RF_FilterSelect
+ case "DPT_RF_ModeInfo":
+ return KnxDatapointTypes_DPT_RF_ModeInfo
+ case "DPT_RF_ModeSelect":
+ return KnxDatapointTypes_DPT_RF_ModeSelect
+ case "DPT_Rain_Amount":
+ return KnxDatapointTypes_DPT_Rain_Amount
+ case "DPT_Ramp":
+ return KnxDatapointTypes_DPT_Ramp
+ case "DPT_Ramp_Control":
+ return KnxDatapointTypes_DPT_Ramp_Control
+ case "DPT_ReactiveEnergy":
+ return KnxDatapointTypes_DPT_ReactiveEnergy
+ case "DPT_ReactiveEnergy_V64":
+ return KnxDatapointTypes_DPT_ReactiveEnergy_V64
+ case "DPT_ReactiveEnergy_kVARh":
+ return KnxDatapointTypes_DPT_ReactiveEnergy_kVARh
+ case "DPT_RegionCodeAlpha2_ASCII":
+ return KnxDatapointTypes_DPT_RegionCodeAlpha2_ASCII
+ case "DPT_RelSignedValue_Z":
+ return KnxDatapointTypes_DPT_RelSignedValue_Z
+ case "DPT_RelValue_Z":
+ return KnxDatapointTypes_DPT_RelValue_Z
+ case "DPT_Reset":
+ return KnxDatapointTypes_DPT_Reset
+ case "DPT_Rotation_Angle":
+ return KnxDatapointTypes_DPT_Rotation_Angle
+ case "DPT_SABBehaviour_Lock_Unlock":
+ return KnxDatapointTypes_DPT_SABBehaviour_Lock_Unlock
+ case "DPT_SABExceptBehaviour":
+ return KnxDatapointTypes_DPT_SABExceptBehaviour
+ case "DPT_SCLOMode":
+ return KnxDatapointTypes_DPT_SCLOMode
+ case "DPT_SSSBMode":
+ return KnxDatapointTypes_DPT_SSSBMode
+ case "DPT_Scaling":
+ return KnxDatapointTypes_DPT_Scaling
+ case "DPT_ScalingSpeed":
+ return KnxDatapointTypes_DPT_ScalingSpeed
+ case "DPT_Scaling_Step_Time":
+ return KnxDatapointTypes_DPT_Scaling_Step_Time
+ case "DPT_SceneConfig":
+ return KnxDatapointTypes_DPT_SceneConfig
+ case "DPT_SceneControl":
+ return KnxDatapointTypes_DPT_SceneControl
+ case "DPT_SceneInfo":
+ return KnxDatapointTypes_DPT_SceneInfo
+ case "DPT_SceneNumber":
+ return KnxDatapointTypes_DPT_SceneNumber
+ case "DPT_Scene_AB":
+ return KnxDatapointTypes_DPT_Scene_AB
+ case "DPT_SensorSelect":
+ return KnxDatapointTypes_DPT_SensorSelect
+ case "DPT_SerNum":
+ return KnxDatapointTypes_DPT_SerNum
+ case "DPT_ShutterBlinds_Mode":
+ return KnxDatapointTypes_DPT_ShutterBlinds_Mode
+ case "DPT_SpecHeatProd":
+ return KnxDatapointTypes_DPT_SpecHeatProd
+ case "DPT_Start":
+ return KnxDatapointTypes_DPT_Start
+ case "DPT_StartSynchronization":
+ return KnxDatapointTypes_DPT_StartSynchronization
+ case "DPT_Start_Control":
+ return KnxDatapointTypes_DPT_Start_Control
+ case "DPT_State":
+ return KnxDatapointTypes_DPT_State
+ case "DPT_State_Control":
+ return KnxDatapointTypes_DPT_State_Control
+ case "DPT_StatusAHU":
+ return KnxDatapointTypes_DPT_StatusAHU
+ case "DPT_StatusAct":
+ return KnxDatapointTypes_DPT_StatusAct
+ case "DPT_StatusBOC":
+ return KnxDatapointTypes_DPT_StatusBOC
+ case "DPT_StatusBUC":
+ return KnxDatapointTypes_DPT_StatusBUC
+ case "DPT_StatusCC":
+ return KnxDatapointTypes_DPT_StatusCC
+ case "DPT_StatusCPM":
+ return KnxDatapointTypes_DPT_StatusCPM
+ case "DPT_StatusDHWC":
+ return KnxDatapointTypes_DPT_StatusDHWC
+ case "DPT_StatusGen":
+ return KnxDatapointTypes_DPT_StatusGen
+ case "DPT_StatusHPM":
+ return KnxDatapointTypes_DPT_StatusHPM
+ case "DPT_StatusLightingActuator":
+ return KnxDatapointTypes_DPT_StatusLightingActuator
+ case "DPT_StatusRCC":
+ return KnxDatapointTypes_DPT_StatusRCC
+ case "DPT_StatusRHC":
+ return KnxDatapointTypes_DPT_StatusRHC
+ case "DPT_StatusRHCC":
+ return KnxDatapointTypes_DPT_StatusRHCC
+ case "DPT_StatusRoomSetp":
+ return KnxDatapointTypes_DPT_StatusRoomSetp
+ case "DPT_StatusSAB":
+ return KnxDatapointTypes_DPT_StatusSAB
+ case "DPT_StatusSDHWC":
+ return KnxDatapointTypes_DPT_StatusSDHWC
+ case "DPT_StatusWTC":
+ return KnxDatapointTypes_DPT_StatusWTC
+ case "DPT_Status_Mode3":
+ return KnxDatapointTypes_DPT_Status_Mode3
+ case "DPT_Step":
+ return KnxDatapointTypes_DPT_Step
+ case "DPT_Step_Control":
+ return KnxDatapointTypes_DPT_Step_Control
+ case "DPT_String_8859_1":
+ return KnxDatapointTypes_DPT_String_8859_1
+ case "DPT_String_ASCII":
+ return KnxDatapointTypes_DPT_String_ASCII
+ case "DPT_SunIntensity_Z":
+ return KnxDatapointTypes_DPT_SunIntensity_Z
+ case "DPT_Switch":
+ return KnxDatapointTypes_DPT_Switch
+ case "DPT_SwitchOnMode":
+ return KnxDatapointTypes_DPT_SwitchOnMode
+ case "DPT_SwitchPBModel":
+ return KnxDatapointTypes_DPT_SwitchPBModel
+ case "DPT_Switch_Control":
+ return KnxDatapointTypes_DPT_Switch_Control
+ case "DPT_Tariff":
+ return KnxDatapointTypes_DPT_Tariff
+ case "DPT_TariffNext":
+ return KnxDatapointTypes_DPT_TariffNext
+ case "DPT_Tariff_ActiveEnergy":
+ return KnxDatapointTypes_DPT_Tariff_ActiveEnergy
+ case "DPT_TempDHWSetpSet4":
+ return KnxDatapointTypes_DPT_TempDHWSetpSet4
+ case "DPT_TempFlowWaterDemAbs":
+ return KnxDatapointTypes_DPT_TempFlowWaterDemAbs
+ case "DPT_TempHVACAbsNext":
+ return KnxDatapointTypes_DPT_TempHVACAbsNext
+ case "DPT_TempHVACAbs_Z":
+ return KnxDatapointTypes_DPT_TempHVACAbs_Z
+ case "DPT_TempHVACRel_Z":
+ return KnxDatapointTypes_DPT_TempHVACRel_Z
+ case "DPT_TempRoomDemAbs":
+ return KnxDatapointTypes_DPT_TempRoomDemAbs
+ case "DPT_TempRoomSetpSet3":
+ return KnxDatapointTypes_DPT_TempRoomSetpSet3
+ case "DPT_TempRoomSetpSet4":
+ return KnxDatapointTypes_DPT_TempRoomSetpSet4
+ case "DPT_TempRoomSetpSetF163":
+ return KnxDatapointTypes_DPT_TempRoomSetpSetF163
+ case "DPT_TempRoomSetpSetShift3":
+ return KnxDatapointTypes_DPT_TempRoomSetpSetShift3
+ case "DPT_TempRoomSetpSetShift4":
+ return KnxDatapointTypes_DPT_TempRoomSetpSetShift4
+ case "DPT_TempRoomSetpSetShiftF163":
+ return KnxDatapointTypes_DPT_TempRoomSetpSetShiftF163
+ case "DPT_TempSupply_AirSetpSet":
+ return KnxDatapointTypes_DPT_TempSupply_AirSetpSet
+ case "DPT_TimeOfDay":
+ return KnxDatapointTypes_DPT_TimeOfDay
+ case "DPT_TimePeriod100MSec":
+ return KnxDatapointTypes_DPT_TimePeriod100MSec
+ case "DPT_TimePeriod100Msec_Z":
+ return KnxDatapointTypes_DPT_TimePeriod100Msec_Z
+ case "DPT_TimePeriod10MSec":
+ return KnxDatapointTypes_DPT_TimePeriod10MSec
+ case "DPT_TimePeriod10Msec_Z":
+ return KnxDatapointTypes_DPT_TimePeriod10Msec_Z
+ case "DPT_TimePeriodHrs":
+ return KnxDatapointTypes_DPT_TimePeriodHrs
+ case "DPT_TimePeriodHrs_Z":
+ return KnxDatapointTypes_DPT_TimePeriodHrs_Z
+ case "DPT_TimePeriodMin":
+ return KnxDatapointTypes_DPT_TimePeriodMin
+ case "DPT_TimePeriodMin_Z":
+ return KnxDatapointTypes_DPT_TimePeriodMin_Z
+ case "DPT_TimePeriodMsec":
+ return KnxDatapointTypes_DPT_TimePeriodMsec
+ case "DPT_TimePeriodMsec_Z":
+ return KnxDatapointTypes_DPT_TimePeriodMsec_Z
+ case "DPT_TimePeriodSec":
+ return KnxDatapointTypes_DPT_TimePeriodSec
+ case "DPT_TimePeriodSec_Z":
+ return KnxDatapointTypes_DPT_TimePeriodSec_Z
+ case "DPT_Time_Delay":
+ return KnxDatapointTypes_DPT_Time_Delay
+ case "DPT_Trigger":
+ return KnxDatapointTypes_DPT_Trigger
+ case "DPT_UCountValue16_Z":
+ return KnxDatapointTypes_DPT_UCountValue16_Z
+ case "DPT_UCountValue8_Z":
+ return KnxDatapointTypes_DPT_UCountValue8_Z
+ case "DPT_UElCurrentmA":
+ return KnxDatapointTypes_DPT_UElCurrentmA
+ case "DPT_UElCurrentyA_Z":
+ return KnxDatapointTypes_DPT_UElCurrentyA_Z
+ case "DPT_UFlowRateLiter_h_Z":
+ return KnxDatapointTypes_DPT_UFlowRateLiter_h_Z
+ case "DPT_UTF_8":
+ return KnxDatapointTypes_DPT_UTF_8
+ case "DPT_UpDown":
+ return KnxDatapointTypes_DPT_UpDown
+ case "DPT_UpDown_Action":
+ return KnxDatapointTypes_DPT_UpDown_Action
+ case "DPT_ValueDemBOC":
+ return KnxDatapointTypes_DPT_ValueDemBOC
+ case "DPT_Value_1_Count":
+ return KnxDatapointTypes_DPT_Value_1_Count
+ case "DPT_Value_1_Ucount":
+ return KnxDatapointTypes_DPT_Value_1_Ucount
+ case "DPT_Value_2_Count":
+ return KnxDatapointTypes_DPT_Value_2_Count
+ case "DPT_Value_2_Ucount":
+ return KnxDatapointTypes_DPT_Value_2_Ucount
+ case "DPT_Value_4_Count":
+ return KnxDatapointTypes_DPT_Value_4_Count
+ case "DPT_Value_4_Ucount":
+ return KnxDatapointTypes_DPT_Value_4_Ucount
+ case "DPT_Value_Absolute_Temperature":
+ return KnxDatapointTypes_DPT_Value_Absolute_Temperature
+ case "DPT_Value_Acceleration":
+ return KnxDatapointTypes_DPT_Value_Acceleration
+ case "DPT_Value_Acceleration_Angular":
+ return KnxDatapointTypes_DPT_Value_Acceleration_Angular
+ case "DPT_Value_Activation_Energy":
+ return KnxDatapointTypes_DPT_Value_Activation_Energy
+ case "DPT_Value_Activity":
+ return KnxDatapointTypes_DPT_Value_Activity
+ case "DPT_Value_AirQuality":
+ return KnxDatapointTypes_DPT_Value_AirQuality
+ case "DPT_Value_Amplitude":
+ return KnxDatapointTypes_DPT_Value_Amplitude
+ case "DPT_Value_AngleDeg":
+ return KnxDatapointTypes_DPT_Value_AngleDeg
+ case "DPT_Value_AngleRad":
+ return KnxDatapointTypes_DPT_Value_AngleRad
+ case "DPT_Value_Angular_Frequency":
+ return KnxDatapointTypes_DPT_Value_Angular_Frequency
+ case "DPT_Value_Angular_Momentum":
+ return KnxDatapointTypes_DPT_Value_Angular_Momentum
+ case "DPT_Value_Angular_Velocity":
+ return KnxDatapointTypes_DPT_Value_Angular_Velocity
+ case "DPT_Value_Area":
+ return KnxDatapointTypes_DPT_Value_Area
+ case "DPT_Value_Capacitance":
+ return KnxDatapointTypes_DPT_Value_Capacitance
+ case "DPT_Value_Charge_DensitySurface":
+ return KnxDatapointTypes_DPT_Value_Charge_DensitySurface
+ case "DPT_Value_Charge_DensityVolume":
+ return KnxDatapointTypes_DPT_Value_Charge_DensityVolume
+ case "DPT_Value_Common_Temperature":
+ return KnxDatapointTypes_DPT_Value_Common_Temperature
+ case "DPT_Value_Compressibility":
+ return KnxDatapointTypes_DPT_Value_Compressibility
+ case "DPT_Value_Conductance":
+ return KnxDatapointTypes_DPT_Value_Conductance
+ case "DPT_Value_Curr":
+ return KnxDatapointTypes_DPT_Value_Curr
+ case "DPT_Value_Density":
+ return KnxDatapointTypes_DPT_Value_Density
+ case "DPT_Value_Electric_Charge":
+ return KnxDatapointTypes_DPT_Value_Electric_Charge
+ case "DPT_Value_Electric_Current":
+ return KnxDatapointTypes_DPT_Value_Electric_Current
+ case "DPT_Value_Electric_CurrentDensity":
+ return KnxDatapointTypes_DPT_Value_Electric_CurrentDensity
+ case "DPT_Value_Electric_DipoleMoment":
+ return KnxDatapointTypes_DPT_Value_Electric_DipoleMoment
+ case "DPT_Value_Electric_Displacement":
+ return KnxDatapointTypes_DPT_Value_Electric_Displacement
+ case "DPT_Value_Electric_FieldStrength":
+ return KnxDatapointTypes_DPT_Value_Electric_FieldStrength
+ case "DPT_Value_Electric_Flux":
+ return KnxDatapointTypes_DPT_Value_Electric_Flux
+ case "DPT_Value_Electric_FluxDensity":
+ return KnxDatapointTypes_DPT_Value_Electric_FluxDensity
+ case "DPT_Value_Electric_Polarization":
+ return KnxDatapointTypes_DPT_Value_Electric_Polarization
+ case "DPT_Value_Electric_Potential":
+ return KnxDatapointTypes_DPT_Value_Electric_Potential
+ case "DPT_Value_Electric_PotentialDifference":
+ return KnxDatapointTypes_DPT_Value_Electric_PotentialDifference
+ case "DPT_Value_Electrical_Conductivity":
+ return KnxDatapointTypes_DPT_Value_Electrical_Conductivity
+ case "DPT_Value_ElectromagneticMoment":
+ return KnxDatapointTypes_DPT_Value_ElectromagneticMoment
+ case "DPT_Value_Electromotive_Force":
+ return KnxDatapointTypes_DPT_Value_Electromotive_Force
+ case "DPT_Value_Energy":
+ return KnxDatapointTypes_DPT_Value_Energy
+ case "DPT_Value_Force":
+ return KnxDatapointTypes_DPT_Value_Force
+ case "DPT_Value_Frequency":
+ return KnxDatapointTypes_DPT_Value_Frequency
+ case "DPT_Value_Heat_Capacity":
+ return KnxDatapointTypes_DPT_Value_Heat_Capacity
+ case "DPT_Value_Heat_FlowRate":
+ return KnxDatapointTypes_DPT_Value_Heat_FlowRate
+ case "DPT_Value_Heat_Quantity":
+ return KnxDatapointTypes_DPT_Value_Heat_Quantity
+ case "DPT_Value_Humidity":
+ return KnxDatapointTypes_DPT_Value_Humidity
+ case "DPT_Value_Impedance":
+ return KnxDatapointTypes_DPT_Value_Impedance
+ case "DPT_Value_Length":
+ return KnxDatapointTypes_DPT_Value_Length
+ case "DPT_Value_Light_Quantity":
+ return KnxDatapointTypes_DPT_Value_Light_Quantity
+ case "DPT_Value_Luminance":
+ return KnxDatapointTypes_DPT_Value_Luminance
+ case "DPT_Value_Luminous_Flux":
+ return KnxDatapointTypes_DPT_Value_Luminous_Flux
+ case "DPT_Value_Luminous_Intensity":
+ return KnxDatapointTypes_DPT_Value_Luminous_Intensity
+ case "DPT_Value_Lux":
+ return KnxDatapointTypes_DPT_Value_Lux
+ case "DPT_Value_Magnetic_FieldStrength":
+ return KnxDatapointTypes_DPT_Value_Magnetic_FieldStrength
+ case "DPT_Value_Magnetic_Flux":
+ return KnxDatapointTypes_DPT_Value_Magnetic_Flux
+ case "DPT_Value_Magnetic_FluxDensity":
+ return KnxDatapointTypes_DPT_Value_Magnetic_FluxDensity
+ case "DPT_Value_Magnetic_Moment":
+ return KnxDatapointTypes_DPT_Value_Magnetic_Moment
+ case "DPT_Value_Magnetic_Polarization":
+ return KnxDatapointTypes_DPT_Value_Magnetic_Polarization
+ case "DPT_Value_Magnetization":
+ return KnxDatapointTypes_DPT_Value_Magnetization
+ case "DPT_Value_MagnetomotiveForce":
+ return KnxDatapointTypes_DPT_Value_MagnetomotiveForce
+ case "DPT_Value_Mass":
+ return KnxDatapointTypes_DPT_Value_Mass
+ case "DPT_Value_MassFlux":
+ return KnxDatapointTypes_DPT_Value_MassFlux
+ case "DPT_Value_Mol":
+ return KnxDatapointTypes_DPT_Value_Mol
+ case "DPT_Value_Momentum":
+ return KnxDatapointTypes_DPT_Value_Momentum
+ case "DPT_Value_Phase_AngleDeg":
+ return KnxDatapointTypes_DPT_Value_Phase_AngleDeg
+ case "DPT_Value_Phase_AngleRad":
+ return KnxDatapointTypes_DPT_Value_Phase_AngleRad
+ case "DPT_Value_Power":
+ return KnxDatapointTypes_DPT_Value_Power
+ case "DPT_Value_Power_Factor":
+ return KnxDatapointTypes_DPT_Value_Power_Factor
+ case "DPT_Value_Pres":
... 2652 lines suppressed ...