diff --git a/py25/bacpypes/apdu.py b/py25/bacpypes/apdu.py index d8d3990..8ac0e1c 100755 --- a/py25/bacpypes/apdu.py +++ b/py25/bacpypes/apdu.py @@ -7,10 +7,16 @@ Application Layer Protocol Data Units from .errors import DecodingError from .debugging import ModuleLogger, DebugContents, bacpypes_debugging -from .pdu import Address, GlobalBroadcast, LocalBroadcast, LocalStation, ModuleLogger, PCI, PDU, PDUData, RemoteBroadcast, RemoteStation -from .primitivedata import Address, ApplicationTag, Atomic, BitString, Boolean, CharacterString, ClosingTag, ContextTag, Date, DecodingError, Double, Enumerated, GlobalBroadcast, Integer, LocalBroadcast, LocalStation, ModuleLogger, Null, ObjectIdentifier, ObjectType, OctetString, OpeningTag, PCI, PDU, PDUData, Real, RemoteBroadcast, RemoteStation, Tag, TagList, Time, Unsigned, expand_enumerations -from .constructeddata import Address, Any, AnyAtomic, ApplicationTag, Array, ArrayOf, Atomic, BitString, Boolean, CharacterString, Choice, ClosingTag, ContextTag, Date, DecodingError, Double, Element, Enumerated, GlobalBroadcast, Integer, LocalBroadcast, LocalStation, ModuleLogger, Null, ObjectIdentifier, ObjectType, OctetString, OpeningTag, PCI, PDU, PDUData, Real, RemoteBroadcast, RemoteStation, Sequence, SequenceOf, Tag, TagList, Time, Unsigned -from .basetypes import AccessAuthenticationFactorDisable, AccessCredentialDisable, AccessCredentialDisableReason, AccessEvent, AccessPassbackMode, AccessRule, AccessRuleLocationSpecifier, AccessRuleTimeRangeSpecifier, AccessThreatLevel, AccessUserType, AccessZoneOccupancyState, AccumulatorRecord, AccumulatorRecordAccumulatorStatus, Action, ActionCommand, ActionList, Address, AddressBinding, Any, AnyAtomic, ApplicationTag, Array, ArrayOf, AssignedAccessRights, Atomic, AuthenticationFactor, AuthenticationFactorFormat, AuthenticationFactorType, AuthenticationPolicy, AuthenticationPolicyPolicy, AuthenticationStatus, AuthorizationException, AuthorizationMode, BackupState, BinaryPV, BitString, Boolean, COVSubscription, CalendarEntry, ChannelValue, CharacterString, Choice, ClientCOV, ClosingTag, ContextTag, CredentialAuthenticationFactor, DailySchedule, Date, DateRange, DateTime, DaysOfWeek, DecodingError, Destination, DeviceAddress, DeviceObjectPropertyReference, DeviceObjectPropertyValue, DeviceObjectReference, DeviceStatus, DoorAlarmState, DoorSecuredStatus, DoorStatus, DoorValue, Double, Element, EngineeringUnits, Enumerated, ErrorClass, ErrorCode, ErrorType, EventNotificationSubscription, EventParameter, EventParameterAccessEvent, EventParameterAccessEventAccessEvent, EventParameterBufferReady, EventParameterChangeOfBitstring, EventParameterChangeOfCharacterString, EventParameterChangeOfLifeSafety, EventParameterChangeOfState, EventParameterChangeOfStatusFlags, EventParameterChangeOfValue, EventParameterChangeOfValueCOVCriteria, EventParameterCommandFailure, EventParameterDoubleOutOfRange, EventParameterExtended, EventParameterExtendedParameters, EventParameterFloatingLimit, EventParameterOutOfRange, EventParameterSignedOutOfRange, EventParameterUnsignedOutOfRange, EventParameterUnsignedRange, EventState, EventTransitionBits, EventType, FaultParameter, FaultParameterCharacterString, FaultParameterExtended, FaultParameterExtendedParameters, FaultParameterLifeSafety, FaultParameterState, FaultParameterStatusFlags, FaultType, FileAccessMethod, GlobalBroadcast, Integer, KeyIdentifier, LifeSafetyMode, LifeSafetyOperation, LifeSafetyState, LightingCommand, LightingInProgress, LightingOperation, LightingTransition, LimitEnable, LocalBroadcast, LocalStation, LockStatus, LogData, LogDataLogData, LogMultipleRecord, LogRecord, LogRecordLogDatum, LogStatus, LoggingType, Maintenance, ModuleLogger, NetworkSecurityPolicy, NodeType, NotificationParameters, NotificationParametersAccessEventType, NotificationParametersBufferReady, NotificationParametersChangeOfBitstring, NotificationParametersChangeOfCharacterStringType, NotificationParametersChangeOfLifeSafety, NotificationParametersChangeOfState, NotificationParametersChangeOfStatusFlagsType, NotificationParametersChangeOfValue, NotificationParametersChangeOfValueNewValue, NotificationParametersCommandFailure, NotificationParametersComplexEventType, NotificationParametersDoubleOutOfRangeType, NotificationParametersExtended, NotificationParametersExtendedParametersType, NotificationParametersFloatingLimit, NotificationParametersOutOfRange, NotificationParametersSignedOutOfRangeType, NotificationParametersUnsignedOutOfRangeType, NotificationParametersUnsignedRange, NotifyType, Null, ObjectIdentifier, ObjectPropertyReference, ObjectPropertyValue, ObjectType, ObjectTypesSupported, OctetString, OpeningTag, OptionalCharacterString, PCI, PDU, PDUData, Polarity, PortPermission, Prescale, PriorityArray, PriorityValue, ProcessIdSelection, ProgramError, ProgramRequest, ProgramState, PropertyAccessResult, PropertyAccessResultAccessResult, PropertyIdentifier, PropertyReference, PropertyStates, PropertyValue, Real, Recipient, RecipientProcess, Reliability, RemoteBroadcast, RemoteStation, RestartReason, ResultFlags, Scale, SecurityKeySet, SecurityLevel, SecurityPolicy, Segmentation, Sequence, SequenceOf, ServicesSupported, SetpointReference, ShedLevel, ShedState, SilencedState, SpecialEvent, SpecialEventPeriod, StatusFlags, Tag, TagList, Time, TimeStamp, TimeValue, Unsigned, VTClass, VTSession, WeekNDay, WriteStatus +from .pdu import PCI, PDUData, NPDU +from .primitivedata import Boolean, CharacterString, Enumerated, Integer, \ + ObjectIdentifier, ObjectType, OctetString, Real, TagList, Unsigned, \ + expand_enumerations +from .constructeddata import Any, Choice, Element, Sequence, SequenceOf +from .basetypes import ChannelValue, DateTime, DeviceAddress, ErrorType, \ + EventState, EventTransitionBits, EventType, LifeSafetyOperation, \ + NotificationParameters, NotifyType, ObjectPropertyReference, \ + PropertyIdentifier, PropertyReference, PropertyValue, RecipientProcess, \ + ResultFlags, Segmentation, TimeStamp, VTClass # some debugging _debug = 0 @@ -346,7 +352,7 @@ class APDU(APCI, PDUData): def dict_contents(self, use_dict=None, as_class=dict): """Return the contents of an object as a dict.""" - if _debug: NPDU._debug("dict_contents use_dict=%r as_class=%r key_values=%r", use_dict, as_class, key_values) + if _debug: NPDU._debug("dict_contents use_dict=%r as_class=%r", use_dict, as_class) # make/extend the dictionary of content if use_dict is None: diff --git a/py25/bacpypes/object.py b/py25/bacpypes/object.py index 3ac1a22..153dae8 100755 --- a/py25/bacpypes/object.py +++ b/py25/bacpypes/object.py @@ -482,7 +482,6 @@ class Object(Logging): # Standard Object Types # -@register_object_type class AccessCredentialObject(Object): objectType = 'accessCredential' properties = \ @@ -513,7 +512,8 @@ class AccessCredentialObject(Object): # , OptionalProperty('occupancyExemption', Boolean) ] -@register_object_type +register_object_type(AccessCredentialObject) + class AccessDoorObject(Object): objectType = 'accessDoor' properties = \ @@ -550,7 +550,8 @@ class AccessDoorObject(Object): , OptionalProperty('eventAlgorithmInhibit', Boolean) ] -@register_object_type +register_object_type(AccessDoorObject) + class AccessPointObject(Object): objectType = 'accessPoint' properties = \ @@ -602,7 +603,8 @@ class AccessPointObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AccessPointObject) + class AccessRightsObject(Object): objectType = 'accessRights' properties = \ @@ -616,7 +618,8 @@ class AccessRightsObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AccessRightsObject) + class AccessUserObject(Object): objectType = 'accessUser' properties = \ @@ -632,7 +635,8 @@ class AccessUserObject(Object): , ReadableProperty('credentials', SequenceOf(DeviceObjectReference)) ] -@register_object_type +register_object_type(AccessUserObject) + class AccessZoneObject(Object): objectType = 'accessZone' properties = \ @@ -672,7 +676,8 @@ class AccessZoneObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AccessZoneObject) + class AccumulatorObject(Object): objectType = 'accumulator' properties = \ @@ -711,7 +716,8 @@ class AccumulatorObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AccumulatorObject) + class AlertEnrollmentObject(Object): objectType = 'alertEnrollment' properties = \ @@ -729,7 +735,8 @@ class AlertEnrollmentObject(Object): , OptionalProperty('eventAlgorithmInhibit', Boolean) ] -@register_object_type +register_object_type(AlertEnrollmentObject) + class AnalogInputObject(Object): objectType = 'analogInput' properties = \ @@ -764,7 +771,8 @@ class AnalogInputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AnalogInputObject) + class AnalogOutputObject(Object): objectType = 'analogOutput' properties = \ @@ -800,7 +808,8 @@ class AnalogOutputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AnalogOutputObject) + class AnalogValueObject(Object): objectType = 'analogValue' properties = \ @@ -835,7 +844,8 @@ class AnalogValueObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(AnalogValueObject) + class AveragingObject(Object): objectType = 'averaging' properties = \ @@ -852,7 +862,8 @@ class AveragingObject(Object): , WritableProperty('windowSamples', Unsigned) ] -@register_object_type +register_object_type(AveragingObject) + class BinaryInputObject(Object): objectType = 'binaryInput' properties = \ @@ -886,7 +897,8 @@ class BinaryInputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(BinaryInputObject) + class BinaryOutputObject(Object): objectType = 'binaryOutput' properties = \ @@ -924,7 +936,8 @@ class BinaryOutputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(BinaryOutputObject) + class BinaryValueObject(Object): objectType = 'binaryValue' properties = \ @@ -960,7 +973,8 @@ class BinaryValueObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(BinaryValueObject) + class BitStringValueObject(Object): objectType = 'bitstringValue' properties = \ @@ -989,7 +1003,8 @@ class BitStringValueObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(BitStringValueObject) + class CalendarObject(Object): objectType = 'calendar' properties = \ @@ -997,7 +1012,8 @@ class CalendarObject(Object): , ReadableProperty('dateList', SequenceOf(CalendarEntry)) ] -@register_object_type +register_object_type(CalendarObject) + class ChannelObject(Object): objectType = 'channel' properties = \ @@ -1024,7 +1040,8 @@ class ChannelObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(ChannelObject) + class CharacterStringValueObject(Object): objectType = 'characterstringValue' properties = \ @@ -1052,7 +1069,8 @@ class CharacterStringValueObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(CharacterStringValueObject) + class CommandObject(Object): objectType = 'command' properties = \ @@ -1063,7 +1081,8 @@ class CommandObject(Object): , OptionalProperty('actionText', ArrayOf(CharacterString)) ] -@register_object_type +register_object_type(CommandObject) + class CredentialDataInputObject(Object): objectType = 'credentialDataInput' properties = \ @@ -1085,7 +1104,8 @@ class CredentialDataInputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(CredentialDataInputObject) + class DatePatternValueObject(Object): objectType = 'datePatternValue' properties = \ @@ -1098,7 +1118,8 @@ class DatePatternValueObject(Object): , OptionalProperty('relinquishDefault', Date) ] -@register_object_type +register_object_type(DatePatternValueObject) + class DateValueObject(Object): objectType = 'dateValue' properties = \ @@ -1111,7 +1132,8 @@ class DateValueObject(Object): , OptionalProperty('relinquishDefault', Date) ] -@register_object_type +register_object_type(DateValueObject) + class DateTimePatternValueObject(Object): objectType = 'datetimePatternValue' properties = \ @@ -1125,7 +1147,8 @@ class DateTimePatternValueObject(Object): , OptionalProperty('isUtc', Boolean) ] -@register_object_type +register_object_type(DateTimePatternValueObject) + class DateTimeValueObject(Object): objectType = 'datetimeValue' properties = \ @@ -1139,7 +1162,8 @@ class DateTimeValueObject(Object): , OptionalProperty('isUtc', Boolean) ] -@register_object_type +register_object_type(DateTimeValueObject) + class DeviceObject(Object): objectType = 'device' properties = \ @@ -1194,7 +1218,8 @@ class DeviceObject(Object): , OptionalProperty('intervalOffset', Unsigned) ] -@register_object_type +register_object_type(DeviceObject) + class EventEnrollmentObject(Object): objectType = 'eventEnrollment' properties = \ @@ -1220,6 +1245,8 @@ class EventEnrollmentObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] +register_object_type(EventEnrollmentObject) + #----- class EventLogRecordLogDatum(Choice): @@ -1235,7 +1262,6 @@ class EventLogRecord(Sequence): , Element('logDatum', EventLogRecordLogDatum, 1) ] -@register_object_type class EventLogObject(Object): objectType = 'eventLog' properties = \ @@ -1265,9 +1291,10 @@ class EventLogObject(Object): , OptionalProperty('eventAlgorithmInhibit', Boolean) ] +register_object_type(EventLogObject) + #----- -@register_object_type class FileObject(Object): objectType = 'file' properties = \ @@ -1280,9 +1307,10 @@ class FileObject(Object): , OptionalProperty('recordCount', Unsigned) ] +register_object_type(FileObject) + #----- -@register_object_type class GlobalGroupObject(Object): objectType = 'globalGroup' properties = \ @@ -1315,7 +1343,8 @@ class GlobalGroupObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(GlobalGroupObject) + class GroupObject(Object): objectType = 'group' properties = \ @@ -1323,7 +1352,8 @@ class GroupObject(Object): , ReadableProperty('presentValue', SequenceOf(ReadAccessResult)) ] -@register_object_type +register_object_type(GroupObject) + class IntegerValueObject(Object): objectType = 'integerValue' properties = \ @@ -1358,7 +1388,8 @@ class IntegerValueObject(Object): , OptionalProperty('resolution', Integer) ] -@register_object_type +register_object_type(IntegerValueObject) + class LargeAnalogValueObject(Object): objectType = 'largeAnalogValue' properties = \ @@ -1393,7 +1424,8 @@ class LargeAnalogValueObject(Object): , OptionalProperty('resolution', Double) ] -@register_object_type +register_object_type(LargeAnalogValueObject) + class LifeSafetyPointObject(Object): objectType = 'lifeSafetyPoint' properties = \ @@ -1431,7 +1463,8 @@ class LifeSafetyPointObject(Object): , OptionalProperty('memberOf', SequenceOf(DeviceObjectReference)) ] -@register_object_type +register_object_type(LifeSafetyPointObject) + class LifeSafetyZoneObject(Object): objectType = 'lifeSafetyZone' properties = \ @@ -1467,7 +1500,8 @@ class LifeSafetyZoneObject(Object): , OptionalProperty('memberOf', SequenceOf(DeviceObjectReference)) ] -@register_object_type +register_object_type(LifeSafetyZoneObject) + class LightingOutputObject(Object): objectType = 'lightingOutput' properties = \ @@ -1497,7 +1531,8 @@ class LightingOutputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(LightingOutputObject) + class LoadControlObject(Object): objectType = 'loadControl' properties = \ @@ -1531,7 +1566,8 @@ class LoadControlObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(LoadControlObject) + class LoopObject(Object): objectType = 'loop' properties = \ @@ -1577,7 +1613,8 @@ class LoopObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(LoopObject) + class MultiStateInputObject(Object): objectType = 'multiStateInput' properties = \ @@ -1606,7 +1643,8 @@ class MultiStateInputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(MultiStateInputObject) + class MultiStateOutputObject(Object): objectType = 'multiStateOutput' properties = \ @@ -1636,7 +1674,8 @@ class MultiStateOutputObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(MultiStateOutputObject) + class MultiStateValueObject(Object): objectType = 'multiStateValue' properties = \ @@ -1666,7 +1705,8 @@ class MultiStateValueObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(MultiStateValueObject) + class NetworkSecurityObject(Object): objectType = 'networkSecurity' properties = \ @@ -1683,7 +1723,8 @@ class NetworkSecurityObject(Object): , WritableProperty('doNotHide', Boolean) ] -@register_object_type +register_object_type(NetworkSecurityObject) + class NotificationClassObject(Object): objectType = 'notificationClass' properties = \ @@ -1693,7 +1734,8 @@ class NotificationClassObject(Object): , ReadableProperty('recipientList', SequenceOf(Destination)) ] -@register_object_type +register_object_type(NotificationClassObject) + class NotificationForwarderObject(Object): objectType = 'notificationForwarder' properties = \ @@ -1708,7 +1750,8 @@ class NotificationForwarderObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(NotificationForwarderObject) + class OctetStringValueObject(Object): objectType = 'octetstringValue' properties = \ @@ -1721,7 +1764,8 @@ class OctetStringValueObject(Object): , OptionalProperty('relinquishDefault', OctetString) ] -@register_object_type +register_object_type(OctetStringValueObject) + class PositiveIntegerValueObject(Object): objectType = 'positiveIntegerValue' properties = \ @@ -1756,7 +1800,8 @@ class PositiveIntegerValueObject(Object): , OptionalProperty('resolution', Unsigned) ] -@register_object_type +register_object_type(PositiveIntegerValueObject) + class ProgramObject(Object): objectType = 'program' properties = \ @@ -1780,7 +1825,8 @@ class ProgramObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(ProgramObject) + class PulseConverterObject(Object): objectType = 'pulseConverter' properties = \ @@ -1818,7 +1864,8 @@ class PulseConverterObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(PulseConverterObject) + class ScheduleObject(Object): objectType = 'schedule' properties = \ @@ -1844,7 +1891,8 @@ class ScheduleObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(ScheduleObject) + class StructuredViewObject(Object): objectType = 'structuredView' properties = \ @@ -1854,7 +1902,8 @@ class StructuredViewObject(Object): , OptionalProperty('subordinateAnnotations', ArrayOf(CharacterString)) ] -@register_object_type +register_object_type(StructuredViewObject) + class TimePatternValueObject(Object): objectType = 'timePatternValue' properties = \ @@ -1867,7 +1916,8 @@ class TimePatternValueObject(Object): , OptionalProperty('relinquishDefault', Time) ] -@register_object_type +register_object_type(TimePatternValueObject) + class TimeValueObject(Object): objectType = 'timeValue' properties = \ @@ -1880,7 +1930,8 @@ class TimeValueObject(Object): , OptionalProperty('relinquishDefault', Time) ] -@register_object_type +register_object_type(TimeValueObject) + class TrendLogObject(Object): objectType = 'trendLog' properties = \ @@ -1922,7 +1973,8 @@ class TrendLogObject(Object): , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] -@register_object_type +register_object_type(TrendLogObject) + class TrendLogMultipleObject(Object): objectType = 'trendLogMultiple' properties = \ @@ -1958,3 +2010,5 @@ class TrendLogMultipleObject(Object): , OptionalProperty('eventAlgorithmInhibit', Boolean) , OptionalProperty('reliabilityEvaluationInhibit', Boolean) ] + +register_object_type(TrendLogMultipleObject) diff --git a/py27/bacpypes/apdu.py b/py27/bacpypes/apdu.py index a258440..9a75e22 100755 --- a/py27/bacpypes/apdu.py +++ b/py27/bacpypes/apdu.py @@ -7,10 +7,16 @@ Application Layer Protocol Data Units from .errors import DecodingError from .debugging import ModuleLogger, DebugContents, bacpypes_debugging -from .pdu import * -from .primitivedata import * -from .constructeddata import * -from .basetypes import * +from .pdu import PCI, PDUData, NPDU +from .primitivedata import Boolean, CharacterString, Enumerated, Integer, \ + ObjectIdentifier, ObjectType, OctetString, Real, TagList, Unsigned, \ + expand_enumerations +from .constructeddata import Any, Choice, Element, Sequence, SequenceOf +from .basetypes import ChannelValue, DateTime, DeviceAddress, ErrorType, \ + EventState, EventTransitionBits, EventType, LifeSafetyOperation, \ + NotificationParameters, NotifyType, ObjectPropertyReference, \ + PropertyIdentifier, PropertyReference, PropertyValue, RecipientProcess, \ + ResultFlags, Segmentation, TimeStamp, VTClass # some debugging _debug = 0 diff --git a/py34/bacpypes/apdu.py b/py34/bacpypes/apdu.py index a258440..9a75e22 100755 --- a/py34/bacpypes/apdu.py +++ b/py34/bacpypes/apdu.py @@ -7,10 +7,16 @@ Application Layer Protocol Data Units from .errors import DecodingError from .debugging import ModuleLogger, DebugContents, bacpypes_debugging -from .pdu import * -from .primitivedata import * -from .constructeddata import * -from .basetypes import * +from .pdu import PCI, PDUData, NPDU +from .primitivedata import Boolean, CharacterString, Enumerated, Integer, \ + ObjectIdentifier, ObjectType, OctetString, Real, TagList, Unsigned, \ + expand_enumerations +from .constructeddata import Any, Choice, Element, Sequence, SequenceOf +from .basetypes import ChannelValue, DateTime, DeviceAddress, ErrorType, \ + EventState, EventTransitionBits, EventType, LifeSafetyOperation, \ + NotificationParameters, NotifyType, ObjectPropertyReference, \ + PropertyIdentifier, PropertyReference, PropertyValue, RecipientProcess, \ + ResultFlags, Segmentation, TimeStamp, VTClass # some debugging _debug = 0