FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: arokh12 am 17 Juli 2015, 17:06:10

Titel: FileLog auswerten
Beitrag von: arokh12 am 17 Juli 2015, 17:06:10
Hallo,

ich lasse nachts verschiedene Aufgaben erledigen. ich bekomme immer Meldungen von im FileLog.

Ist es möglich diese auszuwerten, und mir dann z.b eine Pushnachricht senden zu lassen, ob der Vorgang geglückt ist?

Vielen Dank im voruas

arokh12
Titel: Antw:FileLog auswerten
Beitrag von: marvin78 am 17 Juli 2015, 17:23:25
Bitte präzisere Fragen stellen, sonst endet das hier wieder einmal in einem Ratespiel.

Was für Aufgaben sind das? Erzeugt das Events? Falls ja, kannst du darauf mit notify reagieren und eines der Push.* Module oder yowsup verwenden.
Titel: Antw:FileLog auswerten
Beitrag von: arokh12 am 17 Juli 2015, 17:48:11
Die Pushnachrichten wollte ich mit pushover senden.

Zum Beispiel lasse ich nachts die Uhrzeit des Pi aktualisieren. Bei erfolgreicher syncronisation steht dann im Log: Systemzeit wurde aktualisiert.

Diese 'Nachricht' wollte ich mir dann bei Oush aufs Handy senden lassen, damit ich nicht immer im Log suchen muss, ob es geklappt hat.

arokh12
Titel: Antw:FileLog auswerten
Beitrag von: marvin78 am 17 Juli 2015, 17:50:23
Das Log selbst erzeugt keine Events. Du hast immer noch nicht geschrieben, WIE du das machst. Benutzt du ein FHEM-Device dazu? Wird hier ein Event erzeugt?
Titel: Antw:FileLog auswerten
Beitrag von: arokh12 am 17 Juli 2015, 17:54:19
Achso, ich lasse nachts folgenden Befehl von einem notify ausführen:

{system ("sudo ntpdate 0.europe.pool.ntp.org")}

Danach erscheint im Log:
.... Systemzeit wurde aktualisiert.
.... Systemzeit_notify return value: -1

arokh12
Titel: Antw:FileLog auswerten
Beitrag von: marvin78 am 17 Juli 2015, 18:01:28
Nimm statt system() qx(), dann erhälst du etwas zurück und kannst das Ergebnis weiter verwenden.

http://wiki.selfhtml.org/wiki/Perl/Funktionen_f%C3%BCr_Betriebssystemaufrufe#qx.28....29_-_Andere_Programme.2FScripts_ausf.C3.BChren_und_STDOUT_auffangen (http://wiki.selfhtml.org/wiki/Perl/Funktionen_f%C3%BCr_Betriebssystemaufrufe#qx.28....29_-_Andere_Programme.2FScripts_ausf.C3.BChren_und_STDOUT_auffangen)
Titel: Antw:FileLog auswerten
Beitrag von: arokh12 am 17 Juli 2015, 20:01:14
Danke für den Tipp. Das funktioniert teilweise.

Wenn ich qx mit uptime ausführe, dann bekomme ich eine Rückmeldung:
{my $Ausgabe = qx(uptime); fhem ("set Push msg 'Test' '$Ausgabe'")}

Führe ich es aber so aus:
{my $Ausgabe = qx(sudo ntpdate 0.europe.pool.ntp.org); fhem ("set Push msg 'Test' '$Ausgabe'")}

dann erhalte ich keine Rückmeldung, obwohl ich eine kommt, wenn ich es mauell im Terminal eingebe.
Wo liegt das Problem?

Das ist der Befehl zur Uhrzeitaktualisierung.

arokh12
Titel: Antw:FileLog auswerten
Beitrag von: marvin78 am 18 Juli 2015, 08:37:40
Bitte Code-Tags verwenden:

{my $Ausgabe = qx(sudo ntpdate 0.europe.pool.ntp.org);;fhem ("set Push msg 'Test' '$Ausgabe'")}

Das sollte (aus der Kommandozeile) funktionieren. Deine Version veursacht Fehler.
Titel: Antw:FileLog auswerten
Beitrag von: Hollo am 18 Juli 2015, 09:05:19
Okay, das ist jetzt zwar nur eine der "verschiedenen Aufgaben", aber das würde ich unabhängig von FHEM direkt auf Systemebene machen.
Eine Beispielanleitung findest Du hier... http://aufschnur.de/2014/raspberry-pi-uhrzeit-automatik/ (http://aufschnur.de/2014/raspberry-pi-uhrzeit-automatik/) .

Wenn Du ähnliche Aufgaben hast, macht es je nach Aufgabe evtl. Sinn, diese als eigene kleine Script-Aufruf zu starten und dann einen Returncode auszuwerten bzw. damit direkt z.B. Infos an FHEM abzusetzen.
Das wäre dann einfacher als LOG-Einträge zu prüfen.
Um in FHEM mittels notify auf etwas zu reagieren, brauchst Du halt auslösende Events.
Titel: Antw:FileLog auswerten
Beitrag von: marvin78 am 18 Juli 2015, 09:23:27
Das, was ich vorgeschlagen habe, prüft keine Logeinträge. Das sind direkte Systemaufrufe mit Rückgabe. Ob man das aus FHEM macht, oder direkt in einem Script per Cronjob, ist Geschmacksache bzw. eine Frage der Wichtigkeit dieser Aufrufe. Das kann man kaum beurteilen. Das Senden einer Pushnachricht ist jedoch auf diese Weise sehr einfach.

Unabhängig davon, würde ich die Systemzeit auch immer mit einem Cronjob setzen. Die Pushnachricht wäre dann auch nicht nötig, da man sicher sein kann, dass es funktioniert.
Titel: Antw:FileLog auswerten
Beitrag von: Hollo am 18 Juli 2015, 09:42:09
Ich denke wir sehen das durchaus gleich/ähnlich.
Es ist halt schwierig Anregungen oder "Lösungen" anzubieten, wenn man die genaue Aufgabenstellung, die restliche Umgebung und die Kenntnisse des Erstellers nicht kennt.

Manchmal hilft ja "um die Ecke denken", "eine Nacht drüber schlafen" und "geht das nicht einfacher" am besten.   :D
Titel: Antw:FileLog auswerten
Beitrag von: marvin78 am 18 Juli 2015, 09:46:29
Ich denke ja immer, das muss alles jeder für sich selbst herausfinden. Deshalb habe ich z.B. hier auch nur ganz konkret auf die Frage geantwortet udn nicht gesagt, das machst du besser so und so. Das Problem ist, dass viele eben auch nicht selbst denken möchten und deshalb hier fertige Lösungen suchen. Das kann, wie du schon sagst, ja auch für jede der Aufgaben, verschieden sein. Für manche Dinge, ist auch das FHEM-Forum der falsche Anlaufpunkt ;)