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. Entwicklung
  4. Objekte nach Wert durchsuchen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Objekte nach Wert durchsuchen

Geplant Angeheftet Gesperrt Verschoben Entwicklung
16 Beiträge 4 Kommentatoren 2.9k 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.
  • Lenny.CBL Offline
    Lenny.CBL Offline
    Lenny.CB
    Most Active
    schrieb am zuletzt editiert von
    #1

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

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

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • Lenny.CBL Offline
        Lenny.CBL Offline
        Lenny.CB
        Most Active
        schrieb am zuletzt editiert von
        #3

        @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 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #4

          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....;
              }
          })
          

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #5

            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 Antwort Letzte Antwort
            0
            • Lenny.CBL Offline
              Lenny.CBL Offline
              Lenny.CB
              Most Active
              schrieb am zuletzt editiert von
              #6

              @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. :o :o ich muss noch vieeeeel lernen.

              1 Antwort Letzte Antwort
              0
              • blauholstenB Offline
                blauholstenB Offline
                blauholsten
                Developer
                schrieb am zuletzt editiert von
                #7

                @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 ={};
                

                Entwickler vom: - Viessman Adapter
                - Alarm Adapter

                1 Antwort Letzte Antwort
                0
                • Lenny.CBL Offline
                  Lenny.CBL Offline
                  Lenny.CB
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @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 Antwort Letzte Antwort
                  0
                  • blauholstenB Offline
                    blauholstenB Offline
                    blauholsten
                    Developer
                    schrieb am zuletzt editiert von
                    #9

                    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

                    Entwickler vom: - Viessman Adapter
                    - Alarm Adapter

                    1 Antwort Letzte Antwort
                    0
                    • Lenny.CBL Offline
                      Lenny.CBL Offline
                      Lenny.CB
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @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 Antwort Letzte Antwort
                      0
                      • blauholstenB Offline
                        blauholstenB Offline
                        blauholsten
                        Developer
                        schrieb am zuletzt editiert von
                        #11

                        @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…..

                        Entwickler vom: - Viessman Adapter
                        - Alarm Adapter

                        1 Antwort Letzte Antwort
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          schrieb am zuletzt editiert von
                          #12

                          @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. :o :o 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 Antwort Letzte Antwort
                          0
                          • Lenny.CBL Offline
                            Lenny.CBL Offline
                            Lenny.CB
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

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

                            Gesendet von meinem SM-G925F mit Tapatalk

                            1 Antwort Letzte Antwort
                            0
                            • Lenny.CBL Offline
                              Lenny.CBL Offline
                              Lenny.CB
                              Most Active
                              schrieb am zuletzt editiert von
                              #14

                              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 Antwort Letzte Antwort
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                schrieb am zuletzt editiert von
                                #15

                                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 Antwort Letzte Antwort
                                0
                                • blauholstenB Offline
                                  blauholstenB Offline
                                  blauholsten
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #16

                                  @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);
                                  

                                  Entwickler vom: - Viessman Adapter
                                  - Alarm Adapter

                                  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

                                  641

                                  Online

                                  32.7k

                                  Benutzer

                                  82.3k

                                  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