Hallo,
ich habe im Logfile öffters diese Einträge von der Abfrage eines 1-wire Sensors: "2017.02.02 00:00:06 3: unica_02_SZ: reading VAD did not return a value"
ich möchte nun mit einem notify darüber informiert werden, habe dazu dieses notify eingegeben:
define notify_no_value notify unica_01_WZ.: reading.* set SR01CADO_Heat_bot message no value
Natürlich habe ich mir die Commandref bzgl. notify mehrfach angeschaut und auch schon die Suchfunktion hier und auch google bemüht, leider bislang ohne Erfolg.
Andere Schreibweisen und nutzung der Platzhalter ".*" habe ich auch schon getestet.
Die manuelle Ausführung von set SR01CADO_Heat_bot message no value
funktioniert, nur das notify scheint das event nicht zu erkennen.
Weiß vieleicht jemand einen Ansatzpunkt für mich?
Ueblicherweise reagiert ein notify auf Events, genauso wie DOIF/FileLog/watchdog/etc. Die Zeilen in FHEM-Log sind aber keine Events. "set dummy blabla" generiert ein Event, genauso wie trigger. Damit ein notify auf Eintraege aus dem FHEM-Log reagiert, muss man das Attribut readLog setzten. Ist eigentlich ein Hack, und man sollte es sparsam einsetzen.
ZitatNatürlich habe ich mir die Commandref bzgl. notify mehrfach angeschaut
https://fhem.de/commandref.html#readLog
Anschauen reicht nicht. Man muss auch lesen :)
Hi,
ich weiß nicht ob Logeinträge wirklich relevant sind für ein notify. Ich schaue immer im Eventmonitor. Was dort steht kannst Du in ein RegEx packen.
Aber selbst wenn es so wäre hat dein notify mit deinem Logeintrag wenig zu tun
unica_01_WZ.: reading.*
unica_02_SZ: reading
Rudi war schneller 8)
Gruß Otto
Habe das Atribut nun gesetzt, und auch die Formulierung geringfügig angepasst, leider scheint es noch nicht zu stimmen
Internals:
DEF unica*.:.*did not return a value set SR01CADO_Heat_bot message no value
NAME notify_no_value
NR 75
NTFY_ORDER 50-notify_no_value
REGEXP unica*.:.*did
STATE active
TYPE notify
Readings:
2017-02-02 15:07:15 state active
Attributes:
readLog 1
es wird jedoch auch nicht in den Events angezeigt was zumindest der Fall sein müsste wenn die Entsprechnung im Logfile erkannt und das notify ausgelöst werden würde.
Die Definition des notifes sollte so aehnlich ausschauen:
define notify_no_value notify notify_no_value:unica.*:.*did.not.return.a.value set SR01CADO_Heat_bot message no value
attr notify_no_value readLog
Hi devien,
Du musst Dir auf alle Fälle noch etwas Wissen aneignen: https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke
Gruß Otto