NEWS
Unter-Objekte ermitteln
-
Hallo zusammen,
ich habe eine Objektstruktur unter alias.0, die verschiedene Geräte mit unterschiedlichen Eigenschaften abbildet.
Unter alias.0.devices gibt es dann für jedes Gerät einen Eintrag, z.B. alias.0.devices.nas3 oder alias.0.devices.pve. Ich möchte nun über ein Skript alle Kind-Elemente von alias.0.devices auslesen, also in obigem Beispiel "nas3" und "pve".
Mit dem Selektor $('alias.0.devices.*').foreach... bekomme ich allerdings nicht nur die devices "nas3" und "pve", sondern deren States.Gibt es eine einfachere Möglichkeit, nur die direkten Kindelemente (devices) in einem Ordner abzufragen, als den kompletten Unterbaum durchzuiterieren und mit String-Operationen nur die interessante Ebene rauszufiltern?
$('devices[id=...]') funktioniert übrigens nicht, scheinbar müssen dafür channels in den devices vorhanden sein - aber das hat bei mir auch nichts gebracht.Meine Idee war jetzt irgendwas wie getObject(id).getChildren() oder so zu verwenden... gibts da was in die Richtung?
-
@antimon sagte: über ein Skript alle Kind-Elemente von alias.0.devices auslesen
const devices = []; $('alias.0.devices.*').each(function(id, i) { let dev = id.split('.')[3]; if(!devices.includes(dev)) devices.push(dev); }); log(devices.join(', '));
-
Okay, das heisst also wirklich, es gibt keine Methode getChildren() o.ä., sondern man muss den ganzen Baum durchrattern...
Danke für deine Antwort und den Codeschnipsel @paul53