Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Temperaturwert aus einfacher HTML Seite 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

    Temperaturwert aus einfacher HTML Seite Auslesen.

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

      Hab gerade entdeckt das in der Konfiguration der Wert erkannt wird. Also ist das Problem nur das er nicht angezeigt wird. An was kann das liegen?
      8569_bildschirmfoto_2018-08-29_um_17.04.55.png

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

        Leider kann ich deinen Screenshot nicht erkennen.

        Steht da bool ???

        da muss number stehen.

        Ein Intervall von 100 Millisekunden ist auch ziemlich ambitioniert

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • K
          Karl_999 last edited by

          @pzudematrick:

          An was kann das liegen? `
          Zum einen ist wohl hinter dem ":" noch ein Zeilenumbruch.

          Daher würde ich erst einmal nur nach der Zahl parsen (es gibt keine zweite):

          (\d+.\d+)
          

          Das wird aber keine negativen Zahlen zurückgeben.

          Du kannst übrigen unter https://regex101.com/ selbst ganz einfach reguläre Ausdrücke testen.

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

            @Karl_999:

            Zum einen ist wohl hinter dem ":" noch ein Zeilenumbruch. `
            Korrekt, steht auch im Regex, der ja auch das korrekte Ergebnis liefert.

            @Karl_999:

            (\d+.\d+) `
            Dieser Regex war auch meine erste Lösung, aber sollte aus irgendeinem Grund einmal ein Ganzzahl ohne dezimaltrenner erscheinen führt das zu einem Fehler.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • K
              Karl_999 last edited by

              @Homoran:

              Korrekt, steht auch im Regex, der ja auch das korrekte Ergebnis liefert. `
              Das habe ich beim Überfliegen nicht gesehen gehabt. Da hast du natürlich recht.

              @Homoran:

              Karl_999 hat geschrieben: ↑

              29.08.2018, 19:31

               (\d+.\d+)
              

              Dieser Regex war auch meine erste Lösung, aber sollte aus irgendeinem Grund einmal ein Ganzzahl ohne dezimaltrenner erscheinen führt das zu einem Fehler. `
              Das stimmt - zumindest nach https://regex101.com/r/4dNX3N/1 - nicht

              Aber für den Fall kann man es auch so schreiben:

              (\d+.?\d+)
              

              Und um auch negative negative Zahlen sauber zu parsen gibt es

              (-?\d+.?\d+)
              

              Aber immer noch unter der Voraussetzung, dass in der Seite nur eine Zahl auftaucht.

              1 Reply Last reply Reply Quote 0
              • P
                pzudematrick last edited by

                Als aller erstes schon einmal danke für die Antworten und Hilfestellungen.

                Leider immer noch gleiches Problem mir wird der Wert bei Objekte nicht angezeigt.

                Im Adapter in den Einstellungen jedoch schon.

                Habe noch einmal Bilder angehängt.

                Mit freundlichen grüßen 😉 8569_bildschirmfoto_2018-08-29_um_21.41.49.png 8569_bildschirmfoto_2018-08-29_um_21.41.34.png

                1 Reply Last reply Reply Quote 0
                • P
                  pzudematrick last edited by

                  Habe Folgenden Code Verwendet:````
                  (-?\d+.?\d+)

                  1 Reply Last reply Reply Quote 0
                  • P
                    pzudematrick last edited by

                    Muss mich entschuldigen es funktioniert jetzt 😉

                    Meine nächste Frage wie bekomme ich es hin das Verschiedene Werte in verschiedenen Zeilen ausgelesen werden können?

                    Also in diesem Webserver sollen in Zukunft mehrer Werte stehen?

                    Danke im Voraus 😉

                    1 Reply Last reply Reply Quote 0
                    • K
                      Karl_999 last edited by

                      @pzudematrick:

                      Meine nächste Frage wie bekomme ich es hin das Verschiedene Werte in verschiedenen Zeilen ausgelesen werden können?

                      Also in diesem Webserver sollen in Zukunft mehrer Werte stehen? `
                      Ich gehe davon aus, dass die Werte in einer Datei stehen.

                      1. Sie müssen maschinell eindeutig identifizierbar sein. Also sollte eine eindeutige Identifikation zum Wert existieren. Das könnten z.B. "Aktuelle Temperatur", "Temperatur Pool" sein

                      2. Die Parserausdrücke müssen darauf angepasst werden. Mein Ansatz reicht dann nicht mehr. Dann ist der von Hormoran beschriebene Weg passend. Er muss noch um den Namen ergänzt werden:

                      Aktuelle Temperatur:\n([^\n]+)
                      Pooltemperatur: :\n([^\n]+)
                      

                      Natürlich einzeln für jeden Wert

                      1 Reply Last reply Reply Quote 0
                      • P
                        pzudematrick last edited by

                        Die Daten stehen in einer HTML Seite, welche vom Arduino ständig Aktuell gehalten wird.

                        Dort steht dann: Temperatur: 5.00

                        Luftfeuchtigkeit: 51

                        Feuchtigkeit: 12

                        Diese Werte sollen in iO Broker genutzt werden können um Alarm zu schlagen wenn die Feuchtigkeit zu hoch ist oder Temperatur zu niedrig etc.. wie ich die unterschiedliche Werte in iO Broker bekomme ist noch mein Problem. Momentan steht nur eine Zahl dort soweit Funktioniert das auch aber wie geht es weiter wenn mehr darin steht?

                        Gesendet von iPhone mit Tapatalk

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

                          @pzudematrick:

                          Also in diesem Webserver sollen in Zukunft mehrer Werte stehen? `

                          @pzudematrick:

                          Diese Werte sollen in iO Broker genutzt werden `
                          Also nicht das, was du uns zur Verfügung gestellt hast?

                          Dann stimmt nämlich nicht mehr was Karl postete
                          @Karl_999:

                          Daher würde ich erst einmal nur nach der Zahl parsen (es gibt keine zweite😞 `

                          @pzudematrick:

                          wie geht es weiter wenn mehr darin steht? `

                          Dann nimmst du den Quelltext der Website, gibst ihn bei regex101.com ein und testest.

                          Oder du wartest bis du die Website wirklich fertig hast und fragst dann nochmal.

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • P
                            pzudematrick last edited by

                            Alles klar, werde heute weitere Werte integrieren und dir dann schreiben.

                            Vielen Herzlichen Dank nochmals [emoji847]

                            Gesendet von iPhone mit Tapatalk

                            1 Reply Last reply Reply Quote 0
                            • P
                              pzudematrick last edited by

                              So hier meine Fertige HTML Datei. Werter werden wie gesagt ständig vom Arduino erneuert der Rest bleibt alles wie es ist.

                              
                              Aktuelle Temperatur:
                              24.60
                               (Crad)
                              
                              Aktuelle Luftfeuchtigkeit:
                              57.00
                              %
                              
                              Aktuelle Helligkeit:
                              24
                              Aktuelle Bodenfeuchtigkeit: 0
                              
                              

                              Jetzt fehlen lediglich die Regex Codes?

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

                                Ist das wirklich fertig?

                                fehlen da nicht noch 4 Zeilenumbrüche?

                                dann nimmst du

                                :\n([^\n,<]+)
                                

                                für die drei Werte musst du je eine Regel setzen, bei der du dann die NUM jeweils auf 0,1 oder 2 setzst.

                                Gruß

                                Rainer

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pzudematrick last edited by

                                  Klar, wieso sollte es nicht fertig sein? :roll:

                                  Erweiterungen wird es immer mal geben, wie ich Lustig bin 😉

                                  Habe wieder das Problem das der Wert einfach nicht in Objekte angezeigt werden will, jedoch bei Parser in den Einstellungen von dem Luftfeuchtigkeit Abschnitt wird der Wert richtig angezeigt. 8569_bildschirmfoto_2018-08-31_um_18.46.18.png 8569_bildschirmfoto_2018-08-31_um_18.45.50.png

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

                                    ich finde ein Intervall von einer halben Sekunde absolut unnötig.

                                    Gruß

                                    Rainer

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pzudematrick last edited by

                                      Nur zum testen 😉

                                      Gesendet von iPhone mit Tapatalk

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

                                        Wenn du nicht mehr vorhast deinen Code zu ändern, probiere mal diesen RegEx

                                        :\n?([^\n,<]+)
                                        

                                        Dann bekommst du 4 Werte (0-3)

                                        @pzudematrick:

                                        Habe wieder das Problem das der Wert einfach nicht in Objekte angezeigt werden will `
                                        Was hast du denn beim letzten mal gemacht, dass du melden konntest:
                                        @pzudematrick:

                                        Muss mich entschuldigen es funktioniert jetzt `

                                        Gruß

                                        Rainer

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mike1976 last edited by

                                          Hallo,

                                          wie müsste ich den Parser einrichten damit ich werte von der seite bekomme??

                                          <!DOCTYPE html>
                                          <html lang="en">
                                          <head>
                                          <meta charset="utf-8" />
                                          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
                                          <title>AQI</title>
                                          <script src="aqi.js"></script>
                                          <link rel='stylesheet' href='style.css'>
                                          </head>
                                          <body>
                                          <div class="container">
                                          <h1>AQI</h1>
                                          <p class='time' id="time"></p>
                                          <div class='aqi-container' id="containerPm25">
                                          <div class='aqi-label'>AQI (PM2.5)</div>
                                          <div class='aqi' id="aqiPm25"></div>
                                          <div class='pm-label' id="pm25"></div>
                                          </div>
                                          <div class='aqi-container' id="containerPm10">
                                          <div class='aqi-label'>AQI (PM10)</div>
                                          <div class='aqi' id="aqiPm10"></div>
                                          <div class='pm-label' id="pm10"></div>
                                          </div>
                                          </div>
                                          </body>
                                          <script type="text/javascript">
                                          getData();
                                          setInterval(getData, 60000);
                                          </script>
                                          </html>

                                          partikel.JPG

                                          Das python script läuft am pi direkt und stellt die werte des sensors zur verfügung.
                                          https://zefanjas.de/wie-man-feinstaub-mit-einem-raspberry-pi-messen-kann/
                                          Wäre es auch denkbar es direkt in iobroker zu erstellen oder den sensor so einzulesen?

                                          LG mike

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          947
                                          Online

                                          31.9k
                                          Users

                                          80.2k
                                          Topics

                                          1.3m
                                          Posts

                                          4
                                          25
                                          4555
                                          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