Hallo,
Ich habe für alle KNX Devices DbLogExclude auf .*:3600 gesetzt. Das funktioniert aber nur für das Reading last-sender. Die Readings getG1 und state werden aber bei jedem Event gelogt, obwohl der Wert nicht ändert. Was habe ich Da übersehen?
Grus, Xcoder
Internals:
DEF 428c:dpt7 tul
DEVNAME KNX_428c
IODev tul
LASTInputDev tul
MSGCNT 3938
NAME KNX_428c
NR 345
NTFY_ORDER 50-KNX_428c
STATE 0 mA
TYPE KNX
tul_MSGCNT 3938
tul_RAWMSG C1012w428c0000
tul_TIME 2016-12-30 20:37:44
Gaddr:
1 4/2/140
Gcode:
1 428c
Helper:
Dblog:
Getg1:
Logdb_core:
TIME 1483126664.90318
VALUE 0
Last-sender:
Logdb_core:
TIME 1483125825.65365
VALUE 1/0/18
State:
Logdb_core:
TIME 1483126664.90318
VALUE 0
Model:
1 dpt7
Readings:
2016-12-30 20:37:44 getG1 0 mA
2016-12-30 20:37:44 last-sender 1/0/18
2016-12-30 20:37:44 state 0 mA
Readingsname:
Attributes:
DbLogExclude .*:3600
IODev tul
alias KNX_428c_Automower
format mA
icon measure_current
room Steckdosen
webCmd :
Hallo,
Der Grund scheint das Attribut 'format' zu sein. Die anderen KNX Devices, auch jene mit einer Einheit, verhalten sich korrekt. Nur meine dpt7 mit format = mA werden bei jedem Event gelogt.
Gruss, Xcoder
Das format Attribut hat doch keinen Einfluss. Wieso wir da trotzdem bei jedem Event getG1 und state gelogt, aber last-sender hält sich korrekt and die minInterval Einstellung.
+---------------------+----------+------+---------------------+-------------+--------+------+
| TIMESTAMP | DEVICE | TYPE | EVENT | READING | VALUE | UNIT |
+---------------------+----------+------+---------------------+-------------+--------+------+
| 2017-01-01 12:35:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:35:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:35:36 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:35:36 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:37:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:37:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:37:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:37:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:39:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:39:35 | KNX_428c | KNX | last-sender: 1/0/18 | last-sender | 1/0/18 | |
| 2017-01-01 12:39:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:41:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:41:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:41:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:41:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:43:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:43:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:45:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:45:35 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 12:45:35 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 12:45:35 | KNX_428c | KNX | 0 | state | 0 | |
...
| 2017-01-01 13:33:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:33:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:33:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:33:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:35:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:35:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:37:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:37:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:39:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:39:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:41:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:41:32 | KNX_428c | KNX | last-sender: 1/0/18 | last-sender | 1/0/18 | |
| 2017-01-01 13:41:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:41:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:41:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:43:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:43:32 | KNX_428c | KNX | 0 | state | 0 | |
| 2017-01-01 13:43:32 | KNX_428c | KNX | getG1: 0 | getG1 | 0 | |
| 2017-01-01 13:43:32 | KNX_428c | KNX | 0 | state | 0 | |
+---------------------+----------+------+---------------------+-------------+--------+------+
Bei einem andere Device ohne Einheiten funktioniert es:
DbLog:
| 2017-01-01 14:06:16 | KNX_0100 | KNX | getG1: 7 | getG1 | 7 | |
| 2017-01-01 14:06:16 | KNX_0100 | KNX | last-sender: 1/0/22 | last-sender | 1/0/22 | |
| 2017-01-01 14:06:16 | KNX_0100 | KNX | 7 | state | 7 | |
| 2017-01-01 14:07:23 | KNX_0100 | KNX | getG1: 8 | getG1 | 8 | |
| 2017-01-01 14:07:23 | KNX_0100 | KNX | 8 | state | 8 | |
| 2017-01-01 14:07:34 | KNX_0100 | KNX | getG1: 7 | getG1 | 7 | |
| 2017-01-01 14:07:34 | KNX_0100 | KNX | 7 | state | 7 | |
FileLog:
2017-01-01_14:06:16 KNX_0100 getG1: 7
2017-01-01_14:06:16 KNX_0100 last-sender: 1/0/22
2017-01-01_14:06:16 KNX_0100 7
2017-01-01_14:06:18 KNX_0100 getG1: 7
2017-01-01_14:06:18 KNX_0100 last-sender: 1/0/22
2017-01-01_14:06:18 KNX_0100 7
2017-01-01_14:06:19 KNX_0100 getG1: 7
2017-01-01_14:06:19 KNX_0100 last-sender: 1/0/22
2017-01-01_14:06:19 KNX_0100 7
2017-01-01_14:06:20 KNX_0100 getG1: 7
2017-01-01_14:06:20 KNX_0100 last-sender: 1/0/22
2017-01-01_14:06:20 KNX_0100 7
2017-01-01_14:06:21 KNX_0100 getG1: 7
2017-01-01_14:06:21 KNX_0100 last-sender: 1/0/22
2017-01-01_14:06:21 KNX_0100 7
2017-01-01_14:07:23 KNX_0100 getG1: 8
2017-01-01_14:07:23 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:23 KNX_0100 8
2017-01-01_14:07:25 KNX_0100 getG1: 8
2017-01-01_14:07:25 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:25 KNX_0100 8
2017-01-01_14:07:26 KNX_0100 getG1: 8
2017-01-01_14:07:26 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:26 KNX_0100 8
2017-01-01_14:07:28 KNX_0100 getG1: 8
2017-01-01_14:07:28 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:28 KNX_0100 8
2017-01-01_14:07:30 KNX_0100 getG1: 8
2017-01-01_14:07:30 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:30 KNX_0100 8
2017-01-01_14:07:34 KNX_0100 getG1: 7
2017-01-01_14:07:34 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:34 KNX_0100 7
2017-01-01_14:07:35 KNX_0100 getG1: 7
2017-01-01_14:07:35 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:35 KNX_0100 7
2017-01-01_14:07:37 KNX_0100 getG1: 7
2017-01-01_14:07:37 KNX_0100 last-sender: 1/0/22
2017-01-01_14:07:37 KNX_0100 7
Bei den Einstellungen kann ich jetzt eigentlich keinen relevanten Unterschied sehen:
Internals:
DEF 428c:dpt7 tul
DEVNAME KNX_428c
IODev tul
LASTInputDev tul
MSGCNT 886
NAME KNX_428c
NR 345
NTFY_ORDER 50-KNX_428c
STATE 0
TYPE KNX
tul_MSGCNT 886
tul_RAWMSG C1012w428c0000
tul_TIME 2017-01-01 14:09:30
Gaddr:
1 4/2/140
Gcode:
1 428c
Helper:
Dblog:
Getg1:
Logdb_core:
TIME 1483276170.71982
VALUE 0
Last-sender:
Logdb_core:
TIME 1483274492.23528
VALUE 1/0/18
State:
Logdb_core:
TIME 1483276170.71982
VALUE 0
Model:
1 dpt7
Readings:
2017-01-01 14:09:30 getG1 0
2017-01-01 14:09:30 last-sender 1/0/18
2017-01-01 14:09:30 state 0
Readingsname:
Attributes:
DbLogExclude .*:3600
IODev tul
alias KNX_428c_Automower
icon measure_current
room Steckdosen
webCmd :
Internals:
DEF 0100:dpt5
DEVNAME KNX_0100
IODev tul
LASTInputDev tul
MSGCNT 19
NAME KNX_0100
NR 279
NTFY_ORDER 50-KNX_0100
STATE 7
TYPE KNX
tul_MSGCNT 19
tul_RAWMSG C1016w010007
tul_TIME 2017-01-01 14:07:37
Gaddr:
1 0/1/0
Gcode:
1 0100
Helper:
Dblog:
Getg1:
Logdb_core:
TIME 1483276054.30343
VALUE 7
Last-sender:
Logdb_core:
TIME 1483275976.68424
VALUE 1/0/22
Setg1:
Logdb_core:
TIME 1483255455.46025
VALUE 2
State:
Logdb_core:
TIME 1483276054.30343
VALUE 7
Model:
1 dpt5
Readings:
2017-01-01 14:07:37 getG1 7
2017-01-01 14:07:37 last-sender 1/0/22
2017-01-01 08:24:15 setG1 2
2017-01-01 14:07:37 state 7
Readingsname:
Attributes:
DbLogExclude .*:3600
IODev tul
group KNX
room KNX
webCmd :
Im Log sieht man auch nur, dass die getG1 und state Readings immer gelogt werden...
2017.01.08 19:20:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:20:11 4: tul: C1012w428c0000
2017.01.08 19:20:11 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:20:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:20:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:20:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:20:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:20:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:20:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:20:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:20:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:20:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:20:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:20:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:22:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:22:11 4: tul: C1012w428c0000
2017.01.08 19:22:11 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:22:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:22:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:22:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:22:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:22:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:22:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:22:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:22:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:22:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:22:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:22:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:24:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:24:11 4: tul: C1012w428c0000
2017.01.08 19:24:11 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:24:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:24:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:24:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:24:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:24:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:24:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:24:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:24:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:24:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:24:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:24:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:26:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:26:11 4: tul: C1012w428c0000
2017.01.08 19:28:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:28:11 4: tul: C1012w428c0000
2017.01.08 19:28:11 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:28:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:28:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:28:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:28:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:28:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:28:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:28:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:28:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:28:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:28:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:28:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:30:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:30:11 4: tul: C1012w428c0000
2017.01.08 19:30:11 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:30:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:30:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:30:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:30:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:30:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:30:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:30:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:30:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:30:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:30:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:30:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:32:10 4: SimpleRead: 1012w428c0000
2017.01.08 19:32:10 4: tul: C1012w428c0000
2017.01.08 19:32:10 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:32:10 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:32:10 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:32:10, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:32:10 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:32:10 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:32:10 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:32:10, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:32:10 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:32:10, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:32:10 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:32:10, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:32:11 4: SimpleRead: 1012w428c0000
2017.01.08 19:32:11 4: tul: C1012w428c0000
2017.01.08 19:32:11 4: DbLog logdb_core -> amount of events received: 3 for device: KNX_428c
2017.01.08 19:32:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: getG1: 0 mA
2017.01.08 19:32:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:32:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:32:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: last-sender: 1/0/18
2017.01.08 19:32:11 4: DbLog logdb_core -> check Device: KNX_428c , Event: 0 mA
2017.01.08 19:32:11 4: DbLog logdb_core -> added event to memcache - Timestamp: 2017-01-08 19:32:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
2017.01.08 19:32:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:32:11, Device: KNX_428c, Type: KNX, Event: getG1: 0 mA, Reading: getG1, Value: 0, Unit: mA
2017.01.08 19:32:11 4: DbLog logdb_core -> processing event Timestamp: 2017-01-08 19:32:11, Device: KNX_428c, Type: KNX, Event: 0 mA, Reading: state, Value: 0, Unit: mA
@DS_Starter: wie vermutet, sind die 0 Werte die Ursache. Sobald der Wert nicht 0 ist wird die minInterval Einstellung berücksichtig, wenn er wieder auf 0 geht, wird wieder jeder Event geloggt.
Scheint also ein Bug in DbLog zu sein, oder?
Mit der Attribut event-on-change-reading kann man die Datenflut etwas dämpfen, allerdings wird dann ja nur noch geloggt, wenn die Werte tatsächlich ändern und nicht jedes minInterval...
Gruss, Xcoder
ZitatScheint also ein Bug in DbLog zu sein, oder?
Nicht unbedingt. Es ist eher der Eigenheit geschuldet dass Perl den 0-Wert als "false" wertet, also im Prinzip nicht vorhanden.
Die Entscheidungsmatrix bzgl. DbInclude, DbExclude macht einige Vergleiche bzgl. Zeiten bzw. Werten. Diese Logik ist nicht neu, wurde bereits immer so genutzt.
Vllt. wäre es eine Möglichkeit statt mit DbExclude mit DbInclude zu arbeiten und die Readings aufzunehmen die geloggt werden sollen, oder über ein stateformat die "0" in ein "0.0" umzuwandeln. Nur mal als Möglichkeit ohne genau darüber nachgedacht zu haben...
Danke für die Rückmeldung. Verstehen will ich so etwas aber nicht. Wenn ich eine Temperature logge, soll sich DbLogExclude für alle Werte gleich verhalten. Da macht eine Sonderbehandlung für den Wert 0 in diesem Zusammenhang in der Praxis keinen Sinn.
Gruss, Xcoder