Mit welchem externen Programm kann ich FHEM Logfiles auswerten?

Begonnen von Bracew, 31 Mai 2024, 18:39:40

Vorheriges Thema - Nächstes Thema

Bracew

Hallo,

ich habe FHEM seit vielen Jahren laufen. Entsprechend gibt es viele Logfiles verschiedener Sensoren in /opt/fhem/log/ meines RasPi.
Zum Beispiel über Lufttemperaturen, Luftfeuchtigkeiten, TV-Nutzung, Spritpreise, Solarertrag, Pumpen-An bzw. aus.
Alle Logdateien sind Textdateien im Format: Datum_Uhrzeit Sensorname Wertename: Messwert

Zum Beispiel:
'  2024-01-01_04:13:13 SensorWaschkueche humidity: 60.7
'  2024-01-01_04:13:13 SensorWaschkueche temperature: 12.4
oder
'  2023-01-01_00:46:25 SensorAussen T: 9.5 H: 100.0 P: 987.3 P-NN: 1015.3
'  2023-01-01_01:06:25 SensorAussen temperature: 9.4
'  2023-01-01_01:06:25 SensorAussen pressure: 987.4
'  2023-01-01_01:06:25 SensorAussen pressure-nn: 1015.4
oder
'  2023-06-22_10:00:00 Poolpumpe POWER1: on
'  2023-06-22_17:03:00 Poolpumpe POWER1: off
'  2023-06-23_10:00:00 Poolpumpe POWER1: on
oder
'  2024-01-02_10:07:38 Solar yieldtotal: 389.374
'  2024-01-02_10:07:38 Solar yieldday: 8
'  2024-01-02_10:07:38 Solar power: 15.1

Ich frage mich manchmal Sachen, zum Beispiel
  • wie war im letzten Jahr die mittlere Temperatur vom 12. März bis zum 4. April?
  • welchen Solarertrag hatte ich im selben Monat (in der selben Woche, ...) vor einem Jahr?
  • wieviele Stunden hat die Poolpumpe vom ... bis ... gelaufen?
  • etc.

Und jetzt zu meiner Frage:
Gibt es (freie) Programme, welche die Logfiles diesbezüglich auswerten, ausrechnen und auch graphisch darstellen können?
Kann das unter Umständen auch Tabellenkalkulation? Wenn ja, wie?

Gruß Bracew

P.S. Und nein, ich möchte nicht DBLog nutzen.
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

gent

Hallo Bracew
ZitatAlle Logdateien sind Textdateien im Format: Datum_Uhrzeit Sensorname Wertename: Messwert
naja, nicht so ganz
Zitat2023-01-01_00:46:25 SensorAussen T: 9.5 H: 100.0 P: 987.3 P-NN: 1015.3
Hier finde ich 4 Messwerte in einer Zeile

Ansonsten kannst Du - wenn Du unbedingt NICHT DBLog verwenden möchtest (warum eigentlich nicht?) - die Textdatei in Excel einlesen und im Text-Assistent dann nach Leerzeichen splitten. Der Rest ist dann etwas "Excelei". Ich gehe davon aus, dass Du Dich mit einer Tabellenkalkulation grundsätzlich auskennst?

Natürlich gibt es auch noch viele andere Wege, wie Du das machen könntest, aber dazu müsste man wissen, welchen Skill Du hast (z.B. Python Programmierung, Grafana, Datenbanken etc...)
Liebe Grüße
Holger
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

enno

Moin,

ich hätte auch Excel gesagt. Als zweites würde mir Access oder Libreoffice Base einfallen. Aber am bequemsten wäre doch das von dir ausgeschlossene "DBLog".

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Bracew

#3
Danke für Eure Hinweise.

Mit Excel habe ich schon mal Versuche gestartet. Leider ist die Auswertung nicht so intuitiv. Es fällt mir zum Beispiel schwer, Zeilen so zu reduzieren, dass nur ein Wertename zur Auswertung übrig bleibt. Wenn ich die unerwünschten Zeilen einzeln händisch lösche, dauert eine Auswertung so lange, dass mir die Laune daran vergeht.

Deshalb dachte ich, es gibt bestimmt für diese Art Log-Dateien entsprechend spzialisierte Programme bzw. Helferlein.
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

gent

Zitat von: Bracew am 31 Mai 2024, 20:51:05Danke für Eure Hinweise.

