FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: optimizer am 09 November 2014, 22:11:24

Titel: FileLog mit gerundeten Werten?
Beitrag von: optimizer am 09 November 2014, 22:11:24
Hallo,

meine Temperatursensoren (DS1820) geben bis zu 3 Nachkommastellen aus, sodass ins Logfile auch unnötig viele Daten geschrieben werden.
z.B.:

2014-11-09_21:47:56 GPIO4_DS1820_000801ff922b T: 23
2014-11-09_21:47:57 GPIO4_DS1820_000801ff7e6f T: 30.187
2014-11-09_21:48:58 GPIO4_DS1820_000801ff7e6f T: 30.19
2014-11-09_21:49:59 GPIO4_DS1820_000801ff7e6f T: 30.187

define Puffer_Test_Log FileLog ./log/Puffer_Test-%Y.log (GPIO4_DS1820_000801ff7e6f|GPIO4_DS1820_000801ff922b):T:(\s*-{0,1}\d+\.\d)|(\s*-{0,1}\d+)$

Im define habe ich schon versucht auf max. eine Nachkommastelle abzuschneiden. Das funktioniert aber leider nicht. Besser wäre es auf eine Nachkommastelle zu runden. Wie geht das?

Gruß
optizmizer
Titel: Antw:FileLog mit gerundeten Werten?
Beitrag von: betateilchen am 09 November 2014, 22:29:31
geloggt wird, was im Event steht.

Was Du als Workaround probieren kannst: ein userreading definieren, das Du formatieren kannst, wie Du möchtest und dann nur das userreading loggen.
Titel: Antw:FileLog mit gerundeten Werten?
Beitrag von: optimizer am 13 November 2014, 00:23:27
userReadings war das Stichwort:
Beim Temperatursensor-Reading habe ich Temp1 neu eingefügt:
attr GPIO4_DS1820_000801ff7e6f userReadings Temp1 { sprintf("%.1f", ReadingsVal("$name","temperature",0)) }
attr GPIO4_DS1820_000801ff7e6f event-on-change-reading Temp1

Zum Erstellen eines Filelog mit einer Nachkommastelle:
define Puffer_VLRL_Log FileLog ./log/Puffer_VLRL-%Y-%m.log (GPIO4_DS1820_000801ff7e6f|GPIO4_DS1820_000801ff922b):.*Temp1.*


Danke und Gruß
optimizer
Titel: Antw:FileLog mit gerundeten Werten?
Beitrag von: Bartimaus am 13 November 2014, 10:25:08
Moin,
mit diesen Werten werden meine Tempsensoren mit einer Nachkommastelle ins Log geschrieben:
define Pool GPIO4 28-000001234567
attr Pool model DS18B20
attr Pool pollingInterval 3600
define FileLog_Pool FileLog ./log/Pool-%Y-%m.log Pool:temperature:.*
attr FileLog_Pool fm_type [{"title":"Measured temperature","id":"graph-temp","min":"auto:0","max":"auto:20","col":"a80000","h":2}]
attr FileLog_Pool logtype temp4,text

2014-11-13_06:10:10 Pool temperature: 8.0
2014-11-13_07:10:11 Pool temperature: 7.9
2014-11-13_07:46:40 Pool temperature: 7.9
2014-11-13_08:46:42 Pool temperature: 7.9
2014-11-13_09:46:44 Pool temperature: 7.9
2014-11-13_10:19:12 Pool temperature: 8.2