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.
    • 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

                        930
                        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