What the Event Enrollment Object Is
The Event Enrollment object, defined in Clause 12.12 of ANSI/ASHRAE 135-2024, attaches an event or fault algorithm to a property in another object. Where intrinsic reporting builds the alarm logic into the monitored object itself (an Analog Input that alarms on its own limits), an Event Enrollment object sits beside the data and watches it: it names a monitored property through Object_Property_Reference, applies the algorithm chosen by Event_Type and Event_Parameters, and generates notifications when the condition is met.
It is the general, decoupled way to add alarming to a system. If a value lives in an object that has no intrinsic reporting, or an integrator wants the alarm configuration separate from the point, an Event Enrollment object provides it.
Where You’ll See It
- Alarming a point that cannot alarm itself. Watching a property on an object type that does not carry intrinsic-reporting properties.
- Centralized alarm configuration. Keeping event parameters in dedicated objects rather than scattered across every monitored point.
- Fault detection. With
Fault_TypeandFault_Parameters, an Event Enrollment object evaluates a referenced property for reliability faults.
Required Properties
Clause 12.12 requires every Event Enrollment object to provide these properties. Datatypes are the spec’s names: Unsigned is an integer, BOOLEAN a true/false flag, 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 name, unique within the device |
Object_Type | BACnetObjectType | Always event-enrollment for this object |
Event_Type | BACnetEventType | Which event algorithm this object applies |
Notify_Type | BACnetNotifyType | Whether notifications are alarms or events |
Event_Parameters | BACnetEventParameter | The algorithm’s parameters (limits, deadband, and similar) |
Object_Property_Reference | BACnetDeviceObjectPropertyReference | The monitored property this object watches |
Event_State | BACnetEventState | The current event state (normal, off-normal, fault) |
Event_Enable | BACnetEventTransitionBits | Which transitions generate notifications |
Acked_Transitions | BACnetEventTransitionBits | Which transitions have been acknowledged |
Notification_Class | Unsigned | The Notification Class object that routes the notifications |
Event_Time_Stamps | BACnetARRAY[3] of BACnetTimeStamp | When each transition last occurred |
Event_Detection_Enable | BOOLEAN | Whether event detection is active |
Status_Flags | BACnetStatusFlags | Four health flags: in-alarm, fault, overridden, out-of-service |
Reliability | BACnetReliability | Why the object is unreliable, if it is |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The list of properties this instance implements |
Optional Properties
The properties integrators meet most are Fault_Type and Fault_Parameters (to add fault evaluation) and the event-message and inhibit properties.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Event_Message_Texts | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Message_Texts_Config | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Algorithm_Inhibit_Ref | BACnetObjectPropertyReference | Intrinsic reporting |
Event_Algorithm_Inhibit | BOOLEAN | Intrinsic reporting |
Time_Delay_Normal | Unsigned | Intrinsic reporting |
Fault_Type | BACnetFaultType | Fault detection |
Fault_Parameters | BACnetFaultParameter | Fault detection |
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
- Notification Class: routes the notifications an Event Enrollment object generates to recipients.
- Alert Enrollment: the newer object for originating alerts as an event source.
- Analog Input: a point that alarms through intrinsic reporting instead, the alternative to an Event Enrollment object.
The notifications themselves travel over the event notification services, and originating one this way is the AE-N-E-B BIBB claim.
What Chipkin Provides
The Event Enrollment object is modeled in the CAS BACnet Stack, evaluating a referenced property against the event algorithms the stack implements. Coverage tracks the algorithm registry rather than being fully general: what an intrinsic-reporting object on the same stack can detect, an Event Enrollment object can watch for on someone else’s. Talk to us about the specific algorithm and property you need to watch.
Related Pages
- BACnet
- BACnet Objects
- BACnet Notification Class Object
- BACnet ConfirmedEventNotification Service
- BACnet Object Types & Properties Reference
- BACnet’s Intrinsic Event Algorithms: the algorithms an Event Enrollment object can apply