SVG Plot mit Min-Max Anzeige im Titel

Begonnen von Spartacus, 29 Oktober 2014, 19:59:31

Vorheriges Thema - Nächstes Thema

Spartacus

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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Puschel74

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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Spartacus

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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

...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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

rudolfkoenig

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})

Spartacus

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
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Nomo

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}"

Frank_Huber

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.

Nomo

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. 😜

rudolfkoenig

Zitat@rudolfkoenig: Warum bist Du (damals) wieder anderer Meinung gewesen?
Weil das nicht mit dem SVG-Editor kompatibel ist.

Nomo

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

rudolfkoenig

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.

Nomo

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.

rudolfkoenig

Ich will damit gar nicht anfangen.
Wenn Andere das machen, das ist deren gutes Recht, stoert mich nicht.