Aggregation fehlerhaft

Hallo,

ich habe eine Variable (Float)
auf Aggregation „Standard“ und „verdichten auf einen Wert pro Stunde“. Macht es auch „meistens“, zwischendurch stehen aber Werte drin, die meiner Ansicht nach nciht sein dürften
grafik
z.B. die -400 um 13:59:43

Reaggregieren bringt auch nichts

Das ist prinzipiell eine korrekte Verdichtung pro Stunde. Pro volle Stunde ist da maximal ein Wert. Da die Grenzen immer zur vollen Stunde sind, liegen natürlich die 13:59:43 und 14:00:00 sehr nah beieinander, aber die sind ja dennoch in verschiedenen Stundenslots.

welche Zeitscheibe ist dann in der Aggregation 14:00:00 enthalten?
14:00:00 - 14:59:59 oder 13:00:01 - 14:00:00
Problem dabei ist, dass ich den Wert -400 nicht wirklich glaube.

Die „Scheibe“ beginnt immer zur vollen Stunde, also 14:00:00 - 14:59:59. Damit sind die Daten im Sinne der Verdichtung korrekt. Ob die Werte jetzt natürlich plausibel sind oder ob da ein Gerät falsche Werte liefert, kann ich dir nicht sagen

und wo liegt dann die Begründung, dass manche dann nicht zur vollen Stunde stehen, Die Aggregation ergolgt ja nicht durch ein Gerät, sondern durch Symcon. Kann also meiner Ansicht nach nicht daran leigen, dass ein Gerät falsche WErte liefert.
Zur Vorgehensweise meiner Variablen:
Wenn Wert negativ geliefert wird, ändert sich die Variable auf den Negativwert, durch jeden neuen negativen wert wird die Var aktualisiert. kommt ein posititver Wert, wird die Var. auf 0 gesetzt. Dadurch habe ich innerhalb einer Stunde versch. Negativwerte und Nullwerte. Durch die Aggregation auf Stundenbasis sollte dabei ein durchschnittlicher Negativwert entstehen.
Oder habe ich da einen Denkfehler?

Prinzipiell wird für jede Stunde ab dem ersten Wert in dieser Stunde verdichtet, damit mit dem einen Wert möglichst viele Informationen bleiben. Bestes Beispiel ist ein Wert, der irgendwann innerhalb der Stunde kommt. Dann bekommst du als Benutzer die meistmöglichste Information bei einem Wert pro Stunde, wenn wir den einfach so lassen. Wenn es jetzt natürlich einen Übertrag aus der vorherigen Stunde gibt, z.B. potentiell bei dir zur 10:00, dann wird der letzte geloggte Wert auf die volle Stunde gesetzt, sofern er nicht auch gleichzeitig der Durchschnittswert der vollen Stunde ist. Ich kenne jetzt nicht deine ursprünglichen Rohdaten und kann damit nicht ausschließen, dass bei der Verdichtung etwas schiefgelaufen ist. Aber es gibt definitiv Rohwerte zu denen die von dir gezeigten Werte eine gültige Verdichtung wären.

Deiner Denkweise kann ich soweit folgen. Damit solltest du keine positiven Werte haben. Das hast du ja aber auch nicht. Vielleicht noch kurz zur Erklärung um die 14:00 Uhr: Von 11:00 Uhr bis 13:59:42 stand der Wert also bei 0. Von 13:59:43 bis 13:59:59 war der Wert im Durchschnitt -400. Und in der Zeit von 14:00:00 bis 14:59:59 dann durchschnittlich -113.

bei einer Stündlichen Aggregation müsste er aber meiner Ansicht nach trotzdem den Wert Null in der zeit von 13:00:00 - 13:59:42 berücksichtigen. sonst macht ja eine Aggregation auf einer Verdichteten Ebene sinnlos.
Wenn er Zeiten mit null nicht berücksichtigt, stimmen auch meine anderen Aggregationen nicht.

Moment, das sind schon Rohwerte mit einer Verdichtung auf einen Wert pro Stunde, oder? Dabei wird halt versucht möglichst viel Information bereitzustellen mit maximal einem Wert pro Stunde. Wenn du die Durchschnittswerte pro volle Stunde haben möchtest, ist das ja auch dabei kein Problem, dann gehst du auf die stündliche Aggregation, also beispielsweise der Tagesgraph ohne HD und RAW

ja, die Variable wird teilweise alle paar Sekunden geändert und über die Einstellung werden die Rohwerte auf Stunde verdichtet. In der Aggregation steht aktuell 14:00:00 mit einem negativen Wert -81 (anscheinend wird da null wirklich nicht mit berücksichtigt), da der auslösende Wert seit mehreren Minuten positiv war, hätte der Aggregierte Wert eigentlich sinken müssen.
ich habe dann anstelle 0 den Wert 0,00001 in die Variable gestellt und sofort bei nächstem Aufruf des Archivs war der aggregierte Wert für 14:00:00 niedriger.

Das verstehe ich gerade nicht. Hast du den „rohen“ Verlauf parat? Dann kann ich gerne mal abgleichen, ob das passt oder nicht. Ansonsten kannst du ja vielleicht mal eine Hilfsvariable erstellen und via ausgelöstem Ereignis mit der ursprünglichen synchron halten, nur dass du dort keine Verdichtung aktivierst. Wenn dann wieder etwas merkwürdig erscheint, können wir gerne Rohdaten und verdichtete Daten miteinander abgleichen.

in meiner Variablen sind die Einzelwerte nicht mehr da.

Allerdings sieht die generelle Kumulation der Variablen jetzt besser aus, seit ich nicht mehr genau null setze.

Ich habe die Variable noch mal gedoppelt (mit Verdichtung 1 Stunde)und schreibe da wieder die null wenn positiv. Zusätzlich davon eine Kopie ohne Verdichtung.
Die logge ich jetzt mal mit… und schicke dir dann in 1 bis 2 Tagen die Archive der beiden Variablen

Das klingt doch super :+1: Dann schauen wir mal, was da los ist.

Hallo,

heute hatte ich wieder so einen Fall.
in der Zeit zwischen 12:00 und 13:00 wird in der Aggregation -1 ermittelt, wenn ich die Einzelwerte auf 3600 Sekunden berechne, kommt nur 0,13 raus.
16Juni-mit Aggregatrionstündlich.txt (476 Bytes)
16Juni-ohne Aggregatrionstündlich.txt (14,1 KB)

Du verstehst weiterhin nicht ganz das Konzept der Einzelwerte. Wenn du auf eine Stunde verdichtest, erhältst du nicht zwangsweise stündlich aggregierte Werte, sondern stattdessen maximal einen Wert pro Stunde. Das mag zwar auf den ersten Blick nach dem gleichen wirken, ist aber leicht unterschiedlich. So auch hier. Um 12:00 Uhr gab es keinen Übertrag von der vorherigen Stunde, somit musste da kein Wert gespeichert werden. Wie üblich bei Symcon werden nur Änderungen geloggt. Um 12:00 Uhr gilt also weiterhin der Wert 0. Um 12:45:32 kommt dann die erste Änderung. Diese wird dann auch mit allen weiteren Änderungen bis 13:00 Uhr auf einen einzelnen Wert runtergebrochen und zwar -1. Da du eine Integer-Variable verwendest, können hier natürlich Ungenauheiten durch Rundung dazukommen, aber das kommt schon ziemlich gut hin. Das kannst du sehen, wenn du einfach für beide Variablen die stündliche Aggregation für 12:00 Uhr abfragst. Die erkennst du beispielsweise im Tagesgraphen ohne HD oder Roh. Dort sollte bei beiden ca. -0,25 stehen. Die Abweichungen begründen sich für die Rundung bei der Verdichtung von Integer-Variablen.

TL/DR: Die Werte sind soweit korrekt verdichtet. Wenn dich stündlich aggregierte Werte interessieren, frage diese auch direkt ab, da die verdichteten Werte nicht zwangsweise damit übereinstimmen

wie frage ich die direkt ab?

sorry, aber so erschließt sich mir nicht, was so eine verdichtung bringt.

Beispiel, mein Ceranfeld zieht 8 KW. Es ist von 08:50 - 08:55 an.
im Rohzustand sehe ich dann, ah, 08:50 - 08:55 Verbrauch 8 KW daraus kann ich mir dann später errechnen 8000/60*5 = ich habe echte 666 Watt verbraucht.

Wenn ich nun meine Rohwerte verdichte, steht dann wahrscheinlich 08:50 - 08:59:59 der wert 8 KW drin, weil der Herd ja den ganzen Tag vorher nicht an war.

