Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Pegel der Donau per Parser auslesen

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Pegel der Donau per Parser auslesen

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

      hi Ihrs,

      Im Juni 2013 stand unser Garten 1,26 Meter unter Wasser und ich bin seither bei Tage langem Regenwetter immer extrem nervös und immer am schauen ob der Pegel steigt oder fällt.

      Daher bin ich gerade dran mich ein wenig einzulesen was "parsen" betrifft, würde gerne den Pegelstand der Donau in meinem Bereich auslesen, es soll ja möglich sein mit dem Parser Adapter auf einer Webseite zb. den aktuellen Pegelstand auszulesen und ab einer bestimmten höhe X soll eine Information per Pushover mich informieren.

      Was benötige ich dazu? Habe den Adapter Parser installiert und auch schon eine geeignete WebSeite (denke ich) gefunden, aber so richtig blicke ich nicht durch!

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

        @MyzerAT das Parsen erfolgt üblicherweise anhand von "regulären Ausdrücken" (RegEx)
        Man sucht nach eindeutigen Textstellen um den "Zieleintrag" ausfindig zu machen, und dann schränkt man den Bereich in dem der Zieleintrag (Wert?) steht ein.

        Ein sehr gutes Tutorial für RegEx findest Du hier
        Darüber hinaus kann man auf dieser Seite Reguläre Ausdrücke testen.
        Unten rechts im Kasten befindet sich zudem noch einmal eine Kurzrefrenz von regulären Ausdrücken

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

          Du musst dir den Quelltext der Webseite (z.b. F12 in Chrome oder über Rechte Maustaste) ansehen und dann versuchen mittels Regulärem Ausdruck den gewünschten Text / Wert aus dem Quellcode heraus zu filtern.

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

            und funktioniert das dann mit der oben verlinkten Webseite, bzw. wie muss ein Quelltext aufgebaut sein das das funktioniert?

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

              @MyzerAT google einfach mal nach "Quelltext einer Webseite anzeigen"

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

                @BBTown

                ich weiß ja wie man den Quelltext anzeigen lassen kann, was mir nicht bewusst ist wie ich da was auslesen können soll.

                Es geht um diese Seite

                mich interessieren folgente Werte:

                a4816b32-a8d5-4c19-a72f-dba353dd062e-grafik.png

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

                  @MyzerAT na, dann schlage ich vor Du schaust mal wo im Quelltext der Wert "204 cm" steht

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

                    hab ich doch schon längst

                    4ed9b878-edef-4bd0-b624-170abf24cf1a-grafik.png

                    dennoch ist aller Anfang schwer , wenn ich es mal gesehen habe , kapier ich es sofort

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

                      @MyzerAT
                      jetzt suchst Du per RegEx "Aktueller Wert" und danach 1 bis 3 Zahlen die anschließend kommen können. Das Ergenbis gehört in den Parser-Datenpunkt.

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

                        @BBTown sagte in Pegel der Donau per Parser auslesen:

                        Aktueller Wert

                        ist RegEx auch ein Adapter? sorry aber das ist hie wie Rätselraten für mich ^^

                        Ich habe in der Instanz folgendes eingegebene

                        30d75c9e-dc99-4117-bc3f-d174fc423cb3-grafik.png

                        ? Homoran 2 Replies Last reply Reply Quote 0
                        • ?
                          A Former User @MyzerAT last edited by

                          @MyzerAT hast du diesen Adapter getestet?
                          https://github.com/larsdecker/ioBroker.pegelonline

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

                            @MyzerAT sagte in Pegel der Donau per Parser auslesen:

                            @BBTown sagte in Pegel der Donau per Parser auslesen:

                            Aktueller Wert

                            ist RegEx auch ein Adapter? sorry aber das ist hie wie Rätselraten für mich ^^

                            Ich habe in der Instanz folgendes eingegebene

                            30d75c9e-dc99-4117-bc3f-d174fc423cb3-grafik.png

                            Das reicht nicht. Du musst

                            r Wert[^"]*"value">(\d+)
                            

                            Eintragen.

                            Das ist der RegEx

                            Außerdem den Typ auf number (nicht Boolean) umstellen

                            Für Tendenz:

                            enz[^"]*"value">(\w+)
                            

                            Und Zeichenkette als Typ

                            Wofür brauchst du das Datum?

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

                              naja Datum nicht unbedingt, aber ob steigen oder fallend wäre nicht schlecht

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

                                @MyzerAT
                                Dann liesmal

                                Falls Datum

                                nkt[^"]*"value">([^<]*)
                                

                                als Text

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

                                  @Homoran sagte in Pegel der Donau per Parser auslesen:

                                  nkt[^"]"value">([^<])

                                  super es klappt, ich verstehe aber nicht wirklich wie ihr auf diese "zeichenfolgen kommt" habe mir ein Video angesehen und muss das erst mal kapieren! Soviel weiß ich jetzt man benötigt zum testen --> https://regex101.com/

                                  2284651b-8013-438c-8ea3-c4a63031e800-grafik.png

                                  eventuell hat ja jemand mal lust mir das per TS und Teamviewer zu erklären, dann kapier ich es sicher!

                                  DANKE euch

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • MyzerAT
                                    MyzerAT @Homoran last edited by MyzerAT

                                    @Homoran sagte in Pegel der Donau per Parser auslesen:

                                    @MyzerAT
                                    Dann liesmal

                                    Falls Datum

                                    nkt[^"]*"value">([^<]*)
                                    

                                    als Text

                                    bist du so nett "bitte" und machst mir die zeichenfolge inkl, Uhrzeit

                                    96c3fec1-b555-4b83-8fef-e93d12302535-grafik.png

                                    dann habe ich zum Adapter noch eine Frage:

                                    Der poll-intervall steht auf 5000 , heisst alle 5 Sekunden werden die Werte abgefragt, wenn in der jeweiligen Regel kein Wert bei Intervall eingetragen ist?!

                                    Ich denke es müsste reichen alle 15 Minuten abzufragen!

                                    79f43d4c-1e0f-45e7-b2d7-4ececd4ed0c5-grafik.png

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @MyzerAT last edited by OliverIO

                                      @MyzerAT
                                      ja regex ist ein harte Nuss, auch ich muss mich da immer durchbeissen.
                                      regex101.com ist super zum testen und Beispielcode erzeugen (Code Generator)

                                      Als kleine Verbesserung würde ich nur die folgende Zeichenkette in all deinen Regeln verwenden
                                      und je nachdem was für ein Wert du zurück bekommen möchtest, den Num Wert anpassen.
                                      Der nachfolgende Ausdruck findet alle Werte, die in einem <td class="value"> feld sind (also insgesamt 4.
                                      Über den Num-Wert in der Maske kannst du dann auswäheln, gut ist, das das Ergebnis in der Maske auch gleich angezeigt wird. Achtung beim selektieren wird einb Leerzheichen hinter der letzten Klammer mitselektiert. Das darf nicht mit eingegeben werden, da dies dann zum Selektionsmuster dazugezält wird.

                                      "value">([^<]*)
                                      

                                      Zur Erklärung für die Zeichenkette (steht auf englisch etwas kryptisch auch in regex101 oben rechts.

                                      "value">
                                      

                                      sucht genau nach dieser zeichenfolge

                                      (
                                      

                                      alles was in Klammern steht wird als Parameter zurüggegeben, also da gehört dann auch das schliesende ) dazu

                                      [^<]
                                      

                                      identifiziert alle Zeichen bis auf <

                                      *
                                      

                                      Der Stern ist ein Multiplikator, der angibt, wie oft ein Zeichen gefunden werden soll

                                      Viel Spaß mit regex
                                      wenn du öfters in Texten intelligent mal was suchen sollst, dann lohnt sich das durchbeißen wirklich.

                                      1 Reply Last reply Reply Quote 1
                                      • MyzerAT
                                        MyzerAT last edited by MyzerAT

                                        So die wichtigsten Sachen für VIS was die Wasserpegel betrifft habe ich nun , jetzt muss ich noch ein Script machen was mich ab einem kritischen Wert informiert --> THX euch allen!

                                        4d715f90-d6db-431b-b494-aecd0ac5a58c-grafik.png

                                        #Edit#
                                        so script ist nun auch fertig

                                        162b98c9-f4d2-44bb-a68e-28004d743608-grafik.png

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

                                          @MyzerAT sagte in Pegel der Donau per Parser auslesen:

                                          machst mir die zeichenfolge inkl, Uhrzeit

                                          Das steht doch in diesem Post

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

                                            @Homoran

                                            das Datum, aber nicht die Zeit!

                                            wobei ich jetzt folgende Meldung bekomme

                                            host.RDJL_Home	2019-11-27 22:05:00.550	error	instance system.adapter.parser.0 terminated with code 156 ()
                                            

                                            ohne das ich was geändert hätte genau alle Minuten!

                                            #Edit#

                                            Ursache gefunden, hatte einen cron eingerichtet und das hat den Fehler verursacht
                                            d23cf398-11a2-4624-954e-3b5a4959014d-grafik.png
                                            hab ihn wieder rausgelöscht, habe ich deshalb gemacht weil irgend wie die Intervalle nicht gehen:

                                            9fe239cb-334d-466a-b6b3-182b876718b9-grafik.png

                                            hatte bei den Regeln jeweils 900000 eingestellt und er aktualisiert nicht die werte, 5000 finde ich doch ein wenig nieder, gibt es da was zu beachten ?!

                                            Homoran 2 Replies 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

                                            851
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            parser adapter
                                            6
                                            38
                                            1508
                                            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