NEWS
Stapel-Balkengrafik mit Grafana
-
@laser
Das mit|> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start")
funktioniert nicht für den aktuellen Tag, nur für die ganzen Tage.
Da müsste vermutlich noch zusätzlich mittimeShift
oder was Ähnlichem gearbeitet werden. -
@wolfi913 mal sehen, wie das morgen aussieht. Da habe ich schon 2 Tage...
-
@laser
Probier mal mit|> truncateTimeColumn(unit: 1d)
hinter dem aggregateWindow...
Dann sollte der anzuzeigende Wert jeweils auf Mitternacht gesetzt werden.
Und dann sollten die Werte wieder gesynct sein. -
@wolfi913 sagte in Stapel-Balkengrafik mit Grafana:
|> truncateTimeColumn(unit: 1d)
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") |> range(start: -7d, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Shelly1EM-Power__Total-EM1.currentYear.delivered.01_currentDay") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") |> truncateTimeColumn(unit: 1d) |> yield(name: "last")
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") |> range(start: -7d, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__VE-Total__H19.currentYear.delivered.01_currentDay") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") |> truncateTimeColumn(unit: 1d) |> yield(name: "last")
-
@laser
Schaut besser aus -
@wolfi913 Ja. Und das "verodern" in der Filterliste ist nicht gut? Welche Nachteile könnte das bringen?
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") |> range(start: -7d, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__Shelly1EM-Power__Total-EM1.currentYear.delivered.01_currentDay" or r["_measurement"] == "sourceanalytix.0.alias__0__VE-Total__H19.currentYear.delivered.01_currentDay") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") |> truncateTimeColumn(unit: 1d) |> yield(name: "last")
Bin schon gespannt, wie das morgen mit 2 Tagen aussieht! Heute möchte ich erst mal nicht mehr nerven. Danke an alle Beteilgten!
-
@laser
Müsste vermutlich auch mit ODER funktionieren.
Ich finde einzelne Query's irgendwie besser daher mach ich's wenn möglich lieber immer einzeln.
Kann dann (zumindest bin ich der Meinung) in den Overrides besser arbeiten.
Außerdem funktionieren dann auch so Sachen wie Rechenoperationen
einfacher. -
@wolfi913 Ja, funktioniert auch mit "or". Wenn man etwas spezielles mit den Daten vorhat, ist einzeln besser. Das werde ich im Auge behalten.
War sehr informativ/ aufregend. Und viel Datenmüll beseitigt. Werde jetzt das TV-Programm zum Runterkommen genießen! -
@laser
Gerne
Hatte am Anfang auch mit Grafana/Influx usw. zu kämpfen und musste mich da reinfuxen.
Habe kurz ein Dashboard Testweise angepasst mit der Annahme, dass du das so angedacht hast:import "date" import "timezone" option location = timezone.location(name: "Europe/Madrid") from(bucket: "iobroker_inflog") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Energy.Day_Einspeisung") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start")
Wichtig: Da die Range nun mit den Query Options "definiert" wird, muss da das v.TimeRang... rein
Ansonsten bist du ja mit den Queries schon gut beraten worden -
@laser said in Stapel-Balkengrafik mit Grafana:
Das Ganze muß ich erst mal verarbeiten. Ich werde morgen noch mal frisch ran gehen.
Ich würde dir auch empfehlen in Zukunft Alias-ID's zu verwenden.
Wenn du mit den ellenlangen DP-Bezeichnung weiterarbeitest kannst du bei komplexeren Abfragen schnell den Überblick verlieren.Du kannst ja beim anlegen für die influxDB unten eine Alias-ID vergeben, das ist dann später bei komplexen Abfragen wesentlich übersichtlicher.
Z.B. anstatt
sourceanalytix.0.alias__0__Shelly1EM-Power__Total-EM1.currentYear.delivered.01_currentDay
nimmst du als Alias
Shelly1_Pow_Total_curDay
-
-
@laser Dann schau einfach meinen letzten Post an, dort habe ich dir das mal "aufbereitet" von Mo bis So....
Und gib doch den Dingern via Override (auch im Post ersichtlich) mal anständige Namen -
@mickemup Bin dabei. Wenn ich die Aliasse einführe, sind ja meine beiden Tage weg. Das wollte ich erst mal abwarten. Mit den alten Namen. Die Namen mit "Overide" ändern, nicht mit einem Alias in Influx?
Jetzt ist Mo bis Sonntag dran. Die "Query Options" haben bei mir andere Einträge. -
@laser
Das mit den Aliasen ist nice to have und wohl mehr ein genereller Punkt um sich das leben zu vereinfachen für die Zukunft.Die Anzeigenamen kannst du in Grafana anpassen (da habe ich auch ein Bild drin)
Und eben Query-Options musst du anpassen (wie auf meinem Bild) damit immer Mo-So angezeigt wird
Also einfach die Einträge relative Time und Timeshift -
@mickemup Da muß ich erst mal durchkommen. Das dauert etwas. "Overide 2" mußte ich ein 2. Overide Property anlegen. Das Erste war mit einem Farbschema belegt. (Werfe ich wieder raus). Wird aber noch nicht übernommen. Fange nochmal neu an. Der Name wird jetzt genommen. Sieht schon freundlicher aus.
EDIT: Jetzt noch die Querys anpassen...
Ich glaube, die Aliassse in der Infux-Speicherung werfe ich wieder raus. Das wird zu viel Kuddelmuddel. Ob ich da in 1 Jahr noch durchblicke, was wo angepasst wurde? Wenn ich den Namen im Display ändern kann, ist das für mich OK. -
@laser
Du braucht pro DP ein Override.
Dort kannst du dann den Namen eintragen und wenn gewünscht zB auch noch die Farbe (wie bei mir)Im dritten Override wird die Darstellung vom Datum angepasst, sodass eben statt dem Datum der Wochentag steht
-
@mickemup Darstellung- passt. Die Query Optionen auch. Jetzt suche ich noch den Wochentag. Kann ich den auswählen (mit choose) oder gibt es benutzerdefinierte Typen?
Ein Wochentag kommt in meinem Datenpunkt (infux, RAW Data auch nicht vor?) -
@Laser
@mickemup sagte in Stapel-Balkengrafik mit Grafana:Im dritten Override wird die Darstellung vom Datum angepasst, sodass eben statt dem Datum der Wochentag steht
-
@laser
Brauchst du auch nicht.
Das macht Grafana für dich.
Eben mit einem Override auf die TIME..
Ist auch auf einem Bild draufUnd zeig doch mal was du hast
Damit man dir auch ein bisschen folgen kann.... -
@mickemup so sieht es jetzt aus (ist schon mal supertoll):