Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Octoprint-script für thumbnail des aktuellen Drucks

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Octoprint-script für thumbnail des aktuellen Drucks

    This topic has been deleted. Only users with topic management privileges can see it.
    • Latzi
      Latzi last edited by Latzi

      Um die aktuelle thumbnail-URL herauszufinden, habe ich ein script erstellt.
      Voraussetzungen:

      • Listenpunktoctoprint-Adapter >= 3.0.0

      Einschränkungen:

      • Filename MUSS eindeutig sein und darf NICHT in anderen Verzeichnissen vorkommen!

      Möglicher Test

      Zum Test des scripts muss nicht unbedingt gedruckt werden, es reicht aus den bestehenden DP´s unter octoprint.x.files einen Druck auszuwählen (wo ein thumbnail_url existiert) und den Inhalt des DP name in octoprint.x.printjob.file.name eintragen (z.B.: Mein_Druck.gcode), danach sollte der DP, welcher im script konfiguriert ist mit der thumbnail_url belegt sein, sofern octoprint offline ist (sonst wird der DP unmittelbar durch den Adapter aktualisiert).

      Konfiguration:

      Es gibt 3 Parameter, welche befüllt werden müssen:

      • path_octo: Der "Pfad" zu octoprint (falls mehrere Instanzen)

      • path_DP_thumbnail: Dort wird ein DP Namens thumbnail erstellt und befüllt (Der DP wird erstellt falls er nicht existiert, die Struktur dorthin muss jedoch händisch erstellt werden.

      • debug: Log-Meldungen ein-/ausschalten

      // --- Konfiguration ---
      const path_octo = 'octoprint.0'; // Instanz zu octoprint
      const path_DP_thumbnail = 'javascript.0.3D-Drucker';  // Wo soll der DP liegen - dies muss angelegt sein/werden! Der DP selbst wird automatisch angelegt!
      var debug= true; // Log-Meldungen einschalten mit true, ausschalten mit false 
      
      //  -- nicht ändern ---
      //   Version 1.0.3 2022-02-03
      var sel_thumb = path_octo + '.files.*.thumbnail_url';
      on({id: path_octo + '.printjob.file.name', change: "ne"}, async function (obj) {
        var octo_thumb='';
        var thumb_file='';
        // await wait(10000); 
        var i = 0;
        // var j = 0;
        if (debug) console.log("Printjob-Name wurde auf >>" + obj.state.val + "<< geändert!");
        if ((obj.state.val)!== null) {
            thumb_file=obj.state.val.replace(".gcode","");
            thumb_file=thumb_file.replace("-","_");
            thumb_file=thumb_file.replace("(","");
            thumb_file=thumb_file.replace(")","");
            thumb_file=thumb_file.replace(" ","_");
            if (thumb_file.length > 0) thumb_file=thumb_file + ".thumbnail_url"; 
            $(sel_thumb).each(function(id) {
                if (id.search(thumb_file) > 0) {
                    i++;
                    octo_thumb = getState(id).val;
                    if (debug) console.log("Printjob-Name >>" + thumb_file + "<< gefunden in " + id + " !");
                } else {
                    if (id.search(thumb_file.substring(1,thumb_file.length-1)) > 0) {
                       // j++;
                       // octo_thumb = getState(id).val;
                       // if (debug) console.log("Printjob-Name >>" + thumb_file.substring(1,thumb_file.length-1) + "<< gefunden in " + id + " !");
                    };
                };    
            });
            if (debug) {
                // if (j>i) i=j;
                console.log(i + " File(s) mit Printjob-Namen " + obj.state.val + " gefunden!");
                if (i>1) console.log("ACHTUNG !!! Mehrere Fundstellen, Datenpunkt " + path_DP_thumbnail + ".thumbnail wurde mit letztem Fund befüllt");
            };    
        } else {
            if (debug) console.log("Printjob-Name ist (null)! Keinen File gefunden!!!");
        }; 
        // DP prüfen ob existent, sonst anlegen
        if (!existsState(path_DP_thumbnail + ".thumbnail")) {
            createState(path_DP_thumbnail + ".thumbnail", octo_thumb,  { name: 'thumbnail', desc: 'full path to thumbnail', type: 'string',   role: '',read: true, write: true });
            if (debug) console.log("Datenpunkt "+ path_DP_thumbnail + ".thumbnail wurde angelegt und mit >>"+ octo_thumb + "<< befüllt!");
        } else {
            setState(path_DP_thumbnail + ".thumbnail", octo_thumb, true);
            console.log("Datenpunkt " + path_DP_thumbnail + ".thumbnail wurde mit >>"+ octo_thumb + "<< befüllt!");
        };
        if (debug) console.log("Verarbeitung abgeschlossen!");
      }); 
      

      Viel Spaß damit!

      D Negalein K 4 Replies Last reply Reply Quote 2
      • D
        DarkDevil @Latzi last edited by

        @latzi kannst du mal einen Screenshot von dem Ergebnis posten? Ist es quasi ein Bild vom Druck? Also Layer für Layer?

        Latzi da_Woody 2 Replies Last reply Reply Quote 0
        • Latzi
          Latzi @DarkDevil last edited by

          @darkdevil

          Nein, es ist nur eine Darstellung des zu druckenden Teils, z.B.:
          d1bfcc7a-27c0-4b6a-8452-d5fc265a047d-grafik.png
          Es wird eine URL zu der png-Grafik auf dem OctoPi bereitgestellt

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

            @darkdevil voraussetzung ist natürlich, daß du in deinem slicer das auch erstellen lässt!
            https://plugins.octoprint.org/plugins/prusaslicerthumbnails/

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

              @latzi sagte in Octoprint-script für thumbnail des aktuellen Drucks:

              Viel Spaß damit!

              Danke

              Komm leider erst morgen richtig zum testen.

              Offline funktionierts wie oben beschrieben mit dem kopieren vom Namen als Test.
              Sobald Octoprint online ist funktioniert der Test nicht.

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

                @negalein

                Danke für den Hinweis! Teste ich morgen mal.
                Bleibt der Name im DP printjob.file.name stehen oder wird er gelöscht?

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

                  @latzi sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                  Bleibt der Name im DP printjob.file.name stehen oder wird er gelöscht?

                  es wird durch [null] ersetzt.

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

                    @negalein
                    Das hab ich befürchtet, ich bau morgen eine debug-Option ein, dann sieht man es im log was abgeht. Beim Druck sollte es aber funktionieren - da bleibt der name stehen.

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

                      Script im 1. Beitrag geändert, neu ist:

                      • debug-Option hinzugekommen

                      • ".thumbnail_url" in Filesuche hinzugefügt, daher ist die Eindeutigkeit höher und die Gefahr der Fehlfunde sinkt - nun ist ein File "xyz" im Verzeichnis "xyz" möglich!

                      • Abfrageintervall von "jede" auf "ungleich" geändert

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

                        @latzi sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                        Script im 1. Beitrag geändert, neu ist:

                        Merci

                        Es funktioniert 🙂

                        Wo hast du deine Kaffeekasse?

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

                          @negalein jau, und seit meiner umstellung auf eine vis-view, klapperts bei mir auch in iQontrol...
                          85f7a840-4b7e-4ef3-a5e0-9cd4b604afd8-grafik.png

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

                            @da_woody sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                            und seit meiner umstellung auf eine vis-view, klapperts bei mir auch in iQontrol...

                            Thumbnail in VIS angelegt und dann in iQontrol eingebunden?
                            Musst mir zeigen. 😉

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

                              @negalein wo is das prob? hab grad noch alles offen. komm rüber...

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

                                @negalein
                                das ist ganz lieb gemeint von dir, jedoch als waschechter Mühlviertler trinke ich viel lieber Bier als Kaffee 😉
                                Scherz beiseite, für die paar Zeilen ist das wirklich nicht nötig. Ich würd´s nicht machen, wenn´s nicht aus eigenem Interesse wäre. Hier hab ich schon so viel gelernt und so viele Ratschläge und Hilfe bekommen, da ist es für mich selbstverständlich auch mal ein bisschen was zurückzugeben.
                                Freut mich wenn´s läuft, für Wünsche und Anregungen bin ich jederzeit zu haben.

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

                                  @latzi sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                                  Mühlviertler

                                  dann sannma ja ned weit auseinand! 🙂
                                  Bin ausn Innviertl (SD) 😁

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

                                    @negalein sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                                    Bin ausn Innviertl (SD)

                                    Praktisch Nachbarn (FR) - da ist @da_Woody ja meilenweit weg von dir, ich dachte wegen

                                    @da_woody sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                                    @negalein wo is das prob? hab grad noch alles offen. komm rüber...

                                    du bist auch Burgenlandler 😉

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

                                      @latzi sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                                      du bist auch Burgenlandler

                                      nö, da ists mir zu flach! 😂 😂 😂

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

                                        als Inspiration 😉

                                        in VIS
                                        0557b1e9-1781-49d0-a063-63c02c27e8e5-image.png

                                        in iQontrol (mit Hilfe vom Burgnlandla 😉 )

                                        0bf4d187-b42a-46a2-8af7-f9e231e6303c-image.png

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

                                          @negalein
                                          stimmt, und Bier haben's auch "koa gscheids", dafür erstklassigen Wein!

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

                                            @latzi sagte in Octoprint-script für thumbnail des aktuellen Drucks:

                                            du bist auch Burgenlandler

                                            sowas nehm ma do ned... 🙄
                                            mit komm rüber war Anydesk gemeint... biggrin.gif
                                            machts euch keine sorgen wegen bier...
                                            976e4d7d-682b-48f7-bb8e-9984e555d08d-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            807
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            9
                                            100
                                            5467
                                            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