DbLogExclude flltert "alarm" aber "85" nicht - OWDEVICE

Begonnen von Mark, 26 September 2020, 10:42:31

Vorheriges Thema - Nächstes Thema

Mark

Hallo zusammen,

ich habe ein DbLog aktiviert und möchte nun die Fehlmessungen und Alarme filtern.

Leider ohne Erfolgt, die 85 hält sich hartnäckig

Ändere ich im OWDEVICE den DbLogExclude wie folgt, gibt es diese Effekte:
.* -> es kommt nichts mehr an
alarm -> "alarm" wird nicht gelogt
alarm,85 -> "alarm" wird nicht gelogt, 85 Werte in Datenbank
85 -> 85er und alarm Werte in Datenbank

Was mache ich falsch oder übersehe ich etwas ?

Ich bin dankbar für jeden Tipp.

# Tabelle history Beispiel:
"2020-09-26 10:12:03"   "Hzg_Kessel"   "OWDEVICE"   "alarm: 1"   "alarm"   "1"   ""
"2020-09-26 10:11:00"   "Hzg_Kessel"   "OWDEVICE"   "temperature: 85"   "temperature"   "85"   "°C"

# DbLog Definition
defmod logdb DbLog ./contrib/dblog/db.conf .*:.*
attr logdb DbLogSelectionMode Exclude
attr logdb asyncMode 1
attr logdb bulkInsert 1
attr logdb cacheLimit 10
attr logdb room 00_devices,01_system

setstate logdb connected
setstate logdb 2020-09-26 10:16:49 CacheUsage 3
setstate logdb 2020-09-26 10:16:46 NextSync 2020-09-26 10:17:16 or if CacheUsage 10 reached
setstate logdb 2020-09-26 10:16:46 state connected

# OWDEVICE
defmod Hzg_Kessel OWDevice 28.B57FA4050000 60
attr Hzg_Kessel DbLogExclude 85
attr Hzg_Kessel IODev OWServer_1
attr Hzg_Kessel icon icoTemp
attr Hzg_Kessel model DS18B20
attr Hzg_Kessel room OWDevice
attr Hzg_Kessel stateFormat {sprintf("%.1f",ReadingsVal("Hzg_Kessel","temperature",0))." °C"}
attr Hzg_Kessel trimvalues 1

setstate Hzg_Kessel 56.4 °C
setstate Hzg_Kessel 2020-09-26 10:36:48 alarm 1
setstate Hzg_Kessel 2020-09-26 10:36:48 state temperature: 56.375  alarm: 1
setstate Hzg_Kessel 2020-09-26 10:36:48 temperature 56.375
setstate Hzg_Kessel 2020-09-26 10:36:49 temperature_avg_day 59.1
setstate Hzg_Kessel 2020-09-26 10:36:49 temperature_avg_month 33.0
setstate Hzg_Kessel 2020-09-26 10:36:49 temperature_cum_day 2256649.0625
setstate Hzg_Kessel 2020-09-26 10:36:49 temperature_cum_month 75376743.3125
setstate Hzg_Kessel 2020-09-26 00:32:02 temperature_max_day 85.0
setstate Hzg_Kessel 2020-09-01 05:58:04 temperature_max_month 85.0
setstate Hzg_Kessel 2020-09-26 06:33:42 temperature_min_day 27.2
setstate Hzg_Kessel 2020-09-25 05:05:51 temperature_min_month 19.6

det.

LG
det.

Mark

Zitat von: det. am 05 November 2020, 10:48:26
attr DbLogValueFn if ($VALUE >78 ){$IGNORE=1;}

Vielen Dank für den Hilfeversuch. Leider bei mir ohne Wirkung.

Gruß Mark

Frank_Huber

ich empfehle die Doku zu dblog zu lesen und dann die Attribute entsprechend zu setzen.
So wie Du den Exclude gesetzt hast kann das nicht funktionieren.

mit Exclude gibst Du READINGS an. Wenn gewisse Werte gefiltert werden sollen machst das wie von .det angegeben.

Mark

Zitat von: Frank_Huber am 10 Dezember 2020, 16:37:13
mit Exclude gibst Du READINGS an. Wenn gewisse Werte gefiltert werden sollen machst das wie von .det angegeben.

Okay, danke für den Hinweis zu den READINGS. det. Vorschlag habe ich getestet und gerade gelernt, dass zwei geschweifte Klammern gefehlt haben.

attr Hzg_Kessel DbLogValueFn {if ($VALUE = 85 ) {$IGNORE=1;}}

Offen bleibt jetzt das Problem der READINGS
temperature_avg _cum _max

Gruß Mark



Frank_Huber

Zitat von: Mark am 10 Dezember 2020, 17:19:04Offen bleibt jetzt das Problem der READINGS
temperature_avg _cum _max

??
Was für ein Problem hast da?
Davon hast bisher nix geschrieben.

Mark

Zitat von: Frank_Huber am 10 Dezember 2020, 18:39:54
??
Was für ein Problem hast da?
Davon hast bisher nix geschrieben.
Das stimmt, die "Fehlmessungen" 85 werden in die average READINGS geschrieben/verarbeitet.
Zum Beispiel temperature_max, etc..
Schön wäre eine Möglichkeit die Fehlmessungen im OWDevice zu deaktivieren.

Frank_Huber

Das wirst in deiner Verkabelung lösen müssen.
die 85er Fehlmessungen sind meist darauf zurückzuführen.