Hier ist meine Lösung zu einem ähnlichen Problem. Sourceanalytix schreibt den Tagesverbrauch immer 00:01 am nächsten Tag. Ich hab also in Grafana ein Shift eingebaut. Unique brauche ich, weil SA bei Neustart des Adapters den Wert erneut schreibt.
from(bucket: "iobroker")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "multimedia-power-consumed")
|> filter(fn: (r) => r["_field"] == "value")
|> timeShift(duration: -24h)
|> aggregateWindow(every: v.windowPeriod, fn: unique, createEmpty: false)
|> unique()
|> fill(column: "value", usePrevious: true)