From 3a03f48e0f9a9c2747db1e44012f838238e2b462 Mon Sep 17 00:00:00 2001 From: Eric Callahan Date: Sat, 27 Aug 2022 12:27:37 -0400 Subject: [PATCH] simplyprint: report error messages Signed-off-by: Eric Callahan --- moonraker/components/simplyprint.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/moonraker/components/simplyprint.py b/moonraker/components/simplyprint.py index fd5272b..a81fb1c 100644 --- a/moonraker/components/simplyprint.py +++ b/moonraker/components/simplyprint.py @@ -630,13 +630,17 @@ class SimplyPrint(Subscribable): def _on_klippy_startup(self, state: str) -> None: if state != "ready": self._update_state("error") - self.send_sp("printer_error", None) + kconn: KlippyConnection + kconn = self.server.lookup_component("klippy_connection") + self.send_sp("printer_error", {"error": kconn.state_message}) self.send_sp("connection", {"new": "connected"}) self._send_firmware_data() def _on_klippy_shutdown(self) -> None: self._update_state("error") - self.send_sp("printer_error", None) + kconn: KlippyConnection + kconn = self.server.lookup_component("klippy_connection") + self.send_sp("printer_error", {"error": kconn.state_message}) def _on_klippy_disconnected(self) -> None: self._update_state("offline") @@ -701,7 +705,11 @@ class SimplyPrint(Subscribable): def _on_print_error(self, *args) -> None: self._check_job_started(*args) - self._send_job_event({"failed": True}) + payload: Dict[str, Any] = {"failed": True} + new_stats: Dict[str, Any] = args[1] + msg = new_stats.get("message", "Unknown Error") + payload["error"] = msg + self._send_job_event(payload) self._update_state_from_klippy() self.cache.job_info = {} self.layer_detect.stop()