Hallo zusammen,
ich habe einen 433 MHz IT Bewegungsmeldung namens BM_1.
Internals:
00 f0
DEF 01FFFFFFFF FF F0
FUUID 5d321294-f33f-a48e-d97d-dd4907865fcfcfd0
IODev miniCUL
LASTInputDev miniCUL
MSGCNT 555
NAME BM_1
NR 329
STATE on
TYPE IT
XMIT 01ffffffff
XMITdimdown 00
XMITdimup 00
XMITon ff
miniCUL_MSGCNT 555
miniCUL_RAWMSG i355555
miniCUL_RSSI -50.5
miniCUL_TIME 2019-10-14 21:01:46
CODE:
1 01ffffffff
READINGS:
2019-07-19 20:57:24 protocol V1
2019-10-14 21:01:46 state on
Attributes:
IODev miniCUL
devStateIcon on:user_available@red off:user_unknown
do_not_notify 1
event-on-update-reading state
room Überwachnung
Bei jeder erkannten Bewegung wird das Reading "state" mit dem Wert "on" aktualisiert. Den Wert "off" oder einen anderen erzeugt der Bewegungsmelder nicht.
Wie zu sehen ist, feuert bei jedem Update auf das Reading "state" ein Event - soll auch durchaus so sein.
Diese Konfiguration hat zur Folge, dass jedes Reading Update einen Eintrag im fhem.log erzeugt:
2019.10.14 20:02:55 3: miniCUL IT: BM_1 on->on
2019.10.14 20:02:59 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:00 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:06 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:07 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:11 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:17 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:17 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:17 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:22 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:22 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:27 3: miniCUL IT: BM_1 on->on
2019.10.14 20:03:27 3: miniCUL IT: BM_1 on->on
2019.10.14 20:04:21 3: miniCUL IT: BM_1 on->on
2019.10.14 20:04:21 3: miniCUL IT: BM_1 on->on
2019.10.14 20:04:26 3: miniCUL IT: BM_1 on->on
2019.10.14 20:04:37 3: miniCUL IT: BM_1 on->on
2019.10.14 20:04:42 3: miniCUL IT: BM_1 on->on
2019.10.14 20:04:58 3: miniCUL IT: BM_1 on->on
2019.10.14 20:05:15 3: miniCUL IT: BM_1 on->on
2019.10.14 20:05:15 3: miniCUL IT: BM_1 on->on
2019.10.14 20:05:22 3: miniCUL IT: BM_1 on->on
2019.10.14 20:06:22 3: miniCUL IT: BM_1 on->on
2019.10.14 20:12:18 3: miniCUL IT: BM_1 on->on
2019.10.14 20:12:23 3: miniCUL IT: BM_1 on->on
2019.10.14 20:12:28 3: miniCUL IT: BM_1 on->on
2019.10.14 20:12:28 3: miniCUL IT: BM_1 on->on
2019.10.14 20:12:46 3: miniCUL IT: BM_1 on->on
2019.10.14 20:23:45 3: miniCUL IT: BM_1 on->on
2019.10.14 20:24:01 3: miniCUL IT: BM_1 on->on
2019.10.14 20:38:07 3: miniCUL IT: BM_1 on->on
2019.10.14 20:38:45 3: miniCUL IT: BM_1 on->on
2019.10.14 20:38:50 3: miniCUL IT: BM_1 on->on
2019.10.14 20:45:07 3: miniCUL IT: BM_1 on->on
2019.10.14 20:45:12 3: miniCUL IT: BM_1 on->on
2019.10.14 20:45:13 3: miniCUL IT: BM_1 on->on
2019.10.14 20:45:58 3: miniCUL IT: BM_1 on->on
2019.10.14 20:46:38 3: miniCUL IT: BM_1 on->on
2019.10.14 20:46:49 3: miniCUL IT: BM_1 on->on
2019.10.14 20:46:49 3: miniCUL IT: BM_1 on->on
2019.10.14 20:57:19 3: miniCUL IT: BM_1 on->on
2019.10.14 20:57:20 3: miniCUL IT: BM_1 on->on
2019.10.14 20:57:20 3: miniCUL IT: BM_1 on->on
Je nach dem was so vor dem Bewegungsmelder los ist, können das mehrere hundert Meldungen innerhalb einer Stunde werden. Diese Meldungen brauche ich aber nicht im fhem.log. Ich habe ein eigenes BM_Log angelegt in dem ich die Status Updates logge zwecks Auswertung.
Daher habe ich versucht mit dem Attribut "ignoreRegexp" die Events des Bewegungsmelders aus dem fhem.log zu filtern. Das gelang mir bisher allerdings nicht.
Internals:
DEF ./log/fhem-%Y-%m.log fakelog
FD 10
FUUID 5cf652d2-f33f-a48e-f321-a3c43667720c52ae
NAME Logfile
NR 16
NTFY_ORDER 50-Logfile
REGEXP fakelog
STATE active
TYPE FileLog
currentlogfile ./log/fhem-2019-10.log
logfile ./log/fhem-%Y-%m.log
READINGS:
2019-10-01 00:00:01 linesInTheFile 0
Attributes:
ignoreRegexp .*miniCUL.IT.*BM_1.*|.*BM_1.*|.*BM.1.*
room Logs
verbose 3
Wie muss die ignoreRegexp aussehen, damit Events vom Typ "miniCUL IT: BM_1 on->on" nicht mehr im fhem.log mitgeschrieben werden?
Vielen Dank vorab.
Diese FileLog Instanz wird (wie der Parameter fakelog in der Definition es vermuten laesst) nur fuer die Anzeige im Frontend verwendet
Beschraenken kann man die FHEM-Log Ausgabe mit dem globalen oder Modul-Instanz spezifischen verbose Attribut.
Frohe Weihnachten und hallo Rudi,
könnte man dieses Verhalten für das FHEM-Log evtl. noch implementieren?
Ich habe einige HM-Dimmer, deren virtuellen Kanäle ich zu den Dämmerungen hoch- bzw. herunterdimmen lasse (über 2-4h). Dazu wird der aktuelle Zustand aller 2-3 Minuten abgefragt, was auch erwünscht ist. Allerdings wird dabei immer wieder ein 'set ... statusRequest'-Event (verbose-Level 3) ins Log geschrieben, was in 10min etwa 80 Zeilen ergibt. Viele andere Level3-Events sind aber sinnvoll und sollten schon mitgeloggt werden, also verbietet sich eine Änderung von verbose auf globaler oder Device-Ebene.
Oder gibt es da evtl. einen anderen Workaround?
Da mir nur sehr komische Workarounds einfallen, habe ich dieses Attribut auch fuer global (und damit das FHEM-Log) implementiert.
Super, vielen vielen Dank. Es funktioniert wie vorgesehen.
Das dürfte mein Logfile etwas übersichtlicher machen, aber vor allem deutlich Speicherplatz sparen.
Dass das Attribut in global und nicht in Logfile gesetzt wird ist nicht ganz intuitiv aber mit Hintergrundwissen nachvollziehbar. Ich werde aber besser im Wiki etwas ergänzen.