mirror of
https://github.com/Manuel83/craftbeerpi3
synced 2026-09-19 15:59:07 +02:00
Created Custom Sensor (markdown)
+46
@@ -0,0 +1,46 @@
|
|||||||
|
# Custom Sensor
|
||||||
|
|
||||||
|
## Active Sensor
|
||||||
|
|
||||||
|
```
|
||||||
|
@cbpi.sensor
|
||||||
|
class DummyTempSensor(SensorActive):
|
||||||
|
|
||||||
|
temp = Property.Number("Temperature", configurable=True, default_value=5)
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
'''
|
||||||
|
Stop the sensor. Is called when the sensor config is updated or the sensor is deleted
|
||||||
|
:return:
|
||||||
|
'''
|
||||||
|
pass
|
||||||
|
|
||||||
|
def execute(self):
|
||||||
|
'''
|
||||||
|
Active sensor has to handle his own loop
|
||||||
|
:return:
|
||||||
|
'''
|
||||||
|
while self.is_running():
|
||||||
|
self.data_received(self.temp)
|
||||||
|
socketio.sleep(5)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def init_global(cls):
|
||||||
|
'''
|
||||||
|
Called one at the startup for all sensors
|
||||||
|
:return:
|
||||||
|
'''
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Passive Sensor`
|
||||||
|
|
||||||
|
Get's invoked by CraftBeerPi core every 5 seconds`
|
||||||
Reference in New Issue
Block a user