NEWS
Alle Objects in einem Ordner iterieren [gelöst]
-
Hallo alle,
ich weiß das Doku immer das letzte ist was man tun möchte... Die Doku zu Javascript im iobroker Umfeld ist aber gelinde gesagt dürftig.
Mein Problem ist ich habe folgende Ordnerstruktur:
es gibt in der Ordnerstruktur mehrere Channels die keinen Namen haben und als id nur die mac davon.
var clients = $('unifi.0.default.clients.*'/*Clients*/); clients.each(function(id, i){ console.log(getState(id).val); });
Jetzt würde ich gerne über alle Ordner in clients iterieren und davon in dem Object die States ip und hostname holen.
Das bekomme ich aktuell aber leider nicht hin ich habe alle Dokus die ich über iobroker finden konnte durchgesucht aber komme auf keinen grünen Zweig.Das was ich schon gemacht habe gibt mir alle states aus jedoch will ich doch nur die ip haben und über if abfrage mir das anzeigen finde ich ja auch irgendwie doof.
kann ich dort nicht nach der id filtern also _last_seen_by_uap oder sowas in der art?
Vielleicht raff ich auch nur nicht die Syntax davon aber grundsätzlich dachte ich das ich irgendwo ein Json parsen kann bzw das es elemente sind in einem arrayBitte klärt mich doch auf wie das zu handhaben ist.
Vielen Dank schonmal
-
@SirLance
Versuche es mal so:var clients = $('unifi.0.default.clients.*._last_seen_by_uap'/*Clients*/); clients.each(function(id, i){ var arr = id.split('.'); log('IP-Adresse: ' + arr[4]); console.log(getState(id).val); });
EDIT: IP-Adresse ist arr[4].
-
ja Super perfekt so funktioniert es dann auch Danke!
Ich dachte es gibt auch einen Selector der aus dem request ein DAO bekommt und ich dann über das Json oder Object drüber iterieren kann.Danke für die Hilfe dann werd ich mal schön Strings konkatenieren
-