Mittelwert aus Plot (Label) auslesen

Begonnen von Trerob, 02 März 2013, 12:34:41

Vorheriges Thema - Nächstes Thema

Trerob

Hallo,

habe mir in FHEM einen Plot erstellt in dem die Laufzeit des Ölbrenners dargestellt wird. Als Label werden der Ölverbrauch in Liter sowie die mittlere Brennerlaufzeit pro Stunde angezeigt.
Nun zu meiner Frage, kann die mittlere Brennerlaufzeit aus dem Label ausgelesen werden, oder wie kann ich anderweitig an die Daten kommen.
Der Hintergrund, ich möchte aufgrund der aktuellen mittleren Brennerlaufzeit die "Reichweite" des Ölvorrates berechnen.

Vielen Dank im Voraus für euere Antworten


(siehe Anhang / see attachement)

Puschel74

Hallo,

wie genau soll es den sein?

Für den Ölvorrat reicht dir evtl. auch die Tagesmenge.
Diese sollte sich leichter errechnen lassen wenn sie nicht schon gesendet wird - je nach Zähler.

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.

Trerob

Hallo,

sollte natürlich nur eine Abschätzung sein, da ich die Genauigkeit des Ölverbrauches auch nicht wirklich kenne. Wird aus den Ein- und Ausschaltzeiten des Brenners und der Angabe auf der Brennerdüse berechnet.
Ich dachte das Einfachste wäre die mittlere Brennerlaufzeit aus dem Label des Diagrammes auszulesen.
Auf die Variable "$data{avg1}" die in der Formel zur Berechnung der mittleren Brennerlaufzeit verwendet kann  auch nicht zugegriffen werden?

Grüße

Rohan

Hallo Trerob,

postest du bitte einen Ausschnitt deiner LOG-Datei sowie deine komplette gplot-Datei (beides bitte als "Code einfügen", das Icon links von "Größe")?

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

Trerob

Hallo Thomas,

hier die gplot Datei:

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 title '<L1>'
set grid


#FileLog 3:brenner_zaehler:0:delta-h
plot "<IN>" using 1:2 axes x1y1 title 'Runtime/h (Min)' with histeps


und hier ein Auszug aus dem Log File:


2013-03-04_00:02:33 brenner_zaehler 15465.5166666667
2013-03-04_00:35:21 brenner_zaehler 15470.65
2013-03-04_01:14:08 brenner_zaehler 15476.1166666667
2013-03-04_01:46:39 brenner_zaehler 15481.2166666667
2013-03-04_02:24:17 brenner_zaehler 15487.0666666667
2013-03-04_02:58:24 brenner_zaehler 15492.1833333333
2013-03-04_03:27:28 brenner_zaehler 15497.2333333333
2013-03-04_03:55:32 brenner_zaehler 15502.25
2013-03-04_04:35:54 brenner_zaehler 15507.9666666667
2013-03-04_04:57:04 brenner_zaehler 15513.1
2013-03-04_05:33:02 brenner_zaehler 15520.7666666667
2013-03-04_06:02:04 brenner_zaehler 15526.3166666667
2013-03-04_06:28:19 brenner_zaehler 15532.35
2013-03-04_06:46:47 brenner_zaehler 15540.85
2013-03-04_07:00:37 brenner_zaehler 15546.2
2013-03-04_07:21:44 brenner_zaehler 15549.95
2013-03-04_08:12:34 brenner_zaehler 15553.95
2013-03-04_09:05:29 brenner_zaehler 15558.8166666667
2013-03-04_09:42:22 brenner_zaehler 15563.4166666667
2013-03-04_10:09:14 brenner_zaehler 15578.0333333333
2013-03-04_10:47:33 brenner_zaehler 15581.9333333333
2013-03-04_11:48:10 brenner_zaehler 15585.9833333333
2013-03-04_12:55:17 brenner_zaehler 15590.1333333333
2013-03-04_14:06:06 brenner_zaehler 15594.5666666667
2013-03-04_14:20:49 brenner_zaehler 15600.8333333333
2013-03-04_14:41:37 brenner_zaehler 15605.3
2013-03-04_15:02:50 brenner_zaehler 15610.5333333333
2013-03-04_15:22:36 brenner_zaehler 15615.1166666667
2013-03-04_15:42:07 brenner_zaehler 15619.75
2013-03-04_16:02:51 brenner_zaehler 15624.1833333333
2013-03-04_16:25:57 brenner_zaehler 15628.3333333333
2013-03-04_16:44:05 brenner_zaehler 15632.6
2013-03-04_17:02:06 brenner_zaehler 15636.55
2013-03-04_17:28:07 brenner_zaehler 15640.2333333333
2013-03-04_18:06:17 brenner_zaehler 15645.7333333333
2013-03-04_18:37:39 brenner_zaehler 15650.0833333333
2013-03-04_19:15:01 brenner_zaehler 15655.1333333333
2013-03-04_19:46:01 brenner_zaehler 15660.0333333333
2013-03-04_20:22:24 brenner_zaehler 15665
2013-03-04_20:39:32 brenner_zaehler 15669.85
2013-03-04_21:11:08 brenner_zaehler 15675.1333333333
2013-03-04_21:36:53 brenner_zaehler 15683.1666666667
2013-03-04_22:22:29 brenner_zaehler 15687.75
2013-03-04_23:00:49 brenner_zaehler 15692.4166666667



