NEWS
Systemfehler bei Alias-Neuzuweisung
-
Hallo zusammen,
Ich habe einen möglichen Fehler im System gefunden. Ich habe einen Alias von einem State erstellt, der die Schaltzustände "on" und "off hat (also Strings). Dann musste ich das Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat. Obwohl ich alles richtig in den Blocklys angepasst habe, kommt folgende Warnung:
javascript.0 2025-12-21 11:48:51.279 warn You are assigning a boolean to the state "alias.0.Beleuchtung.Licht Kellerflur" which expects a string. Please fix your code to use a string or change the state type to boolean. This warning might become an error in future versions. javascript.0 2025-12-21 11:48:51.279 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20) javascript.0 2025-12-21 11:48:51.279 warn at Object.<anonymous> (script.js.common.Bewegungsmelder.Kellerflur:21:3) javascript.0 2025-12-21 11:48:51.279 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:events:519:28) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-21 11:48:51.280 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11110:57) javascript.0 2025-12-21 11:48:51.280 warn at processImmediate (node:internal/timers:485:21)Ich habe sogar den Alias noch mal neu angelegt (allerdings mit gleichem Namen) und alle Blocklys die den Alias enthalten noch mal neu gespeichert - die Warnung bleibt.
Mache ich da was falsch oder ist das ein "Fehler im System"?
-
Hallo zusammen,
Ich habe einen möglichen Fehler im System gefunden. Ich habe einen Alias von einem State erstellt, der die Schaltzustände "on" und "off hat (also Strings). Dann musste ich das Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat. Obwohl ich alles richtig in den Blocklys angepasst habe, kommt folgende Warnung:
javascript.0 2025-12-21 11:48:51.279 warn You are assigning a boolean to the state "alias.0.Beleuchtung.Licht Kellerflur" which expects a string. Please fix your code to use a string or change the state type to boolean. This warning might become an error in future versions. javascript.0 2025-12-21 11:48:51.279 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20) javascript.0 2025-12-21 11:48:51.279 warn at Object.<anonymous> (script.js.common.Bewegungsmelder.Kellerflur:21:3) javascript.0 2025-12-21 11:48:51.279 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:events:519:28) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-21 11:48:51.280 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11110:57) javascript.0 2025-12-21 11:48:51.280 warn at processImmediate (node:internal/timers:485:21)Ich habe sogar den Alias noch mal neu angelegt (allerdings mit gleichem Namen) und alle Blocklys die den Alias enthalten noch mal neu gespeichert - die Warnung bleibt.
Mache ich da was falsch oder ist das ein "Fehler im System"?
@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Mache ich da was falsch
du zeigst uns nichts!
wie sehen die Objektdaten des alias-DPs aus?
wie sieht das Script aus, das da reinschreibt?
-
Hallo zusammen,
Ich habe einen möglichen Fehler im System gefunden. Ich habe einen Alias von einem State erstellt, der die Schaltzustände "on" und "off hat (also Strings). Dann musste ich das Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat. Obwohl ich alles richtig in den Blocklys angepasst habe, kommt folgende Warnung:
javascript.0 2025-12-21 11:48:51.279 warn You are assigning a boolean to the state "alias.0.Beleuchtung.Licht Kellerflur" which expects a string. Please fix your code to use a string or change the state type to boolean. This warning might become an error in future versions. javascript.0 2025-12-21 11:48:51.279 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20) javascript.0 2025-12-21 11:48:51.279 warn at Object.<anonymous> (script.js.common.Bewegungsmelder.Kellerflur:21:3) javascript.0 2025-12-21 11:48:51.279 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:events:519:28) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-21 11:48:51.280 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11110:57) javascript.0 2025-12-21 11:48:51.280 warn at processImmediate (node:internal/timers:485:21)Ich habe sogar den Alias noch mal neu angelegt (allerdings mit gleichem Namen) und alle Blocklys die den Alias enthalten noch mal neu gespeichert - die Warnung bleibt.
Mache ich da was falsch oder ist das ein "Fehler im System"?
Dein Alias ist Typ
stringund der verknüpfte Datenpunkteboolean?Dann zeig doch mal die Konvertierungsfunktion von string zu boolean. Ich würde bei
readeinfachval ? 'on' : 'off'nutzen und beiwritedannval == 'on'(falls man den State schreiben kann).Wobei es irgendwelche Standard-Konvertierungen gibt, welche auf "ON" usw. schon reagieren und daraus selbst boolean machen sollten. Aber die habe ich nie auswendig gelernt und mache das immer manuell.
Generell sagt die Meldung aber aus, dass Du den State mit einem boolean-Wert schreibst statt einen String zu nutzen. Daher müsstest Du das Script mal zeigen.
-
Dein Alias ist Typ
stringund der verknüpfte Datenpunkteboolean?Dann zeig doch mal die Konvertierungsfunktion von string zu boolean. Ich würde bei
readeinfachval ? 'on' : 'off'nutzen und beiwritedannval == 'on'(falls man den State schreiben kann).Wobei es irgendwelche Standard-Konvertierungen gibt, welche auf "ON" usw. schon reagieren und daraus selbst boolean machen sollten. Aber die habe ich nie auswendig gelernt und mache das immer manuell.
Generell sagt die Meldung aber aus, dass Du den State mit einem boolean-Wert schreibst statt einen String zu nutzen. Daher müsstest Du das Script mal zeigen.
@haus-automatisierung: bei read einfach val ? 'on' : 'off' nutzen und bei write dann val == 'on'
Umgekehrt, wenn Alias "boolean" ist. Lesen wird aber auch automatisch konvertiert, wenn der Alias vom Typ "boolean" ist. Erforderlich ist die Schreibkonvertierung
val ? 'on' : 'off'@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat.
Da offenbar Blockly einen booleschen Wert schreibt, darf in diesem Fall nicht konvertiert werden.
-
Hallo zusammen,
Ich habe einen möglichen Fehler im System gefunden. Ich habe einen Alias von einem State erstellt, der die Schaltzustände "on" und "off hat (also Strings). Dann musste ich das Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat. Obwohl ich alles richtig in den Blocklys angepasst habe, kommt folgende Warnung:
javascript.0 2025-12-21 11:48:51.279 warn You are assigning a boolean to the state "alias.0.Beleuchtung.Licht Kellerflur" which expects a string. Please fix your code to use a string or change the state type to boolean. This warning might become an error in future versions. javascript.0 2025-12-21 11:48:51.279 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:2661:20) javascript.0 2025-12-21 11:48:51.279 warn at Object.<anonymous> (script.js.common.Bewegungsmelder.Kellerflur:21:3) javascript.0 2025-12-21 11:48:51.279 warn at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:events:519:28) javascript.0 2025-12-21 11:48:51.279 warn at JavaScript.emit (node:domain:489:12) javascript.0 2025-12-21 11:48:51.280 warn at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11110:57) javascript.0 2025-12-21 11:48:51.280 warn at processImmediate (node:internal/timers:485:21)Ich habe sogar den Alias noch mal neu angelegt (allerdings mit gleichem Namen) und alle Blocklys die den Alias enthalten noch mal neu gespeichert - die Warnung bleibt.
Mache ich da was falsch oder ist das ein "Fehler im System"?
@guitardoc sagte: Alias von einem State erstellt, der die Schaltzustände "on" und "off hat (also Strings). Dann musste ich das Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat.
Das bedeutet: Nur die Original-ID ändern und die Konvertierungen löschen!
-
@haus-automatisierung: bei read einfach val ? 'on' : 'off' nutzen und bei write dann val == 'on'
Umgekehrt, wenn Alias "boolean" ist. Lesen wird aber auch automatisch konvertiert, wenn der Alias vom Typ "boolean" ist. Erforderlich ist die Schreibkonvertierung
val ? 'on' : 'off'@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Gerät ersetzen durch eines, welches die Schaltzustände true und false (also Boolean) hat.
Da offenbar Blockly einen booleschen Wert schreibt, darf in diesem Fall nicht konvertiert werden.
@paul53 sagte in Systemfehler bei Alias-Neuzuweisung:
Umgekehrt, wenn Alias "boolean" ist.
Dachte ich auch erst. Oben steht aber:
the state "alias.0.Beleuchtung.Licht Kellerflur" which expects a string. -
@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Mache ich da was falsch
du zeigst uns nichts!
wie sehen die Objektdaten des alias-DPs aus?
wie sieht das Script aus, das da reinschreibt?
@Homoran sagte in Systemfehler bei Alias-Neuzuweisung:
du zeigst uns nichts!
Doch. Noch mal genau lesen was ich geschrieben hab. Dass die Blocklys entsprechend angepasst werden müssen und auch wurden, das hab ich ja geschrieben. Trotzdem wird die Warnung ausgegeben.
Hier aber gern noch weitere Details. Hier das Blockly:

