NEWS
Auslesen von Daten einer Webseite
-
Hallo Zusammen,
ich bin seit einigen Monaten mit dem iobroker unterwegs. Nun kommen mir immer mehr Ideen, doch leider gelingt mir folgende Umsetzung nicht:
Ich möchte von dieser Webseite:
https://wetter.physik.uni-osnabrueck.de/wetter02.php die Daten in meiner Visualisierung nutzen.
Geht das mit dem Parser-Adapter und wenn ja wie? Die Werte stehen im Quelltext habe ich inzwischen herausgefunden, nur wie kriege ich die in den iobroker? Vielleicht kann mir jemand mit der aktuellen Temperatur auf die Sprünge helfen.Hier noch der Quelltext
<!DOCTYPE html> <html lang="de"> <head> <!--<meta charset="utf-8">--> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="refresh" content="180"> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <H3 style='font-family: MetaPlusBold,Arial,helvetica,sans-serif'>Wetterdaten</H3><H4>vom 23.02.2020<br> um 18:45 Uhr <br><br></H4> <div class='table-responsive'> <table class='table'> <TR><td colspan=2> gemessen vom FB Physik an der Universität Osnabrück </td> </TR> <TR><TD> Temperatur: </TD> <TD> 5.79 °C </TD></TR> <TR><TD> Windfrösteln (Windchill): </TD> <TD> -7.02 °C </TD></TR> <TR><TD> Feuchte: </TD> <TD> 100.00 % </TD></TR> <TR><TD> Windgeschwindigkeit (aktuell/mittlere/spitze): </TD> <TD> 38.56 / 21.12 / 47.25 km/h </TD></TR> <TR><TD> Hauptwindrichtung: </TD> <TD> 114.03 ° / Süd-Ost </TD></TR> <TR><TD> Windrichtung: </TD> <TD> 314.77 ° / Nord-West </TD></TR> <TR><TD> Luftdruck: </TD> <TD> 996.62 hPa </TD></TR> <TR><TD> heutige Regenmenge: </TD> <TD> 73.94 mm </TD></TR> </TABLE> </div>
Viele Dank schon vorab und viele Grüße aus Osnabrück
Florian -
@floet sagte in Auslesen von Daten einer Webseite:
Geht das mit dem Parser-Adapter
Ja!
@floet sagte in Auslesen von Daten einer Webseite:
wenn ja wie?
RegEx
Tem[^\d]+(\d+\.?\d+)
EDIT:
Temperaturen können ja auch negativ sein.
Dann nimm lieberTem[^\d\-]+(\-?\d+\.?\d+)
und für die Werte mit Wind:
ind[^\d\-]+(\-?\d+\.?\d+)
und dann die Nummer von 0-3
ansonsten noch der Luftdruckuck[^\d\-]+(\-?\d+\.?\d+)
und die Regenmenge:egen[^\d\-]+(\-?\d+\.?\d+)
-
Suuuuuuuper.
Vielen vielen Dank, funktioniert perfekt. Herzlichen Dank für die Hilfe.
VG
Florian -
Jetzt habe ich doch noch ein Problem:
Mit der Windgeschwindigkeit klappt es nicht so recht.
Der erste Wert wird ausgelesen, aber der 2. und 3. klappt mit hochstellen von "Num" nicht. Dann steht dort immer eine Null?Was mache ich denn da noch falsch?
VG Florian
-
@floet sagte in Auslesen von Daten einer Webseite:
Mit der Windgeschwindigkeit klappt es nicht so recht.
Hatte bei mir geklappt.
Bin jetzt unterwegs, kann ich erst zuhause wieder nachsehen.
evtl. muss da irgendwo ein anderes Format angegeben werden.
Number (.) anstelle von Nummer mit Komma
Soweit ich das noch im Kopf habe kamen die Werte aber mit Dezimalpunkt@floet sagte in Auslesen von Daten einer Webseite:
aber der 2. und 3. klappt mit hochstellen von "Num" nicht. Dann steht dort immer eine Null?
Was mache ich denn da noch falsch?Mach mal einen Screenshot vom Regeleditor (Bleistift)
-
Habe mir gerade nochmal deinen Quelltext angesehen.
Da gibt es ja drei Windgeschwindigkeiten:
- aktuell
- mittel
- Spitze
Der RegEx müsste die aktuelle auslesen.
Wolltest du alle haben? -
Ja genau er ließt einwandfrei den Wert aktuell. Ich möchte allerdings auch "mittel" und "spitze" haben.
Mit Num geht es jedenfalls nicht.
Habe es in regex101 probiert, dort passiert das selbe. Entferne ich die "Suche" nach "Windg" werden immerhin alle Daten markiert, aber dann halt wirklich alle. Stehe etwas auf dem Schlauch... der Rest hat super funktioniert.
VG -
@floet sagte in Auslesen von Daten einer Webseite:
ch möchte allerdings auch "mittel" und "spitze" haben.
Mit Num geht es jedenfalls nicht.Das stimmt, da muss dann ein anderes RegEx rein.
Mache ich dir heute abend
EDIT:
ind[^\d\-]+(\-?\d+\.?\d+)\s\/\s(\-?\d+\.?\d+)\s\/\s(\-?\d+\.?\d+)
für die drei Windgeschwindigkeiten (Num0-2)