NEWS
State von Type Array
-
Ich habe einen State von Type 'Array' erstellt und versuche den zu setzten.
setState("javascript.0.Alexa.Test", ["1", "2", "3"]);
Im log kommt folgende Warnung:
Wrong type of javascript.0.Alexa.Test: "object". Please fix, while deprecated and will not work in next versions.
State definition:
{ "from": "system.adapter.admin.0", "ts": 1543270856111, "common": { "name": "Alexa.Test", "role": "", "type": "array", "read": true, "write": true }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "javascript.0.Alexa.Test", "type": "state" }
Kann mir jemand sagen, was ich falsch mache?
-
Müsste man tiefer schauen. Versuch mal einfach das ganze als String mit "JSON.stringify(…)" zu schreiben und beim lesen mit "JSON.parse".
ALternativ ein Issue beim Javascript adapter öffnen weil dort kein Handling für State-type "array" drin ist und daher kommt diese meldung fälschlicherweise
-
Das Problem mit common.type: 'array' und dass man so keine Objekte / Arrays in Datenpunkte schreiben kann, wird erst in der nächsten Version des Javascript-Adapters gefixt sein. Vorerst kann man sich nur so behelfen, dass man common.type: 'object' verwendet und die folgende Form von setState():
setState("javascript.0.Alexa.Test", {val: ["1", "2", "3"]});
oder
setState("javascript.0.Alexa.Test", {val: ["1", "2", "3"], ack: true});
-
Issue beim Javascript adapter öffnen weil dort kein Handling für State-type "array" drin ist `
Nicht mehr nötig: Siehe Commits von @AlCalzone vom 8.8.2018. -
Dann könnte man Javascript mal vom Github versuchen … ist die 4.0 ... einiges neu, kompletter Editor. Kommt offiziell bald zum testen
-
einiges neu `
Das ist stark untertrieben ! Die gesamte Struktur ist neu. -
Danke an alle!