FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: teufelchen am 29 April 2018, 14:12:38

Titel: [Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: teufelchen am 29 April 2018, 14:12:38
Hallo,

ich dabei ein Gerät welches verschiedenste Werte in die Logdatei schreibt.
Einen Wert möchte ich aber nicht geschrieben haben.
Gibt es einen Befehl um nur diesen einen Wert zu unterdrücken.
Der Eintrag ist wie folgt:
2018-04-29_13:24:27 ROB device_info-last_time_online: 2018-04-29 13:23:45
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: amenomade am 29 April 2018, 20:32:38
Prinzipiell so: https://www.regextester.com/15
Ich weiss aber nicht, ob das "negative lookahead" in Filelog oder event-on- funktioniert. Sollte aber. Probier mal.
Ansonsten musst Du eine Regex erfinden, die alle andere Readings bis auf dem nicht gewünschten matcht.
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 29 April 2018, 21:19:26
Hi,

mach doch einfach mal ein list von deinem FileLog und von ROB und poste das hier.

Gruß Otto
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: thgorjup am 30 April 2018, 10:02:10
Ich würde immer die RegEx Variante bevorzugen. Sonst schreibt es dir Ruckzuck die DB voll. Vor allem wenn du viele Geräte hast.

Z. B. foglendermaßen:

HM.* = Alle Devices die mit HM beginnen (HomeMatic)
| = oder

Am Ende nach der Klammer kannst du mit "|" weitere Devices angeben.


define DBLOG DbLog ./db.conf HM.*:(humidity|desired-temp|measured-temp|level|kWh|eState|pct|motion|brightness|open|closed)
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: nils_ am 02 Mai 2018, 10:02:59
https://fhem.de/commandref.html#ignoreRegexp
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 02 Mai 2018, 10:14:50
Der Tip ist ja interessant - aber handelt es sich denn beim TE um ein notify?  ::)

Aber Teufelchen ist scheinbar noch in der Walpurgisnacht...  ;D
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: teufelchen am 02 Mai 2018, 10:18:08
Hallo,
nicht in Walpurgisnacht. Aber nicht zu Hause zum testen.
Und über VPN und Handy sehr frickelig und fehlerbehaftet.
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: nils_ am 02 Mai 2018, 12:55:39
Zitat von: Otto123 am 02 Mai 2018, 10:14:50
Der Tip ist ja interessant - aber handelt es sich denn beim TE um ein notify?  ::)

sorry, hab das vorhin nur schnell verlinkt.
auch bei https://fhem.de/commandref.html#FileLog gibt es das Attribut, der Link für ignoreRegexp (html-Anker?) zeigt zum notify.
FileLog hab ich jetzt natürlich auch nur vermutet. (evtl. passt es ja ;) )
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: teufelchen am 03 Mai 2018, 06:37:13
Hallo,

ich anbei die Werte aus der Log-Datei, reduziert um doppelte Einträge.
Nur die Werte der ersten Zeile sollen nicht mehr in die Log-Datei geschrieben werden.
ROB device_info-last_time_online:
Die Datei ist sonst mit event-on-change-reading .* ausreichend klein gehalten.
2018-05-01_00:08:50 ROB device_info-last_time_online: 2018-04-30 23:59:58
2018-05-01_00:18:59 ROB 204
2018-05-01_00:33:12 ROB 400
2018-05-01_01:09:47 ROB battery-charging: false
2018-05-01_01:19:56 ROB battery-charging: true
2018-05-01_01:34:10 ROB battery-level: 92
2018-05-01_01:54:29 ROB deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich
2018-05-01_02:10:44 ROB Deaktiviert. Manueller Start erforderlich
2018-05-01_02:20:55 ROB Fehler
2018-05-01_02:35:08 ROB geparkt
2018-05-01_03:11:43 ROB geparkt nach Zeitplan
2018-05-01_03:21:52 ROB lädt
2018-05-01_03:36:05 ROB lastRequestState: null sessions
2018-05-01_04:12:44 ROB lastRequestState: request_error
2018-05-01_04:22:52 ROB mähen
2018-05-01_04:36:06 ROB manuelles mähen
2018-05-01_05:13:42 ROB mower_stats-charging_cycles: 468
2018-05-01_05:23:51 ROB mower_stats-collisions: 1550
2018-05-01_05:37:05 ROB mower_stats-cutting_time: 638
2018-05-01_06:14:39 ROB mower_stats-running_time: 683
2018-05-01_06:24:48 ROB mower-error: angehoben
2018-05-01_06:38:00 ROB mower-error: eingeschlossen
2018-05-01_07:15:36 ROB mower-error: kein Fehler
2018-05-01_07:25:45 ROB mower-error: Problem Stoßsensor hinten
2018-05-01_07:38:58 ROB mower-last_error_code: angehoben
2018-05-01_07:59:26 ROB mower-last_error_code: eingeschlossen
2018-05-01_07:59:28 ROB mower-last_error_code: kein Fehler
2018-05-01_07:59:28 ROB mower-last_error_code: Problem Stoßsensor hinten
2018-05-01_07:59:33 ROB mower-override_end_time: 2018-05-01 06:29:17
2018-05-01_08:01:35 ROB mower-source_for_next_start: Mäher wurde geladen
2018-05-01_08:01:35 ROB mower-source_for_next_start: oK
2018-05-01_08:01:35 ROB mower-source_for_next_start: Wochentimer erreicht
2018-05-01_08:01:35 ROB mower-status: deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich
2018-05-01_08:01:35 ROB mower-status: Deaktiviert. Manueller Start erforderlich
2018-05-01_08:01:35 ROB mower-status: Fehler
2018-05-01_08:02:03 ROB mower-status: geparkt
2018-05-01_08:02:05 ROB mower-status: geparkt nach Zeitplan
2018-05-01_08:02:05 ROB mower-status: lädt
2018-05-01_08:02:10 ROB mower-status: mähen
2018-05-01_08:02:10 ROB mower-status: manuelles mähen
2018-05-01_08:02:10 ROB mower-status: suche Ladestation
2018-05-01_08:03:11 ROB mower-timestamp_last_error_code: illegal year
2018-05-01_08:03:11 ROB mower-timestamp_next_start: illegal year
2018-05-01_08:04:12 ROB null sessions
2018-05-01_08:04:12 ROB radio-connection_status: Gerät ist in Reichweite
2018-05-01_08:04:12 ROB radio-connection_status: Gerät ist nicht in Reichweite
2018-05-01_08:05:13 ROB radio-quality: 80
2018-05-01_08:05:13 ROB radio-state: gut
2018-05-01_08:05:13 ROB radio-state: schwach
2018-05-01_08:05:13 ROB send command to gardena cloud
2018-05-01_08:05:13 ROB suche Ladestation
2018-05-01_08:05:13 ROB the command is processed


