FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Gisbert am 17 Juni 2018, 11:13:23

Titel: [Gelöst] Readingsval mit mehreren möglichen Werten
Beitrag von: Gisbert am 17 Juni 2018, 11:13:23
Hallo,

ich frage folgende Bedingung ab (Auszg aus einem stateFormat):
(ReadingsVal('$name','weather','') eq "sonnig") or (ReadingsVal('$name','weather','') eq "klar") or (ReadingsVal('$name','weather','') eq "heiter") or (ReadingsVal('$name','weather','') eq "wolkig") or (ReadingsVal('$name','weather','') eq "stark bewölkt"))

Geht das kürzer?

Was nicht funktioniert, oder zumindest den Anschein hat, dass es nicht funktioniert, ist folgendes:
(ReadingsVal('$name','weather','') eq "sonnig" or "klar" or "heiter" or "wolkig" or "stark bewölkt") oder
(ReadingsVal('$name','weather','') eq ("sonnig" or "klar" or "heiter" or "wolkig" or "stark bewölkt")) oder
(ReadingsVal('$name','weather','') eq "sonnig" or eq "klar" or eq "heiter" or eq "wolkig" or eq "stark bewölkt")

Viele Grüße Gisbert
Titel: Antw:Readingsval mit mehreren möglichen Werten
Beitrag von: dev0 am 17 Juni 2018, 11:34:26
Zitatich frage folgende Bedingung ab (Auszg aus einem stateFormat):
Kürzer geht es z.B. mit 'ner regexp (auch nur ein Auszug):
if (ReadingsVal($name,"weather","") =~ m/^(sonnig|klar|heiter|wolkig|stark\sbewölkt)$/) {...}

Edit: Außerdem wird das gezeigte '$name' nicht funktionieren: einfache Anführungszeichen funktionieren der Stelle gar nicht, Doppelte wären überflüssig...
Titel: Antw:Readingsval mit mehreren möglichen Werten
Beitrag von: Gisbert am 17 Juni 2018, 13:12:48
Hallo dev0,

super, hat geklappt.
Auch das Leerzeichen und der Umlaut in <stark bewölkt> wird richtig verarbeitet.

Vielen Dank
Gisbert