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
Timestamp von CCU übernehmen?
Moderator: Co-Administratoren
-
- Beiträge: 9807
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 711 Mal
- Danksagung erhalten: 1656 Mal
Re: Timestamp von CCU übernehmen?
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 +++
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 +++
-
- Beiträge: 19
- Registriert: 03.04.2022, 12:46
- System: CCU
- Hat sich bedankt: 5 Mal
- Danksagung erhalten: 2 Mal
Re: Timestamp von CCU übernehmen?
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.
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.
- Baxxy
- Beiträge: 11027
- Registriert: 18.12.2018, 15:45
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 631 Mal
- Danksagung erhalten: 2284 Mal
Re: Timestamp von CCU übernehmen?
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.
SysVars werden zyklisch abgefragt, und der Zeitstempel der SysVar findet dabei keine Beachtung.
Grüße... Baxxy
- Raspberry Pi 4 als Homematic-Zentrale - Tipps und Informationen
- Analysescript für genutzte Funk-Adressen, Funkmodul-Hardware und Zentralen Hardware
- NANO CUL 868MHz - Stick zum AskSin Analyzer XS umflashen (Anleitung für ArduinoIDE unter Windows)
- Firmware Updates für IP-Aktoren / Sensoren... Info's, Tipps und Sonstiges
- CCU funkt nicht - CarrierSense (CS) Probleme erkennen und lösen
-
- Beiträge: 1805
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 60 Mal
- Danksagung erhalten: 266 Mal
- Kontaktdaten:
Re: Timestamp von CCU übernehmen?
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".