FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Eisix am 26 Oktober 2017, 11:52:31

Titel: Regex in Userreading
Beitrag von: Eisix am 26 Oktober 2017, 11:52:31
Hallo,

habe schon länger ab und zu Ausreißer bei einigen Zwave Temperatursensoren. Da die dann meist richtig weit daneben liegen würde ich sie gerne ausfiltern.


userReadings CleanTemp {[Sensor_aussen:temperature:-?[1-4][0-9]\.[0-9]]}


Die Regex als solches funktioniert laut https://www.regexpal.com/ (-49.9 - 49.9) werden gefiltert.
Aber das ganze als userReading kriege ich nicht hin.
Hat jemand eine Idee wie das geht?

Gruß
Eisix


Titel: Antw:Regex in Userreading
Beitrag von: DeeSPe am 26 Oktober 2017, 14:31:13
Zitat von: Eisix am 26 Oktober 2017, 11:52:31
Hallo,

habe schon länger ab und zu Ausreißer bei einigen Zwave Temperatursensoren. Da die dann meist richtig weit daneben liegen würde ich sie gerne ausfiltern.


userReadings CleanTemp {[Sensor_aussen:temperature:-?[1-4][0-9]\.[0-9]]}


Die Regex als solches funktioniert laut https://www.regexpal.com/ (-49.9 - 49.9) werden gefiltert.
Aber das ganze als userReading kriege ich nicht hin.
Hat jemand eine Idee wie das geht?

Gruß
Eisix

Probier mal so.


userReadings CleanTemp {my $t = ReadingsNum("$NAME","temperature",0); $t > -50 && $t < 50 ? $t : ReadingsNum("$NAME","CleanTemp",0)}


Damit werden alle Temperaturen von -49.9 - 49.9 in CleanTemp geschrieben, falls die Temperatur "ausrutscht" wird der alte Wert wieder genommen.

Gruß
Dan
Titel: Antw:Regex in Userreading
Beitrag von: Eisix am 26 Oktober 2017, 14:43:19
Funktioniert!
Danke, endlich keine 2000 Grad mehr in meinen Graphen  :)

Gruß
Eisix
Titel: Antw:Regex in Userreading
Beitrag von: MBHG am 30 August 2018, 20:44:38
Danke, hat mir auch geholfen. Bei mir hat war der Helligkeitswert immer auf 99999, wenn es ganz dunkel war. Ich habe ein Modulo 99999 eingefügt, das ist noch einfacher (99999 % 99999 = 0,  wenn darunter, dann ist es automatisch der Wert darunter).

Gruss Marc