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. Skripten / Logik
  4. Frage: RegExp in on()

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Frage: RegExp in on()

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
28 Beiträge 7 Kommentatoren 6.1k 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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #12

    Das muss gehen.

    Gib einen Beispiel, welcher durch diesen RegExp erkannt werden muss.

    1 Antwort Letzte Antwort
    0
    • bentschikB Offline
      bentschikB Offline
      bentschik
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • blauholstenB Offline
        blauholstenB Offline
        blauholsten
        Developer
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • blauholstenB Offline
              blauholstenB Offline
              blauholsten
              Developer
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                0
                • blauholstenB Offline
                  blauholstenB Offline
                  blauholsten
                  Developer
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    pix
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • blauholstenB Offline
                      blauholstenB Offline
                      blauholsten
                      Developer
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        pix
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        • blauholstenB Offline
                          blauholstenB Offline
                          blauholsten
                          Developer
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • blauholstenB Offline
                            blauholstenB Offline
                            blauholsten
                            Developer
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • Jey CeeJ Online
                              Jey CeeJ Online
                              Jey Cee
                              Developer
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              0
                              • blauholstenB Offline
                                blauholstenB Offline
                                blauholsten
                                Developer
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                0
                                • HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • blauholstenB Offline
                                    blauholstenB Offline
                                    blauholsten
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #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 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

                                    373

                                    Online

                                    32.5k

                                    Benutzer

                                    81.7k

                                    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