
Näin korjaat Moonrakerin WebSocket-yhteysvirheet Printer Toolsissa
Moonrakerin WebSocket-vianmääritys
Lyhyt vastaus
Printer Tools pitää yllä jatkuvaa WebSocket-yhteyttä Moonrakeriin osoitteessa ws(s)://<host>/websocket ja yhdistää automaattisesti uudelleen 5 sekunnin välein, jos yhteys katkeaa. Useimmat yhteysvirheet johtuvat tavoittamattomasta hostista, muuttuneesta IP-osoitteesta tai siitä, ettei Klippy ole vielä valmis, eivät sovelluksesta itsestään. Näiden kolmen asian tarkistaminen ensin ratkaisee suurimman osan tapauksista.
Mitä tarvitset
- Tarkka paikallinen IP-osoite tai isäntänimi, jota Moonrakeria ajava tulostin käyttää juuri nyt
- Vahvistus siitä, että Klippy näyttää tilan Ready eikä Error tai Shutdown
- Sama verkko, joka on tavoitettavissa sekä puhelimesta tai tietokoneesta että tulostimen hostista
- Täydellinen osoite, mukaan lukien skeema ja portti, jos asennuksesi käyttää HTTPS:ää tai käänteistä välityspalvelinta
- Mahdollinen Moonrakerin API-avain, Bearer-token tai Basic Auth -tunnukset, joita asennuksesi vaatii
Moonrakerin WebSocket-virheen diagnosointi
- 1
Varmista, että Klippy on todella valmis
Avaa sama host selaimessa tai Mainsailissa tai Fluiddissa, jos ne on asennettu. Jos Klippy näyttää siellä myös Error- tai Shutdown-tilan, ongelma on Klipperissä tai printer.cfg-tiedostossasi, ei Printer Toolsissa, eikä sovelluksen uudelleenyhdistäminen auta ennen kuin Klippy itse toipuu.
- 2
Tarkista hostin osoite uudelleen
Reitittimet jakavat yleisesti uuden paikallisen IP-osoitteen uudelleenkäynnistyksen jälkeen. Vahvista Moonrakeria ajavan koneen nykyinen osoite ja päivitä se Printer Toolsiin, jos se on muuttunut. Kiinteän osoitteen varaaminen kyseiselle laitteelle reitittimessäsi estää tämän toistumisen.
- 3
Syötä täydellinen osoite mukautetuissa asennuksissa
Jos Moonraker on HTTPS:n, muun kuin oletusportin tai käänteisen välityspalvelimen takana, syötä täydellinen osoite täsmälleen samalla tavalla kuin kirjoittaisit sen selaimeen. Printer Tools rakentaa WebSocket-URL:n antamastasi tiedosta, joten osittainen tai virheellinen osoite epäonnistuu ennen kuin Moonrakeria edes tavoitetaan.
- 4
Vastaa asennuksesi vaatimaan todennukseen
Jos Moonraker vaatii API-avaimen, Bearer-tokenin tai Basic Authin, samat tunnukset on syötettävä Printer Toolsiin. Ristiriita sulkee WebSocketin heti avautumisen jälkeen sen sijaan, että se estäisi itse yhteysyrityksen.
- 5
Pakota puhdas uudelleenyhdistäminen
Poista ja lisää tulostin uudelleen, tai kytke yhteys pois päältä ja takaisin, jotta socket nollautuu alusta automaattisen uudelleenyrityksen odottamisen sijaan. Tämä myös tyhjentää kaikki edellisestä yhteysyrityksestä jääneet odottavat pyynnöt.
- 6
Sulje verkkoreitti pois syyllisten listalta
Vierailija-Wi-Fi, laiteeristys, VLAN-palomuurisäännöt tai aktiivinen VPN-profiili voivat estää puhelinta tavoittamasta tulostimen hostia, vaikka molemmat laitteet näyttävät internet-yhteyden. Testaa samasta verkkosegmentistä ennen kuin oletat vian olevan itse Moonrakerissa.
Moonrakerin tila Printer Toolsissa


