| @@ -12,17 +12,23 @@ from modules.core.props import Property | |||||
| class DummyTempSensor(SensorActive): | class DummyTempSensor(SensorActive): | ||||
| temp = Property.Number("Temperature", configurable=True, default_value=5, description="Dummy Temperature as decimal value") | temp = Property.Number("Temperature", configurable=True, default_value=5, description="Dummy Temperature as decimal value") | ||||
| inc = Property.Number("Auto increase", configurable=True, default_value=0.5, description="Dummy Temperature increase as decimal value") | |||||
| max_temp = Property.Number("Max temperature", configurable=True, default_value='100', description="Dummy Max. Temperature as decimal value") | |||||
| min_temp = Property.Number("Min temperature", configurable=True, default_value='0', description="Dummy Min. Temperature as decimal value") | |||||
| current_temp = None | |||||
| @cbpi.action("My Custom Action") | @cbpi.action("My Custom Action") | ||||
| def my_action(self): | def my_action(self): | ||||
| print "HELLO WORLD" | |||||
| print("HELLO WORLD") | |||||
| pass | pass | ||||
| def get_unit(self): | |||||
| ''' | |||||
| :return: Unit of the sensor as string. Should not be longer than 3 characters | |||||
| ''' | |||||
| return "°C" if self.get_config_parameter("unit", "C") == "C" else "°F" | |||||
| @cbpi.action("Reset") | |||||
| def reset(self): | |||||
| self.current_temp = None | |||||
| @cbpi.action("Toogle Up/Down") | |||||
| def toogle(self): | |||||
| self.inc *= -1 | |||||
| def stop(self): | def stop(self): | ||||
| SensorActive.stop(self) | SensorActive.stop(self) | ||||
| @@ -30,24 +36,20 @@ class DummyTempSensor(SensorActive): | |||||
| def execute(self): | def execute(self): | ||||
| ''' | ''' | ||||
| Active sensor has to handle his own loop | Active sensor has to handle his own loop | ||||
| :return: | |||||
| :return: | |||||
| ''' | ''' | ||||
| while self.is_running() is True: | while self.is_running() is True: | ||||
| self.data_received(self.temp) | |||||
| if not self.current_temp: | |||||
| self.current_temp = self.temp | |||||
| self.data_received(self.current_temp) | |||||
| new_temp = float(self.current_temp) + float(self.inc) | |||||
| if float(self.min_temp) <= new_temp <= float(self.max_temp): | |||||
| self.current_temp = '%.2f' % new_temp | |||||
| self.sleep(5) | self.sleep(5) | ||||
| @classmethod | @classmethod | ||||
| def init_global(cls): | def init_global(cls): | ||||
| ''' | ''' | ||||
| Called one at the startup for all sensors | Called one at the startup for all sensors | ||||
| :return: | |||||
| :return: | |||||
| ''' | ''' | ||||