RoboidControl-python/Sensors/TemperatureSensor.py
Pascal Serrarens fa2895dd81 Refactoring
2025-01-20 20:09:53 +01:00

20 lines
619 B
Python

from ..Thing import Thing
from ..Messages import LowLevelMessages
class TemperatureSensor(Thing):
def __init__(self, network_id, thing_id):
super().__init__(network_id, 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)