mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-01 01:09:47 +00:00
FileLog.pm: DE doc version
git-svn-id: https://svn.fhem.de/fhem/trunk@4805 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9f407adbb8
commit
a24bf3a99d
@ -950,7 +950,7 @@ FileLog_sampleDataFn($$$$$)
|
||||
|
||||
Log events to <code><filename></code>. The log format is
|
||||
<ul><code><br>
|
||||
YYYY:MM:DD_HH:MM:SS <device> <event><br>
|
||||
YYYY-MM-DD_HH:MM:SS <device> <event><br>
|
||||
<br></code></ul>
|
||||
The regexp will be checked against the device name
|
||||
devicename:event or timestamp:devicename:event combination.
|
||||
@ -978,10 +978,10 @@ FileLog_sampleDataFn($$$$$)
|
||||
Examples:
|
||||
<ul>
|
||||
<code>define lamplog FileLog %L/lamp.log lamp</code><br>
|
||||
<code>define wzlog FileLog /var/tmp/wz-%Y-%U.log
|
||||
<code>define wzlog FileLog ./log/wz-%Y-%U.log
|
||||
wz:(measured-temp|actuator).*</code><br>
|
||||
With ISO 8601 week numbers, if supported:<br>
|
||||
<code>define wzlog FileLog /var/tmp/wz-%G-%V.log
|
||||
<code>define wzlog FileLog ./log/wz-%G-%V.log
|
||||
wz:(measured-temp|actuator).*</code><br>
|
||||
</ul>
|
||||
<br>
|
||||
@ -1171,4 +1171,272 @@ FileLog_sampleDataFn($$$$$)
|
||||
</ul>
|
||||
|
||||
=end html
|
||||
|
||||
=begin html_DE
|
||||
|
||||
<a name="FileLog"></a>
|
||||
<h3>FileLog</h3>
|
||||
<ul>
|
||||
<br>
|
||||
|
||||
<a name="FileLogdefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> FileLog <filename> <regexp></code>
|
||||
<br><br>
|
||||
|
||||
Speichert Ereignisse in einer Log-Datei mit Namen <code><filename></code>. Das Log-Format ist
|
||||
<ul><code><br>
|
||||
YYYY-MM-DD_HH:MM:SS <device> <event><br>
|
||||
<br></code></ul>
|
||||
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.
|
||||
<br>
|
||||
<code><filename></code> können %-wildcards der POSIX
|
||||
strftime-Funktion des darunterliegenden OS enthalten (siehe auch strftime
|
||||
Beschreibung).
|
||||
Allgemein gebräuchliche Wildcards sind:
|
||||
<ul>
|
||||
<li><code>%d</code> Tag des Monats (01..31)</li>
|
||||
<li><code>%m</code> Monat (01..12)</li>
|
||||
<li><code>%Y</code> Jahr (1970...)</li>
|
||||
<li><code>%w</code> Wochentag (0..6); beginnend mit Sonntag (0)</li>
|
||||
<li><code>%j</code> Tag des Jahres (001..366)</li>
|
||||
<li><code>%U</code> Wochennummer des Jahres, wobei Wochenbeginn = Sonntag (00..53)</li>
|
||||
<li><code>%W</code> Wochennummer des Jahres, wobei Wochenbeginn = Montag (00..53)</li>
|
||||
</ul>
|
||||
FHEM ersetzt <code>%L</code> mit dem Wert des global logdir Attributes.<br>
|
||||
|
||||
Bevor <code>%V</code> 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 <code>%V</code> muss gleichzeitig für das Jahr
|
||||
ein <code>%G</code> anstelle von <code>%Y</code> benutzt werden.<br>
|
||||
|
||||
Beispiele:
|
||||
<ul>
|
||||
<code>define lamplog FileLog %L/lamp.log lamp</code><br>
|
||||
<code>define wzlog FileLog ./log/wz-%Y-%U.log
|
||||
wz:(measured-temp|actuator).*</code><br>
|
||||
Mit ISO 8601 Wochennummern falls unterstützt:<br>
|
||||
<code>define wzlog FileLog ./log/wz-%G-%V.log
|
||||
wz:(measured-temp|actuator).*</code><br>
|
||||
</ul>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
<a name="FileLogset"></a>
|
||||
<b>Set </b>
|
||||
<ul>
|
||||
<li>reopen
|
||||
<ul>
|
||||
Erneutes Öffnen eines FileLogs nach händischen Änderungen in dieser Datei.
|
||||
</ul>
|
||||
</li>
|
||||
<li>addRegexpPart <device> <regexp>
|
||||
<ul>
|
||||
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.
|
||||
</ul>
|
||||
</li>
|
||||
<li>removeRegexpPart <re>
|
||||
<ul>
|
||||
Entfernt ein regexp-Teil. Achtung: Wenn die regexp-Teile umsortiert
|
||||
werden, können die manuell erzeugten regexps ungültig
|
||||
werden.<br>
|
||||
Die Inkonsistenz von addRegexpPart/removeRegexPart-Argumenten hat
|
||||
seinen Ursprung in der Wiederverwendung von Javascript-Funktionen.
|
||||
</ul>
|
||||
</li>
|
||||
<li>absorb secondFileLog
|
||||
<ul>
|
||||
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.<br>
|
||||
|
||||
Dieses Komanndo wird zur Erzeugung von kombinierten Plots (weblinks)
|
||||
benötigt.<br>
|
||||
|
||||
<b>Hinweise:</b>
|
||||
<ul>
|
||||
<li>secondFileLog wird gelöscht (d.h. die FHEM-Definition und
|
||||
die Datei selbst).</li>
|
||||
<li>nur das aktuelle File wird zusammengeführt, keine
|
||||
archivierten Versionen.</li>
|
||||
<li>Weblinks, die das secondFilelog benutzen werden unbrauchbar, sie
|
||||
müssen deshalb auf das neue Logfile angepasst oder gelöscht
|
||||
werden.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<a name="FileLogget"></a>
|
||||
<b>Get</b>
|
||||
<ul>
|
||||
<code>get <name> <infile> <outfile> <from>
|
||||
<to> <column_spec> </code>
|
||||
<br><br>
|
||||
Liest Daten aus einem Logfile und wird von einem Frontend benötigt, um
|
||||
Daten ohne direkten Zugriff aus der Datei zu lesen.<br>
|
||||
|
||||
<ul>
|
||||
<li><infile><br>
|
||||
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).</li>
|
||||
|
||||
<li><outfile><br>
|
||||
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.
|
||||
|
||||
</li>
|
||||
<li><from> <to><br>
|
||||
Bezeichnet den gewünschten Datenbereich. Die beiden Elemente
|
||||
müssen ganz oder mit dem Anfang des Zeitformates
|
||||
übereinstimmen.</li>
|
||||
|
||||
<li><column_spec><br>
|
||||
Jede column_spec sendet die gewünschten Daten entweder in eine
|
||||
gesonderte Datei oder über die gegenwärtige Verbindung durch
|
||||
"-" getrennt.<br>
|
||||
|
||||
Syntax: <col>:<regexp>:<default>:<fn><br>
|
||||
<ul>
|
||||
<li><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.</li>
|
||||
|
||||
<li><regexp>
|
||||
gibt, falls vorhanden, Zeilen mit Inhalten von regexp zurück.
|
||||
Groß- und Kleinschreibung beachten. </li>
|
||||
<li><default><br>
|
||||
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.
|
||||
</li>
|
||||
<li><fn>
|
||||
Kann folgende Inhalte haben:
|
||||
<ul>
|
||||
<li>int<br>
|
||||
Löst den Integer-Wert zu Beginn eines Strings heraus. Wird
|
||||
z.B. bei 10% gebraucht.</li>
|
||||
<li>delta-h oder delta-d<br>
|
||||
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.</li>
|
||||
<li>alles andere<br>
|
||||
Dieser String wird als Perl-Ausdruck ausgewertet. @fld enthaelt
|
||||
die aktuelle Zeile getrennt durch Leerzeichen. Achtung:
|
||||
Dieser String/Perl-Ausdruck darf keine Leerzeichen enthalten.
|
||||
</li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<br><br>
|
||||
Beispiel:
|
||||
<ul><code><br>
|
||||
get outlog out-2008.log - 2008-01-01 2008-01-08 4:IR:int: 9:IR::
|
||||
</code></ul>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
<a name="FileLogattr"></a>
|
||||
<b>Attribute</b>
|
||||
<ul>
|
||||
<a name="archivedir"></a>
|
||||
<a name="archivecmd"></a>
|
||||
<a name="nrarchive"></a>
|
||||
<li>archivecmd / archivedir / nrarchive<br>
|
||||
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 <a href="#FileLogdefine">FileLog
|
||||
(define)</a> beschrieben werden) und gleichzeitig ein neuer Datensatz
|
||||
in diese Datei geschrieben werden muss. <br>
|
||||
|
||||
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.<br>
|
||||
|
||||
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).<br>
|
||||
|
||||
Hinweis: Werden diese Attribute als global instance gesetzt, hat das
|
||||
auschließlich auf das <a href="#logfile">FHEM logfile</a>
|
||||
Auswirkungen.
|
||||
|
||||
</li><br>
|
||||
|
||||
<li><a href="#disable">disable</a></li>
|
||||
|
||||
<a name="logtype"></a>
|
||||
<li>logtype<br>
|
||||
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:<br>
|
||||
|
||||
<ul>
|
||||
<li>fs20<br>
|
||||
Zeichnet on als 1 and off als 0. Die geeignete
|
||||
filelog-Definition für das Gerät fs20dev lautet:<br>
|
||||
define fslog FileLog log/fs20dev-%Y-%U.log fs20dev
|
||||
</li>
|
||||
<li>fht<br>
|
||||
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: <br>
|
||||
<code>define fhtlog1 FileLog log/fht1-%Y-%U.log fht1:.*(temp|actuator).*</code>
|
||||
</li>
|
||||
<li>temp4rain10<br>
|
||||
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:<br>
|
||||
define ks300log FileLog log/fht1-%Y-%U.log ks300:.*H:.*
|
||||
</li>
|
||||
<li>hum6wind8<br>
|
||||
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.
|
||||
</li>
|
||||
<li>text<br>
|
||||
Zeigt das LogFile in seiner ursprünglichen Form (Nur
|
||||
Text).Eine gnuplot-Definition ist nicht notwendig. </li> </ul>
|
||||
Beispiel:<br> attr ks300log1 logtype
|
||||
temp4rain10:Temp/Rain,hum6wind8:Hum/Wind,text:Raw-data </li><br>
|
||||
</ul>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
=end html_DE
|
||||
|
||||
=cut
|
||||
|
Loading…
Reference in New Issue
Block a user