NEWS
[gelöst] Ordner in Userdata per Javascript anlegen?
-
Hallo
Trotz ausgedehnter Suche, ev. habe ich auch einfach falsch gesucht, verstehe ich nicht wie per Javascript ein neuer Ordner in der userdata Struktur angelegt werden kann.
Aktuell habe ich den Ordner 0_userdata.0.areas in der Userdata Struktur. Innerhalb dieses Folders möchte ich per Script, sofern sie noch nicht existieren, einige zusätzliche Ordner und innerhalb der Ordner eine Reihen von Datenpunkten anlegen. Das Prüfen ob die Datenpunkte bereits existieren und falls nätig das Anlegen von Datenpunkten funktioniert mit existsState und createState bestens, aber das Anlegen von Ordnern kriege ich leider nicht hin.
Wäre für einen schlauen Hinweis oder ein Beispiel dankbar.
Danke
Tom
-
@swisslizard
Ordner, die kein Objekt sein müssen, erzeugt man mittels Punkt in der ID. Beispiel:createState('0_userdata.0.areas.ordner1.datenpunkt1', common);
Sollen die Ordner Objekte sein, müssen sie per setObject(id, obj) erzeugt werden. Beispiel:
setObject('0_userdata.0.areas.ordner1', {type: 'channel', common: {name: 'Ordner 1'}, native: {}})
-
@paul53
Danke für den Hinweis. Werde ich möglichst bald ausprobieren.Kleine Verständnisfrage:
Was ist der Unterschied zwischen "Ordner, die kein Objekt sein müssen" und Ordner die Objecte sind?
In dieser Hinsicht ist meine ioBrokerwissen offensichtlich mangelhaft. -
@swisslizard sagte: Was ist der Unterschied zwischen "Ordner, die kein Objekt sein müssen" und Ordner die Objecte sind?
Die Ordnerstruktur z.B. im Tab "Objekte" oder bei "SelectID" (Blockly) wird durch Punkte in der ID erzeugt. Ordner können dabei auch Objekte vom Typ "folder", "device", "channel" und spezielle weitere sein.
Anmerkung: Will man im Trigger z.B. "deviceName" oder "channelName" abfragen, erhält man das erwartete Ergebnis nur bei Einhaltung der ID-Struktur "device.channel.state".