What the Notification Class Object Is
The Notification Class object, defined in Clause 12.21 of ANSI/ASHRAE 135-2024, is where a BACnet device centralizes how a group of alarms is delivered: who receives them, at what priority, and whether they must be acknowledged. Event-initiating objects such as an Analog Input do not each carry their own recipient list; they point at a Notification Class, and it handles the distribution.
A Notification Class separates its handling by event transition. Priority sets a delivery priority for each of the three transitions (to-off-normal, to-fault, to-normal), Ack_Required marks which transitions a human operator must acknowledge, and Recipient_List names the destination devices and processes, each qualified by day-of-week and time window. Notification Class objects may optionally support intrinsic reporting for fault conditions only; they apply no event algorithm.
Where You’ll See It
- Shared alarm routing. Dozens of alarming objects on a controller reference one Notification Class, so changing where alarms go is a single edit rather than one per point.
- Priority and acknowledgment policy. Critical alarms get a higher priority and require operator acknowledgment, while advisory events are lower priority and self-clearing, all defined once on the class.
- Time-of-day routing.
Recipient_Listentries send after-hours alarms to an on-call recipient and daytime alarms to the operator workstation, keyed to the day and time window in each destination.
Required Properties
Clause 12.21 requires every Notification Class object to provide these properties. Datatypes are the spec’s names: Unsigned is an integer, BACnetARRAY[3] of Unsigned is a three-slot array (one per event transition), and the BACnet-prefixed types are structured values defined by the standard.
| Property | Datatype | What it holds |
|---|---|---|
Object_Identifier | BACnetObjectIdentifier | The object’s type and instance number, unique within the device |
Object_Name | CharacterString | The human-readable point name, unique within the device |
Object_Type | BACnetObjectType | Always notification-class for this object |
Notification_Class | Unsigned | The class number event-initiating objects reference to reach this object |
Priority | BACnetARRAY[3] of Unsigned | Delivery priority for the to-off-normal, to-fault, and to-normal transitions |
Ack_Required | BACnetEventTransitionBits | Which transitions require operator acknowledgment |
Recipient_List | BACnetLIST of BACnetDestination | The destination devices and processes, each qualified by day and time window; a device claiming the AE-CRL-B BIBB makes this list writable over the network |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The list of properties this instance actually implements |
Optional Properties
The optional set on this object is the intrinsic-fault group, which appears or is absent as a set on devices that report faults about the notification class itself. Description is the property integrators meet most.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Status_Flags | BACnetStatusFlags | Intrinsic reporting |
Event_State | BACnetEventState | Intrinsic reporting |
Reliability | BACnetReliability | Fault detection |
Event_Detection_Enable | BOOLEAN | Intrinsic reporting |
Event_Enable | BACnetEventTransitionBits | Intrinsic reporting |
Acked_Transitions | BACnetEventTransitionBits | Intrinsic reporting |
Notify_Type | BACnetNotifyType | Intrinsic reporting |
Event_Time_Stamps | BACnetARRAY[3] of BACnetTimeStamp | Intrinsic reporting |
Event_Message_Texts | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Message_Texts_Config | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Reliability_Evaluation_Inhibit | BOOLEAN | Fault detection |
Audit_Level | BACnetAuditLevel | Auditing |
Auditable_Operations | BACnetAuditOperationFlags | Auditing |
Tags | BACnetARRAY[N] of BACnetNameValue | Tagging and profile |
Profile_Location | CharacterString | Tagging and profile |
Profile_Name | CharacterString | Tagging and profile |
Related Objects
- Analog Input: a typical event-initiating object that references a Notification Class for its alarm routing.
- Schedule and Calendar: the scheduling siblings a B-BC controller commonly hosts alongside the Notification Class.
- Trend Log: routes its BUFFER_READY notifications through a Notification Class.
What Chipkin Provides
The Notification Class object, including recipient lists, per-transition priorities, and acknowledgment handling, is supported in the CAS BACnet Stack and hosted by B-BC building controllers. Talk to us about modeling your device’s points.
Related Pages
- BACnet
- BACnet Objects
- BACnet Schedule Object
- BACnet ConfirmedEventNotification Service
- BACnet Object Types & Properties Reference
- BACnet BUFFER_READY: The Event That Fires Without a State Change: the TO-NORMAL self-loop this object has to route
- BACnet AcknowledgeAlarm and the Operator Workflow: per-transition priority, ack requirements, and the re-fire failure mode