From a24bf3a99d13751ddc6c20f4edbd6243e67de6a1 Mon Sep 17 00:00:00 2001
From: rudolfkoenig <>
Date: Tue, 4 Feb 2014 12:56:51 +0000
Subject: [PATCH] FileLog.pm: DE doc version
git-svn-id: https://svn.fhem.de/fhem/trunk@4805 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/92_FileLog.pm | 274 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 271 insertions(+), 3 deletions(-)
diff --git a/fhem/FHEM/92_FileLog.pm b/fhem/FHEM/92_FileLog.pm
index 2c643f4bb..cb1433dd3 100755
--- a/fhem/FHEM/92_FileLog.pm
+++ b/fhem/FHEM/92_FileLog.pm
@@ -950,7 +950,7 @@ FileLog_sampleDataFn($$$$$)
Log events to <filename>
. The log format is
- YYYY:MM:DD_HH:MM:SS <device> <event>
+ YYYY-MM-DD_HH:MM:SS <device> <event>
The regexp will be checked against the device name
devicename:event or timestamp:devicename:event combination.
@@ -978,10 +978,10 @@ FileLog_sampleDataFn($$$$$)
Examples:
define lamplog FileLog %L/lamp.log lamp
- define wzlog FileLog /var/tmp/wz-%Y-%U.log
+ define wzlog FileLog ./log/wz-%Y-%U.log
wz:(measured-temp|actuator).*
With ISO 8601 week numbers, if supported:
- define wzlog FileLog /var/tmp/wz-%G-%V.log
+ define wzlog FileLog ./log/wz-%G-%V.log
wz:(measured-temp|actuator).*
@@ -1171,4 +1171,272 @@ FileLog_sampleDataFn($$$$$)
=end html
+
+=begin html_DE
+
+
+FileLog
+
+
+
+
+ Define
+
+ define <name> FileLog <filename> <regexp>
+
+
+ Speichert Ereignisse in einer Log-Datei mit Namen <filename>
. Das Log-Format ist
+
+ YYYY-MM-DD_HH:MM:SS <device> <event>
+
+ Der Ausdruck unter regexp wird anhand des Gerätenames überprüft und zwar
+ devicename:event oder der timestamp:devicename:event-Kombination.
+ Der regexp muss mit dem kompletten String übereinstimmen und nicht nur teilweise.
+
+ <filename>
können %-wildcards der POSIX
+ strftime-Funktion des darunterliegenden OS enthalten (siehe auch strftime
+ Beschreibung).
+ Allgemein gebräuchliche Wildcards sind:
+
+ %d
Tag des Monats (01..31)
+ %m
Monat (01..12)
+ %Y
Jahr (1970...)
+ %w
Wochentag (0..6); beginnend mit Sonntag (0)
+ %j
Tag des Jahres (001..366)
+ %U
Wochennummer des Jahres, wobei Wochenbeginn = Sonntag (00..53)
+ %W
Wochennummer des Jahres, wobei Wochenbeginn = Montag (00..53)
+
+ FHEM ersetzt %L
mit dem Wert des global logdir Attributes.
+
+ Bevor %V
für ISO 8601 Wochennummern verwendet werden,
+ muss überprüft werden, ob diese Funktion durch das Brriebssystem
+ unterstützt wird (Es kann sein, dass %V nicht umgesetzt wird, durch
+ einen Leerstring ersetzt wird oder durch eine falsche ISO-Wochennummer
+ dargestellt wird - besonders am Jahresanfang)
+
+ Bei der Verwendung von %V
muss gleichzeitig für das Jahr
+ ein %G
anstelle von %Y
benutzt werden.
+
+ Beispiele:
+
+ define lamplog FileLog %L/lamp.log lamp
+ define wzlog FileLog ./log/wz-%Y-%U.log
+ wz:(measured-temp|actuator).*
+ Mit ISO 8601 Wochennummern falls unterstützt:
+ define wzlog FileLog ./log/wz-%G-%V.log
+ wz:(measured-temp|actuator).*
+
+
+
+
+
+ Set
+
+ - reopen
+
+ Erneutes Öffnen eines FileLogs nach händischen Änderungen in dieser Datei.
+
+
+ - addRegexpPart <device> <regexp>
+
+ Hinzufügen eines regexp Teiles, der gemäß device:regexp
+ aufgebaut ist. Die Teile werden mit einem | voneinander getrennt.
+ Achtung: Wenn die regexp-Teile umsortiert werden, können die
+ manuell erzeugten regexps ungültig werden.
+
+
+ - removeRegexpPart <re>
+
+ Entfernt ein regexp-Teil. Achtung: Wenn die regexp-Teile umsortiert
+ werden, können die manuell erzeugten regexps ungültig
+ werden.
+ Die Inkonsistenz von addRegexpPart/removeRegexPart-Argumenten hat
+ seinen Ursprung in der Wiederverwendung von Javascript-Funktionen.
+
+
+ - absorb secondFileLog
+
+ Führt den gegenwärtigen Log und den secondFileLog zu einer
+ gemeinsamen Datei zusammen, fügt danach die regexp des
+ secondFileLog dem gegenwärtigen Filelog hinzu und löscht dann
+ anschließend das secondFileLog.
+
+ Dieses Komanndo wird zur Erzeugung von kombinierten Plots (weblinks)
+ benötigt.
+
+ Hinweise:
+
+ - secondFileLog wird gelöscht (d.h. die FHEM-Definition und
+ die Datei selbst).
+ - nur das aktuelle File wird zusammengeführt, keine
+ archivierten Versionen.
+ - Weblinks, die das secondFilelog benutzen werden unbrauchbar, sie
+ müssen deshalb auf das neue Logfile angepasst oder gelöscht
+ werden.
+
+
+
+
+
+
+
+
+
+ Get
+
+ get <name> <infile> <outfile> <from>
+ <to> <column_spec>
+
+ Liest Daten aus einem Logfile und wird von einem Frontend benötigt, um
+ Daten ohne direkten Zugriff aus der Datei zu lesen.
+
+
+ - <infile>
+ Name des Logfiles, auf das zugegriffen werden soll. "-" steht für
+ das aktuelle Logfile. Man kann auch auf ein älteres File zugreifen
+ (oder eines aus dem Archiv).
+
+ - <outfile>
+ Bei einem "-", bekommt man die Daten auf der aktuellen Verbindung
+ zurück, anderenfall ist es das Name (eigentlich Prefix, s.u.) des
+ Output-Files. Wenn mehr als ein File angesprochen wird, werden die
+ einzelnen Dateinamen durch ein "-" getrennt, anderenfalls werden die
+ Daten in einzelne Dateien geschrieben, die - beginnend mit 0 -
+ durchnummeriert werden.
+
+
+ - <from> <to>
+ Bezeichnet den gewünschten Datenbereich. Die beiden Elemente
+ müssen ganz oder mit dem Anfang des Zeitformates
+ übereinstimmen.
+
+ - <column_spec>
+ Jede column_spec sendet die gewünschten Daten entweder in eine
+ gesonderte Datei oder über die gegenwärtige Verbindung durch
+ "-" getrennt.
+
+ Syntax: <col>:<regexp>:<default>:<fn>
+
+ - <col>
+ gibt die Spaltennummer zurück, beginnend mit 1 beim Datum.
+ Wenn die Spaltenmummer in doppelten Anführungszeichen steht,
+ handelt es sich um einen festen Text und nicht um eine
+ Spaltennummer.
+
+ - <regexp>
+ gibt, falls vorhanden, Zeilen mit Inhalten von regexp zurück.
+ Groß- und Kleinschreibung beachten.
+ - <default>
+ Wenn keine Werte gefunden werden, und der Default-Wert
+ (Voreinstellung) wurde gesetzt, wird eine Zeile zurückgegeben,
+ die den von-Wert (from) und diesen Default-Wert enthält.
+ Dieses Leistungsmerkmal ist notwendig, da gnuplot abbricht, wenn
+ ein Datensatz keine Daten enthält.
+
+ - <fn>
+ Kann folgende Inhalte haben:
+
+ - int
+ Löst den Integer-Wert zu Beginn eines Strings heraus. Wird
+ z.B. bei 10% gebraucht.
+ - delta-h oder delta-d
+ Gibt nur den Unterschied der Werte-Spalte pro
+ Stunde oder pro Tag aus. Wird benötigt, wenn die Spalte
+ einen Zähler enthält, wie im Falles des KS300 in der
+ Spalte für die Regenmenge.
+ - alles andere
+ Dieser String wird als Perl-Ausdruck ausgewertet. @fld enthaelt
+ die aktuelle Zeile getrennt durch Leerzeichen. Achtung:
+ Dieser String/Perl-Ausdruck darf keine Leerzeichen enthalten.
+
+
+
+
+
+ Beispiel:
+
+ get outlog out-2008.log - 2008-01-01 2008-01-08 4:IR:int: 9:IR::
+
+
+
+
+
+ Attribute
+
+
+
+
+ - archivecmd / archivedir / nrarchive
+ Wenn eine neue FileLog-Datei geöffnet wird, wird der FileLog
+ archiver aufgerufen. Das geschieht aber nur , wenn der Name der Datei
+ sich geändert hat(abhängig von den zeitspezifischen
+ Wildcards, die weiter oben unter FileLog
+ (define) beschrieben werden) und gleichzeitig ein neuer Datensatz
+ in diese Datei geschrieben werden muss.
+
+ Wenn das Attribut archivecmd benutzt wird, startet es als
+ shell-Kommando ( eine Einbettung in " ist nicht notwendig), und jedes %
+ in diesem Befehl wird durch den Namen des alten Logfiles ersetzt.
+
+ Wenn dieses Attribut nicht gesetzt wird, aber dafür nrarchive
+ und/oder archivecmd, werden nrarchive viele Logfiles im aktuellen
+ Verzeichnis gelassen, und ältere Dateien in das Archivverzeichnis
+ (archivedir) verschoben (oder gelöscht, falls kein archivedir
+ gesetzt wurde).
+
+ Hinweis: Werden diese Attribute als global instance gesetzt, hat das
+ auschließlich auf das FHEM logfile
+ Auswirkungen.
+
+
+
+ - disable
+
+
+ - logtype
+ Wird vom pgm2 webfrontend benötigt, um gnuplot/SVG-Kurven aus den
+ Logdateien zu zeichnen. Der String wird aus komma-separierten Tokens
+ (,) erzeugt, wobei jeder Token ein eigenes gnuplot-Programm bezeichnet.
+ Die Token können Doppelpunkte (:) enthalten. Der Teil vor dem
+ Doppelpunkt bezeichnet den Namen des Programms; der Teil nach dem
+ Doppelpunkt ist der String, der im Web.Frontend dargestellt werden
+ soll. Gegenwärtig sind folgende Typen von gnuplot-Programmen
+ implementiert:
+
+
+ - fs20
+ Zeichnet on als 1 and off als 0. Die geeignete
+ filelog-Definition für das Gerät fs20dev lautet:
+ define fslog FileLog log/fs20dev-%Y-%U.log fs20dev
+
+ - fht
+ Zeichnet die Ist-Temperatur/Soll-temperatur/Aktor Kurven. Die
+ passende FileLog-Definition (für das FHT-Gerät mit
+ Namen fht1)sieht wie folgt aus:
+ define fhtlog1 FileLog log/fht1-%Y-%U.log fht1:.*(temp|actuator).*
+
+ - temp4rain10
+ Zeichnet eine Kurve aus der Temperatur und dem Niederschlag (pro
+ Stunde und pro Tag) eines KS300. Die dazu passende
+ FileLog-Definition (für das KS300
+ Gerät mit Namen ks300) sieht wie folgt aus:
+ define ks300log FileLog log/fht1-%Y-%U.log ks300:.*H:.*
+
+ - hum6wind8
+ Zeichnet eine Kurve aus der Feuchtigkeit und der
+ Windgeschwindigkeit eines ks300. Die geeignete
+ FileLog-Definition ist identisch mit der vorhergehenden
+ Definition. Beide programme erzeugen das gleiche Log.
+
+ - text
+ Zeigt das LogFile in seiner ursprünglichen Form (Nur
+ Text).Eine gnuplot-Definition ist nicht notwendig.
+ Beispiel:
attr ks300log1 logtype
+ temp4rain10:Temp/Rain,hum6wind8:Hum/Wind,text:Raw-data
+
+
+
+
+=end html_DE
+
=cut