Wer kann mir mit einer Rexex behilflich sein?
Momentan habe ich nur folgendes für die Log-Datei:
defmod FileLog_ROB FileLog ./log/ROB-%Y-%m.log ROB
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: nils_ am 03 Mai 2018, 09:06:35
sowas vielleicht?
attr FileLog_ROB ignoreRegexp device_info-last_time_online:.*
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: rabehd am 03 Mai 2018, 11:27:24
Hatte das Problem auch und Antwort #4 hat geholfen.
Man muss natürlich auch was lesen.

Notify aus Eventmonitor erstellt,
Definition als ignoreRegexp übernommen
"Hilfs"-Notify gelöscht

Mit dem Attribut viel einfacher als über die Definition fürs Logfile.
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: teufelchen am 03 Mai 2018, 20:57:14
Hallo,

ich bin irgendwie zu doof.
attr FileLog_ROB ignoreRegexp device_info-last_time_online:.* funktioniert bei mir leider nicht.
Und die Lösung von rabehd verstehe ich nicht und mit Hinweis auf #4 https://fhem.de/commandref.html#ignoreRegexp (https://fhem.de/commandref.html#ignoreRegexp) bekomme ich auch nicht den Bogen zum Notify hin.

rabehd kannst Du bitte mal schreiben was für ein Notiyf aus Eventmonitor erstellt hast. Und wie Du dann die Eiträge im Log erstellst.

Danke
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 03 Mai 2018, 22:10:15
Hi,

https://wiki.fhem.de/wiki/Event_monitor

Zwischenfrage: Dein FHEM ist halbwegs ist aktuell?

Kann es sein, dass das regEx so aussehen muss?
ROB:device_info-last_time_online:.*

Gruß Otto

Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: teufelchen am 05 Mai 2018, 20:54:30
Hallo Otto,

ich mache meistens am Wochenende ein Update, dadurch ist FHEM eigentlich aktuell.

Ich habe jetzt über die Oberfläche alle Werte außer den zu ignorierenden Wert eingetragen.
ignoreRegexp funktionierte leider nicht

Und wenn ich ein Notify anlege bekomme ich als Einträge nur Hex-Werte die ich leider nicht deuten kann.

Aber vielen Dank für Eure Hilfe ist ein super Forum.
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 06 Mai 2018, 16:26:16
Hallo teufelchen,

sorry aber das sprengt jetzt die Vorstellungskraft  :D
Du könntest uns mit einem list Deines Versuches vom FileLog auf die Sprünge helfen.
ZitatUnd wenn ich ein Notify anlege bekomme ich als Einträge nur Hex-Werte die ich leider nicht deuten kann.
Und auch mit dem Ergebnis musst Du ein praktisches Beispiel (list vom angelegten notify)  liefern.

