BACnet Event Enrollment Object

The BACnet Event Enrollment object (Clause 12.12) attaches an event or fault algorithm to any referenced property in another object.

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_Type and Fault_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.

PropertyDatatypeWhat it holds
Object_IdentifierBACnetObjectIdentifierThe object’s type and instance number, unique within the device
Object_NameCharacterStringThe human-readable name, unique within the device
Object_TypeBACnetObjectTypeAlways event-enrollment for this object
Event_TypeBACnetEventTypeWhich event algorithm this object applies
Notify_TypeBACnetNotifyTypeWhether notifications are alarms or events
Event_ParametersBACnetEventParameterThe algorithm’s parameters (limits, deadband, and similar)
Object_Property_ReferenceBACnetDeviceObjectPropertyReferenceThe monitored property this object watches
Event_StateBACnetEventStateThe current event state (normal, off-normal, fault)
Event_EnableBACnetEventTransitionBitsWhich transitions generate notifications
Acked_TransitionsBACnetEventTransitionBitsWhich transitions have been acknowledged
Notification_ClassUnsignedThe Notification Class object that routes the notifications
Event_Time_StampsBACnetARRAY[3] of BACnetTimeStampWhen each transition last occurred
Event_Detection_EnableBOOLEANWhether event detection is active
Status_FlagsBACnetStatusFlagsFour health flags: in-alarm, fault, overridden, out-of-service
ReliabilityBACnetReliabilityWhy the object is unreliable, if it is
Property_ListBACnetARRAY[N] of BACnetPropertyIdentifierThe 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.

PropertyDatatypeGroup
DescriptionCharacterStringGeneral
Event_Message_TextsBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Message_Texts_ConfigBACnetARRAY[3] of CharacterStringIntrinsic reporting
Event_Algorithm_Inhibit_RefBACnetObjectPropertyReferenceIntrinsic reporting
Event_Algorithm_InhibitBOOLEANIntrinsic reporting
Time_Delay_NormalUnsignedIntrinsic reporting
Fault_TypeBACnetFaultTypeFault detection
Fault_ParametersBACnetFaultParameterFault detection
Reliability_Evaluation_InhibitBOOLEANFault detection
Audit_LevelBACnetAuditLevelAuditing
Auditable_OperationsBACnetAuditOperationFlagsAuditing
TagsBACnetARRAY[N] of BACnetNameValueTagging and profile
Profile_LocationCharacterStringTagging and profile
Profile_NameCharacterStringTagging and profile
  • 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.