Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [geloest] Probleme mit cacheSelectorState functionsfilter

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [geloest] Probleme mit cacheSelectorState functionsfilter

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      Farmer-cb last edited by

      Servus

      Habe jetzt schon seit stunden das Forum durchsucht, aber leider nicht spezifisches zu dem Filter functions gefunden. 😞

      Habe folgendes Problem, habe mehere Datenpunkte (Fenster,Türen,ToreStatus). alle nur erkennbar durch die Spalte Funktion (ich glaub es wird auch Gewerke ganannt)
      4639_dp.jpg

      laut den Beispielen hie, sollte es ja mit

      var cacheSelectorState=('channel[state.id=*.state](functions="Fenster")') 
      

      funktionieren

      was es aber bei mir nicht macht, habe auch schon den iobroker demöfteren rebootet, da laut beschreibung ja nur beim start vom iobroker die Datenpunkte eingelesen werden.

      vorerst mal eine ganz simple Abfrage

      var cacheSelectorState = $('channel[state.id=*](functions="Fenster")');
      
      cacheSelectorState.each(function(id, i) {
         log('Name: '+id);
      });
      
      

      ergebnis

      ! 18:15:27.167 [info] javascript.0 Stop script script.js.common.test
      ! 18:15:27.269 [info] javascript.0 Start javascript script.js.common.test
      ! 18:15:27.269 [info] javascript.0 script.js.common.test: registered 0 subscriptions and 0 schedules

      wenn ich das functiongedöns weg lasse zeigt er mir alle Einträge an

      wenn ich folgendes Script benutze

      const here = $('javascript.0.Raum.*');
      
      here.each(function(id, i) {
         log(id);
      });
      
      

      zeigt er mir sauber alle DP unter Raum an, was mir aber leider nichts hilft, da ich die Filterung nach Funktion(Gewerke) benötige.

      bin jetzt komplett ratlos was ich noch probieren könnte :?: :?: :?: :?:

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

        Die Gewerke sind nicht Kanälen zugeordnet, sondern Datenpunkten. Dann versuche es mal so:

        const fenster = $('state[id=*](functions=Fenster)');
        

        Evtl. "Fenster" klein geschrieben, wenn die ID lautet "enum.functions.fenster".

        1 Reply Last reply Reply Quote 0
        • F
          Farmer-cb last edited by

          Guten Morgen

          genau das wars, Danke

          muss ich immer den iobroker rebooten um die Objekte neu einzulesen oder gibt es auch andere möglichkeiten???

          Gibt es dafür irgendwo ne Doku????

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

            @Farmer-cb:

            Gibt es dafür irgendwo ne Doku????

            https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md.

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

              @Farmer-cb:

              genau das wars

              Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].

              @Farmer-cb:

              muss ich immer den iobroker rebooten um die Objekte neu einzulesen oder gibt es auch andere möglichkeiten???

              Weshalb willst/musst Du welche Objekte neu einlesen ?

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

                @paul53:

                Weshalb willst/musst Du welche Objekte neu einlesen ? `
                Für bestimmte Selektoren (mir fällt gerade nicht genau ein welche, glaube das betrifft vor allem Channels) werden die zugehörigen Objekte beim ersten Aufruf zwischengespeichert. Wenn sich während der Laufzeit des JS-Adapters daran etwas ändert (also neue Objekte hinzu kommen oder entfernt werden), bekommt dieser die Änderungen nicht mit.

                Wenn das eintritt, muss lediglich der Skript-Adapter neu gestartet werden, nicht der gesamte ioBroker!

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

                  @AlCalzone:

                  Wenn sich während der Laufzeit des JS-Adapters daran etwas ändert (also neue Objekte hinzu kommen oder entfernt werden), bekommt dieser die Änderungen nicht mit.

                  Ja, ich kann mich erinnern, dass nach Änderungen in den enum-Zuweisungen die JS-Instanz neu gestartet werden muss.

                  1 Reply Last reply Reply Quote 0
                  • F
                    Farmer-cb last edited by

                    Dachte nur, da, wenn ich etwas geändert habe (Gewerke oder ids) hat die Abfrage immer noch die alten Werte angezeigt

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    712
                    Online

                    31.6k
                    Users

                    79.5k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    943
                    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