mirror of
https://github.com/JoelBender/bacpypes
synced 2025-09-28 22:15:23 +08:00
apply patches in #485
This commit is contained in:
parent
941892134a
commit
a5be2ad5ac
|
@ -18,7 +18,7 @@ if _sys.platform not in _supported_platforms:
|
|||
# Project Metadata
|
||||
#
|
||||
|
||||
__version__ = '0.18.5'
|
||||
__version__ = '0.18.7'
|
||||
__author__ = 'Joel Bender'
|
||||
__email__ = 'joel@carrickbender.com'
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ from .errors import MissingRequiredParameter
|
|||
|
||||
from .primitivedata import Atomic, BitString, Boolean, CharacterString, Date, Double, \
|
||||
Enumerated, Integer, Null, ObjectIdentifier, OctetString, Real, Time, \
|
||||
Unsigned, Unsigned16, Tag
|
||||
Unsigned, Unsigned8, Unsigned16, Tag
|
||||
from .constructeddata import Any, AnyAtomic, ArrayOf, Choice, Element, \
|
||||
Sequence, SequenceOf
|
||||
|
||||
|
@ -95,8 +95,7 @@ class ObjectTypesSupported(BitString):
|
|||
, 'accessUser':35
|
||||
, 'accessZone':36
|
||||
, 'credentialDataInput':37
|
||||
, 'networkPort':56
|
||||
, 'networkSecurity':38
|
||||
, 'networkSecurity':38 # removed revision 22
|
||||
, 'bitstringValue':39
|
||||
, 'characterstringValue':40
|
||||
, 'datePatternValue':41
|
||||
|
@ -113,8 +112,16 @@ class ObjectTypesSupported(BitString):
|
|||
, 'alertEnrollment':52
|
||||
, 'channel':53
|
||||
, 'lightingOutput':54
|
||||
, 'binaryLightingOutput':55
|
||||
, 'networkPort':56
|
||||
, 'elevatorGroup':57
|
||||
, 'escalator':58
|
||||
, 'lift':59
|
||||
, 'staging':60
|
||||
, 'auditLog':61
|
||||
, 'auditReporter':62
|
||||
}
|
||||
bitLen = 55
|
||||
bitLen = 63
|
||||
|
||||
class ResultFlags(BitString):
|
||||
bitNames = \
|
||||
|
@ -167,8 +174,16 @@ class ServicesSupported(BitString):
|
|||
, 'subscribeCOVProperty':38
|
||||
, 'getEventInformation':39
|
||||
, 'writeGroup':40
|
||||
, 'subscribeCOVPropertyMultiple':41
|
||||
, 'confirmedCOVNotificationMultiple':42
|
||||
, 'unconfirmedCOVNotificationMultiple':43
|
||||
, 'confirmedAuditNotification':44
|
||||
, 'auditLogQuery':45
|
||||
, 'unconfirmedAuditNotification':46
|
||||
, 'whoAmI':47
|
||||
, 'youAre':48
|
||||
}
|
||||
bitLen = 41
|
||||
bitLen = 49
|
||||
|
||||
class StatusFlags(BitString):
|
||||
bitNames = \
|
||||
|
@ -758,20 +773,27 @@ class ErrorCode(Enumerated):
|
|||
, 'badDestinationDeviceId':87
|
||||
, 'badSignature':88
|
||||
, 'badSourceAddress':89
|
||||
, 'badTimestamp':90
|
||||
, 'badTimestamp':90 #Removed revision 22
|
||||
, 'busy':82
|
||||
, 'cannotUseKey':91
|
||||
, 'cannotVerifyMessageId':92
|
||||
, 'bvlcFunctionUnknown':143
|
||||
, 'bvlcProprietaryFunctionUnknown':144
|
||||
, 'cannotUseKey':91 #Removed revision 22
|
||||
, 'cannotVerifyMessageId':92 #Removed revision 22
|
||||
, 'characterSetNotSupported':41
|
||||
, 'communicationDisabled':83
|
||||
, 'configurationInProgress':2
|
||||
, 'correctKeyRevision':93
|
||||
, 'correctKeyRevision':93 #Removed revision 22
|
||||
, 'covSubscriptionFailed':43
|
||||
, 'datatypeNotSupported':47
|
||||
, 'deleteFdtEntryFailed':120
|
||||
, 'deviceBusy':3
|
||||
, 'destinationDeviceIdRequired':94
|
||||
, 'destinationDeviceIdRequired':94 #Removed revision 22
|
||||
, 'distributeBroadcastFailed':121
|
||||
, 'dnsError':192
|
||||
, 'dnsNameResolutionFailed':190
|
||||
, 'dnsResolverFailure':191
|
||||
, 'dnsUnavailable':189
|
||||
, 'duplicateEntry': 137
|
||||
, 'duplicateMessage':95
|
||||
, 'duplicateName':48
|
||||
, 'duplicateObjectId':49
|
||||
|
@ -780,28 +802,51 @@ class ErrorCode(Enumerated):
|
|||
, 'encryptionRequired':97
|
||||
, 'fileAccessDenied':5
|
||||
, 'fileFull':128
|
||||
, 'headerEncodingError':145
|
||||
, 'headerNotUnderstood':146
|
||||
, 'httpError':165
|
||||
, 'httpNoUpgrade':153
|
||||
, 'httpNotAServer':164
|
||||
, 'httpResourceNotLocal':154
|
||||
, 'httpProxyAuthenticationFailed':155
|
||||
, 'httpResponseTimeout':156
|
||||
, 'httpResponseSyntaxError':157
|
||||
, 'httpResponseValueError':158
|
||||
, 'httpResponseMissingHeader':159
|
||||
, 'httpTemporaryUnavailable':163
|
||||
, 'httpUnexpectedResponseCode':152
|
||||
, 'httpUpgradeRequired':161
|
||||
, 'httpUpgradeError':162
|
||||
, 'httpWebsocketHeaderError':160
|
||||
, 'inconsistentConfiguration':129
|
||||
, 'inconsistentObjectType':130
|
||||
, 'inconsistentParameters':7
|
||||
, 'inconsistentSelectionCriterion':8
|
||||
, 'incorrectKey':98
|
||||
, 'incorrectKey':98 #Removed revision 22
|
||||
, 'internalError':131
|
||||
, 'invalidArrayIndex':42
|
||||
, 'invalidConfigurationData':46
|
||||
, 'invalidDataEncoding':142
|
||||
, 'invalidDataType':9
|
||||
, 'invalidEventState':73
|
||||
, 'invalidFileAccessMethod':10
|
||||
, 'invalidFileStartPosition':11
|
||||
, 'invalidKeyData':99
|
||||
, 'invalidKeyData':99 #Removed revision 22
|
||||
, 'invalidParameterDataType':13
|
||||
, 'invalidTag':57
|
||||
, 'invalidTimeStamp':14
|
||||
, 'keyUpdateInProgress':100
|
||||
, 'invalidValueInThisState':138
|
||||
, 'ipAddressNotReachable':198
|
||||
, 'ipError':199
|
||||
, 'keyUpdateInProgress':100 #Removed revision 22
|
||||
, 'listElementNotFound':81
|
||||
, 'listItemNotNumbered':140
|
||||
, 'listItemNotTimestamped': 141
|
||||
, 'logBufferFull':75
|
||||
, 'loggedValuePurged':76
|
||||
, 'malformedMessage':101
|
||||
, 'messageTooLong':113
|
||||
, 'messageIncomplete':147
|
||||
, 'missingRequiredParameter':16
|
||||
, 'networkDown':58
|
||||
, 'noAlarmConfigured':74
|
||||
|
@ -811,10 +856,12 @@ class ErrorCode(Enumerated):
|
|||
, 'noSpaceToAddListElement':19
|
||||
, 'noSpaceToWriteProperty':20
|
||||
, 'noVtSessionsAvailable':21
|
||||
, 'nodeDuplicateVmac':151
|
||||
, 'notABacnetScHub':148
|
||||
, 'notConfigured':132
|
||||
, 'notConfiguredForTriggeredLogging':78
|
||||
, 'notCovProperty':44
|
||||
, 'notKeyServer':102
|
||||
, 'notKeyServer':102 #Removed revision 22
|
||||
, 'notRouterToDnet':110
|
||||
, 'objectDeletionNotPermitted':23
|
||||
, 'objectIdentifierAlreadyExists':24
|
||||
|
@ -824,6 +871,7 @@ class ErrorCode(Enumerated):
|
|||
, 'outOfMemory':133
|
||||
, 'parameterOutOfRange':80
|
||||
, 'passwordFailure':26
|
||||
, 'payloadExpected':149
|
||||
, 'propertyIsNotAList':22
|
||||
, 'propertyIsNotAnArray':50
|
||||
, 'readAccessDenied':27
|
||||
|
@ -847,19 +895,34 @@ class ErrorCode(Enumerated):
|
|||
, 'serviceRequestDenied':29
|
||||
, 'sourceSecurityRequired':104
|
||||
, 'success':84
|
||||
, 'tcpClosedByLocal':195
|
||||
, 'tcpClosedOther':196
|
||||
, 'tcpConnectTimeout':193
|
||||
, 'tcpConnectionRefused':194
|
||||
, 'tcpError':197
|
||||
, 'timeout':30
|
||||
, 'tooManyKeys':105
|
||||
, 'tlsClientAuthenticationFailed':182
|
||||
, 'tlsClientCertificateError':180
|
||||
, 'tlsClientCertificateExpired':184
|
||||
, 'tlsClientCertificateRevoked':186
|
||||
, 'tleError':188
|
||||
, 'tlsServerAuthenticationFailed':183
|
||||
, 'tlsServerCertificateError':181
|
||||
, 'tlsServerCertificateExpired':185
|
||||
, 'tlsServerCertificateRevoked':187
|
||||
, 'tooManyKeys':105 #Removed revision 22
|
||||
, 'unexpectedData':150
|
||||
, 'unknownAuthenticationType':106
|
||||
, 'unknownDevice':70
|
||||
, 'unknownFileSize':122
|
||||
, 'unknownKey':107
|
||||
, 'unknownKeyRevision':108
|
||||
, 'unknownKey':107 #Removed revision 22
|
||||
, 'unknownKeyRevision':108 #Removed revision 22
|
||||
, 'unknownNetworkMessage':112
|
||||
, 'unknownObject':31
|
||||
, 'unknownProperty':32
|
||||
, 'unknownSubscription':79
|
||||
, 'umknownRoute':71
|
||||
, 'unknownSourceMessage':109
|
||||
, 'unknownSourceMessage':109 #Removed revision 22
|
||||
, 'unknownVtClass':34
|
||||
, 'unknownVtSession':35
|
||||
, 'unsupportedObjectType':36
|
||||
|
@ -868,6 +931,20 @@ class ErrorCode(Enumerated):
|
|||
, 'valueTooLong':134
|
||||
, 'vtSessionAlreadyClosed':38
|
||||
, 'vtSessionTerminationFailure':39
|
||||
, 'websocket-close-error':168
|
||||
, 'websocket-closed-abnormally':173
|
||||
, 'websocket-closed-by-peer':169
|
||||
, 'websocket-data-against-policy':175
|
||||
, 'websocket-data-inconsistent':174
|
||||
, 'websocket-data-not-accepted':172
|
||||
, 'websocket-endpoint-leaves':170
|
||||
, 'websocket-error':179
|
||||
, 'websocket-extension-missing':177
|
||||
, 'websocket-frame-too-long':176
|
||||
, 'websocket-protocol-error':171
|
||||
, 'websocket-request-unavailable':178
|
||||
, 'websocket-scheme-not-supported':166
|
||||
, 'websocket-unknown-control-message':167
|
||||
, 'writeAccessDenied':40
|
||||
, 'writeBdtFailed':116
|
||||
}
|
||||
|
@ -1108,9 +1185,9 @@ class PropertyIdentifier(Enumerated):
|
|||
enumerations = \
|
||||
{ 'absenteeLimit':244
|
||||
, 'tags':486
|
||||
, 'profileLocation':91
|
||||
, 'profileLocation':485
|
||||
, 'eventDetectionEnabled':353
|
||||
, 'apduLength':388
|
||||
, 'apduLength':399
|
||||
, 'linkSpeed':420
|
||||
, 'linkSpeeds':421
|
||||
, 'linkSpeedAutonegotiate':422
|
||||
|
@ -1140,7 +1217,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'ipv6DefaultGateway':439
|
||||
, 'bacnetIPv6MulticastAddress':440
|
||||
, 'ipv6DNSServer':441
|
||||
, 'ipv6AutoAddressingEnabled':442
|
||||
, 'ipv6AutoAddressingEnable':442
|
||||
, 'ipv6DHCPLeaseTime':443
|
||||
, 'ipv6DHCPLeaseTimeRemaining':444
|
||||
, 'ipv6DHCPServer':445
|
||||
|
@ -1364,7 +1441,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'negativeAccessRules':288
|
||||
, 'networkAccessSecurityPolicies':332
|
||||
, 'networkNumber':425
|
||||
, 'networkNumberQuality':427
|
||||
, 'networkNumberQuality':426
|
||||
, 'networkType': 427
|
||||
, 'nodeSubtype':207
|
||||
, 'nodeType':208
|
||||
|
@ -1539,6 +1616,7 @@ class Reliability(Enumerated):
|
|||
, 'proprietaryCommandFailure': 22
|
||||
, 'faultsListed': 23
|
||||
, 'referencedObjectFault': 24
|
||||
, 'multiStateOutOfRange':25
|
||||
}
|
||||
|
||||
class RestartReason(Enumerated):
|
||||
|
@ -1552,6 +1630,7 @@ class RestartReason(Enumerated):
|
|||
, 'hardwareWatchdog':5
|
||||
, 'softwareWatchdog':6
|
||||
, 'suspended':7
|
||||
, 'activateChanges': 8
|
||||
}
|
||||
|
||||
class SecurityLevel(Enumerated):
|
||||
|
@ -1680,41 +1759,42 @@ class RouterEntryStatus(Enumerated):
|
|||
|
||||
class HostAddress(Choice):
|
||||
choiceElements = \
|
||||
[ Element('none', Null)
|
||||
, Element('ipAddress', OctetString) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString) # Internet host name (see RFC 1123)
|
||||
[ Element('none', Null, 0)
|
||||
, Element('ipAddress', OctetString, 1) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString, 2) # Internet host name (see RFC 1123)
|
||||
]
|
||||
|
||||
class HostNPort(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('host', HostAddress)
|
||||
, Element('port', Unsigned16)
|
||||
[ Element('host', HostAddress, 0)
|
||||
, Element('port', Unsigned16, 1)
|
||||
]
|
||||
|
||||
class BDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bbmdAddress', HostNPort)
|
||||
, Element('broadcastMask', OctetString) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
[ Element('bbmdAddress', HostNPort, 0)
|
||||
, Element('broadcastMask', OctetString, 1) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
]
|
||||
|
||||
class FDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bacnetIPAddress', OctetString) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16) # remaining time to live in seconds, incl. grace period
|
||||
[ Element('bacnetIPAddress', OctetString, 0) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16, 1) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16, 2) # remaining time to live in seconds, incl. grace period
|
||||
]
|
||||
|
||||
class VMACEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('virtualMACAddress', OctetString) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString)
|
||||
[ Element('virtualMACAddress', OctetString, 0) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString, 1)
|
||||
]
|
||||
|
||||
class RouterEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('networkNumber', Unsigned16)
|
||||
, Element('macAddress', OctetString)
|
||||
, Element('status', RouterEntryStatus) # Defined Above
|
||||
[ Element('networkNumber', Unsigned16, 0)
|
||||
, Element('macAddress', OctetString, 1)
|
||||
, Element('status', RouterEntryStatus, 2) # Defined Above
|
||||
, Element('performanceIndex', Unsigned8, 3, True)
|
||||
]
|
||||
|
||||
class NameValue(Sequence):
|
||||
|
|
|
@ -1979,11 +1979,11 @@ class NetworkPortObject(Object):
|
|||
, ReadableProperty('protocolLevel', ProtocolLevel) #482
|
||||
, OptionalProperty('referencePort', Unsigned) #483
|
||||
, ReadableProperty('networkNumber', Unsigned16) #425
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #427
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #426
|
||||
, ReadableProperty('changesPending', Boolean) #416
|
||||
, OptionalProperty('command', NetworkPortCommand) #417
|
||||
, OptionalProperty('macAddress', OctetString) #423
|
||||
, ReadableProperty('apduLength', Unsigned) #388
|
||||
, ReadableProperty('apduLength', Unsigned) #399
|
||||
, ReadableProperty('linkSpeed', Real) #420
|
||||
, OptionalProperty('linkSpeeds', ArrayOf(Real)) #421
|
||||
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp)) #130
|
||||
|
@ -2014,7 +2014,7 @@ class NetworkPortObject(Object):
|
|||
, OptionalProperty('ipv6DefaultGateway', OctetString) #439
|
||||
, OptionalProperty('bacnetIPv6MulticastAddress', OctetString) #440
|
||||
, OptionalProperty('ipv6DNSServer', OctetString) #441
|
||||
, OptionalProperty('ipv6AutoAddressingEnabled', Boolean) #442
|
||||
, OptionalProperty('ipv6AutoAddressingEnable', Boolean) #442
|
||||
, OptionalProperty('ipv6DHCPLeaseTime', Unsigned) #443
|
||||
, OptionalProperty('ipv6DHCPLeaseTimeRemaining', Unsigned) #444
|
||||
, OptionalProperty('ipv6DHCPServer', OctetString) #445
|
||||
|
@ -2039,7 +2039,7 @@ class NetworkPortObject(Object):
|
|||
, ReadableProperty('reliabilityEvaluationInhibit', Boolean) #357
|
||||
, OptionalProperty('propertyList', ArrayOf(PropertyIdentifier)) #371
|
||||
, OptionalProperty('tags', ArrayOf(NameValue)) #486
|
||||
, OptionalProperty('profileLocation', CharacterString) #91
|
||||
, OptionalProperty('profileLocation', CharacterString) #485
|
||||
, OptionalProperty('profileName', CharacterString) #168
|
||||
]
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ if _sys.platform not in _supported_platforms:
|
|||
# Project Metadata
|
||||
#
|
||||
|
||||
__version__ = '0.18.5'
|
||||
__version__ = '0.18.7'
|
||||
__author__ = 'Joel Bender'
|
||||
__email__ = 'joel@carrickbender.com'
|
||||
|
||||
|
|
|
@ -117,8 +117,7 @@ class ObjectTypesSupported(BitString):
|
|||
, 'accessUser':35
|
||||
, 'accessZone':36
|
||||
, 'credentialDataInput':37
|
||||
, 'networkPort':56
|
||||
, 'networkSecurity':38
|
||||
, 'networkSecurity':38 # removed revision 22
|
||||
, 'bitstringValue':39
|
||||
, 'characterstringValue':40
|
||||
, 'datePatternValue':41
|
||||
|
@ -135,8 +134,16 @@ class ObjectTypesSupported(BitString):
|
|||
, 'alertEnrollment':52
|
||||
, 'channel':53
|
||||
, 'lightingOutput':54
|
||||
, 'binaryLightingOutput':55
|
||||
, 'networkPort':56
|
||||
, 'elevatorGroup':57
|
||||
, 'escalator':58
|
||||
, 'lift':59
|
||||
, 'staging':60
|
||||
, 'auditLog':61
|
||||
, 'auditReporter':62
|
||||
}
|
||||
bitLen = 55
|
||||
bitLen = 63
|
||||
|
||||
class PriorityFilter(BitString):
|
||||
bitNames = \
|
||||
|
@ -210,8 +217,16 @@ class ServicesSupported(BitString):
|
|||
, 'subscribeCOVProperty':38
|
||||
, 'getEventInformation':39
|
||||
, 'writeGroup':40
|
||||
, 'subscribeCOVPropertyMultiple':41
|
||||
, 'confirmedCOVNotificationMultiple':42
|
||||
, 'unconfirmedCOVNotificationMultiple':43
|
||||
, 'confirmedAuditNotification':44
|
||||
, 'auditLogQuery':45
|
||||
, 'unconfirmedAuditNotification':46
|
||||
, 'whoAmI':47
|
||||
, 'youAre':48
|
||||
}
|
||||
bitLen = 41
|
||||
bitLen = 49
|
||||
|
||||
class StatusFlags(BitString):
|
||||
bitNames = \
|
||||
|
@ -842,20 +857,26 @@ class ErrorCode(Enumerated):
|
|||
, 'badDestinationDeviceId':87
|
||||
, 'badSignature':88
|
||||
, 'badSourceAddress':89
|
||||
, 'badTimestamp':90
|
||||
, 'badTimestamp':90 #Removed revision 22
|
||||
, 'busy':82
|
||||
, 'cannotUseKey':91
|
||||
, 'cannotVerifyMessageId':92
|
||||
, 'bvlcFunctionUnknown':143
|
||||
, 'bvlcProprietaryFunctionUnknown':144
|
||||
, 'cannotUseKey':91 #Removed revision 22
|
||||
, 'cannotVerifyMessageId':92 #Removed revision 22
|
||||
, 'characterSetNotSupported':41
|
||||
, 'communicationDisabled':83
|
||||
, 'configurationInProgress':2
|
||||
, 'correctKeyRevision':93
|
||||
, 'correctKeyRevision':93 #Removed revision 22
|
||||
, 'covSubscriptionFailed':43
|
||||
, 'datatypeNotSupported':47
|
||||
, 'deleteFdtEntryFailed':120
|
||||
, 'deviceBusy':3
|
||||
, 'destinationDeviceIdRequired':94
|
||||
, 'destinationDeviceIdRequired':94 #Removed revision 22
|
||||
, 'distributeBroadcastFailed':121
|
||||
, 'dnsNameResolutionFailed':190
|
||||
, 'dnsResolverFailure':191
|
||||
, 'dnsUnavailable':189
|
||||
, 'duplicateEntry': 137
|
||||
, 'duplicateMessage':95
|
||||
, 'duplicateName':48
|
||||
, 'duplicateObjectId':49
|
||||
|
@ -864,14 +885,31 @@ class ErrorCode(Enumerated):
|
|||
, 'encryptionRequired':97
|
||||
, 'fileAccessDenied':5
|
||||
, 'fileFull':128
|
||||
, 'headerEncodingError':145
|
||||
, 'headerNotUnderstood':146
|
||||
, 'httpError':165
|
||||
, 'httpNoUpgrade':153
|
||||
, 'httpNotAServer':164
|
||||
, 'httpResourceNotLocal':154
|
||||
, 'httpProxyAuthenticationFailed':155
|
||||
, 'httpResponseTimeout':156
|
||||
, 'httpResponseSyntaxError':157
|
||||
, 'httpResponseValueError':158
|
||||
, 'httpResponseMissingHeader':159
|
||||
, 'httpTemporaryUnavailable':163
|
||||
, 'httpUnexpectedResponseCode':152
|
||||
, 'httpUpgradeRequired':161
|
||||
, 'httpUpgradeError':162
|
||||
, 'httpWebsocketHeaderError':160
|
||||
, 'inconsistentConfiguration':129
|
||||
, 'inconsistentObjectType':130
|
||||
, 'inconsistentParameters':7
|
||||
, 'inconsistentSelectionCriterion':8
|
||||
, 'incorrectKey':98
|
||||
, 'incorrectKey':98 #Removed revision 22
|
||||
, 'internalError':131
|
||||
, 'invalidArrayIndex':42
|
||||
, 'invalidConfigurationData':46
|
||||
, 'invalidDataEncoding':142
|
||||
, 'invalidDataType':9
|
||||
, 'invalidEventState':73
|
||||
, 'invalidFileAccessMethod':10
|
||||
|
@ -880,12 +918,18 @@ class ErrorCode(Enumerated):
|
|||
, 'invalidParameterDataType':13
|
||||
, 'invalidTag':57
|
||||
, 'invalidTimeStamp':14
|
||||
, 'keyUpdateInProgress':100
|
||||
, 'invalidValueInThisState':138
|
||||
, 'ipAddressNotReachable':198
|
||||
, 'ipError':199
|
||||
, 'keyUpdateInProgress':100 #Removed revision 22
|
||||
, 'listElementNotFound':81
|
||||
, 'listItemNotNumbered':140
|
||||
, 'listItemNotTimestamped': 141
|
||||
, 'logBufferFull':75
|
||||
, 'loggedValuePurged':76
|
||||
, 'malformedMessage':101
|
||||
, 'messageTooLong':113
|
||||
, 'messageIncomplete':147
|
||||
, 'missingRequiredParameter':16
|
||||
, 'networkDown':58
|
||||
, 'noAlarmConfigured':74
|
||||
|
@ -895,10 +939,12 @@ class ErrorCode(Enumerated):
|
|||
, 'noSpaceToAddListElement':19
|
||||
, 'noSpaceToWriteProperty':20
|
||||
, 'noVtSessionsAvailable':21
|
||||
, 'nodeDuplicateVmac':151
|
||||
, 'notABacnetScHub':148
|
||||
, 'notConfigured':132
|
||||
, 'notConfiguredForTriggeredLogging':78
|
||||
, 'notCovProperty':44
|
||||
, 'notKeyServer':102
|
||||
, 'notKeyServer':102 #Removed revision 22
|
||||
, 'notRouterToDnet':110
|
||||
, 'objectDeletionNotPermitted':23
|
||||
, 'objectIdentifierAlreadyExists':24
|
||||
|
@ -908,6 +954,7 @@ class ErrorCode(Enumerated):
|
|||
, 'outOfMemory':133
|
||||
, 'parameterOutOfRange':80
|
||||
, 'passwordFailure':26
|
||||
, 'payloadExpected':149
|
||||
, 'propertyIsNotAList':22
|
||||
, 'propertyIsNotAnArray':50
|
||||
, 'readAccessDenied':27
|
||||
|
@ -931,19 +978,34 @@ class ErrorCode(Enumerated):
|
|||
, 'serviceRequestDenied':29
|
||||
, 'sourceSecurityRequired':104
|
||||
, 'success':84
|
||||
, 'tcpClosedByLocal':195
|
||||
, 'tcpClosedOther':196
|
||||
, 'tcpConnectTimeout':193
|
||||
, 'tcpConnectionRefused':194
|
||||
, 'tcpError':197
|
||||
, 'timeout':30
|
||||
, 'tooManyKeys':105
|
||||
, 'tlsClientAuthenticationFailed':182
|
||||
, 'tlsClientCertificateError':180
|
||||
, 'tlsClientCertificateExpired':184
|
||||
, 'tlsClientCertificateRevoked':186
|
||||
, 'tleError':188
|
||||
, 'tlsServerAuthenticationFailed':183
|
||||
, 'tlsServerCertificateError':181
|
||||
, 'tlsServerCertificateExpired':185
|
||||
, 'tlsServerCertificateRevoked':187
|
||||
, 'tooManyKeys':105 #Removed revision 22
|
||||
, 'unexpectedData':150
|
||||
, 'unknownAuthenticationType':106
|
||||
, 'unknownDevice':70
|
||||
, 'unknownFileSize':122
|
||||
, 'unknownKey':107
|
||||
, 'unknownKeyRevision':108
|
||||
, 'unknownKey':107 #Removed revision 22
|
||||
, 'unknownKeyRevision':108 #Removed revision 22
|
||||
, 'unknownNetworkMessage':112
|
||||
, 'unknownObject':31
|
||||
, 'unknownProperty':32
|
||||
, 'unknownSubscription':79
|
||||
, 'umknownRoute':71
|
||||
, 'unknownSourceMessage':109
|
||||
, 'unknownSourceMessage':109 #Removed revision 22
|
||||
, 'unknownVtClass':34
|
||||
, 'unknownVtSession':35
|
||||
, 'unsupportedObjectType':36
|
||||
|
@ -952,6 +1014,20 @@ class ErrorCode(Enumerated):
|
|||
, 'valueTooLong':134
|
||||
, 'vtSessionAlreadyClosed':38
|
||||
, 'vtSessionTerminationFailure':39
|
||||
, 'websocket-close-error':168
|
||||
, 'websocket-closed-abnormally':173
|
||||
, 'websocket-closed-by-peer':169
|
||||
, 'websocket-data-against-policy':175
|
||||
, 'websocket-data-inconsistent':174
|
||||
, 'websocket-data-not-accepted':172
|
||||
, 'websocket-endpoint-leaves':170
|
||||
, 'websocket-error':179
|
||||
, 'websocket-extension-missing':177
|
||||
, 'websocket-frame-too-long':176
|
||||
, 'websocket-protocol-error':171
|
||||
, 'websocket-request-unavailable':178
|
||||
, 'websocket-scheme-not-supported':166
|
||||
, 'websocket-unknown-control-message':167
|
||||
, 'writeAccessDenied':40
|
||||
, 'writeBdtFailed':116
|
||||
}
|
||||
|
@ -1326,7 +1402,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'all':8
|
||||
, 'allowGroupDelayInhibit':365
|
||||
, 'allWritesSuccessful':9
|
||||
, 'apduLength':388
|
||||
, 'apduLength':399
|
||||
, 'apduSegmentTimeout':10
|
||||
, 'apduTimeout':11
|
||||
, 'applicationSoftwareVersion':12
|
||||
|
@ -1509,7 +1585,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'ipDNSServer':406
|
||||
, 'ipSubnetMask':411
|
||||
, 'ipv6Address':436
|
||||
, 'ipv6AutoAddressingEnabled':442
|
||||
, 'ipv6AutoAddressingEnable':442
|
||||
, 'ipv6DefaultGateway':439
|
||||
, 'ipv6DHCPLeaseTime':443
|
||||
, 'ipv6DHCPLeaseTimeRemaining':444
|
||||
|
@ -1602,7 +1678,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'networkAccessSecurityPolicies':332
|
||||
, 'networkInterfaceName':424
|
||||
, 'networkNumber':425
|
||||
, 'networkNumberQuality':427
|
||||
, 'networkNumberQuality':426
|
||||
, 'networkType': 427
|
||||
, 'nextStoppingFloor':476
|
||||
, 'nodeSubtype':207
|
||||
|
@ -1650,7 +1726,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'priorityForWriting':88
|
||||
, 'processIdentifier':89
|
||||
, 'processIdentifierFilter':361
|
||||
, 'profileLocation':91
|
||||
, 'profileLocation':485
|
||||
, 'profileName':168
|
||||
, 'programChange':90
|
||||
, 'programLocation':91
|
||||
|
@ -1837,6 +1913,7 @@ class Reliability(Enumerated):
|
|||
, 'proprietaryCommandFailure': 22
|
||||
, 'faultsListed': 23
|
||||
, 'referencedObjectFault': 24
|
||||
, 'multiStateOutOfRange':25
|
||||
}
|
||||
|
||||
class RestartReason(Enumerated):
|
||||
|
@ -1850,6 +1927,7 @@ class RestartReason(Enumerated):
|
|||
, 'hardwareWatchdog':5
|
||||
, 'softwareWatchdog':6
|
||||
, 'suspended':7
|
||||
, 'activateChanges': 8
|
||||
}
|
||||
|
||||
class SecurityLevel(Enumerated):
|
||||
|
@ -1997,34 +2075,35 @@ class RouterEntryStatus(Enumerated):
|
|||
|
||||
class HostAddress(Choice):
|
||||
choiceElements = \
|
||||
[ Element('none', Null)
|
||||
, Element('ipAddress', OctetString) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString) # Internet host name (see RFC 1123)
|
||||
[ Element('none', Null, 0)
|
||||
, Element('ipAddress', OctetString, 1) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString, 2) # Internet host name (see RFC 1123)
|
||||
]
|
||||
|
||||
class HostNPort(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('host', HostAddress)
|
||||
, Element('port', Unsigned16)
|
||||
[ Element('host', HostAddress, 0)
|
||||
, Element('port', Unsigned16, 1)
|
||||
]
|
||||
|
||||
class BDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bbmdAddress', HostNPort)
|
||||
, Element('broadcastMask', OctetString) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
[ Element('bbmdAddress', HostNPort, 0)
|
||||
, Element('broadcastMask', OctetString, 1) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
]
|
||||
|
||||
class FDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bacnetIPAddress', OctetString) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16) # remaining time to live in seconds, incl. grace period
|
||||
[ Element('bacnetIPAddress', OctetString, 0) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16, 1) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16, 2) # remaining time to live in seconds, incl. grace period
|
||||
, Element('performanceIndex', Unsigned8, 3, True)
|
||||
]
|
||||
|
||||
class VMACEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('virtualMACAddress', OctetString) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString)
|
||||
[ Element('virtualMACAddress', OctetString, 0) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString, 1)
|
||||
]
|
||||
|
||||
class PropertyReference(Sequence):
|
||||
|
|
|
@ -2340,11 +2340,11 @@ class NetworkPortObject(Object):
|
|||
, ReadableProperty('protocolLevel', ProtocolLevel) #482
|
||||
, OptionalProperty('referencePort', Unsigned) #483
|
||||
, ReadableProperty('networkNumber', Unsigned16) #425
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #427
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #426
|
||||
, ReadableProperty('changesPending', Boolean) #416
|
||||
, OptionalProperty('command', NetworkPortCommand) #417
|
||||
, OptionalProperty('macAddress', OctetString) #423
|
||||
, ReadableProperty('apduLength', Unsigned) #388
|
||||
, ReadableProperty('apduLength', Unsigned) #399
|
||||
, ReadableProperty('linkSpeed', Real) #420
|
||||
, OptionalProperty('linkSpeeds', ArrayOf(Real)) #421
|
||||
, OptionalProperty('linkSpeedAutonegotiate', Boolean) #422
|
||||
|
@ -2374,7 +2374,7 @@ class NetworkPortObject(Object):
|
|||
, OptionalProperty('ipv6DefaultGateway', OctetString) #439
|
||||
, OptionalProperty('bacnetIPv6MulticastAddress', OctetString) #440
|
||||
, OptionalProperty('ipv6DNSServer', OctetString) #441
|
||||
, OptionalProperty('ipv6AutoAddressingEnabled', Boolean) #442
|
||||
, OptionalProperty('ipv6AutoAddressingEnable', Boolean) #442
|
||||
, OptionalProperty('ipv6DHCPLeaseTime', Unsigned) #443
|
||||
, OptionalProperty('ipv6DHCPLeaseTimeRemaining', Unsigned) #444
|
||||
, OptionalProperty('ipv6DHCPServer', OctetString) #445
|
||||
|
|
|
@ -18,7 +18,7 @@ if _sys.platform not in _supported_platforms:
|
|||
# Project Metadata
|
||||
#
|
||||
|
||||
__version__ = '0.18.6'
|
||||
__version__ = '0.18.7'
|
||||
__author__ = 'Joel Bender'
|
||||
__email__ = 'joel@carrickbender.com'
|
||||
|
||||
|
|
|
@ -117,8 +117,7 @@ class ObjectTypesSupported(BitString):
|
|||
, 'accessUser':35
|
||||
, 'accessZone':36
|
||||
, 'credentialDataInput':37
|
||||
, 'networkPort':56
|
||||
, 'networkSecurity':38
|
||||
, 'networkSecurity':38 # removed revision 22
|
||||
, 'bitstringValue':39
|
||||
, 'characterstringValue':40
|
||||
, 'datePatternValue':41
|
||||
|
@ -135,8 +134,16 @@ class ObjectTypesSupported(BitString):
|
|||
, 'alertEnrollment':52
|
||||
, 'channel':53
|
||||
, 'lightingOutput':54
|
||||
, 'binaryLightingOutput':55
|
||||
, 'networkPort':56
|
||||
, 'elevatorGroup':57
|
||||
, 'escalator':58
|
||||
, 'lift':59
|
||||
, 'staging':60
|
||||
, 'auditLog':61
|
||||
, 'auditReporter':62
|
||||
}
|
||||
bitLen = 55
|
||||
bitLen = 63
|
||||
|
||||
class PriorityFilter(BitString):
|
||||
bitNames = \
|
||||
|
@ -210,8 +217,16 @@ class ServicesSupported(BitString):
|
|||
, 'subscribeCOVProperty':38
|
||||
, 'getEventInformation':39
|
||||
, 'writeGroup':40
|
||||
, 'subscribeCOVPropertyMultiple':41
|
||||
, 'confirmedCOVNotificationMultiple':42
|
||||
, 'unconfirmedCOVNotificationMultiple':43
|
||||
, 'confirmedAuditNotification':44
|
||||
, 'auditLogQuery':45
|
||||
, 'unconfirmedAuditNotification':46
|
||||
, 'whoAmI':47
|
||||
, 'youAre':48
|
||||
}
|
||||
bitLen = 41
|
||||
bitLen = 49
|
||||
|
||||
class StatusFlags(BitString):
|
||||
bitNames = \
|
||||
|
@ -842,20 +857,27 @@ class ErrorCode(Enumerated):
|
|||
, 'badDestinationDeviceId':87
|
||||
, 'badSignature':88
|
||||
, 'badSourceAddress':89
|
||||
, 'badTimestamp':90
|
||||
, 'badTimestamp':90 #Removed revision 22
|
||||
, 'busy':82
|
||||
, 'cannotUseKey':91
|
||||
, 'cannotVerifyMessageId':92
|
||||
, 'bvlcFunctionUnknown':143
|
||||
, 'bvlcProprietaryFunctionUnknown':144
|
||||
, 'cannotUseKey':91 #Removed revision 22
|
||||
, 'cannotVerifyMessageId':92 #Removed revision 22
|
||||
, 'characterSetNotSupported':41
|
||||
, 'communicationDisabled':83
|
||||
, 'configurationInProgress':2
|
||||
, 'correctKeyRevision':93
|
||||
, 'correctKeyRevision':93 #Removed revision 22
|
||||
, 'covSubscriptionFailed':43
|
||||
, 'datatypeNotSupported':47
|
||||
, 'deleteFdtEntryFailed':120
|
||||
, 'deviceBusy':3
|
||||
, 'destinationDeviceIdRequired':94
|
||||
, 'destinationDeviceIdRequired':94 #Removed revision 22
|
||||
, 'distributeBroadcastFailed':121
|
||||
, 'dnsError':192
|
||||
, 'dnsNameResolutionFailed':190
|
||||
, 'dnsResolverFailure':191
|
||||
, 'dnsUnavailable':189
|
||||
, 'duplicateEntry': 137
|
||||
, 'duplicateMessage':95
|
||||
, 'duplicateName':48
|
||||
, 'duplicateObjectId':49
|
||||
|
@ -864,28 +886,51 @@ class ErrorCode(Enumerated):
|
|||
, 'encryptionRequired':97
|
||||
, 'fileAccessDenied':5
|
||||
, 'fileFull':128
|
||||
, 'headerEncodingError':145
|
||||
, 'headerNotUnderstood':146
|
||||
, 'httpError':165
|
||||
, 'httpNoUpgrade':153
|
||||
, 'httpNotAServer':164
|
||||
, 'httpResourceNotLocal':154
|
||||
, 'httpProxyAuthenticationFailed':155
|
||||
, 'httpResponseTimeout':156
|
||||
, 'httpResponseSyntaxError':157
|
||||
, 'httpResponseValueError':158
|
||||
, 'httpResponseMissingHeader':159
|
||||
, 'httpTemporaryUnavailable':163
|
||||
, 'httpUnexpectedResponseCode':152
|
||||
, 'httpUpgradeRequired':161
|
||||
, 'httpUpgradeError':162
|
||||
, 'httpWebsocketHeaderError':160
|
||||
, 'inconsistentConfiguration':129
|
||||
, 'inconsistentObjectType':130
|
||||
, 'inconsistentParameters':7
|
||||
, 'inconsistentSelectionCriterion':8
|
||||
, 'incorrectKey':98
|
||||
, 'incorrectKey':98 #Removed revision 22
|
||||
, 'internalError':131
|
||||
, 'invalidArrayIndex':42
|
||||
, 'invalidConfigurationData':46
|
||||
, 'invalidDataEncoding':142
|
||||
, 'invalidDataType':9
|
||||
, 'invalidEventState':73
|
||||
, 'invalidFileAccessMethod':10
|
||||
, 'invalidFileStartPosition':11
|
||||
, 'invalidKeyData':99
|
||||
, 'invalidKeyData':99 #Removed revision 22
|
||||
, 'invalidParameterDataType':13
|
||||
, 'invalidTag':57
|
||||
, 'invalidTimeStamp':14
|
||||
, 'keyUpdateInProgress':100
|
||||
, 'invalidValueInThisState':138
|
||||
, 'ipAddressNotReachable':198
|
||||
, 'ipError':199
|
||||
, 'keyUpdateInProgress':100 #Removed revision 22
|
||||
, 'listElementNotFound':81
|
||||
, 'listItemNotNumbered':140
|
||||
, 'listItemNotTimestamped': 141
|
||||
, 'logBufferFull':75
|
||||
, 'loggedValuePurged':76
|
||||
, 'malformedMessage':101
|
||||
, 'messageTooLong':113
|
||||
, 'messageIncomplete':147
|
||||
, 'missingRequiredParameter':16
|
||||
, 'networkDown':58
|
||||
, 'noAlarmConfigured':74
|
||||
|
@ -895,10 +940,12 @@ class ErrorCode(Enumerated):
|
|||
, 'noSpaceToAddListElement':19
|
||||
, 'noSpaceToWriteProperty':20
|
||||
, 'noVtSessionsAvailable':21
|
||||
, 'nodeDuplicateVmac':151
|
||||
, 'notABacnetScHub':148
|
||||
, 'notConfigured':132
|
||||
, 'notConfiguredForTriggeredLogging':78
|
||||
, 'notCovProperty':44
|
||||
, 'notKeyServer':102
|
||||
, 'notKeyServer':102 #Removed revision 22
|
||||
, 'notRouterToDnet':110
|
||||
, 'objectDeletionNotPermitted':23
|
||||
, 'objectIdentifierAlreadyExists':24
|
||||
|
@ -908,6 +955,7 @@ class ErrorCode(Enumerated):
|
|||
, 'outOfMemory':133
|
||||
, 'parameterOutOfRange':80
|
||||
, 'passwordFailure':26
|
||||
, 'payloadExpected':149
|
||||
, 'propertyIsNotAList':22
|
||||
, 'propertyIsNotAnArray':50
|
||||
, 'readAccessDenied':27
|
||||
|
@ -931,19 +979,34 @@ class ErrorCode(Enumerated):
|
|||
, 'serviceRequestDenied':29
|
||||
, 'sourceSecurityRequired':104
|
||||
, 'success':84
|
||||
, 'tcpClosedByLocal':195
|
||||
, 'tcpClosedOther':196
|
||||
, 'tcpConnectTimeout':193
|
||||
, 'tcpConnectionRefused':194
|
||||
, 'tcpError':197
|
||||
, 'timeout':30
|
||||
, 'tooManyKeys':105
|
||||
, 'tlsClientAuthenticationFailed':182
|
||||
, 'tlsClientCertificateError':180
|
||||
, 'tlsClientCertificateExpired':184
|
||||
, 'tlsClientCertificateRevoked':186
|
||||
, 'tleError':188
|
||||
, 'tlsServerAuthenticationFailed':183
|
||||
, 'tlsServerCertificateError':181
|
||||
, 'tlsServerCertificateExpired':185
|
||||
, 'tlsServerCertificateRevoked':187
|
||||
, 'tooManyKeys':105 #Removed revision 22
|
||||
, 'unexpectedData':150
|
||||
, 'unknownAuthenticationType':106
|
||||
, 'unknownDevice':70
|
||||
, 'unknownFileSize':122
|
||||
, 'unknownKey':107
|
||||
, 'unknownKeyRevision':108
|
||||
, 'unknownKey':107 #Removed revision 22
|
||||
, 'unknownKeyRevision':108 #Removed revision 22
|
||||
, 'unknownNetworkMessage':112
|
||||
, 'unknownObject':31
|
||||
, 'unknownProperty':32
|
||||
, 'unknownSubscription':79
|
||||
, 'umknownRoute':71
|
||||
, 'unknownSourceMessage':109
|
||||
, 'unknownSourceMessage':109 #Removed revision 22
|
||||
, 'unknownVtClass':34
|
||||
, 'unknownVtSession':35
|
||||
, 'unsupportedObjectType':36
|
||||
|
@ -952,6 +1015,20 @@ class ErrorCode(Enumerated):
|
|||
, 'valueTooLong':134
|
||||
, 'vtSessionAlreadyClosed':38
|
||||
, 'vtSessionTerminationFailure':39
|
||||
, 'websocket-close-error':168
|
||||
, 'websocket-closed-abnormally':173
|
||||
, 'websocket-closed-by-peer':169
|
||||
, 'websocket-data-against-policy':175
|
||||
, 'websocket-data-inconsistent':174
|
||||
, 'websocket-data-not-accepted':172
|
||||
, 'websocket-endpoint-leaves':170
|
||||
, 'websocket-error':179
|
||||
, 'websocket-extension-missing':177
|
||||
, 'websocket-frame-too-long':176
|
||||
, 'websocket-protocol-error':171
|
||||
, 'websocket-request-unavailable':178
|
||||
, 'websocket-scheme-not-supported':166
|
||||
, 'websocket-unknown-control-message':167
|
||||
, 'writeAccessDenied':40
|
||||
, 'writeBdtFailed':116
|
||||
}
|
||||
|
@ -1326,7 +1403,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'all':8
|
||||
, 'allowGroupDelayInhibit':365
|
||||
, 'allWritesSuccessful':9
|
||||
, 'apduLength':388
|
||||
, 'apduLength':399
|
||||
, 'apduSegmentTimeout':10
|
||||
, 'apduTimeout':11
|
||||
, 'applicationSoftwareVersion':12
|
||||
|
@ -1509,7 +1586,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'ipDNSServer':406
|
||||
, 'ipSubnetMask':411
|
||||
, 'ipv6Address':436
|
||||
, 'ipv6AutoAddressingEnabled':442
|
||||
, 'ipv6AutoAddressingEnable':442
|
||||
, 'ipv6DefaultGateway':439
|
||||
, 'ipv6DHCPLeaseTime':443
|
||||
, 'ipv6DHCPLeaseTimeRemaining':444
|
||||
|
@ -1602,7 +1679,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'networkAccessSecurityPolicies':332
|
||||
, 'networkInterfaceName':424
|
||||
, 'networkNumber':425
|
||||
, 'networkNumberQuality':427
|
||||
, 'networkNumberQuality':426
|
||||
, 'networkType': 427
|
||||
, 'nextStoppingFloor':476
|
||||
, 'nodeSubtype':207
|
||||
|
@ -1650,7 +1727,7 @@ class PropertyIdentifier(Enumerated):
|
|||
, 'priorityForWriting':88
|
||||
, 'processIdentifier':89
|
||||
, 'processIdentifierFilter':361
|
||||
, 'profileLocation':91
|
||||
, 'profileLocation':485
|
||||
, 'profileName':168
|
||||
, 'programChange':90
|
||||
, 'programLocation':91
|
||||
|
@ -1837,6 +1914,7 @@ class Reliability(Enumerated):
|
|||
, 'proprietaryCommandFailure': 22
|
||||
, 'faultsListed': 23
|
||||
, 'referencedObjectFault': 24
|
||||
, 'multiStateOutOfRange':25
|
||||
}
|
||||
|
||||
class RestartReason(Enumerated):
|
||||
|
@ -1850,6 +1928,7 @@ class RestartReason(Enumerated):
|
|||
, 'hardwareWatchdog':5
|
||||
, 'softwareWatchdog':6
|
||||
, 'suspended':7
|
||||
, 'activateChanges':8
|
||||
}
|
||||
|
||||
class SecurityLevel(Enumerated):
|
||||
|
@ -1997,34 +2076,34 @@ class RouterEntryStatus(Enumerated):
|
|||
|
||||
class HostAddress(Choice):
|
||||
choiceElements = \
|
||||
[ Element('none', Null)
|
||||
, Element('ipAddress', OctetString) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString) # Internet host name (see RFC 1123)
|
||||
[ Element('none', Null, 0)
|
||||
, Element('ipAddress', OctetString, 1) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString, 2) # Internet host name (see RFC 1123)
|
||||
]
|
||||
|
||||
class HostNPort(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('host', HostAddress)
|
||||
, Element('port', Unsigned16)
|
||||
[ Element('host', HostAddress, 0)
|
||||
, Element('port', Unsigned16, 1)
|
||||
]
|
||||
|
||||
class BDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bbmdAddress', HostNPort)
|
||||
, Element('broadcastMask', OctetString) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
[ Element('bbmdAddress', HostNPort, 0)
|
||||
, Element('broadcastMask', OctetString, 1) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
]
|
||||
|
||||
class FDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bacnetIPAddress', OctetString) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16) # remaining time to live in seconds, incl. grace period
|
||||
[ Element('bacnetIPAddress', OctetString, 0) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16, 1) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16, 2) # remaining time to live in seconds, incl. grace period
|
||||
]
|
||||
|
||||
class VMACEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('virtualMACAddress', OctetString) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString)
|
||||
[ Element('virtualMACAddress', OctetString, 0) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString, 1)
|
||||
]
|
||||
|
||||
class PropertyReference(Sequence):
|
||||
|
@ -2035,9 +2114,10 @@ class PropertyReference(Sequence):
|
|||
|
||||
class RouterEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('networkNumber', Unsigned16)
|
||||
, Element('macAddress', OctetString)
|
||||
, Element('status', RouterEntryStatus) # Defined Above
|
||||
[ Element('networkNumber', Unsigned16, 0)
|
||||
, Element('macAddress', OctetString, 1)
|
||||
, Element('status', RouterEntryStatus, 2) # Defined Above
|
||||
, Element('performanceIndex', Unsigned8, 3, True)
|
||||
]
|
||||
|
||||
@bacpypes_debugging
|
||||
|
|
|
@ -2341,11 +2341,11 @@ class NetworkPortObject(Object):
|
|||
, ReadableProperty('protocolLevel', ProtocolLevel) #482
|
||||
, OptionalProperty('referencePort', Unsigned) #483
|
||||
, ReadableProperty('networkNumber', Unsigned16) #425
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #427
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #426
|
||||
, ReadableProperty('changesPending', Boolean) #416
|
||||
, OptionalProperty('command', NetworkPortCommand) #417
|
||||
, OptionalProperty('macAddress', OctetString) #423
|
||||
, ReadableProperty('apduLength', Unsigned) #388
|
||||
, ReadableProperty('apduLength', Unsigned) #399
|
||||
, ReadableProperty('linkSpeed', Real) #420
|
||||
, OptionalProperty('linkSpeeds', ArrayOf(Real)) #421
|
||||
, OptionalProperty('linkSpeedAutonegotiate', Boolean) #422
|
||||
|
@ -2375,7 +2375,7 @@ class NetworkPortObject(Object):
|
|||
, OptionalProperty('ipv6DefaultGateway', OctetString) #439
|
||||
, OptionalProperty('bacnetIPv6MulticastAddress', OctetString) #440
|
||||
, OptionalProperty('ipv6DNSServer', OctetString) #441
|
||||
, OptionalProperty('ipv6AutoAddressingEnabled', Boolean) #442
|
||||
, OptionalProperty('ipv6AutoAddressingEnable', Boolean) #442
|
||||
, OptionalProperty('ipv6DHCPLeaseTime', Unsigned) #443
|
||||
, OptionalProperty('ipv6DHCPLeaseTimeRemaining', Unsigned) #444
|
||||
, OptionalProperty('ipv6DHCPServer', OctetString) #445
|
||||
|
|
|
@ -185,8 +185,8 @@ def flatten(x, prefix="$"):
|
|||
yield (prefix, x)
|
||||
|
||||
|
||||
@recurring_function(APPINTERVAL)
|
||||
@bacpypes_debugging
|
||||
# @recurring_function(APPINTERVAL)
|
||||
def update_weather_data():
|
||||
"""Read the current weather data from the API and set the object values."""
|
||||
if _debug:
|
||||
|
|
|
@ -1,36 +1,130 @@
|
|||
|
||||
from bacpypes.object import Object, ReadableProperty, OptionalProperty
|
||||
|
||||
from bacpypes.primitivedata import Atomic, BitString, Boolean, CharacterString, Date, \
|
||||
Double, Integer, ObjectIdentifier, ObjectType, OctetString, Real, Time, \
|
||||
Unsigned, Tag, Enumerated, Null
|
||||
from bacpypes.primitivedata import (
|
||||
Atomic,
|
||||
BitString,
|
||||
Boolean,
|
||||
CharacterString,
|
||||
Date,
|
||||
Double,
|
||||
Integer,
|
||||
ObjectIdentifier,
|
||||
ObjectType,
|
||||
OctetString,
|
||||
Real,
|
||||
Time,
|
||||
Unsigned,
|
||||
Tag,
|
||||
Enumerated,
|
||||
Null,
|
||||
)
|
||||
|
||||
from bacpypes.constructeddata import AnyAtomic, Array, ArrayOf, List, ListOf, \
|
||||
Choice, Element, Sequence
|
||||
from bacpypes.constructeddata import (
|
||||
AnyAtomic,
|
||||
Array,
|
||||
ArrayOf,
|
||||
List,
|
||||
ListOf,
|
||||
Choice,
|
||||
Element,
|
||||
Sequence,
|
||||
)
|
||||
|
||||
from bacpypes.basetypes import AccessCredentialDisable, AccessCredentialDisableReason, \
|
||||
AccessEvent, AccessPassbackMode, AccessRule, AccessThreatLevel, \
|
||||
AccessUserType, AccessZoneOccupancyState, AccumulatorRecord, Action, \
|
||||
ActionList, AddressBinding, AssignedAccessRights, AuthenticationFactor, \
|
||||
AuthenticationFactorFormat, AuthenticationPolicy, AuthenticationStatus, \
|
||||
AuthorizationException, AuthorizationMode, BackupState, BinaryPV, \
|
||||
COVSubscription, CalendarEntry, ChannelValue, ClientCOV, \
|
||||
CredentialAuthenticationFactor, DailySchedule, DateRange, DateTime, \
|
||||
Destination, DeviceObjectPropertyReference, DeviceObjectReference, \
|
||||
DeviceStatus, DoorAlarmState, DoorSecuredStatus, DoorStatus, DoorValue, \
|
||||
EngineeringUnits, EventNotificationSubscription, EventParameter, \
|
||||
EventState, EventTransitionBits, EventType, FaultParameter, FaultType, \
|
||||
FileAccessMethod, LifeSafetyMode, LifeSafetyOperation, LifeSafetyState, \
|
||||
LightingCommand, LightingInProgress, LightingTransition, LimitEnable, \
|
||||
LockStatus, LogMultipleRecord, LogRecord, LogStatus, LoggingType, \
|
||||
Maintenance, NetworkSecurityPolicy, NodeType, NotifyType, \
|
||||
ObjectPropertyReference, ObjectTypesSupported, OptionalCharacterString, \
|
||||
Polarity, PortPermission, Prescale, PriorityArray, ProcessIdSelection, \
|
||||
ProgramError, ProgramRequest, ProgramState, PropertyAccessResult, \
|
||||
PropertyIdentifier, Recipient, Reliability, RestartReason, Scale, \
|
||||
SecurityKeySet, SecurityLevel, Segmentation, ServicesSupported, \
|
||||
SetpointReference, ShedLevel, ShedState, SilencedState, SpecialEvent, \
|
||||
StatusFlags, TimeStamp, VTClass, VTSession, WriteStatus
|
||||
from bacpypes.basetypes import (
|
||||
AccessCredentialDisable,
|
||||
AccessCredentialDisableReason,
|
||||
AccessEvent,
|
||||
AccessPassbackMode,
|
||||
AccessRule,
|
||||
AccessThreatLevel,
|
||||
AccessUserType,
|
||||
AccessZoneOccupancyState,
|
||||
AccumulatorRecord,
|
||||
Action,
|
||||
ActionList,
|
||||
AddressBinding,
|
||||
AssignedAccessRights,
|
||||
AuthenticationFactor,
|
||||
AuthenticationFactorFormat,
|
||||
AuthenticationPolicy,
|
||||
AuthenticationStatus,
|
||||
AuthorizationException,
|
||||
AuthorizationMode,
|
||||
BackupState,
|
||||
BinaryPV,
|
||||
COVSubscription,
|
||||
CalendarEntry,
|
||||
ChannelValue,
|
||||
ClientCOV,
|
||||
CredentialAuthenticationFactor,
|
||||
DailySchedule,
|
||||
DateRange,
|
||||
DateTime,
|
||||
Destination,
|
||||
DeviceObjectPropertyReference,
|
||||
DeviceObjectReference,
|
||||
DeviceStatus,
|
||||
DoorAlarmState,
|
||||
DoorSecuredStatus,
|
||||
DoorStatus,
|
||||
DoorValue,
|
||||
EngineeringUnits,
|
||||
EventNotificationSubscription,
|
||||
EventParameter,
|
||||
EventState,
|
||||
EventTransitionBits,
|
||||
EventType,
|
||||
FaultParameter,
|
||||
FaultType,
|
||||
FileAccessMethod,
|
||||
LifeSafetyMode,
|
||||
LifeSafetyOperation,
|
||||
LifeSafetyState,
|
||||
LightingCommand,
|
||||
LightingInProgress,
|
||||
LightingTransition,
|
||||
LimitEnable,
|
||||
LockStatus,
|
||||
LogMultipleRecord,
|
||||
LogRecord,
|
||||
LogStatus,
|
||||
LoggingType,
|
||||
Maintenance,
|
||||
NetworkSecurityPolicy,
|
||||
NodeType,
|
||||
NotifyType,
|
||||
ObjectPropertyReference,
|
||||
ObjectTypesSupported,
|
||||
OptionalCharacterString,
|
||||
Polarity,
|
||||
PortPermission,
|
||||
Prescale,
|
||||
PriorityArray,
|
||||
ProcessIdSelection,
|
||||
ProgramError,
|
||||
ProgramRequest,
|
||||
ProgramState,
|
||||
PropertyAccessResult,
|
||||
PropertyIdentifier,
|
||||
Recipient,
|
||||
Reliability,
|
||||
RestartReason,
|
||||
Scale,
|
||||
SecurityKeySet,
|
||||
SecurityLevel,
|
||||
Segmentation,
|
||||
ServicesSupported,
|
||||
SetpointReference,
|
||||
ShedLevel,
|
||||
ShedState,
|
||||
SilencedState,
|
||||
SpecialEvent,
|
||||
StatusFlags,
|
||||
TimeStamp,
|
||||
VTClass,
|
||||
VTSession,
|
||||
WriteStatus,
|
||||
)
|
||||
|
||||
# TODO: add to objectIdentifier enumeration
|
||||
# TODO: add to objectTypesSupported
|
||||
|
@ -38,17 +132,15 @@ from bacpypes.basetypes import AccessCredentialDisable, AccessCredentialDisableR
|
|||
# TODO: fix property names
|
||||
|
||||
|
||||
|
||||
|
||||
#
|
||||
# NEW PRIMITIVES
|
||||
#
|
||||
|
||||
class Unsigned8(Unsigned):
|
||||
|
||||
class Unsigned8(Unsigned):
|
||||
_app_tag = Tag.unsignedAppTag
|
||||
|
||||
def __init__(self,arg = None):
|
||||
def __init__(self, arg=None):
|
||||
Unsigned.__init__(self, arg)
|
||||
self.value = 0
|
||||
|
||||
|
@ -65,7 +157,6 @@ class Unsigned8(Unsigned):
|
|||
else:
|
||||
raise TypeError("invalid constructor datatype")
|
||||
|
||||
|
||||
@classmethod
|
||||
def is_valid(cls, arg):
|
||||
"""Return True if arg is valid value for the class."""
|
||||
|
@ -76,10 +167,9 @@ class Unsigned8(Unsigned):
|
|||
|
||||
|
||||
class Unsigned16(Unsigned):
|
||||
|
||||
_app_tag = Tag.unsignedAppTag
|
||||
|
||||
def __init__(self,arg = None):
|
||||
def __init__(self, arg=None):
|
||||
Unsigned.__init__(self, arg)
|
||||
self.value = 0
|
||||
|
||||
|
@ -96,7 +186,6 @@ class Unsigned16(Unsigned):
|
|||
else:
|
||||
raise TypeError("invalid constructor datatype")
|
||||
|
||||
|
||||
@classmethod
|
||||
def is_valid(cls, arg):
|
||||
"""Return True if arg is valid value for the class."""
|
||||
|
@ -105,194 +194,207 @@ class Unsigned16(Unsigned):
|
|||
def __str__(self):
|
||||
return "%s(%s)" % (self.__class__.__name__, self.value)
|
||||
|
||||
|
||||
#
|
||||
# NEW BASETYPES
|
||||
#
|
||||
|
||||
# Enumerations
|
||||
|
||||
|
||||
class NetworkType(Enumerated):
|
||||
enumerations = \
|
||||
{ 'ethernet':0
|
||||
, 'arcnet':1
|
||||
, 'mstp':2
|
||||
, 'ptp':3
|
||||
, 'lontalk':4
|
||||
, 'ipv4':5
|
||||
, 'zigbee':6
|
||||
, 'virtual': 7
|
||||
enumerations = {
|
||||
"ethernet": 0,
|
||||
"arcnet": 1,
|
||||
"mstp": 2,
|
||||
"ptp": 3,
|
||||
"lontalk": 4,
|
||||
"ipv4": 5,
|
||||
"zigbee": 6,
|
||||
"virtual": 7
|
||||
# , 'non-bacnet': 8 Removed in Version 1, Revision 18
|
||||
, 'ipv6':9
|
||||
, 'serial':10
|
||||
}
|
||||
,
|
||||
"ipv6": 9,
|
||||
"serial": 10,
|
||||
}
|
||||
|
||||
|
||||
class ProtocolLevel(Enumerated):
|
||||
enumerations = \
|
||||
{ 'physical':0
|
||||
, 'protocol':1
|
||||
, 'bacnetApplication':2
|
||||
, 'nonBacnetApplication':3
|
||||
}
|
||||
enumerations = {
|
||||
"physical": 0,
|
||||
"protocol": 1,
|
||||
"bacnetApplication": 2,
|
||||
"nonBacnetApplication": 3,
|
||||
}
|
||||
|
||||
|
||||
class NetworkNumberQuality(Enumerated):
|
||||
enumerations = \
|
||||
{ 'unknown':0
|
||||
, 'learned':1
|
||||
, 'learnedConfigured':2
|
||||
, 'configured':3
|
||||
}
|
||||
enumerations = {"unknown": 0, "learned": 1, "learnedConfigured": 2, "configured": 3}
|
||||
|
||||
|
||||
class NetworkPortCommand(Enumerated):
|
||||
enumerations = \
|
||||
{ 'idle':0
|
||||
, 'discardChanges':1
|
||||
, 'renewFdDRegistration':2
|
||||
, 'restartSlaveDiscovery':3
|
||||
, 'renewDHCP':4
|
||||
, 'restartAutonegotiation':5
|
||||
, 'disconnect':6
|
||||
, 'restartPort':7
|
||||
}
|
||||
enumerations = {
|
||||
"idle": 0,
|
||||
"discardChanges": 1,
|
||||
"renewFdDRegistration": 2,
|
||||
"restartSlaveDiscovery": 3,
|
||||
"renewDHCP": 4,
|
||||
"restartAutonegotiation": 5,
|
||||
"disconnect": 6,
|
||||
"restartPort": 7,
|
||||
}
|
||||
|
||||
|
||||
class IPMode(Enumerated):
|
||||
enumerations = \
|
||||
{ 'normal':0
|
||||
, 'foreign':1
|
||||
, 'bbmd':2
|
||||
}
|
||||
enumerations = {"normal": 0, "foreign": 1, "bbmd": 2}
|
||||
|
||||
|
||||
class RouterEntryStatus(Enumerated):
|
||||
# This was defined directly in the RouterEntry Sequence in the standard, but I moved it up here because
|
||||
# I didn't see anywhere else you defined something that way.
|
||||
enumerations = \
|
||||
{ 'available':0
|
||||
, 'busy':1
|
||||
, 'disconnected':2
|
||||
}
|
||||
enumerations = {"available": 0, "busy": 1, "disconnected": 2}
|
||||
|
||||
|
||||
# Choices
|
||||
|
||||
|
||||
class HostAddress(Choice):
|
||||
choiceElements = \
|
||||
[ Element('none', Null)
|
||||
, Element('ipAddress', OctetString) # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
, Element('name', CharacterString) # Internet host name (see RFC 1123)
|
||||
]
|
||||
choiceElements = [
|
||||
Element("none", Null),
|
||||
Element("ipAddress", OctetString), # 4 octets for B/IP or 16 octets for B/IPv6
|
||||
Element("name", CharacterString), # Internet host name (see RFC 1123)
|
||||
]
|
||||
|
||||
|
||||
# Sequences
|
||||
|
||||
|
||||
class HostNPort(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('host', HostAddress)
|
||||
, Element('port', Unsigned16)
|
||||
]
|
||||
sequenceElements = [Element("host", HostAddress), Element("port", Unsigned16)]
|
||||
|
||||
|
||||
class BDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bbmdAddress', HostNPort)
|
||||
, Element('broadcastMask', OctetString) # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
]
|
||||
sequenceElements = [
|
||||
Element("bbmdAddress", HostNPort),
|
||||
Element(
|
||||
"broadcastMask", OctetString
|
||||
), # shall be present if BACnet/IP, and absent for BACnet/IPv6
|
||||
]
|
||||
|
||||
|
||||
class FDTEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('bacnetIPAddress', OctetString) # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
, Element('timeToLive', Unsigned16) # time to live in seconds at the time of registration
|
||||
, Element('remainingTimeToLive', Unsigned16) # remaining time to live in seconds, incl. grace period
|
||||
]
|
||||
sequenceElements = [
|
||||
Element(
|
||||
"bacnetIPAddress", OctetString
|
||||
), # the 6-octet B/IP or 18-octet B/IPv6 address of the registrant
|
||||
Element(
|
||||
"timeToLive", Unsigned16
|
||||
), # time to live in seconds at the time of registration
|
||||
Element(
|
||||
"remainingTimeToLive", Unsigned16
|
||||
), # remaining time to live in seconds, incl. grace period
|
||||
]
|
||||
|
||||
|
||||
class VMACEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('virtualMACAddress', OctetString) # maximum size 6 octets
|
||||
, Element('nativeMACAddress', OctetString)
|
||||
]
|
||||
sequenceElements = [
|
||||
Element("virtualMACAddress", OctetString), # maximum size 6 octets
|
||||
Element("nativeMACAddress", OctetString),
|
||||
]
|
||||
|
||||
|
||||
class RouterEntry(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('networkNumber', Unsigned16)
|
||||
, Element('macAddress', OctetString)
|
||||
, Element('status', RouterEntryStatus) # Defined Above
|
||||
]
|
||||
sequenceElements = [
|
||||
Element("networkNumber", Unsigned16),
|
||||
Element("macAddress", OctetString),
|
||||
Element("status", RouterEntryStatus), # Defined Above
|
||||
]
|
||||
|
||||
|
||||
class NameValue(Sequence):
|
||||
sequenceElements = \
|
||||
[ Element('name', CharacterString)
|
||||
, Element('value', Atomic) # IS ATOMIC CORRECT HERE? value is limited to primitive datatypes and BACnetDateTime
|
||||
]
|
||||
sequenceElements = [
|
||||
Element("name", CharacterString),
|
||||
Element(
|
||||
"value", Atomic
|
||||
), # IS ATOMIC CORRECT HERE? value is limited to primitive datatypes and BACnetDateTime
|
||||
]
|
||||
|
||||
|
||||
#
|
||||
# NEW OBJECT
|
||||
#
|
||||
|
||||
|
||||
class NetworkPortObject(Object):
|
||||
objectType = 'NetworkPort' #56
|
||||
properties = \
|
||||
[ ReadableProperty('statusFlags', StatusFlags) #111
|
||||
, ReadableProperty('reliability', Reliability) #103
|
||||
, ReadableProperty('outOfService', Boolean) #81
|
||||
, ReadableProperty('networkType', NetworkType) #427
|
||||
, ReadableProperty('protocolLevel', ProtocolLevel) #482
|
||||
, OptionalProperty('referencePort', Unsigned) #483
|
||||
, ReadableProperty('networkNumber', Unsigned16) #425
|
||||
, ReadableProperty('networkNumberQuality', NetworkNumberQuality) #427
|
||||
, ReadableProperty('changesPending', Boolean) #416
|
||||
, OptionalProperty('command', NetworkPortCommand) #417
|
||||
, OptionalProperty('macAddress', OctetString) #423
|
||||
, ReadableProperty('apduLength', Unsigned) #388
|
||||
, ReadableProperty('linkSpeed', Real) #420
|
||||
, OptionalProperty('linkSpeeds', ArrayOf(Real)) #421
|
||||
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp)) #130
|
||||
, OptionalProperty('linkSpeedAutonegotiate', Boolean) #422
|
||||
, OptionalProperty('networkInterfaceName', CharacterString) #424
|
||||
, OptionalProperty('ipMode', IPMode) #408
|
||||
, OptionalProperty('ipAddress', OctetString) #400
|
||||
, OptionalProperty('ipUDPPort', Unsigned16) #412
|
||||
, OptionalProperty('ipSubnetMask', OctetString) #411
|
||||
, OptionalProperty('ipDefaultGateway', OctetString) #401
|
||||
, OptionalProperty('ipMulticastAddress', OctetString) #409
|
||||
, OptionalProperty('ipDNSServer', ArrayOf(OctetString)) #406
|
||||
, OptionalProperty('ipDHCPEnable', Boolean) #402
|
||||
, OptionalProperty('ipDHCPLeaseTime', Unsigned) #403
|
||||
, OptionalProperty('ipDHCPLeaseTimeRemaining', Unsigned) #404
|
||||
, OptionalProperty('ipDHCPServer', OctetString) #405
|
||||
, OptionalProperty('ipNATTraversal', Boolean) #410
|
||||
, OptionalProperty('ipGlobalAddress', HostNPort) #407
|
||||
, OptionalProperty('broadcastDistributionTable', ListOf(BDTEntry)) #414
|
||||
, OptionalProperty('acceptFDRegistrations', Boolean) #413
|
||||
, OptionalProperty('bbmdForeignDeviceTable', ListOf(FDTEntry)) #415
|
||||
, OptionalProperty('fdBBMDAddress', HostNPort) #418
|
||||
, OptionalProperty('fdSubscriptionLifetime', Unsigned16) #419
|
||||
, OptionalProperty('ipv6Mode', IPMode) #435
|
||||
, OptionalProperty('ipv6Address', OctetString) #436
|
||||
, OptionalProperty('ipv6PrefixLength', Unsigned8) #437
|
||||
, OptionalProperty('ipv6UDPPort', Unsigned16) #438
|
||||
, OptionalProperty('ipv6DefaultGateway', OctetString) #439
|
||||
, OptionalProperty('ipv6MulticastAddress', OctetString) #440
|
||||
, OptionalProperty('ipv6DNSServer', OctetString) #441
|
||||
, OptionalProperty('ipv6AutoAddressingEnabled', Boolean) #442
|
||||
, OptionalProperty('ipv6DHCPLeaseTime', Unsigned) #443
|
||||
, OptionalProperty('ipv6DHCPLeaseTimeRemaining', Unsigned) #444
|
||||
, OptionalProperty('ipv6DHCPServer', OctetString) #445
|
||||
, OptionalProperty('ipv6ZoneIndex', CharacterString) #446
|
||||
, OptionalProperty('maxMasters', Unsigned8) # range 0-127 #64
|
||||
, OptionalProperty('maxInfoFrames', Unsigned8) #63
|
||||
, OptionalProperty('slaveProxyEnable', Boolean) #172
|
||||
, OptionalProperty('manualSlaveAddressBinding', ListOf(AddressBinding)) #170
|
||||
, OptionalProperty('autoSlaveDiscovery', Boolean) #169
|
||||
, OptionalProperty('slaveAddressBinding', ListOf(AddressBinding)) #171
|
||||
, OptionalProperty('virtualMACAddressTable', ListOf(VMACEntry)) #429
|
||||
, OptionalProperty('routingTable', ListOf(RouterEntry)) #428
|
||||
, OptionalProperty('eventDetectionEnabled', Boolean) #353
|
||||
, OptionalProperty('notificationClass', Unsigned) #17
|
||||
, OptionalProperty('eventEnable', EventTransitionBits) #35
|
||||
, OptionalProperty('ackedTransitions', EventTransitionBits) #0
|
||||
, OptionalProperty('notifyType', NotifyType) #72
|
||||
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp, 3)) #130
|
||||
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString, 3)) #351
|
||||
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString, 3)) #352
|
||||
, OptionalProperty('eventState', EventState) #36
|
||||
, ReadableProperty('reliabilityEvaluationInhibit', Boolean) #357
|
||||
, OptionalProperty('propertyList', ArrayOf(PropertyIdentifier)) #371
|
||||
, OptionalProperty('tags', ArrayOf(NameValue)) #486
|
||||
, OptionalProperty('profileLocation', CharacterString) #91
|
||||
, OptionalProperty('profileName', CharacterString) #168
|
||||
]
|
||||
objectType = "NetworkPort" # 56
|
||||
properties = [
|
||||
ReadableProperty("statusFlags", StatusFlags), # 111
|
||||
ReadableProperty("reliability", Reliability), # 103
|
||||
ReadableProperty("outOfService", Boolean), # 81
|
||||
ReadableProperty("networkType", NetworkType), # 427
|
||||
ReadableProperty("protocolLevel", ProtocolLevel), # 482
|
||||
OptionalProperty("referencePort", Unsigned), # 483
|
||||
ReadableProperty("networkNumber", Unsigned16), # 425
|
||||
ReadableProperty("networkNumberQuality", NetworkNumberQuality), # 426
|
||||
ReadableProperty("changesPending", Boolean), # 416
|
||||
OptionalProperty("command", NetworkPortCommand), # 417
|
||||
OptionalProperty("macAddress", OctetString), # 423
|
||||
ReadableProperty("apduLength", Unsigned), # 399
|
||||
ReadableProperty("linkSpeed", Real), # 420
|
||||
OptionalProperty("linkSpeeds", ArrayOf(Real)), # 421
|
||||
OptionalProperty("eventTimeStamps", ArrayOf(TimeStamp)), # 130
|
||||
OptionalProperty("linkSpeedAutonegotiate", Boolean), # 422
|
||||
OptionalProperty("networkInterfaceName", CharacterString), # 424
|
||||
OptionalProperty("ipMode", IPMode), # 408
|
||||
OptionalProperty("ipAddress", OctetString), # 400
|
||||
OptionalProperty("ipUDPPort", Unsigned16), # 412
|
||||
OptionalProperty("ipSubnetMask", OctetString), # 411
|
||||
OptionalProperty("ipDefaultGateway", OctetString), # 401
|
||||
OptionalProperty("ipMulticastAddress", OctetString), # 409
|
||||
OptionalProperty("ipDNSServer", ArrayOf(OctetString)), # 406
|
||||
OptionalProperty("ipDHCPEnable", Boolean), # 402
|
||||
OptionalProperty("ipDHCPLeaseTime", Unsigned), # 403
|
||||
OptionalProperty("ipDHCPLeaseTimeRemaining", Unsigned), # 404
|
||||
OptionalProperty("ipDHCPServer", OctetString), # 405
|
||||
OptionalProperty("ipNATTraversal", Boolean), # 410
|
||||
OptionalProperty("ipGlobalAddress", HostNPort), # 407
|
||||
OptionalProperty("broadcastDistributionTable", ListOf(BDTEntry)), # 414
|
||||
OptionalProperty("acceptFDRegistrations", Boolean), # 413
|
||||
OptionalProperty("bbmdForeignDeviceTable", ListOf(FDTEntry)), # 415
|
||||
OptionalProperty("fdBBMDAddress", HostNPort), # 418
|
||||
OptionalProperty("fdSubscriptionLifetime", Unsigned16), # 419
|
||||
OptionalProperty("ipv6Mode", IPMode), # 435
|
||||
OptionalProperty("ipv6Address", OctetString), # 436
|
||||
OptionalProperty("ipv6PrefixLength", Unsigned8), # 437
|
||||
OptionalProperty("ipv6UDPPort", Unsigned16), # 438
|
||||
OptionalProperty("ipv6DefaultGateway", OctetString), # 439
|
||||
OptionalProperty("ipv6MulticastAddress", OctetString), # 440
|
||||
OptionalProperty("ipv6DNSServer", OctetString), # 441
|
||||
OptionalProperty("ipv6AutoAddressingEnable", Boolean), # 442
|
||||
OptionalProperty("ipv6DHCPLeaseTime", Unsigned), # 443
|
||||
OptionalProperty("ipv6DHCPLeaseTimeRemaining", Unsigned), # 444
|
||||
OptionalProperty("ipv6DHCPServer", OctetString), # 445
|
||||
OptionalProperty("ipv6ZoneIndex", CharacterString), # 446
|
||||
OptionalProperty("maxMasters", Unsigned8), # range 0-127 #64
|
||||
OptionalProperty("maxInfoFrames", Unsigned8), # 63
|
||||
OptionalProperty("slaveProxyEnable", Boolean), # 172
|
||||
OptionalProperty("manualSlaveAddressBinding", ListOf(AddressBinding)), # 170
|
||||
OptionalProperty("autoSlaveDiscovery", Boolean), # 169
|
||||
OptionalProperty("slaveAddressBinding", ListOf(AddressBinding)), # 171
|
||||
OptionalProperty("virtualMACAddressTable", ListOf(VMACEntry)), # 429
|
||||
OptionalProperty("routingTable", ListOf(RouterEntry)), # 428
|
||||
OptionalProperty("eventDetectionEnabled", Boolean), # 353
|
||||
OptionalProperty("notificationClass", Unsigned), # 17
|
||||
OptionalProperty("eventEnable", EventTransitionBits), # 35
|
||||
OptionalProperty("ackedTransitions", EventTransitionBits), # 0
|
||||
OptionalProperty("notifyType", NotifyType), # 72
|
||||
OptionalProperty("eventTimeStamps", ArrayOf(TimeStamp, 3)), # 130
|
||||
OptionalProperty("eventMessageTexts", ArrayOf(CharacterString, 3)), # 351
|
||||
OptionalProperty("eventMessageTextsConfig", ArrayOf(CharacterString, 3)), # 352
|
||||
OptionalProperty("eventState", EventState), # 36
|
||||
ReadableProperty("reliabilityEvaluationInhibit", Boolean), # 357
|
||||
OptionalProperty("propertyList", ArrayOf(PropertyIdentifier)), # 371
|
||||
OptionalProperty("tags", ArrayOf(NameValue)), # 486
|
||||
OptionalProperty("profileLocation", CharacterString), # 91
|
||||
OptionalProperty("profileName", CharacterString), # 168
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue
Block a user