Modul für EM1010

Wenn der Grenzwert überschritten wird, den Wert nicht an die IPS-Variable geben? Könnte man machen.

Hallo!

Also DAS finde ich eine super Idee!!!

LG
Gerald

Ja etwa so. Altenativ wie gesagt den vorangegangenen Wert fortschreiben.
Es gibt ja verschiedenen Methoden zur Ausreißerbeseitigung.
So wie es sich bei mir darstellt sind es ja imme rnur einzelwerte und niemals mehrere aufeinanderfolgende. Von daher erscheint es mir in der Tat sinnvoll einfach in diesem Fall den Wert nicht an die IPS Variable zu übergeben.

Hallo!
Bei mir ist das auch immer nur ein Wert der falsch ist.

Gesendet von meinem GT-I9003 mit Tapatalk 2

OK,
welchen Grenzwert (Differenz des gerade gelesenen Wertes zum Wert in der Variable oder ein absoluter Wert) soll ich einbauen?

Edit:

Es wäre nett, wenn Ihr das Logfile aktivieren könntet bis der Sprung wieder auftritt und mir das dann Bitte mit der Info, bei welcher Variable das Problem auftaucht, schicken.

Mein Vorschlag wäre, den Ausreisser durch eine Null zu ersetzen. Dann kann man ihn erkennen und es verfälscht den Summenwert nicht so stark.
Optimal wäre es, wenn der Grenzwert programmierbar wäre, da ich sowohl „Aussetzer“ beim Gas- als auch beim Stromwert beobachtet hatte.

Großen Dank an tommy für seine EM1010 Unterstützung.

Bleibt immer noch die unbeantwortete Frage, wann ein Ausreisser ein Ausreisser ist. Bei einem bestimmten Absoluten Wert, bei einer Absoluten Differenz zum Vorwert oder bei einer prozenturalen Differenz…
Da ich bei mir diese Effekte nicht habe, würde ich zur Analyse auch gerne die Logfiles mit den 3 Zeilen vor dem Fehler, mit dem Fehler und nachher bekommen von jemanden, der die Probleme hat. Sollte ja nicht so schwer sein, wenn es ständig auftritt.

Tommi

Bei mir tritt der Fehler sporadisch (so alle paar Tage/Wochen) auf.
Seit ein paar Tagen hab ich auch die EM1010 auf einen Meter an die Sensoren rangestellt, da ich glaube, dass irgendwie die Datenübertragung zwischen Sensor und EM1010 fehlerhaft ist.
Ich hab jetzt mal Deine log-Datei aktiviert und melde mich, sobald ich eine Fehlmessung (Ausreisser) habe.

Jetzt hab ich einen Fehler erwischt.:wink:
Und zwar der Gassensor, der plötzlich falsche Werte liefert.
Es ist der „Sum_H_Energy“-Wert, der auf volle 629400 springt.

Hilft Dir das weiter, Tommy ?

Grüße

em1010_log__gekuerzt.xls (8.5 KB)

sieht ja wirklich krank aus. Offenbar wird zur Minute 45 die Statistik neu berechnet und dann der Müll übertragen. Die Sum-Werte werden nicht von mir berechnet, nur die Felder aus der Record angezeigt. Am meisten stört mich der Sprung bei Total_pulses, denn ich hätte erwartet, das das zumindest der Pulszählung linear geht bzw. max mal einen Überlauf hat. Keine Ahnung wie man von 3119+1 auf 66059 kommen kann. Außerdem fehlen die Readings 9351+52.
Wird das auch so am EM1010PC angezeigt?

Tommi

Ja, an der Station ist dann auch der Tages-/Wochen- etc. Max-Wert falsch, aber noch viel schlimmer ist die Tatsache, dass der Summenwert auch falsch ist. Und der würde mich am meisten interessieren.
Ich will ja wissen, wieviel Gas oder Strom ich am Ende des Monats verbraucht habe.

Grüße

