fht.gplot

995 views
Skip to first unread message

Rantanplan

unread,
Nov 6, 2011, 7:35:29 AM11/6/11
to FHEM users
Moin, ich will meine fht.glot so modifizieren, dass alle drei Sensoren
die von der FHT80b empfangen werden (Temp, Act und Fhttk) in einem SVG
Plot ausgegeben werden.


meine fht.gplot (gekürzte Version)

#FileLog 4:measured-temp:0:
"Nimm Datenblock 4 wenn du measured-temp findest, ansonsten setzt "0"?
#FileLog 4:actuator.*[0-9]+%:0:int
#FileLog 4:window:0:fld[2]eq"closed"?0:0


plot \
"< awk '/measured/{print $1, $4}' <IN>" using 1:2 axes x1y2 title
'Measured temperature' with lines,\
"< awk '/actuator/ {print $1, $4+0}' <IN>" using 1:2 axes x1y1 title
'Actuator (%)' with lines,\
"< awk '/window:/{print $1, $4~/closed/? 0 : 0; }' <IN>" using 1:2
title 'FensterSO' with stepsfi[/code]

Mein fht Log sieht so aus:

2011-11-06_13:08:56 Heizung windowsensor: ok
2011-11-06_12:56:57 Heizung window: closed
2011-04-11_04:04:59 Heizung windowopen-temp: 5.5

Heeeelp!

Rudolf Koenig

unread,
Nov 6, 2011, 5:13:54 PM11/6/11
to fhem-...@googlegroups.com
> Heeeelp!
Womit? Was tut denn nicht? Ich glaube keinem Helfer macht es viel Spass zu
Raetseln:
- Im log ist 3-mal window, und sonst nix. Fehlt das was? Ist ein window zu viel?
- Bei window-plot is die axe nicht angegeben.
- Wie soll das Programm 2 Werte auf eine Axe skalieren?
- Window soll bei closed 0 sein, sonst auch. Komisch.
- Stoert der "Kommentar" mit "Datenblock" nicht?
usw.
Message has been deleted
Message has been deleted

Rantanplan

unread,
Nov 6, 2011, 7:27:59 PM11/6/11
to FHEM users
entschuldigt,klar dass keiner Antwortet.
Der SVR Plot funktioniert für Act/Temp wunderbar, jedoch für den das
auslesen des Fensterstatus nicht.

aller Code ist nur auszugsweise dargestellt, zum entwirren die
modifizierte fht.gplot:
Code----------------------------------------------------
############################
# Display the measured temp and the actuator.
# Corresponding FileLog definition:
# define <filelogname> FileLog /var/log/fhem/fht-%Y.log <fhtname>
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set y3tics
set y2tics
set ytics
set title '<L1>'
set grid xtics y2tics
set y3label "Open/Close"
set y2label "Temperature in C"
set ylabel "Actuator (%)"

#FileLog 4:measured-temp:0:
#FileLog 4:actuator.*[0-9]+%:0:int
#FileLog 4:window:0:fld[4]eq"closed"?0:

plot \
"< awk '/measured/{print $1, $4}' <IN>" using 1:2 axes x1y2 title
'Measured temperature' with lines,\
"< awk '/actuator/ {print $1, $4+0}' <IN>" using 1:2 axes x1y1 title
'Actuator (%)' with lines,\
"< grep window: <IN>" using 1:2 title 'FensterSO' with steps
/Code----------------------------------------------------

geloggt wird via fhem.cfg:
Code----------------------------------------------------
define FileLog_Heizung FileLog /var/log/fhem/FileLog_Heizung-%Y.log
Heizung:.*
attr FileLog_Heizung logtype fht:Temp/Act,text
/Code----------------------------------------------------

zu:
Log----------------------------------------------------
2011-11-06_13:08:56 Heizung windowsensor: ok
[...]
2011-11-06_12:56:57 Heizung window: closed
[...]
2011-04-11_04:04:59 Heizung windowopen-temp: 5.5
/Log----------------------------------------------------

das Problem was ich hier auch ansprechen will ist, dass es drei werte
für
"window" gibt, ansonsten ist der Log völlig iO.

Apropos Herr Koenig,danke für das nette Spielzeug fhem und danke für
die Hilfe!

Rantanplan

unread,
Nov 6, 2011, 7:32:50 PM11/6/11
to FHEM users
wenn ich das alles richtig verstanden habe, muss ich der fht.gplot
doch einen weiteren "Filter" und einen weiteren Plot hinzufügen.
---
#FileLog 4:window:0:fld[4]eq"closed"?0:
&
"< grep window: <IN>" using 1:2 title 'FensterSO' with steps
---
(beide Zeilen wurde aus Snippets zusammengeschustert und stimmt in
keinster Art&Weise)

