Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Frage: RegExp in on()

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Frage: RegExp in on()

Scheduled Pinned Locked Moved Skripten / Logik
28 Posts 7 Posters 6.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • bentschikB Offline
    bentschikB Offline
    bentschik
    wrote on last edited by
    #13

    Hi Bluefox,

    Ich habe mal die Instanz des Javascript-Adapters neugestartet, nachdem zu meintest, dass das laufen müsste. Jetzt funktioniert es mit den RegExp-Objekt. Also alles gut!

    Danke & beste Grüsse,

    Bentschik

    1 Reply Last reply
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      wrote on last edited by
      #14

      Hi,

      muss das Thema nochmal hoch holen!

      Ich würde auch gern mithilfe von RegExp mehrer Signale in einen On Aufruf packen. (Falls das geht)

      Ich komme leider nicht weiter, habe schon tausend Sachen probiert, und muss jetzt leider aufgeben. :cry:

      var a = "hm-rpc.0.MEQ075xxxx.1.STATE";
      var b = "hm-rpc.0.MEQ075xxxx.1.STATE";
      var c = "hm-rpc.0.MEQ075xxxx.1.STATE";
      
      var x = new RegExp("?????");
      
      on({id: x, val: true}, function(dp)
      {
          log('haut hin');
      
      });
      

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

      1 Reply Last reply
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        wrote on last edited by
        #15

        @blauholsten:

        Hi,

        muss das Thema nochmal hoch holen!

        Ich würde auch gern mithilfe von RegExp mehrer Signale in einen On Aufruf packen. (Falls das geht)

        Ich komme leider nicht weiter, habe schon tausend Sachen probiert, und muss jetzt leider aufgeben. :cry:

        var a = "hm-rpc.0.MEQ075xxxx.1.STATE";
        var b = "hm-rpc.0.MEQ075xxxx.1.STATE";
        var c = "hm-rpc.0.MEQ075xxxx.1.STATE";
        
        var x = new RegExp("?????");
        
        on({id: x, val: true}, function(dp)
        {
            log('haut hin');
            
        });
        ```` `  
        

        Probier mal:

        var a = "hm-rpc.0.MEQ075xxxx.1.STATE";
        var b = "hm-rpc.0.MEQ075xxxx.1.STATE";
        var c = "hm-rpc.0.MEQ075xxxx.1.STATE";
        
        var x = /\hm-rpc\.0\.MEQ075[0-9]{4}\.1\.STATE$/; 
        
        on(x, function(obj) {
         if (obj.state.val) log('haut hin');    
        });
        

        Keine Ahnung, ob es passt. RegEx ist ein Buch mit sieben Siegeln.

        Hab das mal so unter https://regex101.com/#javascript zusammengeklickt.

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Reply Last reply
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          wrote on last edited by
          #16

          oder:

          var x = new RegExp("\hm-rpc\.0\.MEQ075[0-9]{4}\.1\.STATE$");
          on({id:x,change:'ne'}, function (obj) {
           if (obj.state.val) log('haut hin');    
          });
          
          

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Reply Last reply
          0
          • blauholstenB Offline
            blauholstenB Offline
            blauholsten
            Developer
            wrote on last edited by
            #17

            @ruhr70:

            oder:

            var x = new RegExp("\hm-rpc\.0\.MEQ075[0-9]{4}\.1\.STATE$");
            on({id:x,change:'ne'}, function (obj) {
             if (obj.state.val) log('haut hin');    
            });
            
            ```` `  
            

            Hi,

            haut hin! :)

            Ich habe nur gedacht, man könne das "variabel" machen. Und dadurch mehrere Trigger in einen on erschlagen.

            Entwickler vom: - Viessman Adapter
            - Alarm Adapter

            1 Reply Last reply
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              wrote on last edited by
              #18

              @blauholsten:

              Ich habe nur gedacht, man könne das "variabel" machen. Und dadurch mehrere Trigger in einen on erschlagen. `

              Danke für die Rückmeldung!

              Das wiederum verstehe ich nun nicht. Das ist doch variabel und Du hast alle drei Trigger in einem on.

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Reply Last reply
              0
              • blauholstenB Offline
                blauholstenB Offline
                blauholsten
                Developer
                wrote on last edited by
                #19

                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.

                Entwickler vom: - Viessman Adapter
                - Alarm Adapter

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  pix
                  wrote on last edited by
                  #20

                  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

                  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 Reply Last reply
                  0
                  • blauholstenB Offline
                    blauholstenB Offline
                    blauholsten
                    Developer
                    wrote on last edited by
                    #21

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

                    Entwickler vom: - Viessman Adapter
                    - Alarm Adapter

                    1 Reply Last reply
                    0
                    • P Offline
                      P Offline
                      pix
                      wrote on last edited by
                      #22

                      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

                      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 Reply Last reply
                      0
                      • blauholstenB Offline
                        blauholstenB Offline
                        blauholsten
                        Developer
                        wrote on last edited by
                        #23

                        @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:

                        Entwickler vom: - Viessman Adapter
                        - Alarm Adapter

                        1 Reply Last reply
                        0
                        • blauholstenB Offline
                          blauholstenB Offline
                          blauholsten
                          Developer
                          wrote on last edited by
                          #24

                          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

                          Entwickler vom: - Viessman Adapter
                          - Alarm Adapter

                          1 Reply Last reply
                          0
                          • Jey CeeJ Online
                            Jey CeeJ Online
                            Jey Cee
                            Developer
                            wrote on last edited by
                            #25

                            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.

                            Persönlicher Support
                            Spenden -> paypal.me/J3YC33

                            1 Reply Last reply
                            0
                            • blauholstenB Offline
                              blauholstenB Offline
                              blauholsten
                              Developer
                              wrote on last edited by
                              #26

                              @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?

                              Entwickler vom: - Viessman Adapter
                              - Alarm Adapter

                              1 Reply Last reply
                              0
                              • HomoranH Do not disturb
                                HomoranH Do not disturb
                                Homoran
                                Global Moderator Administrators
                                wrote on last edited by
                                #27

                                @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

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Reply Last reply
                                0
                                • blauholstenB Offline
                                  blauholstenB Offline
                                  blauholsten
                                  Developer
                                  wrote on last edited by
                                  #28

                                  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. `

                                  Entwickler vom: - Viessman Adapter
                                  - Alarm Adapter

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  881

                                  Online

                                  32.6k

                                  Users

                                  82.2k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Home
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe