FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Lars13 am 02 November 2014, 19:43:10

Titel: Einfache Logdatei plotten
Beitrag von: Lars13 am 02 November 2014, 19:43:10
Ich messe die Helligkeit im Raum mit einem einfachen Fotowiderstand und schreibe die Werte in eine Datei.
Kann mir jemand einen Tipp (Code-Schnipsel) geben, wie ich diese Information plotten kann.
Die Datei schaut so aus:
root@endor:~# tail -f /run/shm/ldr.txt
2014-11-02_19:24:17 276
2014-11-02_19:25:17 274
2014-11-02_19:26:18 282
2014-11-02_19:27:18 274
2014-11-02_19:28:19 147
2014-11-02_19:29:20 278

Titel: Antw:Einfache Logdatei plotten
Beitrag von: Puschel74 am 02 November 2014, 19:47:28
Hallo,

die Werte werden durch FHEM in Logfile geschrieben?

Grüße
Titel: Antw:Einfache Logdatei plotten
Beitrag von: Lars13 am 12 November 2014, 19:07:40
Nein, ich habe noch keine echten Sensoren an meinem Raspberry. Die Werte lese ich aktuell über die GPIOs des Pi per Python ein und schreibe sie in die Datei. Ich möchte erstmal ein bisschen "trocken" mit FHEM testen, bevor ich weiter investiere.
Titel: Antw:Einfache Logdatei plotten
Beitrag von: Lars13 am 29 Dezember 2014, 19:02:20
Vielleicht hilft ja doch noch jemand  :(
Mit

define FileLog_extern FileLog /run/shm/ldr.txt  fakelog

bekomme ich mein Log in FHEM und kann auch ein "Create SVG plot" aufrufen.
Doch dann steh ich vor einer Maske mit einem leeren Plot und vielen Feldern und weiß nicht weiter.
Hat jemand einen Tipp (ohne mich nur schlicht auf die Doku zu verweisen)?
Titel: Antw:Einfache Logdatei plotten
Beitrag von: TomWest am 30 Dezember 2014, 08:39:27
Hi,

damit hatte ich am Anfang auch Probleme. Die Doku setzte damals zu viel voraus und ich wusste nicht Bescheid. (Weiß' ich heute noch nicht richtig ...  ;))

Plot title: Helligkeitsdiagramm
Y-Axis Label: Beschriftung der Y-Achse auf der linken Seite (Widerstand), und weiter rechts die rechte Y-Achse.
Grid aligned: Soll ein Grid (Raster) anhand der Skala links oder rechts oder überhaupt nicht eingezeichnet werden.
Range as [min:max]: Wenn du einen festen WErtebereich vorgeben willst. Ist aber normalerweise nicht nötig, der wird selbsttätig eingestellt.
Tics as: Weiß ich selbst nicht so genau, habe ich noch nie benötigt (siehe oben ...)

Dann kommt der Bereich, der die Graphik erzeugt. Vorne ein Text, der dann im Diagramm in der entsprechenden Farbe angezeigt wird (Widerstand)
Dann wählst Du die Spalte aus, in der die darzustellenden Daten stehen, bei Dir 1, da hier mit 0 angefangen wird.
Dann kommt der FileLog, der verwendet wird, bei Dir sollte da so etwas wie Filelog_extern.* stehen.
Die nächsten beiden kannst Du frei lassen, da kommt der Default Wert und eventuelle Berechnungen rein.
Dann nur noch die passende Y-Achse (siehe Y-Axis Label: left/right) auswählen, bei PlotType würde ich steps nehmen, dann kommt die Farbe (i0 - Rot, i1 - grün, i2 - blau usw.) und die Dicke der Linie in pixel (1).

Wenn Du dann auf Write .gplot File klickst, solltest Du über den Eingabefelder Deinen ersten Plot sehen. Wenn Du dann Parameter veränderst (Farbe, Liniendicke etc.) und wieder auf write .gplot klickst, werden die Änderungen auch direkt angezeigt. Es wird immer das selbe File geschrieben, also nicht immer ein Neues angelegt.

Viel Spaß beim Experimentieren. Jetzt kannst Du Dir in der Doku oder Wiki bestimmt leichter weiterhelfen, oder?
Titel: Antw:Einfache Logdatei plotten
Beitrag von: Lars13 am 30 Dezember 2014, 12:13:29
 :) Tausend Dank. Es funktioniert.
Schön dass du mir auch gesagt hast, welchen Button ich drücken muss. Das ist zwar für einen Profi banal, für den Anfänger aber notwendig.
Auch ich bin der Meinung, dass die gesamte Doku zu wenig auf Einsteiger eingeht.
Vielleicht schreib ich dann selbst mal was, wenn ich mich noch etwas eingearbeitet habe.
Titel: Antw:Einfache Logdatei plotten
Beitrag von: TomWest am 30 Dezember 2014, 13:25:50
Gern geschehen. Am Anfang sind es fast immer nur Kleinigkeiten, die einem im Weg stehen. Ich lerne gerade beim Weiterhelfen selbst am meisten dazu.

Kannst Du den Threadtitel noch um ein "Gelöst" erweitern, dann weiß der Nächste mit demselben Problem, dass er hier fündig wird.

Bis dann,
Thomas