Rantanplan

unread,
Nov 8, 2011, 8:48:40 AM11/8/11
to FHEM users

ok, dann schmeisst mir doch wenigstens ne Dok vor die Füsse in der ich
das nachlesen kann, mir fehlt ja "nur" die Synthax...
*hahaha*

Jan-Hinrich Fessel

unread,
Nov 8, 2011, 2:48:37 PM11/8/11
to fhem-...@googlegroups.com, Jan-Hinrich Fessel
Weia,

Am 07.11.2011 um 01:27 schrieb Rantanplan:
> Log----------------------------------------------------
> 2011-11-06_13:08:56 Heizung windowsensor: ok
> [...]
> 2011-11-06_12:56:57 Heizung window: closed
> [...]
> 2011-04-11_04:04:59 Heizung windowopen-temp: 5.5
> /Log----------------------------------------------------
>
> das Problem was ich hier auch ansprechen will ist, dass es drei werte
> für
> "window" gibt, ansonsten ist der Log völlig iO.

Dein Problem scheint mir zu sein, das Du nicht klar beschreiben kannst, was Dein Problem ist ;-)

Ich rate mal: Du möchtest nur die Zeile auswerten, wo window: closed drin steht?

Dann müßte das irgendwie so gehen:
#FileLog 4:window\x3a:0:$fld[3]=~"open"?1:0

plot "< awk '{print $1, $4==\"open\"? 1 : 0; }' <IN>"\
using 1:2 title 'Open/Closed' with steps

Nagel mich nicht auf die korrekten Feldnummern fest.

Grüße
Oskar

Rantanplan

unread,
Nov 9, 2011, 11:22:37 AM11/9/11
to FHEM users
Danke für die Antwort, ich bastel's gleich mal ein.
zu deiner Anmerkung:
zwei Sensoren und ein Actor (fht80b) und nur zwei im Plot dargestellt,
darum wollte/will ich die drei in einem Plot angezeigt bekommen.
"Moin, ich will meine fht.glot so modifizieren, dass alle drei
Sensoren die von der FHT80b empfangen werden (Temp, Act und Fhttk) in
einem SVG Plot ausgegeben werden. "
klingt nicht wirklich anders,oder?

#FileLog 4:window\x3a:0:$fld[3]=~"open"?1:0
plot "< awk '{print $1, $4==\"open\"? 1 : 0; }' <IN>" using 1:2 title
'Open/Closed' with steps

funktioniert, soweit, als dass das offene Fenster jetzt einen
Ausschlag von 1.2 macht, aber es findet die korrekten Daten,
DANKE!!!!!!!!!!!!!!
ich bastel weiter und poste das Ergebnis, wenn's reif ist.
Message has been deleted
Message has been deleted

Rantanplan

unread,
Nov 11, 2011, 2:32:53 PM11/11/11
to FHEM users
soweit, so gut. Danke an alle Beteiligten!

############################
# Display the measured temp and the actuator.
# Corresponding FileLog definition:
# define <filelogname> FileLog /var/log/fhem/fht-%Y.log <fhtname>
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set title '<L1>'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set y1tics
set ylabel "Temperature in C"
set y2tics
set y2label "Actuator (%)"
set y3tics
set y3label "Open/Close"
set grid xtics y2tics
#FileLog 4:measured-temp:0:
#FileLog 4:actuator.*[0-9]+%:0:int
#FileLog 4:window\x3a:0:$fld[3]=~"open"?1:0
plot \
"< awk '/measured/{print $1, $4}' <IN>" using 1:2 axes x1y1 title
'Measured temperature' with lines,\
"< awk '/actuator/ {print $1, $4+0}' <IN>" using 1:2 axes x1y2 title
'Actuator (%)' with lines,\
"< awk '{print $1, $4==\"open\"? 1 : 0; }' <IN>" using 1:2 axes x1y3
title 'Open/Closed' with steps

ergibt:

https://lh3.googleusercontent.com/-BDh-TgNrx6E/Tr1329gGGoI/AAAAAAAAABU/fHL6iQzSQOQ/s800/fht.PNG

Erwin

unread,
Nov 13, 2011, 4:27:50 AM11/13/11
to FHEM users
Hi, basierend auf euren Tips hab ich folgendes gebastelt:
Plot der "desired-temp", der "measured-temp", actuator(%), und Open/
Closed des TFK's in einem Plot.
wichtig zu wiisen, dass hier sowohl der FHT und der TFK in einen
(gemeinsamen) Logfile schreiben.

