diff --git a/pyghmi/ipmi/events.py b/pyghmi/ipmi/events.py index 89a6b702..415a1957 100644 --- a/pyghmi/ipmi/events.py +++ b/pyghmi/ipmi/events.py @@ -498,7 +498,8 @@ class EventHandler(object): raise pygexc.PyghmiException( 'Unrecognized Event message version {0}'.format(eventdata[2])) sensor_type = eventdata[3] - sensorid = '{0}.{1}'.format(eventdata[4], eventdata[1] & 0b11) + sensorid = '{0}.{1}.{2}'.format( + eventdata[0], eventdata[4], eventdata[1] & 0b11) event_data = eventdata[6:] deassertion = (eventdata[5] & 0b10000000 == 0b10000000) event_type = eventdata[5] & 0b1111111 diff --git a/pyghmi/ipmi/sdr.py b/pyghmi/ipmi/sdr.py index ea50108e..92b78184 100644 --- a/pyghmi/ipmi/sdr.py +++ b/pyghmi/ipmi/sdr.py @@ -377,6 +377,7 @@ class SDREntry(object): # event only, compact and full are very similar # this function handles the common aspects of compact and full # offsets from spec, minus 6 + self.sensor_owner = entry[0] self.sensor_lun = entry[1] & 0x03 self.sensor_number = entry[2] self.entity = ipmiconst.entity_ids.get( @@ -836,7 +837,8 @@ class SDR(object): newent = SDREntry(sdrbytes, self.ipmicmd, False, self.mfg_id, self.prod_id) if newent.sdrtype == TYPE_SENSOR: - id = '{0}.{1}'.format(newent.sensor_number, newent.sensor_lun) + id = '{0}.{1}.{2}'.format( + newent.sensor_owner, newent.sensor_number, newent.sensor_lun) if id in self.sensors: self.broken_sensor_ids[id] = True return