FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: feeeem am 26 Oktober 2015, 21:25:29

Titel: Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: feeeem am 26 Oktober 2015, 21:25:29
Hallo,

ich nutze das PRESENCE Modul um die Verfügbarkeit einiger Geräte im Minutentakt abzufragen.

Im Logfile finde ich regelmäßig Ausgaben:
 
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46769
2015.10.26 21:04:40 4: BlockingCall created child (32767), uses telnetForBlockingFn to connect back
2015.10.26 21:04:40 4: PRESENCE (Printer_HPColorLaserJet) - rescheduling next check in 60 seconds
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46770
2015.10.26 21:04:40 4: PRESENCE (FritzBox) - rescheduling next check in 60 seconds
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46771
2015.10.26 21:04:40 4: PRESENCE (AVR_Onkyo) - rescheduling next check in 60 seconds
2015.10.26 21:04:40 4: Connection accepted from telnet:127.0.0.1:46772


Im Event Monitor sehe ich folgende Meldungen:

2015-10-26 21:09:58 PRESENCE Printer_HPColorLaserJet present
2015-10-26 21:09:58 PRESENCE Printer_HPColorLaserJet presence: present
2015-10-26 21:09:58 PRESENCE FritzBox present
2015-10-26 21:09:58 PRESENCE FritzBox presence: present
2015-10-26 21:09:58 PRESENCE AVR_Onkyo present
2015-10-26 21:09:58 PRESENCE AVR_Onkyo presence: present


Ich möchte gerne den Zustand present / absent der überwachten Geräte in einem SVG Plot darstellen.
Soweit ich verstanden habe, brauche ich dazu ein FileLog, aus dem die Information gelesen wird.

Hier habe ich gleich mehrere Probleme:

1. Im Logfile findet sich das Ergebnis der Überprüfung, also present/absent, gar  nicht.
2. Wie kann ich die Zustände present/absent, die als Event im Monitor angezeigt werden, loggen?
3. Wie kann ich sämtliche Meldungen aller PRESENCE Module in eine eigene Log-Datei umleiten?
Stammen die Meldungen "Connection accepted from telnet:127.0.0.1:..." und "BlockingCall created child (32767), uses telnetForBlockingFn to connect back" ebenfalls aus dem PRESENCE Modul?

Vielen Dank für jeden Hinweis!
Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: errazzor am 27 Oktober 2015, 07:48:21
Hallo,

also Du kannst für jeden Presence-Check ein Logfile anlegen, so wie für jedes andere Device auch:


define FileLog_Handy.Sabine FileLog ./log/Handy.Sabine-%Y.log Handy.Sabine


Im definierten Logfile steht dann z.b.:


2015-10-27_07:44:44 Handy.Sabine present
2015-10-27_07:44:44 Handy.Sabine presence: present

Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: feeeem am 27 Oktober 2015, 19:18:39
Danke errazzor.

Bliebe noch die Frage, ob man alle PRESENCE Meldungen in ein Logfile schreiben kann?
Ein Ansatz wäre eventuell einfach mehrere FileLog's mit dem gleichen Log-Filenamen zu definieren.
Zumindest mit zwei FileLog's scheint es zu funktionieren.
Kann jemand sagen, ob das prinzipiell möglich ist?
Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: errazzor am 29 Oktober 2015, 09:33:54
Also prinzipiell sollte das wohl gehen. Das einzige Problem was ich mir vorstellen könnte ist, wenn zwei "Dienste" zu exakt der gleichen Zeit ins Logfile schreiben wollen - möglicherweise könnte es dann zum Problem werden, dass der erste Schreibvorgang gerade das Logfile im exklusiven Zugriff hat. Die Wahrscheinlichkeit dessen steigt je mehr "Dienste" das gleiche Logfile benutzen.

Praktisch habe ich das aber noch nicht ausprobiert.
Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: justme1968 am 29 Oktober 2015, 09:40:51
du kannst beliebig viele devices ins gleiche logfile loggen lassen. das geht in dem du im log device die regex entsprechen anpasst.

mehrere filelogs mit gleichem filenamen sind keine gute idee.

du kannst mehrere logs in einem plot verwenden indem du den jeweils #name statt #fileLog im plotfile lverwendest.

gruss
  andre
Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: marvin78 am 29 Oktober 2015, 09:41:30
Das geht sogar sehr gut. Meine Empfehlung für sowas ist trotzdem DbLog.
Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: feeeem am 31 Oktober 2015, 10:35:54
Hallo andre,

Zitatdu kannst beliebig viele devices ins gleiche logfile loggen lassen. das geht in dem du im log device die regex entsprechen anpasst.

Danke für den Hinweis. Das erscheint mir in meinem Fall die beste Lösung zu sein.
Ohne die Implementierung zu kennen, kann man letztendlich nicht sicher sein, ob das immer funktioniert, wenn mehrere Objekte in dasselbe Logfile schreiben.

Mehrere Logs in einem Plot werde ich bei Gelegenheit mal probieren.

Gruß
norbert
Titel: Antw:Log Meldungen vom PRESENCE Modul in eigenem Logfile / als Plot?
Beitrag von: chq am 04 Juni 2018, 21:34:06
Ist es auch 2018 noch so, dass die PRESENT-Status der angelegten PRESENCE-Devices, wie von errazzor ausgeführt, nicht automatisch geloggt werden, sondern ich das Loggen derer erst einleiten muss?

Gruß Chris