I/O Objects

Analog Objects

BACnet Analog object types per ASHRAE 135-2016 Clause 12.2-12.4.

class bac_py.objects.analog.AnalogInputObject(instance_number, **initial_properties)[source]

Bases: _AnalogBase

BACnet Analog Input object (Clause 12.2).

Represents an analog sensor input. Present_Value is read-only under normal operation and writable only when Out_Of_Service is TRUE.

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 0
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 5

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.COV_INCREMENT: PropertyDefinition(identifier=<PropertyIdentifier.COV_INCREMENT: 22>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEADBAND: PropertyDefinition(identifier=<PropertyIdentifier.DEADBAND: 25>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEVICE_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.DEVICE_TYPE: 31>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.HIGH_LIMIT: PropertyDefinition(identifier=<PropertyIdentifier.HIGH_LIMIT: 45>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.LIMIT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.LIMIT_ENABLE: 52>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.LOW_LIMIT: PropertyDefinition(identifier=<PropertyIdentifier.LOW_LIMIT: 59>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MAX_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MAX_PRES_VALUE: 65>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.MIN_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MIN_PRES_VALUE: 69>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=0.0), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RESOLUTION: PropertyDefinition(identifier=<PropertyIdentifier.RESOLUTION: 106>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.UNITS: PropertyDefinition(identifier=<PropertyIdentifier.UNITS: 117>, datatype=<enum 'EngineeringUnits'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<EngineeringUnits.NO_UNITS: 95>), PropertyIdentifier.UPDATE_INTERVAL: PropertyDefinition(identifier=<PropertyIdentifier.UPDATE_INTERVAL: 118>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None)}
class bac_py.objects.analog.AnalogOutputObject(instance_number, **initial_properties)[source]

Bases: _AnalogBase

BACnet Analog Output object (Clause 12.3).

Represents an analog actuator output. Always commandable with a 16-level priority array. Present_Value is writable.

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 1
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 5

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.COV_INCREMENT: PropertyDefinition(identifier=<PropertyIdentifier.COV_INCREMENT: 22>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEADBAND: PropertyDefinition(identifier=<PropertyIdentifier.DEADBAND: 25>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEVICE_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.DEVICE_TYPE: 31>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.HIGH_LIMIT: PropertyDefinition(identifier=<PropertyIdentifier.HIGH_LIMIT: 45>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.LIMIT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.LIMIT_ENABLE: 52>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.LOW_LIMIT: PropertyDefinition(identifier=<PropertyIdentifier.LOW_LIMIT: 59>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MAX_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MAX_PRES_VALUE: 65>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.MIN_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MIN_PRES_VALUE: 69>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=0.0), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=0.0), PropertyIdentifier.RESOLUTION: PropertyDefinition(identifier=<PropertyIdentifier.RESOLUTION: 106>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.UNITS: PropertyDefinition(identifier=<PropertyIdentifier.UNITS: 117>, datatype=<enum 'EngineeringUnits'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<EngineeringUnits.NO_UNITS: 95>), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.analog.AnalogValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: _AnalogBase

BACnet Analog Value object (Clause 12.4).

Represents an analog configuration parameter or calculated value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 2
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 5

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.COV_INCREMENT: PropertyDefinition(identifier=<PropertyIdentifier.COV_INCREMENT: 22>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEADBAND: PropertyDefinition(identifier=<PropertyIdentifier.DEADBAND: 25>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.HIGH_LIMIT: PropertyDefinition(identifier=<PropertyIdentifier.HIGH_LIMIT: 45>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.LIMIT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.LIMIT_ENABLE: 52>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.LOW_LIMIT: PropertyDefinition(identifier=<PropertyIdentifier.LOW_LIMIT: 59>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MAX_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MAX_PRES_VALUE: 65>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.MIN_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MIN_PRES_VALUE: 69>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=0.0), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'float'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.RESOLUTION: PropertyDefinition(identifier=<PropertyIdentifier.RESOLUTION: 106>, datatype=<class 'float'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.UNITS: PropertyDefinition(identifier=<PropertyIdentifier.UNITS: 117>, datatype=<enum 'EngineeringUnits'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<EngineeringUnits.NO_UNITS: 95>), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}

Binary Objects

BACnet Binary object types per ASHRAE 135-2020 Clause 12.6-12.8.

class bac_py.objects.binary.BinaryInputObject(instance_number, **initial_properties)[source]

Bases: _BinaryPolarityMixin, BACnetObject

BACnet Binary Input object (Clause 12.6).

Represents a binary sensor input (on/off, open/closed). Present_Value is read-only under normal operation and writable only when Out_Of_Service is TRUE.

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 3
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 1

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.ACTIVE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.ACTIVE_TEXT: 4>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.ALARM_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.ALARM_VALUE: 6>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEVICE_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.DEVICE_TYPE: 31>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.INACTIVE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.INACTIVE_TEXT: 46>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.POLARITY: PropertyDefinition(identifier=<PropertyIdentifier.POLARITY: 84>, datatype=<enum 'Polarity'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<Polarity.NORMAL: 0>), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<BinaryPV.INACTIVE: 0>), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None)}
class bac_py.objects.binary.BinaryOutputObject(instance_number, **initial_properties)[source]

Bases: _MinOnOffTimeMixin, _BinaryPolarityMixin, BACnetObject

BACnet Binary Output object (Clause 12.7).

Represents a binary actuator output (relay, fan on/off). Always commandable with a 16-level priority array. Supports Minimum On/Off Time enforcement per Clause 19.2.

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 4
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 1

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.ACTIVE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.ACTIVE_TEXT: 4>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEVICE_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.DEVICE_TYPE: 31>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.FEEDBACK_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.FEEDBACK_VALUE: 40>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.INACTIVE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.INACTIVE_TEXT: 46>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MINIMUM_OFF_TIME: PropertyDefinition(identifier=<PropertyIdentifier.MINIMUM_OFF_TIME: 66>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MINIMUM_ON_TIME: PropertyDefinition(identifier=<PropertyIdentifier.MINIMUM_ON_TIME: 67>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.POLARITY: PropertyDefinition(identifier=<PropertyIdentifier.POLARITY: 84>, datatype=<enum 'Polarity'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<Polarity.NORMAL: 0>), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<BinaryPV.INACTIVE: 0>), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<BinaryPV.INACTIVE: 0>), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.binary.BinaryValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: _MinOnOffTimeMixin, BACnetObject

BACnet Binary Value object (Clause 12.8).

Represents an internal binary status or configuration value. Optionally commandable when constructed with commandable=True. Supports Minimum On/Off Time enforcement per Clause 19.2.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 5
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 1

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.ACTIVE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.ACTIVE_TEXT: 4>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.ALARM_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.ALARM_VALUE: 6>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.INACTIVE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.INACTIVE_TEXT: 46>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MINIMUM_OFF_TIME: PropertyDefinition(identifier=<PropertyIdentifier.MINIMUM_OFF_TIME: 66>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.MINIMUM_ON_TIME: PropertyDefinition(identifier=<PropertyIdentifier.MINIMUM_ON_TIME: 67>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<BinaryPV.INACTIVE: 0>), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<enum 'BinaryPV'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}

Multi-State Objects

BACnet Multi-State object types per ASHRAE 135-2016 Clause 12.18-12.20.

class bac_py.objects.multistate.MultiStateInputObject(instance_number, *, number_of_states=2, **initial_properties)[source]

Bases: _MultiStateBase

BACnet Multi-State Input object (Clause 12.18).

Represents an enumerated sensor input with N possible states. Present_Value is a 1-based unsigned integer (1..Number_Of_States).

Parameters:
  • instance_number (int)

  • number_of_states (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 13
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 1

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.ALARM_VALUES: PropertyDefinition(identifier=<PropertyIdentifier.ALARM_VALUES: 7>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEVICE_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.DEVICE_TYPE: 31>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.FAULT_VALUES: PropertyDefinition(identifier=<PropertyIdentifier.FAULT_VALUES: 39>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NUMBER_OF_STATES: PropertyDefinition(identifier=<PropertyIdentifier.NUMBER_OF_STATES: 74>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=1), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.STATE_TEXT: 110>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None)}
class bac_py.objects.multistate.MultiStateOutputObject(instance_number, *, number_of_states=2, **initial_properties)[source]

Bases: _MultiStateBase

BACnet Multi-State Output object (Clause 12.19).

Represents an enumerated actuator command with N possible states. Always commandable with a 16-level priority array. Present_Value is a 1-based unsigned integer.

Parameters:
  • instance_number (int)

  • number_of_states (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 14
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 1

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DEVICE_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.DEVICE_TYPE: 31>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NUMBER_OF_STATES: PropertyDefinition(identifier=<PropertyIdentifier.NUMBER_OF_STATES: 74>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=1), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=1), PropertyIdentifier.STATE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.STATE_TEXT: 110>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.multistate.MultiStateValueObject(instance_number, *, commandable=False, number_of_states=2, **initial_properties)[source]

Bases: _MultiStateBase

BACnet Multi-State Value object (Clause 12.20).

Represents an enumerated configuration or status value. Optionally commandable when constructed with commandable=True. Present_Value is a 1-based unsigned integer.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • number_of_states (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 19
INTRINSIC_EVENT_ALGORITHM: ClassVar[EventType | None] = 1

Event algorithm for intrinsic reporting, or None if not supported.

PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.ACKED_TRANSITIONS: PropertyDefinition(identifier=<PropertyIdentifier.ACKED_TRANSITIONS: 0>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.ALARM_VALUES: PropertyDefinition(identifier=<PropertyIdentifier.ALARM_VALUES: 7>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFICATION_CLASS: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFICATION_CLASS: 17>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_ENABLE: 35>, datatype=<class 'bac_py.types.primitives.BitString'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.FAULT_VALUES: PropertyDefinition(identifier=<PropertyIdentifier.FAULT_VALUES: 39>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NOTIFY_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.NOTIFY_TYPE: 72>, datatype=<enum 'NotifyType'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.NUMBER_OF_STATES: PropertyDefinition(identifier=<PropertyIdentifier.NUMBER_OF_STATES: 74>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=1), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATE_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.STATE_TEXT: 110>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.TIME_DELAY: PropertyDefinition(identifier=<PropertyIdentifier.TIME_DELAY: 113>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_TIME_STAMPS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_TIME_STAMPS: 130>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS: 351>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_MESSAGE_TEXTS_CONFIG: 352>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_DETECTION_ENABLE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_DETECTION_ENABLE: 353>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}

Value Type Objects

BACnet Value object types per ASHRAE 135-2016 Clause 12.36-12.45.

class bac_py.objects.value_types.IntegerValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet Integer Value object (Clause 12.43).

Represents a signed integer value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 45
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.COV_INCREMENT: PropertyDefinition(identifier=<PropertyIdentifier.COV_INCREMENT: 22>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.MAX_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MAX_PRES_VALUE: 65>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.MIN_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MIN_PRES_VALUE: 69>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=0), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.RESOLUTION: PropertyDefinition(identifier=<PropertyIdentifier.RESOLUTION: 106>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.UNITS: PropertyDefinition(identifier=<PropertyIdentifier.UNITS: 117>, datatype=<enum 'EngineeringUnits'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<EngineeringUnits.NO_UNITS: 95>), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.PositiveIntegerValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet Positive Integer Value object (Clause 12.44).

Represents an unsigned integer value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 48
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.COV_INCREMENT: PropertyDefinition(identifier=<PropertyIdentifier.COV_INCREMENT: 22>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.MAX_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MAX_PRES_VALUE: 65>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.MIN_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MIN_PRES_VALUE: 69>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=0), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'int'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.RESOLUTION: PropertyDefinition(identifier=<PropertyIdentifier.RESOLUTION: 106>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.UNITS: PropertyDefinition(identifier=<PropertyIdentifier.UNITS: 117>, datatype=<enum 'EngineeringUnits'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<EngineeringUnits.NO_UNITS: 95>), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.LargeAnalogValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet Large Analog Value object (Clause 12.42).

Represents a double-precision floating-point value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 46
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.COV_INCREMENT: PropertyDefinition(identifier=<PropertyIdentifier.COV_INCREMENT: 22>, datatype=<class 'bac_py.types.primitives.BACnetDouble'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.MAX_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MAX_PRES_VALUE: 65>, datatype=<class 'bac_py.types.primitives.BACnetDouble'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.MIN_PRES_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.MIN_PRES_VALUE: 69>, datatype=<class 'bac_py.types.primitives.BACnetDouble'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.primitives.BACnetDouble'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=0.0), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'bac_py.types.primitives.BACnetDouble'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.RESOLUTION: PropertyDefinition(identifier=<PropertyIdentifier.RESOLUTION: 106>, datatype=<class 'bac_py.types.primitives.BACnetDouble'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.UNITS: PropertyDefinition(identifier=<PropertyIdentifier.UNITS: 117>, datatype=<enum 'EngineeringUnits'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=<EngineeringUnits.NO_UNITS: 95>), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.CharacterStringValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet CharacterString Value object (Clause 12.37).

Represents a character string value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 40
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=''), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.DateTimeValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet DateTime Value object (Clause 12.40).

Represents a date/time value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 44
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.constructed.BACnetDateTime'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'bac_py.types.constructed.BACnetDateTime'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.IS_UTC: PropertyDefinition(identifier=<PropertyIdentifier.IS_UTC: 344>, datatype=<class 'bool'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.BitStringValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet BitString Value object (Clause 12.36).

Represents a bit string value as a list of booleans. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 39
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.BIT_MASK: PropertyDefinition(identifier=<PropertyIdentifier.BIT_MASK: 342>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.BIT_TEXT: PropertyDefinition(identifier=<PropertyIdentifier.BIT_TEXT: 343>, datatype=<class 'list'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.OctetStringValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet OctetString Value object (Clause 12.45).

Represents a raw byte string value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 47
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bytes'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=b''), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'bytes'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.DateValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet Date Value object (Clause 12.38).

Represents a single date value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 42
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.primitives.BACnetDate'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'bac_py.types.primitives.BACnetDate'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.IS_UTC: PropertyDefinition(identifier=<PropertyIdentifier.IS_UTC: 344>, datatype=<class 'bool'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.DatePatternValueObject(instance_number, **initial_properties)[source]

Bases: BACnetObject

BACnet Date Pattern Value object (Clause 12.39).

Represents a date pattern with optional wildcards (0xFF).

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 41
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.primitives.BACnetDate'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None)}
class bac_py.objects.value_types.TimeValueObject(instance_number, *, commandable=False, **initial_properties)[source]

Bases: BACnetObject

BACnet Time Value object (Clause 12.46).

Represents a single time value. Optionally commandable when constructed with commandable=True.

Parameters:
  • instance_number (int)

  • commandable (bool)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 50
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.primitives.BACnetTime'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.PRIORITY_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.PRIORITY_ARRAY: 87>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.RELINQUISH_DEFAULT: PropertyDefinition(identifier=<PropertyIdentifier.RELINQUISH_DEFAULT: 104>, datatype=<class 'bac_py.types.primitives.BACnetTime'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.IS_UTC: PropertyDefinition(identifier=<PropertyIdentifier.IS_UTC: 344>, datatype=<class 'bool'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.COMMAND_TIME_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.COMMAND_TIME_ARRAY: 430>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.CURRENT_COMMAND_PRIORITY: PropertyDefinition(identifier=<PropertyIdentifier.CURRENT_COMMAND_PRIORITY: 431>, datatype=<class 'int'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.LAST_COMMAND_TIME: PropertyDefinition(identifier=<PropertyIdentifier.LAST_COMMAND_TIME: 432>, datatype=<class 'object'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE: 433>, datatype=<class 'bac_py.types.constructed.BACnetValueSource'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.VALUE_SOURCE_ARRAY: PropertyDefinition(identifier=<PropertyIdentifier.VALUE_SOURCE_ARRAY: 434>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None)}
class bac_py.objects.value_types.TimePatternValueObject(instance_number, **initial_properties)[source]

Bases: BACnetObject

BACnet Time Pattern Value object (Clause 12.47).

Represents a time pattern with optional wildcards (0xFF).

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 49
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.primitives.BACnetTime'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None)}
class bac_py.objects.value_types.DateTimePatternValueObject(instance_number, **initial_properties)[source]

Bases: BACnetObject

BACnet DateTime Pattern Value object (Clause 12.41).

Represents a date/time pattern with optional wildcards.

Parameters:
  • instance_number (int)

  • initial_properties (Any)

OBJECT_TYPE: ClassVar[ObjectType] = 43
PROPERTY_DEFINITIONS: ClassVar[dict[PropertyIdentifier, PropertyDefinition]] = {PropertyIdentifier.DESCRIPTION: PropertyDefinition(identifier=<PropertyIdentifier.DESCRIPTION: 28>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=False, default=None), PropertyIdentifier.EVENT_STATE: PropertyDefinition(identifier=<PropertyIdentifier.EVENT_STATE: 36>, datatype=<enum 'EventState'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=<EventState.NORMAL: 0>), PropertyIdentifier.OBJECT_IDENTIFIER: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_IDENTIFIER: 75>, datatype=<class 'bac_py.types.primitives.ObjectIdentifier'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OBJECT_NAME: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_NAME: 77>, datatype=<class 'str'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.OBJECT_TYPE: PropertyDefinition(identifier=<PropertyIdentifier.OBJECT_TYPE: 79>, datatype=<enum 'ObjectType'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.OUT_OF_SERVICE: PropertyDefinition(identifier=<PropertyIdentifier.OUT_OF_SERVICE: 81>, datatype=<class 'bool'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=False), PropertyIdentifier.PRESENT_VALUE: PropertyDefinition(identifier=<PropertyIdentifier.PRESENT_VALUE: 85>, datatype=<class 'bac_py.types.constructed.BACnetDateTime'>, access=<PropertyAccess.READ_WRITE: 1>, required=True, default=None), PropertyIdentifier.RELIABILITY: PropertyDefinition(identifier=<PropertyIdentifier.RELIABILITY: 103>, datatype=<enum 'Reliability'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.STATUS_FLAGS: PropertyDefinition(identifier=<PropertyIdentifier.STATUS_FLAGS: 111>, datatype=<class 'bac_py.types.constructed.StatusFlags'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None), PropertyIdentifier.IS_UTC: PropertyDefinition(identifier=<PropertyIdentifier.IS_UTC: 344>, datatype=<class 'bool'>, access=<PropertyAccess.READ_ONLY: 0>, required=False, default=None), PropertyIdentifier.PROPERTY_LIST: PropertyDefinition(identifier=<PropertyIdentifier.PROPERTY_LIST: 371>, datatype=<class 'list'>, access=<PropertyAccess.READ_ONLY: 0>, required=True, default=None)}