NEWS
Was heisst 'Wrong type of X: "string", wenn das X doch ein "object" ist?
-
Hallo,
Habe mir manuell ein paar Objekt angelegt, die ich mit einem javascript beschreibe.
Dabei erscheint bei mir im Log:
javascript.0 2017-12-26 17:55:13.936 warn at Object. (script.js.common.dwd-highestSeverity2:11:3) javascript.0 2017-12-26 17:55:13.928 warn Wrong type of admin.0.dwd-HighestForecast.object: "string". Please fix, while deprecated and will not work in next versions.
Dabei ist der betreffende Datenpunkt 'admin.0.dwd-HighestForecast.object' aber garkein "string" sondern ein "object". Hier die "raw" Infos davon:
{ "common": { "name": "object", "role": "", "type": "object", "desc": "Manuell erzeugt", "read": true, "write": true }, "native": {}, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "admin.0.dwd-HighestForecast.object", "type": "state" }
Beschreiben tue ich in dieser Art und Weise:
setState("admin.0.dwd-HighestForecast.object"/*object*/, getState("dwd.0.warning.object").val, true);
Wobei der Quell-Datenpunkt eine gleiche definition hat (nämlich aus dem DWD Adapter, wie man sicherlich leicht erraten kann).
Was möchte mir die Meldung also sagen?
Update: Glaube ich habs etwas verstanden:
Mein .val liefert mir vom Quell-Objekt einen JSON-String; den weise ich dann durch das setState dem Ziel-Objekt zu, was zu der Warnung führt.
Wie erstelle ich denn ein Kopie eines Objekte und weise sie zu "the ioBroker way" ?
Gruss