FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ojb am 19 November 2014, 23:51:02

Titel: Diagrammerstellung: Wie würdet Ihr das machen?
Beitrag von: ojb am 19 November 2014, 23:51:02
Hallo Leute,

mittlerweile läuft meine Heizungsanbindung dank VCONTROL schon sehr gut.

Ich habe jetzt folgende Herausforderung:
Ich verwende eine Erdwärmepumpe und möchte gerne die Betriebsstunden für Heizung und Warmwasser sowie die Einschaltvorgänge und die durchschnittliche Laufzeit pro Einschaltvorgang darstellen.

Anbei ein Screenshot einer Quick-and-Dirty Lösung mit Excel.

Ich beschreibe mal kurz mein Vorgehen für die Excel-Lösung.

In meinen Heizungs-Logs werden sehr viele Daten geloggt.

Zuerst habe ich mit grep z.B. die Betriebsstunden des Verdichters = Betriebsstunden der Wärmepumpe herausgefiltert:

2014-11-19_21:34:05 Heizung Betriebsstunden_Verdichter: 2477.61
2014-11-19_21:37:07 Heizung Betriebsstunden_Verdichter: 2477.66
2014-11-19_21:40:06 Heizung Betriebsstunden_Verdichter: 2477.71
2014-11-19_21:43:07 Heizung Betriebsstunden_Verdichter: 2477.76
2014-11-19_21:46:06 Heizung Betriebsstunden_Verdichter: 2477.81
2014-11-19_21:49:05 Heizung Betriebsstunden_Verdichter: 2477.86
2014-11-19_21:52:06 Heizung Betriebsstunden_Verdichter: 2477.91
2014-11-19_21:55:07 Heizung Betriebsstunden_Verdichter: 2477.92


Danach habe ich versucht mit

grep 00:0[0-2]: Heizung-2014.log | grep Betriebsstunden_Verdichter

die Tageswechsel herauszufiltern:

2014-11-13_00:01:55 Heizung Betriebsstunden_Verdichter: 2434.83
2014-11-14_00:00:28 Heizung Betriebsstunden_Verdichter: 2440.02
2014-11-15_00:01:14 Heizung Betriebsstunden_Verdichter: 2446.73
2014-11-16_00:00:27 Heizung Betriebsstunden_Verdichter: 2453.16
2014-11-17_00:00:36 Heizung Betriebsstunden_Verdichter: 2458.00
2014-11-17_00:02:58 Heizung Betriebsstunden_Verdichter: 2458.00
2014-11-18_00:00:48 Heizung Betriebsstunden_Verdichter: 2464.90
2014-11-18_00:02:40 Heizung Betriebsstunden_Verdichter: 2464.90


Das ganze habe ich in eine txt-Datei geschrieben, mit Excel geöffnet, im Datum die Underscores gegen Leerzeichen ersetzt, die Punkte mit Kommas ersetzt, die Doppler raus und noch ein paar Deltaberechnungen und fertig war das Diagramm.

Das ganze möchte ich jetzt einerseits für Excel automatisieren aber auch direkt in FHEM darstellen lassen.

Als Idee schwebt mit jetzt ein at vor, das pro Tag einmal ein Script aufruft, das z.B. all das macht was ich eben beschrieben habe, in ein neues Logfile schreibt und ein SVG bzw. Excel dass das dann anzeigt.

Was würdet Ihr sagen, was wäre die effizienteste und eleganteste Methode das zu tun?

Vielen lieben Dank im Voraus.

Liebe Grüße
Oli
Titel: Antw:Diagrammerstellung: Wie würdet Ihr das machen?
Beitrag von: Prof. Dr. Peter Henning am 20 November 2014, 05:12:22
Es ist leicht irre, aus FHEM/linux heraus eine "Excel"-Datei/Windows zu erstellen, die dann automatisiert wieder als Diagramm in FHEM/Linux eingebunden werden soll.

Entweder man bleibt in FHEM - das Modul SVG bietet eine Vielzahl von Möglichkeiten zur Visualisierung. Auch Balkendiagramme, und auch Laufzeiten von Pumpen kann man als zusätzliche Linie gut einbinden, siehe hier: http://forum.fhem.de/index.php?action=dlattach;topic=22054.0;attach=20949

Oder man bleibt auf der Ebene von Textdateien - das Programm convert aus der ImageMagick Suite bietet ein paar schöne Möglichkeiten zur Erstellung von Diagrammen http://www.fhemwiki.de/wiki/Digitaler_Bilderrahmen_mit_lcd4linux.

LG

pah
Titel: Antw:Diagrammerstellung: Wie würdet Ihr das machen?
Beitrag von: ojb am 20 November 2014, 13:38:06
Hallo Peter,

ich bin zwar a bissi verrürckt aber eben net total :-)

Bitte meinen Beitrag genau lesen:
Zitat
Das ganze möchte ich jetzt einerseits für Excel automatisieren aber auch direkt in FHEM darstellen lassen.

Ich möchte gerne einen automatischen Export in ein Excel-taugliches File für tiefere Analysen
UND
ich möchte die Diagramme direkt in FHEM darstellen.

Liebe Grüße
Oli
Titel: Antw:Diagrammerstellung: Wie würdet Ihr das machen?
Beitrag von: Prof. Dr. Peter Henning am 20 November 2014, 13:45:34
DbLog.

pah
Titel: Antw:Diagrammerstellung: Wie würdet Ihr das machen?
Beitrag von: ojb am 25 November 2014, 15:55:49
Hallo Leute,

ich hab das Problem mitlerweile gelöst. Es ging einfacher als ich dachte, denn die SVG-Plots können schon was ich gerne möchte.
Und zwar mit der Option delta-d, damit wird das Delta auf Tagesbasis angezeigt.

Hier der Aussschnitt aus der gplot Datei:


set ylabel "Betriebsstunden h"
set y2label "Betriebsstunden h"

#FileLog 4:Heizung.Betriebsstunden_Verdichter\x3a::delta-d

plot "<IN>" using 1:2 axes x1y1 title 'Betriebsstunden Wärmepumpe' ls l0fill lw 1 with bars


Problem war dann noch mein riesiges Heizungs-Logfile. Der Aufbau der Betriebsstunden-und-Einschaltungen-pro-Tag-Plots dauerte ewig.

Ich habe dann ein kleines Bash-Script gebaut was nur die relevanten Daten in 10-Minuten Takt in ein eigenes Log extrahiert, aus welchem dann die Plots generiert werden. Dieses wird per at periodisch aufgerufen.


#!/bin/bash

cd /opt/fhem/log
grep Betriebsstunden_Verdichter Heizung-2014.log | uniq -w 15 > temp.log
grep Betriebsstunden_Umschaltventil Heizung-2014.log | uniq -w 15 >> temp.log
grep Einschaltungen_Verdichter Heizung-2014.log | uniq -w 15 >> temp.log
grep Einschaltungen_Umschaltventil Heizung-2014.log | uniq -w 15 >> temp.log
grep Aussentemperatur Heizung-2014.log | uniq -w 15 >> temp.log

sort temp.log > Heizung-Day.log

rm temp.log


Vielleicht geht das ja auch eleganter?

Liebe Grüße
Oli