NEWS
Datum des Zeitstempels in der Anzeige "verschieben"
-
Hallo zusammen,
ich möchte ein Problem lösen, mit dem sicher nicht alleine bin, dessen Lösung ich aber komischerweise nicht gefunden habe.
Ich habe mich hier schon durch einige Artikel gelesen, in anderen Foren und youtube, dann habe ich die KI gefragt, was ein ziemlich durcheinander war ... aber irgendwie nähere ich mich nicht dem Ziel. ...
Ich habe schon einiges probiert (Query Options, Anpassungen in Flux, Override, ...) aber meine learning-by-doing-Lernkurve war noch nicht steil genug.Situation:
Ich habe el. Verbrauchswerte meiner Wärmepumpe. Der Vaillant-Adapter schreibt die fertig aggregierten Werte immer um 00:04 Uhr eines Tages in einen Datenpunkt, von dort gehen sie in die influxDB. Da der Adapter den Wert um kurz nach 00:00 Uhr schreibt, haben sie natürlich den Zeitstempel des Folgetages. Oder anders herum: Die Werte gehören zum Vortag.meine Query:
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "vaillant.0.36e895fa-c2a2-4d2b-9954-e1f81b7d7723.stats.primary_heat_generator.CONSUMED_ELECTRICAL_ENERGY.HEATING.day.data02.value") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> yield(name: "last")Das Ergebnis:

Mein Ziel:
Ich möchte den Graphen relativ zur x-Ache um einen Tag nach links verschieben.
(Als Ergebnis würde das Maximum vom 14.01. dann am 13.01. erscheinen.Ergänzung:
Eientlich würde es ja auch reichen, den Zeitstempel nur 5 oder 10 Minuten nach vorne zu verschieben, damit wäre er ja bereits im Vortag. Das könnte man vermutlich mit Zeitzonen manipulieren (dazu gab es schon einen Beitrag und ein Video).
Ich habe aber einen zweiten Use Case, wo ich den Zeitstempel mehr als einen Tag verschieben möchte, daher fände ich eine Lösung cool, die beide Use Cases durch entsprechend geänderte Parameter abdeckt. -
Geht Easy.
Offizielle FLUX-Dok hilft.
https://docs.influxdata.com/flux/v0/stdlib/universe/timeshift/
Am besten vor dem aggregateWindow einfügen.
-
Geht Easy.
Offizielle FLUX-Dok hilft.
https://docs.influxdata.com/flux/v0/stdlib/universe/timeshift/
Am besten vor dem aggregateWindow einfügen.
@mickemup sagte in Datum des Zeitstempels in der Anzeige "verschieben":
Geht Easy.
Offizielle FLUX-Dok hilft.
https://docs.influxdata.com/flux/v0/stdlib/universe/timeshift/
Am besten vor dem aggregateWindow einfügen.
Es kann so einfach sein!
DANKE!! -
Kein Problem
Musste ich anfangs auch ziemlich einfuxen in FLUX
Wichtig ist auch noch die:|> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)Richtig einzusetzen.
Da kann man auch noch viel herausholen/anpassen für die Darstellungbei 1/10 scheint zB der Datenpunkt nicht am richtigen Ort zu liegen...
Wenn du nur ein Wert pro Tag hast würde ich folgendes verwenden.|> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")