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 2021/01/24 16:45:10 UTC
[plc4x] 07/07: - Finished migrating the Go KNX client to the new
model.
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit d9b9ddd1dfe98eef126b6f3f7f3d5f9d84877828
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Sun Jan 24 17:38:40 2021 +0100
- Finished migrating the Go KNX client to the new model.
---
.../BaseFreemarkerLanguageTemplateHelper.java | 4 +
.../language/go/GoLanguageTemplateHelper.java | 208 +-
.../resources/templates/go/data-io-template.ftlh | 8 +-
.../knxnetip/ParserSerializerTestsuite.xml | 35 +-
plc4go/cmd/main/drivers/knxnetip_test.go | 3 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpField.go | 33 +-
.../plc4go/knxnetip/KnxNetIpFieldHandler.go | 16 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go | 902 +-
.../internal/plc4go/knxnetip/KnxNetIpSubscriber.go | 9 +-
plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go | 3 +-
.../plc4go/knxnetip/readwrite/model/ApduData.go | 2 +-
.../model/ApduDataDeviceDescriptorRead.go | 31 +-
.../model/ApduDataDeviceDescriptorResponse.go | 79 +-
.../plc4go/knxnetip/readwrite/model/ApduDataExt.go | 6 +-
.../knxnetip/readwrite/model/KnxDatapoint.go | 9604 +++++++++++---------
.../readwrite/model/KnxDatapointMainType.go | 988 ++
.../readwrite/model/KnxDatapointSubtype.go | 5260 -----------
.../knxnetip/readwrite/model/KnxDatapointType.go | 1298 +--
.../plc4go/knxnetip/readwrite/model/LBusmonInd.go | 39 +-
.../plc4x/java/knxnetip/ets5/Ets5Parser.java | 10 +-
.../java/knxnetip/ets5/model/GroupAddress.java | 8 +-
.../knxnetip/protocol/KnxNetIpProtocolLogic.java | 92 +-
.../resources/protocols/knxnetip/knxnetip.mspec | 9 +-
protocols/knxnetip/src/main/xslt/knx-types.xsl | 52 +-
.../knxnetip/ParserSerializerTestsuite.xml | 35 +-
25 files changed, 8002 insertions(+), 10732 deletions(-)
diff --git a/build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java b/build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
index 2d35bf5..bd767b2 100644
--- a/build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
+++ b/build-utils/language-base-freemarker/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/freemarker/BaseFreemarkerLanguageTemplateHelper.java
@@ -150,6 +150,10 @@ public abstract class BaseFreemarkerLanguageTemplateHelper implements Freemarker
return typeReference instanceof ComplexTypeReference;
}
+ public boolean isEnumTypeReference(TypeReference typeReference) {
+ return getTypeDefinitionForTypeReference(typeReference) instanceof EnumTypeDefinition;
+ }
+
public boolean isStringTypeReference(TypeReference typeReference) {
return typeReference instanceof StringTypeReference;
}
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 40d0bbc..324adc9 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
@@ -51,12 +51,12 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
public String getLanguageTypeNameForField(Field field) {
boolean optional = field instanceof OptionalField;
// If the referenced type is a DataIo type, the value is of type PlcValue.
- if(field instanceof PropertyField) {
+ if (field instanceof PropertyField) {
PropertyField propertyField = (PropertyField) field;
- if(propertyField.getType() instanceof ComplexTypeReference) {
+ if (propertyField.getType() instanceof ComplexTypeReference) {
ComplexTypeReference complexTypeReference = (ComplexTypeReference) propertyField.getType();
final TypeDefinition typeDefinition = getTypeDefinitions().get(complexTypeReference.getName());
- if(typeDefinition instanceof DataIoTypeDefinition) {
+ if (typeDefinition instanceof DataIoTypeDefinition) {
return "PlcValue";
}
}
@@ -66,7 +66,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
@Override
public String getLanguageTypeNameForTypeReference(TypeReference typeReference) {
- if(typeReference instanceof SimpleTypeReference) {
+ if (typeReference instanceof SimpleTypeReference) {
SimpleTypeReference simpleTypeReference = (SimpleTypeReference) typeReference;
switch (simpleTypeReference.getBaseType()) {
case BIT: {
@@ -137,7 +137,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public String getPlcValueTypeForTypeReference(TypeReference typeReference) {
- if(typeReference instanceof SimpleTypeReference) {
+ if (typeReference instanceof SimpleTypeReference) {
SimpleTypeReference simpleTypeReference = (SimpleTypeReference) typeReference;
switch (simpleTypeReference.getBaseType()) {
case BIT: {
@@ -209,7 +209,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
@Override
public String getNullValueForTypeReference(TypeReference typeReference) {
- if(typeReference instanceof SimpleTypeReference) {
+ if (typeReference instanceof SimpleTypeReference) {
SimpleTypeReference simpleTypeReference = (SimpleTypeReference) typeReference;
switch (simpleTypeReference.getBaseType()) {
case BIT: {
@@ -226,7 +226,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
return "\"\"";
}
}
- } else if(typeReference instanceof ComplexTypeReference) {
+ } else if (typeReference instanceof ComplexTypeReference) {
return "0";
}
return "nil";
@@ -407,9 +407,9 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
String getCastExpressionForTypeReference(TypeReference typeReference) {
- if(typeReference instanceof SimpleTypeReference) {
+ if (typeReference instanceof SimpleTypeReference) {
return getLanguageTypeNameForTypeReference(typeReference);
- } else if(typeReference != null) {
+ } else if (typeReference != null) {
return "Cast" + getLanguageTypeNameForTypeReference(typeReference);
} else {
return "";
@@ -417,19 +417,19 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
private String toExpression(TypeReference fieldType, Term term, Argument[] parserArguments, Argument[] serializerArguments, boolean serialize, boolean suppressPointerAccess) {
- if(term == null) {
+ if (term == null) {
return "";
}
- if(term instanceof Literal) {
- if(term instanceof NullLiteral) {
+ if (term instanceof Literal) {
+ if (term instanceof NullLiteral) {
return "nil";
- } else if(term instanceof BooleanLiteral) {
+ } else if (term instanceof BooleanLiteral) {
return getCastExpressionForTypeReference(fieldType) + "(" + ((BooleanLiteral) term).getValue() + ")";
- } else if(term instanceof NumericLiteral) {
+ } else if (term instanceof NumericLiteral) {
return getCastExpressionForTypeReference(fieldType) + "(" + ((NumericLiteral) term).getNumber().toString() + ")";
- } else if(term instanceof StringLiteral) {
+ } else if (term instanceof StringLiteral) {
return "\"" + ((StringLiteral) term).getValue() + "\"";
- } else if(term instanceof VariableLiteral) {
+ } else if (term instanceof VariableLiteral) {
return toVariableExpression(fieldType, (VariableLiteral) term, parserArguments, serializerArguments, serialize, suppressPointerAccess);
} else {
throw new RuntimeException("Unsupported Literal type " + term.getClass().getName());
@@ -437,7 +437,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
} else if (term instanceof UnaryTerm) {
UnaryTerm ut = (UnaryTerm) term;
Term a = ut.getA();
- switch(ut.getOperation()) {
+ switch (ut.getOperation()) {
case "!":
return "!(" + toExpression(fieldType, a, parserArguments, serializerArguments, serialize, false) + ")";
case "-":
@@ -474,7 +474,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
default:
return getCastExpressionForTypeReference(fieldType) + "(" + toExpression(fieldType, a, parserArguments, serializerArguments, serialize, false) + ") " +
operation + " " +
- getCastExpressionForTypeReference(fieldType) +"(" + toExpression(fieldType, b, parserArguments, serializerArguments, serialize, false) + ")";
+ getCastExpressionForTypeReference(fieldType) + "(" + toExpression(fieldType, b, parserArguments, serializerArguments, serialize, false) + ")";
}
} else if (term instanceof TernaryTerm) {
TernaryTerm tt = (TernaryTerm) term;
@@ -543,7 +543,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
// Cut off the double-quotes
staticCall = staticCall.substring(1, staticCall.length() - 1);
// Remove all the previous parts prior to the Class name (Which starts with an uppercase letter)
- while(staticCall.contains(".") && !StringUtils.isAllUpperCase(staticCall.substring(0,1))) {
+ while (staticCall.contains(".") && !StringUtils.isAllUpperCase(staticCall.substring(0, 1))) {
staticCall = staticCall.substring(staticCall.indexOf(".") + 1);
}
String className = staticCall.substring(0, staticCall.indexOf("."));
@@ -568,7 +568,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
}
if (isParserArg) {
- if(va.getName().equals("_value")) {
+ if (va.getName().equals("_value")) {
sb.append(va.getName().substring(1) + ((va.getChild() != null) ?
"." + toVariableExpression(typeReference, vl.getChild(), parserArguments, serializerArguments, false, suppressPointerAccess) : ""));
} else {
@@ -625,8 +625,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
sb.append(toVariableExpression(typeReference, va, parserArguments, serializerArguments, true, suppressPointerAccess));
}
return getCastExpressionForTypeReference(typeReference) + "(" + ((VariableLiteral) vl.getArgs().get(0)).getName() + "ArraySizeInBytes(" + sb.toString() + "))";
- }
- else if("CEIL".equals(vl.getName())) {
+ } else if ("CEIL".equals(vl.getName())) {
Term va = vl.getArgs().get(0);
// The Ceil function expects 64 bit floating point values.
TypeReference tr = new DefaultFloatTypeReference(SimpleTypeReference.SimpleBaseType.FLOAT, 11, 52);
@@ -661,21 +660,21 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
// If the current property references a parserArguments property and that is a discriminator property, we also have to serialize it differently..
else if ((vl.getChild() != null) && (getTypeReferenceForProperty(((ComplexTypeDefinition) getThisTypeDefinition()), vl.getName()) != null)) {
final Optional<TypeReference> typeReferenceForProperty = getTypeReferenceForProperty(((ComplexTypeDefinition) getThisTypeDefinition()), vl.getName());
- if(typeReferenceForProperty.isPresent() && typeReferenceForProperty.get() instanceof ComplexTypeReference) {
+ if (typeReferenceForProperty.isPresent() && typeReferenceForProperty.get() instanceof ComplexTypeReference) {
final TypeReference complexTypeReference = typeReferenceForProperty.get();
TypeDefinition typeDefinition = getTypeDefinitionForTypeReference(complexTypeReference);
- if(typeDefinition instanceof ComplexTypeDefinition) {
+ if (typeDefinition instanceof ComplexTypeDefinition) {
ComplexTypeDefinition complexTypeDefinition = (ComplexTypeDefinition) typeDefinition;
String childProperty = vl.getChild().getName();
final Optional<Field> matchingDiscriminatorField = complexTypeDefinition.getFields().stream().filter(field -> (field instanceof DiscriminatorField) && ((DiscriminatorField) field).getName().equals(childProperty)).findFirst();
- if(matchingDiscriminatorField.isPresent()) {
+ if (matchingDiscriminatorField.isPresent()) {
return "Cast" + getLanguageTypeNameForTypeReference(complexTypeReference) + "(" + vl.getName() + ")." + StringUtils.capitalize(childProperty) + "()";
}
}
}
}
// If the current term references a serialization argument, handle it differently (don't prefix it with "m.")
- else if((serializerArguments != null) && Arrays.stream(serializerArguments).anyMatch(argument -> argument.getName().equals(vl.getName()))) {
+ else if ((serializerArguments != null) && Arrays.stream(serializerArguments).anyMatch(argument -> argument.getName().equals(vl.getName()))) {
return vl.getName() + ((vl.getChild() != null) ?
"." + toVariableExpression(typeReference, vl.getChild(), parserArguments, serializerArguments, false, suppressPointerAccess) : "");
}
@@ -687,7 +686,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
int sizeInBits = 0;
StringBuilder sb = new StringBuilder("");
for (Field field : complexTypeDefinition.getFields()) {
- if(field instanceof ArrayField) {
+ if (field instanceof ArrayField) {
ArrayField arrayField = (ArrayField) field;
final SimpleTypeReference type = (SimpleTypeReference) arrayField.getType();
switch (arrayField.getLoopType()) {
@@ -701,14 +700,13 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
// No terminated.
break;
}
- } else if(field instanceof TypedField) {
+ } else if (field instanceof TypedField) {
TypedField typedField = (TypedField) field;
final TypeReference type = typedField.getType();
- if(field instanceof ManualField) {
+ if (field instanceof ManualField) {
ManualField manualField = (ManualField) field;
sb.append("(").append(toSerializationExpression(manualField, manualField.getLengthExpression(), parserArguments)).append(") + ");
- }
- else if(type instanceof SimpleTypeReference) {
+ } else if (type instanceof SimpleTypeReference) {
SimpleTypeReference simpleTypeReference = (SimpleTypeReference) type;
sizeInBits += simpleTypeReference.getSizeInBits();
} else {
@@ -720,16 +718,16 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public String escapeValue(TypeReference typeReference, String valueString) {
- if(valueString == null) {
+ if (valueString == null) {
return null;
}
- if(typeReference instanceof SimpleTypeReference) {
+ if (typeReference instanceof SimpleTypeReference) {
SimpleTypeReference simpleTypeReference = (SimpleTypeReference) typeReference;
switch (simpleTypeReference.getBaseType()) {
case UINT:
case INT:
// If it's a one character string and is numeric, output it as char.
- if(!NumberUtils.isParsable(valueString) && (valueString.length() == 1)) {
+ if (!NumberUtils.isParsable(valueString) && (valueString.length() == 1)) {
return "'" + valueString + "'";
}
break;
@@ -747,7 +745,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
if ("null".equals(valueString)) {
return "0";
}
- if(valueString.contains(".")) {
+ if (valueString.contains(".")) {
String typeName = valueString.substring(0, valueString.indexOf('.'));
String constantName = valueString.substring(valueString.indexOf('.') + 1);
return typeName + "_" + constantName;
@@ -771,7 +769,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
public List<DiscriminatedComplexTypeDefinition> getUniqueSwitchCases(List<DiscriminatedComplexTypeDefinition> allSwitchCases) {
Map<String, DiscriminatedComplexTypeDefinition> switchCases = new LinkedHashMap<>();
for (DiscriminatedComplexTypeDefinition switchCase : allSwitchCases) {
- if(!switchCases.containsKey(switchCase.getName())) {
+ if (!switchCases.containsKey(switchCase.getName())) {
switchCases.put(switchCase.getName(), switchCase);
}
}
@@ -782,21 +780,21 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
ComplexTypeDefinition complexTypeDefinition = (ComplexTypeDefinition) getThisTypeDefinition();
List<String> imports = new ArrayList<>();
- if(complexTypeDefinition.getAllPropertyFields().stream().anyMatch(field -> isArrayField(field) && getLanguageTypeNameForField(field).equals("int8"))) {
+ if (complexTypeDefinition.getAllPropertyFields().stream().anyMatch(field -> isArrayField(field) && getLanguageTypeNameForField(field).equals("int8"))) {
imports.add("\"encoding/base64\"");
}
imports.add("\"encoding/xml\"");
// For "Fields with complex type", constant, typeSwitch, fields: "errors"
- if(!complexTypeDefinition.getFields().isEmpty()) {
+ if (!complexTypeDefinition.getFields().isEmpty()) {
imports.add("\"errors\"");
}
imports.add("\"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils\"");
// At least one reserved field or simple field with complex type
- if(complexTypeDefinition.getFields().stream().anyMatch(field ->
+ if (complexTypeDefinition.getFields().stream().anyMatch(field ->
(field instanceof ReservedField))) {
imports.add("log \"github.com/sirupsen/logrus\"");
}
@@ -804,19 +802,19 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
imports.add("\"io\"");
// For CEIL functions: "math"
- if(complexTypeDefinition.getFields().stream().anyMatch(field ->
+ if (complexTypeDefinition.getFields().stream().anyMatch(field ->
FieldUtils.contains(field, "CEIL"))) {
imports.add("\"math\"");
}
// For Constant field: "strconv"
- if(complexTypeDefinition.getFields().stream().anyMatch(field ->
+ if (complexTypeDefinition.getFields().stream().anyMatch(field ->
(field instanceof ConstField))/* || complexTypeDefinition.getAllPropertyFields().stream().anyMatch(
propertyField -> isSimpleField(propertyField))*/) {
imports.add("\"strconv\"");
}
- if(isDiscriminatedParentTypeDefinition()) {
+ if (isDiscriminatedParentTypeDefinition()) {
imports.add("\"reflect\"");
imports.add("\"strings\"");
}
@@ -834,7 +832,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
imports.add("\"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils\"");
imports.add("api \"github.com/apache/plc4x/plc4go/pkg/plc4go/values\"");
- if(dataIo.getSwitchField().getCases().stream().anyMatch(typeCase ->
+ if (dataIo.getSwitchField().getCases().stream().anyMatch(typeCase ->
(typeCase.getName().equals("TIME_OF_DAY") && hasFieldsWithNames(typeCase.getFields(), "hour", "minutes", "seconds")) ||
(typeCase.getName().equals("DATE") && hasFieldsWithNames(typeCase.getFields(), "year", "month", "day")) ||
(typeCase.getName().equals("DATE_AND_TIME") && hasFieldsWithNames(typeCase.getFields(), "year", "month", "day", "hour", "minutes", "seconds")))) {
@@ -844,84 +842,84 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public String getVariableName(Field field) {
- if(!(field instanceof NamedField)) {
+ if (!(field instanceof NamedField)) {
return "_";
}
NamedField namedField = (NamedField) field;
String name = null;
for (Field curField : ((ComplexTypeDefinition) getThisTypeDefinition()).getFields()) {
- if(curField == field) {
+ if (curField == field) {
name = namedField.getName();
- } else if(name != null) {
- if(curField instanceof ArrayField) {
+ } else if (name != null) {
+ if (curField instanceof ArrayField) {
ArrayField arrayField = (ArrayField) curField;
- if(arrayField.getLoopExpression().contains(name)) {
+ if (arrayField.getLoopExpression().contains(name)) {
return name;
}
- } else if(curField instanceof ChecksumField) {
+ } else if (curField instanceof ChecksumField) {
ChecksumField checksumField = (ChecksumField) curField;
- if(checksumField.getChecksumExpression().contains(name)) {
+ if (checksumField.getChecksumExpression().contains(name)) {
return name;
}
- } else if(curField instanceof ImplicitField) {
+ } else if (curField instanceof ImplicitField) {
ImplicitField implicitField = (ImplicitField) curField;
- if(implicitField.getSerializeExpression().contains(name)) {
+ if (implicitField.getSerializeExpression().contains(name)) {
return name;
}
- } else if(curField instanceof ManualArrayField) {
+ } else if (curField instanceof ManualArrayField) {
ManualArrayField manualArrayField = (ManualArrayField) curField;
- if(manualArrayField.getLengthExpression().contains(name)) {
+ if (manualArrayField.getLengthExpression().contains(name)) {
return name;
}
- if(manualArrayField.getLoopExpression().contains(name)) {
+ if (manualArrayField.getLoopExpression().contains(name)) {
return name;
}
- if(manualArrayField.getParseExpression().contains(name)) {
+ if (manualArrayField.getParseExpression().contains(name)) {
return name;
}
- if(manualArrayField.getSerializeExpression().contains(name)) {
+ if (manualArrayField.getSerializeExpression().contains(name)) {
return name;
}
- } else if(curField instanceof ManualField) {
+ } else if (curField instanceof ManualField) {
ManualField manualField = (ManualField) curField;
- if(manualField.getLengthExpression().contains(name)) {
+ if (manualField.getLengthExpression().contains(name)) {
return name;
}
- if(manualField.getParseExpression().contains(name)) {
+ if (manualField.getParseExpression().contains(name)) {
return name;
}
- if(manualField.getSerializeExpression().contains(name)) {
+ if (manualField.getSerializeExpression().contains(name)) {
return name;
}
- } else if(curField instanceof OptionalField) {
+ } else if (curField instanceof OptionalField) {
OptionalField optionalField = (OptionalField) curField;
- if(optionalField.getConditionExpression().contains(name)) {
+ if (optionalField.getConditionExpression().contains(name)) {
return name;
}
- } else if(curField instanceof SwitchField) {
+ } else if (curField instanceof SwitchField) {
SwitchField switchField = (SwitchField) curField;
for (Term discriminatorExpression : switchField.getDiscriminatorExpressions()) {
- if(discriminatorExpression.contains(name)) {
+ if (discriminatorExpression.contains(name)) {
return name;
}
}
for (DiscriminatedComplexTypeDefinition curCase : switchField.getCases()) {
for (Argument parserArgument : curCase.getParserArguments()) {
- if(parserArgument.getName().equals(name)) {
+ if (parserArgument.getName().equals(name)) {
return name;
}
}
}
- } else if(curField instanceof VirtualField) {
+ } else if (curField instanceof VirtualField) {
VirtualField virtualField = (VirtualField) curField;
- if(virtualField.getValueExpression().contains(name)) {
+ if (virtualField.getValueExpression().contains(name)) {
return name;
}
}
- if(curField.getParams() != null) {
+ if (curField.getParams() != null) {
for (Term param : curField.getParams()) {
- if(param.contains(name)) {
+ if (param.contains(name)) {
return name;
}
}
@@ -933,14 +931,14 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public boolean needsVariable(ArrayField field, String variableName, boolean serialization) {
- if(!serialization) {
+ if (!serialization) {
if (field.getLoopExpression().contains(variableName)) {
return true;
}
}
- if((field.getParams() != null) && (field.getParams().length > 0)){
+ if ((field.getParams() != null) && (field.getParams().length > 0)) {
for (Term param : field.getParams()) {
- if(param.contains(variableName)) {
+ if (param.contains(variableName)) {
return true;
}
}
@@ -962,20 +960,20 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
boolean usesFunction = false;
// As the ARRAY_SIZE_IN_BYTES only applies to ArrayFields, search for these
for (Field curField : ((ComplexTypeDefinition) getThisTypeDefinition()).getFields()) {
- if(curField instanceof ArrayField) {
+ if (curField instanceof ArrayField) {
ArrayField arrayField = (ArrayField) curField;
- if(arrayField.getLoopExpression().contains(functionName)) {
+ if (arrayField.getLoopExpression().contains(functionName)) {
usesFunction = true;
}
result.put(arrayField.getName(), getLanguageTypeNameForField(arrayField));
- } else if(curField instanceof ImplicitField) {
+ } else if (curField instanceof ImplicitField) {
ImplicitField implicitField = (ImplicitField) curField;
- if(implicitField.getSerializeExpression().contains(functionName)) {
+ if (implicitField.getSerializeExpression().contains(functionName)) {
usesFunction = true;
}
}
}
- if(usesFunction) {
+ if (usesFunction) {
return result;
} else {
return Collections.emptyMap();
@@ -983,7 +981,7 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public boolean requiresStartPosAndCurPos() {
- if(getThisTypeDefinition() instanceof ComplexTypeDefinition) {
+ if (getThisTypeDefinition() instanceof ComplexTypeDefinition) {
for (Field curField : ((ComplexTypeDefinition) getThisTypeDefinition()).getFields()) {
if (requiresVariable(curField, "curPos")) {
return true;
@@ -994,18 +992,18 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public boolean requiresVariable(Field curField, String variable) {
- if(curField instanceof ArrayField) {
+ if (curField instanceof ArrayField) {
ArrayField arrayField = (ArrayField) curField;
- if(arrayField.getLoopExpression().contains(variable)) {
+ if (arrayField.getLoopExpression().contains(variable)) {
return true;
}
- } else if(curField instanceof OptionalField) {
+ } else if (curField instanceof OptionalField) {
OptionalField optionalField = (OptionalField) curField;
- if(optionalField.getConditionExpression().contains(variable)) {
+ if (optionalField.getConditionExpression().contains(variable)) {
return true;
}
}
- if(curField.getParams() != null) {
+ if (curField.getParams() != null) {
for (Term paramTerm : curField.getParams()) {
if (paramTerm.contains(variable)) {
return true;
@@ -1016,55 +1014,69 @@ public class GoLanguageTemplateHelper extends BaseFreemarkerLanguageTemplateHelp
}
public Term findTerm(Term baseTerm, String name) {
- if(baseTerm instanceof VariableLiteral) {
+ if (baseTerm instanceof VariableLiteral) {
VariableLiteral variableLiteral = (VariableLiteral) baseTerm;
- if(variableLiteral.getName().equals(name)) {
+ if (variableLiteral.getName().equals(name)) {
return variableLiteral;
}
- if(variableLiteral.getChild() != null) {
+ if (variableLiteral.getChild() != null) {
Term found = findTerm(variableLiteral.getChild(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
}
for (Term arg : variableLiteral.getArgs()) {
Term found = findTerm(arg, name);
- if(found != null) {
+ if (found != null) {
return found;
}
}
- } else if(baseTerm instanceof UnaryTerm) {
+ } else if (baseTerm instanceof UnaryTerm) {
UnaryTerm unaryTerm = (UnaryTerm) baseTerm;
Term found = findTerm(unaryTerm.getA(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
- } else if(baseTerm instanceof BinaryTerm) {
+ } else if (baseTerm instanceof BinaryTerm) {
BinaryTerm binaryTerm = (BinaryTerm) baseTerm;
Term found = findTerm(binaryTerm.getA(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
found = findTerm(binaryTerm.getB(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
- } else if(baseTerm instanceof TernaryTerm) {
+ } else if (baseTerm instanceof TernaryTerm) {
TernaryTerm ternaryTerm = (TernaryTerm) baseTerm;
Term found = findTerm(ternaryTerm.getA(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
found = findTerm(ternaryTerm.getB(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
found = findTerm(ternaryTerm.getC(), name);
- if(found != null) {
+ if (found != null) {
return found;
}
}
return null;
}
+ public boolean isEnumExpression(String expression) {
+ if (!expression.contains(".")) {
+ return false;
+ }
+ String enumName = expression.substring(0, expression.indexOf('.'));
+ TypeDefinition typeDefinition = this.getTypeDefinitions().get(enumName);
+ return (typeDefinition instanceof EnumTypeDefinition);
+ }
+
+ public String getEnumExpression(String expression) {
+ String enumName = expression.substring(0, expression.indexOf('.'));
+ String enumConstant = expression.substring(expression.indexOf('.') + 1);
+ return enumName + "_" + enumConstant;
+ }
}
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 6750649..ff1d417 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
@@ -70,10 +70,10 @@ import (
</#if>
)
-func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
+func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type) && !helper.isEnumTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) (api.PlcValue, error) {
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}
+ 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}"<#elseif helper.isEnumExpression(discriminatorValue)>${helper.getEnumExpression(discriminatorValue)}<#else>$ [...]
<#assign valueDefined=false>
<#if case.name == "Struct">
_map := map[string]api.PlcValue{}
@@ -167,10 +167,10 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
return nil, errors.New("unsupported type")
}
-func ${type.name}Serialize(io *utils.WriteBuffer, value api.PlcValue<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
+func ${type.name}Serialize(io *utils.WriteBuffer, value api.PlcValue<#if type.parserArguments?has_content>, <#list type.parserArguments as parserArgument>${parserArgument.name} <#if helper.isComplexTypeReference(parserArgument.type) && !helper.isEnumTypeReference(parserArgument.type)>I</#if>${helper.getLanguageTypeNameForTypeReference(parserArgument.type)}<#sep>, </#sep></#list></#if>) error {
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}
+ 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}"<#elseif helper.isEnumExpression(discriminatorValue)>${helper.getEnumExpression(discriminatorValue)}<#else>$ [...]
<#list case.fields as field>
<#switch field.typeName>
<#case "array">
diff --git a/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml b/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
index e79846d..6ad045f 100644
--- a/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
+++ b/plc4go/assets/testing/protocols/knxnetip/ParserSerializerTestsuite.xml
@@ -416,6 +416,7 @@
<additionalInformation/>
<dataFrame className="org.apache.plc4x.java.knxnetip.readwrite.LDataFrameDataExt">
<repeated>true</repeated>
+ <notAckFrame>true</notAckFrame>
<priority>LOW</priority>
<acknowledgeRequested>false</acknowledgeRequested>
<errorFlag>false</errorFlag>
@@ -428,15 +429,15 @@
<subGroup>10</subGroup>
</sourceAddress>
<destinationAddress>Egw=</destinationAddress>
- <dataLength>1</dataLength>
- <control>false</control>
- <numbered>false</numbered>
- <counter>0</counter>
- <controlType/>
- <apci>GROUP_VALUE_WRITE_PDU</apci>
- <extendedApci/>
- <dataFirstByte>1</dataFirstByte>
- <data></data>
+ <apdu className="org.apache.plc4x.java.knxnetip.readwrite.ApduDataContainer">
+ <dataLength>1</dataLength>
+ <numbered>false</numbered>
+ <counter>0</counter>
+ <dataApdu className="org.apache.plc4x.java.knxnetip.readwrite.ApduDataGroupValueWrite">
+ <dataFirstByte>1</dataFirstByte>
+ <data></data>
+ </dataApdu>
+ </apdu>
</dataFrame>
</cemi>
</TunnelingRequest>
@@ -476,6 +477,7 @@
</additionalInformation>
<dataFrame className="org.apache.plc4x.java.knxnetip.readwrite.LDataFrameDataExt">
<repeated>true</repeated>
+ <notAckFrame>true</notAckFrame>
<priority>LOW</priority>
<acknowledgeRequested>false</acknowledgeRequested>
<errorFlag>false</errorFlag>
@@ -488,15 +490,12 @@
<subGroup>30</subGroup>
</sourceAddress>
<destinationAddress>DOE=</destinationAddress>
- <dataLength>0</dataLength>
- <control>true</control>
- <numbered>false</numbered>
- <counter>0</counter>
- <controlType>DISCONNECT</controlType>
- <apci/>
- <extendedApci/>
- <dataFirstByte/>
- <data></data>
+ <apdu className="org.apache.plc4x.java.knxnetip.readwrite.ApduControlContainer">
+ <dataLength>0</dataLength>
+ <numbered>false</numbered>
+ <counter>0</counter>
+ <controlApdu className="org.apache.plc4x.java.knxnetip.readwrite.ApduControlDisconnect"/>
+ </apdu>
</dataFrame>
<crc>13</crc>
</cemi>
diff --git a/plc4go/cmd/main/drivers/knxnetip_test.go b/plc4go/cmd/main/drivers/knxnetip_test.go
index 1ac5f96..5e42309 100644
--- a/plc4go/cmd/main/drivers/knxnetip_test.go
+++ b/plc4go/cmd/main/drivers/knxnetip_test.go
@@ -279,9 +279,8 @@ func TestKnxNetIpPlc4goPropertyRead(t *testing.T) {
defer connection.Close()
readRequestBuilder := connection.ReadRequestBuilder()
- readRequestBuilder.AddItem("manufacturerId", "1.1.10/0/12")
+ readRequestBuilder.AddItem("manufacturerId", "1.1.10/0/12")
readRequestBuilder.AddItem("programVersion", "1.1.10/3/13")
- //readRequestBuilder.AddItem("hardwareType", "1.1.10/0/78")
readRequest, _ := readRequestBuilder.Build()
rrr := readRequest.Execute()
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
index 1d255c6..49f7eba 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
@@ -28,13 +28,14 @@ import (
type KnxNetIpField interface {
IsPatternField() bool
+ GetFieldType() *driverModel.KnxDatapointType
matches(knxGroupAddress *driverModel.KnxGroupAddress) bool
toGroupAddress() *driverModel.KnxGroupAddress
apiModel.PlcField
}
type KnxNetIpGroupAddress3LevelPlcField struct {
- FieldType *driverModel.KnxDatapointSubtype
+ FieldType *driverModel.KnxDatapointType
// 5 Bits: Values 0-31
MainGroup string
// 3 Bits: values 0-7
@@ -44,7 +45,7 @@ type KnxNetIpGroupAddress3LevelPlcField struct {
KnxNetIpField
}
-func NewKnxNetIpGroupAddress3LevelPlcField(fieldType *driverModel.KnxDatapointSubtype, mainGroup string, middleGroup string, subGroup string) KnxNetIpGroupAddress3LevelPlcField {
+func NewKnxNetIpGroupAddress3LevelPlcField(fieldType *driverModel.KnxDatapointType, mainGroup string, middleGroup string, subGroup string) KnxNetIpGroupAddress3LevelPlcField {
return KnxNetIpGroupAddress3LevelPlcField{
FieldType: fieldType,
MainGroup: mainGroup,
@@ -57,6 +58,10 @@ func (k KnxNetIpGroupAddress3LevelPlcField) GetTypeName() string {
return k.FieldType.Name()
}
+func (k KnxNetIpGroupAddress3LevelPlcField) GetFieldType() *driverModel.KnxDatapointType {
+ return k.FieldType
+}
+
func (k KnxNetIpGroupAddress3LevelPlcField) GetQuantity() uint16 {
return 1
}
@@ -110,7 +115,7 @@ func (k KnxNetIpGroupAddress3LevelPlcField) toGroupAddress() *driverModel.KnxGro
}
type KnxNetIpGroupAddress2LevelPlcField struct {
- FieldType *driverModel.KnxDatapointSubtype
+ FieldType *driverModel.KnxDatapointType
// 5 Bits: Values 0-31
MainGroup string
// 11 Bits
@@ -118,7 +123,7 @@ type KnxNetIpGroupAddress2LevelPlcField struct {
KnxNetIpField
}
-func NewKnxNetIpGroupAddress2LevelPlcField(fieldType *driverModel.KnxDatapointSubtype, mainGroup string, subGroup string) KnxNetIpGroupAddress2LevelPlcField {
+func NewKnxNetIpGroupAddress2LevelPlcField(fieldType *driverModel.KnxDatapointType, mainGroup string, subGroup string) KnxNetIpGroupAddress2LevelPlcField {
return KnxNetIpGroupAddress2LevelPlcField{
FieldType: fieldType,
MainGroup: mainGroup,
@@ -130,6 +135,10 @@ func (k KnxNetIpGroupAddress2LevelPlcField) GetTypeName() string {
return k.FieldType.Name()
}
+func (k KnxNetIpGroupAddress2LevelPlcField) GetFieldType() *driverModel.KnxDatapointType {
+ return k.FieldType
+}
+
func (k KnxNetIpGroupAddress2LevelPlcField) GetQuantity() uint16 {
return 1
}
@@ -174,13 +183,13 @@ func (k KnxNetIpGroupAddress2LevelPlcField) toGroupAddress() *driverModel.KnxGro
}
type KnxNetIpGroupAddress1LevelPlcField struct {
- FieldType *driverModel.KnxDatapointSubtype
+ FieldType *driverModel.KnxDatapointType
// 16 Bits
MainGroup string
KnxNetIpField
}
-func NewKnxNetIpGroupAddress1LevelPlcField(fieldType *driverModel.KnxDatapointSubtype, mainGroup string) KnxNetIpGroupAddress1LevelPlcField {
+func NewKnxNetIpGroupAddress1LevelPlcField(fieldType *driverModel.KnxDatapointType, mainGroup string) KnxNetIpGroupAddress1LevelPlcField {
return KnxNetIpGroupAddress1LevelPlcField{
FieldType: fieldType,
MainGroup: mainGroup,
@@ -191,6 +200,10 @@ func (k KnxNetIpGroupAddress1LevelPlcField) GetTypeName() string {
return k.FieldType.Name()
}
+func (k KnxNetIpGroupAddress1LevelPlcField) GetFieldType() *driverModel.KnxDatapointType {
+ return k.FieldType
+}
+
func (k KnxNetIpGroupAddress1LevelPlcField) GetQuantity() uint16 {
return 1
}
@@ -226,7 +239,7 @@ func (k KnxNetIpGroupAddress1LevelPlcField) toGroupAddress() *driverModel.KnxGro
}
type KnxNetIpDevicePropertyAddressPlcField struct {
- FieldType *driverModel.KnxDatapointSubtype
+ FieldType *driverModel.KnxDatapointType
// 5 Bits: Values 0-31
MainGroup string
// 3 Bits: values 0-7
@@ -238,7 +251,7 @@ type KnxNetIpDevicePropertyAddressPlcField struct {
KnxNetIpField
}
-func NewKnxNetIpDevicePropertyAddressPlcField(fieldType *driverModel.KnxDatapointSubtype, mainGroup string, middleGroup string, subGroup string, objectId string, propertyId string) KnxNetIpDevicePropertyAddressPlcField {
+func NewKnxNetIpDevicePropertyAddressPlcField(fieldType *driverModel.KnxDatapointType, mainGroup string, middleGroup string, subGroup string, objectId string, propertyId string) KnxNetIpDevicePropertyAddressPlcField {
return KnxNetIpDevicePropertyAddressPlcField{
FieldType: fieldType,
MainGroup: mainGroup,
@@ -253,6 +266,10 @@ func (k KnxNetIpDevicePropertyAddressPlcField) GetTypeName() string {
return k.FieldType.Name()
}
+func (k KnxNetIpDevicePropertyAddressPlcField) GetFieldType() *driverModel.KnxDatapointType {
+ return k.FieldType
+}
+
func (k KnxNetIpDevicePropertyAddressPlcField) GetQuantity() uint16 {
return 1
}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
index 8490018..2971763 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpFieldHandler.go
@@ -63,30 +63,30 @@ func NewFieldHandler() FieldHandler {
func (m FieldHandler) ParseQuery(query string) (apiModel.PlcField, error) {
if match := utils.GetSubgroupMatches(m.knxNetIpDeviceQuery, query); match != nil {
fieldTypeName, ok := match["datatype"]
- var fieldType driverModel.KnxDatapointSubtype
+ var fieldType driverModel.KnxDatapointType
if ok {
- fieldType = driverModel.KnxDatapointSubtypeByName(fieldTypeName)
+ fieldType = driverModel.KnxDatapointTypeByName(fieldTypeName)
}
return NewKnxNetIpDevicePropertyAddressPlcField(&fieldType, match["mainGroup"], match["middleGroup"], match["subGroup"], match["objectId"], match["propertyId"]), nil
} else if match := utils.GetSubgroupMatches(m.knxNetIpGroupAddress3Level, query); match != nil {
fieldTypeName, ok := match["datatype"]
- var fieldType driverModel.KnxDatapointSubtype
+ var fieldType driverModel.KnxDatapointType
if ok {
- fieldType = driverModel.KnxDatapointSubtypeByName(fieldTypeName)
+ fieldType = driverModel.KnxDatapointTypeByName(fieldTypeName)
}
return NewKnxNetIpGroupAddress3LevelPlcField(&fieldType, match["mainGroup"], match["middleGroup"], match["subGroup"]), nil
} else if match := utils.GetSubgroupMatches(m.knxNetIpGroupAddress2Level, query); match != nil {
fieldTypeName, ok := match["datatype"]
- var fieldType driverModel.KnxDatapointSubtype
+ var fieldType driverModel.KnxDatapointType
if ok {
- fieldType = driverModel.KnxDatapointSubtypeByName(fieldTypeName)
+ fieldType = driverModel.KnxDatapointTypeByName(fieldTypeName)
}
return NewKnxNetIpGroupAddress2LevelPlcField(&fieldType, match["mainGroup"], match["subGroup"]), nil
} else if match := utils.GetSubgroupMatches(m.knxNetIpGroupAddress1Level, query); match != nil {
fieldTypeName, ok := match["datatype"]
- var fieldType driverModel.KnxDatapointSubtype
+ var fieldType driverModel.KnxDatapointType
if ok {
- fieldType = driverModel.KnxDatapointSubtypeByName(fieldTypeName)
+ fieldType = driverModel.KnxDatapointTypeByName(fieldTypeName)
}
return NewKnxNetIpGroupAddress1LevelPlcField(&fieldType, match["mainGroup"]), nil
}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
index d658b5f..7eb29bc 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
@@ -19,380 +19,384 @@
package knxnetip
import (
- "errors"
- "github.com/apache/plc4x/plc4go/internal/plc4go/knxnetip/readwrite"
- driverModel "github.com/apache/plc4x/plc4go/internal/plc4go/knxnetip/readwrite/model"
- "github.com/apache/plc4x/plc4go/internal/plc4go/spi"
- internalModel "github.com/apache/plc4x/plc4go/internal/plc4go/spi/model"
- "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
- internalValues "github.com/apache/plc4x/plc4go/internal/plc4go/spi/values"
- apiModel "github.com/apache/plc4x/plc4go/pkg/plc4go/model"
- apiValues "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
- "strconv"
- "time"
+ "errors"
+ "github.com/apache/plc4x/plc4go/internal/plc4go/knxnetip/readwrite"
+ driverModel "github.com/apache/plc4x/plc4go/internal/plc4go/knxnetip/readwrite/model"
+ "github.com/apache/plc4x/plc4go/internal/plc4go/spi"
+ internalModel "github.com/apache/plc4x/plc4go/internal/plc4go/spi/model"
+ "github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+ internalValues "github.com/apache/plc4x/plc4go/internal/plc4go/spi/values"
+ apiModel "github.com/apache/plc4x/plc4go/pkg/plc4go/model"
+ apiValues "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
+ "strconv"
+ "time"
)
type KnxNetIpReader struct {
- connection *KnxNetIpConnection
- spi.PlcReader
+ connection *KnxNetIpConnection
+ spi.PlcReader
}
func NewKnxNetIpReader(connection *KnxNetIpConnection) *KnxNetIpReader {
- return &KnxNetIpReader{
- connection: connection,
- }
+ return &KnxNetIpReader{
+ connection: connection,
+ }
}
func (m KnxNetIpReader) Read(readRequest apiModel.PlcReadRequest) <-chan apiModel.PlcReadRequestResult {
- resultChan := make(chan apiModel.PlcReadRequestResult)
- go func() {
- responseCodes := map[string]apiModel.PlcResponseCode{}
- plcValues := map[string]apiValues.PlcValue{}
-
- // Sort the fields in direct properties, which will have to be actively read from the devices
- // and group-addresses which will be locally processed from the local cache.
- directProperties := map[driverModel.KnxAddress]map[string]KnxNetIpDevicePropertyAddressPlcField{}
- groupAddresses := map[string]KnxNetIpField{}
- for _, fieldName := range readRequest.GetFieldNames() {
- // Get the knx field
- field, err := CastToKnxNetIpFieldFromPlcField(readRequest.GetField(fieldName))
- if err != nil {
- responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_ADDRESS
- plcValues[fieldName] = nil
- continue
- }
-
- switch field.(type) {
- case KnxNetIpDevicePropertyAddressPlcField:
- propertyField := field.(KnxNetIpDevicePropertyAddressPlcField)
- knxAddress := FieldToKnxAddress(propertyField)
- if knxAddress == nil {
- continue
- }
- if _, ok := directProperties[*knxAddress]; !ok {
- directProperties[*knxAddress] = map[string]KnxNetIpDevicePropertyAddressPlcField{}
- }
- directProperties[*knxAddress][fieldName] = propertyField
- default:
- groupAddresses[fieldName] = field
- }
- }
-
- // Process the direct properties.
- // Connect to each knx device and read all of the properties on that particular device.
- // Finish up by explicitly disconnecting after all properties on the device have been read.
- for deviceAddress, fields := range directProperties {
- // Connect to the device
- err := m.connectToDevice(deviceAddress)
- // If something went wrong all field for this device are equally failed
- if err != nil {
- for fieldName := range fields {
- responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_ADDRESS
- plcValues[fieldName] = nil
- }
- continue
- }
-
- // Collect all the properties on this device
- counter := uint8(1)
- for fieldName, field := range fields {
- responseCode, plcValue := m.readDeviceProperty(field, counter)
- responseCodes[fieldName] = responseCode
- plcValues[fieldName] = plcValue
- counter++
- }
-
- // Disconnect from the device
- _ = m.disconnectFromDevice(*m.connection.ClientKnxAddress, deviceAddress)
- // In this case we ignore if something goes wrong
- }
-
- // Get the group address values from the cache
- for fieldName, field := range groupAddresses {
- responseCode, plcValue := m.readGroupAddress(field)
- responseCodes[fieldName] = responseCode
- plcValues[fieldName] = plcValue
- }
-
- // Assemble the results
- result := internalModel.NewDefaultPlcReadResponse(readRequest, responseCodes, plcValues)
- resultChan <- apiModel.PlcReadRequestResult{
- Request: readRequest,
- Response: result,
- Err: nil,
- }
- }()
- return resultChan
+ resultChan := make(chan apiModel.PlcReadRequestResult)
+ go func() {
+ responseCodes := map[string]apiModel.PlcResponseCode{}
+ plcValues := map[string]apiValues.PlcValue{}
+
+ // Sort the fields in direct properties, which will have to be actively read from the devices
+ // and group-addresses which will be locally processed from the local cache.
+ directProperties := map[driverModel.KnxAddress]map[string]KnxNetIpDevicePropertyAddressPlcField{}
+ groupAddresses := map[string]KnxNetIpField{}
+ for _, fieldName := range readRequest.GetFieldNames() {
+ // Get the knx field
+ field, err := CastToKnxNetIpFieldFromPlcField(readRequest.GetField(fieldName))
+ if err != nil {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_ADDRESS
+ plcValues[fieldName] = nil
+ continue
+ }
+
+ switch field.(type) {
+ case KnxNetIpDevicePropertyAddressPlcField:
+ propertyField := field.(KnxNetIpDevicePropertyAddressPlcField)
+ knxAddress := FieldToKnxAddress(propertyField)
+ if knxAddress == nil {
+ continue
+ }
+ if _, ok := directProperties[*knxAddress]; !ok {
+ directProperties[*knxAddress] = map[string]KnxNetIpDevicePropertyAddressPlcField{}
+ }
+ directProperties[*knxAddress][fieldName] = propertyField
+ default:
+ groupAddresses[fieldName] = field
+ }
+ }
+
+ // Process the direct properties.
+ // Connect to each knx device and read all of the properties on that particular device.
+ // Finish up by explicitly disconnecting after all properties on the device have been read.
+ for deviceAddress, fields := range directProperties {
+ // Connect to the device
+ err := m.connectToDevice(deviceAddress)
+ // If something went wrong all field for this device are equally failed
+ if err != nil {
+ for fieldName := range fields {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_ADDRESS
+ plcValues[fieldName] = nil
+ }
+ continue
+ }
+
+ // Collect all the properties on this device
+ counter := uint8(1)
+ for fieldName, field := range fields {
+ responseCode, plcValue := m.readDeviceProperty(field, counter)
+ responseCodes[fieldName] = responseCode
+ plcValues[fieldName] = plcValue
+ counter++
+ }
+
+ // Disconnect from the device
+ _ = m.disconnectFromDevice(*m.connection.ClientKnxAddress, deviceAddress)
+ // In this case we ignore if something goes wrong
+ }
+
+ // Get the group address values from the cache
+ for fieldName, field := range groupAddresses {
+ responseCode, plcValue := m.readGroupAddress(field)
+ responseCodes[fieldName] = responseCode
+ plcValues[fieldName] = plcValue
+ }
+
+ // Assemble the results
+ result := internalModel.NewDefaultPlcReadResponse(readRequest, responseCodes, plcValues)
+ resultChan <- apiModel.PlcReadRequestResult{
+ Request: readRequest,
+ Response: result,
+ Err: nil,
+ }
+ }()
+ return resultChan
}
func (m KnxNetIpReader) connectToDevice(targetAddress driverModel.KnxAddress) error {
- connectionSuccess := make(chan bool)
- deviceConnectionRequest := driverModel.NewTunnelingRequest(
- driverModel.NewTunnelingRequestDataBlock(0, 0),
- driverModel.NewLDataReq(0, nil,
- driverModel.NewLDataFrameDataExt(false, 6, 0,
- driverModel.NewKnxAddress(0, 0, 0), KnxAddressToInt8Array(targetAddress),
- driverModel.NewApduControlContainer(driverModel.NewApduControlConnect(), 0, false, 0),
- true, true, driverModel.CEMIPriority_SYSTEM, false, false)))
-
- // Send the request
- err := m.connection.SendRequest(
- deviceConnectionRequest,
- // The Gateway is now supposed to send an Ack to this request.
- func(message interface{}) bool {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- if tunnelingRequest == nil ||
- tunnelingRequest.TunnelingRequestDataBlock.CommunicationChannelId != m.connection.CommunicationChannelId {
- return false
- }
- lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
- return lDataCon != nil
- },
- func(message interface{}) error {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
- // If the error flag is set, there was an error connecting
- if lDataCon.DataFrame.ErrorFlag {
- connectionSuccess <- false
- }
-
- // Now for some reason it seems as if we need to implement a Device Descriptor read.
- deviceDescriptorReadRequest := driverModel.NewTunnelingRequest(
- driverModel.NewTunnelingRequestDataBlock(0, 0),
- driverModel.NewLDataReq(0, nil,
- driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
- driverModel.NewKnxAddress(0, 0, 0), KnxAddressToInt8Array(targetAddress),
- driverModel.NewApduDataContainer(driverModel.NewApduDataDeviceDescriptorRead(), 0, false, 0),
- true, true, driverModel.CEMIPriority_LOW, false, false)))
- _ = m.connection.SendRequest(
- deviceDescriptorReadRequest,
- func(message interface{}) bool {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- if tunnelingRequest == nil ||
- tunnelingRequest.TunnelingRequestDataBlock.CommunicationChannelId != m.connection.CommunicationChannelId {
- return false
- }
- lDataInd := driverModel.CastLDataInd(tunnelingRequest.Cemi)
- if lDataInd == nil {
- return false
- }
- dataFrame := driverModel.CastLDataFrameDataExt(lDataInd.DataFrame)
- if dataFrame == nil {
- return false
- }
- if dataFrame.Apdu == nil {
- return false
- }
- return true
- //return *dataFrame.Apdu.Apci == driverModel.APCI_DEVICE_DESCRIPTOR_RESPONSE_PDU
- // TODO: Do something with the request ...
- },
- func(message interface{}) error {
- // Send back an ACK
- _ = m.connection.Send(
- driverModel.NewTunnelingRequest(
- driverModel.NewTunnelingRequestDataBlock(0, 0),
- driverModel.NewLDataReq(0, nil,
- driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
- driverModel.NewKnxAddress(0, 0, 0), KnxAddressToInt8Array(targetAddress),
- driverModel.NewApduControlContainer(driverModel.NewApduControlAck(), 0, false, 0),
- true, true, driverModel.CEMIPriority_SYSTEM, false, false))))
- // Now we can finally read properties.
- connectionSuccess <- true
- return nil
- },
- time.Second*5)
- return nil
- },
- time.Second*1)
-
- if err != nil {
- return errors.New("could not connect to device (Error sending connection request)")
- }
- select {
- case result := <-connectionSuccess:
- if !result {
- return errors.New("could not connect to device (NACK)")
- }
- case <-time.After(time.Second * 5):
- return errors.New("could not connect to device (Timeout)")
- }
- return nil
+ connectionSuccess := make(chan bool)
+ deviceConnectionRequest := driverModel.NewTunnelingRequest(
+ driverModel.NewTunnelingRequestDataBlock(0, 0),
+ driverModel.NewLDataReq(0, nil,
+ driverModel.NewLDataFrameDataExt(false, 6, 0,
+ driverModel.NewKnxAddress(0, 0, 0), KnxAddressToInt8Array(targetAddress),
+ driverModel.NewApduControlContainer(driverModel.NewApduControlConnect(), 0, false, 0),
+ true, true, driverModel.CEMIPriority_SYSTEM, false, false)))
+
+ // Send the request
+ err := m.connection.SendRequest(
+ deviceConnectionRequest,
+ // The Gateway is now supposed to send an Ack to this request.
+ func(message interface{}) bool {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ if tunnelingRequest == nil ||
+ tunnelingRequest.TunnelingRequestDataBlock.CommunicationChannelId != m.connection.CommunicationChannelId {
+ return false
+ }
+ lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
+ return lDataCon != nil
+ },
+ func(message interface{}) error {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
+ // If the error flag is set, there was an error connecting
+ if lDataCon.DataFrame.ErrorFlag {
+ connectionSuccess <- false
+ }
+
+ // Now for some reason it seems as if we need to implement a Device Descriptor read.
+ deviceDescriptorReadRequest := driverModel.NewTunnelingRequest(
+ driverModel.NewTunnelingRequestDataBlock(0, 0),
+ driverModel.NewLDataReq(0, nil,
+ driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
+ driverModel.NewKnxAddress(0, 0, 0), KnxAddressToInt8Array(targetAddress),
+ driverModel.NewApduDataContainer(driverModel.NewApduDataDeviceDescriptorRead(0), 1, true, 0),
+ true, true, driverModel.CEMIPriority_LOW, false, false)))
+ _ = m.connection.SendRequest(
+ deviceDescriptorReadRequest,
+ func(message interface{}) bool {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ if tunnelingRequest == nil ||
+ tunnelingRequest.TunnelingRequestDataBlock.CommunicationChannelId != m.connection.CommunicationChannelId {
+ return false
+ }
+ lDataInd := driverModel.CastLDataInd(tunnelingRequest.Cemi)
+ if lDataInd == nil {
+ return false
+ }
+ dataFrame := driverModel.CastLDataFrameDataExt(lDataInd.DataFrame)
+ if dataFrame == nil {
+ return false
+ }
+ dataContainer := driverModel.CastApduDataContainer(dataFrame.Apdu)
+ if dataContainer == nil {
+ return false
+ }
+ deviceDescriptorResponse := driverModel.CastApduDataDeviceDescriptorResponse(dataContainer.DataApdu)
+ if deviceDescriptorResponse == nil {
+ return false
+ }
+ return true
+ //return *dataFrame.Apdu.Apci == driverModel.APCI_DEVICE_DESCRIPTOR_RESPONSE_PDU
+ // TODO: Do something with the request ...
+ },
+ func(message interface{}) error {
+ // Send back an ACK
+ _ = m.connection.Send(
+ driverModel.NewTunnelingRequest(
+ driverModel.NewTunnelingRequestDataBlock(0, 0),
+ driverModel.NewLDataReq(0, nil,
+ driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
+ driverModel.NewKnxAddress(0, 0, 0), KnxAddressToInt8Array(targetAddress),
+ driverModel.NewApduControlContainer(driverModel.NewApduControlAck(), 0, true, 0),
+ true, true, driverModel.CEMIPriority_SYSTEM, false, false))))
+ // Now we can finally read properties.
+ connectionSuccess <- true
+ return nil
+ },
+ time.Second*5)
+ return nil
+ },
+ time.Second*1)
+
+ if err != nil {
+ return errors.New("could not connect to device (Error sending connection request)")
+ }
+ select {
+ case result := <-connectionSuccess:
+ if !result {
+ return errors.New("could not connect to device (NACK)")
+ }
+ case <-time.After(time.Second * 5):
+ return errors.New("could not connect to device (Timeout)")
+ }
+ return nil
}
func (m KnxNetIpReader) disconnectFromDevice(sourceAddress driverModel.KnxAddress, targetAddress driverModel.KnxAddress) error {
- deviceConnectionRequest := driverModel.NewTunnelingRequest(
- driverModel.NewTunnelingRequestDataBlock(0, 0),
- driverModel.NewLDataReq(0, nil,
- driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
- &sourceAddress, KnxAddressToInt8Array(targetAddress),
- driverModel.NewApduControlContainer(driverModel.NewApduControlDisconnect(), 0, false,0),
+ deviceConnectionRequest := driverModel.NewTunnelingRequest(
+ driverModel.NewTunnelingRequestDataBlock(0, 0),
+ driverModel.NewLDataReq(0, nil,
+ driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
+ &sourceAddress, KnxAddressToInt8Array(targetAddress),
+ driverModel.NewApduControlContainer(driverModel.NewApduControlDisconnect(), 0, false, 0),
true, true, driverModel.CEMIPriority_SYSTEM, false, false)))
- // Send the request
- connectionSuccess := make(chan bool)
- err := m.connection.SendRequest(
- deviceConnectionRequest,
- // The Gateway is now supposed to send an Ack to this request.
- func(message interface{}) bool {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- if tunnelingRequest == nil ||
- tunnelingRequest.TunnelingRequestDataBlock.CommunicationChannelId != m.connection.CommunicationChannelId {
- return false
- }
- lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
- if lDataCon == nil {
- return false
- }
- frameDataExt := driverModel.CastLDataFrameDataExt(lDataCon.DataFrame)
- if frameDataExt == nil {
- return false
- }
- return true
- //return frameDataExt.Control == true && frameDataExt.ControlType == nil
- },
- func(message interface{}) error {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
- _ = driverModel.CastLDataFrameDataExt(lDataCon.DataFrame)
- //if *frameDataExt.ControlType == driverModel.ControlType_DISCONNECT {
- connectionSuccess <- false
- //}
- return nil
- },
- time.Second*1)
-
- if err != nil {
- return errors.New("could not connect to device (Error sending connection request)")
- }
- select {
- case result := <-connectionSuccess:
- if !result {
- return errors.New("could not connect to device (NACK)")
- }
- case <-time.After(time.Second * 5):
- return errors.New("could not connect to device (Timeout)")
- }
- return nil
+ // Send the request
+ connectionSuccess := make(chan bool)
+ err := m.connection.SendRequest(
+ deviceConnectionRequest,
+ // The Gateway is now supposed to send an Ack to this request.
+ func(message interface{}) bool {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ if tunnelingRequest == nil ||
+ tunnelingRequest.TunnelingRequestDataBlock.CommunicationChannelId != m.connection.CommunicationChannelId {
+ return false
+ }
+ lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
+ if lDataCon == nil {
+ return false
+ }
+ frameDataExt := driverModel.CastLDataFrameDataExt(lDataCon.DataFrame)
+ if frameDataExt == nil {
+ return false
+ }
+ return true
+ //return frameDataExt.Control == true && frameDataExt.ControlType == nil
+ },
+ func(message interface{}) error {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ lDataCon := driverModel.CastLDataCon(tunnelingRequest.Cemi)
+ _ = driverModel.CastLDataFrameDataExt(lDataCon.DataFrame)
+ //if *frameDataExt.ControlType == driverModel.ControlType_DISCONNECT {
+ connectionSuccess <- false
+ //}
+ return nil
+ },
+ time.Second*1)
+
+ if err != nil {
+ return errors.New("could not connect to device (Error sending connection request)")
+ }
+ select {
+ case result := <-connectionSuccess:
+ if !result {
+ return errors.New("could not connect to device (NACK)")
+ }
+ case <-time.After(time.Second * 5):
+ return errors.New("could not connect to device (Timeout)")
+ }
+ return nil
}
type readPropertyResult struct {
- plcValue apiValues.PlcValue
- responseCode apiModel.PlcResponseCode
+ plcValue apiValues.PlcValue
+ responseCode apiModel.PlcResponseCode
}
func (m KnxNetIpReader) readDeviceProperty(field KnxNetIpDevicePropertyAddressPlcField, counter uint8) (apiModel.PlcResponseCode, apiValues.PlcValue) {
- // TODO: We'll add this as time progresses, for now we only support fully qualified addresses
- if field.IsPatternField() {
- return apiModel.PlcResponseCode_UNSUPPORTED, nil
- }
-
- destinationAddress := FieldToKnxAddress(field)
- destinationAddressBuffer := utils.NewWriteBuffer()
- err := destinationAddress.Serialize(*destinationAddressBuffer)
- if err != nil {
- return apiModel.PlcResponseCode_INTERNAL_ERROR, nil
- }
- destinationAddressData := utils.Uint8ArrayToInt8Array(destinationAddressBuffer.GetBytes())
- objectId, _ := strconv.Atoi(field.ObjectId)
- propertyId, _ := strconv.Atoi(field.PropertyId)
-
- request := driverModel.NewTunnelingRequest(
- driverModel.NewTunnelingRequestDataBlock(0, 0),
- driverModel.NewLDataReq(0, nil,
- driverModel.NewLDataFrameDataExt(false, 6, 0,
- driverModel.NewKnxAddress(0, 0, 0),
+ // TODO: We'll add this as time progresses, for now we only support fully qualified addresses
+ if field.IsPatternField() {
+ return apiModel.PlcResponseCode_UNSUPPORTED, nil
+ }
+
+ destinationAddress := FieldToKnxAddress(field)
+ destinationAddressBuffer := utils.NewWriteBuffer()
+ err := destinationAddress.Serialize(*destinationAddressBuffer)
+ if err != nil {
+ return apiModel.PlcResponseCode_INTERNAL_ERROR, nil
+ }
+ destinationAddressData := utils.Uint8ArrayToInt8Array(destinationAddressBuffer.GetBytes())
+ objectId, _ := strconv.Atoi(field.ObjectId)
+ propertyId, _ := strconv.Atoi(field.PropertyId)
+
+ request := driverModel.NewTunnelingRequest(
+ driverModel.NewTunnelingRequestDataBlock(0, 0),
+ driverModel.NewLDataReq(0, nil,
+ driverModel.NewLDataFrameDataExt(false, 6, 0,
+ driverModel.NewKnxAddress(0, 0, 0),
destinationAddressData,
- driverModel.NewApduDataContainer(driverModel.NewApduDataOther(
- // TODO: The counter should be incremented per KNX individual address
- driverModel.NewApduDataExtPropertyValueRead(uint8(objectId), uint8(propertyId), 1, 1)), 0, true, 1),
- true, true, driverModel.CEMIPriority_SYSTEM, false, false)))
-
- result := make(chan readPropertyResult)
- err = m.connection.SendRequest(
- request,
- // Even if there are multiple messages being exchanged because of the request
- // We are not interested in most of them. The one containing the response is
- // an LData.ind from the destination address to our client address with the given
- // object-id and property-id.
- func(message interface{}) bool {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- if tunnelingRequest == nil {
- return false
- }
- lDataInd := driverModel.CastLDataInd(tunnelingRequest.Cemi)
- if lDataInd == nil {
- return false
- }
- dataFrameExt := driverModel.CastLDataFrameDataExt(lDataInd.DataFrame)
- if dataFrameExt != nil && dataFrameExt.Apdu != nil {
- otherPdu := driverModel.CastApduDataOther(*dataFrameExt.Apdu)
+ driverModel.NewApduDataContainer(
+ driverModel.NewApduDataOther(
+ // TODO: The counter should be incremented per KNX individual address
+ driverModel.NewApduDataExtPropertyValueRead(uint8(objectId), uint8(propertyId), 1, 1)), 5, true, counter),
+ true, true, driverModel.CEMIPriority_LOW, false, false)))
+
+ result := make(chan readPropertyResult)
+ err = m.connection.SendRequest(
+ request,
+ // Even if there are multiple messages being exchanged because of the request
+ // We are not interested in most of them. The one containing the response is
+ // an LData.ind from the destination address to our client address with the given
+ // object-id and property-id.
+ func(message interface{}) bool {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ if tunnelingRequest == nil {
+ return false
+ }
+ lDataInd := driverModel.CastLDataInd(tunnelingRequest.Cemi)
+ if lDataInd == nil {
+ return false
+ }
+ dataFrameExt := driverModel.CastLDataFrameDataExt(lDataInd.DataFrame)
+ if dataFrameExt != nil && dataFrameExt.Apdu != nil {
+ apduDataContainer := driverModel.CastApduDataContainer(dataFrameExt.Apdu)
+ if apduDataContainer == nil {
+ return false
+ }
+ otherPdu := driverModel.CastApduDataOther(apduDataContainer.DataApdu)
if otherPdu == nil {
- return false
- }
-
+ return false
+ }
propertyValueResponse := driverModel.CastApduDataExtPropertyValueResponse(otherPdu.ExtendedApdu)
if propertyValueResponse == nil {
- return false
- }
- if *dataFrameExt.SourceAddress != *destinationAddress {
- return false
- }
- if *Int8ArrayToKnxAddress(dataFrameExt.DestinationAddress) != *m.connection.ClientKnxAddress {
- return false
- }
- readBuffer := utils.NewReadBuffer(propertyValueResponse.Data)
- curObjectId, _ := readBuffer.ReadUint8(8)
- curPropertyId, _ := readBuffer.ReadUint8(8)
+ return false
+ }
+ if *dataFrameExt.SourceAddress != *destinationAddress {
+ return false
+ }
+ if *Int8ArrayToKnxAddress(dataFrameExt.DestinationAddress) != *m.connection.ClientKnxAddress {
+ return false
+ }
+ curObjectId := propertyValueResponse.ObjectIndex
+ curPropertyId := propertyValueResponse.PropertyId
if curObjectId == uint8(objectId) && curPropertyId == uint8(propertyId) {
return true
}
- }
- return false
- },
- func(message interface{}) error {
- tunnelingRequest := driverModel.CastTunnelingRequest(message)
- lDataInd := driverModel.CastLDataInd(tunnelingRequest.Cemi)
- dataFrameExt := driverModel.CastLDataFrameDataExt(lDataInd.DataFrame)
- otherPdu := driverModel.CastApduDataOther(*dataFrameExt.Apdu)
+ }
+ return false
+ },
+ func(message interface{}) error {
+ tunnelingRequest := driverModel.CastTunnelingRequest(message)
+ lDataInd := driverModel.CastLDataInd(tunnelingRequest.Cemi)
+ dataFrameExt := driverModel.CastLDataFrameDataExt(lDataInd.DataFrame)
+ apduDataContainer := driverModel.CastApduDataContainer(dataFrameExt.Apdu)
+ otherPdu := driverModel.CastApduDataOther(apduDataContainer.DataApdu)
propertyValueResponse := driverModel.CastApduDataExtPropertyValueResponse(otherPdu.ExtendedApdu)
- readBuffer := utils.NewReadBuffer(propertyValueResponse.Data)
- // Skip the object id and property id as we already checked them
- _, _ = readBuffer.ReadUint8(8)
- _, _ = readBuffer.ReadUint8(8)
-
- propertyCount, _ := readBuffer.ReadUint8(4)
- _ /*index*/, _ = readBuffer.ReadUint16(12)
-
- // If the return is a count of 0, then we can't access this property (Doesn't exist or not allowed to)
- // As we don't have a return code for "doesn't exist or doesn't have access to" we'll stick to "not found"
- // as this can be understood as "found no property we have access to"
- // ("03_03_07 Application Layer v01.06.02 AS" Page 52)
- var propResult readPropertyResult
- if propertyCount == 0 {
- propResult = readPropertyResult{
- responseCode: apiModel.PlcResponseCode_NOT_FOUND,
- }
- } else {
- // Depending on the object id and property id, parse the remaining data accordingly.
- property := driverModel.KnxInterfaceObjectProperty_PID_UNKNOWN
- for i := driverModel.KnxInterfaceObjectProperty_PID_UNKNOWN; i < driverModel.KnxInterfaceObjectProperty_PID_SUNBLIND_SENSOR_BASIC_ENABLE_TOGGLE_MODE; i++ {
- // If the propertyId matches and this is either a general object or the object id matches, add it to the result
- if i.PropertyId() == uint8(propertyId) && (i.ObjectType().Code() == "G" || i.ObjectType().Code() == strconv.Itoa(objectId)) {
- property = i
- break
- }
- }
-
- // Parse the payload according to the specified datatype
- dataType := property.PropertyDataType()
- plcValue := readwrite.ParsePropertyDataType(*readBuffer, dataType, dataType.SizeInBytes())
- propResult = readPropertyResult{
- plcValue: plcValue,
- responseCode: apiModel.PlcResponseCode_OK,
- }
- }
+ readBuffer := utils.NewReadBuffer(propertyValueResponse.Data)
+ propertyCount := propertyValueResponse.Count
+
+ // If the return is a count of 0, then we can't access this property (Doesn't exist or not allowed to)
+ // As we don't have a return code for "doesn't exist or doesn't have access to" we'll stick to "not found"
+ // as this can be understood as "found no property we have access to"
+ // ("03_03_07 Application Layer v01.06.02 AS" Page 52)
+ var propResult readPropertyResult
+ if propertyCount == 0 {
+ propResult = readPropertyResult{
+ responseCode: apiModel.PlcResponseCode_NOT_FOUND,
+ }
+ } else {
+ // Depending on the object id and property id, parse the remaining data accordingly.
+ property := driverModel.KnxInterfaceObjectProperty_PID_UNKNOWN
+ for i := driverModel.KnxInterfaceObjectProperty_PID_UNKNOWN; i < driverModel.KnxInterfaceObjectProperty_PID_SUNBLIND_SENSOR_BASIC_ENABLE_TOGGLE_MODE; i++ {
+ // If the propertyId matches and this is either a general object or the object id matches, add it to the result
+ if i.PropertyId() == uint8(propertyId) && (i.ObjectType().Code() == "G" || i.ObjectType().Code() == strconv.Itoa(objectId)) {
+ property = i
+ break
+ }
+ }
+
+ // Parse the payload according to the specified datatype
+ dataType := property.PropertyDataType()
+ plcValue := readwrite.ParsePropertyDataType(*readBuffer, dataType, dataType.SizeInBytes())
+ propResult = readPropertyResult{
+ plcValue: plcValue,
+ responseCode: apiModel.PlcResponseCode_OK,
+ }
+ }
// Send back an ACK
_ = m.connection.Send(
@@ -401,113 +405,119 @@ func (m KnxNetIpReader) readDeviceProperty(field KnxNetIpDevicePropertyAddressPl
driverModel.NewLDataReq(0, nil,
driverModel.NewLDataFrameDataExt(false, 6, uint8(0),
driverModel.NewKnxAddress(0, 0, 0), destinationAddressData,
- driverModel.NewApduControlContainer(driverModel.NewApduControlAck(), 0, false, 0),
+ driverModel.NewApduControlContainer(driverModel.NewApduControlAck(), 0, true, dataFrameExt.Apdu.Counter),
true, true, driverModel.CEMIPriority_SYSTEM, false, false))))
- result <- propResult
- return nil
- },
- time.Second*5)
-
- select {
- case value := <-result:
- responseCode := value.responseCode
- plcValue := value.plcValue
- return responseCode, plcValue
- /*case <-time.After(time.Second * 5):
- return apiModel.PlcResponseCode_REMOTE_ERROR, nil*/
- }
+ result <- propResult
+ return nil
+ },
+ time.Second*5)
+
+ select {
+ case value := <-result:
+ responseCode := value.responseCode
+ plcValue := value.plcValue
+ return responseCode, plcValue
+ /*case <-time.After(time.Second * 5):
+ return apiModel.PlcResponseCode_REMOTE_ERROR, nil*/
+ }
}
func (m KnxNetIpReader) readGroupAddress(field KnxNetIpField) (apiModel.PlcResponseCode, apiValues.PlcValue) {
- // Pattern fields can match more than one value, therefore we have to handle things differently
- if field.IsPatternField() {
- // Depending on the type of field, get the uint16 ids of all values that match the current field
- matchedAddresses := map[uint16]*driverModel.KnxGroupAddress{}
- switch field.(type) {
- case KnxNetIpGroupAddress3LevelPlcField:
- for key, value := range m.connection.leve3AddressCache {
- if field.matches(value.Parent) {
- matchedAddresses[key] = value.Parent
- }
- }
- case KnxNetIpGroupAddress2LevelPlcField:
- for key, value := range m.connection.leve2AddressCache {
- if field.matches(value.Parent) {
- matchedAddresses[key] = value.Parent
- }
- }
- case KnxNetIpGroupAddress1LevelPlcField:
- for key, value := range m.connection.leve1AddressCache {
- if field.matches(value.Parent) {
- matchedAddresses[key] = value.Parent
- }
- }
- }
-
- // If not a single match was found, we'll return a "not found" message
- if len(matchedAddresses) == 0 {
- return apiModel.PlcResponseCode_NOT_FOUND, nil
- }
-
- // Go through all of the values and create a plc-struct from them
- // where the string version of the address becomes the property name
- // and the property value is the corresponding value (Other wise it
- // would be impossible to know which of the fields the pattern matched
- // a given value belongs to)
- values := map[string]apiValues.PlcValue{}
- for numericAddress, address := range matchedAddresses {
- // Get the raw data from the cache
- m.connection.valueCacheMutex.RLock()
- int8s, _ := m.connection.valueCache[numericAddress]
- m.connection.valueCacheMutex.RUnlock()
-
- // If we don't have any field-type information, add the raw data
- if field.GetTypeName() == "" {
- values[GroupAddressToString(address)] =
- internalValues.NewPlcByteArray(utils.Int8ArrayToByteArray(int8s))
- } else {
- // Decode the data according to the fields type
- rb := utils.NewReadBuffer(utils.Int8ArrayToUint8Array(int8s))
- plcValue, err := driverModel.KnxDatapointParse(rb, field.GetTypeName())
- // If any of the values doesn't decode correctly, we can't return any
- if err != nil {
- return apiModel.PlcResponseCode_INVALID_DATA, nil
- }
- values[GroupAddressToString(address)] = plcValue
- }
- }
-
- // Add it to the result
- return apiModel.PlcResponseCode_OK, internalValues.NewPlcStruct(values)
- } else {
- // If it's not a pattern field, we can access the cached value a lot simpler
-
- // Serialize the field to an uint16
- wb := utils.NewWriteBuffer()
- err := field.toGroupAddress().Serialize(*wb)
- if err != nil {
- return apiModel.PlcResponseCode_INVALID_ADDRESS, nil
- }
- rawAddress := wb.GetBytes()
- address := (uint16(rawAddress[0]) << 8) | uint16(rawAddress[1]&0xFF)
-
- // Get the value form the cache
- m.connection.valueCacheMutex.RLock()
- int8s, ok := m.connection.valueCache[address]
- m.connection.valueCacheMutex.RUnlock()
- if !ok {
- return apiModel.PlcResponseCode_NOT_FOUND, nil
- }
-
- // Decode the data according to the fields type
- rb := utils.NewReadBuffer(utils.Int8ArrayToUint8Array(int8s))
- plcValue, err := driverModel.KnxDatapointParse(rb, field.GetTypeName())
- if err != nil {
- return apiModel.PlcResponseCode_INVALID_DATA, nil
- }
-
- // Add it to the result
- return apiModel.PlcResponseCode_OK, plcValue
- }
+ // Pattern fields can match more than one value, therefore we have to handle things differently
+ if field.IsPatternField() {
+ // Depending on the type of field, get the uint16 ids of all values that match the current field
+ matchedAddresses := map[uint16]*driverModel.KnxGroupAddress{}
+ switch field.(type) {
+ case KnxNetIpGroupAddress3LevelPlcField:
+ for key, value := range m.connection.leve3AddressCache {
+ if field.matches(value.Parent) {
+ matchedAddresses[key] = value.Parent
+ }
+ }
+ case KnxNetIpGroupAddress2LevelPlcField:
+ for key, value := range m.connection.leve2AddressCache {
+ if field.matches(value.Parent) {
+ matchedAddresses[key] = value.Parent
+ }
+ }
+ case KnxNetIpGroupAddress1LevelPlcField:
+ for key, value := range m.connection.leve1AddressCache {
+ if field.matches(value.Parent) {
+ matchedAddresses[key] = value.Parent
+ }
+ }
+ }
+
+ // If not a single match was found, we'll return a "not found" message
+ if len(matchedAddresses) == 0 {
+ return apiModel.PlcResponseCode_NOT_FOUND, nil
+ }
+
+ // Go through all of the values and create a plc-struct from them
+ // where the string version of the address becomes the property name
+ // and the property value is the corresponding value (Other wise it
+ // would be impossible to know which of the fields the pattern matched
+ // a given value belongs to)
+ values := map[string]apiValues.PlcValue{}
+ for numericAddress, address := range matchedAddresses {
+ // Get the raw data from the cache
+ m.connection.valueCacheMutex.RLock()
+ int8s, _ := m.connection.valueCache[numericAddress]
+ m.connection.valueCacheMutex.RUnlock()
+
+ // If we don't have any field-type information, add the raw data
+ if field.GetTypeName() == "" {
+ values[GroupAddressToString(address)] =
+ internalValues.NewPlcByteArray(utils.Int8ArrayToByteArray(int8s))
+ } else {
+ // Decode the data according to the fields type
+ rb := utils.NewReadBuffer(utils.Int8ArrayToUint8Array(int8s))
+ if field.GetFieldType() == nil {
+ return apiModel.PlcResponseCode_INVALID_DATATYPE, nil
+ }
+ plcValue, err := driverModel.KnxDatapointParse(rb, *field.GetFieldType())
+ // If any of the values doesn't decode correctly, we can't return any
+ if err != nil {
+ return apiModel.PlcResponseCode_INVALID_DATA, nil
+ }
+ values[GroupAddressToString(address)] = plcValue
+ }
+ }
+
+ // Add it to the result
+ return apiModel.PlcResponseCode_OK, internalValues.NewPlcStruct(values)
+ } else {
+ // If it's not a pattern field, we can access the cached value a lot simpler
+
+ // Serialize the field to an uint16
+ wb := utils.NewWriteBuffer()
+ err := field.toGroupAddress().Serialize(*wb)
+ if err != nil {
+ return apiModel.PlcResponseCode_INVALID_ADDRESS, nil
+ }
+ rawAddress := wb.GetBytes()
+ address := (uint16(rawAddress[0]) << 8) | uint16(rawAddress[1]&0xFF)
+
+ // Get the value form the cache
+ m.connection.valueCacheMutex.RLock()
+ int8s, ok := m.connection.valueCache[address]
+ m.connection.valueCacheMutex.RUnlock()
+ if !ok {
+ return apiModel.PlcResponseCode_NOT_FOUND, nil
+ }
+
+ // Decode the data according to the fields type
+ rb := utils.NewReadBuffer(utils.Int8ArrayToUint8Array(int8s))
+ if field.GetFieldType() == nil {
+ return apiModel.PlcResponseCode_INVALID_DATATYPE, nil
+ }
+ plcValue, err := driverModel.KnxDatapointParse(rb, *field.GetFieldType())
+ if err != nil {
+ return apiModel.PlcResponseCode_INVALID_DATA, nil
+ }
+
+ // Add it to the result
+ return apiModel.PlcResponseCode_OK, plcValue
+ }
}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
index 0a630f9..acd7892 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
@@ -133,12 +133,17 @@ func (m *KnxNetIpSubscriber) handleValueChange(lDataFrame *driverModel.LDataFram
payload = append(payload, groupValueWrite.DataFirstByte)
payload = append(payload, groupValueWrite.Data...)
rb := utils.NewReadBuffer(utils.Int8ArrayToByteArray(payload))
- plcValue, err := driverModel.KnxDatapointParse(rb, field.GetTypeName())
+ if field.GetFieldType() == nil {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_DATATYPE
+ plcValues[fieldName] = nil
+ continue
+ }
+ plcValue, err2 := driverModel.KnxDatapointParse(rb, *field.GetFieldType())
fields[fieldName] = field
types[fieldName] = subscriptionRequest.GetType(fieldName)
intervals[fieldName] = subscriptionRequest.GetInterval(fieldName)
addresses[fieldName] = destinationAddress
- if err == nil {
+ if err2 == nil {
responseCodes[fieldName] = apiModel.PlcResponseCode_OK
plcValues[fieldName] = plcValue
} else {
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go
index 7fa3399..6e1e137 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpWriter.go
@@ -58,7 +58,8 @@ func (m KnxNetIpWriter) Write(writeRequest model.PlcWriteRequest) <-chan model.P
// Get the value from the request and serialize it to a byte array
value := writeRequest.GetValue(fieldName)
io := utils.NewWriteBuffer()
- if err := knxnetipModel.KnxDatapointSerialize(io, value, knxNetIpField.GetTypeName()); err != nil {
+ fieldType := knxnetipModel.KnxDatapointTypeByName(knxNetIpField.GetTypeName())
+ if err := knxnetipModel.KnxDatapointSerialize(io, value, fieldType); err != nil {
result <- model.PlcWriteRequestResult{
Request: writeRequest,
Response: nil,
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go
index c0df68f..56ab5aa 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduData.go
@@ -131,7 +131,7 @@ func ApduDataParse(io *utils.ReadBuffer, dataLength uint8) (*ApduData, error) {
case apciType == 0xC:
_parent, typeSwitchError = ApduDataDeviceDescriptorReadParse(io)
case apciType == 0xD:
- _parent, typeSwitchError = ApduDataDeviceDescriptorResponseParse(io)
+ _parent, typeSwitchError = ApduDataDeviceDescriptorResponseParse(io, dataLength)
case apciType == 0xE:
_parent, typeSwitchError = ApduDataRestartParse(io)
case apciType == 0xF:
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go
index 8fc976e..bfcc2a6 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorRead.go
@@ -20,12 +20,14 @@ package model
import (
"encoding/xml"
+ "errors"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"io"
)
// The data-structure of this message
type ApduDataDeviceDescriptorRead struct {
+ DescriptorType uint8
Parent *ApduData
IApduDataDeviceDescriptorRead
}
@@ -49,8 +51,9 @@ func (m *ApduDataDeviceDescriptorRead) ApciType() uint8 {
func (m *ApduDataDeviceDescriptorRead) InitializeParent(parent *ApduData) {
}
-func NewApduDataDeviceDescriptorRead() *ApduData {
+func NewApduDataDeviceDescriptorRead(descriptorType uint8, ) *ApduData {
child := &ApduDataDeviceDescriptorRead{
+ DescriptorType: descriptorType,
Parent: NewApduData(),
}
child.Parent.Child = child
@@ -83,6 +86,9 @@ func (m *ApduDataDeviceDescriptorRead) GetTypeName() string {
func (m *ApduDataDeviceDescriptorRead) LengthInBits() uint16 {
lengthInBits := uint16(0)
+ // Simple field (descriptorType)
+ lengthInBits += 6
+
return lengthInBits
}
@@ -92,8 +98,15 @@ func (m *ApduDataDeviceDescriptorRead) LengthInBytes() uint16 {
func ApduDataDeviceDescriptorReadParse(io *utils.ReadBuffer) (*ApduData, error) {
+ // Simple Field (descriptorType)
+ descriptorType, _descriptorTypeErr := io.ReadUint8(6)
+ if _descriptorTypeErr != nil {
+ return nil, errors.New("Error parsing 'descriptorType' field " + _descriptorTypeErr.Error())
+ }
+
// Create a partially initialized instance
_child := &ApduDataDeviceDescriptorRead{
+ DescriptorType: descriptorType,
Parent: &ApduData{},
}
_child.Parent.Child = _child
@@ -103,6 +116,13 @@ func ApduDataDeviceDescriptorReadParse(io *utils.ReadBuffer) (*ApduData, error)
func (m *ApduDataDeviceDescriptorRead) Serialize(io utils.WriteBuffer) error {
ser := func() error {
+ // Simple Field (descriptorType)
+ descriptorType := uint8(m.DescriptorType)
+ _descriptorTypeErr := io.WriteUint8(6, (descriptorType))
+ if _descriptorTypeErr != nil {
+ return errors.New("Error serializing 'descriptorType' field " + _descriptorTypeErr.Error())
+ }
+
return nil
}
return m.Parent.SerializeParent(io, m, ser)
@@ -117,6 +137,12 @@ func (m *ApduDataDeviceDescriptorRead) UnmarshalXML(d *xml.Decoder, start xml.St
case xml.StartElement:
tok := token.(xml.StartElement)
switch tok.Name.Local {
+ case "descriptorType":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DescriptorType = data
}
}
token, err = d.Token()
@@ -130,6 +156,9 @@ func (m *ApduDataDeviceDescriptorRead) UnmarshalXML(d *xml.Decoder, start xml.St
}
func (m *ApduDataDeviceDescriptorRead) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.DescriptorType, xml.StartElement{Name: xml.Name{Local: "descriptorType"}}); err != nil {
+ return err
+ }
return nil
}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
index f694429..bad1554 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataDeviceDescriptorResponse.go
@@ -19,13 +19,17 @@
package model
import (
+ "encoding/base64"
"encoding/xml"
+ "errors"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
"io"
)
// The data-structure of this message
type ApduDataDeviceDescriptorResponse struct {
+ DescriptorType uint8
+ Data []int8
Parent *ApduData
IApduDataDeviceDescriptorResponse
}
@@ -49,8 +53,10 @@ func (m *ApduDataDeviceDescriptorResponse) ApciType() uint8 {
func (m *ApduDataDeviceDescriptorResponse) InitializeParent(parent *ApduData) {
}
-func NewApduDataDeviceDescriptorResponse() *ApduData {
+func NewApduDataDeviceDescriptorResponse(descriptorType uint8, data []int8, ) *ApduData {
child := &ApduDataDeviceDescriptorResponse{
+ DescriptorType: descriptorType,
+ Data: data,
Parent: NewApduData(),
}
child.Parent.Child = child
@@ -83,6 +89,14 @@ func (m *ApduDataDeviceDescriptorResponse) GetTypeName() string {
func (m *ApduDataDeviceDescriptorResponse) LengthInBits() uint16 {
lengthInBits := uint16(0)
+ // Simple field (descriptorType)
+ lengthInBits += 6
+
+ // Array field
+ if len(m.Data) > 0 {
+ lengthInBits += 8 * uint16(len(m.Data))
+ }
+
return lengthInBits
}
@@ -90,10 +104,29 @@ func (m *ApduDataDeviceDescriptorResponse) LengthInBytes() uint16 {
return m.LengthInBits() / 8
}
-func ApduDataDeviceDescriptorResponseParse(io *utils.ReadBuffer) (*ApduData, error) {
+func ApduDataDeviceDescriptorResponseParse(io *utils.ReadBuffer, dataLength uint8) (*ApduData, error) {
+
+ // Simple Field (descriptorType)
+ descriptorType, _descriptorTypeErr := io.ReadUint8(6)
+ if _descriptorTypeErr != nil {
+ return nil, errors.New("Error parsing 'descriptorType' field " + _descriptorTypeErr.Error())
+ }
+
+ // Array field (data)
+ // Count array
+ data := make([]int8, utils.InlineIf(bool(bool((dataLength) < ((1)))), uint16(uint16(0)), uint16(uint16(dataLength) - uint16(uint16(1)))))
+ for curItem := uint16(0); curItem < uint16(utils.InlineIf(bool(bool((dataLength) < ((1)))), uint16(uint16(0)), uint16(uint16(dataLength) - uint16(uint16(1))))); curItem++ {
+ _item, _err := io.ReadInt8(8)
+ if _err != nil {
+ return nil, errors.New("Error parsing 'data' field " + _err.Error())
+ }
+ data[curItem] = _item
+ }
// Create a partially initialized instance
_child := &ApduDataDeviceDescriptorResponse{
+ DescriptorType: descriptorType,
+ Data: data,
Parent: &ApduData{},
}
_child.Parent.Child = _child
@@ -103,6 +136,23 @@ func ApduDataDeviceDescriptorResponseParse(io *utils.ReadBuffer) (*ApduData, err
func (m *ApduDataDeviceDescriptorResponse) Serialize(io utils.WriteBuffer) error {
ser := func() error {
+ // Simple Field (descriptorType)
+ descriptorType := uint8(m.DescriptorType)
+ _descriptorTypeErr := io.WriteUint8(6, (descriptorType))
+ if _descriptorTypeErr != nil {
+ return errors.New("Error serializing 'descriptorType' field " + _descriptorTypeErr.Error())
+ }
+
+ // Array Field (data)
+ if m.Data != nil {
+ for _, _element := range m.Data {
+ _elementErr := io.WriteInt8(8, _element)
+ if _elementErr != nil {
+ return errors.New("Error serializing 'data' field " + _elementErr.Error())
+ }
+ }
+ }
+
return nil
}
return m.Parent.SerializeParent(io, m, ser)
@@ -117,6 +167,23 @@ func (m *ApduDataDeviceDescriptorResponse) UnmarshalXML(d *xml.Decoder, start xm
case xml.StartElement:
tok := token.(xml.StartElement)
switch tok.Name.Local {
+ case "descriptorType":
+ var data uint8
+ if err := d.DecodeElement(&data, &tok); err != nil {
+ return err
+ }
+ m.DescriptorType = data
+ case "data":
+ var _encoded string
+ if err := d.DecodeElement(&_encoded, &tok); err != nil {
+ return err
+ }
+ _decoded := make([]byte, base64.StdEncoding.DecodedLen(len(_encoded)))
+ _len, err := base64.StdEncoding.Decode(_decoded, []byte(_encoded))
+ if err != nil {
+ return err
+ }
+ m.Data = utils.ByteArrayToInt8Array(_decoded[0:_len])
}
}
token, err = d.Token()
@@ -130,6 +197,14 @@ func (m *ApduDataDeviceDescriptorResponse) UnmarshalXML(d *xml.Decoder, start xm
}
func (m *ApduDataDeviceDescriptorResponse) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
+ if err := e.EncodeElement(m.DescriptorType, xml.StartElement{Name: xml.Name{Local: "descriptorType"}}); err != nil {
+ return err
+ }
+ _encodedData := make([]byte, base64.StdEncoding.EncodedLen(len(m.Data)))
+ base64.StdEncoding.Encode(_encodedData, utils.Int8ArrayToByteArray(m.Data))
+ if err := e.EncodeElement(_encodedData, xml.StartElement{Name: xml.Name{Local: "data"}}); err != nil {
+ return err
+ }
return nil
}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go
index bd3821e..dfb0c8b 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/ApduDataExt.go
@@ -80,7 +80,7 @@ func (m *ApduDataExt) LengthInBits() uint16 {
lengthInBits := uint16(0)
// Discriminator Field (extApciType)
- lengthInBits += 8
+ lengthInBits += 6
// Length of sub-type elements will be added by sub-type...
lengthInBits += m.Child.LengthInBits()
@@ -95,7 +95,7 @@ func (m *ApduDataExt) LengthInBytes() uint16 {
func ApduDataExtParse(io *utils.ReadBuffer, length uint8) (*ApduDataExt, error) {
// Discriminator Field (extApciType) (Used as input to a switch field)
- extApciType, _extApciTypeErr := io.ReadUint8(8)
+ extApciType, _extApciTypeErr := io.ReadUint8(6)
if _extApciTypeErr != nil {
return nil, errors.New("Error parsing 'extApciType' field " + _extApciTypeErr.Error())
}
@@ -204,7 +204,7 @@ func (m *ApduDataExt) SerializeParent(io utils.WriteBuffer, child IApduDataExt,
// Discriminator Field (extApciType) (Used as input to a switch field)
extApciType := uint8(child.ExtApciType())
- _extApciTypeErr := io.WriteUint8(8, (extApciType))
+ _extApciTypeErr := io.WriteUint8(6, (extApciType))
if _extApciTypeErr != nil {
return errors.New("Error serializing 'extApciType' field " + _extApciTypeErr.Error())
}
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
index 8df878f..04e41e4 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
@@ -25,9 +25,9 @@ import (
api "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
)
-func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (api.PlcValue, error) {
+func KnxDatapointParse(io *utils.ReadBuffer, datapointType KnxDatapointType) (api.PlcValue, error) {
switch {
- case datapointType == KnxDatapointType.DPT_Switch: // BOOL
+ case datapointType == KnxDatapointType_DPT_Switch: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -40,7 +40,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Bool: // BOOL
+ case datapointType == KnxDatapointType_DPT_Bool: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -53,7 +53,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Enable: // BOOL
+ case datapointType == KnxDatapointType_DPT_Enable: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -66,7 +66,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Ramp: // BOOL
+ case datapointType == KnxDatapointType_DPT_Ramp: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -79,7 +79,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Alarm: // BOOL
+ case datapointType == KnxDatapointType_DPT_Alarm: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -92,7 +92,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_BinaryValue: // BOOL
+ case datapointType == KnxDatapointType_DPT_BinaryValue: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -105,7 +105,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Step: // BOOL
+ case datapointType == KnxDatapointType_DPT_Step: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -118,7 +118,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_UpDown: // BOOL
+ case datapointType == KnxDatapointType_DPT_UpDown: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -131,7 +131,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_OpenClose: // BOOL
+ case datapointType == KnxDatapointType_DPT_OpenClose: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -144,7 +144,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Start: // BOOL
+ case datapointType == KnxDatapointType_DPT_Start: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -157,7 +157,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_State: // BOOL
+ case datapointType == KnxDatapointType_DPT_State: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -170,7 +170,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Invert: // BOOL
+ case datapointType == KnxDatapointType_DPT_Invert: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -183,7 +183,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_DimSendStyle: // BOOL
+ case datapointType == KnxDatapointType_DPT_DimSendStyle: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -196,7 +196,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_InputSource: // BOOL
+ case datapointType == KnxDatapointType_DPT_InputSource: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -209,7 +209,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Reset: // BOOL
+ case datapointType == KnxDatapointType_DPT_Reset: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -222,7 +222,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Ack: // BOOL
+ case datapointType == KnxDatapointType_DPT_Ack: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -235,7 +235,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Trigger: // BOOL
+ case datapointType == KnxDatapointType_DPT_Trigger: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -248,7 +248,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Occupancy: // BOOL
+ case datapointType == KnxDatapointType_DPT_Occupancy: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -261,7 +261,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Window_Door: // BOOL
+ case datapointType == KnxDatapointType_DPT_Window_Door: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -274,7 +274,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_LogicalFunction: // BOOL
+ case datapointType == KnxDatapointType_DPT_LogicalFunction: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -287,7 +287,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Scene_AB: // BOOL
+ case datapointType == KnxDatapointType_DPT_Scene_AB: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -300,7 +300,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_ShutterBlinds_Mode: // BOOL
+ case datapointType == KnxDatapointType_DPT_ShutterBlinds_Mode: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -313,7 +313,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_DayNight: // BOOL
+ case datapointType == KnxDatapointType_DPT_DayNight: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -326,7 +326,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Heat_Cool: // BOOL
+ case datapointType == KnxDatapointType_DPT_Heat_Cool: // BOOL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -339,7 +339,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_Switch_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Switch_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -347,21 +347,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (On)
- On, _OnErr := io.ReadBit()
- if _OnErr != nil {
- return nil, errors.New("Error parsing 'On' field " + _OnErr.Error())
+ // Simple Field (on)
+ on, _onErr := io.ReadBit()
+ if _onErr != nil {
+ return nil, errors.New("Error parsing 'on' field " + _onErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(On)
+ _map["Struct"] = values.NewPlcBOOL(on)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Bool_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Bool_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -369,21 +369,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (True)
- True, _TrueErr := io.ReadBit()
- if _TrueErr != nil {
- return nil, errors.New("Error parsing 'True' field " + _TrueErr.Error())
+ // Simple Field (valueTrue)
+ valueTrue, _valueTrueErr := io.ReadBit()
+ if _valueTrueErr != nil {
+ return nil, errors.New("Error parsing 'valueTrue' field " + _valueTrueErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(True)
+ _map["Struct"] = values.NewPlcBOOL(valueTrue)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Enable_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Enable_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -391,21 +391,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Enable)
- Enable, _EnableErr := io.ReadBit()
- if _EnableErr != nil {
- return nil, errors.New("Error parsing 'Enable' field " + _EnableErr.Error())
+ // Simple Field (enable)
+ enable, _enableErr := io.ReadBit()
+ if _enableErr != nil {
+ return nil, errors.New("Error parsing 'enable' field " + _enableErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Enable)
+ _map["Struct"] = values.NewPlcBOOL(enable)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Ramp_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Ramp_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -413,21 +413,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Ramp)
- Ramp, _RampErr := io.ReadBit()
- if _RampErr != nil {
- return nil, errors.New("Error parsing 'Ramp' field " + _RampErr.Error())
+ // Simple Field (ramp)
+ ramp, _rampErr := io.ReadBit()
+ if _rampErr != nil {
+ return nil, errors.New("Error parsing 'ramp' field " + _rampErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Ramp)
+ _map["Struct"] = values.NewPlcBOOL(ramp)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Alarm_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Alarm_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -435,21 +435,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Alarm)
- Alarm, _AlarmErr := io.ReadBit()
- if _AlarmErr != nil {
- return nil, errors.New("Error parsing 'Alarm' field " + _AlarmErr.Error())
+ // Simple Field (alarm)
+ alarm, _alarmErr := io.ReadBit()
+ if _alarmErr != nil {
+ return nil, errors.New("Error parsing 'alarm' field " + _alarmErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Alarm)
+ _map["Struct"] = values.NewPlcBOOL(alarm)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_BinaryValue_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_BinaryValue_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -457,21 +457,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (High)
- High, _HighErr := io.ReadBit()
- if _HighErr != nil {
- return nil, errors.New("Error parsing 'High' field " + _HighErr.Error())
+ // Simple Field (high)
+ high, _highErr := io.ReadBit()
+ if _highErr != nil {
+ return nil, errors.New("Error parsing 'high' field " + _highErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(High)
+ _map["Struct"] = values.NewPlcBOOL(high)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Step_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Step_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -479,21 +479,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Increase)
- Increase, _IncreaseErr := io.ReadBit()
- if _IncreaseErr != nil {
- return nil, errors.New("Error parsing 'Increase' field " + _IncreaseErr.Error())
+ // Simple Field (increase)
+ increase, _increaseErr := io.ReadBit()
+ if _increaseErr != nil {
+ return nil, errors.New("Error parsing 'increase' field " + _increaseErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Increase)
+ _map["Struct"] = values.NewPlcBOOL(increase)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Direction1_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Direction1_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -501,21 +501,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Down)
- Down, _DownErr := io.ReadBit()
- if _DownErr != nil {
- return nil, errors.New("Error parsing 'Down' field " + _DownErr.Error())
+ // Simple Field (down)
+ down, _downErr := io.ReadBit()
+ if _downErr != nil {
+ return nil, errors.New("Error parsing 'down' field " + _downErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Down)
+ _map["Struct"] = values.NewPlcBOOL(down)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Direction2_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Direction2_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -523,21 +523,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Close)
- Close, _CloseErr := io.ReadBit()
- if _CloseErr != nil {
- return nil, errors.New("Error parsing 'Close' field " + _CloseErr.Error())
+ // Simple Field (close)
+ close, _closeErr := io.ReadBit()
+ if _closeErr != nil {
+ return nil, errors.New("Error parsing 'close' field " + _closeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Close)
+ _map["Struct"] = values.NewPlcBOOL(close)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Start_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Start_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -545,21 +545,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Start)
- Start, _StartErr := io.ReadBit()
- if _StartErr != nil {
- return nil, errors.New("Error parsing 'Start' field " + _StartErr.Error())
+ // Simple Field (start)
+ start, _startErr := io.ReadBit()
+ if _startErr != nil {
+ return nil, errors.New("Error parsing 'start' field " + _startErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Start)
+ _map["Struct"] = values.NewPlcBOOL(start)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_State_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_State_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -567,21 +567,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Active)
- Active, _ActiveErr := io.ReadBit()
- if _ActiveErr != nil {
- return nil, errors.New("Error parsing 'Active' field " + _ActiveErr.Error())
+ // Simple Field (active)
+ active, _activeErr := io.ReadBit()
+ if _activeErr != nil {
+ return nil, errors.New("Error parsing 'active' field " + _activeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Active)
+ _map["Struct"] = values.NewPlcBOOL(active)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Invert_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_Invert_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -589,21 +589,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
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())
+ // Simple Field (control)
+ control, _controlErr := io.ReadBit()
+ if _controlErr != nil {
+ return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Control)
+ _map["Struct"] = values.NewPlcBOOL(control)
- // Simple Field (Inverted)
- Inverted, _InvertedErr := io.ReadBit()
- if _InvertedErr != nil {
- return nil, errors.New("Error parsing 'Inverted' field " + _InvertedErr.Error())
+ // Simple Field (inverted)
+ inverted, _invertedErr := io.ReadBit()
+ if _invertedErr != nil {
+ return nil, errors.New("Error parsing 'inverted' field " + _invertedErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Inverted)
+ _map["Struct"] = values.NewPlcBOOL(inverted)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Control_Dimming: // Struct
+ case datapointType == KnxDatapointType_DPT_Control_Dimming: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -611,21 +611,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Increase)
- Increase, _IncreaseErr := io.ReadBit()
- if _IncreaseErr != nil {
- return nil, errors.New("Error parsing 'Increase' field " + _IncreaseErr.Error())
+ // Simple Field (increase)
+ increase, _increaseErr := io.ReadBit()
+ if _increaseErr != nil {
+ return nil, errors.New("Error parsing 'increase' field " + _increaseErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Increase)
+ _map["Struct"] = values.NewPlcBOOL(increase)
- // Simple Field (Stepcode)
- Stepcode, _StepcodeErr := io.ReadUint8(3)
- if _StepcodeErr != nil {
- return nil, errors.New("Error parsing 'Stepcode' field " + _StepcodeErr.Error())
+ // Simple Field (stepcode)
+ stepcode, _stepcodeErr := io.ReadUint8(3)
+ if _stepcodeErr != nil {
+ return nil, errors.New("Error parsing 'stepcode' field " + _stepcodeErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Stepcode)
+ _map["Struct"] = values.NewPlcUSINT(stepcode)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Control_Blinds: // Struct
+ case datapointType == KnxDatapointType_DPT_Control_Blinds: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -633,21 +633,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Down)
- Down, _DownErr := io.ReadBit()
- if _DownErr != nil {
- return nil, errors.New("Error parsing 'Down' field " + _DownErr.Error())
+ // Simple Field (down)
+ down, _downErr := io.ReadBit()
+ if _downErr != nil {
+ return nil, errors.New("Error parsing 'down' field " + _downErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Down)
+ _map["Struct"] = values.NewPlcBOOL(down)
- // Simple Field (Stepcode)
- Stepcode, _StepcodeErr := io.ReadUint8(3)
- if _StepcodeErr != nil {
- return nil, errors.New("Error parsing 'Stepcode' field " + _StepcodeErr.Error())
+ // Simple Field (stepcode)
+ stepcode, _stepcodeErr := io.ReadUint8(3)
+ if _stepcodeErr != nil {
+ return nil, errors.New("Error parsing 'stepcode' field " + _stepcodeErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Stepcode)
+ _map["Struct"] = values.NewPlcUSINT(stepcode)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Char_ASCII: // STRING
+ case datapointType == KnxDatapointType_DPT_Char_ASCII: // STRING
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -660,7 +660,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcSTRING(value), nil
- case datapointType == KnxDatapointType.DPT_Char_8859_1: // STRING
+ case datapointType == KnxDatapointType_DPT_Char_8859_1: // STRING
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -673,7 +673,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcSTRING(value), nil
- case datapointType == KnxDatapointType.DPT_Scaling: // USINT
+ case datapointType == KnxDatapointType_DPT_Scaling: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -686,7 +686,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Angle: // USINT
+ case datapointType == KnxDatapointType_DPT_Angle: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -699,7 +699,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Percent_U8: // USINT
+ case datapointType == KnxDatapointType_DPT_Percent_U8: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -712,7 +712,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_DecimalFactor: // USINT
+ case datapointType == KnxDatapointType_DPT_DecimalFactor: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -725,7 +725,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Tariff: // USINT
+ case datapointType == KnxDatapointType_DPT_Tariff: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -738,7 +738,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Value_1_Ucount: // USINT
+ case datapointType == KnxDatapointType_DPT_Value_1_Ucount: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -751,7 +751,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_FanStage: // USINT
+ case datapointType == KnxDatapointType_DPT_FanStage: // USINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -764,7 +764,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Percent_V8: // SINT
+ case datapointType == KnxDatapointType_DPT_Percent_V8: // SINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -777,7 +777,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Value_1_Count: // SINT
+ case datapointType == KnxDatapointType_DPT_Value_1_Count: // SINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -790,7 +790,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcSINT(value), nil
- case datapointType == KnxDatapointType.DPT_Status_Mode3: // Struct
+ case datapointType == KnxDatapointType_DPT_Status_Mode3: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -798,49 +798,49 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (StatusA)
- StatusA, _StatusAErr := io.ReadBit()
- if _StatusAErr != nil {
- return nil, errors.New("Error parsing 'StatusA' field " + _StatusAErr.Error())
+ // Simple Field (statusA)
+ statusA, _statusAErr := io.ReadBit()
+ if _statusAErr != nil {
+ return nil, errors.New("Error parsing 'statusA' field " + _statusAErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusA)
+ _map["Struct"] = values.NewPlcBOOL(statusA)
- // Simple Field (StatusB)
- StatusB, _StatusBErr := io.ReadBit()
- if _StatusBErr != nil {
- return nil, errors.New("Error parsing 'StatusB' field " + _StatusBErr.Error())
+ // Simple Field (statusB)
+ statusB, _statusBErr := io.ReadBit()
+ if _statusBErr != nil {
+ return nil, errors.New("Error parsing 'statusB' field " + _statusBErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusB)
+ _map["Struct"] = values.NewPlcBOOL(statusB)
- // Simple Field (StatusC)
- StatusC, _StatusCErr := io.ReadBit()
- if _StatusCErr != nil {
- return nil, errors.New("Error parsing 'StatusC' field " + _StatusCErr.Error())
+ // Simple Field (statusC)
+ statusC, _statusCErr := io.ReadBit()
+ if _statusCErr != nil {
+ return nil, errors.New("Error parsing 'statusC' field " + _statusCErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusC)
+ _map["Struct"] = values.NewPlcBOOL(statusC)
- // Simple Field (StatusD)
- StatusD, _StatusDErr := io.ReadBit()
- if _StatusDErr != nil {
- return nil, errors.New("Error parsing 'StatusD' field " + _StatusDErr.Error())
+ // Simple Field (statusD)
+ statusD, _statusDErr := io.ReadBit()
+ if _statusDErr != nil {
+ return nil, errors.New("Error parsing 'statusD' field " + _statusDErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusD)
+ _map["Struct"] = values.NewPlcBOOL(statusD)
- // Simple Field (StatusE)
- StatusE, _StatusEErr := io.ReadBit()
- if _StatusEErr != nil {
- return nil, errors.New("Error parsing 'StatusE' field " + _StatusEErr.Error())
+ // Simple Field (statusE)
+ statusE, _statusEErr := io.ReadBit()
+ if _statusEErr != nil {
+ return nil, errors.New("Error parsing 'statusE' field " + _statusEErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusE)
+ _map["Struct"] = values.NewPlcBOOL(statusE)
- // Simple Field (Mode)
- Mode, _ModeErr := io.ReadUint8(3)
- if _ModeErr != nil {
- return nil, errors.New("Error parsing 'Mode' field " + _ModeErr.Error())
+ // Simple Field (mode)
+ mode, _modeErr := io.ReadUint8(3)
+ if _modeErr != nil {
+ return nil, errors.New("Error parsing 'mode' field " + _modeErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Mode)
+ _map["Struct"] = values.NewPlcUSINT(mode)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Value_2_Ucount: // UINT
+ case datapointType == KnxDatapointType_DPT_Value_2_Ucount: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -853,7 +853,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_TimePeriodMsec: // UINT
+ case datapointType == KnxDatapointType_DPT_TimePeriodMsec: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -866,7 +866,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_TimePeriod10Msec: // UINT
+ case datapointType == KnxDatapointType_DPT_TimePeriod10Msec: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -879,7 +879,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_TimePeriod100Msec: // UINT
+ case datapointType == KnxDatapointType_DPT_TimePeriod100Msec: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -892,7 +892,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_TimePeriodSec: // UINT
+ case datapointType == KnxDatapointType_DPT_TimePeriodSec: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -905,7 +905,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_TimePeriodMin: // UINT
+ case datapointType == KnxDatapointType_DPT_TimePeriodMin: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -918,7 +918,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_TimePeriodHrs: // UINT
+ case datapointType == KnxDatapointType_DPT_TimePeriodHrs: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -931,7 +931,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_PropDataType: // UINT
+ case datapointType == KnxDatapointType_DPT_PropDataType: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -944,7 +944,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_Length_mm: // UINT
+ case datapointType == KnxDatapointType_DPT_Length_mm: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -957,7 +957,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_UElCurrentmA: // UINT
+ case datapointType == KnxDatapointType_DPT_UElCurrentmA: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -970,7 +970,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_Brightness: // UINT
+ case datapointType == KnxDatapointType_DPT_Brightness: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -983,7 +983,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_Absolute_Colour_Temperature: // UINT
+ case datapointType == KnxDatapointType_DPT_Absolute_Colour_Temperature: // UINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -996,7 +996,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUINT(value), nil
- case datapointType == KnxDatapointType.DPT_Value_2_Count: // INT
+ case datapointType == KnxDatapointType_DPT_Value_2_Count: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1009,7 +1009,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaTimeMsec: // INT
+ case datapointType == KnxDatapointType_DPT_DeltaTimeMsec: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1022,7 +1022,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaTime10Msec: // INT
+ case datapointType == KnxDatapointType_DPT_DeltaTime10Msec: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1035,7 +1035,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaTime100Msec: // INT
+ case datapointType == KnxDatapointType_DPT_DeltaTime100Msec: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1048,7 +1048,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaTimeSec: // INT
+ case datapointType == KnxDatapointType_DPT_DeltaTimeSec: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1061,7 +1061,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaTimeMin: // INT
+ case datapointType == KnxDatapointType_DPT_DeltaTimeMin: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1074,7 +1074,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaTimeHrs: // INT
+ case datapointType == KnxDatapointType_DPT_DeltaTimeHrs: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1087,7 +1087,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_Percent_V16: // INT
+ case datapointType == KnxDatapointType_DPT_Percent_V16: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1100,7 +1100,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_Rotation_Angle: // INT
+ case datapointType == KnxDatapointType_DPT_Rotation_Angle: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1113,7 +1113,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_Length_m: // INT
+ case datapointType == KnxDatapointType_DPT_Length_m: // INT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1126,7 +1126,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcINT(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Temp: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Temp: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1139,7 +1139,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Tempd: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Tempd: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1152,7 +1152,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Tempa: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Tempa: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1165,7 +1165,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Lux: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Lux: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1178,7 +1178,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Wsp: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Wsp: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1191,7 +1191,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Pres: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Pres: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1204,7 +1204,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Humidity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Humidity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1217,7 +1217,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_AirQuality: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_AirQuality: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1230,7 +1230,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_AirFlow: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_AirFlow: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1243,7 +1243,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Time1: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Time1: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1256,7 +1256,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Time2: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Time2: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1269,7 +1269,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Volt: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Volt: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1282,7 +1282,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Curr: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Curr: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1295,7 +1295,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_PowerDensity: // REAL
+ case datapointType == KnxDatapointType_DPT_PowerDensity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1308,7 +1308,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_KelvinPerPercent: // REAL
+ case datapointType == KnxDatapointType_DPT_KelvinPerPercent: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1321,7 +1321,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Power: // REAL
+ case datapointType == KnxDatapointType_DPT_Power: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1334,7 +1334,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Volume_Flow: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Volume_Flow: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1347,7 +1347,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Rain_Amount: // REAL
+ case datapointType == KnxDatapointType_DPT_Rain_Amount: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1360,7 +1360,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Temp_F: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Temp_F: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1373,7 +1373,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Wsp_kmh: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Wsp_kmh: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1386,7 +1386,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Absolute_Humidity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Absolute_Humidity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1399,7 +1399,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Concentration_ygm3: // REAL
+ case datapointType == KnxDatapointType_DPT_Concentration_ygm3: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1412,7 +1412,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_TimeOfDay: // Struct
+ case datapointType == KnxDatapointType_DPT_TimeOfDay: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -1420,45 +1420,45 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Day)
- Day, _DayErr := io.ReadUint8(3)
- if _DayErr != nil {
- return nil, errors.New("Error parsing 'Day' field " + _DayErr.Error())
+ // Simple Field (day)
+ day, _dayErr := io.ReadUint8(3)
+ if _dayErr != nil {
+ return nil, errors.New("Error parsing 'day' field " + _dayErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Day)
+ _map["Struct"] = values.NewPlcUSINT(day)
- // Simple Field (Hour)
- Hour, _HourErr := io.ReadUint8(5)
- if _HourErr != nil {
- return nil, errors.New("Error parsing 'Hour' field " + _HourErr.Error())
+ // Simple Field (hour)
+ hour, _hourErr := io.ReadUint8(5)
+ if _hourErr != nil {
+ return nil, errors.New("Error parsing 'hour' field " + _hourErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Hour)
+ _map["Struct"] = values.NewPlcUSINT(hour)
// 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())
+ // Simple Field (minutes)
+ minutes, _minutesErr := io.ReadUint8(6)
+ if _minutesErr != nil {
+ return nil, errors.New("Error parsing 'minutes' field " + _minutesErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Minutes)
+ _map["Struct"] = values.NewPlcUSINT(minutes)
// 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 (seconds)
+ seconds, _secondsErr := io.ReadUint8(6)
+ if _secondsErr != nil {
+ return nil, errors.New("Error parsing 'seconds' field " + _secondsErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Seconds)
+ _map["Struct"] = values.NewPlcUSINT(seconds)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Date: // Struct
+ case datapointType == KnxDatapointType_DPT_Date: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -1466,38 +1466,38 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (DayOfMonth)
- DayOfMonth, _DayOfMonthErr := io.ReadUint8(5)
- if _DayOfMonthErr != nil {
- return nil, errors.New("Error parsing 'DayOfMonth' field " + _DayOfMonthErr.Error())
+ // Simple Field (dayOfMonth)
+ dayOfMonth, _dayOfMonthErr := io.ReadUint8(5)
+ if _dayOfMonthErr != nil {
+ return nil, errors.New("Error parsing 'dayOfMonth' field " + _dayOfMonthErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(DayOfMonth)
+ _map["Struct"] = values.NewPlcUSINT(dayOfMonth)
// 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())
+ // Simple Field (month)
+ month, _monthErr := io.ReadUint8(4)
+ if _monthErr != nil {
+ return nil, errors.New("Error parsing 'month' field " + _monthErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Month)
+ _map["Struct"] = values.NewPlcUSINT(month)
// 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())
+ // Simple Field (year)
+ year, _yearErr := io.ReadUint8(7)
+ if _yearErr != nil {
+ return nil, errors.New("Error parsing 'year' field " + _yearErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Year)
+ _map["Struct"] = values.NewPlcUSINT(year)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Value_4_Ucount: // UDINT
+ case datapointType == KnxDatapointType_DPT_Value_4_Ucount: // UDINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1510,7 +1510,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case datapointType == KnxDatapointType.DPT_LongTimePeriod_Sec: // UDINT
+ case datapointType == KnxDatapointType_DPT_LongTimePeriod_Sec: // UDINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1523,7 +1523,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case datapointType == KnxDatapointType.DPT_LongTimePeriod_Min: // UDINT
+ case datapointType == KnxDatapointType_DPT_LongTimePeriod_Min: // UDINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1536,7 +1536,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case datapointType == KnxDatapointType.DPT_LongTimePeriod_Hrs: // UDINT
+ case datapointType == KnxDatapointType_DPT_LongTimePeriod_Hrs: // UDINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1549,7 +1549,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case datapointType == KnxDatapointType.DPT_VolumeLiquid_Litre: // UDINT
+ case datapointType == KnxDatapointType_DPT_VolumeLiquid_Litre: // UDINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1562,7 +1562,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case datapointType == KnxDatapointType.DPT_Volume_m_3: // UDINT
+ case datapointType == KnxDatapointType_DPT_Volume_m_3: // UDINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1575,7 +1575,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUDINT(value), nil
- case datapointType == KnxDatapointType.DPT_Value_4_Count: // DINT
+ case datapointType == KnxDatapointType_DPT_Value_4_Count: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1588,7 +1588,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_FlowRate_m3h: // DINT
+ case datapointType == KnxDatapointType_DPT_FlowRate_m3h: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1601,7 +1601,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ActiveEnergy: // DINT
+ case datapointType == KnxDatapointType_DPT_ActiveEnergy: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1614,7 +1614,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ApparantEnergy: // DINT
+ case datapointType == KnxDatapointType_DPT_ApparantEnergy: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1627,7 +1627,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ReactiveEnergy: // DINT
+ case datapointType == KnxDatapointType_DPT_ReactiveEnergy: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1640,7 +1640,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ActiveEnergy_kWh: // DINT
+ case datapointType == KnxDatapointType_DPT_ActiveEnergy_kWh: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1653,7 +1653,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ApparantEnergy_kVAh: // DINT
+ case datapointType == KnxDatapointType_DPT_ApparantEnergy_kVAh: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1666,7 +1666,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ReactiveEnergy_kVARh: // DINT
+ case datapointType == KnxDatapointType_DPT_ReactiveEnergy_kVARh: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1679,7 +1679,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_ActiveEnergy_MWh: // DINT
+ case datapointType == KnxDatapointType_DPT_ActiveEnergy_MWh: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1692,7 +1692,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_LongDeltaTimeSec: // DINT
+ case datapointType == KnxDatapointType_DPT_LongDeltaTimeSec: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1705,7 +1705,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaVolumeLiquid_Litre: // DINT
+ case datapointType == KnxDatapointType_DPT_DeltaVolumeLiquid_Litre: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1718,7 +1718,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_DeltaVolume_m_3: // DINT
+ case datapointType == KnxDatapointType_DPT_DeltaVolume_m_3: // DINT
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1731,7 +1731,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcDINT(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Acceleration: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Acceleration: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1744,7 +1744,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Acceleration_Angular: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Acceleration_Angular: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1757,7 +1757,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Activation_Energy: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Activation_Energy: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1770,7 +1770,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Activity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Activity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1783,7 +1783,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Mol: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Mol: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1796,7 +1796,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Amplitude: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Amplitude: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1809,7 +1809,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_AngleRad: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_AngleRad: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1822,7 +1822,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_AngleDeg: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_AngleDeg: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1835,7 +1835,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Angular_Momentum: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Angular_Momentum: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1848,7 +1848,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Angular_Velocity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Angular_Velocity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1861,7 +1861,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Area: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Area: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1874,7 +1874,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Capacitance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Capacitance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1887,7 +1887,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Charge_DensitySurface: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Charge_DensitySurface: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1900,7 +1900,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Charge_DensityVolume: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Charge_DensityVolume: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1913,7 +1913,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Compressibility: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Compressibility: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1926,7 +1926,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Conductance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Conductance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1939,7 +1939,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electrical_Conductivity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electrical_Conductivity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1952,7 +1952,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Density: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Density: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1965,7 +1965,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_Charge: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_Charge: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1978,7 +1978,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_Current: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_Current: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1991,7 +1991,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_CurrentDensity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_CurrentDensity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2004,7 +2004,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_DipoleMoment: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_DipoleMoment: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2017,7 +2017,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_Displacement: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_Displacement: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2030,7 +2030,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_FieldStrength: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_FieldStrength: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2043,7 +2043,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_Flux: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_Flux: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2056,7 +2056,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_FluxDensity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_FluxDensity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2069,7 +2069,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_Polarization: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_Polarization: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2082,7 +2082,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_Potential: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_Potential: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2095,7 +2095,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electric_PotentialDifference: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electric_PotentialDifference: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2108,7 +2108,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_ElectromagneticMoment: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_ElectromagneticMoment: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2121,7 +2121,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Electromotive_Force: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Electromotive_Force: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2134,7 +2134,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Energy: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Energy: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2147,7 +2147,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Force: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Force: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2160,7 +2160,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Frequency: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Frequency: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2173,7 +2173,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Angular_Frequency: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Angular_Frequency: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2186,7 +2186,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Heat_Capacity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Heat_Capacity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2199,7 +2199,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Heat_FlowRate: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Heat_FlowRate: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2212,7 +2212,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Heat_Quantity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Heat_Quantity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2225,7 +2225,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Impedance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Impedance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2238,7 +2238,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Length: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Length: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2251,7 +2251,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Light_Quantity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Light_Quantity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2264,7 +2264,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Luminance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Luminance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2277,7 +2277,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Luminous_Flux: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Luminous_Flux: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2290,7 +2290,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Luminous_Intensity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Luminous_Intensity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2303,7 +2303,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Magnetic_FieldStrength: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Magnetic_FieldStrength: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2316,7 +2316,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Magnetic_Flux: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Magnetic_Flux: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2329,7 +2329,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Magnetic_FluxDensity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Magnetic_FluxDensity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2342,7 +2342,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Magnetic_Moment: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Magnetic_Moment: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2355,7 +2355,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Magnetic_Polarization: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Magnetic_Polarization: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2368,7 +2368,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Magnetization: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Magnetization: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2381,7 +2381,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_MagnetomotiveForce: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_MagnetomotiveForce: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2394,7 +2394,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Mass: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Mass: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2407,7 +2407,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_MassFlux: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_MassFlux: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2420,7 +2420,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Momentum: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Momentum: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2433,7 +2433,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Phase_AngleRad: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Phase_AngleRad: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2446,7 +2446,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Phase_AngleDeg: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Phase_AngleDeg: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2459,7 +2459,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Power: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Power: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2472,7 +2472,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Power_Factor: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Power_Factor: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2485,7 +2485,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Pressure: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Pressure: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2498,7 +2498,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Reactance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Reactance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2511,7 +2511,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Resistance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Resistance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2524,7 +2524,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Resistivity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Resistivity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2537,7 +2537,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_SelfInductance: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_SelfInductance: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2550,7 +2550,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_SolidAngle: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_SolidAngle: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2563,7 +2563,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Sound_Intensity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Sound_Intensity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2576,7 +2576,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Speed: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Speed: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2589,7 +2589,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Stress: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Stress: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2602,7 +2602,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Surface_Tension: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Surface_Tension: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2615,7 +2615,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Common_Temperature: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Common_Temperature: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2628,7 +2628,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Absolute_Temperature: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Absolute_Temperature: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2641,7 +2641,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_TemperatureDifference: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_TemperatureDifference: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2654,7 +2654,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Thermal_Capacity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Thermal_Capacity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2667,7 +2667,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Thermal_Conductivity: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Thermal_Conductivity: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2680,7 +2680,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_ThermoelectricPower: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_ThermoelectricPower: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2693,7 +2693,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Time: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Time: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2706,7 +2706,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Torque: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Torque: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2719,7 +2719,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Volume: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Volume: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2732,7 +2732,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Volume_Flux: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Volume_Flux: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2745,7 +2745,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Weight: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Weight: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2758,7 +2758,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Value_Work: // REAL
+ case datapointType == KnxDatapointType_DPT_Value_Work: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2771,7 +2771,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Volume_Flux_Meter: // REAL
+ case datapointType == KnxDatapointType_DPT_Volume_Flux_Meter: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2784,7 +2784,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Volume_Flux_ls: // REAL
+ case datapointType == KnxDatapointType_DPT_Volume_Flux_ls: // REAL
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2797,7 +2797,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcREAL(value), nil
- case datapointType == KnxDatapointType.DPT_Access_Data: // Struct
+ case datapointType == KnxDatapointType_DPT_Access_Data: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -2805,84 +2805,84 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Value1)
- Value1, _Value1Err := io.ReadUint8(4)
- if _Value1Err != nil {
- return nil, errors.New("Error parsing 'Value1' field " + _Value1Err.Error())
+ // Simple Field (hurz)
+ hurz, _hurzErr := io.ReadUint8(4)
+ if _hurzErr != nil {
+ return nil, errors.New("Error parsing 'hurz' field " + _hurzErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Value1)
+ _map["Struct"] = values.NewPlcUSINT(hurz)
- // Simple Field (Value1)
- Value1, _Value1Err := io.ReadUint8(4)
- if _Value1Err != nil {
- return nil, errors.New("Error parsing 'Value1' field " + _Value1Err.Error())
+ // Simple Field (value1)
+ value1, _value1Err := io.ReadUint8(4)
+ if _value1Err != nil {
+ return nil, errors.New("Error parsing 'value1' field " + _value1Err.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Value1)
+ _map["Struct"] = values.NewPlcUSINT(value1)
- // Simple Field (Value1)
- Value1, _Value1Err := io.ReadUint8(4)
- if _Value1Err != nil {
- return nil, errors.New("Error parsing 'Value1' field " + _Value1Err.Error())
+ // Simple Field (value2)
+ value2, _value2Err := io.ReadUint8(4)
+ if _value2Err != nil {
+ return nil, errors.New("Error parsing 'value2' field " + _value2Err.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Value1)
+ _map["Struct"] = values.NewPlcUSINT(value2)
- // Simple Field (Value1)
- Value1, _Value1Err := io.ReadUint8(4)
- if _Value1Err != nil {
- return nil, errors.New("Error parsing 'Value1' field " + _Value1Err.Error())
+ // Simple Field (value3)
+ value3, _value3Err := io.ReadUint8(4)
+ if _value3Err != nil {
+ return nil, errors.New("Error parsing 'value3' field " + _value3Err.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Value1)
+ _map["Struct"] = values.NewPlcUSINT(value3)
- // Simple Field (Value1)
- Value1, _Value1Err := io.ReadUint8(4)
- if _Value1Err != nil {
- return nil, errors.New("Error parsing 'Value1' field " + _Value1Err.Error())
+ // Simple Field (value4)
+ value4, _value4Err := io.ReadUint8(4)
+ if _value4Err != nil {
+ return nil, errors.New("Error parsing 'value4' field " + _value4Err.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Value1)
+ _map["Struct"] = values.NewPlcUSINT(value4)
- // Simple Field (Value1)
- Value1, _Value1Err := io.ReadUint8(4)
- if _Value1Err != nil {
- return nil, errors.New("Error parsing 'Value1' field " + _Value1Err.Error())
+ // Simple Field (value5)
+ value5, _value5Err := io.ReadUint8(4)
+ if _value5Err != nil {
+ return nil, errors.New("Error parsing 'value5' field " + _value5Err.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Value1)
+ _map["Struct"] = values.NewPlcUSINT(value5)
- // Simple Field (DetectionError)
- DetectionError, _DetectionErrorErr := io.ReadBit()
- if _DetectionErrorErr != nil {
- return nil, errors.New("Error parsing 'DetectionError' field " + _DetectionErrorErr.Error())
+ // Simple Field (detectionError)
+ detectionError, _detectionErrorErr := io.ReadBit()
+ if _detectionErrorErr != nil {
+ return nil, errors.New("Error parsing 'detectionError' field " + _detectionErrorErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(DetectionError)
+ _map["Struct"] = values.NewPlcBOOL(detectionError)
- // Simple Field (Permission)
- Permission, _PermissionErr := io.ReadBit()
- if _PermissionErr != nil {
- return nil, errors.New("Error parsing 'Permission' field " + _PermissionErr.Error())
+ // Simple Field (permission)
+ permission, _permissionErr := io.ReadBit()
+ if _permissionErr != nil {
+ return nil, errors.New("Error parsing 'permission' field " + _permissionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Permission)
+ _map["Struct"] = values.NewPlcBOOL(permission)
- // Simple Field (ReadDirection)
- ReadDirection, _ReadDirectionErr := io.ReadBit()
- if _ReadDirectionErr != nil {
- return nil, errors.New("Error parsing 'ReadDirection' field " + _ReadDirectionErr.Error())
+ // Simple Field (readDirection)
+ readDirection, _readDirectionErr := io.ReadBit()
+ if _readDirectionErr != nil {
+ return nil, errors.New("Error parsing 'readDirection' field " + _readDirectionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ReadDirection)
+ _map["Struct"] = values.NewPlcBOOL(readDirection)
- // Simple Field (EncryptionOfAccessInformation)
- EncryptionOfAccessInformation, _EncryptionOfAccessInformationErr := io.ReadBit()
- if _EncryptionOfAccessInformationErr != nil {
- return nil, errors.New("Error parsing 'EncryptionOfAccessInformation' field " + _EncryptionOfAccessInformationErr.Error())
+ // Simple Field (encryptionOfAccessInformation)
+ encryptionOfAccessInformation, _encryptionOfAccessInformationErr := io.ReadBit()
+ if _encryptionOfAccessInformationErr != nil {
+ return nil, errors.New("Error parsing 'encryptionOfAccessInformation' field " + _encryptionOfAccessInformationErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(EncryptionOfAccessInformation)
+ _map["Struct"] = values.NewPlcBOOL(encryptionOfAccessInformation)
- // Simple Field (IndexOfAccessIdentificationCode)
- IndexOfAccessIdentificationCode, _IndexOfAccessIdentificationCodeErr := io.ReadUint8(4)
- if _IndexOfAccessIdentificationCodeErr != nil {
- return nil, errors.New("Error parsing 'IndexOfAccessIdentificationCode' field " + _IndexOfAccessIdentificationCodeErr.Error())
+ // Simple Field (indexOfAccessIdentificationCode)
+ indexOfAccessIdentificationCode, _indexOfAccessIdentificationCodeErr := io.ReadUint8(4)
+ if _indexOfAccessIdentificationCodeErr != nil {
+ return nil, errors.New("Error parsing 'indexOfAccessIdentificationCode' field " + _indexOfAccessIdentificationCodeErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(IndexOfAccessIdentificationCode)
+ _map["Struct"] = values.NewPlcUSINT(indexOfAccessIdentificationCode)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_String_ASCII: // STRING
+ case datapointType == KnxDatapointType_DPT_String_ASCII: // STRING
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2895,7 +2895,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcSTRING(value), nil
- case datapointType == KnxDatapointType.DPT_String_8859_1: // STRING
+ case datapointType == KnxDatapointType_DPT_String_8859_1: // STRING
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2908,7 +2908,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcSTRING(value), nil
- case datapointType == KnxDatapointType.DPT_SceneNumber: // USINT
+ case datapointType == KnxDatapointType_DPT_SceneNumber: // USINT
// Simple Field (value)
value, _valueErr := io.ReadUint8(6)
@@ -2916,7 +2916,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
return values.NewPlcUSINT(value), nil
- case datapointType == KnxDatapointType.DPT_SceneControl: // Struct
+ case datapointType == KnxDatapointType_DPT_SceneControl: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -2924,26 +2924,26 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (LearnTheSceneCorrespondingToTheFieldSceneNumber)
- LearnTheSceneCorrespondingToTheFieldSceneNumber, _LearnTheSceneCorrespondingToTheFieldSceneNumberErr := io.ReadBit()
- if _LearnTheSceneCorrespondingToTheFieldSceneNumberErr != nil {
- return nil, errors.New("Error parsing 'LearnTheSceneCorrespondingToTheFieldSceneNumber' field " + _LearnTheSceneCorrespondingToTheFieldSceneNumberErr.Error())
+ // Simple Field (learnTheSceneCorrespondingToTheFieldSceneNumber)
+ learnTheSceneCorrespondingToTheFieldSceneNumber, _learnTheSceneCorrespondingToTheFieldSceneNumberErr := io.ReadBit()
+ if _learnTheSceneCorrespondingToTheFieldSceneNumberErr != nil {
+ return nil, errors.New("Error parsing 'learnTheSceneCorrespondingToTheFieldSceneNumber' field " + _learnTheSceneCorrespondingToTheFieldSceneNumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(LearnTheSceneCorrespondingToTheFieldSceneNumber)
+ _map["Struct"] = values.NewPlcBOOL(learnTheSceneCorrespondingToTheFieldSceneNumber)
// 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())
+ // Simple Field (sceneNumber)
+ sceneNumber, _sceneNumberErr := io.ReadUint8(6)
+ if _sceneNumberErr != nil {
+ return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(SceneNumber)
+ _map["Struct"] = values.NewPlcUSINT(sceneNumber)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_DateTime: // Struct
+ case datapointType == KnxDatapointType_DPT_DateTime: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -2951,272 +2951,1483 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Year)
- Year, _YearErr := io.ReadUint8(8)
- if _YearErr != nil {
- return nil, errors.New("Error parsing 'Year' field " + _YearErr.Error())
+ // Simple Field (year)
+ year, _yearErr := io.ReadUint8(8)
+ if _yearErr != nil {
+ return nil, errors.New("Error parsing 'year' field " + _yearErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Year)
+ _map["Struct"] = values.NewPlcUSINT(year)
// 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())
+ // Simple Field (month)
+ month, _monthErr := io.ReadUint8(4)
+ if _monthErr != nil {
+ return nil, errors.New("Error parsing 'month' field " + _monthErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Month)
+ _map["Struct"] = values.NewPlcUSINT(month)
// 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 (Dayofmonth)
- Dayofmonth, _DayofmonthErr := io.ReadUint8(5)
- if _DayofmonthErr != nil {
- return nil, errors.New("Error parsing 'Dayofmonth' field " + _DayofmonthErr.Error())
+ // Simple Field (dayofmonth)
+ dayofmonth, _dayofmonthErr := io.ReadUint8(5)
+ if _dayofmonthErr != nil {
+ return nil, errors.New("Error parsing 'dayofmonth' field " + _dayofmonthErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Dayofmonth)
+ _map["Struct"] = values.NewPlcUSINT(dayofmonth)
- // Simple Field (Dayofweek)
- Dayofweek, _DayofweekErr := io.ReadUint8(3)
- if _DayofweekErr != nil {
- return nil, errors.New("Error parsing 'Dayofweek' field " + _DayofweekErr.Error())
+ // Simple Field (dayofweek)
+ dayofweek, _dayofweekErr := io.ReadUint8(3)
+ if _dayofweekErr != nil {
+ return nil, errors.New("Error parsing 'dayofweek' field " + _dayofweekErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Dayofweek)
+ _map["Struct"] = values.NewPlcUSINT(dayofweek)
- // Simple Field (Hourofday)
- Hourofday, _HourofdayErr := io.ReadUint8(5)
- if _HourofdayErr != nil {
- return nil, errors.New("Error parsing 'Hourofday' field " + _HourofdayErr.Error())
+ // Simple Field (hourofday)
+ hourofday, _hourofdayErr := io.ReadUint8(5)
+ if _hourofdayErr != nil {
+ return nil, errors.New("Error parsing 'hourofday' field " + _hourofdayErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Hourofday)
+ _map["Struct"] = values.NewPlcUSINT(hourofday)
// 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())
+ // Simple Field (minutes)
+ minutes, _minutesErr := io.ReadUint8(6)
+ if _minutesErr != nil {
+ return nil, errors.New("Error parsing 'minutes' field " + _minutesErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Minutes)
+ _map["Struct"] = values.NewPlcUSINT(minutes)
// 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 (seconds)
+ seconds, _secondsErr := io.ReadUint8(6)
+ if _secondsErr != nil {
+ return nil, errors.New("Error parsing 'seconds' field " + _secondsErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Seconds)
+ _map["Struct"] = values.NewPlcUSINT(seconds)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
+ _map["Struct"] = values.NewPlcBOOL(fault)
- // Simple Field (WorkingDay)
- WorkingDay, _WorkingDayErr := io.ReadBit()
- if _WorkingDayErr != nil {
- return nil, errors.New("Error parsing 'WorkingDay' field " + _WorkingDayErr.Error())
+ // Simple Field (workingDay)
+ workingDay, _workingDayErr := io.ReadBit()
+ if _workingDayErr != nil {
+ return nil, errors.New("Error parsing 'workingDay' field " + _workingDayErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(WorkingDay)
+ _map["Struct"] = values.NewPlcBOOL(workingDay)
- // Simple Field (NoWd)
- NoWd, _NoWdErr := io.ReadBit()
- if _NoWdErr != nil {
- return nil, errors.New("Error parsing 'NoWd' field " + _NoWdErr.Error())
+ // Simple Field (noWd)
+ noWd, _noWdErr := io.ReadBit()
+ if _noWdErr != nil {
+ return nil, errors.New("Error parsing 'noWd' field " + _noWdErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(NoWd)
+ _map["Struct"] = values.NewPlcBOOL(noWd)
- // Simple Field (NoYear)
- NoYear, _NoYearErr := io.ReadBit()
- if _NoYearErr != nil {
- return nil, errors.New("Error parsing 'NoYear' field " + _NoYearErr.Error())
+ // Simple Field (noYear)
+ noYear, _noYearErr := io.ReadBit()
+ if _noYearErr != nil {
+ return nil, errors.New("Error parsing 'noYear' field " + _noYearErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(NoYear)
+ _map["Struct"] = values.NewPlcBOOL(noYear)
- // Simple Field (NoDate)
- NoDate, _NoDateErr := io.ReadBit()
- if _NoDateErr != nil {
- return nil, errors.New("Error parsing 'NoDate' field " + _NoDateErr.Error())
+ // Simple Field (noDate)
+ noDate, _noDateErr := io.ReadBit()
+ if _noDateErr != nil {
+ return nil, errors.New("Error parsing 'noDate' field " + _noDateErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(NoDate)
+ _map["Struct"] = values.NewPlcBOOL(noDate)
- // Simple Field (NoDayOfWeek)
- NoDayOfWeek, _NoDayOfWeekErr := io.ReadBit()
- if _NoDayOfWeekErr != nil {
- return nil, errors.New("Error parsing 'NoDayOfWeek' field " + _NoDayOfWeekErr.Error())
+ // Simple Field (noDayOfWeek)
+ noDayOfWeek, _noDayOfWeekErr := io.ReadBit()
+ if _noDayOfWeekErr != nil {
+ return nil, errors.New("Error parsing 'noDayOfWeek' field " + _noDayOfWeekErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(NoDayOfWeek)
+ _map["Struct"] = values.NewPlcBOOL(noDayOfWeek)
- // Simple Field (NoTime)
- NoTime, _NoTimeErr := io.ReadBit()
- if _NoTimeErr != nil {
- return nil, errors.New("Error parsing 'NoTime' field " + _NoTimeErr.Error())
+ // Simple Field (noTime)
+ noTime, _noTimeErr := io.ReadBit()
+ if _noTimeErr != nil {
+ return nil, errors.New("Error parsing 'noTime' field " + _noTimeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(NoTime)
+ _map["Struct"] = values.NewPlcBOOL(noTime)
- // Simple Field (StandardSummerTime)
- StandardSummerTime, _StandardSummerTimeErr := io.ReadBit()
- if _StandardSummerTimeErr != nil {
- return nil, errors.New("Error parsing 'StandardSummerTime' field " + _StandardSummerTimeErr.Error())
+ // Simple Field (standardSummerTime)
+ standardSummerTime, _standardSummerTimeErr := io.ReadBit()
+ if _standardSummerTimeErr != nil {
+ return nil, errors.New("Error parsing 'standardSummerTime' field " + _standardSummerTimeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StandardSummerTime)
+ _map["Struct"] = values.NewPlcBOOL(standardSummerTime)
- // Simple Field (QualityOfClock)
- QualityOfClock, _QualityOfClockErr := io.ReadBit()
- if _QualityOfClockErr != nil {
- return nil, errors.New("Error parsing 'QualityOfClock' field " + _QualityOfClockErr.Error())
+ // Simple Field (qualityOfClock)
+ qualityOfClock, _qualityOfClockErr := io.ReadBit()
+ if _qualityOfClockErr != nil {
+ return nil, errors.New("Error parsing 'qualityOfClock' field " + _qualityOfClockErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(QualityOfClock)
+ _map["Struct"] = values.NewPlcBOOL(qualityOfClock)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_SCLOMode: // STRING
- case datapointType == KnxDatapointType.DPT_BuildingMode: // STRING
- case datapointType == KnxDatapointType.DPT_OccMode: // STRING
- case datapointType == KnxDatapointType.DPT_Priority: // STRING
- case datapointType == KnxDatapointType.DPT_LightApplicationMode: // STRING
- case datapointType == KnxDatapointType.DPT_ApplicationArea: // STRING
- case datapointType == KnxDatapointType.DPT_AlarmClassType: // STRING
- case datapointType == KnxDatapointType.DPT_PSUMode: // STRING
- case datapointType == KnxDatapointType.DPT_ErrorClass_System: // STRING
- case datapointType == KnxDatapointType.DPT_ErrorClass_HVAC: // STRING
- case datapointType == KnxDatapointType.DPT_Time_Delay: // STRING
- case datapointType == KnxDatapointType.DPT_Beaufort_Wind_Force_Scale: // STRING
- case datapointType == KnxDatapointType.DPT_SensorSelect: // STRING
- case datapointType == KnxDatapointType.DPT_ActuatorConnectType: // STRING
- case datapointType == KnxDatapointType.DPT_Cloud_Cover: // STRING
- case datapointType == KnxDatapointType.DPT_PowerReturnMode: // STRING
- case datapointType == KnxDatapointType.DPT_FuelType: // STRING
- case datapointType == KnxDatapointType.DPT_BurnerType: // STRING
- case datapointType == KnxDatapointType.DPT_HVACMode: // STRING
- case datapointType == KnxDatapointType.DPT_DHWMode: // STRING
- case datapointType == KnxDatapointType.DPT_LoadPriority: // STRING
- case datapointType == KnxDatapointType.DPT_HVACContrMode: // STRING
- case datapointType == KnxDatapointType.DPT_HVACEmergMode: // STRING
- case datapointType == KnxDatapointType.DPT_ChangeoverMode: // STRING
- case datapointType == KnxDatapointType.DPT_ValveMode: // STRING
- case datapointType == KnxDatapointType.DPT_DamperMode: // STRING
- case datapointType == KnxDatapointType.DPT_HeaterMode: // STRING
- case datapointType == KnxDatapointType.DPT_FanMode: // STRING
- case datapointType == KnxDatapointType.DPT_MasterSlaveMode: // STRING
- case datapointType == KnxDatapointType.DPT_StatusRoomSetp: // STRING
- case datapointType == KnxDatapointType.DPT_Metering_DeviceType: // STRING
- case datapointType == KnxDatapointType.DPT_HumDehumMode: // STRING
- case datapointType == KnxDatapointType.DPT_EnableHCStage: // STRING
- case datapointType == KnxDatapointType.DPT_ADAType: // STRING
- case datapointType == KnxDatapointType.DPT_BackupMode: // STRING
- case datapointType == KnxDatapointType.DPT_StartSynchronization: // STRING
- case datapointType == KnxDatapointType.DPT_Behaviour_Lock_Unlock: // STRING
- case datapointType == KnxDatapointType.DPT_Behaviour_Bus_Power_Up_Down: // STRING
- case datapointType == KnxDatapointType.DPT_DALI_Fade_Time: // STRING
- case datapointType == KnxDatapointType.DPT_BlinkingMode: // STRING
- case datapointType == KnxDatapointType.DPT_LightControlMode: // STRING
- case datapointType == KnxDatapointType.DPT_SwitchPBModel: // STRING
- case datapointType == KnxDatapointType.DPT_PBAction: // STRING
- case datapointType == KnxDatapointType.DPT_DimmPBModel: // STRING
- case datapointType == KnxDatapointType.DPT_SwitchOnMode: // STRING
- case datapointType == KnxDatapointType.DPT_LoadTypeSet: // STRING
- case datapointType == KnxDatapointType.DPT_LoadTypeDetected: // STRING
- case datapointType == KnxDatapointType.DPT_Converter_Test_Control: // STRING
- case datapointType == KnxDatapointType.DPT_SABExcept_Behaviour: // STRING
- case datapointType == KnxDatapointType.DPT_SABBehaviour_Lock_Unlock: // STRING
- case datapointType == KnxDatapointType.DPT_SSSBMode: // STRING
- case datapointType == KnxDatapointType.DPT_BlindsControlMode: // STRING
- case datapointType == KnxDatapointType.DPT_CommMode: // STRING
- case datapointType == KnxDatapointType.DPT_AddInfoTypes: // STRING
- case datapointType == KnxDatapointType.DPT_RF_ModeSelect: // STRING
- case datapointType == KnxDatapointType.DPT_RF_FilterSelect: // STRING
- case datapointType == KnxDatapointType.DPT_StatusGen: // Struct
+ case datapointType == KnxDatapointType_DPT_SCLOMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_BuildingMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_OccMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Priority: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_LightApplicationMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ApplicationArea: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_AlarmClassType: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_PSUMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ErrorClass_System: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ErrorClass_HVAC: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Time_Delay: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Beaufort_Wind_Force_Scale: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_SensorSelect: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ActuatorConnectType: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Cloud_Cover: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_PowerReturnMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_FuelType: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_BurnerType: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_HVACMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_DHWMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_LoadPriority: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_HVACContrMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_HVACEmergMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ChangeoverMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ValveMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_DamperMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_HeaterMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_FanMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_MasterSlaveMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_StatusRoomSetp: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Metering_DeviceType: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_HumDehumMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_EnableHCStage: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_ADAType: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_BackupMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_StartSynchronization: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Behaviour_Lock_Unlock: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Behaviour_Bus_Power_Up_Down: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_DALI_Fade_Time: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_BlinkingMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_LightControlMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_SwitchPBModel: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_PBAction: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_DimmPBModel: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_SwitchOnMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_LoadTypeSet: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_LoadTypeDetected: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_Converter_Test_Control: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_SABExcept_Behaviour: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_SABBehaviour_Lock_Unlock: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_SSSBMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_BlindsControlMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_CommMode: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_AddInfoTypes: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_RF_ModeSelect: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_RF_FilterSelect: // USINT
+
+ // 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 (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 datapointType == KnxDatapointType_DPT_StatusGen: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (alarmStatusOfCorrespondingDatapointIsNotAcknowledged)
+ alarmStatusOfCorrespondingDatapointIsNotAcknowledged, _alarmStatusOfCorrespondingDatapointIsNotAcknowledgedErr := io.ReadBit()
+ if _alarmStatusOfCorrespondingDatapointIsNotAcknowledgedErr != nil {
+ return nil, errors.New("Error parsing 'alarmStatusOfCorrespondingDatapointIsNotAcknowledged' field " + _alarmStatusOfCorrespondingDatapointIsNotAcknowledgedErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(alarmStatusOfCorrespondingDatapointIsNotAcknowledged)
+
+ // Simple Field (correspondingDatapointIsInAlarm)
+ correspondingDatapointIsInAlarm, _correspondingDatapointIsInAlarmErr := io.ReadBit()
+ if _correspondingDatapointIsInAlarmErr != nil {
+ return nil, errors.New("Error parsing 'correspondingDatapointIsInAlarm' field " + _correspondingDatapointIsInAlarmErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(correspondingDatapointIsInAlarm)
+
+ // Simple Field (correspondingDatapointMainValueIsOverridden)
+ correspondingDatapointMainValueIsOverridden, _correspondingDatapointMainValueIsOverriddenErr := io.ReadBit()
+ if _correspondingDatapointMainValueIsOverriddenErr != nil {
+ return nil, errors.New("Error parsing 'correspondingDatapointMainValueIsOverridden' field " + _correspondingDatapointMainValueIsOverriddenErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(correspondingDatapointMainValueIsOverridden)
+
+ // Simple Field (correspondingDatapointMainValueIsCorruptedDueToFailure)
+ correspondingDatapointMainValueIsCorruptedDueToFailure, _correspondingDatapointMainValueIsCorruptedDueToFailureErr := io.ReadBit()
+ if _correspondingDatapointMainValueIsCorruptedDueToFailureErr != nil {
+ return nil, errors.New("Error parsing 'correspondingDatapointMainValueIsCorruptedDueToFailure' field " + _correspondingDatapointMainValueIsCorruptedDueToFailureErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(correspondingDatapointMainValueIsCorruptedDueToFailure)
+
+ // Simple Field (correspondingDatapointValueIsOutOfService)
+ correspondingDatapointValueIsOutOfService, _correspondingDatapointValueIsOutOfServiceErr := io.ReadBit()
+ if _correspondingDatapointValueIsOutOfServiceErr != nil {
+ return nil, errors.New("Error parsing 'correspondingDatapointValueIsOutOfService' field " + _correspondingDatapointValueIsOutOfServiceErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(correspondingDatapointValueIsOutOfService)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Device_Control: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (verifyModeIsOn)
+ verifyModeIsOn, _verifyModeIsOnErr := io.ReadBit()
+ if _verifyModeIsOnErr != nil {
+ return nil, errors.New("Error parsing 'verifyModeIsOn' field " + _verifyModeIsOnErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(verifyModeIsOn)
+
+ // Simple Field (aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived)
+ aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived, _aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceivedErr := io.ReadBit()
+ if _aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceivedErr != nil {
+ return nil, errors.New("Error parsing 'aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived' field " + _aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceivedErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(aDatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived)
+
+ // Simple Field (theUserApplicationIsStopped)
+ theUserApplicationIsStopped, _theUserApplicationIsStoppedErr := io.ReadBit()
+ if _theUserApplicationIsStoppedErr != nil {
+ return nil, errors.New("Error parsing 'theUserApplicationIsStopped' field " + _theUserApplicationIsStoppedErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(theUserApplicationIsStopped)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_ForceSign: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (roomhmax)
+ roomhmax, _roomhmaxErr := io.ReadBit()
+ if _roomhmaxErr != nil {
+ return nil, errors.New("Error parsing 'roomhmax' field " + _roomhmaxErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(roomhmax)
+
+ // Simple Field (roomhconf)
+ roomhconf, _roomhconfErr := io.ReadBit()
+ if _roomhconfErr != nil {
+ return nil, errors.New("Error parsing 'roomhconf' field " + _roomhconfErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(roomhconf)
+
+ // Simple Field (dhwlegio)
+ dhwlegio, _dhwlegioErr := io.ReadBit()
+ if _dhwlegioErr != nil {
+ return nil, errors.New("Error parsing 'dhwlegio' field " + _dhwlegioErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(dhwlegio)
+
+ // Simple Field (dhwnorm)
+ dhwnorm, _dhwnormErr := io.ReadBit()
+ if _dhwnormErr != nil {
+ return nil, errors.New("Error parsing 'dhwnorm' field " + _dhwnormErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(dhwnorm)
+
+ // Simple Field (overrun)
+ overrun, _overrunErr := io.ReadBit()
+ if _overrunErr != nil {
+ return nil, errors.New("Error parsing 'overrun' field " + _overrunErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(overrun)
+
+ // Simple Field (oversupply)
+ oversupply, _oversupplyErr := io.ReadBit()
+ if _oversupplyErr != nil {
+ return nil, errors.New("Error parsing 'oversupply' field " + _oversupplyErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(oversupply)
+
+ // Simple Field (protection)
+ protection, _protectionErr := io.ReadBit()
+ if _protectionErr != nil {
+ return nil, errors.New("Error parsing 'protection' field " + _protectionErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(protection)
+
+ // Simple Field (forcerequest)
+ forcerequest, _forcerequestErr := io.ReadBit()
+ if _forcerequestErr != nil {
+ return nil, errors.New("Error parsing 'forcerequest' field " + _forcerequestErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(forcerequest)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_ForceSignCool: // 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 datapointType == KnxDatapointType_DPT_StatusRHC: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (summermode)
+ summermode, _summermodeErr := io.ReadBit()
+ if _summermodeErr != nil {
+ return nil, errors.New("Error parsing 'summermode' field " + _summermodeErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(summermode)
+
+ // Simple Field (statusstopoptim)
+ statusstopoptim, _statusstopoptimErr := io.ReadBit()
+ if _statusstopoptimErr != nil {
+ return nil, errors.New("Error parsing 'statusstopoptim' field " + _statusstopoptimErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusstopoptim)
+
+ // Simple Field (statusstartoptim)
+ statusstartoptim, _statusstartoptimErr := io.ReadBit()
+ if _statusstartoptimErr != nil {
+ return nil, errors.New("Error parsing 'statusstartoptim' field " + _statusstartoptimErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusstartoptim)
+
+ // Simple Field (statusmorningboost)
+ statusmorningboost, _statusmorningboostErr := io.ReadBit()
+ if _statusmorningboostErr != nil {
+ return nil, errors.New("Error parsing 'statusmorningboost' field " + _statusmorningboostErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusmorningboost)
+
+ // Simple Field (tempreturnlimit)
+ tempreturnlimit, _tempreturnlimitErr := io.ReadBit()
+ if _tempreturnlimitErr != nil {
+ return nil, errors.New("Error parsing 'tempreturnlimit' field " + _tempreturnlimitErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(tempreturnlimit)
+
+ // Simple Field (tempflowlimit)
+ tempflowlimit, _tempflowlimitErr := io.ReadBit()
+ if _tempflowlimitErr != nil {
+ return nil, errors.New("Error parsing 'tempflowlimit' field " + _tempflowlimitErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(tempflowlimit)
+
+ // Simple Field (satuseco)
+ satuseco, _satusecoErr := io.ReadBit()
+ if _satusecoErr != nil {
+ return nil, errors.New("Error parsing 'satuseco' field " + _satusecoErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(satuseco)
+
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(fault)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_StatusSDHWC: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (solarloadsufficient)
+ solarloadsufficient, _solarloadsufficientErr := io.ReadBit()
+ if _solarloadsufficientErr != nil {
+ return nil, errors.New("Error parsing 'solarloadsufficient' field " + _solarloadsufficientErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(solarloadsufficient)
+
+ // Simple Field (sdhwloadactive)
+ sdhwloadactive, _sdhwloadactiveErr := io.ReadBit()
+ if _sdhwloadactiveErr != nil {
+ return nil, errors.New("Error parsing 'sdhwloadactive' field " + _sdhwloadactiveErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(sdhwloadactive)
+
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(fault)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_FuelTypeSet: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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"] = values.NewPlcBOOL(solidstate)
+
+ // Simple Field (gas)
+ gas, _gasErr := io.ReadBit()
+ if _gasErr != nil {
+ return nil, errors.New("Error parsing 'gas' field " + _gasErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(gas)
+
+ // Simple Field (oil)
+ oil, _oilErr := io.ReadBit()
+ if _oilErr != nil {
+ return nil, errors.New("Error parsing 'oil' field " + _oilErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(oil)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_StatusRCC: // 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 datapointType == KnxDatapointType_DPT_StatusAHU: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (cool)
+ cool, _coolErr := io.ReadBit()
+ if _coolErr != nil {
+ return nil, errors.New("Error parsing 'cool' field " + _coolErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(cool)
+
+ // Simple Field (heat)
+ heat, _heatErr := io.ReadBit()
+ if _heatErr != nil {
+ return nil, errors.New("Error parsing 'heat' field " + _heatErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(heat)
+
+ // Simple Field (fanactive)
+ fanactive, _fanactiveErr := io.ReadBit()
+ if _fanactiveErr != nil {
+ return nil, errors.New("Error parsing 'fanactive' field " + _fanactiveErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(fanactive)
+
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(fault)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_CombinedStatus_RTSM: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (statusOfHvacModeUser)
+ statusOfHvacModeUser, _statusOfHvacModeUserErr := io.ReadBit()
+ if _statusOfHvacModeUserErr != nil {
+ return nil, errors.New("Error parsing 'statusOfHvacModeUser' field " + _statusOfHvacModeUserErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusOfHvacModeUser)
+
+ // Simple Field (statusOfComfortProlongationUser)
+ statusOfComfortProlongationUser, _statusOfComfortProlongationUserErr := io.ReadBit()
+ if _statusOfComfortProlongationUserErr != nil {
+ return nil, errors.New("Error parsing 'statusOfComfortProlongationUser' field " + _statusOfComfortProlongationUserErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusOfComfortProlongationUser)
+
+ // Simple Field (effectiveValueOfTheComfortPushButton)
+ effectiveValueOfTheComfortPushButton, _effectiveValueOfTheComfortPushButtonErr := io.ReadBit()
+ if _effectiveValueOfTheComfortPushButtonErr != nil {
+ return nil, errors.New("Error parsing 'effectiveValueOfTheComfortPushButton' field " + _effectiveValueOfTheComfortPushButtonErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(effectiveValueOfTheComfortPushButton)
+
+ // Simple Field (effectiveValueOfThePresenceStatus)
+ effectiveValueOfThePresenceStatus, _effectiveValueOfThePresenceStatusErr := io.ReadBit()
+ if _effectiveValueOfThePresenceStatusErr != nil {
+ return nil, errors.New("Error parsing 'effectiveValueOfThePresenceStatus' field " + _effectiveValueOfThePresenceStatusErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(effectiveValueOfThePresenceStatus)
+
+ // Simple Field (effectiveValueOfTheWindowStatus)
+ effectiveValueOfTheWindowStatus, _effectiveValueOfTheWindowStatusErr := io.ReadBit()
+ if _effectiveValueOfTheWindowStatusErr != nil {
+ return nil, errors.New("Error parsing 'effectiveValueOfTheWindowStatus' field " + _effectiveValueOfTheWindowStatusErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(effectiveValueOfTheWindowStatus)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_LightActuatorErrorInfo: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.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 (overheat)
+ overheat, _overheatErr := io.ReadBit()
+ if _overheatErr != nil {
+ return nil, errors.New("Error parsing 'overheat' field " + _overheatErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(overheat)
+
+ // Simple Field (lampfailure)
+ lampfailure, _lampfailureErr := io.ReadBit()
+ if _lampfailureErr != nil {
+ return nil, errors.New("Error parsing 'lampfailure' field " + _lampfailureErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(lampfailure)
+
+ // Simple Field (defectiveload)
+ defectiveload, _defectiveloadErr := io.ReadBit()
+ if _defectiveloadErr != nil {
+ return nil, errors.New("Error parsing 'defectiveload' field " + _defectiveloadErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(defectiveload)
+
+ // Simple Field (underload)
+ underload, _underloadErr := io.ReadBit()
+ if _underloadErr != nil {
+ return nil, errors.New("Error parsing 'underload' field " + _underloadErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(underload)
+
+ // Simple Field (overcurrent)
+ overcurrent, _overcurrentErr := io.ReadBit()
+ if _overcurrentErr != nil {
+ return nil, errors.New("Error parsing 'overcurrent' field " + _overcurrentErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(overcurrent)
+
+ // Simple Field (undervoltage)
+ undervoltage, _undervoltageErr := io.ReadBit()
+ if _undervoltageErr != nil {
+ return nil, errors.New("Error parsing 'undervoltage' field " + _undervoltageErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(undervoltage)
+
+ // Simple Field (loaddetectionerror)
+ loaddetectionerror, _loaddetectionerrorErr := io.ReadBit()
+ if _loaddetectionerrorErr != nil {
+ return nil, errors.New("Error parsing 'loaddetectionerror' field " + _loaddetectionerrorErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(loaddetectionerror)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_RF_ModeInfo: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (bibatSlave)
+ bibatSlave, _bibatSlaveErr := io.ReadBit()
+ if _bibatSlaveErr != nil {
+ return nil, errors.New("Error parsing 'bibatSlave' field " + _bibatSlaveErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(bibatSlave)
+
+ // Simple Field (bibatMaster)
+ bibatMaster, _bibatMasterErr := io.ReadBit()
+ if _bibatMasterErr != nil {
+ return nil, errors.New("Error parsing 'bibatMaster' field " + _bibatMasterErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(bibatMaster)
+
+ // Simple Field (asynchronous)
+ asynchronous, _asynchronousErr := io.ReadBit()
+ if _asynchronousErr != nil {
+ return nil, errors.New("Error parsing 'asynchronous' field " + _asynchronousErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(asynchronous)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_RF_FilterInfo: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(3); _err != nil {
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (doa)
+ doa, _doaErr := io.ReadBit()
+ if _doaErr != nil {
+ return nil, errors.New("Error parsing 'doa' field " + _doaErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(doa)
+
+ // Simple Field (knxSn)
+ knxSn, _knxSnErr := io.ReadBit()
+ if _knxSnErr != nil {
+ return nil, errors.New("Error parsing 'knxSn' field " + _knxSnErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(knxSn)
+
+ // Simple Field (doaAndKnxSn)
+ doaAndKnxSn, _doaAndKnxSnErr := io.ReadBit()
+ if _doaAndKnxSnErr != nil {
+ return nil, errors.New("Error parsing 'doaAndKnxSn' field " + _doaAndKnxSnErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(doaAndKnxSn)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Channel_Activation_8: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (AlarmStatusOfCorrespondingDatapointIsNotAcknowledged)
- AlarmStatusOfCorrespondingDatapointIsNotAcknowledged, _AlarmStatusOfCorrespondingDatapointIsNotAcknowledgedErr := io.ReadBit()
- if _AlarmStatusOfCorrespondingDatapointIsNotAcknowledgedErr != nil {
- return nil, errors.New("Error parsing 'AlarmStatusOfCorrespondingDatapointIsNotAcknowledged' field " + _AlarmStatusOfCorrespondingDatapointIsNotAcknowledgedErr.Error())
+ // Simple Field (activationStateOfChannel1)
+ activationStateOfChannel1, _activationStateOfChannel1Err := io.ReadBit()
+ if _activationStateOfChannel1Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel1' field " + _activationStateOfChannel1Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel1)
+
+ // Simple Field (activationStateOfChannel2)
+ activationStateOfChannel2, _activationStateOfChannel2Err := io.ReadBit()
+ if _activationStateOfChannel2Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel2' field " + _activationStateOfChannel2Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel2)
+
+ // Simple Field (activationStateOfChannel3)
+ activationStateOfChannel3, _activationStateOfChannel3Err := io.ReadBit()
+ if _activationStateOfChannel3Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel3' field " + _activationStateOfChannel3Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(AlarmStatusOfCorrespondingDatapointIsNotAcknowledged)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel3)
- // Simple Field (CorrespondingDatapointIsInAlarm)
- CorrespondingDatapointIsInAlarm, _CorrespondingDatapointIsInAlarmErr := io.ReadBit()
- if _CorrespondingDatapointIsInAlarmErr != nil {
- return nil, errors.New("Error parsing 'CorrespondingDatapointIsInAlarm' field " + _CorrespondingDatapointIsInAlarmErr.Error())
+ // Simple Field (activationStateOfChannel4)
+ activationStateOfChannel4, _activationStateOfChannel4Err := io.ReadBit()
+ if _activationStateOfChannel4Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel4' field " + _activationStateOfChannel4Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(CorrespondingDatapointIsInAlarm)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel4)
- // Simple Field (CorrespondingDatapointMainValueIsOverridden)
- CorrespondingDatapointMainValueIsOverridden, _CorrespondingDatapointMainValueIsOverriddenErr := io.ReadBit()
- if _CorrespondingDatapointMainValueIsOverriddenErr != nil {
- return nil, errors.New("Error parsing 'CorrespondingDatapointMainValueIsOverridden' field " + _CorrespondingDatapointMainValueIsOverriddenErr.Error())
+ // Simple Field (activationStateOfChannel5)
+ activationStateOfChannel5, _activationStateOfChannel5Err := io.ReadBit()
+ if _activationStateOfChannel5Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel5' field " + _activationStateOfChannel5Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(CorrespondingDatapointMainValueIsOverridden)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel5)
- // Simple Field (CorrespondingDatapointMainValueIsCorruptedDueToFailure)
- CorrespondingDatapointMainValueIsCorruptedDueToFailure, _CorrespondingDatapointMainValueIsCorruptedDueToFailureErr := io.ReadBit()
- if _CorrespondingDatapointMainValueIsCorruptedDueToFailureErr != nil {
- return nil, errors.New("Error parsing 'CorrespondingDatapointMainValueIsCorruptedDueToFailure' field " + _CorrespondingDatapointMainValueIsCorruptedDueToFailureErr.Error())
+ // Simple Field (activationStateOfChannel6)
+ activationStateOfChannel6, _activationStateOfChannel6Err := io.ReadBit()
+ if _activationStateOfChannel6Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel6' field " + _activationStateOfChannel6Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(CorrespondingDatapointMainValueIsCorruptedDueToFailure)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel6)
- // Simple Field (CorrespondingDatapointValueIsOutOfService)
- CorrespondingDatapointValueIsOutOfService, _CorrespondingDatapointValueIsOutOfServiceErr := io.ReadBit()
- if _CorrespondingDatapointValueIsOutOfServiceErr != nil {
- return nil, errors.New("Error parsing 'CorrespondingDatapointValueIsOutOfService' field " + _CorrespondingDatapointValueIsOutOfServiceErr.Error())
+ // Simple Field (activationStateOfChannel7)
+ activationStateOfChannel7, _activationStateOfChannel7Err := io.ReadBit()
+ if _activationStateOfChannel7Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel7' field " + _activationStateOfChannel7Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(CorrespondingDatapointValueIsOutOfService)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel7)
+
+ // Simple Field (activationStateOfChannel8)
+ activationStateOfChannel8, _activationStateOfChannel8Err := io.ReadBit()
+ if _activationStateOfChannel8Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel8' field " + _activationStateOfChannel8Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel8)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Device_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_StatusDHWC: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(5); _err != nil {
+ if _, _err := io.ReadUint8(8); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (VerifyModeIsOn)
- VerifyModeIsOn, _VerifyModeIsOnErr := io.ReadBit()
- if _VerifyModeIsOnErr != nil {
- return nil, errors.New("Error parsing 'VerifyModeIsOn' field " + _VerifyModeIsOnErr.Error())
+ // Simple Field (tempoptimshiftactive)
+ tempoptimshiftactive, _tempoptimshiftactiveErr := io.ReadBit()
+ if _tempoptimshiftactiveErr != nil {
+ return nil, errors.New("Error parsing 'tempoptimshiftactive' field " + _tempoptimshiftactiveErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(tempoptimshiftactive)
+
+ // Simple Field (solarenergysupport)
+ solarenergysupport, _solarenergysupportErr := io.ReadBit()
+ if _solarenergysupportErr != nil {
+ return nil, errors.New("Error parsing 'solarenergysupport' field " + _solarenergysupportErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(solarenergysupport)
+
+ // Simple Field (solarenergyonly)
+ solarenergyonly, _solarenergyonlyErr := io.ReadBit()
+ if _solarenergyonlyErr != nil {
+ return nil, errors.New("Error parsing 'solarenergyonly' field " + _solarenergyonlyErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(VerifyModeIsOn)
+ _map["Struct"] = values.NewPlcBOOL(solarenergyonly)
- // Simple Field (ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived)
- ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived, _ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceivedErr := io.ReadBit()
- if _ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceivedErr != nil {
- return nil, errors.New("Error parsing 'ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived' field " + _ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceivedErr.Error())
+ // Simple Field (otherenergysourceactive)
+ otherenergysourceactive, _otherenergysourceactiveErr := io.ReadBit()
+ if _otherenergysourceactiveErr != nil {
+ return nil, errors.New("Error parsing 'otherenergysourceactive' field " + _otherenergysourceactiveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ADatagramWithTheOwnIndividualAddressAsSourceAddressHasBeenReceived)
+ _map["Struct"] = values.NewPlcBOOL(otherenergysourceactive)
- // Simple Field (TheUserApplicationIsStopped)
- TheUserApplicationIsStopped, _TheUserApplicationIsStoppedErr := io.ReadBit()
- if _TheUserApplicationIsStoppedErr != nil {
- return nil, errors.New("Error parsing 'TheUserApplicationIsStopped' field " + _TheUserApplicationIsStoppedErr.Error())
+ // Simple Field (dhwpushactive)
+ dhwpushactive, _dhwpushactiveErr := io.ReadBit()
+ if _dhwpushactiveErr != nil {
+ return nil, errors.New("Error parsing 'dhwpushactive' field " + _dhwpushactiveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(TheUserApplicationIsStopped)
+ _map["Struct"] = values.NewPlcBOOL(dhwpushactive)
+
+ // Simple Field (legioprotactive)
+ legioprotactive, _legioprotactiveErr := io.ReadBit()
+ if _legioprotactiveErr != nil {
+ return nil, errors.New("Error parsing 'legioprotactive' field " + _legioprotactiveErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(legioprotactive)
+
+ // Simple Field (dhwloadactive)
+ dhwloadactive, _dhwloadactiveErr := io.ReadBit()
+ if _dhwloadactiveErr != nil {
+ return nil, errors.New("Error parsing 'dhwloadactive' field " + _dhwloadactiveErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(dhwloadactive)
+
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(fault)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_ForceSign: // Struct
+ case datapointType == KnxDatapointType_DPT_StatusRHCC: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -3224,290 +4435,526 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Roomhmax)
- Roomhmax, _RoomhmaxErr := io.ReadBit()
- if _RoomhmaxErr != nil {
- return nil, errors.New("Error parsing 'Roomhmax' field " + _RoomhmaxErr.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 (overheatalarm)
+ overheatalarm, _overheatalarmErr := io.ReadBit()
+ if _overheatalarmErr != nil {
+ return nil, errors.New("Error parsing 'overheatalarm' field " + _overheatalarmErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(overheatalarm)
+
+ // Simple Field (frostalarm)
+ frostalarm, _frostalarmErr := io.ReadBit()
+ if _frostalarmErr != nil {
+ return nil, errors.New("Error parsing 'frostalarm' field " + _frostalarmErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(frostalarm)
+
+ // Simple Field (dewpointstatus)
+ dewpointstatus, _dewpointstatusErr := io.ReadBit()
+ if _dewpointstatusErr != nil {
+ return nil, errors.New("Error parsing 'dewpointstatus' field " + _dewpointstatusErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(dewpointstatus)
+
+ // Simple Field (coolingdisabled)
+ coolingdisabled, _coolingdisabledErr := io.ReadBit()
+ if _coolingdisabledErr != nil {
+ return nil, errors.New("Error parsing 'coolingdisabled' field " + _coolingdisabledErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(coolingdisabled)
+
+ // Simple Field (statusprecool)
+ statusprecool, _statusprecoolErr := io.ReadBit()
+ if _statusprecoolErr != nil {
+ return nil, errors.New("Error parsing 'statusprecool' field " + _statusprecoolErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusprecool)
+
+ // Simple Field (statusecoc)
+ statusecoc, _statusecocErr := io.ReadBit()
+ if _statusecocErr != nil {
+ return nil, errors.New("Error parsing 'statusecoc' field " + _statusecocErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(statusecoc)
+
+ // Simple Field (heatcoolmode)
+ heatcoolmode, _heatcoolmodeErr := io.ReadBit()
+ if _heatcoolmodeErr != nil {
+ return nil, errors.New("Error parsing 'heatcoolmode' field " + _heatcoolmodeErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(heatcoolmode)
+
+ // Simple Field (heatingdiabled)
+ heatingdiabled, _heatingdiabledErr := io.ReadBit()
+ if _heatingdiabledErr != nil {
+ return nil, errors.New("Error parsing 'heatingdiabled' field " + _heatingdiabledErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Roomhmax)
+ _map["Struct"] = values.NewPlcBOOL(heatingdiabled)
- // Simple Field (Roomhconf)
- Roomhconf, _RoomhconfErr := io.ReadBit()
- if _RoomhconfErr != nil {
- return nil, errors.New("Error parsing 'Roomhconf' field " + _RoomhconfErr.Error())
+ // Simple Field (statusstopoptim)
+ statusstopoptim, _statusstopoptimErr := io.ReadBit()
+ if _statusstopoptimErr != nil {
+ return nil, errors.New("Error parsing 'statusstopoptim' field " + _statusstopoptimErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Roomhconf)
+ _map["Struct"] = values.NewPlcBOOL(statusstopoptim)
- // Simple Field (Dhwlegio)
- Dhwlegio, _DhwlegioErr := io.ReadBit()
- if _DhwlegioErr != nil {
- return nil, errors.New("Error parsing 'Dhwlegio' field " + _DhwlegioErr.Error())
+ // Simple Field (statusstartoptim)
+ statusstartoptim, _statusstartoptimErr := io.ReadBit()
+ if _statusstartoptimErr != nil {
+ return nil, errors.New("Error parsing 'statusstartoptim' field " + _statusstartoptimErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Dhwlegio)
+ _map["Struct"] = values.NewPlcBOOL(statusstartoptim)
- // Simple Field (Dhwnorm)
- Dhwnorm, _DhwnormErr := io.ReadBit()
- if _DhwnormErr != nil {
- return nil, errors.New("Error parsing 'Dhwnorm' field " + _DhwnormErr.Error())
+ // Simple Field (statusmorningboosth)
+ statusmorningboosth, _statusmorningboosthErr := io.ReadBit()
+ if _statusmorningboosthErr != nil {
+ return nil, errors.New("Error parsing 'statusmorningboosth' field " + _statusmorningboosthErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Dhwnorm)
+ _map["Struct"] = values.NewPlcBOOL(statusmorningboosth)
- // Simple Field (Overrun)
- Overrun, _OverrunErr := io.ReadBit()
- if _OverrunErr != nil {
- return nil, errors.New("Error parsing 'Overrun' field " + _OverrunErr.Error())
+ // Simple Field (tempflowreturnlimit)
+ tempflowreturnlimit, _tempflowreturnlimitErr := io.ReadBit()
+ if _tempflowreturnlimitErr != nil {
+ return nil, errors.New("Error parsing 'tempflowreturnlimit' field " + _tempflowreturnlimitErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Overrun)
+ _map["Struct"] = values.NewPlcBOOL(tempflowreturnlimit)
- // Simple Field (Oversupply)
- Oversupply, _OversupplyErr := io.ReadBit()
- if _OversupplyErr != nil {
- return nil, errors.New("Error parsing 'Oversupply' field " + _OversupplyErr.Error())
+ // Simple Field (tempflowlimit)
+ tempflowlimit, _tempflowlimitErr := io.ReadBit()
+ if _tempflowlimitErr != nil {
+ return nil, errors.New("Error parsing 'tempflowlimit' field " + _tempflowlimitErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Oversupply)
+ _map["Struct"] = values.NewPlcBOOL(tempflowlimit)
- // Simple Field (Protection)
- Protection, _ProtectionErr := io.ReadBit()
- if _ProtectionErr != nil {
- return nil, errors.New("Error parsing 'Protection' field " + _ProtectionErr.Error())
+ // Simple Field (statusecoh)
+ statusecoh, _statusecohErr := io.ReadBit()
+ if _statusecohErr != nil {
+ return nil, errors.New("Error parsing 'statusecoh' field " + _statusecohErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Protection)
+ _map["Struct"] = values.NewPlcBOOL(statusecoh)
- // Simple Field (Forcerequest)
- Forcerequest, _ForcerequestErr := io.ReadBit()
- if _ForcerequestErr != nil {
- return nil, errors.New("Error parsing 'Forcerequest' field " + _ForcerequestErr.Error())
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Forcerequest)
+ _map["Struct"] = values.NewPlcBOOL(fault)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_ForceSignCool: // BOOL
+ case datapointType == KnxDatapointType_DPT_CombinedStatus_HVA: // Struct
+ _map := map[string]api.PlcValue{}
// 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())
+ // Simple Field (calibrationMode)
+ calibrationMode, _calibrationModeErr := io.ReadBit()
+ if _calibrationModeErr != nil {
+ return nil, errors.New("Error parsing 'calibrationMode' field " + _calibrationModeErr.Error())
}
- return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_StatusRHC: // Struct
+ _map["Struct"] = values.NewPlcBOOL(calibrationMode)
+
+ // Simple Field (lockedPosition)
+ lockedPosition, _lockedPositionErr := io.ReadBit()
+ if _lockedPositionErr != nil {
+ return nil, errors.New("Error parsing 'lockedPosition' field " + _lockedPositionErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(lockedPosition)
+
+ // Simple Field (forcedPosition)
+ forcedPosition, _forcedPositionErr := io.ReadBit()
+ if _forcedPositionErr != nil {
+ return nil, errors.New("Error parsing 'forcedPosition' field " + _forcedPositionErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(forcedPosition)
+
+ // Simple Field (manuaOperationOverridden)
+ manuaOperationOverridden, _manuaOperationOverriddenErr := io.ReadBit()
+ if _manuaOperationOverriddenErr != nil {
+ return nil, errors.New("Error parsing 'manuaOperationOverridden' field " + _manuaOperationOverriddenErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(manuaOperationOverridden)
+
+ // Simple Field (serviceMode)
+ serviceMode, _serviceModeErr := io.ReadBit()
+ if _serviceModeErr != nil {
+ return nil, errors.New("Error parsing 'serviceMode' field " + _serviceModeErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(serviceMode)
+
+ // Simple Field (valveKick)
+ valveKick, _valveKickErr := io.ReadBit()
+ if _valveKickErr != nil {
+ return nil, errors.New("Error parsing 'valveKick' field " + _valveKickErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(valveKick)
+
+ // Simple Field (overload)
+ overload, _overloadErr := io.ReadBit()
+ if _overloadErr != nil {
+ return nil, errors.New("Error parsing 'overload' field " + _overloadErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(overload)
+
+ // Simple Field (shortCircuit)
+ shortCircuit, _shortCircuitErr := io.ReadBit()
+ if _shortCircuitErr != nil {
+ return nil, errors.New("Error parsing 'shortCircuit' field " + _shortCircuitErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(shortCircuit)
+
+ // Simple Field (currentValvePosition)
+ currentValvePosition, _currentValvePositionErr := io.ReadBit()
+ if _currentValvePositionErr != nil {
+ return nil, errors.New("Error parsing 'currentValvePosition' field " + _currentValvePositionErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(currentValvePosition)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_CombinedStatus_RTC: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(7); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Summermode)
- Summermode, _SummermodeErr := io.ReadBit()
- if _SummermodeErr != nil {
- return nil, errors.New("Error parsing 'Summermode' field " + _SummermodeErr.Error())
+ // Simple Field (coolingModeEnabled)
+ coolingModeEnabled, _coolingModeEnabledErr := io.ReadBit()
+ if _coolingModeEnabledErr != nil {
+ return nil, errors.New("Error parsing 'coolingModeEnabled' field " + _coolingModeEnabledErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(coolingModeEnabled)
+
+ // Simple Field (heatingModeEnabled)
+ heatingModeEnabled, _heatingModeEnabledErr := io.ReadBit()
+ if _heatingModeEnabledErr != nil {
+ return nil, errors.New("Error parsing 'heatingModeEnabled' field " + _heatingModeEnabledErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Summermode)
+ _map["Struct"] = values.NewPlcBOOL(heatingModeEnabled)
- // Simple Field (Statusstopoptim)
- Statusstopoptim, _StatusstopoptimErr := io.ReadBit()
- if _StatusstopoptimErr != nil {
- return nil, errors.New("Error parsing 'Statusstopoptim' field " + _StatusstopoptimErr.Error())
+ // Simple Field (additionalHeatingCoolingStage2Stage)
+ additionalHeatingCoolingStage2Stage, _additionalHeatingCoolingStage2StageErr := io.ReadBit()
+ if _additionalHeatingCoolingStage2StageErr != nil {
+ return nil, errors.New("Error parsing 'additionalHeatingCoolingStage2Stage' field " + _additionalHeatingCoolingStage2StageErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusstopoptim)
+ _map["Struct"] = values.NewPlcBOOL(additionalHeatingCoolingStage2Stage)
- // Simple Field (Statusstartoptim)
- Statusstartoptim, _StatusstartoptimErr := io.ReadBit()
- if _StatusstartoptimErr != nil {
- return nil, errors.New("Error parsing 'Statusstartoptim' field " + _StatusstartoptimErr.Error())
+ // Simple Field (controllerInactive)
+ controllerInactive, _controllerInactiveErr := io.ReadBit()
+ if _controllerInactiveErr != nil {
+ return nil, errors.New("Error parsing 'controllerInactive' field " + _controllerInactiveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusstartoptim)
+ _map["Struct"] = values.NewPlcBOOL(controllerInactive)
- // Simple Field (Statusmorningboost)
- Statusmorningboost, _StatusmorningboostErr := io.ReadBit()
- if _StatusmorningboostErr != nil {
- return nil, errors.New("Error parsing 'Statusmorningboost' field " + _StatusmorningboostErr.Error())
+ // Simple Field (overheatAlarm)
+ overheatAlarm, _overheatAlarmErr := io.ReadBit()
+ if _overheatAlarmErr != nil {
+ return nil, errors.New("Error parsing 'overheatAlarm' field " + _overheatAlarmErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusmorningboost)
+ _map["Struct"] = values.NewPlcBOOL(overheatAlarm)
- // Simple Field (Tempreturnlimit)
- Tempreturnlimit, _TempreturnlimitErr := io.ReadBit()
- if _TempreturnlimitErr != nil {
- return nil, errors.New("Error parsing 'Tempreturnlimit' field " + _TempreturnlimitErr.Error())
+ // Simple Field (frostAlarm)
+ frostAlarm, _frostAlarmErr := io.ReadBit()
+ if _frostAlarmErr != nil {
+ return nil, errors.New("Error parsing 'frostAlarm' field " + _frostAlarmErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tempreturnlimit)
+ _map["Struct"] = values.NewPlcBOOL(frostAlarm)
- // Simple Field (Tempflowlimit)
- Tempflowlimit, _TempflowlimitErr := io.ReadBit()
- if _TempflowlimitErr != nil {
- return nil, errors.New("Error parsing 'Tempflowlimit' field " + _TempflowlimitErr.Error())
+ // Simple Field (dewPointStatus)
+ dewPointStatus, _dewPointStatusErr := io.ReadBit()
+ if _dewPointStatusErr != nil {
+ return nil, errors.New("Error parsing 'dewPointStatus' field " + _dewPointStatusErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tempflowlimit)
+ _map["Struct"] = values.NewPlcBOOL(dewPointStatus)
- // Simple Field (Satuseco)
- Satuseco, _SatusecoErr := io.ReadBit()
- if _SatusecoErr != nil {
- return nil, errors.New("Error parsing 'Satuseco' field " + _SatusecoErr.Error())
+ // Simple Field (activeMode)
+ activeMode, _activeModeErr := io.ReadBit()
+ if _activeModeErr != nil {
+ return nil, errors.New("Error parsing 'activeMode' field " + _activeModeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Satuseco)
+ _map["Struct"] = values.NewPlcBOOL(activeMode)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Simple Field (generalFailureInformation)
+ generalFailureInformation, _generalFailureInformationErr := io.ReadBit()
+ if _generalFailureInformationErr != nil {
+ return nil, errors.New("Error parsing 'generalFailureInformation' field " + _generalFailureInformationErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
+ _map["Struct"] = values.NewPlcBOOL(generalFailureInformation)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_StatusSDHWC: // Struct
+ case datapointType == KnxDatapointType_DPT_Media: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(5); _err != nil {
+ if _, _err := io.ReadUint16(10); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // Simple Field (knxIp)
+ knxIp, _knxIpErr := io.ReadBit()
+ if _knxIpErr != nil {
+ return nil, errors.New("Error parsing 'knxIp' field " + _knxIpErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(knxIp)
+
+ // Simple Field (rf)
+ rf, _rfErr := io.ReadBit()
+ if _rfErr != nil {
+ return nil, errors.New("Error parsing 'rf' field " + _rfErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(rf)
+
+ // 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 (Solarloadsufficient)
- Solarloadsufficient, _SolarloadsufficientErr := io.ReadBit()
- if _SolarloadsufficientErr != nil {
- return nil, errors.New("Error parsing 'Solarloadsufficient' field " + _SolarloadsufficientErr.Error())
+ // Simple Field (pl110)
+ pl110, _pl110Err := io.ReadBit()
+ if _pl110Err != nil {
+ return nil, errors.New("Error parsing 'pl110' field " + _pl110Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Solarloadsufficient)
+ _map["Struct"] = values.NewPlcBOOL(pl110)
- // Simple Field (Sdhwloadactive)
- Sdhwloadactive, _SdhwloadactiveErr := io.ReadBit()
- if _SdhwloadactiveErr != nil {
- return nil, errors.New("Error parsing 'Sdhwloadactive' field " + _SdhwloadactiveErr.Error())
+ // Simple Field (tp1)
+ tp1, _tp1Err := io.ReadBit()
+ if _tp1Err != nil {
+ return nil, errors.New("Error parsing 'tp1' field " + _tp1Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Sdhwloadactive)
+ _map["Struct"] = values.NewPlcBOOL(tp1)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(1); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_FuelTypeSet: // Struct
+ case datapointType == KnxDatapointType_DPT_Channel_Activation_16: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(5); _err != nil {
+ if _, _err := io.ReadUint8(8); _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())
+ // Simple Field (activationStateOfChannel1)
+ activationStateOfChannel1, _activationStateOfChannel1Err := io.ReadBit()
+ if _activationStateOfChannel1Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel1' field " + _activationStateOfChannel1Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel1)
+
+ // Simple Field (activationStateOfChannel2)
+ activationStateOfChannel2, _activationStateOfChannel2Err := io.ReadBit()
+ if _activationStateOfChannel2Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel2' field " + _activationStateOfChannel2Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel2)
+
+ // Simple Field (activationStateOfChannel3)
+ activationStateOfChannel3, _activationStateOfChannel3Err := io.ReadBit()
+ if _activationStateOfChannel3Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel3' field " + _activationStateOfChannel3Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel3)
+
+ // Simple Field (activationStateOfChannel4)
+ activationStateOfChannel4, _activationStateOfChannel4Err := io.ReadBit()
+ if _activationStateOfChannel4Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel4' field " + _activationStateOfChannel4Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel4)
+
+ // Simple Field (activationStateOfChannel5)
+ activationStateOfChannel5, _activationStateOfChannel5Err := io.ReadBit()
+ if _activationStateOfChannel5Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel5' field " + _activationStateOfChannel5Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel5)
+
+ // Simple Field (activationStateOfChannel6)
+ activationStateOfChannel6, _activationStateOfChannel6Err := io.ReadBit()
+ if _activationStateOfChannel6Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel6' field " + _activationStateOfChannel6Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel6)
+
+ // Simple Field (activationStateOfChannel7)
+ activationStateOfChannel7, _activationStateOfChannel7Err := io.ReadBit()
+ if _activationStateOfChannel7Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel7' field " + _activationStateOfChannel7Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Solidstate)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel7)
- // Simple Field (Gas)
- Gas, _GasErr := io.ReadBit()
- if _GasErr != nil {
- return nil, errors.New("Error parsing 'Gas' field " + _GasErr.Error())
+ // Simple Field (activationStateOfChannel8)
+ activationStateOfChannel8, _activationStateOfChannel8Err := io.ReadBit()
+ if _activationStateOfChannel8Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel8' field " + _activationStateOfChannel8Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Gas)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel8)
- // Simple Field (Oil)
- Oil, _OilErr := io.ReadBit()
- if _OilErr != nil {
- return nil, errors.New("Error parsing 'Oil' field " + _OilErr.Error())
+ // Simple Field (activationStateOfChannel9)
+ activationStateOfChannel9, _activationStateOfChannel9Err := io.ReadBit()
+ if _activationStateOfChannel9Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel9' field " + _activationStateOfChannel9Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Oil)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel9)
+
+ // Simple Field (activationStateOfChannel10)
+ activationStateOfChannel10, _activationStateOfChannel10Err := io.ReadBit()
+ if _activationStateOfChannel10Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel10' field " + _activationStateOfChannel10Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel10)
+
+ // Simple Field (activationStateOfChannel11)
+ activationStateOfChannel11, _activationStateOfChannel11Err := io.ReadBit()
+ if _activationStateOfChannel11Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel11' field " + _activationStateOfChannel11Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel11)
+
+ // Simple Field (activationStateOfChannel12)
+ activationStateOfChannel12, _activationStateOfChannel12Err := io.ReadBit()
+ if _activationStateOfChannel12Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel12' field " + _activationStateOfChannel12Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel12)
+
+ // Simple Field (activationStateOfChannel13)
+ activationStateOfChannel13, _activationStateOfChannel13Err := io.ReadBit()
+ if _activationStateOfChannel13Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel13' field " + _activationStateOfChannel13Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel13)
+
+ // Simple Field (activationStateOfChannel14)
+ activationStateOfChannel14, _activationStateOfChannel14Err := io.ReadBit()
+ if _activationStateOfChannel14Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel14' field " + _activationStateOfChannel14Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel14)
+
+ // Simple Field (activationStateOfChannel15)
+ activationStateOfChannel15, _activationStateOfChannel15Err := io.ReadBit()
+ if _activationStateOfChannel15Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel15' field " + _activationStateOfChannel15Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel15)
+
+ // Simple Field (activationStateOfChannel16)
+ activationStateOfChannel16, _activationStateOfChannel16Err := io.ReadBit()
+ if _activationStateOfChannel16Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel16' field " + _activationStateOfChannel16Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel16)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_StatusRCC: // BOOL
+ case datapointType == KnxDatapointType_DPT_OnOffAction: // USINT
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(7); _err != nil {
+ if _, _err := io.ReadUint8(6); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
// Simple Field (value)
- value, _valueErr := io.ReadBit()
+ value, _valueErr := io.ReadUint8(2)
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- return values.NewPlcBOOL(value), nil
- case datapointType == KnxDatapointType.DPT_StatusAHU: // Struct
- _map := map[string]api.PlcValue{}
+ return values.NewPlcUSINT(value), nil
+ case datapointType == KnxDatapointType_DPT_Alarm_Reaction: // USINT
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(4); _err != nil {
+ if _, _err := io.ReadUint8(6); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Cool)
- Cool, _CoolErr := io.ReadBit()
- if _CoolErr != nil {
- return nil, errors.New("Error parsing 'Cool' field " + _CoolErr.Error())
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(2)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcUSINT(value), nil
+ case datapointType == KnxDatapointType_DPT_UpDown_Action: // USINT
+
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Cool)
- // Simple Field (Heat)
- Heat, _HeatErr := io.ReadBit()
- if _HeatErr != nil {
- return nil, errors.New("Error parsing 'Heat' field " + _HeatErr.Error())
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(2)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Heat)
+ return values.NewPlcUSINT(value), nil
+ case datapointType == KnxDatapointType_DPT_HVAC_PB_Action: // USINT
- // Simple Field (Fanactive)
- Fanactive, _FanactiveErr := io.ReadBit()
- if _FanactiveErr != nil {
- return nil, errors.New("Error parsing 'Fanactive' field " + _FanactiveErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fanactive)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Simple Field (value)
+ value, _valueErr := io.ReadUint8(2)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_CombinedStatus_RTSM: // Struct
+ return values.NewPlcUSINT(value), nil
+ case datapointType == KnxDatapointType_DPT_DoubleNibble: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(3); _err != nil {
+ if _, _err := io.ReadUint8(8); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (StatusOfHvacModeUser)
- StatusOfHvacModeUser, _StatusOfHvacModeUserErr := io.ReadBit()
- if _StatusOfHvacModeUserErr != nil {
- return nil, errors.New("Error parsing 'StatusOfHvacModeUser' field " + _StatusOfHvacModeUserErr.Error())
+ // Simple Field (busy)
+ busy, _busyErr := io.ReadUint8(4)
+ if _busyErr != nil {
+ return nil, errors.New("Error parsing 'busy' field " + _busyErr.Error())
+ }
+ _map["Struct"] = values.NewPlcUSINT(busy)
+
+ // Simple Field (nak)
+ nak, _nakErr := io.ReadUint8(4)
+ if _nakErr != nil {
+ return nil, errors.New("Error parsing 'nak' field " + _nakErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusOfHvacModeUser)
+ _map["Struct"] = values.NewPlcUSINT(nak)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_SceneInfo: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (StatusOfComfortProlongationUser)
- StatusOfComfortProlongationUser, _StatusOfComfortProlongationUserErr := io.ReadBit()
- if _StatusOfComfortProlongationUserErr != nil {
- return nil, errors.New("Error parsing 'StatusOfComfortProlongationUser' field " + _StatusOfComfortProlongationUserErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(StatusOfComfortProlongationUser)
- // Simple Field (EffectiveValueOfTheComfortPushButton)
- EffectiveValueOfTheComfortPushButton, _EffectiveValueOfTheComfortPushButtonErr := io.ReadBit()
- if _EffectiveValueOfTheComfortPushButtonErr != nil {
- return nil, errors.New("Error parsing 'EffectiveValueOfTheComfortPushButton' field " + _EffectiveValueOfTheComfortPushButtonErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(1); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(EffectiveValueOfTheComfortPushButton)
- // Simple Field (EffectiveValueOfThePresenceStatus)
- EffectiveValueOfThePresenceStatus, _EffectiveValueOfThePresenceStatusErr := io.ReadBit()
- if _EffectiveValueOfThePresenceStatusErr != nil {
- return nil, errors.New("Error parsing 'EffectiveValueOfThePresenceStatus' field " + _EffectiveValueOfThePresenceStatusErr.Error())
+ // Simple Field (sceneIsInactive)
+ sceneIsInactive, _sceneIsInactiveErr := io.ReadBit()
+ if _sceneIsInactiveErr != nil {
+ return nil, errors.New("Error parsing 'sceneIsInactive' field " + _sceneIsInactiveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(EffectiveValueOfThePresenceStatus)
+ _map["Struct"] = values.NewPlcBOOL(sceneIsInactive)
- // Simple Field (EffectiveValueOfTheWindowStatus)
- EffectiveValueOfTheWindowStatus, _EffectiveValueOfTheWindowStatusErr := io.ReadBit()
- if _EffectiveValueOfTheWindowStatusErr != nil {
- return nil, errors.New("Error parsing 'EffectiveValueOfTheWindowStatus' field " + _EffectiveValueOfTheWindowStatusErr.Error())
+ // Simple Field (scenenumber)
+ scenenumber, _scenenumberErr := io.ReadUint8(6)
+ if _scenenumberErr != nil {
+ return nil, errors.New("Error parsing 'scenenumber' field " + _scenenumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(EffectiveValueOfTheWindowStatus)
+ _map["Struct"] = values.NewPlcUSINT(scenenumber)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_LightActuatorErrorInfo: // Struct
+ case datapointType == KnxDatapointType_DPT_CombinedInfoOnOff: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -3515,247 +4962,446 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.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 (maskBitInfoOnOffOutput16)
+ maskBitInfoOnOffOutput16, _maskBitInfoOnOffOutput16Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput16Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput16' field " + _maskBitInfoOnOffOutput16Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput16)
+
+ // Simple Field (maskBitInfoOnOffOutput15)
+ maskBitInfoOnOffOutput15, _maskBitInfoOnOffOutput15Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput15Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput15' field " + _maskBitInfoOnOffOutput15Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput15)
+
+ // Simple Field (maskBitInfoOnOffOutput14)
+ maskBitInfoOnOffOutput14, _maskBitInfoOnOffOutput14Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput14Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput14' field " + _maskBitInfoOnOffOutput14Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput14)
+
+ // Simple Field (maskBitInfoOnOffOutput13)
+ maskBitInfoOnOffOutput13, _maskBitInfoOnOffOutput13Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput13Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput13' field " + _maskBitInfoOnOffOutput13Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput13)
+
+ // Simple Field (maskBitInfoOnOffOutput12)
+ maskBitInfoOnOffOutput12, _maskBitInfoOnOffOutput12Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput12Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput12' field " + _maskBitInfoOnOffOutput12Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput12)
+
+ // Simple Field (maskBitInfoOnOffOutput11)
+ maskBitInfoOnOffOutput11, _maskBitInfoOnOffOutput11Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput11Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput11' field " + _maskBitInfoOnOffOutput11Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput11)
+
+ // Simple Field (maskBitInfoOnOffOutput10)
+ maskBitInfoOnOffOutput10, _maskBitInfoOnOffOutput10Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput10Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput10' field " + _maskBitInfoOnOffOutput10Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput10)
+
+ // Simple Field (maskBitInfoOnOffOutput9)
+ maskBitInfoOnOffOutput9, _maskBitInfoOnOffOutput9Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput9Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput9' field " + _maskBitInfoOnOffOutput9Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput9)
+
+ // Simple Field (maskBitInfoOnOffOutput8)
+ maskBitInfoOnOffOutput8, _maskBitInfoOnOffOutput8Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput8Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput8' field " + _maskBitInfoOnOffOutput8Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput8)
+
+ // Simple Field (maskBitInfoOnOffOutput7)
+ maskBitInfoOnOffOutput7, _maskBitInfoOnOffOutput7Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput7Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput7' field " + _maskBitInfoOnOffOutput7Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput7)
+
+ // Simple Field (maskBitInfoOnOffOutput6)
+ maskBitInfoOnOffOutput6, _maskBitInfoOnOffOutput6Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput6Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput6' field " + _maskBitInfoOnOffOutput6Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput6)
+
+ // Simple Field (maskBitInfoOnOffOutput5)
+ maskBitInfoOnOffOutput5, _maskBitInfoOnOffOutput5Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput5Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput5' field " + _maskBitInfoOnOffOutput5Err.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput5)
- // Simple Field (Overheat)
- Overheat, _OverheatErr := io.ReadBit()
- if _OverheatErr != nil {
- return nil, errors.New("Error parsing 'Overheat' field " + _OverheatErr.Error())
+ // Simple Field (maskBitInfoOnOffOutput4)
+ maskBitInfoOnOffOutput4, _maskBitInfoOnOffOutput4Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput4Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput4' field " + _maskBitInfoOnOffOutput4Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Overheat)
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput4)
- // Simple Field (Lampfailure)
- Lampfailure, _LampfailureErr := io.ReadBit()
- if _LampfailureErr != nil {
- return nil, errors.New("Error parsing 'Lampfailure' field " + _LampfailureErr.Error())
+ // Simple Field (maskBitInfoOnOffOutput3)
+ maskBitInfoOnOffOutput3, _maskBitInfoOnOffOutput3Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput3Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput3' field " + _maskBitInfoOnOffOutput3Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Lampfailure)
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput3)
- // Simple Field (Defectiveload)
- Defectiveload, _DefectiveloadErr := io.ReadBit()
- if _DefectiveloadErr != nil {
- return nil, errors.New("Error parsing 'Defectiveload' field " + _DefectiveloadErr.Error())
+ // Simple Field (maskBitInfoOnOffOutput2)
+ maskBitInfoOnOffOutput2, _maskBitInfoOnOffOutput2Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput2Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput2' field " + _maskBitInfoOnOffOutput2Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Defectiveload)
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput2)
- // Simple Field (Underload)
- Underload, _UnderloadErr := io.ReadBit()
- if _UnderloadErr != nil {
- return nil, errors.New("Error parsing 'Underload' field " + _UnderloadErr.Error())
+ // Simple Field (maskBitInfoOnOffOutput1)
+ maskBitInfoOnOffOutput1, _maskBitInfoOnOffOutput1Err := io.ReadBit()
+ if _maskBitInfoOnOffOutput1Err != nil {
+ return nil, errors.New("Error parsing 'maskBitInfoOnOffOutput1' field " + _maskBitInfoOnOffOutput1Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Underload)
+ _map["Struct"] = values.NewPlcBOOL(maskBitInfoOnOffOutput1)
- // Simple Field (Overcurrent)
- Overcurrent, _OvercurrentErr := io.ReadBit()
- if _OvercurrentErr != nil {
- return nil, errors.New("Error parsing 'Overcurrent' field " + _OvercurrentErr.Error())
+ // Simple Field (infoOnOffOutput16)
+ infoOnOffOutput16, _infoOnOffOutput16Err := io.ReadBit()
+ if _infoOnOffOutput16Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput16' field " + _infoOnOffOutput16Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Overcurrent)
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput16)
- // Simple Field (Undervoltage)
- Undervoltage, _UndervoltageErr := io.ReadBit()
- if _UndervoltageErr != nil {
- return nil, errors.New("Error parsing 'Undervoltage' field " + _UndervoltageErr.Error())
+ // Simple Field (infoOnOffOutput15)
+ infoOnOffOutput15, _infoOnOffOutput15Err := io.ReadBit()
+ if _infoOnOffOutput15Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput15' field " + _infoOnOffOutput15Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Undervoltage)
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput15)
- // Simple Field (Loaddetectionerror)
- Loaddetectionerror, _LoaddetectionerrorErr := io.ReadBit()
- if _LoaddetectionerrorErr != nil {
- return nil, errors.New("Error parsing 'Loaddetectionerror' field " + _LoaddetectionerrorErr.Error())
+ // Simple Field (infoOnOffOutput14)
+ infoOnOffOutput14, _infoOnOffOutput14Err := io.ReadBit()
+ if _infoOnOffOutput14Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput14' field " + _infoOnOffOutput14Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Loaddetectionerror)
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput14)
+
+ // Simple Field (infoOnOffOutput13)
+ infoOnOffOutput13, _infoOnOffOutput13Err := io.ReadBit()
+ if _infoOnOffOutput13Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput13' field " + _infoOnOffOutput13Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput13)
+
+ // Simple Field (infoOnOffOutput12)
+ infoOnOffOutput12, _infoOnOffOutput12Err := io.ReadBit()
+ if _infoOnOffOutput12Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput12' field " + _infoOnOffOutput12Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput12)
+
+ // Simple Field (infoOnOffOutput11)
+ infoOnOffOutput11, _infoOnOffOutput11Err := io.ReadBit()
+ if _infoOnOffOutput11Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput11' field " + _infoOnOffOutput11Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput11)
+
+ // Simple Field (infoOnOffOutput10)
+ infoOnOffOutput10, _infoOnOffOutput10Err := io.ReadBit()
+ if _infoOnOffOutput10Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput10' field " + _infoOnOffOutput10Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput10)
+
+ // Simple Field (infoOnOffOutput9)
+ infoOnOffOutput9, _infoOnOffOutput9Err := io.ReadBit()
+ if _infoOnOffOutput9Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput9' field " + _infoOnOffOutput9Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput9)
+
+ // Simple Field (infoOnOffOutput8)
+ infoOnOffOutput8, _infoOnOffOutput8Err := io.ReadBit()
+ if _infoOnOffOutput8Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput8' field " + _infoOnOffOutput8Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput8)
+
+ // Simple Field (infoOnOffOutput7)
+ infoOnOffOutput7, _infoOnOffOutput7Err := io.ReadBit()
+ if _infoOnOffOutput7Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput7' field " + _infoOnOffOutput7Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput7)
+
+ // Simple Field (infoOnOffOutput6)
+ infoOnOffOutput6, _infoOnOffOutput6Err := io.ReadBit()
+ if _infoOnOffOutput6Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput6' field " + _infoOnOffOutput6Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput6)
+
+ // Simple Field (infoOnOffOutput5)
+ infoOnOffOutput5, _infoOnOffOutput5Err := io.ReadBit()
+ if _infoOnOffOutput5Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput5' field " + _infoOnOffOutput5Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput5)
+
+ // Simple Field (infoOnOffOutput4)
+ infoOnOffOutput4, _infoOnOffOutput4Err := io.ReadBit()
+ if _infoOnOffOutput4Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput4' field " + _infoOnOffOutput4Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput4)
+
+ // Simple Field (infoOnOffOutput3)
+ infoOnOffOutput3, _infoOnOffOutput3Err := io.ReadBit()
+ if _infoOnOffOutput3Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput3' field " + _infoOnOffOutput3Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput3)
+
+ // Simple Field (infoOnOffOutput2)
+ infoOnOffOutput2, _infoOnOffOutput2Err := io.ReadBit()
+ if _infoOnOffOutput2Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput2' field " + _infoOnOffOutput2Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput2)
+
+ // Simple Field (infoOnOffOutput1)
+ infoOnOffOutput1, _infoOnOffOutput1Err := io.ReadBit()
+ if _infoOnOffOutput1Err != nil {
+ return nil, errors.New("Error parsing 'infoOnOffOutput1' field " + _infoOnOffOutput1Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(infoOnOffOutput1)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_RF_ModeInfo: // Struct
- _map := map[string]api.PlcValue{}
+ case datapointType == KnxDatapointType_DPT_ActiveEnergy_V64: // LINT
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(5); _err != nil {
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+
+ // 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 datapointType == KnxDatapointType_DPT_ApparantEnergy_V64: // LINT
+
+ // 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 (BibatSlave)
- BibatSlave, _BibatSlaveErr := io.ReadBit()
- if _BibatSlaveErr != nil {
- return nil, errors.New("Error parsing 'BibatSlave' field " + _BibatSlaveErr.Error())
+ // Simple Field (value)
+ value, _valueErr := io.ReadInt64(64)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(BibatSlave)
+ return values.NewPlcLINT(value), nil
+ case datapointType == KnxDatapointType_DPT_ReactiveEnergy_V64: // LINT
- // Simple Field (BibatMaster)
- BibatMaster, _BibatMasterErr := io.ReadBit()
- if _BibatMasterErr != nil {
- return nil, errors.New("Error parsing 'BibatMaster' field " + _BibatMasterErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(BibatMaster)
- // Simple Field (Asynchronous)
- Asynchronous, _AsynchronousErr := io.ReadBit()
- if _AsynchronousErr != nil {
- return nil, errors.New("Error parsing 'Asynchronous' field " + _AsynchronousErr.Error())
+ // Simple Field (value)
+ value, _valueErr := io.ReadInt64(64)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Asynchronous)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_RF_FilterInfo: // Struct
+ return values.NewPlcLINT(value), nil
+ case datapointType == KnxDatapointType_DPT_Channel_Activation_24: // Struct
_map := map[string]api.PlcValue{}
- // Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(5); _err != nil {
- return nil, errors.New("Error parsing reserved field " + _err.Error())
+ // 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 (activationStateOfChannel1)
+ activationStateOfChannel1, _activationStateOfChannel1Err := io.ReadBit()
+ if _activationStateOfChannel1Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel1' field " + _activationStateOfChannel1Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel1)
+
+ // Simple Field (activationStateOfChannel2)
+ activationStateOfChannel2, _activationStateOfChannel2Err := io.ReadBit()
+ if _activationStateOfChannel2Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel2' field " + _activationStateOfChannel2Err.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel2)
+
+ // Simple Field (activationStateOfChannel3)
+ activationStateOfChannel3, _activationStateOfChannel3Err := io.ReadBit()
+ if _activationStateOfChannel3Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel3' field " + _activationStateOfChannel3Err.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel3)
- // Simple Field (Doa)
- Doa, _DoaErr := io.ReadBit()
- if _DoaErr != nil {
- return nil, errors.New("Error parsing 'Doa' field " + _DoaErr.Error())
+ // Simple Field (activationStateOfChannel4)
+ activationStateOfChannel4, _activationStateOfChannel4Err := io.ReadBit()
+ if _activationStateOfChannel4Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel4' field " + _activationStateOfChannel4Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Doa)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel4)
- // Simple Field (KnxSn)
- KnxSn, _KnxSnErr := io.ReadBit()
- if _KnxSnErr != nil {
- return nil, errors.New("Error parsing 'KnxSn' field " + _KnxSnErr.Error())
+ // Simple Field (activationStateOfChannel5)
+ activationStateOfChannel5, _activationStateOfChannel5Err := io.ReadBit()
+ if _activationStateOfChannel5Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel5' field " + _activationStateOfChannel5Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(KnxSn)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel5)
- // Simple Field (DoaAndKnxSn)
- DoaAndKnxSn, _DoaAndKnxSnErr := io.ReadBit()
- if _DoaAndKnxSnErr != nil {
- return nil, errors.New("Error parsing 'DoaAndKnxSn' field " + _DoaAndKnxSnErr.Error())
+ // Simple Field (activationStateOfChannel6)
+ activationStateOfChannel6, _activationStateOfChannel6Err := io.ReadBit()
+ if _activationStateOfChannel6Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel6' field " + _activationStateOfChannel6Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(DoaAndKnxSn)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Channel_Activation_8: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel6)
- // 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 (activationStateOfChannel7)
+ activationStateOfChannel7, _activationStateOfChannel7Err := io.ReadBit()
+ if _activationStateOfChannel7Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel7' field " + _activationStateOfChannel7Err.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel7)
- // Simple Field (ActivationStateOfChannel1)
- ActivationStateOfChannel1, _ActivationStateOfChannel1Err := io.ReadBit()
- if _ActivationStateOfChannel1Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel1' field " + _ActivationStateOfChannel1Err.Error())
+ // Simple Field (activationStateOfChannel8)
+ activationStateOfChannel8, _activationStateOfChannel8Err := io.ReadBit()
+ if _activationStateOfChannel8Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel8' field " + _activationStateOfChannel8Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel1)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel8)
- // Simple Field (ActivationStateOfChannel2)
- ActivationStateOfChannel2, _ActivationStateOfChannel2Err := io.ReadBit()
- if _ActivationStateOfChannel2Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel2' field " + _ActivationStateOfChannel2Err.Error())
+ // Simple Field (activationStateOfChannel9)
+ activationStateOfChannel9, _activationStateOfChannel9Err := io.ReadBit()
+ if _activationStateOfChannel9Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel9' field " + _activationStateOfChannel9Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel2)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel9)
- // Simple Field (ActivationStateOfChannel3)
- ActivationStateOfChannel3, _ActivationStateOfChannel3Err := io.ReadBit()
- if _ActivationStateOfChannel3Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel3' field " + _ActivationStateOfChannel3Err.Error())
+ // Simple Field (activationStateOfChannel10)
+ activationStateOfChannel10, _activationStateOfChannel10Err := io.ReadBit()
+ if _activationStateOfChannel10Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel10' field " + _activationStateOfChannel10Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel3)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel10)
- // Simple Field (ActivationStateOfChannel4)
- ActivationStateOfChannel4, _ActivationStateOfChannel4Err := io.ReadBit()
- if _ActivationStateOfChannel4Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel4' field " + _ActivationStateOfChannel4Err.Error())
+ // Simple Field (activationStateOfChannel11)
+ activationStateOfChannel11, _activationStateOfChannel11Err := io.ReadBit()
+ if _activationStateOfChannel11Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel11' field " + _activationStateOfChannel11Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel4)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel11)
- // Simple Field (ActivationStateOfChannel5)
- ActivationStateOfChannel5, _ActivationStateOfChannel5Err := io.ReadBit()
- if _ActivationStateOfChannel5Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel5' field " + _ActivationStateOfChannel5Err.Error())
+ // Simple Field (activationStateOfChannel12)
+ activationStateOfChannel12, _activationStateOfChannel12Err := io.ReadBit()
+ if _activationStateOfChannel12Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel12' field " + _activationStateOfChannel12Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel5)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel12)
- // Simple Field (ActivationStateOfChannel6)
- ActivationStateOfChannel6, _ActivationStateOfChannel6Err := io.ReadBit()
- if _ActivationStateOfChannel6Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel6' field " + _ActivationStateOfChannel6Err.Error())
+ // Simple Field (activationStateOfChannel13)
+ activationStateOfChannel13, _activationStateOfChannel13Err := io.ReadBit()
+ if _activationStateOfChannel13Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel13' field " + _activationStateOfChannel13Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel6)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel13)
- // Simple Field (ActivationStateOfChannel7)
- ActivationStateOfChannel7, _ActivationStateOfChannel7Err := io.ReadBit()
- if _ActivationStateOfChannel7Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel7' field " + _ActivationStateOfChannel7Err.Error())
+ // Simple Field (activationStateOfChannel14)
+ activationStateOfChannel14, _activationStateOfChannel14Err := io.ReadBit()
+ if _activationStateOfChannel14Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel14' field " + _activationStateOfChannel14Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel7)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel14)
- // Simple Field (ActivationStateOfChannel8)
- ActivationStateOfChannel8, _ActivationStateOfChannel8Err := io.ReadBit()
- if _ActivationStateOfChannel8Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel8' field " + _ActivationStateOfChannel8Err.Error())
+ // Simple Field (activationStateOfChannel15)
+ activationStateOfChannel15, _activationStateOfChannel15Err := io.ReadBit()
+ if _activationStateOfChannel15Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel15' field " + _activationStateOfChannel15Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel8)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_StatusDHWC: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel15)
- // 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 (activationStateOfChannel16)
+ activationStateOfChannel16, _activationStateOfChannel16Err := io.ReadBit()
+ if _activationStateOfChannel16Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel16' field " + _activationStateOfChannel16Err.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel16)
- // Simple Field (Tempoptimshiftactive)
- Tempoptimshiftactive, _TempoptimshiftactiveErr := io.ReadBit()
- if _TempoptimshiftactiveErr != nil {
- return nil, errors.New("Error parsing 'Tempoptimshiftactive' field " + _TempoptimshiftactiveErr.Error())
+ // Simple Field (activationStateOfChannel17)
+ activationStateOfChannel17, _activationStateOfChannel17Err := io.ReadBit()
+ if _activationStateOfChannel17Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel17' field " + _activationStateOfChannel17Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tempoptimshiftactive)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel17)
- // Simple Field (Solarenergysupport)
- Solarenergysupport, _SolarenergysupportErr := io.ReadBit()
- if _SolarenergysupportErr != nil {
- return nil, errors.New("Error parsing 'Solarenergysupport' field " + _SolarenergysupportErr.Error())
+ // Simple Field (activationStateOfChannel18)
+ activationStateOfChannel18, _activationStateOfChannel18Err := io.ReadBit()
+ if _activationStateOfChannel18Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel18' field " + _activationStateOfChannel18Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Solarenergysupport)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel18)
- // Simple Field (Solarenergyonly)
- Solarenergyonly, _SolarenergyonlyErr := io.ReadBit()
- if _SolarenergyonlyErr != nil {
- return nil, errors.New("Error parsing 'Solarenergyonly' field " + _SolarenergyonlyErr.Error())
+ // Simple Field (activationStateOfChannel19)
+ activationStateOfChannel19, _activationStateOfChannel19Err := io.ReadBit()
+ if _activationStateOfChannel19Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel19' field " + _activationStateOfChannel19Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Solarenergyonly)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel19)
- // Simple Field (Otherenergysourceactive)
- Otherenergysourceactive, _OtherenergysourceactiveErr := io.ReadBit()
- if _OtherenergysourceactiveErr != nil {
- return nil, errors.New("Error parsing 'Otherenergysourceactive' field " + _OtherenergysourceactiveErr.Error())
+ // Simple Field (activationStateOfChannel20)
+ activationStateOfChannel20, _activationStateOfChannel20Err := io.ReadBit()
+ if _activationStateOfChannel20Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel20' field " + _activationStateOfChannel20Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Otherenergysourceactive)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel20)
- // Simple Field (Dhwpushactive)
- Dhwpushactive, _DhwpushactiveErr := io.ReadBit()
- if _DhwpushactiveErr != nil {
- return nil, errors.New("Error parsing 'Dhwpushactive' field " + _DhwpushactiveErr.Error())
+ // Simple Field (activationStateOfChannel21)
+ activationStateOfChannel21, _activationStateOfChannel21Err := io.ReadBit()
+ if _activationStateOfChannel21Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel21' field " + _activationStateOfChannel21Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Dhwpushactive)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel21)
- // Simple Field (Legioprotactive)
- Legioprotactive, _LegioprotactiveErr := io.ReadBit()
- if _LegioprotactiveErr != nil {
- return nil, errors.New("Error parsing 'Legioprotactive' field " + _LegioprotactiveErr.Error())
+ // Simple Field (activationStateOfChannel22)
+ activationStateOfChannel22, _activationStateOfChannel22Err := io.ReadBit()
+ if _activationStateOfChannel22Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel22' field " + _activationStateOfChannel22Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Legioprotactive)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel22)
- // Simple Field (Dhwloadactive)
- Dhwloadactive, _DhwloadactiveErr := io.ReadBit()
- if _DhwloadactiveErr != nil {
- return nil, errors.New("Error parsing 'Dhwloadactive' field " + _DhwloadactiveErr.Error())
+ // Simple Field (activationStateOfChannel23)
+ activationStateOfChannel23, _activationStateOfChannel23Err := io.ReadBit()
+ if _activationStateOfChannel23Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel23' field " + _activationStateOfChannel23Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Dhwloadactive)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel23)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Simple Field (activationStateOfChannel24)
+ activationStateOfChannel24, _activationStateOfChannel24Err := io.ReadBit()
+ if _activationStateOfChannel24Err != nil {
+ return nil, errors.New("Error parsing 'activationStateOfChannel24' field " + _activationStateOfChannel24Err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
+ _map["Struct"] = values.NewPlcBOOL(activationStateOfChannel24)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_StatusRHCC: // Struct
+ case datapointType == KnxDatapointType_DPT_HVACModeNext: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -3763,305 +5409,291 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.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 (Overheatalarm)
- Overheatalarm, _OverheatalarmErr := io.ReadBit()
- if _OverheatalarmErr != nil {
- return nil, errors.New("Error parsing 'Overheatalarm' field " + _OverheatalarmErr.Error())
+ // Simple Field (delayTimeMin)
+ delayTimeMin, _delayTimeMinErr := io.ReadUint16(16)
+ if _delayTimeMinErr != nil {
+ return nil, errors.New("Error parsing 'delayTimeMin' field " + _delayTimeMinErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Overheatalarm)
+ _map["Struct"] = values.NewPlcUINT(delayTimeMin)
- // Simple Field (Frostalarm)
- Frostalarm, _FrostalarmErr := io.ReadBit()
- if _FrostalarmErr != nil {
- return nil, errors.New("Error parsing 'Frostalarm' field " + _FrostalarmErr.Error())
+ // Simple Field (hvacMode)
+ hvacMode, _hvacModeErr := io.ReadUint8(8)
+ if _hvacModeErr != nil {
+ return nil, errors.New("Error parsing 'hvacMode' field " + _hvacModeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Frostalarm)
+ _map["Struct"] = values.NewPlcUSINT(hvacMode)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_DHWModeNext: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (Dewpointstatus)
- Dewpointstatus, _DewpointstatusErr := io.ReadBit()
- if _DewpointstatusErr != nil {
- return nil, errors.New("Error parsing 'Dewpointstatus' field " + _DewpointstatusErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Dewpointstatus)
- // Simple Field (Coolingdisabled)
- Coolingdisabled, _CoolingdisabledErr := io.ReadBit()
- if _CoolingdisabledErr != nil {
- return nil, errors.New("Error parsing 'Coolingdisabled' field " + _CoolingdisabledErr.Error())
+ // Simple Field (delayTimeMin)
+ delayTimeMin, _delayTimeMinErr := io.ReadUint16(16)
+ if _delayTimeMinErr != nil {
+ return nil, errors.New("Error parsing 'delayTimeMin' field " + _delayTimeMinErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Coolingdisabled)
+ _map["Struct"] = values.NewPlcUINT(delayTimeMin)
- // Simple Field (Statusprecool)
- Statusprecool, _StatusprecoolErr := io.ReadBit()
- if _StatusprecoolErr != nil {
- return nil, errors.New("Error parsing 'Statusprecool' field " + _StatusprecoolErr.Error())
+ // Simple Field (dhwMode)
+ dhwMode, _dhwModeErr := io.ReadUint8(8)
+ if _dhwModeErr != nil {
+ return nil, errors.New("Error parsing 'dhwMode' field " + _dhwModeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusprecool)
+ _map["Struct"] = values.NewPlcUSINT(dhwMode)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_OccModeNext: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (Statusecoc)
- Statusecoc, _StatusecocErr := io.ReadBit()
- if _StatusecocErr != nil {
- return nil, errors.New("Error parsing 'Statusecoc' field " + _StatusecocErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusecoc)
- // Simple Field (Heatcoolmode)
- Heatcoolmode, _HeatcoolmodeErr := io.ReadBit()
- if _HeatcoolmodeErr != nil {
- return nil, errors.New("Error parsing 'Heatcoolmode' field " + _HeatcoolmodeErr.Error())
+ // Simple Field (delayTimeMin)
+ delayTimeMin, _delayTimeMinErr := io.ReadUint16(16)
+ if _delayTimeMinErr != nil {
+ return nil, errors.New("Error parsing 'delayTimeMin' field " + _delayTimeMinErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Heatcoolmode)
+ _map["Struct"] = values.NewPlcUINT(delayTimeMin)
- // Simple Field (Heatingdiabled)
- Heatingdiabled, _HeatingdiabledErr := io.ReadBit()
- if _HeatingdiabledErr != nil {
- return nil, errors.New("Error parsing 'Heatingdiabled' field " + _HeatingdiabledErr.Error())
+ // Simple Field (occupancyMode)
+ occupancyMode, _occupancyModeErr := io.ReadUint8(8)
+ if _occupancyModeErr != nil {
+ return nil, errors.New("Error parsing 'occupancyMode' field " + _occupancyModeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Heatingdiabled)
+ _map["Struct"] = values.NewPlcUSINT(occupancyMode)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_BuildingModeNext: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (Statusstopoptim)
- Statusstopoptim, _StatusstopoptimErr := io.ReadBit()
- if _StatusstopoptimErr != nil {
- return nil, errors.New("Error parsing 'Statusstopoptim' field " + _StatusstopoptimErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusstopoptim)
- // Simple Field (Statusstartoptim)
- Statusstartoptim, _StatusstartoptimErr := io.ReadBit()
- if _StatusstartoptimErr != nil {
- return nil, errors.New("Error parsing 'Statusstartoptim' field " + _StatusstartoptimErr.Error())
+ // Simple Field (delayTimeMin)
+ delayTimeMin, _delayTimeMinErr := io.ReadUint16(16)
+ if _delayTimeMinErr != nil {
+ return nil, errors.New("Error parsing 'delayTimeMin' field " + _delayTimeMinErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusstartoptim)
+ _map["Struct"] = values.NewPlcUINT(delayTimeMin)
- // Simple Field (Statusmorningboosth)
- Statusmorningboosth, _StatusmorningboosthErr := io.ReadBit()
- if _StatusmorningboosthErr != nil {
- return nil, errors.New("Error parsing 'Statusmorningboosth' field " + _StatusmorningboosthErr.Error())
+ // Simple Field (buildingMode)
+ buildingMode, _buildingModeErr := io.ReadUint8(8)
+ if _buildingModeErr != nil {
+ return nil, errors.New("Error parsing 'buildingMode' field " + _buildingModeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusmorningboosth)
+ _map["Struct"] = values.NewPlcUSINT(buildingMode)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Version: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (Tempflowreturnlimit)
- Tempflowreturnlimit, _TempflowreturnlimitErr := io.ReadBit()
- if _TempflowreturnlimitErr != nil {
- return nil, errors.New("Error parsing 'Tempflowreturnlimit' field " + _TempflowreturnlimitErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tempflowreturnlimit)
- // Simple Field (Tempflowlimit)
- Tempflowlimit, _TempflowlimitErr := io.ReadBit()
- if _TempflowlimitErr != nil {
- return nil, errors.New("Error parsing 'Tempflowlimit' field " + _TempflowlimitErr.Error())
+ // Simple Field (magicNumber)
+ magicNumber, _magicNumberErr := io.ReadUint8(5)
+ if _magicNumberErr != nil {
+ return nil, errors.New("Error parsing 'magicNumber' field " + _magicNumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tempflowlimit)
+ _map["Struct"] = values.NewPlcUSINT(magicNumber)
- // Simple Field (Statusecoh)
- Statusecoh, _StatusecohErr := io.ReadBit()
- if _StatusecohErr != nil {
- return nil, errors.New("Error parsing 'Statusecoh' field " + _StatusecohErr.Error())
+ // Simple Field (versionNumber)
+ versionNumber, _versionNumberErr := io.ReadUint8(5)
+ if _versionNumberErr != nil {
+ return nil, errors.New("Error parsing 'versionNumber' field " + _versionNumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Statusecoh)
+ _map["Struct"] = values.NewPlcUSINT(versionNumber)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Simple Field (revisionNumber)
+ revisionNumber, _revisionNumberErr := io.ReadUint8(6)
+ if _revisionNumberErr != nil {
+ return nil, errors.New("Error parsing 'revisionNumber' field " + _revisionNumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
+ _map["Struct"] = values.NewPlcUSINT(revisionNumber)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_CombinedStatus_HVA: // Struct
+ case datapointType == KnxDatapointType_DPT_AlarmInfo: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(7); _err != nil {
+ if _, _err := io.ReadUint8(8); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (CalibrationMode)
- CalibrationMode, _CalibrationModeErr := io.ReadBit()
- if _CalibrationModeErr != nil {
- return nil, errors.New("Error parsing 'CalibrationMode' field " + _CalibrationModeErr.Error())
+ // Simple Field (logNumber)
+ logNumber, _logNumberErr := io.ReadUint8(8)
+ if _logNumberErr != nil {
+ return nil, errors.New("Error parsing 'logNumber' field " + _logNumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(CalibrationMode)
+ _map["Struct"] = values.NewPlcUSINT(logNumber)
- // Simple Field (LockedPosition)
- LockedPosition, _LockedPositionErr := io.ReadBit()
- if _LockedPositionErr != nil {
- return nil, errors.New("Error parsing 'LockedPosition' field " + _LockedPositionErr.Error())
+ // Simple Field (alarmPriority)
+ alarmPriority, _alarmPriorityErr := io.ReadUint8(8)
+ if _alarmPriorityErr != nil {
+ return nil, errors.New("Error parsing 'alarmPriority' field " + _alarmPriorityErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(LockedPosition)
+ _map["Struct"] = values.NewPlcUSINT(alarmPriority)
- // Simple Field (ForcedPosition)
- ForcedPosition, _ForcedPositionErr := io.ReadBit()
- if _ForcedPositionErr != nil {
- return nil, errors.New("Error parsing 'ForcedPosition' field " + _ForcedPositionErr.Error())
+ // Simple Field (applicationArea)
+ applicationArea, _applicationAreaErr := io.ReadUint8(8)
+ if _applicationAreaErr != nil {
+ return nil, errors.New("Error parsing 'applicationArea' field " + _applicationAreaErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ForcedPosition)
+ _map["Struct"] = values.NewPlcUSINT(applicationArea)
- // Simple Field (ManuaOperationOverridden)
- ManuaOperationOverridden, _ManuaOperationOverriddenErr := io.ReadBit()
- if _ManuaOperationOverriddenErr != nil {
- return nil, errors.New("Error parsing 'ManuaOperationOverridden' field " + _ManuaOperationOverriddenErr.Error())
+ // Simple Field (errorClass)
+ errorClass, _errorClassErr := io.ReadUint8(8)
+ if _errorClassErr != nil {
+ return nil, errors.New("Error parsing 'errorClass' field " + _errorClassErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ManuaOperationOverridden)
+ _map["Struct"] = values.NewPlcUSINT(errorClass)
- // Simple Field (ServiceMode)
- ServiceMode, _ServiceModeErr := io.ReadBit()
- if _ServiceModeErr != nil {
- return nil, errors.New("Error parsing 'ServiceMode' field " + _ServiceModeErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ServiceMode)
- // Simple Field (ValveKick)
- ValveKick, _ValveKickErr := io.ReadBit()
- if _ValveKickErr != nil {
- return nil, errors.New("Error parsing 'ValveKick' field " + _ValveKickErr.Error())
+ // Simple Field (errorcodeSup)
+ errorcodeSup, _errorcodeSupErr := io.ReadBit()
+ if _errorcodeSupErr != nil {
+ return nil, errors.New("Error parsing 'errorcodeSup' field " + _errorcodeSupErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ValveKick)
+ _map["Struct"] = values.NewPlcBOOL(errorcodeSup)
- // Simple Field (Overload)
- Overload, _OverloadErr := io.ReadBit()
- if _OverloadErr != nil {
- return nil, errors.New("Error parsing 'Overload' field " + _OverloadErr.Error())
+ // Simple Field (alarmtextSup)
+ alarmtextSup, _alarmtextSupErr := io.ReadBit()
+ if _alarmtextSupErr != nil {
+ return nil, errors.New("Error parsing 'alarmtextSup' field " + _alarmtextSupErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Overload)
+ _map["Struct"] = values.NewPlcBOOL(alarmtextSup)
- // Simple Field (ShortCircuit)
- ShortCircuit, _ShortCircuitErr := io.ReadBit()
- if _ShortCircuitErr != nil {
- return nil, errors.New("Error parsing 'ShortCircuit' field " + _ShortCircuitErr.Error())
+ // Simple Field (timestampSup)
+ timestampSup, _timestampSupErr := io.ReadBit()
+ if _timestampSupErr != nil {
+ return nil, errors.New("Error parsing 'timestampSup' field " + _timestampSupErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ShortCircuit)
+ _map["Struct"] = values.NewPlcBOOL(timestampSup)
- // Simple Field (CurrentValvePosition)
- CurrentValvePosition, _CurrentValvePositionErr := io.ReadBit()
- if _CurrentValvePositionErr != nil {
- return nil, errors.New("Error parsing 'CurrentValvePosition' field " + _CurrentValvePositionErr.Error())
+ // Simple Field (ackSup)
+ ackSup, _ackSupErr := io.ReadBit()
+ if _ackSupErr != nil {
+ return nil, errors.New("Error parsing 'ackSup' field " + _ackSupErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(CurrentValvePosition)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_CombinedStatus_RTC: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(ackSup)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(7); _err != nil {
+ if _, _err := io.ReadUint8(5); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (CoolingModeEnabled)
- CoolingModeEnabled, _CoolingModeEnabledErr := io.ReadBit()
- if _CoolingModeEnabledErr != nil {
- return nil, errors.New("Error parsing 'CoolingModeEnabled' field " + _CoolingModeEnabledErr.Error())
- }
- _map["Struct"] = values.NewPlcBOOL(CoolingModeEnabled)
-
- // Simple Field (HeatingModeEnabled)
- HeatingModeEnabled, _HeatingModeEnabledErr := io.ReadBit()
- if _HeatingModeEnabledErr != nil {
- return nil, errors.New("Error parsing 'HeatingModeEnabled' field " + _HeatingModeEnabledErr.Error())
- }
- _map["Struct"] = values.NewPlcBOOL(HeatingModeEnabled)
-
- // Simple Field (AdditionalHeatingCoolingStage2Stage)
- AdditionalHeatingCoolingStage2Stage, _AdditionalHeatingCoolingStage2StageErr := io.ReadBit()
- if _AdditionalHeatingCoolingStage2StageErr != nil {
- return nil, errors.New("Error parsing 'AdditionalHeatingCoolingStage2Stage' field " + _AdditionalHeatingCoolingStage2StageErr.Error())
+ // Simple Field (locked)
+ locked, _lockedErr := io.ReadBit()
+ if _lockedErr != nil {
+ return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(AdditionalHeatingCoolingStage2Stage)
+ _map["Struct"] = values.NewPlcBOOL(locked)
- // Simple Field (ControllerInactive)
- ControllerInactive, _ControllerInactiveErr := io.ReadBit()
- if _ControllerInactiveErr != nil {
- return nil, errors.New("Error parsing 'ControllerInactive' field " + _ControllerInactiveErr.Error())
+ // Simple Field (alarmunack)
+ alarmunack, _alarmunackErr := io.ReadBit()
+ if _alarmunackErr != nil {
+ return nil, errors.New("Error parsing 'alarmunack' field " + _alarmunackErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ControllerInactive)
+ _map["Struct"] = values.NewPlcBOOL(alarmunack)
- // Simple Field (OverheatAlarm)
- OverheatAlarm, _OverheatAlarmErr := io.ReadBit()
- if _OverheatAlarmErr != nil {
- return nil, errors.New("Error parsing 'OverheatAlarm' field " + _OverheatAlarmErr.Error())
+ // Simple Field (inalarm)
+ inalarm, _inalarmErr := io.ReadBit()
+ if _inalarmErr != nil {
+ return nil, errors.New("Error parsing 'inalarm' field " + _inalarmErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(OverheatAlarm)
+ _map["Struct"] = values.NewPlcBOOL(inalarm)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_TempRoomSetpSetF16_3: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (FrostAlarm)
- FrostAlarm, _FrostAlarmErr := io.ReadBit()
- if _FrostAlarmErr != nil {
- return nil, errors.New("Error parsing 'FrostAlarm' field " + _FrostAlarmErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(FrostAlarm)
- // Simple Field (DewPointStatus)
- DewPointStatus, _DewPointStatusErr := io.ReadBit()
- if _DewPointStatusErr != nil {
- return nil, errors.New("Error parsing 'DewPointStatus' field " + _DewPointStatusErr.Error())
+ // Simple Field (tempsetpcomf)
+ tempsetpcomf, _tempsetpcomfErr := io.ReadFloat32(true, 4, 11)
+ if _tempsetpcomfErr != nil {
+ return nil, errors.New("Error parsing 'tempsetpcomf' field " + _tempsetpcomfErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(DewPointStatus)
+ _map["Struct"] = values.NewPlcREAL(tempsetpcomf)
- // Simple Field (ActiveMode)
- ActiveMode, _ActiveModeErr := io.ReadBit()
- if _ActiveModeErr != nil {
- return nil, errors.New("Error parsing 'ActiveMode' field " + _ActiveModeErr.Error())
+ // Simple Field (tempsetpstdby)
+ tempsetpstdby, _tempsetpstdbyErr := io.ReadFloat32(true, 4, 11)
+ if _tempsetpstdbyErr != nil {
+ return nil, errors.New("Error parsing 'tempsetpstdby' field " + _tempsetpstdbyErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActiveMode)
+ _map["Struct"] = values.NewPlcREAL(tempsetpstdby)
- // Simple Field (GeneralFailureInformation)
- GeneralFailureInformation, _GeneralFailureInformationErr := io.ReadBit()
- if _GeneralFailureInformationErr != nil {
- return nil, errors.New("Error parsing 'GeneralFailureInformation' field " + _GeneralFailureInformationErr.Error())
+ // Simple Field (tempsetpeco)
+ tempsetpeco, _tempsetpecoErr := io.ReadFloat32(true, 4, 11)
+ if _tempsetpecoErr != nil {
+ return nil, errors.New("Error parsing 'tempsetpeco' field " + _tempsetpecoErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(GeneralFailureInformation)
+ _map["Struct"] = values.NewPlcREAL(tempsetpeco)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Media: // Struct
+ case datapointType == KnxDatapointType_DPT_TempRoomSetpSetShiftF16_3: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint16(10); _err != nil {
+ if _, _err := io.ReadUint8(8); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (KnxIp)
- KnxIp, _KnxIpErr := io.ReadBit()
- if _KnxIpErr != nil {
- return nil, errors.New("Error parsing 'KnxIp' field " + _KnxIpErr.Error())
+ // Simple Field (tempsetpshiftcomf)
+ tempsetpshiftcomf, _tempsetpshiftcomfErr := io.ReadFloat32(true, 4, 11)
+ if _tempsetpshiftcomfErr != nil {
+ return nil, errors.New("Error parsing 'tempsetpshiftcomf' field " + _tempsetpshiftcomfErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(KnxIp)
+ _map["Struct"] = values.NewPlcREAL(tempsetpshiftcomf)
- // Simple Field (Rf)
- Rf, _RfErr := io.ReadBit()
- if _RfErr != nil {
- return nil, errors.New("Error parsing 'Rf' field " + _RfErr.Error())
+ // Simple Field (tempsetpshiftstdby)
+ tempsetpshiftstdby, _tempsetpshiftstdbyErr := io.ReadFloat32(true, 4, 11)
+ if _tempsetpshiftstdbyErr != nil {
+ return nil, errors.New("Error parsing 'tempsetpshiftstdby' field " + _tempsetpshiftstdbyErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Rf)
+ _map["Struct"] = values.NewPlcREAL(tempsetpshiftstdby)
- // 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 (tempsetpshifteco)
+ tempsetpshifteco, _tempsetpshiftecoErr := io.ReadFloat32(true, 4, 11)
+ if _tempsetpshiftecoErr != nil {
+ return nil, errors.New("Error parsing 'tempsetpshifteco' field " + _tempsetpshiftecoErr.Error())
}
+ _map["Struct"] = values.NewPlcREAL(tempsetpshifteco)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Scaling_Speed: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (Pl110)
- Pl110, _Pl110Err := io.ReadBit()
- if _Pl110Err != nil {
- return nil, errors.New("Error parsing 'Pl110' field " + _Pl110Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Pl110)
- // Simple Field (Tp1)
- Tp1, _Tp1Err := io.ReadBit()
- if _Tp1Err != nil {
- return nil, errors.New("Error parsing 'Tp1' field " + _Tp1Err.Error())
+ // Simple Field (timePeriod)
+ timePeriod, _timePeriodErr := io.ReadUint16(16)
+ if _timePeriodErr != nil {
+ return nil, errors.New("Error parsing 'timePeriod' field " + _timePeriodErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tp1)
+ _map["Struct"] = values.NewPlcUINT(timePeriod)
- // 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 (percent)
+ percent, _percentErr := io.ReadUint8(8)
+ if _percentErr != nil {
+ return nil, errors.New("Error parsing 'percent' field " + _percentErr.Error())
}
+ _map["Struct"] = values.NewPlcUSINT(percent)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Channel_Activation_16: // Struct
+ case datapointType == KnxDatapointType_DPT_Scaling_Step_Time: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4069,123 +5701,119 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (ActivationStateOfChannel1)
- ActivationStateOfChannel1, _ActivationStateOfChannel1Err := io.ReadBit()
- if _ActivationStateOfChannel1Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel1' field " + _ActivationStateOfChannel1Err.Error())
+ // Simple Field (timePeriod)
+ timePeriod, _timePeriodErr := io.ReadUint16(16)
+ if _timePeriodErr != nil {
+ return nil, errors.New("Error parsing 'timePeriod' field " + _timePeriodErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel1)
+ _map["Struct"] = values.NewPlcUINT(timePeriod)
- // Simple Field (ActivationStateOfChannel2)
- ActivationStateOfChannel2, _ActivationStateOfChannel2Err := io.ReadBit()
- if _ActivationStateOfChannel2Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel2' field " + _ActivationStateOfChannel2Err.Error())
+ // Simple Field (percent)
+ percent, _percentErr := io.ReadUint8(8)
+ if _percentErr != nil {
+ return nil, errors.New("Error parsing 'percent' field " + _percentErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel2)
+ _map["Struct"] = values.NewPlcUSINT(percent)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_MeteringValue: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (ActivationStateOfChannel3)
- ActivationStateOfChannel3, _ActivationStateOfChannel3Err := io.ReadBit()
- if _ActivationStateOfChannel3Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel3' field " + _ActivationStateOfChannel3Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel3)
- // Simple Field (ActivationStateOfChannel4)
- ActivationStateOfChannel4, _ActivationStateOfChannel4Err := io.ReadBit()
- if _ActivationStateOfChannel4Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel4' field " + _ActivationStateOfChannel4Err.Error())
+ // Simple Field (countval)
+ countval, _countvalErr := io.ReadInt32(32)
+ if _countvalErr != nil {
+ return nil, errors.New("Error parsing 'countval' field " + _countvalErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel4)
+ _map["Struct"] = values.NewPlcDINT(countval)
- // Simple Field (ActivationStateOfChannel5)
- ActivationStateOfChannel5, _ActivationStateOfChannel5Err := io.ReadBit()
- if _ActivationStateOfChannel5Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel5' field " + _ActivationStateOfChannel5Err.Error())
+ // Simple Field (valinffield)
+ valinffield, _valinffieldErr := io.ReadUint8(8)
+ if _valinffieldErr != nil {
+ return nil, errors.New("Error parsing 'valinffield' field " + _valinffieldErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel5)
+ _map["Struct"] = values.NewPlcUSINT(valinffield)
- // Simple Field (ActivationStateOfChannel6)
- ActivationStateOfChannel6, _ActivationStateOfChannel6Err := io.ReadBit()
- if _ActivationStateOfChannel6Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel6' field " + _ActivationStateOfChannel6Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(3); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel6)
- // Simple Field (ActivationStateOfChannel7)
- ActivationStateOfChannel7, _ActivationStateOfChannel7Err := io.ReadBit()
- if _ActivationStateOfChannel7Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel7' field " + _ActivationStateOfChannel7Err.Error())
+ // Simple Field (alarmunack)
+ alarmunack, _alarmunackErr := io.ReadBit()
+ if _alarmunackErr != nil {
+ return nil, errors.New("Error parsing 'alarmunack' field " + _alarmunackErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel7)
+ _map["Struct"] = values.NewPlcBOOL(alarmunack)
- // Simple Field (ActivationStateOfChannel8)
- ActivationStateOfChannel8, _ActivationStateOfChannel8Err := io.ReadBit()
- if _ActivationStateOfChannel8Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel8' field " + _ActivationStateOfChannel8Err.Error())
+ // Simple Field (inalarm)
+ inalarm, _inalarmErr := io.ReadBit()
+ if _inalarmErr != nil {
+ return nil, errors.New("Error parsing 'inalarm' field " + _inalarmErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel8)
+ _map["Struct"] = values.NewPlcBOOL(inalarm)
- // Simple Field (ActivationStateOfChannel9)
- ActivationStateOfChannel9, _ActivationStateOfChannel9Err := io.ReadBit()
- if _ActivationStateOfChannel9Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel9' field " + _ActivationStateOfChannel9Err.Error())
+ // Simple Field (overridden)
+ overridden, _overriddenErr := io.ReadBit()
+ if _overriddenErr != nil {
+ return nil, errors.New("Error parsing 'overridden' field " + _overriddenErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel9)
+ _map["Struct"] = values.NewPlcBOOL(overridden)
- // Simple Field (ActivationStateOfChannel10)
- ActivationStateOfChannel10, _ActivationStateOfChannel10Err := io.ReadBit()
- if _ActivationStateOfChannel10Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel10' field " + _ActivationStateOfChannel10Err.Error())
+ // Simple Field (fault)
+ fault, _faultErr := io.ReadBit()
+ if _faultErr != nil {
+ return nil, errors.New("Error parsing 'fault' field " + _faultErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel10)
+ _map["Struct"] = values.NewPlcBOOL(fault)
- // Simple Field (ActivationStateOfChannel11)
- ActivationStateOfChannel11, _ActivationStateOfChannel11Err := io.ReadBit()
- if _ActivationStateOfChannel11Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel11' field " + _ActivationStateOfChannel11Err.Error())
+ // Simple Field (outofservice)
+ outofservice, _outofserviceErr := io.ReadBit()
+ if _outofserviceErr != nil {
+ return nil, errors.New("Error parsing 'outofservice' field " + _outofserviceErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel11)
+ _map["Struct"] = values.NewPlcBOOL(outofservice)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_MBus_Address: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (ActivationStateOfChannel12)
- ActivationStateOfChannel12, _ActivationStateOfChannel12Err := io.ReadBit()
- if _ActivationStateOfChannel12Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel12' field " + _ActivationStateOfChannel12Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel12)
- // Simple Field (ActivationStateOfChannel13)
- ActivationStateOfChannel13, _ActivationStateOfChannel13Err := io.ReadBit()
- if _ActivationStateOfChannel13Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel13' field " + _ActivationStateOfChannel13Err.Error())
+ // Simple Field (manufactid)
+ manufactid, _manufactidErr := io.ReadUint16(16)
+ if _manufactidErr != nil {
+ return nil, errors.New("Error parsing 'manufactid' field " + _manufactidErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel13)
+ _map["Struct"] = values.NewPlcUINT(manufactid)
- // Simple Field (ActivationStateOfChannel14)
- ActivationStateOfChannel14, _ActivationStateOfChannel14Err := io.ReadBit()
- if _ActivationStateOfChannel14Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel14' field " + _ActivationStateOfChannel14Err.Error())
+ // Simple Field (identnumber)
+ identnumber, _identnumberErr := io.ReadUint32(32)
+ if _identnumberErr != nil {
+ return nil, errors.New("Error parsing 'identnumber' field " + _identnumberErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel14)
+ _map["Struct"] = values.NewPlcUDINT(identnumber)
- // Simple Field (ActivationStateOfChannel15)
- ActivationStateOfChannel15, _ActivationStateOfChannel15Err := io.ReadBit()
- if _ActivationStateOfChannel15Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel15' field " + _ActivationStateOfChannel15Err.Error())
+ // Simple Field (version)
+ version, _versionErr := io.ReadUint8(8)
+ if _versionErr != nil {
+ return nil, errors.New("Error parsing 'version' field " + _versionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel15)
+ _map["Struct"] = values.NewPlcUSINT(version)
- // Simple Field (ActivationStateOfChannel16)
- ActivationStateOfChannel16, _ActivationStateOfChannel16Err := io.ReadBit()
- if _ActivationStateOfChannel16Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel16' field " + _ActivationStateOfChannel16Err.Error())
+ // Simple Field (medium)
+ medium, _mediumErr := io.ReadUint8(8)
+ if _mediumErr != nil {
+ return nil, errors.New("Error parsing 'medium' field " + _mediumErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel16)
+ _map["Struct"] = values.NewPlcUSINT(medium)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_OnOffAction: // STRING
- case datapointType == KnxDatapointType.DPT_Alarm_Reaction: // STRING
- case datapointType == KnxDatapointType.DPT_UpDown_Action: // STRING
- case datapointType == KnxDatapointType.DPT_HVAC_PB_Action: // STRING
- case datapointType == KnxDatapointType.DPT_DoubleNibble: // Struct
+ case datapointType == KnxDatapointType_DPT_Colour_RGB: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4193,21 +5821,41 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Busy)
- Busy, _BusyErr := io.ReadUint8(4)
- if _BusyErr != nil {
- return nil, errors.New("Error parsing 'Busy' field " + _BusyErr.Error())
+ // Simple Field (r)
+ r, _rErr := io.ReadUint8(8)
+ if _rErr != nil {
+ return nil, errors.New("Error parsing 'r' field " + _rErr.Error())
+ }
+ _map["Struct"] = values.NewPlcUSINT(r)
+
+ // Simple Field (g)
+ g, _gErr := io.ReadUint8(8)
+ if _gErr != nil {
+ return nil, errors.New("Error parsing 'g' field " + _gErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Busy)
+ _map["Struct"] = values.NewPlcUSINT(g)
- // Simple Field (Nak)
- Nak, _NakErr := io.ReadUint8(4)
- if _NakErr != nil {
- return nil, errors.New("Error parsing 'Nak' field " + _NakErr.Error())
+ // Simple Field (b)
+ b, _bErr := io.ReadUint8(8)
+ if _bErr != nil {
+ return nil, errors.New("Error parsing 'b' field " + _bErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Nak)
+ _map["Struct"] = values.NewPlcUSINT(b)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_SceneInfo: // Struct
+ case datapointType == KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII: // STRING
+
+ // 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 (value)
+ value, _valueErr := io.ReadString(16)
+ if _valueErr != nil {
+ return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ }
+ return values.NewPlcSTRING(value), nil
+ case datapointType == KnxDatapointType_DPT_Tariff_ActiveEnergy: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4215,26 +5863,40 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
+ // Simple Field (activeelectricalenergy)
+ activeelectricalenergy, _activeelectricalenergyErr := io.ReadInt32(32)
+ if _activeelectricalenergyErr != nil {
+ return nil, errors.New("Error parsing 'activeelectricalenergy' field " + _activeelectricalenergyErr.Error())
+ }
+ _map["Struct"] = values.NewPlcDINT(activeelectricalenergy)
+
+ // Simple Field (tariff)
+ tariff, _tariffErr := io.ReadUint8(8)
+ if _tariffErr != nil {
+ return nil, errors.New("Error parsing 'tariff' field " + _tariffErr.Error())
+ }
+ _map["Struct"] = values.NewPlcUSINT(tariff)
+
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(1); _err != nil {
+ if _, _err := io.ReadUint8(6); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (SceneIsInactive)
- SceneIsInactive, _SceneIsInactiveErr := io.ReadBit()
- if _SceneIsInactiveErr != nil {
- return nil, errors.New("Error parsing 'SceneIsInactive' field " + _SceneIsInactiveErr.Error())
+ // Simple Field (electricalengergyvalidity)
+ electricalengergyvalidity, _electricalengergyvalidityErr := io.ReadBit()
+ if _electricalengergyvalidityErr != nil {
+ return nil, errors.New("Error parsing 'electricalengergyvalidity' field " + _electricalengergyvalidityErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(SceneIsInactive)
+ _map["Struct"] = values.NewPlcBOOL(electricalengergyvalidity)
- // Simple Field (Scenenumber)
- Scenenumber, _ScenenumberErr := io.ReadUint8(6)
- if _ScenenumberErr != nil {
- return nil, errors.New("Error parsing 'Scenenumber' field " + _ScenenumberErr.Error())
+ // Simple Field (tariffvalidity)
+ tariffvalidity, _tariffvalidityErr := io.ReadBit()
+ if _tariffvalidityErr != nil {
+ return nil, errors.New("Error parsing 'tariffvalidity' field " + _tariffvalidityErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Scenenumber)
+ _map["Struct"] = values.NewPlcBOOL(tariffvalidity)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_CombinedInfoOnOff: // Struct
+ case datapointType == KnxDatapointType_DPT_Prioritised_Mode_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4242,270 +5904,266 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (MaskBitInfoOnOffOutput16)
- MaskBitInfoOnOffOutput16, _MaskBitInfoOnOffOutput16Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput16Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput16' field " + _MaskBitInfoOnOffOutput16Err.Error())
+ // Simple Field (deactivationOfPriority)
+ deactivationOfPriority, _deactivationOfPriorityErr := io.ReadBit()
+ if _deactivationOfPriorityErr != nil {
+ return nil, errors.New("Error parsing 'deactivationOfPriority' field " + _deactivationOfPriorityErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput16)
+ _map["Struct"] = values.NewPlcBOOL(deactivationOfPriority)
- // Simple Field (MaskBitInfoOnOffOutput15)
- MaskBitInfoOnOffOutput15, _MaskBitInfoOnOffOutput15Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput15Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput15' field " + _MaskBitInfoOnOffOutput15Err.Error())
+ // Simple Field (priorityLevel)
+ priorityLevel, _priorityLevelErr := io.ReadUint8(3)
+ if _priorityLevelErr != nil {
+ return nil, errors.New("Error parsing 'priorityLevel' field " + _priorityLevelErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput15)
+ _map["Struct"] = values.NewPlcUSINT(priorityLevel)
- // Simple Field (MaskBitInfoOnOffOutput14)
- MaskBitInfoOnOffOutput14, _MaskBitInfoOnOffOutput14Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput14Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput14' field " + _MaskBitInfoOnOffOutput14Err.Error())
+ // Simple Field (modeLevel)
+ modeLevel, _modeLevelErr := io.ReadUint8(4)
+ if _modeLevelErr != nil {
+ return nil, errors.New("Error parsing 'modeLevel' field " + _modeLevelErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput14)
+ _map["Struct"] = values.NewPlcUSINT(modeLevel)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_DALI_Control_Gear_Diagnostic: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (MaskBitInfoOnOffOutput13)
- MaskBitInfoOnOffOutput13, _MaskBitInfoOnOffOutput13Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput13Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput13' field " + _MaskBitInfoOnOffOutput13Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(5); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput13)
- // Simple Field (MaskBitInfoOnOffOutput12)
- MaskBitInfoOnOffOutput12, _MaskBitInfoOnOffOutput12Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput12Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput12' field " + _MaskBitInfoOnOffOutput12Err.Error())
+ // Simple Field (convertorError)
+ convertorError, _convertorErrorErr := io.ReadBit()
+ if _convertorErrorErr != nil {
+ return nil, errors.New("Error parsing 'convertorError' field " + _convertorErrorErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput12)
+ _map["Struct"] = values.NewPlcBOOL(convertorError)
- // Simple Field (MaskBitInfoOnOffOutput11)
- MaskBitInfoOnOffOutput11, _MaskBitInfoOnOffOutput11Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput11Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput11' field " + _MaskBitInfoOnOffOutput11Err.Error())
+ // Simple Field (ballastFailure)
+ ballastFailure, _ballastFailureErr := io.ReadBit()
+ if _ballastFailureErr != nil {
+ return nil, errors.New("Error parsing 'ballastFailure' field " + _ballastFailureErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput11)
+ _map["Struct"] = values.NewPlcBOOL(ballastFailure)
- // Simple Field (MaskBitInfoOnOffOutput10)
- MaskBitInfoOnOffOutput10, _MaskBitInfoOnOffOutput10Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput10Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput10' field " + _MaskBitInfoOnOffOutput10Err.Error())
+ // Simple Field (lampFailure)
+ lampFailure, _lampFailureErr := io.ReadBit()
+ if _lampFailureErr != nil {
+ return nil, errors.New("Error parsing 'lampFailure' field " + _lampFailureErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput10)
+ _map["Struct"] = values.NewPlcBOOL(lampFailure)
- // Simple Field (MaskBitInfoOnOffOutput9)
- MaskBitInfoOnOffOutput9, _MaskBitInfoOnOffOutput9Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput9Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput9' field " + _MaskBitInfoOnOffOutput9Err.Error())
+ // Simple Field (readOrResponse)
+ readOrResponse, _readOrResponseErr := io.ReadBit()
+ if _readOrResponseErr != nil {
+ return nil, errors.New("Error parsing 'readOrResponse' field " + _readOrResponseErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput9)
+ _map["Struct"] = values.NewPlcBOOL(readOrResponse)
- // Simple Field (MaskBitInfoOnOffOutput8)
- MaskBitInfoOnOffOutput8, _MaskBitInfoOnOffOutput8Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput8Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput8' field " + _MaskBitInfoOnOffOutput8Err.Error())
+ // Simple Field (addressIndicator)
+ addressIndicator, _addressIndicatorErr := io.ReadBit()
+ if _addressIndicatorErr != nil {
+ return nil, errors.New("Error parsing 'addressIndicator' field " + _addressIndicatorErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput8)
+ _map["Struct"] = values.NewPlcBOOL(addressIndicator)
- // Simple Field (MaskBitInfoOnOffOutput7)
- MaskBitInfoOnOffOutput7, _MaskBitInfoOnOffOutput7Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput7Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput7' field " + _MaskBitInfoOnOffOutput7Err.Error())
+ // Simple Field (daliDeviceAddressOrDaliGroupAddress)
+ daliDeviceAddressOrDaliGroupAddress, _daliDeviceAddressOrDaliGroupAddressErr := io.ReadUint8(6)
+ if _daliDeviceAddressOrDaliGroupAddressErr != nil {
+ return nil, errors.New("Error parsing 'daliDeviceAddressOrDaliGroupAddress' field " + _daliDeviceAddressOrDaliGroupAddressErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput7)
+ _map["Struct"] = values.NewPlcUSINT(daliDeviceAddressOrDaliGroupAddress)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_DALI_Diagnostics: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (MaskBitInfoOnOffOutput6)
- MaskBitInfoOnOffOutput6, _MaskBitInfoOnOffOutput6Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput6Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput6' field " + _MaskBitInfoOnOffOutput6Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput6)
- // Simple Field (MaskBitInfoOnOffOutput5)
- MaskBitInfoOnOffOutput5, _MaskBitInfoOnOffOutput5Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput5Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput5' field " + _MaskBitInfoOnOffOutput5Err.Error())
+ // Simple Field (ballastFailure)
+ ballastFailure, _ballastFailureErr := io.ReadBit()
+ if _ballastFailureErr != nil {
+ return nil, errors.New("Error parsing 'ballastFailure' field " + _ballastFailureErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput5)
+ _map["Struct"] = values.NewPlcBOOL(ballastFailure)
- // Simple Field (MaskBitInfoOnOffOutput4)
- MaskBitInfoOnOffOutput4, _MaskBitInfoOnOffOutput4Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput4Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput4' field " + _MaskBitInfoOnOffOutput4Err.Error())
+ // Simple Field (lampFailure)
+ lampFailure, _lampFailureErr := io.ReadBit()
+ if _lampFailureErr != nil {
+ return nil, errors.New("Error parsing 'lampFailure' field " + _lampFailureErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput4)
+ _map["Struct"] = values.NewPlcBOOL(lampFailure)
- // Simple Field (MaskBitInfoOnOffOutput3)
- MaskBitInfoOnOffOutput3, _MaskBitInfoOnOffOutput3Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput3Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput3' field " + _MaskBitInfoOnOffOutput3Err.Error())
+ // Simple Field (deviceAddress)
+ deviceAddress, _deviceAddressErr := io.ReadUint8(6)
+ if _deviceAddressErr != nil {
+ return nil, errors.New("Error parsing 'deviceAddress' field " + _deviceAddressErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput3)
+ _map["Struct"] = values.NewPlcUSINT(deviceAddress)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_CombinedPosition: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (MaskBitInfoOnOffOutput2)
- MaskBitInfoOnOffOutput2, _MaskBitInfoOnOffOutput2Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput2Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput2' field " + _MaskBitInfoOnOffOutput2Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput2)
- // Simple Field (MaskBitInfoOnOffOutput1)
- MaskBitInfoOnOffOutput1, _MaskBitInfoOnOffOutput1Err := io.ReadBit()
- if _MaskBitInfoOnOffOutput1Err != nil {
- return nil, errors.New("Error parsing 'MaskBitInfoOnOffOutput1' field " + _MaskBitInfoOnOffOutput1Err.Error())
+ // Simple Field (heightPosition)
+ heightPosition, _heightPositionErr := io.ReadUint8(8)
+ if _heightPositionErr != nil {
+ return nil, errors.New("Error parsing 'heightPosition' field " + _heightPositionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(MaskBitInfoOnOffOutput1)
+ _map["Struct"] = values.NewPlcUSINT(heightPosition)
- // Simple Field (InfoOnOffOutput16)
- InfoOnOffOutput16, _InfoOnOffOutput16Err := io.ReadBit()
- if _InfoOnOffOutput16Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput16' field " + _InfoOnOffOutput16Err.Error())
+ // Simple Field (slatsPosition)
+ slatsPosition, _slatsPositionErr := io.ReadUint8(8)
+ if _slatsPositionErr != nil {
+ return nil, errors.New("Error parsing 'slatsPosition' field " + _slatsPositionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput16)
+ _map["Struct"] = values.NewPlcUSINT(slatsPosition)
- // Simple Field (InfoOnOffOutput15)
- InfoOnOffOutput15, _InfoOnOffOutput15Err := io.ReadBit()
- if _InfoOnOffOutput15Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput15' field " + _InfoOnOffOutput15Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput15)
- // Simple Field (InfoOnOffOutput14)
- InfoOnOffOutput14, _InfoOnOffOutput14Err := io.ReadBit()
- if _InfoOnOffOutput14Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput14' field " + _InfoOnOffOutput14Err.Error())
+ // Simple Field (validityHeightPosition)
+ validityHeightPosition, _validityHeightPositionErr := io.ReadBit()
+ if _validityHeightPositionErr != nil {
+ return nil, errors.New("Error parsing 'validityHeightPosition' field " + _validityHeightPositionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput14)
+ _map["Struct"] = values.NewPlcBOOL(validityHeightPosition)
- // Simple Field (InfoOnOffOutput13)
- InfoOnOffOutput13, _InfoOnOffOutput13Err := io.ReadBit()
- if _InfoOnOffOutput13Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput13' field " + _InfoOnOffOutput13Err.Error())
+ // Simple Field (validitySlatsPosition)
+ validitySlatsPosition, _validitySlatsPositionErr := io.ReadBit()
+ if _validitySlatsPositionErr != nil {
+ return nil, errors.New("Error parsing 'validitySlatsPosition' field " + _validitySlatsPositionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput13)
+ _map["Struct"] = values.NewPlcBOOL(validitySlatsPosition)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_StatusSAB: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (InfoOnOffOutput12)
- InfoOnOffOutput12, _InfoOnOffOutput12Err := io.ReadBit()
- if _InfoOnOffOutput12Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput12' field " + _InfoOnOffOutput12Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput12)
- // Simple Field (InfoOnOffOutput11)
- InfoOnOffOutput11, _InfoOnOffOutput11Err := io.ReadBit()
- if _InfoOnOffOutput11Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput11' field " + _InfoOnOffOutput11Err.Error())
+ // Simple Field (heightPosition)
+ heightPosition, _heightPositionErr := io.ReadUint8(8)
+ if _heightPositionErr != nil {
+ return nil, errors.New("Error parsing 'heightPosition' field " + _heightPositionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput11)
+ _map["Struct"] = values.NewPlcUSINT(heightPosition)
- // Simple Field (InfoOnOffOutput10)
- InfoOnOffOutput10, _InfoOnOffOutput10Err := io.ReadBit()
- if _InfoOnOffOutput10Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput10' field " + _InfoOnOffOutput10Err.Error())
+ // Simple Field (slatsPosition)
+ slatsPosition, _slatsPositionErr := io.ReadUint8(8)
+ if _slatsPositionErr != nil {
+ return nil, errors.New("Error parsing 'slatsPosition' field " + _slatsPositionErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput10)
+ _map["Struct"] = values.NewPlcUSINT(slatsPosition)
- // Simple Field (InfoOnOffOutput9)
- InfoOnOffOutput9, _InfoOnOffOutput9Err := io.ReadBit()
- if _InfoOnOffOutput9Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput9' field " + _InfoOnOffOutput9Err.Error())
+ // Simple Field (upperEndPosReached)
+ upperEndPosReached, _upperEndPosReachedErr := io.ReadBit()
+ if _upperEndPosReachedErr != nil {
+ return nil, errors.New("Error parsing 'upperEndPosReached' field " + _upperEndPosReachedErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput9)
+ _map["Struct"] = values.NewPlcBOOL(upperEndPosReached)
- // Simple Field (InfoOnOffOutput8)
- InfoOnOffOutput8, _InfoOnOffOutput8Err := io.ReadBit()
- if _InfoOnOffOutput8Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput8' field " + _InfoOnOffOutput8Err.Error())
+ // Simple Field (lowerEndPosReached)
+ lowerEndPosReached, _lowerEndPosReachedErr := io.ReadBit()
+ if _lowerEndPosReachedErr != nil {
+ return nil, errors.New("Error parsing 'lowerEndPosReached' field " + _lowerEndPosReachedErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput8)
+ _map["Struct"] = values.NewPlcBOOL(lowerEndPosReached)
- // Simple Field (InfoOnOffOutput7)
- InfoOnOffOutput7, _InfoOnOffOutput7Err := io.ReadBit()
- if _InfoOnOffOutput7Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput7' field " + _InfoOnOffOutput7Err.Error())
+ // Simple Field (lowerPredefPosReachedTypHeight100PercentSlatsAngle100Percent)
+ lowerPredefPosReachedTypHeight100PercentSlatsAngle100Percent, _lowerPredefPosReachedTypHeight100PercentSlatsAngle100PercentErr := io.ReadBit()
+ if _lowerPredefPosReachedTypHeight100PercentSlatsAngle100PercentErr != nil {
+ return nil, errors.New("Error parsing 'lowerPredefPosReachedTypHeight100PercentSlatsAngle100Percent' field " + _lowerPredefPosReachedTypHeight100PercentSlatsAngle100PercentErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput7)
+ _map["Struct"] = values.NewPlcBOOL(lowerPredefPosReachedTypHeight100PercentSlatsAngle100Percent)
- // Simple Field (InfoOnOffOutput6)
- InfoOnOffOutput6, _InfoOnOffOutput6Err := io.ReadBit()
- if _InfoOnOffOutput6Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput6' field " + _InfoOnOffOutput6Err.Error())
+ // Simple Field (targetPosDrive)
+ targetPosDrive, _targetPosDriveErr := io.ReadBit()
+ if _targetPosDriveErr != nil {
+ return nil, errors.New("Error parsing 'targetPosDrive' field " + _targetPosDriveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput6)
+ _map["Struct"] = values.NewPlcBOOL(targetPosDrive)
- // Simple Field (InfoOnOffOutput5)
- InfoOnOffOutput5, _InfoOnOffOutput5Err := io.ReadBit()
- if _InfoOnOffOutput5Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput5' field " + _InfoOnOffOutput5Err.Error())
+ // Simple Field (restrictionOfTargetHeightPosPosCanNotBeReached)
+ restrictionOfTargetHeightPosPosCanNotBeReached, _restrictionOfTargetHeightPosPosCanNotBeReachedErr := io.ReadBit()
+ if _restrictionOfTargetHeightPosPosCanNotBeReachedErr != nil {
+ return nil, errors.New("Error parsing 'restrictionOfTargetHeightPosPosCanNotBeReached' field " + _restrictionOfTargetHeightPosPosCanNotBeReachedErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput5)
+ _map["Struct"] = values.NewPlcBOOL(restrictionOfTargetHeightPosPosCanNotBeReached)
- // Simple Field (InfoOnOffOutput4)
- InfoOnOffOutput4, _InfoOnOffOutput4Err := io.ReadBit()
- if _InfoOnOffOutput4Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput4' field " + _InfoOnOffOutput4Err.Error())
+ // Simple Field (restrictionOfSlatsHeightPosPosCanNotBeReached)
+ restrictionOfSlatsHeightPosPosCanNotBeReached, _restrictionOfSlatsHeightPosPosCanNotBeReachedErr := io.ReadBit()
+ if _restrictionOfSlatsHeightPosPosCanNotBeReachedErr != nil {
+ return nil, errors.New("Error parsing 'restrictionOfSlatsHeightPosPosCanNotBeReached' field " + _restrictionOfSlatsHeightPosPosCanNotBeReachedErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput4)
+ _map["Struct"] = values.NewPlcBOOL(restrictionOfSlatsHeightPosPosCanNotBeReached)
- // Simple Field (InfoOnOffOutput3)
- InfoOnOffOutput3, _InfoOnOffOutput3Err := io.ReadBit()
- if _InfoOnOffOutput3Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput3' field " + _InfoOnOffOutput3Err.Error())
+ // Simple Field (atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarm)
+ atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarm, _atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarmErr := io.ReadBit()
+ if _atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarmErr != nil {
+ return nil, errors.New("Error parsing 'atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarm' field " + _atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarmErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput3)
+ _map["Struct"] = values.NewPlcBOOL(atLeastOneOfTheInputsWindRainFrostAlarmIsInAlarm)
- // Simple Field (InfoOnOffOutput2)
- InfoOnOffOutput2, _InfoOnOffOutput2Err := io.ReadBit()
- if _InfoOnOffOutput2Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput2' field " + _InfoOnOffOutput2Err.Error())
+ // Simple Field (upDownPositionIsForcedByMoveupdownforcedInput)
+ upDownPositionIsForcedByMoveupdownforcedInput, _upDownPositionIsForcedByMoveupdownforcedInputErr := io.ReadBit()
+ if _upDownPositionIsForcedByMoveupdownforcedInputErr != nil {
+ return nil, errors.New("Error parsing 'upDownPositionIsForcedByMoveupdownforcedInput' field " + _upDownPositionIsForcedByMoveupdownforcedInputErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput2)
+ _map["Struct"] = values.NewPlcBOOL(upDownPositionIsForcedByMoveupdownforcedInput)
- // Simple Field (InfoOnOffOutput1)
- InfoOnOffOutput1, _InfoOnOffOutput1Err := io.ReadBit()
- if _InfoOnOffOutput1Err != nil {
- return nil, errors.New("Error parsing 'InfoOnOffOutput1' field " + _InfoOnOffOutput1Err.Error())
+ // Simple Field (movementIsLockedEGByDevicelockedInput)
+ movementIsLockedEGByDevicelockedInput, _movementIsLockedEGByDevicelockedInputErr := io.ReadBit()
+ if _movementIsLockedEGByDevicelockedInputErr != nil {
+ return nil, errors.New("Error parsing 'movementIsLockedEGByDevicelockedInput' field " + _movementIsLockedEGByDevicelockedInputErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(InfoOnOffOutput1)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_ActiveEnergy_V64: // LINT
+ _map["Struct"] = values.NewPlcBOOL(movementIsLockedEGByDevicelockedInput)
- // 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 (actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterface)
+ actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterface, _actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterfaceErr := io.ReadBit()
+ if _actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterfaceErr != nil {
+ return nil, errors.New("Error parsing 'actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterface' field " + _actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterfaceErr.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(actuatorSetvalueIsLocallyOverriddenEGViaALocalUserInterface)
- // Simple Field (value)
- value, _valueErr := io.ReadInt64(64)
- if _valueErr != nil {
- return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ // Simple Field (generalFailureOfTheActuatorOrTheDrive)
+ generalFailureOfTheActuatorOrTheDrive, _generalFailureOfTheActuatorOrTheDriveErr := io.ReadBit()
+ if _generalFailureOfTheActuatorOrTheDriveErr != nil {
+ return nil, errors.New("Error parsing 'generalFailureOfTheActuatorOrTheDrive' field " + _generalFailureOfTheActuatorOrTheDriveErr.Error())
}
- return values.NewPlcLINT(value), nil
- case datapointType == KnxDatapointType.DPT_ApparantEnergy_V64: // LINT
+ _map["Struct"] = values.NewPlcBOOL(generalFailureOfTheActuatorOrTheDrive)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(3); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // 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 datapointType == KnxDatapointType.DPT_ReactiveEnergy_V64: // LINT
-
- // 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 (validityHeightPos)
+ validityHeightPos, _validityHeightPosErr := io.ReadBit()
+ if _validityHeightPosErr != nil {
+ return nil, errors.New("Error parsing 'validityHeightPos' field " + _validityHeightPosErr.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(validityHeightPos)
- // Simple Field (value)
- value, _valueErr := io.ReadInt64(64)
- if _valueErr != nil {
- return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ // Simple Field (validitySlatsPos)
+ validitySlatsPos, _validitySlatsPosErr := io.ReadBit()
+ if _validitySlatsPosErr != nil {
+ return nil, errors.New("Error parsing 'validitySlatsPos' field " + _validitySlatsPosErr.Error())
}
- return values.NewPlcLINT(value), nil
- case datapointType == KnxDatapointType.DPT_Channel_Activation_24: // Struct
+ _map["Struct"] = values.NewPlcBOOL(validitySlatsPos)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Colour_xyY: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4513,241 +6171,219 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (ActivationStateOfChannel1)
- ActivationStateOfChannel1, _ActivationStateOfChannel1Err := io.ReadBit()
- if _ActivationStateOfChannel1Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel1' field " + _ActivationStateOfChannel1Err.Error())
+ // Simple Field (xAxis)
+ xAxis, _xAxisErr := io.ReadUint16(16)
+ if _xAxisErr != nil {
+ return nil, errors.New("Error parsing 'xAxis' field " + _xAxisErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel1)
+ _map["Struct"] = values.NewPlcUINT(xAxis)
- // Simple Field (ActivationStateOfChannel2)
- ActivationStateOfChannel2, _ActivationStateOfChannel2Err := io.ReadBit()
- if _ActivationStateOfChannel2Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel2' field " + _ActivationStateOfChannel2Err.Error())
+ // Simple Field (yAxis)
+ yAxis, _yAxisErr := io.ReadUint16(16)
+ if _yAxisErr != nil {
+ return nil, errors.New("Error parsing 'yAxis' field " + _yAxisErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel2)
+ _map["Struct"] = values.NewPlcUINT(yAxis)
- // Simple Field (ActivationStateOfChannel3)
- ActivationStateOfChannel3, _ActivationStateOfChannel3Err := io.ReadBit()
- if _ActivationStateOfChannel3Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel3' field " + _ActivationStateOfChannel3Err.Error())
+ // Simple Field (brightness)
+ brightness, _brightnessErr := io.ReadUint8(8)
+ if _brightnessErr != nil {
+ return nil, errors.New("Error parsing 'brightness' field " + _brightnessErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel3)
+ _map["Struct"] = values.NewPlcUSINT(brightness)
- // Simple Field (ActivationStateOfChannel4)
- ActivationStateOfChannel4, _ActivationStateOfChannel4Err := io.ReadBit()
- if _ActivationStateOfChannel4Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel4' field " + _ActivationStateOfChannel4Err.Error())
- }
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel4)
-
- // Simple Field (ActivationStateOfChannel5)
- ActivationStateOfChannel5, _ActivationStateOfChannel5Err := io.ReadBit()
- if _ActivationStateOfChannel5Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel5' field " + _ActivationStateOfChannel5Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(6); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel5)
- // Simple Field (ActivationStateOfChannel6)
- ActivationStateOfChannel6, _ActivationStateOfChannel6Err := io.ReadBit()
- if _ActivationStateOfChannel6Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel6' field " + _ActivationStateOfChannel6Err.Error())
+ // Simple Field (validityXy)
+ validityXy, _validityXyErr := io.ReadBit()
+ if _validityXyErr != nil {
+ return nil, errors.New("Error parsing 'validityXy' field " + _validityXyErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel6)
+ _map["Struct"] = values.NewPlcBOOL(validityXy)
- // Simple Field (ActivationStateOfChannel7)
- ActivationStateOfChannel7, _ActivationStateOfChannel7Err := io.ReadBit()
- if _ActivationStateOfChannel7Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel7' field " + _ActivationStateOfChannel7Err.Error())
+ // Simple Field (validityBrightness)
+ validityBrightness, _validityBrightnessErr := io.ReadBit()
+ if _validityBrightnessErr != nil {
+ return nil, errors.New("Error parsing 'validityBrightness' field " + _validityBrightnessErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel7)
+ _map["Struct"] = values.NewPlcBOOL(validityBrightness)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Converter_Status: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (ActivationStateOfChannel8)
- ActivationStateOfChannel8, _ActivationStateOfChannel8Err := io.ReadBit()
- if _ActivationStateOfChannel8Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel8' field " + _ActivationStateOfChannel8Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel8)
- // Simple Field (ActivationStateOfChannel9)
- ActivationStateOfChannel9, _ActivationStateOfChannel9Err := io.ReadBit()
- if _ActivationStateOfChannel9Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel9' field " + _ActivationStateOfChannel9Err.Error())
+ // Simple Field (converterModeAccordingToTheDaliConverterStateMachine)
+ converterModeAccordingToTheDaliConverterStateMachine, _converterModeAccordingToTheDaliConverterStateMachineErr := io.ReadUint8(4)
+ if _converterModeAccordingToTheDaliConverterStateMachineErr != nil {
+ return nil, errors.New("Error parsing 'converterModeAccordingToTheDaliConverterStateMachine' field " + _converterModeAccordingToTheDaliConverterStateMachineErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel9)
+ _map["Struct"] = values.NewPlcUSINT(converterModeAccordingToTheDaliConverterStateMachine)
- // Simple Field (ActivationStateOfChannel10)
- ActivationStateOfChannel10, _ActivationStateOfChannel10Err := io.ReadBit()
- if _ActivationStateOfChannel10Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel10' field " + _ActivationStateOfChannel10Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(2); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel10)
- // Simple Field (ActivationStateOfChannel11)
- ActivationStateOfChannel11, _ActivationStateOfChannel11Err := io.ReadBit()
- if _ActivationStateOfChannel11Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel11' field " + _ActivationStateOfChannel11Err.Error())
+ // Simple Field (hardwiredSwitchIsActive)
+ hardwiredSwitchIsActive, _hardwiredSwitchIsActiveErr := io.ReadBit()
+ if _hardwiredSwitchIsActiveErr != nil {
+ return nil, errors.New("Error parsing 'hardwiredSwitchIsActive' field " + _hardwiredSwitchIsActiveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel11)
+ _map["Struct"] = values.NewPlcBOOL(hardwiredSwitchIsActive)
- // Simple Field (ActivationStateOfChannel12)
- ActivationStateOfChannel12, _ActivationStateOfChannel12Err := io.ReadBit()
- if _ActivationStateOfChannel12Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel12' field " + _ActivationStateOfChannel12Err.Error())
+ // Simple Field (hardwiredInhibitIsActive)
+ hardwiredInhibitIsActive, _hardwiredInhibitIsActiveErr := io.ReadBit()
+ if _hardwiredInhibitIsActiveErr != nil {
+ return nil, errors.New("Error parsing 'hardwiredInhibitIsActive' field " + _hardwiredInhibitIsActiveErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel12)
+ _map["Struct"] = values.NewPlcBOOL(hardwiredInhibitIsActive)
- // Simple Field (ActivationStateOfChannel13)
- ActivationStateOfChannel13, _ActivationStateOfChannel13Err := io.ReadBit()
- if _ActivationStateOfChannel13Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel13' field " + _ActivationStateOfChannel13Err.Error())
+ // Simple Field (functionTestPending)
+ functionTestPending, _functionTestPendingErr := io.ReadUint8(2)
+ if _functionTestPendingErr != nil {
+ return nil, errors.New("Error parsing 'functionTestPending' field " + _functionTestPendingErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel13)
+ _map["Struct"] = values.NewPlcUSINT(functionTestPending)
- // Simple Field (ActivationStateOfChannel14)
- ActivationStateOfChannel14, _ActivationStateOfChannel14Err := io.ReadBit()
- if _ActivationStateOfChannel14Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel14' field " + _ActivationStateOfChannel14Err.Error())
+ // Simple Field (durationTestPending)
+ durationTestPending, _durationTestPendingErr := io.ReadUint8(2)
+ if _durationTestPendingErr != nil {
+ return nil, errors.New("Error parsing 'durationTestPending' field " + _durationTestPendingErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel14)
+ _map["Struct"] = values.NewPlcUSINT(durationTestPending)
- // Simple Field (ActivationStateOfChannel15)
- ActivationStateOfChannel15, _ActivationStateOfChannel15Err := io.ReadBit()
- if _ActivationStateOfChannel15Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel15' field " + _ActivationStateOfChannel15Err.Error())
+ // Simple Field (partialDurationTestPending)
+ partialDurationTestPending, _partialDurationTestPendingErr := io.ReadUint8(2)
+ if _partialDurationTestPendingErr != nil {
+ return nil, errors.New("Error parsing 'partialDurationTestPending' field " + _partialDurationTestPendingErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel15)
+ _map["Struct"] = values.NewPlcUSINT(partialDurationTestPending)
- // Simple Field (ActivationStateOfChannel16)
- ActivationStateOfChannel16, _ActivationStateOfChannel16Err := io.ReadBit()
- if _ActivationStateOfChannel16Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel16' field " + _ActivationStateOfChannel16Err.Error())
+ // Simple Field (converterFailure)
+ converterFailure, _converterFailureErr := io.ReadUint8(2)
+ if _converterFailureErr != nil {
+ return nil, errors.New("Error parsing 'converterFailure' field " + _converterFailureErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel16)
+ _map["Struct"] = values.NewPlcUSINT(converterFailure)
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_Converter_Test_Result: // Struct
+ _map := map[string]api.PlcValue{}
- // Simple Field (ActivationStateOfChannel17)
- ActivationStateOfChannel17, _ActivationStateOfChannel17Err := io.ReadBit()
- if _ActivationStateOfChannel17Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel17' field " + _ActivationStateOfChannel17Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(8); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel17)
- // Simple Field (ActivationStateOfChannel18)
- ActivationStateOfChannel18, _ActivationStateOfChannel18Err := io.ReadBit()
- if _ActivationStateOfChannel18Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel18' field " + _ActivationStateOfChannel18Err.Error())
+ // Simple Field (ltrf)
+ ltrf, _ltrfErr := io.ReadUint8(4)
+ if _ltrfErr != nil {
+ return nil, errors.New("Error parsing 'ltrf' field " + _ltrfErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel18)
+ _map["Struct"] = values.NewPlcUSINT(ltrf)
- // Simple Field (ActivationStateOfChannel19)
- ActivationStateOfChannel19, _ActivationStateOfChannel19Err := io.ReadBit()
- if _ActivationStateOfChannel19Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel19' field " + _ActivationStateOfChannel19Err.Error())
+ // Simple Field (ltrd)
+ ltrd, _ltrdErr := io.ReadUint8(4)
+ if _ltrdErr != nil {
+ return nil, errors.New("Error parsing 'ltrd' field " + _ltrdErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel19)
+ _map["Struct"] = values.NewPlcUSINT(ltrd)
- // Simple Field (ActivationStateOfChannel20)
- ActivationStateOfChannel20, _ActivationStateOfChannel20Err := io.ReadBit()
- if _ActivationStateOfChannel20Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel20' field " + _ActivationStateOfChannel20Err.Error())
+ // Simple Field (ltrp)
+ ltrp, _ltrpErr := io.ReadUint8(4)
+ if _ltrpErr != nil {
+ return nil, errors.New("Error parsing 'ltrp' field " + _ltrpErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel20)
+ _map["Struct"] = values.NewPlcUSINT(ltrp)
- // Simple Field (ActivationStateOfChannel21)
- ActivationStateOfChannel21, _ActivationStateOfChannel21Err := io.ReadBit()
- if _ActivationStateOfChannel21Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel21' field " + _ActivationStateOfChannel21Err.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel21)
- // Simple Field (ActivationStateOfChannel22)
- ActivationStateOfChannel22, _ActivationStateOfChannel22Err := io.ReadBit()
- if _ActivationStateOfChannel22Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel22' field " + _ActivationStateOfChannel22Err.Error())
+ // Simple Field (sf)
+ sf, _sfErr := io.ReadUint8(2)
+ if _sfErr != nil {
+ return nil, errors.New("Error parsing 'sf' field " + _sfErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel22)
+ _map["Struct"] = values.NewPlcUSINT(sf)
- // Simple Field (ActivationStateOfChannel23)
- ActivationStateOfChannel23, _ActivationStateOfChannel23Err := io.ReadBit()
- if _ActivationStateOfChannel23Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel23' field " + _ActivationStateOfChannel23Err.Error())
+ // Simple Field (sd)
+ sd, _sdErr := io.ReadUint8(2)
+ if _sdErr != nil {
+ return nil, errors.New("Error parsing 'sd' field " + _sdErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel23)
+ _map["Struct"] = values.NewPlcUSINT(sd)
- // Simple Field (ActivationStateOfChannel24)
- ActivationStateOfChannel24, _ActivationStateOfChannel24Err := io.ReadBit()
- if _ActivationStateOfChannel24Err != nil {
- return nil, errors.New("Error parsing 'ActivationStateOfChannel24' field " + _ActivationStateOfChannel24Err.Error())
+ // Simple Field (sp)
+ sp, _spErr := io.ReadUint8(2)
+ if _spErr != nil {
+ return nil, errors.New("Error parsing 'sp' field " + _spErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(ActivationStateOfChannel24)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_HVACModeNext: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcUSINT(sp)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(2); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (DelayTimeMin)
- DelayTimeMin, _DelayTimeMinErr := io.ReadUint16(16)
- if _DelayTimeMinErr != nil {
- return nil, errors.New("Error parsing 'DelayTimeMin' field " + _DelayTimeMinErr.Error())
+ // Simple Field (ldtr)
+ ldtr, _ldtrErr := io.ReadUint16(16)
+ if _ldtrErr != nil {
+ return nil, errors.New("Error parsing 'ldtr' field " + _ldtrErr.Error())
}
- _map["Struct"] = values.NewPlcUINT(DelayTimeMin)
+ _map["Struct"] = values.NewPlcUINT(ldtr)
- // Simple Field (HvacMode)
- HvacMode, _HvacModeErr := io.ReadUint8(8)
- if _HvacModeErr != nil {
- return nil, errors.New("Error parsing 'HvacMode' field " + _HvacModeErr.Error())
+ // Simple Field (lpdtr)
+ lpdtr, _lpdtrErr := io.ReadUint8(8)
+ if _lpdtrErr != nil {
+ return nil, errors.New("Error parsing 'lpdtr' field " + _lpdtrErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(HvacMode)
+ _map["Struct"] = values.NewPlcUSINT(lpdtr)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_DHWModeNext: // Struct
+ case datapointType == KnxDatapointType_DPT_Battery_Info: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(5); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (DelayTimeMin)
- DelayTimeMin, _DelayTimeMinErr := io.ReadUint16(16)
- if _DelayTimeMinErr != nil {
- return nil, errors.New("Error parsing 'DelayTimeMin' field " + _DelayTimeMinErr.Error())
- }
- _map["Struct"] = values.NewPlcUINT(DelayTimeMin)
-
- // Simple Field (DhwMode)
- DhwMode, _DhwModeErr := io.ReadUint8(8)
- if _DhwModeErr != nil {
- return nil, errors.New("Error parsing 'DhwMode' field " + _DhwModeErr.Error())
+ // Simple Field (batteryFailure)
+ batteryFailure, _batteryFailureErr := io.ReadBit()
+ if _batteryFailureErr != nil {
+ return nil, errors.New("Error parsing 'batteryFailure' field " + _batteryFailureErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(DhwMode)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_OccModeNext: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(batteryFailure)
- // 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 (batteryDurationFailure)
+ batteryDurationFailure, _batteryDurationFailureErr := io.ReadBit()
+ if _batteryDurationFailureErr != nil {
+ return nil, errors.New("Error parsing 'batteryDurationFailure' field " + _batteryDurationFailureErr.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(batteryDurationFailure)
- // Simple Field (DelayTimeMin)
- DelayTimeMin, _DelayTimeMinErr := io.ReadUint16(16)
- if _DelayTimeMinErr != nil {
- return nil, errors.New("Error parsing 'DelayTimeMin' field " + _DelayTimeMinErr.Error())
+ // Simple Field (batteryFullyCharged)
+ batteryFullyCharged, _batteryFullyChargedErr := io.ReadBit()
+ if _batteryFullyChargedErr != nil {
+ return nil, errors.New("Error parsing 'batteryFullyCharged' field " + _batteryFullyChargedErr.Error())
}
- _map["Struct"] = values.NewPlcUINT(DelayTimeMin)
+ _map["Struct"] = values.NewPlcBOOL(batteryFullyCharged)
- // Simple Field (OccupancyMode)
- OccupancyMode, _OccupancyModeErr := io.ReadUint8(8)
- if _OccupancyModeErr != nil {
- return nil, errors.New("Error parsing 'OccupancyMode' field " + _OccupancyModeErr.Error())
+ // Simple Field (batteryChargeLevel)
+ batteryChargeLevel, _batteryChargeLevelErr := io.ReadUint8(8)
+ if _batteryChargeLevelErr != nil {
+ return nil, errors.New("Error parsing 'batteryChargeLevel' field " + _batteryChargeLevelErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(OccupancyMode)
+ _map["Struct"] = values.NewPlcUSINT(batteryChargeLevel)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_BuildingModeNext: // Struct
+ case datapointType == KnxDatapointType_DPT_Brightness_Colour_Temperature_Transition: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4755,145 +6391,114 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (DelayTimeMin)
- DelayTimeMin, _DelayTimeMinErr := io.ReadUint16(16)
- if _DelayTimeMinErr != nil {
- return nil, errors.New("Error parsing 'DelayTimeMin' field " + _DelayTimeMinErr.Error())
+ // Simple Field (ms)
+ ms, _msErr := io.ReadUint16(16)
+ if _msErr != nil {
+ return nil, errors.New("Error parsing 'ms' field " + _msErr.Error())
}
- _map["Struct"] = values.NewPlcUINT(DelayTimeMin)
+ _map["Struct"] = values.NewPlcUINT(ms)
- // Simple Field (BuildingMode)
- BuildingMode, _BuildingModeErr := io.ReadUint8(8)
- if _BuildingModeErr != nil {
- return nil, errors.New("Error parsing 'BuildingMode' field " + _BuildingModeErr.Error())
+ // Simple Field (temperatureK)
+ temperatureK, _temperatureKErr := io.ReadUint16(16)
+ if _temperatureKErr != nil {
+ return nil, errors.New("Error parsing 'temperatureK' field " + _temperatureKErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(BuildingMode)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Version: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcUINT(temperatureK)
+
+ // Simple Field (percent)
+ percent, _percentErr := io.ReadUint8(8)
+ if _percentErr != nil {
+ return nil, errors.New("Error parsing 'percent' field " + _percentErr.Error())
+ }
+ _map["Struct"] = values.NewPlcUSINT(percent)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(5); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (MagicNumber)
- MagicNumber, _MagicNumberErr := io.ReadUint8(5)
- if _MagicNumberErr != nil {
- return nil, errors.New("Error parsing 'MagicNumber' field " + _MagicNumberErr.Error())
+ // Simple Field (validityOfTheTimePeriod)
+ validityOfTheTimePeriod, _validityOfTheTimePeriodErr := io.ReadBit()
+ if _validityOfTheTimePeriodErr != nil {
+ return nil, errors.New("Error parsing 'validityOfTheTimePeriod' field " + _validityOfTheTimePeriodErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(MagicNumber)
+ _map["Struct"] = values.NewPlcBOOL(validityOfTheTimePeriod)
- // Simple Field (VersionNumber)
- VersionNumber, _VersionNumberErr := io.ReadUint8(5)
- if _VersionNumberErr != nil {
- return nil, errors.New("Error parsing 'VersionNumber' field " + _VersionNumberErr.Error())
+ // Simple Field (validityOfTheAbsoluteColourTemperature)
+ validityOfTheAbsoluteColourTemperature, _validityOfTheAbsoluteColourTemperatureErr := io.ReadBit()
+ if _validityOfTheAbsoluteColourTemperatureErr != nil {
+ return nil, errors.New("Error parsing 'validityOfTheAbsoluteColourTemperature' field " + _validityOfTheAbsoluteColourTemperatureErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(VersionNumber)
+ _map["Struct"] = values.NewPlcBOOL(validityOfTheAbsoluteColourTemperature)
- // Simple Field (RevisionNumber)
- RevisionNumber, _RevisionNumberErr := io.ReadUint8(6)
- if _RevisionNumberErr != nil {
- return nil, errors.New("Error parsing 'RevisionNumber' field " + _RevisionNumberErr.Error())
+ // Simple Field (validityOfTheAbsoluteBrightness)
+ validityOfTheAbsoluteBrightness, _validityOfTheAbsoluteBrightnessErr := io.ReadBit()
+ if _validityOfTheAbsoluteBrightnessErr != nil {
+ return nil, errors.New("Error parsing 'validityOfTheAbsoluteBrightness' field " + _validityOfTheAbsoluteBrightnessErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(RevisionNumber)
+ _map["Struct"] = values.NewPlcBOOL(validityOfTheAbsoluteBrightness)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_AlarmInfo: // Struct
+ case datapointType == KnxDatapointType_DPT_Brightness_Colour_Temperature_Control: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(4); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (LogNumber)
- LogNumber, _LogNumberErr := io.ReadUint8(8)
- if _LogNumberErr != nil {
- return nil, errors.New("Error parsing 'LogNumber' field " + _LogNumberErr.Error())
- }
- _map["Struct"] = values.NewPlcUSINT(LogNumber)
-
- // Simple Field (AlarmPriority)
- AlarmPriority, _AlarmPriorityErr := io.ReadUint8(8)
- if _AlarmPriorityErr != nil {
- return nil, errors.New("Error parsing 'AlarmPriority' field " + _AlarmPriorityErr.Error())
+ // Simple Field (cct)
+ cct, _cctErr := io.ReadBit()
+ if _cctErr != nil {
+ return nil, errors.New("Error parsing 'cct' field " + _cctErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(AlarmPriority)
+ _map["Struct"] = values.NewPlcBOOL(cct)
- // Simple Field (ApplicationArea)
- ApplicationArea, _ApplicationAreaErr := io.ReadUint8(8)
- if _ApplicationAreaErr != nil {
- return nil, errors.New("Error parsing 'ApplicationArea' field " + _ApplicationAreaErr.Error())
+ // Simple Field (stepCodeColourTemperature)
+ stepCodeColourTemperature, _stepCodeColourTemperatureErr := io.ReadUint8(3)
+ if _stepCodeColourTemperatureErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourTemperature' field " + _stepCodeColourTemperatureErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(ApplicationArea)
-
- // Simple Field (ErrorClass)
- ErrorClass, _ErrorClassErr := io.ReadUint8(8)
- if _ErrorClassErr != nil {
- return nil, errors.New("Error parsing 'ErrorClass' field " + _ErrorClassErr.Error())
- }
- _map["Struct"] = values.NewPlcUSINT(ErrorClass)
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourTemperature)
// 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 (ErrorcodeSup)
- ErrorcodeSup, _ErrorcodeSupErr := io.ReadBit()
- if _ErrorcodeSupErr != nil {
- return nil, errors.New("Error parsing 'ErrorcodeSup' field " + _ErrorcodeSupErr.Error())
- }
- _map["Struct"] = values.NewPlcBOOL(ErrorcodeSup)
-
- // Simple Field (AlarmtextSup)
- AlarmtextSup, _AlarmtextSupErr := io.ReadBit()
- if _AlarmtextSupErr != nil {
- return nil, errors.New("Error parsing 'AlarmtextSup' field " + _AlarmtextSupErr.Error())
+ // Simple Field (cb)
+ cb, _cbErr := io.ReadBit()
+ if _cbErr != nil {
+ return nil, errors.New("Error parsing 'cb' field " + _cbErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(AlarmtextSup)
+ _map["Struct"] = values.NewPlcBOOL(cb)
- // Simple Field (TimestampSup)
- TimestampSup, _TimestampSupErr := io.ReadBit()
- if _TimestampSupErr != nil {
- return nil, errors.New("Error parsing 'TimestampSup' field " + _TimestampSupErr.Error())
+ // Simple Field (stepCodeBrightness)
+ stepCodeBrightness, _stepCodeBrightnessErr := io.ReadUint8(3)
+ if _stepCodeBrightnessErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeBrightness' field " + _stepCodeBrightnessErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(TimestampSup)
-
- // Simple Field (AckSup)
- AckSup, _AckSupErr := io.ReadBit()
- if _AckSupErr != nil {
- return nil, errors.New("Error parsing 'AckSup' field " + _AckSupErr.Error())
- }
- _map["Struct"] = values.NewPlcBOOL(AckSup)
+ _map["Struct"] = values.NewPlcUSINT(stepCodeBrightness)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(5); _err != nil {
+ if _, _err := io.ReadUint8(6); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Locked)
- Locked, _LockedErr := io.ReadBit()
- if _LockedErr != nil {
- return nil, errors.New("Error parsing 'Locked' field " + _LockedErr.Error())
+ // Simple Field (cctAndStepCodeColourValidity)
+ cctAndStepCodeColourValidity, _cctAndStepCodeColourValidityErr := io.ReadBit()
+ if _cctAndStepCodeColourValidityErr != nil {
+ return nil, errors.New("Error parsing 'cctAndStepCodeColourValidity' field " + _cctAndStepCodeColourValidityErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Locked)
+ _map["Struct"] = values.NewPlcBOOL(cctAndStepCodeColourValidity)
- // Simple Field (Alarmunack)
- Alarmunack, _AlarmunackErr := io.ReadBit()
- if _AlarmunackErr != nil {
- return nil, errors.New("Error parsing 'Alarmunack' field " + _AlarmunackErr.Error())
+ // Simple Field (cbAndStepCodeBrightnessValidity)
+ cbAndStepCodeBrightnessValidity, _cbAndStepCodeBrightnessValidityErr := io.ReadBit()
+ if _cbAndStepCodeBrightnessValidityErr != nil {
+ return nil, errors.New("Error parsing 'cbAndStepCodeBrightnessValidity' field " + _cbAndStepCodeBrightnessValidityErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Alarmunack)
-
- // Simple Field (Inalarm)
- Inalarm, _InalarmErr := io.ReadBit()
- if _InalarmErr != nil {
- return nil, errors.New("Error parsing 'Inalarm' field " + _InalarmErr.Error())
- }
- _map["Struct"] = values.NewPlcBOOL(Inalarm)
+ _map["Struct"] = values.NewPlcBOOL(cbAndStepCodeBrightnessValidity)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_TempRoomSetpSetF16_3: // Struct
+ case datapointType == KnxDatapointType_DPT_Colour_RGBW: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4901,79 +6506,73 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Tempsetpcomf)
- Tempsetpcomf, _TempsetpcomfErr := io.ReadFloat32(true, 4, 11)
- if _TempsetpcomfErr != nil {
- return nil, errors.New("Error parsing 'Tempsetpcomf' field " + _TempsetpcomfErr.Error())
+ // Simple Field (colourLevelRed)
+ colourLevelRed, _colourLevelRedErr := io.ReadUint8(8)
+ if _colourLevelRedErr != nil {
+ return nil, errors.New("Error parsing 'colourLevelRed' field " + _colourLevelRedErr.Error())
}
- _map["Struct"] = values.NewPlcREAL(Tempsetpcomf)
+ _map["Struct"] = values.NewPlcUSINT(colourLevelRed)
- // Simple Field (Tempsetpstdby)
- Tempsetpstdby, _TempsetpstdbyErr := io.ReadFloat32(true, 4, 11)
- if _TempsetpstdbyErr != nil {
- return nil, errors.New("Error parsing 'Tempsetpstdby' field " + _TempsetpstdbyErr.Error())
+ // Simple Field (colourLevelGreen)
+ colourLevelGreen, _colourLevelGreenErr := io.ReadUint8(8)
+ if _colourLevelGreenErr != nil {
+ return nil, errors.New("Error parsing 'colourLevelGreen' field " + _colourLevelGreenErr.Error())
}
- _map["Struct"] = values.NewPlcREAL(Tempsetpstdby)
+ _map["Struct"] = values.NewPlcUSINT(colourLevelGreen)
- // Simple Field (Tempsetpeco)
- Tempsetpeco, _TempsetpecoErr := io.ReadFloat32(true, 4, 11)
- if _TempsetpecoErr != nil {
- return nil, errors.New("Error parsing 'Tempsetpeco' field " + _TempsetpecoErr.Error())
+ // Simple Field (colourLevelBlue)
+ colourLevelBlue, _colourLevelBlueErr := io.ReadUint8(8)
+ if _colourLevelBlueErr != nil {
+ return nil, errors.New("Error parsing 'colourLevelBlue' field " + _colourLevelBlueErr.Error())
}
- _map["Struct"] = values.NewPlcREAL(Tempsetpeco)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_TempRoomSetpSetShiftF16_3: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcUSINT(colourLevelBlue)
+
+ // Simple Field (colourLevelWhite)
+ colourLevelWhite, _colourLevelWhiteErr := io.ReadUint8(8)
+ if _colourLevelWhiteErr != nil {
+ return nil, errors.New("Error parsing 'colourLevelWhite' field " + _colourLevelWhiteErr.Error())
+ }
+ _map["Struct"] = values.NewPlcUSINT(colourLevelWhite)
// 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 (Tempsetpshiftcomf)
- Tempsetpshiftcomf, _TempsetpshiftcomfErr := io.ReadFloat32(true, 4, 11)
- if _TempsetpshiftcomfErr != nil {
- return nil, errors.New("Error parsing 'Tempsetpshiftcomf' field " + _TempsetpshiftcomfErr.Error())
- }
- _map["Struct"] = values.NewPlcREAL(Tempsetpshiftcomf)
-
- // Simple Field (Tempsetpshiftstdby)
- Tempsetpshiftstdby, _TempsetpshiftstdbyErr := io.ReadFloat32(true, 4, 11)
- if _TempsetpshiftstdbyErr != nil {
- return nil, errors.New("Error parsing 'Tempsetpshiftstdby' field " + _TempsetpshiftstdbyErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcREAL(Tempsetpshiftstdby)
- // Simple Field (Tempsetpshifteco)
- Tempsetpshifteco, _TempsetpshiftecoErr := io.ReadFloat32(true, 4, 11)
- if _TempsetpshiftecoErr != nil {
- return nil, errors.New("Error parsing 'Tempsetpshifteco' field " + _TempsetpshiftecoErr.Error())
+ // Simple Field (mr)
+ mr, _mrErr := io.ReadBit()
+ if _mrErr != nil {
+ return nil, errors.New("Error parsing 'mr' field " + _mrErr.Error())
}
- _map["Struct"] = values.NewPlcREAL(Tempsetpshifteco)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Scaling_Speed: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(mr)
- // 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 (mg)
+ mg, _mgErr := io.ReadBit()
+ if _mgErr != nil {
+ return nil, errors.New("Error parsing 'mg' field " + _mgErr.Error())
}
+ _map["Struct"] = values.NewPlcBOOL(mg)
- // Simple Field (TimePeriod)
- TimePeriod, _TimePeriodErr := io.ReadUint16(16)
- if _TimePeriodErr != nil {
- return nil, errors.New("Error parsing 'TimePeriod' field " + _TimePeriodErr.Error())
+ // Simple Field (mb)
+ mb, _mbErr := io.ReadBit()
+ if _mbErr != nil {
+ return nil, errors.New("Error parsing 'mb' field " + _mbErr.Error())
}
- _map["Struct"] = values.NewPlcUINT(TimePeriod)
+ _map["Struct"] = values.NewPlcBOOL(mb)
- // Simple Field (Percent)
- Percent, _PercentErr := io.ReadUint8(8)
- if _PercentErr != nil {
- return nil, errors.New("Error parsing 'Percent' field " + _PercentErr.Error())
+ // Simple Field (mw)
+ mw, _mwErr := io.ReadBit()
+ if _mwErr != nil {
+ return nil, errors.New("Error parsing 'mw' field " + _mwErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Percent)
+ _map["Struct"] = values.NewPlcBOOL(mw)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Scaling_Step_Time: // Struct
+ case datapointType == KnxDatapointType_DPT_Relative_Control_RGBW: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -4981,119 +6580,116 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (TimePeriod)
- TimePeriod, _TimePeriodErr := io.ReadUint16(16)
- if _TimePeriodErr != nil {
- return nil, errors.New("Error parsing 'TimePeriod' field " + _TimePeriodErr.Error())
+ // Simple Field (maskcw)
+ maskcw, _maskcwErr := io.ReadBit()
+ if _maskcwErr != nil {
+ return nil, errors.New("Error parsing 'maskcw' field " + _maskcwErr.Error())
}
- _map["Struct"] = values.NewPlcUINT(TimePeriod)
+ _map["Struct"] = values.NewPlcBOOL(maskcw)
- // Simple Field (Percent)
- Percent, _PercentErr := io.ReadUint8(8)
- if _PercentErr != nil {
- return nil, errors.New("Error parsing 'Percent' field " + _PercentErr.Error())
+ // Simple Field (maskcb)
+ maskcb, _maskcbErr := io.ReadBit()
+ if _maskcbErr != nil {
+ return nil, errors.New("Error parsing 'maskcb' field " + _maskcbErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Percent)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_MeteringValue: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(maskcb)
+
+ // Simple Field (maskcg)
+ maskcg, _maskcgErr := io.ReadBit()
+ if _maskcgErr != nil {
+ return nil, errors.New("Error parsing 'maskcg' field " + _maskcgErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskcg)
+
+ // Simple Field (maskcr)
+ maskcr, _maskcrErr := io.ReadBit()
+ if _maskcrErr != nil {
+ return nil, errors.New("Error parsing 'maskcr' field " + _maskcrErr.Error())
+ }
+ _map["Struct"] = values.NewPlcBOOL(maskcr)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(4); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Countval)
- Countval, _CountvalErr := io.ReadInt32(32)
- if _CountvalErr != nil {
- return nil, errors.New("Error parsing 'Countval' field " + _CountvalErr.Error())
+ // Simple Field (cw)
+ cw, _cwErr := io.ReadBit()
+ if _cwErr != nil {
+ return nil, errors.New("Error parsing 'cw' field " + _cwErr.Error())
}
- _map["Struct"] = values.NewPlcDINT(Countval)
+ _map["Struct"] = values.NewPlcBOOL(cw)
- // Simple Field (Valinffield)
- Valinffield, _ValinffieldErr := io.ReadUint8(8)
- if _ValinffieldErr != nil {
- return nil, errors.New("Error parsing 'Valinffield' field " + _ValinffieldErr.Error())
+ // Simple Field (stepCodeColourWhite)
+ stepCodeColourWhite, _stepCodeColourWhiteErr := io.ReadUint8(3)
+ if _stepCodeColourWhiteErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourWhite' field " + _stepCodeColourWhiteErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Valinffield)
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourWhite)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(3); _err != nil {
+ if _, _err := io.ReadUint8(4); _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())
+ // Simple Field (cb)
+ cb, _cbErr := io.ReadBit()
+ if _cbErr != nil {
+ return nil, errors.New("Error parsing 'cb' field " + _cbErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Alarmunack)
+ _map["Struct"] = values.NewPlcBOOL(cb)
- // Simple Field (Inalarm)
- Inalarm, _InalarmErr := io.ReadBit()
- if _InalarmErr != nil {
- return nil, errors.New("Error parsing 'Inalarm' field " + _InalarmErr.Error())
+ // Simple Field (stepCodeColourBlue)
+ stepCodeColourBlue, _stepCodeColourBlueErr := io.ReadUint8(3)
+ if _stepCodeColourBlueErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourBlue' field " + _stepCodeColourBlueErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Inalarm)
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourBlue)
- // Simple Field (Overridden)
- Overridden, _OverriddenErr := io.ReadBit()
- if _OverriddenErr != nil {
- return nil, errors.New("Error parsing 'Overridden' field " + _OverriddenErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Overridden)
- // Simple Field (Fault)
- Fault, _FaultErr := io.ReadBit()
- if _FaultErr != nil {
- return nil, errors.New("Error parsing 'Fault' field " + _FaultErr.Error())
+ // Simple Field (cg)
+ cg, _cgErr := io.ReadBit()
+ if _cgErr != nil {
+ return nil, errors.New("Error parsing 'cg' field " + _cgErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Fault)
+ _map["Struct"] = values.NewPlcBOOL(cg)
- // Simple Field (Outofservice)
- Outofservice, _OutofserviceErr := io.ReadBit()
- if _OutofserviceErr != nil {
- return nil, errors.New("Error parsing 'Outofservice' field " + _OutofserviceErr.Error())
+ // Simple Field (stepCodeColourGreen)
+ stepCodeColourGreen, _stepCodeColourGreenErr := io.ReadUint8(3)
+ if _stepCodeColourGreenErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourGreen' field " + _stepCodeColourGreenErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Outofservice)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_MBus_Address: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourGreen)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(4); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Manufactid)
- Manufactid, _ManufactidErr := io.ReadUint16(16)
- if _ManufactidErr != nil {
- return nil, errors.New("Error parsing 'Manufactid' field " + _ManufactidErr.Error())
- }
- _map["Struct"] = values.NewPlcUINT(Manufactid)
-
- // Simple Field (Identnumber)
- Identnumber, _IdentnumberErr := io.ReadUint32(32)
- if _IdentnumberErr != nil {
- return nil, errors.New("Error parsing 'Identnumber' field " + _IdentnumberErr.Error())
+ // Simple Field (cr)
+ cr, _crErr := io.ReadBit()
+ if _crErr != nil {
+ return nil, errors.New("Error parsing 'cr' field " + _crErr.Error())
}
- _map["Struct"] = values.NewPlcUDINT(Identnumber)
+ _map["Struct"] = values.NewPlcBOOL(cr)
- // Simple Field (Version)
- Version, _VersionErr := io.ReadUint8(8)
- if _VersionErr != nil {
- return nil, errors.New("Error parsing 'Version' field " + _VersionErr.Error())
+ // Simple Field (stepCodeColourRed)
+ stepCodeColourRed, _stepCodeColourRedErr := io.ReadUint8(3)
+ if _stepCodeColourRedErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourRed' field " + _stepCodeColourRedErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Version)
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourRed)
- // Simple Field (Medium)
- Medium, _MediumErr := io.ReadUint8(8)
- if _MediumErr != nil {
- return nil, errors.New("Error parsing 'Medium' field " + _MediumErr.Error())
+ // Reserved Field (Just skip the bytes)
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Medium)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Colour_RGB: // Struct
+ case datapointType == KnxDatapointType_DPT_Relative_Control_RGB: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -5101,82 +6697,86 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (R)
- R, _RErr := io.ReadUint8(8)
- if _RErr != nil {
- return nil, errors.New("Error parsing 'R' field " + _RErr.Error())
- }
- _map["Struct"] = values.NewPlcUSINT(R)
-
- // Simple Field (G)
- G, _GErr := io.ReadUint8(8)
- if _GErr != nil {
- return nil, errors.New("Error parsing 'G' field " + _GErr.Error())
+ // Simple Field (cb)
+ cb, _cbErr := io.ReadBit()
+ if _cbErr != nil {
+ return nil, errors.New("Error parsing 'cb' field " + _cbErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(G)
+ _map["Struct"] = values.NewPlcBOOL(cb)
- // Simple Field (B)
- B, _BErr := io.ReadUint8(8)
- if _BErr != nil {
- return nil, errors.New("Error parsing 'B' field " + _BErr.Error())
+ // Simple Field (stepCodeColourBlue)
+ stepCodeColourBlue, _stepCodeColourBlueErr := io.ReadUint8(3)
+ if _stepCodeColourBlueErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourBlue' field " + _stepCodeColourBlueErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(B)
- return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_LanguageCodeAlpha2_ASCII: // STRING
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourBlue)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(4); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (value)
- value, _valueErr := io.ReadString(16)
- if _valueErr != nil {
- return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
+ // Simple Field (cg)
+ cg, _cgErr := io.ReadBit()
+ if _cgErr != nil {
+ return nil, errors.New("Error parsing 'cg' field " + _cgErr.Error())
}
- return values.NewPlcSTRING(value), nil
- case datapointType == KnxDatapointType.DPT_Tariff_ActiveEnergy: // Struct
- _map := map[string]api.PlcValue{}
+ _map["Struct"] = values.NewPlcBOOL(cg)
+
+ // Simple Field (stepCodeColourGreen)
+ stepCodeColourGreen, _stepCodeColourGreenErr := io.ReadUint8(3)
+ if _stepCodeColourGreenErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourGreen' field " + _stepCodeColourGreenErr.Error())
+ }
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourGreen)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(8); _err != nil {
+ if _, _err := io.ReadUint8(4); _err != nil {
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (Activeelectricalenergy)
- Activeelectricalenergy, _ActiveelectricalenergyErr := io.ReadInt32(32)
- if _ActiveelectricalenergyErr != nil {
- return nil, errors.New("Error parsing 'Activeelectricalenergy' field " + _ActiveelectricalenergyErr.Error())
+ // Simple Field (cr)
+ cr, _crErr := io.ReadBit()
+ if _crErr != nil {
+ return nil, errors.New("Error parsing 'cr' field " + _crErr.Error())
}
- _map["Struct"] = values.NewPlcDINT(Activeelectricalenergy)
+ _map["Struct"] = values.NewPlcBOOL(cr)
- // Simple Field (Tariff)
- Tariff, _TariffErr := io.ReadUint8(8)
- if _TariffErr != nil {
- return nil, errors.New("Error parsing 'Tariff' field " + _TariffErr.Error())
+ // Simple Field (stepCodeColourRed)
+ stepCodeColourRed, _stepCodeColourRedErr := io.ReadUint8(3)
+ if _stepCodeColourRedErr != nil {
+ return nil, errors.New("Error parsing 'stepCodeColourRed' field " + _stepCodeColourRedErr.Error())
}
- _map["Struct"] = values.NewPlcUSINT(Tariff)
+ _map["Struct"] = values.NewPlcUSINT(stepCodeColourRed)
// Reserved Field (Just skip the bytes)
- if _, _err := io.ReadUint8(6); _err != nil {
+ if _, _err := io.ReadUint8(4); _err != nil {
+ return nil, errors.New("Error parsing reserved field " + _err.Error())
+ }
+ return values.NewPlcStruct(_map), nil
+ case datapointType == KnxDatapointType_DPT_GeographicalLocation: // Struct
+ _map := map[string]api.PlcValue{}
+
+ // 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 (Electricalengergyvalidity)
- Electricalengergyvalidity, _ElectricalengergyvalidityErr := io.ReadBit()
- if _ElectricalengergyvalidityErr != nil {
- return nil, errors.New("Error parsing 'Electricalengergyvalidity' field " + _ElectricalengergyvalidityErr.Error())
+ // Simple Field (longitude)
+ longitude, _longitudeErr := io.ReadFloat32(true, 8, 23)
+ if _longitudeErr != nil {
+ return nil, errors.New("Error parsing 'longitude' field " + _longitudeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Electricalengergyvalidity)
+ _map["Struct"] = values.NewPlcREAL(longitude)
- // Simple Field (Tariffvalidity)
- Tariffvalidity, _TariffvalidityErr := io.ReadBit()
- if _TariffvalidityErr != nil {
- return nil, errors.New("Error parsing 'Tariffvalidity' field " + _TariffvalidityErr.Error())
+ // Simple Field (latitude)
+ latitude, _latitudeErr := io.ReadFloat32(true, 8, 23)
+ if _latitudeErr != nil {
+ return nil, errors.New("Error parsing 'latitude' field " + _latitudeErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(Tariffvalidity)
+ _map["Struct"] = values.NewPlcREAL(latitude)
return values.NewPlcStruct(_map), nil
- case datapointType == KnxDatapointType.DPT_Prioritised_Mode_Control: // Struct
+ case datapointType == KnxDatapointType_DPT_TempRoomSetpSetF16_4: // Struct
_map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
@@ -5184,1500 +6784,1273 @@ func KnxDatapointParse(io *utils.ReadBuffer, datapointType IKnxDatapointType) (a
return nil, errors.New("Error parsing reserved field " + _err.Error())
}
- // Simple Field (DeactivationOfPriority)
- DeactivationOfPriority, _DeactivationOfPriorityErr := io.ReadBit()
- if _DeactivationOfPriorityErr != nil {
- return nil, errors.New("Error parsing 'DeactivationOfPriority' field " + _DeactivationOfPriorityErr.Error())
+ // Simple Field (roomTemperatureSetpointComfort)
+ roomTemperatureSetpointComfort, _roomTemperatureSetpointComfortErr := io.ReadFloat32(true, 4, 11)
+ if _roomTemperatureSetpointComfortErr != nil {
+ return nil, errors.New("Error parsing 'roomTemperatureSetpointComfort' field " + _roomTemperatureSetpointComfortErr.Error())
+ }
+ _map["Struct"] = values.NewPlcREAL(roomTemperatureSetpointComfort)
+
+ // Simple Field (roomTemperatureSetpointStandby)
+ roomTemperatureSetpointStandby, _roomTemperatureSetpointStandbyErr := io.ReadFloat32(true, 4, 11)
+ if _roomTemperatureSetpointStandbyErr != nil {
+ return nil, errors.New("Error parsing 'roomTemperatureSetpointStandby' field " + _roomTemperatureSetpointStandbyErr.Error())
}
- _map["Struct"] = values.NewPlcBOOL(DeactivationOfPriority)
+ _map["Struct"] = values.NewPlcREAL(roomTemperatureSetpointStandby)
- // Simple Field (PriorityLevel)
- PriorityLevel, _PriorityLevelErr := io.ReadUint8(3)
- if _PriorityLevelErr != nil {
- return nil, errors.New("Error parsing 'PriorityLevel' field " + _PriorityLevelErr.Error())
+ // Simple Field (roomTemperatureSetpointEconomy)
... 17013 lines suppressed ...