Skip to content
Version 6.1.0
Contact Us

Access User

An Access User object represents a person, a group of people or an asset in an access control system. It holds a name and reference numbers for record keeping. It does not take part in deciding access, but it links to the credentials that belong to the user.

  • An employee record for badge administration
  • A department that groups many employees
  • A company vehicle that carries a tag
  • A visitor with a link to an external visitor system
Property What it holds
User_Type Says whether the user is a person, a group, an asset or another kind.
User_Name The display name of the user.
User_External_Identifier An identifier from an outside system, such as a human resources number.
Credentials References to the Access Credential objects assigned to this user. Use it to find every credential to disable.
Members The users that belong to this one when it represents a group. Member_Of points the other way.

This type is informational. The standard gives it no event algorithm and no commandable properties.

Enable it with the STACK_OPTION_OBJECT_TYPE_ACCESS_USER build option and add each object with BACnetStack_AddObject. All property values come from your property callbacks.

Access Credential, Access Rights, Access Point

The properties ASHRAE 135-2024 clause 12.33 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.
Description CharacterString O no no ""
Global_Identifier Unsigned32 W yes yes 0
Status_Flags BACnetStatusFlags R yes no Built by the stack from your callbacks.
Reliability BACnetReliability R yes no 0
User_Type BACnetAccessUserType R yes no 0
User_Name CharacterString O no no ""
User_External_Identifier CharacterString O no no ""
User_Information_Reference CharacterString O no no ""
Members BACnetLIST of BACnetDeviceObjectReference O yes yes No default: the read fails.
Member_Of BACnetLIST of BACnetDeviceObjectReference O yes yes No default: the read fails.
Credentials BACnetLIST of BACnetDeviceObjectReference R yes yes No default: the read fails.
Reliability_Evaluation_Inhibit Boolean O no no false
Property_List BACnetARRAY[N] of BACnetPropertyIdentifier R yes no Held by the stack.
Audit_Level BACnetAuditLevel O1 not in profile not in profile No default: the read fails.
Auditable_Operations BACnetAuditOperationFlags O1 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 ""