Algorithmic alarming is the detection, management, and notification functions represented in a dedicated alarming object which is separate from the data source object representing the test property. This dedicated alarming object is the Event Enrollment object. Event Enrollment objects monitor an object for changes using an alarm extension, such as Change of state, Command failure, Floating limit, or Out of range.
In addition to the Event Enrollment object, a Notification Class object is also necessary to notify recipients on behalf of the data source test object. The Notification Class object is used to define recipients who should receive notifications when any object that uses a given notification class has detected an event. The Notification Class object may be shared among several alarm generating objects and determines which BACnet devices should be recipients of the alarm notification. For example, when an Event Enrollment object detects a change of state in an object, it signals to the Notification Class object that an event has occurred. In turn, the Notification Class object sends a notification to the appropriate recipients.
Local algorithmic alarming is the scenario in which the Event Enrollment object, Notification Class object, and the data source object are co-located in the same device. Supervisory algorithmic alarming is the scenario in which the Event Enrollment and Notification Class objects are located in a different device than the data source object representing the test property. Event Enrollment objects can be used for objects on devices that do not support intrinsic alarming and cannot notify recipients that they are in alarm on their own.