Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter OctoPrint

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter OctoPrint

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @Ralf_N last edited by

      @ralf_n sagte in Test Adapter OctoPrint:

      Ip Gateway (LAN) ist natürlich das richtige drin !?!?!

      Was erwartest Du jetzt von mir? 🙂 Da ist irgendwas bei der Kommunikation schief gelaufen. Ich würde mal in das OctoPrint-Log schauen (nicht das vom Adapter), ob der Prozess rund läuft.

      Ralf_N S 2 Replies Last reply Reply Quote 0
      • Ralf_N
        Ralf_N @haus-automatisierung last edited by

        @haus-automatisierung
        Matthias ! Ich erwarte Garnichts von dir 😉

        War nur eine Frage in die Runde, wo ich mal sinnvoller weise nachschauen sollte.
        Und ob das überhaupt etwas ( negatives ) mit dem Adapter zu tun hat.

        Das hast Du mir ja nun beantwortet 🙂

        Danke dafür 😉

        da_Woody 1 Reply Last reply Reply Quote 0
        • da_Woody
          da_Woody @Ralf_N last edited by

          @ralf_n google nach 502 Bad Gateway zeigt das an:

          Was bedeutet „502 Bad Gateway“? Der HTTP-Fehlercode „502 Bad Gateway“ zeigt an, dass der Server keine Antwort von der angeforderten URL bekommt, weil das Gateway nicht funktioniert. Dadurch ist kein Datenaustausch möglich und die gewünschte Webseite ist für den Nutzer nicht erreichbar.

          1 Reply Last reply Reply Quote 0
          • S
            stenmic @haus-automatisierung last edited by stenmic

            @haus-automatisierung
            hi, wäre es möglich das thumbnail vom aktuellen Printjob anzuzeigen? (ohne die Variable “Filename“)
            ich möchte dieses dann in VIS einblenden.

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @stenmic last edited by

              @stenmic sagte in Test Adapter OctoPrint:

              hi, wäre es möglich das thumbnail vom aktuellen Printjob anzuzeigen? (ohne die Variable “Filename“)

              Ich bekomme im Printjob keine Angaben über das Thumbnail. Also aktuell geht es nur, wenn Du das aus den Files selbst raussuchst.

              Negalein 1 Reply Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @haus-automatisierung last edited by

                @haus-automatisierung sagte in Test Adapter OctoPrint:

                Ich bekomme im Printjob keine Angaben über das Thumbnail

                Das ist schade, dass das nicht möglich ist.

                Latzi joergeli 2 Replies Last reply Reply Quote 0
                • Latzi
                  Latzi @Negalein last edited by

                  @negalein
                  das lässt sich jedoch leicht mit einem script machen 😉

                  Negalein 1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @Latzi last edited by

                    @latzi sagte in Test Adapter OctoPrint:

                    das lässt sich jedoch leicht mit einem script machen

                    wäre cool
                    erstellst du eins? 😉

                    Latzi 1 Reply Last reply Reply Quote 0
                    • Latzi
                      Latzi @Negalein last edited by Latzi

                      @negalein
                      bitte sehr ... (geht sicher noch eleganter, bin für jede Anregung dankbar)
                      Die Datenpunkte unter javascript.0 händisch anlegen und los geht´s (ip vom octopi auch noch einfügen)!

                      on({id: 'octoprint.0.printjob.file.name', change: "any"}, async function (obj) {
                         var octo_thumb='';
                         var thumb_file=''; 
                         if ((obj.state.val)!== null) {
                             thumb_file=getState("octoprint.0.printjob.file.origin").val +"_" + obj.state.val.replace(".gcode","");
                             if (existsState("octoprint.0.files." + thumb_file + ".thumbnail_url")) {
                                octo_thumb= getState("octoprint.0.files." + thumb_file + ".thumbnail_url").val;
                             };
                         }; 
                         setState("javascript.0.3D-Drucker.dir_thumb", thumb_file, true);
                         setState("javascript.0.3D-Drucker.thumbnail", octo_thumb, true);
                      }); 
                      
                      da_Woody Negalein 2 Replies Last reply Reply Quote 0
                      • Ralf_N
                        Ralf_N last edited by

                        Hallo zusammen.

                        Hat schon jemand negative Erfahrungen mit dem Update in Bezug auf den Adapter gemacht ?

                        https://octoprint.org/blog/2022/01/20/new-release-1.7.3/?utm_source=octoprint&utm_medium=announcements&utm_content=1.7.2

                        Danke.

                        1 Reply Last reply Reply Quote 0
                        • da_Woody
                          da_Woody @Latzi last edited by

                          @latzi erstmal thnx! 👍
                          allerdings bekomm ich immer warn.

                          	warn	javascript.0 (615) at Object.<anonymous> (script.js.common.Diverses.Octothumb:6:45)
                          

                          script angepasst, IMHO richtig...

                          on({id: 'octoprint.0.printjob.file.name', change: "any"}, async function (obj) {
                             var octo_thumb='';
                             var thumb_file=''; 
                             if ((obj.state.val)!== null) {
                                 thumb_file=getState("octoprint.0.printjob.file.origin").val +"_" + obj.state.val.replace(".gcode","");
                                 octo_thumb= "http://192.168.2.59/" + getState("octoprint.0.files." + thumb_file + ".thumbnail_url").val;
                                 } 
                             setState("javascript.0.Octothumb.dir_thumb", thumb_file, true);
                             setState("javascript.0.Octothumb.thumbnail", octo_thumb, true);
                          }); 
                          
                          

                          DPs sind da:
                          e98d5964-7df6-465d-92a1-db1068216388-grafik.png
                          in thumbnail hab ich allerdings:

                          http://192.168.2.59/null
                          

                          verschluckt nach der IP alles...
                          zu bekloppt für JS...

                          Latzi 1 Reply Last reply Reply Quote 0
                          • Latzi
                            Latzi @da_Woody last edited by Latzi

                            @da_woody
                            hast den DP octoprint.0.files.local_Düse.thumbnail_url?
                            Scheint, als ob der nicht existiert oder nichts Vernünftiges darin enthalten ist

                            da_Woody 1 Reply Last reply Reply Quote 0
                            • da_Woody
                              da_Woody @Latzi last edited by

                              @latzi nope, der ist nicht vorhanden...
                              in octo seh ich das thumb aber... generiert wirds also. in cura ja auch aktiviert.
                              92162cc2-d83f-4c4d-b824-e829461739a0-grafik.png a795acc5-309e-4b6d-8147-846225c2abc8-grafik.png

                              Latzi 1 Reply Last reply Reply Quote 0
                              • Latzi
                                Latzi @da_Woody last edited by

                                @da_woody
                                sehr seltsam!
                                Ich traue mich fast nicht zu fragen - im Adapter hast du das Plugin angehakt?

                                @da_woody sagte in Test Adapter OctoPrint:

                                @latzi nope, der ist nicht vorhanden...

                                Das erklärt, warum nach der IP "null" kommt - er findet den Inhalt des nicht vorhanden DP´s nicht.

                                da_Woody 1 Reply Last reply Reply Quote 0
                                • da_Woody
                                  da_Woody @Latzi last edited by

                                  @latzi sagte in Test Adapter OctoPrint:

                                  Ich traue mich fast nicht zu fragen

                                  bei mir depp musst du sowas fragen! 😄
                                  auf die idea wär ich nicht gekommen...
                                  allerdings ist das mit dem plugin auch seltsam. mit dem cura thumbnails gehts nicht. musste slicer thumbnails insten, dann hab ich den DP.

                                  Negalein Latzi 2 Replies Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @da_Woody last edited by

                                    @da_woody sagte in Test Adapter OctoPrint:

                                    cura thumbnails gehts nicht

                                    Ja, weil Slicer Thumbnail im Adapter ist 😉
                                    War ja mein Wunsch 😝

                                    da_Woody 1 Reply Last reply Reply Quote 0
                                    • Latzi
                                      Latzi @da_Woody last edited by

                                      @da_woody
                                      👍
                                      steht auch so in der Adpater-Beschreibung:
                                      bab11a6b-89d6-426e-83dc-83873fb3a1fb-image.png

                                      da_Woody 1 Reply Last reply Reply Quote 1
                                      • joergeli
                                        joergeli @Negalein last edited by

                                        An alle und speziell @Negalein 😉

                                        Ich habe hier ein JS-Script zusammengeschustert, welches die Octoprint-Zeiten in HH:MM:SS umsetzt,
                                        sowie die Gesamtdruckdauer und Fertigstellungszeit erstellt.
                                        (Fertigstellungszeit enthält auch das Datum, weil der Druckjob ja z.B. erst am nächsten Tag fertig werden könnte).

                                        Sieht in meinem VIS z.B. so aus:
                                        octo-zeiten.jpg

                                        Dazu werden unter javascript.0.OctoPi insges. 4 Datenpunkte (EndeZeit, Gesamtzeit, Printzeit, Restzeit) beim ersten Start des Scriptes angelegt, deren Inhalte (Strings) im VIS eingebunden werden können

                                        octo-datenpunkte.jpg

                                        evtl. kann das ja außer @Negalein noch jemand gebrauchen?

                                        //#####################################################################
                                        // Octoprint-Zeitberechnungen
                                        //#####################################################################
                                        
                                        // Variablen aus Octoprint-Adapter uebernehmen
                                        const anycubic_timedone     = 'octoprint.0.printjob.progress.printtime'
                                        const anycubic_timeleft     = 'octoprint.0.printjob.progress.printtime_left'
                                        const anycubic_completion   = 'octoprint.0.printjob.progress.completion'
                                        
                                        // Eigene Datenpunkte unter "javascript.0.OctoPi." erzeugen
                                        createState('javascript.0.OctoPi.Printzeit', {
                                            name: 'Druckdauer',
                                            desc: 'Druckdauer',
                                            type: 'string'
                                        });
                                        
                                        createState('javascript.0.OctoPi.Restzeit', {
                                            name: 'Restzeit',
                                            desc: 'Restzeit',
                                            type: 'string'
                                        });
                                        
                                        createState('javascript.0.OctoPi.Gesamtzeit', {
                                            name: 'Gesamtzeit',
                                            desc: 'Gesamtdauer des Druckjobs',
                                            type: 'string',
                                        });
                                        
                                        createState( 'javascript.0.OctoPi.EndeZeit', {
                                            name: 'EndeZeit',
                                            desc: 'Uhrzeit Fertigstellung des Druckes',
                                            type: 'string'
                                        });
                                        
                                        //____________________________________________________________________________________________________
                                        
                                        // Umrechnung der Druckzeiten von Sekunden in HH:MM:SS
                                        //#####################################################
                                        
                                        function umrechnung() {
                                            var time_left = getState("octoprint.0.printjob.progress.printtime_left").val;
                                            var job_time  = getState('octoprint.0.printjob.progress.printtime').val;
                                            var duration = time_left + job_time;
                                        
                                            // Hours
                                            var hours_restzeit  =  Math.floor( time_left / 3600 );
                                            var hours_printzeit =  Math.floor( job_time  / 3600 );
                                            var hours_duration  =  Math.floor( duration  / 3600 );
                                            
                                            // Fuehrende 0 notwendig ?
                                            if ( hours_restzeit  < 10 ){var std_restzeit = "0" + String(hours_restzeit);}
                                                else var std_restzeit = String(hours_restzeit)
                                            if ( hours_printzeit < 10 ){var std_printzeit= "0" + String(hours_printzeit); }
                                                else var std_printzeit = String(hours_printzeit)
                                            if ( hours_duration < 10 ){var std_duration= "0" + String(hours_duration); }
                                                else var std_duration = String(hours_duration)
                                        
                                            // Minutes
                                            var minutes_restzeit  = Math.floor( (time_left%3600) / 60 );
                                            var minutes_printzeit = Math.floor( (job_time%3600)  / 60 );
                                            var minutes_duration  = Math.floor( (duration%3600)  / 60 );
                                            if ( minutes_restzeit  < 10 ){var min_restzeit = "0" + String(minutes_restzeit);}
                                                else var min_restzeit = String(minutes_restzeit)
                                            if ( minutes_printzeit < 10 ){var min_printzeit= "0" + String(minutes_printzeit); }
                                                else var min_printzeit = String(minutes_printzeit)
                                            if ( minutes_duration < 10 ){var min_duration= "0" + String(minutes_duration); }
                                                else var min_duration = String(minutes_duration)
                                        
                                            // Seconds
                                            var seconds_restzeit  = Math.floor( time_left%60 );
                                            var seconds_printzeit = Math.floor( job_time%60  );
                                            var seconds_duration  = Math.floor( duration%60  );
                                        
                                            if ( seconds_restzeit  < 10 ){var sec_restzeit = "0" + String(seconds_restzeit);}
                                                else var sec_restzeit = String(seconds_restzeit)
                                            if ( seconds_printzeit < 10 ){var sec_printzeit= "0" + String(seconds_printzeit); }
                                                else var sec_printzeit = String(seconds_printzeit)
                                            if ( seconds_duration < 10 ){var sec_duration= "0" + String(seconds_duration); }
                                                else var sec_duration = String(seconds_duration)
                                        
                                            // Zeiten in HH:MM:SS format
                                            var restzeit  = std_restzeit  + ':' + min_restzeit  + ':' + sec_restzeit;
                                            var printzeit = std_printzeit + ':' + min_printzeit + ':' + sec_printzeit;
                                            var dauer     = std_duration + ':' + min_duration + ':' + sec_duration;
                                        
                                        //console.log("Restzeit:" + restzeit + "__" + " Printzeit:" + printzeit + "__"  +" Dauer:" + dauer);
                                        
                                        if(time_left == null || time_left == 0 ){(setState("javascript.0.OctoPi.Restzeit",    "--:--:--", true)) }
                                        else setState("javascript.0.OctoPi.Restzeit", restzeit, true);
                                        
                                        if(time_left == null || time_left == 0 ){(setState("javascript.0.OctoPi.Printzeit",    "--:--:--", true)) }
                                        else setState("javascript.0.OctoPi.Printzeit", printzeit, true);
                                        
                                        if(time_left == null || time_left == 0 ){(setState("javascript.0.OctoPi.Gesamtzeit",    "--:--:--", true)) }
                                        else setState("javascript.0.OctoPi.Gesamtzeit", dauer, true);
                                        
                                        }
                                        
                                        //____________________________________________________________________________________________________
                                        
                                        // Druck-Ende Uhrzeit berechnen //
                                        //#################################
                                        
                                        function endezeit(){
                                        var time_left = getState("octoprint.0.printjob.progress.printtime_left").val;
                                        var sekunden_restzeit  = time_left; // Restzeit in Sekunden aus Octopi
                                        if(time_left == null || time_left == 0 ){ setState("javascript.0.OctoPi.EndeZeit", '---', true) };
                                        
                                        var Zeit = new Date();
                                        //log('jetzt: ' + Zeit);
                                        
                                        var z0_neu = Zeit.getSeconds()+ sekunden_restzeit;
                                        var z_neu = Zeit.setSeconds(z0_neu);
                                        var ZeitNeu = new Date(z_neu);
                                        //console.log('Endezeit: '  + ZeitNeu);
                                        
                                        var h_ende = ZeitNeu.getHours();
                                        var m_ende = ZeitNeu.getMinutes();
                                        var s_ende = ZeitNeu.getSeconds();
                                        var tag_ende = ZeitNeu.getDate();
                                        var months = ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
                                        var monat_ende  = months[ZeitNeu.getMonth()];
                                        
                                        var EndeZeit = tag_ende + '.' + monat_ende + ' ' + h_ende + ':' + m_ende + ':' + s_ende;
                                        //console.log('EndeZeit: '  + EndeZeit);
                                        
                                            // Führende 0 hinzufügen und als String wandeln
                                            if ( tag_ende  < 10 ){var endtag = "0" + String(tag_ende);}
                                                else var endtag = String(tag_ende)
                                            if ( h_ende  < 10 ){var endstunde = "0" + String(h_ende);}
                                                else var endstunde = String(h_ende)
                                            if ( m_ende  < 10 ){var endminute = "0" + String(m_ende);}
                                                else var endminute = String(m_ende)
                                            if ( s_ende  < 10 ){var endsekunde = "0" + String(s_ende);}
                                                else var endsekunde = String(s_ende)
                                        
                                        var EndeZeit = endtag + '. ' + monat_ende + '  ' + endstunde + ':' + endminute + ':' + endsekunde;
                                        //console.log('EndeZeit: '  + EndeZeit);
                                        
                                        if(time_left == null || time_left == 0 ){(setState("javascript.0.OctoPi.EndeZeit",    "--:--:--", true)) }
                                        else setState("javascript.0.OctoPi.EndeZeit", EndeZeit, true);
                                        
                                        }   // end of function EndeZeit()
                                        
                                        //____________________________________________________________________________________________________
                                        
                                        //Druckfortschritt abfragen
                                        on({id: anycubic_timeleft , change: 'lt'}, function() {
                                            umrechnung()
                                            endezeit()
                                        });
                                        
                                        

                                        Gruß
                                        Jörg

                                        da_Woody Negalein 3 Replies Last reply Reply Quote 3
                                        • da_Woody
                                          da_Woody @Negalein last edited by

                                          @negalein sagte in Test Adapter OctoPrint:

                                          War ja mein Wunsch

                                          kloa, nur weil du jetzt mitm prusa werkelst... 😄 cura rulez!

                                          joergeli 1 Reply Last reply Reply Quote 1
                                          • da_Woody
                                            da_Woody @joergeli last edited by

                                            @joergeli oi! kaum eins zum laufen gebracht, kommst du um die ecke! 😄
                                            thnx auch dafür!
                                            wobei die letzten beiden ja eh vorhanden sind...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            787
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter entwicklung adatper updates developer testen
                                            49
                                            461
                                            69260
                                            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