Hi,
ich habe mir ein FileLog für mein ,structure-Device' angelegt, dass eigentlich die Readings von LastDevice und LastDevice_Abs protokollieren sollte. Leider wird aktuell nur der Inhalt von state ausgewiesen. Auch habe ich festgestellt, dass im Event-Monitor nur die state-Values auftauchen. Im Device selber werden die LastDevice-readings aber sauber befüllt. Hat jemand schon ähnliche Erfahrung gemacht?
Beste Grüße
Thomas
Das ist normal, da diese beiden readings (zum Glück) keine events auslösen.
Das Loggen dieser readings macht an sich auch wenig Sinn.
Welchen tatsächlichen Nutzen versprichst Du Dir davon?
Hi,
danke für die Klarstellung! Prinzipiell wollte ich nur alle Mitglieder eines structure-Devices (generisch) über ein zentrales Logfile überwachen.
Gelöst habe ich das jetzt für mich über ein notify auf bspw. meine Bewegungsmeldergruppe, das das customLog-Script von Matthias Kleine (siehe https://haus-automatisierung.com/hardware/fhem/2019/09/18/fhem-tutorial-reihe-part-64-eigene-logdateien.html (https://haus-automatisierung.com/hardware/fhem/2019/09/18/fhem-tutorial-reihe-part-64-eigene-logdateien.html) aufruft.
e.g.:
defmod cmd_KG_kk_SYS_Monitoring_customlog_BM cmdalias customlogBM .* AS { customLog("./log/grp_NN_xx_BM_Bewegungsmelder_ALL-%m-%Y.log", 3, $EVENT) }
defmod act_NN_xx_BM_Bewegungsmelder_ALL notify .*BM_Bewegungsmelder.*:state:.* customLogBM $NAME $EVENT
attr act_NN_xx_BM_Bewegungsmelder_ALL addStateEvent 1
Was mir jetzt eigentlich noch fehlt, ist der Zugriff auf das Logfile über die FHEM-GUI und die Visualisierung über SVG. Bin ich hier womöglich in einer Sackgasse gelandet?
Zitat von: Ave09 am 04 September 2021, 01:29:16
Gelöst habe ich das jetzt für mich über ein notify auf bspw. meine Bewegungsmeldergruppe, das das customLog-Script von Matthias Kleine
Du machst Dir das Leben m.E. unnötig schwer.
Zitat von: Ave09 am 04 September 2021, 01:29:16
Prinzipiell wollte ich nur alle Mitglieder eines structure-Devices (generisch) über ein zentrales Logfile überwachen.
Das geht doch ganz einfach über ein Logfile, das alle in der structure enthaltenen devices loggt.
Sowas ähnliches habe ich bei mir für zwei Bewegungsmelder umgesetzt, die den Flur überwachen und entsprechend das Licht im Flur einschalten. Ich logge die beiden Bewegungsmelder und die structure (die aus den beiden Meldern besteht).
Damit kann ich das in einem ganz normalen SVG darstellen. Im angehängten Beispiel siehst Du die beiden Bewegungsmelder "Bad" und "Eingang" (das bezieht sich auf die Türen im Flur, neben denen die Bewegungsmelder angebracht sind) und in "PIR" gelb dargestellt den Zustand der structure.
ZitatDu machst Dir das Leben m.E. unnötig schwer.
Vielleicht hast du recht! Aber ich wollte ja unbedingt vermeiden, für jedes meiner knapp 30 structure-devices (Bewegungsmelder, Tür.-Fenstkontakte und presence-devices) ein eigenes FileLog zu schreiben.
Mein custom-Logfile konnte ich inzwischen erfolgreich mit:
defmod FileLog_grp_NN_xx_BM_Bewegungsmelder_ALL FileLog ./log/grp_NN_xx_BM_Bewegungsmelder_ALL-%m-%Y.log fakelog
einbinden und plotten. Allerdings musste ich hierzu noch das script bzgl. des Timestampformats gem. https://wiki.fhem.de/wiki/Plots_erzeugen (https://wiki.fhem.de/wiki/Plots_erzeugen) anpassen und den Loglevel entfernen, damit nicht nur FHEM sondern ich auch glücklich bin. :D
Zitat von: Ave09 am 05 September 2021, 22:24:37
ich wollte ja unbedingt vermeiden, für jedes meiner knapp 30 structure-devices (Bewegungsmelder, Tür.-Fenstkontakte und presence-devices) ein eigenes FileLog zu schreiben.
Offenbar hast Du ein generelles Verständnisproblem zu FileLog.
Du brauchst nicht für jedes Device ein eigenes FileLog, Du kannst beliebig viele devices in ein gemeinsames Log schreiben.
'fakelog' ist übrigens deprecated.
ZitatDu brauchst nicht für jedes Device ein eigenes FileLog, Du kannst beliebig viele devices in ein gemeinsames Log schreiben.
Aber für jedes device eine FileLog-Definiton, richtig?
Zitat von: Ave09 am 06 September 2021, 16:49:50
Aber für jedes device eine FileLog-Definiton, richtig?
Nein, eben nicht! Was geloggt wird, entscheidest Du in der regexp, die Du beim FileLog angibst.
Angenommen, Du hast drei Bewegungsmelder mit den Namen pir1 pir2 pir_eingang
Dann kannst Du so:
defmod pir_log FileLog ./log/pirLog.log (pir1|pir2|pir_eingang):.*
ein Logfile anlegen, in dem alle drei Bewegungsmelder
gemeinsam geloggt werden.
Du könntest als regexp sogar nur .*motion:.* angeben, damit würdest Du alle Geräte in das Log schreiben, die einen Event erzeugen, in dem irgendwas mit motion steht,
Schau Dir einfach nochmal die commandref zu FileLog an, da sind noch weitere Beispiele aufgeführt.
In meinem Logfile steht z.B. folgende regexp:
(st_fl_PIR_Motion.*|.*motion:.*|.*Diesel.*|.*Super.*|.*lumi.*|.*measured.*|.*desired.*|.*actuator.*|.*valve.*|.*level.*|.*temperature.*|.*humidity.*|.*pressure.*|RM_.*|out_Regen.*|gtag.*|owo.*|mqtt.*)
Sieht komplizierter aus, als es ist :)
Perfekt! Habe jetzt einfach die regex vom o.g. notify ins FileLog übernommen, was bestens für mich funktioniert.
Mach mich jetzt mal ans aufräumen ... ;-)
Vielen Dank für deine Geduld!