NEWS
Test Adapter OctoPrint
-
@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: -
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:

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

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 -
@negalein sagte in Test Adapter OctoPrint:
War ja mein Wunsch
kloa, nur weil du jetzt mitm prusa werkelst... :D cura rulez!
@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: -
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:

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

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@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 diecreateStateauf 0_userdata ändere? -
@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... -
@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?
-
@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 diecreateStateauf 0_userdata ändere? -
@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?
@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. -
@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 diecreateStateauf 0_userdata ändere?@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
-
@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 DPhttp://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146anzeigt... bin ich echt schon so verblödet?

-
@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
-
@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
@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. :)
-
@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 DPhttp://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146anzeigt... bin ich echt schon so verblödet?

@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_urlaus
http://10.0.1.182:80/plugin/prusaslicerthumbnails/thumbnail/Kinder/Gekko_einzeln.png?20220120081343 -
@joergeli sagte in Test Adapter OctoPrint:
Notepad++
so hab ich anycubic auf ender3v2 umgeschnitzt... :)
@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.
-
@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 DPhttp://192.168.2.59/http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146anzeigt... bin ich echt schon so verblödet?

@da_woody sagte in Test Adapter OctoPrint:
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_woody sagte in Test Adapter OctoPrint:
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). -
@latzi :+1:
http://192.168.2.59:80/plugin/prusaslicerthumbnails/thumbnail/Düse.png?20220120133146im moment baschts... :D
ich bin schon auf der 3.0.0 -
@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.
@joergeli sagte in Test Adapter OctoPrint:
Ich will jetzt hier aber bitte keine! Diskussion lostreten, welches Fabrikat besser/schlechter ist.
liegt ja nicht immer am drucker, oft hats auch was mit der firmware...
ich hatte mal einen cr10, den hab ich am 3. tag zerlegt und zurück geschickt. home war bei dem nach lust und laune. nicht zu bändigen. anstatt mir dann einen sapphire pro geholt. da war zwar viel schrauberei, aber der hat von der ersten sekunde an spitzenergebnisse gedruckt.
der ender hat inzwischen einen bl-toutch dran, ledlicht in den stehern und druckt saugut... :) unverwüstlich... vor 3 tagen einen ca. 40 std job erledigt...
filament ist wahrlich ein thema. schau ja viel auf YT, da gibts leute, die drucken das billigste vom billigsten, organisieren da noch codes, loben das zeug hoch und wenn sie dann den druck in die kamera halten, bekomm ich das gruseln. :D
nachdem ich inzwischen auch bei ABS gelandet bin, sieht man da schon unterschiede. der ender druckt das komplett easy ohne einhausung... -
@da_woody
sehr gut!
Da hat Matthias wohl am Inhalt von thumbnail_url in der 3.0.0 nachgebessert ;-)@latzi sagte in Test Adapter OctoPrint:
Da hat Matthias wohl am Inhalt von thumbnail_url in der 3.0.0 nachgebessert
Genau, hatte ich ja schon weiter oben geschrieben dass das passieren wird :) Kann man so wahrscheinlich mehr mit anfangen.
-
@da_woody
sehr gut!
Da hat Matthias wohl am Inhalt von thumbnail_url in der 3.0.0 nachgebessert ;-)@latzi schon wieder vorbei...
nehm ich das raus, kommt nach kurzem17:54:08.039 warn javascript.0 (615) at Object.<anonymous> (script.js.common.Diverses.Octothumb:6:20) 17:54:08.043 warn javascript.0 (615) at Object.<anonymous> (script.js.common.Diverses.Octothumb:9:4)da ist plötzlich eine if zeile zusätzlich?
zwar keine fehler mehr, aber octoprint.0.printjob.file.origin kann nicht ganz passen, da steht local drinnen...
ich häng mal mein script an... hab ja die DP bei mir geändert/ anders benannt...on({id: 'octoprint.0.printjob.file.name', change: "any"}, async function (obj) { var octo_thumb=''; var thumb_file=''; if ((obj.state.val)!== null) { thumb_file=getState("octoprint.0.printjob.file.origin").val +"_" + obj.state.val.replace(".gcode",""); if (existsState("octoprint.0.files." + thumb_file + ".thumbnail_url")) { octo_thumb= getState("octoprint.0.files." + thumb_file + ".thumbnail_url").val; }; } setState("javascript.0.Octothumb.dir_thumb", thumb_file, true); setState("javascript.0.Octothumb.thumbnail", octo_thumb, true); });
