mehrere FS20Aktoren in einem Plot?

Begonnen von Tobias, 07 August 2011, 13:56:01

Vorheriges Thema - Nächstes Thema

Tobias

                                                   

Hi,

ich versuche die Aktionen von FHEM für FS20 Schalter als Filelog zu
loggen (on / off)  und später als Plot (fs20.gplot) auszugeben. Leider
klappt das nicht so ganz wie ich mir vorgestellt habe.
Bisher habe ich ein Plot für einen Schalter. Ich möchte aber alle
Schalter in einem Plot haben.
Bisher habe ich folgendes gemacht:

define BewaesserungLog FileLog /var/media/ftp/uStor01/fhem/log/Bew-
%Y.log Bewaesserung_Ventil1
attr BewaesserungLog logtype fs20,text
attr BewaesserungLog room Bewässerung

define BewaesserungLog2 FileLog /var/media/ftp/uStor01/fhem/log/Bew-
%Y.log Bewaesserung_Ventil2
attr BewaesserungLog2 logtype text
attr BewaesserungLog2 room Hidden

Ist das überhaupt richtig das ich für jeden Schalter ein eigenen
Filelog definieren muss?? Als physische Logfile ist immer das selbe
angegeben damit alle Aktionen hineinfließen damit ich alles in einem
Plot ausgeben kann
Im Log sieht es dann so aus:

2011-08-07_13:41:45 Bewaesserung_Ventil1 on
2011-08-07_13:41:48 Bewaesserung_Ventil1 off
2011-08-07_13:43:09 Bewaesserung_Ventil1 on
2011-08-07_13:43:10 Bewaesserung_Ventil2 on
2011-08-07_13:43:14 Bewaesserung_Ventil2 off
2011-08-07_13:43:15 Bewaesserung_Ventil1 off

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

                                                   

achso,

meine fs20.gplot habe ich folgendermaßen verändert, jetzt sehe ich
aber nur noch eine(!) gerade Linie...

############################
# Display the on and off values off an FS20 device
# Corresponding FileLog definition:
# define fs20log FileLog /var/log/fhem/fs20dev-%Y-%U.log fs20dev

set terminal png transparent size crop
set output '.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title ''

set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"

#FileLog 3:Bewaesserung_Ventil1:0:fld[2]eq"on"?1:0
#FileLog 3:Bewaesserung_Ventil2:0:fld[2]eq"on"?1:0

plot "< awk '/Bewaesserung_Ventil1/{print $1, $3==\"on\"? 1 : 0; }'
"\ using 1:2 title Ventil1 with steps

plot "< awk '/Bewaesserung_Ventil2/{print $1, $3==\"on\"? 1 : 0; }'
"\ using 1:2 title Ventil2 with steps

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

                                                   

Hat keiner eine Idee??
ich lese schon fleißig in dem anderen Thread mit (
https://groups.google.com/group/fhem-users/browse_thread/thread/47e8ca9c91573f69?hl=de
) aber werde so richtig auch nicht schlau.
Mir fehlt die Info wie das alles zusammenhängt.

1: plot "< awk '/Bewaesserung_Ventil1/{print $1, $3==\"on\"? 1 : 0; }'
"\ using 1:2 title Ventil1 with steps
Wo kommts her bzw was enhalten die Parameter $1 und $3 ?

2: Wozu ist die Variable #Filelog da?
2.1: was soll Filelog zurückgeben und wo wird das Ergebnis wieder
weiterverwendet?

Die Doku hält sich da auch sehr bedeckt ( http://fhem.de/HOWTO.html#plot
) oder ich habe den Abschnitt noch nicht gefunden.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

rudolfkoenig

                                                   

> Die Doku hält sich da auch sehr bedeckt ( http://fhem.de/HOWTO.html#plot
> ) oder ich habe den Abschnitt noch nicht gefunden.

Die Doku setzt voraus dass man:
- awk kennt
- gnuplot kennt
Evtl. kan eine nette Seele die relevanten Teile beschreiben, ich fuehle mich
dafuer nicht zustaendig.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Tobias

                                                   

Hi,

