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.
    • Negalein
      Negalein Global Moderator @da_Woody last edited by

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

      dann wäre jetzt beides abgehakt gewesen

      trat bei mir nicht auf!
      Ich sags ja, das war Frau Wau! 😉

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

        @negalein frech.gif
        dafür hab ich gerade was anderes gefindet... noch nicht getestet, aber vllt ist das die lösung, warum nicht nur ich, probleme mit dem thumbnail aufruf direkt in iQontrol hatte und den umweg über vis machen musste...
        5306ee2f-6f40-49c5-bf96-3512bbd65a90-grafik.png
        liest sich stark danach...
        jo, it works! zwar nur mini, aber es kann direkt der DP vom script abgerufen werden!
        rechts der erste test!
        1b6bf298-9e54-47d1-9bd4-0db70faa4e9e-grafik.png

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

          @da_woody zo, weiterer test.
          in cura: 314170cb-df1e-430d-8914-ce1645b63365-grafik.png
          in iQontrol: 03417a89-83a6-425d-b4fc-f77cc3172377-grafik.png
          ergebniss (rechts wieder der test am PC):
          0cc50252-2771-4107-b855-96f402b4bfeb-grafik.png
          allerdings nur in firefox. chrome weigert sich... und wie immer, auf jedem gerät siehts anders aus...

          1 Reply Last reply Reply Quote 0
          • S
            SevenUp last edited by

            Nun funktioniert es bei mir wieder nicht...

            • DP mit Druckjobnamen wird richtig befüllt.
            • DP mit File-Eigenschaften ist auch da und sieht korrekt aus
            • Skript wird ausgelöst, findet aber nichts...

            ????

            Screenshot:


            2022-02-01 22_08_27-objects - iobroker.png

            Log:

            javascript.0 2022-02-01 22:02:44.241	info	script.js.Sonstiges.3D_Drucker__Thumbnail: Verarbeitung abgeschlossen!
            javascript.0 2022-02-01 22:02:44.241	info	script.js.Sonstiges.3D_Drucker__Thumbnail: Datenpunkt 0_userdata.0.3d-drucker.thumbnail wurde mit >><< befüllt!
            javascript.0 2022-02-01 22:02:44.241	info	script.js.Sonstiges.3D_Drucker__Thumbnail: 0 File(s) mit Printjob-Namen CE3_Hex_NoSocket_FullBack_Loose (3).gcode gefunden!
            javascript.0 2022-02-01 22:02:44.236	info	script.js.Sonstiges.3D_Drucker__Thumbnail: Printjob-Name wurde auf >>CE3_Hex_NoSocket_FullBack_Loose (3).gcode<< geändert!
            

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

              @sevenup
              Das liegt vermutlich an dem " "-Zeichen im Filenamen (...Loose (3).gcode), bitte zeig mal den vollständigen Namen von
              9fb16a71-3c69-43a0-a994-eeb9d54f6e26-image.png
              Ich rate dazu, Sonderzeichen wie " ", "(", ")", "+", .. zu vermeiden 😉

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

                @latzi nicht umsonst sind auf thingiverse fast alle .stl mit _ in den namen. selten mit - 😉

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

                  Bei mir funktioniert die Anzeige jetzt auch

                  27cea153-0201-48b4-a888-45b806945d0b-grafik.png

                  8fbf8028-d972-403e-b664-b732732f6b92-grafik.png

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

                    @kuddel bissl in die ecke geklemmt...
                    ich bleib bei der vis-view im iQontrol. dort passt das immer in meine kachel. in vis selber müsst ihr schauen wie ihr das passend reinbringt...

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

                      @da_woody ist nur zum Test.

                      Die finale Postion kommt, wenn die Kamera angeklemmt ist und ich in der VIS ein Livebild habe

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

                        @kuddel axo, du willst das cambild und da drinnen das .png...
                        na tögal, hauptsache es funzt.

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

                          @latzi der komplette Name ist im Log und auch auf dem Screenshot zu sehen 🙂
                          Aber warum soll es nun ein Problem sein? Wenn, dann eher am Skript und nicht am Adapter?
                          Adapter zeigt beide Namen eigentlich gleich an...
                          Und auf Dateinamen zu achten ist nicht wirklich Smart(home)

                          EDIT:
                          so wie ich dein Code verstehe, vergleichst du den Namen des Druckjobs (vor .gcode) mit dem Ordnernamen des DP unter Files (octoprint.0.files.*)?
                          2022-02-02 23_24_14-objects - iobroker.png
                          Und dort wird der Dateiname tatsächlich anders angezeigt (keine Leerzeichen, keine Klammern).

                          Deshalb: wäre es möglich, dass im DP octoprint.0.files.*.name suchst? Dort muss es ja eine 100% Übereinstimmung geben.

                          Latzi 3 Replies Last reply Reply Quote 0
                          • Jabba_the_Hutt
                            Jabba_the_Hutt last edited by

                            Mir stellt sich immer wieder die Frage .... Wieso Cura und Octoprint?

                            Es gibt doch den Prusa- bzw. Superslicer, die einfacher sind und wesentlich genaueren gcode erzeugen. Von den zusätzlichen Möglichkeiten rede ich jetzt einmal garnicht.

                            Octoprint ist für mich ein rotes Tuch als Klipper/Moonraker/Mainsail/KlipperScreen user.

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

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

                              Es gibt doch den Prusa

                              ganz deiner Meinung.
                              Hab mit Cura begonnen und bin jetzt zu 99% beim Prusaslicer gelandet.
                              Werde mir mal den Superslicer anschaun, da es dort den Vasemode gibt.

                              Von den zusätzlichen Möglichkeiten rede ich jetzt einmal garnicht.

                              Welche?

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

                                @negalein
                                OT: Schau dir mal den Superslicer an. Der basiert auf dem Prusaslicer. Dann verstehst Du, was ich meine. Zum Vasenmodus ... den kann Cura auch, nur manche FW streikt dann ... vorallem Marlin oder StockFW.

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

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

                                  Aber warum soll es nun ein Problem sein? Wenn, dann eher am Skript und nicht am Adapter?
                                  Adapter zeigt beide Namen eigentlich gleich an...
                                  Und auf Dateinamen zu achten ist nicht wirklich Smart(home)

                                  Wie du erkennen kannst werden die Sonderzeichen und Umlaute außerhalb des Scripts "übersetzt" und das führt zu Schwierigkeiten. Da meine hellseherischen Fähigkeiten noch ausbaufähig sind, kann ich nur "raten" - und das geht meist schief. Darum die Frage nach dem "Foldernamen". Ich baue die Übersetzung ins Script ein, grundsätzlich sollte jedoch auf Sonderzeichen und ähnliches im Allgemeinen verzichtet werden (und das ist kein Scriptforderung sondern systembedingt)!
                                  Anpassung des Scripts bitte aus 1. Post entnehmen.

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

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

                                    Deshalb: wäre es möglich, dass im DP octoprint.0.files.*.name suchst? Dort muss es ja eine 100% Übereinstimmung geben.

                                    Ich versuch´s bei Zeiten, jedoch ist das eben auch keine 100%-ige Lösung. Einzig der DP thumbnail_url unter octoprint.0.printjob.file wäre eindeutig und "sicher". Wird vom Adapter leider noch nicht bereitgestellt - dann könnte das Script komplett entfallen.

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

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

                                      Mir stellt sich immer wieder die Frage .... Wieso Cura und Octoprint?

                                      nunja, weils für einsteiger halt einfach ist... 😉 cura kann inzwischen auch viel. wenn man sich da mal eingeschossen hat...
                                      vor kurzem mal den prusa angeschaut. gleich mal gar nichts gefunden mit dem ich was anfangen könnte. in cura hab ich meine benutzerdefinierten einstellungen die für mich wichtig sind.
                                      eigentlich versuche ich seit einiger zeit meinen sapphire pro zu klippern, scheitere aber immer wieder an der config. 😞

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

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

                                        Deshalb: wäre es möglich, dass im DP octoprint.0.files.*.name suchst? Dort muss es ja eine 100% Übereinstimmung geben.

                                        Hier die Version, bei der innerhalb octoprint.0.files.* nach dem DP name gesucht wird und der dort liegende DP thumbnail_url ausgelesen wird (falls er existiert und sofern er mit octoprint.0.printjob.file.name übereinstimmt).
                                        Bitte testen.

                                        // --- 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 mit Suche in Namen 1.0.0 2022-02-03
                                        var sel_thumb = path_octo + '.files.*.name';
                                        on({id: path_octo + '.printjob.file.name', change: "ne"}, async function (obj) {
                                          var octo_thumb='';
                                          var i = 0;
                                          var j = '';
                                          if (debug) console.log("Printjob-Name wurde auf >>" + obj.state.val + "<< geändert!");
                                          if ((obj.state.val)!== null) {
                                              $(sel_thumb).each(function(id) {
                                                  j = getState(id).val;
                                                  if (j == obj.state.val) {
                                                       var t_id = id.replace('.name','')+'.thumbnail_url';
                                                       if (!existsState(t_id)) {
                                                          console.log('Thumbnail-DP existiert nicht unter ' + id.replace('.name','') + ' !')
                                                       } else {
                                                          i++;
                                                          octo_thumb = getState(t_id).val; 
                                                          if (debug) console.log("Printjob-Name >>" + obj.state.val + "<< gefunden in " + t_id + " !");
                                                       };
                                                   };    
                                               });
                                              if (debug) {
                                                  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!");
                                        }); 
                                        

                                        1 Reply Last reply Reply Quote 1
                                        • S
                                          SevenUp @Latzi last edited by SevenUp

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

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

                                          Aber warum soll es nun ein Problem sein? Wenn, dann eher am Skript und nicht am Adapter?
                                          Adapter zeigt beide Namen eigentlich gleich an...
                                          Und auf Dateinamen zu achten ist nicht wirklich Smart(home)

                                          Wie du erkennen kannst werden die Sonderzeichen und Umlaute außerhalb des Scripts "übersetzt" und das führt zu Schwierigkeiten. Da meine hellseherischen Fähigkeiten noch ausbaufähig sind, kann ich nur "raten" - und das geht meist schief. Darum die Frage nach dem "Foldernamen". Ich baue die Übersetzung ins Script ein, grundsätzlich sollte jedoch auf Sonderzeichen und ähnliches im Allgemeinen verzichtet werden (und das ist kein Scriptforderung sondern systembedingt)!

                                          Ich verstehe nicht, warum du dich hier angegriffen füllst? Ich habe lediglich (aus meiner Sicht) eine bessere Umsetzung vorgeschlagen, bei der eben nicht auf Sonderzeichen oder ähnliches geachtet werden soll 🙂

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

                                          Hier die Version, bei der innerhalb octoprint.0.files.* nach dem DP name gesucht wird und der dort liegende DP thumbnail_url ausgelesen wird (falls er existiert und sofern er mit octoprint.0.printjob.file.name übereinstimmt).
                                          Bitte testen.

                                          Und das funktioniert nun prächtig. Vielen Dank!

                                          19:44:33.473	info	javascript.0 (11905) script.js.3D_Drucker.Thumbnail_festlegen: Printjob-Name wurde auf >>CE3_Hex_NoSocket_FullBack_Loose (3).gcode<< geändert!
                                          19:44:33.476	info	javascript.0 (11905) script.js.3D_Drucker.Thumbnail_festlegen: Printjob-Name >>CE3_Hex_NoSocket_FullBack_Loose (3).gcode<< gefunden in octoprint.0.files.local_CE3_Hex_NoSocket_FullBack_Loose_3.thumbnail_url !
                                          19:44:33.476	info	javascript.0 (11905) script.js.3D_Drucker.Thumbnail_festlegen: 1 File(s) mit Printjob-Namen CE3_Hex_NoSocket_FullBack_Loose (3).gcode gefunden!
                                          19:44:33.477	info	javascript.0 (11905) script.js.3D_Drucker.Thumbnail_festlegen: Datenpunkt userdata.0.3D-Drucker.thumbnail wurde mit >>http://192.168.1.37:80/plugin/prusaslicerthumbnails/thumbnail/CE3_Hex_NoSocket_FullBack_Loose (3).png?20220201192607<< befüllt!
                                          19:44:33.477	info	javascript.0 (11905) script.js.3D_Drucker.Thumbnail_festlegen: Verarbeitung abgeschlossen!
                                          

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

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

                                            du dich hier angegriffen füllst

                                            denke nicht dass sich @Latzi angegriffen fühlt!
                                            Wir Österreicher sind nicht so pingelig wie manche Nachbarn! 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            804
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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