FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: KölnSolar am 22 März 2026, 07:24:00

Titel: Linien eines readings unterschiedlicher Zeiträume aus einem logfile in einem plot
Beitrag von: KölnSolar am 22 März 2026, 07:24:00
Hi (Rudi, weil Du vermutlich der Einzige bist, der eine Realisierung meines Gedankens überhaupt beurteilen u. ggfs. realisieren kann)

sicherlich bin ich auch nicht der Erste, der so etwas bräuchte, aber vielleicht haben sich ja die Möglichkeiten mit der Zeit geändert.

Ich würde gerne anstatt mir 2 Plots gleichen Zeitraums zu erzeugen und die erzeugten 2 Bilder zu vergleichen, einen Plot erzeugen, in dem
- Daten nur aus einer filelog-spec kommen
- nur genau ein reading ausgewählt wird
- der dargestellte Zeitraum vergleichbar hour,qday,day.... frei wählbar ist(Vielleicht sogar zusätzlich mit Startdatum/-uhrzeit)
- die beiden(oder vielleicht auch mehrere ?) vergleichend darzustellenden Zeiträume jeweils über offset auswählbar wären

Ohne eine FHEM-Unterstützung würde ich mir mühsam die Daten in Excel kopieren, dort filtern und darstellen.
Alternativ den timestamp vergewaltigen, den readingname ändern und nach einem merge mit FHEM Standard plotten.

Vielleicht kennt auch jemand ein einfach handelbares Tool ?

Einen schönen Sonntag
Markus

Titel: Aw: Linien eines readings unterschiedlicher Zeiträume aus einem logfile in einem plot
Beitrag von: Beta-User am 22 März 2026, 07:41:22
Bin nicht sicher, den request richtig interpretiert zu haben. Mir fallen zwei Stichworte dazu ein:
- plotReplace (SVG-Attribut):
Wann das aufgelöst/ersetzt wird, bestimmt dann die .gplot, hier ein kommentiertes Beispiel:
# Created by FHEM/98_SVG.pm, 2019-11-03 15:07:40
# to replace variables, use plotReplace like
# attr SVG_Thermostat plotReplace DBLogDevice=LogDB SPEC1=Thermostat TL="My example thermostat" EXTERNALTEMPDEVICE=MYSENSOR_97 EXTERNALTEMPREADING=temperature2

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
set y2tics
set grid
set ylabel "Valve"
set y2label "Temperature"
set yrange [-10:110]

#%DBLogDevice% %SPEC1%:desired-temp::
#%DBLogDevice% %SPEC1%:measured-temp:0:
#%DBLogDevice% %EXTERNALTEMPDEVICE%:%EXTERNALTEMPREADING%::
#%DBLogDevice% %SPEC1%:actuator:0:int

plot "<IN>" using 1:2 axes x1y2 title 'Desired' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Measured' ls l1 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Aussen' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Valve' ls l3 lw 1 with histeps

Falls da unterschiedliche Zeiträume verglichen werden sollen, könnte LogProxy noch ein Stichwort sein, da kenne ich mich aber nicht wirklich mit aus. Es sollte aber funktionieren, LogProxy und "normale Datenquelle" zu mischen und den offset ggf. via plotReplace dem Bedarf anzupassen.
Titel: Aw: Linien eines readings unterschiedlicher Zeiträume aus einem logfile in einem plot
Beitrag von: rudolfkoenig am 22 März 2026, 11:19:05
Ich vergleiche solche Daten, indem ich in der Quell-SVG die Linie kopiere (linke Maustaste auf der gewuenschten Beschriftung und Copy), und im Ziel-SVG einfuege.
Eine Alterntaive ist laut Doku und wiki.fhem.de die logProxy offset Option.
Titel: Aw: Linien eines readings unterschiedlicher Zeiträume aus einem logfile in einem plot
Beitrag von: KölnSolar am 22 März 2026, 11:52:44
Ich danke Euch.

Werde ich probieren und klingt erst einmal nach guten Lösungen. Copy&Paste wäre 1. Sahne. 8)