Expand description
Access Control objects (ASHRAE 135-2020 Clause 12).
This module implements the seven BACnet access control object types:
- AccessDoor (type 30)
- AccessCredential (type 32)
- AccessPoint (type 33)
- AccessRights (type 34)
- AccessUser (type 35)
- AccessZone (type 36)
- CredentialDataInput (type 37)
evaluate_access_rights checks a credential against the Access Rights
it is assigned, for the application to act on (#1331). Separate
evaluate_accompaniment combines those rights with explicit local companion
evidence and returns accompaniment-stage results and event intents (#1571).
Neither stage performs complete authorization or publishes events.
evaluate_authorization composes the stages with explicit application
evidence and policy for a pure complete local authorization pass (#1572).
Structs§
- Access
Credential Object - BACnet Access Credential object (type 32).
- Access
Door Object - BACnet Access Door object (type 30).
- Access
Event Report - One access event at an Access Point: the values of Access_Event, Access_Event_Tag, Access_Event_Time, Access_Event_Credential and Access_Event_Authentication_Factor, which change together for each event (Clause 12.31.27.1).
- Access
Point Object - BACnet Access Point object (type 33).
- Access
Rights Evaluation - What
evaluate_access_rightsfound for one credential at one Access Point. - Access
Rights Object - BACnet Access Rights object (type 34).
- Access
Rights Snapshot - What an Access Rights object keeps across a restart. Each member is
Noneuntil a write sets it: what the application configures applies at each start until then. - Access
Rule Position - Where an access rule sits: its Access Rights object, its array and its place in that array.
- Access
User Object - BACnet Access User object (type 35).
- Access
Zone Object - BACnet Access Zone object (type 36).
- Accompaniment
Companion - Child evidence inspected to establish the original’s companion. It carries no event intents: the caller evaluates a child’s transaction separately.
- Accompaniment
Evaluation - Pure local stage evidence plus ordered intents for one original transaction.
- Accompaniment
Event Intent - An event the caller may publish for the result’s original transaction. A companion presentation identifies the associated credential; it does not create a second transaction (Clauses 12.31.27.1 and 12.31.30).
- Accompaniment
Request - Inputs to one pure accompaniment-stage evaluation.
- Accompaniment
Timing - Mandatory local timing choices; this helper supplies no security defaults.
- Accompaniment
Witness - Evidence attached to one presentation, including a chain’s child links.
- Authorization
Check Evidence - An ordered record of a criterion or external phase that was actually visited.
- Authorization
Credential Evidence - A coherent-credential read retained even when its classifications disagree.
- Authorization
Evaluation - Retained evidence and bounded ordered intents from one shared database borrow.
- Authorization
Event Intent - An intent for the original transaction, with its associated presentation. Publication, transaction tags, deduplication, and physical action are external.
- Authorization
Occupancy Zone - One application-selected relevant zone and its enforcement fallback.
- Authorization
Order - A complete, duplicate-free criterion order; there is no default order. The mode’s verification/delay phase follows all these criteria.
- Authorization
Passback Observation - An already established passback observation bound to this transaction/zone. This helper does not reconstruct a location history.
- Authorization
Request - One already-authenticated local presentation and every application-owned authorization choice. There is no Default implementation or installed policy.
- Committed
Access Event - One installed access event, with the state needed to report it after commit.
- Companion
Authentication Attestation - An application attestation bound to sequence, credential, point, and time.
- Companion
Authorization Diagnostic - Diagnostic attribution for a companion that invalidates the root transaction.
- Credential
Data Input Object - BACnet Credential Data Input object (type 37).
- Credential
Presentation - One caller-identified credential presentation. Times share a caller-chosen monotonic origin; they are not BACnet wall-clock timestamps.
- Credential
Read Report - A factor a Credential Data Input’s reader has read: its Present_Value and Update_Time, which move together (Clause 12.36.11).
- Disable
Reason Priority - Precedence among all ten standard credential disable reasons. Unknown/vendor reasons remain unresolved even beside a known reason.
- Door
State Report - What an Access Door’s hardware and door logic report: any of
Door_Status, Lock_Status and Door_Alarm_State. A field left
Nonekeeps the value the door holds. - File
Access Rights Persistence - A file holding one Access Rights object’s written rule arrays, Enable and
Accompaniment, replaced whole on each save, the same way as
FileNotificationClassPersistence: a failed save leaves the previous state in place, and a completed one survives a power loss. - Unresolved
Access Rights - An enabled Assigned_Access_Rights element that gave no rules.
Enums§
- Access
Control Input - An input for one access-control object, as the application reports it.
- Access
Rights Decision - The outcome of the Access Rights check (Clause 12.34.9.2).
- Access
Rule Kind - Which rule array of an Access Rights object a rule comes from.
- Accompaniment
Deadline - Whether a presentation exactly one period away remains in the window.
- Accompaniment
Evidence - What the caller has observed for one accompaniment dependency.
- Accompaniment
Order - The application’s required presentation order (Clause 12.34.11).
- Accompaniment
Outcome - The accompaniment stage, never a whole-request authorization decision.
- Accompaniment
Presentation Failure - Inconsistent or ineligible caller presentation evidence.
- Accompaniment
Problem - Evidence preventing an accompaniment-stage conclusion. These conditions do not invent BACnet denial events or override the existing rights policy.
- Accompaniment
Reference Failure - Why a reference cannot be established locally.
- Authorization
Check - A required criterion in the application’s chosen evaluation order. Activity and the validity window share one coherent credential check.
- Authorization
Check Outcome - What one criterion established, including an explicit exemption or stop.
- Authorization
Direction - Which occupancy boundary a presentation crosses for one relevant zone.
- Authorization
External Phase - Explicit external-phase correlation and timing, when the mode requires it.
- Authorization
Fact - A known application fact or an explicit lack of evidence. No default exists.
- Authorization
Occupancy - The application’s complete relevant-zone set; the helper invents no topology.
- Authorization
Outcome - Complete result of this pure authorization pass. Only Granted permits access.
- Authorization
Passback - Passback applicability and missing-property inputs (Clauses 12.32.21–22).
A PASSBACK-exempt credential still reports an established SOFT violation.
Unusable optional reporting evidence is retained in
super::AuthorizationEvaluation::passback_reporting_problemwithout imposing enforcement or another required criterion on the exempt request. - Authorization
Problem - Missing, inconsistent, or unsupported authorization evidence.
- Authorization
Read Failure - A served property’s failure without losing its protocol error identity.
- Authorization
Rights Policy - Explicit treatment of assignments excluded by the existing rights helper.
- Authorization
Stage - Location of a decision or retained check result.
- Authorization
Verdict - External verification/delay evidence at a supplied observation time.
- Companion
Authentication - Authentication outcome for one exact companion presentation.
- Companion
Authentication Problem - Why a companion authentication attestation cannot be used.
- Companion
Prerequisite Failure - A known companion prerequisite failure; it is not a child transaction.
- Unresolved
Reason - Why an Assigned_Access_Rights element gave no rules.
Constants§
- DEFAULT_
DOOR_ EXTENDED_ PULSE_ TIME - Door_Extended_Pulse_Time a new door starts with, in tenths of a second (15 s).
- DEFAULT_
DOOR_ OPEN_ TOO_ LONG_ TIME - Door_Open_Too_Long_Time a new door starts with, in tenths of a second (30 s).
- DEFAULT_
DOOR_ PULSE_ TIME - Door_Pulse_Time a new door starts with, in tenths of a second (5 s).
- MAX_
ACCESS_ RULES - The most rules either rule array holds, a resource cap. A longer list, from a setter or a network write, is RESOURCES / NO_SPACE_TO_WRITE_PROPERTY.
- MAX_
AUTHENTICATION_ POLICIES - The most authentication policies an Access Point holds while it serves Authentication_Policy_List and Authentication_Policy_Names, a resource cap: a count or list past it is VALUE_OUT_OF_RANGE.
Traits§
- Access
Rights Persistence - Application-owned storage for one Access Rights object’s rule arrays, Enable and Accompaniment.
Functions§
- evaluate_
access_ rights - Check the Access Rights rules of
credential, presented atpoint, as Clause 12.34.9.2 describes. - evaluate_
accompaniment - Evaluate local accompaniment evidence without writing objects, obtaining a clock, performing I/O, or publishing an event. Rights are recomputed in this database borrow; a caller-provided grant is never accepted as authority.
- evaluate_
authorization - Evaluate the complete supplied local authorization context without locks, awaits, I/O, clock acquisition, or property writes (Clauses 12.31/12.35).