Index: dialin/hd/alarms.py =================================================================== diff -u -r858a23ec52b7a982ca68588a80a39a775d16a315 -r300c1f6d8035fc7caadaa8a10ac5c9fddb556b83 --- dialin/hd/alarms.py (.../alarms.py) (revision 858a23ec52b7a982ca68588a80a39a775d16a315) +++ dialin/hd/alarms.py (.../alarms.py) (revision 300c1f6d8035fc7caadaa8a10ac5c9fddb556b83) @@ -131,7 +131,9 @@ # If U32 is in the data type enum (i.e. EVENT_DATA_TYPE_U32), then the key is the enum and the value is # the corresponding format in the python struct - if 'U32' in event_data_type or 'BOOL' in event_data_type: + if 'U32' in event_data_type or \ + 'BOOL' in event_data_type or \ + 'NONE' in event_data_type: struct_unpack_type = 'I' elif 'S32' in event_data_type: struct_unpack_type = 'i' @@ -443,21 +445,22 @@ data_typ_1 = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_2:MsgFieldPositions.END_POS_FIELD_2])) # Get the corresponding structure format - struct_data_type = self.alarm_data_type[HDEventDataType(data_typ_1).name] + struct_data_type_1 = self.alarm_data_type[HDEventDataType(data_typ_1).name] + # Get the data value by unpacking the data type - data_1 = struct.unpack(struct_data_type, bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3])) + data_1 = struct.unpack(struct_data_type_1, bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_3:MsgFieldPositions.END_POS_FIELD_3])) data_typ_2 = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_4:MsgFieldPositions.END_POS_FIELD_4])) # Get the corresponding structure format - struct_data_type = self.alarm_data_type[HDEventDataType(data_typ_2).name] + struct_data_type_2 = self.alarm_data_type[HDEventDataType(data_typ_2).name] # Get the data value by unpacking the data type - data_2 = struct.unpack(struct_data_type, bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) + data_2 = struct.unpack(struct_data_type_2, bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_5:MsgFieldPositions.END_POS_FIELD_5])) priority = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_6:MsgFieldPositions.END_POS_FIELD_6])) rank = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_7:MsgFieldPositions.END_POS_FIELD_7])) clr_top_only = struct.unpack('i', bytearray(message['message'][MsgFieldPositions.START_POS_FIELD_8:MsgFieldPositions.END_POS_FIELD_8])) - self.logger.debug("Alarm ID: %d %d %d"%(alarm_id[0], data_1[0], data_2[0])) + self.logger.debug("Alarm ID: %d %s %s %d %d"%(alarm_id[0],struct_data_type_2,struct_data_type_2, data_1[0], data_2[0])) self.alarm_states[alarm_id[0]] = True self.alarm_conditions[alarm_id[0]] = True self.alarm_priorities[alarm_id[0]] = priority[0]