nachträgliche Logfileauswertung (wielange war der Meßwert größer als x)

Begonnen von AlexMuc, 03 November 2023, 11:07:58

Vorheriges Thema - Nächstes Thema

AlexMuc

Hallo zusammen,
ich habe seit 3 Jahren einen Zigbee Lichtsensor der seine Werte (Lux / illuminance) brav in ein Logfle schreibt.
Nun hätte ich gerne Auswertungen derart: Wielange war der Meßwert größer 2500 pro Tag / Monat Jahr?
Für die Zukunft kann ich mir vorstellen, diese Zeiten per notify zu erfassen, aber wie kriege ich eine Auswertung für das bestehende Log?

Ein Meßpunkt im Log sieht wie folgt aus (interessant ist nur die Zeile mit Lux):
2023-11-03_10:50:19 LichtsensorOst illuminance: 35254
2023-11-03_10:50:19 LichtsensorOst illuminance_lux: 3352

Hat jemand eine Idee, wie oder womit ich eine Übersicht bekomme, wielange die Sonne wirklich schien? Denn ab ca 2500 ist es nicht nur hell sondern auch nicht bewölkt

betateilchen

#1
Du solltest am besten auf DbLog umstellen, das macht die Auswertung solcher Daten sehr viel einfacher, als die aus einem Textfile zu verarbeiten.
Mit einem zum DbLog device passenden DbRep sollte das recht einfach umsetzbar sein.



Zitat von: AlexMuc am 03 November 2023, 11:07:58Hat jemand eine Idee, wie oder womit ich eine Übersicht bekomme, wielange die Sonne wirklich schien?

Für ein manuelles Auswerten wäre folgende Variante denkbar.

  • Grundsätzlich kannst Du mit "get <logfile> ..." die Werte eines readings für einen bestimmten Zeitraum (z.B. pro Tag) aus dem Log lesen.
  • Das Ergebnis ist ein Array, über das Du in einer Schleife prüfen kannst, ob der Wert des readings über 2500 liegt.
  • Damit kannst Du die Sonnenscheindauer aufsummieren.

Die Abfrage per get ist z.B. auch der Weg, wie die Readingwerte für die Erzeugung von SVG plots aus einem Log gelesen werden. Du kannst Dir das in einem SVG plot unter dem Link "Show preprocessed input" anschauen. Dort siehst Du auch, wie eine korrekte Abfrage gegen das Log aussieht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AlexMuc

Danke, dann werde ich mal in die Richtung laufen.
eine Frage noch: kann ich mein vorhandenes Log in DbLog importieren?

Sieht nach ,,etwas mehr" Arbeit aus :-)

betateilchen

Zitat von: AlexMuc am 03 November 2023, 12:37:25eine Frage noch: kann ich mein vorhandenes Log in DbLog importieren?

Gibt es bestimmt, auch wenn ich Dir den genauen Weg jetzt nicht benennen kann.
Aber es gab sogar mal ein Modul, das genau dafür gedacht war: https://forum.fhem.de/index.php?topic=66383.0

Aber eventuell gibt es inzwischen auch schon eine Möglichkeit, den Import über DbRep zu erledigen, das müsstest Du aber im entsprechenden richtigen Unterforum zu DbRep nachfragen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!