Der Fehler kommt in der letzten Anweisung (ich sehe gerade, dass die Variable Licht Kellerflur unbestimmt sein kann, aber das ist vermutlich nicht der Auslöser).
Hier noch der zugehörige State:

Wird noch etwas benötigt?
-
@Homoran sagte in Systemfehler bei Alias-Neuzuweisung:
du zeigst uns nichts!
Doch. Noch mal genau lesen was ich geschrieben hab. Dass die Blocklys entsprechend angepasst werden müssen und auch wurden, das hab ich ja geschrieben. Trotzdem wird die Warnung ausgegeben.
Hier aber gern noch weitere Details. Hier das Blockly:

Der Fehler kommt in der letzten Anweisung (ich sehe gerade, dass die Variable Licht Kellerflur unbestimmt sein kann, aber das ist vermutlich nicht der Auslöser).
Hier noch der zugehörige State:

Wird noch etwas benötigt?
@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Noch mal genau lesen was ich geschrieben hab.
Ganz oben in Deiner Meldung steht aber, dass der Alias vom Typ
stringist. Und Du schreibst einen Boolean-Wert... -
@Homoran sagte in Systemfehler bei Alias-Neuzuweisung:
du zeigst uns nichts!
Doch. Noch mal genau lesen was ich geschrieben hab. Dass die Blocklys entsprechend angepasst werden müssen und auch wurden, das hab ich ja geschrieben. Trotzdem wird die Warnung ausgegeben.
Hier aber gern noch weitere Details. Hier das Blockly:

