Index: dialin/hd/alarms.py =================================================================== diff -u -r9dee83286969ac19c09f6879394494e551663cb5 -r4f649cc5d0bb8e26b4b3614d0c4ed2a1b3189a87 --- dialin/hd/alarms.py (.../alarms.py) (revision 9dee83286969ac19c09f6879394494e551663cb5) +++ dialin/hd/alarms.py (.../alarms.py) (revision 4f649cc5d0bb8e26b4b3614d0c4ed2a1b3189a87) @@ -118,7 +118,11 @@ self.alarm_ranks = [0] * 500 # alarm clear top only flags based on received HD alarm activation messages self.alarm_clear_top_only_flags = [False] * 500 + # alarm debug data on alarm triggered message + self.alarm_data = [0, 0] * 500 + + # alarm information self.alarm_data_type = dict() self.alarm_volume = 0 @@ -442,6 +446,14 @@ for x in range(500): self.alarm_states[x] = False + def get_alarm_data(self, alarm_id) -> list: + """ + Gets the alarm data fields for the requested alarm id + + @return: the alarm data fields for the requested alarm id + """ + return self.alarm_data[alarm_id] + @publish(["hd_alarm_status_timestamp", "alarms_state", "alarm_top", "alarms_silence_expires_in", "alarms_escalates_in", "alarms_flags"]) def _handler_alarms_status_sync(self, message, timestamp=0.0): """ @@ -469,7 +481,8 @@ self.hd_alarm_status_timestamp = timestamp - @publish(["hd_alarm_triggered_timestamp", "alarm_states", "alarm_conditions", "alarm_priorities", "alarm_ranks", "alarm_clear_top_only_flags"]) + @publish(["hd_alarm_triggered_timestamp", "alarm_states", "alarm_conditions", "alarm_data", + "alarm_priorities", "alarm_ranks", "alarm_clear_top_only_flags"]) def _handler_alarm_trigger(self, message, timestamp=0.0): """ Handles published HD alarm activation messages. @@ -502,6 +515,7 @@ self.alarm_priorities[alarm_id[0]] = priority[0] self.alarm_ranks[alarm_id[0]] = rank[0] self.alarm_clear_top_only_flags[alarm_id[0]] = clr_top_only[0] + self.alarm_data[alarm_id[0]] = [data_1[0], data_2[0]] self.hd_alarm_triggered_timestamp = timestamp @publish(["hd_alarm_cleared_timestamp", "alarm_states", "alarm_conditions"])