Habe schon seit längerem IPS und auch einen EM1010.
Hatte sie bisher aber nicht „verheiratet“.

Das Modul ist klasse einfach zu installeren.
Top Arbeit! Danke!

Ich schließe mich den Vorschreibern an, dass es klasse wäre, wenn diese „Ausreisser“ rausgefiltert würden.

Mic

Ein bisschen verwirren mich die Summenwerte.
Müssten die nicht stetig steigen und bei 0 anfangen?

Wie kann die Tagessumme sinken?

2012-07-29 13-19-27_IP-Symcon WebFront - Waterfox.png

Hallo Tommi,

kann es sein das dass einstellen der Zählerumdrehungen nicht mehr funktioniert?


EM1010Dev_setRperKW(31437 /*[Allgemein\Energy\Elektrozähler]*/, 96);

Bei mir steht immer 150

IPS Ver. 2.60 #2497

Hallo MicF,

der Tagessummenwert ist glaub ich ein gleitender 24-Stunden-Wert.
Und dieser kann schon sinken.

-Fix setRperKW Funktion (Danke an hbraun)
-Plausibilitätscheck für die gemeldeten zeitweise fehlerhafter Sensordaten

Implementierte Logik:
Der übertragene Wert für Pulses_total wird mit dem abgespeicherten letztem Wert der entsprechenden Statusvariablen verglichen. Ist die Differenz negativ oder >300, wird der übertragene Record als ungültig angesehen und nicht an die Statusvariablen übertragen. Lediglich der aktuelle Pulses_total Wert wird eingetragen, um eine Neusynchronisation der Zählerstände zu gewährleisten.

Download wie üblich auf meiner Webseite.

Tommi

Hi,

ich muss nochmal auf die Summenwerte zurückkommen, weil ich das für mich nicht rund bekomme.
Wo liegt mein Denkfehler?

Ich habe zum Einen eine Summenvariable angelegt, die immer, wenn sich die Variable Act_power_5min aktualisiert aufaddiert wird.

Zum anderen schreibe ich immer abends um 23:59 die Sum_Daily_Energy in eine weiter Variable weg.

Wenn letztere nun der gleitende 24h Durchschnitt ist, müssen doch auch den Tag bezogen, die Werte gleich sein.
Sind sie aber nicht.

Hier habe ich die Werte als blaue und grüne Balken abgetragen:

Am 7. und 8. passts ja noch einigermaßen …

ohne Script-Details kann man auch nur rätseln :wink:

Es ist ziemlich simpel, wie ich oben beschrieben habe:

Bei Update (nicht Änderung) von Sum_up_5min_Value


setValue(47032 /*[Homecontrol\Keller\Energy Sensor 1\Sum_up_5min_Values]*/ , getValue(47032 /*[Homecontrol\Keller\Energy Sensor 1\Sum_up_5min_Values]*/ )+getValue(15814 /*[Homecontrol\Keller\Energy Sensor 1\Act_Power_5min]*/ ));

Und noch simpler immer um 23:59


 setValue(48104 /*[Homecontrol\Keller\Energy Sensor 1\Tagesverbrauch]*/  , getValue(43739 /*[Homecontrol\Keller\Energy Sensor 1\Sum_Daily_Energy]*/ ));
?>

Die Grafiken des Highcharts sind korrekt bzw. spiegel die Werte wieder, die ich auch in den Variablen habe.
IPS Chart sieht genauso aus.

wenn es so simpel ist, warum gibts dann Probleme? :wink:
interessieren täte mich eigentlich das ganze Script, speziell die Abfolge der erstgenannten Zeilen und der danach genannten Zeilen. Könnte sein, dass es ein Timing-Problem beim holen/schreiben der Daten gibt.
Zumal ich es auch der Distanz heraus nicht nachvollziehen kann, warum man die Tagessumme noch in eine separate var schreiben muss. Das was du auswertes, bekommt man genau so auch aus einer einzigen Var