Der Fehler kommt in der letzten Anweisung (ich sehe gerade, dass die Variable Licht Kellerflur unbestimmt sein kann, aber das ist vermutlich nicht der Auslöser).
Hier noch der zugehörige State:

Wird noch etwas benötigt?
@guitardoc sagte: Wird noch etwas benötigt?
Ja, die OBJEKTDATEN des Alias-DP "Licht Kellerflur" in code tags.
-
Hier sind sie:
{ "type": "state", "common": { "type": "boolean", "read": true, "write": true, "name": { "en": "Switch", "de": "Schalter", "ru": "Переключить", "pt": "Interruptor", "nl": "Vertaling:", "fr": "Interrupteur", "it": "Interruttore", "es": "Interruptor", "pl": "Switch", "zh-cn": "目 录" }, "role": "switch", "def": false }, "native": {}, "from": "system.adapter.shelly.1", "user": "system.user.admin", "ts": 1766318695752, "_id": "shelly.1.shellyplus1pm#80646fe24120#1.Relay0.Switch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } } -
@guitardoc Für mich sieht alles so aus, als ob Du nur den Datentyp vom Alias-Datenpunkt auch noch auf
booleanändern musst und fertig.@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Hier sind sie:
Nein, das ist ja auch der verknüpfte Datenpunkt und nicht der Alias, ...
-
Hier sind sie:
{ "type": "state", "common": { "type": "boolean", "read": true, "write": true, "name": { "en": "Switch", "de": "Schalter", "ru": "Переключить", "pt": "Interruptor", "nl": "Vertaling:", "fr": "Interrupteur", "it": "Interruttore", "es": "Interruptor", "pl": "Switch", "zh-cn": "目 录" }, "role": "switch", "def": false }, "native": {}, "from": "system.adapter.shelly.1", "user": "system.user.admin", "ts": 1766318695752, "_id": "shelly.1.shellyplus1pm#80646fe24120#1.Relay0.Switch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }@guitardoc sagte: Hier sind sie:
Das ist nicht der Alias!
-
@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Der steht doch aber schon auf boolean?
Den Alias hast Du uns nie gezeigt. Und die Meldung im Ausgangsbeitrag spricht auch dagegen ;)
-
Ahhh, Moment. Hier der Alias (der steht aber auch auf Boolean):
{ "_id": "alias.0.Beleuchtung.Licht Kellerflur", "type": "state", "common": { "name": "Licht Kellerflur", "type": "boolean", "alias": { "id": "shelly.1.shellyplus1pm#80646fe24120#1.Relay0.Switch" }, "role": "switch", "read": true, "write": true }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1766316960126, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } } -
Ahhh, Moment. Hier der Alias (der steht aber auch auf Boolean):
{ "_id": "alias.0.Beleuchtung.Licht Kellerflur", "type": "state", "common": { "name": "Licht Kellerflur", "type": "boolean", "alias": { "id": "shelly.1.shellyplus1pm#80646fe24120#1.Relay0.Switch" }, "role": "switch", "read": true, "write": true }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1766316960126, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }@guitardoc sagte: Hier der Alias
Mit diesem Alias dürfte die Warnung nicht kommen.
-
@Homoran sagte in Systemfehler bei Alias-Neuzuweisung:
du zeigst uns nichts!
Doch. Noch mal genau lesen was ich geschrieben hab. Dass die Blocklys entsprechend angepasst werden müssen und auch wurden, das hab ich ja geschrieben. Trotzdem wird die Warnung ausgegeben.
Hier aber gern noch weitere Details. Hier das Blockly:

Der Fehler kommt in der letzten Anweisung (ich sehe gerade, dass die Variable Licht Kellerflur unbestimmt sein kann, aber das ist vermutlich nicht der Auslöser).
Hier noch der zugehörige State:

Wird noch etwas benötigt?
@guitardoc sagte in Systemfehler bei Alias-Neuzuweisung:
Noch mal genau lesen was ich geschrieben hab
geschrieben ist nicht gezeigt!
-
@paul53 sagte in Systemfehler bei Alias-Neuzuweisung:
@guitardoc sagte: Hier der Alias
Mit diesem Alias dürfte die Warnung nicht kommen.
Das sehe ich auch so. Tut sie aber... Hab zwischenzeitlich auch den ioB noch mal komplett neu gestartet - keine Änderung.
-
@paul53 sagte in Systemfehler bei Alias-Neuzuweisung:
@guitardoc sagte: Hier der Alias
Mit diesem Alias dürfte die Warnung nicht kommen.
Das sehe ich auch so. Tut sie aber... Hab zwischenzeitlich auch den ioB noch mal komplett neu gestartet - keine Änderung.
@guitardoc ist das das einzige Script?
Was steht im log vor der ersten gezeigten Zeile?
