RoboidControl-python/Things/TemperatureSensor.py
2025-04-06 12:42:10 +02:00

20 lines
591 B
Python

from Thing import Thing
from Messages import LowLevelMessages
class TemperatureSensor(Thing):
def __init__(self, thing_id):
super().__init__(thing_id, type = Thing.Type.TemperatureSensor)
self.temp = 0
self._watchers = []
def OnUpdate(self, handler):
self._watchers.append(handler)
def CancelOnUpdate(self, handler):
self._watchers.remove(handler)
def ProcessBinary(self, data):
ix = 0
self.temp = LowLevelMessages.ReceiveFloat16(data, [ix])
for watcher in self._watchers:
watcher(self.temp)