Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Adapter - Parser (regEx)

    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

    Adapter - Parser (regEx)

    This topic has been deleted. Only users with topic management privileges can see it.
    • BBTown
      BBTown last edited by

      @amnesia106:

      Bringt das richtige Ergebnis, jedoch wird es nicht in das Objekt geschrieben.

      https://regex101.com/r/4ctx9q/1 ` Was ist denn wenn du die "Rolle" von Datenpunkt "Gesamtenergie" von "state" auf "value" änderst?

      Hat der Datenpunkt als Art/Type "Zahl" oder "Logikwert"?

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

        Ich denke eher dass die settings im Parser-Adapter für diesen Regex falsch sind. (u.a. Rolle und Typ)

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • A
          amnesia106 last edited by

          Im Parser wäre Rolle „Wert“- Typ „Number“

          Ich hab schon alle Rollen usw. durchgetestet. Aber was nebenbei- wenn das Ergebnis im Parser stimmt,

          Ist das regex richtig? Also liegt es nur noch an der Verarbeitung in Iobroker?

          Ich hab jetzt alle Rollen und Typen durchgetestet. Er schreibt keinen Wert:

          Device Error wenn ich mit der Maus auf dem Wert bleibe, in dem kleinen Fenster was da kommt(Objekte Reiter) mehr nicht.

          Der Status wird einwandfrei ausgelesen. (Gleiche URL)

          URL ist:http://pvserver:passwort@192.168.2.250/index.fhtml

          An der falschen URL kann es nicht liegen. Da der Status ja auch über die gleiche URL ausgelesen wird.

          So langsam bin ich am Ende mit meinen Ideen

          €: das ist das webinterface: @homoran- ich habe es von deinem Post (gleiches Thema Seite 4) übernommen, da es das gleiche ist, und genauso aussieht. Langsam habe ich den Verdacht, dass es an den Kästchen liegt, wo der Wert von der PV reingeschrieben wird. Der Status steht nämlich so „einfach“ ohne solch ein wertekästchen.. aber du hattest ja mal gesagt, dass du deinen auslesen konntest.

          Trotzdem alles kurios, da das Ergebnis im parser richtig angezeigt wird. Als String, Json, number- bekomme ich das richtige Ergebnis.
          1744_32f62f67-9792-4af8-9af8-ffe8ff2c39f5.jpeg

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

            @amnesia106:

            aber du hattest ja mal gesagt, dass du deinen auslesen konntest. `
            Ich hatte über den parser nur den Status, die anderen Werte hatte ich über ein shell script in die CCU als SysVar und über hm-Rega in ioBroker 😉

            Bitte klicke bei dem State in den Objekten mal rechts den Bleistift an, wähle dann den Reiter RAW (nur Experten) und poste den Inhalt.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • A
              amnesia106 last edited by

              RAW von Gesamtenergie im Spoiler:

              ! ````
              {
              "from": "system.adapter.admin.0",
              "ts": 1519326754876,
              "common": {
              "name": "Gesamtenergie",
              "unit": "",
              "type": "number",
              "role": "value",
              "write": false,
              "read": true
              },
              "native": {
              "link": "http://pvserver:mondeo@192.168.2.250/index.fhtml",
              "regex": "Gesamtenergie.\n.\s*\s([0-9]*)",
              "interval": "",
              "substitute": "",
              "factor": 1,
              "offset": 0,
              "item": 0,
              "substituteOld": false,
              "comma": false
              },
              "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
              },
              "_id": "parser.0.Gesamtenergie",
              "type": "state"
              }

              1 Reply Last reply Reply Quote 0
              • BBTown
                BBTown last edited by

                Du hast "write" auf false … da wird es schwer etwas in den Datenpunkt reinzuschreiben 😉

                1 Reply Last reply Reply Quote 0
                • A
                  amnesia106 last edited by

                  Das macht der Adapter automatisch. Ich hab da nichts umgestellt, Moment ich ändere und berichte.

                  €: bringt nix- parser fährt nicht mehr hoch danach. Außerdem steht Einspeisen MPP auch nur auf lesen true und es funktioniert. Wenn ihr euch eure parser Objekte anschaut stehen die bestimmt auch nur auf lesen true.

                  Also weiter gehts. 🙂

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

                    Ich hätte auch auf das write = false getippt, aber tatsächlich, bei mir steht da auch false: Das bedeutet nur, dass du unter Objekte nicht manuell ändern kannst.

                    Aber postet doch bitte, bitte endlich mal eure Parser Adaptereinstellungen!

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • A
                      amnesia106 last edited by

                      Update:

                      Ich habe es geschafft die aktuelle Leistung über regex getestet über #FFFFF auszulesen. Da aber viele Werte mit FFFFF auslesbar sind muss ich es hinterher über nen NUM im parser Parlamentarierin.

                      Sprich aktuell ist NUM0 - aktuelle Leistung.

                      Gehe ich aber auf NUM1 - Gibt er mir Anfangs die Gesamtenergie aus.

                      Was auch soweit richtig ist. Ich habe zum Test ein 5sek Polling eingestellt.

                      Sie da: aktuelle Leistung ändert sich prima alle 5 sek. Aber: die gesamtenergie springt immer ein FFFFF wert weiter aus der html.

                      1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown last edited by

                        @amnesia106:

                        Das macht der Adapter automatisch. Ich hab da nichts umgestellt, Moment ich ändere und berichte.

                        €: bringt nix- parser fährt nicht mehr hoch danach. Außerdem steht Einspeisen MPP auch nur auf lesen true und es funktioniert. Wenn ihr euch eure parser Objekte anschaut stehen die bestimmt auch nur auf lesen true.

                        Also weiter gehts. 🙂 ` Du hast vollkommen wahr :shock: 8-)

                        Allerdings hat mein Parser kein Problem damit, wenn ich wirte=true setze

                        hmm, ich bin ratlos …

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

                          @amnesia106:

                          ich es hinterher über nen NUM im parser Parlamentarierin. `
                          DANKE!

                          deshalb wollte ich die Konfig sehen!!!!

                          http://forum.iobroker.net/viewtopic.php … UM#p126201

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • N
                            nibblerrick last edited by

                            Ich probiere gerade den Adapter aus, das Meiste klappt auch, ich habe aber ein seltsames Problem:

                            https://regex101.com/r/oyqcAe/1/

                            Hier kann man den Text sehen und sehen, dass es dort funktioniert.

                            Vortag</td>.?\n?.?(-?\d+.?\d+)<

                            Den ".?\n?.?"-Teil habe ich mit "?" gemacht, falls der iobroker-Parser mit den Zeilenumbruechen und Leerzeichen anders umgeht, macht aber keinen Unterschied, ob die "?" drin sind.

                            Ich tippe am Ende des Parsereintrags auf bearbeiten (Bleistift) und das entsprechende Fenster oeffnet sich, Seite wird geladen, kein Ergebnis angezeigt.

                            Stelle ich auf Number(,) um, gibt es ein Ergebnis. Stelle ich wieder auf Number um, gibt es das Ergebnis. Am Anfang macht auf der "playbutton" nicht, nach Umstellen geht er zum Ergebnis im Text.

                            Ich habe das Gestern schon mit andern Eintraegen der Seite gehabt, gleiches Verhalten, da ich da allerdings die beiden relevanten Werte durch "**" filtern konnte habe ich nur darauf gefiltert und den ersten und zweiten ermittelten Werte (Num=0 und =1) genommen. Das war dann in der gleichen Zeile alles und sobald man auf den Bleistift drueckt gibt es auch das Ergebnis.

                            Es scheint mir, dass der da irgendwie mit dem was ueber einen Zeilenumbruch hinausgeht ein Problem hat, ich kann nur nicht nachvollziehen was fuer eines.

                            Jemand ne Idee?** 3803_firefox_2018-02-24_10-31-50.png
                            3803_firefox_2018-02-24_10-32-26.png
                            3803_firefox_2018-02-24_10-32-35.png

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

                              Ich habe mal den RegEx so gemacht, wie ich es machen würde (Was natürlich nichts heißt):

                              Vortag<\/td>\n.+(-?\d+\.\d+)<
                              

                              und bekomme damit zumindest im Regex101 auch ein Ergebnis.

                              Wie kommst du auf ein Problem mit dem Zeilenumbruch? damit habe ich im Parser noch nie Probleme gehabt.

                              ich tippe eher auf die "Leerzeichen" vor dem nächsten . Sind ggf. TAB

                              Gruß

                              Rainer

                              1 Reply Last reply Reply Quote 0
                              • N
                                nibblerrick last edited by

                                Ich meinte mit ueber den Zeilenumbruch hinaus einfach alles zwischen dem Ende der Zeile und den naechsten Buchstaben also Zeilenumbruch und/oder whitespace for dem naechsten.

                                Habe deine Variante auch probiert, aber exakt das gleiche Verhalten wie bei meiner Variante.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bigtwinch last edited by

                                  Guten Tag

                                  Kann mir jemand mit regEX helfen? Ich bin ein totaler Anfänger.

                                  regEX ist für einen Epson WF-7620 Tintenstand.

                                  Wie kann ich den wert für auslesen.

                                  Source ist eine html page mit ul statements siehe example:

                                  example:

                                  • BK

                                  • ….

                                    Gruss

                                    Christian

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

                                    Hallo und Willkommen im Forum!

                                    ich bräuchte den ganzen Quelltext.

                                    bitte in spoiler und code-Tags posten

                                    Gruß

                                    Rainer

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      bigtwinch last edited by

                                      Hallo Rainer,

                                      danke für die Rückmeldung

                                      Wenn ich versuche die Page im Spoiler einzufügen erhalte ich nur die meldung:

                                      Diese Seite funktioniert nicht

                                      Chrome hat auf dieser Seite ungewöhnlichen Code erfasst und diese Seite daher blockiert, um Ihre personenbezogenen Daten wie Passwörter, Telefonnummern oder Kreditkarteninformationen zu schützen.

                                      Versuchen Sie, die Startseite aufzurufen.

                                      ERR_BLOCKED_BY_XSS_AUDITOR

                                      😢

                                      Wie kriege ich den html in de Spoiler?

                                      Christian

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        bigtwinch last edited by

                                        Hatt nun doch noch Funktioniert!

                                        ! <title>WF-7620 Series</title>Status > Druckerstatus
                                        ! <fieldset class="group no-legend">
                                        ! <form target="_top" action="/PRESENTATION/ADVANCED/COMMON/TOP" method="post" id="input_form" name="input_form">
                                        ! * <select class="select" id="SEL_LANG" name="SEL_LANG" onchange="return document.input_form.submit();"><option value="1">English</option><option value="2">Français</option><option value="4" selected="">Deutsch</option><option value="3">Italiano</option><option value="5">Español</option><option value="6">Português</option></select>
                                        ! </form>
                                        ! </fieldset>
                                        ! <fieldset class="group no-legend">
                                        ! <noscript><div>Aktivieren Sie die JavaScript-Einstellung des Browsers.</div></noscript>
                                        ! * Verfügbar
                                        ! </fieldset>
                                        ! *

                                        BK
                                        

                                        ! *

                                        C
                                        

                                        ! *

                                        M
                                        

                                        ! *

                                        Y
                                        

                                        ! *

                                        ![](../../IMAGE/Icn_Mb.PNG)
                                        

                                        ! <fieldset class="group no-legend">
                                        ! <dl class="values">
                                        ! <dt class="key">Schwarz (BK) :</dt>
                                        ! <dd class="value clearfix">27/27XL/27XXL</dd>
                                        ! <dt class="key">Cyan (C) :</dt>
                                        ! <dd class="value clearfix">27/27XL</dd>
                                        ! <dt class="key">Magenta (M) :</dt>
                                        ! <dd class="value clearfix">27/27XL</dd>
                                        ! <dt class="key">Gelb (Y) :</dt>
                                        ! <dd class="value clearfix">27/27XL</dd>
                                        ! <dt class="key">Wartungsbox :</dt>
                                        ! <dd class="value clearfix">T6711</dd>
                                        ! </dl>
                                        ! </fieldset>
                                        ! <fieldset class="group no-legend">
                                        ! <fieldset class="group"><legend class="group">Kassette 1</legend>
                                        ! <dl class="values">
                                        ! <dt class="key">Papiergröße :</dt>
                                        ! <dd class="value clearfix">A4 297 x 210 mm</dd>
                                        ! <dt class="key">Papiertyp :</dt>
                                        ! <dd class="value clearfix">Normalpapier</dd>
                                        ! </dl>
                                        ! </fieldset>
                                        ! <fieldset class="group"><legend class="group">Kassette 2</legend>
                                        ! <dl class="values">
                                        ! <dt class="key">Papiergröße :</dt>
                                        ! <dd class="value clearfix">A3 297 x 420 mm</dd>
                                        ! <dt class="key">Papiertyp :</dt>
                                        ! <dd class="value clearfix">Normalpapier</dd>
                                        ! </dl>
                                        ! </fieldset>
                                        ! </fieldset>
                                        ! <fieldset class="group no-legend">
                                        ! <dl class="values">
                                        ! <dt class="key">Epson Connect-Status :</dt>
                                        ! <dd class="value clearfix">Nicht registriert</dd>
                                        ! <dt class="key">Epson Connect-eMail-Adresse :</dt>
                                        ! <dt class="key">Google Cloud Print-Status :</dt>
                                        ! <dd class="value clearfix">Nicht registriert</dd>
                                        ! </dl>
                                        ! </fieldset>
                                        ! <fieldset class="group no-legend">
                                        ! <dl class="values">
                                        ! <dt class="key">Firmware-Version :</dt>
                                        ! <dd class="value clearfix">AD24I5 23.05</dd>
                                        ! <dt class="key">Stammzertifikat-Version :</dt>
                                        ! <dd class="value clearfix">02.00</dd>
                                        ! <dt class="key">Seriennummer :</dt>
                                        ! <dd class="value clearfix">S9VY050696</dd>
                                        ! <dt class="key">Wi-Fi/Netzwerk-MAC-Adresse :</dt>
                                        ! <dd class="value clearfix">AC:18:26:3D:42:F2</dd>
                                        ! </dl>
                                        ! </fieldset>
                                        ! <fieldset class="group no-legend">
                                        ! <dl class="values">
                                        ! <dt class="key">Datum und Zeit :</dt>
                                        ! <dd class="value clearfix">19-07-2018 12:51 UTC+00:00</dd>
                                        ! </dl>
                                        ! </fieldset>
                                        ! <fieldset class="group no-legend">
                                        ! <dl class="values">
                                        ! <dt class="key">Administratorname/Kontaktinformationen :</dt>
                                        ! </dl>
                                        ! </fieldset>

                                        1 Reply Last reply Reply Quote 0
                                        • bahnuhr
                                          bahnuhr Forum Testing Most Active last edited by

                                          Hallo,

                                          ich möchte auf der Seite "Osthessen Blitzer" die Nachrichten auslesen.

                                          Seitenquelltext wie folgt:

                                          
                                                  <title>Osthessen Blitzer</title>
                                          
                                                      ![](head_blitzer.png)
                                          
                                                          [![](banner_opel.jpg)](http://www.opel-fahr-fulda.de/gebrauchte_angebote.html)
                                          
                                                      14:52kopiert von osthessen-blitzer.de
                                          
                                                      12:38In **Rotenburg an der Fulda am Ortseingang** von Lispenhausen her kommend.
                                          
                                          08:56Auf der **A4, Kirchheim Richtung Bad Hersfeld**, auf der Asbachtalbrücke in einer 100er Zone.
                                          
                                          07:39In **Fulda, Bundesstraße 254 - Maberzeller Straße** an der Bushaltestelle, in beide Richtungen.
                                          
                                          07:01In **Wartenberg-Landenhausen**, in der Salzschlirfer Straße.
                                          
                                                      Werden Sie Blitzer-Melder 
                                           Telefon-Blitzer-Hotline : 0661-480 488 0 
                                          
                                                      oder per Mail: [**Blitzer
                                                      melden**](mailto:redaktion@osthessen-news.de?subject=Osthessen-Blitzer)
                                          
                                                          [©
                                                              Copyright 2015 **Osthessen-News.de**](http://osthessen-news.de/impressum.php "Osthessen-News") 
                                          
                                           **![](blitzer_img.png)
                                                          [![](playstore.png)](https://play.google.com/store/apps/details?id=de.osthessennews.onblitzer)
                                                          [![](appstore.png)](https://itunes.apple.com/de/app/osthessen-blitzer/id963040850?mt=8&uo=4)
                                          
                                                              ![](qr_blitzer.png)
                                          
                                          Auch mobil immer informiert !
                                          Aktuelle Blitzer-Warnungen
                                                                  auf Ihrem Smartphone
                                          
                                          www.osthessen-blitzer.de/m/
                                          
                                                  d.on** 
                                          ```` **Die nachrichten stehen jeweils im Text hinter "nachricht".
                                          
                                          Aktuell wohl 4 Nachrichten.
                                          
                                          Könnt ihr mir mal helfen?
                                          
                                          Wie bekomme ich diese Nachrichten in Objekte oder array, etc.
                                          
                                          Danke
                                          
                                          mfg
                                          
                                          Dieter**
                                          1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by

                                            @bigtwinch:

                                            Hatt nun doch noch Funktioniert! `
                                            Das war einfach (test auf regex101.com)

                                            Ink_K.PNG' height='(\d+)
                                            

                                            für die anderen Farben dann das K durch C, M, Y, Waste oder Icn_Mb erstezen oder:

                                            height='(\d+)
                                            

                                            nehmen und dann "number" jeweils 0 bis 5 einstellen.

                                            Für jede "Farbe" eine Regel

                                            Gruß

                                            Rainer

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            770
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            43
                                            268
                                            100085
                                            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