SVG-Plots zeigen Sägezahn seit Update 05-2016

Begonnen von speedschmidt, 20 Oktober 2017, 22:35:15

Vorheriges Thema - Nächstes Thema

speedschmidt

Hallo zusammen,

Früher sahen meine FileLog.* so aus:

2016-05-04_22:08:58 GaesteWCHeizen off
2016-05-04_22:18:58 GaesteWCHeizen off

seit dem Update am 4.5.16 ca. 22:40 Uhr von Fhem sehen die nun so aus:

2016-05-04_22:28:58 GaesteWCHeizen off
2016-05-04_22:38:58 GaesteWCHeizen off
2016-05-04_22:48:58 GaesteWCHeizen getG1: off
2016-05-04_22:48:58 GaesteWCHeizen last-sender: 1/1/21
2016-05-04_22:48:58 GaesteWCHeizen off
2016-05-04_22:58:58 GaesteWCHeizen getG1: off
2016-05-04_22:58:58 GaesteWCHeizen last-sender: 1/1/21

Seit dem versuche ich meine SVGs wieder hin zu bekommen und bin am verzweifeln.
Der alte Eintrag:

$fld[2]=~"on"?1:0

scheint nicht mehr mit dem neuen Format klar zu kommen. Ich habe ehrlich gesagt keine Ahnung was dieser Ausdruck bedeutet, den habe ich bei einem Wiki abgeschrieben(Regexp auf "on"???) . Für eine Erklärung damit ich es verstehe, wäre ich dankbar (im Wiki ist nichts dazu erklärt). Ich hatte sowieso damals schon Schwierigkeiten Binäre Zustände im SVG darzustellen.

$fld = welche Funktion?
[3] = welche Bedeutung hat die 3, was macht eine 1, 2 oder 4?
~ = welche Bedeutung ?
"on" = es wird wohl auf on abgefragt ?
? = keine Ahnung
1:0 = Spielstand zur Halbzeit ?

Die anderen Einträge im SVG:
Diagramm label, Source . Heizen, FileLog_GaesteWCHeizen
Input: Column,Regexp,DefaultValue,Function: 3, GaseteWCHeizen.*, ,$fld[3]=~"on"?1:0
Mögliche Auswahl bei Column: "0", "1", 3, 4 ????
Y-Axis,Plot-Type,Style,Width: left,lines,I6fill,1

Es wird dann im Schreiber ein Sägezahn zwischen "Ein" und "Aus" angezeigt mit der Frequenz, mit der die Heizungsregler ihren Heizbefehl senden (i.d.R. alle 10min). Zumindest beim Ein-Signal. Beim Aus-Signal ist die Linie bei 'ner glatten "0".

Könnt ihr mir bitte helfen ein Lösung zu finden. Vielleicht haben ja schon mehr damit zu kämpfen und haben es schon gelöst.

Schmitti

Andi291

Morgen!

Ich würds mal versuchen mit:

Alt:
Input: Column,Regexp,DefaultValue,Function: 3, GaseteWCHeizen.*, ,$fld[3]=~"on"?1:0

Neu:
Input: Column,Regexp,DefaultValue,Function: 3, GaesteWCHeizen.[sg]etG1.*, ,$fld[3]=~"on"?1:0
oder
Input: Column,Regexp,DefaultValue,Function: 3, GaesteWCHeizen.[sg]etG1, ,$fld[3]=~"on"?1:0

Leider kann ich es nicht mehr nachstellen, weil ich auf DBLog umgestellt habe.

Grüße, Andi

speedschmidt

Hallo Andi und alle anderen, die das Problem evtl. kannten,

Mit:
Input: Column,Regexp,DefaultValue,Function: 3, GaseteWCHeizen.getG1:, ,$fld[3]=~"on"?1:0

Haut's dann hin

Problem war auch, dass ich dort nur ein DropDownMenu habe und beschränkte Möglichkeiten zu Eingabe. Aber die Auswahl bei Regexp
"GaesteWCHeizen.getG1:"
Hat dann mein Problem gelöst. Diese eine Möglichkeit hatte ich noch nicht probiert...

In der SVG*.gplot - Datei sieht das dann so aus:


# Created by FHEM/98_SVG.pm, 2017-10-22 15:11:28
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 'EG-WC'
set ytics ("Ein" 1, "Aus" 0)
set y2tics
set grid y2tics
set ylabel "Heizung"
set y2label "Ist- /Sollwert"
set yrange [-0.1:1.1]
set y2range [18:27]

#FileLog_EGWCIstTemperatur 3:EGWCIstTemperatur.*::
#FileLog_EGWCSollwert 3:EGWCSollwert.*::
#FileLog_GaesteWCHeizen 3:GaesteWCHeizen.getG1\x3a::$fld[3]=~"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 'Sollwert' ls l1 lw 1 with histeps,\
     "<IN>" using 1:2 axes x1y1 title 'Heizen' ls l6fill lw 1 with lines


Besten Dank und schönen Sonntag noch, Andi und die anderen...

Schmitti