Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Text mit PARSER Adapter auslesen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Text mit PARSER Adapter auslesen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @man10to last edited by Homoran

      @man10to sagte in Text mit PARSER Adapter auslesen:

      Das ist ein csv Export aus dem Portal ...

      dann ist das kein Quelltext und wird nicht klappen, zumal hier anscheinend noch weitere Anführungszeichen geschlabbert werden

      EDIT: Das scheint zu klappen

      \*[^;]+;"?([^"]+)"

      1 Reply Last reply Reply Quote 0
      • M
        man10to @Homoran last edited by

        @homoran Ja du hast recht. Ich war zu schnell...
        Aus dem Qelltext möchte ich dann für jede ladestation den Status auslesen

        Dies sind die Stationskennungen, mal mit drei * mal mit zwei.

        DE*CEM*EWFOEK20*991
        DE*CEM*EWFOEK20*771
        DE*cem*E740796*004
        DE*cem*E809189*001
        DE*cem*ESLP2
        

        Und der Status kann dann sein:

        Verfügbar
        "Versorgung läuft"
        "E-Auto zieht keine Energie"
        "ESDI liefert keine Energie"
        
        

        h3.JPG ee3a7b57-b740-4bc8-a9eb-d6163e06aea8-grafik.png

        Standort;EVSE-ID;"Status des Ladepunkts";Parkplatz-Status;"Status des Steuergeräts";Straße;"Letzter abgeschlossener  Ladevorgang";Ort;Lage;Phase;Zugriffsart;reservierbar;Sticker;"Whitelist Kundengruppen"
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*991;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*881;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*771;Verfügbar;-;Online;"Lange Straße";"2022-10-12 07:53:24";Wolfenbüttel;;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*661;"E-Auto zieht keine Energie";-;Online;"Lange Straße";;Wolfenbüttel;;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*551;"E-Auto zieht keine Energie";-;Online;"Lange Straße";"2022-10-12 07:30:31";Wolfenbüttel;;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*442;Verfügbar;-;Online;"Lange Straße";"2022-10-07 16:28:13";Wolfenbüttel;4B;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*441;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;4A;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*332;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;3B;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*331;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;3A;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*222;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;2B;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*221;"E-Auto zieht keine Energie";-;Online;"Lange Straße";"2022-10-12 07:47:14";Wolfenbüttel;2A;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*112;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;1B;AC;RFID;1;;
        WF_Ortseingang-TELEKOM;DE*CEM*EWFOEK20*111;Verfügbar;-;Online;"Lange Straße";;Wolfenbüttel;1A;AC;RFID;1;;
        "Ostfalia_WF_R_Parkplatz Recht Salzdahlumer Str. 46/48";DE*cem*E809189*002;Verfügbar;-;Online;"Salzdahlumer Str.";"2022-10-12 13:04:50";Wolfenbüttel;;AC;RFID;1;;
        "Ostfalia_WF_R_Parkplatz Recht Salzdahlumer Str. 46/48";DE*cem*E809189*001;Verfügbar;-;Online;"Salzdahlumer Str.";"2022-10-12 11:00:24";Wolfenbüttel;;AC;RFID;1;;
        Ostfalia_SZ;DE*cem*E740796*004;"Versorgung läuft";-;Online;"Karl Scharfenberg";"2022-10-12 10:53:47";Salzgitter;;AC;RFID;1;;
        Ostfalia_SZ;DE*cem*E740796*003;"E-Auto zieht keine Energie";-;Online;"Karl Scharfenberg";"2022-10-12 09:50:42";Salzgitter;;AC;RFID;1;;
        Ostfalia_SZ;DE*cem*E740796*002;"E-Auto zieht keine Energie";-;Online;"Karl Scharfenberg";"2022-10-11 17:19:09";Salzgitter;;AC;RFID;1;;
        Ostfalia_SZ;DE*cem*E740796*001;"E-Auto zieht keine Energie";-;Online;"Karl Scharfenberg";"2022-10-11 13:08:10";Salzgitter;;AC;RFID;1;;
        Ostfalia_WF_H;DE*cem*ESLP2;"Versorgung läuft";-;Online;"Salzdahlumer Str.";"2022-10-12 11:33:27";Wolfenbüttel;;AC;RFID;1;;
        Ostfalia_WF_H;DE*cem*ESLP1;Verfügbar;-;Online;"Salzdahlumer Str.";"2022-10-12 12:41:51";Wolfenbüttel;;AC;RFID;1;;
        Ostfalia_WF_H;DE*cem*EMLP2;"Versorgung läuft";-;Besetzt;"Salzdahlumer Str.";"2022-10-11 15:45:30";Wolfenbüttel;;AC;RFID;1;;
        Ostfalia_WF_H;DE*cem*EMLP1;"Versorgung läuft";-;Besetzt;"Salzdahlumer Str.";"2022-10-12 11:39:19";Wolfenbüttel;;AC;RFID;1;;
        
        
        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @man10to last edited by

          @man10to sagte in Text mit PARSER Adapter auslesen:

          Aus dem Qelltext möchte ich dann für jede ladestation den Status auslesen

          da du mit dem Parser sowieso nur ein Ergebnis bekommst, ist es egal dass

          @man10to sagte in Text mit PARSER Adapter auslesen:

          die Stationskennungen, mal mit drei * mal mit zwei.

          sind.
          Dann kannst du den jeweiligen RegEx verwenden

          @man10to sagte in Text mit PARSER Adapter auslesen:

          Und der Status kann dann sein:

          das macht kein Problem.

          passt der zuletzt per Edit geschriebene RegEx?

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

            @man10to sagte in Text mit PARSER Adapter auslesen:

            Gibt es irgend ein tutuorial in dem man das nachlesen kann ?

            Screenshot_20221012-150434_Firefox.jpg

            M 1 Reply Last reply Reply Quote 0
            • M
              man10to @Homoran last edited by Homoran

              @homoran bisher konnte ich da nur tests machen. Aber ein Tutuorium konnte ich nicht finden.

              Irgendwie hab ich noch nicht rausgefunden wie man auf das 2 oder 4 te vorkommen zugreifen kann.
              beim Test wird ja alles gefunden aber wenn im Adapter bekomme ich immer nur die erste Fundstelle angezeigt.
              Auch wenn ich bei num eine andere einstelle

              Ich suche mit "numberOfInstallations": "(.*\d+)
              in dem folgenden Code und möchte z.b. das dritte vorkommen haben
              oder geht das anders ? Ich möchte halt die insallierten bio, public oder windkraftanlagen auslesen

              
              {
              
                  "regionCode": "03254",
                "timestamp": {
                  "start": "1666177200",
                  "end": "1666178100"
                },
                          "autarky": "27.933826145612795",
                "secondaryInFeed": "24584.262896638596",
                "consumptions": {
                  "list": [
                                {
                      "name": "domestic",
                      "unit": "kWh",
                      "usage": "8541.133629709944",
                      "numberOfInstallations": "90296",
                      "timestamp": "1666177200"
                    },            {
                      "name": "public",
                      "unit": "kWh",
                      "usage": "646.2639121908843",
                      "numberOfInstallations": "1554",
                      "timestamp": "1666177200"
                    },            {
                      "name": "industrial",
                      "unit": "kWh",
                      "usage": "24926.058996408185",
                      "numberOfInstallations": "11532",
                      "timestamp": "1666177200"
                    }          ],
                  "total": "34113.456538309016"
                },
                "feedIn": {
                  "list": [
                                {
                      "name": "bio",
                      "unit": "kWh",
                      "usage": "4590.596031211449",
                      "numberOfInstallations": "46",
                      "installedCapacity": "56246",
                      "timestamp": "1666177200"
                    },            {
                      "name": "solar",
                      "unit": "kWh",
                      "usage": "3806.189983341895",
                      "numberOfInstallations": "5026",
                      "installedCapacity": "80239.61100000002",
                      "timestamp": "1666177200"
                    },            {
                      "name": "water",
                      "unit": "kWh",
                      "usage": "332.00724527440605",
                      "numberOfInstallations": "19",
                      "installedCapacity": "3990",
                      "timestamp": "1666177200"
                    },            {
                      "name": "others",
                      "unit": "kWh",
                      "usage": "189.2494276691446",
                      "numberOfInstallations": "201",
                      "installedCapacity": "27607.77",
                      "timestamp": "1666177200"
                    },            {
                      "name": "wind",
                      "unit": "kWh",
                      "usage": "611.1509541735244",
                      "numberOfInstallations": "68",
                      "installedCapacity": "113850",
                      "timestamp": "1666177200"
                    }          ],
                  "total": "9529.193641670421"
                },
                      "energyMix": "27.79763095775404",
                "dailyCo2Savings": "87688.94558826505"
              }
              

              MOD-EDIT: Code in code-tags gesetzt!

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

                @man10to sagte in Text mit PARSER Adapter auslesen:

                Irgendwie hab ich noch nicht rausgefunden wie man auf das 2 oder 4 te vorkommen zugreifen kann.
                beim Test wird ja alles gefunden aber wenn im Adapter bekomme ich immer nur die erste Fundstelle

                indem du Num entsprechend anpasst

                M 1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @man10to last edited by OliverIO

                  @man10to sagte in Text mit PARSER Adapter auslesen:

                  Das ist ein csv Export aus dem Portal

                  Wenn man mehrere Werte aus einem CSV auslesen möchte, wäre es dann nicht besser mit einem kleinen Skript zu arbeiten?
                  Das ist ja mühsam und fehleranfällig für jeden Datensatz und jedes Feld ein eigenes Regex zu erzeugen.
                  Mit der bibliothek https://www.npmjs.com/package/csv-parse
                  geht das wunderbar,

                  kann man die csv aus dem portal online direkt abrufen?

                  und zum 2. Beispiel im gleichen thread??? besser wäre dazu ein neuen thread anzulegen
                  das ist doch direkt json, auch hier geht das mit einem skript wesentlich einfacher als den mit regex zu interpretieren.
                  wenn du vom 2. oder 3. redest. das kann bei einem anderen abruf schon wieder eine andere reihenfolge haben und dann ist es das 5.
                  und er hat den code/json schon wieder nicht in code-tags gepackt.

                  wenn ihr euch nicht sicher seid ob das genau die richtige lösung ist, dann bitte ergebnisoffen fragen. sonst fallen wir (auch ich) immer wieder drauf rein, das das nicht die beste lösung ist und helfen (doktern) an lösungen herum die eigentlich keine guten sind und morgen schon wieder umfallen. =frust bei allen

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

                    @oliverio sagte in Text mit PARSER Adapter auslesen:

                    wäre es dann nicht besser mit einem kleinen Skript zu arbeiten?

                    ja!

                    1 Reply Last reply Reply Quote 0
                    • M
                      man10to @Homoran last edited by

                      @homoran das hab ich versucht, aber wenn ich etwas anderes als 0 einstelle wird nichts mehr angezeigt ...

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

                        @man10to sagte in Text mit PARSER Adapter auslesen:

                        @homoran das hab ich versucht, aber wenn ich etwas anderes als 0 einstelle wird nichts mehr angezeigt ...

                        zeigen

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          man10to @Homoran last edited by

                          @homoran

                          sobald ich bei Num was anderes einstelle wird das bei Ergebniss nicht angezeigt ...

                          6f20285f-c89d-4465-98bf-909f3d70e439-grafik.png

                          8a7f6b88-f623-4c08-ad50-6c4873e3b9cf-grafik.png

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

                            @man10to das ist doch nicht mein RegEx!

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              man10to @Homoran last edited by

                              @homoran ok, wo gibt es deins ?

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

                                @man10to was ist hier eigentlich los?
                                Hier scheint es drunter und drüber zu gehen.

                                geht es hier dauernd um verschiedene Quelltexte?
                                oder kommen "nur" dauernd neue Informationen?

                                ich habe immer den gesamten Quelltext haben wollen, damit man wahlweise ein eindeutiges Ergebnis, oder ein mehrfach nutzbares ReEx erstellen kann. Mit Schnipseln geht das nicht. Und ein Einzeltreffer kann bei einem ungeeigneten RegEx nicht einfach per Num für andere Fundstellen genutzt werden.

                                für dein letztes JSON wäre es berOfI[^\:]+\: \"(\d+) da geht es auch mit NUM
                                aber mach es besser mit einem Skript

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  man10to @Homoran last edited by

                                  @homoran Es tut mir echt leid das ich das so unkoordiniert gemacht habe.
                                  Nach deinem ersten Hinweis auf den ganzen Quelltext habe ich wirklich versucht immer den ganzen Quelltext zu versenden.
                                  Ich bin dir sehr Dankbar für die Hilfe und un funktioniert das auch genauso wie gewünscht. Ich findes es fanzinierend wie schnell und gut du Antwortest und kann deine Verärgerung schon etwas nachvollziehen.
                                  Mein erster Ansatz war ja das ich selbst herausfinde wie solche Strings gefunden werden. Leider komme ich mit der Seite zum testen zar zum Testen kalr aber nicht für die Anleitung bzw das verständniss wie genau die syntax ist.
                                  Gibt es da überhaupt etwas ?

                                  Nochmals entschuldigung für die Verwirrung..

                                  Egbert

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

                                    @man10to sagte in Text mit PARSER Adapter auslesen:

                                    Gibt es da überhaupt etwas ?

                                    nicht wirklich, aber in regex101 wird jede Regel einzeln sehr gut erklärt, und wenn du einen kompletten RegEx gebaut hast, wird dieser nochmals in seine Bestandteile zerlegt erläutert

                                    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

                                    936
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    22
                                    904
                                    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