Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter Klipper-Moonraker

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Adapter Klipper-Moonraker

    This topic has been deleted. Only users with topic management privileges can see it.
    • 1Topf
      1Topf @Kammi_ last edited by

      @kammi_ sagte in Adapter Klipper-Moonraker:

      @1topf

      was möchtest du den wissen ?

      Wie bekommst Du die Endzeit (... ist der Druck fertig") angezeigt? Gibt es dafür einen Objektstatus? Wenn ja, wie sieht der aus? Oder ist das per Script selbst berechnet?

      K 1 Reply Last reply Reply Quote 0
      • K
        Kammi_ @1Topf last edited by

        @1topf hier bitte schön

        https://forum.iobroker.net/topic/78822/hilfe-blockly-2-uhrzeiten-in-objekt-ausgeben/8

        1 Reply Last reply Reply Quote 1
        • Merlin123
          Merlin123 last edited by

          Kennt jemand ne gute Methode, das Thumbnail des aktuellen Drucks abzurufen bzw. in der VIS anzuzeigen?

          S 1 Reply Last reply Reply Quote 0
          • S
            stenmic @Merlin123 last edited by stenmic

            @merlin123
            so mach ich es

            IMG_0967.jpeg

            IMG_0966.jpeg
            (ip vom Drucker anpassen)

            
            <block xmlns="https://developers.google.com/blockly/xml" type="on" id="/Z2O}ZB#,a]kn33Dz4F$" x="116" y="2253">
             <field name="OID">mqtt.0.Mainsail.klipper.state.print_stats.filename</field>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="variables_set" id="y[Oc#E_92,_2BKo4(5~[">
                 <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field>
                 <value name="VALUE">
                   <block type="get_attr" id="XXR]WqWt.=HMLUr3gR}@">
                     <value name="PATH">
                       <shadow type="text" id="rrx*$IEHd@w{;*~Z+8`n">
                         <field name="TEXT">value</field>
                       </shadow>
                     </value>
                     <value name="OBJECT">
                       <shadow type="get_object" id="^cMzi*_aj{`Pl0P725m~">
                         <field name="OID">Object ID</field>
                       </shadow>
                       <block type="on_source" id="pgo{+7GzQz;]qj)e34}A">
                         <field name="ATTR">state.val</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="update" id="bIOV@RC*Q+u,j_l+cDZ,">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                     <field name="OID">0_userdata.0.Klipper.API.Printjob.Name</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="text_getSubstring" id=";P~^,bl^VhcaeFBrn4B7">
                         <mutation at1="false" at2="true"></mutation>
                         <field name="WHERE1">FIRST</field>
                         <field name="WHERE2">FROM_START</field>
                         <value name="STRING">
                           <block type="variables_get" id=".)~:q(Mh|eeSdPJRu*2!">
                             <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field>
                           </block>
                         </value>
                         <value name="AT2">
                           <block type="math_arithmetic" id="~]oa3qPRWU)spG%YB1]]">
                             <field name="OP">MINUS</field>
                             <value name="A">
                               <shadow type="math_number" id="PqrA)w7#cW-.+R7[s$Ut">
                                 <field name="NUM">1</field>
                               </shadow>
                               <block type="text_indexOf" id="r51`DlwiN)v*}8k4q}5p">
                                 <field name="END">FIRST</field>
                                 <value name="VALUE">
                                   <block type="variables_get" id="sqPwTzw6?t1]F1dwmj|P">
                                     <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field>
                                   </block>
                                 </value>
                                 <value name="FIND">
                                   <shadow type="text" id="NN88q$[rF?qy3R1S,=Fk">
                                     <field name="TEXT">.gcode</field>
                                   </shadow>
                                 </value>
                               </block>
                             </value>
                             <value name="B">
                               <shadow type="math_number" id="Gp.#K1A?Y{{b4u]f,mK_">
                                 <field name="NUM">1</field>
                               </shadow>
                             </value>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="update" id="v~`h#IPc]?2X#3=M{X[a">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.Klipper.API.Printjob.Thumbnail</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="text_join" id="=uC)c{XD(`=yL3+qnM$/">
                             <mutation items="3"></mutation>
                             <value name="ADD0">
                               <block type="text" id="+hu6Z]DDV49vxZEG3^KI">
                                 <field name="TEXT">http://192.168.178.113/server/files/gcodes/.thumbs/</field>
                               </block>
                             </value>
                             <value name="ADD1">
                               <block type="text_getSubstring" id=".jX}L{b`]tqX[lP+wIR2">
                                 <mutation at1="false" at2="true"></mutation>
                                 <field name="WHERE1">FIRST</field>
                                 <field name="WHERE2">FROM_START</field>
                                 <value name="STRING">
                                   <block type="variables_get" id="ZUXf!~C]B[?oTqjrU3mF">
                                     <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field>
                                   </block>
                                 </value>
                                 <value name="AT2">
                                   <block type="math_arithmetic" id="rArUrH5JD`!U0PI6`=Lt">
                                     <field name="OP">MINUS</field>
                                     <value name="A">
                                       <shadow type="math_number" id="PqrA)w7#cW-.+R7[s$Ut">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="text_indexOf" id="Gji4dA%oP(rS[%9W%X(m">
                                         <field name="END">FIRST</field>
                                         <value name="VALUE">
                                           <block type="variables_get" id="i=BXKzmS]z$x=!47DA!B">
                                             <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field>
                                           </block>
                                         </value>
                                         <value name="FIND">
                                           <shadow type="text" id="nTgAoKx?A/?1e#g9JTXQ">
                                             <field name="TEXT">.gcode</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number" id="u3_-Ii7/U+4%YQw8Az@I">
                                         <field name="NUM">1</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="ADD2">
                               <block type="text" id="sn3+k)T(}R(KvqNhQ6;v">
                                 <field name="TEXT">.png</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </statement>
            </block>
            
            

            Merlin123 1 Reply Last reply Reply Quote 0
            • Merlin123
              Merlin123 @stenmic last edited by

              @stenmic Erstmal danke für das Script 🙂
              Die URL baut er richtig zusammen, aber unter der Adresse liefert mein Drucker kein Bild:

              http://192.168.0.252/server/files/gcodes/.thumbs/Plate%201%20-%20Charcoal%20Black_0.15mm_PLA_Generic%20Klipper%20Printer_6h52m.png
              

              Bei mir liegt das Thumbnail unter

              /usr/data/printer_data/gcodes/.thumbs/Plate 1 - Charcoal Black_0.15mm_PLA_Generic Klipper Printer_6h52m-100x100.png
              

              Weißt Du, was ich machen muss, damit der Drucker das via HTML ausliefert?

              K S 2 Replies Last reply Reply Quote 0
              • K
                Kammi_ @Merlin123 last edited by Kammi_

                @merlin123

                öffne deinen drucker im browser bei mir wäre das http://192.168.0.84 rechts klick auf das tumbnail -> Grafik im neuen tab öffnen und du hast deine Adresse wo du brauchst

                http://192.168.0.84/server/files/gcodes/.cache/.thumbs/Calibration%20Cube_PETG_22m3s-272x272.png?date=1735204837
                

                wäre es bei mir also genau das gleiche du musst nur deine ip austauschen

                Merlin123 1 Reply Last reply Reply Quote 0
                • S
                  stenmic @Merlin123 last edited by

                  @merlin123 mach mal bitte zum test einen Druck mit einem einfachen Dateinamen und ohne Lehrzeichen.

                  Merlin123 1 Reply Last reply Reply Quote 0
                  • Merlin123
                    Merlin123 @Kammi_ last edited by

                    @kammi_ Wenn das so einfach wäre 😉
                    Wenn ich in Mailsail oder Fluidd nen Rechtsklick auf das Thumb mache kann ich das Bild nicht anzeigen. Der Seitenquelltext sagt nur "ohne Javescript geht da nix....."

                    1 Reply Last reply Reply Quote 0
                    • Merlin123
                      Merlin123 @stenmic last edited by Merlin123

                      @stenmic sagte in Adapter Klipper-Moonraker:

                      @merlin123 mach mal bitte zum test einen Druck mit einem einfachen Dateinamen und ohne Lehrzeichen.

                      Hab jetzt einen der Thumbs als test.png kopiert.

                      Unter

                      http://192.168.0.252/server/files/gcodes/.thumbs/test.png
                      

                      kommte trotzdem ein

                      Die Website ist nicht erreichbar
                      192.168.0.252 hat die Verbindung abgelehnt.
                      Versuche Folgendes:
                      
                      Verbindung prüfen
                      Proxy und Firewall prüfen
                      ERR_CONNECTION_REFUSED
                      
                      S 1 Reply Last reply Reply Quote 0
                      • S
                        stenmic @Merlin123 last edited by stenmic

                        @merlin123 kommt das bild im browser wenn du den Pfad dort eingibst?

                        Merlin123 1 Reply Last reply Reply Quote 0
                        • Merlin123
                          Merlin123 @stenmic last edited by Merlin123

                          @stenmic @Kammi_

                          Ursache gefunden....
                          Muss den Port mit angeben:

                          http://192.168.0.252:4409/server/files/gcodes/.thumbs/test.png
                          

                          Jetzt nur noch das Anzeigen hinbekommen....

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            stenmic @Merlin123 last edited by stenmic

                            @merlin123 bei mir geht es über das Image Widget
                            2024-12-28 15 09 49.jpg

                            Merlin123 2 Replies Last reply Reply Quote 0
                            • Merlin123
                              Merlin123 @stenmic last edited by

                              @stenmic War mein erster Versuch... Aber.....

                              Rufe ich die URL
                              http://192.168.0.252:4409/server/files/gcodes/.thumbs/test.png
                              mit dem Browser auf kommt ein Download

                              Das gleiche, wenn ich den DP auf diese URL setzt und den als Quelle für nen iFrame nutze....

                              1 Reply Last reply Reply Quote 0
                              • Merlin123
                                Merlin123 @stenmic last edited by

                                @stenmic Darüber ging ein erster Test, danke für den Hinweis! Aber die Auflösung scheint sehr gering zu sein (zumindest bei dem Testbild). Das war ein Temp-Tower, der in Mailsail eigentlich gut aussieht.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  stenmic @Merlin123 last edited by

                                  @merlin123 nuzt du cura?
                                  bei mir haben die pngs eine Top Auflösung

                                  2024-12-28 15 20 43.jpg

                                  Merlin123 1 Reply Last reply Reply Quote 0
                                  • Merlin123
                                    Merlin123 @stenmic last edited by

                                    @stenmic Problem gefunden 😄
                                    Ich hatte ein x-beliebiges File kopiert...
                                    Bei mir werden immer 3 Thumbs erzeugt: 32x32, 100x100 und 320x320.
                                    Ich hab ein 32x32 kopiert 😉

                                    UND:
                                    Ich muss an den Filenamen ein

                                    -320x320
                                    

                                    anhängen.
                                    Damit geht es dann.

                                    Also vielen Dank nochmal 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      Vetinari77 @1Topf last edited by

                                      @1topf
                                      Wenn du den Drucker per Steckdose ein und ausschaltest, dann kannst du auch einfach die Instanz per script ein und ausschalten. Dann meckert das script auch nicht, das es keine Verbindung hat....

                                      1 Reply Last reply Reply Quote 0
                                      • Diginix
                                        Diginix @1Topf last edited by Diginix

                                        @1topf sagte in Adapter Klipper-Moonraker:

                                        Was momentan wirklich stört ist, daß der Adapter den Fehlerspeicher von ioB füllt, sobald die Verbindung zum Drucker weg ist. Und auch, daß der Adapter mit jedem neuen Druck einen Neustart benötigt.

                                        Sonst hab ich nix zu meckern. 😀

                                        Das mit dem Log kann ich bestätigen. Ich starte die Instanz sobald die Drucker IP pingbar ist bzw. der Drucker die MQTT Verbindung hergestellt hat (mqtt habe ich in Klipper ebenfalls aktiviert). Und sobald klipper-moonraker.0.info.connection false ist, wird die Instanz gestoppt. So bekomme ich im Log keinerlei Fehler. Wenn er einmal läuft und ich mache mehrere Drucke nacheinander, muss ich die Instanz allerdings nicht neu starten.

                                        1Topf 1 Reply Last reply Reply Quote 0
                                        • 1Topf
                                          1Topf @Diginix last edited by

                                          @diginix

                                          Ich habe es anders gelöst. In der main.js /opt/iobroker/node_modules/iobroker.klipper-moonraker/main.js hab ich die Zeit für den reconnect von 10 auf 7200 Sekunden gesetzt. In Notepad++ ist das bei mir die Zeile 335.

                                          		// Handle closure of socket connection, try to connect again in 10seconds (if adapter enabled)
                                          		ws.on('close', () => {
                                          			console.log(`Connection closed`);
                                          			this.log.info(`Connection closed`);
                                          			this.setState('info.connection', false, true);
                                          			connectionState = false;
                                          
                                          			// Try to reconnect if connections is closed after 10 seconds
                                          			if (reconnectTimer) {
                                          				clearTimeout(reconnectTimer);
                                          				reconnectTimer = null;
                                          			}
                                          			reconnectTimer = setTimeout(() => {
                                          				console.log(`Trying to reconnect`);
                                          				this.log.info(`Trying to reconnect`);
                                          				if (this.config.auth) {
                                          					try {
                                          						this.getOneShotToken();
                                          					} catch (e) {
                                          						this.log.error(e.message);
                                          					}
                                          				}
                                          				this.handleWebSocket();
                                          			}, (7200_000));
                                          		});
                                          
                                          mcm1957 1 Reply Last reply Reply Quote 0
                                          • mcm1957
                                            mcm1957 @1Topf last edited by

                                            Wenn ich nicht übersehen habe ist der Adapter klipper-moonraker nicht in den Repositories verfügbar. Eine INstallation ist daher nur via GitHub möglich. Der Status des Adapters muss daher als im ALPHA Test definiert werden.

                                            Da dieses Topic nicht im Testerbereich liegt eine WARNING an alle User die sich nicht als ALPHA Tester bezeichnen:

                                            Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.

                                            GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird.

                                            Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen.

                                            Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.

                                            Und falls es irgendwie unklar ist:

                                            ioBroker unterstützt folgende Arten von Installation:

                                            • aus dem STABLE Repository

                                              Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Natürlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern.

                                            • aus dem LATEST Repository

                                              Das sind Adapter Releases die neu erstellt wurden und nur rudimentär getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind primär für unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases können durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten außer man braucht irgenein neues Feature (z.B. neues Gerät) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist.

                                            • direkt von GITHUB

                                              Von Installationen direkt aus Giuthub wird definitiv abgeraten außer auf Anweisung des Maintainers und für den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben.

                                            • direkt von npm

                                              Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren möchte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist.

                                            Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudimentären Review unterzogen und sollten mit dem Attribut "vollständig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits für solche Adapter ist mit Sicherheit minimalistisch.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            514
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter update klipper moonraker
                                            21
                                            117
                                            10012
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo