NEWS
Adapter Klipper-Moonraker
-
@Negalein sagte in Adapter Klipper-Moonraker:
mir schmeisst es wärend des Drucks diese Meldung ins Log
at Object.<anonymous> (script.js.3D-Drucker.Restzeit_Klipper:6:5)Sieht für mich so aus als dass es das Objekt, welches du beschreiben willst, nicht gibt.
Schalte mal auf die Javascriptansicht im Blockly und poste daraus Zeile 6.@Diginix sagte in Adapter Klipper-Moonraker:
Sieht für mich so aus als dass es das Objekt, welches du beschreiben willst, nicht gibt.
on({ id: 'klipper-moonraker.0.display_status.progress' /* Progress in Percent */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('klipper-moonraker.0.print_stats.print_duration').val > 0) { setState('0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit' /* Restzeit */, ((obj.state ? obj.state.val : '') < 1 ? Math.round(((1 - (obj.state ? obj.state.val : '')) * getState('klipper-moonraker.0.print_stats.print_duration').val) / (obj.state ? obj.state.val : '')) : 0), true); setState('0_userdata.0.3DDrucker.Snapmaker_U1.Endzeit' /* Endzeit */, formatDate(getDateObject(((new Date().getTime()) + ((obj.state ? obj.state.val : '') < 1 ? Math.round((((1 - (obj.state ? obj.state.val : '')) * getState('klipper-moonraker.0.print_stats.print_duration').val) / (obj.state ? obj.state.val : '')) * 1000) : 0))), 'TT.MM.JJJJ SS:mm'), true); } });
-
@Diginix sagte in Adapter Klipper-Moonraker:
Sieht für mich so aus als dass es das Objekt, welches du beschreiben willst, nicht gibt.
on({ id: 'klipper-moonraker.0.display_status.progress' /* Progress in Percent */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('klipper-moonraker.0.print_stats.print_duration').val > 0) { setState('0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit' /* Restzeit */, ((obj.state ? obj.state.val : '') < 1 ? Math.round(((1 - (obj.state ? obj.state.val : '')) * getState('klipper-moonraker.0.print_stats.print_duration').val) / (obj.state ? obj.state.val : '')) : 0), true); setState('0_userdata.0.3DDrucker.Snapmaker_U1.Endzeit' /* Endzeit */, formatDate(getDateObject(((new Date().getTime()) + ((obj.state ? obj.state.val : '') < 1 ? Math.round((((1 - (obj.state ? obj.state.val : '')) * getState('klipper-moonraker.0.print_stats.print_duration').val) / (obj.state ? obj.state.val : '')) * 1000) : 0))), 'TT.MM.JJJJ SS:mm'), true); } });
Daran stört er sich:
@Negalein sagte in Adapter Klipper-Moonraker:setState('0_userdata.0.3DDrucker.Snapmaker_U1.Endzeit'
Ist die Objekt-ID von Endzeit aus deinem Screenshot
0_userdata.0.3DDrucker.Snapmaker_U1.Endzeit?Falls das eigentlich alles passt. Einfach das Skript mal stoppen und nochmal starten oder im Blocklymodus bei den "Aktualisiere" Blöcken noch mal neu die zwei Objekte per Klick auswählen.
btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
-
Daran stört er sich:
@Negalein sagte in Adapter Klipper-Moonraker:setState('0_userdata.0.3DDrucker.Snapmaker_U1.Endzeit'
Ist die Objekt-ID von Endzeit aus deinem Screenshot
0_userdata.0.3DDrucker.Snapmaker_U1.Endzeit?Falls das eigentlich alles passt. Einfach das Skript mal stoppen und nochmal starten oder im Blocklymodus bei den "Aktualisiere" Blöcken noch mal neu die zwei Objekte per Klick auswählen.
btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
@Diginix sagte in Adapter Klipper-Moonraker:
Falls das eigentlich alles passt. Einfach das Skript mal stoppen und nochmal starten oder im Blocklymodus bei den "Aktualisiere" Blöcken noch mal neu die zwei Objekte per Klick auswählen.
Ja, das passt alles.
Ich machs nochmal neu.btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
Ja, war einer der Ersten.
Hatte Kontakt zu einem Beta-Tester. Deshalb kannte ich das Teil schon. ;)Kopfwechsel ist extrem schnell.
Qualität mit Standardsettings out of the Box ist Hammer. -
@Diginix sagte in Adapter Klipper-Moonraker:
Falls das eigentlich alles passt. Einfach das Skript mal stoppen und nochmal starten oder im Blocklymodus bei den "Aktualisiere" Blöcken noch mal neu die zwei Objekte per Klick auswählen.
Ja, das passt alles.
Ich machs nochmal neu.btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
Ja, war einer der Ersten.
Hatte Kontakt zu einem Beta-Tester. Deshalb kannte ich das Teil schon. ;)Kopfwechsel ist extrem schnell.
Qualität mit Standardsettings out of the Box ist Hammer.@Negalein sagte in Adapter Klipper-Moonraker:
@Diginix sagte in Adapter Klipper-Moonraker:
btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
Ja, war einer der Ersten.
Hatte Kontakt zu einem Beta-Tester. Deshalb kannte ich das Teil schon. ;)Kopfwechsel ist extrem schnell.
Qualität mit Standardsettings out of the Box ist Hammer.Spannend. Ein Kollege wartet noch auf Lieferung. Ich drucke zu wenig bzw. meist einfarbige Funktionsteile für zB Smarthome. Daher reicht mein Elegoo Neptune 4 Pro. Für den ich auch nur 140 EUR gebraucht bezahlt habe. Hätte ich den Snapmaker würde ich automatisch viel mehr drucken weil es Spaß macht, aber man es eigentlich doch nicht bräuchte. ;-)
-
@Negalein sagte in Adapter Klipper-Moonraker:
@Diginix sagte in Adapter Klipper-Moonraker:
btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
Ja, war einer der Ersten.
Hatte Kontakt zu einem Beta-Tester. Deshalb kannte ich das Teil schon. ;)Kopfwechsel ist extrem schnell.
Qualität mit Standardsettings out of the Box ist Hammer.Spannend. Ein Kollege wartet noch auf Lieferung. Ich drucke zu wenig bzw. meist einfarbige Funktionsteile für zB Smarthome. Daher reicht mein Elegoo Neptune 4 Pro. Für den ich auch nur 140 EUR gebraucht bezahlt habe. Hätte ich den Snapmaker würde ich automatisch viel mehr drucken weil es Spaß macht, aber man es eigentlich doch nicht bräuchte. ;-)
@Diginix sagte in Adapter Klipper-Moonraker:
automatisch viel mehr drucken weil es Spaß macht, aber man es eigentlich doch nicht bräuchte. ;-)
das kenn ich ;)
-
@Negalein sagte in Adapter Klipper-Moonraker:
@Diginix sagte in Adapter Klipper-Moonraker:
btw: Hast du den Snapmaker U1 über die Kickstarter Aktion gekauft und wie zufrieden bist du mit dem Kopfwechsel bzw. den Ergebnissen?
Ja, war einer der Ersten.
Hatte Kontakt zu einem Beta-Tester. Deshalb kannte ich das Teil schon. ;)Kopfwechsel ist extrem schnell.
Qualität mit Standardsettings out of the Box ist Hammer.Spannend. Ein Kollege wartet noch auf Lieferung. Ich drucke zu wenig bzw. meist einfarbige Funktionsteile für zB Smarthome. Daher reicht mein Elegoo Neptune 4 Pro. Für den ich auch nur 140 EUR gebraucht bezahlt habe. Hätte ich den Snapmaker würde ich automatisch viel mehr drucken weil es Spaß macht, aber man es eigentlich doch nicht bräuchte. ;-)
-
@stenmic sagte in Adapter Klipper-Moonraker:
so mach ich es
ich verwende dein Thjmbnail-Blockly, aber mir wird nichts in den DP geschrieben.
Thumb-URL =
http://10.0.1.244/server/files/gcodes/.thumbs/Santa%20Cat_PLA-300x300.png?date=1765399759.793023

