FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Felix_86 am 14 Oktober 2019, 21:16:51

Titel: ignoreRegexp greift nicht wie erwartet
Beitrag von: Felix_86 am 14 Oktober 2019, 21:16:51
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.
Titel: Antw:ignoreRegexp greift nicht wie erwartet
Beitrag von: rudolfkoenig am 14 Oktober 2019, 21:33:52
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.
Titel: Antw:ignoreRegexp greift nicht wie erwartet
Beitrag von: Cori am 24 Dezember 2019, 19:47:30
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?
Titel: Antw:ignoreRegexp greift nicht wie erwartet
Beitrag von: rudolfkoenig am 25 Dezember 2019, 20:18:41
Da mir nur sehr komische Workarounds einfallen, habe ich dieses Attribut auch fuer global (und damit das FHEM-Log) implementiert.
Titel: Antw:ignoreRegexp greift nicht wie erwartet
Beitrag von: Cori am 27 Dezember 2019, 02:29:25
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.