You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2022/05/20 14:56:54 UTC

[plc4x] branch develop updated: feat(bacnet): implemented remaining direct defined enums

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 94ca4f0170 feat(bacnet): implemented remaining direct defined enums
94ca4f0170 is described below

commit 94ca4f0170d1c026bb22bd2da74d9988640b59ed
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri May 20 16:56:45 2022 +0200

    feat(bacnet): implemented remaining direct defined enums
---
 .../BACnetAccessAuthenticationFactorDisable.go     |   48 +
 .../model/BACnetAccessCredentialDisable.go         |   32 +
 .../model/BACnetAccessCredentialDisableReason.go   |   82 +-
 .../bacnetip/readwrite/model/BACnetAccessEvent.go  |  434 ++++-
 .../readwrite/model/BACnetAccessPassbackMode.go    |  130 ++
 .../readwrite/model/BACnetAccessUserType.go        |   24 +
 .../model/BACnetAccessZoneOccupancyState.go        |   56 +
 .../model/BACnetAuthenticationFactorType.go        |  306 +++
 .../readwrite/model/BACnetAuthenticationStatus.go  |  162 ++
 .../model/BACnetAuthorizationExemption.go          |   56 +
 .../readwrite/model/BACnetAuthorizationMode.go     |   48 +
 .../bacnetip/readwrite/model/BACnetBackupState.go  |  162 ++
 .../readwrite/model/BACnetBinaryLightingPV.go      |   48 +
 .../bacnetip/readwrite/model/BACnetDeviceStatus.go |   48 +
 .../readwrite/model/BACnetDoorAlarmState.go        |   72 +
 .../readwrite/model/BACnetDoorSecuredStatus.go     |  130 ++
 .../bacnetip/readwrite/model/BACnetDoorStatus.go   |   80 +
 .../bacnetip/readwrite/model/BACnetDoorValue.go    |  138 ++
 .../readwrite/model/BACnetEngineeringUnits.go      | 2024 +++++++++++++++++++-
 .../readwrite/model/BACnetEscalatorFault.go        |   74 +-
 .../readwrite/model/BACnetEscalatorMode.go         |   48 +
 .../model/BACnetEscalatorOperationDirection.go     |   48 +
 .../bacnetip/readwrite/model/BACnetFaultType.go    |  170 ++
 .../readwrite/model/BACnetFileAccessMethod.go      |  122 ++
 .../bacnetip/readwrite/model/BACnetIPMode.go       |  130 ++
 .../readwrite/model/BACnetLifeSafetyOperation.go   |   80 +
 .../readwrite/model/BACnetLiftCarDirection.go      |   48 +
 .../readwrite/model/BACnetLiftCarDoorCommand.go    |  130 ++
 .../readwrite/model/BACnetLiftCarDriveStatus.go    |   80 +
 .../bacnetip/readwrite/model/BACnetLiftCarMode.go  |  112 ++
 .../bacnetip/readwrite/model/BACnetLiftFault.go    |  138 +-
 .../readwrite/model/BACnetLiftGroupMode.go         |  162 ++
 .../readwrite/model/BACnetLightingInProgress.go    |  146 ++
 .../readwrite/model/BACnetLightingOperation.go     |   88 +
 .../readwrite/model/BACnetLightingTransition.go    |   24 +
 .../bacnetip/readwrite/model/BACnetLockStatus.go   |  146 ++
 .../bacnetip/readwrite/model/BACnetLoggingType.go  |   24 +
 .../bacnetip/readwrite/model/BACnetMaintenance.go  |   32 +
 .../readwrite/model/BACnetNetworkNumberQuality.go  |  138 ++
 .../readwrite/model/BACnetNetworkPortCommand.go    |   64 +
 .../bacnetip/readwrite/model/BACnetPolarity.go     |  122 ++
 .../bacnetip/readwrite/model/BACnetProgramError.go |   40 +
 .../readwrite/model/BACnetProgramRequest.go        |  154 ++
 .../bacnetip/readwrite/model/BACnetProgramState.go |  154 ++
 .../readwrite/model/BACnetProtocolLevel.go         |  138 ++
 .../bacnetip/readwrite/model/BACnetRelationship.go |  240 +++
 .../readwrite/model/BACnetRestartReason.go         |   72 +
 .../readwrite/model/BACnetSecurityLevel.go         |  154 ++
 .../readwrite/model/BACnetSecurityPolicy.go        |  138 ++
 .../bacnetip/readwrite/model/BACnetShedState.go    |  138 ++
 .../readwrite/model/BACnetSilencedState.go         |   32 +
 .../bacnetip/readwrite/model/BACnetTimerState.go   |  130 ++
 .../readwrite/model/BACnetTimerTransition.go       |  170 ++
 .../bacnetip/readwrite/model/BACnetVTClass.go      |   56 +
 .../bacnetip/readwrite/model/BACnetWriteStatus.go  |  138 ++
 .../protocols/bacnetip/bacnet-enums.mspec          |  656 ++++++-
 .../protocols/bacnetip/bacnet-private-enums.mspec  |  237 ++-
 57 files changed, 8757 insertions(+), 96 deletions(-)

diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go
index 2db95a5529..3ccb05b7dd 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessAuthenticationFactorDisable.go
@@ -34,6 +34,12 @@ type IBACnetAccessAuthenticationFactorDisable interface {
 }
 
 const (
+	BACnetAccessAuthenticationFactorDisable_NONE                     BACnetAccessAuthenticationFactorDisable = 0
+	BACnetAccessAuthenticationFactorDisable_DISABLED                 BACnetAccessAuthenticationFactorDisable = 1
+	BACnetAccessAuthenticationFactorDisable_DISABLED_LOST            BACnetAccessAuthenticationFactorDisable = 2
+	BACnetAccessAuthenticationFactorDisable_DISABLED_STOLEN          BACnetAccessAuthenticationFactorDisable = 3
+	BACnetAccessAuthenticationFactorDisable_DISABLED_DAMAGED         BACnetAccessAuthenticationFactorDisable = 4
+	BACnetAccessAuthenticationFactorDisable_DISABLED_DESTROYED       BACnetAccessAuthenticationFactorDisable = 5
 	BACnetAccessAuthenticationFactorDisable_VENDOR_PROPRIETARY_VALUE BACnetAccessAuthenticationFactorDisable = 0xFFFF
 )
 
@@ -42,22 +48,52 @@ var BACnetAccessAuthenticationFactorDisableValues []BACnetAccessAuthenticationFa
 func init() {
 	_ = errors.New
 	BACnetAccessAuthenticationFactorDisableValues = []BACnetAccessAuthenticationFactorDisable{
+		BACnetAccessAuthenticationFactorDisable_NONE,
+		BACnetAccessAuthenticationFactorDisable_DISABLED,
+		BACnetAccessAuthenticationFactorDisable_DISABLED_LOST,
+		BACnetAccessAuthenticationFactorDisable_DISABLED_STOLEN,
+		BACnetAccessAuthenticationFactorDisable_DISABLED_DAMAGED,
+		BACnetAccessAuthenticationFactorDisable_DISABLED_DESTROYED,
 		BACnetAccessAuthenticationFactorDisable_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAccessAuthenticationFactorDisableByValue(value uint16) BACnetAccessAuthenticationFactorDisable {
 	switch value {
+	case 0:
+		return BACnetAccessAuthenticationFactorDisable_NONE
 	case 0xFFFF:
 		return BACnetAccessAuthenticationFactorDisable_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAccessAuthenticationFactorDisable_DISABLED
+	case 2:
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_LOST
+	case 3:
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_STOLEN
+	case 4:
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_DAMAGED
+	case 5:
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_DESTROYED
 	}
 	return 0
 }
 
 func BACnetAccessAuthenticationFactorDisableByName(value string) BACnetAccessAuthenticationFactorDisable {
 	switch value {
+	case "NONE":
+		return BACnetAccessAuthenticationFactorDisable_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAccessAuthenticationFactorDisable_VENDOR_PROPRIETARY_VALUE
+	case "DISABLED":
+		return BACnetAccessAuthenticationFactorDisable_DISABLED
+	case "DISABLED_LOST":
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_LOST
+	case "DISABLED_STOLEN":
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_STOLEN
+	case "DISABLED_DAMAGED":
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_DAMAGED
+	case "DISABLED_DESTROYED":
+		return BACnetAccessAuthenticationFactorDisable_DISABLED_DESTROYED
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetAccessAuthenticationFactorDisable) Serialize(writeBuffer utils.Wri
 
 func (e BACnetAccessAuthenticationFactorDisable) name() string {
 	switch e {
+	case BACnetAccessAuthenticationFactorDisable_NONE:
+		return "NONE"
 	case BACnetAccessAuthenticationFactorDisable_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAccessAuthenticationFactorDisable_DISABLED:
+		return "DISABLED"
+	case BACnetAccessAuthenticationFactorDisable_DISABLED_LOST:
+		return "DISABLED_LOST"
+	case BACnetAccessAuthenticationFactorDisable_DISABLED_STOLEN:
+		return "DISABLED_STOLEN"
+	case BACnetAccessAuthenticationFactorDisable_DISABLED_DAMAGED:
+		return "DISABLED_DAMAGED"
+	case BACnetAccessAuthenticationFactorDisable_DISABLED_DESTROYED:
+		return "DISABLED_DESTROYED"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go
index 0f8492c929..a9f9c5efcb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisable.go
@@ -34,6 +34,10 @@ type IBACnetAccessCredentialDisable interface {
 }
 
 const (
+	BACnetAccessCredentialDisable_NONE                     BACnetAccessCredentialDisable = 0
+	BACnetAccessCredentialDisable_DISABLE                  BACnetAccessCredentialDisable = 1
+	BACnetAccessCredentialDisable_DISABLE_MANUAL           BACnetAccessCredentialDisable = 2
+	BACnetAccessCredentialDisable_DISABLE_LOCKOUT          BACnetAccessCredentialDisable = 3
 	BACnetAccessCredentialDisable_VENDOR_PROPRIETARY_VALUE BACnetAccessCredentialDisable = 0xFFFF
 )
 
@@ -42,22 +46,42 @@ var BACnetAccessCredentialDisableValues []BACnetAccessCredentialDisable
 func init() {
 	_ = errors.New
 	BACnetAccessCredentialDisableValues = []BACnetAccessCredentialDisable{
+		BACnetAccessCredentialDisable_NONE,
+		BACnetAccessCredentialDisable_DISABLE,
+		BACnetAccessCredentialDisable_DISABLE_MANUAL,
+		BACnetAccessCredentialDisable_DISABLE_LOCKOUT,
 		BACnetAccessCredentialDisable_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAccessCredentialDisableByValue(value uint16) BACnetAccessCredentialDisable {
 	switch value {
+	case 0:
+		return BACnetAccessCredentialDisable_NONE
 	case 0xFFFF:
 		return BACnetAccessCredentialDisable_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAccessCredentialDisable_DISABLE
+	case 2:
+		return BACnetAccessCredentialDisable_DISABLE_MANUAL
+	case 3:
+		return BACnetAccessCredentialDisable_DISABLE_LOCKOUT
 	}
 	return 0
 }
 
 func BACnetAccessCredentialDisableByName(value string) BACnetAccessCredentialDisable {
 	switch value {
+	case "NONE":
+		return BACnetAccessCredentialDisable_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAccessCredentialDisable_VENDOR_PROPRIETARY_VALUE
+	case "DISABLE":
+		return BACnetAccessCredentialDisable_DISABLE
+	case "DISABLE_MANUAL":
+		return BACnetAccessCredentialDisable_DISABLE_MANUAL
+	case "DISABLE_LOCKOUT":
+		return BACnetAccessCredentialDisable_DISABLE_LOCKOUT
 	}
 	return 0
 }
@@ -103,8 +127,16 @@ func (e BACnetAccessCredentialDisable) Serialize(writeBuffer utils.WriteBuffer)
 
 func (e BACnetAccessCredentialDisable) name() string {
 	switch e {
+	case BACnetAccessCredentialDisable_NONE:
+		return "NONE"
 	case BACnetAccessCredentialDisable_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAccessCredentialDisable_DISABLE:
+		return "DISABLE"
+	case BACnetAccessCredentialDisable_DISABLE_MANUAL:
+		return "DISABLE_MANUAL"
+	case BACnetAccessCredentialDisable_DISABLE_LOCKOUT:
+		return "DISABLE_LOCKOUT"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go
index 1e1e1b6348..b01e34f758 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessCredentialDisableReason.go
@@ -34,7 +34,17 @@ type IBACnetAccessCredentialDisableReason interface {
 }
 
 const (
-	BACnetAccessCredentialDisableReason_VENDOR_PROPRIETARY_VALUE BACnetAccessCredentialDisableReason = 0xFFFF
+	BACnetAccessCredentialDisableReason_DISABLED                    BACnetAccessCredentialDisableReason = 0
+	BACnetAccessCredentialDisableReason_DISABLED_NEEDS_PROVISIONING BACnetAccessCredentialDisableReason = 1
+	BACnetAccessCredentialDisableReason_DISABLED_UNASSIGNED         BACnetAccessCredentialDisableReason = 2
+	BACnetAccessCredentialDisableReason_DISABLED_NOT_YET_ACTIVE     BACnetAccessCredentialDisableReason = 3
+	BACnetAccessCredentialDisableReason_DISABLED_EXPIRED            BACnetAccessCredentialDisableReason = 4
+	BACnetAccessCredentialDisableReason_DISABLED_LOCKOUT            BACnetAccessCredentialDisableReason = 5
+	BACnetAccessCredentialDisableReason_DISABLED_MAX_DAYS           BACnetAccessCredentialDisableReason = 6
+	BACnetAccessCredentialDisableReason_DISABLED_MAX_USES           BACnetAccessCredentialDisableReason = 7
+	BACnetAccessCredentialDisableReason_DISABLED_INACTIVITY         BACnetAccessCredentialDisableReason = 8
+	BACnetAccessCredentialDisableReason_DISABLED_MANUAL             BACnetAccessCredentialDisableReason = 9
+	BACnetAccessCredentialDisableReason_VENDOR_PROPRIETARY_VALUE    BACnetAccessCredentialDisableReason = 0xFFFF
 )
 
 var BACnetAccessCredentialDisableReasonValues []BACnetAccessCredentialDisableReason
@@ -42,22 +52,72 @@ var BACnetAccessCredentialDisableReasonValues []BACnetAccessCredentialDisableRea
 func init() {
 	_ = errors.New
 	BACnetAccessCredentialDisableReasonValues = []BACnetAccessCredentialDisableReason{
+		BACnetAccessCredentialDisableReason_DISABLED,
+		BACnetAccessCredentialDisableReason_DISABLED_NEEDS_PROVISIONING,
+		BACnetAccessCredentialDisableReason_DISABLED_UNASSIGNED,
+		BACnetAccessCredentialDisableReason_DISABLED_NOT_YET_ACTIVE,
+		BACnetAccessCredentialDisableReason_DISABLED_EXPIRED,
+		BACnetAccessCredentialDisableReason_DISABLED_LOCKOUT,
+		BACnetAccessCredentialDisableReason_DISABLED_MAX_DAYS,
+		BACnetAccessCredentialDisableReason_DISABLED_MAX_USES,
+		BACnetAccessCredentialDisableReason_DISABLED_INACTIVITY,
+		BACnetAccessCredentialDisableReason_DISABLED_MANUAL,
 		BACnetAccessCredentialDisableReason_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAccessCredentialDisableReasonByValue(value uint16) BACnetAccessCredentialDisableReason {
 	switch value {
+	case 0:
+		return BACnetAccessCredentialDisableReason_DISABLED
 	case 0xFFFF:
 		return BACnetAccessCredentialDisableReason_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAccessCredentialDisableReason_DISABLED_NEEDS_PROVISIONING
+	case 2:
+		return BACnetAccessCredentialDisableReason_DISABLED_UNASSIGNED
+	case 3:
+		return BACnetAccessCredentialDisableReason_DISABLED_NOT_YET_ACTIVE
+	case 4:
+		return BACnetAccessCredentialDisableReason_DISABLED_EXPIRED
+	case 5:
+		return BACnetAccessCredentialDisableReason_DISABLED_LOCKOUT
+	case 6:
+		return BACnetAccessCredentialDisableReason_DISABLED_MAX_DAYS
+	case 7:
+		return BACnetAccessCredentialDisableReason_DISABLED_MAX_USES
+	case 8:
+		return BACnetAccessCredentialDisableReason_DISABLED_INACTIVITY
+	case 9:
+		return BACnetAccessCredentialDisableReason_DISABLED_MANUAL
 	}
 	return 0
 }
 
 func BACnetAccessCredentialDisableReasonByName(value string) BACnetAccessCredentialDisableReason {
 	switch value {
+	case "DISABLED":
+		return BACnetAccessCredentialDisableReason_DISABLED
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAccessCredentialDisableReason_VENDOR_PROPRIETARY_VALUE
+	case "DISABLED_NEEDS_PROVISIONING":
+		return BACnetAccessCredentialDisableReason_DISABLED_NEEDS_PROVISIONING
+	case "DISABLED_UNASSIGNED":
+		return BACnetAccessCredentialDisableReason_DISABLED_UNASSIGNED
+	case "DISABLED_NOT_YET_ACTIVE":
+		return BACnetAccessCredentialDisableReason_DISABLED_NOT_YET_ACTIVE
+	case "DISABLED_EXPIRED":
+		return BACnetAccessCredentialDisableReason_DISABLED_EXPIRED
+	case "DISABLED_LOCKOUT":
+		return BACnetAccessCredentialDisableReason_DISABLED_LOCKOUT
+	case "DISABLED_MAX_DAYS":
+		return BACnetAccessCredentialDisableReason_DISABLED_MAX_DAYS
+	case "DISABLED_MAX_USES":
+		return BACnetAccessCredentialDisableReason_DISABLED_MAX_USES
+	case "DISABLED_INACTIVITY":
+		return BACnetAccessCredentialDisableReason_DISABLED_INACTIVITY
+	case "DISABLED_MANUAL":
+		return BACnetAccessCredentialDisableReason_DISABLED_MANUAL
 	}
 	return 0
 }
@@ -103,8 +163,28 @@ func (e BACnetAccessCredentialDisableReason) Serialize(writeBuffer utils.WriteBu
 
 func (e BACnetAccessCredentialDisableReason) name() string {
 	switch e {
+	case BACnetAccessCredentialDisableReason_DISABLED:
+		return "DISABLED"
 	case BACnetAccessCredentialDisableReason_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAccessCredentialDisableReason_DISABLED_NEEDS_PROVISIONING:
+		return "DISABLED_NEEDS_PROVISIONING"
+	case BACnetAccessCredentialDisableReason_DISABLED_UNASSIGNED:
+		return "DISABLED_UNASSIGNED"
+	case BACnetAccessCredentialDisableReason_DISABLED_NOT_YET_ACTIVE:
+		return "DISABLED_NOT_YET_ACTIVE"
+	case BACnetAccessCredentialDisableReason_DISABLED_EXPIRED:
+		return "DISABLED_EXPIRED"
+	case BACnetAccessCredentialDisableReason_DISABLED_LOCKOUT:
+		return "DISABLED_LOCKOUT"
+	case BACnetAccessCredentialDisableReason_DISABLED_MAX_DAYS:
+		return "DISABLED_MAX_DAYS"
+	case BACnetAccessCredentialDisableReason_DISABLED_MAX_USES:
+		return "DISABLED_MAX_USES"
+	case BACnetAccessCredentialDisableReason_DISABLED_INACTIVITY:
+		return "DISABLED_INACTIVITY"
+	case BACnetAccessCredentialDisableReason_DISABLED_MANUAL:
+		return "DISABLED_MANUAL"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessEvent.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessEvent.go
index 6d49297493..50de5cc22e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessEvent.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessEvent.go
@@ -34,7 +34,61 @@ type IBACnetAccessEvent interface {
 }
 
 const (
-	BACnetAccessEvent_VENDOR_PROPRIETARY_VALUE BACnetAccessEvent = 0xFFFF
+	BACnetAccessEvent_NONE                                   BACnetAccessEvent = 0
+	BACnetAccessEvent_GRANTED                                BACnetAccessEvent = 1
+	BACnetAccessEvent_MUSTER                                 BACnetAccessEvent = 2
+	BACnetAccessEvent_PASSBACK_DETECTED                      BACnetAccessEvent = 3
+	BACnetAccessEvent_DURESS                                 BACnetAccessEvent = 4
+	BACnetAccessEvent_TRACE                                  BACnetAccessEvent = 5
+	BACnetAccessEvent_LOCKOUT_MAX_ATTEMPTS                   BACnetAccessEvent = 6
+	BACnetAccessEvent_LOCKOUT_OTHER                          BACnetAccessEvent = 7
+	BACnetAccessEvent_LOCKOUT_RELINQUISHED                   BACnetAccessEvent = 8
+	BACnetAccessEvent_LOCKED_BY_HIGHER_PRIORITY              BACnetAccessEvent = 9
+	BACnetAccessEvent_OUT_OF_SERVICE                         BACnetAccessEvent = 10
+	BACnetAccessEvent_OUT_OF_SERVICE_RELINQUISHED            BACnetAccessEvent = 11
+	BACnetAccessEvent_ACCOMPANIMENT_BY                       BACnetAccessEvent = 12
+	BACnetAccessEvent_AUTHENTICATION_FACTOR_READ             BACnetAccessEvent = 13
+	BACnetAccessEvent_AUTHORIZATION_DELAYED                  BACnetAccessEvent = 14
+	BACnetAccessEvent_VERIFICATION_REQUIRED                  BACnetAccessEvent = 15
+	BACnetAccessEvent_NO_ENTRY_AFTER_GRANTED                 BACnetAccessEvent = 16
+	BACnetAccessEvent_DENIED_DENY_ALL                        BACnetAccessEvent = 128
+	BACnetAccessEvent_DENIED_UNKNOWN_CREDENTIAL              BACnetAccessEvent = 129
+	BACnetAccessEvent_DENIED_AUTHENTICATION_UNAVAILABLE      BACnetAccessEvent = 130
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_TIMEOUT   BACnetAccessEvent = 131
+	BACnetAccessEvent_DENIED_INCORRECT_AUTHENTICATION_FACTOR BACnetAccessEvent = 132
+	BACnetAccessEvent_DENIED_ZONE_NO_ACCESS_RIGHTS           BACnetAccessEvent = 133
+	BACnetAccessEvent_DENIED_POINT_NO_ACCESS_RIGHTS          BACnetAccessEvent = 134
+	BACnetAccessEvent_DENIED_NO_ACCESS_RIGHTS                BACnetAccessEvent = 135
+	BACnetAccessEvent_DENIED_OUT_OF_TIME_RANGE               BACnetAccessEvent = 136
+	BACnetAccessEvent_DENIED_THREAT_LEVEL                    BACnetAccessEvent = 137
+	BACnetAccessEvent_DENIED_PASSBACK                        BACnetAccessEvent = 138
+	BACnetAccessEvent_DENIED_UNEXPECTED_LOCATION_USAGE       BACnetAccessEvent = 139
+	BACnetAccessEvent_DENIED_MAX_ATTEMPTS                    BACnetAccessEvent = 140
+	BACnetAccessEvent_DENIED_LOWER_OCCUPANCY_LIMIT           BACnetAccessEvent = 141
+	BACnetAccessEvent_DENIED_UPPER_OCCUPANCY_LIMIT           BACnetAccessEvent = 142
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_LOST      BACnetAccessEvent = 143
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_STOLEN    BACnetAccessEvent = 144
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DAMAGED   BACnetAccessEvent = 145
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DESTROYED BACnetAccessEvent = 146
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DISABLED  BACnetAccessEvent = 147
+	BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_ERROR     BACnetAccessEvent = 148
+	BACnetAccessEvent_DENIED_CREDENTIAL_UNASSIGNED           BACnetAccessEvent = 149
+	BACnetAccessEvent_DENIED_CREDENTIAL_NOT_PROVISIONED      BACnetAccessEvent = 150
+	BACnetAccessEvent_DENIED_CREDENTIAL_NOT_YET_ACTIVE       BACnetAccessEvent = 151
+	BACnetAccessEvent_DENIED_CREDENTIAL_EXPIRED              BACnetAccessEvent = 152
+	BACnetAccessEvent_DENIED_CREDENTIAL_MANUAL_DISABLE       BACnetAccessEvent = 153
+	BACnetAccessEvent_DENIED_CREDENTIAL_LOCKOUT              BACnetAccessEvent = 154
+	BACnetAccessEvent_DENIED_CREDENTIAL_MAX_DAYS             BACnetAccessEvent = 155
+	BACnetAccessEvent_DENIED_CREDENTIAL_MAX_USES             BACnetAccessEvent = 156
+	BACnetAccessEvent_DENIED_CREDENTIAL_INACTIVITY           BACnetAccessEvent = 157
+	BACnetAccessEvent_DENIED_CREDENTIAL_DISABLED             BACnetAccessEvent = 158
+	BACnetAccessEvent_DENIED_NO_ACCOMPANIMENT                BACnetAccessEvent = 159
+	BACnetAccessEvent_DENIED_INCORRECT_ACCOMPANIMENT         BACnetAccessEvent = 160
+	BACnetAccessEvent_DENIED_LOCKOUT                         BACnetAccessEvent = 161
+	BACnetAccessEvent_DENIED_VERIFICATION_FAILED             BACnetAccessEvent = 162
+	BACnetAccessEvent_DENIED_VERIFICATION_TIMEOUT            BACnetAccessEvent = 163
+	BACnetAccessEvent_DENIED_OTHER                           BACnetAccessEvent = 164
+	BACnetAccessEvent_VENDOR_PROPRIETARY_VALUE               BACnetAccessEvent = 0xFFFF
 )
 
 var BACnetAccessEventValues []BACnetAccessEvent
@@ -42,22 +96,292 @@ var BACnetAccessEventValues []BACnetAccessEvent
 func init() {
 	_ = errors.New
 	BACnetAccessEventValues = []BACnetAccessEvent{
+		BACnetAccessEvent_NONE,
+		BACnetAccessEvent_GRANTED,
+		BACnetAccessEvent_MUSTER,
+		BACnetAccessEvent_PASSBACK_DETECTED,
+		BACnetAccessEvent_DURESS,
+		BACnetAccessEvent_TRACE,
+		BACnetAccessEvent_LOCKOUT_MAX_ATTEMPTS,
+		BACnetAccessEvent_LOCKOUT_OTHER,
+		BACnetAccessEvent_LOCKOUT_RELINQUISHED,
+		BACnetAccessEvent_LOCKED_BY_HIGHER_PRIORITY,
+		BACnetAccessEvent_OUT_OF_SERVICE,
+		BACnetAccessEvent_OUT_OF_SERVICE_RELINQUISHED,
+		BACnetAccessEvent_ACCOMPANIMENT_BY,
+		BACnetAccessEvent_AUTHENTICATION_FACTOR_READ,
+		BACnetAccessEvent_AUTHORIZATION_DELAYED,
+		BACnetAccessEvent_VERIFICATION_REQUIRED,
+		BACnetAccessEvent_NO_ENTRY_AFTER_GRANTED,
+		BACnetAccessEvent_DENIED_DENY_ALL,
+		BACnetAccessEvent_DENIED_UNKNOWN_CREDENTIAL,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_UNAVAILABLE,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_TIMEOUT,
+		BACnetAccessEvent_DENIED_INCORRECT_AUTHENTICATION_FACTOR,
+		BACnetAccessEvent_DENIED_ZONE_NO_ACCESS_RIGHTS,
+		BACnetAccessEvent_DENIED_POINT_NO_ACCESS_RIGHTS,
+		BACnetAccessEvent_DENIED_NO_ACCESS_RIGHTS,
+		BACnetAccessEvent_DENIED_OUT_OF_TIME_RANGE,
+		BACnetAccessEvent_DENIED_THREAT_LEVEL,
+		BACnetAccessEvent_DENIED_PASSBACK,
+		BACnetAccessEvent_DENIED_UNEXPECTED_LOCATION_USAGE,
+		BACnetAccessEvent_DENIED_MAX_ATTEMPTS,
+		BACnetAccessEvent_DENIED_LOWER_OCCUPANCY_LIMIT,
+		BACnetAccessEvent_DENIED_UPPER_OCCUPANCY_LIMIT,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_LOST,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_STOLEN,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DAMAGED,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DESTROYED,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DISABLED,
+		BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_ERROR,
+		BACnetAccessEvent_DENIED_CREDENTIAL_UNASSIGNED,
+		BACnetAccessEvent_DENIED_CREDENTIAL_NOT_PROVISIONED,
+		BACnetAccessEvent_DENIED_CREDENTIAL_NOT_YET_ACTIVE,
+		BACnetAccessEvent_DENIED_CREDENTIAL_EXPIRED,
+		BACnetAccessEvent_DENIED_CREDENTIAL_MANUAL_DISABLE,
+		BACnetAccessEvent_DENIED_CREDENTIAL_LOCKOUT,
+		BACnetAccessEvent_DENIED_CREDENTIAL_MAX_DAYS,
+		BACnetAccessEvent_DENIED_CREDENTIAL_MAX_USES,
+		BACnetAccessEvent_DENIED_CREDENTIAL_INACTIVITY,
+		BACnetAccessEvent_DENIED_CREDENTIAL_DISABLED,
+		BACnetAccessEvent_DENIED_NO_ACCOMPANIMENT,
+		BACnetAccessEvent_DENIED_INCORRECT_ACCOMPANIMENT,
+		BACnetAccessEvent_DENIED_LOCKOUT,
+		BACnetAccessEvent_DENIED_VERIFICATION_FAILED,
+		BACnetAccessEvent_DENIED_VERIFICATION_TIMEOUT,
+		BACnetAccessEvent_DENIED_OTHER,
 		BACnetAccessEvent_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAccessEventByValue(value uint16) BACnetAccessEvent {
 	switch value {
+	case 0:
+		return BACnetAccessEvent_NONE
 	case 0xFFFF:
 		return BACnetAccessEvent_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAccessEvent_GRANTED
+	case 10:
+		return BACnetAccessEvent_OUT_OF_SERVICE
+	case 11:
+		return BACnetAccessEvent_OUT_OF_SERVICE_RELINQUISHED
+	case 12:
+		return BACnetAccessEvent_ACCOMPANIMENT_BY
+	case 128:
+		return BACnetAccessEvent_DENIED_DENY_ALL
+	case 129:
+		return BACnetAccessEvent_DENIED_UNKNOWN_CREDENTIAL
+	case 13:
+		return BACnetAccessEvent_AUTHENTICATION_FACTOR_READ
+	case 130:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_UNAVAILABLE
+	case 131:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_TIMEOUT
+	case 132:
+		return BACnetAccessEvent_DENIED_INCORRECT_AUTHENTICATION_FACTOR
+	case 133:
+		return BACnetAccessEvent_DENIED_ZONE_NO_ACCESS_RIGHTS
+	case 134:
+		return BACnetAccessEvent_DENIED_POINT_NO_ACCESS_RIGHTS
+	case 135:
+		return BACnetAccessEvent_DENIED_NO_ACCESS_RIGHTS
+	case 136:
+		return BACnetAccessEvent_DENIED_OUT_OF_TIME_RANGE
+	case 137:
+		return BACnetAccessEvent_DENIED_THREAT_LEVEL
+	case 138:
+		return BACnetAccessEvent_DENIED_PASSBACK
+	case 139:
+		return BACnetAccessEvent_DENIED_UNEXPECTED_LOCATION_USAGE
+	case 14:
+		return BACnetAccessEvent_AUTHORIZATION_DELAYED
+	case 140:
+		return BACnetAccessEvent_DENIED_MAX_ATTEMPTS
+	case 141:
+		return BACnetAccessEvent_DENIED_LOWER_OCCUPANCY_LIMIT
+	case 142:
+		return BACnetAccessEvent_DENIED_UPPER_OCCUPANCY_LIMIT
+	case 143:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_LOST
+	case 144:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_STOLEN
+	case 145:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DAMAGED
+	case 146:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DESTROYED
+	case 147:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DISABLED
+	case 148:
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_ERROR
+	case 149:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_UNASSIGNED
+	case 15:
+		return BACnetAccessEvent_VERIFICATION_REQUIRED
+	case 150:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_NOT_PROVISIONED
+	case 151:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_NOT_YET_ACTIVE
+	case 152:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_EXPIRED
+	case 153:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_MANUAL_DISABLE
+	case 154:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_LOCKOUT
+	case 155:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_MAX_DAYS
+	case 156:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_MAX_USES
+	case 157:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_INACTIVITY
+	case 158:
+		return BACnetAccessEvent_DENIED_CREDENTIAL_DISABLED
+	case 159:
+		return BACnetAccessEvent_DENIED_NO_ACCOMPANIMENT
+	case 16:
+		return BACnetAccessEvent_NO_ENTRY_AFTER_GRANTED
+	case 160:
+		return BACnetAccessEvent_DENIED_INCORRECT_ACCOMPANIMENT
+	case 161:
+		return BACnetAccessEvent_DENIED_LOCKOUT
+	case 162:
+		return BACnetAccessEvent_DENIED_VERIFICATION_FAILED
+	case 163:
+		return BACnetAccessEvent_DENIED_VERIFICATION_TIMEOUT
+	case 164:
+		return BACnetAccessEvent_DENIED_OTHER
+	case 2:
+		return BACnetAccessEvent_MUSTER
+	case 3:
+		return BACnetAccessEvent_PASSBACK_DETECTED
+	case 4:
+		return BACnetAccessEvent_DURESS
+	case 5:
+		return BACnetAccessEvent_TRACE
+	case 6:
+		return BACnetAccessEvent_LOCKOUT_MAX_ATTEMPTS
+	case 7:
+		return BACnetAccessEvent_LOCKOUT_OTHER
+	case 8:
+		return BACnetAccessEvent_LOCKOUT_RELINQUISHED
+	case 9:
+		return BACnetAccessEvent_LOCKED_BY_HIGHER_PRIORITY
 	}
 	return 0
 }
 
 func BACnetAccessEventByName(value string) BACnetAccessEvent {
 	switch value {
+	case "NONE":
+		return BACnetAccessEvent_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAccessEvent_VENDOR_PROPRIETARY_VALUE
+	case "GRANTED":
+		return BACnetAccessEvent_GRANTED
+	case "OUT_OF_SERVICE":
+		return BACnetAccessEvent_OUT_OF_SERVICE
+	case "OUT_OF_SERVICE_RELINQUISHED":
+		return BACnetAccessEvent_OUT_OF_SERVICE_RELINQUISHED
+	case "ACCOMPANIMENT_BY":
+		return BACnetAccessEvent_ACCOMPANIMENT_BY
+	case "DENIED_DENY_ALL":
+		return BACnetAccessEvent_DENIED_DENY_ALL
+	case "DENIED_UNKNOWN_CREDENTIAL":
+		return BACnetAccessEvent_DENIED_UNKNOWN_CREDENTIAL
+	case "AUTHENTICATION_FACTOR_READ":
+		return BACnetAccessEvent_AUTHENTICATION_FACTOR_READ
+	case "DENIED_AUTHENTICATION_UNAVAILABLE":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_UNAVAILABLE
+	case "DENIED_AUTHENTICATION_FACTOR_TIMEOUT":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_TIMEOUT
+	case "DENIED_INCORRECT_AUTHENTICATION_FACTOR":
+		return BACnetAccessEvent_DENIED_INCORRECT_AUTHENTICATION_FACTOR
+	case "DENIED_ZONE_NO_ACCESS_RIGHTS":
+		return BACnetAccessEvent_DENIED_ZONE_NO_ACCESS_RIGHTS
+	case "DENIED_POINT_NO_ACCESS_RIGHTS":
+		return BACnetAccessEvent_DENIED_POINT_NO_ACCESS_RIGHTS
+	case "DENIED_NO_ACCESS_RIGHTS":
+		return BACnetAccessEvent_DENIED_NO_ACCESS_RIGHTS
+	case "DENIED_OUT_OF_TIME_RANGE":
+		return BACnetAccessEvent_DENIED_OUT_OF_TIME_RANGE
+	case "DENIED_THREAT_LEVEL":
+		return BACnetAccessEvent_DENIED_THREAT_LEVEL
+	case "DENIED_PASSBACK":
+		return BACnetAccessEvent_DENIED_PASSBACK
+	case "DENIED_UNEXPECTED_LOCATION_USAGE":
+		return BACnetAccessEvent_DENIED_UNEXPECTED_LOCATION_USAGE
+	case "AUTHORIZATION_DELAYED":
+		return BACnetAccessEvent_AUTHORIZATION_DELAYED
+	case "DENIED_MAX_ATTEMPTS":
+		return BACnetAccessEvent_DENIED_MAX_ATTEMPTS
+	case "DENIED_LOWER_OCCUPANCY_LIMIT":
+		return BACnetAccessEvent_DENIED_LOWER_OCCUPANCY_LIMIT
+	case "DENIED_UPPER_OCCUPANCY_LIMIT":
+		return BACnetAccessEvent_DENIED_UPPER_OCCUPANCY_LIMIT
+	case "DENIED_AUTHENTICATION_FACTOR_LOST":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_LOST
+	case "DENIED_AUTHENTICATION_FACTOR_STOLEN":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_STOLEN
+	case "DENIED_AUTHENTICATION_FACTOR_DAMAGED":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DAMAGED
+	case "DENIED_AUTHENTICATION_FACTOR_DESTROYED":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DESTROYED
+	case "DENIED_AUTHENTICATION_FACTOR_DISABLED":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DISABLED
+	case "DENIED_AUTHENTICATION_FACTOR_ERROR":
+		return BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_ERROR
+	case "DENIED_CREDENTIAL_UNASSIGNED":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_UNASSIGNED
+	case "VERIFICATION_REQUIRED":
+		return BACnetAccessEvent_VERIFICATION_REQUIRED
+	case "DENIED_CREDENTIAL_NOT_PROVISIONED":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_NOT_PROVISIONED
+	case "DENIED_CREDENTIAL_NOT_YET_ACTIVE":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_NOT_YET_ACTIVE
+	case "DENIED_CREDENTIAL_EXPIRED":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_EXPIRED
+	case "DENIED_CREDENTIAL_MANUAL_DISABLE":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_MANUAL_DISABLE
+	case "DENIED_CREDENTIAL_LOCKOUT":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_LOCKOUT
+	case "DENIED_CREDENTIAL_MAX_DAYS":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_MAX_DAYS
+	case "DENIED_CREDENTIAL_MAX_USES":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_MAX_USES
+	case "DENIED_CREDENTIAL_INACTIVITY":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_INACTIVITY
+	case "DENIED_CREDENTIAL_DISABLED":
+		return BACnetAccessEvent_DENIED_CREDENTIAL_DISABLED
+	case "DENIED_NO_ACCOMPANIMENT":
+		return BACnetAccessEvent_DENIED_NO_ACCOMPANIMENT
+	case "NO_ENTRY_AFTER_GRANTED":
+		return BACnetAccessEvent_NO_ENTRY_AFTER_GRANTED
+	case "DENIED_INCORRECT_ACCOMPANIMENT":
+		return BACnetAccessEvent_DENIED_INCORRECT_ACCOMPANIMENT
+	case "DENIED_LOCKOUT":
+		return BACnetAccessEvent_DENIED_LOCKOUT
+	case "DENIED_VERIFICATION_FAILED":
+		return BACnetAccessEvent_DENIED_VERIFICATION_FAILED
+	case "DENIED_VERIFICATION_TIMEOUT":
+		return BACnetAccessEvent_DENIED_VERIFICATION_TIMEOUT
+	case "DENIED_OTHER":
+		return BACnetAccessEvent_DENIED_OTHER
+	case "MUSTER":
+		return BACnetAccessEvent_MUSTER
+	case "PASSBACK_DETECTED":
+		return BACnetAccessEvent_PASSBACK_DETECTED
+	case "DURESS":
+		return BACnetAccessEvent_DURESS
+	case "TRACE":
+		return BACnetAccessEvent_TRACE
+	case "LOCKOUT_MAX_ATTEMPTS":
+		return BACnetAccessEvent_LOCKOUT_MAX_ATTEMPTS
+	case "LOCKOUT_OTHER":
+		return BACnetAccessEvent_LOCKOUT_OTHER
+	case "LOCKOUT_RELINQUISHED":
+		return BACnetAccessEvent_LOCKOUT_RELINQUISHED
+	case "LOCKED_BY_HIGHER_PRIORITY":
+		return BACnetAccessEvent_LOCKED_BY_HIGHER_PRIORITY
 	}
 	return 0
 }
@@ -103,8 +427,116 @@ func (e BACnetAccessEvent) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetAccessEvent) name() string {
 	switch e {
+	case BACnetAccessEvent_NONE:
+		return "NONE"
 	case BACnetAccessEvent_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAccessEvent_GRANTED:
+		return "GRANTED"
+	case BACnetAccessEvent_OUT_OF_SERVICE:
+		return "OUT_OF_SERVICE"
+	case BACnetAccessEvent_OUT_OF_SERVICE_RELINQUISHED:
+		return "OUT_OF_SERVICE_RELINQUISHED"
+	case BACnetAccessEvent_ACCOMPANIMENT_BY:
+		return "ACCOMPANIMENT_BY"
+	case BACnetAccessEvent_DENIED_DENY_ALL:
+		return "DENIED_DENY_ALL"
+	case BACnetAccessEvent_DENIED_UNKNOWN_CREDENTIAL:
+		return "DENIED_UNKNOWN_CREDENTIAL"
+	case BACnetAccessEvent_AUTHENTICATION_FACTOR_READ:
+		return "AUTHENTICATION_FACTOR_READ"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_UNAVAILABLE:
+		return "DENIED_AUTHENTICATION_UNAVAILABLE"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_TIMEOUT:
+		return "DENIED_AUTHENTICATION_FACTOR_TIMEOUT"
+	case BACnetAccessEvent_DENIED_INCORRECT_AUTHENTICATION_FACTOR:
+		return "DENIED_INCORRECT_AUTHENTICATION_FACTOR"
+	case BACnetAccessEvent_DENIED_ZONE_NO_ACCESS_RIGHTS:
+		return "DENIED_ZONE_NO_ACCESS_RIGHTS"
+	case BACnetAccessEvent_DENIED_POINT_NO_ACCESS_RIGHTS:
+		return "DENIED_POINT_NO_ACCESS_RIGHTS"
+	case BACnetAccessEvent_DENIED_NO_ACCESS_RIGHTS:
+		return "DENIED_NO_ACCESS_RIGHTS"
+	case BACnetAccessEvent_DENIED_OUT_OF_TIME_RANGE:
+		return "DENIED_OUT_OF_TIME_RANGE"
+	case BACnetAccessEvent_DENIED_THREAT_LEVEL:
+		return "DENIED_THREAT_LEVEL"
+	case BACnetAccessEvent_DENIED_PASSBACK:
+		return "DENIED_PASSBACK"
+	case BACnetAccessEvent_DENIED_UNEXPECTED_LOCATION_USAGE:
+		return "DENIED_UNEXPECTED_LOCATION_USAGE"
+	case BACnetAccessEvent_AUTHORIZATION_DELAYED:
+		return "AUTHORIZATION_DELAYED"
+	case BACnetAccessEvent_DENIED_MAX_ATTEMPTS:
+		return "DENIED_MAX_ATTEMPTS"
+	case BACnetAccessEvent_DENIED_LOWER_OCCUPANCY_LIMIT:
+		return "DENIED_LOWER_OCCUPANCY_LIMIT"
+	case BACnetAccessEvent_DENIED_UPPER_OCCUPANCY_LIMIT:
+		return "DENIED_UPPER_OCCUPANCY_LIMIT"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_LOST:
+		return "DENIED_AUTHENTICATION_FACTOR_LOST"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_STOLEN:
+		return "DENIED_AUTHENTICATION_FACTOR_STOLEN"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DAMAGED:
+		return "DENIED_AUTHENTICATION_FACTOR_DAMAGED"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DESTROYED:
+		return "DENIED_AUTHENTICATION_FACTOR_DESTROYED"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_DISABLED:
+		return "DENIED_AUTHENTICATION_FACTOR_DISABLED"
+	case BACnetAccessEvent_DENIED_AUTHENTICATION_FACTOR_ERROR:
+		return "DENIED_AUTHENTICATION_FACTOR_ERROR"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_UNASSIGNED:
+		return "DENIED_CREDENTIAL_UNASSIGNED"
+	case BACnetAccessEvent_VERIFICATION_REQUIRED:
+		return "VERIFICATION_REQUIRED"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_NOT_PROVISIONED:
+		return "DENIED_CREDENTIAL_NOT_PROVISIONED"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_NOT_YET_ACTIVE:
+		return "DENIED_CREDENTIAL_NOT_YET_ACTIVE"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_EXPIRED:
+		return "DENIED_CREDENTIAL_EXPIRED"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_MANUAL_DISABLE:
+		return "DENIED_CREDENTIAL_MANUAL_DISABLE"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_LOCKOUT:
+		return "DENIED_CREDENTIAL_LOCKOUT"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_MAX_DAYS:
+		return "DENIED_CREDENTIAL_MAX_DAYS"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_MAX_USES:
+		return "DENIED_CREDENTIAL_MAX_USES"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_INACTIVITY:
+		return "DENIED_CREDENTIAL_INACTIVITY"
+	case BACnetAccessEvent_DENIED_CREDENTIAL_DISABLED:
+		return "DENIED_CREDENTIAL_DISABLED"
+	case BACnetAccessEvent_DENIED_NO_ACCOMPANIMENT:
+		return "DENIED_NO_ACCOMPANIMENT"
+	case BACnetAccessEvent_NO_ENTRY_AFTER_GRANTED:
+		return "NO_ENTRY_AFTER_GRANTED"
+	case BACnetAccessEvent_DENIED_INCORRECT_ACCOMPANIMENT:
+		return "DENIED_INCORRECT_ACCOMPANIMENT"
+	case BACnetAccessEvent_DENIED_LOCKOUT:
+		return "DENIED_LOCKOUT"
+	case BACnetAccessEvent_DENIED_VERIFICATION_FAILED:
+		return "DENIED_VERIFICATION_FAILED"
+	case BACnetAccessEvent_DENIED_VERIFICATION_TIMEOUT:
+		return "DENIED_VERIFICATION_TIMEOUT"
+	case BACnetAccessEvent_DENIED_OTHER:
+		return "DENIED_OTHER"
+	case BACnetAccessEvent_MUSTER:
+		return "MUSTER"
+	case BACnetAccessEvent_PASSBACK_DETECTED:
+		return "PASSBACK_DETECTED"
+	case BACnetAccessEvent_DURESS:
+		return "DURESS"
+	case BACnetAccessEvent_TRACE:
+		return "TRACE"
+	case BACnetAccessEvent_LOCKOUT_MAX_ATTEMPTS:
+		return "LOCKOUT_MAX_ATTEMPTS"
+	case BACnetAccessEvent_LOCKOUT_OTHER:
+		return "LOCKOUT_OTHER"
+	case BACnetAccessEvent_LOCKOUT_RELINQUISHED:
+		return "LOCKOUT_RELINQUISHED"
+	case BACnetAccessEvent_LOCKED_BY_HIGHER_PRIORITY:
+		return "LOCKED_BY_HIGHER_PRIORITY"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessPassbackMode.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessPassbackMode.go
new file mode 100644
index 0000000000..b849a17a21
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessPassbackMode.go
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetAccessPassbackMode is an enum
+type BACnetAccessPassbackMode uint8
+
+type IBACnetAccessPassbackMode interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetAccessPassbackMode_PASSBACK_OFF  BACnetAccessPassbackMode = 0
+	BACnetAccessPassbackMode_HARD_PASSBACK BACnetAccessPassbackMode = 1
+	BACnetAccessPassbackMode_SOFT_PASSBACK BACnetAccessPassbackMode = 2
+)
+
+var BACnetAccessPassbackModeValues []BACnetAccessPassbackMode
+
+func init() {
+	_ = errors.New
+	BACnetAccessPassbackModeValues = []BACnetAccessPassbackMode{
+		BACnetAccessPassbackMode_PASSBACK_OFF,
+		BACnetAccessPassbackMode_HARD_PASSBACK,
+		BACnetAccessPassbackMode_SOFT_PASSBACK,
+	}
+}
+
+func BACnetAccessPassbackModeByValue(value uint8) BACnetAccessPassbackMode {
+	switch value {
+	case 0:
+		return BACnetAccessPassbackMode_PASSBACK_OFF
+	case 1:
+		return BACnetAccessPassbackMode_HARD_PASSBACK
+	case 2:
+		return BACnetAccessPassbackMode_SOFT_PASSBACK
+	}
+	return 0
+}
+
+func BACnetAccessPassbackModeByName(value string) BACnetAccessPassbackMode {
+	switch value {
+	case "PASSBACK_OFF":
+		return BACnetAccessPassbackMode_PASSBACK_OFF
+	case "HARD_PASSBACK":
+		return BACnetAccessPassbackMode_HARD_PASSBACK
+	case "SOFT_PASSBACK":
+		return BACnetAccessPassbackMode_SOFT_PASSBACK
+	}
+	return 0
+}
+
+func BACnetAccessPassbackModeKnows(value uint8) bool {
+	for _, typeValue := range BACnetAccessPassbackModeValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetAccessPassbackMode(structType interface{}) BACnetAccessPassbackMode {
+	castFunc := func(typ interface{}) BACnetAccessPassbackMode {
+		if sBACnetAccessPassbackMode, ok := typ.(BACnetAccessPassbackMode); ok {
+			return sBACnetAccessPassbackMode
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetAccessPassbackMode) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetAccessPassbackMode) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetAccessPassbackModeParse(readBuffer utils.ReadBuffer) (BACnetAccessPassbackMode, error) {
+	val, err := readBuffer.ReadUint8("BACnetAccessPassbackMode", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetAccessPassbackModeByValue(val), nil
+}
+
+func (e BACnetAccessPassbackMode) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetAccessPassbackMode", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetAccessPassbackMode) name() string {
+	switch e {
+	case BACnetAccessPassbackMode_PASSBACK_OFF:
+		return "PASSBACK_OFF"
+	case BACnetAccessPassbackMode_HARD_PASSBACK:
+		return "HARD_PASSBACK"
+	case BACnetAccessPassbackMode_SOFT_PASSBACK:
+		return "SOFT_PASSBACK"
+	}
+	return ""
+}
+
+func (e BACnetAccessPassbackMode) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessUserType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessUserType.go
index 1bea17f40a..eccc296807 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessUserType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessUserType.go
@@ -34,6 +34,9 @@ type IBACnetAccessUserType interface {
 }
 
 const (
+	BACnetAccessUserType_ASSET                    BACnetAccessUserType = 0
+	BACnetAccessUserType_GROUP                    BACnetAccessUserType = 1
+	BACnetAccessUserType_PERSON                   BACnetAccessUserType = 2
 	BACnetAccessUserType_VENDOR_PROPRIETARY_VALUE BACnetAccessUserType = 0xFFFF
 )
 
@@ -42,22 +45,37 @@ var BACnetAccessUserTypeValues []BACnetAccessUserType
 func init() {
 	_ = errors.New
 	BACnetAccessUserTypeValues = []BACnetAccessUserType{
+		BACnetAccessUserType_ASSET,
+		BACnetAccessUserType_GROUP,
+		BACnetAccessUserType_PERSON,
 		BACnetAccessUserType_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAccessUserTypeByValue(value uint16) BACnetAccessUserType {
 	switch value {
+	case 0:
+		return BACnetAccessUserType_ASSET
 	case 0xFFFF:
 		return BACnetAccessUserType_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAccessUserType_GROUP
+	case 2:
+		return BACnetAccessUserType_PERSON
 	}
 	return 0
 }
 
 func BACnetAccessUserTypeByName(value string) BACnetAccessUserType {
 	switch value {
+	case "ASSET":
+		return BACnetAccessUserType_ASSET
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAccessUserType_VENDOR_PROPRIETARY_VALUE
+	case "GROUP":
+		return BACnetAccessUserType_GROUP
+	case "PERSON":
+		return BACnetAccessUserType_PERSON
 	}
 	return 0
 }
@@ -103,8 +121,14 @@ func (e BACnetAccessUserType) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetAccessUserType) name() string {
 	switch e {
+	case BACnetAccessUserType_ASSET:
+		return "ASSET"
 	case BACnetAccessUserType_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAccessUserType_GROUP:
+		return "GROUP"
+	case BACnetAccessUserType_PERSON:
+		return "PERSON"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go
index 70f1ca8e6c..8a6793d296 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAccessZoneOccupancyState.go
@@ -34,6 +34,13 @@ type IBACnetAccessZoneOccupancyState interface {
 }
 
 const (
+	BACnetAccessZoneOccupancyState_NORMAL                   BACnetAccessZoneOccupancyState = 0
+	BACnetAccessZoneOccupancyState_BELOW_LOWER_LIMIT        BACnetAccessZoneOccupancyState = 1
+	BACnetAccessZoneOccupancyState_AT_LOWER_LIMIT           BACnetAccessZoneOccupancyState = 2
+	BACnetAccessZoneOccupancyState_AT_UPPER_LIMIT           BACnetAccessZoneOccupancyState = 3
+	BACnetAccessZoneOccupancyState_ABOVE_UPPER_LIMIT        BACnetAccessZoneOccupancyState = 4
+	BACnetAccessZoneOccupancyState_DISABLED                 BACnetAccessZoneOccupancyState = 5
+	BACnetAccessZoneOccupancyState_NOT_SUPPORTED            BACnetAccessZoneOccupancyState = 6
 	BACnetAccessZoneOccupancyState_VENDOR_PROPRIETARY_VALUE BACnetAccessZoneOccupancyState = 0xFFFF
 )
 
@@ -42,22 +49,57 @@ var BACnetAccessZoneOccupancyStateValues []BACnetAccessZoneOccupancyState
 func init() {
 	_ = errors.New
 	BACnetAccessZoneOccupancyStateValues = []BACnetAccessZoneOccupancyState{
+		BACnetAccessZoneOccupancyState_NORMAL,
+		BACnetAccessZoneOccupancyState_BELOW_LOWER_LIMIT,
+		BACnetAccessZoneOccupancyState_AT_LOWER_LIMIT,
+		BACnetAccessZoneOccupancyState_AT_UPPER_LIMIT,
+		BACnetAccessZoneOccupancyState_ABOVE_UPPER_LIMIT,
+		BACnetAccessZoneOccupancyState_DISABLED,
+		BACnetAccessZoneOccupancyState_NOT_SUPPORTED,
 		BACnetAccessZoneOccupancyState_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAccessZoneOccupancyStateByValue(value uint16) BACnetAccessZoneOccupancyState {
 	switch value {
+	case 0:
+		return BACnetAccessZoneOccupancyState_NORMAL
 	case 0xFFFF:
 		return BACnetAccessZoneOccupancyState_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAccessZoneOccupancyState_BELOW_LOWER_LIMIT
+	case 2:
+		return BACnetAccessZoneOccupancyState_AT_LOWER_LIMIT
+	case 3:
+		return BACnetAccessZoneOccupancyState_AT_UPPER_LIMIT
+	case 4:
+		return BACnetAccessZoneOccupancyState_ABOVE_UPPER_LIMIT
+	case 5:
+		return BACnetAccessZoneOccupancyState_DISABLED
+	case 6:
+		return BACnetAccessZoneOccupancyState_NOT_SUPPORTED
 	}
 	return 0
 }
 
 func BACnetAccessZoneOccupancyStateByName(value string) BACnetAccessZoneOccupancyState {
 	switch value {
+	case "NORMAL":
+		return BACnetAccessZoneOccupancyState_NORMAL
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAccessZoneOccupancyState_VENDOR_PROPRIETARY_VALUE
+	case "BELOW_LOWER_LIMIT":
+		return BACnetAccessZoneOccupancyState_BELOW_LOWER_LIMIT
+	case "AT_LOWER_LIMIT":
+		return BACnetAccessZoneOccupancyState_AT_LOWER_LIMIT
+	case "AT_UPPER_LIMIT":
+		return BACnetAccessZoneOccupancyState_AT_UPPER_LIMIT
+	case "ABOVE_UPPER_LIMIT":
+		return BACnetAccessZoneOccupancyState_ABOVE_UPPER_LIMIT
+	case "DISABLED":
+		return BACnetAccessZoneOccupancyState_DISABLED
+	case "NOT_SUPPORTED":
+		return BACnetAccessZoneOccupancyState_NOT_SUPPORTED
 	}
 	return 0
 }
@@ -103,8 +145,22 @@ func (e BACnetAccessZoneOccupancyState) Serialize(writeBuffer utils.WriteBuffer)
 
 func (e BACnetAccessZoneOccupancyState) name() string {
 	switch e {
+	case BACnetAccessZoneOccupancyState_NORMAL:
+		return "NORMAL"
 	case BACnetAccessZoneOccupancyState_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAccessZoneOccupancyState_BELOW_LOWER_LIMIT:
+		return "BELOW_LOWER_LIMIT"
+	case BACnetAccessZoneOccupancyState_AT_LOWER_LIMIT:
+		return "AT_LOWER_LIMIT"
+	case BACnetAccessZoneOccupancyState_AT_UPPER_LIMIT:
+		return "AT_UPPER_LIMIT"
+	case BACnetAccessZoneOccupancyState_ABOVE_UPPER_LIMIT:
+		return "ABOVE_UPPER_LIMIT"
+	case BACnetAccessZoneOccupancyState_DISABLED:
+		return "DISABLED"
+	case BACnetAccessZoneOccupancyState_NOT_SUPPORTED:
+		return "NOT_SUPPORTED"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthenticationFactorType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthenticationFactorType.go
new file mode 100644
index 0000000000..2964334aec
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthenticationFactorType.go
@@ -0,0 +1,306 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetAuthenticationFactorType is an enum
+type BACnetAuthenticationFactorType uint8
+
+type IBACnetAuthenticationFactorType interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetAuthenticationFactorType_UNDEFINED            BACnetAuthenticationFactorType = 0
+	BACnetAuthenticationFactorType_ERROR                BACnetAuthenticationFactorType = 1
+	BACnetAuthenticationFactorType_CUSTOM               BACnetAuthenticationFactorType = 2
+	BACnetAuthenticationFactorType_SIMPLE_NUMBER16      BACnetAuthenticationFactorType = 3
+	BACnetAuthenticationFactorType_SIMPLE_NUMBER32      BACnetAuthenticationFactorType = 4
+	BACnetAuthenticationFactorType_SIMPLE_NUMBER56      BACnetAuthenticationFactorType = 5
+	BACnetAuthenticationFactorType_SIMPLE_ALPHA_NUMERIC BACnetAuthenticationFactorType = 6
+	BACnetAuthenticationFactorType_ABA_TRACK2           BACnetAuthenticationFactorType = 7
+	BACnetAuthenticationFactorType_WIEGAND26            BACnetAuthenticationFactorType = 8
+	BACnetAuthenticationFactorType_WIEGAND37            BACnetAuthenticationFactorType = 9
+	BACnetAuthenticationFactorType_WIEGAND37_FACILITY   BACnetAuthenticationFactorType = 10
+	BACnetAuthenticationFactorType_FACILITY16_CARD32    BACnetAuthenticationFactorType = 11
+	BACnetAuthenticationFactorType_FACILITY32_CARD32    BACnetAuthenticationFactorType = 12
+	BACnetAuthenticationFactorType_FASC_N               BACnetAuthenticationFactorType = 13
+	BACnetAuthenticationFactorType_FASC_N_BCD           BACnetAuthenticationFactorType = 14
+	BACnetAuthenticationFactorType_FASC_N_LARGE         BACnetAuthenticationFactorType = 15
+	BACnetAuthenticationFactorType_FASC_N_LARGE_BCD     BACnetAuthenticationFactorType = 16
+	BACnetAuthenticationFactorType_GSA75                BACnetAuthenticationFactorType = 17
+	BACnetAuthenticationFactorType_CHUID                BACnetAuthenticationFactorType = 18
+	BACnetAuthenticationFactorType_CHUID_FULL           BACnetAuthenticationFactorType = 19
+	BACnetAuthenticationFactorType_GUID                 BACnetAuthenticationFactorType = 20
+	BACnetAuthenticationFactorType_CBEFF_A              BACnetAuthenticationFactorType = 21
+	BACnetAuthenticationFactorType_CBEFF_B              BACnetAuthenticationFactorType = 22
+	BACnetAuthenticationFactorType_CBEFF_C              BACnetAuthenticationFactorType = 23
+	BACnetAuthenticationFactorType_USER_PASSWORD        BACnetAuthenticationFactorType = 24
+)
+
+var BACnetAuthenticationFactorTypeValues []BACnetAuthenticationFactorType
+
+func init() {
+	_ = errors.New
+	BACnetAuthenticationFactorTypeValues = []BACnetAuthenticationFactorType{
+		BACnetAuthenticationFactorType_UNDEFINED,
+		BACnetAuthenticationFactorType_ERROR,
+		BACnetAuthenticationFactorType_CUSTOM,
+		BACnetAuthenticationFactorType_SIMPLE_NUMBER16,
+		BACnetAuthenticationFactorType_SIMPLE_NUMBER32,
+		BACnetAuthenticationFactorType_SIMPLE_NUMBER56,
+		BACnetAuthenticationFactorType_SIMPLE_ALPHA_NUMERIC,
+		BACnetAuthenticationFactorType_ABA_TRACK2,
+		BACnetAuthenticationFactorType_WIEGAND26,
+		BACnetAuthenticationFactorType_WIEGAND37,
+		BACnetAuthenticationFactorType_WIEGAND37_FACILITY,
+		BACnetAuthenticationFactorType_FACILITY16_CARD32,
+		BACnetAuthenticationFactorType_FACILITY32_CARD32,
+		BACnetAuthenticationFactorType_FASC_N,
+		BACnetAuthenticationFactorType_FASC_N_BCD,
+		BACnetAuthenticationFactorType_FASC_N_LARGE,
+		BACnetAuthenticationFactorType_FASC_N_LARGE_BCD,
+		BACnetAuthenticationFactorType_GSA75,
+		BACnetAuthenticationFactorType_CHUID,
+		BACnetAuthenticationFactorType_CHUID_FULL,
+		BACnetAuthenticationFactorType_GUID,
+		BACnetAuthenticationFactorType_CBEFF_A,
+		BACnetAuthenticationFactorType_CBEFF_B,
+		BACnetAuthenticationFactorType_CBEFF_C,
+		BACnetAuthenticationFactorType_USER_PASSWORD,
+	}
+}
+
+func BACnetAuthenticationFactorTypeByValue(value uint8) BACnetAuthenticationFactorType {
+	switch value {
+	case 0:
+		return BACnetAuthenticationFactorType_UNDEFINED
+	case 1:
+		return BACnetAuthenticationFactorType_ERROR
+	case 10:
+		return BACnetAuthenticationFactorType_WIEGAND37_FACILITY
+	case 11:
+		return BACnetAuthenticationFactorType_FACILITY16_CARD32
+	case 12:
+		return BACnetAuthenticationFactorType_FACILITY32_CARD32
+	case 13:
+		return BACnetAuthenticationFactorType_FASC_N
+	case 14:
+		return BACnetAuthenticationFactorType_FASC_N_BCD
+	case 15:
+		return BACnetAuthenticationFactorType_FASC_N_LARGE
+	case 16:
+		return BACnetAuthenticationFactorType_FASC_N_LARGE_BCD
+	case 17:
+		return BACnetAuthenticationFactorType_GSA75
+	case 18:
+		return BACnetAuthenticationFactorType_CHUID
+	case 19:
+		return BACnetAuthenticationFactorType_CHUID_FULL
+	case 2:
+		return BACnetAuthenticationFactorType_CUSTOM
+	case 20:
+		return BACnetAuthenticationFactorType_GUID
+	case 21:
+		return BACnetAuthenticationFactorType_CBEFF_A
+	case 22:
+		return BACnetAuthenticationFactorType_CBEFF_B
+	case 23:
+		return BACnetAuthenticationFactorType_CBEFF_C
+	case 24:
+		return BACnetAuthenticationFactorType_USER_PASSWORD
+	case 3:
+		return BACnetAuthenticationFactorType_SIMPLE_NUMBER16
+	case 4:
+		return BACnetAuthenticationFactorType_SIMPLE_NUMBER32
+	case 5:
+		return BACnetAuthenticationFactorType_SIMPLE_NUMBER56
+	case 6:
+		return BACnetAuthenticationFactorType_SIMPLE_ALPHA_NUMERIC
+	case 7:
+		return BACnetAuthenticationFactorType_ABA_TRACK2
+	case 8:
+		return BACnetAuthenticationFactorType_WIEGAND26
+	case 9:
+		return BACnetAuthenticationFactorType_WIEGAND37
+	}
+	return 0
+}
+
+func BACnetAuthenticationFactorTypeByName(value string) BACnetAuthenticationFactorType {
+	switch value {
+	case "UNDEFINED":
+		return BACnetAuthenticationFactorType_UNDEFINED
+	case "ERROR":
+		return BACnetAuthenticationFactorType_ERROR
+	case "WIEGAND37_FACILITY":
+		return BACnetAuthenticationFactorType_WIEGAND37_FACILITY
+	case "FACILITY16_CARD32":
+		return BACnetAuthenticationFactorType_FACILITY16_CARD32
+	case "FACILITY32_CARD32":
+		return BACnetAuthenticationFactorType_FACILITY32_CARD32
+	case "FASC_N":
+		return BACnetAuthenticationFactorType_FASC_N
+	case "FASC_N_BCD":
+		return BACnetAuthenticationFactorType_FASC_N_BCD
+	case "FASC_N_LARGE":
+		return BACnetAuthenticationFactorType_FASC_N_LARGE
+	case "FASC_N_LARGE_BCD":
+		return BACnetAuthenticationFactorType_FASC_N_LARGE_BCD
+	case "GSA75":
+		return BACnetAuthenticationFactorType_GSA75
+	case "CHUID":
+		return BACnetAuthenticationFactorType_CHUID
+	case "CHUID_FULL":
+		return BACnetAuthenticationFactorType_CHUID_FULL
+	case "CUSTOM":
+		return BACnetAuthenticationFactorType_CUSTOM
+	case "GUID":
+		return BACnetAuthenticationFactorType_GUID
+	case "CBEFF_A":
+		return BACnetAuthenticationFactorType_CBEFF_A
+	case "CBEFF_B":
+		return BACnetAuthenticationFactorType_CBEFF_B
+	case "CBEFF_C":
+		return BACnetAuthenticationFactorType_CBEFF_C
+	case "USER_PASSWORD":
+		return BACnetAuthenticationFactorType_USER_PASSWORD
+	case "SIMPLE_NUMBER16":
+		return BACnetAuthenticationFactorType_SIMPLE_NUMBER16
+	case "SIMPLE_NUMBER32":
+		return BACnetAuthenticationFactorType_SIMPLE_NUMBER32
+	case "SIMPLE_NUMBER56":
+		return BACnetAuthenticationFactorType_SIMPLE_NUMBER56
+	case "SIMPLE_ALPHA_NUMERIC":
+		return BACnetAuthenticationFactorType_SIMPLE_ALPHA_NUMERIC
+	case "ABA_TRACK2":
+		return BACnetAuthenticationFactorType_ABA_TRACK2
+	case "WIEGAND26":
+		return BACnetAuthenticationFactorType_WIEGAND26
+	case "WIEGAND37":
+		return BACnetAuthenticationFactorType_WIEGAND37
+	}
+	return 0
+}
+
+func BACnetAuthenticationFactorTypeKnows(value uint8) bool {
+	for _, typeValue := range BACnetAuthenticationFactorTypeValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetAuthenticationFactorType(structType interface{}) BACnetAuthenticationFactorType {
+	castFunc := func(typ interface{}) BACnetAuthenticationFactorType {
+		if sBACnetAuthenticationFactorType, ok := typ.(BACnetAuthenticationFactorType); ok {
+			return sBACnetAuthenticationFactorType
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetAuthenticationFactorType) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetAuthenticationFactorType) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetAuthenticationFactorTypeParse(readBuffer utils.ReadBuffer) (BACnetAuthenticationFactorType, error) {
+	val, err := readBuffer.ReadUint8("BACnetAuthenticationFactorType", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetAuthenticationFactorTypeByValue(val), nil
+}
+
+func (e BACnetAuthenticationFactorType) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetAuthenticationFactorType", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetAuthenticationFactorType) name() string {
+	switch e {
+	case BACnetAuthenticationFactorType_UNDEFINED:
+		return "UNDEFINED"
+	case BACnetAuthenticationFactorType_ERROR:
+		return "ERROR"
+	case BACnetAuthenticationFactorType_WIEGAND37_FACILITY:
+		return "WIEGAND37_FACILITY"
+	case BACnetAuthenticationFactorType_FACILITY16_CARD32:
+		return "FACILITY16_CARD32"
+	case BACnetAuthenticationFactorType_FACILITY32_CARD32:
+		return "FACILITY32_CARD32"
+	case BACnetAuthenticationFactorType_FASC_N:
+		return "FASC_N"
+	case BACnetAuthenticationFactorType_FASC_N_BCD:
+		return "FASC_N_BCD"
+	case BACnetAuthenticationFactorType_FASC_N_LARGE:
+		return "FASC_N_LARGE"
+	case BACnetAuthenticationFactorType_FASC_N_LARGE_BCD:
+		return "FASC_N_LARGE_BCD"
+	case BACnetAuthenticationFactorType_GSA75:
+		return "GSA75"
+	case BACnetAuthenticationFactorType_CHUID:
+		return "CHUID"
+	case BACnetAuthenticationFactorType_CHUID_FULL:
+		return "CHUID_FULL"
+	case BACnetAuthenticationFactorType_CUSTOM:
+		return "CUSTOM"
+	case BACnetAuthenticationFactorType_GUID:
+		return "GUID"
+	case BACnetAuthenticationFactorType_CBEFF_A:
+		return "CBEFF_A"
+	case BACnetAuthenticationFactorType_CBEFF_B:
+		return "CBEFF_B"
+	case BACnetAuthenticationFactorType_CBEFF_C:
+		return "CBEFF_C"
+	case BACnetAuthenticationFactorType_USER_PASSWORD:
+		return "USER_PASSWORD"
+	case BACnetAuthenticationFactorType_SIMPLE_NUMBER16:
+		return "SIMPLE_NUMBER16"
+	case BACnetAuthenticationFactorType_SIMPLE_NUMBER32:
+		return "SIMPLE_NUMBER32"
+	case BACnetAuthenticationFactorType_SIMPLE_NUMBER56:
+		return "SIMPLE_NUMBER56"
+	case BACnetAuthenticationFactorType_SIMPLE_ALPHA_NUMERIC:
+		return "SIMPLE_ALPHA_NUMERIC"
+	case BACnetAuthenticationFactorType_ABA_TRACK2:
+		return "ABA_TRACK2"
+	case BACnetAuthenticationFactorType_WIEGAND26:
+		return "WIEGAND26"
+	case BACnetAuthenticationFactorType_WIEGAND37:
+		return "WIEGAND37"
+	}
+	return ""
+}
+
+func (e BACnetAuthenticationFactorType) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthenticationStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthenticationStatus.go
new file mode 100644
index 0000000000..20f7fa9f55
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthenticationStatus.go
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetAuthenticationStatus is an enum
+type BACnetAuthenticationStatus uint8
+
+type IBACnetAuthenticationStatus interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetAuthenticationStatus_NOT_READY                         BACnetAuthenticationStatus = 0
+	BACnetAuthenticationStatus_READY                             BACnetAuthenticationStatus = 1
+	BACnetAuthenticationStatus_DISABLED                          BACnetAuthenticationStatus = 2
+	BACnetAuthenticationStatus_WAITING_FOR_AUTHENTICATION_FACTOR BACnetAuthenticationStatus = 3
+	BACnetAuthenticationStatus_WAITING_FOR_ACCOMPANIMENT         BACnetAuthenticationStatus = 4
+	BACnetAuthenticationStatus_WAITING_FOR_VERIFICATION          BACnetAuthenticationStatus = 5
+	BACnetAuthenticationStatus_IN_PROGRESS                       BACnetAuthenticationStatus = 6
+)
+
+var BACnetAuthenticationStatusValues []BACnetAuthenticationStatus
+
+func init() {
+	_ = errors.New
+	BACnetAuthenticationStatusValues = []BACnetAuthenticationStatus{
+		BACnetAuthenticationStatus_NOT_READY,
+		BACnetAuthenticationStatus_READY,
+		BACnetAuthenticationStatus_DISABLED,
+		BACnetAuthenticationStatus_WAITING_FOR_AUTHENTICATION_FACTOR,
+		BACnetAuthenticationStatus_WAITING_FOR_ACCOMPANIMENT,
+		BACnetAuthenticationStatus_WAITING_FOR_VERIFICATION,
+		BACnetAuthenticationStatus_IN_PROGRESS,
+	}
+}
+
+func BACnetAuthenticationStatusByValue(value uint8) BACnetAuthenticationStatus {
+	switch value {
+	case 0:
+		return BACnetAuthenticationStatus_NOT_READY
+	case 1:
+		return BACnetAuthenticationStatus_READY
+	case 2:
+		return BACnetAuthenticationStatus_DISABLED
+	case 3:
+		return BACnetAuthenticationStatus_WAITING_FOR_AUTHENTICATION_FACTOR
+	case 4:
+		return BACnetAuthenticationStatus_WAITING_FOR_ACCOMPANIMENT
+	case 5:
+		return BACnetAuthenticationStatus_WAITING_FOR_VERIFICATION
+	case 6:
+		return BACnetAuthenticationStatus_IN_PROGRESS
+	}
+	return 0
+}
+
+func BACnetAuthenticationStatusByName(value string) BACnetAuthenticationStatus {
+	switch value {
+	case "NOT_READY":
+		return BACnetAuthenticationStatus_NOT_READY
+	case "READY":
+		return BACnetAuthenticationStatus_READY
+	case "DISABLED":
+		return BACnetAuthenticationStatus_DISABLED
+	case "WAITING_FOR_AUTHENTICATION_FACTOR":
+		return BACnetAuthenticationStatus_WAITING_FOR_AUTHENTICATION_FACTOR
+	case "WAITING_FOR_ACCOMPANIMENT":
+		return BACnetAuthenticationStatus_WAITING_FOR_ACCOMPANIMENT
+	case "WAITING_FOR_VERIFICATION":
+		return BACnetAuthenticationStatus_WAITING_FOR_VERIFICATION
+	case "IN_PROGRESS":
+		return BACnetAuthenticationStatus_IN_PROGRESS
+	}
+	return 0
+}
+
+func BACnetAuthenticationStatusKnows(value uint8) bool {
+	for _, typeValue := range BACnetAuthenticationStatusValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetAuthenticationStatus(structType interface{}) BACnetAuthenticationStatus {
+	castFunc := func(typ interface{}) BACnetAuthenticationStatus {
+		if sBACnetAuthenticationStatus, ok := typ.(BACnetAuthenticationStatus); ok {
+			return sBACnetAuthenticationStatus
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetAuthenticationStatus) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetAuthenticationStatus) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetAuthenticationStatusParse(readBuffer utils.ReadBuffer) (BACnetAuthenticationStatus, error) {
+	val, err := readBuffer.ReadUint8("BACnetAuthenticationStatus", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetAuthenticationStatusByValue(val), nil
+}
+
+func (e BACnetAuthenticationStatus) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetAuthenticationStatus", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetAuthenticationStatus) name() string {
+	switch e {
+	case BACnetAuthenticationStatus_NOT_READY:
+		return "NOT_READY"
+	case BACnetAuthenticationStatus_READY:
+		return "READY"
+	case BACnetAuthenticationStatus_DISABLED:
+		return "DISABLED"
+	case BACnetAuthenticationStatus_WAITING_FOR_AUTHENTICATION_FACTOR:
+		return "WAITING_FOR_AUTHENTICATION_FACTOR"
+	case BACnetAuthenticationStatus_WAITING_FOR_ACCOMPANIMENT:
+		return "WAITING_FOR_ACCOMPANIMENT"
+	case BACnetAuthenticationStatus_WAITING_FOR_VERIFICATION:
+		return "WAITING_FOR_VERIFICATION"
+	case BACnetAuthenticationStatus_IN_PROGRESS:
+		return "IN_PROGRESS"
+	}
+	return ""
+}
+
+func (e BACnetAuthenticationStatus) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationExemption.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationExemption.go
index 1fd593d981..8996ee888a 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationExemption.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationExemption.go
@@ -34,6 +34,13 @@ type IBACnetAuthorizationExemption interface {
 }
 
 const (
+	BACnetAuthorizationExemption_PASSBACK                 BACnetAuthorizationExemption = 0
+	BACnetAuthorizationExemption_OCCUPANCY_CHECK          BACnetAuthorizationExemption = 1
+	BACnetAuthorizationExemption_ACCESS_RIGHTS            BACnetAuthorizationExemption = 2
+	BACnetAuthorizationExemption_LOCKOUT                  BACnetAuthorizationExemption = 3
+	BACnetAuthorizationExemption_DENY                     BACnetAuthorizationExemption = 4
+	BACnetAuthorizationExemption_VERIFICATION             BACnetAuthorizationExemption = 5
+	BACnetAuthorizationExemption_AUTHORIZATION_DELAY      BACnetAuthorizationExemption = 6
 	BACnetAuthorizationExemption_VENDOR_PROPRIETARY_VALUE BACnetAuthorizationExemption = 0xFF
 )
 
@@ -42,22 +49,57 @@ var BACnetAuthorizationExemptionValues []BACnetAuthorizationExemption
 func init() {
 	_ = errors.New
 	BACnetAuthorizationExemptionValues = []BACnetAuthorizationExemption{
+		BACnetAuthorizationExemption_PASSBACK,
+		BACnetAuthorizationExemption_OCCUPANCY_CHECK,
+		BACnetAuthorizationExemption_ACCESS_RIGHTS,
+		BACnetAuthorizationExemption_LOCKOUT,
+		BACnetAuthorizationExemption_DENY,
+		BACnetAuthorizationExemption_VERIFICATION,
+		BACnetAuthorizationExemption_AUTHORIZATION_DELAY,
 		BACnetAuthorizationExemption_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAuthorizationExemptionByValue(value uint8) BACnetAuthorizationExemption {
 	switch value {
+	case 0:
+		return BACnetAuthorizationExemption_PASSBACK
 	case 0xFF:
 		return BACnetAuthorizationExemption_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAuthorizationExemption_OCCUPANCY_CHECK
+	case 2:
+		return BACnetAuthorizationExemption_ACCESS_RIGHTS
+	case 3:
+		return BACnetAuthorizationExemption_LOCKOUT
+	case 4:
+		return BACnetAuthorizationExemption_DENY
+	case 5:
+		return BACnetAuthorizationExemption_VERIFICATION
+	case 6:
+		return BACnetAuthorizationExemption_AUTHORIZATION_DELAY
 	}
 	return 0
 }
 
 func BACnetAuthorizationExemptionByName(value string) BACnetAuthorizationExemption {
 	switch value {
+	case "PASSBACK":
+		return BACnetAuthorizationExemption_PASSBACK
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAuthorizationExemption_VENDOR_PROPRIETARY_VALUE
+	case "OCCUPANCY_CHECK":
+		return BACnetAuthorizationExemption_OCCUPANCY_CHECK
+	case "ACCESS_RIGHTS":
+		return BACnetAuthorizationExemption_ACCESS_RIGHTS
+	case "LOCKOUT":
+		return BACnetAuthorizationExemption_LOCKOUT
+	case "DENY":
+		return BACnetAuthorizationExemption_DENY
+	case "VERIFICATION":
+		return BACnetAuthorizationExemption_VERIFICATION
+	case "AUTHORIZATION_DELAY":
+		return BACnetAuthorizationExemption_AUTHORIZATION_DELAY
 	}
 	return 0
 }
@@ -103,8 +145,22 @@ func (e BACnetAuthorizationExemption) Serialize(writeBuffer utils.WriteBuffer) e
 
 func (e BACnetAuthorizationExemption) name() string {
 	switch e {
+	case BACnetAuthorizationExemption_PASSBACK:
+		return "PASSBACK"
 	case BACnetAuthorizationExemption_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAuthorizationExemption_OCCUPANCY_CHECK:
+		return "OCCUPANCY_CHECK"
+	case BACnetAuthorizationExemption_ACCESS_RIGHTS:
+		return "ACCESS_RIGHTS"
+	case BACnetAuthorizationExemption_LOCKOUT:
+		return "LOCKOUT"
+	case BACnetAuthorizationExemption_DENY:
+		return "DENY"
+	case BACnetAuthorizationExemption_VERIFICATION:
+		return "VERIFICATION"
+	case BACnetAuthorizationExemption_AUTHORIZATION_DELAY:
+		return "AUTHORIZATION_DELAY"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationMode.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationMode.go
index 153b910ed0..f03cdcf2fe 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationMode.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetAuthorizationMode.go
@@ -34,6 +34,12 @@ type IBACnetAuthorizationMode interface {
 }
 
 const (
+	BACnetAuthorizationMode_AUTHORIZE                BACnetAuthorizationMode = 0
+	BACnetAuthorizationMode_GRANT_ACTIVE             BACnetAuthorizationMode = 1
+	BACnetAuthorizationMode_DENY_ALL                 BACnetAuthorizationMode = 2
+	BACnetAuthorizationMode_VERIFICATION_REQUIRED    BACnetAuthorizationMode = 3
+	BACnetAuthorizationMode_AUTHORIZATION_DELAYED    BACnetAuthorizationMode = 4
+	BACnetAuthorizationMode_NONE                     BACnetAuthorizationMode = 5
 	BACnetAuthorizationMode_VENDOR_PROPRIETARY_VALUE BACnetAuthorizationMode = 0xFFFF
 )
 
@@ -42,22 +48,52 @@ var BACnetAuthorizationModeValues []BACnetAuthorizationMode
 func init() {
 	_ = errors.New
 	BACnetAuthorizationModeValues = []BACnetAuthorizationMode{
+		BACnetAuthorizationMode_AUTHORIZE,
+		BACnetAuthorizationMode_GRANT_ACTIVE,
+		BACnetAuthorizationMode_DENY_ALL,
+		BACnetAuthorizationMode_VERIFICATION_REQUIRED,
+		BACnetAuthorizationMode_AUTHORIZATION_DELAYED,
+		BACnetAuthorizationMode_NONE,
 		BACnetAuthorizationMode_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetAuthorizationModeByValue(value uint16) BACnetAuthorizationMode {
 	switch value {
+	case 0:
+		return BACnetAuthorizationMode_AUTHORIZE
 	case 0xFFFF:
 		return BACnetAuthorizationMode_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetAuthorizationMode_GRANT_ACTIVE
+	case 2:
+		return BACnetAuthorizationMode_DENY_ALL
+	case 3:
+		return BACnetAuthorizationMode_VERIFICATION_REQUIRED
+	case 4:
+		return BACnetAuthorizationMode_AUTHORIZATION_DELAYED
+	case 5:
+		return BACnetAuthorizationMode_NONE
 	}
 	return 0
 }
 
 func BACnetAuthorizationModeByName(value string) BACnetAuthorizationMode {
 	switch value {
+	case "AUTHORIZE":
+		return BACnetAuthorizationMode_AUTHORIZE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetAuthorizationMode_VENDOR_PROPRIETARY_VALUE
+	case "GRANT_ACTIVE":
+		return BACnetAuthorizationMode_GRANT_ACTIVE
+	case "DENY_ALL":
+		return BACnetAuthorizationMode_DENY_ALL
+	case "VERIFICATION_REQUIRED":
+		return BACnetAuthorizationMode_VERIFICATION_REQUIRED
+	case "AUTHORIZATION_DELAYED":
+		return BACnetAuthorizationMode_AUTHORIZATION_DELAYED
+	case "NONE":
+		return BACnetAuthorizationMode_NONE
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetAuthorizationMode) Serialize(writeBuffer utils.WriteBuffer) error
 
 func (e BACnetAuthorizationMode) name() string {
 	switch e {
+	case BACnetAuthorizationMode_AUTHORIZE:
+		return "AUTHORIZE"
 	case BACnetAuthorizationMode_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetAuthorizationMode_GRANT_ACTIVE:
+		return "GRANT_ACTIVE"
+	case BACnetAuthorizationMode_DENY_ALL:
+		return "DENY_ALL"
+	case BACnetAuthorizationMode_VERIFICATION_REQUIRED:
+		return "VERIFICATION_REQUIRED"
+	case BACnetAuthorizationMode_AUTHORIZATION_DELAYED:
+		return "AUTHORIZATION_DELAYED"
+	case BACnetAuthorizationMode_NONE:
+		return "NONE"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBackupState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBackupState.go
new file mode 100644
index 0000000000..095e9f7365
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBackupState.go
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetBackupState is an enum
+type BACnetBackupState uint8
+
+type IBACnetBackupState interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetBackupState_IDLE                  BACnetBackupState = 0
+	BACnetBackupState_PREPARING_FOR_BACKUP  BACnetBackupState = 1
+	BACnetBackupState_PREPARING_FOR_RESTORE BACnetBackupState = 2
+	BACnetBackupState_PERFORMING_A_BACKUP   BACnetBackupState = 3
+	BACnetBackupState_PERFORMING_A_RESTORE  BACnetBackupState = 4
+	BACnetBackupState_BACKUP_FAILURE        BACnetBackupState = 5
+	BACnetBackupState_RESTORE_FAILURE       BACnetBackupState = 6
+)
+
+var BACnetBackupStateValues []BACnetBackupState
+
+func init() {
+	_ = errors.New
+	BACnetBackupStateValues = []BACnetBackupState{
+		BACnetBackupState_IDLE,
+		BACnetBackupState_PREPARING_FOR_BACKUP,
+		BACnetBackupState_PREPARING_FOR_RESTORE,
+		BACnetBackupState_PERFORMING_A_BACKUP,
+		BACnetBackupState_PERFORMING_A_RESTORE,
+		BACnetBackupState_BACKUP_FAILURE,
+		BACnetBackupState_RESTORE_FAILURE,
+	}
+}
+
+func BACnetBackupStateByValue(value uint8) BACnetBackupState {
+	switch value {
+	case 0:
+		return BACnetBackupState_IDLE
+	case 1:
+		return BACnetBackupState_PREPARING_FOR_BACKUP
+	case 2:
+		return BACnetBackupState_PREPARING_FOR_RESTORE
+	case 3:
+		return BACnetBackupState_PERFORMING_A_BACKUP
+	case 4:
+		return BACnetBackupState_PERFORMING_A_RESTORE
+	case 5:
+		return BACnetBackupState_BACKUP_FAILURE
+	case 6:
+		return BACnetBackupState_RESTORE_FAILURE
+	}
+	return 0
+}
+
+func BACnetBackupStateByName(value string) BACnetBackupState {
+	switch value {
+	case "IDLE":
+		return BACnetBackupState_IDLE
+	case "PREPARING_FOR_BACKUP":
+		return BACnetBackupState_PREPARING_FOR_BACKUP
+	case "PREPARING_FOR_RESTORE":
+		return BACnetBackupState_PREPARING_FOR_RESTORE
+	case "PERFORMING_A_BACKUP":
+		return BACnetBackupState_PERFORMING_A_BACKUP
+	case "PERFORMING_A_RESTORE":
+		return BACnetBackupState_PERFORMING_A_RESTORE
+	case "BACKUP_FAILURE":
+		return BACnetBackupState_BACKUP_FAILURE
+	case "RESTORE_FAILURE":
+		return BACnetBackupState_RESTORE_FAILURE
+	}
+	return 0
+}
+
+func BACnetBackupStateKnows(value uint8) bool {
+	for _, typeValue := range BACnetBackupStateValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetBackupState(structType interface{}) BACnetBackupState {
+	castFunc := func(typ interface{}) BACnetBackupState {
+		if sBACnetBackupState, ok := typ.(BACnetBackupState); ok {
+			return sBACnetBackupState
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetBackupState) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetBackupState) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetBackupStateParse(readBuffer utils.ReadBuffer) (BACnetBackupState, error) {
+	val, err := readBuffer.ReadUint8("BACnetBackupState", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetBackupStateByValue(val), nil
+}
+
+func (e BACnetBackupState) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetBackupState", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetBackupState) name() string {
+	switch e {
+	case BACnetBackupState_IDLE:
+		return "IDLE"
+	case BACnetBackupState_PREPARING_FOR_BACKUP:
+		return "PREPARING_FOR_BACKUP"
+	case BACnetBackupState_PREPARING_FOR_RESTORE:
+		return "PREPARING_FOR_RESTORE"
+	case BACnetBackupState_PERFORMING_A_BACKUP:
+		return "PERFORMING_A_BACKUP"
+	case BACnetBackupState_PERFORMING_A_RESTORE:
+		return "PERFORMING_A_RESTORE"
+	case BACnetBackupState_BACKUP_FAILURE:
+		return "BACKUP_FAILURE"
+	case BACnetBackupState_RESTORE_FAILURE:
+		return "RESTORE_FAILURE"
+	}
+	return ""
+}
+
+func (e BACnetBackupState) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBinaryLightingPV.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBinaryLightingPV.go
index f9205b5dac..be66977416 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBinaryLightingPV.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetBinaryLightingPV.go
@@ -34,6 +34,12 @@ type IBACnetBinaryLightingPV interface {
 }
 
 const (
+	BACnetBinaryLightingPV_OFF                      BACnetBinaryLightingPV = 0
+	BACnetBinaryLightingPV_ON                       BACnetBinaryLightingPV = 1
+	BACnetBinaryLightingPV_WARN                     BACnetBinaryLightingPV = 2
+	BACnetBinaryLightingPV_WARN_OFF                 BACnetBinaryLightingPV = 3
+	BACnetBinaryLightingPV_WARN_RELINQUISH          BACnetBinaryLightingPV = 4
+	BACnetBinaryLightingPV_STOP                     BACnetBinaryLightingPV = 5
 	BACnetBinaryLightingPV_VENDOR_PROPRIETARY_VALUE BACnetBinaryLightingPV = 0xFF
 )
 
@@ -42,22 +48,52 @@ var BACnetBinaryLightingPVValues []BACnetBinaryLightingPV
 func init() {
 	_ = errors.New
 	BACnetBinaryLightingPVValues = []BACnetBinaryLightingPV{
+		BACnetBinaryLightingPV_OFF,
+		BACnetBinaryLightingPV_ON,
+		BACnetBinaryLightingPV_WARN,
+		BACnetBinaryLightingPV_WARN_OFF,
+		BACnetBinaryLightingPV_WARN_RELINQUISH,
+		BACnetBinaryLightingPV_STOP,
 		BACnetBinaryLightingPV_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetBinaryLightingPVByValue(value uint8) BACnetBinaryLightingPV {
 	switch value {
+	case 0:
+		return BACnetBinaryLightingPV_OFF
 	case 0xFF:
 		return BACnetBinaryLightingPV_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetBinaryLightingPV_ON
+	case 2:
+		return BACnetBinaryLightingPV_WARN
+	case 3:
+		return BACnetBinaryLightingPV_WARN_OFF
+	case 4:
+		return BACnetBinaryLightingPV_WARN_RELINQUISH
+	case 5:
+		return BACnetBinaryLightingPV_STOP
 	}
 	return 0
 }
 
 func BACnetBinaryLightingPVByName(value string) BACnetBinaryLightingPV {
 	switch value {
+	case "OFF":
+		return BACnetBinaryLightingPV_OFF
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetBinaryLightingPV_VENDOR_PROPRIETARY_VALUE
+	case "ON":
+		return BACnetBinaryLightingPV_ON
+	case "WARN":
+		return BACnetBinaryLightingPV_WARN
+	case "WARN_OFF":
+		return BACnetBinaryLightingPV_WARN_OFF
+	case "WARN_RELINQUISH":
+		return BACnetBinaryLightingPV_WARN_RELINQUISH
+	case "STOP":
+		return BACnetBinaryLightingPV_STOP
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetBinaryLightingPV) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetBinaryLightingPV) name() string {
 	switch e {
+	case BACnetBinaryLightingPV_OFF:
+		return "OFF"
 	case BACnetBinaryLightingPV_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetBinaryLightingPV_ON:
+		return "ON"
+	case BACnetBinaryLightingPV_WARN:
+		return "WARN"
+	case BACnetBinaryLightingPV_WARN_OFF:
+		return "WARN_OFF"
+	case BACnetBinaryLightingPV_WARN_RELINQUISH:
+		return "WARN_RELINQUISH"
+	case BACnetBinaryLightingPV_STOP:
+		return "STOP"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDeviceStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDeviceStatus.go
index 1f4f6082bf..c52a8f1884 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDeviceStatus.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDeviceStatus.go
@@ -34,6 +34,12 @@ type IBACnetDeviceStatus interface {
 }
 
 const (
+	BACnetDeviceStatus_OPERATIONAL              BACnetDeviceStatus = 0
+	BACnetDeviceStatus_OPERATIONAL_READ_ONLY    BACnetDeviceStatus = 1
+	BACnetDeviceStatus_DOWNLOAD_REQUIRED        BACnetDeviceStatus = 2
+	BACnetDeviceStatus_DOWNLOAD_IN_PROGRESS     BACnetDeviceStatus = 3
+	BACnetDeviceStatus_NON_OPERATIONAL          BACnetDeviceStatus = 4
+	BACnetDeviceStatus_BACKUP_IN_PROGRESS       BACnetDeviceStatus = 5
 	BACnetDeviceStatus_VENDOR_PROPRIETARY_VALUE BACnetDeviceStatus = 0xFFFF
 )
 
@@ -42,22 +48,52 @@ var BACnetDeviceStatusValues []BACnetDeviceStatus
 func init() {
 	_ = errors.New
 	BACnetDeviceStatusValues = []BACnetDeviceStatus{
+		BACnetDeviceStatus_OPERATIONAL,
+		BACnetDeviceStatus_OPERATIONAL_READ_ONLY,
+		BACnetDeviceStatus_DOWNLOAD_REQUIRED,
+		BACnetDeviceStatus_DOWNLOAD_IN_PROGRESS,
+		BACnetDeviceStatus_NON_OPERATIONAL,
+		BACnetDeviceStatus_BACKUP_IN_PROGRESS,
 		BACnetDeviceStatus_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetDeviceStatusByValue(value uint16) BACnetDeviceStatus {
 	switch value {
+	case 0:
+		return BACnetDeviceStatus_OPERATIONAL
 	case 0xFFFF:
 		return BACnetDeviceStatus_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetDeviceStatus_OPERATIONAL_READ_ONLY
+	case 2:
+		return BACnetDeviceStatus_DOWNLOAD_REQUIRED
+	case 3:
+		return BACnetDeviceStatus_DOWNLOAD_IN_PROGRESS
+	case 4:
+		return BACnetDeviceStatus_NON_OPERATIONAL
+	case 5:
+		return BACnetDeviceStatus_BACKUP_IN_PROGRESS
 	}
 	return 0
 }
 
 func BACnetDeviceStatusByName(value string) BACnetDeviceStatus {
 	switch value {
+	case "OPERATIONAL":
+		return BACnetDeviceStatus_OPERATIONAL
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetDeviceStatus_VENDOR_PROPRIETARY_VALUE
+	case "OPERATIONAL_READ_ONLY":
+		return BACnetDeviceStatus_OPERATIONAL_READ_ONLY
+	case "DOWNLOAD_REQUIRED":
+		return BACnetDeviceStatus_DOWNLOAD_REQUIRED
+	case "DOWNLOAD_IN_PROGRESS":
+		return BACnetDeviceStatus_DOWNLOAD_IN_PROGRESS
+	case "NON_OPERATIONAL":
+		return BACnetDeviceStatus_NON_OPERATIONAL
+	case "BACKUP_IN_PROGRESS":
+		return BACnetDeviceStatus_BACKUP_IN_PROGRESS
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetDeviceStatus) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetDeviceStatus) name() string {
 	switch e {
+	case BACnetDeviceStatus_OPERATIONAL:
+		return "OPERATIONAL"
 	case BACnetDeviceStatus_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetDeviceStatus_OPERATIONAL_READ_ONLY:
+		return "OPERATIONAL_READ_ONLY"
+	case BACnetDeviceStatus_DOWNLOAD_REQUIRED:
+		return "DOWNLOAD_REQUIRED"
+	case BACnetDeviceStatus_DOWNLOAD_IN_PROGRESS:
+		return "DOWNLOAD_IN_PROGRESS"
+	case BACnetDeviceStatus_NON_OPERATIONAL:
+		return "NON_OPERATIONAL"
+	case BACnetDeviceStatus_BACKUP_IN_PROGRESS:
+		return "BACKUP_IN_PROGRESS"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorAlarmState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorAlarmState.go
index 3b06a1011e..63cea32c07 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorAlarmState.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorAlarmState.go
@@ -34,6 +34,15 @@ type IBACnetDoorAlarmState interface {
 }
 
 const (
+	BACnetDoorAlarmState_NORMAL                   BACnetDoorAlarmState = 0
+	BACnetDoorAlarmState_ALARM                    BACnetDoorAlarmState = 1
+	BACnetDoorAlarmState_DOOR_OPEN_TOO_LONG       BACnetDoorAlarmState = 2
+	BACnetDoorAlarmState_FORCED_OPEN              BACnetDoorAlarmState = 3
+	BACnetDoorAlarmState_TAMPER                   BACnetDoorAlarmState = 4
+	BACnetDoorAlarmState_DOOR_FAULT               BACnetDoorAlarmState = 5
+	BACnetDoorAlarmState_LOCK_DOWN                BACnetDoorAlarmState = 6
+	BACnetDoorAlarmState_FREE_ACCESS              BACnetDoorAlarmState = 7
+	BACnetDoorAlarmState_EGRESS_OPEN              BACnetDoorAlarmState = 8
 	BACnetDoorAlarmState_VENDOR_PROPRIETARY_VALUE BACnetDoorAlarmState = 0xFF
 )
 
@@ -42,22 +51,67 @@ var BACnetDoorAlarmStateValues []BACnetDoorAlarmState
 func init() {
 	_ = errors.New
 	BACnetDoorAlarmStateValues = []BACnetDoorAlarmState{
+		BACnetDoorAlarmState_NORMAL,
+		BACnetDoorAlarmState_ALARM,
+		BACnetDoorAlarmState_DOOR_OPEN_TOO_LONG,
+		BACnetDoorAlarmState_FORCED_OPEN,
+		BACnetDoorAlarmState_TAMPER,
+		BACnetDoorAlarmState_DOOR_FAULT,
+		BACnetDoorAlarmState_LOCK_DOWN,
+		BACnetDoorAlarmState_FREE_ACCESS,
+		BACnetDoorAlarmState_EGRESS_OPEN,
 		BACnetDoorAlarmState_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetDoorAlarmStateByValue(value uint8) BACnetDoorAlarmState {
 	switch value {
+	case 0:
+		return BACnetDoorAlarmState_NORMAL
 	case 0xFF:
 		return BACnetDoorAlarmState_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetDoorAlarmState_ALARM
+	case 2:
+		return BACnetDoorAlarmState_DOOR_OPEN_TOO_LONG
+	case 3:
+		return BACnetDoorAlarmState_FORCED_OPEN
+	case 4:
+		return BACnetDoorAlarmState_TAMPER
+	case 5:
+		return BACnetDoorAlarmState_DOOR_FAULT
+	case 6:
+		return BACnetDoorAlarmState_LOCK_DOWN
+	case 7:
+		return BACnetDoorAlarmState_FREE_ACCESS
+	case 8:
+		return BACnetDoorAlarmState_EGRESS_OPEN
 	}
 	return 0
 }
 
 func BACnetDoorAlarmStateByName(value string) BACnetDoorAlarmState {
 	switch value {
+	case "NORMAL":
+		return BACnetDoorAlarmState_NORMAL
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetDoorAlarmState_VENDOR_PROPRIETARY_VALUE
+	case "ALARM":
+		return BACnetDoorAlarmState_ALARM
+	case "DOOR_OPEN_TOO_LONG":
+		return BACnetDoorAlarmState_DOOR_OPEN_TOO_LONG
+	case "FORCED_OPEN":
+		return BACnetDoorAlarmState_FORCED_OPEN
+	case "TAMPER":
+		return BACnetDoorAlarmState_TAMPER
+	case "DOOR_FAULT":
+		return BACnetDoorAlarmState_DOOR_FAULT
+	case "LOCK_DOWN":
+		return BACnetDoorAlarmState_LOCK_DOWN
+	case "FREE_ACCESS":
+		return BACnetDoorAlarmState_FREE_ACCESS
+	case "EGRESS_OPEN":
+		return BACnetDoorAlarmState_EGRESS_OPEN
 	}
 	return 0
 }
@@ -103,8 +157,26 @@ func (e BACnetDoorAlarmState) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetDoorAlarmState) name() string {
 	switch e {
+	case BACnetDoorAlarmState_NORMAL:
+		return "NORMAL"
 	case BACnetDoorAlarmState_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetDoorAlarmState_ALARM:
+		return "ALARM"
+	case BACnetDoorAlarmState_DOOR_OPEN_TOO_LONG:
+		return "DOOR_OPEN_TOO_LONG"
+	case BACnetDoorAlarmState_FORCED_OPEN:
+		return "FORCED_OPEN"
+	case BACnetDoorAlarmState_TAMPER:
+		return "TAMPER"
+	case BACnetDoorAlarmState_DOOR_FAULT:
+		return "DOOR_FAULT"
+	case BACnetDoorAlarmState_LOCK_DOWN:
+		return "LOCK_DOWN"
+	case BACnetDoorAlarmState_FREE_ACCESS:
+		return "FREE_ACCESS"
+	case BACnetDoorAlarmState_EGRESS_OPEN:
+		return "EGRESS_OPEN"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorSecuredStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorSecuredStatus.go
new file mode 100644
index 0000000000..de24bd45a3
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorSecuredStatus.go
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetDoorSecuredStatus is an enum
+type BACnetDoorSecuredStatus uint8
+
+type IBACnetDoorSecuredStatus interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetDoorSecuredStatus_SECURED   BACnetDoorSecuredStatus = 0
+	BACnetDoorSecuredStatus_UNSECURED BACnetDoorSecuredStatus = 1
+	BACnetDoorSecuredStatus_UNKNOWN   BACnetDoorSecuredStatus = 2
+)
+
+var BACnetDoorSecuredStatusValues []BACnetDoorSecuredStatus
+
+func init() {
+	_ = errors.New
+	BACnetDoorSecuredStatusValues = []BACnetDoorSecuredStatus{
+		BACnetDoorSecuredStatus_SECURED,
+		BACnetDoorSecuredStatus_UNSECURED,
+		BACnetDoorSecuredStatus_UNKNOWN,
+	}
+}
+
+func BACnetDoorSecuredStatusByValue(value uint8) BACnetDoorSecuredStatus {
+	switch value {
+	case 0:
+		return BACnetDoorSecuredStatus_SECURED
+	case 1:
+		return BACnetDoorSecuredStatus_UNSECURED
+	case 2:
+		return BACnetDoorSecuredStatus_UNKNOWN
+	}
+	return 0
+}
+
+func BACnetDoorSecuredStatusByName(value string) BACnetDoorSecuredStatus {
+	switch value {
+	case "SECURED":
+		return BACnetDoorSecuredStatus_SECURED
+	case "UNSECURED":
+		return BACnetDoorSecuredStatus_UNSECURED
+	case "UNKNOWN":
+		return BACnetDoorSecuredStatus_UNKNOWN
+	}
+	return 0
+}
+
+func BACnetDoorSecuredStatusKnows(value uint8) bool {
+	for _, typeValue := range BACnetDoorSecuredStatusValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetDoorSecuredStatus(structType interface{}) BACnetDoorSecuredStatus {
+	castFunc := func(typ interface{}) BACnetDoorSecuredStatus {
+		if sBACnetDoorSecuredStatus, ok := typ.(BACnetDoorSecuredStatus); ok {
+			return sBACnetDoorSecuredStatus
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetDoorSecuredStatus) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetDoorSecuredStatus) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetDoorSecuredStatusParse(readBuffer utils.ReadBuffer) (BACnetDoorSecuredStatus, error) {
+	val, err := readBuffer.ReadUint8("BACnetDoorSecuredStatus", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetDoorSecuredStatusByValue(val), nil
+}
+
+func (e BACnetDoorSecuredStatus) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetDoorSecuredStatus", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetDoorSecuredStatus) name() string {
+	switch e {
+	case BACnetDoorSecuredStatus_SECURED:
+		return "SECURED"
+	case BACnetDoorSecuredStatus_UNSECURED:
+		return "UNSECURED"
+	case BACnetDoorSecuredStatus_UNKNOWN:
+		return "UNKNOWN"
+	}
+	return ""
+}
+
+func (e BACnetDoorSecuredStatus) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorStatus.go
index a21944468e..06f60938aa 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorStatus.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorStatus.go
@@ -34,6 +34,16 @@ type IBACnetDoorStatus interface {
 }
 
 const (
+	BACnetDoorStatus_CLOSED                   BACnetDoorStatus = 0
+	BACnetDoorStatus_OPENED                   BACnetDoorStatus = 1
+	BACnetDoorStatus_UNKNOWN                  BACnetDoorStatus = 2
+	BACnetDoorStatus_DOOR_FAULT               BACnetDoorStatus = 3
+	BACnetDoorStatus_UNUSED                   BACnetDoorStatus = 4
+	BACnetDoorStatus_NONE                     BACnetDoorStatus = 5
+	BACnetDoorStatus_CLOSING                  BACnetDoorStatus = 6
+	BACnetDoorStatus_OPENING                  BACnetDoorStatus = 7
+	BACnetDoorStatus_SAFETY_LOCKED            BACnetDoorStatus = 8
+	BACnetDoorStatus_LIMITED_OPENED           BACnetDoorStatus = 9
 	BACnetDoorStatus_VENDOR_PROPRIETARY_VALUE BACnetDoorStatus = 0xFFFF
 )
 
@@ -42,22 +52,72 @@ var BACnetDoorStatusValues []BACnetDoorStatus
 func init() {
 	_ = errors.New
 	BACnetDoorStatusValues = []BACnetDoorStatus{
+		BACnetDoorStatus_CLOSED,
+		BACnetDoorStatus_OPENED,
+		BACnetDoorStatus_UNKNOWN,
+		BACnetDoorStatus_DOOR_FAULT,
+		BACnetDoorStatus_UNUSED,
+		BACnetDoorStatus_NONE,
+		BACnetDoorStatus_CLOSING,
+		BACnetDoorStatus_OPENING,
+		BACnetDoorStatus_SAFETY_LOCKED,
+		BACnetDoorStatus_LIMITED_OPENED,
 		BACnetDoorStatus_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetDoorStatusByValue(value uint16) BACnetDoorStatus {
 	switch value {
+	case 0:
+		return BACnetDoorStatus_CLOSED
 	case 0xFFFF:
 		return BACnetDoorStatus_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetDoorStatus_OPENED
+	case 2:
+		return BACnetDoorStatus_UNKNOWN
+	case 3:
+		return BACnetDoorStatus_DOOR_FAULT
+	case 4:
+		return BACnetDoorStatus_UNUSED
+	case 5:
+		return BACnetDoorStatus_NONE
+	case 6:
+		return BACnetDoorStatus_CLOSING
+	case 7:
+		return BACnetDoorStatus_OPENING
+	case 8:
+		return BACnetDoorStatus_SAFETY_LOCKED
+	case 9:
+		return BACnetDoorStatus_LIMITED_OPENED
 	}
 	return 0
 }
 
 func BACnetDoorStatusByName(value string) BACnetDoorStatus {
 	switch value {
+	case "CLOSED":
+		return BACnetDoorStatus_CLOSED
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetDoorStatus_VENDOR_PROPRIETARY_VALUE
+	case "OPENED":
+		return BACnetDoorStatus_OPENED
+	case "UNKNOWN":
+		return BACnetDoorStatus_UNKNOWN
+	case "DOOR_FAULT":
+		return BACnetDoorStatus_DOOR_FAULT
+	case "UNUSED":
+		return BACnetDoorStatus_UNUSED
+	case "NONE":
+		return BACnetDoorStatus_NONE
+	case "CLOSING":
+		return BACnetDoorStatus_CLOSING
+	case "OPENING":
+		return BACnetDoorStatus_OPENING
+	case "SAFETY_LOCKED":
+		return BACnetDoorStatus_SAFETY_LOCKED
+	case "LIMITED_OPENED":
+		return BACnetDoorStatus_LIMITED_OPENED
 	}
 	return 0
 }
@@ -103,8 +163,28 @@ func (e BACnetDoorStatus) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetDoorStatus) name() string {
 	switch e {
+	case BACnetDoorStatus_CLOSED:
+		return "CLOSED"
 	case BACnetDoorStatus_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetDoorStatus_OPENED:
+		return "OPENED"
+	case BACnetDoorStatus_UNKNOWN:
+		return "UNKNOWN"
+	case BACnetDoorStatus_DOOR_FAULT:
+		return "DOOR_FAULT"
+	case BACnetDoorStatus_UNUSED:
+		return "UNUSED"
+	case BACnetDoorStatus_NONE:
+		return "NONE"
+	case BACnetDoorStatus_CLOSING:
+		return "CLOSING"
+	case BACnetDoorStatus_OPENING:
+		return "OPENING"
+	case BACnetDoorStatus_SAFETY_LOCKED:
+		return "SAFETY_LOCKED"
+	case BACnetDoorStatus_LIMITED_OPENED:
+		return "LIMITED_OPENED"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorValue.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorValue.go
new file mode 100644
index 0000000000..d1e1fa8d3e
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetDoorValue.go
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetDoorValue is an enum
+type BACnetDoorValue uint8
+
+type IBACnetDoorValue interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetDoorValue_LOCK                  BACnetDoorValue = 0
+	BACnetDoorValue_UNLOCK                BACnetDoorValue = 1
+	BACnetDoorValue_PULSE_UNLOCK          BACnetDoorValue = 2
+	BACnetDoorValue_EXTENDED_PULSE_UNLOCK BACnetDoorValue = 3
+)
+
+var BACnetDoorValueValues []BACnetDoorValue
+
+func init() {
+	_ = errors.New
+	BACnetDoorValueValues = []BACnetDoorValue{
+		BACnetDoorValue_LOCK,
+		BACnetDoorValue_UNLOCK,
+		BACnetDoorValue_PULSE_UNLOCK,
+		BACnetDoorValue_EXTENDED_PULSE_UNLOCK,
+	}
+}
+
+func BACnetDoorValueByValue(value uint8) BACnetDoorValue {
+	switch value {
+	case 0:
+		return BACnetDoorValue_LOCK
+	case 1:
+		return BACnetDoorValue_UNLOCK
+	case 2:
+		return BACnetDoorValue_PULSE_UNLOCK
+	case 3:
+		return BACnetDoorValue_EXTENDED_PULSE_UNLOCK
+	}
+	return 0
+}
+
+func BACnetDoorValueByName(value string) BACnetDoorValue {
+	switch value {
+	case "LOCK":
+		return BACnetDoorValue_LOCK
+	case "UNLOCK":
+		return BACnetDoorValue_UNLOCK
+	case "PULSE_UNLOCK":
+		return BACnetDoorValue_PULSE_UNLOCK
+	case "EXTENDED_PULSE_UNLOCK":
+		return BACnetDoorValue_EXTENDED_PULSE_UNLOCK
+	}
+	return 0
+}
+
+func BACnetDoorValueKnows(value uint8) bool {
+	for _, typeValue := range BACnetDoorValueValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetDoorValue(structType interface{}) BACnetDoorValue {
+	castFunc := func(typ interface{}) BACnetDoorValue {
+		if sBACnetDoorValue, ok := typ.(BACnetDoorValue); ok {
+			return sBACnetDoorValue
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetDoorValue) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetDoorValue) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetDoorValueParse(readBuffer utils.ReadBuffer) (BACnetDoorValue, error) {
+	val, err := readBuffer.ReadUint8("BACnetDoorValue", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetDoorValueByValue(val), nil
+}
+
+func (e BACnetDoorValue) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetDoorValue", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetDoorValue) name() string {
+	switch e {
+	case BACnetDoorValue_LOCK:
+		return "LOCK"
+	case BACnetDoorValue_UNLOCK:
+		return "UNLOCK"
+	case BACnetDoorValue_PULSE_UNLOCK:
+		return "PULSE_UNLOCK"
+	case BACnetDoorValue_EXTENDED_PULSE_UNLOCK:
+		return "EXTENDED_PULSE_UNLOCK"
+	}
+	return ""
+}
+
+func (e BACnetDoorValue) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEngineeringUnits.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEngineeringUnits.go
index 1b2911a834..9102efdc0c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEngineeringUnits.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEngineeringUnits.go
@@ -27,14 +27,265 @@ import (
 // Code generated by code-generation. DO NOT EDIT.
 
 // BACnetEngineeringUnits is an enum
-type BACnetEngineeringUnits uint8
+type BACnetEngineeringUnits uint32
 
 type IBACnetEngineeringUnits interface {
 	Serialize(writeBuffer utils.WriteBuffer) error
 }
 
 const (
-	BACnetEngineeringUnits_VENDOR_PROPRIETARY_VALUE BACnetEngineeringUnits = 0xFF
+	BACnetEngineeringUnits_METERS_PER_SECOND_PER_SECOND           BACnetEngineeringUnits = 166
+	BACnetEngineeringUnits_SQUARE_METERS                          BACnetEngineeringUnits = 0
+	BACnetEngineeringUnits_SQUARE_CENTIMETERS                     BACnetEngineeringUnits = 116
+	BACnetEngineeringUnits_SQUARE_FEET                            BACnetEngineeringUnits = 1
+	BACnetEngineeringUnits_SQUARE_INCHES                          BACnetEngineeringUnits = 115
+	BACnetEngineeringUnits_CURRENCY1                              BACnetEngineeringUnits = 105
+	BACnetEngineeringUnits_CURRENCY2                              BACnetEngineeringUnits = 106
+	BACnetEngineeringUnits_CURRENCY3                              BACnetEngineeringUnits = 107
+	BACnetEngineeringUnits_CURRENCY4                              BACnetEngineeringUnits = 108
+	BACnetEngineeringUnits_CURRENCY5                              BACnetEngineeringUnits = 109
+	BACnetEngineeringUnits_CURRENCY6                              BACnetEngineeringUnits = 110
+	BACnetEngineeringUnits_CURRENCY7                              BACnetEngineeringUnits = 111
+	BACnetEngineeringUnits_CURRENCY8                              BACnetEngineeringUnits = 112
+	BACnetEngineeringUnits_CURRENCY9                              BACnetEngineeringUnits = 113
+	BACnetEngineeringUnits_CURRENCY10                             BACnetEngineeringUnits = 114
+	BACnetEngineeringUnits_MILLIAMPERES                           BACnetEngineeringUnits = 2
+	BACnetEngineeringUnits_AMPERES                                BACnetEngineeringUnits = 3
+	BACnetEngineeringUnits_AMPERES_PER_METER                      BACnetEngineeringUnits = 167
+	BACnetEngineeringUnits_AMPERES_PER_SQUARE_METER               BACnetEngineeringUnits = 168
+	BACnetEngineeringUnits_AMPERE_SQUARE_METERS                   BACnetEngineeringUnits = 169
+	BACnetEngineeringUnits_DECIBELS                               BACnetEngineeringUnits = 199
+	BACnetEngineeringUnits_DECIBELS_MILLIVOLT                     BACnetEngineeringUnits = 200
+	BACnetEngineeringUnits_DECIBELS_VOLT                          BACnetEngineeringUnits = 201
+	BACnetEngineeringUnits_FARADS                                 BACnetEngineeringUnits = 170
+	BACnetEngineeringUnits_HENRYS                                 BACnetEngineeringUnits = 171
+	BACnetEngineeringUnits_OHMS                                   BACnetEngineeringUnits = 4
+	BACnetEngineeringUnits_OHM_METER_SQUARED_PER_METER            BACnetEngineeringUnits = 237
+	BACnetEngineeringUnits_OHM_METERS                             BACnetEngineeringUnits = 172
+	BACnetEngineeringUnits_MILLIOHMS                              BACnetEngineeringUnits = 145
+	BACnetEngineeringUnits_KILOHMS                                BACnetEngineeringUnits = 122
+	BACnetEngineeringUnits_MEGOHMS                                BACnetEngineeringUnits = 123
+	BACnetEngineeringUnits_MICROSIEMENS                           BACnetEngineeringUnits = 190
+	BACnetEngineeringUnits_MILLISIEMENS                           BACnetEngineeringUnits = 202
+	BACnetEngineeringUnits_SIEMENS                                BACnetEngineeringUnits = 173
+	BACnetEngineeringUnits_SIEMENS_PER_METER                      BACnetEngineeringUnits = 174
+	BACnetEngineeringUnits_TESLAS                                 BACnetEngineeringUnits = 175
+	BACnetEngineeringUnits_VOLTS                                  BACnetEngineeringUnits = 5
+	BACnetEngineeringUnits_MILLIVOLTS                             BACnetEngineeringUnits = 124
+	BACnetEngineeringUnits_KILOVOLTS                              BACnetEngineeringUnits = 6
+	BACnetEngineeringUnits_MEGAVOLTS                              BACnetEngineeringUnits = 7
+	BACnetEngineeringUnits_VOLT_AMPERES                           BACnetEngineeringUnits = 8
+	BACnetEngineeringUnits_KILOVOLT_AMPERES                       BACnetEngineeringUnits = 9
+	BACnetEngineeringUnits_MEGAVOLT_AMPERES                       BACnetEngineeringUnits = 10
+	BACnetEngineeringUnits_VOLT_AMPERES_REACTIVE                  BACnetEngineeringUnits = 11
+	BACnetEngineeringUnits_KILOVOLT_AMPERES_REACTIVE              BACnetEngineeringUnits = 12
+	BACnetEngineeringUnits_MEGAVOLT_AMPERES_REACTIVE              BACnetEngineeringUnits = 13
+	BACnetEngineeringUnits_VOLTS_PER_DEGREE_KELVIN                BACnetEngineeringUnits = 176
+	BACnetEngineeringUnits_VOLTS_PER_METER                        BACnetEngineeringUnits = 177
+	BACnetEngineeringUnits_DEGREES_PHASE                          BACnetEngineeringUnits = 14
+	BACnetEngineeringUnits_POWER_FACTOR                           BACnetEngineeringUnits = 15
+	BACnetEngineeringUnits_WEBERS                                 BACnetEngineeringUnits = 178
+	BACnetEngineeringUnits_AMPERE_SECONDS                         BACnetEngineeringUnits = 238
+	BACnetEngineeringUnits_VOLT_AMPERE_HOURS                      BACnetEngineeringUnits = 239
+	BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS                  BACnetEngineeringUnits = 240
+	BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS                  BACnetEngineeringUnits = 241
+	BACnetEngineeringUnits_VOLT_AMPERE_HOURS_REACTIVE             BACnetEngineeringUnits = 242
+	BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS_REACTIVE         BACnetEngineeringUnits = 243
+	BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS_REACTIVE         BACnetEngineeringUnits = 244
+	BACnetEngineeringUnits_VOLT_SQUARE_HOURS                      BACnetEngineeringUnits = 245
+	BACnetEngineeringUnits_AMPERE_SQUARE_HOURS                    BACnetEngineeringUnits = 246
+	BACnetEngineeringUnits_JOULES                                 BACnetEngineeringUnits = 16
+	BACnetEngineeringUnits_KILOJOULES                             BACnetEngineeringUnits = 17
+	BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM                BACnetEngineeringUnits = 125
+	BACnetEngineeringUnits_MEGAJOULES                             BACnetEngineeringUnits = 126
+	BACnetEngineeringUnits_WATT_HOURS                             BACnetEngineeringUnits = 18
+	BACnetEngineeringUnits_KILOWATT_HOURS                         BACnetEngineeringUnits = 19
+	BACnetEngineeringUnits_MEGAWATT_HOURS                         BACnetEngineeringUnits = 146
+	BACnetEngineeringUnits_WATT_HOURS_REACTIVE                    BACnetEngineeringUnits = 203
+	BACnetEngineeringUnits_KILOWATT_HOURS_REACTIVE                BACnetEngineeringUnits = 204
+	BACnetEngineeringUnits_MEGAWATT_HOURS_REACTIVE                BACnetEngineeringUnits = 205
+	BACnetEngineeringUnits_BTUS                                   BACnetEngineeringUnits = 20
+	BACnetEngineeringUnits_KILO_BTUS                              BACnetEngineeringUnits = 147
+	BACnetEngineeringUnits_MEGA_BTUS                              BACnetEngineeringUnits = 148
+	BACnetEngineeringUnits_THERMS                                 BACnetEngineeringUnits = 21
+	BACnetEngineeringUnits_TON_HOURS                              BACnetEngineeringUnits = 22
+	BACnetEngineeringUnits_JOULES_PER_KILOGRAM_DRY_AIR            BACnetEngineeringUnits = 23
+	BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM_DRY_AIR        BACnetEngineeringUnits = 149
+	BACnetEngineeringUnits_MEGAJOULES_PER_KILOGRAM_DRY_AIR        BACnetEngineeringUnits = 150
+	BACnetEngineeringUnits_BTUS_PER_POUND_DRY_AIR                 BACnetEngineeringUnits = 24
+	BACnetEngineeringUnits_BTUS_PER_POUND                         BACnetEngineeringUnits = 117
+	BACnetEngineeringUnits_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR    BACnetEngineeringUnits = 28
+	BACnetEngineeringUnits_PERCENT_RELATIVE_HUMIDITY              BACnetEngineeringUnits = 29
+	BACnetEngineeringUnits_MICROMETERS                            BACnetEngineeringUnits = 194
+	BACnetEngineeringUnits_MILLIMETERS                            BACnetEngineeringUnits = 30
+	BACnetEngineeringUnits_CENTIMETERS                            BACnetEngineeringUnits = 118
+	BACnetEngineeringUnits_KILOMETERS                             BACnetEngineeringUnits = 193
+	BACnetEngineeringUnits_METERS                                 BACnetEngineeringUnits = 31
+	BACnetEngineeringUnits_INCHES                                 BACnetEngineeringUnits = 32
+	BACnetEngineeringUnits_FEET                                   BACnetEngineeringUnits = 33
+	BACnetEngineeringUnits_CANDELAS                               BACnetEngineeringUnits = 179
+	BACnetEngineeringUnits_CANDELAS_PER_SQUARE_METER              BACnetEngineeringUnits = 180
+	BACnetEngineeringUnits_WATTS_PER_SQUARE_FOOT                  BACnetEngineeringUnits = 34
+	BACnetEngineeringUnits_WATTS_PER_SQUARE_METER                 BACnetEngineeringUnits = 35
+	BACnetEngineeringUnits_LUMENS                                 BACnetEngineeringUnits = 36
+	BACnetEngineeringUnits_LUXES                                  BACnetEngineeringUnits = 37
+	BACnetEngineeringUnits_FOOT_CANDLES                           BACnetEngineeringUnits = 38
+	BACnetEngineeringUnits_MILLIGRAMS                             BACnetEngineeringUnits = 196
+	BACnetEngineeringUnits_GRAMS                                  BACnetEngineeringUnits = 195
+	BACnetEngineeringUnits_KILOGRAMS                              BACnetEngineeringUnits = 39
+	BACnetEngineeringUnits_POUNDS_MASS                            BACnetEngineeringUnits = 40
+	BACnetEngineeringUnits_TONS                                   BACnetEngineeringUnits = 41
+	BACnetEngineeringUnits_GRAMS_PER_SECOND                       BACnetEngineeringUnits = 154
+	BACnetEngineeringUnits_GRAMS_PER_MINUTE                       BACnetEngineeringUnits = 155
+	BACnetEngineeringUnits_KILOGRAMS_PER_SECOND                   BACnetEngineeringUnits = 42
+	BACnetEngineeringUnits_KILOGRAMS_PER_MINUTE                   BACnetEngineeringUnits = 43
+	BACnetEngineeringUnits_KILOGRAMS_PER_HOUR                     BACnetEngineeringUnits = 44
+	BACnetEngineeringUnits_POUNDS_MASS_PER_SECOND                 BACnetEngineeringUnits = 119
+	BACnetEngineeringUnits_POUNDS_MASS_PER_MINUTE                 BACnetEngineeringUnits = 45
+	BACnetEngineeringUnits_POUNDS_MASS_PER_HOUR                   BACnetEngineeringUnits = 46
+	BACnetEngineeringUnits_TONS_PER_HOUR                          BACnetEngineeringUnits = 156
+	BACnetEngineeringUnits_IWATTS                                 BACnetEngineeringUnits = 132
+	BACnetEngineeringUnits_WATTS                                  BACnetEngineeringUnits = 47
+	BACnetEngineeringUnits_KILOWATTS                              BACnetEngineeringUnits = 48
+	BACnetEngineeringUnits_MEGAWATTS                              BACnetEngineeringUnits = 49
+	BACnetEngineeringUnits_BTUS_PER_HOUR                          BACnetEngineeringUnits = 50
+	BACnetEngineeringUnits_KILO_BTUS_PER_HOUR                     BACnetEngineeringUnits = 157
+	BACnetEngineeringUnits_JOULE_PER_HOURS                        BACnetEngineeringUnits = 247
+	BACnetEngineeringUnits_HORSEPOWER                             BACnetEngineeringUnits = 51
+	BACnetEngineeringUnits_TONS_REFRIGERATION                     BACnetEngineeringUnits = 52
+	BACnetEngineeringUnits_PASCALS                                BACnetEngineeringUnits = 53
+	BACnetEngineeringUnits_HECTOPASCALS                           BACnetEngineeringUnits = 133
+	BACnetEngineeringUnits_KILOPASCALS                            BACnetEngineeringUnits = 54
+	BACnetEngineeringUnits_MILLIBARS                              BACnetEngineeringUnits = 134
+	BACnetEngineeringUnits_BARS                                   BACnetEngineeringUnits = 55
+	BACnetEngineeringUnits_POUNDS_FORCE_PER_SQUARE_INCH           BACnetEngineeringUnits = 56
+	BACnetEngineeringUnits_MILLIMETERS_OF_WATER                   BACnetEngineeringUnits = 206
+	BACnetEngineeringUnits_CENTIMETERS_OF_WATER                   BACnetEngineeringUnits = 57
+	BACnetEngineeringUnits_INCHES_OF_WATER                        BACnetEngineeringUnits = 58
+	BACnetEngineeringUnits_MILLIMETERS_OF_MERCURY                 BACnetEngineeringUnits = 59
+	BACnetEngineeringUnits_CENTIMETERS_OF_MERCURY                 BACnetEngineeringUnits = 60
+	BACnetEngineeringUnits_INCHES_OF_MERCURY                      BACnetEngineeringUnits = 61
+	BACnetEngineeringUnits_DEGREES_CELSIUS                        BACnetEngineeringUnits = 62
+	BACnetEngineeringUnits_DEGREES_KELVIN                         BACnetEngineeringUnits = 63
+	BACnetEngineeringUnits_DEGREES_KELVIN_PER_HOUR                BACnetEngineeringUnits = 181
+	BACnetEngineeringUnits_DEGREES_KELVIN_PER_MINUTE              BACnetEngineeringUnits = 182
+	BACnetEngineeringUnits_DEGREES_FAHRENHEIT                     BACnetEngineeringUnits = 64
+	BACnetEngineeringUnits_DEGREE_DAYS_CELSIUS                    BACnetEngineeringUnits = 65
+	BACnetEngineeringUnits_DEGREE_DAYS_FAHRENHEIT                 BACnetEngineeringUnits = 66
+	BACnetEngineeringUnits_DELTA_DEGREES_FAHRENHEIT               BACnetEngineeringUnits = 120
+	BACnetEngineeringUnits_DELTA_DEGREES_KELVIN                   BACnetEngineeringUnits = 121
+	BACnetEngineeringUnits_YEARS                                  BACnetEngineeringUnits = 67
+	BACnetEngineeringUnits_MONTHS                                 BACnetEngineeringUnits = 68
+	BACnetEngineeringUnits_WEEKS                                  BACnetEngineeringUnits = 69
+	BACnetEngineeringUnits_DAYS                                   BACnetEngineeringUnits = 70
+	BACnetEngineeringUnits_HOURS                                  BACnetEngineeringUnits = 71
+	BACnetEngineeringUnits_MINUTES                                BACnetEngineeringUnits = 72
+	BACnetEngineeringUnits_SECONDS                                BACnetEngineeringUnits = 73
+	BACnetEngineeringUnits_HUNDREDTHS_SECONDS                     BACnetEngineeringUnits = 158
+	BACnetEngineeringUnits_MILLISECONDS                           BACnetEngineeringUnits = 159
+	BACnetEngineeringUnits_NEWTON_METERS                          BACnetEngineeringUnits = 160
+	BACnetEngineeringUnits_MILLIMETERS_PER_SECOND                 BACnetEngineeringUnits = 161
+	BACnetEngineeringUnits_MILLIMETERS_PER_MINUTE                 BACnetEngineeringUnits = 162
+	BACnetEngineeringUnits_METERS_PER_SECOND                      BACnetEngineeringUnits = 74
+	BACnetEngineeringUnits_METERS_PER_MINUTE                      BACnetEngineeringUnits = 163
+	BACnetEngineeringUnits_METERS_PER_HOUR                        BACnetEngineeringUnits = 164
+	BACnetEngineeringUnits_KILOMETERS_PER_HOUR                    BACnetEngineeringUnits = 75
+	BACnetEngineeringUnits_FEET_PER_SECOND                        BACnetEngineeringUnits = 76
+	BACnetEngineeringUnits_FEET_PER_MINUTE                        BACnetEngineeringUnits = 77
+	BACnetEngineeringUnits_MILES_PER_HOUR                         BACnetEngineeringUnits = 78
+	BACnetEngineeringUnits_CUBIC_FEET                             BACnetEngineeringUnits = 79
+	BACnetEngineeringUnits_CUBIC_METERS                           BACnetEngineeringUnits = 80
+	BACnetEngineeringUnits_IMPERIAL_GALLONS                       BACnetEngineeringUnits = 81
+	BACnetEngineeringUnits_MILLILITERS                            BACnetEngineeringUnits = 197
+	BACnetEngineeringUnits_LITERS                                 BACnetEngineeringUnits = 82
+	BACnetEngineeringUnits_US_GALLONS                             BACnetEngineeringUnits = 83
+	BACnetEngineeringUnits_CUBIC_FEET_PER_SECOND                  BACnetEngineeringUnits = 142
+	BACnetEngineeringUnits_CUBIC_FEET_PER_MINUTE                  BACnetEngineeringUnits = 84
+	BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_MINUTE BACnetEngineeringUnits = 254
+	BACnetEngineeringUnits_CUBIC_FEET_PER_HOUR                    BACnetEngineeringUnits = 191
+	BACnetEngineeringUnits_CUBIC_FEET_PER_DAY                     BACnetEngineeringUnits = 248
+	BACnetEngineeringUnits_STANDARD_CUBIC_FEET_PER_DAY            BACnetEngineeringUnits = 47808
+	BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_DAY    BACnetEngineeringUnits = 47809
+	BACnetEngineeringUnits_THOUSAND_CUBIC_FEET_PER_DAY            BACnetEngineeringUnits = 47810
+	BACnetEngineeringUnits_THOUSAND_STANDARD_CUBIC_FEET_PER_DAY   BACnetEngineeringUnits = 47811
+	BACnetEngineeringUnits_POUNDS_MASS_PER_DAY                    BACnetEngineeringUnits = 47812
+	BACnetEngineeringUnits_CUBIC_METERS_PER_SECOND                BACnetEngineeringUnits = 85
+	BACnetEngineeringUnits_CUBIC_METERS_PER_MINUTE                BACnetEngineeringUnits = 165
+	BACnetEngineeringUnits_CUBIC_METERS_PER_HOUR                  BACnetEngineeringUnits = 135
+	BACnetEngineeringUnits_CUBIC_METERS_PER_DAY                   BACnetEngineeringUnits = 249
+	BACnetEngineeringUnits_IMPERIAL_GALLONS_PER_MINUTE            BACnetEngineeringUnits = 86
+	BACnetEngineeringUnits_MILLILITERS_PER_SECOND                 BACnetEngineeringUnits = 198
+	BACnetEngineeringUnits_LITERS_PER_SECOND                      BACnetEngineeringUnits = 87
+	BACnetEngineeringUnits_LITERS_PER_MINUTE                      BACnetEngineeringUnits = 88
+	BACnetEngineeringUnits_LITERS_PER_HOUR                        BACnetEngineeringUnits = 136
+	BACnetEngineeringUnits_US_GALLONS_PER_MINUTE                  BACnetEngineeringUnits = 89
+	BACnetEngineeringUnits_US_GALLONS_PER_HOUR                    BACnetEngineeringUnits = 192
+	BACnetEngineeringUnits_DEGREES_ANGULAR                        BACnetEngineeringUnits = 90
+	BACnetEngineeringUnits_DEGREES_CELSIUS_PER_HOUR               BACnetEngineeringUnits = 91
+	BACnetEngineeringUnits_DEGREES_CELSIUS_PER_MINUTE             BACnetEngineeringUnits = 92
+	BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_HOUR            BACnetEngineeringUnits = 93
+	BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_MINUTE          BACnetEngineeringUnits = 94
+	BACnetEngineeringUnits_JOULE_SECONDS                          BACnetEngineeringUnits = 183
+	BACnetEngineeringUnits_KILOGRAMS_PER_CUBIC_METER              BACnetEngineeringUnits = 186
+	BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_METER        BACnetEngineeringUnits = 137
+	BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_FOOT         BACnetEngineeringUnits = 138
+	BACnetEngineeringUnits_WATT_HOURS_PER_CUBIC_METER             BACnetEngineeringUnits = 250
+	BACnetEngineeringUnits_JOULES_PER_CUBIC_METER                 BACnetEngineeringUnits = 251
+	BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_METER            BACnetEngineeringUnits = 139
+	BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_FOOT             BACnetEngineeringUnits = 140
+	BACnetEngineeringUnits_MOLE_PERCENT                           BACnetEngineeringUnits = 252
+	BACnetEngineeringUnits_NO_UNITS                               BACnetEngineeringUnits = 95
+	BACnetEngineeringUnits_NEWTON_SECONDS                         BACnetEngineeringUnits = 187
+	BACnetEngineeringUnits_NEWTONS_PER_METER                      BACnetEngineeringUnits = 188
+	BACnetEngineeringUnits_PARTS_PER_MILLION                      BACnetEngineeringUnits = 96
+	BACnetEngineeringUnits_PARTS_PER_BILLION                      BACnetEngineeringUnits = 97
+	BACnetEngineeringUnits_PASCAL_SECONDS                         BACnetEngineeringUnits = 253
+	BACnetEngineeringUnits_PERCENT                                BACnetEngineeringUnits = 98
+	BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_FOOT           BACnetEngineeringUnits = 143
+	BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_METER          BACnetEngineeringUnits = 144
+	BACnetEngineeringUnits_PERCENT_PER_SECOND                     BACnetEngineeringUnits = 99
+	BACnetEngineeringUnits_PER_MINUTE                             BACnetEngineeringUnits = 100
+	BACnetEngineeringUnits_PER_SECOND                             BACnetEngineeringUnits = 101
+	BACnetEngineeringUnits_PSI_PER_DEGREE_FAHRENHEIT              BACnetEngineeringUnits = 102
+	BACnetEngineeringUnits_RADIANS                                BACnetEngineeringUnits = 103
+	BACnetEngineeringUnits_RADIANS_PER_SECOND                     BACnetEngineeringUnits = 184
+	BACnetEngineeringUnits_REVOLUTIONS_PER_MINUTE                 BACnetEngineeringUnits = 104
+	BACnetEngineeringUnits_SQUARE_METERS_PER_NEWTON               BACnetEngineeringUnits = 185
+	BACnetEngineeringUnits_WATTS_PER_METER_PER_DEGREE_KELVIN      BACnetEngineeringUnits = 189
+	BACnetEngineeringUnits_WATTS_PER_SQUARE_METER_DEGREE_KELVIN   BACnetEngineeringUnits = 141
+	BACnetEngineeringUnits_PER_MILLE                              BACnetEngineeringUnits = 207
+	BACnetEngineeringUnits_GRAMS_PER_GRAM                         BACnetEngineeringUnits = 208
+	BACnetEngineeringUnits_KILOGRAMS_PER_KILOGRAM                 BACnetEngineeringUnits = 209
+	BACnetEngineeringUnits_GRAMS_PER_KILOGRAM                     BACnetEngineeringUnits = 210
+	BACnetEngineeringUnits_MILLIGRAMS_PER_GRAM                    BACnetEngineeringUnits = 211
+	BACnetEngineeringUnits_MILLIGRAMS_PER_KILOGRAM                BACnetEngineeringUnits = 212
+	BACnetEngineeringUnits_GRAMS_PER_MILLILITER                   BACnetEngineeringUnits = 213
+	BACnetEngineeringUnits_GRAMS_PER_LITER                        BACnetEngineeringUnits = 214
+	BACnetEngineeringUnits_MILLIGRAMS_PER_LITER                   BACnetEngineeringUnits = 215
+	BACnetEngineeringUnits_MICROGRAMS_PER_LITER                   BACnetEngineeringUnits = 216
+	BACnetEngineeringUnits_GRAMS_PER_CUBIC_METER                  BACnetEngineeringUnits = 217
+	BACnetEngineeringUnits_MILLIGRAMS_PER_CUBIC_METER             BACnetEngineeringUnits = 218
+	BACnetEngineeringUnits_MICROGRAMS_PER_CUBIC_METER             BACnetEngineeringUnits = 219
+	BACnetEngineeringUnits_NANOGRAMS_PER_CUBIC_METER              BACnetEngineeringUnits = 220
+	BACnetEngineeringUnits_GRAMS_PER_CUBIC_CENTIMETER             BACnetEngineeringUnits = 221
+	BACnetEngineeringUnits_BECQUERELS                             BACnetEngineeringUnits = 222
+	BACnetEngineeringUnits_KILOBECQUERELS                         BACnetEngineeringUnits = 223
+	BACnetEngineeringUnits_MEGABECQUERELS                         BACnetEngineeringUnits = 224
+	BACnetEngineeringUnits_GRAY                                   BACnetEngineeringUnits = 225
+	BACnetEngineeringUnits_MILLIGRAY                              BACnetEngineeringUnits = 226
+	BACnetEngineeringUnits_MICROGRAY                              BACnetEngineeringUnits = 227
+	BACnetEngineeringUnits_SIEVERTS                               BACnetEngineeringUnits = 228
+	BACnetEngineeringUnits_MILLISIEVERTS                          BACnetEngineeringUnits = 229
+	BACnetEngineeringUnits_MICROSIEVERTS                          BACnetEngineeringUnits = 230
+	BACnetEngineeringUnits_MICROSIEVERTS_PER_HOUR                 BACnetEngineeringUnits = 231
+	BACnetEngineeringUnits_MILLIREMS                              BACnetEngineeringUnits = 47814
+	BACnetEngineeringUnits_MILLIREMS_PER_HOUR                     BACnetEngineeringUnits = 47815
+	BACnetEngineeringUnits_DECIBELS_A                             BACnetEngineeringUnits = 232
+	BACnetEngineeringUnits_NEPHELOMETRIC_TURBIDITY_UNIT           BACnetEngineeringUnits = 233
+	BACnetEngineeringUnits_P_H                                    BACnetEngineeringUnits = 234
+	BACnetEngineeringUnits_GRAMS_PER_SQUARE_METER                 BACnetEngineeringUnits = 235
+	BACnetEngineeringUnits_MINUTES_PER_DEGREE_KELVIN              BACnetEngineeringUnits = 236
+	BACnetEngineeringUnits_VENDOR_PROPRIETARY_VALUE               BACnetEngineeringUnits = 0xFF
 )
 
 var BACnetEngineeringUnitsValues []BACnetEngineeringUnits
@@ -42,29 +293,1284 @@ var BACnetEngineeringUnitsValues []BACnetEngineeringUnits
 func init() {
 	_ = errors.New
 	BACnetEngineeringUnitsValues = []BACnetEngineeringUnits{
+		BACnetEngineeringUnits_METERS_PER_SECOND_PER_SECOND,
+		BACnetEngineeringUnits_SQUARE_METERS,
+		BACnetEngineeringUnits_SQUARE_CENTIMETERS,
+		BACnetEngineeringUnits_SQUARE_FEET,
+		BACnetEngineeringUnits_SQUARE_INCHES,
+		BACnetEngineeringUnits_CURRENCY1,
+		BACnetEngineeringUnits_CURRENCY2,
+		BACnetEngineeringUnits_CURRENCY3,
+		BACnetEngineeringUnits_CURRENCY4,
+		BACnetEngineeringUnits_CURRENCY5,
+		BACnetEngineeringUnits_CURRENCY6,
+		BACnetEngineeringUnits_CURRENCY7,
+		BACnetEngineeringUnits_CURRENCY8,
+		BACnetEngineeringUnits_CURRENCY9,
+		BACnetEngineeringUnits_CURRENCY10,
+		BACnetEngineeringUnits_MILLIAMPERES,
+		BACnetEngineeringUnits_AMPERES,
+		BACnetEngineeringUnits_AMPERES_PER_METER,
+		BACnetEngineeringUnits_AMPERES_PER_SQUARE_METER,
+		BACnetEngineeringUnits_AMPERE_SQUARE_METERS,
+		BACnetEngineeringUnits_DECIBELS,
+		BACnetEngineeringUnits_DECIBELS_MILLIVOLT,
+		BACnetEngineeringUnits_DECIBELS_VOLT,
+		BACnetEngineeringUnits_FARADS,
+		BACnetEngineeringUnits_HENRYS,
+		BACnetEngineeringUnits_OHMS,
+		BACnetEngineeringUnits_OHM_METER_SQUARED_PER_METER,
+		BACnetEngineeringUnits_OHM_METERS,
+		BACnetEngineeringUnits_MILLIOHMS,
+		BACnetEngineeringUnits_KILOHMS,
+		BACnetEngineeringUnits_MEGOHMS,
+		BACnetEngineeringUnits_MICROSIEMENS,
+		BACnetEngineeringUnits_MILLISIEMENS,
+		BACnetEngineeringUnits_SIEMENS,
+		BACnetEngineeringUnits_SIEMENS_PER_METER,
+		BACnetEngineeringUnits_TESLAS,
+		BACnetEngineeringUnits_VOLTS,
+		BACnetEngineeringUnits_MILLIVOLTS,
+		BACnetEngineeringUnits_KILOVOLTS,
+		BACnetEngineeringUnits_MEGAVOLTS,
+		BACnetEngineeringUnits_VOLT_AMPERES,
+		BACnetEngineeringUnits_KILOVOLT_AMPERES,
+		BACnetEngineeringUnits_MEGAVOLT_AMPERES,
+		BACnetEngineeringUnits_VOLT_AMPERES_REACTIVE,
+		BACnetEngineeringUnits_KILOVOLT_AMPERES_REACTIVE,
+		BACnetEngineeringUnits_MEGAVOLT_AMPERES_REACTIVE,
+		BACnetEngineeringUnits_VOLTS_PER_DEGREE_KELVIN,
+		BACnetEngineeringUnits_VOLTS_PER_METER,
+		BACnetEngineeringUnits_DEGREES_PHASE,
+		BACnetEngineeringUnits_POWER_FACTOR,
+		BACnetEngineeringUnits_WEBERS,
+		BACnetEngineeringUnits_AMPERE_SECONDS,
+		BACnetEngineeringUnits_VOLT_AMPERE_HOURS,
+		BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS,
+		BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS,
+		BACnetEngineeringUnits_VOLT_AMPERE_HOURS_REACTIVE,
+		BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS_REACTIVE,
+		BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS_REACTIVE,
+		BACnetEngineeringUnits_VOLT_SQUARE_HOURS,
+		BACnetEngineeringUnits_AMPERE_SQUARE_HOURS,
+		BACnetEngineeringUnits_JOULES,
+		BACnetEngineeringUnits_KILOJOULES,
+		BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM,
+		BACnetEngineeringUnits_MEGAJOULES,
+		BACnetEngineeringUnits_WATT_HOURS,
+		BACnetEngineeringUnits_KILOWATT_HOURS,
+		BACnetEngineeringUnits_MEGAWATT_HOURS,
+		BACnetEngineeringUnits_WATT_HOURS_REACTIVE,
+		BACnetEngineeringUnits_KILOWATT_HOURS_REACTIVE,
+		BACnetEngineeringUnits_MEGAWATT_HOURS_REACTIVE,
+		BACnetEngineeringUnits_BTUS,
+		BACnetEngineeringUnits_KILO_BTUS,
+		BACnetEngineeringUnits_MEGA_BTUS,
+		BACnetEngineeringUnits_THERMS,
+		BACnetEngineeringUnits_TON_HOURS,
+		BACnetEngineeringUnits_JOULES_PER_KILOGRAM_DRY_AIR,
+		BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM_DRY_AIR,
+		BACnetEngineeringUnits_MEGAJOULES_PER_KILOGRAM_DRY_AIR,
+		BACnetEngineeringUnits_BTUS_PER_POUND_DRY_AIR,
+		BACnetEngineeringUnits_BTUS_PER_POUND,
+		BACnetEngineeringUnits_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR,
+		BACnetEngineeringUnits_PERCENT_RELATIVE_HUMIDITY,
+		BACnetEngineeringUnits_MICROMETERS,
+		BACnetEngineeringUnits_MILLIMETERS,
+		BACnetEngineeringUnits_CENTIMETERS,
+		BACnetEngineeringUnits_KILOMETERS,
+		BACnetEngineeringUnits_METERS,
+		BACnetEngineeringUnits_INCHES,
+		BACnetEngineeringUnits_FEET,
+		BACnetEngineeringUnits_CANDELAS,
+		BACnetEngineeringUnits_CANDELAS_PER_SQUARE_METER,
+		BACnetEngineeringUnits_WATTS_PER_SQUARE_FOOT,
+		BACnetEngineeringUnits_WATTS_PER_SQUARE_METER,
+		BACnetEngineeringUnits_LUMENS,
+		BACnetEngineeringUnits_LUXES,
+		BACnetEngineeringUnits_FOOT_CANDLES,
+		BACnetEngineeringUnits_MILLIGRAMS,
+		BACnetEngineeringUnits_GRAMS,
+		BACnetEngineeringUnits_KILOGRAMS,
+		BACnetEngineeringUnits_POUNDS_MASS,
+		BACnetEngineeringUnits_TONS,
+		BACnetEngineeringUnits_GRAMS_PER_SECOND,
+		BACnetEngineeringUnits_GRAMS_PER_MINUTE,
+		BACnetEngineeringUnits_KILOGRAMS_PER_SECOND,
+		BACnetEngineeringUnits_KILOGRAMS_PER_MINUTE,
+		BACnetEngineeringUnits_KILOGRAMS_PER_HOUR,
+		BACnetEngineeringUnits_POUNDS_MASS_PER_SECOND,
+		BACnetEngineeringUnits_POUNDS_MASS_PER_MINUTE,
+		BACnetEngineeringUnits_POUNDS_MASS_PER_HOUR,
+		BACnetEngineeringUnits_TONS_PER_HOUR,
+		BACnetEngineeringUnits_IWATTS,
+		BACnetEngineeringUnits_WATTS,
+		BACnetEngineeringUnits_KILOWATTS,
+		BACnetEngineeringUnits_MEGAWATTS,
+		BACnetEngineeringUnits_BTUS_PER_HOUR,
+		BACnetEngineeringUnits_KILO_BTUS_PER_HOUR,
+		BACnetEngineeringUnits_JOULE_PER_HOURS,
+		BACnetEngineeringUnits_HORSEPOWER,
+		BACnetEngineeringUnits_TONS_REFRIGERATION,
+		BACnetEngineeringUnits_PASCALS,
+		BACnetEngineeringUnits_HECTOPASCALS,
+		BACnetEngineeringUnits_KILOPASCALS,
+		BACnetEngineeringUnits_MILLIBARS,
+		BACnetEngineeringUnits_BARS,
+		BACnetEngineeringUnits_POUNDS_FORCE_PER_SQUARE_INCH,
+		BACnetEngineeringUnits_MILLIMETERS_OF_WATER,
+		BACnetEngineeringUnits_CENTIMETERS_OF_WATER,
+		BACnetEngineeringUnits_INCHES_OF_WATER,
+		BACnetEngineeringUnits_MILLIMETERS_OF_MERCURY,
+		BACnetEngineeringUnits_CENTIMETERS_OF_MERCURY,
+		BACnetEngineeringUnits_INCHES_OF_MERCURY,
+		BACnetEngineeringUnits_DEGREES_CELSIUS,
+		BACnetEngineeringUnits_DEGREES_KELVIN,
+		BACnetEngineeringUnits_DEGREES_KELVIN_PER_HOUR,
+		BACnetEngineeringUnits_DEGREES_KELVIN_PER_MINUTE,
+		BACnetEngineeringUnits_DEGREES_FAHRENHEIT,
+		BACnetEngineeringUnits_DEGREE_DAYS_CELSIUS,
+		BACnetEngineeringUnits_DEGREE_DAYS_FAHRENHEIT,
+		BACnetEngineeringUnits_DELTA_DEGREES_FAHRENHEIT,
+		BACnetEngineeringUnits_DELTA_DEGREES_KELVIN,
+		BACnetEngineeringUnits_YEARS,
+		BACnetEngineeringUnits_MONTHS,
+		BACnetEngineeringUnits_WEEKS,
+		BACnetEngineeringUnits_DAYS,
+		BACnetEngineeringUnits_HOURS,
+		BACnetEngineeringUnits_MINUTES,
+		BACnetEngineeringUnits_SECONDS,
+		BACnetEngineeringUnits_HUNDREDTHS_SECONDS,
+		BACnetEngineeringUnits_MILLISECONDS,
+		BACnetEngineeringUnits_NEWTON_METERS,
+		BACnetEngineeringUnits_MILLIMETERS_PER_SECOND,
+		BACnetEngineeringUnits_MILLIMETERS_PER_MINUTE,
+		BACnetEngineeringUnits_METERS_PER_SECOND,
+		BACnetEngineeringUnits_METERS_PER_MINUTE,
+		BACnetEngineeringUnits_METERS_PER_HOUR,
+		BACnetEngineeringUnits_KILOMETERS_PER_HOUR,
+		BACnetEngineeringUnits_FEET_PER_SECOND,
+		BACnetEngineeringUnits_FEET_PER_MINUTE,
+		BACnetEngineeringUnits_MILES_PER_HOUR,
+		BACnetEngineeringUnits_CUBIC_FEET,
+		BACnetEngineeringUnits_CUBIC_METERS,
+		BACnetEngineeringUnits_IMPERIAL_GALLONS,
+		BACnetEngineeringUnits_MILLILITERS,
+		BACnetEngineeringUnits_LITERS,
+		BACnetEngineeringUnits_US_GALLONS,
+		BACnetEngineeringUnits_CUBIC_FEET_PER_SECOND,
+		BACnetEngineeringUnits_CUBIC_FEET_PER_MINUTE,
+		BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_MINUTE,
+		BACnetEngineeringUnits_CUBIC_FEET_PER_HOUR,
+		BACnetEngineeringUnits_CUBIC_FEET_PER_DAY,
+		BACnetEngineeringUnits_STANDARD_CUBIC_FEET_PER_DAY,
+		BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_DAY,
+		BACnetEngineeringUnits_THOUSAND_CUBIC_FEET_PER_DAY,
+		BACnetEngineeringUnits_THOUSAND_STANDARD_CUBIC_FEET_PER_DAY,
+		BACnetEngineeringUnits_POUNDS_MASS_PER_DAY,
+		BACnetEngineeringUnits_CUBIC_METERS_PER_SECOND,
+		BACnetEngineeringUnits_CUBIC_METERS_PER_MINUTE,
+		BACnetEngineeringUnits_CUBIC_METERS_PER_HOUR,
+		BACnetEngineeringUnits_CUBIC_METERS_PER_DAY,
+		BACnetEngineeringUnits_IMPERIAL_GALLONS_PER_MINUTE,
+		BACnetEngineeringUnits_MILLILITERS_PER_SECOND,
+		BACnetEngineeringUnits_LITERS_PER_SECOND,
+		BACnetEngineeringUnits_LITERS_PER_MINUTE,
+		BACnetEngineeringUnits_LITERS_PER_HOUR,
+		BACnetEngineeringUnits_US_GALLONS_PER_MINUTE,
+		BACnetEngineeringUnits_US_GALLONS_PER_HOUR,
+		BACnetEngineeringUnits_DEGREES_ANGULAR,
+		BACnetEngineeringUnits_DEGREES_CELSIUS_PER_HOUR,
+		BACnetEngineeringUnits_DEGREES_CELSIUS_PER_MINUTE,
+		BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_HOUR,
+		BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_MINUTE,
+		BACnetEngineeringUnits_JOULE_SECONDS,
+		BACnetEngineeringUnits_KILOGRAMS_PER_CUBIC_METER,
+		BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_METER,
+		BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_FOOT,
+		BACnetEngineeringUnits_WATT_HOURS_PER_CUBIC_METER,
+		BACnetEngineeringUnits_JOULES_PER_CUBIC_METER,
+		BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_METER,
+		BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_FOOT,
+		BACnetEngineeringUnits_MOLE_PERCENT,
+		BACnetEngineeringUnits_NO_UNITS,
+		BACnetEngineeringUnits_NEWTON_SECONDS,
+		BACnetEngineeringUnits_NEWTONS_PER_METER,
+		BACnetEngineeringUnits_PARTS_PER_MILLION,
+		BACnetEngineeringUnits_PARTS_PER_BILLION,
+		BACnetEngineeringUnits_PASCAL_SECONDS,
+		BACnetEngineeringUnits_PERCENT,
+		BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_FOOT,
+		BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_METER,
+		BACnetEngineeringUnits_PERCENT_PER_SECOND,
+		BACnetEngineeringUnits_PER_MINUTE,
+		BACnetEngineeringUnits_PER_SECOND,
+		BACnetEngineeringUnits_PSI_PER_DEGREE_FAHRENHEIT,
+		BACnetEngineeringUnits_RADIANS,
+		BACnetEngineeringUnits_RADIANS_PER_SECOND,
+		BACnetEngineeringUnits_REVOLUTIONS_PER_MINUTE,
+		BACnetEngineeringUnits_SQUARE_METERS_PER_NEWTON,
+		BACnetEngineeringUnits_WATTS_PER_METER_PER_DEGREE_KELVIN,
+		BACnetEngineeringUnits_WATTS_PER_SQUARE_METER_DEGREE_KELVIN,
+		BACnetEngineeringUnits_PER_MILLE,
+		BACnetEngineeringUnits_GRAMS_PER_GRAM,
+		BACnetEngineeringUnits_KILOGRAMS_PER_KILOGRAM,
+		BACnetEngineeringUnits_GRAMS_PER_KILOGRAM,
+		BACnetEngineeringUnits_MILLIGRAMS_PER_GRAM,
+		BACnetEngineeringUnits_MILLIGRAMS_PER_KILOGRAM,
+		BACnetEngineeringUnits_GRAMS_PER_MILLILITER,
+		BACnetEngineeringUnits_GRAMS_PER_LITER,
+		BACnetEngineeringUnits_MILLIGRAMS_PER_LITER,
+		BACnetEngineeringUnits_MICROGRAMS_PER_LITER,
+		BACnetEngineeringUnits_GRAMS_PER_CUBIC_METER,
+		BACnetEngineeringUnits_MILLIGRAMS_PER_CUBIC_METER,
+		BACnetEngineeringUnits_MICROGRAMS_PER_CUBIC_METER,
+		BACnetEngineeringUnits_NANOGRAMS_PER_CUBIC_METER,
+		BACnetEngineeringUnits_GRAMS_PER_CUBIC_CENTIMETER,
+		BACnetEngineeringUnits_BECQUERELS,
+		BACnetEngineeringUnits_KILOBECQUERELS,
+		BACnetEngineeringUnits_MEGABECQUERELS,
+		BACnetEngineeringUnits_GRAY,
+		BACnetEngineeringUnits_MILLIGRAY,
+		BACnetEngineeringUnits_MICROGRAY,
+		BACnetEngineeringUnits_SIEVERTS,
+		BACnetEngineeringUnits_MILLISIEVERTS,
+		BACnetEngineeringUnits_MICROSIEVERTS,
+		BACnetEngineeringUnits_MICROSIEVERTS_PER_HOUR,
+		BACnetEngineeringUnits_MILLIREMS,
+		BACnetEngineeringUnits_MILLIREMS_PER_HOUR,
+		BACnetEngineeringUnits_DECIBELS_A,
+		BACnetEngineeringUnits_NEPHELOMETRIC_TURBIDITY_UNIT,
+		BACnetEngineeringUnits_P_H,
+		BACnetEngineeringUnits_GRAMS_PER_SQUARE_METER,
+		BACnetEngineeringUnits_MINUTES_PER_DEGREE_KELVIN,
 		BACnetEngineeringUnits_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
-func BACnetEngineeringUnitsByValue(value uint8) BACnetEngineeringUnits {
+func BACnetEngineeringUnitsByValue(value uint32) BACnetEngineeringUnits {
 	switch value {
+	case 0:
+		return BACnetEngineeringUnits_SQUARE_METERS
 	case 0xFF:
 		return BACnetEngineeringUnits_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetEngineeringUnits_SQUARE_FEET
+	case 10:
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERES
+	case 100:
+		return BACnetEngineeringUnits_PER_MINUTE
+	case 101:
+		return BACnetEngineeringUnits_PER_SECOND
+	case 102:
+		return BACnetEngineeringUnits_PSI_PER_DEGREE_FAHRENHEIT
+	case 103:
+		return BACnetEngineeringUnits_RADIANS
+	case 104:
+		return BACnetEngineeringUnits_REVOLUTIONS_PER_MINUTE
+	case 105:
+		return BACnetEngineeringUnits_CURRENCY1
+	case 106:
+		return BACnetEngineeringUnits_CURRENCY2
+	case 107:
+		return BACnetEngineeringUnits_CURRENCY3
+	case 108:
+		return BACnetEngineeringUnits_CURRENCY4
+	case 109:
+		return BACnetEngineeringUnits_CURRENCY5
+	case 11:
+		return BACnetEngineeringUnits_VOLT_AMPERES_REACTIVE
+	case 110:
+		return BACnetEngineeringUnits_CURRENCY6
+	case 111:
+		return BACnetEngineeringUnits_CURRENCY7
+	case 112:
+		return BACnetEngineeringUnits_CURRENCY8
+	case 113:
+		return BACnetEngineeringUnits_CURRENCY9
+	case 114:
+		return BACnetEngineeringUnits_CURRENCY10
+	case 115:
+		return BACnetEngineeringUnits_SQUARE_INCHES
+	case 116:
+		return BACnetEngineeringUnits_SQUARE_CENTIMETERS
+	case 117:
+		return BACnetEngineeringUnits_BTUS_PER_POUND
+	case 118:
+		return BACnetEngineeringUnits_CENTIMETERS
+	case 119:
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_SECOND
+	case 12:
+		return BACnetEngineeringUnits_KILOVOLT_AMPERES_REACTIVE
+	case 120:
+		return BACnetEngineeringUnits_DELTA_DEGREES_FAHRENHEIT
+	case 121:
+		return BACnetEngineeringUnits_DELTA_DEGREES_KELVIN
+	case 122:
+		return BACnetEngineeringUnits_KILOHMS
+	case 123:
+		return BACnetEngineeringUnits_MEGOHMS
+	case 124:
+		return BACnetEngineeringUnits_MILLIVOLTS
+	case 125:
+		return BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM
+	case 126:
+		return BACnetEngineeringUnits_MEGAJOULES
+	case 13:
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERES_REACTIVE
+	case 132:
+		return BACnetEngineeringUnits_IWATTS
+	case 133:
+		return BACnetEngineeringUnits_HECTOPASCALS
+	case 134:
+		return BACnetEngineeringUnits_MILLIBARS
+	case 135:
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_HOUR
+	case 136:
+		return BACnetEngineeringUnits_LITERS_PER_HOUR
+	case 137:
+		return BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_METER
+	case 138:
+		return BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_FOOT
+	case 139:
+		return BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_METER
+	case 14:
+		return BACnetEngineeringUnits_DEGREES_PHASE
+	case 140:
+		return BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_FOOT
+	case 141:
+		return BACnetEngineeringUnits_WATTS_PER_SQUARE_METER_DEGREE_KELVIN
+	case 142:
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_SECOND
+	case 143:
+		return BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_FOOT
+	case 144:
+		return BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_METER
+	case 145:
+		return BACnetEngineeringUnits_MILLIOHMS
+	case 146:
+		return BACnetEngineeringUnits_MEGAWATT_HOURS
+	case 147:
+		return BACnetEngineeringUnits_KILO_BTUS
+	case 148:
+		return BACnetEngineeringUnits_MEGA_BTUS
+	case 149:
+		return BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM_DRY_AIR
+	case 15:
+		return BACnetEngineeringUnits_POWER_FACTOR
+	case 150:
+		return BACnetEngineeringUnits_MEGAJOULES_PER_KILOGRAM_DRY_AIR
+	case 154:
+		return BACnetEngineeringUnits_GRAMS_PER_SECOND
+	case 155:
+		return BACnetEngineeringUnits_GRAMS_PER_MINUTE
+	case 156:
+		return BACnetEngineeringUnits_TONS_PER_HOUR
+	case 157:
+		return BACnetEngineeringUnits_KILO_BTUS_PER_HOUR
+	case 158:
+		return BACnetEngineeringUnits_HUNDREDTHS_SECONDS
+	case 159:
+		return BACnetEngineeringUnits_MILLISECONDS
+	case 16:
+		return BACnetEngineeringUnits_JOULES
+	case 160:
+		return BACnetEngineeringUnits_NEWTON_METERS
+	case 161:
+		return BACnetEngineeringUnits_MILLIMETERS_PER_SECOND
+	case 162:
+		return BACnetEngineeringUnits_MILLIMETERS_PER_MINUTE
+	case 163:
+		return BACnetEngineeringUnits_METERS_PER_MINUTE
+	case 164:
+		return BACnetEngineeringUnits_METERS_PER_HOUR
+	case 165:
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_MINUTE
+	case 166:
+		return BACnetEngineeringUnits_METERS_PER_SECOND_PER_SECOND
+	case 167:
+		return BACnetEngineeringUnits_AMPERES_PER_METER
+	case 168:
+		return BACnetEngineeringUnits_AMPERES_PER_SQUARE_METER
+	case 169:
+		return BACnetEngineeringUnits_AMPERE_SQUARE_METERS
+	case 17:
+		return BACnetEngineeringUnits_KILOJOULES
+	case 170:
+		return BACnetEngineeringUnits_FARADS
+	case 171:
+		return BACnetEngineeringUnits_HENRYS
+	case 172:
+		return BACnetEngineeringUnits_OHM_METERS
+	case 173:
+		return BACnetEngineeringUnits_SIEMENS
+	case 174:
+		return BACnetEngineeringUnits_SIEMENS_PER_METER
+	case 175:
+		return BACnetEngineeringUnits_TESLAS
+	case 176:
+		return BACnetEngineeringUnits_VOLTS_PER_DEGREE_KELVIN
+	case 177:
+		return BACnetEngineeringUnits_VOLTS_PER_METER
+	case 178:
+		return BACnetEngineeringUnits_WEBERS
+	case 179:
+		return BACnetEngineeringUnits_CANDELAS
+	case 18:
+		return BACnetEngineeringUnits_WATT_HOURS
+	case 180:
+		return BACnetEngineeringUnits_CANDELAS_PER_SQUARE_METER
+	case 181:
+		return BACnetEngineeringUnits_DEGREES_KELVIN_PER_HOUR
+	case 182:
+		return BACnetEngineeringUnits_DEGREES_KELVIN_PER_MINUTE
+	case 183:
+		return BACnetEngineeringUnits_JOULE_SECONDS
+	case 184:
+		return BACnetEngineeringUnits_RADIANS_PER_SECOND
+	case 185:
+		return BACnetEngineeringUnits_SQUARE_METERS_PER_NEWTON
+	case 186:
+		return BACnetEngineeringUnits_KILOGRAMS_PER_CUBIC_METER
+	case 187:
+		return BACnetEngineeringUnits_NEWTON_SECONDS
+	case 188:
+		return BACnetEngineeringUnits_NEWTONS_PER_METER
+	case 189:
+		return BACnetEngineeringUnits_WATTS_PER_METER_PER_DEGREE_KELVIN
+	case 19:
+		return BACnetEngineeringUnits_KILOWATT_HOURS
+	case 190:
+		return BACnetEngineeringUnits_MICROSIEMENS
+	case 191:
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_HOUR
+	case 192:
+		return BACnetEngineeringUnits_US_GALLONS_PER_HOUR
+	case 193:
+		return BACnetEngineeringUnits_KILOMETERS
+	case 194:
+		return BACnetEngineeringUnits_MICROMETERS
+	case 195:
+		return BACnetEngineeringUnits_GRAMS
+	case 196:
+		return BACnetEngineeringUnits_MILLIGRAMS
+	case 197:
+		return BACnetEngineeringUnits_MILLILITERS
+	case 198:
+		return BACnetEngineeringUnits_MILLILITERS_PER_SECOND
+	case 199:
+		return BACnetEngineeringUnits_DECIBELS
+	case 2:
+		return BACnetEngineeringUnits_MILLIAMPERES
+	case 20:
+		return BACnetEngineeringUnits_BTUS
+	case 200:
+		return BACnetEngineeringUnits_DECIBELS_MILLIVOLT
+	case 201:
+		return BACnetEngineeringUnits_DECIBELS_VOLT
+	case 202:
+		return BACnetEngineeringUnits_MILLISIEMENS
+	case 203:
+		return BACnetEngineeringUnits_WATT_HOURS_REACTIVE
+	case 204:
+		return BACnetEngineeringUnits_KILOWATT_HOURS_REACTIVE
+	case 205:
+		return BACnetEngineeringUnits_MEGAWATT_HOURS_REACTIVE
+	case 206:
+		return BACnetEngineeringUnits_MILLIMETERS_OF_WATER
+	case 207:
+		return BACnetEngineeringUnits_PER_MILLE
+	case 208:
+		return BACnetEngineeringUnits_GRAMS_PER_GRAM
+	case 209:
+		return BACnetEngineeringUnits_KILOGRAMS_PER_KILOGRAM
+	case 21:
+		return BACnetEngineeringUnits_THERMS
+	case 210:
+		return BACnetEngineeringUnits_GRAMS_PER_KILOGRAM
+	case 211:
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_GRAM
+	case 212:
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_KILOGRAM
+	case 213:
+		return BACnetEngineeringUnits_GRAMS_PER_MILLILITER
+	case 214:
+		return BACnetEngineeringUnits_GRAMS_PER_LITER
+	case 215:
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_LITER
+	case 216:
+		return BACnetEngineeringUnits_MICROGRAMS_PER_LITER
+	case 217:
+		return BACnetEngineeringUnits_GRAMS_PER_CUBIC_METER
+	case 218:
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_CUBIC_METER
+	case 219:
+		return BACnetEngineeringUnits_MICROGRAMS_PER_CUBIC_METER
+	case 22:
+		return BACnetEngineeringUnits_TON_HOURS
+	case 220:
+		return BACnetEngineeringUnits_NANOGRAMS_PER_CUBIC_METER
+	case 221:
+		return BACnetEngineeringUnits_GRAMS_PER_CUBIC_CENTIMETER
+	case 222:
+		return BACnetEngineeringUnits_BECQUERELS
+	case 223:
+		return BACnetEngineeringUnits_KILOBECQUERELS
+	case 224:
+		return BACnetEngineeringUnits_MEGABECQUERELS
+	case 225:
+		return BACnetEngineeringUnits_GRAY
+	case 226:
+		return BACnetEngineeringUnits_MILLIGRAY
+	case 227:
+		return BACnetEngineeringUnits_MICROGRAY
+	case 228:
+		return BACnetEngineeringUnits_SIEVERTS
+	case 229:
+		return BACnetEngineeringUnits_MILLISIEVERTS
+	case 23:
+		return BACnetEngineeringUnits_JOULES_PER_KILOGRAM_DRY_AIR
+	case 230:
+		return BACnetEngineeringUnits_MICROSIEVERTS
+	case 231:
+		return BACnetEngineeringUnits_MICROSIEVERTS_PER_HOUR
+	case 232:
+		return BACnetEngineeringUnits_DECIBELS_A
+	case 233:
+		return BACnetEngineeringUnits_NEPHELOMETRIC_TURBIDITY_UNIT
+	case 234:
+		return BACnetEngineeringUnits_P_H
+	case 235:
+		return BACnetEngineeringUnits_GRAMS_PER_SQUARE_METER
+	case 236:
+		return BACnetEngineeringUnits_MINUTES_PER_DEGREE_KELVIN
+	case 237:
+		return BACnetEngineeringUnits_OHM_METER_SQUARED_PER_METER
+	case 238:
+		return BACnetEngineeringUnits_AMPERE_SECONDS
+	case 239:
+		return BACnetEngineeringUnits_VOLT_AMPERE_HOURS
+	case 24:
+		return BACnetEngineeringUnits_BTUS_PER_POUND_DRY_AIR
+	case 240:
+		return BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS
+	case 241:
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS
+	case 242:
+		return BACnetEngineeringUnits_VOLT_AMPERE_HOURS_REACTIVE
+	case 243:
+		return BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS_REACTIVE
+	case 244:
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS_REACTIVE
+	case 245:
+		return BACnetEngineeringUnits_VOLT_SQUARE_HOURS
+	case 246:
+		return BACnetEngineeringUnits_AMPERE_SQUARE_HOURS
+	case 247:
+		return BACnetEngineeringUnits_JOULE_PER_HOURS
+	case 248:
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_DAY
+	case 249:
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_DAY
+	case 250:
+		return BACnetEngineeringUnits_WATT_HOURS_PER_CUBIC_METER
+	case 251:
+		return BACnetEngineeringUnits_JOULES_PER_CUBIC_METER
+	case 252:
+		return BACnetEngineeringUnits_MOLE_PERCENT
+	case 253:
+		return BACnetEngineeringUnits_PASCAL_SECONDS
+	case 254:
+		return BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_MINUTE
+	case 28:
+		return BACnetEngineeringUnits_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR
+	case 29:
+		return BACnetEngineeringUnits_PERCENT_RELATIVE_HUMIDITY
+	case 3:
+		return BACnetEngineeringUnits_AMPERES
+	case 30:
+		return BACnetEngineeringUnits_MILLIMETERS
+	case 31:
+		return BACnetEngineeringUnits_METERS
+	case 32:
+		return BACnetEngineeringUnits_INCHES
+	case 33:
+		return BACnetEngineeringUnits_FEET
+	case 34:
+		return BACnetEngineeringUnits_WATTS_PER_SQUARE_FOOT
+	case 35:
+		return BACnetEngineeringUnits_WATTS_PER_SQUARE_METER
+	case 36:
+		return BACnetEngineeringUnits_LUMENS
+	case 37:
+		return BACnetEngineeringUnits_LUXES
+	case 38:
+		return BACnetEngineeringUnits_FOOT_CANDLES
+	case 39:
+		return BACnetEngineeringUnits_KILOGRAMS
+	case 4:
+		return BACnetEngineeringUnits_OHMS
+	case 40:
+		return BACnetEngineeringUnits_POUNDS_MASS
+	case 41:
+		return BACnetEngineeringUnits_TONS
+	case 42:
+		return BACnetEngineeringUnits_KILOGRAMS_PER_SECOND
+	case 43:
+		return BACnetEngineeringUnits_KILOGRAMS_PER_MINUTE
+	case 44:
+		return BACnetEngineeringUnits_KILOGRAMS_PER_HOUR
+	case 45:
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_MINUTE
+	case 46:
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_HOUR
+	case 47:
+		return BACnetEngineeringUnits_WATTS
+	case 47808:
+		return BACnetEngineeringUnits_STANDARD_CUBIC_FEET_PER_DAY
+	case 47809:
+		return BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_DAY
+	case 47810:
+		return BACnetEngineeringUnits_THOUSAND_CUBIC_FEET_PER_DAY
+	case 47811:
+		return BACnetEngineeringUnits_THOUSAND_STANDARD_CUBIC_FEET_PER_DAY
+	case 47812:
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_DAY
+	case 47814:
+		return BACnetEngineeringUnits_MILLIREMS
+	case 47815:
+		return BACnetEngineeringUnits_MILLIREMS_PER_HOUR
+	case 48:
+		return BACnetEngineeringUnits_KILOWATTS
+	case 49:
+		return BACnetEngineeringUnits_MEGAWATTS
+	case 5:
+		return BACnetEngineeringUnits_VOLTS
+	case 50:
+		return BACnetEngineeringUnits_BTUS_PER_HOUR
+	case 51:
+		return BACnetEngineeringUnits_HORSEPOWER
+	case 52:
+		return BACnetEngineeringUnits_TONS_REFRIGERATION
+	case 53:
+		return BACnetEngineeringUnits_PASCALS
+	case 54:
+		return BACnetEngineeringUnits_KILOPASCALS
+	case 55:
+		return BACnetEngineeringUnits_BARS
+	case 56:
+		return BACnetEngineeringUnits_POUNDS_FORCE_PER_SQUARE_INCH
+	case 57:
+		return BACnetEngineeringUnits_CENTIMETERS_OF_WATER
+	case 58:
+		return BACnetEngineeringUnits_INCHES_OF_WATER
+	case 59:
+		return BACnetEngineeringUnits_MILLIMETERS_OF_MERCURY
+	case 6:
+		return BACnetEngineeringUnits_KILOVOLTS
+	case 60:
+		return BACnetEngineeringUnits_CENTIMETERS_OF_MERCURY
+	case 61:
+		return BACnetEngineeringUnits_INCHES_OF_MERCURY
+	case 62:
+		return BACnetEngineeringUnits_DEGREES_CELSIUS
+	case 63:
+		return BACnetEngineeringUnits_DEGREES_KELVIN
+	case 64:
+		return BACnetEngineeringUnits_DEGREES_FAHRENHEIT
+	case 65:
+		return BACnetEngineeringUnits_DEGREE_DAYS_CELSIUS
+	case 66:
+		return BACnetEngineeringUnits_DEGREE_DAYS_FAHRENHEIT
+	case 67:
+		return BACnetEngineeringUnits_YEARS
+	case 68:
+		return BACnetEngineeringUnits_MONTHS
+	case 69:
+		return BACnetEngineeringUnits_WEEKS
+	case 7:
+		return BACnetEngineeringUnits_MEGAVOLTS
+	case 70:
+		return BACnetEngineeringUnits_DAYS
+	case 71:
+		return BACnetEngineeringUnits_HOURS
+	case 72:
+		return BACnetEngineeringUnits_MINUTES
+	case 73:
+		return BACnetEngineeringUnits_SECONDS
+	case 74:
+		return BACnetEngineeringUnits_METERS_PER_SECOND
+	case 75:
+		return BACnetEngineeringUnits_KILOMETERS_PER_HOUR
+	case 76:
+		return BACnetEngineeringUnits_FEET_PER_SECOND
+	case 77:
+		return BACnetEngineeringUnits_FEET_PER_MINUTE
+	case 78:
+		return BACnetEngineeringUnits_MILES_PER_HOUR
+	case 79:
+		return BACnetEngineeringUnits_CUBIC_FEET
+	case 8:
+		return BACnetEngineeringUnits_VOLT_AMPERES
+	case 80:
+		return BACnetEngineeringUnits_CUBIC_METERS
+	case 81:
+		return BACnetEngineeringUnits_IMPERIAL_GALLONS
+	case 82:
+		return BACnetEngineeringUnits_LITERS
+	case 83:
+		return BACnetEngineeringUnits_US_GALLONS
+	case 84:
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_MINUTE
+	case 85:
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_SECOND
+	case 86:
+		return BACnetEngineeringUnits_IMPERIAL_GALLONS_PER_MINUTE
+	case 87:
+		return BACnetEngineeringUnits_LITERS_PER_SECOND
+	case 88:
+		return BACnetEngineeringUnits_LITERS_PER_MINUTE
+	case 89:
+		return BACnetEngineeringUnits_US_GALLONS_PER_MINUTE
+	case 9:
+		return BACnetEngineeringUnits_KILOVOLT_AMPERES
+	case 90:
+		return BACnetEngineeringUnits_DEGREES_ANGULAR
+	case 91:
+		return BACnetEngineeringUnits_DEGREES_CELSIUS_PER_HOUR
+	case 92:
+		return BACnetEngineeringUnits_DEGREES_CELSIUS_PER_MINUTE
+	case 93:
+		return BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_HOUR
+	case 94:
+		return BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_MINUTE
+	case 95:
+		return BACnetEngineeringUnits_NO_UNITS
+	case 96:
+		return BACnetEngineeringUnits_PARTS_PER_MILLION
+	case 97:
+		return BACnetEngineeringUnits_PARTS_PER_BILLION
+	case 98:
+		return BACnetEngineeringUnits_PERCENT
+	case 99:
+		return BACnetEngineeringUnits_PERCENT_PER_SECOND
 	}
 	return 0
 }
 
 func BACnetEngineeringUnitsByName(value string) BACnetEngineeringUnits {
 	switch value {
+	case "SQUARE_METERS":
+		return BACnetEngineeringUnits_SQUARE_METERS
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetEngineeringUnits_VENDOR_PROPRIETARY_VALUE
+	case "SQUARE_FEET":
+		return BACnetEngineeringUnits_SQUARE_FEET
+	case "MEGAVOLT_AMPERES":
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERES
+	case "PER_MINUTE":
+		return BACnetEngineeringUnits_PER_MINUTE
+	case "PER_SECOND":
+		return BACnetEngineeringUnits_PER_SECOND
+	case "PSI_PER_DEGREE_FAHRENHEIT":
+		return BACnetEngineeringUnits_PSI_PER_DEGREE_FAHRENHEIT
+	case "RADIANS":
+		return BACnetEngineeringUnits_RADIANS
+	case "REVOLUTIONS_PER_MINUTE":
+		return BACnetEngineeringUnits_REVOLUTIONS_PER_MINUTE
+	case "CURRENCY1":
+		return BACnetEngineeringUnits_CURRENCY1
+	case "CURRENCY2":
+		return BACnetEngineeringUnits_CURRENCY2
+	case "CURRENCY3":
+		return BACnetEngineeringUnits_CURRENCY3
+	case "CURRENCY4":
+		return BACnetEngineeringUnits_CURRENCY4
+	case "CURRENCY5":
+		return BACnetEngineeringUnits_CURRENCY5
+	case "VOLT_AMPERES_REACTIVE":
+		return BACnetEngineeringUnits_VOLT_AMPERES_REACTIVE
+	case "CURRENCY6":
+		return BACnetEngineeringUnits_CURRENCY6
+	case "CURRENCY7":
+		return BACnetEngineeringUnits_CURRENCY7
+	case "CURRENCY8":
+		return BACnetEngineeringUnits_CURRENCY8
+	case "CURRENCY9":
+		return BACnetEngineeringUnits_CURRENCY9
+	case "CURRENCY10":
+		return BACnetEngineeringUnits_CURRENCY10
+	case "SQUARE_INCHES":
+		return BACnetEngineeringUnits_SQUARE_INCHES
+	case "SQUARE_CENTIMETERS":
+		return BACnetEngineeringUnits_SQUARE_CENTIMETERS
+	case "BTUS_PER_POUND":
+		return BACnetEngineeringUnits_BTUS_PER_POUND
+	case "CENTIMETERS":
+		return BACnetEngineeringUnits_CENTIMETERS
+	case "POUNDS_MASS_PER_SECOND":
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_SECOND
+	case "KILOVOLT_AMPERES_REACTIVE":
+		return BACnetEngineeringUnits_KILOVOLT_AMPERES_REACTIVE
+	case "DELTA_DEGREES_FAHRENHEIT":
+		return BACnetEngineeringUnits_DELTA_DEGREES_FAHRENHEIT
+	case "DELTA_DEGREES_KELVIN":
+		return BACnetEngineeringUnits_DELTA_DEGREES_KELVIN
+	case "KILOHMS":
+		return BACnetEngineeringUnits_KILOHMS
+	case "MEGOHMS":
+		return BACnetEngineeringUnits_MEGOHMS
+	case "MILLIVOLTS":
+		return BACnetEngineeringUnits_MILLIVOLTS
+	case "KILOJOULES_PER_KILOGRAM":
+		return BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM
+	case "MEGAJOULES":
+		return BACnetEngineeringUnits_MEGAJOULES
+	case "MEGAVOLT_AMPERES_REACTIVE":
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERES_REACTIVE
+	case "IWATTS":
+		return BACnetEngineeringUnits_IWATTS
+	case "HECTOPASCALS":
+		return BACnetEngineeringUnits_HECTOPASCALS
+	case "MILLIBARS":
+		return BACnetEngineeringUnits_MILLIBARS
+	case "CUBIC_METERS_PER_HOUR":
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_HOUR
+	case "LITERS_PER_HOUR":
+		return BACnetEngineeringUnits_LITERS_PER_HOUR
+	case "KILOWATT_HOURS_PER_SQUARE_METER":
+		return BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_METER
+	case "KILOWATT_HOURS_PER_SQUARE_FOOT":
+		return BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_FOOT
+	case "MEGAJOULES_PER_SQUARE_METER":
+		return BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_METER
+	case "DEGREES_PHASE":
+		return BACnetEngineeringUnits_DEGREES_PHASE
+	case "MEGAJOULES_PER_SQUARE_FOOT":
+		return BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_FOOT
+	case "WATTS_PER_SQUARE_METER_DEGREE_KELVIN":
+		return BACnetEngineeringUnits_WATTS_PER_SQUARE_METER_DEGREE_KELVIN
+	case "CUBIC_FEET_PER_SECOND":
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_SECOND
+	case "PERCENT_OBSCURATION_PER_FOOT":
+		return BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_FOOT
+	case "PERCENT_OBSCURATION_PER_METER":
+		return BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_METER
+	case "MILLIOHMS":
+		return BACnetEngineeringUnits_MILLIOHMS
+	case "MEGAWATT_HOURS":
+		return BACnetEngineeringUnits_MEGAWATT_HOURS
+	case "KILO_BTUS":
+		return BACnetEngineeringUnits_KILO_BTUS
+	case "MEGA_BTUS":
+		return BACnetEngineeringUnits_MEGA_BTUS
+	case "KILOJOULES_PER_KILOGRAM_DRY_AIR":
+		return BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM_DRY_AIR
+	case "POWER_FACTOR":
+		return BACnetEngineeringUnits_POWER_FACTOR
+	case "MEGAJOULES_PER_KILOGRAM_DRY_AIR":
+		return BACnetEngineeringUnits_MEGAJOULES_PER_KILOGRAM_DRY_AIR
+	case "GRAMS_PER_SECOND":
+		return BACnetEngineeringUnits_GRAMS_PER_SECOND
+	case "GRAMS_PER_MINUTE":
+		return BACnetEngineeringUnits_GRAMS_PER_MINUTE
+	case "TONS_PER_HOUR":
+		return BACnetEngineeringUnits_TONS_PER_HOUR
+	case "KILO_BTUS_PER_HOUR":
+		return BACnetEngineeringUnits_KILO_BTUS_PER_HOUR
+	case "HUNDREDTHS_SECONDS":
+		return BACnetEngineeringUnits_HUNDREDTHS_SECONDS
+	case "MILLISECONDS":
+		return BACnetEngineeringUnits_MILLISECONDS
+	case "JOULES":
+		return BACnetEngineeringUnits_JOULES
+	case "NEWTON_METERS":
+		return BACnetEngineeringUnits_NEWTON_METERS
+	case "MILLIMETERS_PER_SECOND":
+		return BACnetEngineeringUnits_MILLIMETERS_PER_SECOND
+	case "MILLIMETERS_PER_MINUTE":
+		return BACnetEngineeringUnits_MILLIMETERS_PER_MINUTE
+	case "METERS_PER_MINUTE":
+		return BACnetEngineeringUnits_METERS_PER_MINUTE
+	case "METERS_PER_HOUR":
+		return BACnetEngineeringUnits_METERS_PER_HOUR
+	case "CUBIC_METERS_PER_MINUTE":
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_MINUTE
+	case "METERS_PER_SECOND_PER_SECOND":
+		return BACnetEngineeringUnits_METERS_PER_SECOND_PER_SECOND
+	case "AMPERES_PER_METER":
+		return BACnetEngineeringUnits_AMPERES_PER_METER
+	case "AMPERES_PER_SQUARE_METER":
+		return BACnetEngineeringUnits_AMPERES_PER_SQUARE_METER
+	case "AMPERE_SQUARE_METERS":
+		return BACnetEngineeringUnits_AMPERE_SQUARE_METERS
+	case "KILOJOULES":
+		return BACnetEngineeringUnits_KILOJOULES
+	case "FARADS":
+		return BACnetEngineeringUnits_FARADS
+	case "HENRYS":
+		return BACnetEngineeringUnits_HENRYS
+	case "OHM_METERS":
+		return BACnetEngineeringUnits_OHM_METERS
+	case "SIEMENS":
+		return BACnetEngineeringUnits_SIEMENS
+	case "SIEMENS_PER_METER":
+		return BACnetEngineeringUnits_SIEMENS_PER_METER
+	case "TESLAS":
+		return BACnetEngineeringUnits_TESLAS
+	case "VOLTS_PER_DEGREE_KELVIN":
+		return BACnetEngineeringUnits_VOLTS_PER_DEGREE_KELVIN
+	case "VOLTS_PER_METER":
+		return BACnetEngineeringUnits_VOLTS_PER_METER
+	case "WEBERS":
+		return BACnetEngineeringUnits_WEBERS
+	case "CANDELAS":
+		return BACnetEngineeringUnits_CANDELAS
+	case "WATT_HOURS":
+		return BACnetEngineeringUnits_WATT_HOURS
+	case "CANDELAS_PER_SQUARE_METER":
+		return BACnetEngineeringUnits_CANDELAS_PER_SQUARE_METER
+	case "DEGREES_KELVIN_PER_HOUR":
+		return BACnetEngineeringUnits_DEGREES_KELVIN_PER_HOUR
+	case "DEGREES_KELVIN_PER_MINUTE":
+		return BACnetEngineeringUnits_DEGREES_KELVIN_PER_MINUTE
+	case "JOULE_SECONDS":
+		return BACnetEngineeringUnits_JOULE_SECONDS
+	case "RADIANS_PER_SECOND":
+		return BACnetEngineeringUnits_RADIANS_PER_SECOND
+	case "SQUARE_METERS_PER_NEWTON":
+		return BACnetEngineeringUnits_SQUARE_METERS_PER_NEWTON
+	case "KILOGRAMS_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_KILOGRAMS_PER_CUBIC_METER
+	case "NEWTON_SECONDS":
+		return BACnetEngineeringUnits_NEWTON_SECONDS
+	case "NEWTONS_PER_METER":
+		return BACnetEngineeringUnits_NEWTONS_PER_METER
+	case "WATTS_PER_METER_PER_DEGREE_KELVIN":
+		return BACnetEngineeringUnits_WATTS_PER_METER_PER_DEGREE_KELVIN
+	case "KILOWATT_HOURS":
+		return BACnetEngineeringUnits_KILOWATT_HOURS
+	case "MICROSIEMENS":
+		return BACnetEngineeringUnits_MICROSIEMENS
+	case "CUBIC_FEET_PER_HOUR":
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_HOUR
+	case "US_GALLONS_PER_HOUR":
+		return BACnetEngineeringUnits_US_GALLONS_PER_HOUR
+	case "KILOMETERS":
+		return BACnetEngineeringUnits_KILOMETERS
+	case "MICROMETERS":
+		return BACnetEngineeringUnits_MICROMETERS
+	case "GRAMS":
+		return BACnetEngineeringUnits_GRAMS
+	case "MILLIGRAMS":
+		return BACnetEngineeringUnits_MILLIGRAMS
+	case "MILLILITERS":
+		return BACnetEngineeringUnits_MILLILITERS
+	case "MILLILITERS_PER_SECOND":
+		return BACnetEngineeringUnits_MILLILITERS_PER_SECOND
+	case "DECIBELS":
+		return BACnetEngineeringUnits_DECIBELS
+	case "MILLIAMPERES":
+		return BACnetEngineeringUnits_MILLIAMPERES
+	case "BTUS":
+		return BACnetEngineeringUnits_BTUS
+	case "DECIBELS_MILLIVOLT":
+		return BACnetEngineeringUnits_DECIBELS_MILLIVOLT
+	case "DECIBELS_VOLT":
+		return BACnetEngineeringUnits_DECIBELS_VOLT
+	case "MILLISIEMENS":
+		return BACnetEngineeringUnits_MILLISIEMENS
+	case "WATT_HOURS_REACTIVE":
+		return BACnetEngineeringUnits_WATT_HOURS_REACTIVE
+	case "KILOWATT_HOURS_REACTIVE":
+		return BACnetEngineeringUnits_KILOWATT_HOURS_REACTIVE
+	case "MEGAWATT_HOURS_REACTIVE":
+		return BACnetEngineeringUnits_MEGAWATT_HOURS_REACTIVE
+	case "MILLIMETERS_OF_WATER":
+		return BACnetEngineeringUnits_MILLIMETERS_OF_WATER
+	case "PER_MILLE":
+		return BACnetEngineeringUnits_PER_MILLE
+	case "GRAMS_PER_GRAM":
+		return BACnetEngineeringUnits_GRAMS_PER_GRAM
+	case "KILOGRAMS_PER_KILOGRAM":
+		return BACnetEngineeringUnits_KILOGRAMS_PER_KILOGRAM
+	case "THERMS":
+		return BACnetEngineeringUnits_THERMS
+	case "GRAMS_PER_KILOGRAM":
+		return BACnetEngineeringUnits_GRAMS_PER_KILOGRAM
+	case "MILLIGRAMS_PER_GRAM":
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_GRAM
+	case "MILLIGRAMS_PER_KILOGRAM":
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_KILOGRAM
+	case "GRAMS_PER_MILLILITER":
+		return BACnetEngineeringUnits_GRAMS_PER_MILLILITER
+	case "GRAMS_PER_LITER":
+		return BACnetEngineeringUnits_GRAMS_PER_LITER
+	case "MILLIGRAMS_PER_LITER":
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_LITER
+	case "MICROGRAMS_PER_LITER":
+		return BACnetEngineeringUnits_MICROGRAMS_PER_LITER
+	case "GRAMS_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_GRAMS_PER_CUBIC_METER
+	case "MILLIGRAMS_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_MILLIGRAMS_PER_CUBIC_METER
+	case "MICROGRAMS_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_MICROGRAMS_PER_CUBIC_METER
+	case "TON_HOURS":
+		return BACnetEngineeringUnits_TON_HOURS
+	case "NANOGRAMS_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_NANOGRAMS_PER_CUBIC_METER
+	case "GRAMS_PER_CUBIC_CENTIMETER":
+		return BACnetEngineeringUnits_GRAMS_PER_CUBIC_CENTIMETER
+	case "BECQUERELS":
+		return BACnetEngineeringUnits_BECQUERELS
+	case "KILOBECQUERELS":
+		return BACnetEngineeringUnits_KILOBECQUERELS
+	case "MEGABECQUERELS":
+		return BACnetEngineeringUnits_MEGABECQUERELS
+	case "GRAY":
+		return BACnetEngineeringUnits_GRAY
+	case "MILLIGRAY":
+		return BACnetEngineeringUnits_MILLIGRAY
+	case "MICROGRAY":
+		return BACnetEngineeringUnits_MICROGRAY
+	case "SIEVERTS":
+		return BACnetEngineeringUnits_SIEVERTS
+	case "MILLISIEVERTS":
+		return BACnetEngineeringUnits_MILLISIEVERTS
+	case "JOULES_PER_KILOGRAM_DRY_AIR":
+		return BACnetEngineeringUnits_JOULES_PER_KILOGRAM_DRY_AIR
+	case "MICROSIEVERTS":
+		return BACnetEngineeringUnits_MICROSIEVERTS
+	case "MICROSIEVERTS_PER_HOUR":
+		return BACnetEngineeringUnits_MICROSIEVERTS_PER_HOUR
+	case "DECIBELS_A":
+		return BACnetEngineeringUnits_DECIBELS_A
+	case "NEPHELOMETRIC_TURBIDITY_UNIT":
+		return BACnetEngineeringUnits_NEPHELOMETRIC_TURBIDITY_UNIT
+	case "P_H":
+		return BACnetEngineeringUnits_P_H
+	case "GRAMS_PER_SQUARE_METER":
+		return BACnetEngineeringUnits_GRAMS_PER_SQUARE_METER
+	case "MINUTES_PER_DEGREE_KELVIN":
+		return BACnetEngineeringUnits_MINUTES_PER_DEGREE_KELVIN
+	case "OHM_METER_SQUARED_PER_METER":
+		return BACnetEngineeringUnits_OHM_METER_SQUARED_PER_METER
+	case "AMPERE_SECONDS":
+		return BACnetEngineeringUnits_AMPERE_SECONDS
+	case "VOLT_AMPERE_HOURS":
+		return BACnetEngineeringUnits_VOLT_AMPERE_HOURS
+	case "BTUS_PER_POUND_DRY_AIR":
+		return BACnetEngineeringUnits_BTUS_PER_POUND_DRY_AIR
+	case "KILOVOLT_AMPERE_HOURS":
+		return BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS
+	case "MEGAVOLT_AMPERE_HOURS":
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS
+	case "VOLT_AMPERE_HOURS_REACTIVE":
+		return BACnetEngineeringUnits_VOLT_AMPERE_HOURS_REACTIVE
+	case "KILOVOLT_AMPERE_HOURS_REACTIVE":
+		return BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS_REACTIVE
+	case "MEGAVOLT_AMPERE_HOURS_REACTIVE":
+		return BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS_REACTIVE
+	case "VOLT_SQUARE_HOURS":
+		return BACnetEngineeringUnits_VOLT_SQUARE_HOURS
+	case "AMPERE_SQUARE_HOURS":
+		return BACnetEngineeringUnits_AMPERE_SQUARE_HOURS
+	case "JOULE_PER_HOURS":
+		return BACnetEngineeringUnits_JOULE_PER_HOURS
+	case "CUBIC_FEET_PER_DAY":
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_DAY
+	case "CUBIC_METERS_PER_DAY":
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_DAY
+	case "WATT_HOURS_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_WATT_HOURS_PER_CUBIC_METER
+	case "JOULES_PER_CUBIC_METER":
+		return BACnetEngineeringUnits_JOULES_PER_CUBIC_METER
+	case "MOLE_PERCENT":
+		return BACnetEngineeringUnits_MOLE_PERCENT
+	case "PASCAL_SECONDS":
+		return BACnetEngineeringUnits_PASCAL_SECONDS
+	case "MILLION_STANDARD_CUBIC_FEET_PER_MINUTE":
+		return BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_MINUTE
+	case "GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR":
+		return BACnetEngineeringUnits_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR
+	case "PERCENT_RELATIVE_HUMIDITY":
+		return BACnetEngineeringUnits_PERCENT_RELATIVE_HUMIDITY
+	case "AMPERES":
+		return BACnetEngineeringUnits_AMPERES
+	case "MILLIMETERS":
+		return BACnetEngineeringUnits_MILLIMETERS
+	case "METERS":
+		return BACnetEngineeringUnits_METERS
+	case "INCHES":
+		return BACnetEngineeringUnits_INCHES
+	case "FEET":
+		return BACnetEngineeringUnits_FEET
+	case "WATTS_PER_SQUARE_FOOT":
+		return BACnetEngineeringUnits_WATTS_PER_SQUARE_FOOT
+	case "WATTS_PER_SQUARE_METER":
+		return BACnetEngineeringUnits_WATTS_PER_SQUARE_METER
+	case "LUMENS":
+		return BACnetEngineeringUnits_LUMENS
+	case "LUXES":
+		return BACnetEngineeringUnits_LUXES
+	case "FOOT_CANDLES":
+		return BACnetEngineeringUnits_FOOT_CANDLES
+	case "KILOGRAMS":
+		return BACnetEngineeringUnits_KILOGRAMS
+	case "OHMS":
+		return BACnetEngineeringUnits_OHMS
+	case "POUNDS_MASS":
+		return BACnetEngineeringUnits_POUNDS_MASS
+	case "TONS":
+		return BACnetEngineeringUnits_TONS
+	case "KILOGRAMS_PER_SECOND":
+		return BACnetEngineeringUnits_KILOGRAMS_PER_SECOND
+	case "KILOGRAMS_PER_MINUTE":
+		return BACnetEngineeringUnits_KILOGRAMS_PER_MINUTE
+	case "KILOGRAMS_PER_HOUR":
+		return BACnetEngineeringUnits_KILOGRAMS_PER_HOUR
+	case "POUNDS_MASS_PER_MINUTE":
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_MINUTE
+	case "POUNDS_MASS_PER_HOUR":
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_HOUR
+	case "WATTS":
+		return BACnetEngineeringUnits_WATTS
+	case "STANDARD_CUBIC_FEET_PER_DAY":
+		return BACnetEngineeringUnits_STANDARD_CUBIC_FEET_PER_DAY
+	case "MILLION_STANDARD_CUBIC_FEET_PER_DAY":
+		return BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_DAY
+	case "THOUSAND_CUBIC_FEET_PER_DAY":
+		return BACnetEngineeringUnits_THOUSAND_CUBIC_FEET_PER_DAY
+	case "THOUSAND_STANDARD_CUBIC_FEET_PER_DAY":
+		return BACnetEngineeringUnits_THOUSAND_STANDARD_CUBIC_FEET_PER_DAY
+	case "POUNDS_MASS_PER_DAY":
+		return BACnetEngineeringUnits_POUNDS_MASS_PER_DAY
+	case "MILLIREMS":
+		return BACnetEngineeringUnits_MILLIREMS
+	case "MILLIREMS_PER_HOUR":
+		return BACnetEngineeringUnits_MILLIREMS_PER_HOUR
+	case "KILOWATTS":
+		return BACnetEngineeringUnits_KILOWATTS
+	case "MEGAWATTS":
+		return BACnetEngineeringUnits_MEGAWATTS
+	case "VOLTS":
+		return BACnetEngineeringUnits_VOLTS
+	case "BTUS_PER_HOUR":
+		return BACnetEngineeringUnits_BTUS_PER_HOUR
+	case "HORSEPOWER":
+		return BACnetEngineeringUnits_HORSEPOWER
+	case "TONS_REFRIGERATION":
+		return BACnetEngineeringUnits_TONS_REFRIGERATION
+	case "PASCALS":
+		return BACnetEngineeringUnits_PASCALS
+	case "KILOPASCALS":
+		return BACnetEngineeringUnits_KILOPASCALS
+	case "BARS":
+		return BACnetEngineeringUnits_BARS
+	case "POUNDS_FORCE_PER_SQUARE_INCH":
+		return BACnetEngineeringUnits_POUNDS_FORCE_PER_SQUARE_INCH
+	case "CENTIMETERS_OF_WATER":
+		return BACnetEngineeringUnits_CENTIMETERS_OF_WATER
+	case "INCHES_OF_WATER":
+		return BACnetEngineeringUnits_INCHES_OF_WATER
+	case "MILLIMETERS_OF_MERCURY":
+		return BACnetEngineeringUnits_MILLIMETERS_OF_MERCURY
+	case "KILOVOLTS":
+		return BACnetEngineeringUnits_KILOVOLTS
+	case "CENTIMETERS_OF_MERCURY":
+		return BACnetEngineeringUnits_CENTIMETERS_OF_MERCURY
+	case "INCHES_OF_MERCURY":
+		return BACnetEngineeringUnits_INCHES_OF_MERCURY
+	case "DEGREES_CELSIUS":
+		return BACnetEngineeringUnits_DEGREES_CELSIUS
+	case "DEGREES_KELVIN":
+		return BACnetEngineeringUnits_DEGREES_KELVIN
+	case "DEGREES_FAHRENHEIT":
+		return BACnetEngineeringUnits_DEGREES_FAHRENHEIT
+	case "DEGREE_DAYS_CELSIUS":
+		return BACnetEngineeringUnits_DEGREE_DAYS_CELSIUS
+	case "DEGREE_DAYS_FAHRENHEIT":
+		return BACnetEngineeringUnits_DEGREE_DAYS_FAHRENHEIT
+	case "YEARS":
+		return BACnetEngineeringUnits_YEARS
+	case "MONTHS":
+		return BACnetEngineeringUnits_MONTHS
+	case "WEEKS":
+		return BACnetEngineeringUnits_WEEKS
+	case "MEGAVOLTS":
+		return BACnetEngineeringUnits_MEGAVOLTS
+	case "DAYS":
+		return BACnetEngineeringUnits_DAYS
+	case "HOURS":
+		return BACnetEngineeringUnits_HOURS
+	case "MINUTES":
+		return BACnetEngineeringUnits_MINUTES
+	case "SECONDS":
+		return BACnetEngineeringUnits_SECONDS
+	case "METERS_PER_SECOND":
+		return BACnetEngineeringUnits_METERS_PER_SECOND
+	case "KILOMETERS_PER_HOUR":
+		return BACnetEngineeringUnits_KILOMETERS_PER_HOUR
+	case "FEET_PER_SECOND":
+		return BACnetEngineeringUnits_FEET_PER_SECOND
+	case "FEET_PER_MINUTE":
+		return BACnetEngineeringUnits_FEET_PER_MINUTE
+	case "MILES_PER_HOUR":
+		return BACnetEngineeringUnits_MILES_PER_HOUR
+	case "CUBIC_FEET":
+		return BACnetEngineeringUnits_CUBIC_FEET
+	case "VOLT_AMPERES":
+		return BACnetEngineeringUnits_VOLT_AMPERES
+	case "CUBIC_METERS":
+		return BACnetEngineeringUnits_CUBIC_METERS
+	case "IMPERIAL_GALLONS":
+		return BACnetEngineeringUnits_IMPERIAL_GALLONS
+	case "LITERS":
+		return BACnetEngineeringUnits_LITERS
+	case "US_GALLONS":
+		return BACnetEngineeringUnits_US_GALLONS
+	case "CUBIC_FEET_PER_MINUTE":
+		return BACnetEngineeringUnits_CUBIC_FEET_PER_MINUTE
+	case "CUBIC_METERS_PER_SECOND":
+		return BACnetEngineeringUnits_CUBIC_METERS_PER_SECOND
+	case "IMPERIAL_GALLONS_PER_MINUTE":
+		return BACnetEngineeringUnits_IMPERIAL_GALLONS_PER_MINUTE
+	case "LITERS_PER_SECOND":
+		return BACnetEngineeringUnits_LITERS_PER_SECOND
+	case "LITERS_PER_MINUTE":
+		return BACnetEngineeringUnits_LITERS_PER_MINUTE
+	case "US_GALLONS_PER_MINUTE":
+		return BACnetEngineeringUnits_US_GALLONS_PER_MINUTE
+	case "KILOVOLT_AMPERES":
+		return BACnetEngineeringUnits_KILOVOLT_AMPERES
+	case "DEGREES_ANGULAR":
+		return BACnetEngineeringUnits_DEGREES_ANGULAR
+	case "DEGREES_CELSIUS_PER_HOUR":
+		return BACnetEngineeringUnits_DEGREES_CELSIUS_PER_HOUR
+	case "DEGREES_CELSIUS_PER_MINUTE":
+		return BACnetEngineeringUnits_DEGREES_CELSIUS_PER_MINUTE
+	case "DEGREES_FAHRENHEIT_PER_HOUR":
+		return BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_HOUR
+	case "DEGREES_FAHRENHEIT_PER_MINUTE":
+		return BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_MINUTE
+	case "NO_UNITS":
+		return BACnetEngineeringUnits_NO_UNITS
+	case "PARTS_PER_MILLION":
+		return BACnetEngineeringUnits_PARTS_PER_MILLION
+	case "PARTS_PER_BILLION":
+		return BACnetEngineeringUnits_PARTS_PER_BILLION
+	case "PERCENT":
+		return BACnetEngineeringUnits_PERCENT
+	case "PERCENT_PER_SECOND":
+		return BACnetEngineeringUnits_PERCENT_PER_SECOND
 	}
 	return 0
 }
 
-func BACnetEngineeringUnitsKnows(value uint8) bool {
+func BACnetEngineeringUnitsKnows(value uint32) bool {
 	for _, typeValue := range BACnetEngineeringUnitsValues {
-		if uint8(typeValue) == value {
+		if uint32(typeValue) == value {
 			return true
 		}
 	}
@@ -82,7 +1588,7 @@ func CastBACnetEngineeringUnits(structType interface{}) BACnetEngineeringUnits {
 }
 
 func (m BACnetEngineeringUnits) GetLengthInBits() uint16 {
-	return 8
+	return 32
 }
 
 func (m BACnetEngineeringUnits) GetLengthInBytes() uint16 {
@@ -90,7 +1596,7 @@ func (m BACnetEngineeringUnits) GetLengthInBytes() uint16 {
 }
 
 func BACnetEngineeringUnitsParse(readBuffer utils.ReadBuffer) (BACnetEngineeringUnits, error) {
-	val, err := readBuffer.ReadUint8("BACnetEngineeringUnits", 8)
+	val, err := readBuffer.ReadUint32("BACnetEngineeringUnits", 32)
 	if err != nil {
 		return 0, nil
 	}
@@ -98,13 +1604,515 @@ func BACnetEngineeringUnitsParse(readBuffer utils.ReadBuffer) (BACnetEngineering
 }
 
 func (e BACnetEngineeringUnits) Serialize(writeBuffer utils.WriteBuffer) error {
-	return writeBuffer.WriteUint8("BACnetEngineeringUnits", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+	return writeBuffer.WriteUint32("BACnetEngineeringUnits", 32, uint32(e), utils.WithAdditionalStringRepresentation(e.name()))
 }
 
 func (e BACnetEngineeringUnits) name() string {
 	switch e {
+	case BACnetEngineeringUnits_SQUARE_METERS:
+		return "SQUARE_METERS"
 	case BACnetEngineeringUnits_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetEngineeringUnits_SQUARE_FEET:
+		return "SQUARE_FEET"
+	case BACnetEngineeringUnits_MEGAVOLT_AMPERES:
+		return "MEGAVOLT_AMPERES"
+	case BACnetEngineeringUnits_PER_MINUTE:
+		return "PER_MINUTE"
+	case BACnetEngineeringUnits_PER_SECOND:
+		return "PER_SECOND"
+	case BACnetEngineeringUnits_PSI_PER_DEGREE_FAHRENHEIT:
+		return "PSI_PER_DEGREE_FAHRENHEIT"
+	case BACnetEngineeringUnits_RADIANS:
+		return "RADIANS"
+	case BACnetEngineeringUnits_REVOLUTIONS_PER_MINUTE:
+		return "REVOLUTIONS_PER_MINUTE"
+	case BACnetEngineeringUnits_CURRENCY1:
+		return "CURRENCY1"
+	case BACnetEngineeringUnits_CURRENCY2:
+		return "CURRENCY2"
+	case BACnetEngineeringUnits_CURRENCY3:
+		return "CURRENCY3"
+	case BACnetEngineeringUnits_CURRENCY4:
+		return "CURRENCY4"
+	case BACnetEngineeringUnits_CURRENCY5:
+		return "CURRENCY5"
+	case BACnetEngineeringUnits_VOLT_AMPERES_REACTIVE:
+		return "VOLT_AMPERES_REACTIVE"
+	case BACnetEngineeringUnits_CURRENCY6:
+		return "CURRENCY6"
+	case BACnetEngineeringUnits_CURRENCY7:
+		return "CURRENCY7"
+	case BACnetEngineeringUnits_CURRENCY8:
+		return "CURRENCY8"
+	case BACnetEngineeringUnits_CURRENCY9:
+		return "CURRENCY9"
+	case BACnetEngineeringUnits_CURRENCY10:
+		return "CURRENCY10"
+	case BACnetEngineeringUnits_SQUARE_INCHES:
+		return "SQUARE_INCHES"
+	case BACnetEngineeringUnits_SQUARE_CENTIMETERS:
+		return "SQUARE_CENTIMETERS"
+	case BACnetEngineeringUnits_BTUS_PER_POUND:
+		return "BTUS_PER_POUND"
+	case BACnetEngineeringUnits_CENTIMETERS:
+		return "CENTIMETERS"
+	case BACnetEngineeringUnits_POUNDS_MASS_PER_SECOND:
+		return "POUNDS_MASS_PER_SECOND"
+	case BACnetEngineeringUnits_KILOVOLT_AMPERES_REACTIVE:
+		return "KILOVOLT_AMPERES_REACTIVE"
+	case BACnetEngineeringUnits_DELTA_DEGREES_FAHRENHEIT:
+		return "DELTA_DEGREES_FAHRENHEIT"
+	case BACnetEngineeringUnits_DELTA_DEGREES_KELVIN:
+		return "DELTA_DEGREES_KELVIN"
+	case BACnetEngineeringUnits_KILOHMS:
+		return "KILOHMS"
+	case BACnetEngineeringUnits_MEGOHMS:
+		return "MEGOHMS"
+	case BACnetEngineeringUnits_MILLIVOLTS:
+		return "MILLIVOLTS"
+	case BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM:
+		return "KILOJOULES_PER_KILOGRAM"
+	case BACnetEngineeringUnits_MEGAJOULES:
+		return "MEGAJOULES"
+	case BACnetEngineeringUnits_MEGAVOLT_AMPERES_REACTIVE:
+		return "MEGAVOLT_AMPERES_REACTIVE"
+	case BACnetEngineeringUnits_IWATTS:
+		return "IWATTS"
+	case BACnetEngineeringUnits_HECTOPASCALS:
+		return "HECTOPASCALS"
+	case BACnetEngineeringUnits_MILLIBARS:
+		return "MILLIBARS"
+	case BACnetEngineeringUnits_CUBIC_METERS_PER_HOUR:
+		return "CUBIC_METERS_PER_HOUR"
+	case BACnetEngineeringUnits_LITERS_PER_HOUR:
+		return "LITERS_PER_HOUR"
+	case BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_METER:
+		return "KILOWATT_HOURS_PER_SQUARE_METER"
+	case BACnetEngineeringUnits_KILOWATT_HOURS_PER_SQUARE_FOOT:
+		return "KILOWATT_HOURS_PER_SQUARE_FOOT"
+	case BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_METER:
+		return "MEGAJOULES_PER_SQUARE_METER"
+	case BACnetEngineeringUnits_DEGREES_PHASE:
+		return "DEGREES_PHASE"
+	case BACnetEngineeringUnits_MEGAJOULES_PER_SQUARE_FOOT:
+		return "MEGAJOULES_PER_SQUARE_FOOT"
+	case BACnetEngineeringUnits_WATTS_PER_SQUARE_METER_DEGREE_KELVIN:
+		return "WATTS_PER_SQUARE_METER_DEGREE_KELVIN"
+	case BACnetEngineeringUnits_CUBIC_FEET_PER_SECOND:
+		return "CUBIC_FEET_PER_SECOND"
+	case BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_FOOT:
+		return "PERCENT_OBSCURATION_PER_FOOT"
+	case BACnetEngineeringUnits_PERCENT_OBSCURATION_PER_METER:
+		return "PERCENT_OBSCURATION_PER_METER"
+	case BACnetEngineeringUnits_MILLIOHMS:
+		return "MILLIOHMS"
+	case BACnetEngineeringUnits_MEGAWATT_HOURS:
+		return "MEGAWATT_HOURS"
+	case BACnetEngineeringUnits_KILO_BTUS:
+		return "KILO_BTUS"
+	case BACnetEngineeringUnits_MEGA_BTUS:
+		return "MEGA_BTUS"
+	case BACnetEngineeringUnits_KILOJOULES_PER_KILOGRAM_DRY_AIR:
+		return "KILOJOULES_PER_KILOGRAM_DRY_AIR"
+	case BACnetEngineeringUnits_POWER_FACTOR:
+		return "POWER_FACTOR"
+	case BACnetEngineeringUnits_MEGAJOULES_PER_KILOGRAM_DRY_AIR:
+		return "MEGAJOULES_PER_KILOGRAM_DRY_AIR"
+	case BACnetEngineeringUnits_GRAMS_PER_SECOND:
+		return "GRAMS_PER_SECOND"
+	case BACnetEngineeringUnits_GRAMS_PER_MINUTE:
+		return "GRAMS_PER_MINUTE"
+	case BACnetEngineeringUnits_TONS_PER_HOUR:
+		return "TONS_PER_HOUR"
+	case BACnetEngineeringUnits_KILO_BTUS_PER_HOUR:
+		return "KILO_BTUS_PER_HOUR"
+	case BACnetEngineeringUnits_HUNDREDTHS_SECONDS:
+		return "HUNDREDTHS_SECONDS"
+	case BACnetEngineeringUnits_MILLISECONDS:
+		return "MILLISECONDS"
+	case BACnetEngineeringUnits_JOULES:
+		return "JOULES"
+	case BACnetEngineeringUnits_NEWTON_METERS:
+		return "NEWTON_METERS"
+	case BACnetEngineeringUnits_MILLIMETERS_PER_SECOND:
+		return "MILLIMETERS_PER_SECOND"
+	case BACnetEngineeringUnits_MILLIMETERS_PER_MINUTE:
+		return "MILLIMETERS_PER_MINUTE"
+	case BACnetEngineeringUnits_METERS_PER_MINUTE:
+		return "METERS_PER_MINUTE"
+	case BACnetEngineeringUnits_METERS_PER_HOUR:
+		return "METERS_PER_HOUR"
+	case BACnetEngineeringUnits_CUBIC_METERS_PER_MINUTE:
+		return "CUBIC_METERS_PER_MINUTE"
+	case BACnetEngineeringUnits_METERS_PER_SECOND_PER_SECOND:
+		return "METERS_PER_SECOND_PER_SECOND"
+	case BACnetEngineeringUnits_AMPERES_PER_METER:
+		return "AMPERES_PER_METER"
+	case BACnetEngineeringUnits_AMPERES_PER_SQUARE_METER:
+		return "AMPERES_PER_SQUARE_METER"
+	case BACnetEngineeringUnits_AMPERE_SQUARE_METERS:
+		return "AMPERE_SQUARE_METERS"
+	case BACnetEngineeringUnits_KILOJOULES:
+		return "KILOJOULES"
+	case BACnetEngineeringUnits_FARADS:
+		return "FARADS"
+	case BACnetEngineeringUnits_HENRYS:
+		return "HENRYS"
+	case BACnetEngineeringUnits_OHM_METERS:
+		return "OHM_METERS"
+	case BACnetEngineeringUnits_SIEMENS:
+		return "SIEMENS"
+	case BACnetEngineeringUnits_SIEMENS_PER_METER:
+		return "SIEMENS_PER_METER"
+	case BACnetEngineeringUnits_TESLAS:
+		return "TESLAS"
+	case BACnetEngineeringUnits_VOLTS_PER_DEGREE_KELVIN:
+		return "VOLTS_PER_DEGREE_KELVIN"
+	case BACnetEngineeringUnits_VOLTS_PER_METER:
+		return "VOLTS_PER_METER"
+	case BACnetEngineeringUnits_WEBERS:
+		return "WEBERS"
+	case BACnetEngineeringUnits_CANDELAS:
+		return "CANDELAS"
+	case BACnetEngineeringUnits_WATT_HOURS:
+		return "WATT_HOURS"
+	case BACnetEngineeringUnits_CANDELAS_PER_SQUARE_METER:
+		return "CANDELAS_PER_SQUARE_METER"
+	case BACnetEngineeringUnits_DEGREES_KELVIN_PER_HOUR:
+		return "DEGREES_KELVIN_PER_HOUR"
+	case BACnetEngineeringUnits_DEGREES_KELVIN_PER_MINUTE:
+		return "DEGREES_KELVIN_PER_MINUTE"
+	case BACnetEngineeringUnits_JOULE_SECONDS:
+		return "JOULE_SECONDS"
+	case BACnetEngineeringUnits_RADIANS_PER_SECOND:
+		return "RADIANS_PER_SECOND"
+	case BACnetEngineeringUnits_SQUARE_METERS_PER_NEWTON:
+		return "SQUARE_METERS_PER_NEWTON"
+	case BACnetEngineeringUnits_KILOGRAMS_PER_CUBIC_METER:
+		return "KILOGRAMS_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_NEWTON_SECONDS:
+		return "NEWTON_SECONDS"
+	case BACnetEngineeringUnits_NEWTONS_PER_METER:
+		return "NEWTONS_PER_METER"
+	case BACnetEngineeringUnits_WATTS_PER_METER_PER_DEGREE_KELVIN:
+		return "WATTS_PER_METER_PER_DEGREE_KELVIN"
+	case BACnetEngineeringUnits_KILOWATT_HOURS:
+		return "KILOWATT_HOURS"
+	case BACnetEngineeringUnits_MICROSIEMENS:
+		return "MICROSIEMENS"
+	case BACnetEngineeringUnits_CUBIC_FEET_PER_HOUR:
+		return "CUBIC_FEET_PER_HOUR"
+	case BACnetEngineeringUnits_US_GALLONS_PER_HOUR:
+		return "US_GALLONS_PER_HOUR"
+	case BACnetEngineeringUnits_KILOMETERS:
+		return "KILOMETERS"
+	case BACnetEngineeringUnits_MICROMETERS:
+		return "MICROMETERS"
+	case BACnetEngineeringUnits_GRAMS:
+		return "GRAMS"
+	case BACnetEngineeringUnits_MILLIGRAMS:
+		return "MILLIGRAMS"
+	case BACnetEngineeringUnits_MILLILITERS:
+		return "MILLILITERS"
+	case BACnetEngineeringUnits_MILLILITERS_PER_SECOND:
+		return "MILLILITERS_PER_SECOND"
+	case BACnetEngineeringUnits_DECIBELS:
+		return "DECIBELS"
+	case BACnetEngineeringUnits_MILLIAMPERES:
+		return "MILLIAMPERES"
+	case BACnetEngineeringUnits_BTUS:
+		return "BTUS"
+	case BACnetEngineeringUnits_DECIBELS_MILLIVOLT:
+		return "DECIBELS_MILLIVOLT"
+	case BACnetEngineeringUnits_DECIBELS_VOLT:
+		return "DECIBELS_VOLT"
+	case BACnetEngineeringUnits_MILLISIEMENS:
+		return "MILLISIEMENS"
+	case BACnetEngineeringUnits_WATT_HOURS_REACTIVE:
+		return "WATT_HOURS_REACTIVE"
+	case BACnetEngineeringUnits_KILOWATT_HOURS_REACTIVE:
+		return "KILOWATT_HOURS_REACTIVE"
+	case BACnetEngineeringUnits_MEGAWATT_HOURS_REACTIVE:
+		return "MEGAWATT_HOURS_REACTIVE"
+	case BACnetEngineeringUnits_MILLIMETERS_OF_WATER:
+		return "MILLIMETERS_OF_WATER"
+	case BACnetEngineeringUnits_PER_MILLE:
+		return "PER_MILLE"
+	case BACnetEngineeringUnits_GRAMS_PER_GRAM:
+		return "GRAMS_PER_GRAM"
+	case BACnetEngineeringUnits_KILOGRAMS_PER_KILOGRAM:
+		return "KILOGRAMS_PER_KILOGRAM"
+	case BACnetEngineeringUnits_THERMS:
+		return "THERMS"
+	case BACnetEngineeringUnits_GRAMS_PER_KILOGRAM:
+		return "GRAMS_PER_KILOGRAM"
+	case BACnetEngineeringUnits_MILLIGRAMS_PER_GRAM:
+		return "MILLIGRAMS_PER_GRAM"
+	case BACnetEngineeringUnits_MILLIGRAMS_PER_KILOGRAM:
+		return "MILLIGRAMS_PER_KILOGRAM"
+	case BACnetEngineeringUnits_GRAMS_PER_MILLILITER:
+		return "GRAMS_PER_MILLILITER"
+	case BACnetEngineeringUnits_GRAMS_PER_LITER:
+		return "GRAMS_PER_LITER"
+	case BACnetEngineeringUnits_MILLIGRAMS_PER_LITER:
+		return "MILLIGRAMS_PER_LITER"
+	case BACnetEngineeringUnits_MICROGRAMS_PER_LITER:
+		return "MICROGRAMS_PER_LITER"
+	case BACnetEngineeringUnits_GRAMS_PER_CUBIC_METER:
+		return "GRAMS_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_MILLIGRAMS_PER_CUBIC_METER:
+		return "MILLIGRAMS_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_MICROGRAMS_PER_CUBIC_METER:
+		return "MICROGRAMS_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_TON_HOURS:
+		return "TON_HOURS"
+	case BACnetEngineeringUnits_NANOGRAMS_PER_CUBIC_METER:
+		return "NANOGRAMS_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_GRAMS_PER_CUBIC_CENTIMETER:
+		return "GRAMS_PER_CUBIC_CENTIMETER"
+	case BACnetEngineeringUnits_BECQUERELS:
+		return "BECQUERELS"
+	case BACnetEngineeringUnits_KILOBECQUERELS:
+		return "KILOBECQUERELS"
+	case BACnetEngineeringUnits_MEGABECQUERELS:
+		return "MEGABECQUERELS"
+	case BACnetEngineeringUnits_GRAY:
+		return "GRAY"
+	case BACnetEngineeringUnits_MILLIGRAY:
+		return "MILLIGRAY"
+	case BACnetEngineeringUnits_MICROGRAY:
+		return "MICROGRAY"
+	case BACnetEngineeringUnits_SIEVERTS:
+		return "SIEVERTS"
+	case BACnetEngineeringUnits_MILLISIEVERTS:
+		return "MILLISIEVERTS"
+	case BACnetEngineeringUnits_JOULES_PER_KILOGRAM_DRY_AIR:
+		return "JOULES_PER_KILOGRAM_DRY_AIR"
+	case BACnetEngineeringUnits_MICROSIEVERTS:
+		return "MICROSIEVERTS"
+	case BACnetEngineeringUnits_MICROSIEVERTS_PER_HOUR:
+		return "MICROSIEVERTS_PER_HOUR"
+	case BACnetEngineeringUnits_DECIBELS_A:
+		return "DECIBELS_A"
+	case BACnetEngineeringUnits_NEPHELOMETRIC_TURBIDITY_UNIT:
+		return "NEPHELOMETRIC_TURBIDITY_UNIT"
+	case BACnetEngineeringUnits_P_H:
+		return "P_H"
+	case BACnetEngineeringUnits_GRAMS_PER_SQUARE_METER:
+		return "GRAMS_PER_SQUARE_METER"
+	case BACnetEngineeringUnits_MINUTES_PER_DEGREE_KELVIN:
+		return "MINUTES_PER_DEGREE_KELVIN"
+	case BACnetEngineeringUnits_OHM_METER_SQUARED_PER_METER:
+		return "OHM_METER_SQUARED_PER_METER"
+	case BACnetEngineeringUnits_AMPERE_SECONDS:
+		return "AMPERE_SECONDS"
+	case BACnetEngineeringUnits_VOLT_AMPERE_HOURS:
+		return "VOLT_AMPERE_HOURS"
+	case BACnetEngineeringUnits_BTUS_PER_POUND_DRY_AIR:
+		return "BTUS_PER_POUND_DRY_AIR"
+	case BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS:
+		return "KILOVOLT_AMPERE_HOURS"
+	case BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS:
+		return "MEGAVOLT_AMPERE_HOURS"
+	case BACnetEngineeringUnits_VOLT_AMPERE_HOURS_REACTIVE:
+		return "VOLT_AMPERE_HOURS_REACTIVE"
+	case BACnetEngineeringUnits_KILOVOLT_AMPERE_HOURS_REACTIVE:
+		return "KILOVOLT_AMPERE_HOURS_REACTIVE"
+	case BACnetEngineeringUnits_MEGAVOLT_AMPERE_HOURS_REACTIVE:
+		return "MEGAVOLT_AMPERE_HOURS_REACTIVE"
+	case BACnetEngineeringUnits_VOLT_SQUARE_HOURS:
+		return "VOLT_SQUARE_HOURS"
+	case BACnetEngineeringUnits_AMPERE_SQUARE_HOURS:
+		return "AMPERE_SQUARE_HOURS"
+	case BACnetEngineeringUnits_JOULE_PER_HOURS:
+		return "JOULE_PER_HOURS"
+	case BACnetEngineeringUnits_CUBIC_FEET_PER_DAY:
+		return "CUBIC_FEET_PER_DAY"
+	case BACnetEngineeringUnits_CUBIC_METERS_PER_DAY:
+		return "CUBIC_METERS_PER_DAY"
+	case BACnetEngineeringUnits_WATT_HOURS_PER_CUBIC_METER:
+		return "WATT_HOURS_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_JOULES_PER_CUBIC_METER:
+		return "JOULES_PER_CUBIC_METER"
+	case BACnetEngineeringUnits_MOLE_PERCENT:
+		return "MOLE_PERCENT"
+	case BACnetEngineeringUnits_PASCAL_SECONDS:
+		return "PASCAL_SECONDS"
+	case BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_MINUTE:
+		return "MILLION_STANDARD_CUBIC_FEET_PER_MINUTE"
+	case BACnetEngineeringUnits_GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR:
+		return "GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR"
+	case BACnetEngineeringUnits_PERCENT_RELATIVE_HUMIDITY:
+		return "PERCENT_RELATIVE_HUMIDITY"
+	case BACnetEngineeringUnits_AMPERES:
+		return "AMPERES"
+	case BACnetEngineeringUnits_MILLIMETERS:
+		return "MILLIMETERS"
+	case BACnetEngineeringUnits_METERS:
+		return "METERS"
+	case BACnetEngineeringUnits_INCHES:
+		return "INCHES"
+	case BACnetEngineeringUnits_FEET:
+		return "FEET"
+	case BACnetEngineeringUnits_WATTS_PER_SQUARE_FOOT:
+		return "WATTS_PER_SQUARE_FOOT"
+	case BACnetEngineeringUnits_WATTS_PER_SQUARE_METER:
+		return "WATTS_PER_SQUARE_METER"
+	case BACnetEngineeringUnits_LUMENS:
+		return "LUMENS"
+	case BACnetEngineeringUnits_LUXES:
+		return "LUXES"
+	case BACnetEngineeringUnits_FOOT_CANDLES:
+		return "FOOT_CANDLES"
+	case BACnetEngineeringUnits_KILOGRAMS:
+		return "KILOGRAMS"
+	case BACnetEngineeringUnits_OHMS:
+		return "OHMS"
+	case BACnetEngineeringUnits_POUNDS_MASS:
+		return "POUNDS_MASS"
+	case BACnetEngineeringUnits_TONS:
+		return "TONS"
+	case BACnetEngineeringUnits_KILOGRAMS_PER_SECOND:
+		return "KILOGRAMS_PER_SECOND"
+	case BACnetEngineeringUnits_KILOGRAMS_PER_MINUTE:
+		return "KILOGRAMS_PER_MINUTE"
+	case BACnetEngineeringUnits_KILOGRAMS_PER_HOUR:
+		return "KILOGRAMS_PER_HOUR"
+	case BACnetEngineeringUnits_POUNDS_MASS_PER_MINUTE:
+		return "POUNDS_MASS_PER_MINUTE"
+	case BACnetEngineeringUnits_POUNDS_MASS_PER_HOUR:
+		return "POUNDS_MASS_PER_HOUR"
+	case BACnetEngineeringUnits_WATTS:
+		return "WATTS"
+	case BACnetEngineeringUnits_STANDARD_CUBIC_FEET_PER_DAY:
+		return "STANDARD_CUBIC_FEET_PER_DAY"
+	case BACnetEngineeringUnits_MILLION_STANDARD_CUBIC_FEET_PER_DAY:
+		return "MILLION_STANDARD_CUBIC_FEET_PER_DAY"
+	case BACnetEngineeringUnits_THOUSAND_CUBIC_FEET_PER_DAY:
+		return "THOUSAND_CUBIC_FEET_PER_DAY"
+	case BACnetEngineeringUnits_THOUSAND_STANDARD_CUBIC_FEET_PER_DAY:
+		return "THOUSAND_STANDARD_CUBIC_FEET_PER_DAY"
+	case BACnetEngineeringUnits_POUNDS_MASS_PER_DAY:
+		return "POUNDS_MASS_PER_DAY"
+	case BACnetEngineeringUnits_MILLIREMS:
+		return "MILLIREMS"
+	case BACnetEngineeringUnits_MILLIREMS_PER_HOUR:
+		return "MILLIREMS_PER_HOUR"
+	case BACnetEngineeringUnits_KILOWATTS:
+		return "KILOWATTS"
+	case BACnetEngineeringUnits_MEGAWATTS:
+		return "MEGAWATTS"
+	case BACnetEngineeringUnits_VOLTS:
+		return "VOLTS"
+	case BACnetEngineeringUnits_BTUS_PER_HOUR:
+		return "BTUS_PER_HOUR"
+	case BACnetEngineeringUnits_HORSEPOWER:
+		return "HORSEPOWER"
+	case BACnetEngineeringUnits_TONS_REFRIGERATION:
+		return "TONS_REFRIGERATION"
+	case BACnetEngineeringUnits_PASCALS:
+		return "PASCALS"
+	case BACnetEngineeringUnits_KILOPASCALS:
+		return "KILOPASCALS"
+	case BACnetEngineeringUnits_BARS:
+		return "BARS"
+	case BACnetEngineeringUnits_POUNDS_FORCE_PER_SQUARE_INCH:
+		return "POUNDS_FORCE_PER_SQUARE_INCH"
+	case BACnetEngineeringUnits_CENTIMETERS_OF_WATER:
+		return "CENTIMETERS_OF_WATER"
+	case BACnetEngineeringUnits_INCHES_OF_WATER:
+		return "INCHES_OF_WATER"
+	case BACnetEngineeringUnits_MILLIMETERS_OF_MERCURY:
+		return "MILLIMETERS_OF_MERCURY"
+	case BACnetEngineeringUnits_KILOVOLTS:
+		return "KILOVOLTS"
+	case BACnetEngineeringUnits_CENTIMETERS_OF_MERCURY:
+		return "CENTIMETERS_OF_MERCURY"
+	case BACnetEngineeringUnits_INCHES_OF_MERCURY:
+		return "INCHES_OF_MERCURY"
+	case BACnetEngineeringUnits_DEGREES_CELSIUS:
+		return "DEGREES_CELSIUS"
+	case BACnetEngineeringUnits_DEGREES_KELVIN:
+		return "DEGREES_KELVIN"
+	case BACnetEngineeringUnits_DEGREES_FAHRENHEIT:
+		return "DEGREES_FAHRENHEIT"
+	case BACnetEngineeringUnits_DEGREE_DAYS_CELSIUS:
+		return "DEGREE_DAYS_CELSIUS"
+	case BACnetEngineeringUnits_DEGREE_DAYS_FAHRENHEIT:
+		return "DEGREE_DAYS_FAHRENHEIT"
+	case BACnetEngineeringUnits_YEARS:
+		return "YEARS"
+	case BACnetEngineeringUnits_MONTHS:
+		return "MONTHS"
+	case BACnetEngineeringUnits_WEEKS:
+		return "WEEKS"
+	case BACnetEngineeringUnits_MEGAVOLTS:
+		return "MEGAVOLTS"
+	case BACnetEngineeringUnits_DAYS:
+		return "DAYS"
+	case BACnetEngineeringUnits_HOURS:
+		return "HOURS"
+	case BACnetEngineeringUnits_MINUTES:
+		return "MINUTES"
+	case BACnetEngineeringUnits_SECONDS:
+		return "SECONDS"
+	case BACnetEngineeringUnits_METERS_PER_SECOND:
+		return "METERS_PER_SECOND"
+	case BACnetEngineeringUnits_KILOMETERS_PER_HOUR:
+		return "KILOMETERS_PER_HOUR"
+	case BACnetEngineeringUnits_FEET_PER_SECOND:
+		return "FEET_PER_SECOND"
+	case BACnetEngineeringUnits_FEET_PER_MINUTE:
+		return "FEET_PER_MINUTE"
+	case BACnetEngineeringUnits_MILES_PER_HOUR:
+		return "MILES_PER_HOUR"
+	case BACnetEngineeringUnits_CUBIC_FEET:
+		return "CUBIC_FEET"
+	case BACnetEngineeringUnits_VOLT_AMPERES:
+		return "VOLT_AMPERES"
+	case BACnetEngineeringUnits_CUBIC_METERS:
+		return "CUBIC_METERS"
+	case BACnetEngineeringUnits_IMPERIAL_GALLONS:
+		return "IMPERIAL_GALLONS"
+	case BACnetEngineeringUnits_LITERS:
+		return "LITERS"
+	case BACnetEngineeringUnits_US_GALLONS:
+		return "US_GALLONS"
+	case BACnetEngineeringUnits_CUBIC_FEET_PER_MINUTE:
+		return "CUBIC_FEET_PER_MINUTE"
+	case BACnetEngineeringUnits_CUBIC_METERS_PER_SECOND:
+		return "CUBIC_METERS_PER_SECOND"
+	case BACnetEngineeringUnits_IMPERIAL_GALLONS_PER_MINUTE:
+		return "IMPERIAL_GALLONS_PER_MINUTE"
+	case BACnetEngineeringUnits_LITERS_PER_SECOND:
+		return "LITERS_PER_SECOND"
+	case BACnetEngineeringUnits_LITERS_PER_MINUTE:
+		return "LITERS_PER_MINUTE"
+	case BACnetEngineeringUnits_US_GALLONS_PER_MINUTE:
+		return "US_GALLONS_PER_MINUTE"
+	case BACnetEngineeringUnits_KILOVOLT_AMPERES:
+		return "KILOVOLT_AMPERES"
+	case BACnetEngineeringUnits_DEGREES_ANGULAR:
+		return "DEGREES_ANGULAR"
+	case BACnetEngineeringUnits_DEGREES_CELSIUS_PER_HOUR:
+		return "DEGREES_CELSIUS_PER_HOUR"
+	case BACnetEngineeringUnits_DEGREES_CELSIUS_PER_MINUTE:
+		return "DEGREES_CELSIUS_PER_MINUTE"
+	case BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_HOUR:
+		return "DEGREES_FAHRENHEIT_PER_HOUR"
+	case BACnetEngineeringUnits_DEGREES_FAHRENHEIT_PER_MINUTE:
+		return "DEGREES_FAHRENHEIT_PER_MINUTE"
+	case BACnetEngineeringUnits_NO_UNITS:
+		return "NO_UNITS"
+	case BACnetEngineeringUnits_PARTS_PER_MILLION:
+		return "PARTS_PER_MILLION"
+	case BACnetEngineeringUnits_PARTS_PER_BILLION:
+		return "PARTS_PER_BILLION"
+	case BACnetEngineeringUnits_PERCENT:
+		return "PERCENT"
+	case BACnetEngineeringUnits_PERCENT_PER_SECOND:
+		return "PERCENT_PER_SECOND"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorFault.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorFault.go
index 604ffbfd0a..65e4584bf6 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorFault.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorFault.go
@@ -34,7 +34,16 @@ type IBACnetEscalatorFault interface {
 }
 
 const (
-	BACnetEscalatorFault_VENDOR_PROPRIETARY_VALUE BACnetEscalatorFault = 0xFFFF
+	BACnetEscalatorFault_CONTROLLER_FAULT           BACnetEscalatorFault = 0
+	BACnetEscalatorFault_DRIVE_AND_MOTOR_FAULT      BACnetEscalatorFault = 1
+	BACnetEscalatorFault_MECHANICAL_COMPONENT_FAULT BACnetEscalatorFault = 2
+	BACnetEscalatorFault_OVERSPEED_FAULT            BACnetEscalatorFault = 3
+	BACnetEscalatorFault_POWER_SUPPLY_FAULT         BACnetEscalatorFault = 4
+	BACnetEscalatorFault_SAFETY_DEVICE_FAULT        BACnetEscalatorFault = 5
+	BACnetEscalatorFault_CONTROLLER_SUPPLY_FAULT    BACnetEscalatorFault = 6
+	BACnetEscalatorFault_DRIVE_TEMPERATURE_EXCEEDED BACnetEscalatorFault = 7
+	BACnetEscalatorFault_COMB_PLATE_FAULT           BACnetEscalatorFault = 8
+	BACnetEscalatorFault_VENDOR_PROPRIETARY_VALUE   BACnetEscalatorFault = 0xFFFF
 )
 
 var BACnetEscalatorFaultValues []BACnetEscalatorFault
@@ -42,22 +51,67 @@ var BACnetEscalatorFaultValues []BACnetEscalatorFault
 func init() {
 	_ = errors.New
 	BACnetEscalatorFaultValues = []BACnetEscalatorFault{
+		BACnetEscalatorFault_CONTROLLER_FAULT,
+		BACnetEscalatorFault_DRIVE_AND_MOTOR_FAULT,
+		BACnetEscalatorFault_MECHANICAL_COMPONENT_FAULT,
+		BACnetEscalatorFault_OVERSPEED_FAULT,
+		BACnetEscalatorFault_POWER_SUPPLY_FAULT,
+		BACnetEscalatorFault_SAFETY_DEVICE_FAULT,
+		BACnetEscalatorFault_CONTROLLER_SUPPLY_FAULT,
+		BACnetEscalatorFault_DRIVE_TEMPERATURE_EXCEEDED,
+		BACnetEscalatorFault_COMB_PLATE_FAULT,
 		BACnetEscalatorFault_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetEscalatorFaultByValue(value uint16) BACnetEscalatorFault {
 	switch value {
+	case 0:
+		return BACnetEscalatorFault_CONTROLLER_FAULT
 	case 0xFFFF:
 		return BACnetEscalatorFault_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetEscalatorFault_DRIVE_AND_MOTOR_FAULT
+	case 2:
+		return BACnetEscalatorFault_MECHANICAL_COMPONENT_FAULT
+	case 3:
+		return BACnetEscalatorFault_OVERSPEED_FAULT
+	case 4:
+		return BACnetEscalatorFault_POWER_SUPPLY_FAULT
+	case 5:
+		return BACnetEscalatorFault_SAFETY_DEVICE_FAULT
+	case 6:
+		return BACnetEscalatorFault_CONTROLLER_SUPPLY_FAULT
+	case 7:
+		return BACnetEscalatorFault_DRIVE_TEMPERATURE_EXCEEDED
+	case 8:
+		return BACnetEscalatorFault_COMB_PLATE_FAULT
 	}
 	return 0
 }
 
 func BACnetEscalatorFaultByName(value string) BACnetEscalatorFault {
 	switch value {
+	case "CONTROLLER_FAULT":
+		return BACnetEscalatorFault_CONTROLLER_FAULT
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetEscalatorFault_VENDOR_PROPRIETARY_VALUE
+	case "DRIVE_AND_MOTOR_FAULT":
+		return BACnetEscalatorFault_DRIVE_AND_MOTOR_FAULT
+	case "MECHANICAL_COMPONENT_FAULT":
+		return BACnetEscalatorFault_MECHANICAL_COMPONENT_FAULT
+	case "OVERSPEED_FAULT":
+		return BACnetEscalatorFault_OVERSPEED_FAULT
+	case "POWER_SUPPLY_FAULT":
+		return BACnetEscalatorFault_POWER_SUPPLY_FAULT
+	case "SAFETY_DEVICE_FAULT":
+		return BACnetEscalatorFault_SAFETY_DEVICE_FAULT
+	case "CONTROLLER_SUPPLY_FAULT":
+		return BACnetEscalatorFault_CONTROLLER_SUPPLY_FAULT
+	case "DRIVE_TEMPERATURE_EXCEEDED":
+		return BACnetEscalatorFault_DRIVE_TEMPERATURE_EXCEEDED
+	case "COMB_PLATE_FAULT":
+		return BACnetEscalatorFault_COMB_PLATE_FAULT
 	}
 	return 0
 }
@@ -103,8 +157,26 @@ func (e BACnetEscalatorFault) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetEscalatorFault) name() string {
 	switch e {
+	case BACnetEscalatorFault_CONTROLLER_FAULT:
+		return "CONTROLLER_FAULT"
 	case BACnetEscalatorFault_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetEscalatorFault_DRIVE_AND_MOTOR_FAULT:
+		return "DRIVE_AND_MOTOR_FAULT"
+	case BACnetEscalatorFault_MECHANICAL_COMPONENT_FAULT:
+		return "MECHANICAL_COMPONENT_FAULT"
+	case BACnetEscalatorFault_OVERSPEED_FAULT:
+		return "OVERSPEED_FAULT"
+	case BACnetEscalatorFault_POWER_SUPPLY_FAULT:
+		return "POWER_SUPPLY_FAULT"
+	case BACnetEscalatorFault_SAFETY_DEVICE_FAULT:
+		return "SAFETY_DEVICE_FAULT"
+	case BACnetEscalatorFault_CONTROLLER_SUPPLY_FAULT:
+		return "CONTROLLER_SUPPLY_FAULT"
+	case BACnetEscalatorFault_DRIVE_TEMPERATURE_EXCEEDED:
+		return "DRIVE_TEMPERATURE_EXCEEDED"
+	case BACnetEscalatorFault_COMB_PLATE_FAULT:
+		return "COMB_PLATE_FAULT"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorMode.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorMode.go
index 0d55e8f7cb..189ecd7d60 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorMode.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorMode.go
@@ -34,6 +34,12 @@ type IBACnetEscalatorMode interface {
 }
 
 const (
+	BACnetEscalatorMode_UNKNOWN                  BACnetEscalatorMode = 0
+	BACnetEscalatorMode_STOP                     BACnetEscalatorMode = 1
+	BACnetEscalatorMode_UP                       BACnetEscalatorMode = 2
+	BACnetEscalatorMode_DOWN                     BACnetEscalatorMode = 3
+	BACnetEscalatorMode_INSPECTION               BACnetEscalatorMode = 4
+	BACnetEscalatorMode_OUT_OF_SERVICE           BACnetEscalatorMode = 5
 	BACnetEscalatorMode_VENDOR_PROPRIETARY_VALUE BACnetEscalatorMode = 0xFFFF
 )
 
@@ -42,22 +48,52 @@ var BACnetEscalatorModeValues []BACnetEscalatorMode
 func init() {
 	_ = errors.New
 	BACnetEscalatorModeValues = []BACnetEscalatorMode{
+		BACnetEscalatorMode_UNKNOWN,
+		BACnetEscalatorMode_STOP,
+		BACnetEscalatorMode_UP,
+		BACnetEscalatorMode_DOWN,
+		BACnetEscalatorMode_INSPECTION,
+		BACnetEscalatorMode_OUT_OF_SERVICE,
 		BACnetEscalatorMode_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetEscalatorModeByValue(value uint16) BACnetEscalatorMode {
 	switch value {
+	case 0:
+		return BACnetEscalatorMode_UNKNOWN
 	case 0xFFFF:
 		return BACnetEscalatorMode_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetEscalatorMode_STOP
+	case 2:
+		return BACnetEscalatorMode_UP
+	case 3:
+		return BACnetEscalatorMode_DOWN
+	case 4:
+		return BACnetEscalatorMode_INSPECTION
+	case 5:
+		return BACnetEscalatorMode_OUT_OF_SERVICE
 	}
 	return 0
 }
 
 func BACnetEscalatorModeByName(value string) BACnetEscalatorMode {
 	switch value {
+	case "UNKNOWN":
+		return BACnetEscalatorMode_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetEscalatorMode_VENDOR_PROPRIETARY_VALUE
+	case "STOP":
+		return BACnetEscalatorMode_STOP
+	case "UP":
+		return BACnetEscalatorMode_UP
+	case "DOWN":
+		return BACnetEscalatorMode_DOWN
+	case "INSPECTION":
+		return BACnetEscalatorMode_INSPECTION
+	case "OUT_OF_SERVICE":
+		return BACnetEscalatorMode_OUT_OF_SERVICE
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetEscalatorMode) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetEscalatorMode) name() string {
 	switch e {
+	case BACnetEscalatorMode_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetEscalatorMode_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetEscalatorMode_STOP:
+		return "STOP"
+	case BACnetEscalatorMode_UP:
+		return "UP"
+	case BACnetEscalatorMode_DOWN:
+		return "DOWN"
+	case BACnetEscalatorMode_INSPECTION:
+		return "INSPECTION"
+	case BACnetEscalatorMode_OUT_OF_SERVICE:
+		return "OUT_OF_SERVICE"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorOperationDirection.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorOperationDirection.go
index 665535da7e..969e2ab51d 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorOperationDirection.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetEscalatorOperationDirection.go
@@ -34,6 +34,12 @@ type IBACnetEscalatorOperationDirection interface {
 }
 
 const (
+	BACnetEscalatorOperationDirection_UNKNOWN                  BACnetEscalatorOperationDirection = 0
+	BACnetEscalatorOperationDirection_STOPPED                  BACnetEscalatorOperationDirection = 1
+	BACnetEscalatorOperationDirection_UP_RATED_SPEED           BACnetEscalatorOperationDirection = 2
+	BACnetEscalatorOperationDirection_UP_REDUCED_SPEED         BACnetEscalatorOperationDirection = 3
+	BACnetEscalatorOperationDirection_DOWN_RATED_SPEED         BACnetEscalatorOperationDirection = 4
+	BACnetEscalatorOperationDirection_DOWN_REDUCED_SPEED       BACnetEscalatorOperationDirection = 5
 	BACnetEscalatorOperationDirection_VENDOR_PROPRIETARY_VALUE BACnetEscalatorOperationDirection = 0xFFFF
 )
 
@@ -42,22 +48,52 @@ var BACnetEscalatorOperationDirectionValues []BACnetEscalatorOperationDirection
 func init() {
 	_ = errors.New
 	BACnetEscalatorOperationDirectionValues = []BACnetEscalatorOperationDirection{
+		BACnetEscalatorOperationDirection_UNKNOWN,
+		BACnetEscalatorOperationDirection_STOPPED,
+		BACnetEscalatorOperationDirection_UP_RATED_SPEED,
+		BACnetEscalatorOperationDirection_UP_REDUCED_SPEED,
+		BACnetEscalatorOperationDirection_DOWN_RATED_SPEED,
+		BACnetEscalatorOperationDirection_DOWN_REDUCED_SPEED,
 		BACnetEscalatorOperationDirection_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetEscalatorOperationDirectionByValue(value uint16) BACnetEscalatorOperationDirection {
 	switch value {
+	case 0:
+		return BACnetEscalatorOperationDirection_UNKNOWN
 	case 0xFFFF:
 		return BACnetEscalatorOperationDirection_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetEscalatorOperationDirection_STOPPED
+	case 2:
+		return BACnetEscalatorOperationDirection_UP_RATED_SPEED
+	case 3:
+		return BACnetEscalatorOperationDirection_UP_REDUCED_SPEED
+	case 4:
+		return BACnetEscalatorOperationDirection_DOWN_RATED_SPEED
+	case 5:
+		return BACnetEscalatorOperationDirection_DOWN_REDUCED_SPEED
 	}
 	return 0
 }
 
 func BACnetEscalatorOperationDirectionByName(value string) BACnetEscalatorOperationDirection {
 	switch value {
+	case "UNKNOWN":
+		return BACnetEscalatorOperationDirection_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetEscalatorOperationDirection_VENDOR_PROPRIETARY_VALUE
+	case "STOPPED":
+		return BACnetEscalatorOperationDirection_STOPPED
+	case "UP_RATED_SPEED":
+		return BACnetEscalatorOperationDirection_UP_RATED_SPEED
+	case "UP_REDUCED_SPEED":
+		return BACnetEscalatorOperationDirection_UP_REDUCED_SPEED
+	case "DOWN_RATED_SPEED":
+		return BACnetEscalatorOperationDirection_DOWN_RATED_SPEED
+	case "DOWN_REDUCED_SPEED":
+		return BACnetEscalatorOperationDirection_DOWN_REDUCED_SPEED
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetEscalatorOperationDirection) Serialize(writeBuffer utils.WriteBuff
 
 func (e BACnetEscalatorOperationDirection) name() string {
 	switch e {
+	case BACnetEscalatorOperationDirection_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetEscalatorOperationDirection_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetEscalatorOperationDirection_STOPPED:
+		return "STOPPED"
+	case BACnetEscalatorOperationDirection_UP_RATED_SPEED:
+		return "UP_RATED_SPEED"
+	case BACnetEscalatorOperationDirection_UP_REDUCED_SPEED:
+		return "UP_REDUCED_SPEED"
+	case BACnetEscalatorOperationDirection_DOWN_RATED_SPEED:
+		return "DOWN_RATED_SPEED"
+	case BACnetEscalatorOperationDirection_DOWN_REDUCED_SPEED:
+		return "DOWN_REDUCED_SPEED"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetFaultType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetFaultType.go
new file mode 100644
index 0000000000..74708b0eaa
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetFaultType.go
@@ -0,0 +1,170 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetFaultType is an enum
+type BACnetFaultType uint8
+
+type IBACnetFaultType interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetFaultType_NONE                  BACnetFaultType = 0
+	BACnetFaultType_FAULT_CHARACTERSTRING BACnetFaultType = 1
+	BACnetFaultType_FAULT_EXTENDED        BACnetFaultType = 2
+	BACnetFaultType_FAULT_LIFE_SAFETY     BACnetFaultType = 3
+	BACnetFaultType_FAULT_STATE           BACnetFaultType = 4
+	BACnetFaultType_FAULT_STATUS_FLAGS    BACnetFaultType = 5
+	BACnetFaultType_FAULT_OUT_OF_RANGE    BACnetFaultType = 6
+	BACnetFaultType_FAULT_LISTED          BACnetFaultType = 7
+)
+
+var BACnetFaultTypeValues []BACnetFaultType
+
+func init() {
+	_ = errors.New
+	BACnetFaultTypeValues = []BACnetFaultType{
+		BACnetFaultType_NONE,
+		BACnetFaultType_FAULT_CHARACTERSTRING,
+		BACnetFaultType_FAULT_EXTENDED,
+		BACnetFaultType_FAULT_LIFE_SAFETY,
+		BACnetFaultType_FAULT_STATE,
+		BACnetFaultType_FAULT_STATUS_FLAGS,
+		BACnetFaultType_FAULT_OUT_OF_RANGE,
+		BACnetFaultType_FAULT_LISTED,
+	}
+}
+
+func BACnetFaultTypeByValue(value uint8) BACnetFaultType {
+	switch value {
+	case 0:
+		return BACnetFaultType_NONE
+	case 1:
+		return BACnetFaultType_FAULT_CHARACTERSTRING
+	case 2:
+		return BACnetFaultType_FAULT_EXTENDED
+	case 3:
+		return BACnetFaultType_FAULT_LIFE_SAFETY
+	case 4:
+		return BACnetFaultType_FAULT_STATE
+	case 5:
+		return BACnetFaultType_FAULT_STATUS_FLAGS
+	case 6:
+		return BACnetFaultType_FAULT_OUT_OF_RANGE
+	case 7:
+		return BACnetFaultType_FAULT_LISTED
+	}
+	return 0
+}
+
+func BACnetFaultTypeByName(value string) BACnetFaultType {
+	switch value {
+	case "NONE":
+		return BACnetFaultType_NONE
+	case "FAULT_CHARACTERSTRING":
+		return BACnetFaultType_FAULT_CHARACTERSTRING
+	case "FAULT_EXTENDED":
+		return BACnetFaultType_FAULT_EXTENDED
+	case "FAULT_LIFE_SAFETY":
+		return BACnetFaultType_FAULT_LIFE_SAFETY
+	case "FAULT_STATE":
+		return BACnetFaultType_FAULT_STATE
+	case "FAULT_STATUS_FLAGS":
+		return BACnetFaultType_FAULT_STATUS_FLAGS
+	case "FAULT_OUT_OF_RANGE":
+		return BACnetFaultType_FAULT_OUT_OF_RANGE
+	case "FAULT_LISTED":
+		return BACnetFaultType_FAULT_LISTED
+	}
+	return 0
+}
+
+func BACnetFaultTypeKnows(value uint8) bool {
+	for _, typeValue := range BACnetFaultTypeValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetFaultType(structType interface{}) BACnetFaultType {
+	castFunc := func(typ interface{}) BACnetFaultType {
+		if sBACnetFaultType, ok := typ.(BACnetFaultType); ok {
+			return sBACnetFaultType
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetFaultType) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetFaultType) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetFaultTypeParse(readBuffer utils.ReadBuffer) (BACnetFaultType, error) {
+	val, err := readBuffer.ReadUint8("BACnetFaultType", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetFaultTypeByValue(val), nil
+}
+
+func (e BACnetFaultType) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetFaultType", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetFaultType) name() string {
+	switch e {
+	case BACnetFaultType_NONE:
+		return "NONE"
+	case BACnetFaultType_FAULT_CHARACTERSTRING:
+		return "FAULT_CHARACTERSTRING"
+	case BACnetFaultType_FAULT_EXTENDED:
+		return "FAULT_EXTENDED"
+	case BACnetFaultType_FAULT_LIFE_SAFETY:
+		return "FAULT_LIFE_SAFETY"
+	case BACnetFaultType_FAULT_STATE:
+		return "FAULT_STATE"
+	case BACnetFaultType_FAULT_STATUS_FLAGS:
+		return "FAULT_STATUS_FLAGS"
+	case BACnetFaultType_FAULT_OUT_OF_RANGE:
+		return "FAULT_OUT_OF_RANGE"
+	case BACnetFaultType_FAULT_LISTED:
+		return "FAULT_LISTED"
+	}
+	return ""
+}
+
+func (e BACnetFaultType) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetFileAccessMethod.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetFileAccessMethod.go
new file mode 100644
index 0000000000..3d41ca1213
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetFileAccessMethod.go
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetFileAccessMethod is an enum
+type BACnetFileAccessMethod uint8
+
+type IBACnetFileAccessMethod interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetFileAccessMethod_RECORD_ACCESS BACnetFileAccessMethod = 0
+	BACnetFileAccessMethod_STREAM_ACCESS BACnetFileAccessMethod = 1
+)
+
+var BACnetFileAccessMethodValues []BACnetFileAccessMethod
+
+func init() {
+	_ = errors.New
+	BACnetFileAccessMethodValues = []BACnetFileAccessMethod{
+		BACnetFileAccessMethod_RECORD_ACCESS,
+		BACnetFileAccessMethod_STREAM_ACCESS,
+	}
+}
+
+func BACnetFileAccessMethodByValue(value uint8) BACnetFileAccessMethod {
+	switch value {
+	case 0:
+		return BACnetFileAccessMethod_RECORD_ACCESS
+	case 1:
+		return BACnetFileAccessMethod_STREAM_ACCESS
+	}
+	return 0
+}
+
+func BACnetFileAccessMethodByName(value string) BACnetFileAccessMethod {
+	switch value {
+	case "RECORD_ACCESS":
+		return BACnetFileAccessMethod_RECORD_ACCESS
+	case "STREAM_ACCESS":
+		return BACnetFileAccessMethod_STREAM_ACCESS
+	}
+	return 0
+}
+
+func BACnetFileAccessMethodKnows(value uint8) bool {
+	for _, typeValue := range BACnetFileAccessMethodValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetFileAccessMethod(structType interface{}) BACnetFileAccessMethod {
+	castFunc := func(typ interface{}) BACnetFileAccessMethod {
+		if sBACnetFileAccessMethod, ok := typ.(BACnetFileAccessMethod); ok {
+			return sBACnetFileAccessMethod
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetFileAccessMethod) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetFileAccessMethod) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetFileAccessMethodParse(readBuffer utils.ReadBuffer) (BACnetFileAccessMethod, error) {
+	val, err := readBuffer.ReadUint8("BACnetFileAccessMethod", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetFileAccessMethodByValue(val), nil
+}
+
+func (e BACnetFileAccessMethod) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetFileAccessMethod", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetFileAccessMethod) name() string {
+	switch e {
+	case BACnetFileAccessMethod_RECORD_ACCESS:
+		return "RECORD_ACCESS"
+	case BACnetFileAccessMethod_STREAM_ACCESS:
+		return "STREAM_ACCESS"
+	}
+	return ""
+}
+
+func (e BACnetFileAccessMethod) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetIPMode.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetIPMode.go
new file mode 100644
index 0000000000..b29ee7d487
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetIPMode.go
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetIPMode is an enum
+type BACnetIPMode uint8
+
+type IBACnetIPMode interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetIPMode_NORMAL  BACnetIPMode = 0
+	BACnetIPMode_FOREIGN BACnetIPMode = 1
+	BACnetIPMode_BBMD    BACnetIPMode = 2
+)
+
+var BACnetIPModeValues []BACnetIPMode
+
+func init() {
+	_ = errors.New
+	BACnetIPModeValues = []BACnetIPMode{
+		BACnetIPMode_NORMAL,
+		BACnetIPMode_FOREIGN,
+		BACnetIPMode_BBMD,
+	}
+}
+
+func BACnetIPModeByValue(value uint8) BACnetIPMode {
+	switch value {
+	case 0:
+		return BACnetIPMode_NORMAL
+	case 1:
+		return BACnetIPMode_FOREIGN
+	case 2:
+		return BACnetIPMode_BBMD
+	}
+	return 0
+}
+
+func BACnetIPModeByName(value string) BACnetIPMode {
+	switch value {
+	case "NORMAL":
+		return BACnetIPMode_NORMAL
+	case "FOREIGN":
+		return BACnetIPMode_FOREIGN
+	case "BBMD":
+		return BACnetIPMode_BBMD
+	}
+	return 0
+}
+
+func BACnetIPModeKnows(value uint8) bool {
+	for _, typeValue := range BACnetIPModeValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetIPMode(structType interface{}) BACnetIPMode {
+	castFunc := func(typ interface{}) BACnetIPMode {
+		if sBACnetIPMode, ok := typ.(BACnetIPMode); ok {
+			return sBACnetIPMode
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetIPMode) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetIPMode) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetIPModeParse(readBuffer utils.ReadBuffer) (BACnetIPMode, error) {
+	val, err := readBuffer.ReadUint8("BACnetIPMode", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetIPModeByValue(val), nil
+}
+
+func (e BACnetIPMode) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetIPMode", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetIPMode) name() string {
+	switch e {
+	case BACnetIPMode_NORMAL:
+		return "NORMAL"
+	case BACnetIPMode_FOREIGN:
+		return "FOREIGN"
+	case BACnetIPMode_BBMD:
+		return "BBMD"
+	}
+	return ""
+}
+
+func (e BACnetIPMode) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLifeSafetyOperation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLifeSafetyOperation.go
index 5deba3e982..73561d119c 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLifeSafetyOperation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLifeSafetyOperation.go
@@ -34,6 +34,16 @@ type IBACnetLifeSafetyOperation interface {
 }
 
 const (
+	BACnetLifeSafetyOperation_NONE                     BACnetLifeSafetyOperation = 0
+	BACnetLifeSafetyOperation_SILENCE                  BACnetLifeSafetyOperation = 1
+	BACnetLifeSafetyOperation_SILENCE_AUDIBLE          BACnetLifeSafetyOperation = 2
+	BACnetLifeSafetyOperation_SILENCE_VISUAL           BACnetLifeSafetyOperation = 3
+	BACnetLifeSafetyOperation_RESET                    BACnetLifeSafetyOperation = 4
+	BACnetLifeSafetyOperation_RESET_ALARM              BACnetLifeSafetyOperation = 5
+	BACnetLifeSafetyOperation_RESET_FAULT              BACnetLifeSafetyOperation = 6
+	BACnetLifeSafetyOperation_UNSILENCE                BACnetLifeSafetyOperation = 7
+	BACnetLifeSafetyOperation_UNSILENCE_AUDIBLE        BACnetLifeSafetyOperation = 8
+	BACnetLifeSafetyOperation_UNSILENCE_VISUAL         BACnetLifeSafetyOperation = 9
 	BACnetLifeSafetyOperation_VENDOR_PROPRIETARY_VALUE BACnetLifeSafetyOperation = 0xFFFF
 )
 
@@ -42,22 +52,72 @@ var BACnetLifeSafetyOperationValues []BACnetLifeSafetyOperation
 func init() {
 	_ = errors.New
 	BACnetLifeSafetyOperationValues = []BACnetLifeSafetyOperation{
+		BACnetLifeSafetyOperation_NONE,
+		BACnetLifeSafetyOperation_SILENCE,
+		BACnetLifeSafetyOperation_SILENCE_AUDIBLE,
+		BACnetLifeSafetyOperation_SILENCE_VISUAL,
+		BACnetLifeSafetyOperation_RESET,
+		BACnetLifeSafetyOperation_RESET_ALARM,
+		BACnetLifeSafetyOperation_RESET_FAULT,
+		BACnetLifeSafetyOperation_UNSILENCE,
+		BACnetLifeSafetyOperation_UNSILENCE_AUDIBLE,
+		BACnetLifeSafetyOperation_UNSILENCE_VISUAL,
 		BACnetLifeSafetyOperation_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLifeSafetyOperationByValue(value uint16) BACnetLifeSafetyOperation {
 	switch value {
+	case 0:
+		return BACnetLifeSafetyOperation_NONE
 	case 0xFFFF:
 		return BACnetLifeSafetyOperation_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLifeSafetyOperation_SILENCE
+	case 2:
+		return BACnetLifeSafetyOperation_SILENCE_AUDIBLE
+	case 3:
+		return BACnetLifeSafetyOperation_SILENCE_VISUAL
+	case 4:
+		return BACnetLifeSafetyOperation_RESET
+	case 5:
+		return BACnetLifeSafetyOperation_RESET_ALARM
+	case 6:
+		return BACnetLifeSafetyOperation_RESET_FAULT
+	case 7:
+		return BACnetLifeSafetyOperation_UNSILENCE
+	case 8:
+		return BACnetLifeSafetyOperation_UNSILENCE_AUDIBLE
+	case 9:
+		return BACnetLifeSafetyOperation_UNSILENCE_VISUAL
 	}
 	return 0
 }
 
 func BACnetLifeSafetyOperationByName(value string) BACnetLifeSafetyOperation {
 	switch value {
+	case "NONE":
+		return BACnetLifeSafetyOperation_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLifeSafetyOperation_VENDOR_PROPRIETARY_VALUE
+	case "SILENCE":
+		return BACnetLifeSafetyOperation_SILENCE
+	case "SILENCE_AUDIBLE":
+		return BACnetLifeSafetyOperation_SILENCE_AUDIBLE
+	case "SILENCE_VISUAL":
+		return BACnetLifeSafetyOperation_SILENCE_VISUAL
+	case "RESET":
+		return BACnetLifeSafetyOperation_RESET
+	case "RESET_ALARM":
+		return BACnetLifeSafetyOperation_RESET_ALARM
+	case "RESET_FAULT":
+		return BACnetLifeSafetyOperation_RESET_FAULT
+	case "UNSILENCE":
+		return BACnetLifeSafetyOperation_UNSILENCE
+	case "UNSILENCE_AUDIBLE":
+		return BACnetLifeSafetyOperation_UNSILENCE_AUDIBLE
+	case "UNSILENCE_VISUAL":
+		return BACnetLifeSafetyOperation_UNSILENCE_VISUAL
 	}
 	return 0
 }
@@ -103,8 +163,28 @@ func (e BACnetLifeSafetyOperation) Serialize(writeBuffer utils.WriteBuffer) erro
 
 func (e BACnetLifeSafetyOperation) name() string {
 	switch e {
+	case BACnetLifeSafetyOperation_NONE:
+		return "NONE"
 	case BACnetLifeSafetyOperation_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLifeSafetyOperation_SILENCE:
+		return "SILENCE"
+	case BACnetLifeSafetyOperation_SILENCE_AUDIBLE:
+		return "SILENCE_AUDIBLE"
+	case BACnetLifeSafetyOperation_SILENCE_VISUAL:
+		return "SILENCE_VISUAL"
+	case BACnetLifeSafetyOperation_RESET:
+		return "RESET"
+	case BACnetLifeSafetyOperation_RESET_ALARM:
+		return "RESET_ALARM"
+	case BACnetLifeSafetyOperation_RESET_FAULT:
+		return "RESET_FAULT"
+	case BACnetLifeSafetyOperation_UNSILENCE:
+		return "UNSILENCE"
+	case BACnetLifeSafetyOperation_UNSILENCE_AUDIBLE:
+		return "UNSILENCE_AUDIBLE"
+	case BACnetLifeSafetyOperation_UNSILENCE_VISUAL:
+		return "UNSILENCE_VISUAL"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDirection.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDirection.go
index 9a3034abb2..093a2eaa52 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDirection.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDirection.go
@@ -34,6 +34,12 @@ type IBACnetLiftCarDirection interface {
 }
 
 const (
+	BACnetLiftCarDirection_UNKNOWN                  BACnetLiftCarDirection = 0
+	BACnetLiftCarDirection_NONE                     BACnetLiftCarDirection = 1
+	BACnetLiftCarDirection_STOPPED                  BACnetLiftCarDirection = 2
+	BACnetLiftCarDirection_UP                       BACnetLiftCarDirection = 3
+	BACnetLiftCarDirection_DOWN                     BACnetLiftCarDirection = 4
+	BACnetLiftCarDirection_UP_AND_DOWN              BACnetLiftCarDirection = 5
 	BACnetLiftCarDirection_VENDOR_PROPRIETARY_VALUE BACnetLiftCarDirection = 0xFFFF
 )
 
@@ -42,22 +48,52 @@ var BACnetLiftCarDirectionValues []BACnetLiftCarDirection
 func init() {
 	_ = errors.New
 	BACnetLiftCarDirectionValues = []BACnetLiftCarDirection{
+		BACnetLiftCarDirection_UNKNOWN,
+		BACnetLiftCarDirection_NONE,
+		BACnetLiftCarDirection_STOPPED,
+		BACnetLiftCarDirection_UP,
+		BACnetLiftCarDirection_DOWN,
+		BACnetLiftCarDirection_UP_AND_DOWN,
 		BACnetLiftCarDirection_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLiftCarDirectionByValue(value uint16) BACnetLiftCarDirection {
 	switch value {
+	case 0:
+		return BACnetLiftCarDirection_UNKNOWN
 	case 0xFFFF:
 		return BACnetLiftCarDirection_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLiftCarDirection_NONE
+	case 2:
+		return BACnetLiftCarDirection_STOPPED
+	case 3:
+		return BACnetLiftCarDirection_UP
+	case 4:
+		return BACnetLiftCarDirection_DOWN
+	case 5:
+		return BACnetLiftCarDirection_UP_AND_DOWN
 	}
 	return 0
 }
 
 func BACnetLiftCarDirectionByName(value string) BACnetLiftCarDirection {
 	switch value {
+	case "UNKNOWN":
+		return BACnetLiftCarDirection_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLiftCarDirection_VENDOR_PROPRIETARY_VALUE
+	case "NONE":
+		return BACnetLiftCarDirection_NONE
+	case "STOPPED":
+		return BACnetLiftCarDirection_STOPPED
+	case "UP":
+		return BACnetLiftCarDirection_UP
+	case "DOWN":
+		return BACnetLiftCarDirection_DOWN
+	case "UP_AND_DOWN":
+		return BACnetLiftCarDirection_UP_AND_DOWN
 	}
 	return 0
 }
@@ -103,8 +139,20 @@ func (e BACnetLiftCarDirection) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetLiftCarDirection) name() string {
 	switch e {
+	case BACnetLiftCarDirection_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetLiftCarDirection_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLiftCarDirection_NONE:
+		return "NONE"
+	case BACnetLiftCarDirection_STOPPED:
+		return "STOPPED"
+	case BACnetLiftCarDirection_UP:
+		return "UP"
+	case BACnetLiftCarDirection_DOWN:
+		return "DOWN"
+	case BACnetLiftCarDirection_UP_AND_DOWN:
+		return "UP_AND_DOWN"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDoorCommand.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDoorCommand.go
new file mode 100644
index 0000000000..8443ea1ba4
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDoorCommand.go
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetLiftCarDoorCommand is an enum
+type BACnetLiftCarDoorCommand uint8
+
+type IBACnetLiftCarDoorCommand interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetLiftCarDoorCommand_NONE  BACnetLiftCarDoorCommand = 0
+	BACnetLiftCarDoorCommand_OPEN  BACnetLiftCarDoorCommand = 1
+	BACnetLiftCarDoorCommand_CLOSE BACnetLiftCarDoorCommand = 2
+)
+
+var BACnetLiftCarDoorCommandValues []BACnetLiftCarDoorCommand
+
+func init() {
+	_ = errors.New
+	BACnetLiftCarDoorCommandValues = []BACnetLiftCarDoorCommand{
+		BACnetLiftCarDoorCommand_NONE,
+		BACnetLiftCarDoorCommand_OPEN,
+		BACnetLiftCarDoorCommand_CLOSE,
+	}
+}
+
+func BACnetLiftCarDoorCommandByValue(value uint8) BACnetLiftCarDoorCommand {
+	switch value {
+	case 0:
+		return BACnetLiftCarDoorCommand_NONE
+	case 1:
+		return BACnetLiftCarDoorCommand_OPEN
+	case 2:
+		return BACnetLiftCarDoorCommand_CLOSE
+	}
+	return 0
+}
+
+func BACnetLiftCarDoorCommandByName(value string) BACnetLiftCarDoorCommand {
+	switch value {
+	case "NONE":
+		return BACnetLiftCarDoorCommand_NONE
+	case "OPEN":
+		return BACnetLiftCarDoorCommand_OPEN
+	case "CLOSE":
+		return BACnetLiftCarDoorCommand_CLOSE
+	}
+	return 0
+}
+
+func BACnetLiftCarDoorCommandKnows(value uint8) bool {
+	for _, typeValue := range BACnetLiftCarDoorCommandValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetLiftCarDoorCommand(structType interface{}) BACnetLiftCarDoorCommand {
+	castFunc := func(typ interface{}) BACnetLiftCarDoorCommand {
+		if sBACnetLiftCarDoorCommand, ok := typ.(BACnetLiftCarDoorCommand); ok {
+			return sBACnetLiftCarDoorCommand
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetLiftCarDoorCommand) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetLiftCarDoorCommand) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetLiftCarDoorCommandParse(readBuffer utils.ReadBuffer) (BACnetLiftCarDoorCommand, error) {
+	val, err := readBuffer.ReadUint8("BACnetLiftCarDoorCommand", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetLiftCarDoorCommandByValue(val), nil
+}
+
+func (e BACnetLiftCarDoorCommand) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetLiftCarDoorCommand", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetLiftCarDoorCommand) name() string {
+	switch e {
+	case BACnetLiftCarDoorCommand_NONE:
+		return "NONE"
+	case BACnetLiftCarDoorCommand_OPEN:
+		return "OPEN"
+	case BACnetLiftCarDoorCommand_CLOSE:
+		return "CLOSE"
+	}
+	return ""
+}
+
+func (e BACnetLiftCarDoorCommand) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDriveStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDriveStatus.go
index 371324ce9a..6044fb74b1 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDriveStatus.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarDriveStatus.go
@@ -34,6 +34,16 @@ type IBACnetLiftCarDriveStatus interface {
 }
 
 const (
+	BACnetLiftCarDriveStatus_UNKNOWN                  BACnetLiftCarDriveStatus = 0
+	BACnetLiftCarDriveStatus_STATIONARY               BACnetLiftCarDriveStatus = 1
+	BACnetLiftCarDriveStatus_BRAKING                  BACnetLiftCarDriveStatus = 2
+	BACnetLiftCarDriveStatus_ACCELERATE               BACnetLiftCarDriveStatus = 3
+	BACnetLiftCarDriveStatus_DECELERATE               BACnetLiftCarDriveStatus = 4
+	BACnetLiftCarDriveStatus_RATED_SPEED              BACnetLiftCarDriveStatus = 5
+	BACnetLiftCarDriveStatus_SINGLE_FLOOR_JUMP        BACnetLiftCarDriveStatus = 6
+	BACnetLiftCarDriveStatus_TWO_FLOOR_JUMP           BACnetLiftCarDriveStatus = 7
+	BACnetLiftCarDriveStatus_THREE_FLOOR_JUMP         BACnetLiftCarDriveStatus = 8
+	BACnetLiftCarDriveStatus_MULTI_FLOOR_JUMP         BACnetLiftCarDriveStatus = 9
 	BACnetLiftCarDriveStatus_VENDOR_PROPRIETARY_VALUE BACnetLiftCarDriveStatus = 0xFFFF
 )
 
@@ -42,22 +52,72 @@ var BACnetLiftCarDriveStatusValues []BACnetLiftCarDriveStatus
 func init() {
 	_ = errors.New
 	BACnetLiftCarDriveStatusValues = []BACnetLiftCarDriveStatus{
+		BACnetLiftCarDriveStatus_UNKNOWN,
+		BACnetLiftCarDriveStatus_STATIONARY,
+		BACnetLiftCarDriveStatus_BRAKING,
+		BACnetLiftCarDriveStatus_ACCELERATE,
+		BACnetLiftCarDriveStatus_DECELERATE,
+		BACnetLiftCarDriveStatus_RATED_SPEED,
+		BACnetLiftCarDriveStatus_SINGLE_FLOOR_JUMP,
+		BACnetLiftCarDriveStatus_TWO_FLOOR_JUMP,
+		BACnetLiftCarDriveStatus_THREE_FLOOR_JUMP,
+		BACnetLiftCarDriveStatus_MULTI_FLOOR_JUMP,
 		BACnetLiftCarDriveStatus_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLiftCarDriveStatusByValue(value uint16) BACnetLiftCarDriveStatus {
 	switch value {
+	case 0:
+		return BACnetLiftCarDriveStatus_UNKNOWN
 	case 0xFFFF:
 		return BACnetLiftCarDriveStatus_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLiftCarDriveStatus_STATIONARY
+	case 2:
+		return BACnetLiftCarDriveStatus_BRAKING
+	case 3:
+		return BACnetLiftCarDriveStatus_ACCELERATE
+	case 4:
+		return BACnetLiftCarDriveStatus_DECELERATE
+	case 5:
+		return BACnetLiftCarDriveStatus_RATED_SPEED
+	case 6:
+		return BACnetLiftCarDriveStatus_SINGLE_FLOOR_JUMP
+	case 7:
+		return BACnetLiftCarDriveStatus_TWO_FLOOR_JUMP
+	case 8:
+		return BACnetLiftCarDriveStatus_THREE_FLOOR_JUMP
+	case 9:
+		return BACnetLiftCarDriveStatus_MULTI_FLOOR_JUMP
 	}
 	return 0
 }
 
 func BACnetLiftCarDriveStatusByName(value string) BACnetLiftCarDriveStatus {
 	switch value {
+	case "UNKNOWN":
+		return BACnetLiftCarDriveStatus_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLiftCarDriveStatus_VENDOR_PROPRIETARY_VALUE
+	case "STATIONARY":
+		return BACnetLiftCarDriveStatus_STATIONARY
+	case "BRAKING":
+		return BACnetLiftCarDriveStatus_BRAKING
+	case "ACCELERATE":
+		return BACnetLiftCarDriveStatus_ACCELERATE
+	case "DECELERATE":
+		return BACnetLiftCarDriveStatus_DECELERATE
+	case "RATED_SPEED":
+		return BACnetLiftCarDriveStatus_RATED_SPEED
+	case "SINGLE_FLOOR_JUMP":
+		return BACnetLiftCarDriveStatus_SINGLE_FLOOR_JUMP
+	case "TWO_FLOOR_JUMP":
+		return BACnetLiftCarDriveStatus_TWO_FLOOR_JUMP
+	case "THREE_FLOOR_JUMP":
+		return BACnetLiftCarDriveStatus_THREE_FLOOR_JUMP
+	case "MULTI_FLOOR_JUMP":
+		return BACnetLiftCarDriveStatus_MULTI_FLOOR_JUMP
 	}
 	return 0
 }
@@ -103,8 +163,28 @@ func (e BACnetLiftCarDriveStatus) Serialize(writeBuffer utils.WriteBuffer) error
 
 func (e BACnetLiftCarDriveStatus) name() string {
 	switch e {
+	case BACnetLiftCarDriveStatus_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetLiftCarDriveStatus_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLiftCarDriveStatus_STATIONARY:
+		return "STATIONARY"
+	case BACnetLiftCarDriveStatus_BRAKING:
+		return "BRAKING"
+	case BACnetLiftCarDriveStatus_ACCELERATE:
+		return "ACCELERATE"
+	case BACnetLiftCarDriveStatus_DECELERATE:
+		return "DECELERATE"
+	case BACnetLiftCarDriveStatus_RATED_SPEED:
+		return "RATED_SPEED"
+	case BACnetLiftCarDriveStatus_SINGLE_FLOOR_JUMP:
+		return "SINGLE_FLOOR_JUMP"
+	case BACnetLiftCarDriveStatus_TWO_FLOOR_JUMP:
+		return "TWO_FLOOR_JUMP"
+	case BACnetLiftCarDriveStatus_THREE_FLOOR_JUMP:
+		return "THREE_FLOOR_JUMP"
+	case BACnetLiftCarDriveStatus_MULTI_FLOOR_JUMP:
+		return "MULTI_FLOOR_JUMP"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarMode.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarMode.go
index dad6108d43..58ddc989c8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarMode.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftCarMode.go
@@ -34,6 +34,20 @@ type IBACnetLiftCarMode interface {
 }
 
 const (
+	BACnetLiftCarMode_UNKNOWN                  BACnetLiftCarMode = 0
+	BACnetLiftCarMode_NORMAL                   BACnetLiftCarMode = 1
+	BACnetLiftCarMode_VIP                      BACnetLiftCarMode = 2
+	BACnetLiftCarMode_HOMING                   BACnetLiftCarMode = 3
+	BACnetLiftCarMode_PARKING                  BACnetLiftCarMode = 4
+	BACnetLiftCarMode_ATTENDANT_CONTROL        BACnetLiftCarMode = 5
+	BACnetLiftCarMode_FIREFIGHTER_CONTROL      BACnetLiftCarMode = 6
+	BACnetLiftCarMode_EMERGENCY_POWER          BACnetLiftCarMode = 7
+	BACnetLiftCarMode_INSPECTION               BACnetLiftCarMode = 8
+	BACnetLiftCarMode_CABINET_RECALL           BACnetLiftCarMode = 9
+	BACnetLiftCarMode_EARTHQUAKE_OPERATION     BACnetLiftCarMode = 10
+	BACnetLiftCarMode_FIRE_OPERATION           BACnetLiftCarMode = 11
+	BACnetLiftCarMode_OUT_OF_SERVICE           BACnetLiftCarMode = 12
+	BACnetLiftCarMode_OCCUPANT_EVACUATION      BACnetLiftCarMode = 13
 	BACnetLiftCarMode_VENDOR_PROPRIETARY_VALUE BACnetLiftCarMode = 0xFFFF
 )
 
@@ -42,22 +56,92 @@ var BACnetLiftCarModeValues []BACnetLiftCarMode
 func init() {
 	_ = errors.New
 	BACnetLiftCarModeValues = []BACnetLiftCarMode{
+		BACnetLiftCarMode_UNKNOWN,
+		BACnetLiftCarMode_NORMAL,
+		BACnetLiftCarMode_VIP,
+		BACnetLiftCarMode_HOMING,
+		BACnetLiftCarMode_PARKING,
+		BACnetLiftCarMode_ATTENDANT_CONTROL,
+		BACnetLiftCarMode_FIREFIGHTER_CONTROL,
+		BACnetLiftCarMode_EMERGENCY_POWER,
+		BACnetLiftCarMode_INSPECTION,
+		BACnetLiftCarMode_CABINET_RECALL,
+		BACnetLiftCarMode_EARTHQUAKE_OPERATION,
+		BACnetLiftCarMode_FIRE_OPERATION,
+		BACnetLiftCarMode_OUT_OF_SERVICE,
+		BACnetLiftCarMode_OCCUPANT_EVACUATION,
 		BACnetLiftCarMode_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLiftCarModeByValue(value uint16) BACnetLiftCarMode {
 	switch value {
+	case 0:
+		return BACnetLiftCarMode_UNKNOWN
 	case 0xFFFF:
 		return BACnetLiftCarMode_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLiftCarMode_NORMAL
+	case 10:
+		return BACnetLiftCarMode_EARTHQUAKE_OPERATION
+	case 11:
+		return BACnetLiftCarMode_FIRE_OPERATION
+	case 12:
+		return BACnetLiftCarMode_OUT_OF_SERVICE
+	case 13:
+		return BACnetLiftCarMode_OCCUPANT_EVACUATION
+	case 2:
+		return BACnetLiftCarMode_VIP
+	case 3:
+		return BACnetLiftCarMode_HOMING
+	case 4:
+		return BACnetLiftCarMode_PARKING
+	case 5:
+		return BACnetLiftCarMode_ATTENDANT_CONTROL
+	case 6:
+		return BACnetLiftCarMode_FIREFIGHTER_CONTROL
+	case 7:
+		return BACnetLiftCarMode_EMERGENCY_POWER
+	case 8:
+		return BACnetLiftCarMode_INSPECTION
+	case 9:
+		return BACnetLiftCarMode_CABINET_RECALL
 	}
 	return 0
 }
 
 func BACnetLiftCarModeByName(value string) BACnetLiftCarMode {
 	switch value {
+	case "UNKNOWN":
+		return BACnetLiftCarMode_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLiftCarMode_VENDOR_PROPRIETARY_VALUE
+	case "NORMAL":
+		return BACnetLiftCarMode_NORMAL
+	case "EARTHQUAKE_OPERATION":
+		return BACnetLiftCarMode_EARTHQUAKE_OPERATION
+	case "FIRE_OPERATION":
+		return BACnetLiftCarMode_FIRE_OPERATION
+	case "OUT_OF_SERVICE":
+		return BACnetLiftCarMode_OUT_OF_SERVICE
+	case "OCCUPANT_EVACUATION":
+		return BACnetLiftCarMode_OCCUPANT_EVACUATION
+	case "VIP":
+		return BACnetLiftCarMode_VIP
+	case "HOMING":
+		return BACnetLiftCarMode_HOMING
+	case "PARKING":
+		return BACnetLiftCarMode_PARKING
+	case "ATTENDANT_CONTROL":
+		return BACnetLiftCarMode_ATTENDANT_CONTROL
+	case "FIREFIGHTER_CONTROL":
+		return BACnetLiftCarMode_FIREFIGHTER_CONTROL
+	case "EMERGENCY_POWER":
+		return BACnetLiftCarMode_EMERGENCY_POWER
+	case "INSPECTION":
+		return BACnetLiftCarMode_INSPECTION
+	case "CABINET_RECALL":
+		return BACnetLiftCarMode_CABINET_RECALL
 	}
 	return 0
 }
@@ -103,8 +187,36 @@ func (e BACnetLiftCarMode) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetLiftCarMode) name() string {
 	switch e {
+	case BACnetLiftCarMode_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetLiftCarMode_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLiftCarMode_NORMAL:
+		return "NORMAL"
+	case BACnetLiftCarMode_EARTHQUAKE_OPERATION:
+		return "EARTHQUAKE_OPERATION"
+	case BACnetLiftCarMode_FIRE_OPERATION:
+		return "FIRE_OPERATION"
+	case BACnetLiftCarMode_OUT_OF_SERVICE:
+		return "OUT_OF_SERVICE"
+	case BACnetLiftCarMode_OCCUPANT_EVACUATION:
+		return "OCCUPANT_EVACUATION"
+	case BACnetLiftCarMode_VIP:
+		return "VIP"
+	case BACnetLiftCarMode_HOMING:
+		return "HOMING"
+	case BACnetLiftCarMode_PARKING:
+		return "PARKING"
+	case BACnetLiftCarMode_ATTENDANT_CONTROL:
+		return "ATTENDANT_CONTROL"
+	case BACnetLiftCarMode_FIREFIGHTER_CONTROL:
+		return "FIREFIGHTER_CONTROL"
+	case BACnetLiftCarMode_EMERGENCY_POWER:
+		return "EMERGENCY_POWER"
+	case BACnetLiftCarMode_INSPECTION:
+		return "INSPECTION"
+	case BACnetLiftCarMode_CABINET_RECALL:
+		return "CABINET_RECALL"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftFault.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftFault.go
index 7f98f54753..3c70ca29da 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftFault.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftFault.go
@@ -34,7 +34,24 @@ type IBACnetLiftFault interface {
 }
 
 const (
-	BACnetLiftFault_VENDOR_PROPRIETARY_VALUE BACnetLiftFault = 0xFFFF
+	BACnetLiftFault_CONTROLLER_FAULT                 BACnetLiftFault = 0
+	BACnetLiftFault_DRIVE_AND_MOTOR_FAULT            BACnetLiftFault = 1
+	BACnetLiftFault_GOVERNOR_AND_SAFETY_GEAR_FAULT   BACnetLiftFault = 2
+	BACnetLiftFault_LIFT_SHAFT_DEVICE_FAULT          BACnetLiftFault = 3
+	BACnetLiftFault_POWER_SUPPLY_FAULT               BACnetLiftFault = 4
+	BACnetLiftFault_SAFETY_INTERLOCK_FAULT           BACnetLiftFault = 5
+	BACnetLiftFault_DOOR_CLOSING_FAULT               BACnetLiftFault = 6
+	BACnetLiftFault_DOOR_OPENING_FAULT               BACnetLiftFault = 7
+	BACnetLiftFault_CAR_STOPPED_OUTSIDE_LANDING_ZONE BACnetLiftFault = 8
+	BACnetLiftFault_CALL_BUTTON_STUCK                BACnetLiftFault = 9
+	BACnetLiftFault_START_FAILURE                    BACnetLiftFault = 10
+	BACnetLiftFault_CONTROLLER_SUPPLY_FAULT          BACnetLiftFault = 11
+	BACnetLiftFault_SELF_TEST_FAILURE                BACnetLiftFault = 12
+	BACnetLiftFault_RUNTIME_LIMIT_EXCEEDED           BACnetLiftFault = 13
+	BACnetLiftFault_POSITION_LOST                    BACnetLiftFault = 14
+	BACnetLiftFault_DRIVE_TEMPERATURE_EXCEEDED       BACnetLiftFault = 15
+	BACnetLiftFault_LOAD_MEASUREMENT_FAULT           BACnetLiftFault = 16
+	BACnetLiftFault_VENDOR_PROPRIETARY_VALUE         BACnetLiftFault = 0xFFFF
 )
 
 var BACnetLiftFaultValues []BACnetLiftFault
@@ -42,22 +59,107 @@ var BACnetLiftFaultValues []BACnetLiftFault
 func init() {
 	_ = errors.New
 	BACnetLiftFaultValues = []BACnetLiftFault{
+		BACnetLiftFault_CONTROLLER_FAULT,
+		BACnetLiftFault_DRIVE_AND_MOTOR_FAULT,
+		BACnetLiftFault_GOVERNOR_AND_SAFETY_GEAR_FAULT,
+		BACnetLiftFault_LIFT_SHAFT_DEVICE_FAULT,
+		BACnetLiftFault_POWER_SUPPLY_FAULT,
+		BACnetLiftFault_SAFETY_INTERLOCK_FAULT,
+		BACnetLiftFault_DOOR_CLOSING_FAULT,
+		BACnetLiftFault_DOOR_OPENING_FAULT,
+		BACnetLiftFault_CAR_STOPPED_OUTSIDE_LANDING_ZONE,
+		BACnetLiftFault_CALL_BUTTON_STUCK,
+		BACnetLiftFault_START_FAILURE,
+		BACnetLiftFault_CONTROLLER_SUPPLY_FAULT,
+		BACnetLiftFault_SELF_TEST_FAILURE,
+		BACnetLiftFault_RUNTIME_LIMIT_EXCEEDED,
+		BACnetLiftFault_POSITION_LOST,
+		BACnetLiftFault_DRIVE_TEMPERATURE_EXCEEDED,
+		BACnetLiftFault_LOAD_MEASUREMENT_FAULT,
 		BACnetLiftFault_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLiftFaultByValue(value uint16) BACnetLiftFault {
 	switch value {
+	case 0:
+		return BACnetLiftFault_CONTROLLER_FAULT
 	case 0xFFFF:
 		return BACnetLiftFault_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLiftFault_DRIVE_AND_MOTOR_FAULT
+	case 10:
+		return BACnetLiftFault_START_FAILURE
+	case 11:
+		return BACnetLiftFault_CONTROLLER_SUPPLY_FAULT
+	case 12:
+		return BACnetLiftFault_SELF_TEST_FAILURE
+	case 13:
+		return BACnetLiftFault_RUNTIME_LIMIT_EXCEEDED
+	case 14:
+		return BACnetLiftFault_POSITION_LOST
+	case 15:
+		return BACnetLiftFault_DRIVE_TEMPERATURE_EXCEEDED
+	case 16:
+		return BACnetLiftFault_LOAD_MEASUREMENT_FAULT
+	case 2:
+		return BACnetLiftFault_GOVERNOR_AND_SAFETY_GEAR_FAULT
+	case 3:
+		return BACnetLiftFault_LIFT_SHAFT_DEVICE_FAULT
+	case 4:
+		return BACnetLiftFault_POWER_SUPPLY_FAULT
+	case 5:
+		return BACnetLiftFault_SAFETY_INTERLOCK_FAULT
+	case 6:
+		return BACnetLiftFault_DOOR_CLOSING_FAULT
+	case 7:
+		return BACnetLiftFault_DOOR_OPENING_FAULT
+	case 8:
+		return BACnetLiftFault_CAR_STOPPED_OUTSIDE_LANDING_ZONE
+	case 9:
+		return BACnetLiftFault_CALL_BUTTON_STUCK
 	}
 	return 0
 }
 
 func BACnetLiftFaultByName(value string) BACnetLiftFault {
 	switch value {
+	case "CONTROLLER_FAULT":
+		return BACnetLiftFault_CONTROLLER_FAULT
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLiftFault_VENDOR_PROPRIETARY_VALUE
+	case "DRIVE_AND_MOTOR_FAULT":
+		return BACnetLiftFault_DRIVE_AND_MOTOR_FAULT
+	case "START_FAILURE":
+		return BACnetLiftFault_START_FAILURE
+	case "CONTROLLER_SUPPLY_FAULT":
+		return BACnetLiftFault_CONTROLLER_SUPPLY_FAULT
+	case "SELF_TEST_FAILURE":
+		return BACnetLiftFault_SELF_TEST_FAILURE
+	case "RUNTIME_LIMIT_EXCEEDED":
+		return BACnetLiftFault_RUNTIME_LIMIT_EXCEEDED
+	case "POSITION_LOST":
+		return BACnetLiftFault_POSITION_LOST
+	case "DRIVE_TEMPERATURE_EXCEEDED":
+		return BACnetLiftFault_DRIVE_TEMPERATURE_EXCEEDED
+	case "LOAD_MEASUREMENT_FAULT":
+		return BACnetLiftFault_LOAD_MEASUREMENT_FAULT
+	case "GOVERNOR_AND_SAFETY_GEAR_FAULT":
+		return BACnetLiftFault_GOVERNOR_AND_SAFETY_GEAR_FAULT
+	case "LIFT_SHAFT_DEVICE_FAULT":
+		return BACnetLiftFault_LIFT_SHAFT_DEVICE_FAULT
+	case "POWER_SUPPLY_FAULT":
+		return BACnetLiftFault_POWER_SUPPLY_FAULT
+	case "SAFETY_INTERLOCK_FAULT":
+		return BACnetLiftFault_SAFETY_INTERLOCK_FAULT
+	case "DOOR_CLOSING_FAULT":
+		return BACnetLiftFault_DOOR_CLOSING_FAULT
+	case "DOOR_OPENING_FAULT":
+		return BACnetLiftFault_DOOR_OPENING_FAULT
+	case "CAR_STOPPED_OUTSIDE_LANDING_ZONE":
+		return BACnetLiftFault_CAR_STOPPED_OUTSIDE_LANDING_ZONE
+	case "CALL_BUTTON_STUCK":
+		return BACnetLiftFault_CALL_BUTTON_STUCK
 	}
 	return 0
 }
@@ -103,8 +205,42 @@ func (e BACnetLiftFault) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetLiftFault) name() string {
 	switch e {
+	case BACnetLiftFault_CONTROLLER_FAULT:
+		return "CONTROLLER_FAULT"
 	case BACnetLiftFault_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLiftFault_DRIVE_AND_MOTOR_FAULT:
+		return "DRIVE_AND_MOTOR_FAULT"
+	case BACnetLiftFault_START_FAILURE:
+		return "START_FAILURE"
+	case BACnetLiftFault_CONTROLLER_SUPPLY_FAULT:
+		return "CONTROLLER_SUPPLY_FAULT"
+	case BACnetLiftFault_SELF_TEST_FAILURE:
+		return "SELF_TEST_FAILURE"
+	case BACnetLiftFault_RUNTIME_LIMIT_EXCEEDED:
+		return "RUNTIME_LIMIT_EXCEEDED"
+	case BACnetLiftFault_POSITION_LOST:
+		return "POSITION_LOST"
+	case BACnetLiftFault_DRIVE_TEMPERATURE_EXCEEDED:
+		return "DRIVE_TEMPERATURE_EXCEEDED"
+	case BACnetLiftFault_LOAD_MEASUREMENT_FAULT:
+		return "LOAD_MEASUREMENT_FAULT"
+	case BACnetLiftFault_GOVERNOR_AND_SAFETY_GEAR_FAULT:
+		return "GOVERNOR_AND_SAFETY_GEAR_FAULT"
+	case BACnetLiftFault_LIFT_SHAFT_DEVICE_FAULT:
+		return "LIFT_SHAFT_DEVICE_FAULT"
+	case BACnetLiftFault_POWER_SUPPLY_FAULT:
+		return "POWER_SUPPLY_FAULT"
+	case BACnetLiftFault_SAFETY_INTERLOCK_FAULT:
+		return "SAFETY_INTERLOCK_FAULT"
+	case BACnetLiftFault_DOOR_CLOSING_FAULT:
+		return "DOOR_CLOSING_FAULT"
+	case BACnetLiftFault_DOOR_OPENING_FAULT:
+		return "DOOR_OPENING_FAULT"
+	case BACnetLiftFault_CAR_STOPPED_OUTSIDE_LANDING_ZONE:
+		return "CAR_STOPPED_OUTSIDE_LANDING_ZONE"
+	case BACnetLiftFault_CALL_BUTTON_STUCK:
+		return "CALL_BUTTON_STUCK"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftGroupMode.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftGroupMode.go
new file mode 100644
index 0000000000..27699ce6d3
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLiftGroupMode.go
@@ -0,0 +1,162 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetLiftGroupMode is an enum
+type BACnetLiftGroupMode uint8
+
+type IBACnetLiftGroupMode interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetLiftGroupMode_UNKNOWN         BACnetLiftGroupMode = 0
+	BACnetLiftGroupMode_NORMAL          BACnetLiftGroupMode = 1
+	BACnetLiftGroupMode_DOWN_PEAK       BACnetLiftGroupMode = 2
+	BACnetLiftGroupMode_TWO_WAY         BACnetLiftGroupMode = 3
+	BACnetLiftGroupMode_FOUR_WAY        BACnetLiftGroupMode = 4
+	BACnetLiftGroupMode_EMERGENCY_POWER BACnetLiftGroupMode = 5
+	BACnetLiftGroupMode_UP_PEAK         BACnetLiftGroupMode = 6
+)
+
+var BACnetLiftGroupModeValues []BACnetLiftGroupMode
+
+func init() {
+	_ = errors.New
+	BACnetLiftGroupModeValues = []BACnetLiftGroupMode{
+		BACnetLiftGroupMode_UNKNOWN,
+		BACnetLiftGroupMode_NORMAL,
+		BACnetLiftGroupMode_DOWN_PEAK,
+		BACnetLiftGroupMode_TWO_WAY,
+		BACnetLiftGroupMode_FOUR_WAY,
+		BACnetLiftGroupMode_EMERGENCY_POWER,
+		BACnetLiftGroupMode_UP_PEAK,
+	}
+}
+
+func BACnetLiftGroupModeByValue(value uint8) BACnetLiftGroupMode {
+	switch value {
+	case 0:
+		return BACnetLiftGroupMode_UNKNOWN
+	case 1:
+		return BACnetLiftGroupMode_NORMAL
+	case 2:
+		return BACnetLiftGroupMode_DOWN_PEAK
+	case 3:
+		return BACnetLiftGroupMode_TWO_WAY
+	case 4:
+		return BACnetLiftGroupMode_FOUR_WAY
+	case 5:
+		return BACnetLiftGroupMode_EMERGENCY_POWER
+	case 6:
+		return BACnetLiftGroupMode_UP_PEAK
+	}
+	return 0
+}
+
+func BACnetLiftGroupModeByName(value string) BACnetLiftGroupMode {
+	switch value {
+	case "UNKNOWN":
+		return BACnetLiftGroupMode_UNKNOWN
+	case "NORMAL":
+		return BACnetLiftGroupMode_NORMAL
+	case "DOWN_PEAK":
+		return BACnetLiftGroupMode_DOWN_PEAK
+	case "TWO_WAY":
+		return BACnetLiftGroupMode_TWO_WAY
+	case "FOUR_WAY":
+		return BACnetLiftGroupMode_FOUR_WAY
+	case "EMERGENCY_POWER":
+		return BACnetLiftGroupMode_EMERGENCY_POWER
+	case "UP_PEAK":
+		return BACnetLiftGroupMode_UP_PEAK
+	}
+	return 0
+}
+
+func BACnetLiftGroupModeKnows(value uint8) bool {
+	for _, typeValue := range BACnetLiftGroupModeValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetLiftGroupMode(structType interface{}) BACnetLiftGroupMode {
+	castFunc := func(typ interface{}) BACnetLiftGroupMode {
+		if sBACnetLiftGroupMode, ok := typ.(BACnetLiftGroupMode); ok {
+			return sBACnetLiftGroupMode
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetLiftGroupMode) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetLiftGroupMode) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetLiftGroupModeParse(readBuffer utils.ReadBuffer) (BACnetLiftGroupMode, error) {
+	val, err := readBuffer.ReadUint8("BACnetLiftGroupMode", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetLiftGroupModeByValue(val), nil
+}
+
+func (e BACnetLiftGroupMode) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetLiftGroupMode", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetLiftGroupMode) name() string {
+	switch e {
+	case BACnetLiftGroupMode_UNKNOWN:
+		return "UNKNOWN"
+	case BACnetLiftGroupMode_NORMAL:
+		return "NORMAL"
+	case BACnetLiftGroupMode_DOWN_PEAK:
+		return "DOWN_PEAK"
+	case BACnetLiftGroupMode_TWO_WAY:
+		return "TWO_WAY"
+	case BACnetLiftGroupMode_FOUR_WAY:
+		return "FOUR_WAY"
+	case BACnetLiftGroupMode_EMERGENCY_POWER:
+		return "EMERGENCY_POWER"
+	case BACnetLiftGroupMode_UP_PEAK:
+		return "UP_PEAK"
+	}
+	return ""
+}
+
+func (e BACnetLiftGroupMode) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingInProgress.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingInProgress.go
new file mode 100644
index 0000000000..185069727a
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingInProgress.go
@@ -0,0 +1,146 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetLightingInProgress is an enum
+type BACnetLightingInProgress uint8
+
+type IBACnetLightingInProgress interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetLightingInProgress_IDLE           BACnetLightingInProgress = 0
+	BACnetLightingInProgress_FADE_ACTIVE    BACnetLightingInProgress = 1
+	BACnetLightingInProgress_RAMP_ACTIVE    BACnetLightingInProgress = 2
+	BACnetLightingInProgress_NOT_CONTROLLED BACnetLightingInProgress = 3
+	BACnetLightingInProgress_OTHER          BACnetLightingInProgress = 4
+)
+
+var BACnetLightingInProgressValues []BACnetLightingInProgress
+
+func init() {
+	_ = errors.New
+	BACnetLightingInProgressValues = []BACnetLightingInProgress{
+		BACnetLightingInProgress_IDLE,
+		BACnetLightingInProgress_FADE_ACTIVE,
+		BACnetLightingInProgress_RAMP_ACTIVE,
+		BACnetLightingInProgress_NOT_CONTROLLED,
+		BACnetLightingInProgress_OTHER,
+	}
+}
+
+func BACnetLightingInProgressByValue(value uint8) BACnetLightingInProgress {
+	switch value {
+	case 0:
+		return BACnetLightingInProgress_IDLE
+	case 1:
+		return BACnetLightingInProgress_FADE_ACTIVE
+	case 2:
+		return BACnetLightingInProgress_RAMP_ACTIVE
+	case 3:
+		return BACnetLightingInProgress_NOT_CONTROLLED
+	case 4:
+		return BACnetLightingInProgress_OTHER
+	}
+	return 0
+}
+
+func BACnetLightingInProgressByName(value string) BACnetLightingInProgress {
+	switch value {
+	case "IDLE":
+		return BACnetLightingInProgress_IDLE
+	case "FADE_ACTIVE":
+		return BACnetLightingInProgress_FADE_ACTIVE
+	case "RAMP_ACTIVE":
+		return BACnetLightingInProgress_RAMP_ACTIVE
+	case "NOT_CONTROLLED":
+		return BACnetLightingInProgress_NOT_CONTROLLED
+	case "OTHER":
+		return BACnetLightingInProgress_OTHER
+	}
+	return 0
+}
+
+func BACnetLightingInProgressKnows(value uint8) bool {
+	for _, typeValue := range BACnetLightingInProgressValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetLightingInProgress(structType interface{}) BACnetLightingInProgress {
+	castFunc := func(typ interface{}) BACnetLightingInProgress {
+		if sBACnetLightingInProgress, ok := typ.(BACnetLightingInProgress); ok {
+			return sBACnetLightingInProgress
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetLightingInProgress) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetLightingInProgress) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetLightingInProgressParse(readBuffer utils.ReadBuffer) (BACnetLightingInProgress, error) {
+	val, err := readBuffer.ReadUint8("BACnetLightingInProgress", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetLightingInProgressByValue(val), nil
+}
+
+func (e BACnetLightingInProgress) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetLightingInProgress", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetLightingInProgress) name() string {
+	switch e {
+	case BACnetLightingInProgress_IDLE:
+		return "IDLE"
+	case BACnetLightingInProgress_FADE_ACTIVE:
+		return "FADE_ACTIVE"
+	case BACnetLightingInProgress_RAMP_ACTIVE:
+		return "RAMP_ACTIVE"
+	case BACnetLightingInProgress_NOT_CONTROLLED:
+		return "NOT_CONTROLLED"
+	case BACnetLightingInProgress_OTHER:
+		return "OTHER"
+	}
+	return ""
+}
+
+func (e BACnetLightingInProgress) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingOperation.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingOperation.go
index 61590cff91..e1042d104e 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingOperation.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingOperation.go
@@ -34,6 +34,17 @@ type IBACnetLightingOperation interface {
 }
 
 const (
+	BACnetLightingOperation_NONE                     BACnetLightingOperation = 0
+	BACnetLightingOperation_FADE_TO                  BACnetLightingOperation = 1
+	BACnetLightingOperation_RAMP_TO                  BACnetLightingOperation = 2
+	BACnetLightingOperation_STEP_UP                  BACnetLightingOperation = 3
+	BACnetLightingOperation_STEP_DOWN                BACnetLightingOperation = 4
+	BACnetLightingOperation_STEP_ON                  BACnetLightingOperation = 5
+	BACnetLightingOperation_STEP_OFF                 BACnetLightingOperation = 6
+	BACnetLightingOperation_WARN                     BACnetLightingOperation = 7
+	BACnetLightingOperation_WARN_OFF                 BACnetLightingOperation = 8
+	BACnetLightingOperation_WARN_RELINQUISH          BACnetLightingOperation = 9
+	BACnetLightingOperation_STOP                     BACnetLightingOperation = 10
 	BACnetLightingOperation_VENDOR_PROPRIETARY_VALUE BACnetLightingOperation = 0xFFFF
 )
 
@@ -42,22 +53,77 @@ var BACnetLightingOperationValues []BACnetLightingOperation
 func init() {
 	_ = errors.New
 	BACnetLightingOperationValues = []BACnetLightingOperation{
+		BACnetLightingOperation_NONE,
+		BACnetLightingOperation_FADE_TO,
+		BACnetLightingOperation_RAMP_TO,
+		BACnetLightingOperation_STEP_UP,
+		BACnetLightingOperation_STEP_DOWN,
+		BACnetLightingOperation_STEP_ON,
+		BACnetLightingOperation_STEP_OFF,
+		BACnetLightingOperation_WARN,
+		BACnetLightingOperation_WARN_OFF,
+		BACnetLightingOperation_WARN_RELINQUISH,
+		BACnetLightingOperation_STOP,
 		BACnetLightingOperation_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLightingOperationByValue(value uint16) BACnetLightingOperation {
 	switch value {
+	case 0:
+		return BACnetLightingOperation_NONE
 	case 0xFFFF:
 		return BACnetLightingOperation_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLightingOperation_FADE_TO
+	case 10:
+		return BACnetLightingOperation_STOP
+	case 2:
+		return BACnetLightingOperation_RAMP_TO
+	case 3:
+		return BACnetLightingOperation_STEP_UP
+	case 4:
+		return BACnetLightingOperation_STEP_DOWN
+	case 5:
+		return BACnetLightingOperation_STEP_ON
+	case 6:
+		return BACnetLightingOperation_STEP_OFF
+	case 7:
+		return BACnetLightingOperation_WARN
+	case 8:
+		return BACnetLightingOperation_WARN_OFF
+	case 9:
+		return BACnetLightingOperation_WARN_RELINQUISH
 	}
 	return 0
 }
 
 func BACnetLightingOperationByName(value string) BACnetLightingOperation {
 	switch value {
+	case "NONE":
+		return BACnetLightingOperation_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLightingOperation_VENDOR_PROPRIETARY_VALUE
+	case "FADE_TO":
+		return BACnetLightingOperation_FADE_TO
+	case "STOP":
+		return BACnetLightingOperation_STOP
+	case "RAMP_TO":
+		return BACnetLightingOperation_RAMP_TO
+	case "STEP_UP":
+		return BACnetLightingOperation_STEP_UP
+	case "STEP_DOWN":
+		return BACnetLightingOperation_STEP_DOWN
+	case "STEP_ON":
+		return BACnetLightingOperation_STEP_ON
+	case "STEP_OFF":
+		return BACnetLightingOperation_STEP_OFF
+	case "WARN":
+		return BACnetLightingOperation_WARN
+	case "WARN_OFF":
+		return BACnetLightingOperation_WARN_OFF
+	case "WARN_RELINQUISH":
+		return BACnetLightingOperation_WARN_RELINQUISH
 	}
 	return 0
 }
@@ -103,8 +169,30 @@ func (e BACnetLightingOperation) Serialize(writeBuffer utils.WriteBuffer) error
 
 func (e BACnetLightingOperation) name() string {
 	switch e {
+	case BACnetLightingOperation_NONE:
+		return "NONE"
 	case BACnetLightingOperation_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLightingOperation_FADE_TO:
+		return "FADE_TO"
+	case BACnetLightingOperation_STOP:
+		return "STOP"
+	case BACnetLightingOperation_RAMP_TO:
+		return "RAMP_TO"
+	case BACnetLightingOperation_STEP_UP:
+		return "STEP_UP"
+	case BACnetLightingOperation_STEP_DOWN:
+		return "STEP_DOWN"
+	case BACnetLightingOperation_STEP_ON:
+		return "STEP_ON"
+	case BACnetLightingOperation_STEP_OFF:
+		return "STEP_OFF"
+	case BACnetLightingOperation_WARN:
+		return "WARN"
+	case BACnetLightingOperation_WARN_OFF:
+		return "WARN_OFF"
+	case BACnetLightingOperation_WARN_RELINQUISH:
+		return "WARN_RELINQUISH"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingTransition.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingTransition.go
index 18865ee31a..6c20099ab2 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingTransition.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLightingTransition.go
@@ -34,6 +34,9 @@ type IBACnetLightingTransition interface {
 }
 
 const (
+	BACnetLightingTransition_NONE                     BACnetLightingTransition = 0
+	BACnetLightingTransition_FADE                     BACnetLightingTransition = 1
+	BACnetLightingTransition_RAMP                     BACnetLightingTransition = 2
 	BACnetLightingTransition_VENDOR_PROPRIETARY_VALUE BACnetLightingTransition = 0xFF
 )
 
@@ -42,22 +45,37 @@ var BACnetLightingTransitionValues []BACnetLightingTransition
 func init() {
 	_ = errors.New
 	BACnetLightingTransitionValues = []BACnetLightingTransition{
+		BACnetLightingTransition_NONE,
+		BACnetLightingTransition_FADE,
+		BACnetLightingTransition_RAMP,
 		BACnetLightingTransition_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLightingTransitionByValue(value uint8) BACnetLightingTransition {
 	switch value {
+	case 0:
+		return BACnetLightingTransition_NONE
 	case 0xFF:
 		return BACnetLightingTransition_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLightingTransition_FADE
+	case 2:
+		return BACnetLightingTransition_RAMP
 	}
 	return 0
 }
 
 func BACnetLightingTransitionByName(value string) BACnetLightingTransition {
 	switch value {
+	case "NONE":
+		return BACnetLightingTransition_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLightingTransition_VENDOR_PROPRIETARY_VALUE
+	case "FADE":
+		return BACnetLightingTransition_FADE
+	case "RAMP":
+		return BACnetLightingTransition_RAMP
 	}
 	return 0
 }
@@ -103,8 +121,14 @@ func (e BACnetLightingTransition) Serialize(writeBuffer utils.WriteBuffer) error
 
 func (e BACnetLightingTransition) name() string {
 	switch e {
+	case BACnetLightingTransition_NONE:
+		return "NONE"
 	case BACnetLightingTransition_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLightingTransition_FADE:
+		return "FADE"
+	case BACnetLightingTransition_RAMP:
+		return "RAMP"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLockStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLockStatus.go
new file mode 100644
index 0000000000..7d474d147e
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLockStatus.go
@@ -0,0 +1,146 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetLockStatus is an enum
+type BACnetLockStatus uint8
+
+type IBACnetLockStatus interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetLockStatus_LOCKED     BACnetLockStatus = 0
+	BACnetLockStatus_UNLOCKED   BACnetLockStatus = 1
+	BACnetLockStatus_LOCK_FAULT BACnetLockStatus = 2
+	BACnetLockStatus_UNUSED     BACnetLockStatus = 3
+	BACnetLockStatus_UNKNOWN    BACnetLockStatus = 4
+)
+
+var BACnetLockStatusValues []BACnetLockStatus
+
+func init() {
+	_ = errors.New
+	BACnetLockStatusValues = []BACnetLockStatus{
+		BACnetLockStatus_LOCKED,
+		BACnetLockStatus_UNLOCKED,
+		BACnetLockStatus_LOCK_FAULT,
+		BACnetLockStatus_UNUSED,
+		BACnetLockStatus_UNKNOWN,
+	}
+}
+
+func BACnetLockStatusByValue(value uint8) BACnetLockStatus {
+	switch value {
+	case 0:
+		return BACnetLockStatus_LOCKED
+	case 1:
+		return BACnetLockStatus_UNLOCKED
+	case 2:
+		return BACnetLockStatus_LOCK_FAULT
+	case 3:
+		return BACnetLockStatus_UNUSED
+	case 4:
+		return BACnetLockStatus_UNKNOWN
+	}
+	return 0
+}
+
+func BACnetLockStatusByName(value string) BACnetLockStatus {
+	switch value {
+	case "LOCKED":
+		return BACnetLockStatus_LOCKED
+	case "UNLOCKED":
+		return BACnetLockStatus_UNLOCKED
+	case "LOCK_FAULT":
+		return BACnetLockStatus_LOCK_FAULT
+	case "UNUSED":
+		return BACnetLockStatus_UNUSED
+	case "UNKNOWN":
+		return BACnetLockStatus_UNKNOWN
+	}
+	return 0
+}
+
+func BACnetLockStatusKnows(value uint8) bool {
+	for _, typeValue := range BACnetLockStatusValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetLockStatus(structType interface{}) BACnetLockStatus {
+	castFunc := func(typ interface{}) BACnetLockStatus {
+		if sBACnetLockStatus, ok := typ.(BACnetLockStatus); ok {
+			return sBACnetLockStatus
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetLockStatus) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetLockStatus) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetLockStatusParse(readBuffer utils.ReadBuffer) (BACnetLockStatus, error) {
+	val, err := readBuffer.ReadUint8("BACnetLockStatus", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetLockStatusByValue(val), nil
+}
+
+func (e BACnetLockStatus) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetLockStatus", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetLockStatus) name() string {
+	switch e {
+	case BACnetLockStatus_LOCKED:
+		return "LOCKED"
+	case BACnetLockStatus_UNLOCKED:
+		return "UNLOCKED"
+	case BACnetLockStatus_LOCK_FAULT:
+		return "LOCK_FAULT"
+	case BACnetLockStatus_UNUSED:
+		return "UNUSED"
+	case BACnetLockStatus_UNKNOWN:
+		return "UNKNOWN"
+	}
+	return ""
+}
+
+func (e BACnetLockStatus) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLoggingType.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLoggingType.go
index eff9d3c4d6..10a76f02ae 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLoggingType.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetLoggingType.go
@@ -34,6 +34,9 @@ type IBACnetLoggingType interface {
 }
 
 const (
+	BACnetLoggingType_POLLED                   BACnetLoggingType = 0
+	BACnetLoggingType_COV                      BACnetLoggingType = 1
+	BACnetLoggingType_TRIGGERED                BACnetLoggingType = 2
 	BACnetLoggingType_VENDOR_PROPRIETARY_VALUE BACnetLoggingType = 0xFF
 )
 
@@ -42,22 +45,37 @@ var BACnetLoggingTypeValues []BACnetLoggingType
 func init() {
 	_ = errors.New
 	BACnetLoggingTypeValues = []BACnetLoggingType{
+		BACnetLoggingType_POLLED,
+		BACnetLoggingType_COV,
+		BACnetLoggingType_TRIGGERED,
 		BACnetLoggingType_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetLoggingTypeByValue(value uint8) BACnetLoggingType {
 	switch value {
+	case 0:
+		return BACnetLoggingType_POLLED
 	case 0xFF:
 		return BACnetLoggingType_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetLoggingType_COV
+	case 2:
+		return BACnetLoggingType_TRIGGERED
 	}
 	return 0
 }
 
 func BACnetLoggingTypeByName(value string) BACnetLoggingType {
 	switch value {
+	case "POLLED":
+		return BACnetLoggingType_POLLED
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetLoggingType_VENDOR_PROPRIETARY_VALUE
+	case "COV":
+		return BACnetLoggingType_COV
+	case "TRIGGERED":
+		return BACnetLoggingType_TRIGGERED
 	}
 	return 0
 }
@@ -103,8 +121,14 @@ func (e BACnetLoggingType) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetLoggingType) name() string {
 	switch e {
+	case BACnetLoggingType_POLLED:
+		return "POLLED"
 	case BACnetLoggingType_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetLoggingType_COV:
+		return "COV"
+	case BACnetLoggingType_TRIGGERED:
+		return "TRIGGERED"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetMaintenance.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetMaintenance.go
index 69a76aaec3..6af6e25d41 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetMaintenance.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetMaintenance.go
@@ -34,6 +34,10 @@ type IBACnetMaintenance interface {
 }
 
 const (
+	BACnetMaintenance_NONE                     BACnetMaintenance = 0
+	BACnetMaintenance_PERIODIC_TEST            BACnetMaintenance = 1
+	BACnetMaintenance_NEED_SERVICE_OPERATIONAL BACnetMaintenance = 2
+	BACnetMaintenance_NEED_SERVICE_INOPERATIVE BACnetMaintenance = 3
 	BACnetMaintenance_VENDOR_PROPRIETARY_VALUE BACnetMaintenance = 0xFF
 )
 
@@ -42,22 +46,42 @@ var BACnetMaintenanceValues []BACnetMaintenance
 func init() {
 	_ = errors.New
 	BACnetMaintenanceValues = []BACnetMaintenance{
+		BACnetMaintenance_NONE,
+		BACnetMaintenance_PERIODIC_TEST,
+		BACnetMaintenance_NEED_SERVICE_OPERATIONAL,
+		BACnetMaintenance_NEED_SERVICE_INOPERATIVE,
 		BACnetMaintenance_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetMaintenanceByValue(value uint8) BACnetMaintenance {
 	switch value {
+	case 0:
+		return BACnetMaintenance_NONE
 	case 0xFF:
 		return BACnetMaintenance_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetMaintenance_PERIODIC_TEST
+	case 2:
+		return BACnetMaintenance_NEED_SERVICE_OPERATIONAL
+	case 3:
+		return BACnetMaintenance_NEED_SERVICE_INOPERATIVE
 	}
 	return 0
 }
 
 func BACnetMaintenanceByName(value string) BACnetMaintenance {
 	switch value {
+	case "NONE":
+		return BACnetMaintenance_NONE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetMaintenance_VENDOR_PROPRIETARY_VALUE
+	case "PERIODIC_TEST":
+		return BACnetMaintenance_PERIODIC_TEST
+	case "NEED_SERVICE_OPERATIONAL":
+		return BACnetMaintenance_NEED_SERVICE_OPERATIONAL
+	case "NEED_SERVICE_INOPERATIVE":
+		return BACnetMaintenance_NEED_SERVICE_INOPERATIVE
 	}
 	return 0
 }
@@ -103,8 +127,16 @@ func (e BACnetMaintenance) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetMaintenance) name() string {
 	switch e {
+	case BACnetMaintenance_NONE:
+		return "NONE"
 	case BACnetMaintenance_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetMaintenance_PERIODIC_TEST:
+		return "PERIODIC_TEST"
+	case BACnetMaintenance_NEED_SERVICE_OPERATIONAL:
+		return "NEED_SERVICE_OPERATIONAL"
+	case BACnetMaintenance_NEED_SERVICE_INOPERATIVE:
+		return "NEED_SERVICE_INOPERATIVE"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkNumberQuality.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkNumberQuality.go
new file mode 100644
index 0000000000..2a701178e7
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkNumberQuality.go
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetNetworkNumberQuality is an enum
+type BACnetNetworkNumberQuality uint8
+
+type IBACnetNetworkNumberQuality interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetNetworkNumberQuality_UNKNOWN            BACnetNetworkNumberQuality = 0
+	BACnetNetworkNumberQuality_LEARNED            BACnetNetworkNumberQuality = 1
+	BACnetNetworkNumberQuality_LEARNED_CONFIGURED BACnetNetworkNumberQuality = 2
+	BACnetNetworkNumberQuality_CONFIGURED         BACnetNetworkNumberQuality = 3
+)
+
+var BACnetNetworkNumberQualityValues []BACnetNetworkNumberQuality
+
+func init() {
+	_ = errors.New
+	BACnetNetworkNumberQualityValues = []BACnetNetworkNumberQuality{
+		BACnetNetworkNumberQuality_UNKNOWN,
+		BACnetNetworkNumberQuality_LEARNED,
+		BACnetNetworkNumberQuality_LEARNED_CONFIGURED,
+		BACnetNetworkNumberQuality_CONFIGURED,
+	}
+}
+
+func BACnetNetworkNumberQualityByValue(value uint8) BACnetNetworkNumberQuality {
+	switch value {
+	case 0:
+		return BACnetNetworkNumberQuality_UNKNOWN
+	case 1:
+		return BACnetNetworkNumberQuality_LEARNED
+	case 2:
+		return BACnetNetworkNumberQuality_LEARNED_CONFIGURED
+	case 3:
+		return BACnetNetworkNumberQuality_CONFIGURED
+	}
+	return 0
+}
+
+func BACnetNetworkNumberQualityByName(value string) BACnetNetworkNumberQuality {
+	switch value {
+	case "UNKNOWN":
+		return BACnetNetworkNumberQuality_UNKNOWN
+	case "LEARNED":
+		return BACnetNetworkNumberQuality_LEARNED
+	case "LEARNED_CONFIGURED":
+		return BACnetNetworkNumberQuality_LEARNED_CONFIGURED
+	case "CONFIGURED":
+		return BACnetNetworkNumberQuality_CONFIGURED
+	}
+	return 0
+}
+
+func BACnetNetworkNumberQualityKnows(value uint8) bool {
+	for _, typeValue := range BACnetNetworkNumberQualityValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetNetworkNumberQuality(structType interface{}) BACnetNetworkNumberQuality {
+	castFunc := func(typ interface{}) BACnetNetworkNumberQuality {
+		if sBACnetNetworkNumberQuality, ok := typ.(BACnetNetworkNumberQuality); ok {
+			return sBACnetNetworkNumberQuality
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetNetworkNumberQuality) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetNetworkNumberQuality) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetNetworkNumberQualityParse(readBuffer utils.ReadBuffer) (BACnetNetworkNumberQuality, error) {
+	val, err := readBuffer.ReadUint8("BACnetNetworkNumberQuality", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetNetworkNumberQualityByValue(val), nil
+}
+
+func (e BACnetNetworkNumberQuality) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetNetworkNumberQuality", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetNetworkNumberQuality) name() string {
+	switch e {
+	case BACnetNetworkNumberQuality_UNKNOWN:
+		return "UNKNOWN"
+	case BACnetNetworkNumberQuality_LEARNED:
+		return "LEARNED"
+	case BACnetNetworkNumberQuality_LEARNED_CONFIGURED:
+		return "LEARNED_CONFIGURED"
+	case BACnetNetworkNumberQuality_CONFIGURED:
+		return "CONFIGURED"
+	}
+	return ""
+}
+
+func (e BACnetNetworkNumberQuality) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkPortCommand.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkPortCommand.go
index 1ca635096d..dec948c5ce 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkPortCommand.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetNetworkPortCommand.go
@@ -34,6 +34,14 @@ type IBACnetNetworkPortCommand interface {
 }
 
 const (
+	BACnetNetworkPortCommand_IDLE                     BACnetNetworkPortCommand = 0
+	BACnetNetworkPortCommand_DISCARD_CHANGES          BACnetNetworkPortCommand = 1
+	BACnetNetworkPortCommand_RENEW_FD_REGISTRATION    BACnetNetworkPortCommand = 2
+	BACnetNetworkPortCommand_RESTART_SLAVE_DISCOVERY  BACnetNetworkPortCommand = 3
+	BACnetNetworkPortCommand_RENEW_DHCP               BACnetNetworkPortCommand = 4
+	BACnetNetworkPortCommand_RESTART_AUTONEGOTIATION  BACnetNetworkPortCommand = 5
+	BACnetNetworkPortCommand_DISCONNECT               BACnetNetworkPortCommand = 6
+	BACnetNetworkPortCommand_RESTART_PORT             BACnetNetworkPortCommand = 7
 	BACnetNetworkPortCommand_VENDOR_PROPRIETARY_VALUE BACnetNetworkPortCommand = 0xFF
 )
 
@@ -42,22 +50,62 @@ var BACnetNetworkPortCommandValues []BACnetNetworkPortCommand
 func init() {
 	_ = errors.New
 	BACnetNetworkPortCommandValues = []BACnetNetworkPortCommand{
+		BACnetNetworkPortCommand_IDLE,
+		BACnetNetworkPortCommand_DISCARD_CHANGES,
+		BACnetNetworkPortCommand_RENEW_FD_REGISTRATION,
+		BACnetNetworkPortCommand_RESTART_SLAVE_DISCOVERY,
+		BACnetNetworkPortCommand_RENEW_DHCP,
+		BACnetNetworkPortCommand_RESTART_AUTONEGOTIATION,
+		BACnetNetworkPortCommand_DISCONNECT,
+		BACnetNetworkPortCommand_RESTART_PORT,
 		BACnetNetworkPortCommand_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetNetworkPortCommandByValue(value uint8) BACnetNetworkPortCommand {
 	switch value {
+	case 0:
+		return BACnetNetworkPortCommand_IDLE
 	case 0xFF:
 		return BACnetNetworkPortCommand_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetNetworkPortCommand_DISCARD_CHANGES
+	case 2:
+		return BACnetNetworkPortCommand_RENEW_FD_REGISTRATION
+	case 3:
+		return BACnetNetworkPortCommand_RESTART_SLAVE_DISCOVERY
+	case 4:
+		return BACnetNetworkPortCommand_RENEW_DHCP
+	case 5:
+		return BACnetNetworkPortCommand_RESTART_AUTONEGOTIATION
+	case 6:
+		return BACnetNetworkPortCommand_DISCONNECT
+	case 7:
+		return BACnetNetworkPortCommand_RESTART_PORT
 	}
 	return 0
 }
 
 func BACnetNetworkPortCommandByName(value string) BACnetNetworkPortCommand {
 	switch value {
+	case "IDLE":
+		return BACnetNetworkPortCommand_IDLE
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetNetworkPortCommand_VENDOR_PROPRIETARY_VALUE
+	case "DISCARD_CHANGES":
+		return BACnetNetworkPortCommand_DISCARD_CHANGES
+	case "RENEW_FD_REGISTRATION":
+		return BACnetNetworkPortCommand_RENEW_FD_REGISTRATION
+	case "RESTART_SLAVE_DISCOVERY":
+		return BACnetNetworkPortCommand_RESTART_SLAVE_DISCOVERY
+	case "RENEW_DHCP":
+		return BACnetNetworkPortCommand_RENEW_DHCP
+	case "RESTART_AUTONEGOTIATION":
+		return BACnetNetworkPortCommand_RESTART_AUTONEGOTIATION
+	case "DISCONNECT":
+		return BACnetNetworkPortCommand_DISCONNECT
+	case "RESTART_PORT":
+		return BACnetNetworkPortCommand_RESTART_PORT
 	}
 	return 0
 }
@@ -103,8 +151,24 @@ func (e BACnetNetworkPortCommand) Serialize(writeBuffer utils.WriteBuffer) error
 
 func (e BACnetNetworkPortCommand) name() string {
 	switch e {
+	case BACnetNetworkPortCommand_IDLE:
+		return "IDLE"
 	case BACnetNetworkPortCommand_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetNetworkPortCommand_DISCARD_CHANGES:
+		return "DISCARD_CHANGES"
+	case BACnetNetworkPortCommand_RENEW_FD_REGISTRATION:
+		return "RENEW_FD_REGISTRATION"
+	case BACnetNetworkPortCommand_RESTART_SLAVE_DISCOVERY:
+		return "RESTART_SLAVE_DISCOVERY"
+	case BACnetNetworkPortCommand_RENEW_DHCP:
+		return "RENEW_DHCP"
+	case BACnetNetworkPortCommand_RESTART_AUTONEGOTIATION:
+		return "RESTART_AUTONEGOTIATION"
+	case BACnetNetworkPortCommand_DISCONNECT:
+		return "DISCONNECT"
+	case BACnetNetworkPortCommand_RESTART_PORT:
+		return "RESTART_PORT"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPolarity.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPolarity.go
new file mode 100644
index 0000000000..f510fae8dd
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetPolarity.go
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetPolarity is an enum
+type BACnetPolarity uint8
+
+type IBACnetPolarity interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetPolarity_NORMAL  BACnetPolarity = 0
+	BACnetPolarity_REVERSE BACnetPolarity = 1
+)
+
+var BACnetPolarityValues []BACnetPolarity
+
+func init() {
+	_ = errors.New
+	BACnetPolarityValues = []BACnetPolarity{
+		BACnetPolarity_NORMAL,
+		BACnetPolarity_REVERSE,
+	}
+}
+
+func BACnetPolarityByValue(value uint8) BACnetPolarity {
+	switch value {
+	case 0:
+		return BACnetPolarity_NORMAL
+	case 1:
+		return BACnetPolarity_REVERSE
+	}
+	return 0
+}
+
+func BACnetPolarityByName(value string) BACnetPolarity {
+	switch value {
+	case "NORMAL":
+		return BACnetPolarity_NORMAL
+	case "REVERSE":
+		return BACnetPolarity_REVERSE
+	}
+	return 0
+}
+
+func BACnetPolarityKnows(value uint8) bool {
+	for _, typeValue := range BACnetPolarityValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetPolarity(structType interface{}) BACnetPolarity {
+	castFunc := func(typ interface{}) BACnetPolarity {
+		if sBACnetPolarity, ok := typ.(BACnetPolarity); ok {
+			return sBACnetPolarity
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetPolarity) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetPolarity) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetPolarityParse(readBuffer utils.ReadBuffer) (BACnetPolarity, error) {
+	val, err := readBuffer.ReadUint8("BACnetPolarity", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetPolarityByValue(val), nil
+}
+
+func (e BACnetPolarity) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetPolarity", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetPolarity) name() string {
+	switch e {
+	case BACnetPolarity_NORMAL:
+		return "NORMAL"
+	case BACnetPolarity_REVERSE:
+		return "REVERSE"
+	}
+	return ""
+}
+
+func (e BACnetPolarity) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramError.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramError.go
index 9f60d0923d..2da49c3ef8 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramError.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramError.go
@@ -34,6 +34,11 @@ type IBACnetProgramError interface {
 }
 
 const (
+	BACnetProgramError_NORMAL                   BACnetProgramError = 0
+	BACnetProgramError_LOAD_FAILED              BACnetProgramError = 1
+	BACnetProgramError_INTERNAL                 BACnetProgramError = 2
+	BACnetProgramError_PROGRAM                  BACnetProgramError = 3
+	BACnetProgramError_OTHER                    BACnetProgramError = 4
 	BACnetProgramError_VENDOR_PROPRIETARY_VALUE BACnetProgramError = 0xFFFF
 )
 
@@ -42,22 +47,47 @@ var BACnetProgramErrorValues []BACnetProgramError
 func init() {
 	_ = errors.New
 	BACnetProgramErrorValues = []BACnetProgramError{
+		BACnetProgramError_NORMAL,
+		BACnetProgramError_LOAD_FAILED,
+		BACnetProgramError_INTERNAL,
+		BACnetProgramError_PROGRAM,
+		BACnetProgramError_OTHER,
 		BACnetProgramError_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetProgramErrorByValue(value uint16) BACnetProgramError {
 	switch value {
+	case 0:
+		return BACnetProgramError_NORMAL
 	case 0xFFFF:
 		return BACnetProgramError_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetProgramError_LOAD_FAILED
+	case 2:
+		return BACnetProgramError_INTERNAL
+	case 3:
+		return BACnetProgramError_PROGRAM
+	case 4:
+		return BACnetProgramError_OTHER
 	}
 	return 0
 }
 
 func BACnetProgramErrorByName(value string) BACnetProgramError {
 	switch value {
+	case "NORMAL":
+		return BACnetProgramError_NORMAL
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetProgramError_VENDOR_PROPRIETARY_VALUE
+	case "LOAD_FAILED":
+		return BACnetProgramError_LOAD_FAILED
+	case "INTERNAL":
+		return BACnetProgramError_INTERNAL
+	case "PROGRAM":
+		return BACnetProgramError_PROGRAM
+	case "OTHER":
+		return BACnetProgramError_OTHER
 	}
 	return 0
 }
@@ -103,8 +133,18 @@ func (e BACnetProgramError) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetProgramError) name() string {
 	switch e {
+	case BACnetProgramError_NORMAL:
+		return "NORMAL"
 	case BACnetProgramError_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetProgramError_LOAD_FAILED:
+		return "LOAD_FAILED"
+	case BACnetProgramError_INTERNAL:
+		return "INTERNAL"
+	case BACnetProgramError_PROGRAM:
+		return "PROGRAM"
+	case BACnetProgramError_OTHER:
+		return "OTHER"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramRequest.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramRequest.go
new file mode 100644
index 0000000000..8157eb62ea
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramRequest.go
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetProgramRequest is an enum
+type BACnetProgramRequest uint8
+
+type IBACnetProgramRequest interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetProgramRequest_READY   BACnetProgramRequest = 0
+	BACnetProgramRequest_LOAD    BACnetProgramRequest = 1
+	BACnetProgramRequest_RUN     BACnetProgramRequest = 2
+	BACnetProgramRequest_HALT    BACnetProgramRequest = 3
+	BACnetProgramRequest_RESTART BACnetProgramRequest = 4
+	BACnetProgramRequest_UNLOAD  BACnetProgramRequest = 5
+)
+
+var BACnetProgramRequestValues []BACnetProgramRequest
+
+func init() {
+	_ = errors.New
+	BACnetProgramRequestValues = []BACnetProgramRequest{
+		BACnetProgramRequest_READY,
+		BACnetProgramRequest_LOAD,
+		BACnetProgramRequest_RUN,
+		BACnetProgramRequest_HALT,
+		BACnetProgramRequest_RESTART,
+		BACnetProgramRequest_UNLOAD,
+	}
+}
+
+func BACnetProgramRequestByValue(value uint8) BACnetProgramRequest {
+	switch value {
+	case 0:
+		return BACnetProgramRequest_READY
+	case 1:
+		return BACnetProgramRequest_LOAD
+	case 2:
+		return BACnetProgramRequest_RUN
+	case 3:
+		return BACnetProgramRequest_HALT
+	case 4:
+		return BACnetProgramRequest_RESTART
+	case 5:
+		return BACnetProgramRequest_UNLOAD
+	}
+	return 0
+}
+
+func BACnetProgramRequestByName(value string) BACnetProgramRequest {
+	switch value {
+	case "READY":
+		return BACnetProgramRequest_READY
+	case "LOAD":
+		return BACnetProgramRequest_LOAD
+	case "RUN":
+		return BACnetProgramRequest_RUN
+	case "HALT":
+		return BACnetProgramRequest_HALT
+	case "RESTART":
+		return BACnetProgramRequest_RESTART
+	case "UNLOAD":
+		return BACnetProgramRequest_UNLOAD
+	}
+	return 0
+}
+
+func BACnetProgramRequestKnows(value uint8) bool {
+	for _, typeValue := range BACnetProgramRequestValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetProgramRequest(structType interface{}) BACnetProgramRequest {
+	castFunc := func(typ interface{}) BACnetProgramRequest {
+		if sBACnetProgramRequest, ok := typ.(BACnetProgramRequest); ok {
+			return sBACnetProgramRequest
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetProgramRequest) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetProgramRequest) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetProgramRequestParse(readBuffer utils.ReadBuffer) (BACnetProgramRequest, error) {
+	val, err := readBuffer.ReadUint8("BACnetProgramRequest", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetProgramRequestByValue(val), nil
+}
+
+func (e BACnetProgramRequest) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetProgramRequest", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetProgramRequest) name() string {
+	switch e {
+	case BACnetProgramRequest_READY:
+		return "READY"
+	case BACnetProgramRequest_LOAD:
+		return "LOAD"
+	case BACnetProgramRequest_RUN:
+		return "RUN"
+	case BACnetProgramRequest_HALT:
+		return "HALT"
+	case BACnetProgramRequest_RESTART:
+		return "RESTART"
+	case BACnetProgramRequest_UNLOAD:
+		return "UNLOAD"
+	}
+	return ""
+}
+
+func (e BACnetProgramRequest) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramState.go
new file mode 100644
index 0000000000..7038e336fd
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProgramState.go
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetProgramState is an enum
+type BACnetProgramState uint8
+
+type IBACnetProgramState interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetProgramState_IDLE      BACnetProgramState = 0
+	BACnetProgramState_LOADING   BACnetProgramState = 1
+	BACnetProgramState_RUNNING   BACnetProgramState = 2
+	BACnetProgramState_WAITING   BACnetProgramState = 3
+	BACnetProgramState_HALTED    BACnetProgramState = 4
+	BACnetProgramState_UNLOADING BACnetProgramState = 5
+)
+
+var BACnetProgramStateValues []BACnetProgramState
+
+func init() {
+	_ = errors.New
+	BACnetProgramStateValues = []BACnetProgramState{
+		BACnetProgramState_IDLE,
+		BACnetProgramState_LOADING,
+		BACnetProgramState_RUNNING,
+		BACnetProgramState_WAITING,
+		BACnetProgramState_HALTED,
+		BACnetProgramState_UNLOADING,
+	}
+}
+
+func BACnetProgramStateByValue(value uint8) BACnetProgramState {
+	switch value {
+	case 0:
+		return BACnetProgramState_IDLE
+	case 1:
+		return BACnetProgramState_LOADING
+	case 2:
+		return BACnetProgramState_RUNNING
+	case 3:
+		return BACnetProgramState_WAITING
+	case 4:
+		return BACnetProgramState_HALTED
+	case 5:
+		return BACnetProgramState_UNLOADING
+	}
+	return 0
+}
+
+func BACnetProgramStateByName(value string) BACnetProgramState {
+	switch value {
+	case "IDLE":
+		return BACnetProgramState_IDLE
+	case "LOADING":
+		return BACnetProgramState_LOADING
+	case "RUNNING":
+		return BACnetProgramState_RUNNING
+	case "WAITING":
+		return BACnetProgramState_WAITING
+	case "HALTED":
+		return BACnetProgramState_HALTED
+	case "UNLOADING":
+		return BACnetProgramState_UNLOADING
+	}
+	return 0
+}
+
+func BACnetProgramStateKnows(value uint8) bool {
+	for _, typeValue := range BACnetProgramStateValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetProgramState(structType interface{}) BACnetProgramState {
+	castFunc := func(typ interface{}) BACnetProgramState {
+		if sBACnetProgramState, ok := typ.(BACnetProgramState); ok {
+			return sBACnetProgramState
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetProgramState) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetProgramState) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetProgramStateParse(readBuffer utils.ReadBuffer) (BACnetProgramState, error) {
+	val, err := readBuffer.ReadUint8("BACnetProgramState", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetProgramStateByValue(val), nil
+}
+
+func (e BACnetProgramState) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetProgramState", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetProgramState) name() string {
+	switch e {
+	case BACnetProgramState_IDLE:
+		return "IDLE"
+	case BACnetProgramState_LOADING:
+		return "LOADING"
+	case BACnetProgramState_RUNNING:
+		return "RUNNING"
+	case BACnetProgramState_WAITING:
+		return "WAITING"
+	case BACnetProgramState_HALTED:
+		return "HALTED"
+	case BACnetProgramState_UNLOADING:
+		return "UNLOADING"
+	}
+	return ""
+}
+
+func (e BACnetProgramState) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProtocolLevel.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProtocolLevel.go
new file mode 100644
index 0000000000..2c536056c2
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetProtocolLevel.go
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetProtocolLevel is an enum
+type BACnetProtocolLevel uint8
+
+type IBACnetProtocolLevel interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetProtocolLevel_PHYSICAL               BACnetProtocolLevel = 0
+	BACnetProtocolLevel_PROTOCOL               BACnetProtocolLevel = 1
+	BACnetProtocolLevel_BACNET_APPLICATION     BACnetProtocolLevel = 2
+	BACnetProtocolLevel_NON_BACNET_APPLICATION BACnetProtocolLevel = 3
+)
+
+var BACnetProtocolLevelValues []BACnetProtocolLevel
+
+func init() {
+	_ = errors.New
+	BACnetProtocolLevelValues = []BACnetProtocolLevel{
+		BACnetProtocolLevel_PHYSICAL,
+		BACnetProtocolLevel_PROTOCOL,
+		BACnetProtocolLevel_BACNET_APPLICATION,
+		BACnetProtocolLevel_NON_BACNET_APPLICATION,
+	}
+}
+
+func BACnetProtocolLevelByValue(value uint8) BACnetProtocolLevel {
+	switch value {
+	case 0:
+		return BACnetProtocolLevel_PHYSICAL
+	case 1:
+		return BACnetProtocolLevel_PROTOCOL
+	case 2:
+		return BACnetProtocolLevel_BACNET_APPLICATION
+	case 3:
+		return BACnetProtocolLevel_NON_BACNET_APPLICATION
+	}
+	return 0
+}
+
+func BACnetProtocolLevelByName(value string) BACnetProtocolLevel {
+	switch value {
+	case "PHYSICAL":
+		return BACnetProtocolLevel_PHYSICAL
+	case "PROTOCOL":
+		return BACnetProtocolLevel_PROTOCOL
+	case "BACNET_APPLICATION":
+		return BACnetProtocolLevel_BACNET_APPLICATION
+	case "NON_BACNET_APPLICATION":
+		return BACnetProtocolLevel_NON_BACNET_APPLICATION
+	}
+	return 0
+}
+
+func BACnetProtocolLevelKnows(value uint8) bool {
+	for _, typeValue := range BACnetProtocolLevelValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetProtocolLevel(structType interface{}) BACnetProtocolLevel {
+	castFunc := func(typ interface{}) BACnetProtocolLevel {
+		if sBACnetProtocolLevel, ok := typ.(BACnetProtocolLevel); ok {
+			return sBACnetProtocolLevel
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetProtocolLevel) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetProtocolLevel) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetProtocolLevelParse(readBuffer utils.ReadBuffer) (BACnetProtocolLevel, error) {
+	val, err := readBuffer.ReadUint8("BACnetProtocolLevel", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetProtocolLevelByValue(val), nil
+}
+
+func (e BACnetProtocolLevel) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetProtocolLevel", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetProtocolLevel) name() string {
+	switch e {
+	case BACnetProtocolLevel_PHYSICAL:
+		return "PHYSICAL"
+	case BACnetProtocolLevel_PROTOCOL:
+		return "PROTOCOL"
+	case BACnetProtocolLevel_BACNET_APPLICATION:
+		return "BACNET_APPLICATION"
+	case BACnetProtocolLevel_NON_BACNET_APPLICATION:
+		return "NON_BACNET_APPLICATION"
+	}
+	return ""
+}
+
+func (e BACnetProtocolLevel) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRelationship.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRelationship.go
index 4dc93f8023..1b4555e3bb 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRelationship.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRelationship.go
@@ -34,6 +34,36 @@ type IBACnetRelationship interface {
 }
 
 const (
+	BACnetRelationship_UNKNOWN                  BACnetRelationship = 0
+	BACnetRelationship_DEFAULT                  BACnetRelationship = 1
+	BACnetRelationship_CONTAINS                 BACnetRelationship = 2
+	BACnetRelationship_CONTAINED_BY             BACnetRelationship = 3
+	BACnetRelationship_USES                     BACnetRelationship = 4
+	BACnetRelationship_USED_BY                  BACnetRelationship = 5
+	BACnetRelationship_COMMANDS                 BACnetRelationship = 6
+	BACnetRelationship_COMMANDED_BY             BACnetRelationship = 7
+	BACnetRelationship_ADJUSTS                  BACnetRelationship = 8
+	BACnetRelationship_ADJUSTED_BY              BACnetRelationship = 9
+	BACnetRelationship_INGRESS                  BACnetRelationship = 10
+	BACnetRelationship_EGRESS                   BACnetRelationship = 11
+	BACnetRelationship_SUPPLIES_AIR             BACnetRelationship = 12
+	BACnetRelationship_RECEIVES_AIR             BACnetRelationship = 13
+	BACnetRelationship_SUPPLIES_HOT_AIR         BACnetRelationship = 14
+	BACnetRelationship_RECEIVES_HOT_AIR         BACnetRelationship = 15
+	BACnetRelationship_SUPPLIES_COOL_AIR        BACnetRelationship = 16
+	BACnetRelationship_RECEIVES_COOL_AIR        BACnetRelationship = 17
+	BACnetRelationship_SUPPLIES_POWER           BACnetRelationship = 18
+	BACnetRelationship_RECEIVES_POWER           BACnetRelationship = 19
+	BACnetRelationship_SUPPLIES_GAS             BACnetRelationship = 20
+	BACnetRelationship_RECEIVES_GAS             BACnetRelationship = 21
+	BACnetRelationship_SUPPLIES_WATER           BACnetRelationship = 22
+	BACnetRelationship_RECEIVES_WATER           BACnetRelationship = 23
+	BACnetRelationship_SUPPLIES_HOT_WATER       BACnetRelationship = 24
+	BACnetRelationship_RECEIVES_HOT_WATER       BACnetRelationship = 25
+	BACnetRelationship_SUPPLIES_COOL_WATER      BACnetRelationship = 26
+	BACnetRelationship_RECEIVES_COOL_WATER      BACnetRelationship = 27
+	BACnetRelationship_SUPPLIES_STEAM           BACnetRelationship = 28
+	BACnetRelationship_RECEIVES_STEAM           BACnetRelationship = 29
 	BACnetRelationship_VENDOR_PROPRIETARY_VALUE BACnetRelationship = 0xFFFF
 )
 
@@ -42,22 +72,172 @@ var BACnetRelationshipValues []BACnetRelationship
 func init() {
 	_ = errors.New
 	BACnetRelationshipValues = []BACnetRelationship{
+		BACnetRelationship_UNKNOWN,
+		BACnetRelationship_DEFAULT,
+		BACnetRelationship_CONTAINS,
+		BACnetRelationship_CONTAINED_BY,
+		BACnetRelationship_USES,
+		BACnetRelationship_USED_BY,
+		BACnetRelationship_COMMANDS,
+		BACnetRelationship_COMMANDED_BY,
+		BACnetRelationship_ADJUSTS,
+		BACnetRelationship_ADJUSTED_BY,
+		BACnetRelationship_INGRESS,
+		BACnetRelationship_EGRESS,
+		BACnetRelationship_SUPPLIES_AIR,
+		BACnetRelationship_RECEIVES_AIR,
+		BACnetRelationship_SUPPLIES_HOT_AIR,
+		BACnetRelationship_RECEIVES_HOT_AIR,
+		BACnetRelationship_SUPPLIES_COOL_AIR,
+		BACnetRelationship_RECEIVES_COOL_AIR,
+		BACnetRelationship_SUPPLIES_POWER,
+		BACnetRelationship_RECEIVES_POWER,
+		BACnetRelationship_SUPPLIES_GAS,
+		BACnetRelationship_RECEIVES_GAS,
+		BACnetRelationship_SUPPLIES_WATER,
+		BACnetRelationship_RECEIVES_WATER,
+		BACnetRelationship_SUPPLIES_HOT_WATER,
+		BACnetRelationship_RECEIVES_HOT_WATER,
+		BACnetRelationship_SUPPLIES_COOL_WATER,
+		BACnetRelationship_RECEIVES_COOL_WATER,
+		BACnetRelationship_SUPPLIES_STEAM,
+		BACnetRelationship_RECEIVES_STEAM,
 		BACnetRelationship_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetRelationshipByValue(value uint16) BACnetRelationship {
 	switch value {
+	case 0:
+		return BACnetRelationship_UNKNOWN
 	case 0xFFFF:
 		return BACnetRelationship_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetRelationship_DEFAULT
+	case 10:
+		return BACnetRelationship_INGRESS
+	case 11:
+		return BACnetRelationship_EGRESS
+	case 12:
+		return BACnetRelationship_SUPPLIES_AIR
+	case 13:
+		return BACnetRelationship_RECEIVES_AIR
+	case 14:
+		return BACnetRelationship_SUPPLIES_HOT_AIR
+	case 15:
+		return BACnetRelationship_RECEIVES_HOT_AIR
+	case 16:
+		return BACnetRelationship_SUPPLIES_COOL_AIR
+	case 17:
+		return BACnetRelationship_RECEIVES_COOL_AIR
+	case 18:
+		return BACnetRelationship_SUPPLIES_POWER
+	case 19:
+		return BACnetRelationship_RECEIVES_POWER
+	case 2:
+		return BACnetRelationship_CONTAINS
+	case 20:
+		return BACnetRelationship_SUPPLIES_GAS
+	case 21:
+		return BACnetRelationship_RECEIVES_GAS
+	case 22:
+		return BACnetRelationship_SUPPLIES_WATER
+	case 23:
+		return BACnetRelationship_RECEIVES_WATER
+	case 24:
+		return BACnetRelationship_SUPPLIES_HOT_WATER
+	case 25:
+		return BACnetRelationship_RECEIVES_HOT_WATER
+	case 26:
+		return BACnetRelationship_SUPPLIES_COOL_WATER
+	case 27:
+		return BACnetRelationship_RECEIVES_COOL_WATER
+	case 28:
+		return BACnetRelationship_SUPPLIES_STEAM
+	case 29:
+		return BACnetRelationship_RECEIVES_STEAM
+	case 3:
+		return BACnetRelationship_CONTAINED_BY
+	case 4:
+		return BACnetRelationship_USES
+	case 5:
+		return BACnetRelationship_USED_BY
+	case 6:
+		return BACnetRelationship_COMMANDS
+	case 7:
+		return BACnetRelationship_COMMANDED_BY
+	case 8:
+		return BACnetRelationship_ADJUSTS
+	case 9:
+		return BACnetRelationship_ADJUSTED_BY
 	}
 	return 0
 }
 
 func BACnetRelationshipByName(value string) BACnetRelationship {
 	switch value {
+	case "UNKNOWN":
+		return BACnetRelationship_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetRelationship_VENDOR_PROPRIETARY_VALUE
+	case "DEFAULT":
+		return BACnetRelationship_DEFAULT
+	case "INGRESS":
+		return BACnetRelationship_INGRESS
+	case "EGRESS":
+		return BACnetRelationship_EGRESS
+	case "SUPPLIES_AIR":
+		return BACnetRelationship_SUPPLIES_AIR
+	case "RECEIVES_AIR":
+		return BACnetRelationship_RECEIVES_AIR
+	case "SUPPLIES_HOT_AIR":
+		return BACnetRelationship_SUPPLIES_HOT_AIR
+	case "RECEIVES_HOT_AIR":
+		return BACnetRelationship_RECEIVES_HOT_AIR
+	case "SUPPLIES_COOL_AIR":
+		return BACnetRelationship_SUPPLIES_COOL_AIR
+	case "RECEIVES_COOL_AIR":
+		return BACnetRelationship_RECEIVES_COOL_AIR
+	case "SUPPLIES_POWER":
+		return BACnetRelationship_SUPPLIES_POWER
+	case "RECEIVES_POWER":
+		return BACnetRelationship_RECEIVES_POWER
+	case "CONTAINS":
+		return BACnetRelationship_CONTAINS
+	case "SUPPLIES_GAS":
+		return BACnetRelationship_SUPPLIES_GAS
+	case "RECEIVES_GAS":
+		return BACnetRelationship_RECEIVES_GAS
+	case "SUPPLIES_WATER":
+		return BACnetRelationship_SUPPLIES_WATER
+	case "RECEIVES_WATER":
+		return BACnetRelationship_RECEIVES_WATER
+	case "SUPPLIES_HOT_WATER":
+		return BACnetRelationship_SUPPLIES_HOT_WATER
+	case "RECEIVES_HOT_WATER":
+		return BACnetRelationship_RECEIVES_HOT_WATER
+	case "SUPPLIES_COOL_WATER":
+		return BACnetRelationship_SUPPLIES_COOL_WATER
+	case "RECEIVES_COOL_WATER":
+		return BACnetRelationship_RECEIVES_COOL_WATER
+	case "SUPPLIES_STEAM":
+		return BACnetRelationship_SUPPLIES_STEAM
+	case "RECEIVES_STEAM":
+		return BACnetRelationship_RECEIVES_STEAM
+	case "CONTAINED_BY":
+		return BACnetRelationship_CONTAINED_BY
+	case "USES":
+		return BACnetRelationship_USES
+	case "USED_BY":
+		return BACnetRelationship_USED_BY
+	case "COMMANDS":
+		return BACnetRelationship_COMMANDS
+	case "COMMANDED_BY":
+		return BACnetRelationship_COMMANDED_BY
+	case "ADJUSTS":
+		return BACnetRelationship_ADJUSTS
+	case "ADJUSTED_BY":
+		return BACnetRelationship_ADJUSTED_BY
 	}
 	return 0
 }
@@ -103,8 +283,68 @@ func (e BACnetRelationship) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetRelationship) name() string {
 	switch e {
+	case BACnetRelationship_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetRelationship_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetRelationship_DEFAULT:
+		return "DEFAULT"
+	case BACnetRelationship_INGRESS:
+		return "INGRESS"
+	case BACnetRelationship_EGRESS:
+		return "EGRESS"
+	case BACnetRelationship_SUPPLIES_AIR:
+		return "SUPPLIES_AIR"
+	case BACnetRelationship_RECEIVES_AIR:
+		return "RECEIVES_AIR"
+	case BACnetRelationship_SUPPLIES_HOT_AIR:
+		return "SUPPLIES_HOT_AIR"
+	case BACnetRelationship_RECEIVES_HOT_AIR:
+		return "RECEIVES_HOT_AIR"
+	case BACnetRelationship_SUPPLIES_COOL_AIR:
+		return "SUPPLIES_COOL_AIR"
+	case BACnetRelationship_RECEIVES_COOL_AIR:
+		return "RECEIVES_COOL_AIR"
+	case BACnetRelationship_SUPPLIES_POWER:
+		return "SUPPLIES_POWER"
+	case BACnetRelationship_RECEIVES_POWER:
+		return "RECEIVES_POWER"
+	case BACnetRelationship_CONTAINS:
+		return "CONTAINS"
+	case BACnetRelationship_SUPPLIES_GAS:
+		return "SUPPLIES_GAS"
+	case BACnetRelationship_RECEIVES_GAS:
+		return "RECEIVES_GAS"
+	case BACnetRelationship_SUPPLIES_WATER:
+		return "SUPPLIES_WATER"
+	case BACnetRelationship_RECEIVES_WATER:
+		return "RECEIVES_WATER"
+	case BACnetRelationship_SUPPLIES_HOT_WATER:
+		return "SUPPLIES_HOT_WATER"
+	case BACnetRelationship_RECEIVES_HOT_WATER:
+		return "RECEIVES_HOT_WATER"
+	case BACnetRelationship_SUPPLIES_COOL_WATER:
+		return "SUPPLIES_COOL_WATER"
+	case BACnetRelationship_RECEIVES_COOL_WATER:
+		return "RECEIVES_COOL_WATER"
+	case BACnetRelationship_SUPPLIES_STEAM:
+		return "SUPPLIES_STEAM"
+	case BACnetRelationship_RECEIVES_STEAM:
+		return "RECEIVES_STEAM"
+	case BACnetRelationship_CONTAINED_BY:
+		return "CONTAINED_BY"
+	case BACnetRelationship_USES:
+		return "USES"
+	case BACnetRelationship_USED_BY:
+		return "USED_BY"
+	case BACnetRelationship_COMMANDS:
+		return "COMMANDS"
+	case BACnetRelationship_COMMANDED_BY:
+		return "COMMANDED_BY"
+	case BACnetRelationship_ADJUSTS:
+		return "ADJUSTS"
+	case BACnetRelationship_ADJUSTED_BY:
+		return "ADJUSTED_BY"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRestartReason.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRestartReason.go
index 2a283c45b9..5223be7ce9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRestartReason.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetRestartReason.go
@@ -34,6 +34,15 @@ type IBACnetRestartReason interface {
 }
 
 const (
+	BACnetRestartReason_UNKNOWN                  BACnetRestartReason = 0
+	BACnetRestartReason_COLDSTART                BACnetRestartReason = 1
+	BACnetRestartReason_WARMSTART                BACnetRestartReason = 2
+	BACnetRestartReason_DETECTED_POWER_LOST      BACnetRestartReason = 3
+	BACnetRestartReason_DETECTED_POWERED_OFF     BACnetRestartReason = 4
+	BACnetRestartReason_HARDWARE_WATCHDOG        BACnetRestartReason = 5
+	BACnetRestartReason_SOFTWARE_WATCHDOG        BACnetRestartReason = 6
+	BACnetRestartReason_SUSPENDED                BACnetRestartReason = 7
+	BACnetRestartReason_ACTIVATE_CHANGES         BACnetRestartReason = 8
 	BACnetRestartReason_VENDOR_PROPRIETARY_VALUE BACnetRestartReason = 0xFF
 )
 
@@ -42,22 +51,67 @@ var BACnetRestartReasonValues []BACnetRestartReason
 func init() {
 	_ = errors.New
 	BACnetRestartReasonValues = []BACnetRestartReason{
+		BACnetRestartReason_UNKNOWN,
+		BACnetRestartReason_COLDSTART,
+		BACnetRestartReason_WARMSTART,
+		BACnetRestartReason_DETECTED_POWER_LOST,
+		BACnetRestartReason_DETECTED_POWERED_OFF,
+		BACnetRestartReason_HARDWARE_WATCHDOG,
+		BACnetRestartReason_SOFTWARE_WATCHDOG,
+		BACnetRestartReason_SUSPENDED,
+		BACnetRestartReason_ACTIVATE_CHANGES,
 		BACnetRestartReason_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetRestartReasonByValue(value uint8) BACnetRestartReason {
 	switch value {
+	case 0:
+		return BACnetRestartReason_UNKNOWN
 	case 0xFF:
 		return BACnetRestartReason_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetRestartReason_COLDSTART
+	case 2:
+		return BACnetRestartReason_WARMSTART
+	case 3:
+		return BACnetRestartReason_DETECTED_POWER_LOST
+	case 4:
+		return BACnetRestartReason_DETECTED_POWERED_OFF
+	case 5:
+		return BACnetRestartReason_HARDWARE_WATCHDOG
+	case 6:
+		return BACnetRestartReason_SOFTWARE_WATCHDOG
+	case 7:
+		return BACnetRestartReason_SUSPENDED
+	case 8:
+		return BACnetRestartReason_ACTIVATE_CHANGES
 	}
 	return 0
 }
 
 func BACnetRestartReasonByName(value string) BACnetRestartReason {
 	switch value {
+	case "UNKNOWN":
+		return BACnetRestartReason_UNKNOWN
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetRestartReason_VENDOR_PROPRIETARY_VALUE
+	case "COLDSTART":
+		return BACnetRestartReason_COLDSTART
+	case "WARMSTART":
+		return BACnetRestartReason_WARMSTART
+	case "DETECTED_POWER_LOST":
+		return BACnetRestartReason_DETECTED_POWER_LOST
+	case "DETECTED_POWERED_OFF":
+		return BACnetRestartReason_DETECTED_POWERED_OFF
+	case "HARDWARE_WATCHDOG":
+		return BACnetRestartReason_HARDWARE_WATCHDOG
+	case "SOFTWARE_WATCHDOG":
+		return BACnetRestartReason_SOFTWARE_WATCHDOG
+	case "SUSPENDED":
+		return BACnetRestartReason_SUSPENDED
+	case "ACTIVATE_CHANGES":
+		return BACnetRestartReason_ACTIVATE_CHANGES
 	}
 	return 0
 }
@@ -103,8 +157,26 @@ func (e BACnetRestartReason) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetRestartReason) name() string {
 	switch e {
+	case BACnetRestartReason_UNKNOWN:
+		return "UNKNOWN"
 	case BACnetRestartReason_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetRestartReason_COLDSTART:
+		return "COLDSTART"
+	case BACnetRestartReason_WARMSTART:
+		return "WARMSTART"
+	case BACnetRestartReason_DETECTED_POWER_LOST:
+		return "DETECTED_POWER_LOST"
+	case BACnetRestartReason_DETECTED_POWERED_OFF:
+		return "DETECTED_POWERED_OFF"
+	case BACnetRestartReason_HARDWARE_WATCHDOG:
+		return "HARDWARE_WATCHDOG"
+	case BACnetRestartReason_SOFTWARE_WATCHDOG:
+		return "SOFTWARE_WATCHDOG"
+	case BACnetRestartReason_SUSPENDED:
+		return "SUSPENDED"
+	case BACnetRestartReason_ACTIVATE_CHANGES:
+		return "ACTIVATE_CHANGES"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSecurityLevel.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSecurityLevel.go
new file mode 100644
index 0000000000..d2f4dbd620
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSecurityLevel.go
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetSecurityLevel is an enum
+type BACnetSecurityLevel uint8
+
+type IBACnetSecurityLevel interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetSecurityLevel_INCAPABLE            BACnetSecurityLevel = 0
+	BACnetSecurityLevel_PLAIN                BACnetSecurityLevel = 1
+	BACnetSecurityLevel_SIGNED               BACnetSecurityLevel = 2
+	BACnetSecurityLevel_ENCRYPTED            BACnetSecurityLevel = 3
+	BACnetSecurityLevel_SIGNED_END_TO_END    BACnetSecurityLevel = 4
+	BACnetSecurityLevel_ENCRYPTED_END_TO_END BACnetSecurityLevel = 5
+)
+
+var BACnetSecurityLevelValues []BACnetSecurityLevel
+
+func init() {
+	_ = errors.New
+	BACnetSecurityLevelValues = []BACnetSecurityLevel{
+		BACnetSecurityLevel_INCAPABLE,
+		BACnetSecurityLevel_PLAIN,
+		BACnetSecurityLevel_SIGNED,
+		BACnetSecurityLevel_ENCRYPTED,
+		BACnetSecurityLevel_SIGNED_END_TO_END,
+		BACnetSecurityLevel_ENCRYPTED_END_TO_END,
+	}
+}
+
+func BACnetSecurityLevelByValue(value uint8) BACnetSecurityLevel {
+	switch value {
+	case 0:
+		return BACnetSecurityLevel_INCAPABLE
+	case 1:
+		return BACnetSecurityLevel_PLAIN
+	case 2:
+		return BACnetSecurityLevel_SIGNED
+	case 3:
+		return BACnetSecurityLevel_ENCRYPTED
+	case 4:
+		return BACnetSecurityLevel_SIGNED_END_TO_END
+	case 5:
+		return BACnetSecurityLevel_ENCRYPTED_END_TO_END
+	}
+	return 0
+}
+
+func BACnetSecurityLevelByName(value string) BACnetSecurityLevel {
+	switch value {
+	case "INCAPABLE":
+		return BACnetSecurityLevel_INCAPABLE
+	case "PLAIN":
+		return BACnetSecurityLevel_PLAIN
+	case "SIGNED":
+		return BACnetSecurityLevel_SIGNED
+	case "ENCRYPTED":
+		return BACnetSecurityLevel_ENCRYPTED
+	case "SIGNED_END_TO_END":
+		return BACnetSecurityLevel_SIGNED_END_TO_END
+	case "ENCRYPTED_END_TO_END":
+		return BACnetSecurityLevel_ENCRYPTED_END_TO_END
+	}
+	return 0
+}
+
+func BACnetSecurityLevelKnows(value uint8) bool {
+	for _, typeValue := range BACnetSecurityLevelValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetSecurityLevel(structType interface{}) BACnetSecurityLevel {
+	castFunc := func(typ interface{}) BACnetSecurityLevel {
+		if sBACnetSecurityLevel, ok := typ.(BACnetSecurityLevel); ok {
+			return sBACnetSecurityLevel
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetSecurityLevel) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetSecurityLevel) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetSecurityLevelParse(readBuffer utils.ReadBuffer) (BACnetSecurityLevel, error) {
+	val, err := readBuffer.ReadUint8("BACnetSecurityLevel", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetSecurityLevelByValue(val), nil
+}
+
+func (e BACnetSecurityLevel) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetSecurityLevel", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetSecurityLevel) name() string {
+	switch e {
+	case BACnetSecurityLevel_INCAPABLE:
+		return "INCAPABLE"
+	case BACnetSecurityLevel_PLAIN:
+		return "PLAIN"
+	case BACnetSecurityLevel_SIGNED:
+		return "SIGNED"
+	case BACnetSecurityLevel_ENCRYPTED:
+		return "ENCRYPTED"
+	case BACnetSecurityLevel_SIGNED_END_TO_END:
+		return "SIGNED_END_TO_END"
+	case BACnetSecurityLevel_ENCRYPTED_END_TO_END:
+		return "ENCRYPTED_END_TO_END"
+	}
+	return ""
+}
+
+func (e BACnetSecurityLevel) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSecurityPolicy.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSecurityPolicy.go
new file mode 100644
index 0000000000..d8ea760303
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSecurityPolicy.go
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetSecurityPolicy is an enum
+type BACnetSecurityPolicy uint8
+
+type IBACnetSecurityPolicy interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetSecurityPolicy_PLAIN_NON_TRUSTED BACnetSecurityPolicy = 0
+	BACnetSecurityPolicy_PLAIN_TRUSTED     BACnetSecurityPolicy = 1
+	BACnetSecurityPolicy_SIGNED_TRUSTED    BACnetSecurityPolicy = 2
+	BACnetSecurityPolicy_ENCRYPTED_TRUSTED BACnetSecurityPolicy = 3
+)
+
+var BACnetSecurityPolicyValues []BACnetSecurityPolicy
+
+func init() {
+	_ = errors.New
+	BACnetSecurityPolicyValues = []BACnetSecurityPolicy{
+		BACnetSecurityPolicy_PLAIN_NON_TRUSTED,
+		BACnetSecurityPolicy_PLAIN_TRUSTED,
+		BACnetSecurityPolicy_SIGNED_TRUSTED,
+		BACnetSecurityPolicy_ENCRYPTED_TRUSTED,
+	}
+}
+
+func BACnetSecurityPolicyByValue(value uint8) BACnetSecurityPolicy {
+	switch value {
+	case 0:
+		return BACnetSecurityPolicy_PLAIN_NON_TRUSTED
+	case 1:
+		return BACnetSecurityPolicy_PLAIN_TRUSTED
+	case 2:
+		return BACnetSecurityPolicy_SIGNED_TRUSTED
+	case 3:
+		return BACnetSecurityPolicy_ENCRYPTED_TRUSTED
+	}
+	return 0
+}
+
+func BACnetSecurityPolicyByName(value string) BACnetSecurityPolicy {
+	switch value {
+	case "PLAIN_NON_TRUSTED":
+		return BACnetSecurityPolicy_PLAIN_NON_TRUSTED
+	case "PLAIN_TRUSTED":
+		return BACnetSecurityPolicy_PLAIN_TRUSTED
+	case "SIGNED_TRUSTED":
+		return BACnetSecurityPolicy_SIGNED_TRUSTED
+	case "ENCRYPTED_TRUSTED":
+		return BACnetSecurityPolicy_ENCRYPTED_TRUSTED
+	}
+	return 0
+}
+
+func BACnetSecurityPolicyKnows(value uint8) bool {
+	for _, typeValue := range BACnetSecurityPolicyValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetSecurityPolicy(structType interface{}) BACnetSecurityPolicy {
+	castFunc := func(typ interface{}) BACnetSecurityPolicy {
+		if sBACnetSecurityPolicy, ok := typ.(BACnetSecurityPolicy); ok {
+			return sBACnetSecurityPolicy
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetSecurityPolicy) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetSecurityPolicy) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetSecurityPolicyParse(readBuffer utils.ReadBuffer) (BACnetSecurityPolicy, error) {
+	val, err := readBuffer.ReadUint8("BACnetSecurityPolicy", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetSecurityPolicyByValue(val), nil
+}
+
+func (e BACnetSecurityPolicy) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetSecurityPolicy", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetSecurityPolicy) name() string {
+	switch e {
+	case BACnetSecurityPolicy_PLAIN_NON_TRUSTED:
+		return "PLAIN_NON_TRUSTED"
+	case BACnetSecurityPolicy_PLAIN_TRUSTED:
+		return "PLAIN_TRUSTED"
+	case BACnetSecurityPolicy_SIGNED_TRUSTED:
+		return "SIGNED_TRUSTED"
+	case BACnetSecurityPolicy_ENCRYPTED_TRUSTED:
+		return "ENCRYPTED_TRUSTED"
+	}
+	return ""
+}
+
+func (e BACnetSecurityPolicy) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetShedState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetShedState.go
new file mode 100644
index 0000000000..20ac0478fb
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetShedState.go
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetShedState is an enum
+type BACnetShedState uint8
+
+type IBACnetShedState interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetShedState_SHED_INACTIVE        BACnetShedState = 0
+	BACnetShedState_SHED_REQUEST_PENDING BACnetShedState = 1
+	BACnetShedState_SHED_COMPLIANT       BACnetShedState = 2
+	BACnetShedState_SHED_NON_COMPLIANT   BACnetShedState = 3
+)
+
+var BACnetShedStateValues []BACnetShedState
+
+func init() {
+	_ = errors.New
+	BACnetShedStateValues = []BACnetShedState{
+		BACnetShedState_SHED_INACTIVE,
+		BACnetShedState_SHED_REQUEST_PENDING,
+		BACnetShedState_SHED_COMPLIANT,
+		BACnetShedState_SHED_NON_COMPLIANT,
+	}
+}
+
+func BACnetShedStateByValue(value uint8) BACnetShedState {
+	switch value {
+	case 0:
+		return BACnetShedState_SHED_INACTIVE
+	case 1:
+		return BACnetShedState_SHED_REQUEST_PENDING
+	case 2:
+		return BACnetShedState_SHED_COMPLIANT
+	case 3:
+		return BACnetShedState_SHED_NON_COMPLIANT
+	}
+	return 0
+}
+
+func BACnetShedStateByName(value string) BACnetShedState {
+	switch value {
+	case "SHED_INACTIVE":
+		return BACnetShedState_SHED_INACTIVE
+	case "SHED_REQUEST_PENDING":
+		return BACnetShedState_SHED_REQUEST_PENDING
+	case "SHED_COMPLIANT":
+		return BACnetShedState_SHED_COMPLIANT
+	case "SHED_NON_COMPLIANT":
+		return BACnetShedState_SHED_NON_COMPLIANT
+	}
+	return 0
+}
+
+func BACnetShedStateKnows(value uint8) bool {
+	for _, typeValue := range BACnetShedStateValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetShedState(structType interface{}) BACnetShedState {
+	castFunc := func(typ interface{}) BACnetShedState {
+		if sBACnetShedState, ok := typ.(BACnetShedState); ok {
+			return sBACnetShedState
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetShedState) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetShedState) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetShedStateParse(readBuffer utils.ReadBuffer) (BACnetShedState, error) {
+	val, err := readBuffer.ReadUint8("BACnetShedState", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetShedStateByValue(val), nil
+}
+
+func (e BACnetShedState) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetShedState", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetShedState) name() string {
+	switch e {
+	case BACnetShedState_SHED_INACTIVE:
+		return "SHED_INACTIVE"
+	case BACnetShedState_SHED_REQUEST_PENDING:
+		return "SHED_REQUEST_PENDING"
+	case BACnetShedState_SHED_COMPLIANT:
+		return "SHED_COMPLIANT"
+	case BACnetShedState_SHED_NON_COMPLIANT:
+		return "SHED_NON_COMPLIANT"
+	}
+	return ""
+}
+
+func (e BACnetShedState) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSilencedState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSilencedState.go
index c82b604b58..1ad719bff9 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSilencedState.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetSilencedState.go
@@ -34,6 +34,10 @@ type IBACnetSilencedState interface {
 }
 
 const (
+	BACnetSilencedState_UNSILENCED               BACnetSilencedState = 0
+	BACnetSilencedState_AUDIBLE_SILENCED         BACnetSilencedState = 1
+	BACnetSilencedState_VISIBLE_SILENCED         BACnetSilencedState = 2
+	BACnetSilencedState_ALL_SILENCED             BACnetSilencedState = 3
 	BACnetSilencedState_VENDOR_PROPRIETARY_VALUE BACnetSilencedState = 0xFFFF
 )
 
@@ -42,22 +46,42 @@ var BACnetSilencedStateValues []BACnetSilencedState
 func init() {
 	_ = errors.New
 	BACnetSilencedStateValues = []BACnetSilencedState{
+		BACnetSilencedState_UNSILENCED,
+		BACnetSilencedState_AUDIBLE_SILENCED,
+		BACnetSilencedState_VISIBLE_SILENCED,
+		BACnetSilencedState_ALL_SILENCED,
 		BACnetSilencedState_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetSilencedStateByValue(value uint16) BACnetSilencedState {
 	switch value {
+	case 0:
+		return BACnetSilencedState_UNSILENCED
 	case 0xFFFF:
 		return BACnetSilencedState_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetSilencedState_AUDIBLE_SILENCED
+	case 2:
+		return BACnetSilencedState_VISIBLE_SILENCED
+	case 3:
+		return BACnetSilencedState_ALL_SILENCED
 	}
 	return 0
 }
 
 func BACnetSilencedStateByName(value string) BACnetSilencedState {
 	switch value {
+	case "UNSILENCED":
+		return BACnetSilencedState_UNSILENCED
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetSilencedState_VENDOR_PROPRIETARY_VALUE
+	case "AUDIBLE_SILENCED":
+		return BACnetSilencedState_AUDIBLE_SILENCED
+	case "VISIBLE_SILENCED":
+		return BACnetSilencedState_VISIBLE_SILENCED
+	case "ALL_SILENCED":
+		return BACnetSilencedState_ALL_SILENCED
 	}
 	return 0
 }
@@ -103,8 +127,16 @@ func (e BACnetSilencedState) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetSilencedState) name() string {
 	switch e {
+	case BACnetSilencedState_UNSILENCED:
+		return "UNSILENCED"
 	case BACnetSilencedState_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetSilencedState_AUDIBLE_SILENCED:
+		return "AUDIBLE_SILENCED"
+	case BACnetSilencedState_VISIBLE_SILENCED:
+		return "VISIBLE_SILENCED"
+	case BACnetSilencedState_ALL_SILENCED:
+		return "ALL_SILENCED"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimerState.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimerState.go
new file mode 100644
index 0000000000..2af67857b0
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimerState.go
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetTimerState is an enum
+type BACnetTimerState uint8
+
+type IBACnetTimerState interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetTimerState_IDLE    BACnetTimerState = 0
+	BACnetTimerState_RUNNING BACnetTimerState = 1
+	BACnetTimerState_EXPIRED BACnetTimerState = 2
+)
+
+var BACnetTimerStateValues []BACnetTimerState
+
+func init() {
+	_ = errors.New
+	BACnetTimerStateValues = []BACnetTimerState{
+		BACnetTimerState_IDLE,
+		BACnetTimerState_RUNNING,
+		BACnetTimerState_EXPIRED,
+	}
+}
+
+func BACnetTimerStateByValue(value uint8) BACnetTimerState {
+	switch value {
+	case 0:
+		return BACnetTimerState_IDLE
+	case 1:
+		return BACnetTimerState_RUNNING
+	case 2:
+		return BACnetTimerState_EXPIRED
+	}
+	return 0
+}
+
+func BACnetTimerStateByName(value string) BACnetTimerState {
+	switch value {
+	case "IDLE":
+		return BACnetTimerState_IDLE
+	case "RUNNING":
+		return BACnetTimerState_RUNNING
+	case "EXPIRED":
+		return BACnetTimerState_EXPIRED
+	}
+	return 0
+}
+
+func BACnetTimerStateKnows(value uint8) bool {
+	for _, typeValue := range BACnetTimerStateValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetTimerState(structType interface{}) BACnetTimerState {
+	castFunc := func(typ interface{}) BACnetTimerState {
+		if sBACnetTimerState, ok := typ.(BACnetTimerState); ok {
+			return sBACnetTimerState
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetTimerState) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetTimerState) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetTimerStateParse(readBuffer utils.ReadBuffer) (BACnetTimerState, error) {
+	val, err := readBuffer.ReadUint8("BACnetTimerState", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetTimerStateByValue(val), nil
+}
+
+func (e BACnetTimerState) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetTimerState", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetTimerState) name() string {
+	switch e {
+	case BACnetTimerState_IDLE:
+		return "IDLE"
+	case BACnetTimerState_RUNNING:
+		return "RUNNING"
+	case BACnetTimerState_EXPIRED:
+		return "EXPIRED"
+	}
+	return ""
+}
+
+func (e BACnetTimerState) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimerTransition.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimerTransition.go
new file mode 100644
index 0000000000..64027dddac
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetTimerTransition.go
@@ -0,0 +1,170 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetTimerTransition is an enum
+type BACnetTimerTransition uint8
+
+type IBACnetTimerTransition interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetTimerTransition_NONE               BACnetTimerTransition = 0
+	BACnetTimerTransition_IDLE_TO_RUNNING    BACnetTimerTransition = 1
+	BACnetTimerTransition_RUNNING_TO_IDLE    BACnetTimerTransition = 2
+	BACnetTimerTransition_RUNNING_TO_RUNNING BACnetTimerTransition = 3
+	BACnetTimerTransition_RUNNING_TO_EXPIRED BACnetTimerTransition = 4
+	BACnetTimerTransition_FORCED_TO_EXPIRED  BACnetTimerTransition = 5
+	BACnetTimerTransition_EXPIRED_TO_IDLE    BACnetTimerTransition = 6
+	BACnetTimerTransition_EXPIRED_TO_RUNNING BACnetTimerTransition = 7
+)
+
+var BACnetTimerTransitionValues []BACnetTimerTransition
+
+func init() {
+	_ = errors.New
+	BACnetTimerTransitionValues = []BACnetTimerTransition{
+		BACnetTimerTransition_NONE,
+		BACnetTimerTransition_IDLE_TO_RUNNING,
+		BACnetTimerTransition_RUNNING_TO_IDLE,
+		BACnetTimerTransition_RUNNING_TO_RUNNING,
+		BACnetTimerTransition_RUNNING_TO_EXPIRED,
+		BACnetTimerTransition_FORCED_TO_EXPIRED,
+		BACnetTimerTransition_EXPIRED_TO_IDLE,
+		BACnetTimerTransition_EXPIRED_TO_RUNNING,
+	}
+}
+
+func BACnetTimerTransitionByValue(value uint8) BACnetTimerTransition {
+	switch value {
+	case 0:
+		return BACnetTimerTransition_NONE
+	case 1:
+		return BACnetTimerTransition_IDLE_TO_RUNNING
+	case 2:
+		return BACnetTimerTransition_RUNNING_TO_IDLE
+	case 3:
+		return BACnetTimerTransition_RUNNING_TO_RUNNING
+	case 4:
+		return BACnetTimerTransition_RUNNING_TO_EXPIRED
+	case 5:
+		return BACnetTimerTransition_FORCED_TO_EXPIRED
+	case 6:
+		return BACnetTimerTransition_EXPIRED_TO_IDLE
+	case 7:
+		return BACnetTimerTransition_EXPIRED_TO_RUNNING
+	}
+	return 0
+}
+
+func BACnetTimerTransitionByName(value string) BACnetTimerTransition {
+	switch value {
+	case "NONE":
+		return BACnetTimerTransition_NONE
+	case "IDLE_TO_RUNNING":
+		return BACnetTimerTransition_IDLE_TO_RUNNING
+	case "RUNNING_TO_IDLE":
+		return BACnetTimerTransition_RUNNING_TO_IDLE
+	case "RUNNING_TO_RUNNING":
+		return BACnetTimerTransition_RUNNING_TO_RUNNING
+	case "RUNNING_TO_EXPIRED":
+		return BACnetTimerTransition_RUNNING_TO_EXPIRED
+	case "FORCED_TO_EXPIRED":
+		return BACnetTimerTransition_FORCED_TO_EXPIRED
+	case "EXPIRED_TO_IDLE":
+		return BACnetTimerTransition_EXPIRED_TO_IDLE
+	case "EXPIRED_TO_RUNNING":
+		return BACnetTimerTransition_EXPIRED_TO_RUNNING
+	}
+	return 0
+}
+
+func BACnetTimerTransitionKnows(value uint8) bool {
+	for _, typeValue := range BACnetTimerTransitionValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetTimerTransition(structType interface{}) BACnetTimerTransition {
+	castFunc := func(typ interface{}) BACnetTimerTransition {
+		if sBACnetTimerTransition, ok := typ.(BACnetTimerTransition); ok {
+			return sBACnetTimerTransition
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetTimerTransition) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetTimerTransition) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetTimerTransitionParse(readBuffer utils.ReadBuffer) (BACnetTimerTransition, error) {
+	val, err := readBuffer.ReadUint8("BACnetTimerTransition", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetTimerTransitionByValue(val), nil
+}
+
+func (e BACnetTimerTransition) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetTimerTransition", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetTimerTransition) name() string {
+	switch e {
+	case BACnetTimerTransition_NONE:
+		return "NONE"
+	case BACnetTimerTransition_IDLE_TO_RUNNING:
+		return "IDLE_TO_RUNNING"
+	case BACnetTimerTransition_RUNNING_TO_IDLE:
+		return "RUNNING_TO_IDLE"
+	case BACnetTimerTransition_RUNNING_TO_RUNNING:
+		return "RUNNING_TO_RUNNING"
+	case BACnetTimerTransition_RUNNING_TO_EXPIRED:
+		return "RUNNING_TO_EXPIRED"
+	case BACnetTimerTransition_FORCED_TO_EXPIRED:
+		return "FORCED_TO_EXPIRED"
+	case BACnetTimerTransition_EXPIRED_TO_IDLE:
+		return "EXPIRED_TO_IDLE"
+	case BACnetTimerTransition_EXPIRED_TO_RUNNING:
+		return "EXPIRED_TO_RUNNING"
+	}
+	return ""
+}
+
+func (e BACnetTimerTransition) String() string {
+	return e.name()
+}
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetVTClass.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetVTClass.go
index e74c1f9177..c29fa55f89 100644
--- a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetVTClass.go
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetVTClass.go
@@ -34,6 +34,13 @@ type IBACnetVTClass interface {
 }
 
 const (
+	BACnetVTClass_DEFAULT_TERMINAL         BACnetVTClass = 0
+	BACnetVTClass_ANSI_X3_64               BACnetVTClass = 1
+	BACnetVTClass_DEC_VT52                 BACnetVTClass = 2
+	BACnetVTClass_DEC_VT100                BACnetVTClass = 3
+	BACnetVTClass_DEC_VT220                BACnetVTClass = 4
+	BACnetVTClass_HP_700_94                BACnetVTClass = 5
+	BACnetVTClass_IBM_3130                 BACnetVTClass = 6
 	BACnetVTClass_VENDOR_PROPRIETARY_VALUE BACnetVTClass = 0xFFFF
 )
 
@@ -42,22 +49,57 @@ var BACnetVTClassValues []BACnetVTClass
 func init() {
 	_ = errors.New
 	BACnetVTClassValues = []BACnetVTClass{
+		BACnetVTClass_DEFAULT_TERMINAL,
+		BACnetVTClass_ANSI_X3_64,
+		BACnetVTClass_DEC_VT52,
+		BACnetVTClass_DEC_VT100,
+		BACnetVTClass_DEC_VT220,
+		BACnetVTClass_HP_700_94,
+		BACnetVTClass_IBM_3130,
 		BACnetVTClass_VENDOR_PROPRIETARY_VALUE,
 	}
 }
 
 func BACnetVTClassByValue(value uint16) BACnetVTClass {
 	switch value {
+	case 0:
+		return BACnetVTClass_DEFAULT_TERMINAL
 	case 0xFFFF:
 		return BACnetVTClass_VENDOR_PROPRIETARY_VALUE
+	case 1:
+		return BACnetVTClass_ANSI_X3_64
+	case 2:
+		return BACnetVTClass_DEC_VT52
+	case 3:
+		return BACnetVTClass_DEC_VT100
+	case 4:
+		return BACnetVTClass_DEC_VT220
+	case 5:
+		return BACnetVTClass_HP_700_94
+	case 6:
+		return BACnetVTClass_IBM_3130
 	}
 	return 0
 }
 
 func BACnetVTClassByName(value string) BACnetVTClass {
 	switch value {
+	case "DEFAULT_TERMINAL":
+		return BACnetVTClass_DEFAULT_TERMINAL
 	case "VENDOR_PROPRIETARY_VALUE":
 		return BACnetVTClass_VENDOR_PROPRIETARY_VALUE
+	case "ANSI_X3_64":
+		return BACnetVTClass_ANSI_X3_64
+	case "DEC_VT52":
+		return BACnetVTClass_DEC_VT52
+	case "DEC_VT100":
+		return BACnetVTClass_DEC_VT100
+	case "DEC_VT220":
+		return BACnetVTClass_DEC_VT220
+	case "HP_700_94":
+		return BACnetVTClass_HP_700_94
+	case "IBM_3130":
+		return BACnetVTClass_IBM_3130
 	}
 	return 0
 }
@@ -103,8 +145,22 @@ func (e BACnetVTClass) Serialize(writeBuffer utils.WriteBuffer) error {
 
 func (e BACnetVTClass) name() string {
 	switch e {
+	case BACnetVTClass_DEFAULT_TERMINAL:
+		return "DEFAULT_TERMINAL"
 	case BACnetVTClass_VENDOR_PROPRIETARY_VALUE:
 		return "VENDOR_PROPRIETARY_VALUE"
+	case BACnetVTClass_ANSI_X3_64:
+		return "ANSI_X3_64"
+	case BACnetVTClass_DEC_VT52:
+		return "DEC_VT52"
+	case BACnetVTClass_DEC_VT100:
+		return "DEC_VT100"
+	case BACnetVTClass_DEC_VT220:
+		return "DEC_VT220"
+	case BACnetVTClass_HP_700_94:
+		return "HP_700_94"
+	case BACnetVTClass_IBM_3130:
+		return "IBM_3130"
 	}
 	return ""
 }
diff --git a/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetWriteStatus.go b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetWriteStatus.go
new file mode 100644
index 0000000000..d60d4e5f1a
--- /dev/null
+++ b/plc4go/internal/plc4go/bacnetip/readwrite/model/BACnetWriteStatus.go
@@ -0,0 +1,138 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package model
+
+import (
+	"github.com/apache/plc4x/plc4go/internal/plc4go/spi/utils"
+	"github.com/pkg/errors"
+)
+
+// Code generated by code-generation. DO NOT EDIT.
+
+// BACnetWriteStatus is an enum
+type BACnetWriteStatus uint8
+
+type IBACnetWriteStatus interface {
+	Serialize(writeBuffer utils.WriteBuffer) error
+}
+
+const (
+	BACnetWriteStatus_IDLE        BACnetWriteStatus = 0
+	BACnetWriteStatus_IN_PROGRESS BACnetWriteStatus = 1
+	BACnetWriteStatus_SUCCESSFUL  BACnetWriteStatus = 2
+	BACnetWriteStatus_FAILED      BACnetWriteStatus = 3
+)
+
+var BACnetWriteStatusValues []BACnetWriteStatus
+
+func init() {
+	_ = errors.New
+	BACnetWriteStatusValues = []BACnetWriteStatus{
+		BACnetWriteStatus_IDLE,
+		BACnetWriteStatus_IN_PROGRESS,
+		BACnetWriteStatus_SUCCESSFUL,
+		BACnetWriteStatus_FAILED,
+	}
+}
+
+func BACnetWriteStatusByValue(value uint8) BACnetWriteStatus {
+	switch value {
+	case 0:
+		return BACnetWriteStatus_IDLE
+	case 1:
+		return BACnetWriteStatus_IN_PROGRESS
+	case 2:
+		return BACnetWriteStatus_SUCCESSFUL
+	case 3:
+		return BACnetWriteStatus_FAILED
+	}
+	return 0
+}
+
+func BACnetWriteStatusByName(value string) BACnetWriteStatus {
+	switch value {
+	case "IDLE":
+		return BACnetWriteStatus_IDLE
+	case "IN_PROGRESS":
+		return BACnetWriteStatus_IN_PROGRESS
+	case "SUCCESSFUL":
+		return BACnetWriteStatus_SUCCESSFUL
+	case "FAILED":
+		return BACnetWriteStatus_FAILED
+	}
+	return 0
+}
+
+func BACnetWriteStatusKnows(value uint8) bool {
+	for _, typeValue := range BACnetWriteStatusValues {
+		if uint8(typeValue) == value {
+			return true
+		}
+	}
+	return false
+}
+
+func CastBACnetWriteStatus(structType interface{}) BACnetWriteStatus {
+	castFunc := func(typ interface{}) BACnetWriteStatus {
+		if sBACnetWriteStatus, ok := typ.(BACnetWriteStatus); ok {
+			return sBACnetWriteStatus
+		}
+		return 0
+	}
+	return castFunc(structType)
+}
+
+func (m BACnetWriteStatus) GetLengthInBits() uint16 {
+	return 8
+}
+
+func (m BACnetWriteStatus) GetLengthInBytes() uint16 {
+	return m.GetLengthInBits() / 8
+}
+
+func BACnetWriteStatusParse(readBuffer utils.ReadBuffer) (BACnetWriteStatus, error) {
+	val, err := readBuffer.ReadUint8("BACnetWriteStatus", 8)
+	if err != nil {
+		return 0, nil
+	}
+	return BACnetWriteStatusByValue(val), nil
+}
+
+func (e BACnetWriteStatus) Serialize(writeBuffer utils.WriteBuffer) error {
+	return writeBuffer.WriteUint8("BACnetWriteStatus", 8, uint8(e), utils.WithAdditionalStringRepresentation(e.name()))
+}
+
+func (e BACnetWriteStatus) name() string {
+	switch e {
+	case BACnetWriteStatus_IDLE:
+		return "IDLE"
+	case BACnetWriteStatus_IN_PROGRESS:
+		return "IN_PROGRESS"
+	case BACnetWriteStatus_SUCCESSFUL:
+		return "SUCCESSFUL"
+	case BACnetWriteStatus_FAILED:
+		return "FAILED"
+	}
+	return ""
+}
+
+func (e BACnetWriteStatus) String() string {
+	return e.name()
+}
diff --git a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-enums.mspec b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-enums.mspec
index 43c891c1ee..4d552a2ee1 100644
--- a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-enums.mspec
+++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-enums.mspec
@@ -186,151 +186,537 @@
     ['11' APDU_TOO_LONG                     ]
 
     // plc4x definition
-    ['0xFF' VENDOR_PROPRIETARY_VALUE         ]
+    ['0xFF' VENDOR_PROPRIETARY_VALUE        ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetAccessAuthenticationFactorDisable
-
+    ['0'  NONE                            ]
+    ['1'  DISABLED                        ]
+    ['2'  DISABLED_LOST                   ]
+    ['3'  DISABLED_STOLEN                 ]
+    ['4'  DISABLED_DAMAGED                ]
+    ['5'  DISABLED_DESTROYED              ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetAccessCredentialDisable
-
+    ['0'  NONE                            ]
+    ['1'  DISABLE                         ]
+    ['2'  DISABLE_MANUAL                  ]
+    ['3'  DISABLE_LOCKOUT                 ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetAccessCredentialDisableReason
-
+    ['0'  DISABLED                        ]
+    ['1'  DISABLED_NEEDS_PROVISIONING     ]
+    ['2'  DISABLED_UNASSIGNED             ]
+    ['3'  DISABLED_NOT_YET_ACTIVE         ]
+    ['4'  DISABLED_EXPIRED                ]
+    ['5'  DISABLED_LOCKOUT                ]
+    ['6'  DISABLED_MAX_DAYS               ]
+    ['7'  DISABLED_MAX_USES               ]
+    ['8'  DISABLED_INACTIVITY             ]
+    ['9'  DISABLED_MANUAL                 ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-511 ASHRAE. 512-65535 proprietary
 [enum uint 16 BACnetAccessEvent
-
+    ['0'    NONE                                        ]
+    ['1'    GRANTED                                     ]
+    ['2'    MUSTER                                      ]
+    ['3'    PASSBACK_DETECTED                           ]
+    ['4'    DURESS                                      ]
+    ['5'    TRACE                                       ]
+    ['6'    LOCKOUT_MAX_ATTEMPTS                        ]
+    ['7'    LOCKOUT_OTHER                               ]
+    ['8'    LOCKOUT_RELINQUISHED                        ]
+    ['9'    LOCKED_BY_HIGHER_PRIORITY                   ]
+    ['10'   OUT_OF_SERVICE                              ]
+    ['11'   OUT_OF_SERVICE_RELINQUISHED                 ]
+    ['12'   ACCOMPANIMENT_BY                            ]
+    ['13'   AUTHENTICATION_FACTOR_READ                  ]
+    ['14'   AUTHORIZATION_DELAYED                       ]
+    ['15'   VERIFICATION_REQUIRED                       ]
+    ['16'   NO_ENTRY_AFTER_GRANTED                      ]
+    ['128'  DENIED_DENY_ALL                             ]
+    ['129'  DENIED_UNKNOWN_CREDENTIAL                   ]
+    ['130'  DENIED_AUTHENTICATION_UNAVAILABLE           ]
+    ['131'  DENIED_AUTHENTICATION_FACTOR_TIMEOUT        ]
+    ['132'  DENIED_INCORRECT_AUTHENTICATION_FACTOR      ]
+    ['133'  DENIED_ZONE_NO_ACCESS_RIGHTS                ]
+    ['134'  DENIED_POINT_NO_ACCESS_RIGHTS               ]
+    ['135'  DENIED_NO_ACCESS_RIGHTS                     ]
+    ['136'  DENIED_OUT_OF_TIME_RANGE                    ]
+    ['137'  DENIED_THREAT_LEVEL                         ]
+    ['138'  DENIED_PASSBACK                             ]
+    ['139'  DENIED_UNEXPECTED_LOCATION_USAGE            ]
+    ['140'  DENIED_MAX_ATTEMPTS                         ]
+    ['141'  DENIED_LOWER_OCCUPANCY_LIMIT                ]
+    ['142'  DENIED_UPPER_OCCUPANCY_LIMIT                ]
+    ['143'  DENIED_AUTHENTICATION_FACTOR_LOST           ]
+    ['144'  DENIED_AUTHENTICATION_FACTOR_STOLEN         ]
+    ['145'  DENIED_AUTHENTICATION_FACTOR_DAMAGED        ]
+    ['146'  DENIED_AUTHENTICATION_FACTOR_DESTROYED      ]
+    ['147'  DENIED_AUTHENTICATION_FACTOR_DISABLED       ]
+    ['148'  DENIED_AUTHENTICATION_FACTOR_ERROR          ]
+    ['149'  DENIED_CREDENTIAL_UNASSIGNED                ]
+    ['150'  DENIED_CREDENTIAL_NOT_PROVISIONED           ]
+    ['151'  DENIED_CREDENTIAL_NOT_YET_ACTIVE            ]
+    ['152'  DENIED_CREDENTIAL_EXPIRED                   ]
+    ['153'  DENIED_CREDENTIAL_MANUAL_DISABLE            ]
+    ['154'  DENIED_CREDENTIAL_LOCKOUT                   ]
+    ['155'  DENIED_CREDENTIAL_MAX_DAYS                  ]
+    ['156'  DENIED_CREDENTIAL_MAX_USES                  ]
+    ['157'  DENIED_CREDENTIAL_INACTIVITY                ]
+    ['158'  DENIED_CREDENTIAL_DISABLED                  ]
+    ['159'  DENIED_NO_ACCOMPANIMENT                     ]
+    ['160'  DENIED_INCORRECT_ACCOMPANIMENT              ]
+    ['161'  DENIED_LOCKOUT                              ]
+    ['162'  DENIED_VERIFICATION_FAILED                  ]
+    ['163'  DENIED_VERIFICATION_TIMEOUT                 ]
+    ['164'  DENIED_OTHER                                ]
 
     // plc4x definition
-    ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
+    ['0XFFFF' VENDOR_PROPRIETARY_VALUE                  ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetAccessUserType
-
+    ['0'  ASSET                           ]
+    ['1'  GROUP                           ]
+    ['2'  PERSON                          ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetAccessZoneOccupancyState
-
+    ['0'  NORMAL                          ]
+    ['1'  BELOW_LOWER_LIMIT               ]
+    ['2'  AT_LOWER_LIMIT                  ]
+    ['3'  AT_UPPER_LIMIT                  ]
+    ['4'  ABOVE_UPPER_LIMIT               ]
+    ['5'  DISABLED                        ]
+    ['6'  NOT_SUPPORTED                   ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-255 proprietary
 [enum uint 8 BACnetAuthorizationExemption
-
+    ['0'  PASSBACK                      ]
+    ['1'  OCCUPANCY_CHECK               ]
+    ['2'  ACCESS_RIGHTS                 ]
+    ['3'  LOCKOUT                       ]
+    ['4'  DENY                          ]
+    ['5'  VERIFICATION                  ]
+    ['6'  AUTHORIZATION_DELAY           ]
 
     // plc4x definition
     ['0XFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetAuthorizationMode
-
+    ['0'  AUTHORIZE                       ]
+    ['1'  GRANT_ACTIVE                    ]
+    ['2'  DENY_ALL                        ]
+    ['3'  VERIFICATION_REQUIRED           ]
+    ['4'  AUTHORIZATION_DELAYED           ]
+    ['5'  NONE                            ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-255 proprietary
 [enum uint 8 BACnetBinaryLightingPV
-
+    ['0'  OFF                           ]
+    ['1'  ON                            ]
+    ['2'  WARN                          ]
+    ['3'  WARN_OFF                      ]
+    ['4'  WARN_RELINQUISH               ]
+    ['5'  STOP                          ]
 
     // plc4x definition
     ['0XFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-63 ASHRAE. 64-65535 proprietary
 [enum uint 16 BACnetDeviceStatus
-
+    ['0'  OPERATIONAL                     ]
+    ['1'  OPERATIONAL_READ_ONLY           ]
+    ['2'  DOWNLOAD_REQUIRED               ]
+    ['3'  DOWNLOAD_IN_PROGRESS            ]
+    ['4'  NON_OPERATIONAL                 ]
+    ['5'  BACKUP_IN_PROGRESS              ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-255 ASHRAE. 256-65535 proprietary
 [enum uint 8 BACnetDoorAlarmState
-
+    ['0'  NORMAL                        ]
+    ['1'  ALARM                         ]
+    ['2'  DOOR_OPEN_TOO_LONG            ]
+    ['3'  FORCED_OPEN                   ]
+    ['4'  TAMPER                        ]
+    ['5'  DOOR_FAULT                    ]
+    ['6'  LOCK_DOWN                     ]
+    ['7'  FREE_ACCESS                   ]
+    ['8'  EGRESS_OPEN                   ]
 
     // plc4x definition
     ['0XFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-1023 ASHRAE. 1024-65535 proprietary
 [enum uint 16 BACnetDoorStatus
-
+    ['0'  CLOSED                          ]
+    ['1'  OPENED                          ]
+    ['2'  UNKNOWN                         ]
+    ['3'  DOOR_FAULT                      ]
+    ['4'  UNUSED                          ]
+    ['5'  NONE                            ]
+    ['6'  CLOSING                         ]
+    ['7'  OPENING                         ]
+    ['8'  SAFETY_LOCKED                   ]
+    ['9'  LIMITED_OPENED                  ]
 
     // plc4x definition
     ['0XFFFF' VENDOR_PROPRIETARY_VALUE    ]
 ]
 
-// TODO: define me
 // Attention: 0-255 ASHRAE. 47808-49999 ASHRAE. 50000-65535 proprietary
-[enum uint 8 BACnetEngineeringUnits
-
-
+[enum uint 32 BACnetEngineeringUnits
+// Acceleration
+    ['166'      METERS_PER_SECOND_PER_SECOND                ]
+//Area    
+    ['0'        SQUARE_METERS                               ]
+    ['116'      SQUARE_CENTIMETERS                          ]
+    ['1'        SQUARE_FEET                                 ]
+    ['115'      SQUARE_INCHES                               ]
+//Currency    
+    ['105'      CURRENCY1                                   ]
+    ['106'      CURRENCY2                                   ]
+    ['107'      CURRENCY3                                   ]
+    ['108'      CURRENCY4                                   ]
+    ['109'      CURRENCY5                                   ]
+    ['110'      CURRENCY6                                   ]
+    ['111'      CURRENCY7                                   ]
+    ['112'      CURRENCY8                                   ]
+    ['113'      CURRENCY9                                   ]
+    ['114'      CURRENCY10                                  ]
+//Electrical
+    ['2'        MILLIAMPERES                                ]  
+    ['3'        AMPERES                                     ]  
+    ['167'      AMPERES_PER_METER                           ]
+    ['168'      AMPERES_PER_SQUARE_METER                    ]
+    ['169'      AMPERE_SQUARE_METERS                        ]
+    ['199'      DECIBELS                                    ]
+    ['200'      DECIBELS_MILLIVOLT                          ]
+    ['201'      DECIBELS_VOLT                               ]
+    ['170'      FARADS                                      ]
+    ['171'      HENRYS                                      ]
+    ['4'        OHMS                                        ]  
+    ['237'      OHM_METER_SQUARED_PER_METER                 ]  
+    ['172'      OHM_METERS                                  ]
+    ['145'      MILLIOHMS                                   ]
+    ['122'      KILOHMS                                     ]
+    ['123'      MEGOHMS                                     ]
+    ['190'      MICROSIEMENS                                ]
+    ['202'      MILLISIEMENS                                ]
+    ['173'      SIEMENS                                     ]
+    ['174'      SIEMENS_PER_METER                           ]
+    ['175'      TESLAS                                      ]
+    ['5'        VOLTS                                       ]  
+    ['124'      MILLIVOLTS                                  ]
+    ['6'        KILOVOLTS                                   ]  
+    ['7'        MEGAVOLTS                                   ]  
+    ['8'        VOLT_AMPERES                                ]  
+    ['9'        KILOVOLT_AMPERES                            ]  
+    ['10'       MEGAVOLT_AMPERES                            ] 
+    ['11'       VOLT_AMPERES_REACTIVE                       ] 
+    ['12'       KILOVOLT_AMPERES_REACTIVE                   ] 
+    ['13'       MEGAVOLT_AMPERES_REACTIVE                   ] 
+    ['176'      VOLTS_PER_DEGREE_KELVIN                     ]
+    ['177'      VOLTS_PER_METER                             ]
+    ['14'       DEGREES_PHASE                               ] 
+    ['15'       POWER_FACTOR                                ] 
+    ['178'      WEBERS                                      ]
+//Energy  
+    ['238'      AMPERE_SECONDS                              ]
+    ['239'      VOLT_AMPERE_HOURS                           ] //  i.e. VAh
+    ['240'      KILOVOLT_AMPERE_HOURS                       ]
+    ['241'      MEGAVOLT_AMPERE_HOURS                       ]
+    ['242'      VOLT_AMPERE_HOURS_REACTIVE                  ] //  i.e. varh
+    ['243'      KILOVOLT_AMPERE_HOURS_REACTIVE              ]
+    ['244'      MEGAVOLT_AMPERE_HOURS_REACTIVE              ]
+    ['245'      VOLT_SQUARE_HOURS                           ]
+    ['246'      AMPERE_SQUARE_HOURS                         ]
+    ['16'       JOULES                                      ] 
+    ['17'       KILOJOULES                                  ] 
+    ['125'      KILOJOULES_PER_KILOGRAM                     ]
+    ['126'      MEGAJOULES                                  ]
+    ['18'       WATT_HOURS                                  ] 
+    ['19'       KILOWATT_HOURS                              ] 
+    ['146'      MEGAWATT_HOURS                              ]
+    ['203'      WATT_HOURS_REACTIVE                         ]
+    ['204'      KILOWATT_HOURS_REACTIVE                     ]
+    ['205'      MEGAWATT_HOURS_REACTIVE                     ]
+    ['20'       BTUS                                        ] 
+    ['147'      KILO_BTUS                                   ]
+    ['148'      MEGA_BTUS                                   ]
+    ['21'       THERMS                                      ] 
+    ['22'       TON_HOURS                                   ] 
+//Enthalpy    
+    ['23'       JOULES_PER_KILOGRAM_DRY_AIR                 ]
+    ['149'      KILOJOULES_PER_KILOGRAM_DRY_AIR             ]
+    ['150'      MEGAJOULES_PER_KILOGRAM_DRY_AIR             ]
+    ['24'       BTUS_PER_POUND_DRY_AIR                      ]
+    ['117'      BTUS_PER_POUND                              ]
+//Humidity    
+    ['28'       GRAMS_OF_WATER_PER_KILOGRAM_DRY_AIR         ]
+    ['29'       PERCENT_RELATIVE_HUMIDITY                   ]
+//Length  
+    ['194'      MICROMETERS                                 ]
+    ['30'       MILLIMETERS                                 ]
+    ['118'      CENTIMETERS                                 ]
+    ['193'      KILOMETERS                                  ]
+    ['31'       METERS                                      ]
+    ['32'       INCHES                                      ]
+    ['33'       FEET                                        ]
+//Light   
+    ['179'      CANDELAS                                    ]
+    ['180'      CANDELAS_PER_SQUARE_METER                   ]
+    ['34'       WATTS_PER_SQUARE_FOOT                       ]
+    ['35'       WATTS_PER_SQUARE_METER                      ]
+    ['36'       LUMENS                                      ]
+    ['37'       LUXES                                       ]
+    ['38'       FOOT_CANDLES                                ]
+//Mass    
+    ['196'      MILLIGRAMS                                  ]
+    ['195'      GRAMS                                       ]
+    ['39'       KILOGRAMS                                   ]
+    ['40'       POUNDS_MASS                                 ]
+    ['41'      TONS                                         ]
+//Mass FloW
+    ['154'      GRAMS_PER_SECOND                            ]
+    ['155'      GRAMS_PER_MINUTE                            ]
+    ['42'       KILOGRAMS_PER_SECOND                        ]
+    ['43'       KILOGRAMS_PER_MINUTE                        ]
+    ['44'       KILOGRAMS_PER_HOUR                          ]
+    ['119'      POUNDS_MASS_PER_SECOND                      ]
+    ['45'       POUNDS_MASS_PER_MINUTE                      ]
+    ['46'       POUNDS_MASS_PER_HOUR                        ]
+    ['156'      TONS_PER_HOUR                               ]
+    ['132'      IWATTS                                      ]
+    ['47'       WATTS                                       ]
+    ['48'       KILOWATTS                                   ]
+    ['49'       MEGAWATTS                                   ]
+    ['50'       BTUS_PER_HOUR                               ]
+    ['157'      KILO_BTUS_PER_HOUR                          ]
+    ['247'      JOULE_PER_HOURS                             ]
+    ['51'       HORSEPOWER                                  ]
+    ['52'       TONS_REFRIGERATION                          ]
+//Pressure    
+    ['53'       PASCALS                                     ]
+    ['133'      HECTOPASCALS                                ]
+    ['54'       KILOPASCALS                                 ]
+    ['134'      MILLIBARS                                   ]
+    ['55'       BARS                                        ]
+    ['56'       POUNDS_FORCE_PER_SQUARE_INCH                ]
+    ['206'      MILLIMETERS_OF_WATER                        ]
+    ['57'       CENTIMETERS_OF_WATER                        ]
+    ['58'       INCHES_OF_WATER                             ]
+    ['59'       MILLIMETERS_OF_MERCURY                      ]
+    ['60'       CENTIMETERS_OF_MERCURY                      ]
+    ['61'       INCHES_OF_MERCURY                           ]
+//Temperature
+    ['62'       DEGREES_CELSIUS                             ]
+    ['63'       DEGREES_KELVIN                              ]
+    ['181'      DEGREES_KELVIN_PER_HOUR                     ]
+    ['182'      DEGREES_KELVIN_PER_MINUTE                   ]
+    ['64'       DEGREES_FAHRENHEIT                          ]
+    ['65'       DEGREE_DAYS_CELSIUS                         ]
+    ['66'       DEGREE_DAYS_FAHRENHEIT                      ]
+    ['120'      DELTA_DEGREES_FAHRENHEIT                    ]
+    ['121'      DELTA_DEGREES_KELVIN                        ]
+//Time    
+    ['67'       YEARS                                       ]
+    ['68'       MONTHS                                      ]
+    ['69'       WEEKS                                       ]
+    ['70'       DAYS                                        ]
+    ['71'       HOURS                                       ]
+    ['72'       MINUTES                                     ]
+    ['73'       SECONDS                                     ]
+    ['158'      HUNDREDTHS_SECONDS                          ]
+    ['159'      MILLISECONDS                                ]
+//Torque  
+    ['160'      NEWTON_METERS                               ]
+//Velocity    
+    ['161'      MILLIMETERS_PER_SECOND                      ]
+    ['162'      MILLIMETERS_PER_MINUTE                      ]
+    ['74'       METERS_PER_SECOND                           ]
+    ['163'      METERS_PER_MINUTE                           ]
+    ['164'      METERS_PER_HOUR                             ]
+    ['75'       KILOMETERS_PER_HOUR                         ]
+    ['76'       FEET_PER_SECOND                             ]
+    ['77'       FEET_PER_MINUTE                             ]
+    ['78'       MILES_PER_HOUR                              ]
+//Volume
+    ['79'       CUBIC_FEET                                  ]  
+    ['80'       CUBIC_METERS                                ]  
+    ['81'       IMPERIAL_GALLONS                            ]  
+    ['197'      MILLILITERS                                 ] 
+    ['82'       LITERS                                      ]  
+    ['83'       US_GALLONS                                  ]  
+//Volumetric FLOW
+    ['142'      CUBIC_FEET_PER_SECOND                       ] 
+    ['84'       CUBIC_FEET_PER_MINUTE                       ]  
+    ['254'      MILLION_STANDARD_CUBIC_FEET_PER_MINUTE      ] 
+    ['191'      CUBIC_FEET_PER_HOUR                         ] 
+    ['248'      CUBIC_FEET_PER_DAY                          ] 
+    ['47808'    STANDARD_CUBIC_FEET_PER_DAY                 ]
+    ['47809'    MILLION_STANDARD_CUBIC_FEET_PER_DAY         ]
+    ['47810'    THOUSAND_CUBIC_FEET_PER_DAY                 ]
+    ['47811'    THOUSAND_STANDARD_CUBIC_FEET_PER_DAY        ]
+    ['47812'    POUNDS_MASS_PER_DAY                         ]
+    ['85'       CUBIC_METERS_PER_SECOND                     ]  
+    ['165'      CUBIC_METERS_PER_MINUTE                     ] 
+    ['135'      CUBIC_METERS_PER_HOUR                       ] 
+    ['249'      CUBIC_METERS_PER_DAY                        ] 
+    ['86'       IMPERIAL_GALLONS_PER_MINUTE                 ]  
+    ['198'      MILLILITERS_PER_SECOND                      ] 
+    ['87'       LITERS_PER_SECOND                           ]  
+    ['88'       LITERS_PER_MINUTE                           ]  
+    ['136'      LITERS_PER_HOUR                             ] 
+    ['89'       US_GALLONS_PER_MINUTE                       ]  
+    ['192'      US_GALLONS_PER_HOUR                         ] 
+//Other
+    ['90'       DEGREES_ANGULAR                             ]  
+    ['91'       DEGREES_CELSIUS_PER_HOUR                    ]  
+    ['92'       DEGREES_CELSIUS_PER_MINUTE                  ]  
+    ['93'       DEGREES_FAHRENHEIT_PER_HOUR                 ]  
+    ['94'       DEGREES_FAHRENHEIT_PER_MINUTE               ]  
+    ['183'      JOULE_SECONDS                               ] 
... 697 lines suppressed ...