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

      Leider kommt nichts raus ?

      ~~![](</s><URL url=)http://patzeservers2016.ddns.net/gb/arbeitsplan/1.png" />

      ![](</s><URL url=)http://patzeservers2016.ddns.net/gb/arbeitsplan/2.png" />~~

      1 Reply Last reply Reply Quote 0
      • 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

                                            913
                                            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