Mit Excel habe ich schon mal Versuche gestartet. Leider ist die Auswertung nicht so intuitiv. Es fällt mir zum Beispiel schwer, Zeilen so zu reduzieren, dass nur ein Wertename zur Auswertung übrig bleibt. Wenn ich die unerwünschten Zeilen einzeln händisch lösche, dauert eine Auswertung so lange, dass mir die Laune daran vergeht.

Deshalb dachte ich, es gibt bestimmt für diese Art Log-Dateien entsprechend spzialisierte Programme bzw. Helferlein.

In Excel kann man Zeilen filtern ohne die unerwünschten zu löschen... Außerdem lassen sich mit Pivot Tabellen auch einige Auswertungen erstellen.

Da Du aber zum Beispiel auch nicht erwähnt hast, wie deinen Dateinamen für die logs organisiert sind, sehe ich hier bei der Anzahl der Logfiles zunächst mal den größten Aufwand, diese dann alle in eine "Master-Log-Datei" zu überführen.

Das ist alles nicht sehr effektiv. Wie auch immer wirst Du über eine Datenbank nicht herumkommen, wenn Du wirkliche Flexibilität haben willst.

Viele Grüße
Holger
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

DS_Starter

#5
Wenn DbLog aus welchen Gründen auch immer nicht in Frage kommt und du maximal flexibel in der Auswertung sein willst, bietet sich zum Beispiel GrayLog als Syslog-Server an (Gibt auch noch mehr wie Splunk, Datadog etc.). Es gibt auch ein fertiges Docker Imgage.

Auf dem FHEM Server definierst du ein Log2Syslog Device und kannst sowohl Events als auch FHEM-Systemlog Inhalte  zum Logserver übertragen. Separate Filelogs brauchen nicht übertragen werden, da sie auch nur generierte Events enthalten.
Dort kannst du auswerten was auch immer du suchst.

Auf jeden Fall ist eine Einarbeitung nötig.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Bracew

Zitat von: gent am 31 Mai 2024, 21:44:57In Excel kann man Zeilen filtern ohne die unerwünschten zu löschen...

Ich sehe schon, dass ich mich nochmals tiefer mit Excel beschäftigen müsste.

Zitat von: DS_Starter am 31 Mai 2024, 21:53:53...zum Beispiel GrayLog als Syslog-Server .... ein Log2Syslog Device ...

Das erscheint mir sehr aufwändig.

Da es im Linux bzw. Raspberry Pi OS Bereich noch viele weitere Log Dateien gibt, ich meine zum Beispiel die in /var/log, bin ich davon ausgegangen, dass es für Auswertungen von Log Dateien schon haufenweise fertige und brauchbare Programme (außer einem Texteditor) gibt ("Wie oft hat sich User xy im Zeitraum A bis B angemeldet?").

Ich will das Rad nicht neu erfinden, sondern einfach nur nutzen.
Wie macht das ein Profi-Admin? (Die /var/log-Dateien sind ja auch nicht in einer Datenbank)
Wie macht Ihr das?


FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

rudolfkoenig

ZitatWie macht das ein Profi-Admin?
Ein Profi-Admin darf gar nicht auswerten, wie oft sich ein Benutzer angemeldet hat, da hat das Betriebsrat was dagegen. :)
Ansonsten gibt es die von DS_Starter erwaehnten Programme, diese aufzusetzen kostet Zeit und manchmal auch Geld.
Ich habe bisher wenige Projekte gesehen, wo man sowas eingesetzt hat, weil Nutzen/Kosten meist zu gering war.

Fuer dein Vorhaben bin ich (wie die meisten hier) der Ansicht, dass DbLog der richtige Weg ist.

Alternativ ueberlegt man im Voraus was man haben will, speichert diese Daten im FileLog, und man zeigt sie per SVG an.
Vergleiche von unterschiedlichen Zeitraeumen ist so begrenzt moeglich (mit Copy & Paste im SVG Menu).

Bracew

Zitat von: rudolfkoenig am 01 Juni 2024, 11:32:22Ein Profi-Admin darf gar nicht auswerten,...
Ok, war ja auch nur ein Beispiel. Aber die Frage, wie oft ich mich selbst auf meinem System anmelde, dürfte ich dann wahrscheinlich ja doch....

Zitat von: rudolfkoenig am 01 Juni 2024, 11:32:22...speichert diese Daten im FileLog, und man zeigt sie per SVG an..
Ja, so mache ich es ja. Manche Fragen gehen aber darüber hinaus und sind einmalig. Dafür lohnt es sich wiederum nicht FHEM zu bemühen.

