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 2023/02/28 16:12:51 UTC
[plc4x] branch fix/cdutz/reenable-golang-driver-testsuites updated: chore(driver/eip): Push before wiping my computer (might not build)
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch fix/cdutz/reenable-golang-driver-testsuites
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/fix/cdutz/reenable-golang-driver-testsuites by this push:
new 7f0f53d163 chore(driver/eip): Push before wiping my computer (might not build)
7f0f53d163 is described below
commit 7f0f53d163e08e0e5c4ae373e1f771dbed715bf4
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Tue Feb 28 17:12:41 2023 +0100
chore(driver/eip): Push before wiping my computer (might not build)
---
.../templates/go/complex-type-template.go.ftlh | 6 +-
.../testing/protocols/eip/DriverTestsuite.xml | 21 +-
plc4go/internal/eip/Configuration.go | 5 +-
plc4go/internal/eip/Connection.go | 68 +-
plc4go/internal/eip/Reader.go | 119 +-
plc4go/internal/eip/Tag.go | 27 +-
plc4go/internal/eip/TagHandler.go | 21 +-
plc4go/internal/s7/Tag.go | 1 +
plc4go/protocols/ads/readwrite/model/AmsPacket.go | 1 +
.../readwrite/model/BACnetApplicationTag.go | 1 +
.../readwrite/model/BACnetCalendarEntry.go | 1 +
.../bacnetip/readwrite/model/BACnetChannelValue.go | 2 +
.../bacnetip/readwrite/model/BACnetClientCOV.go | 1 +
...edServiceRequestAtomicReadFileStreamOrRecord.go | 1 +
...rviceRequestConfirmedTextMessageMessageClass.go | 1 +
.../BACnetConfirmedServiceRequestReadRangeRange.go | 1 +
.../readwrite/model/BACnetConstructedData.go | 1 +
.../model/BACnetEventLogRecordLogDatum.go | 1 +
.../readwrite/model/BACnetEventParameter.go | 1 +
...BACnetEventParameterChangeOfValueCivCriteria.go | 1 +
.../readwrite/model/BACnetFaultParameter.go | 1 +
...etFaultParameterFaultExtendedParametersEntry.go | 2 +
...tFaultParameterFaultOutOfRangeMaxNormalValue.go | 1 +
...tFaultParameterFaultOutOfRangeMinNormalValue.go | 1 +
.../bacnetip/readwrite/model/BACnetHostAddress.go | 1 +
.../model/BACnetLandingCallStatusCommand.go | 1 +
.../bacnetip/readwrite/model/BACnetLogData.go | 1 +
.../readwrite/model/BACnetLogDataLogDataEntry.go | 1 +
.../readwrite/model/BACnetLogRecordLogDatum.go | 1 +
.../model/BACnetNotificationParameters.go | 1 +
...ationParametersChangeOfDiscreteValueNewValue.go | 2 +
...tNotificationParametersChangeOfValueNewValue.go | 1 +
.../readwrite/model/BACnetOptionalBinaryPV.go | 1 +
.../model/BACnetOptionalCharacterString.go | 1 +
.../bacnetip/readwrite/model/BACnetOptionalREAL.go | 1 +
.../readwrite/model/BACnetOptionalUnsigned.go | 1 +
.../readwrite/model/BACnetPriorityValue.go | 2 +
.../readwrite/model/BACnetProcessIdSelection.go | 1 +
.../BACnetPropertyAccessResultAccessResult.go | 1 +
.../readwrite/model/BACnetPropertyStates.go | 1 +
.../bacnetip/readwrite/model/BACnetRecipient.go | 1 +
.../bacnetip/readwrite/model/BACnetScale.go | 1 +
...BACnetServiceAckAtomicReadFileStreamOrRecord.go | 1 +
.../bacnetip/readwrite/model/BACnetShedLevel.go | 1 +
.../readwrite/model/BACnetSpecialEventPeriod.go | 1 +
.../bacnetip/readwrite/model/BACnetTimeStamp.go | 1 +
.../readwrite/model/BACnetTimerStateChangeValue.go | 2 +
.../BACnetUnconfirmedServiceRequestWhoHasObject.go | 1 +
.../bacnetip/readwrite/model/BACnetValueSource.go | 1 +
.../bacnetip/readwrite/model/BACnetVendorId.go | 16 +
plc4go/protocols/bacnetip/readwrite/model/NLM.go | 1 +
.../cbus/readwrite/model/AccessControlData.go | 1 +
.../cbus/readwrite/model/AirConditioningData.go | 1 +
plc4go/protocols/cbus/readwrite/model/CALData.go | 2 +
plc4go/protocols/cbus/readwrite/model/CALReply.go | 1 +
.../protocols/cbus/readwrite/model/CBusCommand.go | 2 +
.../model/CBusPointToMultiPointCommand.go | 1 +
.../readwrite/model/CBusPointToPointCommand.go | 1 +
.../model/CBusPointToPointToMultiPointCommand.go | 1 +
.../readwrite/model/ClockAndTimekeepingData.go | 2 +
.../protocols/cbus/readwrite/model/EncodedReply.go | 1 +
.../cbus/readwrite/model/ErrorReportingData.go | 1 +
.../cbus/readwrite/model/LevelInformation.go | 2 +
.../protocols/cbus/readwrite/model/LightingData.go | 1 +
.../cbus/readwrite/model/MeasurementData.go | 1 +
.../readwrite/model/MediaTransportControlData.go | 1 +
.../protocols/cbus/readwrite/model/MeteringData.go | 2 +
.../protocols/cbus/readwrite/model/MonitoredSAL.go | 1 +
plc4go/protocols/cbus/readwrite/model/Reply.go | 1 +
.../cbus/readwrite/model/ReplyOrConfirmation.go | 2 +
plc4go/protocols/cbus/readwrite/model/Request.go | 1 +
.../protocols/cbus/readwrite/model/SecurityData.go | 2 +
.../cbus/readwrite/model/StatusRequest.go | 1 +
.../cbus/readwrite/model/TelephonyData.go | 2 +
.../cbus/readwrite/model/TriggerControlData.go | 1 +
plc4go/protocols/eip/readwrite/model/CIPClassID.go | 536 ++++-
plc4go/protocols/eip/readwrite/model/CIPStatus.go | 14 +-
plc4go/protocols/eip/readwrite/model/CipService.go | 28 +-
.../eip/readwrite/model/GetAttributeListRequest.go | 175 ++
.../readwrite/model/GetAttributeListResponse.go | 175 ++
.../readwrite/model/GetAttributeSingleRequest.go | 175 ++
.../readwrite/model/GetAttributeSingleResponse.go | 175 ++
.../eip/readwrite/model/SetAttributeAllRequest.go | 175 ++
.../eip/readwrite/model/SetAttributeAllResponse.go | 175 ++
.../eip/readwrite/model/SetAttributeListRequest.go | 175 ++
.../readwrite/model/SetAttributeListResponse.go | 175 ++
.../readwrite/model/SetAttributeSingleRequest.go | 175 ++
.../readwrite/model/SetAttributeSingleResponse.go | 175 ++
.../protocols/eip/readwrite/model/StaticHelper.go | 19 +
.../knxnetip/readwrite/model/KnxDatapoint.go | 23 +
.../knxnetip/readwrite/model/KnxDatapointType.go | 2084 ++++++++++----------
.../knxnetip/readwrite/model/KnxManufacturer.go | 16 +-
plc4go/spi/testutils/DriverTestRunner.go | 12 +-
plc4go/tests/drivers/tests/eip_driver_test.go | 11 +-
.../java/bacnetip/readwrite/BACnetVendorId.java | 2 +
.../plc4x/java/eip/readwrite/CIPClassID.java | 69 +-
.../apache/plc4x/java/eip/readwrite/CIPStatus.java | 2 +-
.../plc4x/java/eip/readwrite/CipService.java | 58 +-
.../java/eip/base/protocol/EipProtocolLogic.java | 3 +-
.../org/apache/plc4x/java/eip/base/tag/EipTag.java | 16 +-
.../java/knxnetip/readwrite/KnxDatapoint.java | 30 +
.../java/knxnetip/readwrite/KnxDatapointType.java | 460 ++---
.../java/knxnetip/readwrite/KnxManufacturer.java | 3 +-
.../apache/plc4x/java/spi/Plc4xNettyWrapper.java | 2 +-
.../org/apache/plc4x/java/spi/values/PlcDINT.java | 2 +-
protocols/ab-eth/pom.xml | 6 +
protocols/ads/pom.xml | 6 +
protocols/canopen/pom.xml | 6 +
protocols/df1/pom.xml | 6 +
protocols/eip/pom.xml | 6 +
.../eip/src/main/resources/protocols/eip/eip.mspec | 529 ++++-
.../resources/protocols/eip/DriverTestsuite.xml | 21 +-
protocols/firmata/pom.xml | 6 +
protocols/genericcan/pom.xml | 6 +
protocols/knxnetip/pom.xml | 6 +
protocols/modbus/pom.xml | 6 +
protocols/mqtt/pom.xml | 6 +
protocols/opcua/pom.xml | 6 +
protocols/open-protocol/pom.xml | 5 +
protocols/plc4x-api/pom.xml | 6 +
protocols/plc4x/pom.xml | 6 +
protocols/profinet/pom.xml | 6 +
protocols/s7/pom.xml | 6 +
protocols/simulated/pom.xml | 6 +
protocols/socketcan/pom.xml | 6 +
125 files changed, 4622 insertions(+), 1538 deletions(-)
diff --git a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
index d8db4792fe..b6b4cc84f0 100644
--- a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
+++ b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh
@@ -151,13 +151,13 @@ type _${type.name} struct {
}
<#if type.isDiscriminatedParentTypeDefinition()>
-<#assign discriminatedParentType = type.asComplexTypeDefinition().orElseThrow()>
+<#assign complexTypeDefinition = type.asComplexTypeDefinition().orElseThrow()>
type _${type.name}ChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
- <#list discriminatedParentType.getDiscriminatorNames() as discriminatorName>
+ <#list complexTypeDefinition.getDiscriminatorNames() as discriminatorName>
<#-- If the discriminator name matches that of another field, suppress the methods generation -->
- <#if !type.isNonDiscriminatorField(discriminatorName)>
+ <#if type.isDiscriminatorField(discriminatorName)>
<#assign typeRef=helper.getDiscriminatorTypes()[discriminatorName]>
Get${discriminatorName?cap_first}() <#if typeRef.isNonSimpleTypeReference() && !typeRef.isEnumTypeReference()>I</#if>${helper.getLanguageTypeNameForTypeReference(typeRef)}
</#if>
diff --git a/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml b/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
index 66d1049691..38ee061974 100644
--- a/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
+++ b/plc4go/assets/testing/protocols/eip/DriverTestsuite.xml
@@ -345,10 +345,10 @@
</parser-arguments>
<EipPacket>
<command dataType="uint" bitLength="16">111</command>
- <packetLength dataType="uint" bitLength="16">112</packetLength>
- <sessionHandle dataType="uint" bitLength="32">1073742122</sessionHandle>
+ <packetLength dataType="uint" bitLength="16">36</packetLength>
+ <sessionHandle dataType="uint" bitLength="32">1074224669</sessionHandle>
<status dataType="uint" bitLength="32">0</status>
- <senderContext dataType="byte" bitLength="64">0x0000000000000000</senderContext>
+ <senderContext dataType="byte" bitLength="64">0x504c433458202020</senderContext>
<options dataType="uint" bitLength="32">0</options>
<CipRRData>
<interfaceHandle dataType="uint" bitLength="32">0</interfaceHandle>
@@ -364,7 +364,7 @@
<TypeId>
<id dataType="uint" bitLength="16">178</id>
<UnConnectedDataItem>
- <packetSize dataType="uint" bitLength="16">96</packetSize>
+ <packetSize dataType="uint" bitLength="16">10</packetSize>
<service>
<CipService>
<response dataType="bit" bitLength="1">true</response>
@@ -376,9 +376,9 @@
<data>
<CIPData>
<dataType>
- <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="STRUCTURED">672</CIPDataTypeCode>
+ <CIPDataTypeCode dataType="uint" bitLength="16" stringRepresentation="DINT">196</CIPDataTypeCode>
</dataType>
- <data dataType="byte" bitLength="720">0xce0f2b000000556d6d2c2049206e6f772073656520796f7520696e207468652077697265736861726b20636170747572650000000000000000000000000000000000000000000000000000000000000000000000000000000000</data>
+ <data dataType="byte" bitLength="32">0x00000216</data>
</CIPData>
</data>
</CipReadResponse>
@@ -397,13 +397,18 @@
<hurz>
<EipTag>
<node dataType="string" bitLength="40" encoding="UTF-8">%rate</node>
- <elementNb dataType="uint" bitLength="16">0</elementNb>
- <defaultJavaType dataType="string" bitLength="128" encoding="UTF-8">java.lang.Object</defaultJavaType>
+ <elementNb dataType="uint" bitLength="16">1</elementNb>
</EipTag>
</hurz>
</tags>
</PlcReadRequest>
<values>
+ <hurz>
+ <ResponseItem>
+ <result dataType="string" bitLength="16" encoding="UTF-8">OK</result>
+ <PlcDINT dataType="int" bitLength="32">369229824</PlcDINT>
+ </ResponseItem>
+ </hurz>
</values>
</PlcReadResponse>
</api-response>
diff --git a/plc4go/internal/eip/Configuration.go b/plc4go/internal/eip/Configuration.go
index d7c0e73c82..9a3f903c32 100644
--- a/plc4go/internal/eip/Configuration.go
+++ b/plc4go/internal/eip/Configuration.go
@@ -20,9 +20,10 @@
package eip
import (
+ "strconv"
+
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
- "strconv"
)
type Configuration struct {
@@ -32,7 +33,7 @@ type Configuration struct {
func ParseFromOptions(options map[string][]string) (Configuration, error) {
configuration := Configuration{
- backplane: 0,
+ backplane: 1,
slot: 0,
}
if localRackString := getFromOptions(options, "backplane"); localRackString != "" {
diff --git a/plc4go/internal/eip/Connection.go b/plc4go/internal/eip/Connection.go
index 82aa6f9915..4ef90872eb 100644
--- a/plc4go/internal/eip/Connection.go
+++ b/plc4go/internal/eip/Connection.go
@@ -52,6 +52,8 @@ type Connection struct {
cipEncapsulationAvailable bool
connectionSerialNumber uint16
connectionPathSize uint8
+ useMessageRouter bool
+ useConnectionManager bool
routingAddress []readWriteModel.PathSegment
tracer *spi.Tracer
}
@@ -271,8 +273,70 @@ func (m *Connection) setupConnection(ctx context.Context, ch chan plc4go.PlcConn
case err := <-connectionResponseErrorChan:
m.fireConnectionError(errors.Wrap(err, "Error receiving of ListServices response"), ch)
case _ = <-connectionResponseChan:
- // Send an event that connection setup is complete.
- m.fireConnected(ch)
+
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // List All Attributes
+
+ log.Debug().Msg("Sending ListAllAttributes Request")
+ listAllAttributesResponseChan := make(chan readWriteModel.GetAttributeAllResponse)
+ listAllAttributesErrorChan := make(chan error)
+ classSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewClassID(uint8(0), uint8(2)))
+ instanceSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewInstanceID(uint8(0), uint8(1)))
+ if err := m.messageCodec.SendRequest(ctx, readWriteModel.NewCipRRData(EmptyInterfaceHandle, 0,
+ []readWriteModel.TypeId{
+ readWriteModel.NewNullAddressItem(),
+ readWriteModel.NewUnConnectedDataItem(
+ readWriteModel.NewGetAttributeAllRequest(
+ classSegment, instanceSegment, uint16(0))),
+ }, m.sessionHandle, uint32(readWriteModel.CIPStatus_Success), m.senderContext, 0), func(message spi.Message) bool {
+ eipPacket := message.(readWriteModel.CipRRData)
+ return eipPacket != nil
+ }, func(message spi.Message) error {
+ cipRrData := message.(readWriteModel.CipRRData)
+ if cipRrData.GetStatus() == uint32(readWriteModel.CIPStatus_Success) {
+ dataItem := cipRrData.GetTypeIds()[1].(readWriteModel.UnConnectedDataItem)
+ response := dataItem.GetService().(readWriteModel.GetAttributeAllResponse)
+ if response.GetStatus() != uint8(readWriteModel.CIPStatus_Success) {
+ // TODO: Return an error ...
+ } else if response.GetAttributes() != nil {
+ for _, classId := range response.GetAttributes().GetClassId() {
+ if curCipClassId, ok := readWriteModel.CIPClassIDByValue(classId); ok {
+ switch curCipClassId {
+ case readWriteModel.CIPClassID_MessageRouter:
+ m.useMessageRouter = true
+ case readWriteModel.CIPClassID_ConnectionManager:
+ m.useConnectionManager = true
+ }
+ }
+ }
+ }
+ log.Debug().Msgf("Connection using message router %t, using connection manager %t", m.useMessageRouter, m.useConnectionManager)
+ listAllAttributesResponseChan <- response
+ }
+ return nil
+ }, func(err error) error {
+ // If this is a timeout, do a check if the connection requires a reconnection
+ if _, isTimeout := err.(plcerrors.TimeoutError); isTimeout {
+ log.Warn().Msg("Timeout during Connection establishing, closing channel...")
+ m.Close()
+ }
+ connectionResponseErrorChan <- errors.Wrap(err, "got error processing request")
+ return nil
+ }, m.GetTtl()); err != nil {
+ m.fireConnectionError(errors.Wrap(err, "Error during sending of EIP ListServices Request"), ch)
+ }
+
+ select {
+ case err := <-listAllAttributesErrorChan:
+ m.fireConnectionError(errors.Wrap(err, "Error receiving of ListServices response"), ch)
+ case _ = <-listAllAttributesResponseChan:
+ if m.useConnectionManager {
+ // TODO: Continue here ....
+ } else {
+ // Send an event that connection setup is complete.
+ m.fireConnected(ch)
+ }
+ }
}
}
}
diff --git a/plc4go/internal/eip/Reader.go b/plc4go/internal/eip/Reader.go
index b369fe640c..2cf06398c8 100644
--- a/plc4go/internal/eip/Reader.go
+++ b/plc4go/internal/eip/Reader.go
@@ -22,8 +22,9 @@ package eip
import (
"context"
"encoding/binary"
+ "fmt"
+ "regexp"
"strconv"
- "strings"
"time"
"github.com/apache/plc4x/plc4go/pkg/api/model"
@@ -59,7 +60,7 @@ func (m *Reader) Read(ctx context.Context, readRequest model.PlcReadRequest) <-c
result := make(chan model.PlcReadRequestResult)
go func() {
classSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewClassID(0, 6))
- instanceSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewClassID(0, 1))
+ instanceSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewInstanceID(0, 1))
for _, tagName := range readRequest.GetTagNames() {
plcTag := readRequest.GetTag(tagName).(EIPPlcTag)
tag := plcTag.GetTag()
@@ -76,19 +77,17 @@ func (m *Reader) Read(ctx context.Context, readRequest model.PlcReadRequest) <-c
}
return
}
- request := readWriteModel.NewCipReadRequest(ansi, elementsNb, uint16(0))
- requestItem := readWriteModel.NewCipUnconnectedRequest(classSegment, instanceSegment, request,
+ requestItem := readWriteModel.NewCipUnconnectedRequest(classSegment, instanceSegment,
+ readWriteModel.NewCipReadRequest(ansi, elementsNb, 0),
m.configuration.backplane, m.configuration.slot, uint16(0))
typeIds := []readWriteModel.TypeId{
readWriteModel.NewNullAddressItem(),
readWriteModel.NewUnConnectedDataItem(requestItem),
}
- pkt := readWriteModel.NewCipRRData(0, 0, typeIds, *m.sessionHandle,
- uint32(readWriteModel.CIPStatus_Success), []byte(DefaultSenderContext), 0)
-
+ request := readWriteModel.NewCipRRData(0, 0, typeIds, *m.sessionHandle, uint32(readWriteModel.CIPStatus_Success), []byte(DefaultSenderContext), 0)
transaction := m.tm.StartTransaction()
transaction.Submit(func() {
- if err := m.messageCodec.SendRequest(ctx, pkt,
+ if err := m.messageCodec.SendRequest(ctx, request,
func(message spi.Message) bool {
eipPacket := message.(readWriteModel.EipPacket)
if eipPacket == nil {
@@ -140,81 +139,43 @@ func (m *Reader) Read(ctx context.Context, readRequest model.PlcReadRequest) <-c
}
func toAnsi(tag string) ([]byte, error) {
- arrayIndex := byte(0)
- isArray := false
- isStruct := false
- tagFinal := tag
- if strings.Contains(tag, "[") {
- isArray = true
- index := tag[strings.Index(tag, "[")+1 : strings.Index(tag, "]")]
- parsedArrayIndex, err := strconv.ParseUint(index, 10, 8)
- if err != nil {
- return nil, err
- }
- arrayIndex = byte(parsedArrayIndex)
- tagFinal = tag[0:strings.Index(tag, "[")]
- }
- if strings.Contains(tag, ".") {
- tagFinal = tag[0:strings.Index(tag, ".")]
- isStruct = true
- }
- isPadded := len(tagFinal)%2 != 0
- dataSegLength := 2 + len(tagFinal)
- if isPadded {
- dataSegLength += 1
- }
- if isArray {
- dataSegLength += 2
- }
-
- if isStruct {
- for _, subStr := range strings.Split(tag[strings.Index(tag, ".")+1:], ".") {
- dataSegLength += 2 + len(subStr) + len(subStr)%2
- }
- }
-
- buffer := utils.NewWriteBufferByteBased(utils.WithByteOrderForByteBasedBuffer(binary.LittleEndian))
-
- err := buffer.WriteByte("", 0x91)
- if err != nil {
- return nil, err
- }
- err = buffer.WriteByte("", byte(len(tagFinal)))
- if err != nil {
- return nil, err
- }
-
- quoteToASCII := strconv.QuoteToASCII(tagFinal)
- err = buffer.WriteByteArray("", []byte(quoteToASCII)[1:len(quoteToASCII)-1])
- if err != nil {
- return nil, err
- }
+ resourceAddressPattern := regexp.MustCompile("([.\\[\\]])*([A-Za-z_0-9]+){1}")
- if isPadded {
- err = buffer.WriteByte("", 0x00)
- if err != nil {
- return nil, err
- }
- }
+ segments := make([]readWriteModel.PathSegment, 0)
+ lengthInBytes := uint16(0)
+ submatch := resourceAddressPattern.FindAllStringSubmatch(tag, -1)
+ for _, match := range submatch {
+ identifier := match[2]
+ qualifier := match[1]
- if isArray {
- err = buffer.WriteByte("", 0x28)
- if err != nil {
- return nil, err
- }
- err = buffer.WriteByte("", arrayIndex)
- if err != nil {
- return nil, err
+ var newSegment readWriteModel.PathSegment
+ if len(qualifier) > 0 {
+ if qualifier == "[" {
+ numericIdentifier, err := strconv.Atoi(identifier)
+ if err != nil {
+ return nil, fmt.Errorf("error parsing address %s, identifier %s couldn't be parsed to an integer", tag, identifier)
+ }
+ newSegment = readWriteModel.NewLogicalSegment(readWriteModel.NewMemberID(0, uint8(numericIdentifier)))
+ } else {
+ newSegment = readWriteModel.NewDataSegment(readWriteModel.NewAnsiExtendedSymbolSegment(identifier, nil))
+ }
+ } else {
+ var pad *uint8
+ if len(identifier)%2 != 0 {
+ paddingValue := uint8(0)
+ pad = &paddingValue
+ }
+ newSegment = readWriteModel.NewDataSegment(readWriteModel.NewAnsiExtendedSymbolSegment(identifier, pad))
}
+ lengthInBytes += newSegment.GetLengthInBytes(context.Background())
+ segments = append(segments, newSegment)
}
- if isStruct {
- ansi, err := toAnsi(tag[strings.Index(tag, ".")+1:])
- if err != nil {
- return nil, err
- }
- err = buffer.WriteByteArray("", ansi)
- if err != nil {
- return nil, err
+ buffer := utils.NewWriteBufferByteBased(
+ utils.WithInitialSizeForByteBasedBuffer(int(lengthInBytes)),
+ utils.WithByteOrderForByteBasedBuffer(binary.LittleEndian))
+ for _, segment := range segments {
+ if err := segment.SerializeWithWriteBuffer(context.Background(), buffer); err != nil {
+ return nil, errors.Wrap(err, "error converting tag to ansi")
}
}
return buffer.GetBytes(), nil
diff --git a/plc4go/internal/eip/Tag.go b/plc4go/internal/eip/Tag.go
index 6cb16fe76e..6b689e07ce 100644
--- a/plc4go/internal/eip/Tag.go
+++ b/plc4go/internal/eip/Tag.go
@@ -20,6 +20,7 @@
package eip
import (
+ "context"
"encoding/binary"
"github.com/apache/plc4x/plc4go/pkg/api/model"
@@ -30,6 +31,7 @@ import (
type EIPPlcTag interface {
model.PlcTag
+ utils.Serializable
GetTag() string
GetType() readWrite.CIPDataTypeCode
@@ -42,6 +44,14 @@ type plcTag struct {
ElementNb uint16
}
+func NewTag(tag string, _type readWrite.CIPDataTypeCode, elementNb uint16) plcTag {
+ return plcTag{
+ Tag: tag,
+ Type: _type,
+ ElementNb: elementNb,
+ }
+}
+
func (m plcTag) GetAddressString() string {
return m.GetTag()
}
@@ -58,14 +68,6 @@ func (m plcTag) GetArrayInfo() []model.ArrayInfo {
return []model.ArrayInfo{}
}
-func NewTag(tag string, _type readWrite.CIPDataTypeCode, elementNb uint16) plcTag {
- return plcTag{
- Tag: tag,
- Type: _type,
- ElementNb: elementNb,
- }
-}
-
func (m plcTag) GetTag() string {
return m.Tag
}
@@ -80,13 +82,13 @@ func (m plcTag) GetElementNb() uint16 {
func (m plcTag) Serialize() ([]byte, error) {
wb := utils.NewWriteBufferByteBased(utils.WithByteOrderForByteBasedBuffer(binary.LittleEndian))
- if err := m.SerializeWithWriteBuffer(wb); err != nil {
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
return nil, err
}
return wb.GetBytes(), nil
}
-func (m plcTag) SerializeWithWriteBuffer(writeBuffer utils.WriteBuffer) error {
+func (m plcTag) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
if err := writeBuffer.PushContext("EipTag"); err != nil {
return err
}
@@ -105,11 +107,6 @@ func (m plcTag) SerializeWithWriteBuffer(writeBuffer utils.WriteBuffer) error {
return err
}
- // TODO: remove this from the spec
- if err := writeBuffer.WriteString("defaultJavaType", uint32(len([]rune("java.lang.Object"))*8), "UTF-8", "java.lang.Object"); err != nil {
- return err
- }
-
if err := writeBuffer.PopContext("EipTag"); err != nil {
return err
}
diff --git a/plc4go/internal/eip/TagHandler.go b/plc4go/internal/eip/TagHandler.go
index fdb3fa134e..2ba47d6aa3 100644
--- a/plc4go/internal/eip/TagHandler.go
+++ b/plc4go/internal/eip/TagHandler.go
@@ -22,12 +22,8 @@ package eip
import (
"fmt"
"regexp"
- "strconv"
"github.com/apache/plc4x/plc4go/pkg/api/model"
- readWriteModel "github.com/apache/plc4x/plc4go/protocols/eip/readwrite/model"
- "github.com/apache/plc4x/plc4go/spi/utils"
- "github.com/pkg/errors"
)
type TagHandler struct {
@@ -36,7 +32,7 @@ type TagHandler struct {
func NewTagHandler() TagHandler {
return TagHandler{
- addressPattern: regexp.MustCompile(`^%(?P<tag>[a-zA-Z_.0-9]+\[?[0-9]*]?):?(?P<dataType>[A-Z]*):?(?P<elementNb>[0-9]*)`),
+ addressPattern: regexp.MustCompile(`^%(?P<tag>[%a-zA-Z_.0-9]+\[?[0-9]*]?):?(?P<dataType>[A-Z]*):?(?P<elementNb>[0-9]*)`),
}
}
@@ -46,18 +42,9 @@ const (
ELEMENT_NB = "elementNb"
)
-func (m TagHandler) ParseTag(query string) (model.PlcTag, error) {
- if match := utils.GetSubgroupMatches(m.addressPattern, query); match != nil {
- tag := match[TAG]
- _type, ok := readWriteModel.CIPDataTypeCodeByName(match[DATA_TYPE])
- if !ok {
- return nil, errors.Errorf("Unknown type %s", match[DATA_TYPE])
- }
- parsedUint, _ := strconv.ParseUint(match[ELEMENT_NB], 10, 16)
- elementNb := uint16(parsedUint)
- return NewTag(tag, _type, elementNb), nil
- }
- return nil, errors.Errorf("Unable to parse %s", query)
+func (m TagHandler) ParseTag(tagAddress string) (model.PlcTag, error) {
+ // TODO: This isn't pretty ...
+ return NewTag(tagAddress, 0, uint16(1)), nil
}
func (m TagHandler) ParseQuery(query string) (model.PlcQuery, error) {
diff --git a/plc4go/internal/s7/Tag.go b/plc4go/internal/s7/Tag.go
index bcc7c923bc..664d011de1 100644
--- a/plc4go/internal/s7/Tag.go
+++ b/plc4go/internal/s7/Tag.go
@@ -136,6 +136,7 @@ func (m plcTag) GetBitOffset() uint8 {
func (m plcTag) GetQuantity() uint16 {
return m.NumElements
}
+
func (m plcTag) Serialize() ([]byte, error) {
wb := utils.NewWriteBufferByteBased(utils.WithByteOrderForByteBasedBuffer(binary.BigEndian))
if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
diff --git a/plc4go/protocols/ads/readwrite/model/AmsPacket.go b/plc4go/protocols/ads/readwrite/model/AmsPacket.go
index d237c1bc2b..34e596fdbc 100644
--- a/plc4go/protocols/ads/readwrite/model/AmsPacket.go
+++ b/plc4go/protocols/ads/readwrite/model/AmsPacket.go
@@ -83,6 +83,7 @@ type _AmsPacket struct {
type _AmsPacketChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetErrorCode() uint32
GetCommandId() CommandId
GetResponse() bool
}
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go
index 5e103b492c..446093af0f 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetApplicationTag.go
@@ -55,6 +55,7 @@ type _BACnetApplicationTag struct {
type _BACnetApplicationTagChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetActualTagNumber() uint8
}
type BACnetApplicationTagParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetCalendarEntry.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetCalendarEntry.go
index cea64a454e..0f003c6345 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetCalendarEntry.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetCalendarEntry.go
@@ -53,6 +53,7 @@ type _BACnetCalendarEntry struct {
type _BACnetCalendarEntryChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetCalendarEntryParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetChannelValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetChannelValue.go
index e100ff3b86..9825da6977 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetChannelValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetChannelValue.go
@@ -55,6 +55,8 @@ type _BACnetChannelValue struct {
type _BACnetChannelValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
+ GetPeekedIsContextTag() bool
}
type BACnetChannelValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetClientCOV.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetClientCOV.go
index 2cf6f454f0..ef1a56b345 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetClientCOV.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetClientCOV.go
@@ -53,6 +53,7 @@ type _BACnetClientCOV struct {
type _BACnetClientCOVChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetClientCOVParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go
index b163098e90..79bb14e028 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord.go
@@ -59,6 +59,7 @@ type _BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord struct {
type _BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass.go
index e37d303641..32698e7423 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass.go
@@ -62,6 +62,7 @@ type _BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass struct {
type _BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRangeRange.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRangeRange.go
index 49a6430932..258c0e0bc7 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRangeRange.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetConfirmedServiceRequestReadRangeRange.go
@@ -59,6 +59,7 @@ type _BACnetConfirmedServiceRequestReadRangeRange struct {
type _BACnetConfirmedServiceRequestReadRangeRangeChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetConfirmedServiceRequestReadRangeRangeParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetConstructedData.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetConstructedData.go
index b08c5897ca..de08aa16aa 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetConstructedData.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetConstructedData.go
@@ -69,6 +69,7 @@ type _BACnetConstructedDataChildRequirements interface {
GetLengthInBits(ctx context.Context) uint16
GetObjectTypeArgument() BACnetObjectType
GetPropertyIdentifierArgument() BACnetPropertyIdentifier
+ GetPeekedTagNumber() uint8
}
type BACnetConstructedDataParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetEventLogRecordLogDatum.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetEventLogRecordLogDatum.go
index 6372e38528..685aa0df26 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetEventLogRecordLogDatum.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetEventLogRecordLogDatum.go
@@ -62,6 +62,7 @@ type _BACnetEventLogRecordLogDatum struct {
type _BACnetEventLogRecordLogDatumChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetEventLogRecordLogDatumParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameter.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameter.go
index de33004ae0..b32064cf54 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameter.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameter.go
@@ -53,6 +53,7 @@ type _BACnetEventParameter struct {
type _BACnetEventParameterChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetEventParameterParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameterChangeOfValueCivCriteria.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameterChangeOfValueCivCriteria.go
index 284278a33d..3ac4af8efb 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameterChangeOfValueCivCriteria.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameterChangeOfValueCivCriteria.go
@@ -62,6 +62,7 @@ type _BACnetEventParameterChangeOfValueCivCriteria struct {
type _BACnetEventParameterChangeOfValueCivCriteriaChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetEventParameterChangeOfValueCivCriteriaParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameter.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameter.go
index 2176885462..6d4d8419b5 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameter.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameter.go
@@ -53,6 +53,7 @@ type _BACnetFaultParameter struct {
type _BACnetFaultParameterChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetFaultParameterParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultExtendedParametersEntry.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultExtendedParametersEntry.go
index 5e261b8204..5544ef81c9 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultExtendedParametersEntry.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultExtendedParametersEntry.go
@@ -55,6 +55,8 @@ type _BACnetFaultParameterFaultExtendedParametersEntry struct {
type _BACnetFaultParameterFaultExtendedParametersEntryChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
+ GetPeekedIsContextTag() bool
}
type BACnetFaultParameterFaultExtendedParametersEntryParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMaxNormalValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMaxNormalValue.go
index 399c9b0fdd..bbf6c14742 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMaxNormalValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMaxNormalValue.go
@@ -62,6 +62,7 @@ type _BACnetFaultParameterFaultOutOfRangeMaxNormalValue struct {
type _BACnetFaultParameterFaultOutOfRangeMaxNormalValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetFaultParameterFaultOutOfRangeMaxNormalValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMinNormalValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMinNormalValue.go
index d50cdc8979..f5b35640e5 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMinNormalValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetFaultParameterFaultOutOfRangeMinNormalValue.go
@@ -62,6 +62,7 @@ type _BACnetFaultParameterFaultOutOfRangeMinNormalValue struct {
type _BACnetFaultParameterFaultOutOfRangeMinNormalValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetFaultParameterFaultOutOfRangeMinNormalValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetHostAddress.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetHostAddress.go
index a062a15975..8c60a55687 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetHostAddress.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetHostAddress.go
@@ -53,6 +53,7 @@ type _BACnetHostAddress struct {
type _BACnetHostAddressChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetHostAddressParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetLandingCallStatusCommand.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetLandingCallStatusCommand.go
index 7ef3f5db3d..cbccfc4acf 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetLandingCallStatusCommand.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetLandingCallStatusCommand.go
@@ -53,6 +53,7 @@ type _BACnetLandingCallStatusCommand struct {
type _BACnetLandingCallStatusCommandChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetLandingCallStatusCommandParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetLogData.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetLogData.go
index b1053625eb..95f3748a19 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetLogData.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetLogData.go
@@ -62,6 +62,7 @@ type _BACnetLogData struct {
type _BACnetLogDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetLogDataParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetLogDataLogDataEntry.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetLogDataLogDataEntry.go
index 047932e47b..b6140584c0 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetLogDataLogDataEntry.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetLogDataLogDataEntry.go
@@ -53,6 +53,7 @@ type _BACnetLogDataLogDataEntry struct {
type _BACnetLogDataLogDataEntryChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetLogDataLogDataEntryParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetLogRecordLogDatum.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetLogRecordLogDatum.go
index 5be81f9698..1b46c8f6b1 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetLogRecordLogDatum.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetLogRecordLogDatum.go
@@ -62,6 +62,7 @@ type _BACnetLogRecordLogDatum struct {
type _BACnetLogRecordLogDatumChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetLogRecordLogDatumParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParameters.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParameters.go
index 27fbb6733c..af45fccacf 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParameters.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParameters.go
@@ -63,6 +63,7 @@ type _BACnetNotificationParameters struct {
type _BACnetNotificationParametersChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetNotificationParametersParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfDiscreteValueNewValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfDiscreteValueNewValue.go
index 792dc7e65b..2dc7669115 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfDiscreteValueNewValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfDiscreteValueNewValue.go
@@ -64,6 +64,8 @@ type _BACnetNotificationParametersChangeOfDiscreteValueNewValue struct {
type _BACnetNotificationParametersChangeOfDiscreteValueNewValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
+ GetPeekedIsContextTag() bool
}
type BACnetNotificationParametersChangeOfDiscreteValueNewValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go
index 31925df960..aa3a124c4b 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetNotificationParametersChangeOfValueNewValue.go
@@ -62,6 +62,7 @@ type _BACnetNotificationParametersChangeOfValueNewValue struct {
type _BACnetNotificationParametersChangeOfValueNewValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetNotificationParametersChangeOfValueNewValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalBinaryPV.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalBinaryPV.go
index 5f5aeb88d4..8c8b55fca3 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalBinaryPV.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalBinaryPV.go
@@ -53,6 +53,7 @@ type _BACnetOptionalBinaryPV struct {
type _BACnetOptionalBinaryPVChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetOptionalBinaryPVParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalCharacterString.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalCharacterString.go
index d39cfe8558..8272a08750 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalCharacterString.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalCharacterString.go
@@ -53,6 +53,7 @@ type _BACnetOptionalCharacterString struct {
type _BACnetOptionalCharacterStringChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetOptionalCharacterStringParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalREAL.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalREAL.go
index 50d59fb110..8f83487e0d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalREAL.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalREAL.go
@@ -53,6 +53,7 @@ type _BACnetOptionalREAL struct {
type _BACnetOptionalREALChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetOptionalREALParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalUnsigned.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalUnsigned.go
index a76794f873..3da144d52e 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalUnsigned.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetOptionalUnsigned.go
@@ -53,6 +53,7 @@ type _BACnetOptionalUnsigned struct {
type _BACnetOptionalUnsignedChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetOptionalUnsignedParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetPriorityValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetPriorityValue.go
index 887c5e859a..41495ce498 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetPriorityValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetPriorityValue.go
@@ -58,6 +58,8 @@ type _BACnetPriorityValue struct {
type _BACnetPriorityValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
+ GetPeekedIsContextTag() bool
}
type BACnetPriorityValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetProcessIdSelection.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetProcessIdSelection.go
index dc979bb84f..be0a49d86e 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetProcessIdSelection.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetProcessIdSelection.go
@@ -53,6 +53,7 @@ type _BACnetProcessIdSelection struct {
type _BACnetProcessIdSelectionChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetProcessIdSelectionParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyAccessResultAccessResult.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyAccessResultAccessResult.go
index bb9793307d..351c245ec2 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyAccessResultAccessResult.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyAccessResultAccessResult.go
@@ -58,6 +58,7 @@ type _BACnetPropertyAccessResultAccessResult struct {
type _BACnetPropertyAccessResultAccessResultChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetPropertyAccessResultAccessResultParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyStates.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyStates.go
index b53a7eaf62..16e670912f 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyStates.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyStates.go
@@ -53,6 +53,7 @@ type _BACnetPropertyStates struct {
type _BACnetPropertyStatesChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetPropertyStatesParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetRecipient.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetRecipient.go
index 1fe0d1b831..49d40f7160 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetRecipient.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetRecipient.go
@@ -53,6 +53,7 @@ type _BACnetRecipient struct {
type _BACnetRecipientChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetRecipientParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetScale.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetScale.go
index ecaecaac79..7b02f774df 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetScale.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetScale.go
@@ -53,6 +53,7 @@ type _BACnetScale struct {
type _BACnetScaleChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetScaleParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go
index ad5bc6e4a0..e4393b9cfd 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetServiceAckAtomicReadFileStreamOrRecord.go
@@ -59,6 +59,7 @@ type _BACnetServiceAckAtomicReadFileStreamOrRecord struct {
type _BACnetServiceAckAtomicReadFileStreamOrRecordChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetServiceAckAtomicReadFileStreamOrRecordParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetShedLevel.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetShedLevel.go
index 11a26fb4c7..6d5ae4f149 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetShedLevel.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetShedLevel.go
@@ -53,6 +53,7 @@ type _BACnetShedLevel struct {
type _BACnetShedLevelChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetShedLevelParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetSpecialEventPeriod.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetSpecialEventPeriod.go
index 03dfcb9dec..924bc9e4e6 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetSpecialEventPeriod.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetSpecialEventPeriod.go
@@ -53,6 +53,7 @@ type _BACnetSpecialEventPeriod struct {
type _BACnetSpecialEventPeriodChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetSpecialEventPeriodParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetTimeStamp.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetTimeStamp.go
index 0341899397..ab722fef20 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetTimeStamp.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetTimeStamp.go
@@ -53,6 +53,7 @@ type _BACnetTimeStamp struct {
type _BACnetTimeStampChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetTimeStampParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetTimerStateChangeValue.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetTimerStateChangeValue.go
index c969cabdca..05b64b5a69 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetTimerStateChangeValue.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetTimerStateChangeValue.go
@@ -58,6 +58,8 @@ type _BACnetTimerStateChangeValue struct {
type _BACnetTimerStateChangeValueChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
+ GetPeekedIsContextTag() bool
}
type BACnetTimerStateChangeValueParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHasObject.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHasObject.go
index 0c02ae9bfe..1028ff9a3d 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHasObject.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetUnconfirmedServiceRequestWhoHasObject.go
@@ -53,6 +53,7 @@ type _BACnetUnconfirmedServiceRequestWhoHasObject struct {
type _BACnetUnconfirmedServiceRequestWhoHasObjectChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetUnconfirmedServiceRequestWhoHasObjectParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetValueSource.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetValueSource.go
index 9dd53e6687..b4e55c64e6 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetValueSource.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetValueSource.go
@@ -53,6 +53,7 @@ type _BACnetValueSource struct {
type _BACnetValueSourceChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedTagNumber() uint8
}
type BACnetValueSourceParent interface {
diff --git a/plc4go/protocols/bacnetip/readwrite/model/BACnetVendorId.go b/plc4go/protocols/bacnetip/readwrite/model/BACnetVendorId.go
index ee884e7dbe..4f9ec3caff 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/BACnetVendorId.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/BACnetVendorId.go
@@ -1437,6 +1437,7 @@ const (
BACnetVendorId_METRONICAKP_SPJ BACnetVendorId = 1406
BACnetVendorId_TECHKNAVE BACnetVendorId = 1407
BACnetVendorId_ELSNER_ELEKTRONIK BACnetVendorId = 1408
+ BACnetVendorId_LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD BACnetVendorId = 1409
BACnetVendorId_UNKNOWN_VENDOR BACnetVendorId = 0xFFFF
)
@@ -2845,6 +2846,7 @@ func init() {
BACnetVendorId_METRONICAKP_SPJ,
BACnetVendorId_TECHKNAVE,
BACnetVendorId_ELSNER_ELEKTRONIK,
+ BACnetVendorId_LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD,
BACnetVendorId_UNKNOWN_VENDOR,
}
}
@@ -4671,6 +4673,10 @@ func (e BACnetVendorId) VendorId() uint16 {
{ /* '1408' */
return 1408
}
+ case 1409:
+ { /* '1409' */
+ return 1409
+ }
case 141:
{ /* '141' */
return 141
@@ -10293,6 +10299,10 @@ func (e BACnetVendorId) VendorName() string {
{ /* '1408' */
return "Elsner Elektronik"
}
+ case 1409:
+ { /* '1409' */
+ return "LEFOO Industrial (Hangzhou) Co., Ltd."
+ }
case 141:
{ /* '141' */
return "Yaskawa America, Inc."
@@ -15004,6 +15014,8 @@ func BACnetVendorIdByValue(value uint16) (enum BACnetVendorId, ok bool) {
return BACnetVendorId_TECHKNAVE, true
case 1408:
return BACnetVendorId_ELSNER_ELEKTRONIK, true
+ case 1409:
+ return BACnetVendorId_LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD, true
case 141:
return BACnetVendorId_YASKAWA_AMERICA_INC, true
case 142:
@@ -17812,6 +17824,8 @@ func BACnetVendorIdByName(value string) (enum BACnetVendorId, ok bool) {
return BACnetVendorId_TECHKNAVE, true
case "ELSNER_ELEKTRONIK":
return BACnetVendorId_ELSNER_ELEKTRONIK, true
+ case "LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD":
+ return BACnetVendorId_LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD, true
case "YASKAWA_AMERICA_INC":
return BACnetVendorId_YASKAWA_AMERICA_INC, true
case "DEO_SCONTROLSYSTEMS_GMBH":
@@ -20677,6 +20691,8 @@ func (e BACnetVendorId) PLC4XEnumName() string {
return "TECHKNAVE"
case BACnetVendorId_ELSNER_ELEKTRONIK:
return "ELSNER_ELEKTRONIK"
+ case BACnetVendorId_LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD:
+ return "LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD"
case BACnetVendorId_YASKAWA_AMERICA_INC:
return "YASKAWA_AMERICA_INC"
case BACnetVendorId_DEO_SCONTROLSYSTEMS_GMBH:
diff --git a/plc4go/protocols/bacnetip/readwrite/model/NLM.go b/plc4go/protocols/bacnetip/readwrite/model/NLM.go
index c1da93ea9b..a15b53986b 100644
--- a/plc4go/protocols/bacnetip/readwrite/model/NLM.go
+++ b/plc4go/protocols/bacnetip/readwrite/model/NLM.go
@@ -56,6 +56,7 @@ type _NLMChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
GetMessageType() uint8
+ GetIsVendorProprietaryMessage() bool
}
type NLMParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/AccessControlData.go b/plc4go/protocols/cbus/readwrite/model/AccessControlData.go
index a22ee13553..8e02347b59 100644
--- a/plc4go/protocols/cbus/readwrite/model/AccessControlData.go
+++ b/plc4go/protocols/cbus/readwrite/model/AccessControlData.go
@@ -59,6 +59,7 @@ type _AccessControlData struct {
type _AccessControlDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() AccessControlCommandType
}
type AccessControlDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/AirConditioningData.go b/plc4go/protocols/cbus/readwrite/model/AirConditioningData.go
index cc223cb5ba..316788b5da 100644
--- a/plc4go/protocols/cbus/readwrite/model/AirConditioningData.go
+++ b/plc4go/protocols/cbus/readwrite/model/AirConditioningData.go
@@ -53,6 +53,7 @@ type _AirConditioningData struct {
type _AirConditioningDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() AirConditioningCommandType
}
type AirConditioningDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/CALData.go b/plc4go/protocols/cbus/readwrite/model/CALData.go
index 85d0c92781..be56be96a7 100644
--- a/plc4go/protocols/cbus/readwrite/model/CALData.go
+++ b/plc4go/protocols/cbus/readwrite/model/CALData.go
@@ -62,6 +62,8 @@ type _CALData struct {
type _CALDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() CALCommandType
+ GetSendIdentifyRequestBefore() bool
}
type CALDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/CALReply.go b/plc4go/protocols/cbus/readwrite/model/CALReply.go
index 6d4ff04d71..19b03caf8f 100644
--- a/plc4go/protocols/cbus/readwrite/model/CALReply.go
+++ b/plc4go/protocols/cbus/readwrite/model/CALReply.go
@@ -58,6 +58,7 @@ type _CALReply struct {
type _CALReplyChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCalType() byte
}
type CALReplyParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/CBusCommand.go b/plc4go/protocols/cbus/readwrite/model/CBusCommand.go
index 737f18eb63..d9c2f3aee3 100644
--- a/plc4go/protocols/cbus/readwrite/model/CBusCommand.go
+++ b/plc4go/protocols/cbus/readwrite/model/CBusCommand.go
@@ -58,6 +58,8 @@ type _CBusCommand struct {
type _CBusCommandChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetDestinationAddressType() DestinationAddressType
+ GetIsDeviceManagement() bool
}
type CBusCommandParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/CBusPointToMultiPointCommand.go b/plc4go/protocols/cbus/readwrite/model/CBusPointToMultiPointCommand.go
index 3a4b4db332..f72c4107fb 100644
--- a/plc4go/protocols/cbus/readwrite/model/CBusPointToMultiPointCommand.go
+++ b/plc4go/protocols/cbus/readwrite/model/CBusPointToMultiPointCommand.go
@@ -54,6 +54,7 @@ type _CBusPointToMultiPointCommand struct {
type _CBusPointToMultiPointCommandChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedApplication() byte
}
type CBusPointToMultiPointCommandParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/CBusPointToPointCommand.go b/plc4go/protocols/cbus/readwrite/model/CBusPointToPointCommand.go
index f8f807b6df..0a40d852be 100644
--- a/plc4go/protocols/cbus/readwrite/model/CBusPointToPointCommand.go
+++ b/plc4go/protocols/cbus/readwrite/model/CBusPointToPointCommand.go
@@ -59,6 +59,7 @@ type _CBusPointToPointCommand struct {
type _CBusPointToPointCommandChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetIsDirect() bool
}
type CBusPointToPointCommandParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/CBusPointToPointToMultiPointCommand.go b/plc4go/protocols/cbus/readwrite/model/CBusPointToPointToMultiPointCommand.go
index bbaa6bca15..695ce77e99 100644
--- a/plc4go/protocols/cbus/readwrite/model/CBusPointToPointToMultiPointCommand.go
+++ b/plc4go/protocols/cbus/readwrite/model/CBusPointToPointToMultiPointCommand.go
@@ -60,6 +60,7 @@ type _CBusPointToPointToMultiPointCommand struct {
type _CBusPointToPointToMultiPointCommandChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedApplication() byte
}
type CBusPointToPointToMultiPointCommandParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/ClockAndTimekeepingData.go b/plc4go/protocols/cbus/readwrite/model/ClockAndTimekeepingData.go
index 4e88d57c9f..63260f2231 100644
--- a/plc4go/protocols/cbus/readwrite/model/ClockAndTimekeepingData.go
+++ b/plc4go/protocols/cbus/readwrite/model/ClockAndTimekeepingData.go
@@ -56,6 +56,8 @@ type _ClockAndTimekeepingData struct {
type _ClockAndTimekeepingDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() ClockAndTimekeepingCommandType
+ GetArgument() byte
}
type ClockAndTimekeepingDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/EncodedReply.go b/plc4go/protocols/cbus/readwrite/model/EncodedReply.go
index d9a7a42e3b..ffd7dea633 100644
--- a/plc4go/protocols/cbus/readwrite/model/EncodedReply.go
+++ b/plc4go/protocols/cbus/readwrite/model/EncodedReply.go
@@ -57,6 +57,7 @@ type _EncodedReply struct {
type _EncodedReplyChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetIsMonitoredSAL() bool
}
type EncodedReplyParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/ErrorReportingData.go b/plc4go/protocols/cbus/readwrite/model/ErrorReportingData.go
index ed7c641e80..be1905bfca 100644
--- a/plc4go/protocols/cbus/readwrite/model/ErrorReportingData.go
+++ b/plc4go/protocols/cbus/readwrite/model/ErrorReportingData.go
@@ -53,6 +53,7 @@ type _ErrorReportingData struct {
type _ErrorReportingDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() ErrorReportingCommandType
}
type ErrorReportingDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/LevelInformation.go b/plc4go/protocols/cbus/readwrite/model/LevelInformation.go
index 03389d0b4b..efa5d81081 100644
--- a/plc4go/protocols/cbus/readwrite/model/LevelInformation.go
+++ b/plc4go/protocols/cbus/readwrite/model/LevelInformation.go
@@ -67,6 +67,8 @@ type _LevelInformation struct {
type _LevelInformationChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetIsAbsent() bool
+ GetIsCorrupted() bool
}
type LevelInformationParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/LightingData.go b/plc4go/protocols/cbus/readwrite/model/LightingData.go
index 5640893b45..b887c7d2f7 100644
--- a/plc4go/protocols/cbus/readwrite/model/LightingData.go
+++ b/plc4go/protocols/cbus/readwrite/model/LightingData.go
@@ -53,6 +53,7 @@ type _LightingData struct {
type _LightingDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() LightingCommandType
}
type LightingDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/MeasurementData.go b/plc4go/protocols/cbus/readwrite/model/MeasurementData.go
index 783032217e..c2419242c5 100644
--- a/plc4go/protocols/cbus/readwrite/model/MeasurementData.go
+++ b/plc4go/protocols/cbus/readwrite/model/MeasurementData.go
@@ -53,6 +53,7 @@ type _MeasurementData struct {
type _MeasurementDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() MeasurementCommandType
}
type MeasurementDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/MediaTransportControlData.go b/plc4go/protocols/cbus/readwrite/model/MediaTransportControlData.go
index 8997d14a2a..00cb386f96 100644
--- a/plc4go/protocols/cbus/readwrite/model/MediaTransportControlData.go
+++ b/plc4go/protocols/cbus/readwrite/model/MediaTransportControlData.go
@@ -56,6 +56,7 @@ type _MediaTransportControlData struct {
type _MediaTransportControlDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() MediaTransportControlCommandType
}
type MediaTransportControlDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/MeteringData.go b/plc4go/protocols/cbus/readwrite/model/MeteringData.go
index 2f43281113..160c9f5ea8 100644
--- a/plc4go/protocols/cbus/readwrite/model/MeteringData.go
+++ b/plc4go/protocols/cbus/readwrite/model/MeteringData.go
@@ -56,6 +56,8 @@ type _MeteringData struct {
type _MeteringDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() MeteringCommandType
+ GetArgument() byte
}
type MeteringDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/MonitoredSAL.go b/plc4go/protocols/cbus/readwrite/model/MonitoredSAL.go
index 283b331048..e4de2974a9 100644
--- a/plc4go/protocols/cbus/readwrite/model/MonitoredSAL.go
+++ b/plc4go/protocols/cbus/readwrite/model/MonitoredSAL.go
@@ -54,6 +54,7 @@ type _MonitoredSAL struct {
type _MonitoredSALChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetSalType() byte
}
type MonitoredSALParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/Reply.go b/plc4go/protocols/cbus/readwrite/model/Reply.go
index 63f2354ac1..9d8b9abb1b 100644
--- a/plc4go/protocols/cbus/readwrite/model/Reply.go
+++ b/plc4go/protocols/cbus/readwrite/model/Reply.go
@@ -55,6 +55,7 @@ type _Reply struct {
type _ReplyChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetPeekedByte() byte
}
type ReplyParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/ReplyOrConfirmation.go b/plc4go/protocols/cbus/readwrite/model/ReplyOrConfirmation.go
index 851ee52cd9..f46f357be3 100644
--- a/plc4go/protocols/cbus/readwrite/model/ReplyOrConfirmation.go
+++ b/plc4go/protocols/cbus/readwrite/model/ReplyOrConfirmation.go
@@ -57,6 +57,8 @@ type _ReplyOrConfirmation struct {
type _ReplyOrConfirmationChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetIsAlpha() bool
+ GetPeekedByte() byte
}
type ReplyOrConfirmationParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/Request.go b/plc4go/protocols/cbus/readwrite/model/Request.go
index 0195b19f29..9c4b5b7c1d 100644
--- a/plc4go/protocols/cbus/readwrite/model/Request.go
+++ b/plc4go/protocols/cbus/readwrite/model/Request.go
@@ -68,6 +68,7 @@ type _Request struct {
type _RequestChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetActualPeek() RequestType
}
type RequestParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/SecurityData.go b/plc4go/protocols/cbus/readwrite/model/SecurityData.go
index 2145af0cdf..aae086707c 100644
--- a/plc4go/protocols/cbus/readwrite/model/SecurityData.go
+++ b/plc4go/protocols/cbus/readwrite/model/SecurityData.go
@@ -56,6 +56,8 @@ type _SecurityData struct {
type _SecurityDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() SecurityCommandType
+ GetArgument() byte
}
type SecurityDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/StatusRequest.go b/plc4go/protocols/cbus/readwrite/model/StatusRequest.go
index 91ce82b75c..e9465952aa 100644
--- a/plc4go/protocols/cbus/readwrite/model/StatusRequest.go
+++ b/plc4go/protocols/cbus/readwrite/model/StatusRequest.go
@@ -51,6 +51,7 @@ type _StatusRequest struct {
type _StatusRequestChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetStatusType() byte
}
type StatusRequestParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/TelephonyData.go b/plc4go/protocols/cbus/readwrite/model/TelephonyData.go
index 7bca7a440d..4059649be7 100644
--- a/plc4go/protocols/cbus/readwrite/model/TelephonyData.go
+++ b/plc4go/protocols/cbus/readwrite/model/TelephonyData.go
@@ -56,6 +56,8 @@ type _TelephonyData struct {
type _TelephonyDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() TelephonyCommandType
+ GetArgument() byte
}
type TelephonyDataParent interface {
diff --git a/plc4go/protocols/cbus/readwrite/model/TriggerControlData.go b/plc4go/protocols/cbus/readwrite/model/TriggerControlData.go
index 36ef190c90..16ca28b764 100644
--- a/plc4go/protocols/cbus/readwrite/model/TriggerControlData.go
+++ b/plc4go/protocols/cbus/readwrite/model/TriggerControlData.go
@@ -58,6 +58,7 @@ type _TriggerControlData struct {
type _TriggerControlDataChildRequirements interface {
utils.Serializable
GetLengthInBits(ctx context.Context) uint16
+ GetCommandType() TriggerControlCommandType
}
type TriggerControlDataParent interface {
diff --git a/plc4go/protocols/eip/readwrite/model/CIPClassID.go b/plc4go/protocols/eip/readwrite/model/CIPClassID.go
index 3a2fdd79af..95e19f43be 100644
--- a/plc4go/protocols/eip/readwrite/model/CIPClassID.go
+++ b/plc4go/protocols/eip/readwrite/model/CIPClassID.go
@@ -35,9 +35,76 @@ type ICIPClassID interface {
}
const (
- CIPClassID_Identity CIPClassID = 0x0001
- CIPClassID_MessageRouter CIPClassID = 0x0002
- CIPClassID_ConnectionManager CIPClassID = 0x0006
+ CIPClassID_Identity CIPClassID = 0x0001
+ CIPClassID_MessageRouter CIPClassID = 0x0002
+ CIPClassID_Assembly CIPClassID = 0x0004
+ CIPClassID_Connection CIPClassID = 0x0005
+ CIPClassID_ConnectionManager CIPClassID = 0x0006
+ CIPClassID_Register CIPClassID = 0x0007
+ CIPClassID_Parameter CIPClassID = 0x000F
+ CIPClassID_ParameterGroup CIPClassID = 0x0010
+ CIPClassID_AcknowledgeHandler CIPClassID = 0x002B
+ CIPClassID_Selection CIPClassID = 0x002E
+ CIPClassID_File CIPClassID = 0x0037
+ CIPClassID_OriginatorConnectionList CIPClassID = 0x0045
+ CIPClassID_ConnectionConfiguration CIPClassID = 0x00F3
+ CIPClassID_Port CIPClassID = 0x00F4
+ CIPClassID_DiscreteInputPoint CIPClassID = 0x0008
+ CIPClassID_DiscreteOutputPoint CIPClassID = 0x0009
+ CIPClassID_AnalogInputPoint CIPClassID = 0x000A
+ CIPClassID_AnalogOutputPoint CIPClassID = 0x000B
+ CIPClassID_PresenceSensing CIPClassID = 0x000E
+ CIPClassID_Group CIPClassID = 0x0012
+ CIPClassID_DiscreteInputGroup CIPClassID = 0x001D
+ CIPClassID_DiscreteOutputGroup CIPClassID = 0x001E
+ CIPClassID_DiscreteGroup CIPClassID = 0x001F
+ CIPClassID_AnalogInputGroup CIPClassID = 0x0020
+ CIPClassID_AnalogOutputGroup CIPClassID = 0x0021
+ CIPClassID_AnalogGroup CIPClassID = 0x0022
+ CIPClassID_PositionSensor CIPClassID = 0x0023
+ CIPClassID_PositionControllerSupervisor CIPClassID = 0x0024
+ CIPClassID_PositionController CIPClassID = 0x0025
+ CIPClassID_BlockSequencer CIPClassID = 0x0026
+ CIPClassID_CommandBlock CIPClassID = 0x0027
+ CIPClassID_MotorData CIPClassID = 0x0028
+ CIPClassID_ControlSupervisor CIPClassID = 0x0029
+ CIPClassID_AcDcDrive CIPClassID = 0x002A
+ CIPClassID_Overload CIPClassID = 0x002C
+ CIPClassID_SDeviceSupervisor CIPClassID = 0x0030
+ CIPClassID_SAnalogSensor CIPClassID = 0x0031
+ CIPClassID_SAnalogActuator CIPClassID = 0x0032
+ CIPClassID_SSingleStageController CIPClassID = 0x0033
+ CIPClassID_SGasCalibration CIPClassID = 0x0034
+ CIPClassID_SPartialPressure CIPClassID = 0x0038
+ CIPClassID_SSensorCalibration CIPClassID = 0x0040
+ CIPClassID_EventLog CIPClassID = 0x0041
+ CIPClassID_MotionDeviceAxis CIPClassID = 0x0042
+ CIPClassID_SafetyAnalogInputGroup CIPClassID = 0x004A
+ CIPClassID_BaseEnergy CIPClassID = 0x004E
+ CIPClassID_ElectricalEnergy CIPClassID = 0x004F
+ CIPClassID_NonElectricalEnergy CIPClassID = 0x0050
+ CIPClassID_PowerManagementObject CIPClassID = 0x0053
+ CIPClassID_PowerCurtailmentObject CIPClassID = 0x005C
+ CIPClassID_DeviceNet CIPClassID = 0x0003
+ CIPClassID_Modbus CIPClassID = 0x0044
+ CIPClassID_ModbusSerialLink CIPClassID = 0x0046
+ CIPClassID_DeviceLevelRing CIPClassID = 0x0047
+ CIPClassID_QOS CIPClassID = 0x0048
+ CIPClassID_Sercos3Link CIPClassID = 0x004C
+ CIPClassID_BaseSwitch CIPClassID = 0x0051
+ CIPClassID_Snmp CIPClassID = 0x0052
+ CIPClassID_PowerManagement CIPClassID = 0x0053
+ CIPClassID_RstpBridge CIPClassID = 0x0054
+ CIPClassID_RstpPort CIPClassID = 0x0055
+ CIPClassID_ParallelRedundancyProtocol CIPClassID = 0x0056
+ CIPClassID_PrpNodesTable CIPClassID = 0x0057
+ CIPClassID_ControlNet CIPClassID = 0x00F0
+ CIPClassID_ControlNetKeeper CIPClassID = 0x00F1
+ CIPClassID_ControlNetScheduling CIPClassID = 0x00F2
+ CIPClassID_TcpIpInterface CIPClassID = 0x00F5
+ CIPClassID_EthernetLink CIPClassID = 0x00F6
+ CIPClassID_CompoNetLink CIPClassID = 0x00F7
+ CIPClassID_CompoNetRepeater CIPClassID = 0x00F8
)
var CIPClassIDValues []CIPClassID
@@ -47,7 +114,74 @@ func init() {
CIPClassIDValues = []CIPClassID{
CIPClassID_Identity,
CIPClassID_MessageRouter,
+ CIPClassID_Assembly,
+ CIPClassID_Connection,
CIPClassID_ConnectionManager,
+ CIPClassID_Register,
+ CIPClassID_Parameter,
+ CIPClassID_ParameterGroup,
+ CIPClassID_AcknowledgeHandler,
+ CIPClassID_Selection,
+ CIPClassID_File,
+ CIPClassID_OriginatorConnectionList,
+ CIPClassID_ConnectionConfiguration,
+ CIPClassID_Port,
+ CIPClassID_DiscreteInputPoint,
+ CIPClassID_DiscreteOutputPoint,
+ CIPClassID_AnalogInputPoint,
+ CIPClassID_AnalogOutputPoint,
+ CIPClassID_PresenceSensing,
+ CIPClassID_Group,
+ CIPClassID_DiscreteInputGroup,
+ CIPClassID_DiscreteOutputGroup,
+ CIPClassID_DiscreteGroup,
+ CIPClassID_AnalogInputGroup,
+ CIPClassID_AnalogOutputGroup,
+ CIPClassID_AnalogGroup,
+ CIPClassID_PositionSensor,
+ CIPClassID_PositionControllerSupervisor,
+ CIPClassID_PositionController,
+ CIPClassID_BlockSequencer,
+ CIPClassID_CommandBlock,
+ CIPClassID_MotorData,
+ CIPClassID_ControlSupervisor,
+ CIPClassID_AcDcDrive,
+ CIPClassID_Overload,
+ CIPClassID_SDeviceSupervisor,
+ CIPClassID_SAnalogSensor,
+ CIPClassID_SAnalogActuator,
+ CIPClassID_SSingleStageController,
+ CIPClassID_SGasCalibration,
+ CIPClassID_SPartialPressure,
+ CIPClassID_SSensorCalibration,
+ CIPClassID_EventLog,
+ CIPClassID_MotionDeviceAxis,
+ CIPClassID_SafetyAnalogInputGroup,
+ CIPClassID_BaseEnergy,
+ CIPClassID_ElectricalEnergy,
+ CIPClassID_NonElectricalEnergy,
+ CIPClassID_PowerManagementObject,
+ CIPClassID_PowerCurtailmentObject,
+ CIPClassID_DeviceNet,
+ CIPClassID_Modbus,
+ CIPClassID_ModbusSerialLink,
+ CIPClassID_DeviceLevelRing,
+ CIPClassID_QOS,
+ CIPClassID_Sercos3Link,
+ CIPClassID_BaseSwitch,
+ CIPClassID_Snmp,
+ CIPClassID_PowerManagement,
+ CIPClassID_RstpBridge,
+ CIPClassID_RstpPort,
+ CIPClassID_ParallelRedundancyProtocol,
+ CIPClassID_PrpNodesTable,
+ CIPClassID_ControlNet,
+ CIPClassID_ControlNetKeeper,
+ CIPClassID_ControlNetScheduling,
+ CIPClassID_TcpIpInterface,
+ CIPClassID_EthernetLink,
+ CIPClassID_CompoNetLink,
+ CIPClassID_CompoNetRepeater,
}
}
@@ -57,8 +191,140 @@ func CIPClassIDByValue(value uint16) (enum CIPClassID, ok bool) {
return CIPClassID_Identity, true
case 0x0002:
return CIPClassID_MessageRouter, true
+ case 0x0003:
+ return CIPClassID_DeviceNet, true
+ case 0x0004:
+ return CIPClassID_Assembly, true
+ case 0x0005:
+ return CIPClassID_Connection, true
case 0x0006:
return CIPClassID_ConnectionManager, true
+ case 0x0007:
+ return CIPClassID_Register, true
+ case 0x0008:
+ return CIPClassID_DiscreteInputPoint, true
+ case 0x0009:
+ return CIPClassID_DiscreteOutputPoint, true
+ case 0x000A:
+ return CIPClassID_AnalogInputPoint, true
+ case 0x000B:
+ return CIPClassID_AnalogOutputPoint, true
+ case 0x000E:
+ return CIPClassID_PresenceSensing, true
+ case 0x000F:
+ return CIPClassID_Parameter, true
+ case 0x0010:
+ return CIPClassID_ParameterGroup, true
+ case 0x0012:
+ return CIPClassID_Group, true
+ case 0x001D:
+ return CIPClassID_DiscreteInputGroup, true
+ case 0x001E:
+ return CIPClassID_DiscreteOutputGroup, true
+ case 0x001F:
+ return CIPClassID_DiscreteGroup, true
+ case 0x0020:
+ return CIPClassID_AnalogInputGroup, true
+ case 0x0021:
+ return CIPClassID_AnalogOutputGroup, true
+ case 0x0022:
+ return CIPClassID_AnalogGroup, true
+ case 0x0023:
+ return CIPClassID_PositionSensor, true
+ case 0x0024:
+ return CIPClassID_PositionControllerSupervisor, true
+ case 0x0025:
+ return CIPClassID_PositionController, true
+ case 0x0026:
+ return CIPClassID_BlockSequencer, true
+ case 0x0027:
+ return CIPClassID_CommandBlock, true
+ case 0x0028:
+ return CIPClassID_MotorData, true
+ case 0x0029:
+ return CIPClassID_ControlSupervisor, true
+ case 0x002A:
+ return CIPClassID_AcDcDrive, true
+ case 0x002B:
+ return CIPClassID_AcknowledgeHandler, true
+ case 0x002C:
+ return CIPClassID_Overload, true
+ case 0x002E:
+ return CIPClassID_Selection, true
+ case 0x0030:
+ return CIPClassID_SDeviceSupervisor, true
+ case 0x0031:
+ return CIPClassID_SAnalogSensor, true
+ case 0x0032:
+ return CIPClassID_SAnalogActuator, true
+ case 0x0033:
+ return CIPClassID_SSingleStageController, true
+ case 0x0034:
+ return CIPClassID_SGasCalibration, true
+ case 0x0037:
+ return CIPClassID_File, true
+ case 0x0038:
+ return CIPClassID_SPartialPressure, true
+ case 0x0040:
+ return CIPClassID_SSensorCalibration, true
+ case 0x0041:
+ return CIPClassID_EventLog, true
+ case 0x0042:
+ return CIPClassID_MotionDeviceAxis, true
+ case 0x0044:
+ return CIPClassID_Modbus, true
+ case 0x0045:
+ return CIPClassID_OriginatorConnectionList, true
+ case 0x0046:
+ return CIPClassID_ModbusSerialLink, true
+ case 0x0047:
+ return CIPClassID_DeviceLevelRing, true
+ case 0x0048:
+ return CIPClassID_QOS, true
+ case 0x004A:
+ return CIPClassID_SafetyAnalogInputGroup, true
+ case 0x004C:
+ return CIPClassID_Sercos3Link, true
+ case 0x004E:
+ return CIPClassID_BaseEnergy, true
+ case 0x004F:
+ return CIPClassID_ElectricalEnergy, true
+ case 0x0050:
+ return CIPClassID_NonElectricalEnergy, true
+ case 0x0051:
+ return CIPClassID_BaseSwitch, true
+ case 0x0052:
+ return CIPClassID_Snmp, true
+ case 0x0053:
+ return CIPClassID_PowerManagementObject, true
+ case 0x0054:
+ return CIPClassID_RstpBridge, true
+ case 0x0055:
+ return CIPClassID_RstpPort, true
+ case 0x0056:
+ return CIPClassID_ParallelRedundancyProtocol, true
+ case 0x0057:
+ return CIPClassID_PrpNodesTable, true
+ case 0x005C:
+ return CIPClassID_PowerCurtailmentObject, true
+ case 0x00F0:
+ return CIPClassID_ControlNet, true
+ case 0x00F1:
+ return CIPClassID_ControlNetKeeper, true
+ case 0x00F2:
+ return CIPClassID_ControlNetScheduling, true
+ case 0x00F3:
+ return CIPClassID_ConnectionConfiguration, true
+ case 0x00F4:
+ return CIPClassID_Port, true
+ case 0x00F5:
+ return CIPClassID_TcpIpInterface, true
+ case 0x00F6:
+ return CIPClassID_EthernetLink, true
+ case 0x00F7:
+ return CIPClassID_CompoNetLink, true
+ case 0x00F8:
+ return CIPClassID_CompoNetRepeater, true
}
return 0, false
}
@@ -69,8 +335,140 @@ func CIPClassIDByName(value string) (enum CIPClassID, ok bool) {
return CIPClassID_Identity, true
case "MessageRouter":
return CIPClassID_MessageRouter, true
+ case "DeviceNet":
+ return CIPClassID_DeviceNet, true
+ case "Assembly":
+ return CIPClassID_Assembly, true
+ case "Connection":
+ return CIPClassID_Connection, true
case "ConnectionManager":
return CIPClassID_ConnectionManager, true
+ case "Register":
+ return CIPClassID_Register, true
+ case "DiscreteInputPoint":
+ return CIPClassID_DiscreteInputPoint, true
+ case "DiscreteOutputPoint":
+ return CIPClassID_DiscreteOutputPoint, true
+ case "AnalogInputPoint":
+ return CIPClassID_AnalogInputPoint, true
+ case "AnalogOutputPoint":
+ return CIPClassID_AnalogOutputPoint, true
+ case "PresenceSensing":
+ return CIPClassID_PresenceSensing, true
+ case "Parameter":
+ return CIPClassID_Parameter, true
+ case "ParameterGroup":
+ return CIPClassID_ParameterGroup, true
+ case "Group":
+ return CIPClassID_Group, true
+ case "DiscreteInputGroup":
+ return CIPClassID_DiscreteInputGroup, true
+ case "DiscreteOutputGroup":
+ return CIPClassID_DiscreteOutputGroup, true
+ case "DiscreteGroup":
+ return CIPClassID_DiscreteGroup, true
+ case "AnalogInputGroup":
+ return CIPClassID_AnalogInputGroup, true
+ case "AnalogOutputGroup":
+ return CIPClassID_AnalogOutputGroup, true
+ case "AnalogGroup":
+ return CIPClassID_AnalogGroup, true
+ case "PositionSensor":
+ return CIPClassID_PositionSensor, true
+ case "PositionControllerSupervisor":
+ return CIPClassID_PositionControllerSupervisor, true
+ case "PositionController":
+ return CIPClassID_PositionController, true
+ case "BlockSequencer":
+ return CIPClassID_BlockSequencer, true
+ case "CommandBlock":
+ return CIPClassID_CommandBlock, true
+ case "MotorData":
+ return CIPClassID_MotorData, true
+ case "ControlSupervisor":
+ return CIPClassID_ControlSupervisor, true
+ case "AcDcDrive":
+ return CIPClassID_AcDcDrive, true
+ case "AcknowledgeHandler":
+ return CIPClassID_AcknowledgeHandler, true
+ case "Overload":
+ return CIPClassID_Overload, true
+ case "Selection":
+ return CIPClassID_Selection, true
+ case "SDeviceSupervisor":
+ return CIPClassID_SDeviceSupervisor, true
+ case "SAnalogSensor":
+ return CIPClassID_SAnalogSensor, true
+ case "SAnalogActuator":
+ return CIPClassID_SAnalogActuator, true
+ case "SSingleStageController":
+ return CIPClassID_SSingleStageController, true
+ case "SGasCalibration":
+ return CIPClassID_SGasCalibration, true
+ case "File":
+ return CIPClassID_File, true
+ case "SPartialPressure":
+ return CIPClassID_SPartialPressure, true
+ case "SSensorCalibration":
+ return CIPClassID_SSensorCalibration, true
+ case "EventLog":
+ return CIPClassID_EventLog, true
+ case "MotionDeviceAxis":
+ return CIPClassID_MotionDeviceAxis, true
+ case "Modbus":
+ return CIPClassID_Modbus, true
+ case "OriginatorConnectionList":
+ return CIPClassID_OriginatorConnectionList, true
+ case "ModbusSerialLink":
+ return CIPClassID_ModbusSerialLink, true
+ case "DeviceLevelRing":
+ return CIPClassID_DeviceLevelRing, true
+ case "QOS":
+ return CIPClassID_QOS, true
+ case "SafetyAnalogInputGroup":
+ return CIPClassID_SafetyAnalogInputGroup, true
+ case "Sercos3Link":
+ return CIPClassID_Sercos3Link, true
+ case "BaseEnergy":
+ return CIPClassID_BaseEnergy, true
+ case "ElectricalEnergy":
+ return CIPClassID_ElectricalEnergy, true
+ case "NonElectricalEnergy":
+ return CIPClassID_NonElectricalEnergy, true
+ case "BaseSwitch":
+ return CIPClassID_BaseSwitch, true
+ case "Snmp":
+ return CIPClassID_Snmp, true
+ case "PowerManagementObject":
+ return CIPClassID_PowerManagementObject, true
+ case "RstpBridge":
+ return CIPClassID_RstpBridge, true
+ case "RstpPort":
+ return CIPClassID_RstpPort, true
+ case "ParallelRedundancyProtocol":
+ return CIPClassID_ParallelRedundancyProtocol, true
+ case "PrpNodesTable":
+ return CIPClassID_PrpNodesTable, true
+ case "PowerCurtailmentObject":
+ return CIPClassID_PowerCurtailmentObject, true
+ case "ControlNet":
+ return CIPClassID_ControlNet, true
+ case "ControlNetKeeper":
+ return CIPClassID_ControlNetKeeper, true
+ case "ControlNetScheduling":
+ return CIPClassID_ControlNetScheduling, true
+ case "ConnectionConfiguration":
+ return CIPClassID_ConnectionConfiguration, true
+ case "Port":
+ return CIPClassID_Port, true
+ case "TcpIpInterface":
+ return CIPClassID_TcpIpInterface, true
+ case "EthernetLink":
+ return CIPClassID_EthernetLink, true
+ case "CompoNetLink":
+ return CIPClassID_CompoNetLink, true
+ case "CompoNetRepeater":
+ return CIPClassID_CompoNetRepeater, true
}
return 0, false
}
@@ -138,8 +536,140 @@ func (e CIPClassID) PLC4XEnumName() string {
return "Identity"
case CIPClassID_MessageRouter:
return "MessageRouter"
+ case CIPClassID_DeviceNet:
+ return "DeviceNet"
+ case CIPClassID_Assembly:
+ return "Assembly"
+ case CIPClassID_Connection:
+ return "Connection"
case CIPClassID_ConnectionManager:
return "ConnectionManager"
+ case CIPClassID_Register:
+ return "Register"
+ case CIPClassID_DiscreteInputPoint:
+ return "DiscreteInputPoint"
+ case CIPClassID_DiscreteOutputPoint:
+ return "DiscreteOutputPoint"
+ case CIPClassID_AnalogInputPoint:
+ return "AnalogInputPoint"
+ case CIPClassID_AnalogOutputPoint:
+ return "AnalogOutputPoint"
+ case CIPClassID_PresenceSensing:
+ return "PresenceSensing"
+ case CIPClassID_Parameter:
+ return "Parameter"
+ case CIPClassID_ParameterGroup:
+ return "ParameterGroup"
+ case CIPClassID_Group:
+ return "Group"
+ case CIPClassID_DiscreteInputGroup:
+ return "DiscreteInputGroup"
+ case CIPClassID_DiscreteOutputGroup:
+ return "DiscreteOutputGroup"
+ case CIPClassID_DiscreteGroup:
+ return "DiscreteGroup"
+ case CIPClassID_AnalogInputGroup:
+ return "AnalogInputGroup"
+ case CIPClassID_AnalogOutputGroup:
+ return "AnalogOutputGroup"
+ case CIPClassID_AnalogGroup:
+ return "AnalogGroup"
+ case CIPClassID_PositionSensor:
+ return "PositionSensor"
+ case CIPClassID_PositionControllerSupervisor:
+ return "PositionControllerSupervisor"
+ case CIPClassID_PositionController:
+ return "PositionController"
+ case CIPClassID_BlockSequencer:
+ return "BlockSequencer"
+ case CIPClassID_CommandBlock:
+ return "CommandBlock"
+ case CIPClassID_MotorData:
+ return "MotorData"
+ case CIPClassID_ControlSupervisor:
+ return "ControlSupervisor"
+ case CIPClassID_AcDcDrive:
+ return "AcDcDrive"
+ case CIPClassID_AcknowledgeHandler:
+ return "AcknowledgeHandler"
+ case CIPClassID_Overload:
+ return "Overload"
+ case CIPClassID_Selection:
+ return "Selection"
+ case CIPClassID_SDeviceSupervisor:
+ return "SDeviceSupervisor"
+ case CIPClassID_SAnalogSensor:
+ return "SAnalogSensor"
+ case CIPClassID_SAnalogActuator:
+ return "SAnalogActuator"
+ case CIPClassID_SSingleStageController:
+ return "SSingleStageController"
+ case CIPClassID_SGasCalibration:
+ return "SGasCalibration"
+ case CIPClassID_File:
+ return "File"
+ case CIPClassID_SPartialPressure:
+ return "SPartialPressure"
+ case CIPClassID_SSensorCalibration:
+ return "SSensorCalibration"
+ case CIPClassID_EventLog:
+ return "EventLog"
+ case CIPClassID_MotionDeviceAxis:
+ return "MotionDeviceAxis"
+ case CIPClassID_Modbus:
+ return "Modbus"
+ case CIPClassID_OriginatorConnectionList:
+ return "OriginatorConnectionList"
+ case CIPClassID_ModbusSerialLink:
+ return "ModbusSerialLink"
+ case CIPClassID_DeviceLevelRing:
+ return "DeviceLevelRing"
+ case CIPClassID_QOS:
+ return "QOS"
+ case CIPClassID_SafetyAnalogInputGroup:
+ return "SafetyAnalogInputGroup"
+ case CIPClassID_Sercos3Link:
+ return "Sercos3Link"
+ case CIPClassID_BaseEnergy:
+ return "BaseEnergy"
+ case CIPClassID_ElectricalEnergy:
+ return "ElectricalEnergy"
+ case CIPClassID_NonElectricalEnergy:
+ return "NonElectricalEnergy"
+ case CIPClassID_BaseSwitch:
+ return "BaseSwitch"
+ case CIPClassID_Snmp:
+ return "Snmp"
+ case CIPClassID_PowerManagementObject:
+ return "PowerManagementObject"
+ case CIPClassID_RstpBridge:
+ return "RstpBridge"
+ case CIPClassID_RstpPort:
+ return "RstpPort"
+ case CIPClassID_ParallelRedundancyProtocol:
+ return "ParallelRedundancyProtocol"
+ case CIPClassID_PrpNodesTable:
+ return "PrpNodesTable"
+ case CIPClassID_PowerCurtailmentObject:
+ return "PowerCurtailmentObject"
+ case CIPClassID_ControlNet:
+ return "ControlNet"
+ case CIPClassID_ControlNetKeeper:
+ return "ControlNetKeeper"
+ case CIPClassID_ControlNetScheduling:
+ return "ControlNetScheduling"
+ case CIPClassID_ConnectionConfiguration:
+ return "ConnectionConfiguration"
+ case CIPClassID_Port:
+ return "Port"
+ case CIPClassID_TcpIpInterface:
+ return "TcpIpInterface"
+ case CIPClassID_EthernetLink:
+ return "EthernetLink"
+ case CIPClassID_CompoNetLink:
+ return "CompoNetLink"
+ case CIPClassID_CompoNetRepeater:
+ return "CompoNetRepeater"
}
return ""
}
diff --git a/plc4go/protocols/eip/readwrite/model/CIPStatus.go b/plc4go/protocols/eip/readwrite/model/CIPStatus.go
index 1ebb2d456d..12180bbf36 100644
--- a/plc4go/protocols/eip/readwrite/model/CIPStatus.go
+++ b/plc4go/protocols/eip/readwrite/model/CIPStatus.go
@@ -50,7 +50,7 @@ const (
CIPStatus_ObjectStateConflict CIPStatus = 0x0000000C
CIPStatus_ObjectAlreadyExists CIPStatus = 0x0000000D
CIPStatus_AttributeNotSettable CIPStatus = 0x0000000E
- CIPStatus_PriviligeViolation CIPStatus = 0x0000000F
+ CIPStatus_PrivilegeViolation CIPStatus = 0x0000000F
CIPStatus_DeviceStateConflict CIPStatus = 0x00000010
CIPStatus_ReplyDataTooLarge CIPStatus = 0x00000011
CIPStatus_FragmentationOfPrimitiveValue CIPStatus = 0x00000012
@@ -89,7 +89,7 @@ func init() {
CIPStatus_ObjectStateConflict,
CIPStatus_ObjectAlreadyExists,
CIPStatus_AttributeNotSettable,
- CIPStatus_PriviligeViolation,
+ CIPStatus_PrivilegeViolation,
CIPStatus_DeviceStateConflict,
CIPStatus_ReplyDataTooLarge,
CIPStatus_FragmentationOfPrimitiveValue,
@@ -142,7 +142,7 @@ func CIPStatusByValue(value uint32) (enum CIPStatus, ok bool) {
case 0x0000000E:
return CIPStatus_AttributeNotSettable, true
case 0x0000000F:
- return CIPStatus_PriviligeViolation, true
+ return CIPStatus_PrivilegeViolation, true
case 0x00000010:
return CIPStatus_DeviceStateConflict, true
case 0x00000011:
@@ -211,8 +211,8 @@ func CIPStatusByName(value string) (enum CIPStatus, ok bool) {
return CIPStatus_ObjectAlreadyExists, true
case "AttributeNotSettable":
return CIPStatus_AttributeNotSettable, true
- case "PriviligeViolation":
- return CIPStatus_PriviligeViolation, true
+ case "PrivilegeViolation":
+ return CIPStatus_PrivilegeViolation, true
case "DeviceStateConflict":
return CIPStatus_DeviceStateConflict, true
case "ReplyDataTooLarge":
@@ -338,8 +338,8 @@ func (e CIPStatus) PLC4XEnumName() string {
return "ObjectAlreadyExists"
case CIPStatus_AttributeNotSettable:
return "AttributeNotSettable"
- case CIPStatus_PriviligeViolation:
- return "PriviligeViolation"
+ case CIPStatus_PrivilegeViolation:
+ return "PrivilegeViolation"
case CIPStatus_DeviceStateConflict:
return "DeviceStateConflict"
case CIPStatus_ReplyDataTooLarge:
diff --git a/plc4go/protocols/eip/readwrite/model/CipService.go b/plc4go/protocols/eip/readwrite/model/CipService.go
index 4b84cfe8bf..9f8850b68e 100644
--- a/plc4go/protocols/eip/readwrite/model/CipService.go
+++ b/plc4go/protocols/eip/readwrite/model/CipService.go
@@ -149,6 +149,30 @@ func CipServiceParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer,
_childTemp, typeSwitchError = GetAttributeAllRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
case service == 0x01 && response == bool(true): // GetAttributeAllResponse
_childTemp, typeSwitchError = GetAttributeAllResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x02 && response == bool(false): // SetAttributeAllRequest
+ _childTemp, typeSwitchError = SetAttributeAllRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x02 && response == bool(true): // SetAttributeAllResponse
+ _childTemp, typeSwitchError = SetAttributeAllResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x03 && response == bool(false): // GetAttributeListRequest
+ _childTemp, typeSwitchError = GetAttributeListRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x03 && response == bool(true): // GetAttributeListResponse
+ _childTemp, typeSwitchError = GetAttributeListResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x04 && response == bool(false): // SetAttributeListRequest
+ _childTemp, typeSwitchError = SetAttributeListRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x04 && response == bool(true): // SetAttributeListResponse
+ _childTemp, typeSwitchError = SetAttributeListResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x0A && response == bool(false): // MultipleServiceRequest
+ _childTemp, typeSwitchError = MultipleServiceRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x0A && response == bool(true): // MultipleServiceResponse
+ _childTemp, typeSwitchError = MultipleServiceResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x0E && response == bool(false): // GetAttributeSingleRequest
+ _childTemp, typeSwitchError = GetAttributeSingleRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x0E && response == bool(true): // GetAttributeSingleResponse
+ _childTemp, typeSwitchError = GetAttributeSingleResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x10 && response == bool(false): // SetAttributeSingleRequest
+ _childTemp, typeSwitchError = SetAttributeSingleRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
+ case service == 0x10 && response == bool(true): // SetAttributeSingleResponse
+ _childTemp, typeSwitchError = SetAttributeSingleResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
case service == 0x4C && response == bool(false): // CipReadRequest
_childTemp, typeSwitchError = CipReadRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
case service == 0x4C && response == bool(true): // CipReadResponse
@@ -161,10 +185,6 @@ func CipServiceParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer,
_childTemp, typeSwitchError = CipConnectionManagerCloseRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
case service == 0x4E && response == bool(true): // CipConnectionManagerCloseResponse
_childTemp, typeSwitchError = CipConnectionManagerCloseResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
- case service == 0x0A && response == bool(false): // MultipleServiceRequest
- _childTemp, typeSwitchError = MultipleServiceRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
- case service == 0x0A && response == bool(true): // MultipleServiceResponse
- _childTemp, typeSwitchError = MultipleServiceResponseParseWithBuffer(ctx, readBuffer, connected, serviceLen)
case service == 0x52 && response == bool(false) && connected == bool(false): // CipUnconnectedRequest
_childTemp, typeSwitchError = CipUnconnectedRequestParseWithBuffer(ctx, readBuffer, connected, serviceLen)
case service == 0x52 && response == bool(false) && connected == bool(true): // CipConnectedRequest
diff --git a/plc4go/protocols/eip/readwrite/model/GetAttributeListRequest.go b/plc4go/protocols/eip/readwrite/model/GetAttributeListRequest.go
new file mode 100644
index 0000000000..a7c31b3ab3
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/GetAttributeListRequest.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// GetAttributeListRequest is the corresponding interface of GetAttributeListRequest
+type GetAttributeListRequest interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// GetAttributeListRequestExactly can be used when we want exactly this type and not a type which fulfills GetAttributeListRequest.
+// This is useful for switch cases.
+type GetAttributeListRequestExactly interface {
+ GetAttributeListRequest
+ isGetAttributeListRequest() bool
+}
+
+// _GetAttributeListRequest is the data-structure of this message
+type _GetAttributeListRequest struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_GetAttributeListRequest) GetService() uint8 {
+ return 0x03
+}
+
+func (m *_GetAttributeListRequest) GetResponse() bool {
+ return bool(false)
+}
+
+func (m *_GetAttributeListRequest) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_GetAttributeListRequest) InitializeParent(parent CipService) {}
+
+func (m *_GetAttributeListRequest) GetParent() CipService {
+ return m._CipService
+}
+
+// NewGetAttributeListRequest factory function for _GetAttributeListRequest
+func NewGetAttributeListRequest(serviceLen uint16) *_GetAttributeListRequest {
+ _result := &_GetAttributeListRequest{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastGetAttributeListRequest(structType interface{}) GetAttributeListRequest {
+ if casted, ok := structType.(GetAttributeListRequest); ok {
+ return casted
+ }
+ if casted, ok := structType.(*GetAttributeListRequest); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_GetAttributeListRequest) GetTypeName() string {
+ return "GetAttributeListRequest"
+}
+
+func (m *_GetAttributeListRequest) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_GetAttributeListRequest) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func GetAttributeListRequestParse(theBytes []byte, connected bool, serviceLen uint16) (GetAttributeListRequest, error) {
+ return GetAttributeListRequestParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func GetAttributeListRequestParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (GetAttributeListRequest, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("GetAttributeListRequest"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for GetAttributeListRequest")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("GetAttributeListRequest"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for GetAttributeListRequest")
+ }
+
+ // Create a partially initialized instance
+ _child := &_GetAttributeListRequest{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_GetAttributeListRequest) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_GetAttributeListRequest) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("GetAttributeListRequest"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for GetAttributeListRequest")
+ }
+
+ if popErr := writeBuffer.PopContext("GetAttributeListRequest"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for GetAttributeListRequest")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_GetAttributeListRequest) isGetAttributeListRequest() bool {
+ return true
+}
+
+func (m *_GetAttributeListRequest) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/GetAttributeListResponse.go b/plc4go/protocols/eip/readwrite/model/GetAttributeListResponse.go
new file mode 100644
index 0000000000..87b902d106
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/GetAttributeListResponse.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// GetAttributeListResponse is the corresponding interface of GetAttributeListResponse
+type GetAttributeListResponse interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// GetAttributeListResponseExactly can be used when we want exactly this type and not a type which fulfills GetAttributeListResponse.
+// This is useful for switch cases.
+type GetAttributeListResponseExactly interface {
+ GetAttributeListResponse
+ isGetAttributeListResponse() bool
+}
+
+// _GetAttributeListResponse is the data-structure of this message
+type _GetAttributeListResponse struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_GetAttributeListResponse) GetService() uint8 {
+ return 0x03
+}
+
+func (m *_GetAttributeListResponse) GetResponse() bool {
+ return bool(true)
+}
+
+func (m *_GetAttributeListResponse) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_GetAttributeListResponse) InitializeParent(parent CipService) {}
+
+func (m *_GetAttributeListResponse) GetParent() CipService {
+ return m._CipService
+}
+
+// NewGetAttributeListResponse factory function for _GetAttributeListResponse
+func NewGetAttributeListResponse(serviceLen uint16) *_GetAttributeListResponse {
+ _result := &_GetAttributeListResponse{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastGetAttributeListResponse(structType interface{}) GetAttributeListResponse {
+ if casted, ok := structType.(GetAttributeListResponse); ok {
+ return casted
+ }
+ if casted, ok := structType.(*GetAttributeListResponse); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_GetAttributeListResponse) GetTypeName() string {
+ return "GetAttributeListResponse"
+}
+
+func (m *_GetAttributeListResponse) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_GetAttributeListResponse) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func GetAttributeListResponseParse(theBytes []byte, connected bool, serviceLen uint16) (GetAttributeListResponse, error) {
+ return GetAttributeListResponseParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func GetAttributeListResponseParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (GetAttributeListResponse, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("GetAttributeListResponse"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for GetAttributeListResponse")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("GetAttributeListResponse"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for GetAttributeListResponse")
+ }
+
+ // Create a partially initialized instance
+ _child := &_GetAttributeListResponse{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_GetAttributeListResponse) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_GetAttributeListResponse) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("GetAttributeListResponse"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for GetAttributeListResponse")
+ }
+
+ if popErr := writeBuffer.PopContext("GetAttributeListResponse"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for GetAttributeListResponse")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_GetAttributeListResponse) isGetAttributeListResponse() bool {
+ return true
+}
+
+func (m *_GetAttributeListResponse) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/GetAttributeSingleRequest.go b/plc4go/protocols/eip/readwrite/model/GetAttributeSingleRequest.go
new file mode 100644
index 0000000000..916fa95d4f
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/GetAttributeSingleRequest.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// GetAttributeSingleRequest is the corresponding interface of GetAttributeSingleRequest
+type GetAttributeSingleRequest interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// GetAttributeSingleRequestExactly can be used when we want exactly this type and not a type which fulfills GetAttributeSingleRequest.
+// This is useful for switch cases.
+type GetAttributeSingleRequestExactly interface {
+ GetAttributeSingleRequest
+ isGetAttributeSingleRequest() bool
+}
+
+// _GetAttributeSingleRequest is the data-structure of this message
+type _GetAttributeSingleRequest struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_GetAttributeSingleRequest) GetService() uint8 {
+ return 0x0E
+}
+
+func (m *_GetAttributeSingleRequest) GetResponse() bool {
+ return bool(false)
+}
+
+func (m *_GetAttributeSingleRequest) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_GetAttributeSingleRequest) InitializeParent(parent CipService) {}
+
+func (m *_GetAttributeSingleRequest) GetParent() CipService {
+ return m._CipService
+}
+
+// NewGetAttributeSingleRequest factory function for _GetAttributeSingleRequest
+func NewGetAttributeSingleRequest(serviceLen uint16) *_GetAttributeSingleRequest {
+ _result := &_GetAttributeSingleRequest{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastGetAttributeSingleRequest(structType interface{}) GetAttributeSingleRequest {
+ if casted, ok := structType.(GetAttributeSingleRequest); ok {
+ return casted
+ }
+ if casted, ok := structType.(*GetAttributeSingleRequest); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_GetAttributeSingleRequest) GetTypeName() string {
+ return "GetAttributeSingleRequest"
+}
+
+func (m *_GetAttributeSingleRequest) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_GetAttributeSingleRequest) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func GetAttributeSingleRequestParse(theBytes []byte, connected bool, serviceLen uint16) (GetAttributeSingleRequest, error) {
+ return GetAttributeSingleRequestParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func GetAttributeSingleRequestParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (GetAttributeSingleRequest, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("GetAttributeSingleRequest"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for GetAttributeSingleRequest")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("GetAttributeSingleRequest"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for GetAttributeSingleRequest")
+ }
+
+ // Create a partially initialized instance
+ _child := &_GetAttributeSingleRequest{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_GetAttributeSingleRequest) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_GetAttributeSingleRequest) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("GetAttributeSingleRequest"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for GetAttributeSingleRequest")
+ }
+
+ if popErr := writeBuffer.PopContext("GetAttributeSingleRequest"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for GetAttributeSingleRequest")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_GetAttributeSingleRequest) isGetAttributeSingleRequest() bool {
+ return true
+}
+
+func (m *_GetAttributeSingleRequest) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/GetAttributeSingleResponse.go b/plc4go/protocols/eip/readwrite/model/GetAttributeSingleResponse.go
new file mode 100644
index 0000000000..5f1823b531
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/GetAttributeSingleResponse.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// GetAttributeSingleResponse is the corresponding interface of GetAttributeSingleResponse
+type GetAttributeSingleResponse interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// GetAttributeSingleResponseExactly can be used when we want exactly this type and not a type which fulfills GetAttributeSingleResponse.
+// This is useful for switch cases.
+type GetAttributeSingleResponseExactly interface {
+ GetAttributeSingleResponse
+ isGetAttributeSingleResponse() bool
+}
+
+// _GetAttributeSingleResponse is the data-structure of this message
+type _GetAttributeSingleResponse struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_GetAttributeSingleResponse) GetService() uint8 {
+ return 0x0E
+}
+
+func (m *_GetAttributeSingleResponse) GetResponse() bool {
+ return bool(true)
+}
+
+func (m *_GetAttributeSingleResponse) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_GetAttributeSingleResponse) InitializeParent(parent CipService) {}
+
+func (m *_GetAttributeSingleResponse) GetParent() CipService {
+ return m._CipService
+}
+
+// NewGetAttributeSingleResponse factory function for _GetAttributeSingleResponse
+func NewGetAttributeSingleResponse(serviceLen uint16) *_GetAttributeSingleResponse {
+ _result := &_GetAttributeSingleResponse{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastGetAttributeSingleResponse(structType interface{}) GetAttributeSingleResponse {
+ if casted, ok := structType.(GetAttributeSingleResponse); ok {
+ return casted
+ }
+ if casted, ok := structType.(*GetAttributeSingleResponse); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_GetAttributeSingleResponse) GetTypeName() string {
+ return "GetAttributeSingleResponse"
+}
+
+func (m *_GetAttributeSingleResponse) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_GetAttributeSingleResponse) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func GetAttributeSingleResponseParse(theBytes []byte, connected bool, serviceLen uint16) (GetAttributeSingleResponse, error) {
+ return GetAttributeSingleResponseParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func GetAttributeSingleResponseParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (GetAttributeSingleResponse, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("GetAttributeSingleResponse"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for GetAttributeSingleResponse")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("GetAttributeSingleResponse"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for GetAttributeSingleResponse")
+ }
+
+ // Create a partially initialized instance
+ _child := &_GetAttributeSingleResponse{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_GetAttributeSingleResponse) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_GetAttributeSingleResponse) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("GetAttributeSingleResponse"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for GetAttributeSingleResponse")
+ }
+
+ if popErr := writeBuffer.PopContext("GetAttributeSingleResponse"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for GetAttributeSingleResponse")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_GetAttributeSingleResponse) isGetAttributeSingleResponse() bool {
+ return true
+}
+
+func (m *_GetAttributeSingleResponse) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/SetAttributeAllRequest.go b/plc4go/protocols/eip/readwrite/model/SetAttributeAllRequest.go
new file mode 100644
index 0000000000..6424a1a97e
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/SetAttributeAllRequest.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// SetAttributeAllRequest is the corresponding interface of SetAttributeAllRequest
+type SetAttributeAllRequest interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// SetAttributeAllRequestExactly can be used when we want exactly this type and not a type which fulfills SetAttributeAllRequest.
+// This is useful for switch cases.
+type SetAttributeAllRequestExactly interface {
+ SetAttributeAllRequest
+ isSetAttributeAllRequest() bool
+}
+
+// _SetAttributeAllRequest is the data-structure of this message
+type _SetAttributeAllRequest struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_SetAttributeAllRequest) GetService() uint8 {
+ return 0x02
+}
+
+func (m *_SetAttributeAllRequest) GetResponse() bool {
+ return bool(false)
+}
+
+func (m *_SetAttributeAllRequest) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_SetAttributeAllRequest) InitializeParent(parent CipService) {}
+
+func (m *_SetAttributeAllRequest) GetParent() CipService {
+ return m._CipService
+}
+
+// NewSetAttributeAllRequest factory function for _SetAttributeAllRequest
+func NewSetAttributeAllRequest(serviceLen uint16) *_SetAttributeAllRequest {
+ _result := &_SetAttributeAllRequest{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastSetAttributeAllRequest(structType interface{}) SetAttributeAllRequest {
+ if casted, ok := structType.(SetAttributeAllRequest); ok {
+ return casted
+ }
+ if casted, ok := structType.(*SetAttributeAllRequest); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_SetAttributeAllRequest) GetTypeName() string {
+ return "SetAttributeAllRequest"
+}
+
+func (m *_SetAttributeAllRequest) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_SetAttributeAllRequest) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func SetAttributeAllRequestParse(theBytes []byte, connected bool, serviceLen uint16) (SetAttributeAllRequest, error) {
+ return SetAttributeAllRequestParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func SetAttributeAllRequestParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (SetAttributeAllRequest, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("SetAttributeAllRequest"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for SetAttributeAllRequest")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("SetAttributeAllRequest"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for SetAttributeAllRequest")
+ }
+
+ // Create a partially initialized instance
+ _child := &_SetAttributeAllRequest{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_SetAttributeAllRequest) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_SetAttributeAllRequest) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("SetAttributeAllRequest"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for SetAttributeAllRequest")
+ }
+
+ if popErr := writeBuffer.PopContext("SetAttributeAllRequest"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for SetAttributeAllRequest")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_SetAttributeAllRequest) isSetAttributeAllRequest() bool {
+ return true
+}
+
+func (m *_SetAttributeAllRequest) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/SetAttributeAllResponse.go b/plc4go/protocols/eip/readwrite/model/SetAttributeAllResponse.go
new file mode 100644
index 0000000000..cf89f3c9d9
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/SetAttributeAllResponse.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// SetAttributeAllResponse is the corresponding interface of SetAttributeAllResponse
+type SetAttributeAllResponse interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// SetAttributeAllResponseExactly can be used when we want exactly this type and not a type which fulfills SetAttributeAllResponse.
+// This is useful for switch cases.
+type SetAttributeAllResponseExactly interface {
+ SetAttributeAllResponse
+ isSetAttributeAllResponse() bool
+}
+
+// _SetAttributeAllResponse is the data-structure of this message
+type _SetAttributeAllResponse struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_SetAttributeAllResponse) GetService() uint8 {
+ return 0x02
+}
+
+func (m *_SetAttributeAllResponse) GetResponse() bool {
+ return bool(true)
+}
+
+func (m *_SetAttributeAllResponse) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_SetAttributeAllResponse) InitializeParent(parent CipService) {}
+
+func (m *_SetAttributeAllResponse) GetParent() CipService {
+ return m._CipService
+}
+
+// NewSetAttributeAllResponse factory function for _SetAttributeAllResponse
+func NewSetAttributeAllResponse(serviceLen uint16) *_SetAttributeAllResponse {
+ _result := &_SetAttributeAllResponse{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastSetAttributeAllResponse(structType interface{}) SetAttributeAllResponse {
+ if casted, ok := structType.(SetAttributeAllResponse); ok {
+ return casted
+ }
+ if casted, ok := structType.(*SetAttributeAllResponse); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_SetAttributeAllResponse) GetTypeName() string {
+ return "SetAttributeAllResponse"
+}
+
+func (m *_SetAttributeAllResponse) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_SetAttributeAllResponse) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func SetAttributeAllResponseParse(theBytes []byte, connected bool, serviceLen uint16) (SetAttributeAllResponse, error) {
+ return SetAttributeAllResponseParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func SetAttributeAllResponseParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (SetAttributeAllResponse, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("SetAttributeAllResponse"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for SetAttributeAllResponse")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("SetAttributeAllResponse"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for SetAttributeAllResponse")
+ }
+
+ // Create a partially initialized instance
+ _child := &_SetAttributeAllResponse{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_SetAttributeAllResponse) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_SetAttributeAllResponse) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("SetAttributeAllResponse"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for SetAttributeAllResponse")
+ }
+
+ if popErr := writeBuffer.PopContext("SetAttributeAllResponse"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for SetAttributeAllResponse")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_SetAttributeAllResponse) isSetAttributeAllResponse() bool {
+ return true
+}
+
+func (m *_SetAttributeAllResponse) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/SetAttributeListRequest.go b/plc4go/protocols/eip/readwrite/model/SetAttributeListRequest.go
new file mode 100644
index 0000000000..0ebddae3fd
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/SetAttributeListRequest.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// SetAttributeListRequest is the corresponding interface of SetAttributeListRequest
+type SetAttributeListRequest interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// SetAttributeListRequestExactly can be used when we want exactly this type and not a type which fulfills SetAttributeListRequest.
+// This is useful for switch cases.
+type SetAttributeListRequestExactly interface {
+ SetAttributeListRequest
+ isSetAttributeListRequest() bool
+}
+
+// _SetAttributeListRequest is the data-structure of this message
+type _SetAttributeListRequest struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_SetAttributeListRequest) GetService() uint8 {
+ return 0x04
+}
+
+func (m *_SetAttributeListRequest) GetResponse() bool {
+ return bool(false)
+}
+
+func (m *_SetAttributeListRequest) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_SetAttributeListRequest) InitializeParent(parent CipService) {}
+
+func (m *_SetAttributeListRequest) GetParent() CipService {
+ return m._CipService
+}
+
+// NewSetAttributeListRequest factory function for _SetAttributeListRequest
+func NewSetAttributeListRequest(serviceLen uint16) *_SetAttributeListRequest {
+ _result := &_SetAttributeListRequest{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastSetAttributeListRequest(structType interface{}) SetAttributeListRequest {
+ if casted, ok := structType.(SetAttributeListRequest); ok {
+ return casted
+ }
+ if casted, ok := structType.(*SetAttributeListRequest); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_SetAttributeListRequest) GetTypeName() string {
+ return "SetAttributeListRequest"
+}
+
+func (m *_SetAttributeListRequest) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_SetAttributeListRequest) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func SetAttributeListRequestParse(theBytes []byte, connected bool, serviceLen uint16) (SetAttributeListRequest, error) {
+ return SetAttributeListRequestParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func SetAttributeListRequestParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (SetAttributeListRequest, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("SetAttributeListRequest"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for SetAttributeListRequest")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("SetAttributeListRequest"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for SetAttributeListRequest")
+ }
+
+ // Create a partially initialized instance
+ _child := &_SetAttributeListRequest{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_SetAttributeListRequest) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_SetAttributeListRequest) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("SetAttributeListRequest"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for SetAttributeListRequest")
+ }
+
+ if popErr := writeBuffer.PopContext("SetAttributeListRequest"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for SetAttributeListRequest")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_SetAttributeListRequest) isSetAttributeListRequest() bool {
+ return true
+}
+
+func (m *_SetAttributeListRequest) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/SetAttributeListResponse.go b/plc4go/protocols/eip/readwrite/model/SetAttributeListResponse.go
new file mode 100644
index 0000000000..95abbd2036
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/SetAttributeListResponse.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// SetAttributeListResponse is the corresponding interface of SetAttributeListResponse
+type SetAttributeListResponse interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// SetAttributeListResponseExactly can be used when we want exactly this type and not a type which fulfills SetAttributeListResponse.
+// This is useful for switch cases.
+type SetAttributeListResponseExactly interface {
+ SetAttributeListResponse
+ isSetAttributeListResponse() bool
+}
+
+// _SetAttributeListResponse is the data-structure of this message
+type _SetAttributeListResponse struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_SetAttributeListResponse) GetService() uint8 {
+ return 0x04
+}
+
+func (m *_SetAttributeListResponse) GetResponse() bool {
+ return bool(true)
+}
+
+func (m *_SetAttributeListResponse) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_SetAttributeListResponse) InitializeParent(parent CipService) {}
+
+func (m *_SetAttributeListResponse) GetParent() CipService {
+ return m._CipService
+}
+
+// NewSetAttributeListResponse factory function for _SetAttributeListResponse
+func NewSetAttributeListResponse(serviceLen uint16) *_SetAttributeListResponse {
+ _result := &_SetAttributeListResponse{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastSetAttributeListResponse(structType interface{}) SetAttributeListResponse {
+ if casted, ok := structType.(SetAttributeListResponse); ok {
+ return casted
+ }
+ if casted, ok := structType.(*SetAttributeListResponse); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_SetAttributeListResponse) GetTypeName() string {
+ return "SetAttributeListResponse"
+}
+
+func (m *_SetAttributeListResponse) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_SetAttributeListResponse) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func SetAttributeListResponseParse(theBytes []byte, connected bool, serviceLen uint16) (SetAttributeListResponse, error) {
+ return SetAttributeListResponseParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func SetAttributeListResponseParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (SetAttributeListResponse, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("SetAttributeListResponse"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for SetAttributeListResponse")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("SetAttributeListResponse"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for SetAttributeListResponse")
+ }
+
+ // Create a partially initialized instance
+ _child := &_SetAttributeListResponse{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_SetAttributeListResponse) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_SetAttributeListResponse) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("SetAttributeListResponse"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for SetAttributeListResponse")
+ }
+
+ if popErr := writeBuffer.PopContext("SetAttributeListResponse"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for SetAttributeListResponse")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_SetAttributeListResponse) isSetAttributeListResponse() bool {
+ return true
+}
+
+func (m *_SetAttributeListResponse) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/SetAttributeSingleRequest.go b/plc4go/protocols/eip/readwrite/model/SetAttributeSingleRequest.go
new file mode 100644
index 0000000000..4f67f1ddfd
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/SetAttributeSingleRequest.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// SetAttributeSingleRequest is the corresponding interface of SetAttributeSingleRequest
+type SetAttributeSingleRequest interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// SetAttributeSingleRequestExactly can be used when we want exactly this type and not a type which fulfills SetAttributeSingleRequest.
+// This is useful for switch cases.
+type SetAttributeSingleRequestExactly interface {
+ SetAttributeSingleRequest
+ isSetAttributeSingleRequest() bool
+}
+
+// _SetAttributeSingleRequest is the data-structure of this message
+type _SetAttributeSingleRequest struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_SetAttributeSingleRequest) GetService() uint8 {
+ return 0x10
+}
+
+func (m *_SetAttributeSingleRequest) GetResponse() bool {
+ return bool(false)
+}
+
+func (m *_SetAttributeSingleRequest) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_SetAttributeSingleRequest) InitializeParent(parent CipService) {}
+
+func (m *_SetAttributeSingleRequest) GetParent() CipService {
+ return m._CipService
+}
+
+// NewSetAttributeSingleRequest factory function for _SetAttributeSingleRequest
+func NewSetAttributeSingleRequest(serviceLen uint16) *_SetAttributeSingleRequest {
+ _result := &_SetAttributeSingleRequest{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastSetAttributeSingleRequest(structType interface{}) SetAttributeSingleRequest {
+ if casted, ok := structType.(SetAttributeSingleRequest); ok {
+ return casted
+ }
+ if casted, ok := structType.(*SetAttributeSingleRequest); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_SetAttributeSingleRequest) GetTypeName() string {
+ return "SetAttributeSingleRequest"
+}
+
+func (m *_SetAttributeSingleRequest) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_SetAttributeSingleRequest) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func SetAttributeSingleRequestParse(theBytes []byte, connected bool, serviceLen uint16) (SetAttributeSingleRequest, error) {
+ return SetAttributeSingleRequestParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func SetAttributeSingleRequestParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (SetAttributeSingleRequest, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("SetAttributeSingleRequest"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for SetAttributeSingleRequest")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("SetAttributeSingleRequest"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for SetAttributeSingleRequest")
+ }
+
+ // Create a partially initialized instance
+ _child := &_SetAttributeSingleRequest{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_SetAttributeSingleRequest) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_SetAttributeSingleRequest) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("SetAttributeSingleRequest"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for SetAttributeSingleRequest")
+ }
+
+ if popErr := writeBuffer.PopContext("SetAttributeSingleRequest"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for SetAttributeSingleRequest")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_SetAttributeSingleRequest) isSetAttributeSingleRequest() bool {
+ return true
+}
+
+func (m *_SetAttributeSingleRequest) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/SetAttributeSingleResponse.go b/plc4go/protocols/eip/readwrite/model/SetAttributeSingleResponse.go
new file mode 100644
index 0000000000..335c5f239c
--- /dev/null
+++ b/plc4go/protocols/eip/readwrite/model/SetAttributeSingleResponse.go
@@ -0,0 +1,175 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+ "context"
+ "github.com/apache/plc4x/plc4go/spi/utils"
+ "github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// SetAttributeSingleResponse is the corresponding interface of SetAttributeSingleResponse
+type SetAttributeSingleResponse interface {
+ utils.LengthAware
+ utils.Serializable
+ CipService
+}
+
+// SetAttributeSingleResponseExactly can be used when we want exactly this type and not a type which fulfills SetAttributeSingleResponse.
+// This is useful for switch cases.
+type SetAttributeSingleResponseExactly interface {
+ SetAttributeSingleResponse
+ isSetAttributeSingleResponse() bool
+}
+
+// _SetAttributeSingleResponse is the data-structure of this message
+type _SetAttributeSingleResponse struct {
+ *_CipService
+}
+
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+/////////////////////// Accessors for discriminator values.
+///////////////////////
+
+func (m *_SetAttributeSingleResponse) GetService() uint8 {
+ return 0x10
+}
+
+func (m *_SetAttributeSingleResponse) GetResponse() bool {
+ return bool(true)
+}
+
+func (m *_SetAttributeSingleResponse) GetConnected() bool {
+ return false
+}
+
+///////////////////////
+///////////////////////
+///////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////
+
+func (m *_SetAttributeSingleResponse) InitializeParent(parent CipService) {}
+
+func (m *_SetAttributeSingleResponse) GetParent() CipService {
+ return m._CipService
+}
+
+// NewSetAttributeSingleResponse factory function for _SetAttributeSingleResponse
+func NewSetAttributeSingleResponse(serviceLen uint16) *_SetAttributeSingleResponse {
+ _result := &_SetAttributeSingleResponse{
+ _CipService: NewCipService(serviceLen),
+ }
+ _result._CipService._CipServiceChildRequirements = _result
+ return _result
+}
+
+// Deprecated: use the interface for direct cast
+func CastSetAttributeSingleResponse(structType interface{}) SetAttributeSingleResponse {
+ if casted, ok := structType.(SetAttributeSingleResponse); ok {
+ return casted
+ }
+ if casted, ok := structType.(*SetAttributeSingleResponse); ok {
+ return *casted
+ }
+ return nil
+}
+
+func (m *_SetAttributeSingleResponse) GetTypeName() string {
+ return "SetAttributeSingleResponse"
+}
+
+func (m *_SetAttributeSingleResponse) GetLengthInBits(ctx context.Context) uint16 {
+ lengthInBits := uint16(m.GetParentLengthInBits(ctx))
+
+ return lengthInBits
+}
+
+func (m *_SetAttributeSingleResponse) GetLengthInBytes(ctx context.Context) uint16 {
+ return m.GetLengthInBits(ctx) / 8
+}
+
+func SetAttributeSingleResponseParse(theBytes []byte, connected bool, serviceLen uint16) (SetAttributeSingleResponse, error) {
+ return SetAttributeSingleResponseParseWithBuffer(context.Background(), utils.NewReadBufferByteBased(theBytes), connected, serviceLen)
+}
+
+func SetAttributeSingleResponseParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, connected bool, serviceLen uint16) (SetAttributeSingleResponse, error) {
+ positionAware := readBuffer
+ _ = positionAware
+ if pullErr := readBuffer.PullContext("SetAttributeSingleResponse"); pullErr != nil {
+ return nil, errors.Wrap(pullErr, "Error pulling for SetAttributeSingleResponse")
+ }
+ currentPos := positionAware.GetPos()
+ _ = currentPos
+
+ if closeErr := readBuffer.CloseContext("SetAttributeSingleResponse"); closeErr != nil {
+ return nil, errors.Wrap(closeErr, "Error closing for SetAttributeSingleResponse")
+ }
+
+ // Create a partially initialized instance
+ _child := &_SetAttributeSingleResponse{
+ _CipService: &_CipService{
+ ServiceLen: serviceLen,
+ },
+ }
+ _child._CipService._CipServiceChildRequirements = _child
+ return _child, nil
+}
+
+func (m *_SetAttributeSingleResponse) Serialize() ([]byte, error) {
+ wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background()))))
+ if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil {
+ return nil, err
+ }
+ return wb.GetBytes(), nil
+}
+
+func (m *_SetAttributeSingleResponse) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+ positionAware := writeBuffer
+ _ = positionAware
+ ser := func() error {
+ if pushErr := writeBuffer.PushContext("SetAttributeSingleResponse"); pushErr != nil {
+ return errors.Wrap(pushErr, "Error pushing for SetAttributeSingleResponse")
+ }
+
+ if popErr := writeBuffer.PopContext("SetAttributeSingleResponse"); popErr != nil {
+ return errors.Wrap(popErr, "Error popping for SetAttributeSingleResponse")
+ }
+ return nil
+ }
+ return m.SerializeParent(ctx, writeBuffer, m, ser)
+}
+
+func (m *_SetAttributeSingleResponse) isSetAttributeSingleResponse() bool {
+ return true
+}
+
+func (m *_SetAttributeSingleResponse) String() string {
+ if m == nil {
+ return "<nil>"
+ }
+ writeBuffer := utils.NewWriteBufferBoxBasedWithOptions(true, true)
+ if err := writeBuffer.WriteSerializable(context.Background(), m); err != nil {
+ return err.Error()
+ }
+ return writeBuffer.GetBox().String()
+}
diff --git a/plc4go/protocols/eip/readwrite/model/StaticHelper.go b/plc4go/protocols/eip/readwrite/model/StaticHelper.go
index 4b2971d910..2cc506a64a 100644
--- a/plc4go/protocols/eip/readwrite/model/StaticHelper.go
+++ b/plc4go/protocols/eip/readwrite/model/StaticHelper.go
@@ -1,3 +1,22 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
package model
import (
diff --git a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
index 5987c98400..a09bc93b74 100644
--- a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapoint.go
@@ -1840,6 +1840,19 @@ func KnxDatapointParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffe
return nil, errors.Wrap(_err, "Error parsing reserved field")
}
+ // Simple Field (value)
+ value, _valueErr := readBuffer.ReadFloat32("value", 16)
+ if _valueErr != nil {
+ return nil, errors.Wrap(_valueErr, "Error parsing 'value' field")
+ }
+ readBuffer.CloseContext("KnxDatapoint")
+ return values.NewPlcREAL(value), nil
+ case datapointType == KnxDatapointType_DPT_Coefficient: // REAL
+ // Reserved Field (Just skip the bytes)
+ if _, _err := readBuffer.ReadUint8("reserved", 8); _err != nil {
+ return nil, errors.Wrap(_err, "Error parsing reserved field")
+ }
+
// Simple Field (value)
value, _valueErr := readBuffer.ReadFloat32("value", 16)
if _valueErr != nil {
@@ -8933,6 +8946,16 @@ func KnxDatapointSerializeWithWriteBuffer(ctx context.Context, writeBuffer utils
return errors.Wrap(_err, "Error serializing reserved field")
}
+ // Simple Field (value)
+ if _err := writeBuffer.WriteFloat32("value", 16, value.GetFloat32()); _err != nil {
+ return errors.Wrap(_err, "Error serializing 'value' field")
+ }
+ case datapointType == KnxDatapointType_DPT_Coefficient: // REAL
+ // Reserved Field (Just skip the bytes)
+ if _err := writeBuffer.WriteUint8("reserved", 8, uint8(0x00)); _err != nil {
+ return errors.Wrap(_err, "Error serializing reserved field")
+ }
+
// Simple Field (value)
if _err := writeBuffer.WriteFloat32("value", 16, value.GetFloat32()); _err != nil {
return errors.Wrap(_err, "Error serializing 'value' field")
diff --git a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go
index 62eb51f9b8..2026c9cb17 100644
--- a/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go
+++ b/plc4go/protocols/knxnetip/readwrite/model/KnxDatapointType.go
@@ -159,235 +159,236 @@ const (
KnxDatapointType_DPT_Value_Wsp_kmh KnxDatapointType = 118
KnxDatapointType_DPT_Value_Absolute_Humidity KnxDatapointType = 119
KnxDatapointType_DPT_Concentration_ygm3 KnxDatapointType = 120
- KnxDatapointType_DPT_TimeOfDay KnxDatapointType = 121
- KnxDatapointType_DPT_Date KnxDatapointType = 122
- KnxDatapointType_DPT_Value_4_Ucount KnxDatapointType = 123
- KnxDatapointType_DPT_LongTimePeriod_Sec KnxDatapointType = 124
- KnxDatapointType_DPT_LongTimePeriod_Min KnxDatapointType = 125
- KnxDatapointType_DPT_LongTimePeriod_Hrs KnxDatapointType = 126
- KnxDatapointType_DPT_VolumeLiquid_Litre KnxDatapointType = 127
- KnxDatapointType_DPT_Volume_m_3 KnxDatapointType = 128
- KnxDatapointType_DPT_Value_4_Count KnxDatapointType = 129
- KnxDatapointType_DPT_FlowRate_m3h KnxDatapointType = 130
- KnxDatapointType_DPT_ActiveEnergy KnxDatapointType = 131
- KnxDatapointType_DPT_ApparantEnergy KnxDatapointType = 132
- KnxDatapointType_DPT_ReactiveEnergy KnxDatapointType = 133
- KnxDatapointType_DPT_ActiveEnergy_kWh KnxDatapointType = 134
- KnxDatapointType_DPT_ApparantEnergy_kVAh KnxDatapointType = 135
- KnxDatapointType_DPT_ReactiveEnergy_kVARh KnxDatapointType = 136
- KnxDatapointType_DPT_ActiveEnergy_MWh KnxDatapointType = 137
- KnxDatapointType_DPT_LongDeltaTimeSec KnxDatapointType = 138
- KnxDatapointType_DPT_DeltaVolumeLiquid_Litre KnxDatapointType = 139
- KnxDatapointType_DPT_DeltaVolume_m_3 KnxDatapointType = 140
- KnxDatapointType_DPT_Value_Acceleration KnxDatapointType = 141
- KnxDatapointType_DPT_Value_Acceleration_Angular KnxDatapointType = 142
- KnxDatapointType_DPT_Value_Activation_Energy KnxDatapointType = 143
- KnxDatapointType_DPT_Value_Activity KnxDatapointType = 144
- KnxDatapointType_DPT_Value_Mol KnxDatapointType = 145
- KnxDatapointType_DPT_Value_Amplitude KnxDatapointType = 146
- KnxDatapointType_DPT_Value_AngleRad KnxDatapointType = 147
- KnxDatapointType_DPT_Value_AngleDeg KnxDatapointType = 148
- KnxDatapointType_DPT_Value_Angular_Momentum KnxDatapointType = 149
- KnxDatapointType_DPT_Value_Angular_Velocity KnxDatapointType = 150
- KnxDatapointType_DPT_Value_Area KnxDatapointType = 151
- KnxDatapointType_DPT_Value_Capacitance KnxDatapointType = 152
- KnxDatapointType_DPT_Value_Charge_DensitySurface KnxDatapointType = 153
- KnxDatapointType_DPT_Value_Charge_DensityVolume KnxDatapointType = 154
- KnxDatapointType_DPT_Value_Compressibility KnxDatapointType = 155
- KnxDatapointType_DPT_Value_Conductance KnxDatapointType = 156
- KnxDatapointType_DPT_Value_Electrical_Conductivity KnxDatapointType = 157
- KnxDatapointType_DPT_Value_Density KnxDatapointType = 158
- KnxDatapointType_DPT_Value_Electric_Charge KnxDatapointType = 159
- KnxDatapointType_DPT_Value_Electric_Current KnxDatapointType = 160
- KnxDatapointType_DPT_Value_Electric_CurrentDensity KnxDatapointType = 161
- KnxDatapointType_DPT_Value_Electric_DipoleMoment KnxDatapointType = 162
- KnxDatapointType_DPT_Value_Electric_Displacement KnxDatapointType = 163
- KnxDatapointType_DPT_Value_Electric_FieldStrength KnxDatapointType = 164
- KnxDatapointType_DPT_Value_Electric_Flux KnxDatapointType = 165
- KnxDatapointType_DPT_Value_Electric_FluxDensity KnxDatapointType = 166
- KnxDatapointType_DPT_Value_Electric_Polarization KnxDatapointType = 167
- KnxDatapointType_DPT_Value_Electric_Potential KnxDatapointType = 168
- KnxDatapointType_DPT_Value_Electric_PotentialDifference KnxDatapointType = 169
- KnxDatapointType_DPT_Value_ElectromagneticMoment KnxDatapointType = 170
- KnxDatapointType_DPT_Value_Electromotive_Force KnxDatapointType = 171
- KnxDatapointType_DPT_Value_Energy KnxDatapointType = 172
- KnxDatapointType_DPT_Value_Force KnxDatapointType = 173
- KnxDatapointType_DPT_Value_Frequency KnxDatapointType = 174
- KnxDatapointType_DPT_Value_Angular_Frequency KnxDatapointType = 175
- KnxDatapointType_DPT_Value_Heat_Capacity KnxDatapointType = 176
- KnxDatapointType_DPT_Value_Heat_FlowRate KnxDatapointType = 177
- KnxDatapointType_DPT_Value_Heat_Quantity KnxDatapointType = 178
- KnxDatapointType_DPT_Value_Impedance KnxDatapointType = 179
- KnxDatapointType_DPT_Value_Length KnxDatapointType = 180
- KnxDatapointType_DPT_Value_Light_Quantity KnxDatapointType = 181
- KnxDatapointType_DPT_Value_Luminance KnxDatapointType = 182
- KnxDatapointType_DPT_Value_Luminous_Flux KnxDatapointType = 183
- KnxDatapointType_DPT_Value_Luminous_Intensity KnxDatapointType = 184
- KnxDatapointType_DPT_Value_Magnetic_FieldStrength KnxDatapointType = 185
- KnxDatapointType_DPT_Value_Magnetic_Flux KnxDatapointType = 186
- KnxDatapointType_DPT_Value_Magnetic_FluxDensity KnxDatapointType = 187
- KnxDatapointType_DPT_Value_Magnetic_Moment KnxDatapointType = 188
- KnxDatapointType_DPT_Value_Magnetic_Polarization KnxDatapointType = 189
- KnxDatapointType_DPT_Value_Magnetization KnxDatapointType = 190
- KnxDatapointType_DPT_Value_MagnetomotiveForce KnxDatapointType = 191
- KnxDatapointType_DPT_Value_Mass KnxDatapointType = 192
- KnxDatapointType_DPT_Value_MassFlux KnxDatapointType = 193
- KnxDatapointType_DPT_Value_Momentum KnxDatapointType = 194
- KnxDatapointType_DPT_Value_Phase_AngleRad KnxDatapointType = 195
- KnxDatapointType_DPT_Value_Phase_AngleDeg KnxDatapointType = 196
- KnxDatapointType_DPT_Value_Power KnxDatapointType = 197
- KnxDatapointType_DPT_Value_Power_Factor KnxDatapointType = 198
- KnxDatapointType_DPT_Value_Pressure KnxDatapointType = 199
- KnxDatapointType_DPT_Value_Reactance KnxDatapointType = 200
- KnxDatapointType_DPT_Value_Resistance KnxDatapointType = 201
- KnxDatapointType_DPT_Value_Resistivity KnxDatapointType = 202
- KnxDatapointType_DPT_Value_SelfInductance KnxDatapointType = 203
- KnxDatapointType_DPT_Value_SolidAngle KnxDatapointType = 204
- KnxDatapointType_DPT_Value_Sound_Intensity KnxDatapointType = 205
- KnxDatapointType_DPT_Value_Speed KnxDatapointType = 206
- KnxDatapointType_DPT_Value_Stress KnxDatapointType = 207
- KnxDatapointType_DPT_Value_Surface_Tension KnxDatapointType = 208
- KnxDatapointType_DPT_Value_Common_Temperature KnxDatapointType = 209
- KnxDatapointType_DPT_Value_Absolute_Temperature KnxDatapointType = 210
- KnxDatapointType_DPT_Value_TemperatureDifference KnxDatapointType = 211
- KnxDatapointType_DPT_Value_Thermal_Capacity KnxDatapointType = 212
- KnxDatapointType_DPT_Value_Thermal_Conductivity KnxDatapointType = 213
- KnxDatapointType_DPT_Value_ThermoelectricPower KnxDatapointType = 214
- KnxDatapointType_DPT_Value_Time KnxDatapointType = 215
- KnxDatapointType_DPT_Value_Torque KnxDatapointType = 216
- KnxDatapointType_DPT_Value_Volume KnxDatapointType = 217
- KnxDatapointType_DPT_Value_Volume_Flux KnxDatapointType = 218
- KnxDatapointType_DPT_Value_Weight KnxDatapointType = 219
- KnxDatapointType_DPT_Value_Work KnxDatapointType = 220
- KnxDatapointType_DPT_Value_ApparentPower KnxDatapointType = 221
- KnxDatapointType_DPT_Volume_Flux_Meter KnxDatapointType = 222
- KnxDatapointType_DPT_Volume_Flux_ls KnxDatapointType = 223
- KnxDatapointType_DPT_Access_Data KnxDatapointType = 224
- KnxDatapointType_DPT_String_ASCII KnxDatapointType = 225
- KnxDatapointType_DPT_String_8859_1 KnxDatapointType = 226
- KnxDatapointType_DPT_SceneNumber KnxDatapointType = 227
- KnxDatapointType_DPT_SceneControl KnxDatapointType = 228
- KnxDatapointType_DPT_DateTime KnxDatapointType = 229
- KnxDatapointType_DPT_SCLOMode KnxDatapointType = 230
- KnxDatapointType_DPT_BuildingMode KnxDatapointType = 231
- KnxDatapointType_DPT_OccMode KnxDatapointType = 232
- KnxDatapointType_DPT_Priority KnxDatapointType = 233
- KnxDatapointType_DPT_LightApplicationMode KnxDatapointType = 234
- KnxDatapointType_DPT_ApplicationArea KnxDatapointType = 235
- KnxDatapointType_DPT_AlarmClassType KnxDatapointType = 236
- KnxDatapointType_DPT_PSUMode KnxDatapointType = 237
- KnxDatapointType_DPT_ErrorClass_System KnxDatapointType = 238
- KnxDatapointType_DPT_ErrorClass_HVAC KnxDatapointType = 239
- KnxDatapointType_DPT_Time_Delay KnxDatapointType = 240
- KnxDatapointType_DPT_Beaufort_Wind_Force_Scale KnxDatapointType = 241
- KnxDatapointType_DPT_SensorSelect KnxDatapointType = 242
- KnxDatapointType_DPT_ActuatorConnectType KnxDatapointType = 243
- KnxDatapointType_DPT_Cloud_Cover KnxDatapointType = 244
- KnxDatapointType_DPT_PowerReturnMode KnxDatapointType = 245
- KnxDatapointType_DPT_FuelType KnxDatapointType = 246
- KnxDatapointType_DPT_BurnerType KnxDatapointType = 247
- KnxDatapointType_DPT_HVACMode KnxDatapointType = 248
- KnxDatapointType_DPT_DHWMode KnxDatapointType = 249
- KnxDatapointType_DPT_LoadPriority KnxDatapointType = 250
- KnxDatapointType_DPT_HVACContrMode KnxDatapointType = 251
- KnxDatapointType_DPT_HVACEmergMode KnxDatapointType = 252
- KnxDatapointType_DPT_ChangeoverMode KnxDatapointType = 253
- KnxDatapointType_DPT_ValveMode KnxDatapointType = 254
- KnxDatapointType_DPT_DamperMode KnxDatapointType = 255
- KnxDatapointType_DPT_HeaterMode KnxDatapointType = 256
- KnxDatapointType_DPT_FanMode KnxDatapointType = 257
- KnxDatapointType_DPT_MasterSlaveMode KnxDatapointType = 258
- KnxDatapointType_DPT_StatusRoomSetp KnxDatapointType = 259
- KnxDatapointType_DPT_Metering_DeviceType KnxDatapointType = 260
- KnxDatapointType_DPT_HumDehumMode KnxDatapointType = 261
- KnxDatapointType_DPT_EnableHCStage KnxDatapointType = 262
- KnxDatapointType_DPT_ADAType KnxDatapointType = 263
- KnxDatapointType_DPT_BackupMode KnxDatapointType = 264
- KnxDatapointType_DPT_StartSynchronization KnxDatapointType = 265
- KnxDatapointType_DPT_Behaviour_Lock_Unlock KnxDatapointType = 266
- KnxDatapointType_DPT_Behaviour_Bus_Power_Up_Down KnxDatapointType = 267
- KnxDatapointType_DPT_DALI_Fade_Time KnxDatapointType = 268
- KnxDatapointType_DPT_BlinkingMode KnxDatapointType = 269
- KnxDatapointType_DPT_LightControlMode KnxDatapointType = 270
- KnxDatapointType_DPT_SwitchPBModel KnxDatapointType = 271
- KnxDatapointType_DPT_PBAction KnxDatapointType = 272
- KnxDatapointType_DPT_DimmPBModel KnxDatapointType = 273
- KnxDatapointType_DPT_SwitchOnMode KnxDatapointType = 274
- KnxDatapointType_DPT_LoadTypeSet KnxDatapointType = 275
- KnxDatapointType_DPT_LoadTypeDetected KnxDatapointType = 276
- KnxDatapointType_DPT_Converter_Test_Control KnxDatapointType = 277
- KnxDatapointType_DPT_SABExcept_Behaviour KnxDatapointType = 278
- KnxDatapointType_DPT_SABBehaviour_Lock_Unlock KnxDatapointType = 279
- KnxDatapointType_DPT_SSSBMode KnxDatapointType = 280
- KnxDatapointType_DPT_BlindsControlMode KnxDatapointType = 281
- KnxDatapointType_DPT_CommMode KnxDatapointType = 282
- KnxDatapointType_DPT_AddInfoTypes KnxDatapointType = 283
- KnxDatapointType_DPT_RF_ModeSelect KnxDatapointType = 284
- KnxDatapointType_DPT_RF_FilterSelect KnxDatapointType = 285
- KnxDatapointType_DPT_StatusGen KnxDatapointType = 286
- KnxDatapointType_DPT_Device_Control KnxDatapointType = 287
- KnxDatapointType_DPT_ForceSign KnxDatapointType = 288
- KnxDatapointType_DPT_ForceSignCool KnxDatapointType = 289
- KnxDatapointType_DPT_StatusRHC KnxDatapointType = 290
- KnxDatapointType_DPT_StatusSDHWC KnxDatapointType = 291
- KnxDatapointType_DPT_FuelTypeSet KnxDatapointType = 292
- KnxDatapointType_DPT_StatusRCC KnxDatapointType = 293
- KnxDatapointType_DPT_StatusAHU KnxDatapointType = 294
- KnxDatapointType_DPT_CombinedStatus_RTSM KnxDatapointType = 295
- KnxDatapointType_DPT_LightActuatorErrorInfo KnxDatapointType = 296
- KnxDatapointType_DPT_RF_ModeInfo KnxDatapointType = 297
- KnxDatapointType_DPT_RF_FilterInfo KnxDatapointType = 298
- KnxDatapointType_DPT_Channel_Activation_8 KnxDatapointType = 299
- KnxDatapointType_DPT_StatusDHWC KnxDatapointType = 300
- KnxDatapointType_DPT_StatusRHCC KnxDatapointType = 301
- KnxDatapointType_DPT_CombinedStatus_HVA KnxDatapointType = 302
- KnxDatapointType_DPT_CombinedStatus_RTC KnxDatapointType = 303
- KnxDatapointType_DPT_Media KnxDatapointType = 304
- KnxDatapointType_DPT_Channel_Activation_16 KnxDatapointType = 305
- KnxDatapointType_DPT_OnOffAction KnxDatapointType = 306
- KnxDatapointType_DPT_Alarm_Reaction KnxDatapointType = 307
- KnxDatapointType_DPT_UpDown_Action KnxDatapointType = 308
- KnxDatapointType_DPT_HVAC_PB_Action KnxDatapointType = 309
- KnxDatapointType_DPT_DoubleNibble KnxDatapointType = 310
- KnxDatapointType_DPT_SceneInfo KnxDatapointType = 311
- KnxDatapointType_DPT_CombinedInfoOnOff KnxDatapointType = 312
- KnxDatapointType_DPT_ActiveEnergy_V64 KnxDatapointType = 313
- KnxDatapointType_DPT_ApparantEnergy_V64 KnxDatapointType = 314
- KnxDatapointType_DPT_ReactiveEnergy_V64 KnxDatapointType = 315
- KnxDatapointType_DPT_Channel_Activation_24 KnxDatapointType = 316
- KnxDatapointType_DPT_HVACModeNext KnxDatapointType = 317
- KnxDatapointType_DPT_DHWModeNext KnxDatapointType = 318
- KnxDatapointType_DPT_OccModeNext KnxDatapointType = 319
- KnxDatapointType_DPT_BuildingModeNext KnxDatapointType = 320
- KnxDatapointType_DPT_StatusLightingActuator KnxDatapointType = 321
- KnxDatapointType_DPT_Version KnxDatapointType = 322
- KnxDatapointType_DPT_AlarmInfo KnxDatapointType = 323
- KnxDatapointType_DPT_TempRoomSetpSetF16_3 KnxDatapointType = 324
- KnxDatapointType_DPT_TempRoomSetpSetShiftF16_3 KnxDatapointType = 325
- KnxDatapointType_DPT_Scaling_Speed KnxDatapointType = 326
- KnxDatapointType_DPT_Scaling_Step_Time KnxDatapointType = 327
- KnxDatapointType_DPT_MeteringValue KnxDatapointType = 328
- KnxDatapointType_DPT_MBus_Address KnxDatapointType = 329
- KnxDatapointType_DPT_Colour_RGB KnxDatapointType = 330
- KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII KnxDatapointType = 331
- KnxDatapointType_DPT_Tariff_ActiveEnergy KnxDatapointType = 332
- KnxDatapointType_DPT_Prioritised_Mode_Control KnxDatapointType = 333
- KnxDatapointType_DPT_DALI_Control_Gear_Diagnostic KnxDatapointType = 334
- KnxDatapointType_DPT_DALI_Diagnostics KnxDatapointType = 335
- KnxDatapointType_DPT_CombinedPosition KnxDatapointType = 336
- KnxDatapointType_DPT_StatusSAB KnxDatapointType = 337
- KnxDatapointType_DPT_Colour_xyY KnxDatapointType = 338
- KnxDatapointType_DPT_Converter_Status KnxDatapointType = 339
- KnxDatapointType_DPT_Converter_Test_Result KnxDatapointType = 340
- KnxDatapointType_DPT_Battery_Info KnxDatapointType = 341
- KnxDatapointType_DPT_Brightness_Colour_Temperature_Transition KnxDatapointType = 342
- KnxDatapointType_DPT_Brightness_Colour_Temperature_Control KnxDatapointType = 343
- KnxDatapointType_DPT_Colour_RGBW KnxDatapointType = 344
- KnxDatapointType_DPT_Relative_Control_RGBW KnxDatapointType = 345
- KnxDatapointType_DPT_Relative_Control_RGB KnxDatapointType = 346
- KnxDatapointType_DPT_GeographicalLocation KnxDatapointType = 347
- KnxDatapointType_DPT_TempRoomSetpSetF16_4 KnxDatapointType = 348
- KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4 KnxDatapointType = 349
+ KnxDatapointType_DPT_Coefficient KnxDatapointType = 121
+ KnxDatapointType_DPT_TimeOfDay KnxDatapointType = 122
+ KnxDatapointType_DPT_Date KnxDatapointType = 123
+ KnxDatapointType_DPT_Value_4_Ucount KnxDatapointType = 124
+ KnxDatapointType_DPT_LongTimePeriod_Sec KnxDatapointType = 125
+ KnxDatapointType_DPT_LongTimePeriod_Min KnxDatapointType = 126
+ KnxDatapointType_DPT_LongTimePeriod_Hrs KnxDatapointType = 127
+ KnxDatapointType_DPT_VolumeLiquid_Litre KnxDatapointType = 128
+ KnxDatapointType_DPT_Volume_m_3 KnxDatapointType = 129
+ KnxDatapointType_DPT_Value_4_Count KnxDatapointType = 130
+ KnxDatapointType_DPT_FlowRate_m3h KnxDatapointType = 131
+ KnxDatapointType_DPT_ActiveEnergy KnxDatapointType = 132
+ KnxDatapointType_DPT_ApparantEnergy KnxDatapointType = 133
+ KnxDatapointType_DPT_ReactiveEnergy KnxDatapointType = 134
+ KnxDatapointType_DPT_ActiveEnergy_kWh KnxDatapointType = 135
+ KnxDatapointType_DPT_ApparantEnergy_kVAh KnxDatapointType = 136
+ KnxDatapointType_DPT_ReactiveEnergy_kVARh KnxDatapointType = 137
+ KnxDatapointType_DPT_ActiveEnergy_MWh KnxDatapointType = 138
+ KnxDatapointType_DPT_LongDeltaTimeSec KnxDatapointType = 139
+ KnxDatapointType_DPT_DeltaVolumeLiquid_Litre KnxDatapointType = 140
+ KnxDatapointType_DPT_DeltaVolume_m_3 KnxDatapointType = 141
+ KnxDatapointType_DPT_Value_Acceleration KnxDatapointType = 142
+ KnxDatapointType_DPT_Value_Acceleration_Angular KnxDatapointType = 143
+ KnxDatapointType_DPT_Value_Activation_Energy KnxDatapointType = 144
+ KnxDatapointType_DPT_Value_Activity KnxDatapointType = 145
+ KnxDatapointType_DPT_Value_Mol KnxDatapointType = 146
+ KnxDatapointType_DPT_Value_Amplitude KnxDatapointType = 147
+ KnxDatapointType_DPT_Value_AngleRad KnxDatapointType = 148
+ KnxDatapointType_DPT_Value_AngleDeg KnxDatapointType = 149
+ KnxDatapointType_DPT_Value_Angular_Momentum KnxDatapointType = 150
+ KnxDatapointType_DPT_Value_Angular_Velocity KnxDatapointType = 151
+ KnxDatapointType_DPT_Value_Area KnxDatapointType = 152
+ KnxDatapointType_DPT_Value_Capacitance KnxDatapointType = 153
+ KnxDatapointType_DPT_Value_Charge_DensitySurface KnxDatapointType = 154
+ KnxDatapointType_DPT_Value_Charge_DensityVolume KnxDatapointType = 155
+ KnxDatapointType_DPT_Value_Compressibility KnxDatapointType = 156
+ KnxDatapointType_DPT_Value_Conductance KnxDatapointType = 157
+ KnxDatapointType_DPT_Value_Electrical_Conductivity KnxDatapointType = 158
+ KnxDatapointType_DPT_Value_Density KnxDatapointType = 159
+ KnxDatapointType_DPT_Value_Electric_Charge KnxDatapointType = 160
+ KnxDatapointType_DPT_Value_Electric_Current KnxDatapointType = 161
+ KnxDatapointType_DPT_Value_Electric_CurrentDensity KnxDatapointType = 162
+ KnxDatapointType_DPT_Value_Electric_DipoleMoment KnxDatapointType = 163
+ KnxDatapointType_DPT_Value_Electric_Displacement KnxDatapointType = 164
+ KnxDatapointType_DPT_Value_Electric_FieldStrength KnxDatapointType = 165
+ KnxDatapointType_DPT_Value_Electric_Flux KnxDatapointType = 166
+ KnxDatapointType_DPT_Value_Electric_FluxDensity KnxDatapointType = 167
+ KnxDatapointType_DPT_Value_Electric_Polarization KnxDatapointType = 168
+ KnxDatapointType_DPT_Value_Electric_Potential KnxDatapointType = 169
+ KnxDatapointType_DPT_Value_Electric_PotentialDifference KnxDatapointType = 170
+ KnxDatapointType_DPT_Value_ElectromagneticMoment KnxDatapointType = 171
+ KnxDatapointType_DPT_Value_Electromotive_Force KnxDatapointType = 172
+ KnxDatapointType_DPT_Value_Energy KnxDatapointType = 173
+ KnxDatapointType_DPT_Value_Force KnxDatapointType = 174
+ KnxDatapointType_DPT_Value_Frequency KnxDatapointType = 175
+ KnxDatapointType_DPT_Value_Angular_Frequency KnxDatapointType = 176
+ KnxDatapointType_DPT_Value_Heat_Capacity KnxDatapointType = 177
+ KnxDatapointType_DPT_Value_Heat_FlowRate KnxDatapointType = 178
+ KnxDatapointType_DPT_Value_Heat_Quantity KnxDatapointType = 179
+ KnxDatapointType_DPT_Value_Impedance KnxDatapointType = 180
+ KnxDatapointType_DPT_Value_Length KnxDatapointType = 181
+ KnxDatapointType_DPT_Value_Light_Quantity KnxDatapointType = 182
+ KnxDatapointType_DPT_Value_Luminance KnxDatapointType = 183
+ KnxDatapointType_DPT_Value_Luminous_Flux KnxDatapointType = 184
+ KnxDatapointType_DPT_Value_Luminous_Intensity KnxDatapointType = 185
+ KnxDatapointType_DPT_Value_Magnetic_FieldStrength KnxDatapointType = 186
+ KnxDatapointType_DPT_Value_Magnetic_Flux KnxDatapointType = 187
+ KnxDatapointType_DPT_Value_Magnetic_FluxDensity KnxDatapointType = 188
+ KnxDatapointType_DPT_Value_Magnetic_Moment KnxDatapointType = 189
+ KnxDatapointType_DPT_Value_Magnetic_Polarization KnxDatapointType = 190
+ KnxDatapointType_DPT_Value_Magnetization KnxDatapointType = 191
+ KnxDatapointType_DPT_Value_MagnetomotiveForce KnxDatapointType = 192
+ KnxDatapointType_DPT_Value_Mass KnxDatapointType = 193
+ KnxDatapointType_DPT_Value_MassFlux KnxDatapointType = 194
+ KnxDatapointType_DPT_Value_Momentum KnxDatapointType = 195
+ KnxDatapointType_DPT_Value_Phase_AngleRad KnxDatapointType = 196
+ KnxDatapointType_DPT_Value_Phase_AngleDeg KnxDatapointType = 197
+ KnxDatapointType_DPT_Value_Power KnxDatapointType = 198
+ KnxDatapointType_DPT_Value_Power_Factor KnxDatapointType = 199
+ KnxDatapointType_DPT_Value_Pressure KnxDatapointType = 200
+ KnxDatapointType_DPT_Value_Reactance KnxDatapointType = 201
+ KnxDatapointType_DPT_Value_Resistance KnxDatapointType = 202
+ KnxDatapointType_DPT_Value_Resistivity KnxDatapointType = 203
+ KnxDatapointType_DPT_Value_SelfInductance KnxDatapointType = 204
+ KnxDatapointType_DPT_Value_SolidAngle KnxDatapointType = 205
+ KnxDatapointType_DPT_Value_Sound_Intensity KnxDatapointType = 206
+ KnxDatapointType_DPT_Value_Speed KnxDatapointType = 207
+ KnxDatapointType_DPT_Value_Stress KnxDatapointType = 208
+ KnxDatapointType_DPT_Value_Surface_Tension KnxDatapointType = 209
+ KnxDatapointType_DPT_Value_Common_Temperature KnxDatapointType = 210
+ KnxDatapointType_DPT_Value_Absolute_Temperature KnxDatapointType = 211
+ KnxDatapointType_DPT_Value_TemperatureDifference KnxDatapointType = 212
+ KnxDatapointType_DPT_Value_Thermal_Capacity KnxDatapointType = 213
+ KnxDatapointType_DPT_Value_Thermal_Conductivity KnxDatapointType = 214
+ KnxDatapointType_DPT_Value_ThermoelectricPower KnxDatapointType = 215
+ KnxDatapointType_DPT_Value_Time KnxDatapointType = 216
+ KnxDatapointType_DPT_Value_Torque KnxDatapointType = 217
+ KnxDatapointType_DPT_Value_Volume KnxDatapointType = 218
+ KnxDatapointType_DPT_Value_Volume_Flux KnxDatapointType = 219
+ KnxDatapointType_DPT_Value_Weight KnxDatapointType = 220
+ KnxDatapointType_DPT_Value_Work KnxDatapointType = 221
+ KnxDatapointType_DPT_Value_ApparentPower KnxDatapointType = 222
+ KnxDatapointType_DPT_Volume_Flux_Meter KnxDatapointType = 223
+ KnxDatapointType_DPT_Volume_Flux_ls KnxDatapointType = 224
+ KnxDatapointType_DPT_Access_Data KnxDatapointType = 225
+ KnxDatapointType_DPT_String_ASCII KnxDatapointType = 226
+ KnxDatapointType_DPT_String_8859_1 KnxDatapointType = 227
+ KnxDatapointType_DPT_SceneNumber KnxDatapointType = 228
+ KnxDatapointType_DPT_SceneControl KnxDatapointType = 229
+ KnxDatapointType_DPT_DateTime KnxDatapointType = 230
+ KnxDatapointType_DPT_SCLOMode KnxDatapointType = 231
+ KnxDatapointType_DPT_BuildingMode KnxDatapointType = 232
+ KnxDatapointType_DPT_OccMode KnxDatapointType = 233
+ KnxDatapointType_DPT_Priority KnxDatapointType = 234
+ KnxDatapointType_DPT_LightApplicationMode KnxDatapointType = 235
+ KnxDatapointType_DPT_ApplicationArea KnxDatapointType = 236
+ KnxDatapointType_DPT_AlarmClassType KnxDatapointType = 237
+ KnxDatapointType_DPT_PSUMode KnxDatapointType = 238
+ KnxDatapointType_DPT_ErrorClass_System KnxDatapointType = 239
+ KnxDatapointType_DPT_ErrorClass_HVAC KnxDatapointType = 240
+ KnxDatapointType_DPT_Time_Delay KnxDatapointType = 241
+ KnxDatapointType_DPT_Beaufort_Wind_Force_Scale KnxDatapointType = 242
+ KnxDatapointType_DPT_SensorSelect KnxDatapointType = 243
+ KnxDatapointType_DPT_ActuatorConnectType KnxDatapointType = 244
+ KnxDatapointType_DPT_Cloud_Cover KnxDatapointType = 245
+ KnxDatapointType_DPT_PowerReturnMode KnxDatapointType = 246
+ KnxDatapointType_DPT_FuelType KnxDatapointType = 247
+ KnxDatapointType_DPT_BurnerType KnxDatapointType = 248
+ KnxDatapointType_DPT_HVACMode KnxDatapointType = 249
+ KnxDatapointType_DPT_DHWMode KnxDatapointType = 250
+ KnxDatapointType_DPT_LoadPriority KnxDatapointType = 251
+ KnxDatapointType_DPT_HVACContrMode KnxDatapointType = 252
+ KnxDatapointType_DPT_HVACEmergMode KnxDatapointType = 253
+ KnxDatapointType_DPT_ChangeoverMode KnxDatapointType = 254
+ KnxDatapointType_DPT_ValveMode KnxDatapointType = 255
+ KnxDatapointType_DPT_DamperMode KnxDatapointType = 256
+ KnxDatapointType_DPT_HeaterMode KnxDatapointType = 257
+ KnxDatapointType_DPT_FanMode KnxDatapointType = 258
+ KnxDatapointType_DPT_MasterSlaveMode KnxDatapointType = 259
+ KnxDatapointType_DPT_StatusRoomSetp KnxDatapointType = 260
+ KnxDatapointType_DPT_Metering_DeviceType KnxDatapointType = 261
+ KnxDatapointType_DPT_HumDehumMode KnxDatapointType = 262
+ KnxDatapointType_DPT_EnableHCStage KnxDatapointType = 263
+ KnxDatapointType_DPT_ADAType KnxDatapointType = 264
+ KnxDatapointType_DPT_BackupMode KnxDatapointType = 265
+ KnxDatapointType_DPT_StartSynchronization KnxDatapointType = 266
+ KnxDatapointType_DPT_Behaviour_Lock_Unlock KnxDatapointType = 267
+ KnxDatapointType_DPT_Behaviour_Bus_Power_Up_Down KnxDatapointType = 268
+ KnxDatapointType_DPT_DALI_Fade_Time KnxDatapointType = 269
+ KnxDatapointType_DPT_BlinkingMode KnxDatapointType = 270
+ KnxDatapointType_DPT_LightControlMode KnxDatapointType = 271
+ KnxDatapointType_DPT_SwitchPBModel KnxDatapointType = 272
+ KnxDatapointType_DPT_PBAction KnxDatapointType = 273
+ KnxDatapointType_DPT_DimmPBModel KnxDatapointType = 274
+ KnxDatapointType_DPT_SwitchOnMode KnxDatapointType = 275
+ KnxDatapointType_DPT_LoadTypeSet KnxDatapointType = 276
+ KnxDatapointType_DPT_LoadTypeDetected KnxDatapointType = 277
+ KnxDatapointType_DPT_Converter_Test_Control KnxDatapointType = 278
+ KnxDatapointType_DPT_SABExcept_Behaviour KnxDatapointType = 279
+ KnxDatapointType_DPT_SABBehaviour_Lock_Unlock KnxDatapointType = 280
+ KnxDatapointType_DPT_SSSBMode KnxDatapointType = 281
+ KnxDatapointType_DPT_BlindsControlMode KnxDatapointType = 282
+ KnxDatapointType_DPT_CommMode KnxDatapointType = 283
+ KnxDatapointType_DPT_AddInfoTypes KnxDatapointType = 284
+ KnxDatapointType_DPT_RF_ModeSelect KnxDatapointType = 285
+ KnxDatapointType_DPT_RF_FilterSelect KnxDatapointType = 286
+ KnxDatapointType_DPT_StatusGen KnxDatapointType = 287
+ KnxDatapointType_DPT_Device_Control KnxDatapointType = 288
+ KnxDatapointType_DPT_ForceSign KnxDatapointType = 289
+ KnxDatapointType_DPT_ForceSignCool KnxDatapointType = 290
+ KnxDatapointType_DPT_StatusRHC KnxDatapointType = 291
+ KnxDatapointType_DPT_StatusSDHWC KnxDatapointType = 292
+ KnxDatapointType_DPT_FuelTypeSet KnxDatapointType = 293
+ KnxDatapointType_DPT_StatusRCC KnxDatapointType = 294
+ KnxDatapointType_DPT_StatusAHU KnxDatapointType = 295
+ KnxDatapointType_DPT_CombinedStatus_RTSM KnxDatapointType = 296
+ KnxDatapointType_DPT_LightActuatorErrorInfo KnxDatapointType = 297
+ KnxDatapointType_DPT_RF_ModeInfo KnxDatapointType = 298
+ KnxDatapointType_DPT_RF_FilterInfo KnxDatapointType = 299
+ KnxDatapointType_DPT_Channel_Activation_8 KnxDatapointType = 300
+ KnxDatapointType_DPT_StatusDHWC KnxDatapointType = 301
+ KnxDatapointType_DPT_StatusRHCC KnxDatapointType = 302
+ KnxDatapointType_DPT_CombinedStatus_HVA KnxDatapointType = 303
+ KnxDatapointType_DPT_CombinedStatus_RTC KnxDatapointType = 304
+ KnxDatapointType_DPT_Media KnxDatapointType = 305
+ KnxDatapointType_DPT_Channel_Activation_16 KnxDatapointType = 306
+ KnxDatapointType_DPT_OnOffAction KnxDatapointType = 307
+ KnxDatapointType_DPT_Alarm_Reaction KnxDatapointType = 308
+ KnxDatapointType_DPT_UpDown_Action KnxDatapointType = 309
+ KnxDatapointType_DPT_HVAC_PB_Action KnxDatapointType = 310
+ KnxDatapointType_DPT_DoubleNibble KnxDatapointType = 311
+ KnxDatapointType_DPT_SceneInfo KnxDatapointType = 312
+ KnxDatapointType_DPT_CombinedInfoOnOff KnxDatapointType = 313
+ KnxDatapointType_DPT_ActiveEnergy_V64 KnxDatapointType = 314
+ KnxDatapointType_DPT_ApparantEnergy_V64 KnxDatapointType = 315
+ KnxDatapointType_DPT_ReactiveEnergy_V64 KnxDatapointType = 316
+ KnxDatapointType_DPT_Channel_Activation_24 KnxDatapointType = 317
+ KnxDatapointType_DPT_HVACModeNext KnxDatapointType = 318
+ KnxDatapointType_DPT_DHWModeNext KnxDatapointType = 319
+ KnxDatapointType_DPT_OccModeNext KnxDatapointType = 320
+ KnxDatapointType_DPT_BuildingModeNext KnxDatapointType = 321
+ KnxDatapointType_DPT_StatusLightingActuator KnxDatapointType = 322
+ KnxDatapointType_DPT_Version KnxDatapointType = 323
+ KnxDatapointType_DPT_AlarmInfo KnxDatapointType = 324
+ KnxDatapointType_DPT_TempRoomSetpSetF16_3 KnxDatapointType = 325
+ KnxDatapointType_DPT_TempRoomSetpSetShiftF16_3 KnxDatapointType = 326
+ KnxDatapointType_DPT_Scaling_Speed KnxDatapointType = 327
+ KnxDatapointType_DPT_Scaling_Step_Time KnxDatapointType = 328
+ KnxDatapointType_DPT_MeteringValue KnxDatapointType = 329
+ KnxDatapointType_DPT_MBus_Address KnxDatapointType = 330
+ KnxDatapointType_DPT_Colour_RGB KnxDatapointType = 331
+ KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII KnxDatapointType = 332
+ KnxDatapointType_DPT_Tariff_ActiveEnergy KnxDatapointType = 333
+ KnxDatapointType_DPT_Prioritised_Mode_Control KnxDatapointType = 334
+ KnxDatapointType_DPT_DALI_Control_Gear_Diagnostic KnxDatapointType = 335
+ KnxDatapointType_DPT_DALI_Diagnostics KnxDatapointType = 336
+ KnxDatapointType_DPT_CombinedPosition KnxDatapointType = 337
+ KnxDatapointType_DPT_StatusSAB KnxDatapointType = 338
+ KnxDatapointType_DPT_Colour_xyY KnxDatapointType = 339
+ KnxDatapointType_DPT_Converter_Status KnxDatapointType = 340
+ KnxDatapointType_DPT_Converter_Test_Result KnxDatapointType = 341
+ KnxDatapointType_DPT_Battery_Info KnxDatapointType = 342
+ KnxDatapointType_DPT_Brightness_Colour_Temperature_Transition KnxDatapointType = 343
+ KnxDatapointType_DPT_Brightness_Colour_Temperature_Control KnxDatapointType = 344
+ KnxDatapointType_DPT_Colour_RGBW KnxDatapointType = 345
+ KnxDatapointType_DPT_Relative_Control_RGBW KnxDatapointType = 346
+ KnxDatapointType_DPT_Relative_Control_RGB KnxDatapointType = 347
+ KnxDatapointType_DPT_GeographicalLocation KnxDatapointType = 348
+ KnxDatapointType_DPT_TempRoomSetpSetF16_4 KnxDatapointType = 349
+ KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4 KnxDatapointType = 350
)
var KnxDatapointTypeValues []KnxDatapointType
@@ -516,6 +517,7 @@ func init() {
KnxDatapointType_DPT_Value_Wsp_kmh,
KnxDatapointType_DPT_Value_Absolute_Humidity,
KnxDatapointType_DPT_Concentration_ygm3,
+ KnxDatapointType_DPT_Coefficient,
KnxDatapointType_DPT_TimeOfDay,
KnxDatapointType_DPT_Date,
KnxDatapointType_DPT_Value_4_Ucount,
@@ -856,7 +858,7 @@ func (e KnxDatapointType) Number() uint16 {
}
case 121:
{ /* '121' */
- return 1
+ return 31
}
case 122:
{ /* '122' */
@@ -868,27 +870,27 @@ func (e KnxDatapointType) Number() uint16 {
}
case 124:
{ /* '124' */
- return 100
+ return 1
}
case 125:
{ /* '125' */
- return 101
+ return 100
}
case 126:
{ /* '126' */
- return 102
+ return 101
}
case 127:
{ /* '127' */
- return 1200
+ return 102
}
case 128:
{ /* '128' */
- return 1201
+ return 1200
}
case 129:
{ /* '129' */
- return 1
+ return 1201
}
case 13:
{ /* '13' */
@@ -896,43 +898,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 130:
{ /* '130' */
- return 2
+ return 1
}
case 131:
{ /* '131' */
- return 10
+ return 2
}
case 132:
{ /* '132' */
- return 11
+ return 10
}
case 133:
{ /* '133' */
- return 12
+ return 11
}
case 134:
{ /* '134' */
- return 13
+ return 12
}
case 135:
{ /* '135' */
- return 14
+ return 13
}
case 136:
{ /* '136' */
- return 15
+ return 14
}
case 137:
{ /* '137' */
- return 16
+ return 15
}
case 138:
{ /* '138' */
- return 100
+ return 16
}
case 139:
{ /* '139' */
- return 1200
+ return 100
}
case 14:
{ /* '14' */
@@ -940,43 +942,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 140:
{ /* '140' */
- return 1201
+ return 1200
}
case 141:
{ /* '141' */
- return 0
+ return 1201
}
case 142:
{ /* '142' */
- return 1
+ return 0
}
case 143:
{ /* '143' */
- return 2
+ return 1
}
case 144:
{ /* '144' */
- return 3
+ return 2
}
case 145:
{ /* '145' */
- return 4
+ return 3
}
case 146:
{ /* '146' */
- return 5
+ return 4
}
case 147:
{ /* '147' */
- return 6
+ return 5
}
case 148:
{ /* '148' */
- return 7
+ return 6
}
case 149:
{ /* '149' */
- return 8
+ return 7
}
case 15:
{ /* '15' */
@@ -984,43 +986,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 150:
{ /* '150' */
- return 9
+ return 8
}
case 151:
{ /* '151' */
- return 10
+ return 9
}
case 152:
{ /* '152' */
- return 11
+ return 10
}
case 153:
{ /* '153' */
- return 12
+ return 11
}
case 154:
{ /* '154' */
- return 13
+ return 12
}
case 155:
{ /* '155' */
- return 14
+ return 13
}
case 156:
{ /* '156' */
- return 15
+ return 14
}
case 157:
{ /* '157' */
- return 16
+ return 15
}
case 158:
{ /* '158' */
- return 17
+ return 16
}
case 159:
{ /* '159' */
- return 18
+ return 17
}
case 16:
{ /* '16' */
@@ -1028,43 +1030,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 160:
{ /* '160' */
- return 19
+ return 18
}
case 161:
{ /* '161' */
- return 20
+ return 19
}
case 162:
{ /* '162' */
- return 21
+ return 20
}
case 163:
{ /* '163' */
- return 22
+ return 21
}
case 164:
{ /* '164' */
- return 23
+ return 22
}
case 165:
{ /* '165' */
- return 24
+ return 23
}
case 166:
{ /* '166' */
- return 25
+ return 24
}
case 167:
{ /* '167' */
- return 26
+ return 25
}
case 168:
{ /* '168' */
- return 27
+ return 26
}
case 169:
{ /* '169' */
- return 28
+ return 27
}
case 17:
{ /* '17' */
@@ -1072,43 +1074,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 170:
{ /* '170' */
- return 29
+ return 28
}
case 171:
{ /* '171' */
- return 30
+ return 29
}
case 172:
{ /* '172' */
- return 31
+ return 30
}
case 173:
{ /* '173' */
- return 32
+ return 31
}
case 174:
{ /* '174' */
- return 33
+ return 32
}
case 175:
{ /* '175' */
- return 34
+ return 33
}
case 176:
{ /* '176' */
- return 35
+ return 34
}
case 177:
{ /* '177' */
- return 36
+ return 35
}
case 178:
{ /* '178' */
- return 37
+ return 36
}
case 179:
{ /* '179' */
- return 38
+ return 37
}
case 18:
{ /* '18' */
@@ -1116,43 +1118,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 180:
{ /* '180' */
- return 39
+ return 38
}
case 181:
{ /* '181' */
- return 40
+ return 39
}
case 182:
{ /* '182' */
- return 41
+ return 40
}
case 183:
{ /* '183' */
- return 42
+ return 41
}
case 184:
{ /* '184' */
- return 43
+ return 42
}
case 185:
{ /* '185' */
- return 44
+ return 43
}
case 186:
{ /* '186' */
- return 45
+ return 44
}
case 187:
{ /* '187' */
- return 46
+ return 45
}
case 188:
{ /* '188' */
- return 47
+ return 46
}
case 189:
{ /* '189' */
- return 48
+ return 47
}
case 19:
{ /* '19' */
@@ -1160,43 +1162,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 190:
{ /* '190' */
- return 49
+ return 48
}
case 191:
{ /* '191' */
- return 50
+ return 49
}
case 192:
{ /* '192' */
- return 51
+ return 50
}
case 193:
{ /* '193' */
- return 52
+ return 51
}
case 194:
{ /* '194' */
- return 53
+ return 52
}
case 195:
{ /* '195' */
- return 54
+ return 53
}
case 196:
{ /* '196' */
- return 55
+ return 54
}
case 197:
{ /* '197' */
- return 56
+ return 55
}
case 198:
{ /* '198' */
- return 57
+ return 56
}
case 199:
{ /* '199' */
- return 58
+ return 57
}
case 2:
{ /* '2' */
@@ -1208,43 +1210,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 200:
{ /* '200' */
- return 59
+ return 58
}
case 201:
{ /* '201' */
- return 60
+ return 59
}
case 202:
{ /* '202' */
- return 61
+ return 60
}
case 203:
{ /* '203' */
- return 62
+ return 61
}
case 204:
{ /* '204' */
- return 63
+ return 62
}
case 205:
{ /* '205' */
- return 64
+ return 63
}
case 206:
{ /* '206' */
- return 65
+ return 64
}
case 207:
{ /* '207' */
- return 66
+ return 65
}
case 208:
{ /* '208' */
- return 67
+ return 66
}
case 209:
{ /* '209' */
- return 68
+ return 67
}
case 21:
{ /* '21' */
@@ -1252,43 +1254,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 210:
{ /* '210' */
- return 69
+ return 68
}
case 211:
{ /* '211' */
- return 70
+ return 69
}
case 212:
{ /* '212' */
- return 71
+ return 70
}
case 213:
{ /* '213' */
- return 72
+ return 71
}
case 214:
{ /* '214' */
- return 73
+ return 72
}
case 215:
{ /* '215' */
- return 74
+ return 73
}
case 216:
{ /* '216' */
- return 75
+ return 74
}
case 217:
{ /* '217' */
- return 76
+ return 75
}
case 218:
{ /* '218' */
- return 77
+ return 76
}
case 219:
{ /* '219' */
- return 78
+ return 77
}
case 22:
{ /* '22' */
@@ -1296,23 +1298,23 @@ func (e KnxDatapointType) Number() uint16 {
}
case 220:
{ /* '220' */
- return 79
+ return 78
}
case 221:
{ /* '221' */
- return 80
+ return 79
}
case 222:
{ /* '222' */
- return 1200
+ return 80
}
case 223:
{ /* '223' */
- return 1201
+ return 1200
}
case 224:
{ /* '224' */
- return 0
+ return 1201
}
case 225:
{ /* '225' */
@@ -1320,7 +1322,7 @@ func (e KnxDatapointType) Number() uint16 {
}
case 226:
{ /* '226' */
- return 1
+ return 0
}
case 227:
{ /* '227' */
@@ -1344,39 +1346,39 @@ func (e KnxDatapointType) Number() uint16 {
}
case 231:
{ /* '231' */
- return 2
+ return 1
}
case 232:
{ /* '232' */
- return 3
+ return 2
}
case 233:
{ /* '233' */
- return 4
+ return 3
}
case 234:
{ /* '234' */
- return 5
+ return 4
}
case 235:
{ /* '235' */
- return 6
+ return 5
}
case 236:
{ /* '236' */
- return 7
+ return 6
}
case 237:
{ /* '237' */
- return 8
+ return 7
}
case 238:
{ /* '238' */
- return 11
+ return 8
}
case 239:
{ /* '239' */
- return 12
+ return 11
}
case 24:
{ /* '24' */
@@ -1384,43 +1386,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 240:
{ /* '240' */
- return 13
+ return 12
}
case 241:
{ /* '241' */
- return 14
+ return 13
}
case 242:
{ /* '242' */
- return 17
+ return 14
}
case 243:
{ /* '243' */
- return 20
+ return 17
}
case 244:
{ /* '244' */
- return 21
+ return 20
}
case 245:
{ /* '245' */
- return 22
+ return 21
}
case 246:
{ /* '246' */
- return 100
+ return 22
}
case 247:
{ /* '247' */
- return 101
+ return 100
}
case 248:
{ /* '248' */
- return 102
+ return 101
}
case 249:
{ /* '249' */
- return 103
+ return 102
}
case 25:
{ /* '25' */
@@ -1428,43 +1430,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 250:
{ /* '250' */
- return 104
+ return 103
}
case 251:
{ /* '251' */
- return 105
+ return 104
}
case 252:
{ /* '252' */
- return 106
+ return 105
}
case 253:
{ /* '253' */
- return 107
+ return 106
}
case 254:
{ /* '254' */
- return 108
+ return 107
}
case 255:
{ /* '255' */
- return 109
+ return 108
}
case 256:
{ /* '256' */
- return 110
+ return 109
}
case 257:
{ /* '257' */
- return 111
+ return 110
}
case 258:
{ /* '258' */
- return 112
+ return 111
}
case 259:
{ /* '259' */
- return 113
+ return 112
}
case 26:
{ /* '26' */
@@ -1472,43 +1474,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 260:
{ /* '260' */
- return 114
+ return 113
}
case 261:
{ /* '261' */
- return 115
+ return 114
}
case 262:
{ /* '262' */
- return 116
+ return 115
}
case 263:
{ /* '263' */
- return 120
+ return 116
}
case 264:
{ /* '264' */
- return 121
+ return 120
}
case 265:
{ /* '265' */
- return 122
+ return 121
}
case 266:
{ /* '266' */
- return 600
+ return 122
}
case 267:
{ /* '267' */
- return 601
+ return 600
}
case 268:
{ /* '268' */
- return 602
+ return 601
}
case 269:
{ /* '269' */
- return 603
+ return 602
}
case 27:
{ /* '27' */
@@ -1516,43 +1518,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 270:
{ /* '270' */
- return 604
+ return 603
}
case 271:
{ /* '271' */
- return 605
+ return 604
}
case 272:
{ /* '272' */
- return 606
+ return 605
}
case 273:
{ /* '273' */
- return 607
+ return 606
}
case 274:
{ /* '274' */
- return 608
+ return 607
}
case 275:
{ /* '275' */
- return 609
+ return 608
}
case 276:
{ /* '276' */
- return 610
+ return 609
}
case 277:
{ /* '277' */
- return 611
+ return 610
}
case 278:
{ /* '278' */
- return 801
+ return 611
}
case 279:
{ /* '279' */
- return 802
+ return 801
}
case 28:
{ /* '28' */
@@ -1560,43 +1562,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 280:
{ /* '280' */
- return 803
+ return 802
}
case 281:
{ /* '281' */
- return 804
+ return 803
}
case 282:
{ /* '282' */
- return 1000
+ return 804
}
case 283:
{ /* '283' */
- return 1001
+ return 1000
}
case 284:
{ /* '284' */
- return 1002
+ return 1001
}
case 285:
{ /* '285' */
- return 1003
+ return 1002
}
case 286:
{ /* '286' */
- return 1
+ return 1003
}
case 287:
{ /* '287' */
- return 2
+ return 1
}
case 288:
{ /* '288' */
- return 100
+ return 2
}
case 289:
{ /* '289' */
- return 101
+ return 100
}
case 29:
{ /* '29' */
@@ -1604,43 +1606,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 290:
{ /* '290' */
- return 102
+ return 101
}
case 291:
{ /* '291' */
- return 103
+ return 102
}
case 292:
{ /* '292' */
- return 104
+ return 103
}
case 293:
{ /* '293' */
- return 105
+ return 104
}
case 294:
{ /* '294' */
- return 106
+ return 105
}
case 295:
{ /* '295' */
- return 107
+ return 106
}
case 296:
{ /* '296' */
- return 601
+ return 107
}
case 297:
{ /* '297' */
- return 1000
+ return 601
}
case 298:
{ /* '298' */
- return 1001
+ return 1000
}
case 299:
{ /* '299' */
- return 1010
+ return 1001
}
case 3:
{ /* '3' */
@@ -1652,43 +1654,43 @@ func (e KnxDatapointType) Number() uint16 {
}
case 300:
{ /* '300' */
- return 100
+ return 1010
}
case 301:
{ /* '301' */
- return 101
+ return 100
}
case 302:
{ /* '302' */
- return 102
+ return 101
}
case 303:
{ /* '303' */
- return 103
+ return 102
}
case 304:
{ /* '304' */
- return 1000
+ return 103
}
case 305:
{ /* '305' */
- return 1010
+ return 1000
}
case 306:
{ /* '306' */
- return 1
+ return 1010
}
case 307:
{ /* '307' */
- return 2
+ return 1
}
case 308:
{ /* '308' */
- return 3
+ return 2
}
case 309:
{ /* '309' */
- return 102
+ return 3
}
case 31:
{ /* '31' */
@@ -1696,11 +1698,11 @@ func (e KnxDatapointType) Number() uint16 {
}
case 310:
{ /* '310' */
- return 1000
+ return 102
}
case 311:
{ /* '311' */
- return 1
+ return 1000
}
case 312:
{ /* '312' */
@@ -1708,31 +1710,31 @@ func (e KnxDatapointType) Number() uint16 {
}
case 313:
{ /* '313' */
- return 10
+ return 1
}
case 314:
{ /* '314' */
- return 11
+ return 10
}
case 315:
{ /* '315' */
- return 12
+ return 11
}
case 316:
{ /* '316' */
- return 1010
+ return 12
}
case 317:
{ /* '317' */
- return 100
+ return 1010
}
case 318:
{ /* '318' */
- return 102
+ return 100
}
case 319:
{ /* '319' */
- return 104
+ return 102
}
case 32:
{ /* '32' */
@@ -1740,15 +1742,15 @@ func (e KnxDatapointType) Number() uint16 {
}
case 320:
{ /* '320' */
- return 105
+ return 104
}
case 321:
{ /* '321' */
- return 600
+ return 105
}
case 322:
{ /* '322' */
- return 1
+ return 600
}
case 323:
{ /* '323' */
@@ -1756,27 +1758,27 @@ func (e KnxDatapointType) Number() uint16 {
}
case 324:
{ /* '324' */
- return 100
+ return 1
}
case 325:
{ /* '325' */
- return 101
+ return 100
}
case 326:
{ /* '326' */
- return 1
+ return 101
}
case 327:
{ /* '327' */
- return 2
+ return 1
}
case 328:
{ /* '328' */
- return 1
+ return 2
}
case 329:
{ /* '329' */
- return 1000
+ return 1
}
case 33:
{ /* '33' */
@@ -1784,11 +1786,11 @@ func (e KnxDatapointType) Number() uint16 {
}
case 330:
{ /* '330' */
- return 600
+ return 1000
}
case 331:
{ /* '331' */
- return 1
+ return 600
}
case 332:
{ /* '332' */
@@ -1800,7 +1802,7 @@ func (e KnxDatapointType) Number() uint16 {
}
case 334:
{ /* '334' */
- return 600
+ return 1
}
case 335:
{ /* '335' */
@@ -1808,7 +1810,7 @@ func (e KnxDatapointType) Number() uint16 {
}
case 336:
{ /* '336' */
- return 800
+ return 600
}
case 337:
{ /* '337' */
@@ -1816,7 +1818,7 @@ func (e KnxDatapointType) Number() uint16 {
}
case 338:
{ /* '338' */
- return 600
+ return 800
}
case 339:
{ /* '339' */
@@ -1856,20 +1858,24 @@ func (e KnxDatapointType) Number() uint16 {
}
case 347:
{ /* '347' */
- return 1
+ return 600
}
case 348:
{ /* '348' */
- return 100
+ return 1
}
case 349:
{ /* '349' */
- return 101
+ return 100
}
case 35:
{ /* '35' */
return 9
}
+ case 350:
+ { /* '350' */
+ return 101
+ }
case 36:
{ /* '36' */
return 10
@@ -2274,39 +2280,39 @@ func (e KnxDatapointType) Name() string {
}
case 121:
{ /* '121' */
- return "time of day"
+ return "coefficient"
}
case 122:
{ /* '122' */
- return "date"
+ return "time of day"
}
case 123:
{ /* '123' */
- return "counter pulses (unsigned)"
+ return "date"
}
case 124:
{ /* '124' */
- return "counter timesec (s)"
+ return "counter pulses (unsigned)"
}
case 125:
{ /* '125' */
- return "counter timemin (min)"
+ return "counter timesec (s)"
}
case 126:
{ /* '126' */
- return "counter timehrs (h)"
+ return "counter timemin (min)"
}
case 127:
{ /* '127' */
- return "volume liquid (l)"
+ return "counter timehrs (h)"
}
case 128:
{ /* '128' */
- return "volume (m³)"
+ return "volume liquid (l)"
}
case 129:
{ /* '129' */
- return "counter pulses (signed)"
+ return "volume (m³)"
}
case 13:
{ /* '13' */
@@ -2314,43 +2320,43 @@ func (e KnxDatapointType) Name() string {
}
case 130:
{ /* '130' */
- return "flow rate (m³/h)"
+ return "counter pulses (signed)"
}
case 131:
{ /* '131' */
- return "active energy (Wh)"
+ return "flow rate (m³/h)"
}
case 132:
{ /* '132' */
- return "apparant energy (VAh)"
+ return "active energy (Wh)"
}
case 133:
{ /* '133' */
- return "reactive energy (VARh)"
+ return "apparant energy (VAh)"
}
case 134:
{ /* '134' */
- return "active energy (kWh)"
+ return "reactive energy (VARh)"
}
case 135:
{ /* '135' */
- return "apparant energy (kVAh)"
+ return "active energy (kWh)"
}
case 136:
{ /* '136' */
- return "reactive energy (kVARh)"
+ return "apparant energy (kVAh)"
}
case 137:
{ /* '137' */
- return "active energy (MWh)"
+ return "reactive energy (kVARh)"
}
case 138:
{ /* '138' */
- return "time lag (s)"
+ return "active energy (MWh)"
}
case 139:
{ /* '139' */
- return "delta volume liquid (l)"
+ return "time lag (s)"
}
case 14:
{ /* '14' */
@@ -2358,43 +2364,43 @@ func (e KnxDatapointType) Name() string {
}
case 140:
{ /* '140' */
- return "delta volume (m³)"
+ return "delta volume liquid (l)"
}
case 141:
{ /* '141' */
- return "acceleration (m/s²)"
+ return "delta volume (m³)"
}
case 142:
{ /* '142' */
- return "angular acceleration (rad/s²)"
+ return "acceleration (m/s²)"
}
case 143:
{ /* '143' */
- return "activation energy (J/mol)"
+ return "angular acceleration (rad/s²)"
}
case 144:
{ /* '144' */
- return "radioactive activity (1/s)"
+ return "activation energy (J/mol)"
}
case 145:
{ /* '145' */
- return "amount of substance (mol)"
+ return "radioactive activity (1/s)"
}
case 146:
{ /* '146' */
- return "amplitude"
+ return "amount of substance (mol)"
}
case 147:
{ /* '147' */
- return "angle (radiant)"
+ return "amplitude"
}
case 148:
{ /* '148' */
- return "angle (degree)"
+ return "angle (radiant)"
}
case 149:
{ /* '149' */
- return "angular momentum (Js)"
+ return "angle (degree)"
}
case 15:
{ /* '15' */
@@ -2402,43 +2408,43 @@ func (e KnxDatapointType) Name() string {
}
case 150:
{ /* '150' */
- return "angular velocity (rad/s)"
+ return "angular momentum (Js)"
}
case 151:
{ /* '151' */
- return "area (m*m)"
+ return "angular velocity (rad/s)"
}
case 152:
{ /* '152' */
- return "capacitance (F)"
+ return "area (m*m)"
}
case 153:
{ /* '153' */
- return "flux density (C/m²)"
+ return "capacitance (F)"
}
case 154:
{ /* '154' */
- return "charge density (C/m³)"
+ return "flux density (C/m²)"
}
case 155:
{ /* '155' */
- return "compressibility (m²/N)"
+ return "charge density (C/m³)"
}
case 156:
{ /* '156' */
- return "conductance (S)"
+ return "compressibility (m²/N)"
}
case 157:
{ /* '157' */
- return "conductivity (S/m)"
+ return "conductance (S)"
}
case 158:
{ /* '158' */
- return "density (kg/m³)"
+ return "conductivity (S/m)"
}
case 159:
{ /* '159' */
- return "electric charge (C)"
+ return "density (kg/m³)"
}
case 16:
{ /* '16' */
@@ -2446,43 +2452,43 @@ func (e KnxDatapointType) Name() string {
}
case 160:
{ /* '160' */
- return "electric current (A)"
+ return "electric charge (C)"
}
case 161:
{ /* '161' */
- return "electric current density (A/m²)"
+ return "electric current (A)"
}
case 162:
{ /* '162' */
- return "electric dipole moment (Cm)"
+ return "electric current density (A/m²)"
}
case 163:
{ /* '163' */
- return "electric displacement (C/m²)"
+ return "electric dipole moment (Cm)"
}
case 164:
{ /* '164' */
- return "electric field strength (V/m)"
+ return "electric displacement (C/m²)"
}
case 165:
{ /* '165' */
- return "electric flux (C)"
+ return "electric field strength (V/m)"
}
case 166:
{ /* '166' */
- return "electric flux density (C/m²)"
+ return "electric flux (C)"
}
case 167:
{ /* '167' */
- return "electric polarization (C/m²)"
+ return "electric flux density (C/m²)"
}
case 168:
{ /* '168' */
- return "electric potential (V)"
+ return "electric polarization (C/m²)"
}
case 169:
{ /* '169' */
- return "electric potential difference (V)"
+ return "electric potential (V)"
}
case 17:
{ /* '17' */
@@ -2490,43 +2496,43 @@ func (e KnxDatapointType) Name() string {
}
case 170:
{ /* '170' */
- return "electromagnetic moment (Am²)"
+ return "electric potential difference (V)"
}
case 171:
{ /* '171' */
- return "electromotive force (V)"
+ return "electromagnetic moment (Am²)"
}
case 172:
{ /* '172' */
- return "energy (J)"
+ return "electromotive force (V)"
}
case 173:
{ /* '173' */
- return "force (N)"
+ return "energy (J)"
}
case 174:
{ /* '174' */
- return "frequency (Hz)"
+ return "force (N)"
}
case 175:
{ /* '175' */
- return "angular frequency (rad/s)"
+ return "frequency (Hz)"
}
case 176:
{ /* '176' */
- return "heat capacity (J/K)"
+ return "angular frequency (rad/s)"
}
case 177:
{ /* '177' */
- return "heat flow rate (W)"
+ return "heat capacity (J/K)"
}
case 178:
{ /* '178' */
- return "heat quantity"
+ return "heat flow rate (W)"
}
case 179:
{ /* '179' */
- return "impedance (Ω)"
+ return "heat quantity"
}
case 18:
{ /* '18' */
@@ -2534,43 +2540,43 @@ func (e KnxDatapointType) Name() string {
}
case 180:
{ /* '180' */
- return "length (m)"
+ return "impedance (Ω)"
}
case 181:
{ /* '181' */
- return "light quantity (J)"
+ return "length (m)"
}
case 182:
{ /* '182' */
- return "luminance (cd/m²)"
+ return "light quantity (J)"
}
case 183:
{ /* '183' */
- return "luminous flux (lm)"
+ return "luminance (cd/m²)"
}
case 184:
{ /* '184' */
- return "luminous intensity (cd)"
+ return "luminous flux (lm)"
}
case 185:
{ /* '185' */
- return "magnetic field strength (A/m)"
+ return "luminous intensity (cd)"
}
case 186:
{ /* '186' */
- return "magnetic flux (Wb)"
+ return "magnetic field strength (A/m)"
}
case 187:
{ /* '187' */
- return "magnetic flux density (T)"
+ return "magnetic flux (Wb)"
}
case 188:
{ /* '188' */
- return "magnetic moment (Am²)"
+ return "magnetic flux density (T)"
}
case 189:
{ /* '189' */
- return "magnetic polarization (T)"
+ return "magnetic moment (Am²)"
}
case 19:
{ /* '19' */
@@ -2578,43 +2584,43 @@ func (e KnxDatapointType) Name() string {
}
case 190:
{ /* '190' */
- return "magnetization (A/m)"
+ return "magnetic polarization (T)"
}
case 191:
{ /* '191' */
- return "magnetomotive force (A)"
+ return "magnetization (A/m)"
}
case 192:
{ /* '192' */
- return "mass (kg)"
+ return "magnetomotive force (A)"
}
case 193:
{ /* '193' */
- return "mass flux (kg/s)"
+ return "mass (kg)"
}
case 194:
{ /* '194' */
- return "momentum (N/s)"
+ return "mass flux (kg/s)"
}
case 195:
{ /* '195' */
- return "phase angle (rad)"
+ return "momentum (N/s)"
}
case 196:
{ /* '196' */
- return "phase angle (°)"
+ return "phase angle (rad)"
}
case 197:
{ /* '197' */
- return "power (W)"
+ return "phase angle (°)"
}
case 198:
{ /* '198' */
- return "power factor (cos Φ)"
+ return "power (W)"
}
case 199:
{ /* '199' */
- return "pressure (Pa)"
+ return "power factor (cos Φ)"
}
case 2:
{ /* '2' */
@@ -2626,43 +2632,43 @@ func (e KnxDatapointType) Name() string {
}
case 200:
{ /* '200' */
- return "reactance (Ω)"
+ return "pressure (Pa)"
}
case 201:
{ /* '201' */
- return "resistance (Ω)"
+ return "reactance (Ω)"
}
case 202:
{ /* '202' */
- return "resistivity (Ωm)"
+ return "resistance (Ω)"
}
case 203:
{ /* '203' */
- return "self inductance (H)"
+ return "resistivity (Ωm)"
}
case 204:
{ /* '204' */
- return "solid angle (sr)"
+ return "self inductance (H)"
}
case 205:
{ /* '205' */
- return "sound intensity (W/m²)"
+ return "solid angle (sr)"
}
case 206:
{ /* '206' */
- return "speed (m/s)"
+ return "sound intensity (W/m²)"
}
case 207:
{ /* '207' */
- return "stress (Pa)"
+ return "speed (m/s)"
}
case 208:
{ /* '208' */
- return "surface tension (N/m)"
+ return "stress (Pa)"
}
case 209:
{ /* '209' */
- return "temperature (°C)"
+ return "surface tension (N/m)"
}
case 21:
{ /* '21' */
@@ -2670,43 +2676,43 @@ func (e KnxDatapointType) Name() string {
}
case 210:
{ /* '210' */
- return "temperature absolute (K)"
+ return "temperature (°C)"
}
case 211:
{ /* '211' */
- return "temperature difference (K)"
+ return "temperature absolute (K)"
}
case 212:
{ /* '212' */
- return "thermal capacity (J/K)"
+ return "temperature difference (K)"
}
case 213:
{ /* '213' */
- return "thermal conductivity (W/mK)"
+ return "thermal capacity (J/K)"
}
case 214:
{ /* '214' */
- return "thermoelectric power (V/K)"
+ return "thermal conductivity (W/mK)"
}
case 215:
{ /* '215' */
- return "time (s)"
+ return "thermoelectric power (V/K)"
}
case 216:
{ /* '216' */
- return "torque (Nm)"
+ return "time (s)"
}
case 217:
{ /* '217' */
- return "volume (m³)"
+ return "torque (Nm)"
}
case 218:
{ /* '218' */
- return "volume flux (m³/s)"
+ return "volume (m³)"
}
case 219:
{ /* '219' */
- return "weight (N)"
+ return "volume flux (m³/s)"
}
case 22:
{ /* '22' */
@@ -2714,43 +2720,43 @@ func (e KnxDatapointType) Name() string {
}
case 220:
{ /* '220' */
- return "work (J)"
+ return "weight (N)"
}
case 221:
{ /* '221' */
- return "apparent power (VA)"
+ return "work (J)"
}
case 222:
{ /* '222' */
- return "volume flux for meters (m³/h)"
+ return "apparent power (VA)"
}
case 223:
{ /* '223' */
- return "volume flux for meters (1/ls)"
+ return "volume flux for meters (m³/h)"
}
case 224:
{ /* '224' */
- return "entrance access"
+ return "volume flux for meters (1/ls)"
}
case 225:
{ /* '225' */
- return "Character String (ASCII)"
+ return "entrance access"
}
case 226:
{ /* '226' */
- return "Character String (ISO 8859-1)"
+ return "Character String (ASCII)"
}
case 227:
{ /* '227' */
- return "scene number"
+ return "Character String (ISO 8859-1)"
}
case 228:
{ /* '228' */
- return "scene control"
+ return "scene number"
}
case 229:
{ /* '229' */
- return "date time"
+ return "scene control"
}
case 23:
{ /* '23' */
@@ -2758,43 +2764,43 @@ func (e KnxDatapointType) Name() string {
}
case 230:
{ /* '230' */
- return "SCLO mode"
+ return "date time"
}
case 231:
{ /* '231' */
- return "building mode"
+ return "SCLO mode"
}
case 232:
{ /* '232' */
- return "occupied"
+ return "building mode"
}
case 233:
{ /* '233' */
- return "priority"
+ return "occupied"
}
case 234:
{ /* '234' */
- return "light application mode"
+ return "priority"
}
case 235:
{ /* '235' */
- return "light application area"
+ return "light application mode"
}
case 236:
{ /* '236' */
- return "alarm class"
+ return "light application area"
}
case 237:
{ /* '237' */
- return "PSU mode"
+ return "alarm class"
}
case 238:
{ /* '238' */
- return "system error class"
+ return "PSU mode"
}
case 239:
{ /* '239' */
- return "HVAC error class"
+ return "system error class"
}
case 24:
{ /* '24' */
@@ -2802,43 +2808,43 @@ func (e KnxDatapointType) Name() string {
}
case 240:
{ /* '240' */
- return "time delay"
+ return "HVAC error class"
}
case 241:
{ /* '241' */
- return "wind force scale (0..12)"
+ return "time delay"
}
case 242:
{ /* '242' */
- return "sensor mode"
+ return "wind force scale (0..12)"
}
case 243:
{ /* '243' */
- return "actuator connect type"
+ return "sensor mode"
}
case 244:
{ /* '244' */
- return "cloud cover"
+ return "actuator connect type"
}
case 245:
{ /* '245' */
- return "power return mode"
+ return "cloud cover"
}
case 246:
{ /* '246' */
- return "fuel type"
+ return "power return mode"
}
case 247:
{ /* '247' */
- return "burner type"
+ return "fuel type"
}
case 248:
{ /* '248' */
- return "HVAC mode"
+ return "burner type"
}
case 249:
{ /* '249' */
- return "DHW mode"
+ return "HVAC mode"
}
case 25:
{ /* '25' */
@@ -2846,43 +2852,43 @@ func (e KnxDatapointType) Name() string {
}
case 250:
{ /* '250' */
- return "load priority"
+ return "DHW mode"
}
case 251:
{ /* '251' */
- return "HVAC control mode"
+ return "load priority"
}
case 252:
{ /* '252' */
- return "HVAC emergency mode"
+ return "HVAC control mode"
}
case 253:
{ /* '253' */
- return "changeover mode"
+ return "HVAC emergency mode"
}
case 254:
{ /* '254' */
- return "valve mode"
+ return "changeover mode"
}
case 255:
{ /* '255' */
- return "damper mode"
+ return "valve mode"
}
case 256:
{ /* '256' */
- return "heater mode"
+ return "damper mode"
}
case 257:
{ /* '257' */
- return "fan mode"
+ return "heater mode"
}
case 258:
{ /* '258' */
- return "master/slave mode"
+ return "fan mode"
}
case 259:
{ /* '259' */
- return "status room setpoint"
+ return "master/slave mode"
}
case 26:
{ /* '26' */
@@ -2890,43 +2896,43 @@ func (e KnxDatapointType) Name() string {
}
case 260:
{ /* '260' */
- return "metering device type"
+ return "status room setpoint"
}
case 261:
{ /* '261' */
- return "hum dehum mode"
+ return "metering device type"
}
case 262:
{ /* '262' */
- return "enable H/C stage"
+ return "hum dehum mode"
}
case 263:
{ /* '263' */
- return "ADA type"
+ return "enable H/C stage"
}
case 264:
{ /* '264' */
- return "backup mode"
+ return "ADA type"
}
case 265:
{ /* '265' */
- return "start syncronization type"
+ return "backup mode"
}
case 266:
{ /* '266' */
- return "behavior lock/unlock"
+ return "start syncronization type"
}
case 267:
{ /* '267' */
- return "behavior bus power up/down"
+ return "behavior lock/unlock"
}
case 268:
{ /* '268' */
- return "dali fade time"
+ return "behavior bus power up/down"
}
case 269:
{ /* '269' */
- return "blink mode"
+ return "dali fade time"
}
case 27:
{ /* '27' */
@@ -2934,43 +2940,43 @@ func (e KnxDatapointType) Name() string {
}
case 270:
{ /* '270' */
- return "light control mode"
+ return "blink mode"
}
case 271:
{ /* '271' */
- return "PB switch mode"
+ return "light control mode"
}
case 272:
{ /* '272' */
- return "PB action mode"
+ return "PB switch mode"
}
case 273:
{ /* '273' */
- return "PB dimm mode"
+ return "PB action mode"
}
case 274:
{ /* '274' */
- return "switch on mode"
+ return "PB dimm mode"
}
case 275:
{ /* '275' */
- return "load type"
+ return "switch on mode"
}
case 276:
{ /* '276' */
- return "load type detection"
+ return "load type"
}
case 277:
{ /* '277' */
- return "converter test control"
+ return "load type detection"
}
case 278:
{ /* '278' */
- return "SAB except behavior"
+ return "converter test control"
}
case 279:
{ /* '279' */
- return "SAB behavior on lock/unlock"
+ return "SAB except behavior"
}
case 28:
{ /* '28' */
@@ -2978,43 +2984,43 @@ func (e KnxDatapointType) Name() string {
}
case 280:
{ /* '280' */
- return "SSSB mode"
+ return "SAB behavior on lock/unlock"
}
case 281:
{ /* '281' */
- return "blinds control mode"
+ return "SSSB mode"
}
case 282:
{ /* '282' */
- return "communication mode"
+ return "blinds control mode"
}
case 283:
{ /* '283' */
- return "additional information type"
+ return "communication mode"
}
case 284:
{ /* '284' */
- return "RF mode selection"
+ return "additional information type"
}
case 285:
{ /* '285' */
- return "RF filter mode selection"
+ return "RF mode selection"
}
case 286:
{ /* '286' */
- return "general status"
+ return "RF filter mode selection"
}
case 287:
{ /* '287' */
- return "device control"
+ return "general status"
}
case 288:
{ /* '288' */
- return "forcing signal"
+ return "device control"
}
case 289:
{ /* '289' */
- return "forcing signal cool"
+ return "forcing signal"
}
case 29:
{ /* '29' */
@@ -3022,43 +3028,43 @@ func (e KnxDatapointType) Name() string {
}
case 290:
{ /* '290' */
- return "room heating controller status"
+ return "forcing signal cool"
}
case 291:
{ /* '291' */
- return "solar DHW controller status"
+ return "room heating controller status"
}
case 292:
{ /* '292' */
- return "fuel type set"
+ return "solar DHW controller status"
}
case 293:
{ /* '293' */
- return "room cooling controller status"
+ return "fuel type set"
}
case 294:
{ /* '294' */
- return "ventilation controller status"
+ return "room cooling controller status"
}
case 295:
{ /* '295' */
- return "combined status RTSM"
+ return "ventilation controller status"
}
case 296:
{ /* '296' */
- return "lighting actuator error information"
+ return "combined status RTSM"
}
case 297:
{ /* '297' */
- return "RF communication mode info"
+ return "lighting actuator error information"
}
case 298:
{ /* '298' */
- return "cEMI server supported RF filtering modes"
+ return "RF communication mode info"
}
case 299:
{ /* '299' */
- return "channel activation for 8 channels"
+ return "cEMI server supported RF filtering modes"
}
case 3:
{ /* '3' */
@@ -3070,43 +3076,43 @@ func (e KnxDatapointType) Name() string {
}
case 300:
{ /* '300' */
- return "DHW controller status"
+ return "channel activation for 8 channels"
}
case 301:
{ /* '301' */
- return "RHCC status"
+ return "DHW controller status"
}
case 302:
{ /* '302' */
- return "combined status HVA"
+ return "RHCC status"
}
case 303:
{ /* '303' */
- return "combined status RTC"
+ return "combined status HVA"
}
case 304:
{ /* '304' */
- return "media"
+ return "combined status RTC"
}
case 305:
{ /* '305' */
- return "channel activation for 16 channels"
+ return "media"
}
case 306:
{ /* '306' */
- return "on/off action"
+ return "channel activation for 16 channels"
}
case 307:
{ /* '307' */
- return "alarm reaction"
+ return "on/off action"
}
case 308:
{ /* '308' */
- return "up/down action"
+ return "alarm reaction"
}
case 309:
{ /* '309' */
- return "HVAC push button action"
+ return "up/down action"
}
case 31:
{ /* '31' */
@@ -3114,43 +3120,43 @@ func (e KnxDatapointType) Name() string {
}
case 310:
{ /* '310' */
- return "busy/nak repetitions"
+ return "HVAC push button action"
}
case 311:
{ /* '311' */
- return "scene information"
+ return "busy/nak repetitions"
}
case 312:
{ /* '312' */
- return "bit-combined info on/off"
+ return "scene information"
}
case 313:
{ /* '313' */
- return "active energy (Wh)"
+ return "bit-combined info on/off"
}
case 314:
{ /* '314' */
- return "apparant energy (VAh)"
+ return "active energy (Wh)"
}
case 315:
{ /* '315' */
- return "reactive energy (VARh)"
+ return "apparant energy (VAh)"
}
case 316:
{ /* '316' */
- return "activation state 0..23"
+ return "reactive energy (VARh)"
}
case 317:
{ /* '317' */
- return "time delay & HVAC mode"
+ return "activation state 0..23"
}
case 318:
{ /* '318' */
- return "time delay & DHW mode"
+ return "time delay & HVAC mode"
}
case 319:
{ /* '319' */
- return "time delay & occupancy mode"
+ return "time delay & DHW mode"
}
case 32:
{ /* '32' */
@@ -3158,43 +3164,43 @@ func (e KnxDatapointType) Name() string {
}
case 320:
{ /* '320' */
- return "time delay & building mode"
+ return "time delay & occupancy mode"
}
case 321:
{ /* '321' */
- return "Status Lighting Actuator"
+ return "time delay & building mode"
}
case 322:
{ /* '322' */
- return "DPT version"
+ return "Status Lighting Actuator"
}
case 323:
{ /* '323' */
- return "alarm info"
+ return "DPT version"
}
case 324:
{ /* '324' */
- return "room temperature setpoint"
+ return "alarm info"
}
case 325:
{ /* '325' */
- return "room temperature setpoint shift"
+ return "room temperature setpoint"
}
case 326:
{ /* '326' */
- return "scaling speed"
+ return "room temperature setpoint shift"
}
case 327:
{ /* '327' */
- return "scaling step time"
+ return "scaling speed"
}
case 328:
{ /* '328' */
- return "metering value (value,encoding,cmd)"
+ return "scaling step time"
}
case 329:
{ /* '329' */
- return "MBus address"
+ return "metering value (value,encoding,cmd)"
}
case 33:
{ /* '33' */
@@ -3202,23 +3208,23 @@ func (e KnxDatapointType) Name() string {
}
case 330:
{ /* '330' */
- return "RGB value 3x(0..255)"
+ return "MBus address"
}
case 331:
{ /* '331' */
- return "language code (ASCII)"
+ return "RGB value 3x(0..255)"
}
case 332:
{ /* '332' */
- return "electrical energy with tariff"
+ return "language code (ASCII)"
}
case 333:
{ /* '333' */
- return "priority control"
+ return "electrical energy with tariff"
}
case 334:
{ /* '334' */
- return "diagnostic value"
+ return "priority control"
}
case 335:
{ /* '335' */
@@ -3226,19 +3232,19 @@ func (e KnxDatapointType) Name() string {
}
case 336:
{ /* '336' */
- return "combined position"
+ return "diagnostic value"
}
case 337:
{ /* '337' */
- return "status sunblind & shutter actuator"
+ return "combined position"
}
case 338:
{ /* '338' */
- return "colour xyY"
+ return "status sunblind & shutter actuator"
}
case 339:
{ /* '339' */
- return "DALI converter status"
+ return "colour xyY"
}
case 34:
{ /* '34' */
@@ -3246,48 +3252,52 @@ func (e KnxDatapointType) Name() string {
}
case 340:
{ /* '340' */
- return "DALI converter test result"
+ return "DALI converter status"
}
case 341:
{ /* '341' */
- return "Battery Information"
+ return "DALI converter test result"
}
case 342:
{ /* '342' */
- return "brightness colour temperature transition"
+ return "Battery Information"
}
case 343:
{ /* '343' */
- return "brightness colour temperature control"
+ return "brightness colour temperature transition"
}
case 344:
{ /* '344' */
- return "RGBW value 4x(0..100%)"
+ return "brightness colour temperature control"
}
case 345:
{ /* '345' */
- return "RGBW relative control"
+ return "RGBW value 4x(0..100%)"
}
case 346:
{ /* '346' */
- return "RGB relative control"
+ return "RGBW relative control"
}
case 347:
{ /* '347' */
- return "geographical location (longitude and latitude) expressed in degrees"
+ return "RGB relative control"
}
case 348:
{ /* '348' */
- return "Temperature setpoint setting for 4 HVAC Modes"
+ return "geographical location (longitude and latitude) expressed in degrees"
}
case 349:
{ /* '349' */
- return "Temperature setpoint shift setting for 4 HVAC Modes"
+ return "Temperature setpoint setting for 4 HVAC Modes"
}
case 35:
{ /* '35' */
return "open/close"
}
+ case 350:
+ { /* '350' */
+ return "Temperature setpoint shift setting for 4 HVAC Modes"
+ }
case 36:
{ /* '36' */
return "start/stop"
@@ -3692,15 +3702,15 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 121:
{ /* '121' */
- return KnxDatapointMainType_DPT_TIME
+ return KnxDatapointMainType_DPT_2_BYTE_FLOAT_VALUE
}
case 122:
{ /* '122' */
- return KnxDatapointMainType_DPT_DATE
+ return KnxDatapointMainType_DPT_TIME
}
case 123:
{ /* '123' */
- return KnxDatapointMainType_DPT_4_BYTE_UNSIGNED_VALUE
+ return KnxDatapointMainType_DPT_DATE
}
case 124:
{ /* '124' */
@@ -3724,7 +3734,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 129:
{ /* '129' */
- return KnxDatapointMainType_DPT_4_BYTE_SIGNED_VALUE
+ return KnxDatapointMainType_DPT_4_BYTE_UNSIGNED_VALUE
}
case 13:
{ /* '13' */
@@ -3780,7 +3790,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 141:
{ /* '141' */
- return KnxDatapointMainType_DPT_4_BYTE_FLOAT_VALUE
+ return KnxDatapointMainType_DPT_4_BYTE_SIGNED_VALUE
}
case 142:
{ /* '142' */
@@ -4148,11 +4158,11 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 224:
{ /* '224' */
- return KnxDatapointMainType_DPT_ENTRANCE_ACCESS
+ return KnxDatapointMainType_DPT_4_BYTE_FLOAT_VALUE
}
case 225:
{ /* '225' */
- return KnxDatapointMainType_DPT_CHARACTER_STRING
+ return KnxDatapointMainType_DPT_ENTRANCE_ACCESS
}
case 226:
{ /* '226' */
@@ -4160,15 +4170,15 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 227:
{ /* '227' */
- return KnxDatapointMainType_DPT_SCENE_NUMBER
+ return KnxDatapointMainType_DPT_CHARACTER_STRING
}
case 228:
{ /* '228' */
- return KnxDatapointMainType_DPT_SCENE_CONTROL
+ return KnxDatapointMainType_DPT_SCENE_NUMBER
}
case 229:
{ /* '229' */
- return KnxDatapointMainType_DPT_DATE_TIME
+ return KnxDatapointMainType_DPT_SCENE_CONTROL
}
case 23:
{ /* '23' */
@@ -4176,7 +4186,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 230:
{ /* '230' */
- return KnxDatapointMainType_DPT_1_BYTE
+ return KnxDatapointMainType_DPT_DATE_TIME
}
case 231:
{ /* '231' */
@@ -4420,7 +4430,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 286:
{ /* '286' */
- return KnxDatapointMainType_DPT_8_BIT_SET
+ return KnxDatapointMainType_DPT_1_BYTE
}
case 287:
{ /* '287' */
@@ -4488,7 +4498,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 300:
{ /* '300' */
- return KnxDatapointMainType_DPT_16_BIT_SET
+ return KnxDatapointMainType_DPT_8_BIT_SET
}
case 301:
{ /* '301' */
@@ -4512,7 +4522,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 306:
{ /* '306' */
- return KnxDatapointMainType_DPT_2_BIT_SET
+ return KnxDatapointMainType_DPT_16_BIT_SET
}
case 307:
{ /* '307' */
@@ -4532,19 +4542,19 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 310:
{ /* '310' */
- return KnxDatapointMainType_DPT_2_NIBBLE_SET
+ return KnxDatapointMainType_DPT_2_BIT_SET
}
case 311:
{ /* '311' */
- return KnxDatapointMainType_DPT_8_BIT_SET_2
+ return KnxDatapointMainType_DPT_2_NIBBLE_SET
}
case 312:
{ /* '312' */
- return KnxDatapointMainType_DPT_32_BIT_SET
+ return KnxDatapointMainType_DPT_8_BIT_SET_2
}
case 313:
{ /* '313' */
- return KnxDatapointMainType_DPT_ELECTRICAL_ENERGY
+ return KnxDatapointMainType_DPT_32_BIT_SET
}
case 314:
{ /* '314' */
@@ -4556,11 +4566,11 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 316:
{ /* '316' */
- return KnxDatapointMainType_DPT_24_TIMES_CHANNEL_ACTIVATION
+ return KnxDatapointMainType_DPT_ELECTRICAL_ENERGY
}
case 317:
{ /* '317' */
- return KnxDatapointMainType_DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM
+ return KnxDatapointMainType_DPT_24_TIMES_CHANNEL_ACTIVATION
}
case 318:
{ /* '318' */
@@ -4580,19 +4590,19 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 321:
{ /* '321' */
- return KnxDatapointMainType_DPT_8_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM
+ return KnxDatapointMainType_DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM
}
case 322:
{ /* '322' */
- return KnxDatapointMainType_DPT_DATAPOINT_TYPE_VERSION
+ return KnxDatapointMainType_DPT_8_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM
}
case 323:
{ /* '323' */
- return KnxDatapointMainType_DPT_ALARM_INFO
+ return KnxDatapointMainType_DPT_DATAPOINT_TYPE_VERSION
}
case 324:
{ /* '324' */
- return KnxDatapointMainType_DPT_3X_2_BYTE_FLOAT_VALUE
+ return KnxDatapointMainType_DPT_ALARM_INFO
}
case 325:
{ /* '325' */
@@ -4600,7 +4610,7 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 326:
{ /* '326' */
- return KnxDatapointMainType_DPT_SCALING_SPEED
+ return KnxDatapointMainType_DPT_3X_2_BYTE_FLOAT_VALUE
}
case 327:
{ /* '327' */
@@ -4608,11 +4618,11 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 328:
{ /* '328' */
- return KnxDatapointMainType_DPT_4_1_1_BYTE_COMBINED_INFORMATION
+ return KnxDatapointMainType_DPT_SCALING_SPEED
}
case 329:
{ /* '329' */
- return KnxDatapointMainType_DPT_MBUS_ADDRESS
+ return KnxDatapointMainType_DPT_4_1_1_BYTE_COMBINED_INFORMATION
}
case 33:
{ /* '33' */
@@ -4620,43 +4630,43 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 330:
{ /* '330' */
- return KnxDatapointMainType_DPT_3_BYTE_COLOUR_RGB
+ return KnxDatapointMainType_DPT_MBUS_ADDRESS
}
case 331:
{ /* '331' */
- return KnxDatapointMainType_DPT_LANGUAGE_CODE_ISO_639_1
+ return KnxDatapointMainType_DPT_3_BYTE_COLOUR_RGB
}
case 332:
{ /* '332' */
- return KnxDatapointMainType_DPT_SIGNED_VALUE_WITH_CLASSIFICATION_AND_VALIDITY
+ return KnxDatapointMainType_DPT_LANGUAGE_CODE_ISO_639_1
}
case 333:
{ /* '333' */
- return KnxDatapointMainType_DPT_PRIORITISED_MODE_CONTROL
+ return KnxDatapointMainType_DPT_SIGNED_VALUE_WITH_CLASSIFICATION_AND_VALIDITY
}
case 334:
{ /* '334' */
- return KnxDatapointMainType_DPT_CONFIGURATION_DIAGNOSTICS_16_BIT
+ return KnxDatapointMainType_DPT_PRIORITISED_MODE_CONTROL
}
case 335:
{ /* '335' */
- return KnxDatapointMainType_DPT_CONFIGURATION_DIAGNOSTICS_8_BIT
+ return KnxDatapointMainType_DPT_CONFIGURATION_DIAGNOSTICS_16_BIT
}
case 336:
{ /* '336' */
- return KnxDatapointMainType_DPT_POSITIONS
+ return KnxDatapointMainType_DPT_CONFIGURATION_DIAGNOSTICS_8_BIT
}
case 337:
{ /* '337' */
- return KnxDatapointMainType_DPT_STATUS_32_BIT
+ return KnxDatapointMainType_DPT_POSITIONS
}
case 338:
{ /* '338' */
- return KnxDatapointMainType_DPT_STATUS_48_BIT
+ return KnxDatapointMainType_DPT_STATUS_32_BIT
}
case 339:
{ /* '339' */
- return KnxDatapointMainType_DPT_CONVERTER_STATUS
+ return KnxDatapointMainType_DPT_STATUS_48_BIT
}
case 34:
{ /* '34' */
@@ -4664,39 +4674,39 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
}
case 340:
{ /* '340' */
- return KnxDatapointMainType_DPT_CONVERTER_TEST_RESULT
+ return KnxDatapointMainType_DPT_CONVERTER_STATUS
}
case 341:
{ /* '341' */
- return KnxDatapointMainType_DPT_BATTERY_INFORMATION
+ return KnxDatapointMainType_DPT_CONVERTER_TEST_RESULT
}
case 342:
{ /* '342' */
- return KnxDatapointMainType_DPT_BRIGHTNESS_COLOUR_TEMPERATURE_TRANSITION
+ return KnxDatapointMainType_DPT_BATTERY_INFORMATION
}
case 343:
{ /* '343' */
- return KnxDatapointMainType_DPT_STATUS_24_BIT
+ return KnxDatapointMainType_DPT_BRIGHTNESS_COLOUR_TEMPERATURE_TRANSITION
}
case 344:
{ /* '344' */
- return KnxDatapointMainType_DPT_COLOUR_RGBW
+ return KnxDatapointMainType_DPT_STATUS_24_BIT
}
case 345:
{ /* '345' */
- return KnxDatapointMainType_DPT_RELATIVE_CONTROL_RGBW
+ return KnxDatapointMainType_DPT_COLOUR_RGBW
}
case 346:
{ /* '346' */
- return KnxDatapointMainType_DPT_RELATIVE_CONTROL_RGB
+ return KnxDatapointMainType_DPT_RELATIVE_CONTROL_RGBW
}
case 347:
{ /* '347' */
- return KnxDatapointMainType_DPT_F32F32
+ return KnxDatapointMainType_DPT_RELATIVE_CONTROL_RGB
}
case 348:
{ /* '348' */
- return KnxDatapointMainType_DPT_F16F16F16F16
+ return KnxDatapointMainType_DPT_F32F32
}
case 349:
{ /* '349' */
@@ -4706,6 +4716,10 @@ func (e KnxDatapointType) DatapointMainType() KnxDatapointMainType {
{ /* '35' */
return KnxDatapointMainType_DPT_1_BIT
}
+ case 350:
+ { /* '350' */
+ return KnxDatapointMainType_DPT_F16F16F16F16
+ }
case 36:
{ /* '36' */
return KnxDatapointMainType_DPT_1_BIT
@@ -5056,513 +5070,515 @@ func KnxDatapointTypeByValue(value uint32) (enum KnxDatapointType, ok bool) {
case 120:
return KnxDatapointType_DPT_Concentration_ygm3, true
case 121:
- return KnxDatapointType_DPT_TimeOfDay, true
+ return KnxDatapointType_DPT_Coefficient, true
case 122:
- return KnxDatapointType_DPT_Date, true
+ return KnxDatapointType_DPT_TimeOfDay, true
case 123:
- return KnxDatapointType_DPT_Value_4_Ucount, true
+ return KnxDatapointType_DPT_Date, true
case 124:
- return KnxDatapointType_DPT_LongTimePeriod_Sec, true
+ return KnxDatapointType_DPT_Value_4_Ucount, true
case 125:
- return KnxDatapointType_DPT_LongTimePeriod_Min, true
+ return KnxDatapointType_DPT_LongTimePeriod_Sec, true
case 126:
- return KnxDatapointType_DPT_LongTimePeriod_Hrs, true
+ return KnxDatapointType_DPT_LongTimePeriod_Min, true
case 127:
- return KnxDatapointType_DPT_VolumeLiquid_Litre, true
+ return KnxDatapointType_DPT_LongTimePeriod_Hrs, true
case 128:
- return KnxDatapointType_DPT_Volume_m_3, true
+ return KnxDatapointType_DPT_VolumeLiquid_Litre, true
case 129:
- return KnxDatapointType_DPT_Value_4_Count, true
+ return KnxDatapointType_DPT_Volume_m_3, true
case 13:
return KnxDatapointType_LINT, true
case 130:
- return KnxDatapointType_DPT_FlowRate_m3h, true
+ return KnxDatapointType_DPT_Value_4_Count, true
case 131:
- return KnxDatapointType_DPT_ActiveEnergy, true
+ return KnxDatapointType_DPT_FlowRate_m3h, true
case 132:
- return KnxDatapointType_DPT_ApparantEnergy, true
+ return KnxDatapointType_DPT_ActiveEnergy, true
case 133:
- return KnxDatapointType_DPT_ReactiveEnergy, true
+ return KnxDatapointType_DPT_ApparantEnergy, true
case 134:
- return KnxDatapointType_DPT_ActiveEnergy_kWh, true
+ return KnxDatapointType_DPT_ReactiveEnergy, true
case 135:
- return KnxDatapointType_DPT_ApparantEnergy_kVAh, true
+ return KnxDatapointType_DPT_ActiveEnergy_kWh, true
case 136:
- return KnxDatapointType_DPT_ReactiveEnergy_kVARh, true
+ return KnxDatapointType_DPT_ApparantEnergy_kVAh, true
case 137:
- return KnxDatapointType_DPT_ActiveEnergy_MWh, true
+ return KnxDatapointType_DPT_ReactiveEnergy_kVARh, true
case 138:
- return KnxDatapointType_DPT_LongDeltaTimeSec, true
+ return KnxDatapointType_DPT_ActiveEnergy_MWh, true
case 139:
- return KnxDatapointType_DPT_DeltaVolumeLiquid_Litre, true
+ return KnxDatapointType_DPT_LongDeltaTimeSec, true
case 14:
return KnxDatapointType_REAL, true
case 140:
- return KnxDatapointType_DPT_DeltaVolume_m_3, true
+ return KnxDatapointType_DPT_DeltaVolumeLiquid_Litre, true
case 141:
- return KnxDatapointType_DPT_Value_Acceleration, true
+ return KnxDatapointType_DPT_DeltaVolume_m_3, true
case 142:
- return KnxDatapointType_DPT_Value_Acceleration_Angular, true
+ return KnxDatapointType_DPT_Value_Acceleration, true
case 143:
- return KnxDatapointType_DPT_Value_Activation_Energy, true
+ return KnxDatapointType_DPT_Value_Acceleration_Angular, true
case 144:
- return KnxDatapointType_DPT_Value_Activity, true
+ return KnxDatapointType_DPT_Value_Activation_Energy, true
case 145:
- return KnxDatapointType_DPT_Value_Mol, true
+ return KnxDatapointType_DPT_Value_Activity, true
case 146:
- return KnxDatapointType_DPT_Value_Amplitude, true
+ return KnxDatapointType_DPT_Value_Mol, true
case 147:
- return KnxDatapointType_DPT_Value_AngleRad, true
+ return KnxDatapointType_DPT_Value_Amplitude, true
case 148:
- return KnxDatapointType_DPT_Value_AngleDeg, true
+ return KnxDatapointType_DPT_Value_AngleRad, true
case 149:
- return KnxDatapointType_DPT_Value_Angular_Momentum, true
+ return KnxDatapointType_DPT_Value_AngleDeg, true
case 15:
return KnxDatapointType_LREAL, true
case 150:
- return KnxDatapointType_DPT_Value_Angular_Velocity, true
+ return KnxDatapointType_DPT_Value_Angular_Momentum, true
case 151:
- return KnxDatapointType_DPT_Value_Area, true
+ return KnxDatapointType_DPT_Value_Angular_Velocity, true
case 152:
- return KnxDatapointType_DPT_Value_Capacitance, true
+ return KnxDatapointType_DPT_Value_Area, true
case 153:
- return KnxDatapointType_DPT_Value_Charge_DensitySurface, true
+ return KnxDatapointType_DPT_Value_Capacitance, true
case 154:
- return KnxDatapointType_DPT_Value_Charge_DensityVolume, true
+ return KnxDatapointType_DPT_Value_Charge_DensitySurface, true
case 155:
- return KnxDatapointType_DPT_Value_Compressibility, true
+ return KnxDatapointType_DPT_Value_Charge_DensityVolume, true
case 156:
- return KnxDatapointType_DPT_Value_Conductance, true
+ return KnxDatapointType_DPT_Value_Compressibility, true
case 157:
- return KnxDatapointType_DPT_Value_Electrical_Conductivity, true
+ return KnxDatapointType_DPT_Value_Conductance, true
case 158:
- return KnxDatapointType_DPT_Value_Density, true
+ return KnxDatapointType_DPT_Value_Electrical_Conductivity, true
case 159:
- return KnxDatapointType_DPT_Value_Electric_Charge, true
+ return KnxDatapointType_DPT_Value_Density, true
case 16:
return KnxDatapointType_CHAR, true
case 160:
- return KnxDatapointType_DPT_Value_Electric_Current, true
+ return KnxDatapointType_DPT_Value_Electric_Charge, true
case 161:
- return KnxDatapointType_DPT_Value_Electric_CurrentDensity, true
+ return KnxDatapointType_DPT_Value_Electric_Current, true
case 162:
- return KnxDatapointType_DPT_Value_Electric_DipoleMoment, true
+ return KnxDatapointType_DPT_Value_Electric_CurrentDensity, true
case 163:
- return KnxDatapointType_DPT_Value_Electric_Displacement, true
+ return KnxDatapointType_DPT_Value_Electric_DipoleMoment, true
case 164:
- return KnxDatapointType_DPT_Value_Electric_FieldStrength, true
+ return KnxDatapointType_DPT_Value_Electric_Displacement, true
case 165:
- return KnxDatapointType_DPT_Value_Electric_Flux, true
+ return KnxDatapointType_DPT_Value_Electric_FieldStrength, true
case 166:
- return KnxDatapointType_DPT_Value_Electric_FluxDensity, true
+ return KnxDatapointType_DPT_Value_Electric_Flux, true
case 167:
- return KnxDatapointType_DPT_Value_Electric_Polarization, true
+ return KnxDatapointType_DPT_Value_Electric_FluxDensity, true
case 168:
- return KnxDatapointType_DPT_Value_Electric_Potential, true
+ return KnxDatapointType_DPT_Value_Electric_Polarization, true
case 169:
- return KnxDatapointType_DPT_Value_Electric_PotentialDifference, true
+ return KnxDatapointType_DPT_Value_Electric_Potential, true
case 17:
return KnxDatapointType_WCHAR, true
case 170:
- return KnxDatapointType_DPT_Value_ElectromagneticMoment, true
+ return KnxDatapointType_DPT_Value_Electric_PotentialDifference, true
case 171:
- return KnxDatapointType_DPT_Value_Electromotive_Force, true
+ return KnxDatapointType_DPT_Value_ElectromagneticMoment, true
case 172:
- return KnxDatapointType_DPT_Value_Energy, true
+ return KnxDatapointType_DPT_Value_Electromotive_Force, true
case 173:
- return KnxDatapointType_DPT_Value_Force, true
+ return KnxDatapointType_DPT_Value_Energy, true
case 174:
- return KnxDatapointType_DPT_Value_Frequency, true
+ return KnxDatapointType_DPT_Value_Force, true
case 175:
- return KnxDatapointType_DPT_Value_Angular_Frequency, true
+ return KnxDatapointType_DPT_Value_Frequency, true
case 176:
- return KnxDatapointType_DPT_Value_Heat_Capacity, true
+ return KnxDatapointType_DPT_Value_Angular_Frequency, true
case 177:
- return KnxDatapointType_DPT_Value_Heat_FlowRate, true
+ return KnxDatapointType_DPT_Value_Heat_Capacity, true
case 178:
- return KnxDatapointType_DPT_Value_Heat_Quantity, true
+ return KnxDatapointType_DPT_Value_Heat_FlowRate, true
case 179:
- return KnxDatapointType_DPT_Value_Impedance, true
+ return KnxDatapointType_DPT_Value_Heat_Quantity, true
case 18:
return KnxDatapointType_STRING, true
case 180:
- return KnxDatapointType_DPT_Value_Length, true
+ return KnxDatapointType_DPT_Value_Impedance, true
case 181:
- return KnxDatapointType_DPT_Value_Light_Quantity, true
+ return KnxDatapointType_DPT_Value_Length, true
case 182:
- return KnxDatapointType_DPT_Value_Luminance, true
+ return KnxDatapointType_DPT_Value_Light_Quantity, true
case 183:
- return KnxDatapointType_DPT_Value_Luminous_Flux, true
+ return KnxDatapointType_DPT_Value_Luminance, true
case 184:
- return KnxDatapointType_DPT_Value_Luminous_Intensity, true
+ return KnxDatapointType_DPT_Value_Luminous_Flux, true
case 185:
- return KnxDatapointType_DPT_Value_Magnetic_FieldStrength, true
+ return KnxDatapointType_DPT_Value_Luminous_Intensity, true
case 186:
- return KnxDatapointType_DPT_Value_Magnetic_Flux, true
+ return KnxDatapointType_DPT_Value_Magnetic_FieldStrength, true
case 187:
- return KnxDatapointType_DPT_Value_Magnetic_FluxDensity, true
+ return KnxDatapointType_DPT_Value_Magnetic_Flux, true
case 188:
- return KnxDatapointType_DPT_Value_Magnetic_Moment, true
+ return KnxDatapointType_DPT_Value_Magnetic_FluxDensity, true
case 189:
- return KnxDatapointType_DPT_Value_Magnetic_Polarization, true
+ return KnxDatapointType_DPT_Value_Magnetic_Moment, true
case 19:
return KnxDatapointType_WSTRING, true
case 190:
- return KnxDatapointType_DPT_Value_Magnetization, true
+ return KnxDatapointType_DPT_Value_Magnetic_Polarization, true
case 191:
- return KnxDatapointType_DPT_Value_MagnetomotiveForce, true
+ return KnxDatapointType_DPT_Value_Magnetization, true
case 192:
- return KnxDatapointType_DPT_Value_Mass, true
+ return KnxDatapointType_DPT_Value_MagnetomotiveForce, true
case 193:
- return KnxDatapointType_DPT_Value_MassFlux, true
+ return KnxDatapointType_DPT_Value_Mass, true
case 194:
- return KnxDatapointType_DPT_Value_Momentum, true
+ return KnxDatapointType_DPT_Value_MassFlux, true
case 195:
- return KnxDatapointType_DPT_Value_Phase_AngleRad, true
+ return KnxDatapointType_DPT_Value_Momentum, true
case 196:
- return KnxDatapointType_DPT_Value_Phase_AngleDeg, true
+ return KnxDatapointType_DPT_Value_Phase_AngleRad, true
case 197:
- return KnxDatapointType_DPT_Value_Power, true
+ return KnxDatapointType_DPT_Value_Phase_AngleDeg, true
case 198:
- return KnxDatapointType_DPT_Value_Power_Factor, true
+ return KnxDatapointType_DPT_Value_Power, true
case 199:
- return KnxDatapointType_DPT_Value_Pressure, true
+ return KnxDatapointType_DPT_Value_Power_Factor, true
case 2:
return KnxDatapointType_BYTE, true
case 20:
return KnxDatapointType_TIME, true
case 200:
- return KnxDatapointType_DPT_Value_Reactance, true
+ return KnxDatapointType_DPT_Value_Pressure, true
case 201:
- return KnxDatapointType_DPT_Value_Resistance, true
+ return KnxDatapointType_DPT_Value_Reactance, true
case 202:
- return KnxDatapointType_DPT_Value_Resistivity, true
+ return KnxDatapointType_DPT_Value_Resistance, true
case 203:
- return KnxDatapointType_DPT_Value_SelfInductance, true
+ return KnxDatapointType_DPT_Value_Resistivity, true
case 204:
- return KnxDatapointType_DPT_Value_SolidAngle, true
+ return KnxDatapointType_DPT_Value_SelfInductance, true
case 205:
- return KnxDatapointType_DPT_Value_Sound_Intensity, true
+ return KnxDatapointType_DPT_Value_SolidAngle, true
case 206:
- return KnxDatapointType_DPT_Value_Speed, true
+ return KnxDatapointType_DPT_Value_Sound_Intensity, true
case 207:
- return KnxDatapointType_DPT_Value_Stress, true
+ return KnxDatapointType_DPT_Value_Speed, true
case 208:
- return KnxDatapointType_DPT_Value_Surface_Tension, true
+ return KnxDatapointType_DPT_Value_Stress, true
case 209:
- return KnxDatapointType_DPT_Value_Common_Temperature, true
+ return KnxDatapointType_DPT_Value_Surface_Tension, true
case 21:
return KnxDatapointType_LTIME, true
case 210:
- return KnxDatapointType_DPT_Value_Absolute_Temperature, true
+ return KnxDatapointType_DPT_Value_Common_Temperature, true
case 211:
- return KnxDatapointType_DPT_Value_TemperatureDifference, true
+ return KnxDatapointType_DPT_Value_Absolute_Temperature, true
case 212:
- return KnxDatapointType_DPT_Value_Thermal_Capacity, true
+ return KnxDatapointType_DPT_Value_TemperatureDifference, true
case 213:
- return KnxDatapointType_DPT_Value_Thermal_Conductivity, true
+ return KnxDatapointType_DPT_Value_Thermal_Capacity, true
case 214:
- return KnxDatapointType_DPT_Value_ThermoelectricPower, true
+ return KnxDatapointType_DPT_Value_Thermal_Conductivity, true
case 215:
- return KnxDatapointType_DPT_Value_Time, true
+ return KnxDatapointType_DPT_Value_ThermoelectricPower, true
case 216:
- return KnxDatapointType_DPT_Value_Torque, true
+ return KnxDatapointType_DPT_Value_Time, true
case 217:
- return KnxDatapointType_DPT_Value_Volume, true
+ return KnxDatapointType_DPT_Value_Torque, true
case 218:
- return KnxDatapointType_DPT_Value_Volume_Flux, true
+ return KnxDatapointType_DPT_Value_Volume, true
case 219:
- return KnxDatapointType_DPT_Value_Weight, true
+ return KnxDatapointType_DPT_Value_Volume_Flux, true
case 22:
return KnxDatapointType_DATE, true
case 220:
- return KnxDatapointType_DPT_Value_Work, true
+ return KnxDatapointType_DPT_Value_Weight, true
case 221:
- return KnxDatapointType_DPT_Value_ApparentPower, true
+ return KnxDatapointType_DPT_Value_Work, true
case 222:
- return KnxDatapointType_DPT_Volume_Flux_Meter, true
+ return KnxDatapointType_DPT_Value_ApparentPower, true
case 223:
- return KnxDatapointType_DPT_Volume_Flux_ls, true
+ return KnxDatapointType_DPT_Volume_Flux_Meter, true
case 224:
- return KnxDatapointType_DPT_Access_Data, true
+ return KnxDatapointType_DPT_Volume_Flux_ls, true
case 225:
- return KnxDatapointType_DPT_String_ASCII, true
+ return KnxDatapointType_DPT_Access_Data, true
case 226:
- return KnxDatapointType_DPT_String_8859_1, true
+ return KnxDatapointType_DPT_String_ASCII, true
case 227:
- return KnxDatapointType_DPT_SceneNumber, true
+ return KnxDatapointType_DPT_String_8859_1, true
case 228:
- return KnxDatapointType_DPT_SceneControl, true
+ return KnxDatapointType_DPT_SceneNumber, true
case 229:
- return KnxDatapointType_DPT_DateTime, true
+ return KnxDatapointType_DPT_SceneControl, true
case 23:
return KnxDatapointType_TIME_OF_DAY, true
case 230:
- return KnxDatapointType_DPT_SCLOMode, true
+ return KnxDatapointType_DPT_DateTime, true
case 231:
- return KnxDatapointType_DPT_BuildingMode, true
+ return KnxDatapointType_DPT_SCLOMode, true
case 232:
- return KnxDatapointType_DPT_OccMode, true
+ return KnxDatapointType_DPT_BuildingMode, true
case 233:
- return KnxDatapointType_DPT_Priority, true
+ return KnxDatapointType_DPT_OccMode, true
case 234:
- return KnxDatapointType_DPT_LightApplicationMode, true
+ return KnxDatapointType_DPT_Priority, true
case 235:
- return KnxDatapointType_DPT_ApplicationArea, true
+ return KnxDatapointType_DPT_LightApplicationMode, true
case 236:
- return KnxDatapointType_DPT_AlarmClassType, true
+ return KnxDatapointType_DPT_ApplicationArea, true
case 237:
- return KnxDatapointType_DPT_PSUMode, true
+ return KnxDatapointType_DPT_AlarmClassType, true
case 238:
- return KnxDatapointType_DPT_ErrorClass_System, true
+ return KnxDatapointType_DPT_PSUMode, true
case 239:
- return KnxDatapointType_DPT_ErrorClass_HVAC, true
+ return KnxDatapointType_DPT_ErrorClass_System, true
case 24:
return KnxDatapointType_TOD, true
case 240:
- return KnxDatapointType_DPT_Time_Delay, true
+ return KnxDatapointType_DPT_ErrorClass_HVAC, true
case 241:
- return KnxDatapointType_DPT_Beaufort_Wind_Force_Scale, true
+ return KnxDatapointType_DPT_Time_Delay, true
case 242:
- return KnxDatapointType_DPT_SensorSelect, true
+ return KnxDatapointType_DPT_Beaufort_Wind_Force_Scale, true
case 243:
- return KnxDatapointType_DPT_ActuatorConnectType, true
+ return KnxDatapointType_DPT_SensorSelect, true
case 244:
- return KnxDatapointType_DPT_Cloud_Cover, true
+ return KnxDatapointType_DPT_ActuatorConnectType, true
case 245:
- return KnxDatapointType_DPT_PowerReturnMode, true
+ return KnxDatapointType_DPT_Cloud_Cover, true
case 246:
- return KnxDatapointType_DPT_FuelType, true
+ return KnxDatapointType_DPT_PowerReturnMode, true
case 247:
- return KnxDatapointType_DPT_BurnerType, true
+ return KnxDatapointType_DPT_FuelType, true
case 248:
- return KnxDatapointType_DPT_HVACMode, true
+ return KnxDatapointType_DPT_BurnerType, true
case 249:
- return KnxDatapointType_DPT_DHWMode, true
+ return KnxDatapointType_DPT_HVACMode, true
case 25:
return KnxDatapointType_DATE_AND_TIME, true
case 250:
- return KnxDatapointType_DPT_LoadPriority, true
+ return KnxDatapointType_DPT_DHWMode, true
case 251:
- return KnxDatapointType_DPT_HVACContrMode, true
+ return KnxDatapointType_DPT_LoadPriority, true
case 252:
- return KnxDatapointType_DPT_HVACEmergMode, true
+ return KnxDatapointType_DPT_HVACContrMode, true
case 253:
- return KnxDatapointType_DPT_ChangeoverMode, true
+ return KnxDatapointType_DPT_HVACEmergMode, true
case 254:
- return KnxDatapointType_DPT_ValveMode, true
+ return KnxDatapointType_DPT_ChangeoverMode, true
case 255:
- return KnxDatapointType_DPT_DamperMode, true
+ return KnxDatapointType_DPT_ValveMode, true
case 256:
- return KnxDatapointType_DPT_HeaterMode, true
+ return KnxDatapointType_DPT_DamperMode, true
case 257:
- return KnxDatapointType_DPT_FanMode, true
+ return KnxDatapointType_DPT_HeaterMode, true
case 258:
- return KnxDatapointType_DPT_MasterSlaveMode, true
+ return KnxDatapointType_DPT_FanMode, true
case 259:
- return KnxDatapointType_DPT_StatusRoomSetp, true
+ return KnxDatapointType_DPT_MasterSlaveMode, true
case 26:
return KnxDatapointType_DT, true
case 260:
- return KnxDatapointType_DPT_Metering_DeviceType, true
+ return KnxDatapointType_DPT_StatusRoomSetp, true
case 261:
- return KnxDatapointType_DPT_HumDehumMode, true
+ return KnxDatapointType_DPT_Metering_DeviceType, true
case 262:
- return KnxDatapointType_DPT_EnableHCStage, true
+ return KnxDatapointType_DPT_HumDehumMode, true
case 263:
- return KnxDatapointType_DPT_ADAType, true
+ return KnxDatapointType_DPT_EnableHCStage, true
case 264:
- return KnxDatapointType_DPT_BackupMode, true
+ return KnxDatapointType_DPT_ADAType, true
case 265:
- return KnxDatapointType_DPT_StartSynchronization, true
+ return KnxDatapointType_DPT_BackupMode, true
case 266:
- return KnxDatapointType_DPT_Behaviour_Lock_Unlock, true
+ return KnxDatapointType_DPT_StartSynchronization, true
case 267:
- return KnxDatapointType_DPT_Behaviour_Bus_Power_Up_Down, true
+ return KnxDatapointType_DPT_Behaviour_Lock_Unlock, true
case 268:
- return KnxDatapointType_DPT_DALI_Fade_Time, true
+ return KnxDatapointType_DPT_Behaviour_Bus_Power_Up_Down, true
case 269:
- return KnxDatapointType_DPT_BlinkingMode, true
+ return KnxDatapointType_DPT_DALI_Fade_Time, true
case 27:
return KnxDatapointType_DPT_Switch, true
case 270:
- return KnxDatapointType_DPT_LightControlMode, true
+ return KnxDatapointType_DPT_BlinkingMode, true
case 271:
- return KnxDatapointType_DPT_SwitchPBModel, true
+ return KnxDatapointType_DPT_LightControlMode, true
case 272:
- return KnxDatapointType_DPT_PBAction, true
+ return KnxDatapointType_DPT_SwitchPBModel, true
case 273:
- return KnxDatapointType_DPT_DimmPBModel, true
+ return KnxDatapointType_DPT_PBAction, true
case 274:
- return KnxDatapointType_DPT_SwitchOnMode, true
+ return KnxDatapointType_DPT_DimmPBModel, true
case 275:
- return KnxDatapointType_DPT_LoadTypeSet, true
+ return KnxDatapointType_DPT_SwitchOnMode, true
case 276:
- return KnxDatapointType_DPT_LoadTypeDetected, true
+ return KnxDatapointType_DPT_LoadTypeSet, true
case 277:
- return KnxDatapointType_DPT_Converter_Test_Control, true
+ return KnxDatapointType_DPT_LoadTypeDetected, true
case 278:
- return KnxDatapointType_DPT_SABExcept_Behaviour, true
+ return KnxDatapointType_DPT_Converter_Test_Control, true
case 279:
- return KnxDatapointType_DPT_SABBehaviour_Lock_Unlock, true
+ return KnxDatapointType_DPT_SABExcept_Behaviour, true
case 28:
return KnxDatapointType_DPT_Bool, true
case 280:
- return KnxDatapointType_DPT_SSSBMode, true
+ return KnxDatapointType_DPT_SABBehaviour_Lock_Unlock, true
case 281:
- return KnxDatapointType_DPT_BlindsControlMode, true
+ return KnxDatapointType_DPT_SSSBMode, true
case 282:
- return KnxDatapointType_DPT_CommMode, true
+ return KnxDatapointType_DPT_BlindsControlMode, true
case 283:
- return KnxDatapointType_DPT_AddInfoTypes, true
+ return KnxDatapointType_DPT_CommMode, true
case 284:
- return KnxDatapointType_DPT_RF_ModeSelect, true
+ return KnxDatapointType_DPT_AddInfoTypes, true
case 285:
- return KnxDatapointType_DPT_RF_FilterSelect, true
+ return KnxDatapointType_DPT_RF_ModeSelect, true
case 286:
- return KnxDatapointType_DPT_StatusGen, true
+ return KnxDatapointType_DPT_RF_FilterSelect, true
case 287:
- return KnxDatapointType_DPT_Device_Control, true
+ return KnxDatapointType_DPT_StatusGen, true
case 288:
- return KnxDatapointType_DPT_ForceSign, true
+ return KnxDatapointType_DPT_Device_Control, true
case 289:
- return KnxDatapointType_DPT_ForceSignCool, true
+ return KnxDatapointType_DPT_ForceSign, true
case 29:
return KnxDatapointType_DPT_Enable, true
case 290:
- return KnxDatapointType_DPT_StatusRHC, true
+ return KnxDatapointType_DPT_ForceSignCool, true
case 291:
- return KnxDatapointType_DPT_StatusSDHWC, true
+ return KnxDatapointType_DPT_StatusRHC, true
case 292:
- return KnxDatapointType_DPT_FuelTypeSet, true
+ return KnxDatapointType_DPT_StatusSDHWC, true
case 293:
- return KnxDatapointType_DPT_StatusRCC, true
+ return KnxDatapointType_DPT_FuelTypeSet, true
case 294:
- return KnxDatapointType_DPT_StatusAHU, true
+ return KnxDatapointType_DPT_StatusRCC, true
case 295:
- return KnxDatapointType_DPT_CombinedStatus_RTSM, true
+ return KnxDatapointType_DPT_StatusAHU, true
case 296:
- return KnxDatapointType_DPT_LightActuatorErrorInfo, true
+ return KnxDatapointType_DPT_CombinedStatus_RTSM, true
case 297:
- return KnxDatapointType_DPT_RF_ModeInfo, true
+ return KnxDatapointType_DPT_LightActuatorErrorInfo, true
case 298:
- return KnxDatapointType_DPT_RF_FilterInfo, true
+ return KnxDatapointType_DPT_RF_ModeInfo, true
case 299:
- return KnxDatapointType_DPT_Channel_Activation_8, true
+ return KnxDatapointType_DPT_RF_FilterInfo, true
case 3:
return KnxDatapointType_WORD, true
case 30:
return KnxDatapointType_DPT_Ramp, true
case 300:
- return KnxDatapointType_DPT_StatusDHWC, true
+ return KnxDatapointType_DPT_Channel_Activation_8, true
case 301:
- return KnxDatapointType_DPT_StatusRHCC, true
+ return KnxDatapointType_DPT_StatusDHWC, true
case 302:
- return KnxDatapointType_DPT_CombinedStatus_HVA, true
+ return KnxDatapointType_DPT_StatusRHCC, true
case 303:
- return KnxDatapointType_DPT_CombinedStatus_RTC, true
+ return KnxDatapointType_DPT_CombinedStatus_HVA, true
case 304:
- return KnxDatapointType_DPT_Media, true
+ return KnxDatapointType_DPT_CombinedStatus_RTC, true
case 305:
- return KnxDatapointType_DPT_Channel_Activation_16, true
+ return KnxDatapointType_DPT_Media, true
case 306:
- return KnxDatapointType_DPT_OnOffAction, true
+ return KnxDatapointType_DPT_Channel_Activation_16, true
case 307:
- return KnxDatapointType_DPT_Alarm_Reaction, true
+ return KnxDatapointType_DPT_OnOffAction, true
case 308:
- return KnxDatapointType_DPT_UpDown_Action, true
+ return KnxDatapointType_DPT_Alarm_Reaction, true
case 309:
- return KnxDatapointType_DPT_HVAC_PB_Action, true
+ return KnxDatapointType_DPT_UpDown_Action, true
case 31:
return KnxDatapointType_DPT_Alarm, true
case 310:
- return KnxDatapointType_DPT_DoubleNibble, true
+ return KnxDatapointType_DPT_HVAC_PB_Action, true
case 311:
- return KnxDatapointType_DPT_SceneInfo, true
+ return KnxDatapointType_DPT_DoubleNibble, true
case 312:
- return KnxDatapointType_DPT_CombinedInfoOnOff, true
+ return KnxDatapointType_DPT_SceneInfo, true
case 313:
- return KnxDatapointType_DPT_ActiveEnergy_V64, true
+ return KnxDatapointType_DPT_CombinedInfoOnOff, true
case 314:
- return KnxDatapointType_DPT_ApparantEnergy_V64, true
+ return KnxDatapointType_DPT_ActiveEnergy_V64, true
case 315:
- return KnxDatapointType_DPT_ReactiveEnergy_V64, true
+ return KnxDatapointType_DPT_ApparantEnergy_V64, true
case 316:
- return KnxDatapointType_DPT_Channel_Activation_24, true
+ return KnxDatapointType_DPT_ReactiveEnergy_V64, true
case 317:
- return KnxDatapointType_DPT_HVACModeNext, true
+ return KnxDatapointType_DPT_Channel_Activation_24, true
case 318:
- return KnxDatapointType_DPT_DHWModeNext, true
+ return KnxDatapointType_DPT_HVACModeNext, true
case 319:
- return KnxDatapointType_DPT_OccModeNext, true
+ return KnxDatapointType_DPT_DHWModeNext, true
case 32:
return KnxDatapointType_DPT_BinaryValue, true
case 320:
- return KnxDatapointType_DPT_BuildingModeNext, true
+ return KnxDatapointType_DPT_OccModeNext, true
case 321:
- return KnxDatapointType_DPT_StatusLightingActuator, true
+ return KnxDatapointType_DPT_BuildingModeNext, true
case 322:
- return KnxDatapointType_DPT_Version, true
+ return KnxDatapointType_DPT_StatusLightingActuator, true
case 323:
- return KnxDatapointType_DPT_AlarmInfo, true
+ return KnxDatapointType_DPT_Version, true
case 324:
- return KnxDatapointType_DPT_TempRoomSetpSetF16_3, true
+ return KnxDatapointType_DPT_AlarmInfo, true
case 325:
- return KnxDatapointType_DPT_TempRoomSetpSetShiftF16_3, true
+ return KnxDatapointType_DPT_TempRoomSetpSetF16_3, true
case 326:
- return KnxDatapointType_DPT_Scaling_Speed, true
+ return KnxDatapointType_DPT_TempRoomSetpSetShiftF16_3, true
case 327:
- return KnxDatapointType_DPT_Scaling_Step_Time, true
+ return KnxDatapointType_DPT_Scaling_Speed, true
case 328:
- return KnxDatapointType_DPT_MeteringValue, true
+ return KnxDatapointType_DPT_Scaling_Step_Time, true
case 329:
- return KnxDatapointType_DPT_MBus_Address, true
+ return KnxDatapointType_DPT_MeteringValue, true
case 33:
return KnxDatapointType_DPT_Step, true
case 330:
- return KnxDatapointType_DPT_Colour_RGB, true
+ return KnxDatapointType_DPT_MBus_Address, true
case 331:
- return KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII, true
+ return KnxDatapointType_DPT_Colour_RGB, true
case 332:
- return KnxDatapointType_DPT_Tariff_ActiveEnergy, true
+ return KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII, true
case 333:
- return KnxDatapointType_DPT_Prioritised_Mode_Control, true
+ return KnxDatapointType_DPT_Tariff_ActiveEnergy, true
case 334:
- return KnxDatapointType_DPT_DALI_Control_Gear_Diagnostic, true
+ return KnxDatapointType_DPT_Prioritised_Mode_Control, true
case 335:
- return KnxDatapointType_DPT_DALI_Diagnostics, true
+ return KnxDatapointType_DPT_DALI_Control_Gear_Diagnostic, true
case 336:
- return KnxDatapointType_DPT_CombinedPosition, true
+ return KnxDatapointType_DPT_DALI_Diagnostics, true
case 337:
- return KnxDatapointType_DPT_StatusSAB, true
+ return KnxDatapointType_DPT_CombinedPosition, true
case 338:
- return KnxDatapointType_DPT_Colour_xyY, true
+ return KnxDatapointType_DPT_StatusSAB, true
case 339:
- return KnxDatapointType_DPT_Converter_Status, true
+ return KnxDatapointType_DPT_Colour_xyY, true
case 34:
return KnxDatapointType_DPT_UpDown, true
case 340:
- return KnxDatapointType_DPT_Converter_Test_Result, true
+ return KnxDatapointType_DPT_Converter_Status, true
case 341:
- return KnxDatapointType_DPT_Battery_Info, true
+ return KnxDatapointType_DPT_Converter_Test_Result, true
case 342:
- return KnxDatapointType_DPT_Brightness_Colour_Temperature_Transition, true
+ return KnxDatapointType_DPT_Battery_Info, true
case 343:
- return KnxDatapointType_DPT_Brightness_Colour_Temperature_Control, true
+ return KnxDatapointType_DPT_Brightness_Colour_Temperature_Transition, true
case 344:
- return KnxDatapointType_DPT_Colour_RGBW, true
+ return KnxDatapointType_DPT_Brightness_Colour_Temperature_Control, true
case 345:
- return KnxDatapointType_DPT_Relative_Control_RGBW, true
+ return KnxDatapointType_DPT_Colour_RGBW, true
case 346:
- return KnxDatapointType_DPT_Relative_Control_RGB, true
+ return KnxDatapointType_DPT_Relative_Control_RGBW, true
case 347:
- return KnxDatapointType_DPT_GeographicalLocation, true
+ return KnxDatapointType_DPT_Relative_Control_RGB, true
case 348:
- return KnxDatapointType_DPT_TempRoomSetpSetF16_4, true
+ return KnxDatapointType_DPT_GeographicalLocation, true
case 349:
- return KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4, true
+ return KnxDatapointType_DPT_TempRoomSetpSetF16_4, true
case 35:
return KnxDatapointType_DPT_OpenClose, true
+ case 350:
+ return KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4, true
case 36:
return KnxDatapointType_DPT_Start, true
case 37:
@@ -5761,6 +5777,8 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_ULINT, true
case "DPT_Concentration_ygm3":
return KnxDatapointType_DPT_Concentration_ygm3, true
+ case "DPT_Coefficient":
+ return KnxDatapointType_DPT_Coefficient, true
case "DPT_TimeOfDay":
return KnxDatapointType_DPT_TimeOfDay, true
case "DPT_Date":
@@ -5777,10 +5795,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_VolumeLiquid_Litre, true
case "DPT_Volume_m_3":
return KnxDatapointType_DPT_Volume_m_3, true
- case "DPT_Value_4_Count":
- return KnxDatapointType_DPT_Value_4_Count, true
case "LINT":
return KnxDatapointType_LINT, true
+ case "DPT_Value_4_Count":
+ return KnxDatapointType_DPT_Value_4_Count, true
case "DPT_FlowRate_m3h":
return KnxDatapointType_DPT_FlowRate_m3h, true
case "DPT_ActiveEnergy":
@@ -5799,10 +5817,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_ActiveEnergy_MWh, true
case "DPT_LongDeltaTimeSec":
return KnxDatapointType_DPT_LongDeltaTimeSec, true
- case "DPT_DeltaVolumeLiquid_Litre":
- return KnxDatapointType_DPT_DeltaVolumeLiquid_Litre, true
case "REAL":
return KnxDatapointType_REAL, true
+ case "DPT_DeltaVolumeLiquid_Litre":
+ return KnxDatapointType_DPT_DeltaVolumeLiquid_Litre, true
case "DPT_DeltaVolume_m_3":
return KnxDatapointType_DPT_DeltaVolume_m_3, true
case "DPT_Value_Acceleration":
@@ -5821,10 +5839,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_AngleRad, true
case "DPT_Value_AngleDeg":
return KnxDatapointType_DPT_Value_AngleDeg, true
- case "DPT_Value_Angular_Momentum":
- return KnxDatapointType_DPT_Value_Angular_Momentum, true
case "LREAL":
return KnxDatapointType_LREAL, true
+ case "DPT_Value_Angular_Momentum":
+ return KnxDatapointType_DPT_Value_Angular_Momentum, true
case "DPT_Value_Angular_Velocity":
return KnxDatapointType_DPT_Value_Angular_Velocity, true
case "DPT_Value_Area":
@@ -5843,10 +5861,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Electrical_Conductivity, true
case "DPT_Value_Density":
return KnxDatapointType_DPT_Value_Density, true
- case "DPT_Value_Electric_Charge":
- return KnxDatapointType_DPT_Value_Electric_Charge, true
case "CHAR":
return KnxDatapointType_CHAR, true
+ case "DPT_Value_Electric_Charge":
+ return KnxDatapointType_DPT_Value_Electric_Charge, true
case "DPT_Value_Electric_Current":
return KnxDatapointType_DPT_Value_Electric_Current, true
case "DPT_Value_Electric_CurrentDensity":
@@ -5865,10 +5883,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Electric_Polarization, true
case "DPT_Value_Electric_Potential":
return KnxDatapointType_DPT_Value_Electric_Potential, true
- case "DPT_Value_Electric_PotentialDifference":
- return KnxDatapointType_DPT_Value_Electric_PotentialDifference, true
case "WCHAR":
return KnxDatapointType_WCHAR, true
+ case "DPT_Value_Electric_PotentialDifference":
+ return KnxDatapointType_DPT_Value_Electric_PotentialDifference, true
case "DPT_Value_ElectromagneticMoment":
return KnxDatapointType_DPT_Value_ElectromagneticMoment, true
case "DPT_Value_Electromotive_Force":
@@ -5887,10 +5905,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Heat_FlowRate, true
case "DPT_Value_Heat_Quantity":
return KnxDatapointType_DPT_Value_Heat_Quantity, true
- case "DPT_Value_Impedance":
- return KnxDatapointType_DPT_Value_Impedance, true
case "STRING":
return KnxDatapointType_STRING, true
+ case "DPT_Value_Impedance":
+ return KnxDatapointType_DPT_Value_Impedance, true
case "DPT_Value_Length":
return KnxDatapointType_DPT_Value_Length, true
case "DPT_Value_Light_Quantity":
@@ -5909,10 +5927,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Magnetic_FluxDensity, true
case "DPT_Value_Magnetic_Moment":
return KnxDatapointType_DPT_Value_Magnetic_Moment, true
- case "DPT_Value_Magnetic_Polarization":
- return KnxDatapointType_DPT_Value_Magnetic_Polarization, true
case "WSTRING":
return KnxDatapointType_WSTRING, true
+ case "DPT_Value_Magnetic_Polarization":
+ return KnxDatapointType_DPT_Value_Magnetic_Polarization, true
case "DPT_Value_Magnetization":
return KnxDatapointType_DPT_Value_Magnetization, true
case "DPT_Value_MagnetomotiveForce":
@@ -5931,12 +5949,12 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Power, true
case "DPT_Value_Power_Factor":
return KnxDatapointType_DPT_Value_Power_Factor, true
- case "DPT_Value_Pressure":
- return KnxDatapointType_DPT_Value_Pressure, true
case "BYTE":
return KnxDatapointType_BYTE, true
case "TIME":
return KnxDatapointType_TIME, true
+ case "DPT_Value_Pressure":
+ return KnxDatapointType_DPT_Value_Pressure, true
case "DPT_Value_Reactance":
return KnxDatapointType_DPT_Value_Reactance, true
case "DPT_Value_Resistance":
@@ -5955,10 +5973,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Stress, true
case "DPT_Value_Surface_Tension":
return KnxDatapointType_DPT_Value_Surface_Tension, true
- case "DPT_Value_Common_Temperature":
- return KnxDatapointType_DPT_Value_Common_Temperature, true
case "LTIME":
return KnxDatapointType_LTIME, true
+ case "DPT_Value_Common_Temperature":
+ return KnxDatapointType_DPT_Value_Common_Temperature, true
case "DPT_Value_Absolute_Temperature":
return KnxDatapointType_DPT_Value_Absolute_Temperature, true
case "DPT_Value_TemperatureDifference":
@@ -5977,10 +5995,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Value_Volume, true
case "DPT_Value_Volume_Flux":
return KnxDatapointType_DPT_Value_Volume_Flux, true
- case "DPT_Value_Weight":
- return KnxDatapointType_DPT_Value_Weight, true
case "DATE":
return KnxDatapointType_DATE, true
+ case "DPT_Value_Weight":
+ return KnxDatapointType_DPT_Value_Weight, true
case "DPT_Value_Work":
return KnxDatapointType_DPT_Value_Work, true
case "DPT_Value_ApparentPower":
@@ -5999,10 +6017,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_SceneNumber, true
case "DPT_SceneControl":
return KnxDatapointType_DPT_SceneControl, true
- case "DPT_DateTime":
- return KnxDatapointType_DPT_DateTime, true
case "TIME_OF_DAY":
return KnxDatapointType_TIME_OF_DAY, true
+ case "DPT_DateTime":
+ return KnxDatapointType_DPT_DateTime, true
case "DPT_SCLOMode":
return KnxDatapointType_DPT_SCLOMode, true
case "DPT_BuildingMode":
@@ -6021,10 +6039,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_PSUMode, true
case "DPT_ErrorClass_System":
return KnxDatapointType_DPT_ErrorClass_System, true
- case "DPT_ErrorClass_HVAC":
- return KnxDatapointType_DPT_ErrorClass_HVAC, true
case "TOD":
return KnxDatapointType_TOD, true
+ case "DPT_ErrorClass_HVAC":
+ return KnxDatapointType_DPT_ErrorClass_HVAC, true
case "DPT_Time_Delay":
return KnxDatapointType_DPT_Time_Delay, true
case "DPT_Beaufort_Wind_Force_Scale":
@@ -6043,10 +6061,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_BurnerType, true
case "DPT_HVACMode":
return KnxDatapointType_DPT_HVACMode, true
- case "DPT_DHWMode":
- return KnxDatapointType_DPT_DHWMode, true
case "DATE_AND_TIME":
return KnxDatapointType_DATE_AND_TIME, true
+ case "DPT_DHWMode":
+ return KnxDatapointType_DPT_DHWMode, true
case "DPT_LoadPriority":
return KnxDatapointType_DPT_LoadPriority, true
case "DPT_HVACContrMode":
@@ -6065,10 +6083,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_FanMode, true
case "DPT_MasterSlaveMode":
return KnxDatapointType_DPT_MasterSlaveMode, true
- case "DPT_StatusRoomSetp":
- return KnxDatapointType_DPT_StatusRoomSetp, true
case "DT":
return KnxDatapointType_DT, true
+ case "DPT_StatusRoomSetp":
+ return KnxDatapointType_DPT_StatusRoomSetp, true
case "DPT_Metering_DeviceType":
return KnxDatapointType_DPT_Metering_DeviceType, true
case "DPT_HumDehumMode":
@@ -6087,10 +6105,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Behaviour_Bus_Power_Up_Down, true
case "DPT_DALI_Fade_Time":
return KnxDatapointType_DPT_DALI_Fade_Time, true
- case "DPT_BlinkingMode":
- return KnxDatapointType_DPT_BlinkingMode, true
case "DPT_Switch":
return KnxDatapointType_DPT_Switch, true
+ case "DPT_BlinkingMode":
+ return KnxDatapointType_DPT_BlinkingMode, true
case "DPT_LightControlMode":
return KnxDatapointType_DPT_LightControlMode, true
case "DPT_SwitchPBModel":
@@ -6109,10 +6127,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Converter_Test_Control, true
case "DPT_SABExcept_Behaviour":
return KnxDatapointType_DPT_SABExcept_Behaviour, true
- case "DPT_SABBehaviour_Lock_Unlock":
- return KnxDatapointType_DPT_SABBehaviour_Lock_Unlock, true
case "DPT_Bool":
return KnxDatapointType_DPT_Bool, true
+ case "DPT_SABBehaviour_Lock_Unlock":
+ return KnxDatapointType_DPT_SABBehaviour_Lock_Unlock, true
case "DPT_SSSBMode":
return KnxDatapointType_DPT_SSSBMode, true
case "DPT_BlindsControlMode":
@@ -6131,10 +6149,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Device_Control, true
case "DPT_ForceSign":
return KnxDatapointType_DPT_ForceSign, true
- case "DPT_ForceSignCool":
- return KnxDatapointType_DPT_ForceSignCool, true
case "DPT_Enable":
return KnxDatapointType_DPT_Enable, true
+ case "DPT_ForceSignCool":
+ return KnxDatapointType_DPT_ForceSignCool, true
case "DPT_StatusRHC":
return KnxDatapointType_DPT_StatusRHC, true
case "DPT_StatusSDHWC":
@@ -6153,12 +6171,12 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_RF_ModeInfo, true
case "DPT_RF_FilterInfo":
return KnxDatapointType_DPT_RF_FilterInfo, true
- case "DPT_Channel_Activation_8":
- return KnxDatapointType_DPT_Channel_Activation_8, true
case "WORD":
return KnxDatapointType_WORD, true
case "DPT_Ramp":
return KnxDatapointType_DPT_Ramp, true
+ case "DPT_Channel_Activation_8":
+ return KnxDatapointType_DPT_Channel_Activation_8, true
case "DPT_StatusDHWC":
return KnxDatapointType_DPT_StatusDHWC, true
case "DPT_StatusRHCC":
@@ -6177,10 +6195,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Alarm_Reaction, true
case "DPT_UpDown_Action":
return KnxDatapointType_DPT_UpDown_Action, true
- case "DPT_HVAC_PB_Action":
- return KnxDatapointType_DPT_HVAC_PB_Action, true
case "DPT_Alarm":
return KnxDatapointType_DPT_Alarm, true
+ case "DPT_HVAC_PB_Action":
+ return KnxDatapointType_DPT_HVAC_PB_Action, true
case "DPT_DoubleNibble":
return KnxDatapointType_DPT_DoubleNibble, true
case "DPT_SceneInfo":
@@ -6199,10 +6217,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_HVACModeNext, true
case "DPT_DHWModeNext":
return KnxDatapointType_DPT_DHWModeNext, true
- case "DPT_OccModeNext":
- return KnxDatapointType_DPT_OccModeNext, true
case "DPT_BinaryValue":
return KnxDatapointType_DPT_BinaryValue, true
+ case "DPT_OccModeNext":
+ return KnxDatapointType_DPT_OccModeNext, true
case "DPT_BuildingModeNext":
return KnxDatapointType_DPT_BuildingModeNext, true
case "DPT_StatusLightingActuator":
@@ -6221,10 +6239,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_Scaling_Step_Time, true
case "DPT_MeteringValue":
return KnxDatapointType_DPT_MeteringValue, true
- case "DPT_MBus_Address":
- return KnxDatapointType_DPT_MBus_Address, true
case "DPT_Step":
return KnxDatapointType_DPT_Step, true
+ case "DPT_MBus_Address":
+ return KnxDatapointType_DPT_MBus_Address, true
case "DPT_Colour_RGB":
return KnxDatapointType_DPT_Colour_RGB, true
case "DPT_LanguageCodeAlpha2_ASCII":
@@ -6243,10 +6261,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_StatusSAB, true
case "DPT_Colour_xyY":
return KnxDatapointType_DPT_Colour_xyY, true
- case "DPT_Converter_Status":
- return KnxDatapointType_DPT_Converter_Status, true
case "DPT_UpDown":
return KnxDatapointType_DPT_UpDown, true
+ case "DPT_Converter_Status":
+ return KnxDatapointType_DPT_Converter_Status, true
case "DPT_Converter_Test_Result":
return KnxDatapointType_DPT_Converter_Test_Result, true
case "DPT_Battery_Info":
@@ -6265,10 +6283,10 @@ func KnxDatapointTypeByName(value string) (enum KnxDatapointType, ok bool) {
return KnxDatapointType_DPT_GeographicalLocation, true
case "DPT_TempRoomSetpSetF16_4":
return KnxDatapointType_DPT_TempRoomSetpSetF16_4, true
- case "DPT_TempRoomSetpSetShiftF16_4":
- return KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4, true
case "DPT_OpenClose":
return KnxDatapointType_DPT_OpenClose, true
+ case "DPT_TempRoomSetpSetShiftF16_4":
+ return KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4, true
case "DPT_Start":
return KnxDatapointType_DPT_Start, true
case "DPT_State":
@@ -6524,6 +6542,8 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "ULINT"
case KnxDatapointType_DPT_Concentration_ygm3:
return "DPT_Concentration_ygm3"
+ case KnxDatapointType_DPT_Coefficient:
+ return "DPT_Coefficient"
case KnxDatapointType_DPT_TimeOfDay:
return "DPT_TimeOfDay"
case KnxDatapointType_DPT_Date:
@@ -6540,10 +6560,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_VolumeLiquid_Litre"
case KnxDatapointType_DPT_Volume_m_3:
return "DPT_Volume_m_3"
- case KnxDatapointType_DPT_Value_4_Count:
- return "DPT_Value_4_Count"
case KnxDatapointType_LINT:
return "LINT"
+ case KnxDatapointType_DPT_Value_4_Count:
+ return "DPT_Value_4_Count"
case KnxDatapointType_DPT_FlowRate_m3h:
return "DPT_FlowRate_m3h"
case KnxDatapointType_DPT_ActiveEnergy:
@@ -6562,10 +6582,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_ActiveEnergy_MWh"
case KnxDatapointType_DPT_LongDeltaTimeSec:
return "DPT_LongDeltaTimeSec"
- case KnxDatapointType_DPT_DeltaVolumeLiquid_Litre:
- return "DPT_DeltaVolumeLiquid_Litre"
case KnxDatapointType_REAL:
return "REAL"
+ case KnxDatapointType_DPT_DeltaVolumeLiquid_Litre:
+ return "DPT_DeltaVolumeLiquid_Litre"
case KnxDatapointType_DPT_DeltaVolume_m_3:
return "DPT_DeltaVolume_m_3"
case KnxDatapointType_DPT_Value_Acceleration:
@@ -6584,10 +6604,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_AngleRad"
case KnxDatapointType_DPT_Value_AngleDeg:
return "DPT_Value_AngleDeg"
- case KnxDatapointType_DPT_Value_Angular_Momentum:
- return "DPT_Value_Angular_Momentum"
case KnxDatapointType_LREAL:
return "LREAL"
+ case KnxDatapointType_DPT_Value_Angular_Momentum:
+ return "DPT_Value_Angular_Momentum"
case KnxDatapointType_DPT_Value_Angular_Velocity:
return "DPT_Value_Angular_Velocity"
case KnxDatapointType_DPT_Value_Area:
@@ -6606,10 +6626,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Electrical_Conductivity"
case KnxDatapointType_DPT_Value_Density:
return "DPT_Value_Density"
- case KnxDatapointType_DPT_Value_Electric_Charge:
- return "DPT_Value_Electric_Charge"
case KnxDatapointType_CHAR:
return "CHAR"
+ case KnxDatapointType_DPT_Value_Electric_Charge:
+ return "DPT_Value_Electric_Charge"
case KnxDatapointType_DPT_Value_Electric_Current:
return "DPT_Value_Electric_Current"
case KnxDatapointType_DPT_Value_Electric_CurrentDensity:
@@ -6628,10 +6648,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Electric_Polarization"
case KnxDatapointType_DPT_Value_Electric_Potential:
return "DPT_Value_Electric_Potential"
- case KnxDatapointType_DPT_Value_Electric_PotentialDifference:
- return "DPT_Value_Electric_PotentialDifference"
case KnxDatapointType_WCHAR:
return "WCHAR"
+ case KnxDatapointType_DPT_Value_Electric_PotentialDifference:
+ return "DPT_Value_Electric_PotentialDifference"
case KnxDatapointType_DPT_Value_ElectromagneticMoment:
return "DPT_Value_ElectromagneticMoment"
case KnxDatapointType_DPT_Value_Electromotive_Force:
@@ -6650,10 +6670,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Heat_FlowRate"
case KnxDatapointType_DPT_Value_Heat_Quantity:
return "DPT_Value_Heat_Quantity"
- case KnxDatapointType_DPT_Value_Impedance:
- return "DPT_Value_Impedance"
case KnxDatapointType_STRING:
return "STRING"
+ case KnxDatapointType_DPT_Value_Impedance:
+ return "DPT_Value_Impedance"
case KnxDatapointType_DPT_Value_Length:
return "DPT_Value_Length"
case KnxDatapointType_DPT_Value_Light_Quantity:
@@ -6672,10 +6692,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Magnetic_FluxDensity"
case KnxDatapointType_DPT_Value_Magnetic_Moment:
return "DPT_Value_Magnetic_Moment"
- case KnxDatapointType_DPT_Value_Magnetic_Polarization:
- return "DPT_Value_Magnetic_Polarization"
case KnxDatapointType_WSTRING:
return "WSTRING"
+ case KnxDatapointType_DPT_Value_Magnetic_Polarization:
+ return "DPT_Value_Magnetic_Polarization"
case KnxDatapointType_DPT_Value_Magnetization:
return "DPT_Value_Magnetization"
case KnxDatapointType_DPT_Value_MagnetomotiveForce:
@@ -6694,12 +6714,12 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Power"
case KnxDatapointType_DPT_Value_Power_Factor:
return "DPT_Value_Power_Factor"
- case KnxDatapointType_DPT_Value_Pressure:
- return "DPT_Value_Pressure"
case KnxDatapointType_BYTE:
return "BYTE"
case KnxDatapointType_TIME:
return "TIME"
+ case KnxDatapointType_DPT_Value_Pressure:
+ return "DPT_Value_Pressure"
case KnxDatapointType_DPT_Value_Reactance:
return "DPT_Value_Reactance"
case KnxDatapointType_DPT_Value_Resistance:
@@ -6718,10 +6738,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Stress"
case KnxDatapointType_DPT_Value_Surface_Tension:
return "DPT_Value_Surface_Tension"
- case KnxDatapointType_DPT_Value_Common_Temperature:
- return "DPT_Value_Common_Temperature"
case KnxDatapointType_LTIME:
return "LTIME"
+ case KnxDatapointType_DPT_Value_Common_Temperature:
+ return "DPT_Value_Common_Temperature"
case KnxDatapointType_DPT_Value_Absolute_Temperature:
return "DPT_Value_Absolute_Temperature"
case KnxDatapointType_DPT_Value_TemperatureDifference:
@@ -6740,10 +6760,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Value_Volume"
case KnxDatapointType_DPT_Value_Volume_Flux:
return "DPT_Value_Volume_Flux"
- case KnxDatapointType_DPT_Value_Weight:
- return "DPT_Value_Weight"
case KnxDatapointType_DATE:
return "DATE"
+ case KnxDatapointType_DPT_Value_Weight:
+ return "DPT_Value_Weight"
case KnxDatapointType_DPT_Value_Work:
return "DPT_Value_Work"
case KnxDatapointType_DPT_Value_ApparentPower:
@@ -6762,10 +6782,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_SceneNumber"
case KnxDatapointType_DPT_SceneControl:
return "DPT_SceneControl"
- case KnxDatapointType_DPT_DateTime:
- return "DPT_DateTime"
case KnxDatapointType_TIME_OF_DAY:
return "TIME_OF_DAY"
+ case KnxDatapointType_DPT_DateTime:
+ return "DPT_DateTime"
case KnxDatapointType_DPT_SCLOMode:
return "DPT_SCLOMode"
case KnxDatapointType_DPT_BuildingMode:
@@ -6784,10 +6804,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_PSUMode"
case KnxDatapointType_DPT_ErrorClass_System:
return "DPT_ErrorClass_System"
- case KnxDatapointType_DPT_ErrorClass_HVAC:
- return "DPT_ErrorClass_HVAC"
case KnxDatapointType_TOD:
return "TOD"
+ case KnxDatapointType_DPT_ErrorClass_HVAC:
+ return "DPT_ErrorClass_HVAC"
case KnxDatapointType_DPT_Time_Delay:
return "DPT_Time_Delay"
case KnxDatapointType_DPT_Beaufort_Wind_Force_Scale:
@@ -6806,10 +6826,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_BurnerType"
case KnxDatapointType_DPT_HVACMode:
return "DPT_HVACMode"
- case KnxDatapointType_DPT_DHWMode:
- return "DPT_DHWMode"
case KnxDatapointType_DATE_AND_TIME:
return "DATE_AND_TIME"
+ case KnxDatapointType_DPT_DHWMode:
+ return "DPT_DHWMode"
case KnxDatapointType_DPT_LoadPriority:
return "DPT_LoadPriority"
case KnxDatapointType_DPT_HVACContrMode:
@@ -6828,10 +6848,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_FanMode"
case KnxDatapointType_DPT_MasterSlaveMode:
return "DPT_MasterSlaveMode"
- case KnxDatapointType_DPT_StatusRoomSetp:
- return "DPT_StatusRoomSetp"
case KnxDatapointType_DT:
return "DT"
+ case KnxDatapointType_DPT_StatusRoomSetp:
+ return "DPT_StatusRoomSetp"
case KnxDatapointType_DPT_Metering_DeviceType:
return "DPT_Metering_DeviceType"
case KnxDatapointType_DPT_HumDehumMode:
@@ -6850,10 +6870,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Behaviour_Bus_Power_Up_Down"
case KnxDatapointType_DPT_DALI_Fade_Time:
return "DPT_DALI_Fade_Time"
- case KnxDatapointType_DPT_BlinkingMode:
- return "DPT_BlinkingMode"
case KnxDatapointType_DPT_Switch:
return "DPT_Switch"
+ case KnxDatapointType_DPT_BlinkingMode:
+ return "DPT_BlinkingMode"
case KnxDatapointType_DPT_LightControlMode:
return "DPT_LightControlMode"
case KnxDatapointType_DPT_SwitchPBModel:
@@ -6872,10 +6892,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Converter_Test_Control"
case KnxDatapointType_DPT_SABExcept_Behaviour:
return "DPT_SABExcept_Behaviour"
- case KnxDatapointType_DPT_SABBehaviour_Lock_Unlock:
- return "DPT_SABBehaviour_Lock_Unlock"
case KnxDatapointType_DPT_Bool:
return "DPT_Bool"
+ case KnxDatapointType_DPT_SABBehaviour_Lock_Unlock:
+ return "DPT_SABBehaviour_Lock_Unlock"
case KnxDatapointType_DPT_SSSBMode:
return "DPT_SSSBMode"
case KnxDatapointType_DPT_BlindsControlMode:
@@ -6894,10 +6914,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Device_Control"
case KnxDatapointType_DPT_ForceSign:
return "DPT_ForceSign"
- case KnxDatapointType_DPT_ForceSignCool:
- return "DPT_ForceSignCool"
case KnxDatapointType_DPT_Enable:
return "DPT_Enable"
+ case KnxDatapointType_DPT_ForceSignCool:
+ return "DPT_ForceSignCool"
case KnxDatapointType_DPT_StatusRHC:
return "DPT_StatusRHC"
case KnxDatapointType_DPT_StatusSDHWC:
@@ -6916,12 +6936,12 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_RF_ModeInfo"
case KnxDatapointType_DPT_RF_FilterInfo:
return "DPT_RF_FilterInfo"
- case KnxDatapointType_DPT_Channel_Activation_8:
- return "DPT_Channel_Activation_8"
case KnxDatapointType_WORD:
return "WORD"
case KnxDatapointType_DPT_Ramp:
return "DPT_Ramp"
+ case KnxDatapointType_DPT_Channel_Activation_8:
+ return "DPT_Channel_Activation_8"
case KnxDatapointType_DPT_StatusDHWC:
return "DPT_StatusDHWC"
case KnxDatapointType_DPT_StatusRHCC:
@@ -6940,10 +6960,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Alarm_Reaction"
case KnxDatapointType_DPT_UpDown_Action:
return "DPT_UpDown_Action"
- case KnxDatapointType_DPT_HVAC_PB_Action:
- return "DPT_HVAC_PB_Action"
case KnxDatapointType_DPT_Alarm:
return "DPT_Alarm"
+ case KnxDatapointType_DPT_HVAC_PB_Action:
+ return "DPT_HVAC_PB_Action"
case KnxDatapointType_DPT_DoubleNibble:
return "DPT_DoubleNibble"
case KnxDatapointType_DPT_SceneInfo:
@@ -6962,10 +6982,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_HVACModeNext"
case KnxDatapointType_DPT_DHWModeNext:
return "DPT_DHWModeNext"
- case KnxDatapointType_DPT_OccModeNext:
- return "DPT_OccModeNext"
case KnxDatapointType_DPT_BinaryValue:
return "DPT_BinaryValue"
+ case KnxDatapointType_DPT_OccModeNext:
+ return "DPT_OccModeNext"
case KnxDatapointType_DPT_BuildingModeNext:
return "DPT_BuildingModeNext"
case KnxDatapointType_DPT_StatusLightingActuator:
@@ -6984,10 +7004,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_Scaling_Step_Time"
case KnxDatapointType_DPT_MeteringValue:
return "DPT_MeteringValue"
- case KnxDatapointType_DPT_MBus_Address:
- return "DPT_MBus_Address"
case KnxDatapointType_DPT_Step:
return "DPT_Step"
+ case KnxDatapointType_DPT_MBus_Address:
+ return "DPT_MBus_Address"
case KnxDatapointType_DPT_Colour_RGB:
return "DPT_Colour_RGB"
case KnxDatapointType_DPT_LanguageCodeAlpha2_ASCII:
@@ -7006,10 +7026,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_StatusSAB"
case KnxDatapointType_DPT_Colour_xyY:
return "DPT_Colour_xyY"
- case KnxDatapointType_DPT_Converter_Status:
- return "DPT_Converter_Status"
case KnxDatapointType_DPT_UpDown:
return "DPT_UpDown"
+ case KnxDatapointType_DPT_Converter_Status:
+ return "DPT_Converter_Status"
case KnxDatapointType_DPT_Converter_Test_Result:
return "DPT_Converter_Test_Result"
case KnxDatapointType_DPT_Battery_Info:
@@ -7028,10 +7048,10 @@ func (e KnxDatapointType) PLC4XEnumName() string {
return "DPT_GeographicalLocation"
case KnxDatapointType_DPT_TempRoomSetpSetF16_4:
return "DPT_TempRoomSetpSetF16_4"
- case KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4:
- return "DPT_TempRoomSetpSetShiftF16_4"
case KnxDatapointType_DPT_OpenClose:
return "DPT_OpenClose"
+ case KnxDatapointType_DPT_TempRoomSetpSetShiftF16_4:
+ return "DPT_TempRoomSetpSetShiftF16_4"
case KnxDatapointType_DPT_Start:
return "DPT_Start"
case KnxDatapointType_DPT_State:
diff --git a/plc4go/protocols/knxnetip/readwrite/model/KnxManufacturer.go b/plc4go/protocols/knxnetip/readwrite/model/KnxManufacturer.go
index ec9a1cddb8..03fbb8aa15 100644
--- a/plc4go/protocols/knxnetip/readwrite/model/KnxManufacturer.go
+++ b/plc4go/protocols/knxnetip/readwrite/model/KnxManufacturer.go
@@ -632,7 +632,7 @@ const (
KnxManufacturer_M_DELTA_ELECTRONICS KnxManufacturer = 592
KnxManufacturer_M_SHANGHAI_LEWIN_INTELLIGENT_TECHNOLOGY_CO__LTD_ KnxManufacturer = 593
KnxManufacturer_M_KG_POWER KnxManufacturer = 594
- KnxManufacturer_M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD KnxManufacturer = 595
+ KnxManufacturer_M_ZHEJIANG_MOORGEN_GROUP_CO__LTD KnxManufacturer = 595
KnxManufacturer_M_GUANGDONG_KANWAY KnxManufacturer = 596
KnxManufacturer_M_RAMIREZ_ENGINEERING_GMBH KnxManufacturer = 597
KnxManufacturer_M_ZHONGSHAN_TAIYANG_IMPANDEXP__CO_LTD KnxManufacturer = 598
@@ -1255,7 +1255,7 @@ func init() {
KnxManufacturer_M_DELTA_ELECTRONICS,
KnxManufacturer_M_SHANGHAI_LEWIN_INTELLIGENT_TECHNOLOGY_CO__LTD_,
KnxManufacturer_M_KG_POWER,
- KnxManufacturer_M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD,
+ KnxManufacturer_M_ZHEJIANG_MOORGEN_GROUP_CO__LTD,
KnxManufacturer_M_GUANGDONG_KANWAY,
KnxManufacturer_M_RAMIREZ_ENGINEERING_GMBH,
KnxManufacturer_M_ZHONGSHAN_TAIYANG_IMPANDEXP__CO_LTD,
@@ -5969,7 +5969,7 @@ func (e KnxManufacturer) Name() string {
}
case 595:
{ /* '595' */
- return "Zhejiang Moorgen Intelligent Technology Co., Ltd"
+ return "Zhejiang Moorgen Group Co.,Ltd"
}
case 596:
{ /* '596' */
@@ -7347,7 +7347,7 @@ func KnxManufacturerByValue(value uint16) (enum KnxManufacturer, ok bool) {
case 594:
return KnxManufacturer_M_KG_POWER, true
case 595:
- return KnxManufacturer_M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD, true
+ return KnxManufacturer_M_ZHEJIANG_MOORGEN_GROUP_CO__LTD, true
case 596:
return KnxManufacturer_M_GUANGDONG_KANWAY, true
case 597:
@@ -8584,8 +8584,8 @@ func KnxManufacturerByName(value string) (enum KnxManufacturer, ok bool) {
return KnxManufacturer_M_SHANGHAI_LEWIN_INTELLIGENT_TECHNOLOGY_CO__LTD_, true
case "M_KG_POWER":
return KnxManufacturer_M_KG_POWER, true
- case "M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD":
- return KnxManufacturer_M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD, true
+ case "M_ZHEJIANG_MOORGEN_GROUP_CO__LTD":
+ return KnxManufacturer_M_ZHEJIANG_MOORGEN_GROUP_CO__LTD, true
case "M_GUANGDONG_KANWAY":
return KnxManufacturer_M_GUANGDONG_KANWAY, true
case "M_RAMIREZ_ENGINEERING_GMBH":
@@ -9879,8 +9879,8 @@ func (e KnxManufacturer) PLC4XEnumName() string {
return "M_SHANGHAI_LEWIN_INTELLIGENT_TECHNOLOGY_CO__LTD_"
case KnxManufacturer_M_KG_POWER:
return "M_KG_POWER"
- case KnxManufacturer_M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD:
- return "M_ZHEJIANG_MOORGEN_INTELLIGENT_TECHNOLOGY_CO___LTD"
+ case KnxManufacturer_M_ZHEJIANG_MOORGEN_GROUP_CO__LTD:
+ return "M_ZHEJIANG_MOORGEN_GROUP_CO__LTD"
case KnxManufacturer_M_GUANGDONG_KANWAY:
return "M_GUANGDONG_KANWAY"
case KnxManufacturer_M_RAMIREZ_ENGINEERING_GMBH:
diff --git a/plc4go/spi/testutils/DriverTestRunner.go b/plc4go/spi/testutils/DriverTestRunner.go
index 077bbfff29..68d6ee844c 100644
--- a/plc4go/spi/testutils/DriverTestRunner.go
+++ b/plc4go/spi/testutils/DriverTestRunner.go
@@ -116,7 +116,7 @@ func (m DriverTestsuite) Run(driverManager plc4go.PlcDriverManager, testcase Tes
return errors.Wrap(err, "error in setup step "+testStep.name)
}
// We sleep a bit to not run too fast into the post setup steps and give connections a bit time to settle built up
- time.Sleep(time.Second)
+ time.Sleep(2 * time.Millisecond)
}
// Run the actual scenario steps
@@ -305,9 +305,9 @@ func (m DriverTestsuite) ExecuteStep(connection plc4go.PlcConnection, testcase *
drainableBytes := testTransportInstance.GetNumDrainableBytes()
actualRawOutput, _ := testTransportInstance.DrainWriteBuffer(drainableBytes)
return errors.Errorf("error getting bytes from transport. Not enough data available: actual(%d)<expected(%d), \nactual: 0x%X\nexpected: 0x%X\nHexdumps:\n%s",
- drainableBytes, expectedRawOutputLength, actualRawOutput, expectedRawOutput, utils.DiffHex(actualRawOutput, expectedRawOutput))
+ drainableBytes, expectedRawOutputLength, actualRawOutput, expectedRawOutput, utils.DiffHex(expectedRawOutput, actualRawOutput))
}
- time.Sleep(10 * time.Millisecond)
+ time.Sleep(2 * time.Millisecond)
}
actualRawOutput, err := testTransportInstance.DrainWriteBuffer(expectedRawOutputLength)
if testTransportInstance.GetNumDrainableBytes() != 0 {
@@ -334,7 +334,7 @@ func (m DriverTestsuite) ExecuteStep(connection plc4go.PlcConnection, testcase *
actual, err := m.rootTypeParser(readBufferByteBased)
log.Error().Err(err).Msgf("A readable render of expectation:\n%v\nvs actual paket\n%v\n", expectedSerializable, actual)
}
- return errors.Errorf("actual output doesn't match expected output:\nactual: 0x%X\nexpected: 0x%X\nHexdumps:\n%s", actualRawOutput, expectedRawOutput, utils.DiffHex(actualRawOutput, expectedRawOutput))
+ return errors.Errorf("actual output doesn't match expected output:\nactual: 0x%X\nexpected: 0x%X\nHexdumps:\n%s", actualRawOutput, expectedRawOutput, utils.DiffHex(expectedRawOutput, actualRawOutput))
}
}
// If there's a difference, parse the input and display it to simplify debugging
@@ -354,7 +354,7 @@ func (m DriverTestsuite) ExecuteStep(connection plc4go.PlcConnection, testcase *
log.Trace().Msg("Comparing bytes")
for i := range expectedRawInput {
if expectedRawInput[i] != rawInput[i] {
- return errors.Errorf("actual output doesn't match expected output:\nactual: 0x%X\nexpected: 0x%X\nHexdumps:\n%s", rawInput, expectedRawInput, utils.DiffHex(rawInput, expectedRawInput))
+ return errors.Errorf("actual output doesn't match expected output:\nactual: 0x%X\nexpected: 0x%X\nHexdumps:\n%s", rawInput, expectedRawInput, utils.DiffHex(expectedRawInput, rawInput))
}
}
// If there's a difference, parse the input and display it to simplify debugging
@@ -415,7 +415,7 @@ func (m DriverTestsuite) ExecuteStep(connection plc4go.PlcConnection, testcase *
}
// Sleep for that long
log.Debug().Int("delay", delay).Msg("Sleeping")
- time.Sleep(time.Millisecond * time.Duration(delay))
+ time.Sleep(time.Duration(delay) * time.Millisecond)
case StepTypeTerminate:
// Simply close the transport connection
log.Trace().Msg("closing transport")
diff --git a/plc4go/tests/drivers/tests/eip_driver_test.go b/plc4go/tests/drivers/tests/eip_driver_test.go
index f3a05a4edc..5397e786cb 100644
--- a/plc4go/tests/drivers/tests/eip_driver_test.go
+++ b/plc4go/tests/drivers/tests/eip_driver_test.go
@@ -20,16 +20,25 @@
package tests
import (
+ "os"
"testing"
"github.com/apache/plc4x/plc4go/internal/eip"
+ "github.com/apache/plc4x/plc4go/pkg/api/config"
"github.com/apache/plc4x/plc4go/protocols/eip/readwrite"
"github.com/apache/plc4x/plc4go/spi/testutils"
_ "github.com/apache/plc4x/plc4go/tests/initializetest"
"github.com/rs/zerolog"
+ "github.com/rs/zerolog/log"
)
func TestEIPDriver(t *testing.T) {
- zerolog.SetGlobalLevel(zerolog.DebugLevel)
+ log.Logger = log.
+ With().Caller().Logger().
+ Output(zerolog.ConsoleWriter{Out: os.Stderr}).
+ Level(zerolog.DebugLevel)
+ config.TraceTransactionManagerWorkers = true
+ config.TraceTransactionManagerTransactions = true
+ config.TraceDefaultMessageCodecWorker = true
testutils.RunDriverTestsuite(t, eip.NewDriver(), "assets/testing/protocols/eip/DriverTestsuite.xml", readwrite.EipXmlParserHelper{})
}
diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java
index 3a8b12ea1b..d8b8f333f9 100644
--- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java
+++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetVendorId.java
@@ -1617,6 +1617,8 @@ public enum BACnetVendorId {
METRONICAKP_SPJ((int) 1406, (int) 1406, (String) "Metronic AKP Sp. J."),
TECHKNAVE((int) 1407, (int) 1407, (String) "Techknave"),
ELSNER_ELEKTRONIK((int) 1408, (int) 1408, (String) "Elsner Elektronik"),
+ LEFOO_INDUSTRIAL_HANGZHOU_CO_LTD(
+ (int) 1409, (int) 1409, (String) "LEFOO Industrial (Hangzhou) Co., Ltd."),
UNKNOWN_VENDOR((int) 0xFFFF, (int) 0xFFFF, (String) "Unknown");
private static final Map<Integer, BACnetVendorId> map;
diff --git a/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPClassID.java b/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPClassID.java
index d901ab682e..496b937ef1 100644
--- a/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPClassID.java
+++ b/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPClassID.java
@@ -26,7 +26,74 @@ import java.util.Map;
public enum CIPClassID {
Identity((int) 0x0001),
MessageRouter((int) 0x0002),
- ConnectionManager((int) 0x0006);
+ Assembly((int) 0x0004),
+ Connection((int) 0x0005),
+ ConnectionManager((int) 0x0006),
+ Register((int) 0x0007),
+ Parameter((int) 0x000F),
+ ParameterGroup((int) 0x0010),
+ AcknowledgeHandler((int) 0x002B),
+ Selection((int) 0x002E),
+ File((int) 0x0037),
+ OriginatorConnectionList((int) 0x0045),
+ ConnectionConfiguration((int) 0x00F3),
+ Port((int) 0x00F4),
+ DiscreteInputPoint((int) 0x0008),
+ DiscreteOutputPoint((int) 0x0009),
+ AnalogInputPoint((int) 0x000A),
+ AnalogOutputPoint((int) 0x000B),
+ PresenceSensing((int) 0x000E),
+ Group((int) 0x0012),
+ DiscreteInputGroup((int) 0x001D),
+ DiscreteOutputGroup((int) 0x001E),
+ DiscreteGroup((int) 0x001F),
+ AnalogInputGroup((int) 0x0020),
+ AnalogOutputGroup((int) 0x0021),
+ AnalogGroup((int) 0x0022),
+ PositionSensor((int) 0x0023),
+ PositionControllerSupervisor((int) 0x0024),
+ PositionController((int) 0x0025),
+ BlockSequencer((int) 0x0026),
+ CommandBlock((int) 0x0027),
+ MotorData((int) 0x0028),
+ ControlSupervisor((int) 0x0029),
+ AcDcDrive((int) 0x002A),
+ Overload((int) 0x002C),
+ SDeviceSupervisor((int) 0x0030),
+ SAnalogSensor((int) 0x0031),
+ SAnalogActuator((int) 0x0032),
+ SSingleStageController((int) 0x0033),
+ SGasCalibration((int) 0x0034),
+ SPartialPressure((int) 0x0038),
+ SSensorCalibration((int) 0x0040),
+ EventLog((int) 0x0041),
+ MotionDeviceAxis((int) 0x0042),
+ SafetyAnalogInputGroup((int) 0x004A),
+ BaseEnergy((int) 0x004E),
+ ElectricalEnergy((int) 0x004F),
+ NonElectricalEnergy((int) 0x0050),
+ PowerManagementObject((int) 0x0053),
+ PowerCurtailmentObject((int) 0x005C),
+ DeviceNet((int) 0x0003),
+ Modbus((int) 0x0044),
+ ModbusSerialLink((int) 0x0046),
+ DeviceLevelRing((int) 0x0047),
+ QOS((int) 0x0048),
+ Sercos3Link((int) 0x004C),
+ BaseSwitch((int) 0x0051),
+ Snmp((int) 0x0052),
+ PowerManagement((int) 0x0053),
+ RstpBridge((int) 0x0054),
+ RstpPort((int) 0x0055),
+ ParallelRedundancyProtocol((int) 0x0056),
+ PrpNodesTable((int) 0x0057),
+ ControlNet((int) 0x00F0),
+ ControlNetKeeper((int) 0x00F1),
+ ControlNetScheduling((int) 0x00F2),
+ TcpIpInterface((int) 0x00F5),
+ EthernetLink((int) 0x00F6),
+ CompoNetLink((int) 0x00F7),
+ CompoNetRepeater((int) 0x00F8);
private static final Map<Integer, CIPClassID> map;
static {
diff --git a/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPStatus.java b/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPStatus.java
index f103a97830..d01443cb6c 100644
--- a/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPStatus.java
+++ b/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CIPStatus.java
@@ -39,7 +39,7 @@ public enum CIPStatus {
ObjectStateConflict((long) 0x0000000CL),
ObjectAlreadyExists((long) 0x0000000DL),
AttributeNotSettable((long) 0x0000000EL),
- PriviligeViolation((long) 0x0000000FL),
+ PrivilegeViolation((long) 0x0000000FL),
DeviceStateConflict((long) 0x00000010L),
ReplyDataTooLarge((long) 0x00000011L),
FragmentationOfPrimitiveValue((long) 0x00000012L),
diff --git a/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CipService.java b/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CipService.java
index 964e55cede..60d97f5f85 100644
--- a/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CipService.java
+++ b/plc4j/drivers/eip/src/main/generated/org/apache/plc4x/java/eip/readwrite/CipService.java
@@ -143,6 +143,56 @@ public abstract class CipService implements Message {
&& EvaluationHelper.equals(response, (boolean) true)) {
builder =
GetAttributeAllResponse.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x02)
+ && EvaluationHelper.equals(response, (boolean) false)) {
+ builder =
+ SetAttributeAllRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x02)
+ && EvaluationHelper.equals(response, (boolean) true)) {
+ builder =
+ SetAttributeAllResponse.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x03)
+ && EvaluationHelper.equals(response, (boolean) false)) {
+ builder =
+ GetAttributeListRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x03)
+ && EvaluationHelper.equals(response, (boolean) true)) {
+ builder =
+ GetAttributeListResponse.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x04)
+ && EvaluationHelper.equals(response, (boolean) false)) {
+ builder =
+ SetAttributeListRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x04)
+ && EvaluationHelper.equals(response, (boolean) true)) {
+ builder =
+ SetAttributeListResponse.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x0A)
+ && EvaluationHelper.equals(response, (boolean) false)) {
+ builder =
+ MultipleServiceRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x0A)
+ && EvaluationHelper.equals(response, (boolean) true)) {
+ builder =
+ MultipleServiceResponse.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x0E)
+ && EvaluationHelper.equals(response, (boolean) false)) {
+ builder =
+ GetAttributeSingleRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x0E)
+ && EvaluationHelper.equals(response, (boolean) true)) {
+ builder =
+ GetAttributeSingleResponse.staticParseCipServiceBuilder(
+ readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x10)
+ && EvaluationHelper.equals(response, (boolean) false)) {
+ builder =
+ SetAttributeSingleRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
+ } else if (EvaluationHelper.equals(service, (short) 0x10)
+ && EvaluationHelper.equals(response, (boolean) true)) {
+ builder =
+ SetAttributeSingleResponse.staticParseCipServiceBuilder(
+ readBuffer, connected, serviceLen);
} else if (EvaluationHelper.equals(service, (short) 0x4C)
&& EvaluationHelper.equals(response, (boolean) false)) {
builder = CipReadRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
@@ -165,14 +215,6 @@ public abstract class CipService implements Message {
builder =
CipConnectionManagerCloseResponse.staticParseCipServiceBuilder(
readBuffer, connected, serviceLen);
- } else if (EvaluationHelper.equals(service, (short) 0x0A)
- && EvaluationHelper.equals(response, (boolean) false)) {
- builder =
- MultipleServiceRequest.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
- } else if (EvaluationHelper.equals(service, (short) 0x0A)
- && EvaluationHelper.equals(response, (boolean) true)) {
- builder =
- MultipleServiceResponse.staticParseCipServiceBuilder(readBuffer, connected, serviceLen);
} else if (EvaluationHelper.equals(service, (short) 0x52)
&& EvaluationHelper.equals(response, (boolean) false)
&& EvaluationHelper.equals(connected, (boolean) false)) {
diff --git a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/protocol/EipProtocolLogic.java b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/protocol/EipProtocolLogic.java
index 171953116a..66d8f1d46b 100644
--- a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/protocol/EipProtocolLogic.java
+++ b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/protocol/EipProtocolLogic.java
@@ -468,8 +468,7 @@ public class EipProtocolLogic extends Plc4xProtocolBase<EipPacket> implements Ha
// Finish the request-transaction.
transaction.endRequest();
}));
- internalFuture.get(REQUEST_TIMEOUT.toMillis(), TimeUnit.MILLISECONDS);
- } catch (SerializationException | TimeoutException | ExecutionException | InterruptedException e) {
+ } catch (SerializationException e) {
e.printStackTrace();
}
}
diff --git a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/tag/EipTag.java b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/tag/EipTag.java
index 1fa93dfc7f..b495235a36 100644
--- a/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/tag/EipTag.java
+++ b/plc4j/drivers/eip/src/main/java/org/apache/plc4x/java/eip/base/tag/EipTag.java
@@ -50,6 +50,7 @@ public class EipTag implements PlcTag, Serializable {
public EipTag(String tag) {
this.tag = tag;
+ this.elementNb = 1;
}
public EipTag(String tag, int elementNb) {
@@ -111,7 +112,7 @@ public class EipTag implements PlcTag, Serializable {
Matcher matcher = ADDRESS_PATTERN.matcher(tagString);
if (matcher.matches()) {
String tag = matcher.group(TAG);
- int nb = 0;
+ int nb = 1;
CIPDataTypeCode type;
if (!matcher.group(ELEMENTS).isEmpty()) {
nb = Integer.parseInt(matcher.group(ELEMENTS));
@@ -122,15 +123,9 @@ public class EipTag implements PlcTag, Serializable {
type = CIPDataTypeCode.DINT;
}
if (nb != 0) {
- if (type != null) {
- return new EipTag(tag, type, nb);
- }
- return new EipTag(tag, nb);
+ return new EipTag(tag, type, nb);
} else {
- if (type != null) {
- return new EipTag(tag, type);
- }
- return new EipTag(tag);
+ return new EipTag(tag, type);
}
}
return null;
@@ -145,9 +140,6 @@ public class EipTag implements PlcTag, Serializable {
writeBuffer.writeString("type", type.name().getBytes(StandardCharsets.UTF_8).length * 8, type.name(), WithOption.WithEncoding(StandardCharsets.UTF_8.name()));
}
writeBuffer.writeUnsignedInt("elementNb", 16, elementNb);
- // TODO: remove this (not language agnostic)
- String defaultJavaType = (type == null ? Object.class : getPlcValueType().getDefaultJavaType()).getName();
- writeBuffer.writeString("defaultJavaType", defaultJavaType.getBytes(StandardCharsets.UTF_8).length * 8, defaultJavaType, WithOption.WithEncoding(StandardCharsets.UTF_8.name()));
writeBuffer.popContext(getClass().getSimpleName());
}
diff --git a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java
index 89e8f23e7b..6c3b3dc30f 100644
--- a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java
+++ b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapoint.java
@@ -2156,6 +2156,22 @@ public class KnxDatapoint {
// Simple Field (value)
Float value = /*TODO: migrate me*/ /*TODO: migrate me*/ readBuffer.readFloat("", 16);
+ return new PlcREAL(value);
+ } else if (EvaluationHelper.equals(datapointType, KnxDatapointType.DPT_Coefficient)) { // REAL
+
+ // Reserved Field (Compartmentalized so the "reserved" variable can't leak)
+ {
+ short reserved = /*TODO: migrate me*/ /*TODO: migrate me*/
+ readBuffer.readUnsignedShort("", 8);
+ if (reserved != (short) 0x00) {
+ LOGGER.info(
+ "Expected constant value " + 0x00 + " but got " + reserved + " for reserved field.");
+ }
+ }
+
+ // Simple Field (value)
+ Float value = /*TODO: migrate me*/ /*TODO: migrate me*/ readBuffer.readFloat("", 16);
+
return new PlcREAL(value);
} else if (EvaluationHelper.equals(datapointType, KnxDatapointType.DPT_TimeOfDay)) { // Struct
@@ -9457,6 +9473,15 @@ public class KnxDatapoint {
float value = (float) _value.getFloat();
/*TODO: migrate me*/
/*TODO: migrate me*/ writeBuffer.writeFloat("", 16, (value));
+ } else if (EvaluationHelper.equals(datapointType, KnxDatapointType.DPT_Coefficient)) { // REAL
+ // Reserved Field
+ /*TODO: migrate me*/
+ /*TODO: migrate me*/ writeBuffer.writeUnsignedShort(
+ "", 8, ((Number) (short) 0x00).shortValue());
+ // Simple Field (value)
+ float value = (float) _value.getFloat();
+ /*TODO: migrate me*/
+ /*TODO: migrate me*/ writeBuffer.writeFloat("", 16, (value));
} else if (EvaluationHelper.equals(datapointType, KnxDatapointType.DPT_TimeOfDay)) { // Struct
// Reserved Field
/*TODO: migrate me*/
@@ -14083,6 +14108,11 @@ public class KnxDatapoint {
sizeInBits += 8;
// Simple Field (value)
sizeInBits += 16;
+ } else if (EvaluationHelper.equals(datapointType, KnxDatapointType.DPT_Coefficient)) { // REAL
+ // Reserved Field
+ sizeInBits += 8;
+ // Simple Field (value)
+ sizeInBits += 16;
} else if (EvaluationHelper.equals(datapointType, KnxDatapointType.DPT_TimeOfDay)) { // Struct
// Reserved Field
sizeInBits += 8;
diff --git a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java
index ac33240d5f..b615d5c8c8 100644
--- a/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java
+++ b/plc4j/drivers/knxnetip/src/main/generated/org/apache/plc4x/java/knxnetip/readwrite/KnxDatapointType.java
@@ -330,831 +330,833 @@ public enum KnxDatapointType {
(int) 30,
(String) "concentration (µg/m³)",
KnxDatapointMainType.DPT_2_BYTE_FLOAT_VALUE),
- DPT_TimeOfDay((long) 121L, (int) 1, (String) "time of day", KnxDatapointMainType.DPT_TIME),
- DPT_Date((long) 122L, (int) 1, (String) "date", KnxDatapointMainType.DPT_DATE),
+ DPT_Coefficient(
+ (long) 121L, (int) 31, (String) "coefficient", KnxDatapointMainType.DPT_2_BYTE_FLOAT_VALUE),
+ DPT_TimeOfDay((long) 122L, (int) 1, (String) "time of day", KnxDatapointMainType.DPT_TIME),
+ DPT_Date((long) 123L, (int) 1, (String) "date", KnxDatapointMainType.DPT_DATE),
DPT_Value_4_Ucount(
- (long) 123L,
+ (long) 124L,
(int) 1,
(String) "counter pulses (unsigned)",
KnxDatapointMainType.DPT_4_BYTE_UNSIGNED_VALUE),
DPT_LongTimePeriod_Sec(
- (long) 124L,
+ (long) 125L,
(int) 100,
(String) "counter timesec (s)",
KnxDatapointMainType.DPT_4_BYTE_UNSIGNED_VALUE),
DPT_LongTimePeriod_Min(
- (long) 125L,
+ (long) 126L,
(int) 101,
(String) "counter timemin (min)",
KnxDatapointMainType.DPT_4_BYTE_UNSIGNED_VALUE),
DPT_LongTimePeriod_Hrs(
- (long) 126L,
+ (long) 127L,
(int) 102,
(String) "counter timehrs (h)",
KnxDatapointMainType.DPT_4_BYTE_UNSIGNED_VALUE),
DPT_VolumeLiquid_Litre(
- (long) 127L,
+ (long) 128L,
(int) 1200,
(String) "volume liquid (l)",
KnxDatapointMainType.DPT_4_BYTE_UNSIGNED_VALUE),
DPT_Volume_m_3(
- (long) 128L,
+ (long) 129L,
(int) 1201,
(String) "volume (m³)",
KnxDatapointMainType.DPT_4_BYTE_UNSIGNED_VALUE),
DPT_Value_4_Count(
- (long) 129L,
+ (long) 130L,
(int) 1,
(String) "counter pulses (signed)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_FlowRate_m3h(
- (long) 130L,
+ (long) 131L,
(int) 2,
(String) "flow rate (m³/h)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ActiveEnergy(
- (long) 131L,
+ (long) 132L,
(int) 10,
(String) "active energy (Wh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ApparantEnergy(
- (long) 132L,
+ (long) 133L,
(int) 11,
(String) "apparant energy (VAh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ReactiveEnergy(
- (long) 133L,
+ (long) 134L,
(int) 12,
(String) "reactive energy (VARh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ActiveEnergy_kWh(
- (long) 134L,
+ (long) 135L,
(int) 13,
(String) "active energy (kWh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ApparantEnergy_kVAh(
- (long) 135L,
+ (long) 136L,
(int) 14,
(String) "apparant energy (kVAh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ReactiveEnergy_kVARh(
- (long) 136L,
+ (long) 137L,
(int) 15,
(String) "reactive energy (kVARh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_ActiveEnergy_MWh(
- (long) 137L,
+ (long) 138L,
(int) 16,
(String) "active energy (MWh)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_LongDeltaTimeSec(
- (long) 138L,
+ (long) 139L,
(int) 100,
(String) "time lag (s)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_DeltaVolumeLiquid_Litre(
- (long) 139L,
+ (long) 140L,
(int) 1200,
(String) "delta volume liquid (l)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_DeltaVolume_m_3(
- (long) 140L,
+ (long) 141L,
(int) 1201,
(String) "delta volume (m³)",
KnxDatapointMainType.DPT_4_BYTE_SIGNED_VALUE),
DPT_Value_Acceleration(
- (long) 141L,
+ (long) 142L,
(int) 0,
(String) "acceleration (m/s²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Acceleration_Angular(
- (long) 142L,
+ (long) 143L,
(int) 1,
(String) "angular acceleration (rad/s²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Activation_Energy(
- (long) 143L,
+ (long) 144L,
(int) 2,
(String) "activation energy (J/mol)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Activity(
- (long) 144L,
+ (long) 145L,
(int) 3,
(String) "radioactive activity (1/s)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Mol(
- (long) 145L,
+ (long) 146L,
(int) 4,
(String) "amount of substance (mol)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Amplitude(
- (long) 146L, (int) 5, (String) "amplitude", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 147L, (int) 5, (String) "amplitude", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_AngleRad(
- (long) 147L,
+ (long) 148L,
(int) 6,
(String) "angle (radiant)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_AngleDeg(
- (long) 148L, (int) 7, (String) "angle (degree)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 149L, (int) 7, (String) "angle (degree)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Angular_Momentum(
- (long) 149L,
+ (long) 150L,
(int) 8,
(String) "angular momentum (Js)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Angular_Velocity(
- (long) 150L,
+ (long) 151L,
(int) 9,
(String) "angular velocity (rad/s)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Area(
- (long) 151L, (int) 10, (String) "area (m*m)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 152L, (int) 10, (String) "area (m*m)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Capacitance(
- (long) 152L,
+ (long) 153L,
(int) 11,
(String) "capacitance (F)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Charge_DensitySurface(
- (long) 153L,
+ (long) 154L,
(int) 12,
(String) "flux density (C/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Charge_DensityVolume(
- (long) 154L,
+ (long) 155L,
(int) 13,
(String) "charge density (C/m³)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Compressibility(
- (long) 155L,
+ (long) 156L,
(int) 14,
(String) "compressibility (m²/N)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Conductance(
- (long) 156L,
+ (long) 157L,
(int) 15,
(String) "conductance (S)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electrical_Conductivity(
- (long) 157L,
+ (long) 158L,
(int) 16,
(String) "conductivity (S/m)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Density(
- (long) 158L,
+ (long) 159L,
(int) 17,
(String) "density (kg/m³)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_Charge(
- (long) 159L,
+ (long) 160L,
(int) 18,
(String) "electric charge (C)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_Current(
- (long) 160L,
+ (long) 161L,
(int) 19,
(String) "electric current (A)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_CurrentDensity(
- (long) 161L,
+ (long) 162L,
(int) 20,
(String) "electric current density (A/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_DipoleMoment(
- (long) 162L,
+ (long) 163L,
(int) 21,
(String) "electric dipole moment (Cm)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_Displacement(
- (long) 163L,
+ (long) 164L,
(int) 22,
(String) "electric displacement (C/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_FieldStrength(
- (long) 164L,
+ (long) 165L,
(int) 23,
(String) "electric field strength (V/m)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_Flux(
- (long) 165L,
+ (long) 166L,
(int) 24,
(String) "electric flux (C)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_FluxDensity(
- (long) 166L,
+ (long) 167L,
(int) 25,
(String) "electric flux density (C/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_Polarization(
- (long) 167L,
+ (long) 168L,
(int) 26,
(String) "electric polarization (C/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_Potential(
- (long) 168L,
+ (long) 169L,
(int) 27,
(String) "electric potential (V)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electric_PotentialDifference(
- (long) 169L,
+ (long) 170L,
(int) 28,
(String) "electric potential difference (V)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_ElectromagneticMoment(
- (long) 170L,
+ (long) 171L,
(int) 29,
(String) "electromagnetic moment (Am²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Electromotive_Force(
- (long) 171L,
+ (long) 172L,
(int) 30,
(String) "electromotive force (V)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Energy(
- (long) 172L, (int) 31, (String) "energy (J)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 173L, (int) 31, (String) "energy (J)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Force(
- (long) 173L, (int) 32, (String) "force (N)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 174L, (int) 32, (String) "force (N)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Frequency(
- (long) 174L,
+ (long) 175L,
(int) 33,
(String) "frequency (Hz)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Angular_Frequency(
- (long) 175L,
+ (long) 176L,
(int) 34,
(String) "angular frequency (rad/s)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Heat_Capacity(
- (long) 176L,
+ (long) 177L,
(int) 35,
(String) "heat capacity (J/K)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Heat_FlowRate(
- (long) 177L,
+ (long) 178L,
(int) 36,
(String) "heat flow rate (W)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Heat_Quantity(
- (long) 178L, (int) 37, (String) "heat quantity", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 179L, (int) 37, (String) "heat quantity", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Impedance(
- (long) 179L, (int) 38, (String) "impedance (Ω)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 180L, (int) 38, (String) "impedance (Ω)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Length(
- (long) 180L, (int) 39, (String) "length (m)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 181L, (int) 39, (String) "length (m)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Light_Quantity(
- (long) 181L,
+ (long) 182L,
(int) 40,
(String) "light quantity (J)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Luminance(
- (long) 182L,
+ (long) 183L,
(int) 41,
(String) "luminance (cd/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Luminous_Flux(
- (long) 183L,
+ (long) 184L,
(int) 42,
(String) "luminous flux (lm)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Luminous_Intensity(
- (long) 184L,
+ (long) 185L,
(int) 43,
(String) "luminous intensity (cd)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Magnetic_FieldStrength(
- (long) 185L,
+ (long) 186L,
(int) 44,
(String) "magnetic field strength (A/m)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Magnetic_Flux(
- (long) 186L,
+ (long) 187L,
(int) 45,
(String) "magnetic flux (Wb)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Magnetic_FluxDensity(
- (long) 187L,
+ (long) 188L,
(int) 46,
(String) "magnetic flux density (T)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Magnetic_Moment(
- (long) 188L,
+ (long) 189L,
(int) 47,
(String) "magnetic moment (Am²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Magnetic_Polarization(
- (long) 189L,
+ (long) 190L,
(int) 48,
(String) "magnetic polarization (T)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Magnetization(
- (long) 190L,
+ (long) 191L,
(int) 49,
(String) "magnetization (A/m)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_MagnetomotiveForce(
- (long) 191L,
+ (long) 192L,
(int) 50,
(String) "magnetomotive force (A)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Mass(
- (long) 192L, (int) 51, (String) "mass (kg)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 193L, (int) 51, (String) "mass (kg)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_MassFlux(
- (long) 193L,
+ (long) 194L,
(int) 52,
(String) "mass flux (kg/s)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Momentum(
- (long) 194L,
+ (long) 195L,
(int) 53,
(String) "momentum (N/s)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Phase_AngleRad(
- (long) 195L,
+ (long) 196L,
(int) 54,
(String) "phase angle (rad)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Phase_AngleDeg(
- (long) 196L,
+ (long) 197L,
(int) 55,
(String) "phase angle (°)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Power(
- (long) 197L, (int) 56, (String) "power (W)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 198L, (int) 56, (String) "power (W)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Power_Factor(
- (long) 198L,
+ (long) 199L,
(int) 57,
(String) "power factor (cos Φ)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Pressure(
- (long) 199L, (int) 58, (String) "pressure (Pa)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 200L, (int) 58, (String) "pressure (Pa)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Reactance(
- (long) 200L, (int) 59, (String) "reactance (Ω)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 201L, (int) 59, (String) "reactance (Ω)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Resistance(
- (long) 201L,
+ (long) 202L,
(int) 60,
(String) "resistance (Ω)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Resistivity(
- (long) 202L,
+ (long) 203L,
(int) 61,
(String) "resistivity (Ωm)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_SelfInductance(
- (long) 203L,
+ (long) 204L,
(int) 62,
(String) "self inductance (H)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_SolidAngle(
- (long) 204L,
+ (long) 205L,
(int) 63,
(String) "solid angle (sr)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Sound_Intensity(
- (long) 205L,
+ (long) 206L,
(int) 64,
(String) "sound intensity (W/m²)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Speed(
- (long) 206L, (int) 65, (String) "speed (m/s)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 207L, (int) 65, (String) "speed (m/s)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Stress(
- (long) 207L, (int) 66, (String) "stress (Pa)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 208L, (int) 66, (String) "stress (Pa)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Surface_Tension(
- (long) 208L,
+ (long) 209L,
(int) 67,
(String) "surface tension (N/m)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Common_Temperature(
- (long) 209L,
+ (long) 210L,
(int) 68,
(String) "temperature (°C)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Absolute_Temperature(
- (long) 210L,
+ (long) 211L,
(int) 69,
(String) "temperature absolute (K)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_TemperatureDifference(
- (long) 211L,
+ (long) 212L,
(int) 70,
(String) "temperature difference (K)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Thermal_Capacity(
- (long) 212L,
+ (long) 213L,
(int) 71,
(String) "thermal capacity (J/K)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Thermal_Conductivity(
- (long) 213L,
+ (long) 214L,
(int) 72,
(String) "thermal conductivity (W/mK)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_ThermoelectricPower(
- (long) 214L,
+ (long) 215L,
(int) 73,
(String) "thermoelectric power (V/K)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Time(
- (long) 215L, (int) 74, (String) "time (s)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 216L, (int) 74, (String) "time (s)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Torque(
- (long) 216L, (int) 75, (String) "torque (Nm)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 217L, (int) 75, (String) "torque (Nm)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Volume(
- (long) 217L, (int) 76, (String) "volume (m³)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 218L, (int) 76, (String) "volume (m³)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Volume_Flux(
- (long) 218L,
+ (long) 219L,
(int) 77,
(String) "volume flux (m³/s)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Weight(
- (long) 219L, (int) 78, (String) "weight (N)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 220L, (int) 78, (String) "weight (N)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_Work(
- (long) 220L, (int) 79, (String) "work (J)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
+ (long) 221L, (int) 79, (String) "work (J)", KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Value_ApparentPower(
- (long) 221L,
+ (long) 222L,
(int) 80,
(String) "apparent power (VA)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Volume_Flux_Meter(
- (long) 222L,
+ (long) 223L,
(int) 1200,
(String) "volume flux for meters (m³/h)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Volume_Flux_ls(
- (long) 223L,
+ (long) 224L,
(int) 1201,
(String) "volume flux for meters (1/ls)",
KnxDatapointMainType.DPT_4_BYTE_FLOAT_VALUE),
DPT_Access_Data(
- (long) 224L, (int) 0, (String) "entrance access", KnxDatapointMainType.DPT_ENTRANCE_ACCESS),
+ (long) 225L, (int) 0, (String) "entrance access", KnxDatapointMainType.DPT_ENTRANCE_ACCESS),
DPT_String_ASCII(
- (long) 225L,
+ (long) 226L,
(int) 0,
(String) "Character String (ASCII)",
KnxDatapointMainType.DPT_CHARACTER_STRING),
DPT_String_8859_1(
- (long) 226L,
+ (long) 227L,
(int) 1,
(String) "Character String (ISO 8859-1)",
KnxDatapointMainType.DPT_CHARACTER_STRING),
DPT_SceneNumber(
- (long) 227L, (int) 1, (String) "scene number", KnxDatapointMainType.DPT_SCENE_NUMBER),
+ (long) 228L, (int) 1, (String) "scene number", KnxDatapointMainType.DPT_SCENE_NUMBER),
DPT_SceneControl(
- (long) 228L, (int) 1, (String) "scene control", KnxDatapointMainType.DPT_SCENE_CONTROL),
- DPT_DateTime((long) 229L, (int) 1, (String) "date time", KnxDatapointMainType.DPT_DATE_TIME),
- DPT_SCLOMode((long) 230L, (int) 1, (String) "SCLO mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_BuildingMode((long) 231L, (int) 2, (String) "building mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_OccMode((long) 232L, (int) 3, (String) "occupied", KnxDatapointMainType.DPT_1_BYTE),
- DPT_Priority((long) 233L, (int) 4, (String) "priority", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 229L, (int) 1, (String) "scene control", KnxDatapointMainType.DPT_SCENE_CONTROL),
+ DPT_DateTime((long) 230L, (int) 1, (String) "date time", KnxDatapointMainType.DPT_DATE_TIME),
+ DPT_SCLOMode((long) 231L, (int) 1, (String) "SCLO mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_BuildingMode((long) 232L, (int) 2, (String) "building mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_OccMode((long) 233L, (int) 3, (String) "occupied", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_Priority((long) 234L, (int) 4, (String) "priority", KnxDatapointMainType.DPT_1_BYTE),
DPT_LightApplicationMode(
- (long) 234L, (int) 5, (String) "light application mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 235L, (int) 5, (String) "light application mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_ApplicationArea(
- (long) 235L, (int) 6, (String) "light application area", KnxDatapointMainType.DPT_1_BYTE),
- DPT_AlarmClassType((long) 236L, (int) 7, (String) "alarm class", KnxDatapointMainType.DPT_1_BYTE),
- DPT_PSUMode((long) 237L, (int) 8, (String) "PSU mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 236L, (int) 6, (String) "light application area", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_AlarmClassType((long) 237L, (int) 7, (String) "alarm class", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_PSUMode((long) 238L, (int) 8, (String) "PSU mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_ErrorClass_System(
- (long) 238L, (int) 11, (String) "system error class", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 239L, (int) 11, (String) "system error class", KnxDatapointMainType.DPT_1_BYTE),
DPT_ErrorClass_HVAC(
- (long) 239L, (int) 12, (String) "HVAC error class", KnxDatapointMainType.DPT_1_BYTE),
- DPT_Time_Delay((long) 240L, (int) 13, (String) "time delay", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 240L, (int) 12, (String) "HVAC error class", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_Time_Delay((long) 241L, (int) 13, (String) "time delay", KnxDatapointMainType.DPT_1_BYTE),
DPT_Beaufort_Wind_Force_Scale(
- (long) 241L, (int) 14, (String) "wind force scale (0..12)", KnxDatapointMainType.DPT_1_BYTE),
- DPT_SensorSelect((long) 242L, (int) 17, (String) "sensor mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 242L, (int) 14, (String) "wind force scale (0..12)", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_SensorSelect((long) 243L, (int) 17, (String) "sensor mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_ActuatorConnectType(
- (long) 243L, (int) 20, (String) "actuator connect type", KnxDatapointMainType.DPT_1_BYTE),
- DPT_Cloud_Cover((long) 244L, (int) 21, (String) "cloud cover", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 244L, (int) 20, (String) "actuator connect type", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_Cloud_Cover((long) 245L, (int) 21, (String) "cloud cover", KnxDatapointMainType.DPT_1_BYTE),
DPT_PowerReturnMode(
- (long) 245L, (int) 22, (String) "power return mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_FuelType((long) 246L, (int) 100, (String) "fuel type", KnxDatapointMainType.DPT_1_BYTE),
- DPT_BurnerType((long) 247L, (int) 101, (String) "burner type", KnxDatapointMainType.DPT_1_BYTE),
- DPT_HVACMode((long) 248L, (int) 102, (String) "HVAC mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_DHWMode((long) 249L, (int) 103, (String) "DHW mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 246L, (int) 22, (String) "power return mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_FuelType((long) 247L, (int) 100, (String) "fuel type", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_BurnerType((long) 248L, (int) 101, (String) "burner type", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_HVACMode((long) 249L, (int) 102, (String) "HVAC mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_DHWMode((long) 250L, (int) 103, (String) "DHW mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_LoadPriority(
- (long) 250L, (int) 104, (String) "load priority", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 251L, (int) 104, (String) "load priority", KnxDatapointMainType.DPT_1_BYTE),
DPT_HVACContrMode(
- (long) 251L, (int) 105, (String) "HVAC control mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 252L, (int) 105, (String) "HVAC control mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_HVACEmergMode(
- (long) 252L, (int) 106, (String) "HVAC emergency mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 253L, (int) 106, (String) "HVAC emergency mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_ChangeoverMode(
- (long) 253L, (int) 107, (String) "changeover mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_ValveMode((long) 254L, (int) 108, (String) "valve mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_DamperMode((long) 255L, (int) 109, (String) "damper mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_HeaterMode((long) 256L, (int) 110, (String) "heater mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_FanMode((long) 257L, (int) 111, (String) "fan mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 254L, (int) 107, (String) "changeover mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_ValveMode((long) 255L, (int) 108, (String) "valve mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_DamperMode((long) 256L, (int) 109, (String) "damper mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_HeaterMode((long) 257L, (int) 110, (String) "heater mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_FanMode((long) 258L, (int) 111, (String) "fan mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_MasterSlaveMode(
- (long) 258L, (int) 112, (String) "master/slave mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 259L, (int) 112, (String) "master/slave mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_StatusRoomSetp(
- (long) 259L, (int) 113, (String) "status room setpoint", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 260L, (int) 113, (String) "status room setpoint", KnxDatapointMainType.DPT_1_BYTE),
DPT_Metering_DeviceType(
- (long) 260L, (int) 114, (String) "metering device type", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 261L, (int) 114, (String) "metering device type", KnxDatapointMainType.DPT_1_BYTE),
DPT_HumDehumMode(
- (long) 261L, (int) 115, (String) "hum dehum mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 262L, (int) 115, (String) "hum dehum mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_EnableHCStage(
- (long) 262L, (int) 116, (String) "enable H/C stage", KnxDatapointMainType.DPT_1_BYTE),
- DPT_ADAType((long) 263L, (int) 120, (String) "ADA type", KnxDatapointMainType.DPT_1_BYTE),
- DPT_BackupMode((long) 264L, (int) 121, (String) "backup mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 263L, (int) 116, (String) "enable H/C stage", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_ADAType((long) 264L, (int) 120, (String) "ADA type", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_BackupMode((long) 265L, (int) 121, (String) "backup mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_StartSynchronization(
- (long) 265L,
+ (long) 266L,
(int) 122,
(String) "start syncronization type",
KnxDatapointMainType.DPT_1_BYTE),
DPT_Behaviour_Lock_Unlock(
- (long) 266L, (int) 600, (String) "behavior lock/unlock", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 267L, (int) 600, (String) "behavior lock/unlock", KnxDatapointMainType.DPT_1_BYTE),
DPT_Behaviour_Bus_Power_Up_Down(
- (long) 267L,
+ (long) 268L,
(int) 601,
(String) "behavior bus power up/down",
KnxDatapointMainType.DPT_1_BYTE),
DPT_DALI_Fade_Time(
- (long) 268L, (int) 602, (String) "dali fade time", KnxDatapointMainType.DPT_1_BYTE),
- DPT_BlinkingMode((long) 269L, (int) 603, (String) "blink mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 269L, (int) 602, (String) "dali fade time", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_BlinkingMode((long) 270L, (int) 603, (String) "blink mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_LightControlMode(
- (long) 270L, (int) 604, (String) "light control mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 271L, (int) 604, (String) "light control mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_SwitchPBModel(
- (long) 271L, (int) 605, (String) "PB switch mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_PBAction((long) 272L, (int) 606, (String) "PB action mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_DimmPBModel((long) 273L, (int) 607, (String) "PB dimm mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 272L, (int) 605, (String) "PB switch mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_PBAction((long) 273L, (int) 606, (String) "PB action mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_DimmPBModel((long) 274L, (int) 607, (String) "PB dimm mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_SwitchOnMode(
- (long) 274L, (int) 608, (String) "switch on mode", KnxDatapointMainType.DPT_1_BYTE),
- DPT_LoadTypeSet((long) 275L, (int) 609, (String) "load type", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 275L, (int) 608, (String) "switch on mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_LoadTypeSet((long) 276L, (int) 609, (String) "load type", KnxDatapointMainType.DPT_1_BYTE),
DPT_LoadTypeDetected(
- (long) 276L, (int) 610, (String) "load type detection", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 277L, (int) 610, (String) "load type detection", KnxDatapointMainType.DPT_1_BYTE),
DPT_Converter_Test_Control(
- (long) 277L, (int) 611, (String) "converter test control", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 278L, (int) 611, (String) "converter test control", KnxDatapointMainType.DPT_1_BYTE),
DPT_SABExcept_Behaviour(
- (long) 278L, (int) 801, (String) "SAB except behavior", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 279L, (int) 801, (String) "SAB except behavior", KnxDatapointMainType.DPT_1_BYTE),
DPT_SABBehaviour_Lock_Unlock(
- (long) 279L,
+ (long) 280L,
(int) 802,
(String) "SAB behavior on lock/unlock",
KnxDatapointMainType.DPT_1_BYTE),
- DPT_SSSBMode((long) 280L, (int) 803, (String) "SSSB mode", KnxDatapointMainType.DPT_1_BYTE),
+ DPT_SSSBMode((long) 281L, (int) 803, (String) "SSSB mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_BlindsControlMode(
- (long) 281L, (int) 804, (String) "blinds control mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 282L, (int) 804, (String) "blinds control mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_CommMode(
- (long) 282L, (int) 1000, (String) "communication mode", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 283L, (int) 1000, (String) "communication mode", KnxDatapointMainType.DPT_1_BYTE),
DPT_AddInfoTypes(
- (long) 283L,
+ (long) 284L,
(int) 1001,
(String) "additional information type",
KnxDatapointMainType.DPT_1_BYTE),
DPT_RF_ModeSelect(
- (long) 284L, (int) 1002, (String) "RF mode selection", KnxDatapointMainType.DPT_1_BYTE),
+ (long) 285L, (int) 1002, (String) "RF mode selection", KnxDatapointMainType.DPT_1_BYTE),
DPT_RF_FilterSelect(
- (long) 285L,
+ (long) 286L,
(int) 1003,
(String) "RF filter mode selection",
KnxDatapointMainType.DPT_1_BYTE),
DPT_StatusGen(
- (long) 286L, (int) 1, (String) "general status", KnxDatapointMainType.DPT_8_BIT_SET),
+ (long) 287L, (int) 1, (String) "general status", KnxDatapointMainType.DPT_8_BIT_SET),
DPT_Device_Control(
- (long) 287L, (int) 2, (String) "device control", KnxDatapointMainType.DPT_8_BIT_SET),
+ (long) 288L, (int) 2, (String) "device control", KnxDatapointMainType.DPT_8_BIT_SET),
DPT_ForceSign(
- (long) 288L, (int) 100, (String) "forcing signal", KnxDatapointMainType.DPT_8_BIT_SET),
+ (long) 289L, (int) 100, (String) "forcing signal", KnxDatapointMainType.DPT_8_BIT_SET),
DPT_ForceSignCool(
- (long) 289L, (int) 101, (String) "forcing signal cool", KnxDatapointMainType.DPT_8_BIT_SET),
+ (long) 290L, (int) 101, (String) "forcing signal cool", KnxDatapointMainType.DPT_8_BIT_SET),
DPT_StatusRHC(
- (long) 290L,
+ (long) 291L,
(int) 102,
(String) "room heating controller status",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_StatusSDHWC(
- (long) 291L,
+ (long) 292L,
(int) 103,
(String) "solar DHW controller status",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_FuelTypeSet(
- (long) 292L, (int) 104, (String) "fuel type set", KnxDatapointMainType.DPT_8_BIT_SET),
+ (long) 293L, (int) 104, (String) "fuel type set", KnxDatapointMainType.DPT_8_BIT_SET),
DPT_StatusRCC(
- (long) 293L,
+ (long) 294L,
(int) 105,
(String) "room cooling controller status",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_StatusAHU(
- (long) 294L,
+ (long) 295L,
(int) 106,
(String) "ventilation controller status",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_CombinedStatus_RTSM(
- (long) 295L, (int) 107, (String) "combined status RTSM", KnxDatapointMainType.DPT_8_BIT_SET),
+ (long) 296L, (int) 107, (String) "combined status RTSM", KnxDatapointMainType.DPT_8_BIT_SET),
DPT_LightActuatorErrorInfo(
- (long) 296L,
+ (long) 297L,
(int) 601,
(String) "lighting actuator error information",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_RF_ModeInfo(
- (long) 297L,
+ (long) 298L,
(int) 1000,
(String) "RF communication mode info",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_RF_FilterInfo(
- (long) 298L,
+ (long) 299L,
(int) 1001,
(String) "cEMI server supported RF filtering modes",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_Channel_Activation_8(
- (long) 299L,
+ (long) 300L,
(int) 1010,
(String) "channel activation for 8 channels",
KnxDatapointMainType.DPT_8_BIT_SET),
DPT_StatusDHWC(
- (long) 300L,
+ (long) 301L,
(int) 100,
(String) "DHW controller status",
KnxDatapointMainType.DPT_16_BIT_SET),
DPT_StatusRHCC(
- (long) 301L, (int) 101, (String) "RHCC status", KnxDatapointMainType.DPT_16_BIT_SET),
+ (long) 302L, (int) 101, (String) "RHCC status", KnxDatapointMainType.DPT_16_BIT_SET),
DPT_CombinedStatus_HVA(
- (long) 302L, (int) 102, (String) "combined status HVA", KnxDatapointMainType.DPT_16_BIT_SET),
+ (long) 303L, (int) 102, (String) "combined status HVA", KnxDatapointMainType.DPT_16_BIT_SET),
DPT_CombinedStatus_RTC(
- (long) 303L, (int) 103, (String) "combined status RTC", KnxDatapointMainType.DPT_16_BIT_SET),
- DPT_Media((long) 304L, (int) 1000, (String) "media", KnxDatapointMainType.DPT_16_BIT_SET),
+ (long) 304L, (int) 103, (String) "combined status RTC", KnxDatapointMainType.DPT_16_BIT_SET),
+ DPT_Media((long) 305L, (int) 1000, (String) "media", KnxDatapointMainType.DPT_16_BIT_SET),
DPT_Channel_Activation_16(
- (long) 305L,
+ (long) 306L,
(int) 1010,
(String) "channel activation for 16 channels",
KnxDatapointMainType.DPT_16_BIT_SET),
DPT_OnOffAction(
- (long) 306L, (int) 1, (String) "on/off action", KnxDatapointMainType.DPT_2_BIT_SET),
+ (long) 307L, (int) 1, (String) "on/off action", KnxDatapointMainType.DPT_2_BIT_SET),
DPT_Alarm_Reaction(
- (long) 307L, (int) 2, (String) "alarm reaction", KnxDatapointMainType.DPT_2_BIT_SET),
+ (long) 308L, (int) 2, (String) "alarm reaction", KnxDatapointMainType.DPT_2_BIT_SET),
DPT_UpDown_Action(
- (long) 308L, (int) 3, (String) "up/down action", KnxDatapointMainType.DPT_2_BIT_SET),
+ (long) 309L, (int) 3, (String) "up/down action", KnxDatapointMainType.DPT_2_BIT_SET),
DPT_HVAC_PB_Action(
- (long) 309L,
+ (long) 310L,
(int) 102,
(String) "HVAC push button action",
KnxDatapointMainType.DPT_2_BIT_SET),
DPT_DoubleNibble(
- (long) 310L,
+ (long) 311L,
(int) 1000,
(String) "busy/nak repetitions",
KnxDatapointMainType.DPT_2_NIBBLE_SET),
DPT_SceneInfo(
- (long) 311L, (int) 1, (String) "scene information", KnxDatapointMainType.DPT_8_BIT_SET_2),
+ (long) 312L, (int) 1, (String) "scene information", KnxDatapointMainType.DPT_8_BIT_SET_2),
DPT_CombinedInfoOnOff(
- (long) 312L,
+ (long) 313L,
(int) 1,
(String) "bit-combined info on/off",
KnxDatapointMainType.DPT_32_BIT_SET),
DPT_ActiveEnergy_V64(
- (long) 313L,
+ (long) 314L,
(int) 10,
(String) "active energy (Wh)",
KnxDatapointMainType.DPT_ELECTRICAL_ENERGY),
DPT_ApparantEnergy_V64(
- (long) 314L,
+ (long) 315L,
(int) 11,
(String) "apparant energy (VAh)",
KnxDatapointMainType.DPT_ELECTRICAL_ENERGY),
DPT_ReactiveEnergy_V64(
- (long) 315L,
+ (long) 316L,
(int) 12,
(String) "reactive energy (VARh)",
KnxDatapointMainType.DPT_ELECTRICAL_ENERGY),
DPT_Channel_Activation_24(
- (long) 316L,
+ (long) 317L,
(int) 1010,
(String) "activation state 0..23",
KnxDatapointMainType.DPT_24_TIMES_CHANNEL_ACTIVATION),
DPT_HVACModeNext(
- (long) 317L,
+ (long) 318L,
(int) 100,
(String) "time delay & HVAC mode",
KnxDatapointMainType.DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM),
DPT_DHWModeNext(
- (long) 318L,
+ (long) 319L,
(int) 102,
(String) "time delay & DHW mode",
KnxDatapointMainType.DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM),
DPT_OccModeNext(
- (long) 319L,
+ (long) 320L,
(int) 104,
(String) "time delay & occupancy mode",
KnxDatapointMainType.DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM),
DPT_BuildingModeNext(
- (long) 320L,
+ (long) 321L,
(int) 105,
(String) "time delay & building mode",
KnxDatapointMainType.DPT_16_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM),
DPT_StatusLightingActuator(
- (long) 321L,
+ (long) 322L,
(int) 600,
(String) "Status Lighting Actuator",
KnxDatapointMainType.DPT_8_BIT_UNSIGNED_VALUE_AND_8_BIT_ENUM),
DPT_Version(
- (long) 322L,
+ (long) 323L,
(int) 1,
(String) "DPT version",
KnxDatapointMainType.DPT_DATAPOINT_TYPE_VERSION),
- DPT_AlarmInfo((long) 323L, (int) 1, (String) "alarm info", KnxDatapointMainType.DPT_ALARM_INFO),
+ DPT_AlarmInfo((long) 324L, (int) 1, (String) "alarm info", KnxDatapointMainType.DPT_ALARM_INFO),
... 1155 lines suppressed ...