Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Frage: RegExp in on()

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Frage: RegExp in on()

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

      Hi,

      ich ist sicherlich von mir blöd gewählt dass alles drei HomeMatic Kontakte sind. Stellt man sich aber vor man hat 15 verschiedene Datenpunkte, ….....

      Aber eigentlich ist es nur rein Interesse halber, ob es möglich wäre.

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

        Zur Not kannst du alle Datenpunkte einem Gewerk (homematic) oder Aufzählung (ioBroker) zuordnen und das dann abfragen. Gab's hier ja schon häufiger.

        Gruß

        Pix

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

          @pix:

          oder Aufzählung (ioBroker) zuordnen und das dann abfragen. Gab's hier ja schon häufiger.

          Gruß

          Pix `

          Hi,

          Danke das kannte ich so nicht.!

          Könntest du mir noch erklären wie ich das als````
          $(selector).on

          benutze?
          
          Hier meine angelegten Sachen.
           ![671_unbenannt.png](/assets/uploads/files/671_unbenannt.png) 
          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Probier mal:

            var cacheSelectorState = $('channel[state.id=*.STATE](alarmanlage="sensoren")');
            
            cacheSelectorState.on(function(obj) {   
                machWas(obj);
            });
            
            

            Kommt so aus dem http://forum.iobroker.net/viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564

            Gruß

            Pix

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

              @pix:

              Probier mal:

              var cacheSelectorState = $('channel[state.id=*.STATE](alarmanlage="sensoren")');
              
              cacheSelectorState.on(function(obj) {   
                  machWas(obj);
              });
              
              

              Kommt so aus dem http://forum.iobroker.net/viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564

              Gruß

              Pix `

              Hi Pix,

              geht leider nicht. Ich hatte es im Vorfeld schon so ähnlich mit Hilfe der Doku probiert.

              *$('channel(Alarmanlage=sensoren)').on(function(id)
              

              Ich weis aber leider nicht was "channel" bedeutet. :roll:

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

                Hi,

                ich bekomme es leider nicht hin erstellte Aufzählungen im Skript zu benutzen! Könnte jemand mal eine kleine Erklärung geben wie das geht?

                DANKE

                1 Reply Last reply Reply Quote 0
                • Jey Cee
                  Jey Cee Developer last edited by

                  Hi blauholsten,

                  hier mal ein skript von mir:

                  var actors = $('*.STATE(functions=nachtruhe)');
                  
                  on({
                      id: "javascript.0.Nachtruhe"/*Nachtruhe*/,
                      change: 'ne'
                  }, function(obj) {
                      if (getState("javascript.0.Nachtruhe"/*Nachtruhe*/).val === true){
                          actors.each(function (id){
                              if(getState(id).val === true){
                              setState(id, false);}
                          });
                      }
                  });
                  

                  Das skript funktioniert jetzt einwandfrei. Zu beachten ist bei der Aufzählung das es verschiedene Schreibweisen gibt, hierzu mal in die Doku vom Javascript Adapter auf Github schauen. Entscheidend ist die Richtig auszuwählen/finden. Ich hatte Anfangs eine sehr lange Schreibweise von einem anderen skript hier aus dem Forum übernommen, dabei wurden mir nur 2 von 3 der Aufgezählten Objekte/Datenpunkte gefunden egal was ich gemacht habe. Die Objekte/Datenpunkte waren alle vom gleichen Geräte Typ. Erst als ich die kürzeste Form genommen hab hat es geklappt.

                  Alles was nach "$" in der Klammer kommt sind Filter. In meinem Beispiel Filtere ich nach "STATE" und der Aufzählung "nachtruhe" in Funktionen.

                  > Ich weis aber leider nicht was "channel" bedeutet. :roll:
                  Das ist ein Filter der In den Objekten/Datenpunkten nach "channel" sucht und nur innerhalb der gefundenen Objekten/Datenpunkten nach den weiteren Filtern sucht.

                  Ich hoffe ich konnte dir Helfen.

                  Was bei mir noch offen ist, ist in on() auf die Änderung zu reagieren das will einfach nicht klappen.

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

                    @pix:

                    Zur Not kannst du alle Datenpunkte einem Gewerk (homematic) oder Aufzählung (ioBroker) zuordnen und das dann abfragen. Gab's hier ja schon häufiger.

                    Gruß

                    Pix `

                    Hi,

                    habe gerade auf der Website gelesen, das Aufzählung rein für Homematic ist.

                    Zitat > Hier werden die Favoriten, Gewerke und Räume aus der Homematic-CCU aufgelistet.

                    Gibt es dennoch eine Möglichkeit verschiedene Datenpunkte zu einem Trigger zusammen zu fassen? Oder ist dies gar nicht möglich?

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      @blauholsten:

                      habe gerade auf der Website gelesen, das Aufzählung rein für Homematic ist.

                      Zitat:

                      Hier werden die Favoriten, Gewerke und Räume aus der Homematic-CCU aufgelistet.

                      Gibt es dennoch eine Möglichkeit verschiedene Datenpunkte zu einem Trigger zusammen zu fassen? Oder ist dies gar nicht möglich? `

                      Diese Angabe ist schon historisch 😉

                      inzwischen gibt es auch weitere Aufzählungen und du kannst auch selber Aufzählungen erstellen.

                      Ich glaube bei OCC war das mal nötig.

                      Gruß

                      Rainer

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

                        Hi,

                        Danke deine Erklärungen, aber genau hier liegt meine Frage:…

                        @Jey Cee:

                        Was bei mir noch offen ist, ist in on() auf die Änderung zu reagieren das will einfach nicht klappen. `

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.1k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        7
                        28
                        5118
                        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