NEWS
GetHistory Funktion
-
Die getHistory-Funktion wird z.B. von flot genutzt. Ein Problem dabei ist, dass die Datenaufzeichnung nicht kontinuierlich ist und zwischen 'start' und 'ende' möglicherweise überhaupt keine Werte vorhanden sind oder der erste Wert nicht direkt bei 'start' liegt. Das Problem tritt besonders oft auf wenn man einen Datenpunkt nur bei Änderung speichert.
Dadurch habe ich dann z.B. bei Flot das Problem, dass Linien auf der Y-Achse bei 0 anfangen bis irgendwann eine Änderung des Wertes aufgezeichnet wurde.
Lösungsvorschlag:
getHistory muss auf Datenbank-Ebene (z.B. sql-Adapter) einen zusätzlichen Wert (den letzten vor 'start') laden. Man kann denke ich generell davon ausgehen, dass der letzte Wert bei 'start' noch immer gültig ist, insbesondere wenn nur bei Änderung aufgezeichnet wird.
Durch diese Änderung bekommt man bei getHistory immer ein Ergebnis mit mindestens einem Wert, welcher auf 'start' liegt.
Ich habe das für mysql implementiert: https://github.com/Pmant/ioBroker.sql/c … f3553a2f58
-
habe den Zweiten Teil des Vorschlags rausgeworfen weil er nicht in jedem Fall (Aggregation) sinnvoll war.