Archiv: Loggen zu einem bestimmten Zeitpunkt

Hallo,
ich würde mir wünschen, das man das Einstellen kann, nur zu einem bestimmten Zeitpunkt zu loggen. z.B. alle 30 Minuten und nur zu jeder 59ten Minute der Stunde.

z.B. Rufe ich die Daten meines Wechselrichters ab. Unter anderem die Erzeugung, Verbrauch und Einspeisung. Das ganze wird sehr oft per Modus ausgelesen um die aktuellen Werte in der Energieverteilung darzustellen.

Bei den Variablen habe ich eingestellt, das die Werte geloggt werden sollen. (Aggregation „Zähler“)
Dadurch das ich per Modbus oft abfrage und aktualisiere, habe ich auch viele Logwerte im Sekundenbereich z.B. alle 15 Sekunden.

Ich möchte aber in diesem kurzem Abstand nicht loggen, weil es mMn. keinen Sinn macht mehrfach in der Minute den aktuellen Wert zu loggen. Ich würde einfach nur gerne einmal in der Stunde immer zur 59 Minuten logge, so dass ich immer den Stundenwert habe für die oben genannten Werte.

Es gibt auch von anderen Usern einige Beispiele wo man nicht so oft loggen möchte und es würde durchaus Sinn machen wenn man das einstellen könnte.

Idee:
Wäre es nicht möglich in den Einstellungen der Variable, dort wo auch das Logging aktiviert wird eine Option für einen Festen Logintervall oder eine Feste Zeit z.B. stündlich immer in der 59. Minute, zu implementieren?

Ich weiß es gibt einen Workaround in dem man mit Hilfsvariablen arbeitet. Hier kann man die Werte der Modbusvariablen zur gewünschten Zeit in diese Hilfsvariablen schreiben und könnte somit die Zeit steueren. Das ist aber aufwendig und man benötigt zusätzliche Variablen was eventuell auch je nach Lizenz, für manche User nicht möglich ist.

Und auch hier kann ich nicht einstellen das es zu jeder 59ten Minute passieren soll. Ich kann nur einen Intervall hinterlegen und der kann sich, je nachdem wann Symcon gestartet wurde, so verschieben das es auch wieder nicht passt wenn man das ganze Stundenweise in einem Graph darstellen möchte.

Rechenbeispiel: (angenommen die Variable ändert sich jedes mal mit einem anderen Wert)
3 Werte loggen alle 15 Sekunden:
= 12 Logeinträge in der Minute
= 720 Logwerte in der Stunde
= 17280 Logwerte am Tag

Obwohl ich eigentlich nur 3 Werte 24 mal am Tag zu jeder 59ten Minute logen möchte um den Stundenwert zu erhalten. Das wären dann nur 72 Log-Einträge im Vergleich zu 17280 Log-Einträgen.

Die Verdichtung von Variablen reicht nicht?
Michael

Hi Nall-Chan,
die Verdichtung hier würde helfen um die Anzahl der Logwerte zu reduzieren, wenn einer der Zeiträume die zur Verfügung stehe, für die aktuelle Situation passt.

Allerdings würde das Problem weiterhin bestehhen, wenn man einen Wert immer zu einer bestimmten Zeit loggen möchte, das das nicht möglich ist.

Magst du vielleicht ausholen, warum Verdichtung hier nicht ausreicht? So wie ich deine Situation verstehe, möchtest du einfach die Anzahl der geloggten Werte niedrig halten obwohl dein Gerät viele Daten sendet. Deine Lösung im Kopf war scheinbar jetzt nur einmal in der Stunde den Wert abzugreifen, was so nicht direkt geht. Aber so wie ich es verstehe, wäre dein Problem auch mit einer Verdichtung auf eine Stunde gelöst. Dann wird ebenfalls sichergestellt, dass du zu jedem Zeitpunkt immer nur einen Wert pro Stunde hast, da die Verdichtung ja live läuft (oder maximal zwei in manchen Konstellationen mit Zähleraggregation). Und selbst wenn es genau deine Wunschstufe von z.B. alle 30 Minuten nicht gibt, dann könntest du ja alle 5 Minuten als das nächst niedrigere nehmen und deine Datenmenge immer noch ordentlich reduzieren.

Ich habe die letzten Tage nochmal über den Einsatz des Loggins zu einem bestimmten Zeitpunkt, in Bezug auf mein aktuelles Projekt, nachgedacht und muss ehrlich sagen, das selbst ein Punktgenaues Logging mir nicht weiterhelfen würde.

Ich habe an der Stelle einfach in die falsche Richtung gedacht.
Letztendlich geht es bei meinem Problem mehr darum „wann“ die Werte ankommen und geloggt werden können. Wenn ich jetzt z.B. einen Wert um 9:45 erhalte und den nächsten erst um 10:14, dann bringt mich ein punktgenaues Logging um z.B. 9:59 nicht weiter, da der Wert damit nicht anders bzw. genauer wird.

Sollte ich in Zukunft aber doch mal einen Fall haben der logisch ist, melde ich hier. :slight_smile: