[gelöst] RegEx für einen speziellen Logeintrag bauen

Begonnen von t1me2die, 07 August 2018, 17:07:25

Vorheriges Thema - Nächstes Thema

t1me2die

Moin liebe Leute,

ich versuche seit etwas längerer Zeit auf einen gewissen Logeintrag zu reagieren:


2018.08.07 16:53:40 2: ESPEasy fl_Luefter: WARNING: http://192.168.178.105:80/control?cmd=gpio,12,0: empty answer received


Und zwar würde ich genau auf diesen Teil des Eintrages

fl_Luefter: WARNING


prüfen wollen.

Sobald der Eintrag im Log erscheint soll ein Notify los laufen und irgendwas machen:

Mein Notify dazu schaut wie folgt aus, jedoch wird es leider nicht getriggert!

Internals:
   CFGFN     
   DEF        n_fl_Luefter:.*fl_Luefter: WARNING.*
{
  my $try = (ReadingsNum("fl_Luefter","try",0));
  if (ReadingsVal("fl_Luefter","Relay","") eq "off") 
  { fhem "set fl_Luefter on"; }
  else
  { fhem "set fl_Luefter off"; }
  fhem "setreading fl_Luefter try $try";
}
   NAME       n_fl_Luefter
   NOTIFYDEV  n_fl_Luefter
   NR         64804
   NTFY_ORDER 50-n_fl_Luefter
   REGEXP     n_fl_Luefter:.*fl_Luefter:
   STATE      active
   TYPE       notify
   Helper:
     DBLOG:
       state:
         myDbLog:
           TIME       1533323445.45657
           VALUE      active
   READINGS:
     2018-08-07 16:58:42   state           active
Attributes:
   DbLogExclude .*
   readLog    1
   room       QNAP

Im RegEx sehe ich, dass er das WARNING nicht mit drin hat, wahrscheinlich Aufgrund des Leerzeichens zwischen "fl_Luefter:" und "WARNING:"
Bitte verratet mir, wie ich den RegEx schreiben muss, damit er korrekt triggert, ich weiß leider nicht genau, wonach ich suchen soll.

Da diese Logmeldung nur sporadisch und selten geschrieben wird, kann ich leider diese auch nicht reproduzieren (oder ich weiß einfach nicht wie!).

Gruß
Mathze

Otto123

Hi,

ein Leerzeichen kannst Du durch . "matchen" Der Punkt steht für jedes Zeichen.
Notify triggert durch Events und nicht durch Logs, erscheint denn dies auch im Eventmonitor?

https://wiki.fhem.de/wiki/Notify

Das könnte gehen
fl_Luefter:.WARNING.*

Es kann sein dass Du dies brauchst https://fhem.de/commandref.html#addStateEvent

Mit trigger kannst Du den Event simulieren.
Insgesamt wird das sicher schwierig.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

t1me2die