Credential Data Input
A Credential Data Input models a reader that supplies authentication factors, such as a card reader, keypad or biometric reader. Each time someone presents a credential, the object holds what was read. An access system uses it to decide who is at the door.
Typical uses
Section titled “Typical uses”- A card reader at a door
- A PIN keypad
- A fingerprint reader
- A Wiegand reader on an access controller
Key properties
Section titled “Key properties”| Property | What it holds |
|---|---|
| Present_Value | The authentication factor from the most recent read. |
| Supported_Formats | The credential formats this reader understands. |
| Supported_Format_Class | The class of format the reader supports, when formats are grouped. |
| Update_Time | When Present_Value last changed. Clients use it to spot a new read. |
How it behaves
Section titled “How it behaves”Clients can subscribe to Present_Value, Status_Flags and Update_Time. The object applies no event algorithm. With intrinsic reporting it reports faults only, and its Event_State shows FAULT while a Reliability fault is held.
With the CAS BACnet Stack
Section titled “With the CAS BACnet Stack”Enable it with the STACK_OPTION_OBJECT_TYPE_CREDENTIAL_DATA_INPUT build option and add each object with BACnetStack_AddObject. Supported_Formats is an array that you serve through the callback you register with BACnetStack_RegisterCallbackGetPropertyAuthenticationFactorFormat. The stack calls it once per element, and a conformant object needs it. Register it before clients read the object. For fault reporting, call BACnetStack_SetAlarmsAndEventsForObjectEnabled.
Related object types
Section titled “Related object types”Access Point, Access Credential, Access Door, Access User
Properties
Section titled “Properties”The properties ASHRAE 135-2024 clause 12.36 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 | BACnetAuthenticationFactor | R1 | yes | no (yes while Out_Of_Service is true) | No default: value-not-initialized. |
| Description | CharacterString | O | no | no | "" |
| Status_Flags | BACnetStatusFlags | R | yes | no | Built by the stack from your callbacks. |
| Reliability | BACnetReliability | R1 | yes | no (yes while Out_Of_Service is true) | 0 |
| Out_Of_Service | Boolean | R | yes | no | false |
| Supported_Formats | BACnetARRAY[N] of BACnetAuthenticationFactorFormat | R | yes | no | No default: the read fails. |
| Supported_Format_Classes | BACnetARRAY[N] of Unsigned | O2 | no | no | 0 |
| Update_Time | BACnetTimeStamp | R | yes | no | A date-time stamp with every octet X'FF' (no update yet). |
| Event_Detection_Enable | Boolean | O3,4 | no | no | false |
| Notification_Class | Unsigned | O3,4 | no | no | 0 |
| Event_Enable | BACnetEventTransitionBits | O3,4 | no | no | An empty bit string. |
| Event_State | BACnetEventState | O3,4 | no | no | 0 |
| Acked_Transitions | BACnetEventTransitionBits | O3,4 | no | no | An empty bit string. |
| Notify_Type | BACnetNotifyType | O3,4 | no | no | 0 |
| Event_Time_Stamps | BACnetARRAY[3] of BACnetTimeStamp | O3,4 | no | no | No default: the read fails. |
| Event_Message_Texts | BACnetARRAY[3] of CharacterString | O4 | no | no | "" |
| Event_Message_Texts_Config | BACnetARRAY[3] of CharacterString | O4 | no | no | "" |
| Reliability_Evaluation_Inhibit | Boolean | O | no | no | false |
| Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | R | yes | no | Held by the stack. |
| Audit_Level | BACnetAuditLevel | O5 | not in profile | not in profile | No default: the read fails. |
| Auditable_Operations | BACnetAuditOperationFlags | O5 | 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 | "" |