NEWS
Lokale Webseite parsen
-
@gutty was kommt denn wenn du die lokale Seite im Browser öffnest und mit der rechten Maustaste auf "Quelltext anzeigen" klickst?
-
@homoran das was ich im Arduino programmiert habe:
injectHTML('11.7; 3.7; 5.0; 11.4; 12.1; 0.0; 0.00; 1.85; 0.0; 262;')das Problem, auf das du anspielst, kommt später auf mich zu, eine webseite die mit Ajax aktualisiert
siehe z.B. auch schon hier: https://forum.iobroker.net/topic/29445/parsen-einer-webseite-und-regex-verzweiflung
-
@gutty sagte in Lokale Webseite parsen:
injectHTML('11.7; 3.7; 5.0; 11.4; 12.1; 0.0; 0.00; 1.85; 0.0; 262;')
das ist die ganze Website?
-
@homoran ja, die stellt nur die werte zur Verfügung, die eine andere webseite darstellt. Und nun will ich die werte auch im IoBroker verwursten.
-
@gutty sagte in Lokale Webseite parsen:
@homoran ja, die stellt nur die werte zur Verfügung, die eine andere webseite darstellt. Und nun will ich die werte auch im IoBroker verwursten.
keinerlri html header, keinerlei Formatierungen? Gar nichts außer der einen Zeile?
-
@homoran ja. ich habe es auch mit einer anderen webseite getestet, die bringt folgende Ausgabe:
Die Eingabe der lokalen URL verursacht das Problem. Wenn ich auf den Bleistift Edit drücke, kommt popup mit Error.
<!DOCTYPE HTML> <html> <head> <title>Arduino Webserver</title> </head> <body bgcolor='#AAAAAA'> <table border='1' width='500' height='170' cellpadding='5'><tr> <td align='center' bgcolor='#ff0000' width='200'><span style='font-size:2em'>SR04 deaktiviert</span><br><form method=get><input type='submit' name=2 value='ein' style='height:70px; width:140px; font-size:200%'></form></td> <td align='center' bgcolor='#ff0000' width='200'><span style='font-size:2em'>Solar deaktiviert</span><br><form method=get><input type='submit' name=3 value='ein' style='height:70px; width:140px; font-size:200%'></form></td> </tr><tr> <td align='center' bgcolor='#ff0000' width='200'><span style='font-size:2em'>Pumpe</span><br><form method=get><input type='submit' name=4 value='ein' style='height:70px; width:140px; font-size:200%'></form></td> <td align='center' bgcolor='#ff0000' width='200'><span style='font-size:2em'>LED 5</span><br><form method=get><input type='submit' name=5 value='ein' style='height:70px; width:140px; font-size:200%'></form></td> </tr></table> <br><table width='500'><tr><td> <form method=get><input type=submit name=all value='Refresh' style='height:50px; width:200px; font-size:200%'></form> </td><td width='40'> </td><td> <form method=get><input type=submit name=all value='Speichern' style='height:50px; width:200px; font-size:200%'></form> </td></tr></table> Version 1.0<br><table width='500' bgcolor='#999'><tr><td align='right' width='60'>11.5 °C </td><td width='80'>Wassertemperatur </td> <td width='20'> </td> <td align='right' width='60'>0.0 °C</td><td width='200'>Temperatur Technikraum</td></tr><tr> <td align='right' width='60'>3.2 °C</td><td width='80'>Lufttemperatur </td><td width='20'> </td><td align='right' width='60'>0.0 %</td><td width='200'>Rel. Luftfeuchte Technikraum </td> </tr><tr> <td align='right' width='60'>11.25 °C</td><td width='80'>Rücklauf Sonne </td> <td width='20'> </td> <td align='right' width='60'>2.18 b</td><td width='200'>Systemdruck (1023)</td> </tr><tr> <td align='right' width='60'>11.94 °C</td><td width='80'>Rücklauf Direkt </td> <td width='20'> </td> <td align='right' width='60'>0.00 °C</td><td width='200'>Erwärmung</td> </tr><tr> <td align='right' width='60'>4.3 °C</td><td width='80'> in der Sonne </td> <td width='20'> </td> <td align='right' width='60'>0.0 m/s</td><td width='200'>Windgeschwindigkeit (0)</td> </tr><tr> <td align='right' width='60'>256 mm</td><td width='80'>Wasserfehlstand AB</td> <td width='20'> </td> <td align='right' width='60'>0.0</td><td width='200'> km/h Windgeschwindigkeit</td> </tr> <tr> <td align='right' width='60'>429 mm</td><td width='80'>Ausgleichsbehälter</td><td width='20'> </td> <td align='right' width='60'>0</td><td width='200'> mbar Luftdruck</td> </tr> <tr> <td align='right' width='60'>328 mm</td><td width='80'>Abstand SR04</td><td width='20'> </td> <td align='right' width='60'>0</td><td width='200'> mbar Luftdruck</td> </tr><tr> <td align='right' width='60'>0.000</td><td width='80'>Kg Salzsäure</td><td width='20'> </td> <td align='right' width='60'>0.00</td><td width='200'> PH</td> </tr><tr></tr></table> <br>Sek. seit reset: 8416 Zeit: <br><br><table width='500' bgcolor='#999'><tr><td align='right' width='120'>nachtabsenkungState </td><td width='80'>0</td> <td align='right' width='200'>solarState </td><td width='80'>0</td></tr><tr> <td align='right' width='200'>autoLevelState </td><td width='80'>0</td> <td align='right' width='200'>subir_nivelAusgangState </td><td width='80'>0</td></tr><tr> <td align='right' width='200'>filterspuelen_ausgangState </td><td width='80'>0</td> <td align='right' width='200'>eeprom.minWasserStand </td><td width='80'>72</td></tr><tr> <td align='right' width='200'>rueckspuelventilDruckKurzschliessen </td><td width='80'>0</td> <td align='right' width='200'>mind_einHahn_auf </td><td width='80'>1</td></tr><tr> <td align='right' width='120'>hahnBodenablauf_auf </td><td width='80'>1</td> <td align='right' width='120'>hahnLimpiafondo_auf </td><td width='80'>1</td></tr><tr> <td align='right' width='120'>hahnVasoDeCompensacion_auf </td><td width='80'>1</td> <td align='right' width='120'>subir_nivelAusgangState </td><td width='80'>0</td></tr><tr> <td align='right' width='120'>SolarAusgangState </td><td width='80'>0</td> <td align='right' width='120'>LEDfilterPumpe </td><td width='80'>1</td></tr><tr> <td align='right' width='120'>vomSolarComputer </td><td width='80'>0</td> <td align='right' width='120'>hochpumpen </td><td width='80'>0</td></tr><tr> <td align='right' width='120'>FilterpumpeLaeuft </td><td width='80'>1</td> <td align='right' width='120'>Relais Filterpumpe </td><td width='80'>1</td></tr> </table> <br><br> <table width='500' bgcolor='#999'><tr><td align='right' width='120'>Led's </td><td width='80'>1</td> <td align='right' width='200'>Filterpumpe </td><td width='80'>AN</td></tr><tr> <td align='right' width='200'>Solar Absorber </td><td width='80'>JA</td> <td align='right' width='200'>Solar direkt </td><td width='80'>JA</td></tr><tr> <td align='right' width='200'>Bodenablauf </td><td width='80'>OFFEN</td> <td align='right' width='200'>Schwallbehälter </td><td width='80'>OFFEN</td></tr><tr> <td align='right' width='200'>Schwallbehälter voll </td><td width='80'>JA</td> <td align='right' width='200'>Limpiafondo </td><td width='80'>OFFEN</td></tr><tr> <td align='right' width='120'>Solar-Steuersignal </td><td width='80'>AUS</td> <td align='right' width='120'>Auto nivel (SR04) </td><td width='80'>Deaktivert</td></tr><tr> <td align='right' width='120'>Noche: bajar nivel </td><td width='80'>Deaktivert</td> <td align='right' width='120'>Solarheizung </td><td width='80'>Deaktivert</td></tr><tr> <td align='right' width='120'>xxxxxxxx </td><td width='80'>Deaktivert</td> <td align='right' width='120'>gegenStrom </td><td width='80'>AUS</td></tr><tr> <td align='right' width='120'>Text </td><td width='80'>AN</td> <td align='right' width='120'>SR04 automatik </td><td width='80'>Aktiv</td></tr> </table> </body></html>
-
@gutty sagte in Lokale Webseite parsen:
Wenn ich auf den Bleistift Edit drücke,
sollst du (erst einmal) nicht.
ich will wissen was der Browser da sieht.und da kann ich nicht glauben, dass dort nur eine Zeile im HTML steht, ohne weitere Infos zur Verarbeitung.
Das zuletzt gezeigte passt
-
@homoran ich habe die Webseiten selber programmiert. Für das parsen ist keine html Struktur notwendig. Sobald ich die Webseite (html-Datei) auf meinen Server im Internet kopiere, läuft der Parser. Nur wenn ich sie lokal von http://172.26.0.157 abrufe, will er nicht
-
@gutty sagte in Lokale Webseite parsen:
Für das parsen ist keine html Struktur notwendig.
ach was!
natürlich nicht!
@gutty sagte in Lokale Webseite parsen:
die Webseite (html-Datei)
und diese Datei besteht auch nur aus dieser einen Zeile?
-
@gutty sagte in Lokale Webseite parsen:
ich habe die Webseiten selber programmiert.
Brauchst du die Seite noch für was anderes?
Falls nicht (und vielleicht auch wenn doch) nimm dir doch ne MQTT Bibliothek und schick die Daten so an ioBroker.
Alternativ kannst du auch einfach die RestAPI von ioBroker verwenden und im Arduino die URL Aufrufen um die Daten zu Übergeben.
Das scheint mir einfacher zu sein als eine Webseite zu Programmieren und dann mit dem Parser aus zu lesen. -
@gutty sagte in Lokale Webseite parsen:
Lade ich aber die Seite von http://172.26.0.157:82/testwerte1.html geht es nicht.
Möglich das der Parser Adapter (ich hab den noch nie verwendet) auf eine Gültige URL Prüft und die IP fällt da durch.
Wenn du ne FritzBox hast solltest du den Arduino auch mit ner lokalen URL aufrufen können, im Format Arduino.fritzbox oder ähnlich. Das kannst du in der FB Netzwerkübersicht sehen. -
@jey-cee ja, die Seite wird in dieser Form eigentlich für was anderes verwendet.
Bequem wäre es halt mit dem Parser gewesen. Ich werde mich mal durch die anderen Lösungen graben. Fritzbox hab ich nur als SIP-Slave, Router ist ein UBNT USG, den ich im Moment nicht umprogrammieren kann.
-
Ich habe es momentan mit der hosts auf dem Pi hinbekommen. Allerdings nur für die ESP8266 devices, noch nicht für den Arduino.