DBlog scheint nicht alles zu logen

Begonnen von reibuehl, 24 November 2016, 10:10:00

Vorheriges Thema - Nächstes Thema

reibuehl

Hallo,

Ich habe seit längerem DBlog mit einer MySQL DB am laufen. Daten werden dort auch gelogt, aber heute musste ich nach einem Fehlalarm meiner Rauchmelder feststellen, dass deren Meldungen seit September nicht mehr in der Datenbank stehen.

In den Readings sehe ich, das FHEM eine Änderung empfangen hat:

alive               yes              2016-11-23 09:55:16
battery             ok               2016-11-23 09:55:16
contact             open (to vccu)   2016-11-23 09:55:16
recentStateType     info             2016-11-23 09:55:16
sabotageError       off              2016-11-23 09:55:16
state               open             2016-11-23 09:55:16


Im Log steht aber nichts, obwohl dort meiner Meinung nach alles gelogt werden sollte:
Internals:
   CONFIGURATION ./db.conf
   DBMODEL    MYSQL
   DEF        ./db.conf .*:.*
   NAME       logdb
   NR         678
   NTFY_ORDER 50-logdb
   PID        3011
   REGEXP     .*:.*
   STATE      connected
   TYPE       DbLog
   dbconn     mysql:database=fhem;host=localhost;port=3306
   dbuser     fhemuser
   Helper:
     Dblog:
       State:
         Logdb:
           TIME       1479353854.30536
           VALUE      connected
   Readings:
     2016-11-17 04:37:34   state           connected
Attributes:
   room       Haus,Logfiles

Was könnte hier falsch laufen?
Reiner.

budy

Moin,

schau mal in die DB und sehe nach, ob in der Tabelle current viele alte Werte stehen. Ich habe es schon gehabt, dass wenn da viele Werte für dasselbe Device stehen, diese nicht mehr in die Tabelle history übernommen werden.

...außerdem mache ich auch nicht alle Logs in eine Tabelle, die dürfte dann doch seehr groß werden.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

reibuehl

Von diesem Device stehen nur die 6 Einträge aus dem September in Current:

mysql> select * from current where DEVICE="Rauchmelder";
+---------------------+-------------+--------+-------------------------+-----------------+----------+------+
| TIMESTAMP           | DEVICE      | TYPE   | EVENT                   | READING         | VALUE    | UNIT |
+---------------------+-------------+--------+-------------------------+-----------------+----------+------+
| 2016-09-03 23:03:34 | Rauchmelder | CUL_HM | Activity: alive         | Activity        | alive    |      |
| 2016-09-03 23:08:09 | Rauchmelder | CUL_HM | R-cyclicInfoMsg: on     | R-cyclicInfoMsg | on       |      |
| 2016-09-03 23:08:58 | Rauchmelder | CUL_HM | sabotageError: off      | sabotageError   | off      |      |
| 2016-09-03 23:08:58 | Rauchmelder | CUL_HM | open                    | state           | open     |      |
| 2016-09-03 23:08:09 | Rauchmelder | CUL_HM | R-pairCentral: 0x1E9E56 | R-pairCentral   | 0x1E9E56 |      |
| 2016-09-03 23:08:09 | Rauchmelder | CUL_HM | R-sabotageMsg: on       | R-sabotageMsg   | on       |      |
+---------------------+-------------+--------+-------------------------+-----------------+----------+------+
6 rows in set (0.11 sec)

Insgesamt sind momentan 150642 Einträge in Current.

Wie teilst Du das DBlog auf mehrere Tabellen auf? Über mehrere DBlog Devices?
Reiner.

budy

Zitat von: reibuehl am 24 November 2016, 11:12:41
Insgesamt sind momentan 150642 Einträge in Current.

Das ist wohl zuviel... als ich das hatte, habe ich die aus current weggelöscht und dann ging es wieder... ich vermute mal, es hängt damit zusammen, wie dbLog die Werte von current nach history umschaufelt.

Zitat von: reibuehl am 24 November 2016, 11:12:41Wie teilst Du das DBlog auf mehrere Tabellen auf? Über mehrere DBlog Devices?

Genau so... allerdings beutze ich tatsächlich mehrere Datenbanken, denn dbLog greift ja immer auf current/history zu. Und der Sinn ist ja, dass die einzelnen Dateien nicht so groß werden.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

ernst1024

150tsd in Current? Nicht vertan und du meinst HISTORY? Ich habe gerade geschaut Current: 137, History:475000.
Gruß Ernst

reibuehl

Nein, nicht vertan :-) In history sind es deutlich mehr:
mysql> select count(*) from history;
+----------+
| count(*) |
+----------+
| 26535837 |
+----------+
1 row in set (16.98 sec)
Reiner.

ernst1024

Wahnsinn, logst du für Gott die Welt?
Mal blind: falls auf pi, Speicherkarte voll?
Gruß Ernst

reibuehl

Ist doch 'ne Datenbank ;)

Die DB liegt auf einem Server, der damit eigentlich keine Probleme hat. Für andere Devices sehe ich auch aktuelle Einträge.

Nach welchen Kriterien werden den die Einträge von current nach history verschoben?
Reiner.