DEFINITIONEN:

define Bad_Thermostat FHT 0f5c
attr Bad_Thermostat IODev myCUNO1
attr Bad_Thermostat loglevel 5
attr Bad_Thermostat retrycount 3
attr Bad_Thermostat room Bad

define FileLog_Bad_Thermostat FileLog /opt/var/fhem/Bad-%Y.log
Bad_Thermostat
attr FileLog_Bad_Thermostat logtype fht:Temp/Act,text
attr FileLog_Bad_Thermostat room Bad

define weblink_Bad_Thermostat weblink fileplot
FileLog_Bad_Thermostat:fht_MH:CURRENT
attr weblink_Bad_Thermostat label "Bad_Thermostat Min $data{min1}, Max
$data{max1}, Last $data{currval1}"
attr weblink_Bad_Thermostat room Bad,Plots

define Bad_Fenster CUL_FHTTK 9bc6b6
attr Bad_Fenster IODev myCUNO1
attr Bad_Fenster model FHTTK
attr Bad_Fenster room Bad

define FileLog_Bad_Fenster FileLog /opt/var/fhem/Bad-%Y.log
Bad_Fenster
attr FileLog_Bad_Fenster logtype text
attr FileLog_Bad_Fenster room Bad

DIE GPLOT FILE fht_MH.gplot:

############################
# Display the measured temp and the actuator.
# Corresponding FileLog definition:
# define <filelogname> FileLog /var/log/fhem/fht-%Y.log <fhtname>

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set title '<L1>'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set y2tics nomirror
set y2label "Temperature in C"

set ylabel "Actuator (%)"
set grid xtics ytics
set yrange [0:99]

#FileLog 4:measured-temp:0:
#FileLog 4:desired-temp:0:
#FileLog 4:actuator.*[0-9]+%:0:int
#FileLog 4:Window:0:$fld[3]=~"Open"?97:3
plot \
"< awk '/measured/{print $1, $4}' <IN>"\
using 1:2 axes x1y2 title 'Measured temperature' with lines,\
"< awk '/desired/{print $1, $4}' <IN>"\
using 1:2 axes x1y2 title 'Desired temperature' with steps,\
"< awk '/actuator/ {print $1, $4+0}' <IN>"\
using 1:2 axes x1y1 title 'Actuator (%)' with steps,\
"< awk '{print $1, $4==\"Open\"? 100 : 0; }' <IN>"\
using 1:2 axes x1y1 title 'Open/Closed' with steps\

...have fun
erwin
> https://lh3.googleusercontent.com/-BDh-TgNrx6E/Tr1329gGGoI/AAAAAAAAAB...

Rantanplan

unread,
Nov 13, 2011, 10:20:40 AM11/13/11
to FHEM users
"wichtig zu wiisen, dass hier sowohl der FHT und der TFK in einen
(gemeinsamen) Logfile schreiben.

eigentlich nicht, sie haben zwei FileLogs angegeben:

" define FileLog_Bad_Thermostat FileLog /opt/var/fhem/Bad-%Y.log
define FileLog_Bad_Fenster FileLog /opt/var/fhem/Bad-%Y.log"

Die gplot nimmt sich jedoch die Daten aus
"<filelogname> FileLog /var/log/fhem/fht-%Y.log <fhtname>"
(angegeben in fht.gplot 4. Zeile)

Jan-Hinrich Fessel

unread,
Nov 13, 2011, 10:40:35 AM11/13/11
to fhem-...@googlegroups.com, Jan-Hinrich Fessel

Am 13.11.2011 um 16:20 schrieb Rantanplan:

> "wichtig zu wiisen, dass hier sowohl der FHT und der TFK in einen
> (gemeinsamen) Logfile schreiben.
>
> eigentlich nicht, sie haben zwei FileLogs angegeben:
>
> " define FileLog_Bad_Thermostat FileLog /opt/var/fhem/Bad-%Y.log
> define FileLog_Bad_Fenster FileLog /opt/var/fhem/Bad-%Y.log"

Das ist aber das gleiche Logfile ;-)

> Die gplot nimmt sich jedoch die Daten aus
> "<filelogname> FileLog /var/log/fhem/fht-%Y.log <fhtname>"
> (angegeben in fht.gplot 4. Zeile)
>

