From fc89dfffa569b05496289f64f042eb5daabeb424 Mon Sep 17 00:00:00 2001 From: Gangoke Date: Sun, 31 May 2026 17:27:01 -1000 Subject: [PATCH] fire and forget setDry --- kobrax_moonraker_bridge.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/kobrax_moonraker_bridge.py b/kobrax_moonraker_bridge.py index 6a23834..37b8f29 100644 --- a/kobrax_moonraker_bridge.py +++ b/kobrax_moonraker_bridge.py @@ -3085,13 +3085,10 @@ class KobraXBridge: loop = asyncio.get_event_loop() def _send(): - return self.client.publish("multiColorBox", "setDry", payload, timeout=5) - - resp = await loop.run_in_executor(None, _send) - if resp is None: - return web.json_response({"error": "No response from printer"}, status=504) - if int(resp.get("code", 200)) != 200: - return web.json_response({"error": f"Printer rejected command: {resp}"}, status=502) + return self.client.publish("multiColorBox", "setDry", payload, timeout=0) + # Fire-and-forget: setDry ACK arrives via multiColorBox/report callback. + # Waiting for a response on that busy push topic causes false "code:0" rejections. + await loop.run_in_executor(None, _send) self._state["ace_drying"] = ui_state self._state_dirty = True -- 2.49.1