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. Error/Bug
  4. Problem mit RexEx. (zu viele Objekte)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    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.6k

Problem mit RexEx. (zu viele Objekte)

Geplant Angeheftet Gesperrt Verschoben Error/Bug
9 Beiträge 5 Kommentatoren 861 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.
  • K Offline
    K Offline
    Kamikaze
    schrieb am zuletzt editiert von
    #1

    Hallo, ich habe ein Problem mit RegEx. Es werden Objekte aktiv, die es nicht sollen.

    Es stehen folgende Objekte zur Verfügung:

    javascript.0.Galaxy.aktivieren

    javascript.0.Arbeitszimmer.Schlafmodus_aktivieren

    javascript.0.Kinderzimmer.Schlafmodus_aktivieren

    javascript.0.Raspberrypi.aktivieren

    var trigger06 = new RegExp("\javascript\.0\..*\.aktivieren");
    on({id:trigger06,change:'any'}, function (obj) {
    ...
    }
    

    Erwartet habe ich: javascript.0.Galaxy.aktivieren und javascript.0.Raspberrypi.aktivieren.

    Es lösen aber alle Objekte das Ereignis aus.

    Wo ist der Fehler? Wenn ich einen RegEx Validator nehme, dann werden die richtigen Objekt gewählt.

    Vielen Dank für eure Hilfe.

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

      new RegExp("^javascript\.0\..+\.aktivieren$");

      1 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #3

        Ich habe Dein RegEx über einen online Validator geprüft. Bei allen vier IDs greift das RegEx.

        Das Skript verhält sich also richtig und der Fehler dürfte in Deinem RegEx liegen.

        [EDIT]

        Oh zeitgleich… Bluefox nur schon mit der Lösung ;-) Ich wollte mir die Lösung jetzt ansehen.

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

        1 Antwort Letzte Antwort
        0
        • K Offline
          K Offline
          Kamikaze
          schrieb am zuletzt editiert von
          #4

          Das klappt prima. Wenn ihr mir noch einen brauchbaren Validator nennen würdet, dann kann ich meine weiteren Aktivitäten selbst überprüfen.

          Der von mir verwendete bringt scheinbar keine brauchbaren Ergebnisse.

          Vielen Dank.

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pix
            schrieb am zuletzt editiert von
            #5

            https://regex101.com

            Gruß

            Pix

            Gesendet mit Tapatalk

            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
            • K Offline
              K Offline
              Kamikaze
              schrieb am zuletzt editiert von
              #6

              Also ich habe es noch einmal getestet:

              var trigger06 = new RegExp("\javascript.0..*.aktivieren"); löst alle Objekte aus.

              var trigger06 = new RegExp("$javascript\.0\..+\.aktivieren^"); löst kein Objekt aus.

              Irgendwie bin ich ratlos.

              Also Bedingung ist:

              javascript.0.Galaxy.aktivieren soll ausgelöst werden

              javascript.0.Arbeitszimmer.Schlafmodus_aktivieren soll nicht ausgelöst werden.

              javascript.0.Kinderzimmer.Schlafmodus_aktivieren soll nicht ausgelöst werden

              javascript.0.Raspberrypi.aktivieren soll ausgelöst werden

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                Versuche es mal so:

                var trigger06 = /^javascript\.0\..*\.aktivieren$/;
                on({id:trigger06,change:'any'}, function (obj) {
                ...
                }
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • K Offline
                  K Offline
                  Kamikaze
                  schrieb am zuletzt editiert von
                  #8

                  Hallo paul53,

                  ja, das ist es und ich bin exakt auf das gleiche Ergebnis gekommen, nachdem ich mit dem Validator ein wenig herumgespielt habe.

                  Vielen vielen Dank. Jetzt weiss ich wie ich weiter vorgehen muss.

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    Ich würde den RegExp unabhängig von der Javascript-Instanz machen:

                    var trigger06 = /^javascript\..+\.aktivieren$/;
                    

                    Die Version von Bluefox sollte auch funktionieren, wenn man ^ und $ austauscht (^ zum Anfang, $ an das Ende).

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    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

                    684

                    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