NEWS
Kann keine eigenen Datenpunkte erstellen
-
@docadams sagte in Kann keine eigenen Datenpunkte erstellen:
Nun muss ich feststellen, dass ich in den früher fehlerhaft erstellten eigenen Unterordnern gar nichts Neues erstellen kann.
Schau Dir Deine generierte Datei an.
Ich vermute mal, die problematischen Pseudo-Ordner sind nicht vom Typ "folder"? -
@docadams sagte in Kann keine eigenen Datenpunkte erstellen:
Nun muss ich feststellen, dass ich in den früher fehlerhaft erstellten eigenen Unterordnern gar nichts Neues erstellen kann.
Das sind wahrscheinlich ja auch keine "Ordner", sondern ebenfalls Objekte vom Typ "state" (Zustand). Der Admin lässt das in den aktuellen Versionen nur nicht mehr zu. Technisch ist das nach wie vor möglich diese so anzulegen.
Objekte "enthalten" technisch keine andere Objekte (wie Ordner), sondern stehen alle für sich. Die Ebenen dazwischen muss es gar nicht geben. Wenn man per Hand eine Struktur anlegt, empfiehlt es sich natürlich immer Objekte vom Typ "Folder" (Verzeichnis) anzulegen und darunter dann Objekte vom Typ State.
-
Stimmt, das sind alles Type "state"
{ "datenpunkte.0.Corona.7T-gestern-Dresden": { "_id": "datenpunkte.0.Corona.7T-gestern-Dresden", "type": "state", "common": { "name": "7T-gestern-Dresden", "role": "", "type": "number", "desc": "Manuell erzeugt", "read": true, "write": true, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "960", "retention": "31536000", "changesRelogInterval": 0, "changesMinDelta": 0, "aliasId": "" } } }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1615469558264, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } }, "datenpunkte.0.Corona.7T-gestern-Leipzig": { "_id": "datenpunkte.0.Corona.7T-gestern-Leipzig", "type": "state", "common": { "name": "7T-gestern-Leipzig", "role": "", "type": "number", ...
Würde es genügen,die Zeichenkette
"type": "state",
durch
"type": "folder",
zu ersetzen?
allerdings taucht hier in Zeile 33 (und dann weiteren) noch"state": 1636
auf. Was mache ich damit?
-
@docadams Kannst ja mal testen was mit dem State passiert wenn das Objekt plötzlich nicht mehr vom Typ State ist (weiß nicht ob da automatisch aufgeräumt wird).
Zu ACL habe ich hier etwas zusammengeschrieben: https://iobroker.readthedocs.io/de/latest/basics/acl.html
Aber ich würde die kompletten Objekte löschen (dann ist auch der State weg) und als Folder neu anlegen. Also nicht per Hand in der Objektdefinktion rumspielen.
-
@haus-automatisierung
Jeps, das wird´s wohl sein.ich habe noch mal den Ordner "Corona", gelöscht,
danach händisch neu erstellt und dann die json-Datei praktisch reinimportiert.Und nun kann ich darin weiter Punkte erstellen usw.
Bin ich froh, Danke. Ich mache das heute Nachmittag für alle Ordner und dann denke ich, dass ich das als geklärt markieren kann
-
@docadams sagte in Kann keine eigenen Datenpunkte erstellen:
kann sogar sein, dass es diesen Haupt-Ordner damals noch nicht automatisch gab, ich weiß es nicht), sondern in einem eigenen Haupt-Ordner "datenpunkte".
geht mir aktuell genau so.
Habe aus der vor-userdata Zeit eigene Strukturen.
Damals gab es nur- device
- channel
- state
- channel
w8bei sogar channels in Channels liegen konnten.
Hab gestern auch lange überlegt ob ich hier einen Thread aufmachen soll, und mich dann doch getrautüber die Objektdaten umzustellen.
Oberste Ebene (Messwerte.0) -> meta
alle Strukturen darunter in folder umbenannt
States bleiben StatesOb das jetzt korrekt ist weiss ich nicht, aber es funktioniert.
Nur einen komplett neuen Namespace (Dummfug.0) habe ich manuell nicht mehr anlegen können.
- device
-
@homoran sagte: Ob das jetzt korrekt ist weiss ich nicht
Ist es.
Korrekt wäre auch z.B. "folder.folder.device.channel.state", um weitere Datenpunkte manuell erstellen zu können.@homoran sagte in Kann keine eigenen Datenpunkte erstellen:
Nur einen komplett neuen Namespace (Dummfug.0) habe ich manuell nicht mehr anlegen können.
Das war wohl der Sinn bei der Einführung von "0_userdata.0".
@homoran sagte in Kann keine eigenen Datenpunkte erstellen:
Oberste Ebene (Messwerte.0) -> meta
War das schon ein Objekt (mit anderem Typ)? Oder hast du dich an Javascript (setObject) ran getraut?
-
Wollte mich nur kurz melden.
Bis jetzt scheint es zu laufen.Da in der alten Version, mit der ich zZ. noch unterwegs bin, leider noch keine Zustandswerte exportiert werden können, ist nochmals Bienchenarbeit notwendig.
Das ist schön, dass dies in der neuen Version möglich ist. -
@paul53 sagte in Kann keine eigenen Datenpunkte erstellen:
Oder hast du dich an Javascript (setObject) ran getraut?
nein!
@paul53 sagte in Kann keine eigenen Datenpunkte erstellen:
War das schon ein Objekt (mit anderem Typ)?
ja: "device"
zur Klarstellung: das bezieht sich nicht auf die alleroberste Ebene "Messwerte", sondern auf ".0" -
Also die Struktur sollte so aussehen:
- device.channel.state
- device[.folder.[folder...].channel[.folder[.folder...].state
- device[.folder[.folder...].state
- folder[.folder...].state
Unterhalb von channel sollte kein device mehr kommen
Folder können beliebig dazwischen sein.
Auch Strukturen die nur folder aufweisen sind voll ok
Falls mal kein State am Ende exstiert ist das auch ok (z.B weil ein Adapter eine Struktur aufbaut aber (noch) kein Gerät verbunden ist dass da was als state ablegen will.Grund für diese Struktur ist dass sich VISsen damit leichter tun zu erkennen um was es geht.
Was NICHT erlaubt ist und unbedingt vermieden werden sollte sind States die Kinder haben. (Sorry für diese Geburtenkontrolle). Diese Situation gibt es zwar in seltenen Fällen (technisch und oder historisch bedingt) sollte aber bei Neuen Adapterns bzw im Userbereich unbedingt vermieden werden. Dies ist jedenfalls als Ausnahme zu sehen. Und dies kann auch in zukünftigen Versionen zu Warnings / Fehlern führen.