mirror of
https://github.com/JoelBender/bacpypes
synced 2025-09-28 22:15:23 +08:00
2041 lines
92 KiB
Python
Executable File
2041 lines
92 KiB
Python
Executable File
#!/usr/bin/python
|
|
|
|
"""
|
|
Object
|
|
"""
|
|
|
|
import sys
|
|
|
|
from .errors import ConfigurationError, ExecutionError
|
|
from .debugging import function_debugging, ModuleLogger, Logging
|
|
|
|
from .primitivedata import Atomic, BitString, Boolean, CharacterString, Date, \
|
|
Double, Integer, ObjectIdentifier, ObjectType, OctetString, Real, Time, \
|
|
Unsigned
|
|
from .constructeddata import AnyAtomic, Array, ArrayOf, Choice, Element, \
|
|
Sequence, SequenceOf
|
|
from .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 .apdu import EventNotificationParameters, ReadAccessSpecification, \
|
|
ReadAccessResult
|
|
|
|
# some debugging
|
|
_debug = 0
|
|
_log = ModuleLogger(globals())
|
|
|
|
#
|
|
# PropertyError
|
|
#
|
|
|
|
class PropertyError(AttributeError):
|
|
pass
|
|
|
|
# a dictionary of object types and classes
|
|
registered_object_types = {}
|
|
|
|
#
|
|
# register_object_type
|
|
#
|
|
|
|
@function_debugging
|
|
def register_object_type(cls=None, vendor_id=0):
|
|
if _debug: register_object_type._debug("register_object_type %s vendor_id=%s", repr(cls), vendor_id)
|
|
|
|
# if cls isn't given, return a decorator
|
|
if not cls:
|
|
def _register(xcls):
|
|
if _debug: register_object_type._debug("_register %s (vendor_id=%s)", repr(cls), vendor_id)
|
|
return register_object_type(xcls, vendor_id)
|
|
if _debug: register_object_type._debug(" - returning decorator")
|
|
|
|
return _register
|
|
|
|
# make sure it's an Object derived class
|
|
if not issubclass(cls, Object):
|
|
raise RuntimeError("Object derived class required")
|
|
|
|
# build a property dictionary by going through the class and all its parents
|
|
_properties = {}
|
|
for c in cls.__mro__:
|
|
for prop in getattr(c, 'properties', []):
|
|
if prop.identifier not in _properties:
|
|
_properties[prop.identifier] = prop
|
|
|
|
# if the object type hasn't been provided, make an immutable one
|
|
if 'objectType' not in _properties:
|
|
_properties['objectType'] = ReadableProperty('objectType', ObjectType, cls.objectType, mutable=False)
|
|
|
|
# store this in the class
|
|
cls._properties = _properties
|
|
|
|
# now save this in all our types
|
|
registered_object_types[(cls.objectType, vendor_id)] = cls
|
|
|
|
# return the class as a decorator
|
|
return cls
|
|
|
|
#
|
|
# get_object_class
|
|
#
|
|
|
|
@function_debugging
|
|
def get_object_class(object_type, vendor_id=0):
|
|
"""Return the class associated with an object type."""
|
|
if _debug: get_object_class._debug("get_object_class %r vendor_id=%r", object_type, vendor_id)
|
|
|
|
# find the klass as given
|
|
cls = registered_object_types.get((object_type, vendor_id))
|
|
if _debug: get_object_class._debug(" - direct lookup: %s", repr(cls))
|
|
|
|
# if the class isn't found and the vendor id is non-zero, try the standard class for the type
|
|
if (not cls) and vendor_id:
|
|
cls = registered_object_types.get((object_type, 0))
|
|
if _debug: get_object_class._debug(" - default lookup: %s", repr(cls))
|
|
|
|
return cls
|
|
|
|
#
|
|
# get_datatype
|
|
#
|
|
|
|
@function_debugging
|
|
def get_datatype(object_type, propid, vendor_id=0):
|
|
"""Return the datatype for the property of an object."""
|
|
if _debug: get_datatype._debug("get_datatype %r %r vendor_id=%r", object_type, propid, vendor_id)
|
|
|
|
# get the related class
|
|
cls = get_object_class(object_type, vendor_id)
|
|
if not cls:
|
|
return None
|
|
|
|
# get the property
|
|
prop = cls._properties.get(propid)
|
|
if not prop:
|
|
return None
|
|
|
|
# return the datatype
|
|
return prop.datatype
|
|
|
|
#
|
|
# Property
|
|
#
|
|
|
|
class Property(Logging):
|
|
|
|
def __init__(self, identifier, datatype, default=None, optional=True, mutable=True):
|
|
if _debug:
|
|
Property._debug("__init__ %s %s default=%r optional=%r mutable=%r",
|
|
identifier, datatype, default, optional, mutable
|
|
)
|
|
|
|
# keep the arguments
|
|
self.identifier = identifier
|
|
self.datatype = datatype
|
|
self.optional = optional
|
|
self.mutable = mutable
|
|
self.default = default
|
|
|
|
def ReadProperty(self, obj, arrayIndex=None):
|
|
if _debug:
|
|
Property._debug("ReadProperty(%s) %s arrayIndex=%r",
|
|
self.identifier, obj, arrayIndex
|
|
)
|
|
|
|
# get the value
|
|
value = obj._values[self.identifier]
|
|
|
|
# access an array
|
|
if arrayIndex is not None:
|
|
if not issubclass(self.datatype, Array):
|
|
raise ExecutionError(errorClass='property', errorCode='propertyIsNotAnArray')
|
|
|
|
if value is not None:
|
|
# dive in, the water's fine
|
|
value = value[arrayIndex]
|
|
|
|
# all set
|
|
return value
|
|
|
|
def WriteProperty(self, obj, value, arrayIndex=None, priority=None, direct=False):
|
|
if _debug:
|
|
Property._debug("WriteProperty(%s) %s %r arrayIndex=%r priority=%r direct=%r",
|
|
self.identifier, obj, value, arrayIndex, priority, direct
|
|
)
|
|
|
|
if (not direct):
|
|
# see if it must be provided
|
|
if not self.optional and value is None:
|
|
raise ValueError("%s value required" % (self.identifier,))
|
|
|
|
# see if it can be changed
|
|
if not self.mutable:
|
|
raise ExecutionError(errorClass='property', errorCode='writeAccessDenied')
|
|
|
|
# if it's atomic assume correct datatype
|
|
if issubclass(self.datatype, Atomic):
|
|
if _debug: Property._debug(" - property is atomic, assumed correct type")
|
|
elif isinstance(value, self.datatype):
|
|
if _debug: Property._debug(" - correct type")
|
|
elif arrayIndex is not None:
|
|
if not issubclass(self.datatype, Array):
|
|
raise ExecutionError(errorClass='property', errorCode='propertyIsNotAnArray')
|
|
|
|
# check the array
|
|
arry = obj._values[self.identifier]
|
|
if arry is None:
|
|
raise RuntimeError("%s uninitialized array" % (self.identifier,))
|
|
|
|
# seems to be OK, let the array object take over
|
|
if _debug: Property._debug(" - forwarding to array")
|
|
arry[arrayIndex] = value
|
|
|
|
return
|
|
elif value is not None:
|
|
# coerce the value
|
|
value = self.datatype(value)
|
|
if _debug: Property._debug(" - coerced the value: %r", value)
|
|
|
|
# seems to be OK
|
|
obj._values[self.identifier] = value
|
|
|
|
#
|
|
# StandardProperty
|
|
#
|
|
|
|
class StandardProperty(Property, Logging):
|
|
|
|
def __init__(self, identifier, datatype, default=None, optional=True, mutable=True):
|
|
if _debug:
|
|
StandardProperty._debug("__init__ %s %s default=%r optional=%r mutable=%r",
|
|
identifier, datatype, default, optional, mutable
|
|
)
|
|
|
|
# use one of the subclasses
|
|
if not isinstance(self, (OptionalProperty, ReadableProperty, WritableProperty)):
|
|
raise ConfigurationError(self.__class__.__name__ + " must derive from OptionalProperty, ReadableProperty, or WritableProperty")
|
|
|
|
# validate the identifier to be one of the standard property enumerations
|
|
if identifier not in PropertyIdentifier.enumerations:
|
|
raise ConfigurationError("unknown standard property identifier: %s" % (identifier,))
|
|
|
|
# continue with the initialization
|
|
Property.__init__(self, identifier, datatype, default, optional, mutable)
|
|
|
|
#
|
|
# OptionalProperty
|
|
#
|
|
|
|
class OptionalProperty(StandardProperty, Logging):
|
|
|
|
"""The property is required to be present and readable using BACnet services."""
|
|
|
|
def __init__(self, identifier, datatype, default=None, optional=True, mutable=False):
|
|
if _debug:
|
|
OptionalProperty._debug("__init__ %s %s default=%r optional=%r mutable=%r",
|
|
identifier, datatype, default, optional, mutable
|
|
)
|
|
|
|
# continue with the initialization
|
|
StandardProperty.__init__(self, identifier, datatype, default, optional, mutable)
|
|
|
|
#
|
|
# ReadableProperty
|
|
#
|
|
|
|
class ReadableProperty(StandardProperty, Logging):
|
|
|
|
"""The property is required to be present and readable using BACnet services."""
|
|
|
|
def __init__(self, identifier, datatype, default=None, optional=False, mutable=False):
|
|
if _debug:
|
|
ReadableProperty._debug("__init__ %s %s default=%r optional=%r mutable=%r",
|
|
identifier, datatype, default, optional, mutable
|
|
)
|
|
|
|
# continue with the initialization
|
|
StandardProperty.__init__(self, identifier, datatype, default, optional, mutable)
|
|
|
|
#
|
|
# WritableProperty
|
|
#
|
|
|
|
class WritableProperty(StandardProperty, Logging):
|
|
|
|
"""The property is required to be present, readable, and writable using BACnet services."""
|
|
|
|
def __init__(self, identifier, datatype, default=None, optional=False, mutable=True):
|
|
if _debug:
|
|
ReadableProperty._debug("__init__ %s %s default=%r optional=%r mutable=%r",
|
|
identifier, datatype, default, optional, mutable
|
|
)
|
|
|
|
# continue with the initialization
|
|
StandardProperty.__init__(self, identifier, datatype, default, optional, mutable)
|
|
|
|
#
|
|
# ObjectIdentifierProperty
|
|
#
|
|
|
|
class ObjectIdentifierProperty(ReadableProperty, Logging):
|
|
|
|
def WriteProperty(self, obj, value, arrayIndex=None, priority=None, direct=False):
|
|
if _debug: ObjectIdentifierProperty._debug("WriteProperty %r %r arrayIndex=%r priority=%r", obj, value, arrayIndex, priority)
|
|
|
|
# make it easy to default
|
|
if value is None:
|
|
pass
|
|
elif isinstance(value, (int, long)):
|
|
value = (obj.objectType, value)
|
|
elif isinstance(value, tuple) and len(value) == 2:
|
|
if value[0] != obj.objectType:
|
|
raise ValueError("%s required" % (obj.objectType,))
|
|
else:
|
|
raise TypeError("object identifier")
|
|
|
|
return Property.WriteProperty( self, obj, value, arrayIndex, priority, direct )
|
|
|
|
#
|
|
# Object
|
|
#
|
|
|
|
class Object(Logging):
|
|
|
|
properties = \
|
|
[ ObjectIdentifierProperty('objectIdentifier', ObjectIdentifier, optional=False)
|
|
, ReadableProperty('objectName', CharacterString, optional=False)
|
|
, ReadableProperty('description', CharacterString)
|
|
, OptionalProperty('profileName', CharacterString)
|
|
, ReadableProperty('propertyList', ArrayOf(PropertyIdentifier))
|
|
]
|
|
_properties = {}
|
|
|
|
def __init__(self, **kwargs):
|
|
"""Create an object, with default property values as needed."""
|
|
if _debug: Object._debug("__init__(%s) %r", self.__class__.__name__, kwargs)
|
|
|
|
# map the python names into property names and make sure they
|
|
# are appropriate for this object
|
|
initargs = {}
|
|
for key, value in kwargs.items():
|
|
if key not in self._properties:
|
|
raise PropertyError(key)
|
|
initargs[key] = value
|
|
|
|
# start with a clean dict of values
|
|
self._values = {}
|
|
|
|
# start with a clean array of property identifiers
|
|
if 'propertyList' in initargs:
|
|
propertyList = None
|
|
else:
|
|
propertyList = ArrayOf(PropertyIdentifier)()
|
|
initargs['propertyList'] = propertyList
|
|
|
|
# initialize the object
|
|
for propid, prop in self._properties.items():
|
|
if propid in initargs:
|
|
if _debug: Object._debug(" - setting %s from initargs", propid)
|
|
|
|
# defer to the property object for error checking
|
|
prop.WriteProperty(self, initargs[propid], direct=True)
|
|
|
|
# add it to the property list if we are building one
|
|
if propertyList is not None:
|
|
propertyList.append(propid)
|
|
|
|
elif prop.default is not None:
|
|
if _debug: Object._debug(" - setting %s from default", propid)
|
|
|
|
# default values bypass property interface
|
|
self._values[propid] = prop.default
|
|
|
|
# add it to the property list if we are building one
|
|
if propertyList is not None:
|
|
propertyList.append(propid)
|
|
|
|
else:
|
|
if not prop.optional:
|
|
if _debug: Object._debug(" - %s value required", propid)
|
|
|
|
self._values[propid] = None
|
|
|
|
if _debug: Object._debug(" - done __init__")
|
|
|
|
def _attr_to_property(self, attr):
|
|
"""Common routine to translate a python attribute name to a property name and
|
|
return the appropriate property."""
|
|
|
|
# get the property
|
|
prop = self._properties.get(attr)
|
|
if not prop:
|
|
raise PropertyError(attr)
|
|
|
|
# found it
|
|
return prop
|
|
|
|
def __getattr__(self, attr):
|
|
if _debug: Object._debug("__getattr__ %r", attr)
|
|
|
|
# do not redirect private attrs or functions
|
|
if attr.startswith('_') or attr[0].isupper() or (attr == 'debug_contents'):
|
|
return object.__getattribute__(self, attr)
|
|
|
|
# defer to the property to get the value
|
|
prop = self._attr_to_property(attr)
|
|
if _debug: Object._debug(" - deferring to %r", prop)
|
|
|
|
# defer to the property to get the value
|
|
return prop.ReadProperty(self)
|
|
|
|
def __setattr__(self, attr, value):
|
|
if _debug: Object._debug("__setattr__ %r %r", attr, value)
|
|
|
|
if attr.startswith('_') or attr[0].isupper() or (attr == 'debug_contents'):
|
|
return object.__setattr__(self, attr, value)
|
|
|
|
# defer to the property to normalize the value
|
|
prop = self._attr_to_property(attr)
|
|
if _debug: Object._debug(" - deferring to %r", prop)
|
|
|
|
return prop.WriteProperty(self, value, direct=True)
|
|
|
|
def ReadProperty(self, propid, arrayIndex=None):
|
|
if _debug: Object._debug("ReadProperty %r arrayIndex=%r", propid, arrayIndex)
|
|
|
|
# get the property
|
|
prop = self._properties.get(propid)
|
|
if not prop:
|
|
raise PropertyError(propid)
|
|
|
|
# defer to the property to get the value
|
|
return prop.ReadProperty(self, arrayIndex)
|
|
|
|
def WriteProperty(self, propid, value, arrayIndex=None, priority=None, direct=False):
|
|
if _debug: Object._debug("WriteProperty %r %r arrayIndex=%r priority=%r", propid, value, arrayIndex, priority)
|
|
|
|
# get the property
|
|
prop = self._properties.get(propid)
|
|
if not prop:
|
|
raise PropertyError(propid)
|
|
|
|
# defer to the property to set the value
|
|
return prop.WriteProperty(self, value, arrayIndex, priority, direct)
|
|
|
|
def get_datatype(self, propid):
|
|
"""Return the datatype for the property of an object."""
|
|
if _debug: Object._debug("get_datatype %r", propid)
|
|
|
|
# get the property
|
|
prop = self._properties.get(propid)
|
|
if not prop:
|
|
raise PropertyError(propid)
|
|
|
|
# return the datatype
|
|
return prop.datatype
|
|
|
|
def _dict_contents(self, use_dict=None, as_class=dict):
|
|
"""Return the contents of an object as a dict."""
|
|
if _debug: Object._debug("dict_contents use_dict=%r as_class=%r", use_dict, as_class)
|
|
|
|
# make/extend the dictionary of content
|
|
if use_dict is None:
|
|
use_dict = as_class()
|
|
|
|
klasses = list(self.__class__.__mro__)
|
|
klasses.reverse()
|
|
|
|
# build a list of properties "bottom up"
|
|
properties = []
|
|
for c in klasses:
|
|
properties.extend(getattr(c, 'properties', []))
|
|
|
|
# print out the values
|
|
for prop in properties:
|
|
value = prop.ReadProperty(self)
|
|
if value is None:
|
|
continue
|
|
|
|
if hasattr(value, "dict_contents"):
|
|
value = value.dict_contents(as_class=as_class)
|
|
|
|
# save the value
|
|
use_dict.__setitem__(prop.identifier, value)
|
|
|
|
# return what we built/updated
|
|
return use_dict
|
|
|
|
def debug_contents(self, indent=1, file=sys.stdout, _ids=None):
|
|
"""Print out interesting things about the object."""
|
|
klasses = list(self.__class__.__mro__)
|
|
klasses.reverse()
|
|
|
|
# build a list of properties "bottom up"
|
|
properties = []
|
|
for c in klasses:
|
|
properties.extend(getattr(c, 'properties', []))
|
|
|
|
# print out the values
|
|
for prop in properties:
|
|
value = prop.ReadProperty(self)
|
|
if hasattr(value, "debug_contents"):
|
|
file.write("%s%s\n" % (" " * indent, prop.identifier))
|
|
value.debug_contents(indent+1, file, _ids)
|
|
else:
|
|
file.write("%s%s = %r\n" % (" " * indent, prop.identifier, value))
|
|
|
|
#
|
|
# Standard Object Types
|
|
#
|
|
|
|
class AccessCredentialObject(Object):
|
|
objectType = 'accessCredential'
|
|
properties = \
|
|
[ WritableProperty('globalIdentifier', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('credentialStatus', BinaryPV)
|
|
, ReadableProperty('reasonForDisable', SequenceOf(AccessCredentialDisableReason))
|
|
, ReadableProperty('authenticationFactors', ArrayOf(CredentialAuthenticationFactor))
|
|
, ReadableProperty('activationTime', DateTime)
|
|
, ReadableProperty('expiryTime', DateTime)
|
|
, ReadableProperty('credentialDisable', AccessCredentialDisable)
|
|
, OptionalProperty('daysRemaining', Integer)
|
|
, OptionalProperty('usesRemaining', Integer)
|
|
, OptionalProperty('absenteeLimit', Unsigned)
|
|
, OptionalProperty('belongsTo', DeviceObjectReference)
|
|
, ReadableProperty('assignedAccessRights', ArrayOf(AssignedAccessRights))
|
|
, OptionalProperty('lastAccessPoint', DeviceObjectReference)
|
|
, OptionalProperty('lastAccessEvent', AccessEvent)
|
|
, OptionalProperty('lastUseTime', DateTime)
|
|
, OptionalProperty('traceFlag', Boolean)
|
|
, OptionalProperty('threatAuthority', AccessThreatLevel)
|
|
, OptionalProperty('extendedTimeEnable', Boolean)
|
|
, OptionalProperty('authorizationExemptions', SequenceOf(AuthorizationException))
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
# , OptionalProperty('masterExemption', Boolean)
|
|
# , OptionalProperty('passbackExemption', Boolean)
|
|
# , OptionalProperty('occupancyExemption', Boolean)
|
|
]
|
|
|
|
register_object_type(AccessCredentialObject)
|
|
|
|
class AccessDoorObject(Object):
|
|
objectType = 'accessDoor'
|
|
properties = \
|
|
[ WritableProperty('presentValue', DoorValue)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('priorityArray', PriorityArray)
|
|
, ReadableProperty('relinquishDefault', DoorValue)
|
|
, OptionalProperty('doorStatus', DoorStatus)
|
|
, OptionalProperty('lockStatus', LockStatus)
|
|
, OptionalProperty('securedStatus', DoorSecuredStatus)
|
|
, OptionalProperty('doorMembers', ArrayOf(DeviceObjectReference))
|
|
, ReadableProperty('doorPulseTime', Unsigned)
|
|
, ReadableProperty('doorExtendedPulseTime', Unsigned)
|
|
, OptionalProperty('doorUnlockDelayTime', Unsigned)
|
|
, ReadableProperty('doorOpenTooLongTime', Unsigned)
|
|
, OptionalProperty('doorAlarmState', DoorAlarmState)
|
|
, OptionalProperty('maskedAlarmValues', SequenceOf(DoorAlarmState))
|
|
, OptionalProperty('maintenanceRequired', Maintenance)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValues', SequenceOf(DoorAlarmState))
|
|
, OptionalProperty('faultValues', SequenceOf(DoorAlarmState))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AccessDoorObject)
|
|
|
|
class AccessPointObject(Object):
|
|
objectType = 'accessPoint'
|
|
properties = \
|
|
[ ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('authenticationStatus', AuthenticationStatus)
|
|
, ReadableProperty('activeAuthenticationPolicy', Unsigned)
|
|
, ReadableProperty('numberOfAuthenticationPolicies', Unsigned)
|
|
, OptionalProperty('authenticationPolicyList', ArrayOf(AuthenticationPolicy))
|
|
, OptionalProperty('authenticationPolicyNames', ArrayOf(CharacterString))
|
|
, ReadableProperty('authorizationMode', AuthorizationMode)
|
|
, OptionalProperty('verificationTime', Unsigned)
|
|
, OptionalProperty('lockout', Boolean)
|
|
, OptionalProperty('lockoutRelinquishTime', Unsigned)
|
|
, OptionalProperty('failedAttempts', Unsigned)
|
|
, OptionalProperty('failedAttemptEvents', SequenceOf(AccessEvent))
|
|
, OptionalProperty('maxFailedAttempts', Unsigned)
|
|
, OptionalProperty('failedAttemptsTime', Unsigned)
|
|
, OptionalProperty('threatLevel', AccessThreatLevel)
|
|
, OptionalProperty('occupancyUpperLimitEnforced', Boolean)
|
|
, OptionalProperty('occupancyLowerLimitEnforced', Boolean)
|
|
, OptionalProperty('occupancyCountAdjust', Boolean)
|
|
, OptionalProperty('accompanimentTime', Unsigned)
|
|
, ReadableProperty('accessEvent', AccessEvent)
|
|
, ReadableProperty('accessEventTag', Unsigned)
|
|
, ReadableProperty('accessEventTime', TimeStamp)
|
|
, ReadableProperty('accessEventCredential', DeviceObjectReference)
|
|
, OptionalProperty('accessEventAuthenticationFactor', AuthenticationFactor)
|
|
, ReadableProperty('accessDoors', ArrayOf(DeviceObjectReference))
|
|
, ReadableProperty('priorityForWriting', Unsigned)
|
|
, OptionalProperty('musterPoint', Boolean)
|
|
, OptionalProperty('zoneTo', DeviceObjectReference)
|
|
, OptionalProperty('zoneFrom', DeviceObjectReference)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('transactionNotificationClass', Unsigned)
|
|
, OptionalProperty('accessAlarmEvents', SequenceOf(AccessEvent))
|
|
, OptionalProperty('accessTransactionEvents', SequenceOf(AccessEvent))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AccessPointObject)
|
|
|
|
class AccessRightsObject(Object):
|
|
objectType = 'accessRights'
|
|
properties = \
|
|
[ WritableProperty('globalIdentifier', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('enable', Boolean)
|
|
, ReadableProperty('negativeAccessRules', ArrayOf(AccessRule))
|
|
, ReadableProperty('positiveAccessRules', ArrayOf(AccessRule))
|
|
, OptionalProperty('accompaniment', DeviceObjectReference)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AccessRightsObject)
|
|
|
|
class AccessUserObject(Object):
|
|
objectType = 'accessUser'
|
|
properties = \
|
|
[ WritableProperty('globalIdentifier', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('userType', AccessUserType)
|
|
, OptionalProperty('userName', CharacterString)
|
|
, OptionalProperty('userExternalIdentifier', CharacterString)
|
|
, OptionalProperty('userInformationReference', CharacterString)
|
|
, OptionalProperty('members', SequenceOf(DeviceObjectReference))
|
|
, OptionalProperty('memberOf', SequenceOf(DeviceObjectReference))
|
|
, ReadableProperty('credentials', SequenceOf(DeviceObjectReference))
|
|
]
|
|
|
|
register_object_type(AccessUserObject)
|
|
|
|
class AccessZoneObject(Object):
|
|
objectType = 'accessZone'
|
|
properties = \
|
|
[ WritableProperty('globalIdentifier', Unsigned)
|
|
, ReadableProperty('occupancyState', AccessZoneOccupancyState)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, OptionalProperty('occupancyCount', Unsigned)
|
|
, OptionalProperty('occupancyCountEnable', Boolean)
|
|
, OptionalProperty('adjustValue', Integer)
|
|
, OptionalProperty('occupancyUpperLimit', Unsigned)
|
|
, OptionalProperty('occupancyLowerLimit', Unsigned)
|
|
, OptionalProperty('credentialsInZone', SequenceOf(DeviceObjectReference) )
|
|
, OptionalProperty('lastCredentialAdded', DeviceObjectReference)
|
|
, OptionalProperty('lastCredentialAddedTime', DateTime)
|
|
, OptionalProperty('lastCredentialRemoved', DeviceObjectReference)
|
|
, OptionalProperty('lastCredentialRemovedTime', DateTime)
|
|
, OptionalProperty('passbackMode', AccessPassbackMode)
|
|
, OptionalProperty('passbackTimeout', Unsigned)
|
|
, ReadableProperty('entryPoints', SequenceOf(DeviceObjectReference))
|
|
, ReadableProperty('exitPoints', SequenceOf(DeviceObjectReference))
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValues', SequenceOf(AccessZoneOccupancyState))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AccessZoneObject)
|
|
|
|
class AccumulatorObject(Object):
|
|
objectType = 'accumulator'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Unsigned)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('scale', Scale)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('prescale', Prescale)
|
|
, ReadableProperty('maxPresValue', Unsigned)
|
|
, OptionalProperty('valueChangeTime', DateTime)
|
|
, OptionalProperty('valueBeforeChange', Unsigned)
|
|
, OptionalProperty('valueSet', Unsigned)
|
|
, OptionalProperty('loggingRecord', AccumulatorRecord)
|
|
, OptionalProperty('loggingObject', ObjectIdentifier)
|
|
, OptionalProperty('pulseRate', Unsigned)
|
|
, OptionalProperty('highLimit', Unsigned)
|
|
, OptionalProperty('lowLimit', Unsigned)
|
|
, OptionalProperty('limitMonitoringInterval', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AccumulatorObject)
|
|
|
|
class AlertEnrollmentObject(Object):
|
|
objectType = 'alertEnrollment'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', ObjectIdentifier)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, ReadableProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AlertEnrollmentObject)
|
|
|
|
class AnalogInputObject(Object):
|
|
objectType = 'analogInput'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Real)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, OptionalProperty('updateInterval', Unsigned)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('minPresValue', Real)
|
|
, OptionalProperty('maxPresValue', Real)
|
|
, OptionalProperty('resolution', Real)
|
|
, OptionalProperty('covIncrement', Real)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('highLimit', Real)
|
|
, OptionalProperty('lowLimit', Real)
|
|
, OptionalProperty('deadband', Real)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AnalogInputObject)
|
|
|
|
class AnalogOutputObject(Object):
|
|
objectType = 'analogOutput'
|
|
properties = \
|
|
[ WritableProperty('presentValue', Real)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('minPresValue', Real)
|
|
, OptionalProperty('maxPresValue', Real)
|
|
, OptionalProperty('resolution', Real)
|
|
, ReadableProperty('priorityArray', PriorityArray)
|
|
, ReadableProperty('relinquishDefault', Real)
|
|
, OptionalProperty('covIncrement', Real)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('highLimit', Real)
|
|
, OptionalProperty('lowLimit', Real)
|
|
, OptionalProperty('deadband', Real)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AnalogOutputObject)
|
|
|
|
class AnalogValueObject(Object):
|
|
objectType = 'analogValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Real)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('minPresValue', Real)
|
|
, OptionalProperty('maxPresValue', Real)
|
|
, OptionalProperty('resolution', Real)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Real)
|
|
, OptionalProperty('covIncrement', Real)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('highLimit', Real)
|
|
, OptionalProperty('lowLimit', Real)
|
|
, OptionalProperty('deadband', Real)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(AnalogValueObject)
|
|
|
|
class AveragingObject(Object):
|
|
objectType = 'averaging'
|
|
properties = \
|
|
[ ReadableProperty('minimumValue', Real)
|
|
, OptionalProperty('minimumValueTimestamp', DateTime)
|
|
, ReadableProperty('averageValue', Real)
|
|
, OptionalProperty('varianceValue', Real)
|
|
, ReadableProperty('maximumValue', Real)
|
|
, OptionalProperty('maximumValueTimestamp', DateTime)
|
|
, WritableProperty('attemptedSamples', Unsigned)
|
|
, ReadableProperty('validSamples', Unsigned)
|
|
, ReadableProperty('objectPropertyReference', DeviceObjectPropertyReference)
|
|
, WritableProperty('windowInterval', Unsigned)
|
|
, WritableProperty('windowSamples', Unsigned)
|
|
]
|
|
|
|
register_object_type(AveragingObject)
|
|
|
|
class BinaryInputObject(Object):
|
|
objectType = 'binaryInput'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', BinaryPV)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('polarity', Polarity)
|
|
, OptionalProperty('inactiveText', CharacterString)
|
|
, OptionalProperty('activeText', CharacterString)
|
|
, OptionalProperty('changeOfStateTime', DateTime)
|
|
, OptionalProperty('changeOfStateCount', Unsigned)
|
|
, OptionalProperty('timeOfStateCountReset', DateTime)
|
|
, OptionalProperty('elapsedActiveTime', Unsigned)
|
|
, OptionalProperty('timeOfActiveTimeReset', DateTime)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValue', BinaryPV)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(BinaryInputObject)
|
|
|
|
class BinaryOutputObject(Object):
|
|
objectType = 'binaryOutput'
|
|
properties = \
|
|
[ WritableProperty('presentValue', BinaryPV)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('polarity', Polarity)
|
|
, OptionalProperty('inactiveText', CharacterString)
|
|
, OptionalProperty('activeText', CharacterString)
|
|
, OptionalProperty('changeOfStateTime', DateTime)
|
|
, OptionalProperty('changeOfStateCount', Unsigned)
|
|
, OptionalProperty('timeOfStateCountReset', DateTime)
|
|
, OptionalProperty('elapsedActiveTime', Unsigned)
|
|
, OptionalProperty('timeOfActiveTimeReset', DateTime)
|
|
, OptionalProperty('minimumOffTime', Unsigned)
|
|
, OptionalProperty('minimumOnTime', Unsigned)
|
|
, ReadableProperty('priorityArray', PriorityArray)
|
|
, ReadableProperty('relinquishDefault', BinaryPV)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('feedbackValue', BinaryPV)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(BinaryOutputObject)
|
|
|
|
class BinaryValueObject(Object):
|
|
objectType = 'binaryValue'
|
|
properties = \
|
|
[ WritableProperty('presentValue', BinaryPV)
|
|
, ReadableProperty('statusFlags',StatusFlags)
|
|
, ReadableProperty('eventState',EventState)
|
|
, OptionalProperty('reliability',Reliability)
|
|
, ReadableProperty('outOfService',Boolean)
|
|
, OptionalProperty('inactiveText',CharacterString)
|
|
, OptionalProperty('activeText',CharacterString)
|
|
, OptionalProperty('changeOfStateTime',DateTime)
|
|
, OptionalProperty('changeOfStateCount',Unsigned)
|
|
, OptionalProperty('timeOfStateCountReset',DateTime)
|
|
, OptionalProperty('elapsedActiveTime',Unsigned)
|
|
, OptionalProperty('timeOfActiveTimeReset',DateTime)
|
|
, OptionalProperty('minimumOffTime',Unsigned)
|
|
, OptionalProperty('minimumOnTime',Unsigned)
|
|
, OptionalProperty('priorityArray',PriorityArray)
|
|
, OptionalProperty('relinquishDefault',BinaryPV)
|
|
, OptionalProperty('timeDelay',Unsigned)
|
|
, OptionalProperty('notificationClass',Unsigned)
|
|
, OptionalProperty('alarmValue',BinaryPV)
|
|
, OptionalProperty('eventEnable',EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions',EventTransitionBits)
|
|
, OptionalProperty('notifyType',NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(BinaryValueObject)
|
|
|
|
class BitStringValueObject(Object):
|
|
objectType = 'bitstringValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', BitString)
|
|
, OptionalProperty('bitText', ArrayOf(CharacterString))
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', BitString)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValues', ArrayOf(BitString))
|
|
, OptionalProperty('bitMask', BitString)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(BitStringValueObject)
|
|
|
|
class CalendarObject(Object):
|
|
objectType = 'calendar'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Boolean)
|
|
, ReadableProperty('dateList', SequenceOf(CalendarEntry))
|
|
]
|
|
|
|
register_object_type(CalendarObject)
|
|
|
|
class ChannelObject(Object):
|
|
objectType = 'channel'
|
|
properties = \
|
|
[ WritableProperty('presentValue', ChannelValue)
|
|
, ReadableProperty('lastPriority', Unsigned)
|
|
, ReadableProperty('writeStatus', WriteStatus)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, WritableProperty('listOfObjectPropertyReferences', ArrayOf(DeviceObjectPropertyReference))
|
|
, OptionalProperty('executionDelay', ArrayOf(Unsigned))
|
|
, OptionalProperty('allowGroupDelayInhibit', Boolean)
|
|
, WritableProperty('channelNumber', Unsigned)
|
|
, WritableProperty('controlGroups', ArrayOf(Unsigned))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(ChannelObject)
|
|
|
|
class CharacterStringValueObject(Object):
|
|
objectType = 'characterstringValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', CharacterString)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValues', ArrayOf(OptionalCharacterString))
|
|
, OptionalProperty('faultValues', ArrayOf(OptionalCharacterString))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(CharacterStringValueObject)
|
|
|
|
class CommandObject(Object):
|
|
objectType = 'command'
|
|
properties = \
|
|
[ WritableProperty('presentValue', Unsigned)
|
|
, ReadableProperty('inProcess', Boolean)
|
|
, ReadableProperty('allWritesSuccessful', Boolean)
|
|
, ReadableProperty('action', ArrayOf(ActionList))
|
|
, OptionalProperty('actionText', ArrayOf(CharacterString))
|
|
]
|
|
|
|
register_object_type(CommandObject)
|
|
|
|
class CredentialDataInputObject(Object):
|
|
objectType = 'credentialDataInput'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', AuthenticationFactor)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('supportedFormats', ArrayOf(AuthenticationFactorFormat))
|
|
, OptionalProperty('supportedFormatClasses', ArrayOf(Unsigned))
|
|
, ReadableProperty('updateTime', TimeStamp)
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(CredentialDataInputObject)
|
|
|
|
class DatePatternValueObject(Object):
|
|
objectType = 'datePatternValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Date)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Date)
|
|
]
|
|
|
|
register_object_type(DatePatternValueObject)
|
|
|
|
class DateValueObject(Object):
|
|
objectType = 'dateValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Date)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Date)
|
|
]
|
|
|
|
register_object_type(DateValueObject)
|
|
|
|
class DateTimePatternValueObject(Object):
|
|
objectType = 'datetimePatternValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', DateTime)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', DateTime)
|
|
, OptionalProperty('isUtc', Boolean)
|
|
]
|
|
|
|
register_object_type(DateTimePatternValueObject)
|
|
|
|
class DateTimeValueObject(Object):
|
|
objectType = 'datetimeValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', DateTime)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', DateTime)
|
|
, OptionalProperty('isUtc', Boolean)
|
|
]
|
|
|
|
register_object_type(DateTimeValueObject)
|
|
|
|
class DeviceObject(Object):
|
|
objectType = 'device'
|
|
properties = \
|
|
[ ReadableProperty('systemStatus', DeviceStatus)
|
|
, ReadableProperty('vendorName', CharacterString)
|
|
, ReadableProperty('vendorIdentifier', Unsigned)
|
|
, ReadableProperty('modelName', CharacterString)
|
|
, ReadableProperty('firmwareRevision', CharacterString)
|
|
, ReadableProperty('applicationSoftwareVersion', CharacterString)
|
|
, OptionalProperty('location', CharacterString)
|
|
, ReadableProperty('protocolVersion', Unsigned)
|
|
, ReadableProperty('protocolRevision', Unsigned)
|
|
, ReadableProperty('protocolServicesSupported', ServicesSupported)
|
|
, ReadableProperty('protocolObjectTypesSupported', ObjectTypesSupported)
|
|
, ReadableProperty('objectList', ArrayOf(ObjectIdentifier))
|
|
, OptionalProperty('structuredObjectList', ArrayOf(ObjectIdentifier))
|
|
, ReadableProperty('maxApduLengthAccepted', Unsigned)
|
|
, ReadableProperty('segmentationSupported', Segmentation)
|
|
, OptionalProperty('vtClassesSupported', SequenceOf(VTClass))
|
|
, OptionalProperty('activeVtSessions', SequenceOf(VTSession))
|
|
, OptionalProperty('localTime', Time)
|
|
, OptionalProperty('localDate', Date)
|
|
, OptionalProperty('utcOffset', Integer)
|
|
, OptionalProperty('daylightSavingsStatus', Boolean)
|
|
, OptionalProperty('apduSegmentTimeout', Unsigned)
|
|
, ReadableProperty('apduTimeout', Unsigned)
|
|
, ReadableProperty('numberOfApduRetries', Unsigned)
|
|
, OptionalProperty('timeSynchronizationRecipients', SequenceOf(Recipient))
|
|
, OptionalProperty('maxMaster', Unsigned)
|
|
, OptionalProperty('maxInfoFrames', Unsigned)
|
|
, ReadableProperty('deviceAddressBinding', SequenceOf(AddressBinding))
|
|
, ReadableProperty('databaseRevision', Unsigned)
|
|
, OptionalProperty('configurationFiles', ArrayOf(ObjectIdentifier))
|
|
, OptionalProperty('lastRestoreTime', TimeStamp)
|
|
, OptionalProperty('backupFailureTimeout', Unsigned)
|
|
, OptionalProperty('backupPreparationTime', Unsigned)
|
|
, OptionalProperty('restorePreparationTime', Unsigned)
|
|
, OptionalProperty('restoreCompletionTime', Unsigned)
|
|
, OptionalProperty('backupAndRestoreState', BackupState)
|
|
, OptionalProperty('activeCovSubscriptions', SequenceOf(COVSubscription))
|
|
, OptionalProperty('maxSegmentsAccepted', Unsigned)
|
|
, OptionalProperty('slaveProxyEnable', ArrayOf(Boolean))
|
|
, OptionalProperty('autoSlaveDiscovery', ArrayOf(Boolean))
|
|
, OptionalProperty('slaveAddressBinding', SequenceOf(AddressBinding))
|
|
, OptionalProperty('manualSlaveAddressBinding', SequenceOf(AddressBinding))
|
|
, OptionalProperty('lastRestartReason', RestartReason)
|
|
, OptionalProperty('timeOfDeviceRestart', TimeStamp)
|
|
, OptionalProperty('restartNotificationRecipients', SequenceOf(Recipient))
|
|
, OptionalProperty('utcTimeSynchronizationRecipients', SequenceOf(Recipient))
|
|
, OptionalProperty('timeSynchronizationInterval', Unsigned)
|
|
, OptionalProperty('alignIntervals', Boolean)
|
|
, OptionalProperty('intervalOffset', Unsigned)
|
|
]
|
|
|
|
register_object_type(DeviceObject)
|
|
|
|
class EventEnrollmentObject(Object):
|
|
objectType = 'eventEnrollment'
|
|
properties = \
|
|
[ ReadableProperty('eventType', EventType)
|
|
, ReadableProperty('notifyType', NotifyType)
|
|
, ReadableProperty('eventParameters', EventParameter)
|
|
, ReadableProperty('objectPropertyReference', DeviceObjectPropertyReference)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('eventEnable', EventTransitionBits)
|
|
, ReadableProperty('ackedTransitions', EventTransitionBits)
|
|
, ReadableProperty('notificationClass', Unsigned)
|
|
, ReadableProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, OptionalProperty('faultType', FaultType)
|
|
, OptionalProperty('faultParameters', FaultParameter)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(EventEnrollmentObject)
|
|
|
|
#-----
|
|
|
|
class EventLogRecordLogDatum(Choice):
|
|
choiceElements = \
|
|
[ Element('logStatus', LogStatus, 0)
|
|
, Element('notification', EventNotificationParameters, 1)
|
|
, Element('timeChange', Real, 2)
|
|
]
|
|
|
|
class EventLogRecord(Sequence):
|
|
sequenceElements = \
|
|
[ Element('timestamp', DateTime, 0)
|
|
, Element('logDatum', EventLogRecordLogDatum, 1)
|
|
]
|
|
|
|
class EventLogObject(Object):
|
|
objectType = 'eventLog'
|
|
properties = \
|
|
[ ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, WritableProperty('enable', Boolean)
|
|
, OptionalProperty('startTime', DateTime)
|
|
, OptionalProperty('stopTime', DateTime)
|
|
, ReadableProperty('stopWhenFull', Boolean)
|
|
, ReadableProperty('bufferSize', Unsigned)
|
|
, ReadableProperty('logBuffer', SequenceOf(EventLogRecord))
|
|
, WritableProperty('recordCount', Unsigned)
|
|
, ReadableProperty('totalRecordCount', Unsigned)
|
|
, OptionalProperty('notificationThreshold', Unsigned)
|
|
, OptionalProperty('recordsSinceNotification', Unsigned)
|
|
, OptionalProperty('lastNotifyRecord', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(EventLogObject)
|
|
|
|
#-----
|
|
|
|
class FileObject(Object):
|
|
objectType = 'file'
|
|
properties = \
|
|
[ ReadableProperty('fileType', CharacterString)
|
|
, ReadableProperty('fileSize', Unsigned)
|
|
, ReadableProperty('modificationDate', DateTime)
|
|
, WritableProperty('archive', Boolean)
|
|
, ReadableProperty('readOnly', Boolean)
|
|
, ReadableProperty('fileAccessMethod', FileAccessMethod)
|
|
, OptionalProperty('recordCount', Unsigned)
|
|
]
|
|
|
|
register_object_type(FileObject)
|
|
|
|
#-----
|
|
|
|
class GlobalGroupObject(Object):
|
|
objectType = 'globalGroup'
|
|
properties = \
|
|
[ ReadableProperty('groupMembers', ArrayOf(DeviceObjectPropertyReference))
|
|
, OptionalProperty('groupMemberNames', ArrayOf(CharacterString))
|
|
, ReadableProperty('presentValue', ArrayOf(PropertyAccessResult))
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('memberStatusFlags', StatusFlags)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, OptionalProperty('updateInterval', Unsigned)
|
|
, OptionalProperty('requestedUpdateInterval', Unsigned)
|
|
, OptionalProperty('covResubscriptionInterval', Unsigned)
|
|
, OptionalProperty('clientCovIncrement', ClientCOV)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('covuPeriod', Unsigned)
|
|
, OptionalProperty('covuRecipients', SequenceOf(Recipient))
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(GlobalGroupObject)
|
|
|
|
class GroupObject(Object):
|
|
objectType = 'group'
|
|
properties = \
|
|
[ ReadableProperty('listOfGroupMembers', SequenceOf(ReadAccessSpecification))
|
|
, ReadableProperty('presentValue', SequenceOf(ReadAccessResult))
|
|
]
|
|
|
|
register_object_type(GroupObject)
|
|
|
|
class IntegerValueObject(Object):
|
|
objectType = 'integerValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Integer)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Integer)
|
|
, OptionalProperty('covIncrement', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('highLimit', Integer)
|
|
, OptionalProperty('lowLimit', Integer)
|
|
, OptionalProperty('deadband', Unsigned)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
, OptionalProperty('minPresValue', Integer)
|
|
, OptionalProperty('maxPresValue', Integer)
|
|
, OptionalProperty('resolution', Integer)
|
|
]
|
|
|
|
register_object_type(IntegerValueObject)
|
|
|
|
class LargeAnalogValueObject(Object):
|
|
objectType = 'largeAnalogValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Double)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Integer)
|
|
, OptionalProperty('covIncrement', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('highLimit', Double)
|
|
, OptionalProperty('lowLimit', Double)
|
|
, OptionalProperty('deadband', Double)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
, OptionalProperty('minPresValue', Double)
|
|
, OptionalProperty('maxPresValue', Double)
|
|
, OptionalProperty('resolution', Double)
|
|
]
|
|
|
|
register_object_type(LargeAnalogValueObject)
|
|
|
|
class LifeSafetyPointObject(Object):
|
|
objectType = 'lifeSafetyPoint'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', LifeSafetyState)
|
|
, ReadableProperty('trackingValue', LifeSafetyState)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, WritableProperty('mode', LifeSafetyMode)
|
|
, ReadableProperty('acceptedModes', SequenceOf(LifeSafetyMode))
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('lifeSafetyAlarmValues', SequenceOf(LifeSafetyState))
|
|
, OptionalProperty('alarmValues', SequenceOf(LifeSafetyState))
|
|
, OptionalProperty('faultValues', SequenceOf(LifeSafetyState))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
, ReadableProperty('silenced', SilencedState)
|
|
, ReadableProperty('operationExpected', LifeSafetyOperation)
|
|
, OptionalProperty('maintenanceRequired', Maintenance)
|
|
, OptionalProperty('setting', Unsigned)
|
|
, OptionalProperty('directReading', Real)
|
|
, OptionalProperty('units', EngineeringUnits)
|
|
, OptionalProperty('memberOf', SequenceOf(DeviceObjectReference))
|
|
]
|
|
|
|
register_object_type(LifeSafetyPointObject)
|
|
|
|
class LifeSafetyZoneObject(Object):
|
|
objectType = 'lifeSafetyZone'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', LifeSafetyState)
|
|
, ReadableProperty('trackingValue', LifeSafetyState)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, WritableProperty('mode', LifeSafetyMode)
|
|
, ReadableProperty('acceptedModes', SequenceOf(LifeSafetyMode))
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('lifeSafetyAlarmValues', SequenceOf(LifeSafetyState))
|
|
, OptionalProperty('alarmValues', SequenceOf(LifeSafetyState))
|
|
, OptionalProperty('faultValues', SequenceOf(LifeSafetyState))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
, ReadableProperty('silenced', SilencedState)
|
|
, ReadableProperty('operationExpected', LifeSafetyOperation)
|
|
, OptionalProperty('maintenanceRequired', Boolean)
|
|
, ReadableProperty('zoneMembers', SequenceOf(DeviceObjectReference))
|
|
, OptionalProperty('memberOf', SequenceOf(DeviceObjectReference))
|
|
]
|
|
|
|
register_object_type(LifeSafetyZoneObject)
|
|
|
|
class LightingOutputObject(Object):
|
|
objectType = 'lightingOutput'
|
|
properties = \
|
|
[ WritableProperty('presentValue', Real)
|
|
, ReadableProperty('trackingValue', Real)
|
|
, WritableProperty('lightingCommand', LightingCommand)
|
|
, ReadableProperty('inProgress', LightingInProgress)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('blinkWarnEnable', Boolean)
|
|
, ReadableProperty('egressTime', Unsigned)
|
|
, ReadableProperty('egressActive', Boolean)
|
|
, ReadableProperty('defaultFadeTime', Unsigned)
|
|
, ReadableProperty('defaultRampRate', Real)
|
|
, ReadableProperty('defaultStepIncrement', Real)
|
|
, OptionalProperty('transition', LightingTransition)
|
|
, OptionalProperty('feedbackValue', Real)
|
|
, ReadableProperty('priorityArray', PriorityArray)
|
|
, ReadableProperty('relinquishDefault', Real)
|
|
, OptionalProperty('power', Real)
|
|
, OptionalProperty('instantaneousPower', Real)
|
|
, OptionalProperty('minActualValue', Real)
|
|
, OptionalProperty('maxActualValue', Real)
|
|
, ReadableProperty('lightingCommandDefaultPriority', Unsigned)
|
|
, OptionalProperty('covIncrement', Real)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(LightingOutputObject)
|
|
|
|
class LoadControlObject(Object):
|
|
objectType = 'loadControl'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', ShedState)
|
|
, OptionalProperty('stateDescription', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, WritableProperty('requestedShedLevel', ShedLevel)
|
|
, WritableProperty('startTime', DateTime)
|
|
, WritableProperty('shedDuration', Unsigned)
|
|
, WritableProperty('dutyWindow', Unsigned)
|
|
, WritableProperty('enable', Boolean)
|
|
, OptionalProperty('fullDutyBaseline', Real)
|
|
, ReadableProperty('expectedShedLevel', ShedLevel)
|
|
, ReadableProperty('actualShedLevel', ShedLevel)
|
|
, WritableProperty('shedLevels', ArrayOf(Unsigned))
|
|
, ReadableProperty('shedLevelDescriptions', ArrayOf(CharacterString))
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(LoadControlObject)
|
|
|
|
class LoopObject(Object):
|
|
objectType = 'loop'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Real)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('updateInterval', Unsigned)
|
|
, ReadableProperty('outputUnits', EngineeringUnits)
|
|
, ReadableProperty('manipulatedVariableReference', ObjectPropertyReference)
|
|
, ReadableProperty('controlledVariableReference', ObjectPropertyReference)
|
|
, ReadableProperty('controlledVariableValue', Real)
|
|
, ReadableProperty('controlledVariableUnits', EngineeringUnits)
|
|
, ReadableProperty('setpointReference', SetpointReference)
|
|
, ReadableProperty('setpoint', Real)
|
|
, ReadableProperty('action', Action)
|
|
, OptionalProperty('proportionalConstant', Real)
|
|
, OptionalProperty('proportionalConstantUnits', EngineeringUnits)
|
|
, OptionalProperty('integralConstant', Real)
|
|
, OptionalProperty('integralConstantUnits', EngineeringUnits)
|
|
, OptionalProperty('derivativeConstant', Real)
|
|
, OptionalProperty('derivativeConstantUnits', EngineeringUnits)
|
|
, OptionalProperty('bias', Real)
|
|
, OptionalProperty('maximumOutput', Real)
|
|
, OptionalProperty('minimumOutput', Real)
|
|
, ReadableProperty('priorityForWriting', Unsigned)
|
|
, OptionalProperty('covIncrement', Real)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('errorLimit', Real)
|
|
, OptionalProperty('deadband', Real)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(LoopObject)
|
|
|
|
class MultiStateInputObject(Object):
|
|
objectType = 'multiStateInput'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Unsigned)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('numberOfStates', Unsigned)
|
|
, OptionalProperty('stateText', ArrayOf(CharacterString))
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValues', SequenceOf(Unsigned))
|
|
, OptionalProperty('faultValues', SequenceOf(Unsigned))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(MultiStateInputObject)
|
|
|
|
class MultiStateOutputObject(Object):
|
|
objectType = 'multiStateOutput'
|
|
properties = \
|
|
[ WritableProperty('presentValue', Unsigned)
|
|
, OptionalProperty('deviceType', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('numberOfStates', Unsigned)
|
|
, OptionalProperty('stateText', ArrayOf(CharacterString))
|
|
, ReadableProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('feedbackValue', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(MultiStateOutputObject)
|
|
|
|
class MultiStateValueObject(Object):
|
|
objectType = 'multiStateValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('numberOfStates', Unsigned)
|
|
, OptionalProperty('stateText', ArrayOf(CharacterString))
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('alarmValues', SequenceOf(Unsigned))
|
|
, OptionalProperty('faultValues', SequenceOf(Unsigned))
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(MultiStateValueObject)
|
|
|
|
class NetworkSecurityObject(Object):
|
|
objectType = 'networkSecurity'
|
|
properties = \
|
|
[ WritableProperty('baseDeviceSecurityPolicy', SecurityLevel)
|
|
, WritableProperty('networkAccessSecurityPolicies', ArrayOf(NetworkSecurityPolicy))
|
|
, WritableProperty('securityTimeWindow', Unsigned)
|
|
, WritableProperty('packetReorderTime', Unsigned)
|
|
, ReadableProperty('distributionKeyRevision', Unsigned)
|
|
, ReadableProperty('keySets', ArrayOf(SecurityKeySet))
|
|
, WritableProperty('lastKeyServer', AddressBinding)
|
|
, WritableProperty('securityPDUTimeout', Unsigned)
|
|
, ReadableProperty('updateKeySetTimeout', Unsigned)
|
|
, ReadableProperty('supportedSecurityAlgorithms', SequenceOf(Unsigned))
|
|
, WritableProperty('doNotHide', Boolean)
|
|
]
|
|
|
|
register_object_type(NetworkSecurityObject)
|
|
|
|
class NotificationClassObject(Object):
|
|
objectType = 'notificationClass'
|
|
properties = \
|
|
[ ReadableProperty('notificationClass', Unsigned)
|
|
, ReadableProperty('priority', ArrayOf(Unsigned))
|
|
, ReadableProperty('ackRequired', EventTransitionBits)
|
|
, ReadableProperty('recipientList', SequenceOf(Destination))
|
|
]
|
|
|
|
register_object_type(NotificationClassObject)
|
|
|
|
class NotificationForwarderObject(Object):
|
|
objectType = 'notificationForwarder'
|
|
properties = \
|
|
[ ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('recipientList', SequenceOf(Destination))
|
|
, WritableProperty('subscribedRecipients', SequenceOf(EventNotificationSubscription))
|
|
, ReadableProperty('processIdentifierFilter', ProcessIdSelection)
|
|
, OptionalProperty('portFilter', ArrayOf(PortPermission))
|
|
, ReadableProperty('localForwardingOnly', Boolean)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(NotificationForwarderObject)
|
|
|
|
class OctetStringValueObject(Object):
|
|
objectType = 'octetstringValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', OctetString)
|
|
]
|
|
|
|
register_object_type(OctetStringValueObject)
|
|
|
|
class PositiveIntegerValueObject(Object):
|
|
objectType = 'positiveIntegerValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Unsigned)
|
|
, OptionalProperty('covIncrement', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('highLimit', Unsigned)
|
|
, OptionalProperty('lowLimit', Unsigned)
|
|
, OptionalProperty('deadband', Unsigned)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
, OptionalProperty('minPresValue', Unsigned)
|
|
, OptionalProperty('maxPresValue', Unsigned)
|
|
, OptionalProperty('resolution', Unsigned)
|
|
]
|
|
|
|
register_object_type(PositiveIntegerValueObject)
|
|
|
|
class ProgramObject(Object):
|
|
objectType = 'program'
|
|
properties = \
|
|
[ ReadableProperty('programState', ProgramState)
|
|
, WritableProperty('programChange', ProgramRequest)
|
|
, OptionalProperty('reasonForHalt', ProgramError)
|
|
, OptionalProperty('descriptionOfHalt', CharacterString)
|
|
, OptionalProperty('programLocation', CharacterString)
|
|
, OptionalProperty('instanceOf', CharacterString)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(ProgramObject)
|
|
|
|
class PulseConverterObject(Object):
|
|
objectType = 'pulseConverter'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Real)
|
|
, OptionalProperty('inputReference', ObjectPropertyReference)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, ReadableProperty('units', EngineeringUnits)
|
|
, ReadableProperty('scaleFactor', Real)
|
|
, WritableProperty('adjustValue', Real)
|
|
, ReadableProperty('count', Unsigned)
|
|
, ReadableProperty('updateTime', DateTime)
|
|
, ReadableProperty('countChangeTime', DateTime)
|
|
, ReadableProperty('countBeforeChange', Unsigned)
|
|
, OptionalProperty('covIncrement', Real)
|
|
, OptionalProperty('covPeriod', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('timeDelay', Unsigned)
|
|
, OptionalProperty('highLimit', Real)
|
|
, OptionalProperty('lowLimit', Real)
|
|
, OptionalProperty('deadband', Real)
|
|
, OptionalProperty('limitEnable', LimitEnable)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('timeDelayNormal', Unsigned)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(PulseConverterObject)
|
|
|
|
class ScheduleObject(Object):
|
|
objectType = 'schedule'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', AnyAtomic)
|
|
, ReadableProperty('effectivePeriod', DateRange)
|
|
, OptionalProperty('weeklySchedule', ArrayOf(DailySchedule))
|
|
, OptionalProperty('exceptionSchedule', ArrayOf(SpecialEvent))
|
|
, ReadableProperty('scheduleDefault', AnyAtomic)
|
|
, ReadableProperty('listOfObjectPropertyReferences', SequenceOf(DeviceObjectPropertyReference))
|
|
, ReadableProperty('priorityForWriting', Unsigned)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('reliability', Reliability)
|
|
, ReadableProperty('outOfService', Boolean)
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(ScheduleObject)
|
|
|
|
class StructuredViewObject(Object):
|
|
objectType = 'structuredView'
|
|
properties = \
|
|
[ ReadableProperty('nodeType', NodeType)
|
|
, OptionalProperty('nodeSubtype', CharacterString)
|
|
, ReadableProperty('subordinateList', ArrayOf(DeviceObjectReference))
|
|
, OptionalProperty('subordinateAnnotations', ArrayOf(CharacterString))
|
|
]
|
|
|
|
register_object_type(StructuredViewObject)
|
|
|
|
class TimePatternValueObject(Object):
|
|
objectType = 'timePatternValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Time)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Time)
|
|
]
|
|
|
|
register_object_type(TimePatternValueObject)
|
|
|
|
class TimeValueObject(Object):
|
|
objectType = 'timeValue'
|
|
properties = \
|
|
[ ReadableProperty('presentValue', Time)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('outOfService', Boolean)
|
|
, OptionalProperty('priorityArray', PriorityArray)
|
|
, OptionalProperty('relinquishDefault', Time)
|
|
]
|
|
|
|
register_object_type(TimeValueObject)
|
|
|
|
class TrendLogObject(Object):
|
|
objectType = 'trendLog'
|
|
properties = \
|
|
[ ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, WritableProperty('enable', Boolean)
|
|
, OptionalProperty('startTime', DateTime)
|
|
, OptionalProperty('stopTime', DateTime)
|
|
, OptionalProperty('logDeviceObjectProperty', DeviceObjectPropertyReference)
|
|
, OptionalProperty('logInterval', Unsigned)
|
|
, OptionalProperty('covResubscriptionInterval', Unsigned)
|
|
, OptionalProperty('clientCovIncrement', ClientCOV)
|
|
, ReadableProperty('stopWhenFull', Boolean)
|
|
, ReadableProperty('bufferSize', Unsigned)
|
|
, ReadableProperty('logBuffer', SequenceOf(LogRecord))
|
|
, WritableProperty('recordCount', Unsigned)
|
|
, ReadableProperty('totalRecordCount', Unsigned)
|
|
, ReadableProperty('loggingType', LoggingType)
|
|
, OptionalProperty('alignIntervals', Boolean)
|
|
, OptionalProperty('intervalOffset', Unsigned)
|
|
, OptionalProperty('trigger', Boolean)
|
|
, ReadableProperty('statusFlags', StatusFlags)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, OptionalProperty('notificationThreshold', Unsigned)
|
|
, OptionalProperty('recordsSinceNotification', Unsigned)
|
|
, OptionalProperty('lastNotifyRecord', Unsigned)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(TrendLogObject)
|
|
|
|
class TrendLogMultipleObject(Object):
|
|
objectType = 'trendLogMultiple'
|
|
properties = \
|
|
[ ReadableProperty('statusFlags', StatusFlags)
|
|
, ReadableProperty('eventState', EventState)
|
|
, OptionalProperty('reliability', Reliability)
|
|
, WritableProperty('enable', Boolean)
|
|
, OptionalProperty('startTime', DateTime)
|
|
, OptionalProperty('stopTime', DateTime)
|
|
, ReadableProperty('logDeviceObjectProperty', ArrayOf(DeviceObjectPropertyReference))
|
|
, ReadableProperty('loggingType', LoggingType)
|
|
, ReadableProperty('logInterval', Unsigned)
|
|
, OptionalProperty('alignIntervals', Boolean)
|
|
, OptionalProperty('intervalOffset', Unsigned)
|
|
, OptionalProperty('trigger', Boolean)
|
|
, ReadableProperty('stopWhenFull', Boolean)
|
|
, ReadableProperty('bufferSize', Unsigned)
|
|
, ReadableProperty('logBuffer', SequenceOf(LogMultipleRecord))
|
|
, WritableProperty('recordCount', Unsigned)
|
|
, ReadableProperty('totalRecordCount', Unsigned)
|
|
, OptionalProperty('notificationThreshold', Unsigned)
|
|
, OptionalProperty('recordsSinceNotification', Unsigned)
|
|
, OptionalProperty('lastNotifyRecord', Unsigned)
|
|
, OptionalProperty('notificationClass', Unsigned)
|
|
, OptionalProperty('eventEnable', EventTransitionBits)
|
|
, OptionalProperty('ackedTransitions', EventTransitionBits)
|
|
, OptionalProperty('notifyType', NotifyType)
|
|
, OptionalProperty('eventTimeStamps', ArrayOf(TimeStamp))
|
|
, OptionalProperty('eventMessageTexts', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventMessageTextsConfig', ArrayOf(CharacterString))
|
|
, OptionalProperty('eventDetectionEnable', Boolean)
|
|
, OptionalProperty('eventAlgorithmInhibitRef', ObjectPropertyReference)
|
|
, OptionalProperty('eventAlgorithmInhibit', Boolean)
|
|
, OptionalProperty('reliabilityEvaluationInhibit', Boolean)
|
|
]
|
|
|
|
register_object_type(TrendLogMultipleObject)
|