FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Spartacus am 29 Oktober 2014, 19:59:31

Titel: SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Spartacus am 29 Oktober 2014, 19:59:31
Hallo,
ich habe einen SVG-Plot aus einem Filelog erstellt. Als Plot Titel habe ich <L1> gewählt und das Attribut "lable" wie folgt gesetzt:
"cloneTX29D_Aussen.temperature Min $data{min1}, Max $data{max1}, Last $data{currval1}"

Wie kann ich anstelle des Device Namen (cloneTX29D_Aussen.temperature) den Aliasnamen bzw. einen freien Namen anzeigen, das °C einfügen und wie ändere ich die Bezeichnung Min, Max und Last? Die deutsche Bezeichnung "Aktuell" finde ich besser!

NACHTRAG:
.....ist schon klar! Einfach die Begriffe im Klartext reinschreiben  ;D. Aber die Formatierung der Daten fehlt mir noch 9,26 °C..
Danke und Gruß,
Spartacus
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Puschel74 am 29 Oktober 2014, 20:03:48
Hallo,

den Namen solltest du eigentlich frei im Label angeben können und Min Max und Last änderst du indem du anstelle dessen einfach
bli bla blub hinschreibst  ;)
Ob der Alias als Namen geht weiß ich nicht - ich verwende keine alias.

"Das ist mein Geraet Bli $data{min1}, Bla $data{max1}, Blub $data{currval1}"

Grüße
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Spartacus am 29 Oktober 2014, 20:24:08
Hi puschel,
habe ich schon gemerkt! (siehe Nachtrag zu Post).

Habe aber doch noch eine Frage: <L1> steht genau wofür? Ich habe in einem Diagramm Temperatur und Luftfeuchte. Hätte erwartet, dass L1 nun die Temperatur ist und ich mit L2 dann die Luftfeuchte anzeigen lassen kann. Aber das geht nicht. Wie hängt das zusammen?

Christian
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Spartacus am 29 Oktober 2014, 20:30:08
...habe es gefunden.
Das steuert man über das Attribut!

min1 für die Temperatur, min2 für die Luftfeuchte...
Brauche jetzt nur noch einen Tipp, wie man die Zahlenwerte formatieren kann...

Spartacus
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: rudolfkoenig am 29 Oktober 2014, 20:46:55
http://fhem.de/commandref_DE.html#label

Stammt aus der Zeit, wo man lieber mehrere SVGs mit dem gleichen .gplot definiert hat.
Inwischen bin ich der Meinung, dass man pro SVG ein .gplot definieren sollte.

Formatieren sollte man mit sprintf, siehe auch "perldoc -f sprintf"
Statt "Min $data{min1}" schreibt man dann sprintf("Min %0.2f", $data{min1})
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Spartacus am 29 Oktober 2014, 21:38:58
ZitatFormatieren sollte man mit sprintf, siehe auch "perldoc -f sprintf"
Statt "Min $data{min1}" schreibt man dann sprintf("Min %0.2f", $data{min1})


..vielen Dank,
das funzt! Ist aber irgendwie ziemlich unübersichtlich, die 3 Werte in der Lable-Zeile anzuzeigen.
Vor allem, wenn man noch den Luftdruck mit anzeigen lässt´...Ich denke ich trenne die Graphen...

Christian
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Nomo am 09 März 2023, 15:34:58
Zitat von: rudolfkoenig am 29 Oktober 2014, 20:46:55
http://fhem.de/commandref_DE.html#label

Stammt aus der Zeit, wo man lieber mehrere SVGs mit dem gleichen .gplot definiert hat.
Inwischen bin ich der Meinung, dass man pro SVG ein .gplot definieren sollte.

Formatieren sollte man mit sprintf, siehe auch "perldoc -f sprintf"
Statt "Min $data{min1}" schreibt man dann sprintf("Min %0.2f", $data{min1})

Ein sehr altes Thema, aber für mich gerade aktuell:
Um dem Wildwuchs der vielen gplots Herr zu werden, würde ich doch wieder mehrere SVGs mit der gleichen gplot Datei konfigurieren.
@rudolfkoenig: Warum bist Du (damals) wieder anderer Meinung gewesen?

Wenn ich jetzt mit einer allgemeinen gplot einen label mit $data{min1} verwende, werden keine Werte in der Titelzeile dargestellt.
Ist das ein Fehler, oder übersehe ich was?
############################
# Display the measured temp, target temp, and the actuator.
# Corresponding FileLog definition:
# define <filelogname> FileLog /var/log/fhem/fht-%Y.log <fhtname>

set readonly
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 '<L1>'
set ytics
set y2tics
set grid xtics ytics
set ylabel "Temperatur"
set y2label "Prozent"
set yrange [10:31]
set y2range [0:110]

#FileLog 4:actuator\x3a::
#FileLog 4:desired-temp\x3a::
#FileLog 4:measured-temp\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Ventil' ls l3 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Soll Temp' ls l6 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Temperatur' ls l0 lw 1 with lines


und
Label "Temperatur Heizung WoZi O Min $data{min4}, Max $data{max4}, Last $data{currval4}"
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Frank_Huber am 09 März 2023, 15:40:34
Zitat von: Nomo am 09 März 2023, 15:34:58
Wenn ich jetzt mit einer allgemeinen gplot einen label mit $data{min1} verwende, werden keine Werte in der Titelzeile dargestellt.
Ist das ein Fehler, oder übersehe ich was?
############################
plot "<IN>" using 1:2 axes x1y2 title 'Ventil' ls l3 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Soll Temp' ls l6 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Temperatur' ls l0 lw 1 with lines

und
Label "Temperatur Heizung WoZi O Min $data{min4}, Max $data{max4}, Last $data{currval4}"

