X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=fancontrol2%2Fsrc%2FSensors.py;fp=fancontrol2%2Fsrc%2FSensors.py;h=2b5433e86fa63a7f6dbd289561b6885bf3f442a4;hb=445b6210811ee1852697d098e9b4227b0992d201;hp=0000000000000000000000000000000000000000;hpb=e68813e25bb0764764e463ee1d20a207a4200dd7;p=vuplus_dvbapp-plugin diff --git a/fancontrol2/src/Sensors.py b/fancontrol2/src/Sensors.py new file mode 100644 index 0000000..2b5433e --- /dev/null +++ b/fancontrol2/src/Sensors.py @@ -0,0 +1,67 @@ +class Sensors: + # (type, name, unit, directory) + TYPE_TEMPERATURE = 0 + # (type, name, unit, fanid) +# TYPE_FAN_RPM = 1 + + def __init__(self): + # (type, name, unit, sensor_specific_dict/list) + self.sensors_list = [] + self.addSensors() + + def getSensorsCount(self, type = None): + if type is None: + return len(self.sensors_list) + count = 0 + for sensor in self.sensors_list: + if sensor[0] == type: + count += 1 + return count + + # returns a list of sensorids of type "type" + def getSensorsList(self, type = None): + if type is None: + return range(len(self.sensors_list)) + list = [] + for sensorid in range(len(self.sensors_list)): + if self.sensors_list[sensorid][0] == type: + list.append(sensorid) + return list + + def getSensorType(self, sensorid): + return self.sensors_list[sensorid][0] + + def getSensorName(self, sensorid): + return self.sensors_list[sensorid][1] + + def getSensorDir(self, sensorid): + return self.sensors_list[sensorid][3] + + def getSensorValue(self, sensorid): + value = -1 + sensor = self.sensors_list[sensorid] + if sensor[0] == self.TYPE_TEMPERATURE: + f = open("%s/value" % sensor[3], "r") + value = int(f.readline().strip()) + f.close() + return value + + def addSensors(self): + import os + if os.path.exists("/proc/stb/sensors"): + sd = [] + sd = os.listdir("/proc/stb/sensors") + sd.sort() + for dirname in sd: + if dirname.find("temp", 0, 4) == 0: + f = open("/proc/stb/sensors/%s/name" % dirname, "r") + name = f.readline().strip() + f.close() + + f = open("/proc/stb/sensors/%s/unit" % dirname, "r") + unit = f.readline().strip() + f.close() + + self.sensors_list.append((self.TYPE_TEMPERATURE, name, unit, "/proc/stb/sensors/%s" % dirname)) + +sensors = Sensors() \ No newline at end of file