BACnet GetEnrollmentSummary Service

GetEnrollmentSummary lists a device's event-initiating objects with filters (Clause 13.11): how it works, why it is deprecated, its error model

What GetEnrollmentSummary Is

GetEnrollmentSummary is an alarm-and-event service in BACnet, defined in Clause 13.11 of ANSI/ASHRAE 135-2024. A client uses it to obtain a summary of a device’s event-initiating objects, narrowed by several optional filters. It is a confirmed service: the device answers with the matching list, or with an error.

The service is deprecated. The standard retains it so client devices can still interoperate with older servers, but it recommends that new server devices not implement it. Reading the relevant properties of the Notification Class and event-initiating objects directly, or using GetEventInformation for active states, covers the same ground on modern devices.

How It Works

The client sends up to six filters: an acknowledgment filter (all, acked, or not-acked), an enrollment filter naming a recipient and process, an event-state filter, an event-type filter, a priority range, and a notification-class filter. Any omitted filter defaults to including everything. The device returns the objects that satisfy the logical conjunction of the supplied filters, each summary carrying the object identifier, event type, event state, priority, and optionally the notification class. Objects whose Event_Detection_Enable is FALSE are skipped, and a list of length zero means nothing matched.

Where You’ll See It

  • Legacy enrollment audits. An older workstation that needs to know which objects on a device can generate notifications, and at what priority, may still use GetEnrollmentSummary.
  • Filtered event-object discovery. The filter set lets a client ask a narrow question, such as “which objects can generate a high-priority off-normal event,” in one exchange.
  • Interoperating with old servers. A modern client keeps the service available for devices that predate the property-read and GetEventInformation approaches.

GetEnrollmentSummary Error Codes

Clause 13.11 defines the confirmed result but does not list service-specific situations with their own error class and code; a device that cannot answer returns an error under the general model of Clause 18 of the standard.

Reading these in the field:

  • A returned error usually means the device does not support this deprecated service or is out of resources, not that a specific filter is invalid.
  • An empty list is a valid, successful answer that means no object matched the filters, not an error.
  • No response at all is not a service error. A timeout means the request never reached the device or the reply never came back, which is a transport or addressing problem.

Profiles That Require It

GetEnrollmentSummary splits by direction. Executing it (returning the summary) comes from the AE-ESUM-B building block; initiating it comes from AE-ESUM-A. Because the service is deprecated, current profiles require the execute side only conditionally, and modern designs favor direct property reads or GetEventInformation.

DirectionRequired by BIBBProfiles
Execute (return the summary)AE-ESUM-BServer devices that retain the deprecated service, for example B-BC under a conditional requirement
Initiate (request the summary)AE-ESUM-AOperator workstations that audit event enrollment on older servers

What Chipkin Provides

Because GetEnrollmentSummary is deprecated, the CAS BACnet Stack centers event-object and active-state reporting on direct property reads and GetEventInformation. Talk to us about adding BACnet client or server support to your device, including legacy GetEnrollmentSummary interoperability.