Klipper-näkymä heijastaa WebSocketin reaaliaikaista tilaa ja päivittyy automaattisesti heti, kun Moonraker on jälleen tavoitettavissa.
Mitä WebSocket-yhteys mahdollistaa
- Reaaliaikainen tulostustila, edistyminen, lämpötilat ja Klipperin vakio-objektit lähetettynä suoraan
- Automaattinen uudelleenyhdistäminen 5 sekunnin välein ilman sovelluksen uudelleenavaamista
- Sydämenlyönti, joka pitää yhteyden aktiivisena normaalin taustakäytön aikana
- Klippy-tilan tarkistus, joka tehdään heti jokaisen onnistuneen yhteyden jälkeen
- Tuki API-avaimelle, Bearer-tokenille tai Basic Authille, kun Moonraker-asennuksesi sitä vaatii
Mitä tämä ei korjaa
- Klippyn virhe- tai sammutustila täytyy ratkaista itse Klipperissä, ei Printer Toolsista
- Printer Tools ei tavoita hostia, joka on vaihtanut osoitetta, ellei tulostimen tallennettua IP-osoitetta päivitetä
- Puhelimen ja tulostimen hostin välinen verkkoeristys estää WebSocketin sovelluksen asetuksista riippumatta
- Jo käynnissä oleva tulostus jatkuu tulostimella, vaikka sovellus näyttäisi yhteyden katkenneen
Yleiset WebSocket-virheet
Printer Tools jää loputtomasti yhdistämään
Vahvista, että hostin osoite on ajan tasalla ja tavoitettavissa, ja että itse Moonraker on käynnissä. Jos sama osoite epäonnistuu myös selaimessa, ongelma on tulostimen hostissa, ei sovelluksessa.
Yhteys avautuu ja katkeaa sitten toistuvasti
Tarkista, onko verkossa toimintoa, joka katkaisee toimettomat asiakkaat, kuten joidenkin reitittimien Wi-Fi-virransäästöominaisuudet, tai onko kyseessä konfigurointivirheen aiheuttama Moonrakerin uudelleenkäynnistyssilmukka. Tarkista Moonrakerin loki tulostimen hostilla toistuvien katkosten varalta.
Mainsail tai Fluidd yhdistää, mutta Printer Tools ei
Käytä täsmälleen samaa osoitetta, mukaan lukien skeema ja portti, joka toimii selaimessa. Käänteinen välityspalvelin tai HTTPS-varmenne, jonka selain hyväksyy hiljaisesti, voi silti vaatia täydellisen osoitteen syöttämistä manuaalisesti Printer Toolsiin.
Klippy näyttää virheen heti yhdistämisen jälkeen
Tämä tarkoittaa, että itse WebSocket onnistui ja ongelma on Klipperin omassa konfiguraatiossa. Korjaa printer.cfg-tiedostossa ilmoitettu virhe ja käynnistä Klipper uudelleen Moonrakerista ennen kuin odotat Printer Toolsin näyttävän normaalin näkymän.
Yhteys toimii kotona mutta epäonnistuu paikallisen verkon ulkopuolella
Suora Moonraker-WebSocket toimii vain samassa paikallisverkossa. Käytä VPN-yhteyttä takaisin kotiverkkoosi tai lisää tulostin Printer Toolsin OctoEverywhere- tai Obico-etäkäyttövaihtoehtojen kautta sen sijaan, että altistat Moonrakerin suoraan.
Uudelleenyhdistäminen verkkosi ulkopuolelta
Suora WebSocket toimii vain, kun puhelin ja tulostimen host jakavat tavoitettavissa olevan verkon. Etäkäyttöä varten käytä VPN-yhteyttä takaisin siihen verkkoon tai yhdistä sama Klipper-tulostin OctoEverywheren tai Obicon kautta Printer Toolsissa. Älä ohjaa Moonrakerin porttia suoraan reitittimessäsi.
Usein kysytyt kysymykset
Käyttääkö Printer Tools Moonrakerin WebSocketia vai sen REST-rajapintaa?
Printer Tools yhdistää Moonrakerin WebSocket JSON-RPC -rajapinnan kautta osoitteessa /websocket reaaliaikaista telemetriaa ja ohjausta varten, minkä vuoksi vakaa verkkoreitti kyseiseen päätepisteeseen merkitsee enemmän kuin minkään yksittäisen REST-pyynnön onnistuminen.
Kuinka usein sovellus yrittää epäonnistunutta yhteyttä uudelleen?
5 sekunnin välein, automaattisesti, kunnes WebSocket hyväksyy yhteyden jälleen. Manuaalista uudelleenyritysrajaa ei ole.
Katkaiseeko yhteyden menettäminen tulostukseni?
Ei. Klipper jatkaa tulostamista itse tulostimella. Se, että Printer Tools menettää WebSocketinsa, tarkoittaa vain, että sovellus lakkaa vastaanottamasta reaaliaikaisia päivityksiä, kunnes se yhdistää uudelleen.
Täytyykö minulla olla Mainsail tai Fluidd käynnissä, jotta tämä toimii?
Ei. Printer Tools keskustelee suoraan Moonrakerin kanssa. Mainsail ja Fluidd ovat hyödyllisiä toiminnan vertailuun vianmäärityksen aikana, mutta kumpikaan ei ole pakollinen.
Miksi yhteys toimii Wi-Fillä mutta ei VPN:n kautta?
VPN, joka ei reititä liikennettä kotiverkkosi paikalliselle IP-alueelle, ei tavoita Moonrakeria suoraan. Käytä VPN:ää, joka on määritetty tavoittamaan kyseinen verkko, tai käytä sen sijaan OctoEverywhereä tai Obicoa.
Katso täydellinen Klipper- ja Moonraker-yhteensopivuus
Käy läpi tuetut Moonraker-ominaisuudet, valinnaiset kamera- ja Spoolman-vaatimukset, etäkäyttövaihtoehdot ja nykyiset rajoitukset.


