ignoreRegexp greift nicht wie erwartet

Begonnen von Felix_86, 14 Oktober 2019, 21:16:51

Vorheriges Thema - Nächstes Thema

Felix_86

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.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

rudolfkoenig

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.

Cori

#2
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?
diverse HomeMatic-Komponenten per HMLan und HMUART als IODevs und einige HUE-Lampen über HUE-Bridge2 an BananaPis mit Debian

rudolfkoenig

Da mir nur sehr komische Workarounds einfallen, habe ich dieses Attribut auch fuer global (und damit das FHEM-Log) implementiert.

Cori

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.
diverse HomeMatic-Komponenten per HMLan und HMUART als IODevs und einige HUE-Lampen über HUE-Bridge2 an BananaPis mit Debian