From 44a560003802fea1488118172fedd700cbe0734c Mon Sep 17 00:00:00 2001 From: Eric Callahan Date: Thu, 4 Apr 2024 20:15:33 -0400 Subject: [PATCH] job_state; check stored state on disconnect If Klipper disconnects while printing manually set the state to "error". Signed-off-by: Eric Callahan --- moonraker/components/job_state.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/moonraker/components/job_state.py b/moonraker/components/job_state.py index eec17cd..0ac9f0d 100644 --- a/moonraker/components/job_state.py +++ b/moonraker/components/job_state.py @@ -25,7 +25,17 @@ class JobState: self.server = config.get_server() self.last_print_stats: Dict[str, Any] = {} self.server.register_event_handler( - "server:klippy_started", self._handle_started) + "server:klippy_started", self._handle_started + ) + self.server.register_event_handler( + "server:klippy_disconnect", self._handle_disconnect + ) + + def _handle_disconnect(self): + state = self.last_print_stats.get("state", "") + if state in ("printing", "paused"): + # set error state + self.last_print_stats["state"] = "error" async def _handle_started(self, state: KlippyState) -> None: if state != KlippyState.READY: