Timestamp von CCU übernehmen?

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
GeraldH
Beiträge: 18
Registriert: 03.04.2022, 12:46
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Timestamp von CCU übernehmen?

Beitrag von GeraldH » 02.07.2022, 13:39

Hallo,

offenbar übernimmt der CCU-Historian bei Werteänderungen nicht die Timestamps aus der CCU, sondern speichert die Zeit, zu der er selbst die Änderung feststellt als Timestamp. - Kann man das irgendwie ändern oder umgehen?

Hintergrund: Der Deutsche Wetterdienst meldet die Messwerte der vergangenen Stunde bis zu fünfzehn Minuten nach der Stunde. Damit sind diese Werte gegenüber der Zeitbasis alle etwas verschoben. In der CCU lässt sich das leicht korrigieren, indem ich erst die alten Werte per Skript zur vollen Stunde mit .State(alte_Daten) erneut speichere (und damit den Zeitstempel setze) und 15 Minuten später den neuen Messwert mit .Variable(neue_Daten) abspeichere (ohne dabei den letzten Zeitstempel zu verändern). - Nur leider bekommt der Historian das nicht mit, weil er seine eigenen Timestamps verteilt.

Wenn da jemand Abhilfe wüsste ...

Gruß
GeraldH

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Timestamp von CCU übernehmen?

Beitrag von MichaelN » 02.07.2022, 16:01

Lohnt der Aufwand? Wetterdaten, die Minuten genau sein müssen? Überleg mal wie genau die Daten sind...
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

GeraldH
Beiträge: 18
Registriert: 03.04.2022, 12:46
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Timestamp von CCU übernehmen?

Beitrag von GeraldH » 05.07.2022, 15:57

Danke, MichaelN, für Deine Antwort - nein, wenn es Aufwand ist, lohnt es sich nicht. Es ist lediglich eine Sache der Optik.
Allerdings überraschte es mich doch sehr, dass der CCU-Historian nicht auch die Zeitstempel der Daten übernimmt. Das hatte ich anders erwartet. Aber okay, es ist, wie es ist. Der Historian ist gleichwohl ein überaus nützliches Hilfsmittel.

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Timestamp von CCU übernehmen?

Beitrag von Baxxy » 05.07.2022, 16:29

Sensor/Aktor Daten bekommt der Historian per Event. Trifft das Event ein wird der Eintrag in der Datenbank mit aktuellem Zeitstempel abgelegt.

SysVars werden zyklisch abgefragt, und der Zeitstempel der SysVar findet dabei keine Beachtung.

Mathias
Beiträge: 1767
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 253 Mal
Kontaktdaten:

Re: Timestamp von CCU übernehmen?

Beitrag von Mathias » 05.07.2022, 22:23

Baxxy hat geschrieben:
05.07.2022, 16:29
SysVars werden zyklisch abgefragt, und der Zeitstempel der SysVar findet dabei keine Beachtung.
Doch, doch. Der Zeitstempel der Systemvariablen wird aus der ReGaHss mit sysvar.Timestamp() mit abgefragt. Und wenn sich der Wert oder der Zeitstempel einer Systemvariablen geändert hat, wird ein Eintrag in der Datenbank erzeugt. (Vorausgesetzt es ist keine Komprimierung aktiv.)

Der Vorteil ist, dass auch wenn der CCU-Historian nur alle 30 Sekunden die SysVars ausliest, er aber immer den korrekten Zeitstempel mit abspeichern kann. Ohne die Zeitstempel müsste der CCU-Historian für die gleiche Auflösung sekündlich die SysVars abfragen. (Eine Ausnahme ist, wenn eine SysVar mehrmals in 30 Sekunden geändert wird: Da kann nur die letzte Änderung detektiert werden.)

Zudem kann der CCU-Historian mit den Zeitstempeln feststellen, ob eine Systemvariable mit dem gleichen Wert erneut beschrieben worden ist. Er speichert also nicht nur "bei Änderung" sondern auch bei "bei Aktualisierung".

GeraldH
Beiträge: 18
Registriert: 03.04.2022, 12:46
System: CCU
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Timestamp von CCU übernehmen?

Beitrag von GeraldH » 06.07.2022, 17:37

Danke, Mathias. Dein letzter Satz erklärt das Verhalten, welches mich irritierte. Aber so gesehen ist es logisch.

Gruß
GeraldH

Antworten

Zurück zu „CCU-Historian“