ich kenne etwas awk und ich bin dabei mich in gnuplot einzulesen.
Trotzdem sehe ich noch nicht wie die Daten des Filelogs hier mit dem
Plotbefehl verbunden werden. Awk soll ja das Datenset liefern. Ist der
Platzhalter gleich dem übergebenen Dateinamen (/var/media/ftp/
uStor01/fhem/log/Bew-%Y.log)? Und wo wird #Filelog verwendet? Zumal
die Transformation "wenn on dann 1 sonst 0" sowohl in der
Filelogdefinition als auch im awk steckt....

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Guest

Originally posted by: <email address deleted>

Hallo zusammen

ich beschäftige mich gerade auch mit dem Thema:
Im Howto findet man

Note: the gnuplot files must have #FileLog entries in order to be
useable with gnuplot-scroll or SVG, as the filtering happens with the
FileLog get function, see the supplied gnuplot files or the
column_spec paragraph here for the syntax.

The order of the #FileLog lines must match the corresponding 'awk'
entries.

Ich lese das so:
1.) Man braucht einen Logfile mit den Daten die man ausgeben will. Ich
vermute, dass es zur Zeit nur genau einer sein darf.
2.) Man braucht eine Datei mit dem Namen xyz.gplot, in der für jede
geplottete Linie eine Zeile:
############################
# Display the s300th data reported by the CUL
# Corresponding FileLog definition:
# define FileLog /var/log/fhem/s300th-%Y.log

set terminal png transparent size crop
set output '.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title ''
set ylabel "Temp (C)"
set y2label "Temp (C)"
set grid
set ytics
set y2tics
set format y "%.1f"
set format y2 "%.1f"

#FileLog 4:BadSens:0
#FileLog 4:DuschSens:0
#FileLog 4:KuecheSens:0
#FileLog 4:SchlafzSens:0
#FileLog 4:WohnzSens:0
plot\
  "" using 1:4 title 'Bad' with lines,\
  "" using 1:4 title 'Dusche' with lines,\
  "" using 1:4 title 'Kueche' with lines,\
  "" using 1:4 title 'Schlafzimmer' with lines,\
  "" using 1:4 title 'Wohnzimmer' with lines

awk oder grep ist hier noch egal.
Würde man in der Gnuplot Plotanweisung an stelle des Dateinamens der
Logdatei xyz.log "Gnuplot nur die passenden Zeilen und stellt alles dar. 1:4 bezeichnet
die Spalten aus denen die X/Y Paare der Punkte genommen werden.

Jedenfalls funktioniert das Beispiel bei mir, obwohl laut Beschreibung
zu wenige Doppelpunkte in der Filelog Anweisung sind.

Viele Grüße

Markus

On 8 Aug., 14:03, "tobias.faust" wrote:
> Hi,
>
> ich kenne etwas awk und ich bin dabei mich in gnuplot einzulesen.
> Trotzdem sehe ich noch nicht wie die Daten des Filelogs hier mit dem
> Plotbefehl verbunden werden. Awk soll ja das Datenset liefern. Ist der
> Platzhalter gleich dem übergebenen Dateinamen (/var/media/ftp/
> uStor01/fhem/log/Bew-%Y.log)? Und wo wird #Filelog verwendet? Zumal
> die Transformation "wenn on dann 1 sonst 0" sowohl in der
> Filelogdefinition als auch im awk steckt....

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Tobias

                                                   

Erstmal vielen Dank für die Denkanstöße....

So läuft es erstmal bei mir. Sehr verwirrend ist allerdings das ich
irgendwie nicht hinbekomme, dass nach einer noch so kleinen Änderung
des gplot Files diese Änderung nicht sofort in die Grafik einfließt.
Hier scheint eine Art Cache dazwischen zu liegen. Auch rereadcfg hilft
nicht. Alternativ hilft ev. Browsercache zu löschen, aber das ist wäre
auch seehr aufwändig...

#FileLog 3:Bewaesserung_Ventil1:0:$fld[2]=~"on"?1:0
#FileLog 3:Bewaesserung_Ventil2:0:$fld[2]=~"on"?1:0

plot "< awk '/Bewaesserung_Ventil1/{print $1, $3~/on/? 1 : 0; }'
"\
        using 1:2 title 'Ventil 1' with steps,\
     "< awk '/Bewaesserung_Ventil2/{print $1, $3~/on/? 1 : 0; }'
"\
        using 1:2 title 'Ventil 2' with steps

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter