
Jak naprawić błędy połączenia WebSocket Moonrakera w Printer Tools
Rozwiązywanie problemów z WebSocket Moonrakera
Krótka odpowiedź
Printer Tools utrzymuje aktywne połączenie WebSocket z Moonrakerem pod adresem ws(s)://<host>/websocket i automatycznie łączy się ponownie co 5 sekund, jeśli połączenie zostanie przerwane. Większość błędów połączenia wynika z niedostępnego hosta, zmienionego adresu IP lub Klippy, który nie jest jeszcze gotowy, a nie z samej aplikacji. Sprawdzenie tych trzech rzeczy w pierwszej kolejności rozwiązuje większość przypadków.
Czego potrzebujesz
- Dokładnego lokalnego adresu IP lub nazwy hosta aktualnie używanej przez drukarkę z uruchomionym Moonrakerem
- Potwierdzenia, że Klippy pokazuje status Ready, a nie Error lub Shutdown
- Tej samej sieci dostępnej zarówno z telefonu lub komputera, jak i z hosta drukarki
- Pełnego adresu, wraz ze schematem i portem, jeśli Twoja konfiguracja korzysta z HTTPS lub reverse proxy
- Klucza API Moonrakera, tokenu Bearer lub danych uwierzytelniających Basic Auth wymaganych przez Twoją instalację
Diagnozowanie błędu WebSocket Moonrakera
- 1
Potwierdź, że Klippy jest naprawdę gotowy
Otwórz ten sam host w przeglądarce lub w Mainsail albo Fluidd, jeśli je zainstalowałeś. Jeśli Klippy pokazuje tam również Error lub Shutdown, problem leży w Klipperze lub Twoim pliku printer.cfg, a nie w Printer Tools, i ponowne łączenie aplikacji nie pomoże, dopóki sam Klippy się nie naprawi.
- 2
Sprawdź ponownie adres hosta
Routery często przydzielają nowy lokalny adres IP po restarcie. Sprawdź aktualny adres maszyny, na której działa Moonraker, i zaktualizuj go w Printer Tools, jeśli się zmienił. Zarezerwowanie statycznego adresu dla tego urządzenia w routerze zapobiega ponownemu wystąpieniu tego problemu.
- 3
Wprowadź pełny adres w niestandardowych konfiguracjach
Jeśli Moonraker działa za HTTPS, niestandardowym portem lub reverse proxy, wprowadź pełny adres dokładnie tak, jak wpisałbyś go w przeglądarce. Printer Tools buduje adres URL WebSocket na podstawie podanych danych, więc niepełny lub nieprawidłowy adres zawiedzie, zanim Moonraker zostanie w ogóle osiągnięty.
- 4
Dopasuj uwierzytelnianie wymagane przez Twoją instalację
Jeśli Moonraker wymaga klucza API, tokenu Bearer lub Basic Auth, te same dane uwierzytelniające muszą zostać wprowadzone w Printer Tools. Niezgodność powoduje natychmiastowe zamknięcie WebSocket po jego otwarciu, zamiast zablokowania początkowej próby połączenia.
- 5
Wymuś czyste ponowne połączenie
Usuń i dodaj ponownie drukarkę albo wyłącz i włącz połączenie, aby zresetować gniazdo od podstaw zamiast czekać na automatyczną ponowną próbę. To również czyści wszelkie oczekujące żądania pozostałe po poprzedniej próbie połączenia.
- 6
Wyklucz problem z siecią
Sieć Wi-Fi dla gości, izolacja klientów, reguły zapory VLAN lub aktywny profil VPN mogą blokować telefonowi dostęp do hosta drukarki, nawet gdy oba urządzenia pokazują dostęp do internetu. Przetestuj w tym samym segmencie sieci, zanim założysz, że problem leży w samym Moonrakerze.
Status Moonrakera w Printer Tools


Panel Klippera odzwierciedla stan WebSocket na żywo i aktualizuje się automatycznie, gdy Moonraker znów staje się dostępny.
Co umożliwia połączenie WebSocket
- Stan druku na żywo, postęp, temperatury i standardowe obiekty Klippera przesyłane w czasie rzeczywistym
- Automatyczne ponowne łączenie co 5 sekund bez konieczności ponownego otwierania aplikacji
- Sygnał heartbeat, który utrzymuje połączenie aktywne podczas normalnego użytkowania w tle
- Sprawdzenie statusu Klippy wykonywane natychmiast po każdym udanym połączeniu
- Obsługa klucza API, tokenu Bearer lub Basic Auth, gdy wymaga tego Twoja konfiguracja Moonrakera
Czego to nie naprawi
- Błąd lub stan wyłączenia Klippy trzeba rozwiązać w samym Klipperze, a nie z poziomu Printer Tools
- Printer Tools nie dotrze do hosta, który zmienił adres, bez zaktualizowania zapisanego IP drukarki
- Izolacja sieciowa między telefonem a hostem drukarki blokuje WebSocket niezależnie od ustawień aplikacji
- Trwający już wydruk kontynuuje się na drukarce, nawet gdy aplikacja pokazuje status rozłączony
Typowe błędy WebSocket
Printer Tools pozostaje w stanie łączenia w nieskończoność
Sprawdź, czy adres hosta jest aktualny i dostępny oraz czy sam Moonraker działa. Jeśli ten sam adres zawodzi też w przeglądarce, problem leży po stronie hosta drukarki, a nie aplikacji.
Połączenie otwiera się, a następnie wielokrotnie się rozłącza
Sprawdź, czy sieć nie rozłącza bezczynnych klientów, na przykład przez funkcje oszczędzania energii Wi-Fi niektórych routerów, lub czy nie występuje pętla restartów Moonrakera spowodowana błędem konfiguracji. Przejrzyj log Moonrakera na hoście drukarki pod kątem powtarzających się wpisów o rozłączeniu.
Mainsail lub Fluidd łączą się, ale Printer Tools nie
Użyj dokładnie tego samego adresu, wraz ze schematem i portem, który działa w przeglądarce. Reverse proxy lub certyfikat HTTPS akceptowany po cichu przez przeglądarkę może nadal wymagać ręcznego wprowadzenia pełnego adresu w Printer Tools.
Klippy pokazuje błąd natychmiast po połączeniu
Oznacza to, że sam WebSocket zadziałał, a problem leży wewnątrz konfiguracji Klippera. Popraw zgłoszony błąd w pliku printer.cfg i zrestartuj Klippera z poziomu Moonrakera, zanim spodziewasz się, że Printer Tools pokaże normalny panel.
Połączenie działa w domu, ale zawodzi poza siecią lokalną
Bezpośredni WebSocket Moonrakera działa tylko w tej samej sieci lokalnej. Użyj VPN prowadzącego z powrotem do sieci domowej lub dodaj drukarkę przez opcje zdalnego dostępu OctoEverywhere albo Obico w Printer Tools, zamiast bezpośrednio wystawiać Moonrakera na zewnątrz.
Ponowne łączenie spoza Twojej sieci
Bezpośredni WebSocket działa tylko wtedy, gdy telefon i host drukarki znajdują się w tej samej dostępnej sieci. W przypadku dostępu zdalnego użyj VPN prowadzącego z powrotem do tej sieci lub połącz tę samą drukarkę Klipper przez OctoEverywhere albo Obico w Printer Tools. Nie przekierowuj portu Moonrakera bezpośrednio na routerze.
Najczęściej zadawane pytania
Czy Printer Tools korzysta z WebSocket Moonrakera, czy z jego API REST?
Printer Tools łączy się przez API WebSocket JSON-RPC Moonrakera pod adresem /websocket w celu telemetrii i sterowania na żywo, dlatego stabilna ścieżka sieciowa do tego punktu końcowego liczy się bardziej niż powodzenie pojedynczego żądania REST.
Jak często aplikacja ponawia nieudane połączenie?
Co 5 sekund, automatycznie, aż WebSocket ponownie zaakceptuje połączenie. Nie ma ręcznego limitu prób.
Czy utrata połączenia zatrzymuje mój wydruk?
Nie. Klipper kontynuuje drukowanie na samej drukarce. Utrata WebSocket przez Printer Tools oznacza jedynie, że aplikacja przestaje otrzymywać aktualizacje na żywo, dopóki nie połączy się ponownie.
Czy do działania tego potrzebuję uruchomionego Mainsail lub Fluidd?
Nie. Printer Tools komunikuje się bezpośrednio z Moonrakerem. Mainsail i Fluidd są przydatne do porównywania zachowania podczas rozwiązywania problemów, ale żaden z nich nie jest wymagany.
Dlaczego połączenie działa przez Wi-Fi, ale nie przez moją VPN?
VPN, która nie kieruje ruchu do lokalnego zakresu IP Twojej sieci domowej, nie może bezpośrednio dotrzeć do Moonrakera. Użyj VPN skonfigurowanej tak, aby docierała do tej sieci, albo skorzystaj z OctoEverywhere lub Obico.
Zobacz pełną kompatybilność Klippera i Moonrakera
Sprawdź obsługiwane funkcje Moonrakera, opcjonalne wymagania dotyczące kamery i Spoolmana, opcje zdalnego dostępu oraz aktualne ograniczenia.