Zitat von: rudolfkoenig am 01 Juni 2024, 11:32:22...dass DbLog der richtige Weg ist
Ok. Wenn ich FHEM nicht antasten will, gibt es einen Weg die bestehenden Log-Dateien in eine Datenbank (z.B. in die auf dem FHEM-RasPi bereits laufende Maria-DB, auf meinem PC installiertes MS-Access, oder LibreOfficeBase) zu importieren? Und wie kann ich die Daten dort einfach auswerten?

FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

betateilchen

Zitat von: Bracew am 01 Juni 2024, 11:45:04Wenn ich FHEM nicht antasten will, gibt es einen Weg die bestehenden Log-Dateien in eine Datenbank (z.B. in die auf dem FHEM-RasPi bereits laufende Maria-DB, ....
Und wie kann ich die Daten dort einfach auswerten?

Mir scheint, Du hast das Prinzip des Logging von FHEM noch nicht verstanden.

Du musst FHEM nicht "antasten". Wenn Du eh schon eine MariaDB laufen hast, brauchst Du nur ein zusätzliches Device (vom Typ DbLog) in FHEM anlegen, das alle gewünschten Daten parallel in die MariaDB schreibt.

Es ist überhaupt kein Problem, FileLog und DbLog gleichzeitig in FHEM zu benutzen. Das heißt, alles was Du bisher angelegt hast (SVG etc.) läuft unverändert weiter. Zusätzlich hast Du die Logdaten in einer Datenbank.

Womit Du die Daten dann auswertest, bleibt Deiner Fantasie überlassen, es sind am Ende einfach nur strukturierte Daten in einer MySql Datenbank.

Und ja, man kann die in der Vergangenheit entstandenen FileLog Daten auch in die Datenbak importieren. Es ist aber die Frage, ob sich der Aufwand dafür lohnt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Bracew

Zitat von: betateilchen am 01 Juni 2024, 12:01:18Es ist überhaupt kein Problem, FileLog und DbLog gleichzeitig in FHEM zu benutzen
Danke für die Info.
Nachteil wäre, dass nur die neuen Daten in der MariaDB sind und das die Daten doppelten Platz beanspruchen. Was ich dann damit wie auswerten kann, würde ich zunächst gerne mit importierten FHEM File-Log (sozusagen als Testdaten) ausprobieren.
Gibt es einen Weg die Log Dateien in MariaDB zu importieren?
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

DS_Starter

ZitatGibt es einen Weg die Log Dateien in MariaDB zu importieren?
Nicht nur nach MariaDB. Jede DB die über ein DbLog-Device verbunden ist.

Es steht in der Hilfe zu DbLog im Abschnitt:

FileLog-Dateien nach DbLog übertragen

Zur Übertragung von vorhandenen Filelog-Daten in die DbLog-Datenbank steht das spezielle Modul 98_FileLogConvert.pm zur Verfügung.
Dieses Modul kann hier bzw. aus dem Verzeichnis ./contrib geladen werden. Weitere Informationen und Hilfestellung gibt es im entsprechenden Forumthread.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Otto123

#12
nur als Querverweis, ich hatte auch mal mit FileLogConvert experimentiert. Je nach Daten muss man extra nachdenken :)
https://forum.fhem.de/index.php/topic,66383.msg968110.html#msg968110

Und um einfach mal was gezielt zu suchen kann man die LogFiles auch mit SQL auswerten. Auch nicht easy ...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Bracew

Ausdrücklich vielen Dank für Eure Hilfen!!!

Ich möchte nicht unbelehrbar erscheinen, aber mir ist es zu viel Aufwand mit Datenbanken und Konvertierungen etc. zu hantieren. Für "kompliziert" fehlt mir die Zeit.

Ich war halt anfangs davon ausgegangen, dass FileLog-Auswerte-Programme Allerweltsprogramme sind und bei den Profis zu Hauf genutzt werden. Das ein solches Programm ein oder mehrere vorhandene Log Dateien liest und danach aller Art Auswertungen möglich sind.

Falls es kein FileLog-Auswerte-Programm gibt, werde ich mich doch noch mal mit Excel diesbezüglich bei Gelegenheit beschäftigen.
FHEM auf Raspberry Pi
für z.B. Lichtsteuerung, Temperaturmessung, Balkonkraftwerk,
Öltankfüllstandsmessung und für Hühnerstall Hühnerklappe

betateilchen

Du bist nicht unbelehrbar, Du bist voreingenommen und auf einen schlechten Lösungsansatz in Deinem Denken fixiert. Das ist schlimmer als unbelehrbar...

Viel Erfolg bei Deinem Vorhaben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!