FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: speedschmidt am 28 November 2015, 11:26:05

Titel: Binärsignale im SVG darstellen?
Beitrag von: speedschmidt am 28 November 2015, 11:26:05
Hallo zusammen,

die Cracks werden jetzt wieder die Augen rollen. Ich habe mich - nachdem ich schon einiges selber versucht habe - schon im Wiki und im Forum durchgeackert aber keine Lösung für meine Aufgabe gefunden:
Welche Einstellungen muss ich im SVGPlot-Editor vornehmen um binäre Signale darstellen zu können (on/off; Ein/Aus etc). Ich möchte parallel zur Raumtemperatur den Status des Heizventils darstellen (unten:off oder Aus; oben:on oder Ein).

Für Eure konstruktive Hilfe mit Code- oder Einstellungsbeispielen bedanke ich mich schon jetzt.

Schmitti
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: speedschmidt am 28 November 2015, 11:37:59
High,

die Comandref hatte ich vergessen durch zu ackern, da steht was - ich probiere das mal.

Schmitti
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: speedschmidt am 28 November 2015, 11:55:42
High nochmal,

nee das wird nichts:
Ich trage im Editor ein:
Bei Tics as : ("on" 1, "off" 0)
Spalte1 --> Ventil (Beschreibung)
Spalte2 --> 3 (lasse ich mal so)
Spalte3 --> FileLog_AZRMHeizung (Rückmeldung vom Heizungsaktor)
Spalte4 --> AZRMHeizung.* (AZRMHeizung.on oder.off hatte ich auch schon mal probiert)
Spalte7 --> left (die anderen Analogwerte sind rechts)
Farbe und stichstärke sind erst mal untergeordnet.

hat jemand so was schon mal erfolgreich realisiert, Analog- und Binärwerte im SVG zu mischen. Geht das überhaupt?

Schmitti
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: Puschel74 am 28 November 2015, 12:02:06
Klappt einwandfrei:

Auszug aus dem GPlot-File:
#DbLog <SPEC1>:temperature::
#DbLog <SPEC2>:temperature::
#DbLog <SPEC3>:state:::$val=~s/(Ein|Aus|dim)(\d*).*/$1eq"Ein"?1:($1eq"dim"?$2*0.01:0)/eg
#DbLog <SPEC4>:state:::$val=~s/(on|off).*/$1eq"on"?1.05:0.05/eg
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: speedschmidt am 28 November 2015, 12:18:47
High,

besten dank aber ich kriegs nicht hin:

hier mal meine Svg*.cfg

# Created by FHEM/98_SVG.pm, 2015-11-28 12:09:19
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 'Arbeitszimmer Raumtemperatur'
set ytics ("on" 1, "off" 0)
set y2tics
set grid
set ylabel "Innen"
set y2label "Aussen"

#FileLog_AZIstTemperatur 3:AZIstTemperatur.*::
#FileLog_Aussentemperatur 3:Aussentemperatur.*::
#FileLog_AZSollwert 3:AZSollwert.*::
#FileLog_AZRMHeizung 3:AZRMHeizung.*::

plot "<IN>" using 1:2 axes x1y2 title 'Innen' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Aussen' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Sollwert' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Ventil' ls l0 lw 1 with lines


ich hatte mir gedacht, dass ich aus

#FileLog_AZRMHeizung 3:AZRMHeizung.*::

das mache

#FileLog_AZRMHeizung 3:AZRMHeizung.*:::$val=~s/(on|off).*/$1eq"on"?1.05:0.05/eg


Aber das haut nicht hin. Das hängt aber nicht damit zuammen, dass deine Werte aus der DbLog und meine aus FileLog kommen?

Schmitti
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: stromer-12 am 28 November 2015, 13:38:12
Doch da gibt es einen Unterschied:

Bei FileLog bekommst du deinen Wert mit $fld[x] zum bearbeiten, bei DbLog mit $val
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: speedschmidt am 28 November 2015, 14:52:34
High,

und so sieht das dann fertig aus (habe mir das am Beispiel aus einer vorgefertigten SCG-Plot-Datei erarbeitet):


# Created by FHEM/98_SVG.pm, 2015-11-28 13:55:23
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 'Arbeitszimmer Raumtemperatur'
set ytics ("on" 1, "off" 0)
set y2tics
set grid ytics
set ylabel "Heizen"
set y2label "Innen+Aussen"
set yrange [-0.1:1.1]

#FileLog_AZIstTemperatur 3:AZIstTemperatur.*::
#FileLog_Aussentemperatur 3:Aussentemperatur.*::
#FileLog_AZSollwert 3:AZSollwert.*::
#FileLog_AZHeizen 3:::$fld[2]=~"on"?1:0

plot "<IN>" using 1:2 axes x1y2 title 'Innen' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Aussen' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Sollwert' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Heizen' ls l6fill lw 1 with steps


Die Außentemperatur habe ich inzwischen noch rausgenommen, damit 's mit der Skalierung besser passt. Ich habe zwar noch nicht jedes Argument kapiert, aber das kommt schon noch.

Schmitti
Titel: Antw:Binärsignale im SVG darstellen?
Beitrag von: krikan am 28 November 2015, 14:55:42
Wie man so etwas mit dem Ploteditor erstellt, findet man unter http://www.fhemwiki.de/wiki/Plots_erzeugen und den dort verlinkten Beispielen zu Plots mit Status