Skip to main content

Module notification_class

Module notification_class 

Source
Expand description

NotificationClass object: priorities, acknowledgment requirements, and recipients.

§Recipient-list day/time convention

RECIPIENT_LIST entries are BACnetDestination notification destinations. Their valid_days is a DaysOfWeek (Monday first, Clause 21) and their transitions an EventTransitionBits. The recipient filters take the current day as a DaysOfWeek flag, which local_day_and_time derives. Both bit strings convert to their MSB-first Clause 20.2.10 wire octets through to_bacnet/from_bacnet.

from_time/to_time are BACnet Time values interpreted in the device’s local time, derived from the wall clock plus the Device object’s UTC_Offset property (signed minutes) at the sender. A window with to_time < from_time (e.g. 22:00–02:00) crosses midnight and is active outside the [from, to] interval; see time_in_window.

§Restarts

Clause 12.21.8 asks for the Recipient_List to survive a restart. A class built with NotificationClass::with_persistence saves a written list in a NotificationClassPersistence before serving it, and restores it when built again; one built with NotificationClass::new keeps the list in memory only. A written, saved list wins over the destinations the application configures with add_destination, which are never saved. See the saving module for when saves run.

Structs§

FileNotificationClassPersistence
A file holding one Notification Class’s Recipient_List, replaced whole on each save, the same way as FileNotificationForwarderPersistence: a failed save leaves the previous list in place, and a completed one survives a power loss.
NotificationClass
BACnet NotificationClass object.
NotificationClassSnapshot
What a Notification Class keeps across a restart.

Enums§

RecipientLookupOutcome
The complete outcome of looking up and selecting Notification Class recipients.

Constants§

MAX_RECIPIENT_LIST_DESTINATIONS
The most destinations a Notification Class Recipient_List holds (#1098).

Traits§

NotificationClassPersistence
Application-owned storage for one Notification Class’s Recipient_List.

Functions§

filter_recipient_list
Filter an encoded RECIPIENT_LIST property value by day, time, and transition.
get_notification_recipients
Get notification recipients for a given class number and transition.
get_notification_recipients_strict
Strict variant of get_notification_recipients for fail-closed routing.
local_day_and_time
Derive the local day of the week and time of day for recipient filtering.
lookup_notification_recipients
Look up and select recipients for a Notification Class transition.
resolve_transition_priority_ack
Resolve the per-transition Priority and Ack_Required for an event notification from the referenced NotificationClass.