Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Daten mit Parser Adapter auslesen

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

      Moin

      Ich habe mal eine Frage und zwar möchte ich mit dem Parser Adapter diverse Werte aus einer HTML auslesen wie von Geschäften die Öffnungszeiten an den jeweiligen Tagen und ob der Laden gerade offen oder geschlossen ist. die stellen im Code habe ich auch schon gefunden nur scheitert es gerade am RegEx. Hat das schonmal jemand gemacht und kann dabei evtl helfen?

      Screenshot_509.jpg

      padrino 1 Reply Last reply Reply Quote 0
      • padrino
        padrino Most Active @Denkra last edited by

        @Denkra
        Dafür wären der HTML Code Teil hilfreicher als ein Screenshot der Seite. 😉

        D 1 Reply Last reply Reply Quote 0
        • D
          Denkra TeamSpeak @padrino last edited by Denkra

          @padrino Beispiel öffnungszeiten für heute stehen so drin:

          <tr><td><span class="e_bold">Thursday</span></td><td><div class="hrRangeGrp"><div class="hrRange"><span class="e_bold">07:00 - 20:00</span></div></div></td></tr>
          

          Ob der Laden jetzt gerade geöffnet ist steht so:

          <span class="e_green b_positive">Open</span>
          

          Wenn 2 Öffnungszeiten angegeben sind steht es so drin:

          <tr><td>Friday</td><td><div class="hrRangeGrp"><div class="hrRange">08:00 - 13:00</div><div class="hrRange">15:00 - 18:00</div></div></td></tr>
          
          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @Denkra last edited by OliverIO

            @Denkra

            da google jederzeit das layout so ändern kann, das regex ins leere laufen kann, wäre der Ansatz
            über die Google Places API besser. Bei NPM gibt es dafür sogar eine Bibliothek.
            Die notwendige Datenstruktur nennt sich opening_hours

            https://developers.google.com/places/web-service/details?hl=de
            https://www.npmjs.com/package/google-places-web

            Alternativ kannst du ja mal die ganzen Seitensource bei regex101.com reinstellen
            und das entsprechende pattern zusammenstellen, die du dann in den parser übernehmen kannst.

            Da sich aber die Öffnungszeiten bei google nicht ständig ändern, wäre direkt abschreiben wahrscheinlich einfacher

            D M 2 Replies Last reply Reply Quote 0
            • D
              Denkra TeamSpeak @OliverIO last edited by

              @OliverIO Ja das Problem ist, das man die Google API nicht mehr kostenlos bekommt. Deswegen der Umweg über den Code und Bing als Suchmaschine

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

                @Denkra

                ja das kostet was. 1000 abfragen für 3 US-Dollar. (0,003 USD) pro Abfrage
                Für privat kann man so etwas schon bezahlen.
                Für business berechnest du das deinem Kunden weiter.

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

                  Hallo zusammen,
                  ich suche Unterstützung für die RexEX Abfrage der Patronen meies HP Druckers.
                  (?s)Patrone Schwarz(.?)([0-9-])% gibt mir auch auf https://regex101.com/ das richtige Ergebnis (z.B. 20 oder --)
                  regex.PNG
                  Bei Übernahme in den Adapter bekomme ich allerdings gesagt Syntax Error "invalid group"! Hoffe jemand kann mir helfen.

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

                    @Mike-Hellracer sagte in Daten mit Parser Adapter auslesen:

                    Hoffe jemand kann mir helfen.

                    ohne Quelltext leider nicht

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

                      Nachdem ich erfolgreich eine Webseite über den Parser mit RegEx auslesen kann habe ich jetzt das Problem, dass der Parser sich nach Stunden korrekter Funktion aufhängt also keine neuen Werte liefert obwohl sich die Werte in der Website ändern. Erst ein Neustart des Parser hilft dann. Gibt es dazu eine Lösung?

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

                        @werner2000x said in Daten mit Parser Adapter auslesen:

                        Gibt es dazu eine Lösung?

                        wenn man das Problem kennen würde, vielleicht.

                        Steht etwas im log?

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

                          @homoran Ja im Log steht, dass die Webseite nicht gelesen werden kann was aber merkwürdig ist, da die Webseite im lokalen Netz liegt. Es handelt sich um einen IPswitch-S0m-WiFi (ESP 8266) der als Stromzähler arbeitet.
                          0755e380-c820-4645-91df-796454125059-image.png

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

                            @werner2000x

                            3 Abfragen im abstand von 2! Millisekunden.
                            Da allerdings der Fehler eher auf Routing hindeutet, vermute ich, das da
                            eine flood-protection des Routers zum Einsatz einkommt.

                            Ich denke dein Skript hat noch ein Problem und fragt zu oft ab.
                            Setzt du Zeitintervalle zur Abfrage ein? Dann bauen sich über die Zeit wahrscheinlich zuviele davon auf, die dann alle das Gerät mit Abfragen befeuern und irgendwann sagt der Router/Firewall NEIN

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

                              @oliverio Ja Danke. Ich teste es mal mit Faktor 10 mehr Zeit. Die alten Abfragezeiten waren 1000ms, jetzt 10000ms. Mal sehen ob es klappt...

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

                                @werner2000x
                                ne wird nicht anders, es dauert nur länger bis das Problem wieder auftritt.
                                Prüfe dein Skript, du kannst es auch hier posten

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

                                  @oliverio Hier mein RegEx Script: .\d*.\d*.\d*(?=Wh)
                                  und der Testtext aus der html:

                                  <html><head><title>ISm</title></head><h2>IPswitch-S0m-WiFi: <hr><pre>S0 = 19.119.291Wh + 3W<FONT SIZE='-2'>, min= 3W, max. 174W</FONT><br>Limit Output = 1<br>MQTT connected= 1<FONT SIZE='-2'>, vor= 158s, connected= 5140, reconnected= 5208</FONT><br><hr><br><a href="http://192.168.198.38?ref=5">start refresh</a> <a href="http://192.168.198.38?inf=1">?</a> <a href="http://192.168.198.38?mmr=1">reset min/max</a><br><hr> <img src="/chart.cvg"/></FONT></pre><br>

                                  und das Ergebnis: 19.119.291

                                  Homoran OliverIO 3 Replies Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @werner2000x last edited by

                                    @werner2000x said in Daten mit Parser Adapter auslesen:

                                    und der Testtext aus der html:

                                    ist das der Quelltext, oder ein bereits in HTML umgewandelter?

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

                                      @werner2000x said in Daten mit Parser Adapter auslesen:

                                      <img src="/chart.cvg"/>

                                      lädt hier eigentlich der Parser auch das Bild?

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

                                        @homoran Das ist der Inhalt der Webseite im html Format, so wie der Parser die daten sieht.

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

                                          @werner2000x OK!
                                          in deinem Regex ist u.a. die 'Wh' mit in der Group, was ich nicht machen würde. ich würde mit 0 = ([\d.]+) arbeiten, aber ob das die Ursache ist????

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

                                            @werner2000x said in Daten mit Parser Adapter auslesen:

                                            @oliverio Hier mein RegEx Script: .\d*.\d*.\d*(?=Wh)
                                            und der Testtext aus der html:

                                            Nutzt du den parser-Adapter?
                                            Dann frage ich mich, wie die Abfragen im 2ms-Abstand zu Stande kamen.
                                            ich denke der kann auch nicht so schnell

                                            werner2000x 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

                                            654
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            regex parser
                                            6
                                            30
                                            2188
                                            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