FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: grappa24 am 28 Juni 2020, 09:42:13

Titel: [gelöst] RegExp vereinfachen?
Beitrag von: grappa24 am 28 Juni 2020, 09:42:13
(wie) kann ich denn den folgenden Ausdruck ohne ein elsif erweitern, falls das reading sowohl "temperature" als auch "temp_cal" sein kann:
{ if ($READING eq "temperature" && $VALUE > 24) { 'style="color:red"'} }
Titel: Antw:RegExp vereinfachen?
Beitrag von: MadMax-FHEM am 28 Juni 2020, 10:08:31
Wenn es ein notify ist, dann entweder schon dort, also nur temperature ODER temp_cal triggern lassen:

Device:(temperature|temp_cal).*


EDIT: notify ist ja Quatsch ist wohl ein styleFormat... ;)

Oder mit "match" also RegEx statt eq...

EDIT: z.B. $READING =~ m/temp/) oder halt (noch) "ausgefeilterem" RegEx...

EDIT: Threadtitel ist aktuell auch "falsch", weil (noch) nirgens ein RegEx zu sehen ist... ;)

Gruß, Joachim
Titel: Antw:RegExp vereinfachen?
Beitrag von: grappa24 am 28 Juni 2020, 10:13:07
sorry, es handelt sich um ein valueStyle Attribut in einer readingsGroup  :-[
Titel: Antw:RegExp vereinfachen?
Beitrag von: grappa24 am 28 Juni 2020, 11:45:49
Zitat von: MadMax-FHEM am 28 Juni 2020, 10:08:31
Oder mit "match" also RegEx statt eq...
z.B. $READING =~ m/temp/) oder halt (noch) "ausgefeilterem" RegEx...
super, danke!
Titel: Antw:[gelöst] RegExp vereinfachen?
Beitrag von: betateilchen am 28 Juni 2020, 11:58:59

{ if (($READING eq 'temperature' || $READING eq 'temp_cal') && $VALUE > 24) { 'style="color:red"'} }
Titel: Antw:[gelöst] RegExp vereinfachen?
Beitrag von: MadMax-FHEM am 28 Juni 2020, 12:09:39
Stimmt, das ist ja auch ohne elsif... ;)

Gruß, Joachim
Titel: Antw:[gelöst] RegExp vereinfachen?
Beitrag von: grappa24 am 28 Juni 2020, 15:11:55
Ich find ja die Lösung von betateilchen für Einsteiger "lesbarer"  ;). War auch mein erster Gedanke, nur das mit der Klammer um den "oder-Teil" ist mir nicht eingefallen ;D.

Die Lösung von MadMax-FHEM ist andererseits eleganter und wohl am Ende flexibler.

Aber sehr schön, wieder mal die Programmierkenntnisse auf Vordermann gebracht; wobei ich mit Perl und Regulären Ausdrücken nie so richtig warm werde ...
Titel: Antw:[gelöst] RegExp vereinfachen?
Beitrag von: grappa24 am 28 Juni 2020, 15:14:54
Aber sagt mal, gibts denn für mein valueFormat auch eine schönere Lösung?
{ temperature => " %.1f&degC", temp_cal => " %.1f&degC" }
Titel: Antw:[gelöst] RegExp vereinfachen?
Beitrag von: betateilchen am 28 Juni 2020, 16:31:23
Nein, weil das eine komplett andere Baustelle (und interne Umsetzung) ist.