Regex Text auslesen klappt nicht

Begonnen von Zage, 30 Dezember 2016, 13:13:08

Vorheriges Thema - Nächstes Thema

Zage

Hallo FHEM-Gemeinde,

ich habe leider ein Problem mit einen Text mittels RegEx einzulesen (HTTPMOD).
In der Log steht dann "WetterText: Read response to update didn't match any Reading"
Mit dem Test-Tool "http://chris.photobooks.com/regex/" klappt der Regex.


Attr:
attr WetterText userattr reading01RegOpt readings01Name readings01Regex
attr WetterText readings01Name text
attr WetterText readings01Regex colspan="6" align="left">.*?</b>(.*?)<br>


Quelltext Ausschnitt (ich möchte den Text nach colspan=6):
<tr bgcolor="#257fba"> <td height="17" colspan="5" valign="top" align="right"><font color="#FFFFFF">Niederschlags-Wahrscheinlichkeit:&nbsp;</font></td> <td height="17" colspan="1" valign="bottom" align="center"><font color="#FFFFFF">20 %</font></td> </tr> <tr> <td colspan="6" align="left"> <br><b>Das Wetter in Kirchdorf im Wald am Freitag, 30.12.2016:</b> Bis zum Mittag sonnig bei 5 Grad, auch zum Nachmittag scheint die Sonne bei 5 Grad. Es ist teilweise windig. In der Nacht k&uuml;hlt es sich bei klarem Himmel auf -2 Grad ab.<br><br> </td> </tr> <tr> <td colspan="4" align="right"> <center> <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-arrow-left"></span> Tag</button> <a href="/wetter/morgen/kirchdorf/DE19275.html"><button type="button" class="btn btn-primary">

Noch eine Frage:
Ab wann würde der Regex die Readings erstellen, direkt nach anlegen/ändern des Attr oder muss hier tatsächlich immer ein "shutdown restart" erfolgen?

dev0

Maskiere mal den Slash mit einem Backslash in Deiner regexp. Dann sollte der Text ab: "Bis zum Mittag sonnig bei 5 Grad, auch zum Nachmi..." gematched werden.
HTTPMOD kenne ich nicht näher, dass aber ein shutdown restart notwendig wäre, kann ich mir nicht vorstellen.

Zage

Danke für deine Antwort, habe nun wie folgt den Slash maskiert:
attr WetterText userattr reading01Name reading01Regex
attr WetterText reading01Name text
attr WetterText reading01Regex colspan="6" align="left">.*?<\/b>(.*?)<br>


Leider auch ohne erfolg.
Mache ich sonst irgend einen Fehler?

Zage

Habs jetzt endlich rausgefunden, richtiger Regex:
attr WetterText reading01Regex colspan="6"[\w\W]*?/b>\s*(.*?)\s*<

Somit geschlossen ;)