From 8ed21bda8dd3f343e71b38d754121e8cc161816e Mon Sep 17 00:00:00 2001 From: Adam Larson Date: Wed, 18 Mar 2026 23:06:36 +0000 Subject: [PATCH] fix: remove per-step pump subscribe/unsubscribe to prevent retained message race --- controller/imager/main.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/controller/imager/main.py b/controller/imager/main.py index 1a9d84c59..e0e3a79cc 100644 --- a/controller/imager/main.py +++ b/controller/imager/main.py @@ -413,7 +413,6 @@ def _receive_messages(self) -> None: continue loguru.logger.debug(f"The pump has stopped: {self._mqtt.msg['payload']}") - self._mqtt.client.unsubscribe("status/pump") self._mqtt.read_message() self._done.set() if self._discrete_run.locked(): @@ -437,7 +436,6 @@ def run_discrete(self, settings: stopflow.DiscretePumpSettings) -> None: # thread (the thread which calls the `handle_status_update()` method): self._discrete_run.acquire() # pylint: disable=consider-using-with self._done.clear() - self._mqtt.client.subscribe("status/pump") self._mqtt.client.publish( "actuator/pump", json.dumps( @@ -456,7 +454,6 @@ def stop(self) -> None: if self._mqtt is None: raise RuntimeError("MQTT client was not initialized yet!") - self._mqtt.client.subscribe("status/pump") self._mqtt.client.publish("actuator/pump", '{"action": "stop"}') def close(self) -> None: