mirror of
https://github.com/PiBrewing/craftbeerpi4.git
synced 2024-11-10 01:17:42 +01:00
commit
0371e74b4a
1 changed files with 21 additions and 32 deletions
|
@ -9,42 +9,31 @@ import random
|
||||||
|
|
||||||
cache = {}
|
cache = {}
|
||||||
|
|
||||||
|
@parameters([Property.Text(label="Key", configurable=True, description="Http Key")])
|
||||||
class HTTPSensor(CBPiSensor):
|
class HTTPSensor(CBPiSensor):
|
||||||
|
def __init__(self, cbpi, id, props):
|
||||||
# Custom Properties which will can be configured by the user
|
super(HTTPSensor, self).__init__(cbpi, id, props)
|
||||||
|
self.running = True
|
||||||
key = Property.Text(label="Key", configurable=True)
|
|
||||||
|
|
||||||
def init(self):
|
|
||||||
super().init()
|
|
||||||
|
|
||||||
self.state = True
|
|
||||||
|
|
||||||
def get_state(self):
|
|
||||||
return self.state
|
|
||||||
|
|
||||||
def get_value(self):
|
|
||||||
|
|
||||||
return self.value
|
|
||||||
|
|
||||||
def stop(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
async def run(self, cbpi):
|
|
||||||
self.value = 0
|
self.value = 0
|
||||||
while True:
|
|
||||||
|
async def run(self):
|
||||||
|
'''
|
||||||
|
This method is executed asynchronousely
|
||||||
|
In this example the code is executed every second
|
||||||
|
'''
|
||||||
|
while self.running is True:
|
||||||
|
try:
|
||||||
|
cache_value = cache.pop(self.props.get("Key"), None)
|
||||||
|
if cache_value is not None:
|
||||||
|
self.value = float(cache_value)
|
||||||
|
self.push_update(self.value)
|
||||||
|
except Exception as e:
|
||||||
|
pass
|
||||||
await asyncio.sleep(1)
|
await asyncio.sleep(1)
|
||||||
|
|
||||||
try:
|
def get_state(self):
|
||||||
value = cache.pop(self.key, None)
|
# return the current state of the sensor
|
||||||
|
return dict(value=self.value)
|
||||||
if value is not None:
|
|
||||||
self.log_data(value)
|
|
||||||
await cbpi.bus.fire("sensor/%s/data" % self.id, value=value)
|
|
||||||
except Exception as e:
|
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
class HTTPSensorEndpoint(CBPiExtension):
|
class HTTPSensorEndpoint(CBPiExtension):
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue