You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2020/11/13 14:34:08 UTC
[plc4x] branch feature/plc4go updated: - Implemented the
read-support in KNX
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/plc4go
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/feature/plc4go by this push:
new 1d3fc22 - Implemented the read-support in KNX
1d3fc22 is described below
commit 1d3fc22d02fe76b2f9685560b6af93b8df8849a9
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Fri Nov 13 15:33:59 2020 +0100
- Implemented the read-support in KNX
---
.../resources/templates/go/data-io-template.ftlh | 4 +-
plc4go/cmd/main/drivers/knxnetip_test.go | 19 +-
.../internal/plc4go/knxnetip/KncNetIpConnection.go | 22 +
plc4go/internal/plc4go/knxnetip/KnxNetIpField.go | 103 ++-
plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go | 140 ++--
.../internal/plc4go/knxnetip/KnxNetIpSubscriber.go | 2 +-
.../knxnetip/readwrite/model/KnxDatapoint.go | 748 ++++++++++-----------
plc4go/internal/plc4go/model/values/PlcStruct.go | 19 +-
plc4go/internal/plc4go/utils/ReadBuffer.go | 4 +
9 files changed, 613 insertions(+), 448 deletions(-)
diff --git a/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh b/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
index 6db6ffc..6750649 100644
--- a/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
+++ b/build-utils/language-go/src/main/resources/templates/go/data-io-template.ftlh
@@ -76,7 +76,7 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
case <#if case.discriminatorValues?has_content><#list case.discriminatorValues as discriminatorValue>${helper.toParseExpression(null, type.switchField.discriminatorExpressions[discriminatorValue?index], type.parserArguments)} == <#if helper.discriminatorValueNeedsStringEqualityCheck(type.switchField.discriminatorExpressions[discriminatorValue?index])>"${discriminatorValue}"<#else>${discriminatorValue}</#if><#sep> && </#sep></#list></#if>: // ${case.name}
<#assign valueDefined=false>
<#if case.name == "Struct">
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
<#assign valueDefined=true>
</#if>
<#list case.fields as field>
@@ -126,7 +126,7 @@ func ${type.name}Parse(io *utils.ReadBuffer<#if type.parserArguments?has_content
return nil, errors.New("Error parsing '${field.name}' field " + _${field.name}Err.Error())
}
<#if case.name == "Struct">
- _map["${case.name}"] = ${field.name}
+ _map["${case.name}"] = ${helper.getPlcValueTypeForTypeReference(field.type)}(${field.name})
</#if>
<#assign valueDefined=true>
<#break>
diff --git a/plc4go/cmd/main/drivers/knxnetip_test.go b/plc4go/cmd/main/drivers/knxnetip_test.go
index dbf2a4c..d9dd0fa 100644
--- a/plc4go/cmd/main/drivers/knxnetip_test.go
+++ b/plc4go/cmd/main/drivers/knxnetip_test.go
@@ -109,9 +109,22 @@ func TestKnxNetIpPlc4goDriver(t *testing.T) {
}
// Wait 2 minutes
- time.Sleep(1200 * time.Second)
-
- // Do something with the response
+ time.Sleep(120 * time.Second)
+
+ // Execute a read request
+ rrb := connection.ReadRequestBuilder()
+ rrb.AddItem("energy-consumption", "1/1/211:DPT_Value_Power")
+ rrb.AddItem("actual-temperatures", "*/*/10:DPT_Value_Temp")
+ readRequest, err := rrb.Build()
+ if err == nil {
+ rrr := readRequest.Execute()
+ readRequestResult := <-rrr
+ if readRequestResult.Err == nil {
+ for _, fieldName := range readRequestResult.Response.GetFieldNames() {
+ fmt.Printf(" - Field %s Value %s\n", fieldName, readRequestResult.Response.GetValue(fieldName).GetString())
+ }
+ }
+ }
/*value1 := rrr.Response.GetValue("field1")
value2 := rrr.Response.GetValue("field2")
fmt.Printf("\n\nResult field1: %f\n", value1.GetFloat32())
diff --git a/plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go b/plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
index 7e2eb64..9891f56 100644
--- a/plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
+++ b/plc4go/internal/plc4go/knxnetip/KncNetIpConnection.go
@@ -59,6 +59,9 @@ type KnxNetIpConnection struct {
valueHandler spi.PlcValueHandler
quitConnectionStateTimer chan struct{}
subscribers []*KnxNetIpSubscriber
+ leve3AddressCache map[uint16]*driverModel.KnxGroupAddress3Level
+ leve2AddressCache map[uint16]*driverModel.KnxGroupAddress2Level
+ leve1AddressCache map[uint16]*driverModel.KnxGroupAddressFreeLevel
valueCache map[uint16][]int8
GatewayKnxAddress *driverModel.KnxAddress
@@ -78,6 +81,9 @@ func NewKnxNetIpConnection(messageCodec spi.MessageCodec, options map[string][]s
valueHandler: NewValueHandler(),
requestInterceptor: interceptors.NewSingleItemRequestInterceptor(),
subscribers: []*KnxNetIpSubscriber{},
+ leve3AddressCache: map[uint16]*driverModel.KnxGroupAddress3Level{},
+ leve2AddressCache: map[uint16]*driverModel.KnxGroupAddress2Level{},
+ leve1AddressCache: map[uint16]*driverModel.KnxGroupAddressFreeLevel{},
valueCache: map[uint16][]int8{},
}
}
@@ -377,6 +383,22 @@ func (m *KnxNetIpConnection) handleIncomingTunnelingRequest(tunnelingRequestChan
payload = append(payload, cemiDataInd.CemiDataFrame.Data...)
if !ok || !m.sliceEqual(val, payload) {
m.valueCache[addressData] = payload
+ // If this is a new value, we have to also provide the 3 different types of addresses.
+ if !ok {
+ destinationAddress := cemiDataInd.CemiDataFrame.DestinationAddress
+ arb := utils.NewReadBuffer(utils.Int8ToUint8(destinationAddress))
+ if address, err2 := driverModel.KnxGroupAddressParse(arb, 3); err2 == nil {
+ m.leve3AddressCache[addressData] = driverModel.CastKnxGroupAddress3Level(address)
+ }
+ arb.Reset()
+ if address, err2 := driverModel.KnxGroupAddressParse(arb, 2); err2 == nil {
+ m.leve2AddressCache[addressData] = driverModel.CastKnxGroupAddress2Level(address)
+ }
+ arb.Reset()
+ if address, err2 := driverModel.KnxGroupAddressParse(arb, 1); err2 == nil {
+ m.leve1AddressCache[addressData] = driverModel.CastKnxGroupAddressFreeLevel(address)
+ }
+ }
changed = true
}
for _, subscriber := range m.subscribers {
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
index 3d9ee16..78ef21f 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpField.go
@@ -28,19 +28,20 @@ import (
)
type KnxNetIpField interface {
- matches(knxGroupAddress driverModel.KnxGroupAddress) bool
+ IsPatternField() bool
+ matches(knxGroupAddress *driverModel.KnxGroupAddress) bool
toGroupAddress() *driverModel.KnxGroupAddress
apiModel.PlcField
}
type KnxNetIpGroupAddress3LevelPlcField struct {
- FieldType *model.KnxDatapointType
+ FieldType *model.KnxDatapointType
// 5 Bits: Values 0-31
- MainGroup string
+ MainGroup string
// 3 Bits: values 0-7
MiddleGroup string
// 8 Bits
- SubGroup string
+ SubGroup string
KnxNetIpField
}
@@ -61,7 +62,21 @@ func (k KnxNetIpGroupAddress3LevelPlcField) GetQuantity() uint16 {
return 1
}
-func (k KnxNetIpGroupAddress3LevelPlcField) matches(knxGroupAddress driverModel.KnxGroupAddress) bool {
+func (k KnxNetIpGroupAddress3LevelPlcField) IsPatternField() bool {
+ _, err := strconv.Atoi(k.MainGroup)
+ if err == nil {
+ _, err = strconv.Atoi(k.MiddleGroup)
+ if err == nil {
+ _, err = strconv.Atoi(k.SubGroup)
+ if err == nil {
+ return false
+ }
+ }
+ }
+ return true
+}
+
+func (k KnxNetIpGroupAddress3LevelPlcField) matches(knxGroupAddress *driverModel.KnxGroupAddress) bool {
level3KnxGroupAddress := driverModel.CastKnxGroupAddress3Level(knxGroupAddress)
if level3KnxGroupAddress == nil {
return false
@@ -84,31 +99,31 @@ func (k KnxNetIpGroupAddress3LevelPlcField) toGroupAddress() *driverModel.KnxGro
if err != nil {
return nil
}
- ga := &driverModel.KnxGroupAddress {}
+ ga := &driverModel.KnxGroupAddress{}
l3 := &driverModel.KnxGroupAddress3Level{
- MainGroup: uint8(mainGroup),
+ MainGroup: uint8(mainGroup),
MiddleGroup: uint8(midleGroup),
- SubGroup: uint8(subGroup),
- Parent: ga,
+ SubGroup: uint8(subGroup),
+ Parent: ga,
}
ga.Child = l3
return ga
}
type KnxNetIpGroupAddress2LevelPlcField struct {
- FieldType *model.KnxDatapointType
+ FieldType *model.KnxDatapointType
// 5 Bits: Values 0-31
- MainGroup string
+ MainGroup string
// 11 Bits
- SubGroup string
+ SubGroup string
KnxNetIpField
}
func NewKnxNetIpGroupAddress2LevelPlcField(fieldType *model.KnxDatapointType, mainGroup string, subGroup string) KnxNetIpGroupAddress2LevelPlcField {
return KnxNetIpGroupAddress2LevelPlcField{
- FieldType: fieldType,
- MainGroup: mainGroup,
- SubGroup: subGroup,
+ FieldType: fieldType,
+ MainGroup: mainGroup,
+ SubGroup: subGroup,
}
}
@@ -120,7 +135,18 @@ func (k KnxNetIpGroupAddress2LevelPlcField) GetQuantity() uint16 {
return 1
}
-func (k KnxNetIpGroupAddress2LevelPlcField) matches(knxGroupAddress driverModel.KnxGroupAddress) bool {
+func (k KnxNetIpGroupAddress2LevelPlcField) IsPatternField() bool {
+ _, err := strconv.Atoi(k.MainGroup)
+ if err == nil {
+ _, err = strconv.Atoi(k.SubGroup)
+ if err == nil {
+ return true
+ }
+ }
+ return false
+}
+
+func (k KnxNetIpGroupAddress2LevelPlcField) matches(knxGroupAddress *driverModel.KnxGroupAddress) bool {
level2KnxGroupAddress := driverModel.CastKnxGroupAddress2Level(knxGroupAddress)
if level2KnxGroupAddress == nil {
return false
@@ -138,27 +164,27 @@ func (k KnxNetIpGroupAddress2LevelPlcField) toGroupAddress() *driverModel.KnxGro
if err != nil {
return nil
}
- ga := &driverModel.KnxGroupAddress {}
+ ga := &driverModel.KnxGroupAddress{}
l3 := &driverModel.KnxGroupAddress2Level{
MainGroup: uint8(mainGroup),
- SubGroup: uint16(subGroup),
- Parent: ga,
+ SubGroup: uint16(subGroup),
+ Parent: ga,
}
ga.Child = l3
return ga
}
type KnxNetIpGroupAddress1LevelPlcField struct {
- FieldType *model.KnxDatapointType
+ FieldType *model.KnxDatapointType
// 16 Bits
- MainGroup string
+ MainGroup string
KnxNetIpField
}
func NewKnxNetIpGroupAddress1LevelPlcField(fieldType *model.KnxDatapointType, mainGroup string) KnxNetIpGroupAddress1LevelPlcField {
return KnxNetIpGroupAddress1LevelPlcField{
- FieldType: fieldType,
- MainGroup: mainGroup,
+ FieldType: fieldType,
+ MainGroup: mainGroup,
}
}
@@ -170,7 +196,15 @@ func (k KnxNetIpGroupAddress1LevelPlcField) GetQuantity() uint16 {
return 1
}
-func (k KnxNetIpGroupAddress1LevelPlcField) matches(knxGroupAddress driverModel.KnxGroupAddress) bool {
+func (k KnxNetIpGroupAddress1LevelPlcField) IsPatternField() bool {
+ _, err := strconv.Atoi(k.MainGroup)
+ if err == nil {
+ return true
+ }
+ return false
+}
+
+func (k KnxNetIpGroupAddress1LevelPlcField) matches(knxGroupAddress *driverModel.KnxGroupAddress) bool {
level1KnxGroupAddress := driverModel.CastKnxGroupAddressFreeLevel(knxGroupAddress)
if level1KnxGroupAddress == nil {
return false
@@ -183,10 +217,10 @@ func (k KnxNetIpGroupAddress1LevelPlcField) toGroupAddress() *driverModel.KnxGro
if err != nil {
return nil
}
- ga := &driverModel.KnxGroupAddress {}
+ ga := &driverModel.KnxGroupAddress{}
l3 := &driverModel.KnxGroupAddressFreeLevel{
SubGroup: uint16(mainGroup),
- Parent: ga,
+ Parent: ga,
}
ga.Child = l3
return ga
@@ -242,3 +276,20 @@ func matches(pattern string, groupAddressPart string) bool {
}
return false
}
+
+func GroupAddressToString(groupAddress *driverModel.KnxGroupAddress) string {
+ if groupAddress != nil {
+ switch groupAddress.Child.(type) {
+ case *driverModel.KnxGroupAddress3Level:
+ level3 := driverModel.CastKnxGroupAddress3Level(groupAddress)
+ return strconv.Itoa(int(level3.MainGroup)) + "/" + strconv.Itoa(int(level3.MiddleGroup)) + "/" + strconv.Itoa(int(level3.SubGroup))
+ case *driverModel.KnxGroupAddress2Level:
+ level2 := driverModel.CastKnxGroupAddress2Level(groupAddress)
+ return strconv.Itoa(int(level2.MainGroup)) + "/" + strconv.Itoa(int(level2.SubGroup))
+ case *driverModel.KnxGroupAddressFreeLevel:
+ level1 := driverModel.CastKnxGroupAddressFreeLevel(groupAddress)
+ return strconv.Itoa(int(level1.SubGroup))
+ }
+ }
+ return ""
+}
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
index a5ae873..d6b43b6 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpReader.go
@@ -21,10 +21,11 @@ package knxnetip
import (
driverModel "github.com/apache/plc4x/plc4go/internal/plc4go/knxnetip/readwrite/model"
internalModel "github.com/apache/plc4x/plc4go/internal/plc4go/model"
+ internalValues "github.com/apache/plc4x/plc4go/internal/plc4go/model/values"
"github.com/apache/plc4x/plc4go/internal/plc4go/spi"
"github.com/apache/plc4x/plc4go/internal/plc4go/utils"
- "github.com/apache/plc4x/plc4go/pkg/plc4go/model"
- "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
+ apiModel "github.com/apache/plc4x/plc4go/pkg/plc4go/model"
+ apiValues "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
)
type KnxNetIpReader struct {
@@ -38,53 +39,117 @@ func NewKnxNetIpReader(connection *KnxNetIpConnection) *KnxNetIpReader {
}
}
-func (m KnxNetIpReader) Read(readRequest model.PlcReadRequest) <-chan model.PlcReadRequestResult {
- resultChan := make(chan model.PlcReadRequestResult)
+func (m KnxNetIpReader) Read(readRequest apiModel.PlcReadRequest) <-chan apiModel.PlcReadRequestResult {
+ resultChan := make(chan apiModel.PlcReadRequestResult)
go func() {
- responseCodes := map[string]model.PlcResponseCode{}
- plcValues := map[string]values.PlcValue{}
+ responseCodes := map[string]apiModel.PlcResponseCode{}
+ plcValues := map[string]apiValues.PlcValue{}
for _, fieldName := range readRequest.GetFieldNames() {
+ // Get the knx field
field, err := CastToKnxNetIpFieldFromPlcField(readRequest.GetField(fieldName))
if err != nil {
- responseCodes[fieldName] = model.PlcResponseCode_INVALID_ADDRESS
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_ADDRESS
plcValues[fieldName] = nil
continue
}
- // Serialize the field to an uint16
- wb := utils.NewWriteBuffer()
- err = field.toGroupAddress().Serialize(*wb)
- if err != nil {
- responseCodes[fieldName] = model.PlcResponseCode_INVALID_ADDRESS
- plcValues[fieldName] = nil
- continue
- }
- rawAddress := wb.GetBytes()
- address := (uint16(rawAddress[0]) << 8) | uint16(rawAddress[1] & 0xFF)
+ // Pattern fields can match more than one value, therefore we have to handle things differently
+ if field.IsPatternField() {
+ // Depending on the type of field, get the uint16 ids of all values that match the current field
+ matchedAddresses := map[uint16]*driverModel.KnxGroupAddress{}
+ switch field.(type) {
+ case KnxNetIpGroupAddress3LevelPlcField:
+ for key, value := range m.connection.leve3AddressCache {
+ if field.matches(value.Parent) {
+ matchedAddresses[key] = value.Parent
+ }
+ }
+ case KnxNetIpGroupAddress2LevelPlcField:
+ for key, value := range m.connection.leve2AddressCache {
+ if field.matches(value.Parent) {
+ matchedAddresses[key] = value.Parent
+ }
+ }
+ case KnxNetIpGroupAddress1LevelPlcField:
+ for key, value := range m.connection.leve1AddressCache {
+ if field.matches(value.Parent) {
+ matchedAddresses[key] = value.Parent
+ }
+ }
+ }
- // Get the value form the cache
- int8s, ok := m.connection.valueCache[address]
- if !ok {
- responseCodes[fieldName] = model.PlcResponseCode_NOT_FOUND
- plcValues[fieldName] = nil
- continue
- }
+ // If not a single match was found, we'll return a "not found" message
+ if len(matchedAddresses) == 0 {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_NOT_FOUND
+ plcValues[fieldName] = nil
+ continue
+ }
- // Decode the data according to the fields type
- rb := utils.NewReadBuffer(utils.Int8ToUint8(int8s))
- plcValue, err := driverModel.KnxDatapointParse(rb, field.GetTypeName())
- if err != nil {
- responseCodes[fieldName] = model.PlcResponseCode_INVALID_DATA
- plcValues[fieldName] = nil
+ // Go through all of the values and create a plc-struct from them
+ // where the string version of the address becomes the property name
+ // and the property value is the corresponding value (Other wise it
+ // would be impossible to know which of the fields the pattern matched
+ // a given value belongs to)
+ values := map[string]apiValues.PlcValue{}
+ for numericAddress, address := range matchedAddresses {
+ // Get the raw data from the cache
+ int8s := m.connection.valueCache[numericAddress]
+
+ // Decode the data according to the fields type
+ rb := utils.NewReadBuffer(utils.Int8ToUint8(int8s))
+ plcValue, err := driverModel.KnxDatapointParse(rb, field.GetTypeName())
+ // If any of the values doesn't decode correctly, we can't return any
+ if err != nil {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_DATA
+ plcValues[fieldName] = nil
+ continue
+ }
+
+ values[GroupAddressToString(address)] = plcValue
+ }
+
+ // Add it to the result
+ responseCodes[fieldName] = apiModel.PlcResponseCode_OK
+ plcValues[fieldName] = internalValues.NewPlcStruct(values)
continue
- }
+ } else {
+ // If it's not a pattern field, we can access the cached value a lot simpler
+
+ // Serialize the field to an uint16
+ wb := utils.NewWriteBuffer()
+ err = field.toGroupAddress().Serialize(*wb)
+ if err != nil {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_ADDRESS
+ plcValues[fieldName] = nil
+ continue
+ }
+ rawAddress := wb.GetBytes()
+ address := (uint16(rawAddress[0]) << 8) | uint16(rawAddress[1] & 0xFF)
- // Add it to the result
- responseCodes[fieldName] = model.PlcResponseCode_OK
- plcValues[fieldName] = plcValue
+ // Get the value form the cache
+ int8s, ok := m.connection.valueCache[address]
+ if !ok {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_NOT_FOUND
+ plcValues[fieldName] = nil
+ continue
+ }
+
+ // Decode the data according to the fields type
+ rb := utils.NewReadBuffer(utils.Int8ToUint8(int8s))
+ plcValue, err := driverModel.KnxDatapointParse(rb, field.GetTypeName())
+ if err != nil {
+ responseCodes[fieldName] = apiModel.PlcResponseCode_INVALID_DATA
+ plcValues[fieldName] = nil
+ continue
+ }
+
+ // Add it to the result
+ responseCodes[fieldName] = apiModel.PlcResponseCode_OK
+ plcValues[fieldName] = plcValue
+ }
}
result := internalModel.NewDefaultPlcReadResponse(readRequest, responseCodes, plcValues)
- resultChan <- model.PlcReadRequestResult{
+ resultChan <- apiModel.PlcReadRequestResult{
Request: readRequest,
Response: result,
Err: nil,
@@ -92,8 +157,3 @@ func (m KnxNetIpReader) Read(readRequest model.PlcReadRequest) <-chan model.PlcR
}()
return resultChan
}
-
-
-
-
-
diff --git a/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go b/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
index 95d8d2b..3bb1329 100644
--- a/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
+++ b/plc4go/internal/plc4go/knxnetip/KnxNetIpSubscriber.go
@@ -104,7 +104,7 @@ func (m *KnxNetIpSubscriber) handleValueChange(cemiDataFrame *driverModel.CEMIDa
}
subscriptionType := subscriptionRequest.GetType(fieldName)
// If it matches, take the datatype of each matching field and try to decode the payload
- if field.matches(*groupAddress) {
+ if field.matches(groupAddress) {
// If this is a CHANGE_OF_STATE field, filter out the events where the value actually hasn't changed.
if subscriptionType == internalModel.SUBSCRIPTION_CHANGE_OF_STATE && changed {
var payload []uint8
diff --git a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
index bc1dad3..74285bc 100644
--- a/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
+++ b/plc4go/internal/plc4go/knxnetip/readwrite/model/KnxDatapoint.go
@@ -42,7 +42,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
}
return values.NewPlcBOOL(value), nil
case formatName == "B2": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(6); _err != nil {
@@ -54,17 +54,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _controlErr != nil {
return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = control
+ _map["Struct"] = values.NewPlcBOOL(control)
// Simple Field (value)
value, _valueErr := io.ReadBit()
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- _map["Struct"] = value
+ _map["Struct"] = values.NewPlcBOOL(value)
return values.NewPlcStruct(_map), nil
case formatName == "B1U3": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -76,14 +76,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _controlErr != nil {
return nil, errors.New("Error parsing 'control' field " + _controlErr.Error())
}
- _map["Struct"] = control
+ _map["Struct"] = values.NewPlcBOOL(control)
// Simple Field (value)
value, _valueErr := io.ReadUint8(3)
if _valueErr != nil {
return nil, errors.New("Error parsing 'value' field " + _valueErr.Error())
}
- _map["Struct"] = value
+ _map["Struct"] = values.NewPlcUSINT(value)
return values.NewPlcStruct(_map), nil
case formatName == "A8_ASCII": // STRING
@@ -268,7 +268,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
}
return values.NewPlcREAL(value), nil
case formatName == "U4U4U4U4U4U4B4N4": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -280,77 +280,77 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _d6Err != nil {
return nil, errors.New("Error parsing 'd6' field " + _d6Err.Error())
}
- _map["Struct"] = d6
+ _map["Struct"] = values.NewPlcUSINT(d6)
// Simple Field (d5)
d5, _d5Err := io.ReadUint8(4)
if _d5Err != nil {
return nil, errors.New("Error parsing 'd5' field " + _d5Err.Error())
}
- _map["Struct"] = d5
+ _map["Struct"] = values.NewPlcUSINT(d5)
// Simple Field (d4)
d4, _d4Err := io.ReadUint8(4)
if _d4Err != nil {
return nil, errors.New("Error parsing 'd4' field " + _d4Err.Error())
}
- _map["Struct"] = d4
+ _map["Struct"] = values.NewPlcUSINT(d4)
// Simple Field (d3)
d3, _d3Err := io.ReadUint8(4)
if _d3Err != nil {
return nil, errors.New("Error parsing 'd3' field " + _d3Err.Error())
}
- _map["Struct"] = d3
+ _map["Struct"] = values.NewPlcUSINT(d3)
// Simple Field (d2)
d2, _d2Err := io.ReadUint8(4)
if _d2Err != nil {
return nil, errors.New("Error parsing 'd2' field " + _d2Err.Error())
}
- _map["Struct"] = d2
+ _map["Struct"] = values.NewPlcUSINT(d2)
// Simple Field (d1)
d1, _d1Err := io.ReadUint8(4)
if _d1Err != nil {
return nil, errors.New("Error parsing 'd1' field " + _d1Err.Error())
}
- _map["Struct"] = d1
+ _map["Struct"] = values.NewPlcUSINT(d1)
// Simple Field (e)
e, _eErr := io.ReadBit()
if _eErr != nil {
return nil, errors.New("Error parsing 'e' field " + _eErr.Error())
}
- _map["Struct"] = e
+ _map["Struct"] = values.NewPlcBOOL(e)
// Simple Field (p)
p, _pErr := io.ReadBit()
if _pErr != nil {
return nil, errors.New("Error parsing 'p' field " + _pErr.Error())
}
- _map["Struct"] = p
+ _map["Struct"] = values.NewPlcBOOL(p)
// Simple Field (d)
d, _dErr := io.ReadBit()
if _dErr != nil {
return nil, errors.New("Error parsing 'd' field " + _dErr.Error())
}
- _map["Struct"] = d
+ _map["Struct"] = values.NewPlcBOOL(d)
// Simple Field (c)
c, _cErr := io.ReadBit()
if _cErr != nil {
return nil, errors.New("Error parsing 'c' field " + _cErr.Error())
}
- _map["Struct"] = c
+ _map["Struct"] = values.NewPlcBOOL(c)
// Simple Field (index)
index, _indexErr := io.ReadUint8(4)
if _indexErr != nil {
return nil, errors.New("Error parsing 'index' field " + _indexErr.Error())
}
- _map["Struct"] = index
+ _map["Struct"] = values.NewPlcUSINT(index)
return values.NewPlcStruct(_map), nil
case formatName == "A112_ASCII": // STRING
@@ -392,7 +392,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
}
return values.NewPlcUSINT(value), nil
case formatName == "B1r1U6": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -404,7 +404,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _learnErr != nil {
return nil, errors.New("Error parsing 'learn' field " + _learnErr.Error())
}
- _map["Struct"] = learn
+ _map["Struct"] = values.NewPlcBOOL(learn)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(1); _err != nil {
@@ -416,7 +416,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _sceneNumberErr != nil {
return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
}
- _map["Struct"] = sceneNumber
+ _map["Struct"] = values.NewPlcUSINT(sceneNumber)
return values.NewPlcStruct(_map), nil
case formatName == "U8r4U4r3U5U3U5r2U6r2U6B16": // DATE_AND_TIME
@@ -582,7 +582,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
}
return values.NewPlcWORD(value), nil
case formatName == "U4U4": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -594,17 +594,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _busyErr != nil {
return nil, errors.New("Error parsing 'busy' field " + _busyErr.Error())
}
- _map["Struct"] = busy
+ _map["Struct"] = values.NewPlcUSINT(busy)
// Simple Field (nak)
nak, _nakErr := io.ReadUint8(4)
if _nakErr != nil {
return nil, errors.New("Error parsing 'nak' field " + _nakErr.Error())
}
- _map["Struct"] = nak
+ _map["Struct"] = values.NewPlcUSINT(nak)
return values.NewPlcStruct(_map), nil
case formatName == "r1b1U6": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -621,14 +621,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _sceneActiveErr != nil {
return nil, errors.New("Error parsing 'sceneActive' field " + _sceneActiveErr.Error())
}
- _map["Struct"] = sceneActive
+ _map["Struct"] = values.NewPlcBOOL(sceneActive)
// Simple Field (sceneNumber)
sceneNumber, _sceneNumberErr := io.ReadUint8(6)
if _sceneNumberErr != nil {
return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
}
- _map["Struct"] = sceneNumber
+ _map["Struct"] = values.NewPlcUSINT(sceneNumber)
return values.NewPlcStruct(_map), nil
case formatName == "B32": // DWORD
@@ -687,7 +687,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
}
return values.NewPlcUSINT(value), nil
case formatName == "B1Z8HeatingOrCoolingZ": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -699,17 +699,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _heatingErr != nil {
return nil, errors.New("Error parsing 'heating' field " + _heatingErr.Error())
}
- _map["Struct"] = heating
+ _map["Struct"] = values.NewPlcBOOL(heating)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "B1Z8BinaryValueZ": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -721,17 +721,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _highErr != nil {
return nil, errors.New("Error parsing 'high' field " + _highErr.Error())
}
- _map["Struct"] = high
+ _map["Struct"] = values.NewPlcBOOL(high)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8HvacOperatingMode": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -743,17 +743,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _hvacOperatingModeErr != nil {
return nil, errors.New("Error parsing 'hvacOperatingMode' field " + _hvacOperatingModeErr.Error())
}
- _map["Struct"] = hvacOperatingMode
+ _map["Struct"] = values.NewPlcUSINT(hvacOperatingMode)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8DhwMode": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -765,17 +765,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _dhwModeErr != nil {
return nil, errors.New("Error parsing 'dhwMode' field " + _dhwModeErr.Error())
}
- _map["Struct"] = dhwMode
+ _map["Struct"] = values.NewPlcUSINT(dhwMode)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8HvacControllingMode": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -787,17 +787,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _hvacControllingModeErr != nil {
return nil, errors.New("Error parsing 'hvacControllingMode' field " + _hvacControllingModeErr.Error())
}
- _map["Struct"] = hvacControllingMode
+ _map["Struct"] = values.NewPlcUSINT(hvacControllingMode)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8EnableHeatingOrCoolingStage": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -809,17 +809,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _enableHeatingOrCoolingStageErr != nil {
return nil, errors.New("Error parsing 'enableHeatingOrCoolingStage' field " + _enableHeatingOrCoolingStageErr.Error())
}
- _map["Struct"] = enableHeatingOrCoolingStage
+ _map["Struct"] = values.NewPlcUSINT(enableHeatingOrCoolingStage)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8BuildingMode": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -831,17 +831,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _buildingModeErr != nil {
return nil, errors.New("Error parsing 'buildingMode' field " + _buildingModeErr.Error())
}
- _map["Struct"] = buildingMode
+ _map["Struct"] = values.NewPlcUSINT(buildingMode)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8OccupancyMode": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -853,17 +853,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _occupancyModeErr != nil {
return nil, errors.New("Error parsing 'occupancyMode' field " + _occupancyModeErr.Error())
}
- _map["Struct"] = occupancyMode
+ _map["Struct"] = values.NewPlcUSINT(occupancyMode)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "N8Z8EmergencyMode": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -875,17 +875,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _hvacEmergencyModeErr != nil {
return nil, errors.New("Error parsing 'hvacEmergencyMode' field " + _hvacEmergencyModeErr.Error())
}
- _map["Struct"] = hvacEmergencyMode
+ _map["Struct"] = values.NewPlcUSINT(hvacEmergencyMode)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U8Z8Rel": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -897,17 +897,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _relValueErr != nil {
return nil, errors.New("Error parsing 'relValue' field " + _relValueErr.Error())
}
- _map["Struct"] = relValue
+ _map["Struct"] = values.NewPlcUSINT(relValue)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U8Z8Counter": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -919,17 +919,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _counterValueErr != nil {
return nil, errors.New("Error parsing 'counterValue' field " + _counterValueErr.Error())
}
- _map["Struct"] = counterValue
+ _map["Struct"] = values.NewPlcUSINT(counterValue)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8TimePeriod": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -941,17 +941,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _timePeriodErr != nil {
return nil, errors.New("Error parsing 'timePeriod' field " + _timePeriodErr.Error())
}
- _map["Struct"] = timePeriod
+ _map["Struct"] = values.NewPlcUINT(timePeriod)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8FlowRate": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -963,17 +963,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _flowRateErr != nil {
return nil, errors.New("Error parsing 'flowRate' field " + _flowRateErr.Error())
}
- _map["Struct"] = flowRate
+ _map["Struct"] = values.NewPlcUINT(flowRate)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8Counter": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -985,17 +985,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _counterValueErr != nil {
return nil, errors.New("Error parsing 'counterValue' field " + _counterValueErr.Error())
}
- _map["Struct"] = counterValue
+ _map["Struct"] = values.NewPlcUINT(counterValue)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8ElectricCurrent": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1007,17 +1007,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _electricalCurrentErr != nil {
return nil, errors.New("Error parsing 'electricalCurrent' field " + _electricalCurrentErr.Error())
}
- _map["Struct"] = electricalCurrent
+ _map["Struct"] = values.NewPlcUINT(electricalCurrent)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8Power": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1029,17 +1029,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _powerErr != nil {
return nil, errors.New("Error parsing 'power' field " + _powerErr.Error())
}
- _map["Struct"] = power
+ _map["Struct"] = values.NewPlcUINT(power)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8AtmPressure": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1051,17 +1051,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _atmPressureErr != nil {
return nil, errors.New("Error parsing 'atmPressure' field " + _atmPressureErr.Error())
}
- _map["Struct"] = atmPressure
+ _map["Struct"] = values.NewPlcUINT(atmPressure)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8PercentValue": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1073,17 +1073,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _percentValueErr != nil {
return nil, errors.New("Error parsing 'percentValue' field " + _percentValueErr.Error())
}
- _map["Struct"] = percentValue
+ _map["Struct"] = values.NewPlcUINT(percentValue)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8HvacAirQuality": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1095,17 +1095,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _ppmResolutionErr != nil {
return nil, errors.New("Error parsing 'ppmResolution' field " + _ppmResolutionErr.Error())
}
- _map["Struct"] = ppmResolution
+ _map["Struct"] = values.NewPlcUINT(ppmResolution)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8WindSpeed": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1117,17 +1117,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _windSpeedErr != nil {
return nil, errors.New("Error parsing 'windSpeed' field " + _windSpeedErr.Error())
}
- _map["Struct"] = windSpeed
+ _map["Struct"] = values.NewPlcUINT(windSpeed)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8SunIntensity": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1139,17 +1139,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _sunIntensityErr != nil {
return nil, errors.New("Error parsing 'sunIntensity' field " + _sunIntensityErr.Error())
}
- _map["Struct"] = sunIntensity
+ _map["Struct"] = values.NewPlcUINT(sunIntensity)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16Z8HvacAirFlow": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1161,17 +1161,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _airFlowErr != nil {
return nil, errors.New("Error parsing 'airFlow' field " + _airFlowErr.Error())
}
- _map["Struct"] = airFlow
+ _map["Struct"] = values.NewPlcUINT(airFlow)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "V8Z8RelSignedValue": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1183,17 +1183,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _relSignedValueErr != nil {
return nil, errors.New("Error parsing 'relSignedValue' field " + _relSignedValueErr.Error())
}
- _map["Struct"] = relSignedValue
+ _map["Struct"] = values.NewPlcSINT(relSignedValue)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "V16Z8DeltaTime": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1205,17 +1205,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _deltaTimeErr != nil {
return nil, errors.New("Error parsing 'deltaTime' field " + _deltaTimeErr.Error())
}
- _map["Struct"] = deltaTime
+ _map["Struct"] = values.NewPlcINT(deltaTime)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "V16Z8RelSignedValue": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1227,17 +1227,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _relSignedValueErr != nil {
return nil, errors.New("Error parsing 'relSignedValue' field " + _relSignedValueErr.Error())
}
- _map["Struct"] = relSignedValue
+ _map["Struct"] = values.NewPlcINT(relSignedValue)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16N8HvacModeAndTimeDelay": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1249,17 +1249,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _delayTimeErr != nil {
return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
}
- _map["Struct"] = delayTime
+ _map["Struct"] = values.NewPlcUINT(delayTime)
// Simple Field (hvacMode)
hvacMode, _hvacModeErr := io.ReadUint8(8)
if _hvacModeErr != nil {
return nil, errors.New("Error parsing 'hvacMode' field " + _hvacModeErr.Error())
}
- _map["Struct"] = hvacMode
+ _map["Struct"] = values.NewPlcUSINT(hvacMode)
return values.NewPlcStruct(_map), nil
case formatName == "U16N8DhwModeAndTimeDelay": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1271,17 +1271,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _delayTimeErr != nil {
return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
}
- _map["Struct"] = delayTime
+ _map["Struct"] = values.NewPlcUINT(delayTime)
// Simple Field (dhwMode)
dhwMode, _dhwModeErr := io.ReadUint8(8)
if _dhwModeErr != nil {
return nil, errors.New("Error parsing 'dhwMode' field " + _dhwModeErr.Error())
}
- _map["Struct"] = dhwMode
+ _map["Struct"] = values.NewPlcUSINT(dhwMode)
return values.NewPlcStruct(_map), nil
case formatName == "U16N8OccupancyModeAndTimeDelay": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1293,17 +1293,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _delayTimeErr != nil {
return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
}
- _map["Struct"] = delayTime
+ _map["Struct"] = values.NewPlcUINT(delayTime)
// Simple Field (occupationMode)
occupationMode, _occupationModeErr := io.ReadUint8(8)
if _occupationModeErr != nil {
return nil, errors.New("Error parsing 'occupationMode' field " + _occupationModeErr.Error())
}
- _map["Struct"] = occupationMode
+ _map["Struct"] = values.NewPlcUSINT(occupationMode)
return values.NewPlcStruct(_map), nil
case formatName == "U16N8BuildingModeAndTimeDelay": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1315,17 +1315,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _delayTimeErr != nil {
return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
}
- _map["Struct"] = delayTime
+ _map["Struct"] = values.NewPlcUINT(delayTime)
// Simple Field (buildingMode)
buildingMode, _buildingModeErr := io.ReadUint8(8)
if _buildingModeErr != nil {
return nil, errors.New("Error parsing 'buildingMode' field " + _buildingModeErr.Error())
}
- _map["Struct"] = buildingMode
+ _map["Struct"] = values.NewPlcUSINT(buildingMode)
return values.NewPlcStruct(_map), nil
case formatName == "U8B8StatusBurnerController": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1337,7 +1337,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _actualRelativePowerErr != nil {
return nil, errors.New("Error parsing 'actualRelativePower' field " + _actualRelativePowerErr.Error())
}
- _map["Struct"] = actualRelativePower
+ _map["Struct"] = values.NewPlcUSINT(actualRelativePower)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -1349,31 +1349,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _stage2ActiveErr != nil {
return nil, errors.New("Error parsing 'stage2Active' field " + _stage2ActiveErr.Error())
}
- _map["Struct"] = stage2Active
+ _map["Struct"] = values.NewPlcBOOL(stage2Active)
// Simple Field (stage1Active)
stage1Active, _stage1ActiveErr := io.ReadBit()
if _stage1ActiveErr != nil {
return nil, errors.New("Error parsing 'stage1Active' field " + _stage1ActiveErr.Error())
}
- _map["Struct"] = stage1Active
+ _map["Struct"] = values.NewPlcBOOL(stage1Active)
// Simple Field (failure)
failure, _failureErr := io.ReadBit()
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
// Simple Field (actualRelativePowerValid)
actualRelativePowerValid, _actualRelativePowerValidErr := io.ReadBit()
if _actualRelativePowerValidErr != nil {
return nil, errors.New("Error parsing 'actualRelativePowerValid' field " + _actualRelativePowerValidErr.Error())
}
- _map["Struct"] = actualRelativePowerValid
+ _map["Struct"] = values.NewPlcBOOL(actualRelativePowerValid)
return values.NewPlcStruct(_map), nil
case formatName == "U8B8LockingSignal": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1385,7 +1385,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _requestedPowerReductionErr != nil {
return nil, errors.New("Error parsing 'requestedPowerReduction' field " + _requestedPowerReductionErr.Error())
}
- _map["Struct"] = requestedPowerReduction
+ _map["Struct"] = values.NewPlcUSINT(requestedPowerReduction)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(6); _err != nil {
@@ -1397,17 +1397,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _criticalErr != nil {
return nil, errors.New("Error parsing 'critical' field " + _criticalErr.Error())
}
- _map["Struct"] = critical
+ _map["Struct"] = values.NewPlcBOOL(critical)
// Simple Field (requestedPowerReductionValid)
requestedPowerReductionValid, _requestedPowerReductionValidErr := io.ReadBit()
if _requestedPowerReductionValidErr != nil {
return nil, errors.New("Error parsing 'requestedPowerReductionValid' field " + _requestedPowerReductionValidErr.Error())
}
- _map["Struct"] = requestedPowerReductionValid
+ _map["Struct"] = values.NewPlcBOOL(requestedPowerReductionValid)
return values.NewPlcStruct(_map), nil
case formatName == "U8B8BoilerControllerDemandSignal": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1419,7 +1419,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _relativeDemandErr != nil {
return nil, errors.New("Error parsing 'relativeDemand' field " + _relativeDemandErr.Error())
}
- _map["Struct"] = relativeDemand
+ _map["Struct"] = values.NewPlcUSINT(relativeDemand)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(6); _err != nil {
@@ -1431,17 +1431,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _controlsOperationStage2Err != nil {
return nil, errors.New("Error parsing 'controlsOperationStage2' field " + _controlsOperationStage2Err.Error())
}
- _map["Struct"] = controlsOperationStage2
+ _map["Struct"] = values.NewPlcBOOL(controlsOperationStage2)
// Simple Field (controlsOperationStage1)
controlsOperationStage1, _controlsOperationStage1Err := io.ReadBit()
if _controlsOperationStage1Err != nil {
return nil, errors.New("Error parsing 'controlsOperationStage1' field " + _controlsOperationStage1Err.Error())
}
- _map["Struct"] = controlsOperationStage1
+ _map["Struct"] = values.NewPlcBOOL(controlsOperationStage1)
return values.NewPlcStruct(_map), nil
case formatName == "U8B8ActuatorPositionDemand": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1453,7 +1453,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _actuatorPositionDemandErr != nil {
return nil, errors.New("Error parsing 'actuatorPositionDemand' field " + _actuatorPositionDemandErr.Error())
}
- _map["Struct"] = actuatorPositionDemand
+ _map["Struct"] = values.NewPlcUSINT(actuatorPositionDemand)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -1465,31 +1465,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _emergencyDemandErr != nil {
return nil, errors.New("Error parsing 'emergencyDemand' field " + _emergencyDemandErr.Error())
}
- _map["Struct"] = emergencyDemand
+ _map["Struct"] = values.NewPlcBOOL(emergencyDemand)
// Simple Field (shiftLoadPriority)
shiftLoadPriority, _shiftLoadPriorityErr := io.ReadBit()
if _shiftLoadPriorityErr != nil {
return nil, errors.New("Error parsing 'shiftLoadPriority' field " + _shiftLoadPriorityErr.Error())
}
- _map["Struct"] = shiftLoadPriority
+ _map["Struct"] = values.NewPlcBOOL(shiftLoadPriority)
// Simple Field (absoluteLoadPriority)
absoluteLoadPriority, _absoluteLoadPriorityErr := io.ReadBit()
if _absoluteLoadPriorityErr != nil {
return nil, errors.New("Error parsing 'absoluteLoadPriority' field " + _absoluteLoadPriorityErr.Error())
}
- _map["Struct"] = absoluteLoadPriority
+ _map["Struct"] = values.NewPlcBOOL(absoluteLoadPriority)
// Simple Field (actuatorPositionDemandValid)
actuatorPositionDemandValid, _actuatorPositionDemandValidErr := io.ReadBit()
if _actuatorPositionDemandValidErr != nil {
return nil, errors.New("Error parsing 'actuatorPositionDemandValid' field " + _actuatorPositionDemandValidErr.Error())
}
- _map["Struct"] = actuatorPositionDemandValid
+ _map["Struct"] = values.NewPlcBOOL(actuatorPositionDemandValid)
return values.NewPlcStruct(_map), nil
case formatName == "U8B8ActuatorPositionStatus": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1501,7 +1501,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _actualActuatorPositionErr != nil {
return nil, errors.New("Error parsing 'actualActuatorPosition' field " + _actualActuatorPositionErr.Error())
}
- _map["Struct"] = actualActuatorPosition
+ _map["Struct"] = values.NewPlcUSINT(actualActuatorPosition)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(3); _err != nil {
@@ -1513,38 +1513,38 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _synchronizationModeErr != nil {
return nil, errors.New("Error parsing 'synchronizationMode' field " + _synchronizationModeErr.Error())
}
- _map["Struct"] = synchronizationMode
+ _map["Struct"] = values.NewPlcBOOL(synchronizationMode)
// Simple Field (valveKick)
valveKick, _valveKickErr := io.ReadBit()
if _valveKickErr != nil {
return nil, errors.New("Error parsing 'valveKick' field " + _valveKickErr.Error())
}
- _map["Struct"] = valveKick
+ _map["Struct"] = values.NewPlcBOOL(valveKick)
// Simple Field (callibrationMode)
callibrationMode, _callibrationModeErr := io.ReadBit()
if _callibrationModeErr != nil {
return nil, errors.New("Error parsing 'callibrationMode' field " + _callibrationModeErr.Error())
}
- _map["Struct"] = callibrationMode
+ _map["Struct"] = values.NewPlcBOOL(callibrationMode)
// Simple Field (positionManuallyOverridden)
positionManuallyOverridden, _positionManuallyOverriddenErr := io.ReadBit()
if _positionManuallyOverriddenErr != nil {
return nil, errors.New("Error parsing 'positionManuallyOverridden' field " + _positionManuallyOverriddenErr.Error())
}
- _map["Struct"] = positionManuallyOverridden
+ _map["Struct"] = values.NewPlcBOOL(positionManuallyOverridden)
// Simple Field (failure)
failure, _failureErr := io.ReadBit()
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
return values.NewPlcStruct(_map), nil
case formatName == "U8B8StatusLightingActuator": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1556,66 +1556,66 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _lightingLevelErr != nil {
return nil, errors.New("Error parsing 'lightingLevel' field " + _lightingLevelErr.Error())
}
- _map["Struct"] = lightingLevel
+ _map["Struct"] = values.NewPlcUSINT(lightingLevel)
// Simple Field (failure)
failure, _failureErr := io.ReadBit()
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
// Simple Field (localOverride)
localOverride, _localOverrideErr := io.ReadBit()
if _localOverrideErr != nil {
return nil, errors.New("Error parsing 'localOverride' field " + _localOverrideErr.Error())
}
- _map["Struct"] = localOverride
+ _map["Struct"] = values.NewPlcBOOL(localOverride)
// Simple Field (dimming)
dimming, _dimmingErr := io.ReadBit()
if _dimmingErr != nil {
return nil, errors.New("Error parsing 'dimming' field " + _dimmingErr.Error())
}
- _map["Struct"] = dimming
+ _map["Struct"] = values.NewPlcBOOL(dimming)
// Simple Field (staircaseLightingFunction)
staircaseLightingFunction, _staircaseLightingFunctionErr := io.ReadBit()
if _staircaseLightingFunctionErr != nil {
return nil, errors.New("Error parsing 'staircaseLightingFunction' field " + _staircaseLightingFunctionErr.Error())
}
- _map["Struct"] = staircaseLightingFunction
+ _map["Struct"] = values.NewPlcBOOL(staircaseLightingFunction)
// Simple Field (nightMode)
nightMode, _nightModeErr := io.ReadBit()
if _nightModeErr != nil {
return nil, errors.New("Error parsing 'nightMode' field " + _nightModeErr.Error())
}
- _map["Struct"] = nightMode
+ _map["Struct"] = values.NewPlcBOOL(nightMode)
// Simple Field (forced)
forced, _forcedErr := io.ReadBit()
if _forcedErr != nil {
return nil, errors.New("Error parsing 'forced' field " + _forcedErr.Error())
}
- _map["Struct"] = forced
+ _map["Struct"] = values.NewPlcBOOL(forced)
// Simple Field (locked)
locked, _lockedErr := io.ReadBit()
if _lockedErr != nil {
return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
}
- _map["Struct"] = locked
+ _map["Struct"] = values.NewPlcBOOL(locked)
// Simple Field (lightingLevelValid)
lightingLevelValid, _lightingLevelValidErr := io.ReadBit()
if _lightingLevelValidErr != nil {
return nil, errors.New("Error parsing 'lightingLevelValid' field " + _lightingLevelValidErr.Error())
}
- _map["Struct"] = lightingLevelValid
+ _map["Struct"] = values.NewPlcBOOL(lightingLevelValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16B8HeatProducerManagerStatus": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1627,7 +1627,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _tempFlowProdSegmHErr != nil {
return nil, errors.New("Error parsing 'tempFlowProdSegmH' field " + _tempFlowProdSegmHErr.Error())
}
- _map["Struct"] = tempFlowProdSegmH
+ _map["Struct"] = values.NewPlcREAL(tempFlowProdSegmH)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(3); _err != nil {
@@ -1639,38 +1639,38 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temporarilyOffErr != nil {
return nil, errors.New("Error parsing 'temporarilyOff' field " + _temporarilyOffErr.Error())
}
- _map["Struct"] = temporarilyOff
+ _map["Struct"] = values.NewPlcBOOL(temporarilyOff)
// Simple Field (permanentlyOff)
permanentlyOff, _permanentlyOffErr := io.ReadBit()
if _permanentlyOffErr != nil {
return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
}
- _map["Struct"] = permanentlyOff
+ _map["Struct"] = values.NewPlcBOOL(permanentlyOff)
// Simple Field (switchedOffSummerMode)
switchedOffSummerMode, _switchedOffSummerModeErr := io.ReadBit()
if _switchedOffSummerModeErr != nil {
return nil, errors.New("Error parsing 'switchedOffSummerMode' field " + _switchedOffSummerModeErr.Error())
}
- _map["Struct"] = switchedOffSummerMode
+ _map["Struct"] = values.NewPlcBOOL(switchedOffSummerMode)
// Simple Field (failure)
failure, _failureErr := io.ReadBit()
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
// Simple Field (tempFlowProdSegmHValid)
tempFlowProdSegmHValid, _tempFlowProdSegmHValidErr := io.ReadBit()
if _tempFlowProdSegmHValidErr != nil {
return nil, errors.New("Error parsing 'tempFlowProdSegmHValid' field " + _tempFlowProdSegmHValidErr.Error())
}
- _map["Struct"] = tempFlowProdSegmHValid
+ _map["Struct"] = values.NewPlcBOOL(tempFlowProdSegmHValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16B8RoomTemperatureDemand": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1682,7 +1682,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _roomTemperatureDemandErr != nil {
return nil, errors.New("Error parsing 'roomTemperatureDemand' field " + _roomTemperatureDemandErr.Error())
}
- _map["Struct"] = roomTemperatureDemand
+ _map["Struct"] = values.NewPlcREAL(roomTemperatureDemand)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -1694,31 +1694,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _emergencyDemandErr != nil {
return nil, errors.New("Error parsing 'emergencyDemand' field " + _emergencyDemandErr.Error())
}
- _map["Struct"] = emergencyDemand
+ _map["Struct"] = values.NewPlcBOOL(emergencyDemand)
// Simple Field (shiftLoadPriority)
shiftLoadPriority, _shiftLoadPriorityErr := io.ReadBit()
if _shiftLoadPriorityErr != nil {
return nil, errors.New("Error parsing 'shiftLoadPriority' field " + _shiftLoadPriorityErr.Error())
}
- _map["Struct"] = shiftLoadPriority
+ _map["Struct"] = values.NewPlcBOOL(shiftLoadPriority)
// Simple Field (absoluteLoadPriority)
absoluteLoadPriority, _absoluteLoadPriorityErr := io.ReadBit()
if _absoluteLoadPriorityErr != nil {
return nil, errors.New("Error parsing 'absoluteLoadPriority' field " + _absoluteLoadPriorityErr.Error())
}
- _map["Struct"] = absoluteLoadPriority
+ _map["Struct"] = values.NewPlcBOOL(absoluteLoadPriority)
// Simple Field (roomTemperatureDemandValid)
roomTemperatureDemandValid, _roomTemperatureDemandValidErr := io.ReadBit()
if _roomTemperatureDemandValidErr != nil {
return nil, errors.New("Error parsing 'roomTemperatureDemandValid' field " + _roomTemperatureDemandValidErr.Error())
}
- _map["Struct"] = roomTemperatureDemandValid
+ _map["Struct"] = values.NewPlcBOOL(roomTemperatureDemandValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16B8ColdWaterProducerManagerStatus": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1730,7 +1730,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _flowTemperatureProdSegmCErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureProdSegmC' field " + _flowTemperatureProdSegmCErr.Error())
}
- _map["Struct"] = flowTemperatureProdSegmC
+ _map["Struct"] = values.NewPlcREAL(flowTemperatureProdSegmC)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -1742,31 +1742,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temporarilyOffErr != nil {
return nil, errors.New("Error parsing 'temporarilyOff' field " + _temporarilyOffErr.Error())
}
- _map["Struct"] = temporarilyOff
+ _map["Struct"] = values.NewPlcBOOL(temporarilyOff)
// Simple Field (permanentlyOff)
permanentlyOff, _permanentlyOffErr := io.ReadBit()
if _permanentlyOffErr != nil {
return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
}
- _map["Struct"] = permanentlyOff
+ _map["Struct"] = values.NewPlcBOOL(permanentlyOff)
// Simple Field (failure)
failure, _failureErr := io.ReadBit()
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
// Simple Field (flowTemperatureProdSegmCValid)
flowTemperatureProdSegmCValid, _flowTemperatureProdSegmCValidErr := io.ReadBit()
if _flowTemperatureProdSegmCValidErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureProdSegmCValid' field " + _flowTemperatureProdSegmCValidErr.Error())
}
- _map["Struct"] = flowTemperatureProdSegmCValid
+ _map["Struct"] = values.NewPlcBOOL(flowTemperatureProdSegmCValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16B8WaterTemperatureControllerStatus": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1778,7 +1778,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _actualTemperatureErr != nil {
return nil, errors.New("Error parsing 'actualTemperature' field " + _actualTemperatureErr.Error())
}
- _map["Struct"] = actualTemperature
+ _map["Struct"] = values.NewPlcREAL(actualTemperature)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(5); _err != nil {
@@ -1790,24 +1790,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _controllerWorkingErr != nil {
return nil, errors.New("Error parsing 'controllerWorking' field " + _controllerWorkingErr.Error())
}
- _map["Struct"] = controllerWorking
+ _map["Struct"] = values.NewPlcBOOL(controllerWorking)
// Simple Field (failure)
failure, _failureErr := io.ReadBit()
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
// Simple Field (actualTemperatureValid)
actualTemperatureValid, _actualTemperatureValidErr := io.ReadBit()
if _actualTemperatureValidErr != nil {
return nil, errors.New("Error parsing 'actualTemperatureValid' field " + _actualTemperatureValidErr.Error())
}
- _map["Struct"] = actualTemperatureValid
+ _map["Struct"] = values.NewPlcBOOL(actualTemperatureValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16B16": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1819,7 +1819,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _flowTemperatureDemandErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureDemand' field " + _flowTemperatureDemandErr.Error())
}
- _map["Struct"] = flowTemperatureDemand
+ _map["Struct"] = values.NewPlcREAL(flowTemperatureDemand)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -1831,87 +1831,87 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _demandFromDhwWhileLegionellaFunctionIsActiveErr != nil {
return nil, errors.New("Error parsing 'demandFromDhwWhileLegionellaFunctionIsActive' field " + _demandFromDhwWhileLegionellaFunctionIsActiveErr.Error())
}
- _map["Struct"] = demandFromDhwWhileLegionellaFunctionIsActive
+ _map["Struct"] = values.NewPlcBOOL(demandFromDhwWhileLegionellaFunctionIsActive)
// Simple Field (emergencyDemandForFrostProtection)
emergencyDemandForFrostProtection, _emergencyDemandForFrostProtectionErr := io.ReadBit()
if _emergencyDemandForFrostProtectionErr != nil {
return nil, errors.New("Error parsing 'emergencyDemandForFrostProtection' field " + _emergencyDemandForFrostProtectionErr.Error())
}
- _map["Struct"] = emergencyDemandForFrostProtection
+ _map["Struct"] = values.NewPlcBOOL(emergencyDemandForFrostProtection)
// Simple Field (requestForWaterCirculationInPrimaryDistributionSegment)
requestForWaterCirculationInPrimaryDistributionSegment, _requestForWaterCirculationInPrimaryDistributionSegmentErr := io.ReadBit()
if _requestForWaterCirculationInPrimaryDistributionSegmentErr != nil {
return nil, errors.New("Error parsing 'requestForWaterCirculationInPrimaryDistributionSegment' field " + _requestForWaterCirculationInPrimaryDistributionSegmentErr.Error())
}
- _map["Struct"] = requestForWaterCirculationInPrimaryDistributionSegment
+ _map["Struct"] = values.NewPlcBOOL(requestForWaterCirculationInPrimaryDistributionSegment)
// Simple Field (demandFromAuxillaryHeatOrCoolConsumer)
demandFromAuxillaryHeatOrCoolConsumer, _demandFromAuxillaryHeatOrCoolConsumerErr := io.ReadBit()
if _demandFromAuxillaryHeatOrCoolConsumerErr != nil {
return nil, errors.New("Error parsing 'demandFromAuxillaryHeatOrCoolConsumer' field " + _demandFromAuxillaryHeatOrCoolConsumerErr.Error())
}
- _map["Struct"] = demandFromAuxillaryHeatOrCoolConsumer
+ _map["Struct"] = values.NewPlcBOOL(demandFromAuxillaryHeatOrCoolConsumer)
// Simple Field (demandFromVentilation)
demandFromVentilation, _demandFromVentilationErr := io.ReadBit()
if _demandFromVentilationErr != nil {
return nil, errors.New("Error parsing 'demandFromVentilation' field " + _demandFromVentilationErr.Error())
}
- _map["Struct"] = demandFromVentilation
+ _map["Struct"] = values.NewPlcBOOL(demandFromVentilation)
// Simple Field (demandForRoomHeatingOrCooling)
demandForRoomHeatingOrCooling, _demandForRoomHeatingOrCoolingErr := io.ReadBit()
if _demandForRoomHeatingOrCoolingErr != nil {
return nil, errors.New("Error parsing 'demandForRoomHeatingOrCooling' field " + _demandForRoomHeatingOrCoolingErr.Error())
}
- _map["Struct"] = demandForRoomHeatingOrCooling
+ _map["Struct"] = values.NewPlcBOOL(demandForRoomHeatingOrCooling)
// Simple Field (heatDemandFromDhw)
heatDemandFromDhw, _heatDemandFromDhwErr := io.ReadBit()
if _heatDemandFromDhwErr != nil {
return nil, errors.New("Error parsing 'heatDemandFromDhw' field " + _heatDemandFromDhwErr.Error())
}
- _map["Struct"] = heatDemandFromDhw
+ _map["Struct"] = values.NewPlcBOOL(heatDemandFromDhw)
// Simple Field (flowTemperatureDemandIsMin)
flowTemperatureDemandIsMin, _flowTemperatureDemandIsMinErr := io.ReadBit()
if _flowTemperatureDemandIsMinErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureDemandIsMin' field " + _flowTemperatureDemandIsMinErr.Error())
}
- _map["Struct"] = flowTemperatureDemandIsMin
+ _map["Struct"] = values.NewPlcBOOL(flowTemperatureDemandIsMin)
// Simple Field (flowTemperatureDemandIsMax)
flowTemperatureDemandIsMax, _flowTemperatureDemandIsMaxErr := io.ReadBit()
if _flowTemperatureDemandIsMaxErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureDemandIsMax' field " + _flowTemperatureDemandIsMaxErr.Error())
}
- _map["Struct"] = flowTemperatureDemandIsMax
+ _map["Struct"] = values.NewPlcBOOL(flowTemperatureDemandIsMax)
// Simple Field (shiftLoadPriority)
shiftLoadPriority, _shiftLoadPriorityErr := io.ReadBit()
if _shiftLoadPriorityErr != nil {
return nil, errors.New("Error parsing 'shiftLoadPriority' field " + _shiftLoadPriorityErr.Error())
}
- _map["Struct"] = shiftLoadPriority
+ _map["Struct"] = values.NewPlcBOOL(shiftLoadPriority)
// Simple Field (absoluteLoadPriority)
absoluteLoadPriority, _absoluteLoadPriorityErr := io.ReadBit()
if _absoluteLoadPriorityErr != nil {
return nil, errors.New("Error parsing 'absoluteLoadPriority' field " + _absoluteLoadPriorityErr.Error())
}
- _map["Struct"] = absoluteLoadPriority
+ _map["Struct"] = values.NewPlcBOOL(absoluteLoadPriority)
// Simple Field (flowTemperatureDemandValid)
flowTemperatureDemandValid, _flowTemperatureDemandValidErr := io.ReadBit()
if _flowTemperatureDemandValidErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureDemandValid' field " + _flowTemperatureDemandValidErr.Error())
}
- _map["Struct"] = flowTemperatureDemandValid
+ _map["Struct"] = values.NewPlcBOOL(flowTemperatureDemandValid)
return values.NewPlcStruct(_map), nil
case formatName == "U8N8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1923,17 +1923,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _energyDemandErr != nil {
return nil, errors.New("Error parsing 'energyDemand' field " + _energyDemandErr.Error())
}
- _map["Struct"] = energyDemand
+ _map["Struct"] = values.NewPlcUSINT(energyDemand)
// Simple Field (actualControllerMode)
actualControllerMode, _actualControllerModeErr := io.ReadUint8(8)
if _actualControllerModeErr != nil {
return nil, errors.New("Error parsing 'actualControllerMode' field " + _actualControllerModeErr.Error())
}
- _map["Struct"] = actualControllerMode
+ _map["Struct"] = values.NewPlcUSINT(actualControllerMode)
return values.NewPlcStruct(_map), nil
case formatName == "V16V16V16RoomTemperature": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1945,24 +1945,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temperatureSetpointComfortErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointComfort' field " + _temperatureSetpointComfortErr.Error())
}
- _map["Struct"] = temperatureSetpointComfort
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointComfort)
// Simple Field (temperatureSetpointStandby)
temperatureSetpointStandby, _temperatureSetpointStandbyErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointStandbyErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointStandby' field " + _temperatureSetpointStandbyErr.Error())
}
- _map["Struct"] = temperatureSetpointStandby
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointStandby)
// Simple Field (temperatureSetpointEco)
temperatureSetpointEco, _temperatureSetpointEcoErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointEcoErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointEco' field " + _temperatureSetpointEcoErr.Error())
}
- _map["Struct"] = temperatureSetpointEco
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointEco)
return values.NewPlcStruct(_map), nil
case formatName == "V16V16V16RoomTemperatureShift": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -1974,24 +1974,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temperatureSetpointShiftComfortErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftComfort' field " + _temperatureSetpointShiftComfortErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftComfort
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftComfort)
// Simple Field (temperatureSetpointShiftStandby)
temperatureSetpointShiftStandby, _temperatureSetpointShiftStandbyErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftStandbyErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftStandby' field " + _temperatureSetpointShiftStandbyErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftStandby
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftStandby)
// Simple Field (temperatureSetpointShiftEco)
temperatureSetpointShiftEco, _temperatureSetpointShiftEcoErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftEcoErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftEco' field " + _temperatureSetpointShiftEcoErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftEco
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftEco)
return values.NewPlcStruct(_map), nil
case formatName == "V16V16V16V16RoomTemperature": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2003,31 +2003,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temperatureSetpointComfortErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointComfort' field " + _temperatureSetpointComfortErr.Error())
}
- _map["Struct"] = temperatureSetpointComfort
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointComfort)
// Simple Field (temperatureSetpointStandby)
temperatureSetpointStandby, _temperatureSetpointStandbyErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointStandbyErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointStandby' field " + _temperatureSetpointStandbyErr.Error())
}
- _map["Struct"] = temperatureSetpointStandby
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointStandby)
// Simple Field (temperatureSetpointEco)
temperatureSetpointEco, _temperatureSetpointEcoErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointEcoErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointEco' field " + _temperatureSetpointEcoErr.Error())
}
- _map["Struct"] = temperatureSetpointEco
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointEco)
// Simple Field (temperatureSetpointBProt)
temperatureSetpointBProt, _temperatureSetpointBProtErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointBProtErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointBProt' field " + _temperatureSetpointBProtErr.Error())
}
- _map["Struct"] = temperatureSetpointBProt
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointBProt)
return values.NewPlcStruct(_map), nil
case formatName == "V16V16V16V16DhwtTemperature": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2039,31 +2039,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temperatureSetpointLegioProtectErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointLegioProtect' field " + _temperatureSetpointLegioProtectErr.Error())
}
- _map["Struct"] = temperatureSetpointLegioProtect
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointLegioProtect)
// Simple Field (temperatureSetpointNormal)
temperatureSetpointNormal, _temperatureSetpointNormalErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointNormalErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointNormal' field " + _temperatureSetpointNormalErr.Error())
}
- _map["Struct"] = temperatureSetpointNormal
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointNormal)
// Simple Field (temperatureSetpointReduced)
temperatureSetpointReduced, _temperatureSetpointReducedErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointReducedErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointReduced' field " + _temperatureSetpointReducedErr.Error())
}
- _map["Struct"] = temperatureSetpointReduced
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointReduced)
// Simple Field (temperatureSetpointFrostProtect)
temperatureSetpointFrostProtect, _temperatureSetpointFrostProtectErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointFrostProtectErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointFrostProtect' field " + _temperatureSetpointFrostProtectErr.Error())
}
- _map["Struct"] = temperatureSetpointFrostProtect
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointFrostProtect)
return values.NewPlcStruct(_map), nil
case formatName == "V16V16V16V16RoomTemperatureShift": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2075,31 +2075,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temperatureSetpointShiftComfortErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftComfort' field " + _temperatureSetpointShiftComfortErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftComfort
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftComfort)
// Simple Field (temperatureSetpointShiftStandby)
temperatureSetpointShiftStandby, _temperatureSetpointShiftStandbyErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftStandbyErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftStandby' field " + _temperatureSetpointShiftStandbyErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftStandby
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftStandby)
// Simple Field (temperatureSetpointShiftEco)
temperatureSetpointShiftEco, _temperatureSetpointShiftEcoErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftEcoErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftEco' field " + _temperatureSetpointShiftEcoErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftEco
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftEco)
// Simple Field (temperatureSetpointShiftBProt)
temperatureSetpointShiftBProt, _temperatureSetpointShiftBProtErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftBProtErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftBProt' field " + _temperatureSetpointShiftBProtErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftBProt
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftBProt)
return values.NewPlcStruct(_map), nil
case formatName == "V16U8B8Heat": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2111,14 +2111,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _flowTemperatureDemandErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureDemand' field " + _flowTemperatureDemandErr.Error())
}
- _map["Struct"] = flowTemperatureDemand
+ _map["Struct"] = values.NewPlcINT(flowTemperatureDemand)
// Simple Field (relativePower)
relativePower, _relativePowerErr := io.ReadUint8(8)
if _relativePowerErr != nil {
return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
}
- _map["Struct"] = relativePower
+ _map["Struct"] = values.NewPlcUSINT(relativePower)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(2); _err != nil {
@@ -2130,45 +2130,45 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _boilerEnabledErr != nil {
return nil, errors.New("Error parsing 'boilerEnabled' field " + _boilerEnabledErr.Error())
}
- _map["Struct"] = boilerEnabled
+ _map["Struct"] = values.NewPlcBOOL(boilerEnabled)
// Simple Field (stage2Forced)
stage2Forced, _stage2ForcedErr := io.ReadBit()
if _stage2ForcedErr != nil {
return nil, errors.New("Error parsing 'stage2Forced' field " + _stage2ForcedErr.Error())
}
- _map["Struct"] = stage2Forced
+ _map["Struct"] = values.NewPlcBOOL(stage2Forced)
// Simple Field (stage2Enabled)
stage2Enabled, _stage2EnabledErr := io.ReadBit()
if _stage2EnabledErr != nil {
return nil, errors.New("Error parsing 'stage2Enabled' field " + _stage2EnabledErr.Error())
}
- _map["Struct"] = stage2Enabled
+ _map["Struct"] = values.NewPlcBOOL(stage2Enabled)
// Simple Field (stage1Forced)
stage1Forced, _stage1ForcedErr := io.ReadBit()
if _stage1ForcedErr != nil {
return nil, errors.New("Error parsing 'stage1Forced' field " + _stage1ForcedErr.Error())
}
- _map["Struct"] = stage1Forced
+ _map["Struct"] = values.NewPlcBOOL(stage1Forced)
// Simple Field (stage1Enabled)
stage1Enabled, _stage1EnabledErr := io.ReadBit()
if _stage1EnabledErr != nil {
return nil, errors.New("Error parsing 'stage1Enabled' field " + _stage1EnabledErr.Error())
}
- _map["Struct"] = stage1Enabled
+ _map["Struct"] = values.NewPlcBOOL(stage1Enabled)
// Simple Field (flowTemperatureDemandValid)
flowTemperatureDemandValid, _flowTemperatureDemandValidErr := io.ReadBit()
if _flowTemperatureDemandValidErr != nil {
return nil, errors.New("Error parsing 'flowTemperatureDemandValid' field " + _flowTemperatureDemandValidErr.Error())
}
- _map["Struct"] = flowTemperatureDemandValid
+ _map["Struct"] = values.NewPlcBOOL(flowTemperatureDemandValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16U8B8ChilledWater": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2180,14 +2180,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _chilledWaterFlowTemperatureDemandErr != nil {
return nil, errors.New("Error parsing 'chilledWaterFlowTemperatureDemand' field " + _chilledWaterFlowTemperatureDemandErr.Error())
}
- _map["Struct"] = chilledWaterFlowTemperatureDemand
+ _map["Struct"] = values.NewPlcINT(chilledWaterFlowTemperatureDemand)
// Simple Field (relativePower)
relativePower, _relativePowerErr := io.ReadUint8(8)
if _relativePowerErr != nil {
return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
}
- _map["Struct"] = relativePower
+ _map["Struct"] = values.NewPlcUSINT(relativePower)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(5); _err != nil {
@@ -2199,24 +2199,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _chilledWaterPumpEnabledErr != nil {
return nil, errors.New("Error parsing 'chilledWaterPumpEnabled' field " + _chilledWaterPumpEnabledErr.Error())
}
- _map["Struct"] = chilledWaterPumpEnabled
+ _map["Struct"] = values.NewPlcBOOL(chilledWaterPumpEnabled)
// Simple Field (relativePowerValid)
relativePowerValid, _relativePowerValidErr := io.ReadBit()
if _relativePowerValidErr != nil {
return nil, errors.New("Error parsing 'relativePowerValid' field " + _relativePowerValidErr.Error())
}
- _map["Struct"] = relativePowerValid
+ _map["Struct"] = values.NewPlcBOOL(relativePowerValid)
// Simple Field (chilledWaterFlowTemperatureDemandValid)
chilledWaterFlowTemperatureDemandValid, _chilledWaterFlowTemperatureDemandValidErr := io.ReadBit()
if _chilledWaterFlowTemperatureDemandValidErr != nil {
return nil, errors.New("Error parsing 'chilledWaterFlowTemperatureDemandValid' field " + _chilledWaterFlowTemperatureDemandValidErr.Error())
}
- _map["Struct"] = chilledWaterFlowTemperatureDemandValid
+ _map["Struct"] = values.NewPlcBOOL(chilledWaterFlowTemperatureDemandValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16U8B16Boiler": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2228,14 +2228,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _tempBoilerErr != nil {
return nil, errors.New("Error parsing 'tempBoiler' field " + _tempBoilerErr.Error())
}
- _map["Struct"] = tempBoiler
+ _map["Struct"] = values.NewPlcINT(tempBoiler)
// Simple Field (relativePower)
relativePower, _relativePowerErr := io.ReadUint8(8)
if _relativePowerErr != nil {
return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
}
- _map["Struct"] = relativePower
+ _map["Struct"] = values.NewPlcUSINT(relativePower)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -2247,87 +2247,87 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _chimneySweepFunctionActiveErr != nil {
return nil, errors.New("Error parsing 'chimneySweepFunctionActive' field " + _chimneySweepFunctionActiveErr.Error())
}
- _map["Struct"] = chimneySweepFunctionActive
+ _map["Struct"] = values.NewPlcBOOL(chimneySweepFunctionActive)
// Simple Field (reducedAvailability)
reducedAvailability, _reducedAvailabilityErr := io.ReadBit()
if _reducedAvailabilityErr != nil {
return nil, errors.New("Error parsing 'reducedAvailability' field " + _reducedAvailabilityErr.Error())
}
- _map["Struct"] = reducedAvailability
+ _map["Struct"] = values.NewPlcBOOL(reducedAvailability)
// Simple Field (powerLimitBoilerReached)
powerLimitBoilerReached, _powerLimitBoilerReachedErr := io.ReadBit()
if _powerLimitBoilerReachedErr != nil {
return nil, errors.New("Error parsing 'powerLimitBoilerReached' field " + _powerLimitBoilerReachedErr.Error())
}
- _map["Struct"] = powerLimitBoilerReached
+ _map["Struct"] = values.NewPlcBOOL(powerLimitBoilerReached)
// Simple Field (powerLimitStage1Reached)
powerLimitStage1Reached, _powerLimitStage1ReachedErr := io.ReadBit()
if _powerLimitStage1ReachedErr != nil {
return nil, errors.New("Error parsing 'powerLimitStage1Reached' field " + _powerLimitStage1ReachedErr.Error())
}
- _map["Struct"] = powerLimitStage1Reached
+ _map["Struct"] = values.NewPlcBOOL(powerLimitStage1Reached)
// Simple Field (stage2Enabled)
stage2Enabled, _stage2EnabledErr := io.ReadBit()
if _stage2EnabledErr != nil {
return nil, errors.New("Error parsing 'stage2Enabled' field " + _stage2EnabledErr.Error())
}
- _map["Struct"] = stage2Enabled
+ _map["Struct"] = values.NewPlcBOOL(stage2Enabled)
// Simple Field (stage1Enabled)
stage1Enabled, _stage1EnabledErr := io.ReadBit()
if _stage1EnabledErr != nil {
return nil, errors.New("Error parsing 'stage1Enabled' field " + _stage1EnabledErr.Error())
}
- _map["Struct"] = stage1Enabled
+ _map["Struct"] = values.NewPlcBOOL(stage1Enabled)
// Simple Field (boilerTemporarilyNotProvidingHeat)
boilerTemporarilyNotProvidingHeat, _boilerTemporarilyNotProvidingHeatErr := io.ReadBit()
if _boilerTemporarilyNotProvidingHeatErr != nil {
return nil, errors.New("Error parsing 'boilerTemporarilyNotProvidingHeat' field " + _boilerTemporarilyNotProvidingHeatErr.Error())
}
- _map["Struct"] = boilerTemporarilyNotProvidingHeat
+ _map["Struct"] = values.NewPlcBOOL(boilerTemporarilyNotProvidingHeat)
// Simple Field (permanentlyOff)
permanentlyOff, _permanentlyOffErr := io.ReadBit()
if _permanentlyOffErr != nil {
return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
}
- _map["Struct"] = permanentlyOff
+ _map["Struct"] = values.NewPlcBOOL(permanentlyOff)
// Simple Field (boilerSwitchedOffWinterSummerMode)
boilerSwitchedOffWinterSummerMode, _boilerSwitchedOffWinterSummerModeErr := io.ReadBit()
if _boilerSwitchedOffWinterSummerModeErr != nil {
return nil, errors.New("Error parsing 'boilerSwitchedOffWinterSummerMode' field " + _boilerSwitchedOffWinterSummerModeErr.Error())
}
- _map["Struct"] = boilerSwitchedOffWinterSummerMode
+ _map["Struct"] = values.NewPlcBOOL(boilerSwitchedOffWinterSummerMode)
// Simple Field (boilerFailure)
boilerFailure, _boilerFailureErr := io.ReadBit()
if _boilerFailureErr != nil {
return nil, errors.New("Error parsing 'boilerFailure' field " + _boilerFailureErr.Error())
}
- _map["Struct"] = boilerFailure
+ _map["Struct"] = values.NewPlcBOOL(boilerFailure)
// Simple Field (relativePowerValid)
relativePowerValid, _relativePowerValidErr := io.ReadBit()
if _relativePowerValidErr != nil {
return nil, errors.New("Error parsing 'relativePowerValid' field " + _relativePowerValidErr.Error())
}
- _map["Struct"] = relativePowerValid
+ _map["Struct"] = values.NewPlcBOOL(relativePowerValid)
// Simple Field (tempBoilerValid)
tempBoilerValid, _tempBoilerValidErr := io.ReadBit()
if _tempBoilerValidErr != nil {
return nil, errors.New("Error parsing 'tempBoilerValid' field " + _tempBoilerValidErr.Error())
}
- _map["Struct"] = tempBoilerValid
+ _map["Struct"] = values.NewPlcBOOL(tempBoilerValid)
return values.NewPlcStruct(_map), nil
case formatName == "V16U8B16Chiller": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2339,14 +2339,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _tempChillerErr != nil {
return nil, errors.New("Error parsing 'tempChiller' field " + _tempChillerErr.Error())
}
- _map["Struct"] = tempChiller
+ _map["Struct"] = values.NewPlcINT(tempChiller)
// Simple Field (relativePower)
relativePower, _relativePowerErr := io.ReadUint8(8)
if _relativePowerErr != nil {
return nil, errors.New("Error parsing 'relativePower' field " + _relativePowerErr.Error())
}
- _map["Struct"] = relativePower
+ _map["Struct"] = values.NewPlcUSINT(relativePower)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2358,59 +2358,59 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _reducedAvailabilityErr != nil {
return nil, errors.New("Error parsing 'reducedAvailability' field " + _reducedAvailabilityErr.Error())
}
- _map["Struct"] = reducedAvailability
+ _map["Struct"] = values.NewPlcBOOL(reducedAvailability)
// Simple Field (powerLimitChillerReached)
powerLimitChillerReached, _powerLimitChillerReachedErr := io.ReadBit()
if _powerLimitChillerReachedErr != nil {
return nil, errors.New("Error parsing 'powerLimitChillerReached' field " + _powerLimitChillerReachedErr.Error())
}
- _map["Struct"] = powerLimitChillerReached
+ _map["Struct"] = values.NewPlcBOOL(powerLimitChillerReached)
// Simple Field (powerLimitCurrentStageReached)
powerLimitCurrentStageReached, _powerLimitCurrentStageReachedErr := io.ReadBit()
if _powerLimitCurrentStageReachedErr != nil {
return nil, errors.New("Error parsing 'powerLimitCurrentStageReached' field " + _powerLimitCurrentStageReachedErr.Error())
}
- _map["Struct"] = powerLimitCurrentStageReached
+ _map["Struct"] = values.NewPlcBOOL(powerLimitCurrentStageReached)
// Simple Field (permanentlyOff)
permanentlyOff, _permanentlyOffErr := io.ReadBit()
if _permanentlyOffErr != nil {
return nil, errors.New("Error parsing 'permanentlyOff' field " + _permanentlyOffErr.Error())
}
- _map["Struct"] = permanentlyOff
+ _map["Struct"] = values.NewPlcBOOL(permanentlyOff)
// Simple Field (chillerFailure)
chillerFailure, _chillerFailureErr := io.ReadBit()
if _chillerFailureErr != nil {
return nil, errors.New("Error parsing 'chillerFailure' field " + _chillerFailureErr.Error())
}
- _map["Struct"] = chillerFailure
+ _map["Struct"] = values.NewPlcBOOL(chillerFailure)
// Simple Field (chillerRunningStatus)
chillerRunningStatus, _chillerRunningStatusErr := io.ReadBit()
if _chillerRunningStatusErr != nil {
return nil, errors.New("Error parsing 'chillerRunningStatus' field " + _chillerRunningStatusErr.Error())
}
- _map["Struct"] = chillerRunningStatus
+ _map["Struct"] = values.NewPlcBOOL(chillerRunningStatus)
// Simple Field (relativePowerValid)
relativePowerValid, _relativePowerValidErr := io.ReadBit()
if _relativePowerValidErr != nil {
return nil, errors.New("Error parsing 'relativePowerValid' field " + _relativePowerValidErr.Error())
}
- _map["Struct"] = relativePowerValid
+ _map["Struct"] = values.NewPlcBOOL(relativePowerValid)
// Simple Field (tempChillerValid)
tempChillerValid, _tempChillerValidErr := io.ReadBit()
if _tempChillerValidErr != nil {
return nil, errors.New("Error parsing 'tempChillerValid' field " + _tempChillerValidErr.Error())
}
- _map["Struct"] = tempChillerValid
+ _map["Struct"] = values.NewPlcBOOL(tempChillerValid)
return values.NewPlcStruct(_map), nil
case formatName == "U16U8N8B8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2422,21 +2422,21 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _nominalPowerErr != nil {
return nil, errors.New("Error parsing 'nominalPower' field " + _nominalPowerErr.Error())
}
- _map["Struct"] = nominalPower
+ _map["Struct"] = values.NewPlcUINT(nominalPower)
// Simple Field (relativePowerLimit)
relativePowerLimit, _relativePowerLimitErr := io.ReadUint8(8)
if _relativePowerLimitErr != nil {
return nil, errors.New("Error parsing 'relativePowerLimit' field " + _relativePowerLimitErr.Error())
}
- _map["Struct"] = relativePowerLimit
+ _map["Struct"] = values.NewPlcUSINT(relativePowerLimit)
// Simple Field (burnerType)
burnerType, _burnerTypeErr := io.ReadInt8(8)
if _burnerTypeErr != nil {
return nil, errors.New("Error parsing 'burnerType' field " + _burnerTypeErr.Error())
}
- _map["Struct"] = burnerType
+ _map["Struct"] = values.NewPlcSINT(burnerType)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(5); _err != nil {
@@ -2448,24 +2448,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _solidStateErr != nil {
return nil, errors.New("Error parsing 'solidState' field " + _solidStateErr.Error())
}
- _map["Struct"] = solidState
+ _map["Struct"] = values.NewPlcBOOL(solidState)
// Simple Field (gas)
gas, _gasErr := io.ReadBit()
if _gasErr != nil {
return nil, errors.New("Error parsing 'gas' field " + _gasErr.Error())
}
- _map["Struct"] = gas
+ _map["Struct"] = values.NewPlcBOOL(gas)
// Simple Field (oil)
oil, _oilErr := io.ReadBit()
if _oilErr != nil {
return nil, errors.New("Error parsing 'oil' field " + _oilErr.Error())
}
- _map["Struct"] = oil
+ _map["Struct"] = values.NewPlcBOOL(oil)
return values.NewPlcStruct(_map), nil
case formatName == "U5U5U6": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2477,24 +2477,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _magicNumberErr != nil {
return nil, errors.New("Error parsing 'magicNumber' field " + _magicNumberErr.Error())
}
- _map["Struct"] = magicNumber
+ _map["Struct"] = values.NewPlcUSINT(magicNumber)
// Simple Field (versionNumber)
versionNumber, _versionNumberErr := io.ReadUint8(5)
if _versionNumberErr != nil {
return nil, errors.New("Error parsing 'versionNumber' field " + _versionNumberErr.Error())
}
- _map["Struct"] = versionNumber
+ _map["Struct"] = values.NewPlcUSINT(versionNumber)
// Simple Field (revisionNumber)
revisionNumber, _revisionNumberErr := io.ReadUint8(6)
if _revisionNumberErr != nil {
return nil, errors.New("Error parsing 'revisionNumber' field " + _revisionNumberErr.Error())
}
- _map["Struct"] = revisionNumber
+ _map["Struct"] = values.NewPlcUSINT(revisionNumber)
return values.NewPlcStruct(_map), nil
case formatName == "V32Z8VolumeLiter": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2506,17 +2506,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _volumeLiterErr != nil {
return nil, errors.New("Error parsing 'volumeLiter' field " + _volumeLiterErr.Error())
}
- _map["Struct"] = volumeLiter
+ _map["Struct"] = values.NewPlcDINT(volumeLiter)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "V32Z8FlowRate": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2528,17 +2528,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _flowRateErr != nil {
return nil, errors.New("Error parsing 'flowRate' field " + _flowRateErr.Error())
}
- _map["Struct"] = flowRate
+ _map["Struct"] = values.NewPlcDINT(flowRate)
// Simple Field (statusCommand)
statusCommand, _statusCommandErr := io.ReadUint8(8)
if _statusCommandErr != nil {
return nil, errors.New("Error parsing 'statusCommand' field " + _statusCommandErr.Error())
}
- _map["Struct"] = statusCommand
+ _map["Struct"] = values.NewPlcUSINT(statusCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U8N8N8N8B8B8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2550,28 +2550,28 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _logNumberErr != nil {
return nil, errors.New("Error parsing 'logNumber' field " + _logNumberErr.Error())
}
- _map["Struct"] = logNumber
+ _map["Struct"] = values.NewPlcUSINT(logNumber)
// Simple Field (alarmPriority)
alarmPriority, _alarmPriorityErr := io.ReadUint8(8)
if _alarmPriorityErr != nil {
return nil, errors.New("Error parsing 'alarmPriority' field " + _alarmPriorityErr.Error())
}
- _map["Struct"] = alarmPriority
+ _map["Struct"] = values.NewPlcUSINT(alarmPriority)
// Simple Field (applicationArea)
applicationArea, _applicationAreaErr := io.ReadUint8(8)
if _applicationAreaErr != nil {
return nil, errors.New("Error parsing 'applicationArea' field " + _applicationAreaErr.Error())
}
- _map["Struct"] = applicationArea
+ _map["Struct"] = values.NewPlcUSINT(applicationArea)
// Simple Field (errorClass)
errorClass, _errorClassErr := io.ReadUint8(8)
if _errorClassErr != nil {
return nil, errors.New("Error parsing 'errorClass' field " + _errorClassErr.Error())
}
- _map["Struct"] = errorClass
+ _map["Struct"] = values.NewPlcUSINT(errorClass)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(4); _err != nil {
@@ -2583,28 +2583,28 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _errorCode_SupErr != nil {
return nil, errors.New("Error parsing 'errorCode_Sup' field " + _errorCode_SupErr.Error())
}
- _map["Struct"] = errorCode_Sup
+ _map["Struct"] = values.NewPlcBOOL(errorCode_Sup)
// Simple Field (alarmText_Sup)
alarmText_Sup, _alarmText_SupErr := io.ReadBit()
if _alarmText_SupErr != nil {
return nil, errors.New("Error parsing 'alarmText_Sup' field " + _alarmText_SupErr.Error())
}
- _map["Struct"] = alarmText_Sup
+ _map["Struct"] = values.NewPlcBOOL(alarmText_Sup)
// Simple Field (timeStamp_Sup)
timeStamp_Sup, _timeStamp_SupErr := io.ReadBit()
if _timeStamp_SupErr != nil {
return nil, errors.New("Error parsing 'timeStamp_Sup' field " + _timeStamp_SupErr.Error())
}
- _map["Struct"] = timeStamp_Sup
+ _map["Struct"] = values.NewPlcBOOL(timeStamp_Sup)
// Simple Field (ack_Sup)
ack_Sup, _ack_SupErr := io.ReadBit()
if _ack_SupErr != nil {
return nil, errors.New("Error parsing 'ack_Sup' field " + _ack_SupErr.Error())
}
- _map["Struct"] = ack_Sup
+ _map["Struct"] = values.NewPlcBOOL(ack_Sup)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(5); _err != nil {
@@ -2616,24 +2616,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _alarmUnAckErr != nil {
return nil, errors.New("Error parsing 'alarmUnAck' field " + _alarmUnAckErr.Error())
}
- _map["Struct"] = alarmUnAck
+ _map["Struct"] = values.NewPlcBOOL(alarmUnAck)
// Simple Field (locked)
locked, _lockedErr := io.ReadBit()
if _lockedErr != nil {
return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
}
- _map["Struct"] = locked
+ _map["Struct"] = values.NewPlcBOOL(locked)
// Simple Field (inAlarm)
inAlarm, _inAlarmErr := io.ReadBit()
if _inAlarmErr != nil {
return nil, errors.New("Error parsing 'inAlarm' field " + _inAlarmErr.Error())
}
- _map["Struct"] = inAlarm
+ _map["Struct"] = values.NewPlcBOOL(inAlarm)
return values.NewPlcStruct(_map), nil
case formatName == "U16V16": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2645,17 +2645,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _delayTimeErr != nil {
return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
}
- _map["Struct"] = delayTime
+ _map["Struct"] = values.NewPlcUINT(delayTime)
// Simple Field (temperature)
temperature, _temperatureErr := io.ReadInt16(16)
if _temperatureErr != nil {
return nil, errors.New("Error parsing 'temperature' field " + _temperatureErr.Error())
}
- _map["Struct"] = temperature
+ _map["Struct"] = values.NewPlcINT(temperature)
return values.NewPlcStruct(_map), nil
case formatName == "N16U32": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2667,17 +2667,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _manufacturerCodeErr != nil {
return nil, errors.New("Error parsing 'manufacturerCode' field " + _manufacturerCodeErr.Error())
}
- _map["Struct"] = manufacturerCode
+ _map["Struct"] = values.NewPlcUINT(manufacturerCode)
// Simple Field (incrementedNumber)
incrementedNumber, _incrementedNumberErr := io.ReadUint32(32)
if _incrementedNumberErr != nil {
return nil, errors.New("Error parsing 'incrementedNumber' field " + _incrementedNumberErr.Error())
}
- _map["Struct"] = incrementedNumber
+ _map["Struct"] = values.NewPlcUDINT(incrementedNumber)
return values.NewPlcStruct(_map), nil
case formatName == "F16F16F16": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2689,24 +2689,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _temperatureSetpointComfortErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointComfort' field " + _temperatureSetpointComfortErr.Error())
}
- _map["Struct"] = temperatureSetpointComfort
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointComfort)
// Simple Field (temperatureSetpointShiftStandby)
temperatureSetpointShiftStandby, _temperatureSetpointShiftStandbyErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftStandbyErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftStandby' field " + _temperatureSetpointShiftStandbyErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftStandby
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftStandby)
// Simple Field (temperatureSetpointShiftEco)
temperatureSetpointShiftEco, _temperatureSetpointShiftEcoErr := io.ReadFloat32(true, 4, 11)
if _temperatureSetpointShiftEcoErr != nil {
return nil, errors.New("Error parsing 'temperatureSetpointShiftEco' field " + _temperatureSetpointShiftEcoErr.Error())
}
- _map["Struct"] = temperatureSetpointShiftEco
+ _map["Struct"] = values.NewPlcREAL(temperatureSetpointShiftEco)
return values.NewPlcStruct(_map), nil
case formatName == "V8N8N8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2718,24 +2718,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _energyDemandErr != nil {
return nil, errors.New("Error parsing 'energyDemand' field " + _energyDemandErr.Error())
}
- _map["Struct"] = energyDemand
+ _map["Struct"] = values.NewPlcSINT(energyDemand)
// Simple Field (hvacControllerMode)
hvacControllerMode, _hvacControllerModeErr := io.ReadUint8(8)
if _hvacControllerModeErr != nil {
return nil, errors.New("Error parsing 'hvacControllerMode' field " + _hvacControllerModeErr.Error())
}
- _map["Struct"] = hvacControllerMode
+ _map["Struct"] = values.NewPlcUSINT(hvacControllerMode)
// Simple Field (hvacEmergencyMode)
hvacEmergencyMode, _hvacEmergencyModeErr := io.ReadUint8(8)
if _hvacEmergencyModeErr != nil {
return nil, errors.New("Error parsing 'hvacEmergencyMode' field " + _hvacEmergencyModeErr.Error())
}
- _map["Struct"] = hvacEmergencyMode
+ _map["Struct"] = values.NewPlcUSINT(hvacEmergencyMode)
return values.NewPlcStruct(_map), nil
case formatName == "V16V16N8N8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2747,31 +2747,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _tempSetpointCoolingErr != nil {
return nil, errors.New("Error parsing 'tempSetpointCooling' field " + _tempSetpointCoolingErr.Error())
}
- _map["Struct"] = tempSetpointCooling
+ _map["Struct"] = values.NewPlcINT(tempSetpointCooling)
// Simple Field (tempSetpointHeating)
tempSetpointHeating, _tempSetpointHeatingErr := io.ReadInt16(16)
if _tempSetpointHeatingErr != nil {
return nil, errors.New("Error parsing 'tempSetpointHeating' field " + _tempSetpointHeatingErr.Error())
}
- _map["Struct"] = tempSetpointHeating
+ _map["Struct"] = values.NewPlcINT(tempSetpointHeating)
// Simple Field (hvacControllerMode)
hvacControllerMode, _hvacControllerModeErr := io.ReadUint8(8)
if _hvacControllerModeErr != nil {
return nil, errors.New("Error parsing 'hvacControllerMode' field " + _hvacControllerModeErr.Error())
}
- _map["Struct"] = hvacControllerMode
+ _map["Struct"] = values.NewPlcUSINT(hvacControllerMode)
// Simple Field (hvacEmergencyMode)
hvacEmergencyMode, _hvacEmergencyModeErr := io.ReadUint8(8)
if _hvacEmergencyModeErr != nil {
return nil, errors.New("Error parsing 'hvacEmergencyMode' field " + _hvacEmergencyModeErr.Error())
}
- _map["Struct"] = hvacEmergencyMode
+ _map["Struct"] = values.NewPlcUSINT(hvacEmergencyMode)
return values.NewPlcStruct(_map), nil
case formatName == "U16U8Scaling": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2783,17 +2783,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _timePeriodErr != nil {
return nil, errors.New("Error parsing 'timePeriod' field " + _timePeriodErr.Error())
}
- _map["Struct"] = timePeriod
+ _map["Struct"] = values.NewPlcUINT(timePeriod)
// Simple Field (percent)
percent, _percentErr := io.ReadUint8(8)
if _percentErr != nil {
return nil, errors.New("Error parsing 'percent' field " + _percentErr.Error())
}
- _map["Struct"] = percent
+ _map["Struct"] = values.NewPlcUSINT(percent)
return values.NewPlcStruct(_map), nil
case formatName == "U16U8TariffNext": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2805,17 +2805,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _delayTimeErr != nil {
return nil, errors.New("Error parsing 'delayTime' field " + _delayTimeErr.Error())
}
- _map["Struct"] = delayTime
+ _map["Struct"] = values.NewPlcUINT(delayTime)
// Simple Field (tariff)
tariff, _tariffErr := io.ReadUint8(8)
if _tariffErr != nil {
return nil, errors.New("Error parsing 'tariff' field " + _tariffErr.Error())
}
- _map["Struct"] = tariff
+ _map["Struct"] = values.NewPlcUSINT(tariff)
return values.NewPlcStruct(_map), nil
case formatName == "V32N8Z8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2827,24 +2827,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _countValErr != nil {
return nil, errors.New("Error parsing 'countVal' field " + _countValErr.Error())
}
- _map["Struct"] = countVal
+ _map["Struct"] = values.NewPlcDINT(countVal)
// Simple Field (valInfField)
valInfField, _valInfFieldErr := io.ReadUint8(8)
if _valInfFieldErr != nil {
return nil, errors.New("Error parsing 'valInfField' field " + _valInfFieldErr.Error())
}
- _map["Struct"] = valInfField
+ _map["Struct"] = values.NewPlcUSINT(valInfField)
// Simple Field (statusOrCommand)
statusOrCommand, _statusOrCommandErr := io.ReadUint8(8)
if _statusOrCommandErr != nil {
return nil, errors.New("Error parsing 'statusOrCommand' field " + _statusOrCommandErr.Error())
}
- _map["Struct"] = statusOrCommand
+ _map["Struct"] = values.NewPlcUSINT(statusOrCommand)
return values.NewPlcStruct(_map), nil
case formatName == "U16U32U8N8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2856,31 +2856,31 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _manufacturerIdErr != nil {
return nil, errors.New("Error parsing 'manufacturerId' field " + _manufacturerIdErr.Error())
}
- _map["Struct"] = manufacturerId
+ _map["Struct"] = values.NewPlcUINT(manufacturerId)
// Simple Field (identNumber)
identNumber, _identNumberErr := io.ReadUint32(32)
if _identNumberErr != nil {
return nil, errors.New("Error parsing 'identNumber' field " + _identNumberErr.Error())
}
- _map["Struct"] = identNumber
+ _map["Struct"] = values.NewPlcUDINT(identNumber)
// Simple Field (version)
version, _versionErr := io.ReadUint8(8)
if _versionErr != nil {
return nil, errors.New("Error parsing 'version' field " + _versionErr.Error())
}
- _map["Struct"] = version
+ _map["Struct"] = values.NewPlcUSINT(version)
// Simple Field (medium)
medium, _mediumErr := io.ReadInt8(8)
if _mediumErr != nil {
return nil, errors.New("Error parsing 'medium' field " + _mediumErr.Error())
}
- _map["Struct"] = medium
+ _map["Struct"] = values.NewPlcSINT(medium)
return values.NewPlcStruct(_map), nil
case formatName == "A8A8A8A8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2892,17 +2892,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _languageCodeErr != nil {
return nil, errors.New("Error parsing 'languageCode' field " + _languageCodeErr.Error())
}
- _map["Struct"] = languageCode
+ _map["Struct"] = values.NewPlcSTRING(languageCode)
// Simple Field (regionCode)
regionCode, _regionCodeErr := io.ReadString(16)
if _regionCodeErr != nil {
return nil, errors.New("Error parsing 'regionCode' field " + _regionCodeErr.Error())
}
- _map["Struct"] = regionCode
+ _map["Struct"] = values.NewPlcSTRING(regionCode)
return values.NewPlcStruct(_map), nil
case formatName == "U8U8U8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2914,24 +2914,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _redErr != nil {
return nil, errors.New("Error parsing 'red' field " + _redErr.Error())
}
- _map["Struct"] = red
+ _map["Struct"] = values.NewPlcUSINT(red)
// Simple Field (green)
green, _greenErr := io.ReadUint8(8)
if _greenErr != nil {
return nil, errors.New("Error parsing 'green' field " + _greenErr.Error())
}
- _map["Struct"] = green
+ _map["Struct"] = values.NewPlcUSINT(green)
// Simple Field (blue)
blue, _blueErr := io.ReadUint8(8)
if _blueErr != nil {
return nil, errors.New("Error parsing 'blue' field " + _blueErr.Error())
}
- _map["Struct"] = blue
+ _map["Struct"] = values.NewPlcUSINT(blue)
return values.NewPlcStruct(_map), nil
case formatName == "A8A8Language": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2943,10 +2943,10 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _languageCodeErr != nil {
return nil, errors.New("Error parsing 'languageCode' field " + _languageCodeErr.Error())
}
- _map["Struct"] = languageCode
+ _map["Struct"] = values.NewPlcSTRING(languageCode)
return values.NewPlcStruct(_map), nil
case formatName == "A8A8Region": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2958,10 +2958,10 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _regionCodeErr != nil {
return nil, errors.New("Error parsing 'regionCode' field " + _regionCodeErr.Error())
}
- _map["Struct"] = regionCode
+ _map["Struct"] = values.NewPlcSTRING(regionCode)
return values.NewPlcStruct(_map), nil
case formatName == "V32U8B8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -2973,14 +2973,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _activeElectricalEnergyErr != nil {
return nil, errors.New("Error parsing 'activeElectricalEnergy' field " + _activeElectricalEnergyErr.Error())
}
- _map["Struct"] = activeElectricalEnergy
+ _map["Struct"] = values.NewPlcDINT(activeElectricalEnergy)
// Simple Field (tariff)
tariff, _tariffErr := io.ReadUint8(8)
if _tariffErr != nil {
return nil, errors.New("Error parsing 'tariff' field " + _tariffErr.Error())
}
- _map["Struct"] = tariff
+ _map["Struct"] = values.NewPlcUSINT(tariff)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(6); _err != nil {
@@ -2992,17 +2992,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _noTariffErr != nil {
return nil, errors.New("Error parsing 'noTariff' field " + _noTariffErr.Error())
}
- _map["Struct"] = noTariff
+ _map["Struct"] = values.NewPlcBOOL(noTariff)
// Simple Field (noActiveElectricalEnergy)
noActiveElectricalEnergy, _noActiveElectricalEnergyErr := io.ReadBit()
if _noActiveElectricalEnergyErr != nil {
return nil, errors.New("Error parsing 'noActiveElectricalEnergy' field " + _noActiveElectricalEnergyErr.Error())
}
- _map["Struct"] = noActiveElectricalEnergy
+ _map["Struct"] = values.NewPlcBOOL(noActiveElectricalEnergy)
return values.NewPlcStruct(_map), nil
case formatName == "B1N3N4": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -3014,24 +3014,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _deactivationOfPriorityErr != nil {
return nil, errors.New("Error parsing 'deactivationOfPriority' field " + _deactivationOfPriorityErr.Error())
}
- _map["Struct"] = deactivationOfPriority
+ _map["Struct"] = values.NewPlcBOOL(deactivationOfPriority)
// Simple Field (priorityLevel)
priorityLevel, _priorityLevelErr := io.ReadUint8(3)
if _priorityLevelErr != nil {
return nil, errors.New("Error parsing 'priorityLevel' field " + _priorityLevelErr.Error())
}
- _map["Struct"] = priorityLevel
+ _map["Struct"] = values.NewPlcUSINT(priorityLevel)
// Simple Field (modeLevel)
modeLevel, _modeLevelErr := io.ReadUint8(4)
if _modeLevelErr != nil {
return nil, errors.New("Error parsing 'modeLevel' field " + _modeLevelErr.Error())
}
- _map["Struct"] = modeLevel
+ _map["Struct"] = values.NewPlcUSINT(modeLevel)
return values.NewPlcStruct(_map), nil
case formatName == "B10U6": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(5); _err != nil {
@@ -3043,45 +3043,45 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _convertorErrorErr != nil {
return nil, errors.New("Error parsing 'convertorError' field " + _convertorErrorErr.Error())
}
- _map["Struct"] = convertorError
+ _map["Struct"] = values.NewPlcBOOL(convertorError)
// Simple Field (ballastFailure)
ballastFailure, _ballastFailureErr := io.ReadBit()
if _ballastFailureErr != nil {
return nil, errors.New("Error parsing 'ballastFailure' field " + _ballastFailureErr.Error())
}
- _map["Struct"] = ballastFailure
+ _map["Struct"] = values.NewPlcBOOL(ballastFailure)
// Simple Field (lampError)
lampError, _lampErrorErr := io.ReadBit()
if _lampErrorErr != nil {
return nil, errors.New("Error parsing 'lampError' field " + _lampErrorErr.Error())
}
- _map["Struct"] = lampError
+ _map["Struct"] = values.NewPlcBOOL(lampError)
// Simple Field (read)
read, _readErr := io.ReadBit()
if _readErr != nil {
return nil, errors.New("Error parsing 'read' field " + _readErr.Error())
}
- _map["Struct"] = read
+ _map["Struct"] = values.NewPlcBOOL(read)
// Simple Field (groupAddress)
groupAddress, _groupAddressErr := io.ReadBit()
if _groupAddressErr != nil {
return nil, errors.New("Error parsing 'groupAddress' field " + _groupAddressErr.Error())
}
- _map["Struct"] = groupAddress
+ _map["Struct"] = values.NewPlcBOOL(groupAddress)
// Simple Field (address)
address, _addressErr := io.ReadUint8(6)
if _addressErr != nil {
return nil, errors.New("Error parsing 'address' field " + _addressErr.Error())
}
- _map["Struct"] = address
+ _map["Struct"] = values.NewPlcUSINT(address)
return values.NewPlcStruct(_map), nil
case formatName == "B2U6": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -3093,24 +3093,24 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _sceneActivationInactiveErr != nil {
return nil, errors.New("Error parsing 'sceneActivationInactive' field " + _sceneActivationInactiveErr.Error())
}
- _map["Struct"] = sceneActivationInactive
+ _map["Struct"] = values.NewPlcBOOL(sceneActivationInactive)
// Simple Field (storageFunctionDisable)
storageFunctionDisable, _storageFunctionDisableErr := io.ReadBit()
if _storageFunctionDisableErr != nil {
return nil, errors.New("Error parsing 'storageFunctionDisable' field " + _storageFunctionDisableErr.Error())
}
- _map["Struct"] = storageFunctionDisable
+ _map["Struct"] = values.NewPlcBOOL(storageFunctionDisable)
// Simple Field (sceneNumber)
sceneNumber, _sceneNumberErr := io.ReadUint8(6)
if _sceneNumberErr != nil {
return nil, errors.New("Error parsing 'sceneNumber' field " + _sceneNumberErr.Error())
}
- _map["Struct"] = sceneNumber
+ _map["Struct"] = values.NewPlcUSINT(sceneNumber)
return values.NewPlcStruct(_map), nil
case formatName == "U8r7B1": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -3122,7 +3122,7 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _setValueErr != nil {
return nil, errors.New("Error parsing 'setValue' field " + _setValueErr.Error())
}
- _map["Struct"] = setValue
+ _map["Struct"] = values.NewPlcUSINT(setValue)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(7); _err != nil {
@@ -3134,10 +3134,10 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _channelActivationActiveErr != nil {
return nil, errors.New("Error parsing 'channelActivationActive' field " + _channelActivationActiveErr.Error())
}
- _map["Struct"] = channelActivationActive
+ _map["Struct"] = values.NewPlcBOOL(channelActivationActive)
return values.NewPlcStruct(_map), nil
case formatName == "U8U8B8": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -3149,14 +3149,14 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _heightPositionErr != nil {
return nil, errors.New("Error parsing 'heightPosition' field " + _heightPositionErr.Error())
}
- _map["Struct"] = heightPosition
+ _map["Struct"] = values.NewPlcUSINT(heightPosition)
// Simple Field (slatsPosition)
slatsPosition, _slatsPositionErr := io.ReadUint8(8)
if _slatsPositionErr != nil {
return nil, errors.New("Error parsing 'slatsPosition' field " + _slatsPositionErr.Error())
}
- _map["Struct"] = slatsPosition
+ _map["Struct"] = values.NewPlcUSINT(slatsPosition)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(6); _err != nil {
@@ -3168,17 +3168,17 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _validSlatsPosErr != nil {
return nil, errors.New("Error parsing 'validSlatsPos' field " + _validSlatsPosErr.Error())
}
- _map["Struct"] = validSlatsPos
+ _map["Struct"] = values.NewPlcBOOL(validSlatsPos)
// Simple Field (validHeightPos)
validHeightPos, _validHeightPosErr := io.ReadBit()
if _validHeightPosErr != nil {
return nil, errors.New("Error parsing 'validHeightPos' field " + _validHeightPosErr.Error())
}
- _map["Struct"] = validHeightPos
+ _map["Struct"] = values.NewPlcBOOL(validHeightPos)
return values.NewPlcStruct(_map), nil
case formatName == "U8U8B16": // Struct
- _map := map[string]interface{}{}
+ _map := map[string]api.PlcValue{}
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(8); _err != nil {
@@ -3190,28 +3190,28 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _heightPositionErr != nil {
return nil, errors.New("Error parsing 'heightPosition' field " + _heightPositionErr.Error())
}
- _map["Struct"] = heightPosition
+ _map["Struct"] = values.NewPlcUSINT(heightPosition)
// Simple Field (slatsPosition)
slatsPosition, _slatsPositionErr := io.ReadUint8(8)
if _slatsPositionErr != nil {
return nil, errors.New("Error parsing 'slatsPosition' field " + _slatsPositionErr.Error())
}
- _map["Struct"] = slatsPosition
+ _map["Struct"] = values.NewPlcUSINT(slatsPosition)
// Simple Field (validSlatsPos)
validSlatsPos, _validSlatsPosErr := io.ReadBit()
if _validSlatsPosErr != nil {
return nil, errors.New("Error parsing 'validSlatsPos' field " + _validSlatsPosErr.Error())
}
- _map["Struct"] = validSlatsPos
+ _map["Struct"] = values.NewPlcBOOL(validSlatsPos)
// Simple Field (validHeightPos)
validHeightPos, _validHeightPosErr := io.ReadBit()
if _validHeightPosErr != nil {
return nil, errors.New("Error parsing 'validHeightPos' field " + _validHeightPosErr.Error())
}
- _map["Struct"] = validHeightPos
+ _map["Struct"] = values.NewPlcBOOL(validHeightPos)
// Reserved Field (Just skip the bytes)
if _, _err := io.ReadUint8(3); _err != nil {
@@ -3223,77 +3223,77 @@ func KnxDatapointParse(io *utils.ReadBuffer, formatName string) (api.PlcValue, e
if _failureErr != nil {
return nil, errors.New("Error parsing 'failure' field " + _failureErr.Error())
}
- _map["Struct"] = failure
+ _map["Struct"] = values.NewPlcBOOL(failure)
// Simple Field (localOverride)
localOverride, _localOverrideErr := io.ReadBit()
if _localOverrideErr != nil {
return nil, errors.New("Error parsing 'localOverride' field " + _localOverrideErr.Error())
}
- _map["Struct"] = localOverride
+ _map["Struct"] = values.NewPlcBOOL(localOverride)
// Simple Field (locked)
locked, _lockedErr := io.ReadBit()
if _lockedErr != nil {
return nil, errors.New("Error parsing 'locked' field " + _lockedErr.Error())
}
- _map["Struct"] = locked
+ _map["Struct"] = values.NewPlcBOOL(locked)
// Simple Field (forced)
forced, _forcedErr := io.ReadBit()
if _forcedErr != nil {
return nil, errors.New("Error parsing 'forced' field " + _forcedErr.Error())
}
- _map["Struct"] = forced
+ _map["Struct"] = values.NewPlcBOOL(forced)
// Simple Field (weatherAlarm)
weatherAlarm, _weatherAlarmErr := io.ReadBit()
if _weatherAlarmErr != nil {
return nil, errors.New("Error parsing 'weatherAlarm' field " + _weatherAlarmErr.Error())
}
- _map["Struct"] = weatherAlarm
+ _map["Struct"] = values.NewPlcBOOL(weatherAlarm)
// Simple Field (targetSPosRestrict)
targetSPosRestrict, _targetSPosRestrictErr := io.ReadBit()
if _targetSPosRestrictErr != nil {
return nil, errors.New("Error parsing 'targetSPosRestrict' field " + _targetSPosRestrictErr.Error())
}
- _map["Struct"] = targetSPosRestrict
+ _map["Struct"] = values.NewPlcBOOL(targetSPosRestrict)
// Simple Field (targetHPosRestrict)
targetHPosRestrict, _targetHPosRestrictErr := io.ReadBit()
if _targetHPosRestrictErr != nil {
return nil, errors.New("Error parsing 'targetHPosRestrict' field " + _targetHPosRestrictErr.Error())
}
- _map["Struct"] = targetHPosRestrict
+ _map["Struct"] = values.NewPlcBOOL(targetHPosRestrict)
// Simple Field (driveState)
driveState, _driveStateErr := io.ReadBit()
if _driveStateErr != nil {
return nil, errors.New("Error parsing 'driveState' field " + _driveStateErr.Error())
}
- _map["Struct"] = driveState
+ _map["Struct"] = values.NewPlcBOOL(driveState)
// Simple Field (lowerPredefPos)
lowerPredefPos, _lowerPredefPosErr := io.ReadBit()
if _lowerPredefPosErr != nil {
return nil, errors.New("Error parsing 'lowerPredefPos' field " + _lowerPredefPosErr.Error())
}
- _map["Struct"] = lowerPredefPos
+ _map["Struct"] = values.NewPlcBOOL(lowerPredefPos)
// Simple Field (lowerEndPos)
lowerEndPos, _lowerEndPosErr := io.ReadBit()
if _lowerEndPosErr != nil {
return nil, errors.New("Error parsing 'lowerEndPos' field " + _lowerEndPosErr.Error())
}
- _map["Struct"] = lowerEndPos
+ _map["Struct"] = values.NewPlcBOOL(lowerEndPos)
// Simple Field (upperEndPos)
upperEndPos, _upperEndPosErr := io.ReadBit()
if _upperEndPosErr != nil {
return nil, errors.New("Error parsing 'upperEndPos' field " + _upperEndPosErr.Error())
}
- _map["Struct"] = upperEndPos
+ _map["Struct"] = values.NewPlcBOOL(upperEndPos)
return values.NewPlcStruct(_map), nil
}
return nil, errors.New("unsupported type")
diff --git a/plc4go/internal/plc4go/model/values/PlcStruct.go b/plc4go/internal/plc4go/model/values/PlcStruct.go
index 77d5212..5a9eb58 100644
--- a/plc4go/internal/plc4go/model/values/PlcStruct.go
+++ b/plc4go/internal/plc4go/model/values/PlcStruct.go
@@ -21,6 +21,7 @@ package values
import (
"encoding/xml"
api "github.com/apache/plc4x/plc4go/pkg/plc4go/values"
+ "strings"
)
type PlcStruct struct {
@@ -28,9 +29,9 @@ type PlcStruct struct {
PlcValueAdapter
}
-func NewPlcStruct(value map[string]interface{}) PlcStruct {
+func NewPlcStruct(value map[string]api.PlcValue) PlcStruct {
return PlcStruct{
- values: map[string]api.PlcValue{},
+ values: value,
}
}
@@ -64,6 +65,20 @@ func (m PlcStruct) GetStruct() map[string]api.PlcValue {
return m.values
}
+func (m PlcStruct) GetString() string {
+ var sb strings.Builder
+ sb.WriteString("PlcStruct{\n")
+ for fieldName, fieldValue := range m.values {
+ sb.WriteString(" ")
+ sb.WriteString(fieldName)
+ sb.WriteString(": \"")
+ sb.WriteString(fieldValue.GetString())
+ sb.WriteString("\"\n")
+ }
+ sb.WriteString("}")
+ return sb.String()
+}
+
func (m PlcStruct) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if err := e.EncodeToken(xml.StartElement{Name: xml.Name{Local: "PlcNULL"}}); err != nil {
return err
diff --git a/plc4go/internal/plc4go/utils/ReadBuffer.go b/plc4go/internal/plc4go/utils/ReadBuffer.go
index 99413bc..453ac92 100644
--- a/plc4go/internal/plc4go/utils/ReadBuffer.go
+++ b/plc4go/internal/plc4go/utils/ReadBuffer.go
@@ -41,6 +41,10 @@ func NewReadBuffer(data []uint8) *ReadBuffer {
}
}
+func (rb ReadBuffer) Reset() {
+ rb.pos = uint64(0)
+}
+
func (rb ReadBuffer) GetPos() uint16 {
return uint16(rb.pos / 8)
}