Alternative zu statistics?

Begonnen von holle75, 17 Mai 2017, 13:35:27

Vorheriges Thema - Nächstes Thema

holle75

statistics verursacht bei mir im Log Fehler bei Definition einer specialDeltaPeriods. Das Problem habe ich in einem anderen Thread angesprochen/angefragt. Bisher ohne Antwort

Bin jetzt mal das Forum die letzten paar Monate nach Fragen bzgl statistics durchgegangen und habe einige Fragen nach Fehlern gefunden die mehr oder minder (eher mehr, um nicht zu sagen komplett) unbeantwortet blieben.

Da ich ungern Module nutze, die mir mein Log mit Fehlern beschreiben, oder im Falle eines (progarmmier?)-Fehlers auch niemanden interessieren, suche ich nach Ideen für eine Alternative.

Ich möchte mir rollierend ab einer bestimmten Uhrzeit die Regenwerte meiner Wetterstation stündlich und täglich protokolieren. Also theoretisch wie gemacht für statistics. Hat jemand eine Idee, wie man dies anders umsetzen könnte?

Danke und Grüße

H.

viegener

Hallo holle75,
hast Du mal den Autor/Maintainer für statistics angeschirben?
Laut maintainer-Liste - steht da folgendes:

FHEM/98_statistics.pm tupol http://forum.fhem.de Unterstuetzende Dienste (Link als PM an tupol)

--> Vielleicht schickst Du ihm mal eine pm wie dort beschrieben?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

holle75

Hallo viegener, hatte ich schon überlegt, aber da tupol so explizit "support nur im Forum" (oä) in seiner Signatur stehen hat, wollte ich da nicht nerven. Wundert mich nur, dass Probleme mit statistics hier im Forum (fast) gar nicht beantwortet werden (hab mal bis Januar 17 zurückgesucht).

Oder mein Fehler ist "Anwendergebunden" und alle denken sich, was soll der Quatsch ?! ;)


viegener

Hallo holle75,
der Punkt ist, das er vielleicht nicht jeden Thread zu statistics sieht, deshalb der Hinweis in maintainer zu der PM. Es geht ja nur um den Link siehe oben.
Gruss,
Johannes
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

holle75

Danke dir. Werde ich mal machen.

Frank_Huber

Hi,

ich mache einige Berechnungen selbst mit at und einem dummy.
Mir erzeugt das statistics zuviele readings und es wird damit unübersichtlich.

Hier z.B. meine Tages / Wochen  und Monatsverbrauchswerte von Strom und Pellets:
defmod Verbrauch_Tag at *00:00:01 {\
use Math::Round qw/round/;;\
my $wert1=ReadingsVal("ETA_Vorrat_1_Silo","Silo_Vorrat","--");;\
my $wert2=ReadingsVal("ETA_Vorrat_2_Kessel","Vorrat_2_Kessel","--");;\
my $wert4=$wert1+$wert2;;\
my $wert3=ReadingsVal("Verbrauch","Pelletslager","--");;\
my $wert5=$wert3-$wert4;;\
fhem("setreading Verbrauch Pelletslager $wert4");;\
fhem("setreading Verbrauch Pelletsverbrauch $wert5");;\
my $wert6=ReadingsVal("Stromzaehler","total_consumption","--");;\
my $wert7=$wert6/1000;;\
my $wert8=ReadingsVal("Verbrauch","Stromzaehler","--");;\
my $wert9=$wert7-$wert8;;\
$wert9 = Math::Round::nearest('0.1',$wert9);;\
fhem("setreading Verbrauch Stromzaehler $wert7");;\
fhem("setreading Verbrauch Stromverbrauch $wert9");;\
WriteStatefile()\
}


defmod Verbrauch_Woche at *00:00:30 {\
if ($wday == 1) {\
\
use Math::Round qw/round/;;\
my $wert1=ReadingsVal("ETA_Vorrat_1_Silo","Silo_Vorrat","--");;\
my $wert2=ReadingsVal("ETA_Vorrat_2_Kessel","Vorrat_2_Kessel","--");;\
my $wert4=$wert1+$wert2;;\
my $wert3=ReadingsVal("Verbrauch","PelletslagerMo","--");;\
my $wert5=$wert3-$wert4;;\
fhem("setreading Verbrauch PelletslagerMo $wert4");;\
fhem("setreading Verbrauch PelletsverbrauchWoche $wert5");;\
my $wert6=ReadingsVal("Stromzaehler","total_consumption","--");;\
my $wert7=$wert6/1000;;\
my $wert8=ReadingsVal("Verbrauch","StromzaehlerMo","--");;\
my $wert9=$wert7-$wert8;;\
$wert9 = Math::Round::nearest('0.1',$wert9);;\
fhem("setreading Verbrauch StromzaehlerMo $wert7");;\
fhem("setreading Verbrauch StromverbrauchWoche $wert9");;\
WriteStatefile()\
}}


defmod Verbrauch_Monat at \
*00:01:00 {\
if ($mday == 1) {\
\
use Math::Round qw/round/;;\
my $wert1=ReadingsVal("ETA_Vorrat_1_Silo","Silo_Vorrat","--");;\
my $wert2=ReadingsVal("ETA_Vorrat_2_Kessel","Vorrat_2_Kessel","--");;\
my $wert4=$wert1+$wert2;;\
my $wert3=ReadingsVal("Verbrauch","Pelletslager1ter","--");;\
my $wert5=$wert3-$wert4;;\
fhem("setreading Verbrauch Pelletslager1ter $wert4");;\
fhem("setreading Verbrauch PelletsverbrauchMonat $wert5");;\
my $wert6=ReadingsVal("Stromzaehler","total_consumption","--");;\
my $wert7=$wert6/1000;;\
my $wert8=ReadingsVal("Verbrauch","Stromzaehler1ter","--");;\
my $wert9=$wert7-$wert8;;\
$wert9 = Math::Round::nearest('0.1',$wert9);;\
fhem("setreading Verbrauch Stromzaehler1ter $wert7");;\
fhem("setreading Verbrauch StromverbrauchMonat $wert9");;\
WriteStatefile()\
}}


Gibt bestimmt elegantere Lösungen, aber so verstehe ich zumindest auch was da passiert. ;)

Grüße
Frank

mumpitzstuff

Vielleicht über Average: https://forum.fhem.de/index.php/topic,71618.0.html

Ansonsten schau dir mal in der Command Ref die Beschreibung zu "event-aggregator" an.

holle75

@Frank ... schön, das verstehe ich als Perl-Laie sogar :) Gute Alternative

@Mumpitz ... Danke dir. Average macht, glaubs, eher einen Durchschnitts/Min/Max Wert, als eine Differenz/Summe von Zeitpunkt zu Zeitpunkt? ... Oder habe ich da ein Feature übersehen? event-aggregator schau ich mir an.

Danke euch.