M8-R05: recover WarmteLink ingestion and discovery automatically

This commit is contained in:
2026-08-24 06:45:31 +02:00
parent 72ac7e7300
commit 0924e8df52
5 changed files with 138 additions and 9 deletions
+5 -1
View File
@@ -177,7 +177,6 @@ class WarmteLinkWorker:
def _run(self) -> None:
backoff_index = 0
framer = TelegramFramer()
while not self._stop_event.is_set():
try:
device = self._serial_factory(self.config)
@@ -187,6 +186,11 @@ class WarmteLinkWorker:
device.close()
return
self._serial = device
# A disconnect makes any bytes buffered from the previous
# descriptor untrustworthy. In particular, never let a
# trailing partial telegram be completed by a newly opened
# device.
framer = TelegramFramer()
while not self._stop_event.is_set():
self._expire_discoveries()
chunk = device.read(1024)