logFromArray
Häufig besteht in FHEM das Problem, dass man in einem Plot, dargestellt durch das SVG-Modul, zusätzliche Daten darstellen möchte. Das Hilfsmodul logProxy bietet dafür u.a. die Möglichkeit, eine horizontale oder vertikale Linie zu ziehen.
Mit dem folgenden Code kann man nun beliebige Array-Daten aus irgendeinem Device passgenau so umwandeln, dass sie in einen Plot eingefügt werden können. Das Perl-Programm logFromArray wird mit mehreren Parametern aufgerufen:
- filename - der Name der zu beschreibenden Log-Datei
- device - Der Name des FHEM-Device, welches die zu schreibenden Array-Daten enthält
- reading - Der Name des Readings, in welchem die zu schreibenden Array-Daten liegen. Diese Daten müssen in Form einer durch einen Separator (z.B. ein Komma) getrennten Liste vorliegen.
- optional: fcsep - Ein String, der den Separator enthält (default=Komma)
- optional: fcday - Eine Zahl, die angibt, wie viele Tage in die Zukunft das Log verschoben werden soll. 0=default heißt, die Log-Datei wird für den heutigen Tage angelegt, 1 bedeutet den folgenden Tag, etc.
- optional: fcstart - Eine Uhrzeitangabe, wann das Log beginnen soll. 00:00 ist der Default-Wert
- optional: fctype - 0=default oder 1. Wenn man die configDB verwendet, schreibt FHEM Daten gerne in diese. Um das zu vermeiden, kann mit einem Wert 1 erzwungen werden, dass das Logfile im Dateisystem landet.
Hier nun zunächst der Code: (Klicke auf "Ausklappen", um die Anzeige auszuklappen)
Ausklappen
Code:
Diese Code sollte in eine Utils-Datei eingefügt werden, z.B. in die 99_myUtils.pm. Nicht vergessen, diese neu zu laden.