Alarms¶
NF can receive and store BACnet event notifications from devices on the network. The Alarms page provides a central view for monitoring, filtering, and acknowledging alarms.
Event Subscriptions¶
To receive alarms from a device, you need to subscribe to its notification classes. The Alarms page shows devices and their notification classes in the left panel. Click Subscribe on a notification class to register NF as a recipient for events from that class.
Subscriptions can be configured as:
- Confirmed or unconfirmed notifications
- Transition filters: choose which transitions to receive (to-offnormal, to-fault, to-normal)
NF adds itself to the device's notification class recipient list using
BACnet AddListElement. When you unsubscribe, it removes itself with
RemoveListElement.
Viewing Alarms¶
The alarm log table shows received notifications with:
- Timestamp
- Source object (type and instance)
- Event type and priority
- State transition (from/to)
- Message text
- Acknowledgment status
Alarms can be filtered by device, event type, notification type, event state, and priority range.
Acknowledging Alarms¶
Alarms that require acknowledgment show an Acknowledge button. Acknowledging an alarm records who acknowledged it and when. Optionally, the acknowledgment can also be sent back to the originating device via the BACnet AcknowledgeAlarm service.
Storage and Retention¶
Alarms are persisted in Redis and backed by a write-ahead log for real-time streaming.
| Setting | Default | Description |
|---|---|---|
ALARM_RETENTION |
720h (30 days) |
How long alarms are kept before cleanup |
ALARM_MAX_COUNT |
10000 |
Maximum stored alarms; oldest removed when exceeded |
API¶
Alarms are available through the BACnet v2 gRPC API:
GetAlarms-- query alarms with time range, filters, and paginationObserveAlarms-- server-streaming feed with resume support via version tokensAcknowledgeAlarm-- acknowledge a specific alarmCreateEventSubscription/DeleteEventSubscription-- manage subscriptionsGetDeviceEventInformation-- query a remote device's current event state