This module represents the BACnet Get Alarm Summary service.
The Get Alarm Summary service is used to get a list of active alarms from a device. Active alarm refers to all abnormal events.
Service Description (ASHRAE 135)
The GetAlarmSummary service is used by a client BACnet-user to obtain a summary of "active alarms." The term "active alarm" refers to BACnet standard objects that have an Event_State property whose value is not equal to NORMAL and a Notify_Type property whose value is ALARM. The GetEnrollmentSummary service provides a more sophisticated approach with various kinds of filters.
Service Procedure (ASHRAE 135)
After verifying the validity of the request, the responding BACnet-user shall search all event-initiating objects that have an Event_State property not equal to NORMAL and a Notify_Type property whose value is ALARM. Any object that has an Event_Detection_Enable property with a value of FALSE shall be ignored. A positive response containing the alarm summaries for objects found in this search shall be constructed. If no objects are found that meet these criteria, then a list of length zero shall be returned.
Result(+) Response (ASHRAE 135)
On success, the responding BACnet-user returns a 'Result(+)' primitive containing a list of alarm summaries. Each summary includes the object identifier, the current alarm state, and the acknowledged transitions for that object. If no alarms are active, an empty list is returned.
Result(-) Errors (ASHRAE 135)
The 'Result(-)' parameter shall indicate that the service request has failed. The reason for failure shall be specified by the 'Error Type' parameter.
The 'Error Class' and 'Error Code' are per Clause 18 (no service-specific situations are defined beyond the general cases).
Summary
Functions
Whether the service is of type confirmed or unconfirmed.
Converts the given Confirmed Service Request into a Get Alarm Summary Service.
Get the service name atom.
Get the Confirmed Service request for the given Get Alarm Summary Service.
Types
Functions
@spec confirmed?() :: true
Whether the service is of type confirmed or unconfirmed.
@spec from_apdu(BACnet.Protocol.APDU.ConfirmedServiceRequest.t()) :: {:ok, t()} | {:error, term()}
Converts the given Confirmed Service Request into a Get Alarm Summary Service.
@spec get_name() :: atom()
Get the service name atom.
@spec to_apdu(t(), Keyword.t()) :: {:ok, BACnet.Protocol.APDU.ConfirmedServiceRequest.t()} | {:error, term()}
Get the Confirmed Service request for the given Get Alarm Summary Service.
See the BACnet.Protocol.Services.Protocol function documentation for more information.