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 zu RegEx am Beispiel von Pix

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Frage zu RegEx am Beispiel von Pix

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 3 Kommentatoren 1.3k 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.
  • BBTownB Offline
    BBTownB Offline
    BBTown
    schrieb am zuletzt editiert von
    #2

    @tempestas:

    Jetzt kommt die IP, hier werde ich unsicher:

    (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)

    Klammern () –-> alles darin eingeschlossene abgreifen, "ein Block".

    25[0-5] –-> 250 bis 255 als Startteil der Sonos IP

    | –-> "oder"

    2[0-4][0-9] –-> 200 bis 249

    | –-> "oder"

    [01]? –-> 0 ODER 1 <u>kann</u> enthalten sein, <u>muss aber nicht</u>

    [0-9] –-> Zahl von 0 -9

    [0-9]? –-> Zahl von 0 -9 <u>kann</u> enthalten sein, <u>muss aber nicht</u>

    sonos.0.root.255

    sonos.1.root.237

    sonos.0.root.019 <– das kommt mir komisch vor, ich glaube, hier habe ich einen Verständnisfehler

    sonos.4.root.97 <--- kommt mir auch komisch vor

    sonos.7.root.136 <-- ebenfalls obskur `
    Du hast eigentlich fast alles korrekt aufgelöst

    Als Ergebnis sollen die SONOS Geräte gefunden werden.

    Beispielsweise: "192_168_178_51"

    Als IP Bereiche erlaubt wären Werte bis maximal 255_255_255_255 und die RegEx prüft nun von links nach rechts alle Kombinationen durch.

    Wenn ein Wert aus 3 Ziffern besteht und die ersten Ziffern sind 25, dann kann die folgende Ziffer nur noch zwischen 0 und 5 sein. (250-255) = [0-5].

    Besteht die erste Ziffer hingegen aus einer 1, dann können die folgenden Ziffern allerdings zwischen 0 und 9 sein da der Bereich von 100 - 199 gehen könnte [0-9].

    Da auch ein- oder zweistellige Ziffernfolgen möglich sein können (z.B. 10_10_1_52) wird eine Ziffer zwingend vorgeschrieben, weitere Ziffern können jedoch optional sein.

    Das wird mit dem Fragezeichen dargestellt.

    [0-9]? soll heißen "KEINE oder genau EINE Ziffer aus dem Bereich 0-9

    die gesuchte Zahl Endet jeweils am Unterstrich "_" da dann die nächste Ziffernfolge beginnt.

    Das Pipe-Symbol | ist - wie auch korrekt von dir aufgeführt, das "ODER.

    "Die Ziffernfolge beginnt mit 25, dann kann nur noch eine Zahl von 0-5 folgen ODER die Ziffernfolge beginnt mit einer 1, dann können auch größere Ziffern folgen" usw.

    [Edit]

    Nachttrag: Die Einführung in RegEx von Daniel Fett finde ich übrigens auch großartig

    https://danielfett.de/de/tutorials/tutorial-regulare-ausdrucke/

    ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #3

      Vielen Dank.

      Mein Fehler war offenbar, dass ich mich selbst gedanklich überlistet habe und nicht bedacht habe, dass IPs sehr whohl ja auch Bereiche wie 136… haben können. Bin halt nur BWLer ...

      Natürlich macht eine IP wie 013 nicht viel Sinn. Ich habe aber ignoriert, dass er sie einfach durchprobiert und wenns nicht gefunden wird, dann eben nicht, korrekt?

      Nachtrag: eine Frage habe ich doch noch:

      das [01]? bedeuted doch, dass der Block mit 0 oder 1 beginnen kann, aber nicht muss? Wieso nimmt man hier die 0 mit rein? Imho fängt eine IP doch nicht mit 0xx an, sondern wäre dann eben zweistellig, was wiederum durch die beiden folgenden Blöcke sichergestellt wird?

      Würde es nicht reichen, [1]? zu nehmen? Wenn nein, wieso nicht?

      Wo wir gerade so freundlich tippen, "on an unrelated side note":

      wie funktioniert der "coordinator" in Sonos 1.6? setState( sonos id.coordinator, [coordinator_ip mit unterstrichen] ) funktioniert bei mir nicht wie erhofft?

      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

      1 Antwort Letzte Antwort
      0
      • BBTownB Offline
        BBTownB Offline
        BBTown
        schrieb am zuletzt editiert von
        #4

        @tempestas:

        wie funktioniert der "coordinator" in Sonos 1.6? setState( sonos id.coordinator, [coordinator_ip mit unterstrichen] ) funktioniert bei mir nicht wie erhofft? `
        Der "coordinator" ist der Gruppenleiter. Ist ein SONOS in einer Gruppe, dann steht hier das SONOS Gerät zu dessen Gruppe es zugefügt wurde. Ist es in keiner Gruppe, dann einfach die eigene Nummer eintragen.

        Es wird genau genommen nicht die IP des Gerätes eingetragen, sondern die Objektbezeichung (auch wenn diese sich wiederum bei der Anlage aus der IP-Adresse ableitet)

        Mein Tipp:

        Schau dir die Datenpunkte an und steuere die Gruppen über eine SONOS App. Du kannst eigentlich recht gut ablesen was mit den Datenpunkten geschieht je nachdem was Du in der App einstellst.

        Anmerkung:

        Falls ein Mod das hier lieber als eigenes Thema sehen möchte - bitte gern verschieben :-)

        ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

        1 Antwort Letzte Antwort
        0
        • BBTownB Offline
          BBTownB Offline
          BBTown
          schrieb am zuletzt editiert von
          #5

          @tempestas:

          Würde es nicht reichen, [1]? zu nehmen? Wenn nein, wieso nicht? `
          Das würde ich auch annehmen; allerdings hat Pix viel mehr Erfahrung und vielleicht eine Erklärung 8-)

          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tempestas
            schrieb am zuletzt editiert von
            #6

            Danke Heiko,

            das habe ich getan. Ich bekomme es nur nicht hin, das coordinator Feld via Skript zu setzen. Daher meine Frage.

            ich meinte es so:

            setState(sonos.0.root.192_168_2_7.coordinator, 192_168_2_10);

            das geht irgendwie nicht?

            P.S: das Thema hatte ich schon separat aufgemacht, aber es gab leider keine Antworten. Und eben ist mir einfallen, dass du damals das Thema coordinator zumindest mit diskutiert hattest. Daher meine Frage an dich :)

            <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

            1 Antwort Letzte Antwort
            0
            • BBTownB Offline
              BBTownB Offline
              BBTown
              schrieb am zuletzt editiert von
              #7

              ist der Datenpunkt denn auf "write = true" eingestellt?

              ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                tempestas
                schrieb am zuletzt editiert von
                #8

                Werde ich prüfen :) aktuell kein Zugriff

                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                1 Antwort Letzte Antwort
                0
                • BBTownB Offline
                  BBTownB Offline
                  BBTown
                  schrieb am zuletzt editiert von
                  #9

                  Ich übergebe das ganze als string

                  Versuche es mal so:

                  setState("sonos.0.root.192_168_2_7.coordinator"/*coordinator Büro*/, '192_168_2_10')
                  

                  ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

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

                    @BBTown:

                    @tempestas:

                    Würde es nicht reichen, [1]? zu nehmen? Wenn nein, wieso nicht? Das würde ich auch annehmen; allerdings hat Pix viel mehr Erfahrung und vielleicht eine Erklärung 8-)
                    Hab auch nicht mehr Erfahrung 8-)

                    [01]?[0-9][0-9]?
                    

                    Ich dachte an eine Adresse wie diese````
                    192_168_0_100

                    
                    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
                    • BBTownB Offline
                      BBTownB Offline
                      BBTown
                      schrieb am zuletzt editiert von
                      #11

                      @pix:

                      Ich dachte an eine Adresse wie diese192_168_0_100 `
                      Welchen Teil daraus?

                      der letzte Block (100)?

                      oder der Vorletzte (0)?

                      würde das nicht so passen?

                      [012]?[0-9]?[0-9]
                      

                      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

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

                        @tempestas:

                        Würde es nicht reichen, [1]? zu nehmen? Wenn nein, wieso nicht? ` Ja, ist wohl richtig (ungetestet):

                        [01]?[0-9][0-9]?
                        

                        Die erste 0 kann wohl weg, um einen Block mit nur einer 0 abzudecken (wie hier 192.168.0.100).

                        [1]?[0-9][0-9]?
                        

                        Denn die einzelne 0 (hier im 3. Block) wird ja von der zweiten Gruppe [0-9] ohne Fragezeichen abgefangen (die Abfragen, die vorher mit 25 oder 2 beginnen kann man in diesem Falle ja eh überlesen).

                        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
                        • T Offline
                          T Offline
                          tempestas
                          schrieb am zuletzt editiert von
                          #13

                          @pix:

                          @BBTown:

                          @tempestas:

                          Würde es nicht reichen, [1]? zu nehmen? Wenn nein, wieso nicht? Das würde ich auch annehmen; allerdings hat Pix viel mehr Erfahrung und vielleicht eine Erklärung 8-)
                          Hab auch nicht mehr Erfahrung 8-)

                          [01]?[0-9][0-9]?
                          

                          Ich dachte an eine Adresse wie diese````
                          192_168_0_100

                          
                          Gruß
                          
                          Pix `  
                          

                          Ahh ok. Klar, mittendrin kann eine 0 vorkommen alleinstehend. und du hast dann einfach aus ökonomischen Gründen überall das gleiche Abfrage Format genommen, korrekt?

                          Frage: wenn ich [1]? [0-9] [0-9]? hätte aber meine IO ist tatsächlich so wie oben````
                          192_168_0_100

                          
                          ****Nachtrag****: eigentlich müsste es doch "nach vorne" rutschen, oder? Pix' Version fragt ja auch nur den ersten Block ab, der zweite MUSS da sein, der dritte kann. wobei ja strengenommen dann bei einstelligen IP Teilen der zweite Block nach vorne rutscht auf den "hunderter Platz", oder? Die Abfrage könnte ja quasi heißen x 9 x, wobei x hier "N/A" sein soll.
                          
                          Wenn das aber so ist, dann sollte doch das hier funktionieren:
                          
                          [1]? [0-9]? [0-9] Damit MUSSS mindestens eine Stelle da sein zwischen 0 und 9, es können mehr sein und ich kann alles von 0 bis 199 abgreifen? Für die 200er und drüber sind ja die anderen Blöcke definiert.
                          
                          Spannendes Thema.

                          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

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

                            @tempestas:

                            Spannendes Thema. `
                            Stimmt, aber ich habe die zugeteilte Portion Gehirnschmalz schon aufgebraucht. Läuft ja :lol: Ehrlich gesagt, kann man auch einfach einen Platzhalter nehmen, denn die IP-Adresse wird schon vom Sonos-Adapter korrekt erstellt werden. Sollte das was nicht laufen, ist wohl erstmal die Einstellung im Sonos-Adapter falsch.

                            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
                            • BBTownB Offline
                              BBTownB Offline
                              BBTown
                              schrieb am zuletzt editiert von
                              #15

                              dann wären wir für jeden Block wieder hier 8-)

                              [12]?[0-9]?[0-9]
                              

                              ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                tempestas
                                schrieb am zuletzt editiert von
                                #16

                                Haha ja, läuft.

                                Ich will ja immer nur lernen :) Von dir und so manch anderem habe ich hier eh schon dermaßen profitiert… :idea: :D

                                <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                1 Antwort Letzte Antwort
                                0
                                • T Offline
                                  T Offline
                                  tempestas
                                  schrieb am zuletzt editiert von
                                  #17

                                  @BBTown:

                                  dann wären wir für jeden Block wieder hier 8-)

                                  [12]?[0-9]?[0-9]
                                  ```` `  
                                  

                                  Stimmt. Hier war gerade soviel Bewegung im Thread, habe ich übersehen. Das müsste nach meinem heute erlangente Verständnis alles abgreifen.

                                  <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

                                  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

                                  694

                                  Online

                                  32.6k

                                  Benutzer

                                  82.2k

                                  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