Falsche Graphenanzeige bei Zählervariablen

habe heute mal etwas mit meinen geloggten Daten gespielt.
Dabei ist mir folgendes aufgefallen:

Ich hatte wegen Wartungsarbeiten Zeitweise meinen Stromzähler nicht mitgeloggt,
der letzte Wert war im April 11.676 KWh. Nach ca. 2 Monaten habe ich den Zähler wieder angeschlossen.
Der Wert hat sich seit dem um ca. 600KWh erhöht.

Der Graph im Webfront zeigt nun für Juni 600KWh an, die Monate davor 0 KWh.
Erwartet hätte ich aber, dass diese 600KWh gleichmäßig verteilt seit dem letzten geloggten Wert angezeigt werden:
2 Monate keine Daten aufgezeichtet = 60 Tage
600 KWh / 60 Tage = 10kWh pro Tag
Der Graph müsste also für die zwei Monate, wo kein Logging stattgefunden hat, pro tag 10KWh anzeigen.

Das Problem ist nun, dass die Jahresansicht total daneben ist, wegen dem großen Peek im Juni.

Ist das ein Bug oder Feature?

ganz klar: Feature!

Das „Feature“ musst du mir mal erklären :confused:

Naja, IPS sah die 2 Monate keinen Wert und jetzt auf einmal die 600kWh. Wieso soll alles gleichmäßig verteilt werden? Und rückwirkend werden in der Datenbank auch keine Werte geändert.

oder anders formuliert: IPS stellt genau das dar, was der Sensor liefert. Sowohl in der Dimension „Zeit“ als auch in der Dimension „Wert“.

Hallo,

und außerdem mit einem solchen Verhalten wäre ich und garantiert die meisten anderen Nutzer gar nicht einverstanden!

Das würde ja die Aufzeichnungen total verfälschen, was ist den z.B. wenn Du einen Verbraucher hast der nur alle paar Tage/Wochen läuft. Dann wäre dein gewünschtes Verhalten fatal.

Gruß

Frank

Beim Logging von Variablen mit dem Aggregationstyp „Standard“ ist das alles absolut korrekt, was Ihr sagt.
Ich beziehe mich aber auf geloggte Variablen mit dem Aggregationstyp „Zähler“.

Hier spielt der Zeitpunkte keine Rolle mehr, sondern der Zeitraum.

Wenn ich jeden Tag um 0 Uhr den Zählerstand (z.B. Wechselrichter PV-Anlage) des Vortages in IPS übernehme,
will ich nicht um 0 Uhr einen Peek von 20kWh sehen, sondern die Zählerdifferenz ist ja in 24 Stunden entstanden.
Bei einer Aktualisierung von 24 Stunden wird der Graph in der Wochenansicht und Monatsansicht korrekt sein.
Die Tages- und Stundenansicht ist aber falsch, da nur ein Peek in der 1. Stunde (Tagesansicht) bez. in den ersten 5Min (Stundenansicht) auftaucht.

Wie oben schon beschrieben: die IPS-Charts zeigen genau das an, was auch geloggt wird. Nicht mehr, nicht weniger (lassen wir mal Bool-Vars aussen vor). Etwas anderes würde ich auch nicht haben wollen.

Wenn ich jeden Tag um 0 Uhr den Zählerstand (z.B. Wechselrichter PV-Anlage) des Vortages in IPS übernehme,
will ich nicht um 0 Uhr einen Peek von 20kWh sehen, sondern die Zählerdifferenz ist ja in 24 Stunden entstanden.

Frage: seit wann scheint die Sonne Nachts? => nach obiger Theorie müsste sie das nämlich. :smiley:

Jeder normale Mensch würde solche Messdaten in möglichst (sinnvoll) kurzen Intervallen loggen, wenn er im Anschluss auch auf Mikrosekunden-Ebene Charts analysieren will. Das wäre zumindest die Lösung, die mir dazu einfällt.
Ansonsten: Eigenes PHP-Script mit Interpretationslogik und Highcharts als Dartsellungs-Medium.

Alternativ könntest Du das mal als Feature beim Hersteller einkippen, vielleicht erwärmt er sich dafür.

Als Standard-Funktion würde ich mich energisch dagegen verwehren, dass meine Messdaten -auf welche Weise auch immer - in irgend einer Form interpretiert werden. Zumal sich dann die Frage stellt: nach welchen Regeln eigentlich?

Eine gleichmäßige Verteilung zu unterstellen klappt bei Strom vielleicht, aber z.B. beim Gasverbrauch klappt das überhaupt nicht, da dieser ja an die Witterung gebunden ist. Beim Wasser (wenn man z.B. den Garten bewässert) würde die gleichmäßige Verteilung auch nicht gehen.

Wie Raktenschnecke schon gesagt hat, ist unsere Berechnung soweit also korrekt und ich würde da zur Zeit auch nichts daran ändern.

paresy

Ich kann eure Einwände nur bedingt nachvollziehen.

Egal, ob ich einmal am Tag den Wert einer geloggten Zähler-Variable aktualisiere mit 24 KWh oder jede Stunde mit einer kWh. Das Ergebnis sollte im Graph immer identisch sein. Dabei spielt es keine Rolle, ob es Wasser, Strom oder Gas ist.
Häufigeres loggen würde den Wert nur realistischer verteilen. Die Gesamtsumme des Zeitraumes bleibt aber gleich.

Nehmen wir nochmal Paresy’s Beispiel mit der Gartenbewässerung. Dies wird ja nicht 24 Stunden laufen, sondern
z.B. einmal am Tag für zwei Stunden. Wenn ich die Wasserzählerwerte jeden Tag um 23:59 Uhr abfrage, dann habe ich aktuell im Graph einen Wasserverbrauch in der Monatsansicht für den Tag korrekt dargestellt. Gehe ich in die Tagesansicht, so erscheint bei 23 Uhr der komplette Wasserverbrauch, obwohl zu der Zeit gar nicht gegossen wurde.

Es gibt nur zwei Möglichkeiten, wie der Graph aussehen könnte:

  • Zeige an der Stelle an, wo er geloggt wurde (was falsch ist, da der Wert entstanden ist seit dem vorherigen Wert)
  • Verteile den Wert gleichmäßig über den Zeitraum seit dem vorherigen Wert (logisch Richtig)

Für die meisten Anwender, der regelmäßig loggt wird sich da nichts ändern. Bei mir habe ich aber auch mal Lücken
von einem Monat und mehr, wo keine Daten geloggt wurden. Da wird sogar die Jahresansicht unbrauchbar .

Ich sehe das als Spezialfall, den man durchaus unterschiedlich interpretieren kann.

Zugegeben sind die Ausreißer unschön, wenn mal wieder der Stromzähler 2 Tage Verbrauch in einer Minute loggt aber alles andere würde einem ein falsches Verständnis von der Verteilung geben…und das wäre auch falsch…

Sofern das DB Thema endlich irgendwann mal kommt, werde ich mir auch Gedanken machen wier man mit Lücken und deren Verbrauchsverteilung umgeht…das wird dann aber eine individuelle, vom %-Stunde-Durchschnittsverbrauch abhängige Verteilung…und keine Gießkanne

Ja, da stimme ich zu. Es gibt bestimmt Fälle, wo die jetzige Ansicht die bessere wäre.

Kann ich eigentlich den Graphen nach meinen Wünschen anpassen?
Über die Javascript-Dateien im Webfront-Ordner ?

Alternative: Zwischenwerte in der DB erzeugen, was aktuell aber nicht mit Boardmitteln funktioniert.