Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Parser Adapter und Regex

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [gelöst] Parser Adapter und Regex

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Aiouh last edited by 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

      Homoran 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Aiouh last edited by

        @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?

        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Aiouh last edited by

          @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 1 Reply Last reply Reply Quote 1
          • S
            stoepselinho last edited by

            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"}
            
            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @stoepselinho last edited by Homoran

              @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

              1 Reply Last reply Reply Quote 0
              • S
                stoepselinho last edited by

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

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @stoepselinho last edited by

                  @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

                  1 Reply Last reply Reply Quote 0
                  • S
                    stoepselinho last edited by

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

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @stoepselinho last edited by

                      @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?

                      1 Reply Last reply Reply Quote 0
                      • S
                        stoepselinho last edited by

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

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @stoepselinho last edited by

                          @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

                          1 Reply Last reply Reply Quote 0
                          • S
                            stoepselinho last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • S
                              stoepselinho last edited by

                              Wie kann man denn auf Dateien zugreifen?

                              1 Reply Last reply Reply Quote 0
                              • S
                                stoepselinho last edited by

                                Kann man die Werte denn komplett in einen Datenpunkt schreiben?

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Aiouh @Homoran last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • A
                                    Aiouh @Aiouh last edited by

                                    @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 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate
                                    FAQ Cloud / IOT
                                    HowTo: Node.js-Update
                                    HowTo: Backup/Restore
                                    Downloads
                                    BLOG

                                    767
                                    Online

                                    31.6k
                                    Users

                                    79.4k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    16
                                    629
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo