FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: otto am 18 September 2020, 10:42:05

Titel: Gplot Text
Beitrag von: otto am 18 September 2020, 10:42:05
Hallo möchte einen Text ausgeben in einem Plott
aber leider bekomm ich es nicht hin .
Kann mir einer helfen ?
Der Log ist das :
2020-09-18_09:56:44 Tuer Zu
2020-09-18_09:57:11 Tuer Zu
2020-09-18_09:57:11 Tuer Auf
2020-09-18_09:57:11 Tuer Auf
2020-09-18_09:57:11 Tuer Zu


Die *.gplot:
# Created by FHEM/98_SVG.pm, 2020-09-15 21:29:41
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, "Auf" 1)
set y2tics ("Zu" 0, "Auf" 1)
set grid ytics
set ylabel ""
set y2label ""
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]

#Logo8_1_FileLog_1 3:Logo8_1.*::

plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 1 with lines

hier die cfg:
define Logo8_1_doif DOIF ([Logo8_1:"^0$"] == on) (set Tuer on) DOELSE (set Tuer off)

define Tuer dummy

attr Tuer eventMap 1:1 0:0
attr Tuer webCmd 0:1
define Logo8_1_DOIF_1 DOIF ([Logo8_1:"^0$"]) (set Tuer Zu,set Tuer Auf) DOELSE (set Tuer Auf,set Tuer Zu)

define Tuer_FileLog_2 FileLog ./log/Tuer_FileLog_2.log Tuer:*

define SVG_Tuer_FileLog_2_1 SVG Tuer_FileLog_2:SVG_Tuer_FileLog_2_1:CURRENT

Bekomm aber immer nur unten u oben eine Linie:


Gruß Otto
Titel: Antw:Gplot Text
Beitrag von: amenomade am 18 September 2020, 14:19:34
Du musst mit fld Funktion die Werte numerisch umwandeln. Der Status ist in der 3. Spalte im Eventmonitor dann im Plot Editor:
- Spalte "Column" => 3 auswählen
- Spalte Regexp => Tuer.* oder Tuer:state
- Spalte DefaultValue leer
- Spalte Function => $fld[2]=~"Auf"?1:0

Mit der Funktion wird es getestet, ob das Feld ähnlich "Auf" ist und in dem Fall wird 1 zurückgegeben sonst 0.
Titel: Antw:Gplot Text
Beitrag von: otto am 18 September 2020, 18:16:02
Muss es unbedingt Zahl sein, geht kein Text (Auf/Zu Offen/Geschlossen)

Mit 0/1 hatte ich es schon aber mit Text wär`s mir lieber ?

Gruß Otto
Titel: Antw:Gplot Text
Beitrag von: amenomade am 18 September 2020, 18:22:04
Für den Graph (also, die Kurve selbst) müssen die Werte numerisch sein (wie sonst weisst man was grösser oder kleiner ist, und ob die Kurve nach oben oder unten gehen soll?). Aber auf der Achse kannst Du Auf und Zu haben.