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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Octoprint-script für thumbnail des aktuellen Drucks

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

      @sevenup zuwu? dann wäre jetzt beides abgehakt gewesen. wenns beim update entweder intertiert wird?

      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:

        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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            480
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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