sagte in Adapter Klipper-Moonraker:
ich verwende dein Thjmbnail-Blockly, aber mir wird nichts in den DP geschrieben.
funktioniert bei wem das Thumbnail Blockly?
Mir wirft es Fehler aus und es wird nichts in den DP geschrieben.
javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at processImmediate (node:internal/timers:483:21) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:events:524:28) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at Object.<anonymous> (script.js.3D-Drucker.Klipper_Thumb:9:85) javascript.0 2025-12-18 10:40:16.456 error script.js.3D-Drucker.Klipper_Thumb: Error: TypeError: Cannot read properties of null (reading 'slice') javascript.0 2025-12-18 10:40:16.451 error script.js.3D-Drucker.Klipper_Thumb: Cannot parse "support-test_PLA_20m25s.gcode": SyntaxError: Unexpected token 's', "support-te"... is not valid JSONThumb-URL =
http://10.0.1.244/server/files/gcodes/.thumbs/Santa%20Cat_PLA-300x300.png?date=1765399759.793023
var text; on({ id: 'klipper-moonraker.0.print_stats.filename' /* Filename of the Print */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; text = getAttr((obj.state ? obj.state.val : ''), 'value'); setState('0_userdata.0.3DDrucker.Snapmaker_U1.print_stats.Name' /* Name */, (text.slice(0, (text.indexOf('.gcode') + 1) - 1)), true); setState('0_userdata.0.3DDrucker.Snapmaker_U1.print_stats.Thumbnail' /* Thumbnail */, (['http://10.0.1.244/server/files/gcodes/.thumbs/',text.slice(0, (text.indexOf('.gcode') + 1) - 1),'.png'].join('')), true); }); -
sagte in Adapter Klipper-Moonraker:
ich verwende dein Thjmbnail-Blockly, aber mir wird nichts in den DP geschrieben.
funktioniert bei wem das Thumbnail Blockly?
Mir wirft es Fehler aus und es wird nichts in den DP geschrieben.
javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at processImmediate (node:internal/timers:483:21) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:events:524:28) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-18 10:40:16.457 error script.js.3D-Drucker.Klipper_Thumb: at Object.<anonymous> (script.js.3D-Drucker.Klipper_Thumb:9:85) javascript.0 2025-12-18 10:40:16.456 error script.js.3D-Drucker.Klipper_Thumb: Error: TypeError: Cannot read properties of null (reading 'slice') javascript.0 2025-12-18 10:40:16.451 error script.js.3D-Drucker.Klipper_Thumb: Cannot parse "support-test_PLA_20m25s.gcode": SyntaxError: Unexpected token 's', "support-te"... is not valid JSONThumb-URL =
http://10.0.1.244/server/files/gcodes/.thumbs/Santa%20Cat_PLA-300x300.png?date=1765399759.793023
var text; on({ id: 'klipper-moonraker.0.print_stats.filename' /* Filename of the Print */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; text = getAttr((obj.state ? obj.state.val : ''), 'value'); setState('0_userdata.0.3DDrucker.Snapmaker_U1.print_stats.Name' /* Name */, (text.slice(0, (text.indexOf('.gcode') + 1) - 1)), true); setState('0_userdata.0.3DDrucker.Snapmaker_U1.print_stats.Thumbnail' /* Thumbnail */, (['http://10.0.1.244/server/files/gcodes/.thumbs/',text.slice(0, (text.indexOf('.gcode') + 1) - 1),'.png'].join('')), true); });sagte in Adapter Klipper-Moonraker:
funktioniert bei wem das Thumbnail Blockly?
Hallo Paul
Du bist ein Blockly Guru :)
Kannst du dir das anschaun, warum es diese Fehler gibt und warum das Blockly nicht funktioniert.
-
@stenmic Problem gefunden :D
Ich hatte ein x-beliebiges File kopiert...
Bei mir werden immer 3 Thumbs erzeugt: 32x32, 100x100 und 320x320.
Ich hab ein 32x32 kopiert ;)UND:
Ich muss an den Filenamen ein-320x320anhängen.
Damit geht es dann.Also vielen Dank nochmal :)
@Merlin123 sagte in Adapter Klipper-Moonraker:
Damit geht es dann.
Hallo
bei mir steht im Link auch http://10.0.1.244/server/files/gcodes/.thumbs/support-test_PETG_1h17m-300x300.pngWie hast du das im Blockly gelöst, dass er an support-test_PETG_1h17m noch das -300x300 anhängt
2025-12-24 22:47:13.222 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: Cannot parse "support-test_PETG_1h17m.gcode": SyntaxError: Unexpected token 's', "support-te"... is not valid JSON 2025-12-24 22:47:13.225 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: Error: TypeError: Cannot read properties of null (reading 'slice') 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at Object. (script.js.3D-Drucker.Klipper_Thumb:9:85) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:events:524:28) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:domain:489:12) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at processImmediate (node:internal/timers:483:21) -
@Merlin123 sagte in Adapter Klipper-Moonraker:
Damit geht es dann.
Hallo
bei mir steht im Link auch http://10.0.1.244/server/files/gcodes/.thumbs/support-test_PETG_1h17m-300x300.pngWie hast du das im Blockly gelöst, dass er an support-test_PETG_1h17m noch das -300x300 anhängt
2025-12-24 22:47:13.222 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: Cannot parse "support-test_PETG_1h17m.gcode": SyntaxError: Unexpected token 's', "support-te"... is not valid JSON 2025-12-24 22:47:13.225 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: Error: TypeError: Cannot read properties of null (reading 'slice') 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at Object. (script.js.3D-Drucker.Klipper_Thumb:9:85) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:events:524:28) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:domain:489:12) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) 2025-12-24 22:47:13.226 - error: javascript.0 (1605858) script.js.3D-Drucker.Klipper_Thumb: at processImmediate (node:internal/timers:483:21) -
@Merlin123 sagte in Adapter Klipper-Moonraker:
so :)
hab ich, aber funktioniert nicht. :(

Name und Thumbnail DB sind String?
-
@Merlin123 sagte in Adapter Klipper-Moonraker:
so :)
hab ich, aber funktioniert nicht. :(

Name und Thumbnail DB sind String?
-
@Negalein
Filename ist string.
Inhalt aktuell{"eventtime":101.473435832,"value":"Stand_0.15mm_PLA_Generic Klipper Printer_26m47s.gcode"}Ich hol das aber über die mqtt Schnittstelle
Das Bild hol ich mir direkt vom Drucker@Merlin123 sagte in Adapter Klipper-Moonraker:
Ich hol das aber über die mqtt Schnittstelle
Das Bild hol ich mir direkt vom Druckerwie machst du das?
Hast du ein kurzes How-To? :) -
@Merlin123 sagte in Adapter Klipper-Moonraker:
Ich hol das aber über die mqtt Schnittstelle
Das Bild hol ich mir direkt vom Druckerwie machst du das?
Hast du ein kurzes How-To? :) -
@Negalein Kurzfassung:
mqtt Server in ioBroker einrichten, dann Moonraker konfigurieren:
Moonraker mqtt@Merlin123 sagte in Adapter Klipper-Moonraker:
Moonraker mqtt
Danke, das hab ich vorher gefunden.
Ich finde nichts, was ich dort eintragen muss, um den Link zum Thumb zu bekommen.
Alles andere bekomm ich vom Klipper-Adapter.
-
@Merlin123 sagte in Adapter Klipper-Moonraker:
Moonraker mqtt
Danke, das hab ich vorher gefunden.
Ich finde nichts, was ich dort eintragen muss, um den Link zum Thumb zu bekommen.
Alles andere bekomm ich vom Klipper-Adapter.
@Negalein Das ist mein Blockly dazu:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="BXYL{xhaLkN~v2Ldl!%!">text</variable> </variables> <block type="on" id="/Z2O}ZB#,a]kn33Dz4F$" x="116" y="2253"> <field name="OID">mqtt.0.printer.V2.660.klipper.state.print_stats.filename</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="y[Oc#E_92,_2BKo4(5~["> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> <value name="VALUE"> <block type="get_attr" id="XXR]WqWt.=HMLUr3gR}@"> <value name="PATH"> <shadow type="text" id="rrx*$IEHd@w{;*~Z+8`n"> <field name="TEXT">value</field> </shadow> </value> <value name="OBJECT"> <shadow type="get_object" id="^cMzi*_aj{`Pl0P725m~"> <field name="OID">Object ID</field> </shadow> <block type="on_source" id="pgo{+7GzQz;]qj)e34}A"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="update" id="bIOV@RC*Q+u,j_l+cDZ,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.3D_Drucker_K1_Filename</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_getSubstring" id=";P~^,bl^VhcaeFBrn4B7"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id=".)~:q(Mh|eeSdPJRu*2!"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="~]oa3qPRWU)spG%YB1]]"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="PqrA)w7#cW-.+R7[s$Ut"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="r51`DlwiN)v*}8k4q}5p"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="sqPwTzw6?t1]F1dwmj|P"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="FIND"> <shadow type="text" id="NN88q$[rF?qy3R1S,=Fk"> <field name="TEXT">.gcode</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Gp.#K1A?Y{{b4u]f,mK_"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="update" id="v~`h#IPc]?2X#3=M{X[a"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.3D_Drucker_K1_Thumbnail</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="=uC)c{XD(`=yL3+qnM$/"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="+hu6Z]DDV49vxZEG3^KI"> <field name="TEXT">http://192.168.0.252:4409/server/files/gcodes/.thumbs/</field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id=".jX}L{b`]tqX[lP+wIR2"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="ZUXf!~C]B[?oTqjrU3mF"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="rArUrH5JD`!U0PI6`=Lt"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="PqrA)w7#cW-.+R7[s$Ut"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="Gji4dA%oP(rS[%9W%X(m"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="i=BXKzmS]z$x=!47DA!B"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="FIND"> <shadow type="text" id="nTgAoKx?A/?1e#g9JTXQ"> <field name="TEXT">.gcode</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="u3_-Ii7/U+4%YQw8Az@I"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="sn3+k)T(}R(KvqNhQ6;v"> <field name="TEXT">-320x320.png</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </xml> -
@Negalein Das ist mein Blockly dazu:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="BXYL{xhaLkN~v2Ldl!%!">text</variable> </variables> <block type="on" id="/Z2O}ZB#,a]kn33Dz4F$" x="116" y="2253"> <field name="OID">mqtt.0.printer.V2.660.klipper.state.print_stats.filename</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="y[Oc#E_92,_2BKo4(5~["> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> <value name="VALUE"> <block type="get_attr" id="XXR]WqWt.=HMLUr3gR}@"> <value name="PATH"> <shadow type="text" id="rrx*$IEHd@w{;*~Z+8`n"> <field name="TEXT">value</field> </shadow> </value> <value name="OBJECT"> <shadow type="get_object" id="^cMzi*_aj{`Pl0P725m~"> <field name="OID">Object ID</field> </shadow> <block type="on_source" id="pgo{+7GzQz;]qj)e34}A"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="update" id="bIOV@RC*Q+u,j_l+cDZ,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.3D_Drucker_K1_Filename</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_getSubstring" id=";P~^,bl^VhcaeFBrn4B7"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id=".)~:q(Mh|eeSdPJRu*2!"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="~]oa3qPRWU)spG%YB1]]"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="PqrA)w7#cW-.+R7[s$Ut"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="r51`DlwiN)v*}8k4q}5p"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="sqPwTzw6?t1]F1dwmj|P"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="FIND"> <shadow type="text" id="NN88q$[rF?qy3R1S,=Fk"> <field name="TEXT">.gcode</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="Gp.#K1A?Y{{b4u]f,mK_"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="update" id="v~`h#IPc]?2X#3=M{X[a"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.3D_Drucker_K1_Thumbnail</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="=uC)c{XD(`=yL3+qnM$/"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="+hu6Z]DDV49vxZEG3^KI"> <field name="TEXT">http://192.168.0.252:4409/server/files/gcodes/.thumbs/</field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id=".jX}L{b`]tqX[lP+wIR2"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="ZUXf!~C]B[?oTqjrU3mF"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="rArUrH5JD`!U0PI6`=Lt"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="PqrA)w7#cW-.+R7[s$Ut"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="Gji4dA%oP(rS[%9W%X(m"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="i=BXKzmS]z$x=!47DA!B"> <field name="VAR" id="BXYL{xhaLkN~v2Ldl!%!">text</field> </block> </value> <value name="FIND"> <shadow type="text" id="nTgAoKx?A/?1e#g9JTXQ"> <field name="TEXT">.gcode</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="u3_-Ii7/U+4%YQw8Az@I"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="sn3+k)T(}R(KvqNhQ6;v"> <field name="TEXT">-320x320.png</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </xml>@Merlin123 sagte in Adapter Klipper-Moonraker:
Das ist mein Blockly dazu:
ist eigentlich ident zu meinem.
komisch, dass es bei mir nicht funktioniert.
-
@Merlin123 sagte in Adapter Klipper-Moonraker:
Das ist mein Blockly dazu:
ist eigentlich ident zu meinem.
komisch, dass es bei mir nicht funktioniert.
-
@Merlin123 sagte in Adapter Klipper-Moonraker:
hmmm... dann hab ich spontan keine idee :(
ich bekomm diese Fehler
javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at processImmediate (node:internal/timers:483:21) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:events:524:28) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.onStateChange (/opt/iobrokr/node_modules/iobroker.javascript/src/main.ts:752:25) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at Object.<anonymous> (script.js.3D-Drucker.Klipper_Thumb:9:81) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: Error: TypeError: Cannot read properties of null (reading 'slice') javascript.0 2025-12-27 14:23:54.081 error script.js.3D-Drucker.Klipper_Thumb: Cannot parse "Emely_2.gcode": SyntaxError: Unexpected token 'E', "Emely_2.gcode" is not valid JSON -
@Merlin123 sagte in Adapter Klipper-Moonraker:
hmmm... dann hab ich spontan keine idee :(
ich bekomm diese Fehler
javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at processImmediate (node:internal/timers:483:21) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.emit (node:events:524:28) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at JavaScript.onStateChange (/opt/iobrokr/node_modules/iobroker.javascript/src/main.ts:752:25) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: at Object.<anonymous> (script.js.3D-Drucker.Klipper_Thumb:9:81) javascript.0 2025-12-27 14:23:54.082 error script.js.3D-Drucker.Klipper_Thumb: Error: TypeError: Cannot read properties of null (reading 'slice') javascript.0 2025-12-27 14:23:54.081 error script.js.3D-Drucker.Klipper_Thumb: Cannot parse "Emely_2.gcode": SyntaxError: Unexpected token 'E', "Emely_2.gcode" is not valid JSON

