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 area | Service | Required by BIBB | Initiates | Executes |
|---|---|---|---|---|
| Data sharing | ReadProperty | DS-RP-B | - | Yes |
| Data sharing | ReadPropertyMultiple | DS-RPM-B | - | Yes |
| Data sharing | WriteProperty | DS-WP-B | - | Yes |
| Data sharing | WritePropertyMultiple | DS-WPM-B | - | Yes |
| Alarm and event management | ConfirmedEventNotification | AE-N-I-B | Yes | - |
| Alarm and event management | UnconfirmedEventNotification | AE-N-I-B | Yes | - |
| Alarm and event management | AcknowledgeAlarm | AE-ACK-B | - | Yes |
| Alarm and event management | GetEventInformation | AE-INFO-B | - | Yes |
| Alarm and event management | WriteProperty (recipient-list configuration) ¹ | AE-CRL-B | - | Yes |
| Device and network management | Who-Is | DM-DDB-A, DM-DDB-B | Yes | Yes |
| Device and network management | I-Am | DM-DDB-A, DM-DDB-B | Yes | Yes |
| Device and network management | Who-Has | DM-DOB-B | - | Yes |
| Device and network management | I-Have | DM-DOB-B | Yes | - |
| Device and network management | DeviceCommunicationControl | DM-DCC-B | - | Yes |
| Device and network management | TimeSynchronization ² | DM-TS-B | - | Yes |
| Device and network management | UTCTimeSynchronization ² | DM-UTC-B | - | Yes |
| Device and network management | ReinitializeDevice | DM-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.
Related Profiles
| Profile | How it differs from B-AAC |
|---|---|
| B-BC | Building Controller: a step up. Adds trending, remote schedule write-out, and backup and restore |
| B-ASC | Application Specific Controller: a step down. No alarming or scheduling requirement |
| B-SA | Smart 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.