Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Objekte nach Wert durchsuchen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Objekte nach Wert durchsuchen

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

      hallo zusammen,

      ich stehe grad schlauch.

      Ich habe einen Adapter von dem ich alles gelistet haben möchte was einen bestimmten Wert hat.

      Beispiel:

      im Adapter weatherunderground.0 –> alles was den Wert '80' hat.

      Leider klappt nichts.

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Meinst du so? 261_bildschirmfoto_2016-12-18_um_19.05.53.jpg
        Das wär zu einfach, passt aber auf die Frage :?

        Pix

        1 Reply Last reply Reply Quote 0
        • Lenny.CB
          Lenny.CB Most Active last edited by

          @pix:

          Meinst du so?Bildschirmfoto 2016-12-18 um 19.05.53.jpg

          Das wär zu einfach, passt aber auf die Frage :?Pix `
          schon klar, passt zur Frage… :lol: :lol: :lol:

          Aber ich wollte das in einem Adapter machen... also js

          1 Reply Last reply Reply Quote 0
          • blauholsten
            blauholsten Developer last edited by

            Hi,

            Willst du einen Adapter schreiben?

            Falls nicht, kannst du im JavaScript Adapter folgenden Text probiere …

            $("[id=weatherunderground.0.*]").each(function (id) {
                if(getState(id).val === '80') {
                ....Mache was....;
                }
            })
            
            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              Wenn du das wirklich in einem Adapter machen willst, dafür habe ich natürlich die Lösung und die werde ich dir auch sagen, wenn ich wieder am Rechner bin.

              Was ist UseCase?

              1 Reply Last reply Reply Quote 0
              • Lenny.CB
                Lenny.CB Most Active last edited by

                @blauholsten:

                Willst du einen Adapter schreiben? ` ja soll fürn nen Adapter sein. Will mich mal dran probieren.

                Der läuft auch schon mal im Prinzip. Das Ding legt aber so viele Objekte an, die später nicht genutzt werden, dass ich da noch ein "clean" machen will.

                Mal schauen was mir dann noch so einfällt.

                @Bluefox:

                Was ist UseCase? ` im Prinzip passiert Folgendes: Adapter verbindet sich mit Server, fragt über einen Befehl sämtlich mögliche Zustände ab und legt Objekte an. Wenn alles angelegt ist, werden die Sachen befüllt.

                Da hier ganz viele bei sind die ein Err oder ne ewige "0" erzeugen will ich die löschen.

                Das script selbst ist nicht von mir.

                Ich finde es zum "Lernen" einfacher, ein funktionierendes Script in einen Adapter zu quetschen.

                Achso, nach lesen im Forum bin ich auf den hm, ping oder Sonos-Adapter gekommen, da hier wohl ähnlich gearbeitet wird. Habs mir angeschaut. und was soll ich sagen, "Ein Schwein vorm Uhrwerk" macht nen besseren Eindruck. 😮 😮 ich muss noch vieeeeel lernen.

                1 Reply Last reply Reply Quote 0
                • blauholsten
                  blauholsten Developer last edited by

                  @Lenny.CB:

                  Der läuft auch schon mal im Prinzip. Das Ding legt aber so viele Objekte an, die später nicht genutzt werden, dass ich da noch ein "clean" machen will.

                  Mal schauen was mir dann noch so einfällt. `
                  Meinst du Objekte bzw States die man in der Admin Oberfläche sieht? Oder meinst du Objekte, die nur im Adapter sind.

                  Quasi so…

                  var meinobjekt ={};
                  
                  1 Reply Last reply Reply Quote 0
                  • Lenny.CB
                    Lenny.CB Most Active last edited by

                    @blauholsten:

                    @Lenny.CB:

                    Der läuft auch schon mal im Prinzip. Das Ding legt aber so viele Objekte an, die später nicht genutzt werden, dass ich da noch ein "clean" machen will.

                    Mal schauen was mir dann noch so einfällt. `
                    Meinst du Objekte bzw States die man in der Admin Oberfläche sieht? Oder meinst du Objekte, die nur im Adapter sind.

                    Quasi so…

                    var meinobjekt ={};
                    ```` `  
                    

                    Ich meine die Objekte dir man im "Objekt"-Reiter sieht.

                    Quasi adapter.0.wo.was.wert

                    Gesendet von meinem SM-G925F mit Tapatalk

                    1 Reply Last reply Reply Quote 0
                    • blauholsten
                      blauholsten Developer last edited by

                      Okay,

                      An dem Punkt war ich quasi vor einigen schlaflosen Nächten auch :shock: :lol:

                      Kennst du den Thread schon?

                      http://forum.iobroker.net/viewtopic.php?f=24&t=4355

                      1 Reply Last reply Reply Quote 0
                      • Lenny.CB
                        Lenny.CB Most Active last edited by

                        @blauholsten:

                        Okay,

                        An dem Punkt war ich quasi vor einigen schlaflosen Nächten auch :shock: [emoji38]

                        Kennst du den Thread schon?

                        http://forum.iobroker.net/viewtopic.php?f=24&t=4355 `
                        Jupp. Darüber bin ich zu ping, hm und sonos gekommen. Und dann kam das schwein und das Uhrwerk ins Spiel.

                        Gesendet von meinem SM-G925F mit Tapatalk

                        1 Reply Last reply Reply Quote 0
                        • blauholsten
                          blauholsten Developer last edited by

                          @Lenny.CB:

                          @blauholsten:

                          Okay,

                          An dem Punkt war ich quasi vor einigen schlaflosen Nächten auch :shock: [emoji38]

                          Kennst du den Thread schon?

                          http://forum.iobroker.net/viewtopic.php?f=24&t=4355 `
                          Jupp. Darüber bin ich zu ping, hm und sonos gekommen. Und dann kam das schwein und das Uhrwerk ins Spiel.

                          Gesendet von meinem SM-G925F mit Tapatalk `

                          Wenn ich wieder am Rechner bin versuche ich es zu erklären…..

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

                            @Lenny.CB:

                            @blauholsten:

                            Willst du einen Adapter schreiben? ` ja soll fürn nen Adapter sein. Will mich mal dran probieren.

                            Der läuft auch schon mal im Prinzip. Das Ding legt aber so viele Objekte an, die später nicht genutzt werden, dass ich da noch ein "clean" machen will.

                            Mal schauen was mir dann noch so einfällt.

                            @Bluefox:

                            Was ist UseCase? ` im Prinzip passiert Folgendes: Adapter verbindet sich mit Server, fragt über einen Befehl sämtlich mögliche Zustände ab und legt Objekte an. Wenn alles angelegt ist, werden die Sachen befüllt.

                            Da hier ganz viele bei sind die ein Err oder ne ewige "0" erzeugen will ich die löschen.

                            Das script selbst ist nicht von mir.

                            Ich finde es zum "Lernen" einfacher, ein funktionierendes Script in einen Adapter zu quetschen.

                            Achso, nach lesen im Forum bin ich auf den hm, ping oder Sonos-Adapter gekommen, da hier wohl ähnlich gearbeitet wird. Habs mir angeschaut. und was soll ich sagen, "Ein Schwein vorm Uhrwerk" macht nen besseren Eindruck. 😮 😮 ich muss noch vieeeeel lernen. `

                            // Delete all states from array (one after each other)
                            function deleteStates(states, callback) {
                                 // If array is empty => finished
                                 if (!states || !states.length) {
                                 	if (callback) callback();
                                 	return;
                                 }
                            
                                 // Get one ID
                                 var id = states.pop();
                            
                                 // Delete Object
                                 adapter.delObject(id, function (err) {
                                 	// Delete state
                            	     adapter.delState(id, function (err) {
                            	        // Go to next ID
                            	     	setTimeout(deleteStates, 0, states, callback);
                            	     });          
                                 });
                            }
                            
                            // Get all IDs of this adapter
                            adapter.getStates('*', function (err, states) {
                                var toDelete = [];
                                // collect all states that are empty to array
                                for (var id in states) {
                                    // test value and store ID if value is empty
                                    if (!states[id].val) toDelete.push(id);
                                }
                            
                                // gently delete all empty states
                                deleteStates(toDelete, function() {
                                	adapter.log.info('delete finished');
                                });
                            });
                            
                            

                            Nicht geprüft.

                            1 Reply Last reply Reply Quote 0
                            • Lenny.CB
                              Lenny.CB Most Active last edited by

                              Dank dir. Muss mal weiter testen. So richtig komm ich noch nicht klar.

                              Gesendet von meinem SM-G925F mit Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • Lenny.CB
                                Lenny.CB Most Active last edited by

                                Hallo Bluefox, habe mal nen bissel gespielt.

                                mir ist glaube ich immer noch nicht klar was hier genau passieren soll.

                                ist es richtig wenn ich sage:

                                der untere Teil ab "getStates" holt alle "leeren" Statis ab und packt sie in ein Array. Danach die Funktion "deleteState" aufrufen und löschen bis das Array leer ist. Stimmt das in etwa?

                                ist es richtig, dass hier die "leeren Statis" vorgegeben werden?

                                `var toDelete = [];[/code]`
                                kann ich dafür auch folgendes schreiben?
                                `~~[code]~~var toDelete = 'ERR: no signal';[/code]`suche alles was den Wert "ERR: no signal" enthält und lösche?
                                
                                beim Probieren in der org.-Fassung bekomme ich eine Fehlermeldung und der Adapter startet immer von vorn:
                                `~~[code]~~ebus.0	2016-12-20 20:55:38.648	debug	cleaned everything up...
                                ebus.0	2016-12-20 20:55:38.643	error	at Decoder. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
                                ebus.0	2016-12-20 20:55:38.643	error	at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:332:8)
                                ebus.0	2016-12-20 20:55:38.643	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                                ebus.0	2016-12-20 20:55:38.643	error	at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
                                ebus.0	2016-12-20 20:55:38.643	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:236:12)
                                ebus.0	2016-12-20 20:55:38.643	error	at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:312:9)
                                ebus.0	2016-12-20 20:55:38.643	error	at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:150:27)
                                ebus.0	2016-12-20 20:55:38.643	error	at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2770:61
                                ebus.0	2016-12-20 20:55:38.643	error	at /opt/iobroker/node_modules/iobroker.ebus/main.js:278:5
                                ebus.0	2016-12-20 20:55:38.643	error	at deleteStates (/opt/iobroker/node_modules/iobroker.ebus/main.js:255:22)
                                ebus.0	2016-12-20 20:55:38.643	error	TypeError: states.pop is not a function
                                ebus.0	2016-12-20 20:55:38.617	error	uncaught exception: states.pop is not a function
                                ebus.0	2016-12-20 20:55:38.458	debug	Sending: read -c scan.08 id supplier[/code]`
                                
                                1 Reply Last reply Reply Quote 0
                                • Bluefox
                                  Bluefox last edited by

                                  Ich sehe dein Kode nicht und auf dem git ist nicht das was du testest.

                                  var toDelete = 'ERR: no signal';
                                  

                                  Ist natürlich falsch.

                                  1 Reply Last reply Reply Quote 0
                                  • blauholsten
                                    blauholsten Developer last edited by

                                    @Bluefox:

                                    Ich sehe dein Kode nicht und auf dem git ist nicht das was du testest. `

                                    Das stimmt wohl…
                                    @Bluefox:

                                    var toDelete = 'ERR: no signal';
                                    

                                    Ist natürlich falsch. `
                                    Ich gehe davon aus das du bluefox seinen gesendeten Code, mit folgenden Abschnitt meinst….

                                    if (!states[id].val) toDelete.push(id);
                                    

                                    der sollte ggf für dich wie folgt geändert werden…

                                    if (!states[id].val || (states[id].val === 'ERR: no signal')) toDelete.push(id);
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    681
                                    Online

                                    31.7k
                                    Users

                                    79.8k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    16
                                    2722
                                    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