Log bzw. Plot kombinieren

Begonnen von bjoernhoefer, 08 Januar 2013, 13:32:30

Vorheriges Thema - Nächstes Thema

bjoernhoefer

Hallo,

gibt es eine Möglichkeit zwei Geräte-Logs (in meinem Fall einen Thermostat und einen Stellantrieb für die Heizung) in einen Log zusammen zu fassen. Damit ich einen mir einen Plot davon erstellen lassen kann?

Ist der Übersicht halber für mich "schöner" anzuschauen - Hat also absolut keine Dringlichkeit...


Danke trotzdem für Lösungsvorschläge.

Joachim

Ja, das geht.
hier ein Beispiel in dem ein MAX Heizungsthemostat (HK_Regler_Badezimmer) und ein 1-Wire-Temperatursensor (Temp_Sensor_Badezimmer) zusammengefasst sind.

define FileLog_Bad FileLog ./log/Badezimmer-%Y-%m.log (HK_Regler_Badezimmer:.*(battery|temperature|desiredTemperature|valveposition)):|(Temp_Sensor_Badezimmer:.*temperature).*
attr FileLog_Bad logtype text
attr FileLog_Bad room Logs
attr FileLog_Bad change
#attr FileLog_Bad debug

define weblink_Bad weblink fileplot FileLog_Bad:MAXOWX:CURRENT
attr weblink_Bad plotsize 1050,840
attr weblink_Bad room Badezimmer
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

bjoernhoefer

cool, vielen Dank hat funktioniert...

Wenn ich nun meinen eigenen Plot erstelle dann bekomm ich lustige Meldungen und einen nicht so ganz schönen Plot...


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 ytics nomirror
set y2tics
#set ytics
set title '<L1>'
set grid xtics y2tics

plot \
  "< egrep 'measured-temp' <IN>"\
         using 1:4 axes title 'Temp' with lines,\
  "< egrep 'ValvePosition' <IN>"\
        using 1:4 axes title 'Valve' with lines,\
  "< egrep 'humidity' <IN>"\
        using 1:4 axes title 'Humidity' with lines


Als Beispiel hab ich temp4hum4 hergenommen, da ja alle Werte im vierten "Feld" liegen.

Log:

2013-01-08_19:35:18 badezimmer_thermo_motor ValvePosition: 100 %
2013-01-08_19:38:00 badezimmer_thermo measured-temp: 20.6
2013-01-08_19:38:00 badezimmer_thermo humidity: 51
2013-01-08_19:38:21 badezimmer_thermo_motor ValvePosition: 100 %
2013-01-08_19:40:48 badezimmer_thermo measured-temp: 20.6
2013-01-08_19:40:48 badezimmer_thermo humidity: 51
2013-01-08_19:41:08 badezimmer_thermo_motor ValvePosition: 100 %
2013-01-08_19:43:21 badezimmer_thermo measured-temp: 20.6
2013-01-08_19:43:21 badezimmer_thermo humidity: 51
2013-01-08_19:43:43 badezimmer_thermo_motor ValvePosition: 100 %
2013-01-08_19:45:40 badezimmer_thermo measured-temp: 20.7
2013-01-08_19:45:40 badezimmer_thermo humidity: 51
2013-01-08_19:46:01 badezimmer_thermo_motor ValvePosition: 100 %


Fehlermeldung auf der Konsole


Use of uninitialized value within %hmin in addition (+) at ./FHEM/98_SVG.pm line 353.
Use of uninitialized value in subtraction (-) at ./FHEM/98_SVG.pm line 358.
Use of uninitialized value $i in numeric le (<=) at ./FHEM/98_SVG.pm line 425.
Use of uninitialized value $i in subtraction (-) at ./FHEM/98_SVG.pm line 426.
Use of uninitialized value $i in sprintf at ./FHEM/98_SVG.pm line 441.
Use of uninitialized value within %hmin in addition (+) at ./FHEM/98_SVG.pm line 353.
Use of uninitialized value in subtraction (-) at ./FHEM/98_SVG.pm line 358.
Use of uninitialized value $i in numeric le (<=) at ./FHEM/98_SVG.pm line 425.
Use of uninitialized value $i in subtraction (-) at ./FHEM/98_SVG.pm line 426.
Use of uninitialized value in numeric gt (>) at ./FHEM/98_SVG.pm line 436.
Use of uninitialized value $i in numeric gt (>) at ./FHEM/98_SVG.pm line 436.
Use of uninitialized value $i in sprintf at ./FHEM/98_SVG.pm line 441.
Use of uninitialized value in numeric gt (>) at ./FHEM/98_SVG.pm line 436.


