Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter OctoPrint

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Test Adapter OctoPrint

Geplant Angeheftet Gesperrt Verschoben Tester
adapter entwicklungadatper updatesdevelopertesten
461 Beiträge 49 Kommentatoren 98.0k Aufrufe 44 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • da_WoodyD da_Woody

    @latzi sagte in Test Adapter OctoPrint:

    Ich traue mich fast nicht zu fragen

    bei mir depp musst du sowas fragen! :D
    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.

    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #193

    @da_woody sagte in Test Adapter OctoPrint:

    cura thumbnails gehts nicht

    Ja, weil Slicer Thumbnail im Adapter ist ;)
    War ja mein Wunsch :stuck_out_tongue_closed_eyes:

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    da_WoodyD 1 Antwort Letzte Antwort
    0
    • da_WoodyD da_Woody

      @latzi sagte in Test Adapter OctoPrint:

      Ich traue mich fast nicht zu fragen

      bei mir depp musst du sowas fragen! :D
      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.

      LatziL Online
      LatziL Online
      Latzi
      schrieb am zuletzt editiert von
      #194

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

      da_WoodyD 1 Antwort Letzte Antwort
      1
      • NegaleinN Negalein

        @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.

        joergeliJ Offline
        joergeliJ Offline
        joergeli
        schrieb am zuletzt editiert von
        #195

        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_WoodyD NegaleinN 3 Antworten Letzte Antwort
        3
        • NegaleinN Negalein

          @da_woody sagte in Test Adapter OctoPrint:

          cura thumbnails gehts nicht

          Ja, weil Slicer Thumbnail im Adapter ist ;)
          War ja mein Wunsch :stuck_out_tongue_closed_eyes:

          da_WoodyD Online
          da_WoodyD Online
          da_Woody
          schrieb am zuletzt editiert von
          #196

          @negalein sagte in Test Adapter OctoPrint:

          War ja mein Wunsch

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

          gruß vom Woody
          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

          joergeliJ 1 Antwort Letzte Antwort
          1
          • joergeliJ joergeli

            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_WoodyD Online
            da_WoodyD Online
            da_Woody
            schrieb am zuletzt editiert von
            #197

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

            gruß vom Woody
            HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

            joergeliJ 1 Antwort Letzte Antwort
            0
            • da_WoodyD da_Woody

              @negalein sagte in Test Adapter OctoPrint:

              War ja mein Wunsch

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

              joergeliJ Offline
              joergeliJ Offline
              joergeli
              schrieb am zuletzt editiert von
              #198

              @da_woody sagte in Test Adapter OctoPrint:

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

              eieieiei - und ich Blödel habe im obigen script ein paar mal den Begiff "anycubic" verwendet .....
              Asche auf mein Haupt :stuck_out_tongue_winking_eye:

              1 Antwort Letzte Antwort
              0
              • joergeliJ joergeli

                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

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #199

                @joergeli sagte in Test Adapter OctoPrint:

                Ich habe hier ein JS-Script zusammengeschustert, welches die Octoprint-Zeiten in HH:MM:SS umsetzt,

                Merci!!!

                PS: statt javascript.0 hätt ich es gerne in 0_userdate.0
                Reicht es, wenn ich die createState auf 0_userdata ändere?

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                joergeliJ 2 Antworten Letzte Antwort
                0
                • da_WoodyD da_Woody

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

                  joergeliJ Offline
                  joergeliJ Offline
                  joergeli
                  schrieb am zuletzt editiert von
                  #200

                  @da_woody sagte in Test Adapter OctoPrint:

                  wobei die letzten beiden ja eh vorhanden sind...

                  Ich dachte, die Zeiten würden immer noch nur in Sekunden und nicht in HH:MM:SS ausgegeben?

                  da_WoodyD NegaleinN 2 Antworten Letzte Antwort
                  0
                  • joergeliJ joergeli

                    @da_woody sagte in Test Adapter OctoPrint:

                    wobei die letzten beiden ja eh vorhanden sind...

                    Ich dachte, die Zeiten würden immer noch nur in Sekunden und nicht in HH:MM:SS ausgegeben?

                    da_WoodyD Online
                    da_WoodyD Online
                    da_Woody
                    schrieb am zuletzt editiert von
                    #201

                    @joergeli jo, aber ich hab das im iQontrol umgerechnet... ;)

                    gruß vom Woody
                    HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                    1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

                      @joergeli sagte in Test Adapter OctoPrint:

                      Ich habe hier ein JS-Script zusammengeschustert, welches die Octoprint-Zeiten in HH:MM:SS umsetzt,

                      Merci!!!

                      PS: statt javascript.0 hätt ich es gerne in 0_userdate.0
                      Reicht es, wenn ich die createState auf 0_userdata ändere?

                      joergeliJ Offline
                      joergeliJ Offline
                      joergeli
                      schrieb am zuletzt editiert von
                      #202

                      @negalein sagte in Test Adapter OctoPrint:

                      PS: statt javascript.0 hätt ich es gerne in 0_userdate.0
                      Reicht es, wenn ich die createState auf 0_userdata ändere?

                      Sollte theoretisch funktionieren ... bin mir aber nicht sicher.

                      1 Antwort Letzte Antwort
                      1
                      • joergeliJ joergeli

                        @da_woody sagte in Test Adapter OctoPrint:

                        wobei die letzten beiden ja eh vorhanden sind...

                        Ich dachte, die Zeiten würden immer noch nur in Sekunden und nicht in HH:MM:SS ausgegeben?

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #203

                        @joergeli sagte in Test Adapter OctoPrint:

                        Ich dachte, die Zeiten würden immer noch nur in Sekunden und nicht in HH:MM:SS ausgegeben?

                        Ja, sind noch in Sekunden.
                        Manche Widgets könnens direkt umrechnen.

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        1 Antwort Letzte Antwort
                        0
                        • NegaleinN Negalein

                          @joergeli sagte in Test Adapter OctoPrint:

                          Ich habe hier ein JS-Script zusammengeschustert, welches die Octoprint-Zeiten in HH:MM:SS umsetzt,

                          Merci!!!

                          PS: statt javascript.0 hätt ich es gerne in 0_userdate.0
                          Reicht es, wenn ich die createState auf 0_userdata ändere?

                          joergeliJ Offline
                          joergeliJ Offline
                          joergeli
                          schrieb am zuletzt editiert von
                          #204

                          @negalein
                          Ich habe das Script eben noch mal überflogen:
                          Es reicht leider doch nicht! aus, nur die createState auf 0_userdata zu ändern.
                          Im Script selbst kommt javascript.0 auch noch diverse Male vor.

                          Kannst ja mal mit z.B. Notepad++ probieren, alle auf einen Schlag mit "suchen und ersetzen" umzubiegen

                          da_WoodyD NegaleinN 2 Antworten Letzte Antwort
                          0
                          • LatziL Latzi

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

                            da_WoodyD Online
                            da_WoodyD Online
                            da_Woody
                            schrieb am zuletzt editiert von
                            #205

                            @latzi aaarrg! ich krieg die krise...
                            in der thumbnail_url steht ja die komplette adresse drinnen mit http.
                            in deiner zeile 6 wird nochmal http... + pfad + DP aufgerufen. führt bei mir dazu, daß mein DP

                            http://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146
                            

                            anzeigt... bin ich echt schon so verblödet?
                            db66a989-0289-493a-b5e8-fd144ef2097d-grafik.png

                            gruß vom Woody
                            HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                            NegaleinN LatziL 2 Antworten Letzte Antwort
                            0
                            • joergeliJ joergeli

                              @negalein
                              Ich habe das Script eben noch mal überflogen:
                              Es reicht leider doch nicht! aus, nur die createState auf 0_userdata zu ändern.
                              Im Script selbst kommt javascript.0 auch noch diverse Male vor.

                              Kannst ja mal mit z.B. Notepad++ probieren, alle auf einen Schlag mit "suchen und ersetzen" umzubiegen

                              da_WoodyD Online
                              da_WoodyD Online
                              da_Woody
                              schrieb am zuletzt editiert von
                              #206

                              @joergeli sagte in Test Adapter OctoPrint:

                              Notepad++

                              so hab ich anycubic auf ender3v2 umgeschnitzt... :)

                              gruß vom Woody
                              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                              joergeliJ 1 Antwort Letzte Antwort
                              0
                              • joergeliJ joergeli

                                @negalein
                                Ich habe das Script eben noch mal überflogen:
                                Es reicht leider doch nicht! aus, nur die createState auf 0_userdata zu ändern.
                                Im Script selbst kommt javascript.0 auch noch diverse Male vor.

                                Kannst ja mal mit z.B. Notepad++ probieren, alle auf einen Schlag mit "suchen und ersetzen" umzubiegen

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #207

                                @joergeli sagte in Test Adapter OctoPrint:

                                Im Script selbst kommt javascript.0 auch noch diverse Male vor.

                                habs gesehn und gleich mit dem createstate geändert. :)

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                1 Antwort Letzte Antwort
                                0
                                • da_WoodyD da_Woody

                                  @latzi aaarrg! ich krieg die krise...
                                  in der thumbnail_url steht ja die komplette adresse drinnen mit http.
                                  in deiner zeile 6 wird nochmal http... + pfad + DP aufgerufen. führt bei mir dazu, daß mein DP

                                  http://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146
                                  

                                  anzeigt... bin ich echt schon so verblödet?
                                  db66a989-0289-493a-b5e8-fd144ef2097d-grafik.png

                                  NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #208

                                  @da_woody sagte in Test Adapter OctoPrint:

                                  in deiner zeile 6 wird nochmal http... + pfad + DP aufgerufen. führt bei mir dazu, daß mein DP

                                  stimmt, war glaube ich wegen meinem Issue

                                  So schaut der Pfad in thumbnail_url aus
                                  http://10.0.1.182:80/plugin/prusaslicerthumbnails/thumbnail/Kinder/Gekko_einzeln.png?20220120081343

                                  ° Node.js: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° Fixer ---> iob fix

                                  1 Antwort Letzte Antwort
                                  0
                                  • da_WoodyD da_Woody

                                    @joergeli sagte in Test Adapter OctoPrint:

                                    Notepad++

                                    so hab ich anycubic auf ender3v2 umgeschnitzt... :)

                                    joergeliJ Offline
                                    joergeliJ Offline
                                    joergeli
                                    schrieb am zuletzt editiert von
                                    #209

                                    @da_woody sagte in Test Adapter OctoPrint:

                                    so hab ich anycubic auf ender3v2 umgeschnitzt...

                                    ... du Böser du ......
                                    Nee, im Ernst:
                                    Letztendlich unterscheiden sich m.E. alle günstigen Filament-Brater nicht sonderlich.
                                    OK, der eine ist etwas lauter, der andere läßt sich leichter nivellieren, wieder ein anderer hat 'nen besseren Extruder, oder was weiß ich was sonst noch.
                                    Kann man im Hobby-Bereich doch durchaus mit Leben, oder?

                                    Das einzige was ich erfahren mußte, daß billiges Filament meistens nix taucht:
                                    Da hatte ich schon Rollen, wo der Filament-Durchmesser schwankte, wie ein Boa, die gerade ein Schwein vertilgt hat ;-)

                                    Ich will jetzt hier aber bitte keine! Diskussion lostreten, welches Fabrikat besser/schlechter ist.

                                    da_WoodyD 1 Antwort Letzte Antwort
                                    1
                                    • da_WoodyD da_Woody

                                      @latzi aaarrg! ich krieg die krise...
                                      in der thumbnail_url steht ja die komplette adresse drinnen mit http.
                                      in deiner zeile 6 wird nochmal http... + pfad + DP aufgerufen. führt bei mir dazu, daß mein DP

                                      http://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146
                                      

                                      anzeigt... bin ich echt schon so verblödet?
                                      db66a989-0289-493a-b5e8-fd144ef2097d-grafik.png

                                      LatziL Online
                                      LatziL Online
                                      Latzi
                                      schrieb am zuletzt editiert von
                                      #210

                                      @da_woody sagte in Test Adapter OctoPrint:

                                      http://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146

                                      bei mit steht im thumbnail_url erst ab plugin/prusaslicerthumbnails.... drin, darum hab ich die ip hinzugefügt. Einfach aus dem script

                                      "http://192.168.2.59/" + 
                                      

                                      rauslöschen - dann wird´s nochmal einfacher.
                                      Welche Version des Adapters ist installiert? Ich hab 2.2.0 über latest installiert (nicht git).

                                      da_WoodyD 1 Antwort Letzte Antwort
                                      1
                                      • LatziL Latzi

                                        @da_woody sagte in Test Adapter OctoPrint:

                                        http://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146

                                        bei mit steht im thumbnail_url erst ab plugin/prusaslicerthumbnails.... drin, darum hab ich die ip hinzugefügt. Einfach aus dem script

                                        "http://192.168.2.59/" + 
                                        

                                        rauslöschen - dann wird´s nochmal einfacher.
                                        Welche Version des Adapters ist installiert? Ich hab 2.2.0 über latest installiert (nicht git).

                                        da_WoodyD Online
                                        da_WoodyD Online
                                        da_Woody
                                        schrieb am zuletzt editiert von
                                        #211

                                        @latzi :+1:

                                        http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146
                                        

                                        im moment baschts... :D
                                        ich bin schon auf der 3.0.0

                                        gruß vom Woody
                                        HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                        LatziL 1 Antwort Letzte Antwort
                                        0
                                        • da_WoodyD da_Woody

                                          @latzi :+1:

                                          http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146
                                          

                                          im moment baschts... :D
                                          ich bin schon auf der 3.0.0

                                          LatziL Online
                                          LatziL Online
                                          Latzi
                                          schrieb am zuletzt editiert von
                                          #212

                                          @da_woody
                                          sehr gut!
                                          Da hat Matthias wohl am Inhalt von thumbnail_url in der 3.0.0 nachgebessert ;-)

                                          haus-automatisierungH da_WoodyD 2 Antworten Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          647

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe