Eigentlich sollte die Meldung nur kommen, wenn du Variablenwerte geloggt hast, die nach der aktuellen Zeit kommen. Das kann eigentlich nur unter Windows passieren, welches unter Umständen seine Uhrzeit einfach hart korrigiert und damit wenige Sekunden zurückgeht. Dafür müsstest du aber wirklich direkt vor der Korrektur geschrieben haben und direkt danach abfragen. Könnte das passen?
Ich habe es versucht einzukreisen. Der Fehler trat am 13.01. um 17:30:07 auf
13.01.2021 17:30:07 | 42505 | WARNING | ScriptEngine | Result for Event 45885
<br />
<b>Warning</b>: Aggregation von Datensatz aus der Zukunft fehlgeschlagen in <b>C:\ProgramData\Symcon\scripts\_Global_functions.ips.php</b> on line <b>84</b><br />
Demnach erfolgte die letzte Zeitanpassung in drei Schritten um 16:50:19:
Die Systemzeit wurde von 2021-01-13T15:50:20.923318900Z in 2021-01-13T15:50:19.149059200Z geändert.
Die Systemzeit wurde von 2021-01-13T15:50:19.154698300Z in 2021-01-13T15:50:19.154736100Z geändert.
Die Systemzeit wurde von 2021-01-13T15:50:19.160674300Z in 2021-01-13T15:50:19.161006500Z geändert.
Also zunächst um 1 Sekunde und dann wurde noch zweimal um wenige Tausendstel korrigiert. Aber das war 40 Minuten vor der Fehlermeldung.
Wie hoch ist denn die Toleranz beim Archiv? Leichte Zeitsprünge gibt es ja immer.
Ein ähnliches Problem habe ich auchhierschon gehabt.
Hallo zusammen,
ich bekomme auch die Fehlermeldung „Datensatz aus der Zukunft“.
Ich rufe mir in einem Skript den Stromverbrauch der letzten 15 min. aus um bei Überschuss z.B. den Trockner zu starten.
Bisher funktionierte das auch immer. Neuerdings bekomme ich den Fehler zeitweise.
Warning: Aggregation von Datensatz aus der Zukunft fehlgeschlagen in /mnt/data/symcon/scripts/58397.ips.php on line 7
Der Wert um den es geht wird ca. jede sec. ins Archiv geschrieben (SMA Homemanager).
Ich. habe auch schon mit date_default_timezone_set("Europe/Berlin"); versucht den Fehler zu beheben, leider ohne Erfolg.
Bei mir tritt das Problem relativ selten auf (alle paar Tage mal). Ich habe es versucht mit einem Testskript nachzustellen, aber bislang ohne Erfolg.
Da es scheinbar nur bei Variablen auftritt, die sekündlich geschrieben werden, geht meine Vermutung dahin, dass es mit automatischen Systemzeitanpassungen zusammenhängt. Wenn die Anpassung kurz nach einem Sekundenwechsel stattfindet, dann kann es ja schon bei wenigen Millisekunden vorkommen, dass die Sekunde mal um eins zurückspringt. So ist zumindest meine Theorie.
Könnte vielleicht AC_GetAggregatedValues etwas toleranter gestaltet werden und eine Abweichung von nur einer Sekunde tolerieren?
EDIT: jetzt nach ein paar Stunden Laufzeit wirft auch das Testskript Fehler. Vielleicht mussten erst ein paar Daten zusammengekommen sein. @Dr.Niels : ich schicke dir mal das Testskript