From faeae88aef27c19b3b45b5d29cec4d7dec8c9c55 Mon Sep 17 00:00:00 2001
From: Martin Ziegler
Date: Mon, 1 Dec 2025 09:32:01 +0100
Subject: [PATCH] Fixed bug when retrieving k profiles from printer
---
README.md | 5 ++
backend/app/services/bambu_mqtt.py | 28 +++++-
docs/screenshots/maintenance.png | Bin 0 -> 505935 bytes
frontend/src/components/KProfilesView.tsx | 34 +++++--
.../{index-DqWJuns8.js => index-CKBzHHT0.js} | 84 +++++++++---------
static/index.html | 2 +-
6 files changed, 99 insertions(+), 54 deletions(-)
create mode 100644 docs/screenshots/maintenance.png
rename static/assets/{index-DqWJuns8.js => index-CKBzHHT0.js} (95%)
diff --git a/README.md b/README.md
index eda55d25d..817fdbc25 100644
--- a/README.md
+++ b/README.md
@@ -134,6 +134,11 @@ v∆v
Cloud Profiles
+
+
+
Maintenance
+
+
Settings
diff --git a/backend/app/services/bambu_mqtt.py b/backend/app/services/bambu_mqtt.py
index 0ca6da8ce..a14013b15 100644
--- a/backend/app/services/bambu_mqtt.py
+++ b/backend/app/services/bambu_mqtt.py
@@ -178,6 +178,8 @@ class BambuMQTTClient:
)
# Check for K-profile response (extrusion_cali)
+ if "command" in print_data:
+ logger.debug(f"[{self.serial_number}] Received command response: {print_data.get('command')}")
if "command" in print_data and print_data.get("command") == "extrusion_cali_get":
self._handle_kprofile_response(print_data)
@@ -410,8 +412,14 @@ class BambuMQTTClient:
message = {"pushing": {"command": "pushall"}}
self._client.publish(self.topic_publish, json.dumps(message))
- def connect(self):
- """Connect to the printer MQTT broker."""
+ def connect(self, loop: asyncio.AbstractEventLoop | None = None):
+ """Connect to the printer MQTT broker.
+
+ Args:
+ loop: The asyncio event loop to use for thread-safe callbacks.
+ If not provided, will try to get the running loop.
+ """
+ self._loop = loop
self._client = mqtt.Client(
callback_api_version=mqtt.CallbackAPIVersion.VERSION2,
client_id=f"bambutrack_{self.serial_number}",
@@ -550,12 +558,17 @@ class BambuMQTTClient:
self._kprofile_response_data = profiles
# Signal that we received the response
+ # Use thread-safe method since MQTT callbacks run in a different thread
if self._pending_kprofile_response:
- self._pending_kprofile_response.set()
+ if self._loop and self._loop.is_running():
+ self._loop.call_soon_threadsafe(self._pending_kprofile_response.set)
+ else:
+ # Fallback for when loop is not available
+ self._pending_kprofile_response.set()
logger.info(f"[{self.serial_number}] Received {len(profiles)} K-profiles")
- async def get_kprofiles(self, nozzle_diameter: str = "0.4", timeout: float = 5.0) -> list[KProfile]:
+ async def get_kprofiles(self, nozzle_diameter: str = "0.4", timeout: float = 10.0) -> list[KProfile]:
"""Request K-profiles from the printer.
Args:
@@ -569,6 +582,13 @@ class BambuMQTTClient:
logger.warning(f"[{self.serial_number}] Cannot get K-profiles: not connected")
return []
+ # Capture current event loop for thread-safe callback
+ try:
+ self._loop = asyncio.get_running_loop()
+ except RuntimeError:
+ logger.warning(f"[{self.serial_number}] No running event loop")
+ return []
+
# Set up response event
self._sequence_id += 1
self._pending_kprofile_response = asyncio.Event()
diff --git a/docs/screenshots/maintenance.png b/docs/screenshots/maintenance.png
new file mode 100644
index 0000000000000000000000000000000000000000..4eb04b078a8152f230d77285d1ed5643fd9941b1
GIT binary patch
literal 505935
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
pbdbrT8d_Zk6_CIn{!1^9BfdvR;Q`D?4fk7$
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