und hier noch die Zeile die ich zur Berechung des Labels verwende:

sprintf("Oel (l) %.2f total, %0.2f avg/h",$data{sum1}/60*1.9, $data{avg1}/60*1.9)


Grüße
Robert

Rohan

Hi,

Zitat von: Trerob schrieb am Mo, 04 März 2013 23:12
...
2013-03-04_20:22:24 brenner_zaehler 15665
2013-03-04_20:39:32 brenner_zaehler 15669.85
...


Ich stehe gerade auf dem Schlauch... Was stellen diese Zahlen dar bzw. wie / woraus werden die berechnet / erzeugt?

Und du möchtest: ... "kann die mittlere Brennerlaufzeit aus dem Label ausgelesen werden, oder wie kann ich anderweitig an die Daten kommen"?

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

Trerob

Hallo,

die Werte werden über folgendes Notify eingetragen:

if("%" eq "on") {
$data{brenner_last} = time();;
}
elsif ("%" eq "off"){
$data{brenner_min} += (time()-$data{brenner_last})/60;;
fhem "trigger brenner_zaehler $data{brenner_min}";;}}

Die Befehlssequenz habe ich aus einem Wiki- oder Forenbeitrag entnommen, habe eigentlich überhaupt keinen Plan von  Perl, die beiden Zahlen in dem Beispiel bedeuten aber meiner Meinung nach, daß der Brenner zwischen 20:22 und 20:39 Uhr 4.89 Minuten ein war.
Ich brauche für meine weiteren Brechnungen den aktuellen Mittelwert der Brennerlaufzeit. Da dieser Wert ja bereits
im Weblink Label berechnet und angezeigt wird, dachte ich mir ich könnte diesen Wert direkt aus dem Label auslesen.
Wenn ich irgendwie anderweitig an diesen Wert kommen kann, soll mir das auch recht sein.

Gruß
Robert

Rohan

Hallo Robert,

sorry, aber hier muss ich aussteigen, da dies meine FHEM-Kenntnisse übersteigt. Etwas ähnliches habe ich für verschiedenste Sensoren schon in Python programmiert, aber FHEM ... da müsste jemand anderes dran.

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

erwin

Hi Robert,

ich würde mir an deiner Stelle das AVERAGE Modul ansehen, da sollten die meisten deiner Anforderungen erfüllt werden.
Sorry, ich kann jetzt nicht spezieller werden, weil du nicht geschrieben hast, womit dein Notify ausgelöst wird. Oderr anders formuliet: Wo kommen die Werte her? (von einem Dummy Device?)

l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...