- for chip in sensors.iter_detected_chips():
- prefix = '_'.join(str(chip.path.decode()).split('/')[3:])
- lines = {}
- for feature in chip:
- data[prefix + "_" + str(feature.name.decode())] = feature.get_value() * 1000
+ for chip in sensors.ChipIterator():
+ prefix = sensors.chip_snprintf_name(chip)
+ for feature in sensors.FeatureIterator(chip):
+ sfi = sensors.SubFeatureIterator(chip, feature)
+ for sf in sfi:
+ val = sensors.get_value(chip, sf.number)
+ break
+ typeName = TYPE_MAP[feature.type]
+ if typeName in LIMITS:
+ limit = LIMITS[typeName];
+ if val < limit[0] or val > limit[1]:
+ continue
+ if 'temp' in str(feature.name.decode()):
+ data[prefix + "_" + str(feature.name.decode())] = int(self.calc(val) * 1000)
+ else:
+ data[prefix + "_" + str(feature.name.decode())] = int(val * 1000)