Gruß Otto
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: rabehd am 07 Mai 2018, 09:32:08
Zitatrabehd kannst Du bitte mal schreiben was für ein Notiyf aus Eventmonitor erstellt hast. Und wie Du dann die Eiträge im Log erstellst.

Ich fass in einem FileLog die Meldungen bestimmter Geräte zusammen. Es sind dabei auch Einträge aufgetaucht, die ich dort nicht haben wollte.
Mit dem Hinweis auf  "ignoreRegexp" brauchte ich nur den richtigen Regex-Eintrag zu finden.
Dafür bin ich in den Eventmonitor und habe "gewartet" bis der Eintrag erschein den ich nicht im meinem Log haben will. Die Zeile habe ich markiert und ein notify "create"iert. Diese notify reagiert genau auf den Eintrag den ich im Log-File nicht haben will. Also habe ich im notify den Reges rauskopiert und als  "ignoreRegexp"-Attribut im Device des FileLog eingetragen.
Titel: Antw:Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: teufelchen am 09 Mai 2018, 06:47:23
Gelöst.

Mit folgenden Code wird der Eintrag im Log unterbunden:
attr FileLog_ROB ignoreRegexp ROB:device_info-last_time_online:.*

@rabehd: Super Idee mit Notify. Bei mir wurden die Werte jedoch als Werte HASH(0x4787d28)
HASH(0x4927dc8)
ausgegeben die ich so nicht deuten kann. Für andere Probleme aber eine geniale Idee.
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 09 Mai 2018, 14:18:48
Glückwunsch!
Die Lösung stand irgendwie schon in #12  8)


Gruß Otto
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Bartimaus am 12 September 2018, 18:22:10
Moin,

wenn ich mehrere Werte mit dem Attribut "ignoreRegexp" vom loggen ausschliessen möchte, so meine ich gelesen zu haben, das diese komma-separiert einzugeben sind.

Also: attr <device> ignoreRegexp 2047.969,651.350,327.670,2047.688,190.820

Leider funktioniert das scheinbar nur bedingt, denn wenn diese Werte auftreten, werden sie dennoch ins FileLog geschrieben. Ich habe zwar den Eindruck, das es weniger geworden ist, aber leider nicht komplett.

Ideen ?
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 12 September 2018, 18:42:38
In der Doku steht:
ZitatignoreRegexp regexp
It is hard to create a regexp which is _not_ matching something, this attribute helps in this case, as the event is ignored if matches the argument. The syntax is the same as for the original regexp.
Da steht regExp - nicht komma separiert  :o

Gruß Otto
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Bartimaus am 12 September 2018, 21:03:31
Danke, werde ich versuchen
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Bartimaus am 13 September 2018, 07:16:54
Leider ohne Erfolg.... Werte werden immer noch ins Log geschrieben... :-[
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 13 September 2018, 09:45:42
Ohne weiter Info können wir dich zwar bedauern aber nicht mal ansatzweise helfen.

Wie sieht Dein regExp aus?
Wie sehen die Events aus die nicht geloggt werden sollen?

Gruß Otto
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Bartimaus am 13 September 2018, 09:49:02
Ich hatte das ursprüngliche Attribut ein paar doch Zeilen vorher gepostet.  ;)

Ich habe jetzt die Kommas durch Blanks ersetzt.

attr <device> ignoreRegexp 2047.969 651.350 327.670 2047.688 190.820
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Otto123 am 13 September 2018, 09:56:22
Aber dazu hatte ich schon gesagt das ist kein regExp.  :o
Das sind einfach Werte.
http://regexp-evaluator.de/tutorial/

sowas wäre ein regExp, mit der Annahme, dass Deine Werte irgendwo in der Eventzeile auftauchen.
.*2047.969.*|.*651.350.*|.*327.670.*|.*2047.688.*|.*190.820.*

Aber um genauer zu helfen, wie schon gefragt:
ZitatWie sehen die Events aus die nicht geloggt werden sollen?

Gruß Otto
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Bartimaus am 13 September 2018, 10:09:05
Ach so, ok. Hatte ich wohl missverstanden bzw. zu einfach gedacht mit dem regexp.

Dann werde ich, wenn ich zuhause bin, mal diesen Regexp-Evaluator testen, komme momentan nicht an meinen Server, da Stromausfall@home.....  :-[

Somit kann ich das betreffende Event momentan leider nicht liefern.
Titel: Antw:[Gelöst]Einzelne Wert nicht in Log-Datei schreiben
Beitrag von: Bartimaus am 17 September 2018, 12:32:21
Zitat von: Otto123 am 13 September 2018, 09:56:22

sowas wäre ein regExp, mit der Annahme, dass Deine Werte irgendwo in der Eventzeile auftauchen.
.*2047.969.*|.*651.350.*|.*327.670.*|.*2047.688.*|.*190.820.*

Aber um genauer zu helfen, wie schon gefragt:
Gruß Otto

Danke Otto, so funktioniert es perfekt !!