Readings in verschiedene Log-Dateien aufsplitten: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Link zur commandref, statistics-Modul, eingefügt)
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Aus verschiedenen Gründen kann es wünschenswert sein, die Readings eines Fhem-Devices in unterschiedliche Log-Dateien aufzuteilen. Dies kann man auch verwenden, um bestimmte Werte (Readings) '''nicht''' zu loggen.
Aus verschiedenen Gründen kann es wünschenswert sein, die Readings eines FHEM-Devices in unterschiedliche Log-Dateien aufzuteilen. Dies kann man auch verwenden, um bestimmte Werte (Readings) '''nicht''' zu loggen.


Gegeben ist hier als Beispiel folgender Log-Dateiinhalt:
Gegeben ist hier als Beispiel folgender Log-Dateiinhalt:
Zeile 30: Zeile 30:
  2014-12-09_11:16:32 DS2423_1 gaspower_B: 0
  2014-12-09_11:16:32 DS2423_1 gaspower_B: 0


Zum Hintergrund: Es handelt sich um einen per 1-Wire angeschlossenen DS2423-Zählers (zweifach), der die S0-Signale eines Gas- und eines Drehstromzählers mitzählt und deren Werte Fhem-intern in die entsprechenden Werte umgerechnet werden sowie um die Ausgabe des auf diese Werte angesetzten [http://fhem.de/commandref_DE.html#statistics Statistik-Moduls] von Fhem (alle Zeilen, die die Zeichenkette "stat" enthalten).
Zum Hintergrund: Es handelt sich um einen per 1-Wire angeschlossenen DS2423-Zählers (zweifach), der die S0-Signale eines Gas- und eines Drehstromzählers mitzählt und deren Werte FHEM-intern in die entsprechenden Werte umgerechnet werden sowie um die Ausgabe des auf diese Werte angesetzten [http://fhem.de/commandref_DE.html#statistics Statistik-Moduls] von FHEM (alle Zeilen, die die Zeichenkette "stat" enthalten).


Geloggt wurden diese Werte (Readings) bisher mittels folgender Definitionen in einer Fhem-CFG-Datei:
Geloggt wurden diese Werte (Readings) bisher mittels folgender Definitionen in einer FHEM-CFG-Datei:


  define FileLog_DS2423_1 FileLog /opt/fhem/log/DS2423_1-%Y-%m.log DS2423_1
  define FileLog_DS2423_1 FileLog /opt/fhem/log/DS2423_1-%Y-%m.log DS2423_1
Zeile 39: Zeile 39:


  # Basis-Readings des Device
  # Basis-Readings des Device
  define FileLog_DS2423_1 FileLog /opt/fhem/log/DS2423_1-%Y-%m.log DS2423_1:(!statEnergy).*
  define FileLog_DS2423_1 FileLog /opt/fhem/log/DS2423_1-%Y-%m.log DS2423_1:(?!statEnergy).*


Hierdurch werden alle Readings, die '''nicht''' die Zeichenkette "statEnergy" enthalten (also die Basiswerte), in die angegebene Datei ''DS2423_1-%Y-%m.log'' geschrieben. Wichtig ist das "!", welches die Bedingung negiert.
Hierdurch werden alle Readings, die '''nicht''' die Zeichenkette "statEnergy" enthalten (also die Basiswerte), in die angegebene Datei ''DS2423_1-%Y-%m.log'' geschrieben. Wichtig ist das "!", welches die Bedingung negiert.
Zeile 49: Zeile 49:


werden die Readings, welche die Zeichenkette "statEnergy" enthalten, in die Log-Datei ''DS2423_1'''_Stat'''-%Y-%m.log'' geschrieben.
werden die Readings, welche die Zeichenkette "statEnergy" enthalten, in die Log-Datei ''DS2423_1'''_Stat'''-%Y-%m.log'' geschrieben.
[[Kategorie:HOWTOS]]
[[Kategorie:Logging]]

Aktuelle Version vom 30. Juli 2019, 08:34 Uhr

Aus verschiedenen Gründen kann es wünschenswert sein, die Readings eines FHEM-Devices in unterschiedliche Log-Dateien aufzuteilen. Dies kann man auch verwenden, um bestimmte Werte (Readings) nicht zu loggen.

Gegeben ist hier als Beispiel folgender Log-Dateiinhalt:

2014-12-09_11:12:32 DS2423_1 gaspower_B: 0
2014-12-09_11:12:32 DS2423_1 energy_A: 8148.093
2014-12-09_11:12:32 DS2423_1 power_A: 0.600743655234849
2014-12-09_11:12:32 DS2423_1 statEnergy_A: Hour: 0.068 Day: 3.570 Month: 102.140 Year: 102.140 (since: 2014-12-02 )
2014-12-09_11:12:32 DS2423_1 statEnergy_AHour: 0.068
2014-12-09_11:12:32 DS2423_1 statEnergy_ADay: 3.570
2014-12-09_11:12:32 DS2423_1 statEnergy_AMonth: 102.140
2014-12-09_11:12:32 DS2423_1 statEnergy_AYear: 102.140
2014-12-09_11:12:32 DS2423_1 energy_A: 8148.093
2014-12-09_11:12:32 DS2423_1 gasenergy_B: 536.9
2014-12-09_11:14:32 DS2423_1 counters.A: 8148103
2014-12-09_11:14:32 DS2423_1 counters.B: 5369
2014-12-09_11:14:32 DS2423_1 energy_A: 8148.103
2014-12-09_11:14:32 DS2423_1 power_A: 0.601512186542027
2014-12-09_11:14:32 DS2423_1 gaspower_B: 0
2014-12-09_11:14:32 DS2423_1 gasenergy_B: 536.9
2014-12-09_11:14:32 DS2423_1 statEnergy_A: Hour: 0.078 Day: 3.580 Month: 102.150 Year: 102.150 (since: 2014-12-02 )
2014-12-09_11:14:32 DS2423_1 statEnergy_AHour: 0.078
2014-12-09_11:14:32 DS2423_1 statEnergy_ADay: 3.580
2014-12-09_11:14:32 DS2423_1 statEnergy_AMonth: 102.150
2014-12-09_11:14:32 DS2423_1 statEnergy_AYear: 102.150
2014-12-09_11:14:32 DS2423_1 energy_A: 8148.103
2014-12-09_11:14:32 DS2423_1 gasenergy_B: 536.9
2014-12-09_11:16:32 DS2423_1 counters.A: 8148113
2014-12-09_11:16:32 DS2423_1 counters.B: 5369
2014-12-09_11:16:32 DS2423_1 gaspower_B: 0

Zum Hintergrund: Es handelt sich um einen per 1-Wire angeschlossenen DS2423-Zählers (zweifach), der die S0-Signale eines Gas- und eines Drehstromzählers mitzählt und deren Werte FHEM-intern in die entsprechenden Werte umgerechnet werden sowie um die Ausgabe des auf diese Werte angesetzten Statistik-Moduls von FHEM (alle Zeilen, die die Zeichenkette "stat" enthalten).

Geloggt wurden diese Werte (Readings) bisher mittels folgender Definitionen in einer FHEM-CFG-Datei:

define FileLog_DS2423_1 FileLog /opt/fhem/log/DS2423_1-%Y-%m.log DS2423_1

Nun sollen die Zeilen mit "stat..." und die anderen (also ohne "stat...") in getrennte Log-Dateien geschrieben werden. Dazu braucht es folgende Defintionen:

# Basis-Readings des Device
define FileLog_DS2423_1 FileLog /opt/fhem/log/DS2423_1-%Y-%m.log DS2423_1:(?!statEnergy).*

Hierdurch werden alle Readings, die nicht die Zeichenkette "statEnergy" enthalten (also die Basiswerte), in die angegebene Datei DS2423_1-%Y-%m.log geschrieben. Wichtig ist das "!", welches die Bedingung negiert.

Mittels

# Logfile für Werte des Statistik-Moduls zum DS2423_1
define FileLog_DS2423_1_Stat FileLog /opt/fhem/log/DS2423_1_Stat-%Y-%m.log DS2423_1:(statEnergy).*

werden die Readings, welche die Zeichenkette "statEnergy" enthalten, in die Log-Datei DS2423_1_Stat-%Y-%m.log geschrieben.