diff options
Diffstat (limited to 'lib/python/Components/Sources')
| -rw-r--r-- | lib/python/Components/Sources/Makefile.am | 2 | ||||
| -rw-r--r-- | lib/python/Components/Sources/Sensor.py | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/lib/python/Components/Sources/Makefile.am b/lib/python/Components/Sources/Makefile.am index 6ef8cac6..436d31be 100644 --- a/lib/python/Components/Sources/Makefile.am +++ b/lib/python/Components/Sources/Makefile.am @@ -4,4 +4,4 @@ install_PYTHON = \ __init__.py Clock.py EventInfo.py Source.py List.py CurrentService.py \ FrontendStatus.py Boolean.py Config.py ServiceList.py RdsDecoder.py StreamService.py \ StaticText.py CanvasSource.py ServiceEvent.py Event.py FrontendInfo.py TunerInfo.py \ - RecordState.py Progress.py + RecordState.py Progress.py Sensor.py diff --git a/lib/python/Components/Sources/Sensor.py b/lib/python/Components/Sources/Sensor.py new file mode 100644 index 00000000..e927bbf4 --- /dev/null +++ b/lib/python/Components/Sources/Sensor.py @@ -0,0 +1,31 @@ +from Components.Sensors import sensors + +from enigma import eTimer + +from Source import Source + +class SensorSource(Source): + def __init__(self, update_interval = 500, sensorid = None): + self.update_interval = update_interval + self.sensorid = sensorid + Source.__init__(self) + + if sensorid is not None: + self.update_timer = eTimer() + self.update_timer.callback.append(self.updateValue) + self.update_timer.start(self.update_interval) + + def getValue(self): + if self.sensorid is not None: + return sensors.getSensorValue(self.sensorid) + return None + + def getUnit(self): + return sensors.getSensorUnit(self.sensorid) + + def updateValue(self): + self.changed((self.CHANGED_POLL,)) + + def destroy(self): + if self.sensorid is not None: + self.update_timer.callback.remove(self.updateValue) |
