Plot erstellen HM_SEC_RHS

Begonnen von Mirko_2013, 31 Dezember 2013, 17:25:30

Vorheriges Thema - Nächstes Thema

Mirko_2013

Hallo zusammen,

Ich versuche von einem Fensterkontakte die einzelnen Zustände in einem Plot anzuzeigen.
Das klappt auch soweit ganz gut, mit dem kleinen unterschied, das sofort nach dem öffnen der Zustand geschlossen dargestellt wird.  :(
Der eigentliche Vorgang zum schließen des Fensters ist aber erst z.B.: 48 min später.

Anbei ein Auszug aus dem Logfile:
2013-12-30_08:01:58 CUL_HM_HM_SEC_RHS_21EBC1 open
2013-12-30_08:01:58 CUL_HM_HM_SEC_RHS_21EBC1 contact: open (to hz_k_Zimmer_1)
2013-12-30_08:02:08 CUL_HM_HM_SEC_RHS_21EBC1 Activity: alive
2013-12-30_08:49:55 CUL_HM_HM_SEC_RHS_21EBC1 closed
2013-12-30_08:49:55 CUL_HM_HM_SEC_RHS_21EBC1 contact: closed (to hz_k_Zimmer_1)
2013-12-30_18:38:02 CUL_HM_HM_SEC_RHS_21EBC1 open
2013-12-30_18:38:02 CUL_HM_HM_SEC_RHS_21EBC1 contact: open (to hz_k_Zimmer_1)
2013-12-30_18:39:07 CUL_HM_HM_SEC_RHS_21EBC1 closed
2013-12-30_18:39:07 CUL_HM_HM_SEC_RHS_21EBC1 contact: closed (to hz_k_Zimmer_1)

Die gplot Datei sieht wie folgt aus:
# Created by FHEM/98_SVG.pm, 2013-12-31 17:00:57
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 title '<TL>'
set ytics "zu" 0,"geöffnet" 100,"gekippt" 50
set y2tics "zu" 0,"geöffnet" 100,"gekippt" 50
set grid ytics
set ylabel ""
set y2label ""
set yrange [0:100]

#FileLog 4:fk_Zimmer_1_r.*:0:$fld[3]=~m/open/i?100:($fld[3]=~m/tilted/i?0:0)

plot "<IN>" using 1:2 axes x1y2 title 'offen / zu' ls l0 lw 1 with steps

vielen Dank für eure Hilfe,
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

rudolfkoenig

Das abgebildete .gplot passt nicht zum Log, und es wurde nicht mit dem SVG-Editor erzeugt, da fk_Zimmer_1_r.* nicht aus dem Logfile stammen kann.

Ich wuerde im SVG-Editor den Regexp CUL_HM_HM_SEC_RHS_21EBC1.contact: auswaehlen, und als Funktion $fld[3]=~m/open/?100:($fld[3]=~m/tilted/?50:0) eingeben. Btw. bei den Ticks gehoert alles in Klammer ().

Mirko_2013

#2
Hallo zusammen,

Ich möchte gern dieses Thema nochmal aufgreifen.
Zur Zeit versuche ich den aktuellen Status der Heizung in einem Plot anzeigen.
Der Status kann sein:
ready
heating
heating_water

Ich habe es mit den den Einstellungen zum 3 State Sensor versucht, allerdings wird nur heating und ready angezeigt.

Könnt Ihr mir bitte helfen? Evtl. zur Erstellung des Plots mit Filelog und aus dem dblog.

Anbei ein Ausschnitt aus dem Logfile und der PLOT configuration.

Plot configuration:

# Created by FHEM/98_SVG.pm, 2018-09-27 21:40:35
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 title '<TL>'
set ytics ("ready" 0,"heating" 100,"heating_water" 50)
set y2tics ("ready" 0,"heating" 100,"heating_water" 50)
set grid ytics
set ylabel "HeizungsStatus"
set y2label "HeizungsStatus"

#FileLog_HeizungState 4:HeizungState.Status\x3a:0:$fld[3]=~m/heating/?100:($fld[3]=~m/heating_water/?50:0)

plot "<IN>" using 1:2 axes x1y1 title 'Status' ls l0fill_gyr lw 1 with steps


Filelog:

2018-09-27_21:30:04 HeizungState Status: heating
2018-09-27_21:50:04 HeizungState Status: ready
2018-09-27_21:56:04 HeizungState Status: heating_water


Danke
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

rudolfkoenig

$fld[3]=~m/heating/ prueft, ob heating in der 4. Spalte vorkommt, das ist auch fuer heating_water der Fall. Entweder auf /^heating$/ pruefen, oder die Reihenfolge aendern.

Mirko_2013

Hallo rudolf,

Danke für den Hinweis, da hatte ich mich komplett verrannt.

Gruß
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB