Umgang mit Variablen, die ein sehr hohes Änderungsintervall haben

Hallo,

ich habe einen Stromzähler (SMA Energy Meter) in Betrieb genommen, der eine sehr hohe Aktualisierungsrate hat. Pro Sekunde werden diverse Verbrauchsdaten geliefert, die ich mitlogge.

Auf der einen Seite ist darüber sehr gut der Verbrauch einzelner Geräte zu erkennen, andererseits mache ich mir aber Sorgen, was der große Datenbestand für Nebenwirkungen hat. (Momentan hat bereits die Graphenanzeige bei mir Probleme mit der hohen Anzahl der Datensätze.)

Wie geht man damit um, wenn man gerne für die aktuelle Situation (z.B. die letzten drei Stunden) genaue Werte haben möchte, aber ansonsten auch ein 10-minütiger Wert reichen würde?

Hat dafür schon jemand Ideen entwickelt oder gar etwas umgesetzt?

Ich schwanke noch zwischen zwei verschiedenen Ansätzen:

Variante A:

Das Archiv der geloggten Variable wird regelmässig ausgedünnt. Es werden aus den Einzeldaten 10-Minuten Durchschnitte gebildet und dann die Einzeldaten gelöscht, die Durchschnitte geschrieben und die Variable reaggregiert.
Aber funktioniert das, wenn zugleich sekündlich neue Werte eintrudeln?

Variante B:

Es wird die Variable gedoppelt und alle 10 Minuten der Durchschnitt der Originalwerte in die Variable geschrieben. Werte älter als 3 Stunden werden gelöscht.
Dadurch ergibt sich aber ein vielleicht unangenehmer Zeitversatz, da der Durchschnitt dann ja mit einem aktuellen Zeitstempel eingetragen wird.
Außerdem hätte man verschiedene Graphen für die Detailansicht und die Durchschnitte. Und überhaupt gefällt mir das Verdoppeln eigentlich nicht so gut.

Oder gibt es es noch andere Ansatzmöglichkeiten?

Ich bin auf eure Anregungen gespannt.

Burkhard

Hallo
Bei dem Befehl „AC_AddLoggedValues“ kannst du einen bestimmten Timestamp dem Wert mitgeben.
Dann haettest du keinen Versatz.
Nachteil: du musst neu aggregiert.
Ich mache das bei einem meiner Scripte aber ist auch nur einmal am Tag.

Oder anders.
Du „sammelts“ die Daten zb alle Minute in einer anderen Variablen.
Danach Durchschnitt und in die endgueltige Variable schreiben.
Archiv der Sammelvariablen loeschen usw.
Kein neu aggregiert.

Bei der letzten Variante würde ich den Durchschnitt ja auch mit einem Zeitversatz in das Archiv schreiben. Also müsste ich auch hier reaggregieren. Da sehe ich jetzt noch keinen Vorteil oder ich übersehe etwas.

Der Nachteil der doppelten Variablen ist einfach, dass ich zur Anzeige der Detailansicht und der Durchschnitte zwei Graphen benötige.
Das macht es in der Handhabung schon kompliziert.

Ich erstelle eine zweite Variable und übertrage die Daten z.B. alle X Minuten auf die zweite Variable.