NEWS
Daten mit Parser Adapter auslesen
-
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?
-
@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?
-
@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.
-
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 -
@oliverio Ja Danke. Ich teste es mal mit Faktor 10 mehr Zeit. Die alten Abfragezeiten waren 1000ms, jetzt 10000ms. Mal sehen ob es klappt...
-
@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 -
@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
-
@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 said in Daten mit Parser Adapter auslesen:
<img src="/chart.cvg"/>
lädt hier eigentlich der Parser auch das Bild?
-
@homoran Das ist der Inhalt der Webseite im html Format, so wie der Parser die daten sieht.
-
@werner2000x OK!
in deinem Regex ist u.a. die 'Wh' mit in der Group, was ich nicht machen würde. ich würde mit0 = ([\d.]+)
arbeiten, aber ob das die Ursache ist???? -
@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 -
@oliverio Nein, ich hatte auf 1000ms eingestellt, jetzt 10000ms.
-
das hattest du ja schon geschrieben. dennoch waren Zugriffe im 2ms Takt da.
Wenn du nicht den parser-Adapter nutzt hat dein Skript definitiv ein Problem.Aber probier aus. Wir unterhalten uns dann beim nächsten mal wieder
-
@oliverio wir haben gerade einen ähnlich gelagerten Fall, bei dem ein Skript jede Sekunde läuft, sich das System kurz eine Auszeit gönnt und dann die fehlenden Daten im Millisekundentakt nachliefert.
Vielleicht gibt es doch noch irgendwo ein Problem
-
@homoran
Das kann natürlich immer sein, das ihr im iobroker auch noch was findet was mal eine zeit lang die event-queue blockiert.aber meistens liegen die Fehler schon in den eigenen Skripten. die meisten sind
ja keine Profis und selbst denen passiert auch immer wieder was, was nicht so ohne weiteres durchschaubar war. -
@oliverio Heute Nacht ist der Parser ohne Unterbrechung durchgelaufen. Vielleicht hat das 10fache Abtastintervall geholfen...:-)
-
@homoran Ich habe den RegEx 0 = ([\d.]+) probiert, doch er funktioniert nicht. es wird kein Ergebnis im Parser geliefert.
-
@werner2000x said in Daten mit Parser Adapter auslesen:
@homoran Ich habe den RegEx 0 = ([\d.]+) probiert, doch er funktioniert nicht. es wird kein Ergebnis im Parser geliefert.
Was genau hast du gemacht?
Bitte screenshot von dem Editorfensters des Eintrags
-
@homoran Hier der Screenshot ohne Ergebnis: