Hauptmenü

Regex in Userreading

Begonnen von Eisix, 26 Oktober 2017, 11:52:31

Vorheriges Thema - Nächstes Thema

Eisix

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



DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Eisix

Funktioniert!
Danke, endlich keine 2000 Grad mehr in meinen Graphen  :)

Gruß
Eisix

MBHG

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
-----------------------------------------------------------
https://smarthome.family.blog Debian Linux, NanoCUL 868, Signalduino, 4x HM-SW4, 11x HM Asksin Unisensor, NodeMCU ESP8266, RCS 1000 N Comfort, Magic Home, Rauchmelder PT2262, Babble