Das wird gar nicht ausgewertet, sondern nur ein Beispiel ;-(

Grüße
Oskar

Erwin

unread,
Nov 13, 2011, 10:46:02 AM11/13/11
to FHEM users
1) die beiden Filelogs schreiben in EINE datei: /opt/var/fhem/Bad-
%Y.log
2) die zeile 4 in der glot datei ist ein Kommentar. Verwendet wird:
FileLog_Bad_Thermostat:fht_MH:CURRENT (zu finden unter: define
weblink_Bad_Thermostat weblink fileplot ). JA, die GPLOT file hab ich
umbenannt auf: fht_MH.gplot.

l.g. erwin
Message has been deleted

Rantanplan

unread,
Nov 13, 2011, 4:42:20 PM11/13/11
to FHEM users
On 13 Nov., 16:46, Erwin <emenschh...@gmail.com> wrote:
> 1) die beiden Filelogs schreiben in EINE datei: /opt/var/fhem/Bad-
> %Y.log

...überlesen

> 2) die zeile 4 in der glot datei ist ein Kommentar. Verwendet wird:
> FileLog_Bad_Thermostat:fht_MH:CURRENT (zu finden unter: define
> weblink_Bad_Thermostat weblink fileplot ). JA, die GPLOT file hab ich
> umbenannt auf: fht_MH.gplot.

gutgut... mir kam gerade die Frage auf ob ich den aktuellen Status
auch als Label angeben kann, wie beim Titel?

borsti

unread,
Nov 17, 2011, 3:53:31 PM11/17/11
to fhem-...@googlegroups.com
Hallo,

> Plot der "desired-temp", der "measured-temp", actuator(%), und Open/
> Closed des TFK's in einem Plot.

fand ich eine super Idee, auch haben will.
Aber irgendwas mache ich falsch: Ich sehe im Plot zwar die von mir
gewaehlten Ueberschriften, und auch die Zeitskala auf der X-Achse - aber
keinen einzigen Graphen?!

> wichtig zu wiisen, dass hier sowohl der FHT und der TFK in einen
> (gemeinsamen) Logfile schreiben.

Das habe ich gemacht. Derzeit schreibe ich also in 3 Logs - 1x in das
gemeinsame, und bis ich sicher bin dass es klappt auch noch in die
beiden getrennten.

Wenn ich die Weblink-Zeile bearbeite und statt ":fhttk:" (so habe ich
mein gplot-file genannt anstatt fht_MH) testweise ":fht:" einsetze, dann
sehe ich den normalen FHT-Plot! Das Log ist also vorhanden und kann auch
gelesen werden. Warum also sehe ich nichts; was kann man im .gplot-File
falsch machen, das zu so einem Effekt fuehrt?
Die #-Zeilen sind laut gplot-Doku Kommentare, also nicht notwendig.
Mir ist allerdings aufgefallen, wenn ich den Plot-Befehl auf die erste
awk-Anweisung reduziere und den Rest auf diesem Weg auskommentiere,
werden die darin enthaltenen Titel *trotzdem* angezeigt - irgendwo dort
muss also der (Denk?)Fehler liegen...?

Gruss
Torsten

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'

set timefmt "%Y-%m-%d_%H:%M:%S"
set title '<L1>'
set xdata time

set xlabel " "
set ytics nomirror
set y2tics
set grid xtics y2tics

set y2label "Temperatur in C"
set ylabel "Ventil (%)"
#set yrange [-1:101]

plot \
"< awk '/measured/ {print $1, $4}' <IN>" \

using 1:2 axes x1y2 title 'gemessene Temperatur' with lines, \


"< awk '/desired/ {print $1, $4}' <IN>"\

using 1:2 axes x1y2 title 'Soll-Temperatur' with steps, \


"< awk '{print $1, $4==\"Open\"? 100 : 0; }' <IN>" \

using 1:2 axes x1y1 title 'Fenster Auf/Zu' with steps, \


"< awk '/actuator/ {print $1, $4+0}' <IN>" \

using 1:2 axes x1y1 title 'Ventil (%)' with lines

borsti

unread,
Nov 17, 2011, 4:21:34 PM11/17/11
to fhem-...@googlegroups.com
> Die #-Zeilen sind laut gplot-Doku Kommentare, also nicht notwendig.

...und laut reference DOCH noetig. Sorry...

Rantanplan

unread,
Nov 22, 2011, 12:31:12 PM11/22/11
to FHEM users
" plot \
...
... with lines, \
... with steps, \
... with points"

wie lasst ihr euch eure Daten plotten?

Auszug aus meiner fht.gplot:
(fhttk) with points,\
(Actuator) with steps,\
(Desired) temperature with steps,\
(Measured) temperature with lines

Gibt es dazu eine Datenbank? Also was überhaupt möglich ist?
Danke!

Reply all
Reply to author
Forward
0 new messages