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. ioBroker Allgemein
  4. [gelöst] Parser Adapter und Regex

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Parser Adapter und Regex

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
16 Beiträge 3 Kommentatoren 1.1k Aufrufe 1 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.
  • A Offline
    A Offline
    Aiouh
    schrieb am zuletzt editiert von Aiouh
    #1

    Hallo
    ich nutze zum Testen von Regex immer https://regex101.com/. Abgesehen davon dass ich mich mit den expressions an sich noch abmühe bekomme ich manche Ausdrücke die dort in PHP OK sind nicht in Java also im Parser Adapter ans Laufen.

    Hier mein aktuelles Problem.
    Ich möchte aus der letzten vollständigen Zeile immer den ersten zweistelligen Wert mit einer Nachkommastelle extrahieren. Dann in einem weiteren RegEx den zweiten zweistelligen Wert mit einer Nachkommastelle.
    Im Beispiel also erst 43.0 und dann 39.5
    Die Zeilen mit "undefined" können in beliebiger Zahl, oder gar nicht vorhanden sein und müssen ignoriert werden.

    datetime,n_dayAVG,n_nightAVG
    2021-02-13T23:00:00Z,0,38.75689941512687
    2021-02-14T06:00:00Z,42.928258741926456,39.480753102759024
    2021-02-15T06:00:00Z,43.75857849703471,39.9099923987705
    2021-02-16T06:00:00Z,40.64147976311876,39.62856460216651
    2021-02-17T06:00:00Z,43.01380733014874,39.58893298143956
    undefined,0,0
    undefined,0,0
    undefined,0,0
    

    Mein Letzter Fehlversuch... https://regex101.com/r/RCOwBl/1

    Wäre für Hilfe dankbar

    HomoranH 2 Antworten Letzte Antwort
    0
    • A Aiouh

      Hallo
      ich nutze zum Testen von Regex immer https://regex101.com/. Abgesehen davon dass ich mich mit den expressions an sich noch abmühe bekomme ich manche Ausdrücke die dort in PHP OK sind nicht in Java also im Parser Adapter ans Laufen.

      Hier mein aktuelles Problem.
      Ich möchte aus der letzten vollständigen Zeile immer den ersten zweistelligen Wert mit einer Nachkommastelle extrahieren. Dann in einem weiteren RegEx den zweiten zweistelligen Wert mit einer Nachkommastelle.
      Im Beispiel also erst 43.0 und dann 39.5
      Die Zeilen mit "undefined" können in beliebiger Zahl, oder gar nicht vorhanden sein und müssen ignoriert werden.

      datetime,n_dayAVG,n_nightAVG
      2021-02-13T23:00:00Z,0,38.75689941512687
      2021-02-14T06:00:00Z,42.928258741926456,39.480753102759024
      2021-02-15T06:00:00Z,43.75857849703471,39.9099923987705
      2021-02-16T06:00:00Z,40.64147976311876,39.62856460216651
      2021-02-17T06:00:00Z,43.01380733014874,39.58893298143956
      undefined,0,0
      undefined,0,0
      undefined,0,0
      

      Mein Letzter Fehlversuch... https://regex101.com/r/RCOwBl/1

      Wäre für Hilfe dankbar

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

      @aiouh sagte in Parser Adapter und Regex:

      manche Ausdrücke die dort in PHP OK sind nicht in Java also im Parser Adapter ans Laufen.

      natürlich nicht, da musst du in regex101.com auch auf javascript umstellen.
      php ist eine andere Sprache

      @aiouh sagte in Parser Adapter und Regex:

      Ich möchte aus der letzten vollständigen Zeile immer den ersten zweistelligen Wert mit einer Nachkommastelle extrahieren

      ist das gepostete der vollständige Quelltext?

      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
      • A Aiouh

        Hallo
        ich nutze zum Testen von Regex immer https://regex101.com/. Abgesehen davon dass ich mich mit den expressions an sich noch abmühe bekomme ich manche Ausdrücke die dort in PHP OK sind nicht in Java also im Parser Adapter ans Laufen.

        Hier mein aktuelles Problem.
        Ich möchte aus der letzten vollständigen Zeile immer den ersten zweistelligen Wert mit einer Nachkommastelle extrahieren. Dann in einem weiteren RegEx den zweiten zweistelligen Wert mit einer Nachkommastelle.
        Im Beispiel also erst 43.0 und dann 39.5
        Die Zeilen mit "undefined" können in beliebiger Zahl, oder gar nicht vorhanden sein und müssen ignoriert werden.

        datetime,n_dayAVG,n_nightAVG
        2021-02-13T23:00:00Z,0,38.75689941512687
        2021-02-14T06:00:00Z,42.928258741926456,39.480753102759024
        2021-02-15T06:00:00Z,43.75857849703471,39.9099923987705
        2021-02-16T06:00:00Z,40.64147976311876,39.62856460216651
        2021-02-17T06:00:00Z,43.01380733014874,39.58893298143956
        undefined,0,0
        undefined,0,0
        undefined,0,0
        

        Mein Letzter Fehlversuch... https://regex101.com/r/RCOwBl/1

        Wäre für Hilfe dankbar

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

        @aiouh sagte in Parser Adapter und Regex:

        Ich möchte aus der letzten vollständigen Zeile immer den ersten zweistelligen Wert mit einer Nachkommastelle extrahieren

        Z,(\d+.\d) im parser Adapter dann Number=4

        @aiouh sagte in Parser Adapter und Regex:

        Dann in einem weiteren RegEx den zweiten zweistelligen Wert mit einer Nachkommastelle.

        Z,[^,]+,(\d+.\d) ebenfalls num=4

        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 -

        A 1 Antwort Letzte Antwort
        1
        • S Offline
          S Offline
          stoepselinho
          schrieb am zuletzt editiert von
          #4

          Hallo,
          Gibt es eine Anleitung wie man mit Regex was auslesen kann?

          Möchte gerne mehrere Werte hieraus haben z.B. die 84 hinter der Qualität% oder die 89 hinter Schlaf%

          26.03.2021, 11:22{"Qualität%":"84","Schlaf":"7,08","Qualität":"5,06","Tief%":"98","bpm%":"168","bpm":"61","Tief":"2,36","Schlaf%":"89","Schlafbewertung":"93"}
          25.03.2021, 17:02{"Qualität%":"42","Schlaf":"5,22","Qualität":"2,54","Tief%":"21","bpm%":"164","bpm":"56","Tief":"0,50","Schlaf%":"65","Schlafbewertung":"57"}
          
          HomoranH 1 Antwort Letzte Antwort
          0
          • S stoepselinho

            Hallo,
            Gibt es eine Anleitung wie man mit Regex was auslesen kann?

            Möchte gerne mehrere Werte hieraus haben z.B. die 84 hinter der Qualität% oder die 89 hinter Schlaf%

            26.03.2021, 11:22{"Qualität%":"84","Schlaf":"7,08","Qualität":"5,06","Tief%":"98","bpm%":"168","bpm":"61","Tief":"2,36","Schlaf%":"89","Schlafbewertung":"93"}
            25.03.2021, 17:02{"Qualität%":"42","Schlaf":"5,22","Qualität":"2,54","Tief%":"21","bpm%":"164","bpm":"56","Tief":"0,50","Schlaf%":"65","Schlafbewertung":"57"}
            
            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von Homoran
            #5

            @stoepselinho sagte in Parser Adapter und Regex:

            Gibt es eine Anleitung wie man mit Regex was auslesen kann?

            Bestimmt! müsste man mal googeln.
            Jeder Befehl von RegEx wird z.B. auf regex101.com beschrieben, und das fertige Regex nochmals analysiert

            @stoepselinho sagte in Parser Adapter und Regex:

            Möchte gerne mehrere Werte hieraus haben

            da bietet sich aber eher js/Blockly an. Das ist ein json, da nimmt man den Block "Attribut von ..." in diesem Fall Qualität% und erhält den Wert

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

              Wie bekomm ich denn die JSON Datei in Iobroker rein?
              Wo genau finde ich denn Attribut von?

              HomoranH 1 Antwort Letzte Antwort
              0
              • S stoepselinho

                Wie bekomm ich denn die JSON Datei in Iobroker rein?
                Wo genau finde ich denn Attribut von?

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

                @stoepselinho sagte in Parser Adapter und Regex:

                Wie bekomm ich denn die JSON Datei in Iobroker rein?

                wo kommt sie denn her?

                @stoepselinho sagte in Parser Adapter und Regex:

                Wo genau finde ich denn Attribut von?

                unter den System-Blöcken

                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
                • S Offline
                  S Offline
                  stoepselinho
                  schrieb am zuletzt editiert von
                  #8

                  Die Datei wird auf Handy automatisch erstellt und dann im Netzwerk gespeichert.

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • S stoepselinho

                    Die Datei wird auf Handy automatisch erstellt und dann im Netzwerk gespeichert.

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

                    @stoepselinho sagte in Parser Adapter und Regex:

                    und dann im Netzwerk gespeichert.

                    kommst du da vom ioBroker aus dran?
                    was steht alles in der Datei?
                    immer nur eine Zeile?

                    sonst noch irgendwelche Infos?

                    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
                    • S Offline
                      S Offline
                      stoepselinho
                      schrieb am zuletzt editiert von
                      #10

                      Sonst steh nichts drin jeden Tag kommt oben eine neue Zeile dazu.
                      Kann man denn mit Iobroker im Netzwerk auf Dateien zugreifen?

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • S stoepselinho

                        Sonst steh nichts drin jeden Tag kommt oben eine neue Zeile dazu.
                        Kann man denn mit Iobroker im Netzwerk auf Dateien zugreifen?

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

                        @stoepselinho sagte in Parser Adapter und Regex:

                        Kann man denn mit Iobroker im Netzwerk auf Dateien zugreifen?

                        ja

                        @stoepselinho sagte in Parser Adapter und Regex:

                        jeden Tag kommt oben eine neue Zeile dazu.

                        dann wird es schwieriger - aber auch mit dem parser
                        woher soll denn ioBroker wissen aus welcher Zeile du den Wert haben möchtest

                        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
                        • S Offline
                          S Offline
                          stoepselinho
                          schrieb am zuletzt editiert von
                          #12

                          Will nur einmal am Tag die oberste Zeile quasi auslesen. Also immer nur die neusten Werte

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            stoepselinho
                            schrieb am zuletzt editiert von
                            #13

                            Wie kann man denn auf Dateien zugreifen?

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              stoepselinho
                              schrieb am zuletzt editiert von
                              #14

                              Kann man die Werte denn komplett in einen Datenpunkt schreiben?

                              1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @aiouh sagte in Parser Adapter und Regex:

                                Ich möchte aus der letzten vollständigen Zeile immer den ersten zweistelligen Wert mit einer Nachkommastelle extrahieren

                                Z,(\d+.\d) im parser Adapter dann Number=4

                                @aiouh sagte in Parser Adapter und Regex:

                                Dann in einem weiteren RegEx den zweiten zweistelligen Wert mit einer Nachkommastelle.

                                Z,[^,]+,(\d+.\d) ebenfalls num=4

                                A Offline
                                A Offline
                                Aiouh
                                schrieb am zuletzt editiert von
                                #15

                                @homoran Ich nochmal..
                                Meine Quell URL hat sich geändert :(
                                Ich bekomme nun manchmal ungültige und verstümmelte Zeilen geliefert.

                                datetime,n_dayAVG,n_nightAVG
                                2021-02-13T23:00:00Z,0,38.75689941512687
                                2021-02-14T06:00:00Z,42.928257453226456,39.480753102759024
                                2021-02-15T06:00:00Z,43.75857849703471,39.9099923987705
                                undefined,0,0
                                2021-02-16T06:00:00Z,40.64147976311876,39.0
                                2021-02-17T06:00:00Z,43.0135633014874,39.58893298143956
                                undefined,0,0
                                undefined,0,0
                                undefined,0,0
                                

                                Die Frage ist nun, ob ich hier mit dem Parser noch richtig unterwegs bin.
                                Eigentlich sollen die Daten ja in meine MySQl Datenbank.
                                Importieren des gesamten files geht nicht weil das Format zu fehlerhaft ist.
                                Ich habe es im Regex 101 hinbekommen nur die gültigen Daten in den gültigen Zeilen in Gruppen zu fassen.
                                Also verstümmelte Zeilen ignorieren und bei der Zeit das T und das Z weglassen.
                                REGEX
                                Aber ich steh auf dem Schlauch wie is das nun Zeilenweise in die Datenbank extrahiert bekomme. Dort würde ich es dann in die Spalten zerlegen und speichern.
                                Jede bessere Idee ist natürlich willkommen :) , ich kann leider weder Java noch PHP..nur Google... ;)

                                A 1 Antwort Letzte Antwort
                                0
                                • A Aiouh

                                  @homoran Ich nochmal..
                                  Meine Quell URL hat sich geändert :(
                                  Ich bekomme nun manchmal ungültige und verstümmelte Zeilen geliefert.

                                  datetime,n_dayAVG,n_nightAVG
                                  2021-02-13T23:00:00Z,0,38.75689941512687
                                  2021-02-14T06:00:00Z,42.928257453226456,39.480753102759024
                                  2021-02-15T06:00:00Z,43.75857849703471,39.9099923987705
                                  undefined,0,0
                                  2021-02-16T06:00:00Z,40.64147976311876,39.0
                                  2021-02-17T06:00:00Z,43.0135633014874,39.58893298143956
                                  undefined,0,0
                                  undefined,0,0
                                  undefined,0,0
                                  

                                  Die Frage ist nun, ob ich hier mit dem Parser noch richtig unterwegs bin.
                                  Eigentlich sollen die Daten ja in meine MySQl Datenbank.
                                  Importieren des gesamten files geht nicht weil das Format zu fehlerhaft ist.
                                  Ich habe es im Regex 101 hinbekommen nur die gültigen Daten in den gültigen Zeilen in Gruppen zu fassen.
                                  Also verstümmelte Zeilen ignorieren und bei der Zeit das T und das Z weglassen.
                                  REGEX
                                  Aber ich steh auf dem Schlauch wie is das nun Zeilenweise in die Datenbank extrahiert bekomme. Dort würde ich es dann in die Spalten zerlegen und speichern.
                                  Jede bessere Idee ist natürlich willkommen :) , ich kann leider weder Java noch PHP..nur Google... ;)

                                  A Offline
                                  A Offline
                                  Aiouh
                                  schrieb am zuletzt editiert von
                                  #16

                                  @aiouh ich habs gelöst. Mit WGET und cron job die files holen und mit Mysql "load infile" in die Datenbank importieren. Parser war hier nicht das Richtige, aber ansonsten bin ich immer noch vom Parser begeistert.

                                  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
                                  FAQ Cloud / IOT
                                  HowTo: Node.js-Update
                                  HowTo: Backup/Restore
                                  Downloads
                                  BLOG

                                  748

                                  Online

                                  32.6k

                                  Benutzer

                                  82.0k

                                  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