Du willst "min" und "current" von Linie 4, hast aber nur 3 Linien definiert. ergo --> keine Anzeige.
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Nomo am 10 März 2023, 08:16:09
Zitat von: Frank_Huber am 09 März 2023, 15:40:34
Du willst "min" und "current" von Linie 4, hast aber nur 3 Linien definiert. ergo --> keine Anzeige.

Ja, wenn man das so sieht 😀
DANKE!
Im ernst, ich habe ums verrecken nicht herausgefunden, wo das beschrieben ist. Muss man da PERL lesen können?
Aber cool, dass es Menschen gibt, die es wissen.
Vielleicht weißt Du auch, warum folgendes nicht geht:
##############################################
# Display a window log
# FileLog definition:
# define FileLog_device FileLog ./log/device-%Y.log device
#
# Logfile record example:
# 2015-10-17_08:38:08 device closed|open|tilted|open_from_tilted

set readonly
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 ylabel "Status"
set title '<L1>'
set ytics ("open" 1, "closed" 0)
set y2tics ("open" 1, "closed" 0)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]

#FileLog 4:.*contact\x3a:0:$fld[2]=~m/open/?1:0

plot "<IN>" using 1:2 axes x1y1 notitle ls l0 lw 1 with steps


Mit Filelog:
2023-03-09_13:06:19 G_Fenster closed
2023-03-09_13:14:43 G_Fenster Activity: alive
2023-03-09_13:49:11 G_Fenster Activity: alive
2023-03-09_13:59:12 G_Fenster Activity: unknown
2023-03-09_14:05:12 G_Fenster alive: yes
2023-03-09_14:05:12 G_Fenster battery: ok
2023-03-09_14:05:12 G_Fenster contact: closed (to broadcast)
2023-03-09_14:05:12 G_Fenster sabotageError: off
2023-03-09_14:05:12 G_Fenster closed
2023-03-09_14:09:12 G_Fenster Activity: alive
2023-03-09_14:13:04 G_Fenster battery: ok
2023-03-09_14:13:04 G_Fenster contact: open (to H_Gast)
2023-03-09_14:13:04 G_Fenster open
2023-03-09_14:13:04 G_Fenster trigger_cnt: 48
2023-03-09_14:18:51 G_Fenster battery: ok
2023-03-09_14:18:51 G_Fenster contact: closed (to H_Gast)
2023-03-09_14:18:51 G_Fenster closed
2023-03-09_14:18:51 G_Fenster trigger_cnt: 49
2023-03-09_14:37:30 G_Fenster Activity: alive
2023-03-09_14:57:50 G_Fenster alive: yes
2023-03-09_14:57:50 G_Fenster battery: ok
2023-03-09_14:57:50 G_Fenster contact: closed (to broadcast)
2023-03-09_14:57:50 G_Fenster sabotageError: off
2023-03-09_14:57:50 G_Fenster closed
2023-03-09_15:57:12 G_Fenster alive: yes


Die regex .*contact\x3a scheint nicht die Zeilen zu filtern, aber warum? Auch da finde ich keine gute Doku, zB. auf was sich die regex bezieht. Offenbar nicht auf column 1. Vielleicht ist ja auch DuckDuck eine miese Suchmaschine, ich muss bei Gelegenheit mal ChatGPT ausprobieren. 😜
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: rudolfkoenig am 10 März 2023, 09:36:27
Zitat@rudolfkoenig: Warum bist Du (damals) wieder anderer Meinung gewesen?
Weil das nicht mit dem SVG-Editor kompatibel ist.
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Nomo am 13 März 2023, 21:10:38
Zitat von: rudolfkoenig am 10 März 2023, 09:36:27
Weil das nicht mit dem SVG-Editor kompatibel ist.

Das ist richtig. Aber genau den Editor wollte ich mir ja sparen, da alle Heizungsventile und Temp-Fühler ja das gleiche Format haben.
Wenn es sonst keine bösen Fallen gibt, lasse ich das jetzt so. Danke für die Antwort!
Und ich fühle mich geehrt! Ich fluche zwar gerade, weil ich seit Tagen an der Konfiguration sitze (3200 Zeilen fhem.cfg, Tuya local Probleme und Alexa will auch die Tuya Devices nicht erkennen 😕 ) aber:
Ich kenne keine bessere Haussteuerung als fhem! Ich habe schon gegen 2007 mein Haus damals automatisiert und bun immer noch begeistert, wie unglaublich viele Module und Funktionen es hier gibt. Kudos!
Ich hoffe, Du hast es geschafft, damit irgendwie "reich" zu werden. Ich würde es Dir auf jeden Fall von Herzen gönnen!

LG, Stefan
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: rudolfkoenig am 14 März 2023, 09:25:21
Vielen Dank fuers Lob, das verdienen aber alle Helfer hier im Forum genauso wie die Programmierer. 
Reich geworden bin ich an Erfahrung :), aber das war auch nicht anders geplant.
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: Nomo am 14 März 2023, 13:36:57
Zitat von: rudolfkoenig am 14 März 2023, 09:25:21
Vielen Dank fuers Lob, das verdienen aber alle Helfer hier im Forum genauso wie die Programmierer. 
Reich geworden bin ich an Erfahrung :), aber das war auch nicht anders geplant.

Aber ein Paypal für eine Kaffeespende in der sig fände ich gut. Als Zeichen der Anerkennung. Machen ja Andere auch.
Titel: Antw:SVG Plot mit Min-Max Anzeige im Titel
Beitrag von: rudolfkoenig am 14 März 2023, 15:17:38
Ich will damit gar nicht anfangen.
Wenn Andere das machen, das ist deren gutes Recht, stoert mich nicht.