Bitte danke fürs helfen.

bjoernhoefer

Hab jetzt fast alles geschafft - und sogar einfacher... :-)

Im FHEM-Wiki wirds beschrieben: http://www.fhemwiki.de/wiki/HM-CC-TC_Funk-Wandthermostat#Alles-drin-Plot

Jedoch funktionieren noch nicht alle Graphen - der für die tatsächliche Temperatur funktioniert nicht...

"Gefiltert" wird mit: "< awk '/temperature/{print $1, $4}' <IN>"\

Protokolliert wird aber: measured-temp

Trotz ändern der Zeile auf: "< awk '/measured-temp/{print $1, $4}' <IN>"\
Ist der Graph für Temperatur noch immer leer.
:-(

Joachim

Versuchs mal mit den Informationen aus diesen Tread:
 Max und 1-Wire in einen Plot [Beitrag #49462]

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Rohan

Hi bjoern,

da bin ich auch schon drüber gestolpert ...

Zitat von: bjoernhoefer schrieb am Di, 08 Januar 2013 22:12... Jedoch funktionieren noch nicht alle Graphen - der für die tatsächliche Temperatur funktioniert nicht...

"Gefiltert" wird mit: "< awk '/temperature/{print $1, $4}' <IN>"\

Protokolliert wird aber: measured-temp

Trotz ändern der Zeile auf: "< awk '/measured-temp/{print $1, $4}' <IN>"\
Ist der Graph für Temperatur noch immer leer.
:-(

Du musst auch noch die "vorgeblichen" Kommentarzeilen

#FileLog 4:temperature:0:
#FileLog 4:desired:0:
#FileLog 4:humidity:0:
#FileLog 4:actuator:0:int

anpassen.

Sind für GNU-Plot Kommentare, nicht aber für FHEM ;)

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

Joachim


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 ytics nomirror
set y2tics
#set ytics
set title '<TL>'
set grid xtics y2tics

set y2label "Temperatur in C"
set ylabel "Ventilstellung (%)"


set y2range [15:21]
set yrange [0:80]
Hier mal der relevante Teil aus meiner MaxOWX.gplot (also Max-Heizkörperthermostate und 1-Wire Tempmessung).

#FileLog 4:desiredTemperature:4.5:
#FileLog 4:HK_Regler.*temperature:4.5:
#FileLog 4:valveposition:0:
#FileLog 4:Temp_Sensor.*:4.5:

plot \
  "< egrep 'desiredTemperature' <IN>"\
         using 1:4 axes x1y2 title 'Soll Temperatur' with steps,\
  "< egrep 'HK_Regler.*temperature' <IN>"\
         using 1:4 axes x1y2 title 'Ist Temperatur' with steps ,\
  "< egrep 'valveposition' <IN>"\
         using 1:4 axes x1y1 title 'Ventilstellung (%)' with steps\
  "< egrep 'Temp_Sensor.*' <IN>"\
         using 1:4 axes x1y2 title '1-Wire Temperatur' with lines,

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Joachim

Knurr, fehlende Edit-Funktion, nun aber richtig:

Hier mal der relevante Teil aus meiner MaxOWX.gplot (also Max-Heizkörperthermostate und 1-Wire Tempmessung).


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 ytics nomirror
set y2tics
#set ytics
set title '<TL>'
set grid xtics y2tics

set y2label "Temperatur in C"
set ylabel "Ventilstellung (%)"


set y2range [15:21]
set yrange [0:80]


#FileLog 4:desiredTemperature:4.5:
#FileLog 4:HK_Regler.*temperature:4.5:
#FileLog 4:valveposition:0:
#FileLog 4:Temp_Sensor.*:4.5:

plot \
"< egrep 'desiredTemperature' <IN>"\
using 1:4 axes x1y2 title 'Soll Temperatur' with steps,\
"< egrep 'HK_Regler.*temperature' <IN>"\
using 1:4 axes x1y2 title 'Ist Temperatur' with steps ,\
"< egrep 'valveposition' <IN>"\
using 1:4 axes x1y1 title 'Ventilstellung (%)' with steps\
"< egrep 'Temp_Sensor.*' <IN>"\
using 1:4 axes x1y2 title '1-Wire Temperatur' with lines,


Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

bjoernhoefer

Danke nochmals - funktioniert jetzt alles tadellos...