Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Geräteliste des Adapters

    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

    Geräteliste des Adapters

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by

      wie bekomme ich eine Objekt-Geräteliste eines Adapters raus ??

      ich brauche die id und den namen…. :roll: :roll:

      $('device[id=zigbee.0]');
      

      geht nicht
      1518_unbenannt.jpg

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

        Wie oben nur mit „zigbee.0.*“ ?!

        Gesendet vom Handy …

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

          Der $Selector liefert nur Datenpunkt-IDs. Die Eingrenzung mit "device" ist nur sinnvoll, wenn enums zum Selektieren vorgegeben werden und die Zuweisung der enums zu Geräten erfolgt ist (in HomeMatic erfolgt die Zuweisung zu Kanälen). Versuche es mal so:

          const dps = $('zigbee.0.*');
          
          dps.each(function(id, i) {
              var val = getState(id).val;
              setState(id, val, true); // provoziert einen Trigger ohne Wertänderung und ohne Senden
          });
          
          var lastId = '';
          on({id: /^zigbee\.0\.*/}, function(dp) {
              if(dp.deviceId != lastId) {
                  lastId = dp.deviceId;
                  log(lastId);
                  log(dp.deviceName);
              }    
          });
          
          
          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active last edited by

            @apollon77:

            Wie oben nur mit „zigbee.0.*“ ?!

            Gesendet vom Handy … `

            ne eben nicht… :roll: @paul53:

            dps = $('zigbee.0.*'); `

            liefert mir die states .. ich brauch aber die id und den namen

            am besten im array

            zigbee.0.00158d0001052cc5 küche.schalter

            zigbee.0.00158d00010e534f dachboden.temp

            zigbee.0.00158d0001573a56 wohnzimmer.temp

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

              @arteck:

              liefert mir die states .. `
              So, wie ich geschrieben habe: $Selector liefert <u>immer</u> Datenpunkt-IDs !
              @arteck:

              ich brauch aber die id und den namen

              am besten im array `
              Wenn Du die beiden log() im Skript gegen Einsortierung in ein Array austauschst, sollte es funktionieren. Zum Test lass erst einmal die log() drin.

              1 Reply Last reply Reply Quote 0
              • arteck
                arteck Developer Most Active last edited by

                @paul53:

                @arteck:

                liefert mir die states .. `
                So, wie ich geschrieben habe: $Selector liefert <u>immer</u> Datenpunkt-IDs !
                @arteck:

                ich brauch aber die id und den namen

                am besten im array Wenn Du die beiden __log()__ im Skript gegen Einsortierung in ein Array austauschst, sollte es funktionieren. Zum Test lass erst einmal die __log()__ drin.

                ne bekomme ein null zurück..

                und

                ich will die Liste auf einen rutsch haben .. nicht bei state Änderung…

                so

                var allZigbeeDevices = $('zigbee.0.*');
                

                was nicht geht

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

                  @arteck:

                  ich will die Liste auf einen rutsch haben .. nicht bei state Änderung… `
                  Deshalb wir in der each-Schleife für jeden Datenpunkt ein Trigger provoziert. Mein Test (habe kein Zigbee):

                  filename="Geräte-IDs_Namen.JPG" index="0">~~

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

                    Damit nur ein Datenpunkt pro Gerät einen provozierten Trigger erhält, habe ich das Skript geändert.

                    const dps = $('zigbee.0.*');
                    
                    var lastId = '';
                    dps.each(function(id, i) {
                        var idarr = id.split('.');
                        if(idarr[2] != lastId) {
                            var val = getState(id).val;
                            setState(id, val, true); // provoziert einen Trigger ohne Wertänderung und ohne Senden
                            lastId = idarr[2];
                        }    
                    });
                    
                    on({id: /^zigbee\.0\.*/}, function(dp) {
                        log(dp.deviceId);
                        log(dp.deviceName);
                    });
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • arteck
                      arteck Developer Most Active last edited by

                      @paul53:

                      @arteck:

                      ich will die Liste auf einen rutsch haben .. nicht bei state Änderung… `
                      Deshalb wir in der each-Schleife für jeden Datenpunkt ein Trigger provoziert. Mein Test (habe kein Zigbee):

                      Geräte-IDs_Namen.JPG `

                      nöhö….. :roll:

                      ich bekomme alle states geliefert aber nicht den namen

                      zigbee.0.00158d0001052cc5 küche.schalter

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

                        @arteck:

                        ich bekomme alle states geliefert aber nicht den namen `
                        states oder Device IDs ?

                        1 Reply Last reply Reply Quote 0
                        • arteck
                          arteck Developer Most Active last edited by

                          jetzige ausgabe

                          const dps = $('zigbee.0.*');
                          
                          var lastId = '';
                          dps.each(function(id, i) {
                              var idarr = id.split('.');
                              if(idarr[2] != lastId) {
                                  var val = getState(id).val;
                                  setState(id, val, true); // provoziert einen Trigger ohne Wertänderung und ohne Senden
                                  lastId = idarr[2];
                              }    
                          });
                          
                          on({id: /^zigbee\.0\.*/}, function(dp) {
                              log('deviceId     --------------' +dp.deviceId);
                              log('deviceName   --------------' + dp.deviceName);
                          });
                          
                          
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceId --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceName --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceId --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceName --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceId --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceName --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceId --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceName --------------null
                          13:39:40.196	[info]	javascript.0 script.js.rest.batterieStand: deviceId --------------null
                          
                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 last edited by

                            In meinen Tests hatte ich den Geräten Kanäle und den Kanälen Datenpunkte zugeordnet. Damit hat es funktioniert. Jetzt habe ich dem Gerät 2 direkt einen Datenpunkt (ohne Kanal) zugeordnet. Jetzt wir mir das Gerät 2 nicht mehr geliefert, sondern nur noch die Instanz.

                            Haben Zigbee-Geräte keine Kanäle ?

                            1 Reply Last reply Reply Quote 0
                            • arteck
                              arteck Developer Most Active last edited by

                              so siehts aus
                              1518_unbenannt.jpg

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

                                Ohne Kanäle funktionieren

                                dp.deviceId
                                dp.deviceName
                                

                                offenbar nicht. Werde Issue auf github erstellen.

                                paul53 1 Reply Last reply Reply Quote 0
                                • apollon77
                                  apollon77 last edited by

                                  Und einfach on ({id: „zigbee.0.*“ ….

                                  Geht nicht? Du willst doch einfach alle Änderungen oder?!

                                  Gesendet vom Handy ...

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

                                    @apollon77:

                                    Und einfach on ({id: „zigbee.0.*“ ….

                                    Geht nicht? Du willst doch einfach alle Änderungen oder?!

                                    Nein, er möchte eine Geräteliste mit Geräte-ID und Geräte-Namen.

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

                                      Ja aber er hatte doch geschrieben er will die Liste um einzeln zu subscriben … oder ich hab mich verlesen 😉

                                      Gesendet vom Handy ...

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

                                        @apollon77:

                                        oder ich hab mich verlesen

                                        1. Beitrag

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

                                          Ist das das selbe Thema? Bekomme nicht eine selektor Funktion mit zigbee Geräten hin… Alle anderen gehen.. Sonoff, homematic, angelegte states kein Thema nur zigbee nicht..

                                          Will nen Zaehlen Script fuer Batterie und Steckdosen fuer meine zigbee Geraete schreiben.. Wie ich es fuer hm und sonoff auch habe... Alle möglichen Varianten schon ausprobiert.

                                          Wie oben geschrieben geht nur alle states einzusammeln...

                                          als Gegenüberstellung..

                                          geht

                                          var cacheSelector = $('statestate.id=*.STATE'); // (HomeMatic 'STATE' groß weil so angelegt )

                                          geht nicht

                                          var cacheSelector = $('statestate.id=*.state'); // (zigbee 'state' klein weil so angelegt )

                                          Gesendet von meinem CLT-L09 mit Tapatalk

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

                                            @paul53 sagte:

                                            Ohne Kanäle funktionieren

                                            dp.deviceId
                                            dp.deviceName
                                            

                                            offenbar nicht. Werde Issue auf github erstellen.

                                            Habe festgestellt, dass man bei Zigbee anstelle von dp.deviceId und dp.deviceName den Kanal abfragen muss, um das Gerät zu erhalten.

                                            Blockly_temp.JPG

                                            Der Objekt-Typ wird offenbar nicht geprüft, sondern es wird das Eltern- bzw. Großeltern-Objekt verwendet.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            903
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            20
                                            1141
                                            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