HTTPMOD readingsRegex bringt kein Ergebnis

Begonnen von bm7777, 22 April 2015, 18:45:38

Vorheriges Thema - Nächstes Thema

bm7777

Hallo,

ich versuche über HTTPMOD eine Zitatewebseite abzufragen. Die Abfrage der Seite  funktioniert sodas ich als buf die von mir gewünschten Texte sehe, aber ich bekomme kein Readings zustande. Es wird überhaupt kein Ergebnis angezeigt. Das Regex funktioniert zumindestens in einem OnlineRegexTester.

die Defininition in der fhem.cfg
Zitat
define Zitatzufall HTTPMOD http://www.zitate-online.de/zufallszitat.txt.php 360
attr Zitatzufall userattr 1 reading03Name reading03Regex readingsName.* readingsRegex.* timeout
attr Zitatzufall reading03Name Zitat
attr Zitatzufall reading03Regex (<a href=".*?".*?> )
attr Zitatzufall room 2_Info
attr Zitatzufall timeout 300

Auf der Konsole bekomme ich mit verbose 5 folgende Meldung
ZitatContent-Type: text/plain,
buffer: <div id="zufallszitat"><strong><a href="http://www.zitate-online.de/autor/bonaparte-napoleon/">Napoleon Bonaparte</a></strong>: &bdquo;Revolution: eine Meinung, die auf Bajonette trifft.&ldquo;<br /><span id="zufallszitatlink">von <a href="http://www.zitate-online.de/" title="Zitate und Spr&uuml;che">zitate-online.de</a></span></div>
2015.04.22 18:39:14 5: Zitatzufall: Read starts extracting all Readings from HTTP Response to Update
2015.04.22 18:39:14 5: Zitatzufall: ExtractReading Zitat with regex /<a href=".*?".*?>/...
2015.04.22 18:39:14 5: Zitatzufall: ExtractReading sets Zitat to
2015.04.22 18:39:14 5: Zitatzufall: ExtractReading Zitatzufall with regex /(<a href=".*?".*?> )/...
2015.04.22 18:39:14 4: Zitatzufall: Read response to Update matched Reading(s) Zitat
2015.04.22 18:39:14 4: Zitatzufall: Read response to Update did not match Zitatzufall
2015.04.22 18:39:14 5: Zitatzufall: HandleSendQueue called, qlen = 0
Raspberry Pi Mod. B
CUL-Stick V3.4

JoWiemann

Denk bitte daran, dass Zeichen, wie < oder > maskiert werden müssen, also für < muss \< genommen werden.



Grüße Jörg

Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

RoBra81

Hallo,

Zitat von: JoWiemann am 25 April 2015, 08:05:03
Denk bitte daran, dass Zeichen, wie < oder > maskiert werden müssen, also für < muss \< genommen werden.

das stimmt so nicht - meine RegEx funktionieren auch ohne Maskierung.
Das Problem von bm7777 ist, dass kein Ergebnis definiert wurde: Das erfolgt nämlich mit (.*?)

Folgende RegEx sollte funktionieren:

attr Zitatzufall reading03Regex <a href=".*?">(.*?)<span

Testen kannst du das ganz gut mit https://regex101.com/#pcre -> einfach den Inhalt der Seite unten reinkopieren und oben die RegExp eingeben  (darauf achten, dass in dem Feld hinter der RegExp ein "s" eingetragen ist, damit es als SingleLine betrachtet wird). Wenn alles passt gibt es einen Match der Farblich hervorgehoben und auch am rechten Rand unter Match Information angezeigt wird.

Ronny

bm7777

Zitat von: RoBra81 am 25 April 2015, 08:36:57
Hallo,

das stimmt so nicht - meine RegEx funktionieren auch ohne Maskierung.
Das Problem von bm7777 ist, dass kein Ergebnis definiert wurde: Das erfolgt nämlich mit (.*?)

Folgende RegEx sollte funktionieren:

attr Zitatzufall reading03Regex <a href=".*?">(.*?)<span

Testen kannst du das ganz gut mit https://regex101.com/#pcre -> einfach den Inhalt der Seite unten reinkopieren und oben die RegExp eingeben  (darauf achten, dass in dem Feld hinter der RegExp ein "s" eingetragen ist, damit es als SingleLine betrachtet wird). Wenn alles passt gibt es einen Match der Farblich hervorgehoben und auch am rechten Rand unter Match Information angezeigt wird.

Ronny

Super, danke das hat funktioniert. Regex ist für mich irgendwie ein Buch mit sieben Siegeln. Immer wenn ich denke ich habe es verstanden, bekomme ich es wieder nicht hin.
Raspberry Pi Mod. B
CUL-Stick V3.4