Skip to content
Version 6.1.0
Contact Us

Access Door

An Access Door object represents a door in an access control system. A client can lock or unlock it, and can read whether it is open, locked or held open too long. It models the door hardware itself, separate from the Access Point that decides who may pass.

  • A main entrance lock unlocked by a schedule
  • A fire exit that reports when it is propped open
  • A pulse-unlock for a delivery bay door
  • A server room door alarmed when forced
Property What it holds
Present_Value The commanded state of the lock, such as LOCK, UNLOCK or a timed unlock pulse. Clients write it to operate the door.
Door_Status The physical state of the door, such as open or closed.
Lock_Status The state reported by the lock mechanism.
Door_Pulse_Time How long the lock stays released for a pulse-unlock command.
Door_Open_Too_Long_Time How long the door may stay open before it raises a door-open-too-long alarm.
Door_Members The physical doors that this object stands for.

Present_Value is commandable: writers use priorities 1 to 16, and the lowest-numbered priority wins. The standard pairs this type with the CHANGE_OF_STATE algorithm for intrinsic reporting, so a client can be notified when the door enters an alarm state.

Enable it with the STACK_OPTION_OBJECT_TYPE_ACCESS_DOOR build option and add each object with BACnetStack_AddObject. The stack always treats it as commandable. Present_Value is an enumerated value, and the stack reads and writes the priority array through the callback you register with BACnetStack_RegisterCallbackGetPropertyBool and the BACnetStack_RegisterCallbackGetPropertyEnumerated callback, and writes through the BACnetStack_RegisterCallbackSetPropertyEnumerated callback. It never calls the plain Present_Value getter. Arm the alarm with BACnetStack_SetAlarmsAndEventsForObjectEnabled and then BACnetStack_SetIntrinsicChangeOfStateAlgorithmEnum; each call adds one door alarm state to Alarm_Values.

Access Point, Access Zone, Binary Output

The properties ASHRAE 135-2024 clause 12.26 defines for this object type.

How to read the table:

  • Conformance is what the standard asks of every object of this type: R is required, W is required and writable by a client, O is optional. A digit after the letter marks a condition in the standard that decides when the property is present or writable, such as support for intrinsic reporting.
  • Present by default: yes means the stack presents the property as soon as you add the object; no means it is optional and you turn it on with BACnetStack_SetPropertyEnabled. This is the stack’s starting setup, so it can differ from the conformance code.
  • Writable is whether a client can write the property by default. Change it with BACnetStack_SetPropertyWritable.
  • not in profile means the stack does not offer this property for this object type.
  • Value when your callback does not answer: “Held by the stack” means the stack stores and serves the value itself and does not ask your callbacks. Otherwise it is the value the stack answers when your callback declines or is not registered.
Property Datatype Conformance Present by default Writable Value when your callback does not answer
Object_Identifier BACnetObjectIdentifier R yes no Held by the stack.
Object_Name CharacterString R yes no "Object <type>,<instance>", such as "Object 0,1" for Analog Input 1.
Object_Type BACnetObjectType R yes no Held by the stack.
Present_Value BACnetDoorValue W yes yes Built by the stack from the priority array your callbacks serve, or Relinquish_Default when every slot is empty.
Description CharacterString O no no ""
Status_Flags BACnetStatusFlags R yes no Built by the stack from your callbacks.
Event_State BACnetEventState R yes no 0
Reliability BACnetReliability R yes no 0
Out_Of_Service Boolean R yes no false
Priority_Array BACnetARRAY[16] of BACnetOptionalDoorValue R yes no Built by the stack from your callbacks.
Relinquish_Default BACnetDoorValue R yes no No default: value-not-initialized until a callback or a client write supplies one.
Door_Status BACnetDoorStatus O1,2 no no (yes while Out_Of_Service is true) 0
Lock_Status BACnetLockStatus O1 no no (yes while Out_Of_Service is true) 0
Secured_Status BACnetDoorSecuredStatus O no no 0
Door_Members BACnetARRAY[N] of BACnetDeviceObjectReference O no no No default: the read fails.
Door_Pulse_Time Unsigned R yes no 0
Door_Extended_Pulse_Time Unsigned R yes no 0
Door_Unlock_Delay_Time Unsigned O no no 0
Door_Open_Too_Long_Time Unsigned R yes no 0
Door_Alarm_State BACnetDoorAlarmState O1,3 no no (yes while Out_Of_Service is true) 0
Masked_Alarm_Values BACnetLIST of BACnetDoorAlarmState O no no 0
Maintenance_Required BACnetMaintenance O no no 0
Time_Delay Unsigned O3,5 no no 0
Notification_Class Unsigned O3,5 no no 0
Alarm_Values BACnetLIST of BACnetDoorAlarmState O3,5 no no 0
Fault_Values BACnetLIST of BACnetDoorAlarmState O no no 0
Event_Enable BACnetEventTransitionBits O3,5 no no An empty bit string.
Acked_Transitions BACnetEventTransitionBits O3,5 no no An empty bit string.
Notify_Type BACnetNotifyType O3,5 no no 0
Event_Time_Stamps BACnetARRAY[3] of BACnetTimeStamp O3,5 no no No default: the read fails.
Event_Message_Texts BACnetARRAY[3] of CharacterString O5 no no ""
Event_Message_Texts_Config BACnetARRAY[3] of CharacterString O5 no no ""
Event_Detection_Enable Boolean O3,5 no no false
Event_Algorithm_Inhibit_Ref BACnetObjectPropertyReference O5 no no No default: the read fails.
Event_Algorithm_Inhibit Boolean O5,6 no no false
Time_Delay_Normal Unsigned O5 no no 0
Reliability_Evaluation_Inhibit Boolean O no no false
Property_List BACnetARRAY[N] of BACnetPropertyIdentifier R yes no Held by the stack.
Current_Command_Priority BACnetOptionalUnsigned R yes no Built by the stack from your callbacks.
Value_Source BACnetValueSource O7,9,11 no no No default: the read fails.
Value_Source_Array BACnetARRAY[16] of BACnetValueSource O8,10 no no No default: the read fails.
Last_Command_Time BACnetTimeStamp O8,10 no no No default: the read fails.
Command_Time_Array BACnetARRAY[16] of BACnetTimeStamp O10 no no No default: the read fails.
Audit_Level BACnetAuditLevel O12 not in profile not in profile No default: the read fails.
Auditable_Operations BACnetAuditOperationFlags O12 not in profile not in profile No default: the read fails.
Audit_Priority_Filter BACnetOptionalPriorityFilter O12 not in profile not in profile No default: the read fails.
Tags BACnetARRAY[N] of BACnetNameValue O no no No default: the read fails.
Profile_Location CharacterString O no no ""
Profile_Name CharacterString O no no ""