NEWS
Grafana Zeitbereich "gestern von 6-21Uhr"
-
@marc-berg said in Grafana Zeitbereich "gestern von 6-21Uhr":
import "date"
Hallo Marc Berg,
danke für die Info und Mühe... Leid erkomme ich nicht weiter.. ich bekomme immer Fehlermeldungen. Bin mit der Syntax absolut nicht vertraut..
Status: 500. Message: invalid: compilation failed: error @6:3-6:9: invalid statement: import
from(bucket: "evcc") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "gridPower" or r["_measurement"] == "gridPowers") |> filter(fn: (r) => r["_field"] == "l1" or r["_field"] == "l2" or r["_field"] == "l3") |> hourSelection(start: 6, stop: 21) import "date" date.truncate(t: now(), unit: 1d)
kannst du dir das mal anschauen? Besten Dank schon mal.
-
@zaphod66 sagte in Grafana Zeitbereich "gestern von 6-21Uhr":
from(bucket: "evcc")
Ohne die Quelldaten zu kennen etwas schwierig, aber versuch's mal so:
import "date" import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "evcc") |> range(start: date.add(d:-1d, to:today()), stop: today()) |> filter(fn: (r) => r["_measurement"] == "gridPower" or r["_measurement"] == "gridPowers") |> filter(fn: (r) => r["_field"] == "l1" or r["_field"] == "l2" or r["_field"] == "l3") |> hourSelection(start: 6, stop: 21)
Die Werte bei "hourSelection" ggf. noch anpassen, da hier die UTC Zeiten genommen werden.
Edit: habe die Start/Stop Parameter noch angepasst, damit immer der vorherige Tag selektiert wird, unabhängig davon welcher Timerange in Grafana eingestellt ist.
-
@marc-berg sagte in Grafana Zeitbereich "gestern von 6-21Uhr":
Alternativ ginge das auch so:import "date" import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "evcc") |> range(start: date.add(d:-18h, to:today()), stop: date.add(d:-3h, to:today())) |> filter(fn: (r) => r["_measurement"] == "gridPower" or r["_measurement"] == "gridPowers") |> filter(fn: (r) => r["_field"] == "l1" or r["_field"] == "l2" or r["_field"] == "l3")
Über den "Range" Filter sagst du
Start: heute Mitternacht - 18 Stunden (gestern 6 Uhr)
Stop: heute Mitternacht - 3 Stunden (gestern 21 Uhr) -
@marc-berg besten dank... bekomme aber immer noch folgenden Fehler..
Status: 500. Message: invalid: error in building plan while starting program: cannot query an empty range
Habe hier schon mal gelesden, werde aber nicht schlau draus..
-
@zaphod66 sagte in Grafana Zeitbereich "gestern von 6-21Uhr":
@marc-berg besten dank... bekomme aber immer noch folgenden Fehler..
Status: 500. Message: invalid: error in building plan while starting program: cannot query an empty range
Darum habe ich die Query noch angepasst, damit du unabhängig von der in Grafana eingestellten Timerange (start: v.timeRangeStart, stop: v.timeRangeStop) bist. Versuch mal damit.
-
@marc-berg hat geklappt! Besten Dank nochmal dafür!
Ich kann jetzt den aktuellen und den gestrigen Tag anzeigen lassen.
Ich habe das gleiche jetzt auch mit dem Wert "homePower" versucht, aber da bleiben die Werte bei null. Liegt vermutlich an der Bereitstellung durch Influx.
import "date" import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "evcc") |> range(start: date.add(d:-18h, to:today()), stop: date.add(d:-3h, to:today())) |> filter(fn: (r) => r["_measurement"] == "homePower" and r["_field"] == "value") |> aggregateWindow(every: 1h, fn: mean, timeSrc: "_start") |> yield(name: "mean")
-
@zaphod66 sagte in Grafana Zeitbereich "gestern von 6-21Uhr":
Ich habe das gleiche jetzt auch mit dem Wert "homePower" versucht, aber da bleiben die Werte bei null. Liegt vermutlich an der Bereitstellung durch Influx.
Dazu müsste man mal die Quelldaten sehen, um das zu beurteilen, also einfach mal eine Mini-Abfrage machen und als Tabelle anzeigen lassen:
from(bucket: "evcc") |> range(start: -10d) |> filter(fn: (r) => r["_measurement"] == "homePower")
Btw: ist es gewollt, dass die Zeit nicht im 24h Format angezeigt wird?
-
@marc-berg said in Grafana Zeitbereich "gestern von 6-21Uhr":
from(bucket: "evcc")
Eigenverbrauch-data-2023-05-04 16 55 31.csv
Nein, das Zeitformat ist so nicht gewollt. Der Tag muss nicht angezeigt werden und die Stunden im 24h Format nicht im 12h Format.
-
Mit Tabelle meinte ich dieses hier in Grafana:
Aber egal, scheinbar wird ja "kW" mit abgespeichert und damit ist diese Spalte ein String. Damit kann Grafana meines Wissens nichts anfangen.
In der grafana.ini kann man die Zeitdarstellung anpassen, damit bekommst du zumindest die 24h Darstellung hin.
[date_formats] # For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/ # Default system date format used in time range picker and other places where full time is displayed full_date = DD.MM.YYYY HH:mm:ss # Used by graph and other places where we only show small intervals interval_second = HH:mm:ss interval_minute = HH:mm interval_hour = DD.MM. HH:mm interval_day = DD.MM. interval_month = MM.YYYY interval_year = YYYY
-
@marc-berg vielen Dank! dann probiere ich das mal!