Welchen Sinn macht eine Verdichtung von Werten, wenn sie danach nicht mehr aussagekräftig/nachvollziehbar sind.

Hier noch mal die Zeit vom 16.06
16Juni-ohne Agg.txt (7,6 KB)

erste Wert des tages war 9:38:10 -40
letzter Wert dieser Stunde war 09:59:30 -250

in der stündlichen Aggegation bekomme ich -25 ausgewiesen
grafik
Summe negativ = 17683

von 09.38.10 - 09:59:59 sind es 1311 sekunden, es sind 161 negative Einzelwerte. ich habe den Wert -25 nicht nachvollziehen können.

Kannst du mir bitte erklären wie das verdichtet wird.

Um mal auf dein Beispiel mit dem Ceranfeld zurückzukommen. Dort würde dann bei 8:50 4 KW stehen, was ja der Durchschnitt von 8:50 bis 8:59:59 ist. Das Feld war ja in dem Zeitraum 5 Minuten an und 5 Minuten aus. Und auch wenn du dir vorstellst, du würdest in dem Zeitraum jede Sekunde das Feld aus und wieder an machen, wäre der Durchschnitt 4 KW, was dann auch bei Verdichtung als ein einzelner Wert abgespeichert wird und somit signifikant Speicher spart.

Schaust du dir dann deinen Tagesgraphen mit stündlichen Rohwerten an (die Einstellung deines Graphen), wäre bis 8:50 der Wert bei 0 und würde dann auf 4 hochschießen. Das bietet dir, obwohl nur ein einzelner Wert für die gesamte Stunde abgespeichert ist, meiner Meinung nach viel mehr Kontext als wenn der Graph ab 8:00 Uhr bei 0,66 KW stehen würde.

Wenn dich in deinem Anwendungsfall aber tatsächlich der Stundendurchschnitt interessiert, dann nehme bei deinem Graphen einfach die Auswahl von „RAW“ raus. Dann werden nicht mehr die Rohwerte verwendet, sondern aggregierte (beachte hier wieder den Unterschied aggregiert vs. verdichtet) Werte. Und genau die scheinen dich ja zu interessieren.

Hallo,

dann habe ich zwar einen anderen Wert, aber den kann ich genauso wenig nachvollziehen
wie die -25

|RAW|16.6.2023 09:38:10;-25|

|ohne RAW|16.6.2023 09:00:00;-9;16.6.2023 09:38:10;-25;16.6.2023 09:00:00;0|

daher noch mal die Frage: wie genau verdichtet Symcon?
steht das irgendwo in eurer Beschreibung, was genau mit den Werten passiert

Dieser Thread ist mittlerweile sicherlich unsere umfangreichste Dokumentation wie wir verdichten. Ich kann dir aber sonst gerne anbieten, dass wir uns im Premium-Support zusammensetzen und ich mir da dann die Zeit nehme, dir den ganzen Vorgang ausführlich zu erörtern. Ich habe bisher das Gefühl, dass die Verdichtung bei dir korrekt funktioniert. Sollten wir im Premium Support herausfinden, dass dort doch ein Fehler ist, ist der Support für dich natürlich kostenfrei. Ansonsten habe ich das Gefühl, dass wir uns hier einfach nur noch wiederholen, daher würde ich die Diskussion hier im Forum gerne abschließen, liste aber gerne nochmal die meiner Meinung nach relevanten Punkte auf:

  • Die Verdichtung reduziert die geloggten Werte bei Bedarf, sodass pro vollständige Zeiteinheit maximal ein Wert abgespeichert wird
  • Dabei wird versucht, möglichst viele Informationen über den realen Verlauf aufrechtzuerhalten
  • Die verdichteten Werte müssen nicht zwangsweise am Anfang der Zeiteinheit liegen

Hallo,

es steht zwar hier in keinem Tread genau drin, wie ich die Werte z.B aus meinem Letzten Beitrag ermitteln kann und Doku dazu gibts nicht.

Premium Support nützt mir hier wenig. Ihr habt euch bei der Verdichtung sicher was gedacht, aber wenn ich als Laie Werte nicht nachvollziehen kann, ist es für mich wie „glaube nur Statisktiken, die du selbst gefälscht hast.“

Ich werde versuchen mir anders die Werte zu ermitteln.

Du kannst den Beitrag schließen…

Gruß

Oliver