BACnet Access Zone Object

The BACnet Access Zone object (Clause 12.32) is a secured area with occupancy counting and passback control, with its full property tables.

What the Access Zone Object Is

The Access Zone object, defined in Clause 12.32 of ANSI/ASHRAE 135-2024, is how a BACnet device represents a secured geographical area that credentials enter and leave under access control. Entry happens through entry Access Point objects and exit through exit Access Point objects; the zone ties them together.

Occupancy_State is the zone’s current condition, derived from an occupancy count and the configured limits. The zone can enforce occupancy limits, deny access when they are violated, and detect passback (a credential trying to enter a zone it is assumed to already be in) with hard, soft, or no enforcement. It can also keep a “who’s in” list of the credentials currently inside. Access Zone objects that support intrinsic reporting apply the CHANGE_OF_STATE event algorithm on Occupancy_State and deliver alarms through the event notification services.

Where You’ll See It

  • Secured areas. A server room, a parking structure, or a floor whose entry and exit readers are Access Point objects that reference this zone.
  • Occupancy enforcement. A zone with an upper limit rejects entry once full; a zone with a lower limit can require a minimum occupancy before a door releases.
  • Anti-passback. A zone with passback enforcement flags a credential that tries to badge in twice without badging out.

Required Properties

Clause 12.32 requires every Access Zone object to provide these properties. Datatypes are the spec’s names: Unsigned is an integer, BOOLEAN a true/false flag, and the BACnet-prefixed types are structured values defined by the standard.

PropertyDatatypeWhat it holds
Object_IdentifierBACnetObjectIdentifierThe object’s type and instance number, unique within the device
Object_NameCharacterStringThe human-readable point name, unique within the device
Object_TypeBACnetObjectTypeAlways access-zone for this object
Global_IdentifierUnsignedA shared identifier for the zone when it is represented in several devices. Writable
Occupancy_StateBACnetAccessZoneOccupancyStateThe zone’s occupancy condition (normal, below limit, at limit, above limit, disabled)
Status_FlagsBACnetStatusFlagsFour health flags: in-alarm, fault, overridden, out-of-service
Event_StateBACnetEventStateThe object’s current event state (normal, off-normal, or fault)
ReliabilityBACnetReliabilityNames the reason whenever the fault flag is set
Out_Of_ServiceBOOLEANWhen true, the object stops tracking live occupancy
Entry_PointsBACnetLIST of BACnetDeviceObjectReferenceThe Access Point objects through which credentials enter the zone
Exit_PointsBACnetLIST of BACnetDeviceObjectReferenceThe Access Point objects through which credentials leave the zone
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe list of properties this instance actually implements

Optional Properties

The properties integrators meet most are the occupancy group (Occupancy_Count, Occupancy_Upper_Limit, Occupancy_Lower_Limit), the passback controls (Passback_Mode, Passback_Timeout), and the “who’s in” list Credentials_In_Zone. The intrinsic-reporting group generally appears or is absent as a set. Audit_Level and Auditable_Operations are the audit-logging controls added in 135-2024.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
Occupancy_CountUnsignedAccess model
Occupancy_Count_EnableBOOLEANAccess model
Adjust_ValueINTEGERAccess model
Occupancy_Upper_LimitUnsignedAccess model
Occupancy_Lower_LimitUnsignedAccess model
Credentials_In_ZoneBACnetLIST of BACnetDeviceObjectReferenceAccess model
Last_Credential_AddedBACnetDeviceObjectReferenceAccess model
Last_Credential_Added_TimeBACnetDateTimeAccess model
Last_Credential_RemovedBACnetDeviceObjectReferenceAccess model
Last_Credential_Removed_TimeBACnetDateTimeAccess model
Passback_ModeBACnetAccessPassbackModeAccess model
Passback_TimeoutUnsignedAccess model
Time_DelayUnsignedIntrinsic reporting
Notification_ClassUnsignedIntrinsic reporting
Alarm_ValuesBACnetLIST of BACnetAccessZoneOccupancyStateIntrinsic reporting
Event_EnableBACnetEventTransitionBitsIntrinsic reporting
Acked_TransitionsBACnetEventTransitionBitsIntrinsic reporting
Notify_TypeBACnetNotifyTypeIntrinsic reporting
Event_Time_StampsBACnetARRAY[3] of BACnetTimeStampIntrinsic reporting
Event_Message_TextsBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Message_Texts_ConfigBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Detection_EnableBOOLEANIntrinsic reporting
Event_Algorithm_Inhibit_RefBACnetObjectPropertyReferenceIntrinsic reporting
Event_Algorithm_InhibitBOOLEANIntrinsic reporting
Time_Delay_NormalUnsignedIntrinsic reporting
Reliability_Evaluation_InhibitBOOLEANFault detection
Audit_LevelBACnetAuditLevelAuditing
Auditable_OperationsBACnetAuditOperationFlagsAuditing
TagsBACnetARRAY[N] of BACnetNameValueTagging and profile
Profile_LocationCharacterStringTagging and profile
Profile_NameCharacterStringTagging and profile
  • Access Point: the entry and exit points that add and remove credentials from this zone.
  • Access Credential: the credentials the zone counts and lists as present.
  • Access Door: the physical doors the zone’s access points command.

What Chipkin Provides

The Access Zone object, including occupancy counting, passback enforcement, and CHANGE_OF_STATE intrinsic reporting, is a first-class object type in the CAS BACnet Stack. Talk to us about modeling your device’s points.