In diesem Device:Reading-Ausdruck gibt es folgende Möglichkeiten, bei denen im Laufe des Tages einer nach dem anderen ein Event erzeugt:
[DWD:fc0_1_TTT] [DWD:fc0_2_TTT] [DWD:fc0_3_TTT]
Die Idee, mit einem RegEx jedes dieser drei Events für ein DoIf-Reading abzufragen führt lediglich lzum Rückgabewert 0: [DWD:fc0_[0-3]_TTT]
Verschiedene Versuche mit Anführungszeichen und Maskierung mit \ habe ich durchgespielt.
Offenbar habe ich ein Verständnisproblem, oder?
Christian
Die Syntax, damit DOIF das als RegEx erkennt, und damit ein Wert und nicht nur ein OK zurück gegeben werden, sieht lt commandref etwas anders aus.
[DWD:fc0_[0-3]_TTT] so etwas ist eine typische Readingangabe, die wird in eine entsprechende ReadingsVal-Funktion übersetzt und dort sind keine Regex-Angaben möglich.
Regex-Angaben kannst nur bei Auswertung von Events angegeben, das sind die Angaben, wo man Regex in Anführungszeichen setzt, also [DWD:"fc0_[0-3]_TTT"]
Diese liefern aber nur wahr oder falsch Werte, eine Ausnahme gibt es, wenn man kommagetrennt einen Defaultwert angibt: [DWD:"fc0_[0-3]_TTT",""]
Dann wird das Event ausgewertet und versucht den Wert hinter dem Readingnamen im Event zu nehmen.
Danke Damian, Schritt für Schritt lerne ich jedes Mal eine neue Finesse in Sachen RegESen.
Christian