NEWS
[gelöst] Javascript warnt das Objekt falsche rolle hat
-
Hardwaresystem: Pi4 Arbeitsspeicher: 4GB Festplattenart: SD-Karte Node-Version: 16.18.1 Nodejs-Version: 16.18.1 NPM-Version: 8.19.2 Admin-Version: 6.2.23 Javascript-Version: 6.0.3 Guten Tag, aktuell werden mir Warn-Meldungen rausgegeben. Bei dem Benutzerdefinierten-Objekt Wenn ich es als Zeichenkette definiere jammert Javascript und wenn ich es wie Javascript sagt als Zahl definiere, jammert Admin.... Weiß jemand ne lösung? Es wird nur eine Zahl von einem anderen Objekt "kopiert".
2022-12-07 06:40:16.608 - warn: javascript.0 (2169) You are assigning a number to the state "0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere" 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.
2022-12-07 06:40:16.610 - warn: javascript.0 (2169) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1689:20)
2022-12-07 06:40:16.611 - warn: javascript.0 (2169) at Object. (script.js.Smart_Home.Shelly:56:5)
2022-12-07 06:40:16.611 - warn: javascript.0 (2169) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1214:38)
2022-12-07 06:40:16.611 - warn: javascript.0 (2169) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:596:29)
2022-12-07 06:40:16.612 - warn: javascript.0 (2169) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
2022-12-07 06:40:16.613 - warn: javascript.0 (2169) at processImmediate (node:internal/timers:466:21)2022-12-07 06:41:43.091 - warn: admin.0 (2081) Object 0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere is invalid: Default value has to be type "number" but received type "string"
2022-12-07 06:41:43.092 - warn: admin.0 (2081) This object will not be created in future versions. Please report this to the developer. -
@jndmnk Du hast ein Script am laufen das einen Datenpunkt Wäschetrocker irgendwas befüllt. Das Script will dort einen String schreiben also z. B. „Baum“ oder eben auch „42“. Das Object wurde aber angelegt als Zahl. Also nicht „42“ sondern 42. Berichtige das Script und alles ist gut…
Wenn Du das Object aus einen anderen holst überprüfe wie es geholt wird und wandel es am Besten im Script in eine Zahl um…
-
Ich wüsste grad nicht wie. Vll übersehe ich es auch grad nur.
Wenn ich das Userobject auf genau den selben wert einstelle wie das was dort reingeschrieben wird.admin.0 - 2022-12-07 08:35:38.131 warn This object will not be created in future versions. Please report this to the developer.
admin.0 - 2022-12-07 08:35:38.131 warn Object 0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere is invalid: Default value has to be type "number" but received type "string" -
@jndmnk und wenn Du die "aktualisiere" Bausteine durch "steuere" Bausteine ersetzt?
-
@jndmnk die Frage ist halt als was der Wert ausgelesen wird. Kenne mich mit Blockly nicht aus, da es mir zu kompliziert ist. Bei Javascript kann man sich den typ des ausgelesen Objects ausgeben lassen. Das sollte doch auch bei Blockly gehen. Ich vermute es kommt String raus. Hatte ich bei einen Objekt kürzlich auch.
Ich denke in Bklockly gibt es dann auch die Möglichkeit Werte umzuwandeln…
-
@cash also wenn ich Zahl einstelle kommt einmalig dieser fehler:
admin.0 - 2022-12-07 08:57:01.159 warn This object will not be created in future versions. Please report this to the developer.
admin.0 - 2022-12-07 08:57:01.159 warn Object 0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere is invalid: Default value has to be type "number" but received type "string"aber beim aktualisieren des Objektes durch das Script wird kein Fehler im Protokoll ausgegeben.
wenn ich es auf Zeichenkette stelle jammert er jedes mal beim aktualisieren aber der Admin schmeißt keinen Fehler -
@jndmnk
Zeig bitte mal die Objektdaten der beiden DP -
{ "common": { "name": "Verbrauch Waschtrockner_MAX_Ampere", "desc": "Manuell erzeugt", "role": "state", "unit": "A", "type": "number", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "_id": "0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1670399821158 }
und
{ "type": "state", "common": { "name": "Current", "type": "number", "role": "value.current", "read": true, "write": false, "def": 0, "unit": "A" }, "native": {}, "from": "system.adapter.shelly.0", "user": "system.user.admin", "ts": 1670343260883, "_id": "shelly.0.shellyplus1pm#a8032abb9504#1.Relay0.Current", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@jndmnk sagte in Javascript warnt das Objekt falsche rolle hat:
"common": { "name": "Verbrauch Waschtrockner_MAX_Ampere", "desc": "Manuell erzeugt", "role": "state", "unit": "A", "type": "number", "read": true, "write": true, "def": "" },
Hier liegt der Hase im Pfeffer. Der Default-Wert steht auf
""
. Das passt natürlich nicht zum Typen.
Ändere das mal in0
.
Nichts Anderes sagt übrigens die Fehlermeldung:... Object ...Waschtrockner_MAX_Ampere is invalid: Default value has to be type "number"
-
@codierknecht Habe es auf 0 geändert und beim Speichern kom wieder die Meldung:
admin.0 - 2022-12-07 09:57:29.161 warn This object will not be created in future versions. Please report this to the developer.
admin.0 - 2022-12-07 09:57:29.160 warn Object 0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere is invalid: Default value has to be type "number" but received type "string"{ "common": { "name": "Verbrauch Waschtrockner_MAX_Ampere", "desc": "Manuell erzeugt", "role": "state", "unit": "A", "type": "number", "read": true, "write": true, "def": "0" }, "type": "state", "native": {}, "_id": "0_userdata.0.Verbrauch.Verbrauch_Waschtrockner_MAX_Ampere", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1670403449159 }
-
-
@paul53 ah ok jetzt kam keine meldung mehr, danke
-
@jndmnk
Bitte in Zukunft keine Screenshots von Text. und die Textausgaben in code-tags posten!https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
BTW es geht um Typ, nicht um Rolle.