Additions to GENERIC_ALARM_COMMAND/STATUS, and definitions of standardized alarm instances.

Martin Perlot of SilverLeaf Electronics proposes the following amendments to GENERIC_ALARM_STATUS and GENERIC_ALARM_COMMAND

Byte 6: Device Instance. uint8. Instance of the specific device of the indicated type, if necessary. FFh = All Instances, if appropriate.

Change to GENERIC_ALARM_STATUS: Maximum Broadcast Rate - On Request.

New Section (6.47.3) - Standard Alarm Instances

Many alarm functions are general to the type of device. In such cases, the instance used for the alarm shall be drawn from the list of standardized alarm instances provided here. It is acceptable to use non-standard instances for alarms that are specific to the proprietary design of a device. The instance numbers for such proprietary alarms should be selected from the range 128-253 (80h - 0xFDh).

Note that alarms may duplicate conditions reported by other means. For example, there is a Low Voltage Limit Status defined in DC_SOURCE_STATUS_6 (Byte 2, Bits 4-5). In general, alarms should not be defined if they exactly duplicate the previously defined condition. However, there are applications in which it is salutary to inform the user of an impending condition, in which case the use of the alarm is appropriate as it does not precisely duplicate the defined condition.

Alarms should not duplicate DM-RV SPNs. SPNs indicate that the device is not working properly, and some technical intervention is likely required. Alarms indicate devices that are working properly, but are in a state that the user should be informed of. Note that, in general, users should have the ability to arm or disarm individual alarms, but they cannot do the same for SPNs.

Battery DSA 69
1 - Impending Low Voltage Cutoff
Water/Waste Tank System DSA 72
1 - Fresh Tank Nearly Empty
2 - Waste Tank Nearly Full
LPG Tank System DSA 73
1 - LPG Tank Nearly Empty
Transfer Switch DSA 79
1 - Unexpected Loss of AC Power
Refrigerator DSA 107
Aux Refrigerator DSA 108
Aux Freezer DSA 109
Ice Maker DSA 110
1 - Refrigerator Compartment Too Warm
2 - Freezer Compartment Too Warm
Awning DSA 130
1 - Retraction Triggered by Wind
Door Control DSA 135
1 - Intruder Detected

Justification: The need for instancing was overlooked in the initial submission. The change from the 5 second reporting to On Request is a consequence of this decision. A burglar alarm, for example, may have a dozen or more status items to report, and reporting all of them every five seconds is a non-trivial burst of traffic with little obvious benefit.

The Standard Instances have been intended all along, and we are just now addressing the requests of programmers who are writing code around this scheme. We expect this list to expand considerably over time.