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. Tester
  4. Adapter - Parser (regEx)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

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

Adapter - Parser (regEx)

Geplant Angeheftet Gesperrt Verschoben Tester
268 Beiträge 43 Kommentatoren 137.8k Aufrufe 9 Watching
  • Ä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.
  • Q Qlink

    hätte mir mal folgendes zusammengebastelt:

    (?<="Core #3 VID",)\n "SensorValue": "[0-9]+(,[0-9]+)?

    aber damit fehlt mir die Stelle vor dem Komma und er nimmt mir auch das Wort SensorValue mit:

    regex.PNG

    https://regex101.com/r/oHCIgq/2

    Wie bekomme ich die 2 Sachen weg ?

    DiginixD Offline
    DiginixD Offline
    Diginix
    schrieb am zuletzt editiert von Diginix
    #235

    @Qlink

    Core #3 VID",\s*"SensorValue": "(\d+,\d+)",
    

    Die runde Klammer kommt nur um den Teil den du auch als Ergebnis willst. Du hast nur die Nachkommastelle in Klammern und den Namen "Core..." brauchst du gar nicht.
    Den trägst du im Parser Adapter als Namen des Objektes ein. So bekommt das Objekt dann nur den eigentlichen Wert 0,7...
    Der Parser trimmt bei mir schon alle Zeilenumbrüche usw. Der RegEx für den Adapter darf als nicht mehr nach Zeilenumbrüchen suchen. Daher müsste es wohl dann im Adapter so aussehen:

    Core #3 VID",.*"SensorValue": "(\d+,\d+)",
    

    ..:: So long! Tom ::..

    NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

    1 Antwort Letzte Antwort
    0
    • Q Offline
      Q Offline
      Qlink
      schrieb am zuletzt editiert von
      #236

      @Diginix

      Danke für deine Hilfe!
      Mit deinem ersten Vorschlag hab ich den Nuller vor dem Komma auch schonmal dabei. D.h. der Wert wäre soweit schonmal vollständig.
      Den Name Core... brauche ich glaube ich schon in der Abfrage, da das Format "SensorValue" ... mit genau dem Wert öfters auf der Homepage vorkommt und ich sonst nicht wüsste wie ich den richtigen Wert erwische ...

      Mit deinem zweiten Vorschlag kommt allerdings auf regex101.com nur "no matches found"

      DiginixD 1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von Homoran
        #237

        Der ioBroker Parser schein mit dem \n nicht zurechtzukommen.
        Gib mir ein paar Minuten, ich teste es mal.

        EDIT:
        probiere das mal:

        Core #3 VID"[^\:]+:\s\"(\d\,\d+)
        

        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 -

        HomoranH 1 Antwort Letzte Antwort
        0
        • Q Offline
          Q Offline
          Qlink
          schrieb am zuletzt editiert von
          #238

          @Homoran

          hmm da hab ich bei regex101 zwar den vollen Wert, aber unter Full Match auch wieder Core #3 VID ... dabei:
          siehe hier:
          regex.PNG

          https://regex101.com/r/oHCIgq/3

          Das hätte ich dann ja auch in iobroker bei den objects dabei, was mir den Zahlenwert unbrauchbar macht oder habe ich hier einen Denkfehler ?

          HomoranH 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            Der ioBroker Parser schein mit dem \n nicht zurechtzukommen.
            Gib mir ein paar Minuten, ich teste es mal.

            EDIT:
            probiere das mal:

            Core #3 VID"[^\:]+:\s\"(\d\,\d+)
            
            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #239

            @Homoran sagte in Adapter - Parser (regEx):

            Der ioBroker Parser schein mit dem \n nicht zurechtzukommen.
            Gib mir ein paar Minuten, ich teste es mal.

            EDIT:
            probiere das mal:

            Core #3 VID"[^\:]+:\s\"(\d\,\d+)
            

            EDIT2:
            das ganze lässt sich zum einen noch verkürzen, zum anderen noch variabler gestalten:

            Core[^\:]+:\s\"(\d+\,\d+)
            

            Jetzt erwischst du alles mit "Core" über den gleichen RegEx und du musst im Parser-Adapter unter "Num" das gewünschte Ergebnis rausfiltern

            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
            • Q Qlink

              @Homoran

              hmm da hab ich bei regex101 zwar den vollen Wert, aber unter Full Match auch wieder Core #3 VID ... dabei:
              siehe hier:
              regex.PNG

              https://regex101.com/r/oHCIgq/3

              Das hätte ich dann ja auch in iobroker bei den objects dabei, was mir den Zahlenwert unbrauchbar macht oder habe ich hier einen Denkfehler ?

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von Homoran
              #240

              @Qlink sagte in Adapter - Parser (regEx):

              habe ich hier einen Denkfehler ?

              Ja!

              Das Ergebnis ist die Group (grün)

              der full match (blau) ist alles was du zur identifizierung dieser Group verwendest

              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
              • Q Offline
                Q Offline
                Qlink
                schrieb am zuletzt editiert von
                #241

                ahhh okay und im parser Adapter passiert erst die unterscheidung welchen Wert über NUM !
                Ich glaub jetzt hab ichs :)

                Ich werds mal so versuchen anzulegen und schaue wie es sich verhält.

                Vielen Dank für die Hilfe!

                Beste Grüße

                HomoranH 1 Antwort Letzte Antwort
                0
                • Q Qlink

                  @Diginix

                  Danke für deine Hilfe!
                  Mit deinem ersten Vorschlag hab ich den Nuller vor dem Komma auch schonmal dabei. D.h. der Wert wäre soweit schonmal vollständig.
                  Den Name Core... brauche ich glaube ich schon in der Abfrage, da das Format "SensorValue" ... mit genau dem Wert öfters auf der Homepage vorkommt und ich sonst nicht wüsste wie ich den richtigen Wert erwische ...

                  Mit deinem zweiten Vorschlag kommt allerdings auf regex101.com nur "no matches found"

                  DiginixD Offline
                  DiginixD Offline
                  Diginix
                  schrieb am zuletzt editiert von Diginix
                  #242

                  @Qlink Mein zweiter Vorschlag war ja auch für den Parser. Hab ja geschrieben dass der Adapter keinen Zeilenumbruch braucht.
                  Um mit regex101 wirklich den regex für den Adapter erarbeiten zu können, muss man die Quell Daten "minified" machen. Also alle Einrückungen und Zeilenumbrüche entfernen.
                  Der Rest wurde hier glaube ausreichend erklärt.

                  ..:: So long! Tom ::..

                  NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                  1 Antwort Letzte Antwort
                  0
                  • Q Qlink

                    ahhh okay und im parser Adapter passiert erst die unterscheidung welchen Wert über NUM !
                    Ich glaub jetzt hab ichs :)

                    Ich werds mal so versuchen anzulegen und schaue wie es sich verhält.

                    Vielen Dank für die Hilfe!

                    Beste Grüße

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #243

                    @Qlink sagte in Adapter - Parser (regEx):

                    im parser Adapter passiert erst die unterscheidung welchen Wert über NUM !

                    Ja!

                    Entweder musst du für jeden Fall ein eindeutiges RegEx bauen, so dass es nur ein match gibt, oder du nimmst ein möglichst universelles (aber Achtung, da sollte kein Mist bei rauskommen) und filterst dann die z.B.21 matches über die Num

                    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 -

                    DiginixD 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @Qlink sagte in Adapter - Parser (regEx):

                      im parser Adapter passiert erst die unterscheidung welchen Wert über NUM !

                      Ja!

                      Entweder musst du für jeden Fall ein eindeutiges RegEx bauen, so dass es nur ein match gibt, oder du nimmst ein möglichst universelles (aber Achtung, da sollte kein Mist bei rauskommen) und filterst dann die z.B.21 matches über die Num

                      DiginixD Offline
                      DiginixD Offline
                      Diginix
                      schrieb am zuletzt editiert von
                      #244

                      @Homoran Ich bevorzuge eindeutige Matches so es denn unique Werte gibt mit denen das möglich ist. Wenn man mehrere Werte aus einer Quelle will, muss man so oder so mehrere Objekte mit jeweils einem RegEx erstellen. Man kann natürlich bei z.B. 3 Werten und einem universellen RegEx mit 3 Klammerpaaren dann mit Num 0-2 arbeiten, aber ich hab eben lieber 3 verschiedene RegEx die exakt nur da matchen wo einer der 3 Werte existiert.
                      Je nach Quelldaten kann es aber sein dass man Num braucht.

                      ..:: So long! Tom ::..

                      NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • DiginixD Diginix

                        @Homoran Ich bevorzuge eindeutige Matches so es denn unique Werte gibt mit denen das möglich ist. Wenn man mehrere Werte aus einer Quelle will, muss man so oder so mehrere Objekte mit jeweils einem RegEx erstellen. Man kann natürlich bei z.B. 3 Werten und einem universellen RegEx mit 3 Klammerpaaren dann mit Num 0-2 arbeiten, aber ich hab eben lieber 3 verschiedene RegEx die exakt nur da matchen wo einer der 3 Werte existiert.
                        Je nach Quelldaten kann es aber sein dass man Num braucht.

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #245

                        @Diginix
                        ich eigentlich auch.

                        Nur für Einsteiger mit dem Parser-Adapter kann es einfacher sein, den RegEx zu kopieren und die num einzustellen

                        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
                        • Q Offline
                          Q Offline
                          Qlink
                          schrieb am zuletzt editiert von
                          #246

                          Ich habe jetzt soweit alle Werte.

                          Einzig die geschätzte Laufzeit meiner USV ärgert mich etwas. Ich würde gerne 1 oder 2 Nachkommastellen ebenfalls auslesen, bekomme aber nur Stellen vor dem Komma:

                          mit

                          
                          "Estimated Runtime"[^\:]+:\s\"(\d+)
                          
                           {
                              "SensorApp": "HWiNFO",
                              "SensorClass": "UPS",
                              "SensorName": "Estimated Runtime",
                              "SensorValue": "51,6833333333333",
                              "SensorUnit": "min",
                              "SensorUpdateTime": 1559130047
                            },
                          

                          regex.PNG

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • Q Qlink

                            Ich habe jetzt soweit alle Werte.

                            Einzig die geschätzte Laufzeit meiner USV ärgert mich etwas. Ich würde gerne 1 oder 2 Nachkommastellen ebenfalls auslesen, bekomme aber nur Stellen vor dem Komma:

                            mit

                            
                            "Estimated Runtime"[^\:]+:\s\"(\d+)
                            
                             {
                                "SensorApp": "HWiNFO",
                                "SensorClass": "UPS",
                                "SensorName": "Estimated Runtime",
                                "SensorValue": "51,6833333333333",
                                "SensorUnit": "min",
                                "SensorUpdateTime": 1559130047
                              },
                            

                            regex.PNG

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #247

                            @Qlink
                            Die zahl beinhaltet ein komma.

                            Versuch mal als typ "zahl mit komma"

                            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
                            • Q Offline
                              Q Offline
                              Qlink
                              schrieb am zuletzt editiert von
                              #248

                              Nummer mit Komma ist im Parser Adapter ausgewählt:

                              parser2.PNG

                              DiginixD 1 Antwort Letzte Antwort
                              0
                              • Q Qlink

                                Nummer mit Komma ist im Parser Adapter ausgewählt:

                                parser2.PNG

                                DiginixD Offline
                                DiginixD Offline
                                Diginix
                                schrieb am zuletzt editiert von
                                #249

                                @Qlink \d matcht nur bei Ziffern. Gebrochene Zahlen enthalten aber Ziffern plus Dezimaltrennzeichen. Auch wenn dieser ein Punkt ist, würde \d nicht matchen. Alle Trennzeichen müssen explizit mit ins regex.

                                So sollte es funktionieren:

                                "Estimated Runtime"[^\:]+:\s\"(\d+,\d+)
                                

                                ..:: So long! Tom ::..

                                NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                1 Antwort Letzte Antwort
                                2
                                • Q Offline
                                  Q Offline
                                  Qlink
                                  schrieb am zuletzt editiert von
                                  #250

                                  Super, danke so klappts auch mit den Nachkommastellen ! :)

                                  Beste Grüße

                                  1 Antwort Letzte Antwort
                                  0
                                  • P Offline
                                    P Offline
                                    PatrickFro
                                    schrieb am zuletzt editiert von
                                    #251

                                    Hallo zusammen,

                                    ich komme mit dem Parser nicht zurecht. Ich versuche von der Seite https://abfahrten.hvv.de/75870033-9dd4-41c0-81bb-903c93fdc819 Bus-Nummer, Richtung und Abfahrzeit auszulesen. Ich habe dunkle Views erstellt, da passt die weiße Farbe einfach nicht rein. Leider schaffe ich jedoch nicht, mit dem Parser etwas auszulesen. Kann mir dabei jemand helfen?

                                    Danke schon vorab!

                                    OliverIOO 1 Antwort Letzte Antwort
                                    0
                                    • DiginixD Offline
                                      DiginixD Offline
                                      Diginix
                                      schrieb am zuletzt editiert von
                                      #252

                                      So wie es aussieht werden die Werte per Javascript in der Seite gesetzt. Ich weiß nicht ob der Parser das erst noch interpretiert oder ob der nur mit statischem html umgehen kann.

                                      ..:: So long! Tom ::..

                                      NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        PatrickFro
                                        schrieb am zuletzt editiert von
                                        #253

                                        Schade... Gibt es denn eine andere Möglichkeit die Daten auszulesen? Oder zumindest die Farben der eingebundenen Webseite zu invertieren?

                                        1 Antwort Letzte Antwort
                                        0
                                        • H Offline
                                          H Offline
                                          hannoi
                                          schrieb am zuletzt editiert von
                                          #254

                                          Kurze Verständnis Frage, ich parse auf der clever-tanken Seite einen Super Plus Wert z.B. Tanke

                                          Mit dem RegEx

                                          (?:4">)(\d+.\d.)
                                          

                                          bekomme ich auch über die regex101 Seite einen entsprechenden Match der auch wunderbar passt. Wenn ich mir nun den erzeugten Datenpunkt anschaue, finde ich dort nur den Wert ohne Punkt angezeigt:
                                          Bildschirmfoto 2019-06-12 um 11.36.49.png

                                          Ansonsten steht die Regel auf Rolle "Wert" und der Typ ist "Nummer mit Komma", wo hab ich den Denkfehler?

                                          Danke für Hinweise.

                                          Grüße

                                          HomoranH 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          799

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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