dblog / DbLogValueFn / alles nicht dezimale filtern

Begonnen von Frank_Huber, 31 Mai 2022, 11:06:06

Vorheriges Thema - Nächstes Thema

Frank_Huber

Mahlzeit!

Mein pH Sensor liefert sporadisch mal Hieroglyphen hinter den pH Wert.
Mein Problem liegt eher im I2C_EZOPH Modul, aber da kenn ich nichts bugfixen. :-)
Daher würde ich gerne im DbLogValueFn prüfen ob es rein numerisch ist und falls nicht verwerfen.

für einen 1wire Temperatursensor filtere ich auf diese eise die Sporadischen 85°C heraus.
attr DG_Ost_Temp DbLogValueFn {if ($READING eq "temperature" && $VALUE > 80){$IGNORE=1}}

nur wie sage ich ihm da "if $VALUE NOT decimal --> ignore" ???

Danke & Grüße
Frank

Beta-User

looks_like_number() sollte helfen (bzw. die Verneinung):
{if ($READING eq 'ph' && !looks_like_number($VALUE){$IGNORE=1}}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Frank_Huber

Zitat von: Beta-User am 31 Mai 2022, 11:17:48
looks_like_number() sollte helfen (bzw. die Verneinung):
{if ($READING eq 'ph' && !looks_like_number($VALUE){$IGNORE=1}}

"looks_like_number" Sachen gibts. ;-)

Danke! werde ich testen.