Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Device||Channels -> Children]?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    891

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Device||Channels -> Children]?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 2 Kommentatoren 1.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N Offline
    N Offline
    Nahasapee
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • BuZZyB Offline
      BuZZyB Offline
      BuZZy
      schrieb am zuletzt editiert von
      #2

      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 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        Nahasapee
        schrieb am zuletzt editiert von
        #3

        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 Antwort Letzte Antwort
        0
        • BuZZyB Offline
          BuZZyB Offline
          BuZZy
          schrieb am zuletzt editiert von
          #4

          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 Antwort Letzte Antwort
          0
          • N Offline
            N Offline
            Nahasapee
            schrieb am zuletzt editiert von
            #5

            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 Antwort Letzte Antwort
            0
            • BuZZyB Offline
              BuZZyB Offline
              BuZZy
              schrieb am zuletzt editiert von
              #6

              Was willst du mit den Channels machen?

              Gruß

              1 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                Nahasapee
                schrieb am zuletzt editiert von
                #7

                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 Antwort Letzte Antwort
                0
                • BuZZyB Offline
                  BuZZyB Offline
                  BuZZy
                  schrieb am zuletzt editiert von
                  #8

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

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

                  Gruß

                  1 Antwort Letzte Antwort
                  0
                  • N Offline
                    N Offline
                    Nahasapee
                    schrieb am zuletzt editiert von
                    #9

                    ja, unter diesen enums

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

                    1 Antwort Letzte Antwort
                    0
                    • BuZZyB Offline
                      BuZZyB Offline
                      BuZZy
                      schrieb am zuletzt editiert von
                      #10

                      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 Antwort Letzte Antwort
                      0
                      • N Offline
                        N Offline
                        Nahasapee
                        schrieb am zuletzt editiert von
                        #11

                        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 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        699

                        Online

                        32.6k

                        Benutzer

                        82.1k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Home
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe