NEWS
Blockly: has to be type "string" but received type "number"
-
Hallo
Ich hab hier ein Blockly, dass mir diesen Fehler schreibt.
javascript.0 2025-12-17 21:39:39.836 info State value to set for "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit" has to be type "string" but received type "number" javascript.0 2025-12-17 21:39:39.827 warn at processImmediate (node:internal/timers:483:21) javascript.0 2025-12-17 21:39:39.827 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) javascript.0 2025-12-17 21:39:39.827 warn at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-17 21:39:39.826 warn at JavaScript.emit (node:events:524:28) javascript.0 2025-12-17 21:39:39.826 warn at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25) javascript.0 2025-12-17 21:39:39.826 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-17 21:39:39.826 warn at Object.<anonymous> (script.js.3D-Drucker.Restzeit_Klipper:6:5) javascript.0 2025-12-17 21:39:39.826 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20) javascript.0 2025-12-17 21:39:39.825 warn You are assigning a number to the state "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.Dann hab ich den DP von
stringzunumbergeändert.Dann ist dann das gekommen
admin.0 2025-12-17 22:00:41.146 warn Object 0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit is invalid: Default value has to be type "number" but received type "string" This will throw an error up from js-controller version 7.0.0!
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); } });Der originale DP ist
number.

Wie bring ich das weg?
-
Hallo
Ich hab hier ein Blockly, dass mir diesen Fehler schreibt.
javascript.0 2025-12-17 21:39:39.836 info State value to set for "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit" has to be type "string" but received type "number" javascript.0 2025-12-17 21:39:39.827 warn at processImmediate (node:internal/timers:483:21) javascript.0 2025-12-17 21:39:39.827 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53) javascript.0 2025-12-17 21:39:39.827 warn at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-17 21:39:39.826 warn at JavaScript.emit (node:events:524:28) javascript.0 2025-12-17 21:39:39.826 warn at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:752:25) javascript.0 2025-12-17 21:39:39.826 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-17 21:39:39.826 warn at Object.<anonymous> (script.js.3D-Drucker.Restzeit_Klipper:6:5) javascript.0 2025-12-17 21:39:39.826 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20) javascript.0 2025-12-17 21:39:39.825 warn You are assigning a number to the state "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.Dann hab ich den DP von
stringzunumbergeändert.Dann ist dann das gekommen
admin.0 2025-12-17 22:00:41.146 warn Object 0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit is invalid: Default value has to be type "number" but received type "string" This will throw an error up from js-controller version 7.0.0!
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); } });Der originale DP ist
number.

Wie bring ich das weg?
-
Indem du auf dem Pfeil am Ende Zeile in der "Zahl(number)" steht klickst und du dann String auswählst.
@geschild sagte in Blockly: has to be type "string" but received type "number":
Indem du auf dem Pfeil am Ende Zeile in der "Zahl(number)" steht klickst und du dann String auswählst.
hab ihn doch schon von String zu Number (siehe oben)
dann kommt
Object 0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit is invalid: Default value has to be type "number" but received type "string" This will throw an error up from js-controller version 7.0.0!zurück auf String kommt
State value to set for "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit" has to be type "string" but received type "number"@paul53 sagte in Blockly: has to be type "string" but received type "number":
ist ein anderer DP als der gezeigte. Ändere dessen Typ von "string" in "number".
den hab ich geändert.
Da ist dannObject 0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit is invalid: Default value has to be type "number" but received type "string" This will throw an error up from js-controller version 7.0.0!gekommen.
-
@geschild sagte in Blockly: has to be type "string" but received type "number":
Indem du auf dem Pfeil am Ende Zeile in der "Zahl(number)" steht klickst und du dann String auswählst.
hab ihn doch schon von String zu Number (siehe oben)
dann kommt
Object 0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit is invalid: Default value has to be type "number" but received type "string" This will throw an error up from js-controller version 7.0.0!zurück auf String kommt
State value to set for "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit" has to be type "string" but received type "number"@paul53 sagte in Blockly: has to be type "string" but received type "number":
ist ein anderer DP als der gezeigte. Ändere dessen Typ von "string" in "number".
den hab ich geändert.
Da ist dannObject 0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit is invalid: Default value has to be type "number" but received type "string" This will throw an error up from js-controller version 7.0.0!gekommen.
-
@paul53 sagte in Blockly: has to be type "string" but received type "number":
Ändere common.def in eine Zahl (0).
wo find ich das?
-
@paul53 sagte in Blockly: has to be type "string" but received type "number":
Ändere common.def in eine Zahl (0).
wo find ich das?
-
@paul53 sagte in Blockly: has to be type "string" but received type "number":
Unter "OBJEKTDATEN".
so richtig?
{ "common": { "name": "Restzeit", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": "0" }, "type": "state", "native": {}, "_id": "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1766005241144 } -
@paul53 sagte in Blockly: has to be type "string" but received type "number":
Unter "OBJEKTDATEN".
so richtig?
{ "common": { "name": "Restzeit", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": "0" }, "type": "state", "native": {}, "_id": "0_userdata.0.3DDrucker.Snapmaker_U1.Restzeit", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1766005241144 }@Negalein sagte in Blockly: has to be type "string" but received type "number":
"def": "0"
das ist ein String!
Number wäre"def": 0