AC_AddVariableData - Oder: Wie optimiere ich meine Graphen...

Hi,

ich protokolliere in einer Variablen den täglichen Stromverbrauch. Der steigt natürlich von 0 auf X kWh an.

Nun möchte ich in einer Variablen genau den einen Tages-Wert haben der das Tages-Maximum darstellt, damit ich keine Kurven z.B. in der Wochenansicht sehe.

Problem: Wenn ich das Maximum um 23:59:55 ermittle und in eine andere Variable schreibe, dann steht der Maximal-Wert halt um 25:59:55 im ArchiveHandler. Entsprechend wird die Wochen-Kurve auch „verzogen“ dargestellt.

Ich würde also gerne das Maximum ermitteln, und dann z.B. den Max-Wert um 00:00:01 in die Variable schreiben (also zu einem vergangenen Zeitpunkt).

Deshalb: AC_AddVariableData (mit ID, Start- und Endzeit sowie Wert).

Alternativ: Wie löst man das Problem sonst?

Gruss
Coyote

Hast du das gewünschte Ergebnis nicht, indem du die Aggregation auf Zähler umstellst? Dann werden ja positive Deltas addiert, also auch ein tägliches Zurücksetzen auf 0 sollte hier keine Probleme machen. Dafür bräuchtest du keine zusätzliche Variable oder Skripte.

Mein Wechselrichter liefert den Tagesverbrauch als Zähler, ja. Aber habe ich am Ende nicht wieder eine Kurve mit steigendem Verbrauch über den Tag?

Ich möchte in der Wochenansicht beim Tagesverbrauch eigentlich nicht 5.760 Werte speichern, um nur einen einzigen Wert zu sehen (den letzten, und den nicht erst um 23:59).

Ich möchte halt auf Tagesebene aggregieren, also nur auf einen einzigen Wert. Mittels AC_GetAggregatedValues kann man das ja auch ermittelt. Nur: Das macht beim Tagesverbrauch halt erst um 25:59:xx Sinn. Und wenn ich dann den einen, aggregierten Wert in eine Variable schreibe, dann ist der um 23:59:xx gespeichert. Wenn man sich dann die Woche anschaut, dann sieht man den Tagesverbrauch immer am Ende des Tages (und nicht am Anfang). Das ist irritierend.

Oder aggregiert ein Zähler immer so, das nur ein Wert am Tag bleibt?

Generell wäre es halt auch eine Idee, die Aggregatsstufe „Standard“ (Aggregationsstufen für Stunde, Tag, Woche, Monat, Jahr mit Min / Max / Durchschnitt berechnen) auf weitere Optionen (also z.B. „Max pro Tag“ = von 0:00:01 - 23:59:59) ergänzen könnte.

Ich bin nicht ganz sicher, was du vorhast, ich versuche aber mein bestes. Du möchtest deinen Tagesverbrauch visualisieren und hast eine entsprechende Variable, die du loggst? Dann schalte deren Aggregationstyp auf Zähler und du hast in der Wochen- und Monatsansicht den jeweiligen Tagesverbrauch angezeigt.

Oder wird der Verbrauch an sich gar nicht geloggt und du möchtest wirklich nur einen Wert am Tag speichern? Das widerum kannst du auch mit zwei Hilfsvariablen umsetzen, eine sammelt die Verbräuche über den Tag an und eine weitere wird geloggt. In der einen Hilfsvariable zählst du den Tagesverbrauch, wie du es auch aktuell tust. Zum Abschluß des Tages (23:59) addierst du der geloggten Hilfsvariable. Die geloggte Hilfsvariable loggst du als Zähler. Damit wird für die Tagesaggregation der Sprung zum nächsten Wert, also der Tagesverbrauch, angezeigt. Die stündliche Aggregation und darunter ist in diesem Falle natürlich kaputt, da der gesamte Verbrauch dann 23:00 Uhr zugewiesen wird.

Danke!

Ich hatte einen totalen gedanklichen Fehler bzgl. der Zähler-Aggregation.

Funzt jetzt.