NEWS
Objektbaum parsen
-
Hallo,
ich möchte gern den Objektbaum parsen und bestimmte Werte auslesen.
Also so ungefähr:
- Starte an der Wurzel
- Suche nach einem Ast der mit MQTT startet
- Suche darin nach Elementen "value"
- Gibt den Wert von "value" und den Pfad dahin aus
- Suche weiter nach einem Ast "Smartthings"
- Suche nach Elementen "Tag"
...
Ich kann zwar problemlos auf einzelne Elemente zugreifen, aber wie ich mit JS durch einen Baum wandere habe ich noch nicht gefunden.
-
@warhammer73 sagte: wie ich mit JS durch einen Baum wandere
Das geht nur "rückwärts", beginnend bei einem Datenpunkt, den man mit dem $Selector finden kann.
-
der js-controller besitzt die Funktion getForeignStates (in verschiedenen Ausprägungen, welche aber im javascript-adapter nicht bereitgestellt wurde (könnte man aber, warum auch immer man diese ausgelassen hat, Performance?)
https://github.com/ioBroker/ioBroker.js-controller/blob/851d3cfa4fed442b25db63e3455b29f5081e45b6/packages/adapter/src/lib/adapter/adapter.ts#L9180Wenn du einen eigenen Adapter erstellts, hast du über das Adapter-Objekt Zugriff auf diesen Befehl.
Für deinen Anwendungsfall dürfte wahrscheinlich das folgende der bessere Weg sein.
Du installierst dir den Adapter SimpleAPI und kannst dann über den RequestAlle Objekte
https://github.com/ioBroker/ioBroker.simple-api#objects-1oder nach Suchmuster
https://github.com/ioBroker/ioBroker.simple-api#objectsabrufen und dann bekommst du die Daten als JSON zurück.
Nachtrag: gibt auch noch den Befehl
https://github.com/ioBroker/ioBroker.simple-api#states-1