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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Daten mit Parser Adapter auslesen

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

                                            @oliverio Nein, ich hatte auf 1000ms eingestellt, jetzt 10000ms.

                                            OliverIO 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

                                            778
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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