BACnet B-AAC Advanced Application Controller Profile

B-AAC is the BACnet Advanced Application Controller profile (Annex L): what it is, where it's used, and the services it must initiate and execute.

What B-AAC Is

A BACnet device profile is a standardized capability level: a checklist of things a device must be able to do before it can wear the label. B-AAC (BACnet Advanced Application Controller) is defined in Annex L of ANSI/ASHRAE 135-2024 (clause L.4.2) as a control device with limited resources relative to a B-BC, often intended for a specific application, with some degree of programmability.

The checklist items are BACnet Interoperability Building Blocks (BIBBs), each a named unit of capability such as “can answer read requests” (DS-RP-B). B-AAC sits one tier below B-BC: it shares data both ways, generates and manages alarms, and schedules actions in itself, but it has no trending requirement and no backup-and-restore requirement. A device documents its claim in its PICS (Protocol Implementation Conformance Statement); to verify a claim, ask for the PICS and check the profile line.

Where It’s Used

B-AAC is the common profile for capable unitary and application controllers that need alarming and local scheduling without the full weight of a building controller.

  • Rooftop and unitary controllers. A packaged-unit controller running its own occupancy schedule and alarming on space-temperature limits.
  • Application controllers. A lab or fume-hood controller that reports alarms to the head end (the central BMS server) and accepts setpoint writes.
  • Zone controllers with alarms. A VAV (variable-air-volume) controller that both serves its points and generates event notifications, but leaves trend collection to the supervisory tier.

Required Services

The table below is the exhaustive service set required by the B-AAC BIBBs. Initiates means the device sends the request or notification; Executes means the device receives and acts on it (responding, for confirmed services). BIBB codes encode the same split: a -A BIBB is the initiating side, a -B BIBB the executing side. A - means the profile does not require that direction; a device may still support it.

Capability areaServiceRequired by BIBBInitiatesExecutes
Data sharingReadPropertyDS-RP-B-Yes
Data sharingReadPropertyMultipleDS-RPM-B-Yes
Data sharingWritePropertyDS-WP-B-Yes
Data sharingWritePropertyMultipleDS-WPM-B-Yes
Alarm and event managementConfirmedEventNotificationAE-N-I-BYes-
Alarm and event managementUnconfirmedEventNotificationAE-N-I-BYes-
Alarm and event managementAcknowledgeAlarmAE-ACK-B-Yes
Alarm and event managementGetEventInformationAE-INFO-B-Yes
Alarm and event managementWriteProperty (recipient-list configuration) ¹AE-CRL-B-Yes
Device and network managementWho-IsDM-DDB-A, DM-DDB-BYesYes
Device and network managementI-AmDM-DDB-A, DM-DDB-BYesYes
Device and network managementWho-HasDM-DOB-B-Yes
Device and network managementI-HaveDM-DOB-BYes-
Device and network managementDeviceCommunicationControlDM-DCC-B-Yes
Device and network managementTimeSynchronization ²DM-TS-B-Yes
Device and network managementUTCTimeSynchronization ²DM-UTC-B-Yes
Device and network managementReinitializeDeviceDM-RD-B-Yes

Two requirements are hosted objects, not wire services. The SCHED-I-B BIBB requires the device to run its own Schedule and Calendar objects that write its local objects by date and time. Unlike B-BC, B-AAC does not write schedules into other devices, so this adds no outbound service; it does not appear as a row above. The alarm rows likewise require Notification Class objects with writable recipient lists.

¹ AE-CRL-B is required only of devices at protocol revision 19 or later. (Protocol_Revision is a readable property of the device’s Device object.) ² The profile requires one of the two time-synchronization services, not both.

ProfileHow it differs from B-AAC
B-BCBuilding Controller: a step up. Adds trending, remote schedule write-out, and backup and restore
B-ASCApplication Specific Controller: a step down. No alarming or scheduling requirement
B-SASmart Actuator: minimal. Serves and accepts writes, nothing more

What Chipkin Provides

The CAS BACnet Stack implements the full BIBB set the B-AAC profile requires, including intrinsic alarming and the internal schedule execution engine. Talk to us about building or integrating a B-AAC device on the stack.