Quellcode durchsuchen

add settings to simulate a real sensor...

pull/258/head
Juan Pablo Giménez vor 5 Jahren
Ursprung
Commit
a6ed3f7c9e
1 geänderte Dateien mit 18 neuen und 21 gelöschten Zeilen
  1. +18
    -21
      modules/base_plugins/dummy_temp/__init__.py

+ 18
- 21
modules/base_plugins/dummy_temp/__init__.py Datei anzeigen

@@ -12,17 +12,18 @@ from modules.core.props import Property
class DummyTempSensor(SensorActive):

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")
def my_action(self):
print("HELLO WORLD")
pass
@cbpi.action("Reset")
def reset(self):
self.current_temp = None

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("Toogle Up/Down")
def toogle(self):
self.inc *= -1

def stop(self):
SensorActive.stop(self)
@@ -30,24 +31,20 @@ class DummyTempSensor(SensorActive):
def execute(self):
'''
Active sensor has to handle his own loop
:return:
:return:
'''
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)

@classmethod
def init_global(cls):
'''
Called one at the startup for all sensors
:return:
:return:
'''










Laden…
Abbrechen
Speichern