Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Alle Objects in einem Ordner iterieren [gelöst]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alle Objects in einem Ordner iterieren [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SirLance last edited by SirLance

      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:

      channel.png

      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 array

      Bitte klärt mich doch auf wie das zu handhaben ist.

      Vielen Dank schonmal

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @SirLance last edited by paul53

        @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].

        1 Reply Last reply Reply Quote 1
        • S
          SirLance last edited by

          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 🙂

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @SirLance last edited by

            @SirLance sagte:

            so funktioniert es

            Dann markiere bitte das Thema in der Überschrift als [gelöst].

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            965
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            2
            4
            674
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo