From 65cad0d2e7b9d078b6a4558e571cd1cff35e192c 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 The regexp will be checked against the device name devicename:event or timestamp:devicename:event combination. @@ -978,10 +978,10 @@ FileLog_sampleDataFn($$$$$) Examples:
@@ -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