verstehe nicht warum DBLog trotzdem loggt :-(

Begonnen von Aladin222, 18 Dezember 2018, 20:31:43

Vorheriges Thema - Nächstes Thema

Aladin222

Hallo zusammen ,

ich habe DBLogging installiert und es macht auch soweit alles was es soll !
Aber ich habe 2 Temperaturmessungen die ich NICHT loggen möchte ,die aber fleissig gelegt werden :

Internals:
   CFGFN      /opt/fhem/FHEM/10_Fhem2Fhem.cfg
   DEF        Keller T
   NAME       KellerTemperatur
   NDEV       Keller
   NR         815
   NSTATE     T
   NTFY_ORDER 50-KellerTemperatur
   STATE      16.375°C
   TYPE       cloneDummy
   READINGS:
     2018-12-18 20:24:29   T               16.375
     2018-12-18 20:24:29   _state          16.375
     2018-12-18 20:24:29   state           active
     2018-12-18 20:24:29   temperature     16.375
Attributes:
   DbLogExclude .*
   group      ChlorTimerdosierung
   room       Chlordosierung
   stateFormat T°C


trotz DbLogExclude .* wird geloggt ! Das verstehe ich nicht ...

Bei einer baugleichen Temperaturmessung funzt es und es wird nichts geloggt :
Internals:
   CFGFN      /opt/fhem/FHEM/10_Fhem2Fhem.cfg
   DEF        Jacuzzi T
   NAME       Jacuzzitemperatur
   NDEV       Jacuzzi
   NR         811
   NSTATE     T
   NTFY_ORDER 50-Jacuzzitemperatur
   STATE      37.375°C
   TYPE       cloneDummy
   READINGS:
     2018-12-18 20:27:30   T               37.375
     2018-12-18 20:27:30   _state          37.375
     2018-12-18 20:27:30   state           active
     2018-12-18 20:27:30   temperature     37.375
Attributes:
   DbLogExclude .*
   group      ChlorTimerdosierung,cloneDummy
   room       Chlordosierung
   stateFormat T°C


Beide Messungen werden über Fhem2Fhem mit Gpio geholt :


#Remote-Raspberry
define Remoteserver FHEM2FHEM 192.168.178.51:7072 LOG:.*
attr Remoteserver DbLogExclude .*
attr Remoteserver room CUL_HM
#
define Jacuzzitemperatur cloneDummy Jacuzzi T
attr Jacuzzitemperatur DbLogExclude .*
attr Jacuzzitemperatur group ChlorTimerdosierung,cloneDummy
attr Jacuzzitemperatur room Chlordosierung
attr Jacuzzitemperatur stateFormat T°C
define FileLog_Jacuzzitemperatur FileLog ./log/Jacuzzitemperatur-%Y-%m-%d.log Jacuzzitemperatur
attr FileLog_Jacuzzitemperatur DbLogExclude .*
attr FileLog_Jacuzzitemperatur archivedir ./log/LogArchiv/
attr FileLog_Jacuzzitemperatur group Temperatur
attr FileLog_Jacuzzitemperatur nrarchive 7
attr FileLog_Jacuzzitemperatur room LogFiles
#
define KellerTemperatur cloneDummy Keller T
attr KellerTemperatur DbLogExclude .*
attr KellerTemperatur group ChlorTimerdosierung
attr KellerTemperatur room Chlordosierung
attr KellerTemperatur stateFormat T°C
define FileLog_KellerTemperatur FileLog ./log/KellerTemperatur-%Y-%m-%d.log KellerTemperatur
attr FileLog_KellerTemperatur DbLogExclude .*
attr FileLog_KellerTemperatur archivedir ./log/LogArchiv/
attr FileLog_KellerTemperatur group Temperatur
attr FileLog_KellerTemperatur nrarchive 7
attr FileLog_KellerTemperatur room LogFiles



Jemand eine Idee ,warum die Kellertemperatur trotzdem in die Datenbank geschrieben wird ?

DS_Starter

Du müsstest mal das DbLog Device auf verbose 4 stellen und einen logfile Auszug posten der zeigt was passiert wenn die Kellertemperatur einen Event geworfen hat.
Dazu noch ein list vom DbLog Device wäre hilfreich.

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Aladin222

Erstmal Danke ...
Das DBlog device :

Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION /opt/fhem/db.conf
   DEF        /opt/fhem/db.conf .*:.*
   MODE       asynchronous
   MODEL      MYSQL
   NAME       DBLogging
   NR         1961
   NTFY_ORDER 50-DBLogging
   PID        2305
   REGEXP     .*:.*
   STATE      connected
   TYPE       DbLog
   UTF8       0
   VERSION    3.13.0
   dbconn     mysql:database=fhem;host=localhost;port=3306
   dbuser     fhemuser
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     READINGCOL 64
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
   READINGS:
     2018-12-18 23:43:25   CacheUsage      6
     2018-12-18 23:43:25   NextSync        2018-12-18 23:43:55 or if CacheUsage 500 reached
     2018-12-18 23:43:25   background_processing_time 0.0288
     2018-12-18 23:43:25   sql_processing_time 0.0162
     2018-12-18 23:43:25   state           connected
   cache:
     index      1883
Attributes:
   DbLogExclude .*
   DbLogSelectionMode Exclude/Include
   DbLogType  Current/History
   asyncMode  1
   icon       HutschIcon3
   room       DBLog
   showproctime 1
   shutdownWait 2

DS_Starter

Das list vom DbLog ist absolut ok ... nun kommt es auf den Logauszug an. Vllt. fällt dann etwas auf.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Aladin222

Guten morgen ,

hier das Log :

2018.12.19 08:42:55 4: DbLog DBLogging -> ################################################################
2018.12.19 08:42:55 4: DbLog DBLogging -> ###              start of new Logcycle                       ###
2018.12.19 08:42:55 4: DbLog DBLogging -> ################################################################
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: KellerTemperatur , Event: T: 16.312
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: KellerTemperatur , Event: _state: 16.312
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: KellerTemperatur , Event: state: active
2018.12.19 08:42:55 4: DbLog DBLogging -> number of events received: 3 for device: KellerTemperatur
2018.12.19 08:42:55 4: DbLog DBLogging -> ################################################################
2018.12.19 08:42:55 4: DbLog DBLogging -> ###              start of new Logcycle                       ###
2018.12.19 08:42:55 4: DbLog DBLogging -> ################################################################
2018.12.19 08:42:55 4: DbLog DBLogging -> added event - Timestamp: 2018-12-19 08:42:55, Device: Keller, Type: GPIO4, Event: T: 16.312, Reading: T, Value: 16.312, Unit:
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: Keller , Event: T: 16.312
2018.12.19 08:42:55 4: DbLog DBLogging -> number of events received: 1 for device: Keller
2018.12.19 08:42:55 4: DbLog DBLogging -> ################################################################


könnte es sein das es damit zusammen hängt ,das ich noch das alte cloneDummy nutze ?
...lief bisher zuverlässig ( vor Umstellung auf DBLog ) mit fhem2fhem auf einem alten Raspi im Keller .
Beziehungsweise evtl. an einer uralten Fhem Version die auf dem Raspi wohl noch läuft ?

grüße

Aladin222


DS_Starter

Zitatkönnte es sein das es damit zusammen hängt ,das ich noch das alte cloneDummy nutze ?
eher nicht.

Also ich gehe erstmal davon aus, dass dein Log von unten nach oben zu lesen ist ?

Jedenfalls gibt es eine Aufälligkeit. Dein Device "KellerTemperatur" wird, entgegen deiner Meldung, nicht geloggt.
Es werden 3 Events empfangen, aber keins davon hinzugefügt (added):

Zitat
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: KellerTemperatur , Event: T: 16.312
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: KellerTemperatur , Event: _state: 16.312
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: KellerTemperatur , Event: state: active
2018.12.19 08:42:55 4: DbLog DBLogging -> number of events received: 3 for device: KellerTemperatur

Es gibt aber ein Device "Keller", dessen Event geloggt wird:

Zitat
2018.12.19 08:42:55 4: DbLog DBLogging -> added event - Timestamp: 2018-12-19 08:42:55, Device: Keller, Type: GPIO4, Event: T: 16.312, Reading: T, Value: 16.312, Unit:
2018.12.19 08:42:55 4: DbLog DBLogging -> check Device: Keller , Event: T: 16.312
2018.12.19 08:42:55 4: DbLog DBLogging -> number of events received: 1 for device: Keller

Wenn du dir sicher bist, dass "KellerTemperatur" geloggt wird obwohl du keinen Eintrag im Cache findest (kannst du leicht mit "listCache" kontrollieren), hätte ich noch eine Idee.
Es gibt eine "Hintertür" für Programmierer. Damit können Modulautoren ohne Eventgenerierung direkt Daten in die DB schreiben unter Umgehung der diversen Regexfilter.
Du müsstest DbLog auf die neuesten Version 3.13.1 updaten und nochmal verbose 4 einschalten. Ich hatte kürzlich genau wegen einem ähnlichen Fall die Logmeldungen erweitert, damit man sieht wenn über die "Backdoor" geschrieben wird.

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter