NEWS
(Gelöst) Problem bei createState type "folder"
-
Hallo,
beim erstellen eines Ordners unter 0_userdate.0 mit folgenden JavaSkript bekomme ich Fehlermeldungen:
let i = 2021; let PRE_DP = '0_userdata.0.vis.Wetter.Statistik.' + i.toString(); createState(PRE_DP, '', { name: 'Daten für ' + i.toString() , type: "folder" });
Das ist nur ein Ausschnitt.
Der Ordner wird angelegt und es erscheint unter Protokolle folgende Meldung:
You are assigning a string to the state "0_userdata.0.vis.Wetter.Statistik.2021" which expects a folder. Please fix your code to use a folder or change the state type to string. This warning might become an error in future versions.
Was ist bei createState falsch?
MfG
Wastl -
@langer sagte: Was ist bei createState falsch?
Es gibt keine Datenpunkte vom Typ "folder". createState() kann nur Datenpunkte erstellen - wie der Name schon sagt. Objekte vom Typ "folder" können nur mit setObject(id, obj) erstellt werden.
let i = 2021; let PRE_DP = '0_userdata.0.vis.Wetter.Statistik.' + i; setObject(PRE_DP, { type: 'folder', common: {name: 'Daten für ' + i}, native: {} });
-
@paul53 sagte in Problem bei createState type "folder":
@langer sagte: Was ist bei createState falsch?
Es gibt keine Datenpunkte vom Typ "folder". createState() kann nur Datenpunkte erstellen - wie der Name schon sagt. Objekte vom Typ "folder" können nur mit setObject(id, obj) erstellt werden.
Kleiner ergänzender Hinweis: Wenn der Pfad, in dem der Datenpunkt sich befinden soll, nicht existiert, wird der bei createState komplett angelegt.
-
nicht ganz, aber für einen Anwender sieht es so aus.
Es wird nix extra angelegtWenn man einen Datenpunkt mit dem Namen
0_userdata.0.a.b.canlegt, dann ist das was im objektreiter in iobroker angezeigt wird nur visueller natur.
es gibt dennoch im speicher nur ein einziges element vom typ "state".daher lässt sich der datenpunkt von oben nicht von folgendem konstrukt unterscheiden
0_userdata.0.a.b als objekt folder
0_userdata.0.a.b.c als datenpunktbeides wird identisch angezeigt, ausser, das bei 0_userdata.0.a.b in spalte typ noch folder steht und dies ein wirklich existierendes objekt ist.
Erkennbar ist das in der Spalte Typ. Wenn dort was drin steht, dann existiert das Element genau auf dieser Ebene. Alle Angaben darüber ohne eine Angabe in Spalte Typ ist nur visuell.
-