From 09ac00ce2eb63519a3fd5d16af22543613f04f70 Mon Sep 17 00:00:00 2001 From: Eric Callahan Date: Thu, 12 May 2022 19:22:56 -0400 Subject: [PATCH] klippy_connection: request endpoints before setting the state All of Klipper's endpoints should be available before Moonraker reports the "ready" state. Signed-off-by: Eric Callahan --- moonraker/klippy_connection.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/moonraker/klippy_connection.py b/moonraker/klippy_connection.py index c54da86..28fe4af 100644 --- a/moonraker/klippy_connection.py +++ b/moonraker/klippy_connection.py @@ -326,13 +326,16 @@ class KlippyConnection: msg = f"Klipper Version: {version}" self.server.add_log_rollover_item("klipper_version", msg) self._klippy_info = dict(result) - self._state = result.get('state', "unknown") + state = result.get('state', "unknown") + if state != "startup" and "endpoints_requested" not in self.init_list: + await self._request_endpoints() + self.init_list.append("endpoints_requested") + self._state = state if send_id: self.init_list.append("identified") await self.server.send_event("server:klippy_identified") if self._state != "startup": self.init_list.append('startup_complete') - await self._request_endpoints() await self.server.send_event("server:klippy_started", self._state) if self._state != "ready":