Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Device||Channels -> Children]?

    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

    [Device||Channels -> Children]?

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

      Hi,

      wenn ich die ID von einen Channel oder einen Device habe,

      wie kann ich über dessen Kinder iterieren?

      ich kann mir zwar das konkrete Object mit getObject(ID) holen

      dieses Objekt besitzt aber keine "members" die die Kindstruktur enhält.

      z.B

      DeviceID
          |
           Channel1
                |
                 State1-n
           |
           channel2
              |
               State1-n
           |
           States1-n
      
      

      danke für die Hilfe Grüße

      1 Reply Last reply Reply Quote 0
      • BuZZy
        BuZZy last edited by

        Was genau hast du vor?

        Alle States unter einem Channel (in dem Beipsiel "hm-rpc.0.OEQ1234567.0") kannst du z.B. so ausgeben lassen:

        let selector = $('channel[state.id=hm-rpc.0.OEQ1234567.0.*]');
        
        selector.each(function (id, i) {
            log("State: " + id + " - Wert: " + getState(id).val);
        }); 
        
        

        Man müsste ein bisschen genauer wissen was du vor hast um bessere Hilfestellung zu geben.

        Gruß

        1 Reply Last reply Reply Quote 0
        • N
          Nahasapee last edited by

          Oh danke,

          das hilft mir schon.

          Ich habe diesen Selector zwar in der Doku gefunden allerdings 100%

          die Funktionsweise versteh ich nicht bzw. Syntax.

          Wie wäre denn die Syntax für den Selector,wenn man z.b. noch den type=boolean

          einschränken möchte?

          1 Reply Last reply Reply Quote 0
          • BuZZy
            BuZZy last edited by

            Dann musst du die "Suche" von Channel auf State ändern und noch [type=boolean] dran hängen..

            Also so:

            let selector = $('state[id=hm-rpc.0.OEQ1234567.0.*][type=boolean]');
            
            selector.each(function (id, i) {
                log("State: " + id + " - Wert: " + getState(id).val);
            }); 
            

            Gruß

            1 Reply Last reply Reply Quote 0
            • N
              Nahasapee last edited by

              ok danke

              bei deinem ersten selector

              let selector = $('channel[state.id=hm-rpc.0.OEQ1234567.0.*]');
              

              bekomme ich jetzt alle States- Objekte die sich unter dem Device befinden,

              aber im Device befinden sich noch 3 Channels, die erhalte ich selber aber nicht,

              die States die sich darunter befinden aber schon.

              Kann man die auch noch irgendwie abfragen?

              Grüße

              1 Reply Last reply Reply Quote 0
              • BuZZy
                BuZZy last edited by

                Was willst du mit den Channels machen?

                Gruß

                1 Reply Last reply Reply Quote 0
                • N
                  Nahasapee last edited by

                  ich generiere mir dynamisch aus all meinen Auflistungen ein Telegrammenü ähnlich wie der iobroker.mobile das macht eben nur für den telegram adapter

                  1 Reply Last reply Reply Quote 0
                  • BuZZy
                    BuZZy last edited by

                    Wäre das hier dann nicht eventuell was für dich?

                    https://github.com/ioBroker/ioBroker.ja … d#getenums

                    Gruß

                    1 Reply Last reply Reply Quote 0
                    • N
                      Nahasapee last edited by

                      ja, unter diesen enums

                      habe ich nicht nur states sondern eben komplettes Device gemappt. Die wie die oben beschriebene Struktur enthalten.

                      1 Reply Last reply Reply Quote 0
                      • BuZZy
                        BuZZy last edited by

                        Den Channel von einem State kannst du "rausfinden" mit

                        id.slice(id.lastIndexOf("."))
                        

                        Dann wird bei id (z.B. bla.0.channel.state) der letzte Punkt und alles was folgt entfernt..

                        Die Ausgabe wäre dann bla.0.channel … (in Verbindung mit dem Skript oben)

                        Du solltest überlegen ob deine Enums richtig bzw für dich sinnvoll strukturiert sind.

                        Ein wilder "Mischmasch" aus Channels/Devices/States in den enums verkompliziert die ganze Sache.

                        Gruß

                        1 Reply Last reply Reply Quote 0
                        • N
                          Nahasapee last edited by

                          vielen Dank erst mal! Vielleicht hast du recht und ich hab die Verwendung der Aufzählungen falsch verstanden und man darf nur states rein schieben

                          aber für mich hat es durchaus Sinn in meine Auflistung z.b. Wohnzimmer mein

                          Sonoff device und shelly device zu adden und nicht nur einzelne States der Geräte wir PowerOn oder Rollo runter.

                          und diese Devices haben dann halt unterschiedliche Strukturen:

                          güße
                          12648_sonoff.png
                          12648_shelly1__2_.png

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          858
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          2
                          11
                          1031
                          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