NEWS
Stapel-Balkengrafik mit Grafana
-
@mickemup Damit werde ich anfangen. Es werden ja viel zu viele unnütze Werte geschrieben. Jede Minute und bei Änderungen.
-
@mickemup Damit werde ich anfangen. Es werden ja viel zu viele unnütze Werte geschrieben. Jede Minute und bei Änderungen.
@laser sagte in Stapel-Balkengrafik mit Grafana:
@mickemup Damit werde ich anfangen. Es werden ja viel zu viele unnütze Werte geschrieben. Jede Minute und bei Änderungen.
Wenn Du da eh was mit dem Logging umstellst könntest Du dann ja auch

nehmen. Dann wäre nicht alles auf 7 measurements verteilt, sondern in einem. Das würde die ganze Auswertung um Vieles vereinfachen. -
@laser sagte in Stapel-Balkengrafik mit Grafana:
@mickemup Damit werde ich anfangen. Es werden ja viel zu viele unnütze Werte geschrieben. Jede Minute und bei Änderungen.
Wenn Du da eh was mit dem Logging umstellst könntest Du dann ja auch

nehmen. Dann wäre nicht alles auf 7 measurements verteilt, sondern in einem. Das würde die ganze Auswertung um Vieles vereinfachen. -
-
-
@laser
Also natürlich CurrentDay bei allen die du stapeln willst ;-)
Das sind ja minimum zwei oder? -
-
@laser sagte in Stapel-Balkengrafik mit Grafana:
@mickemup Insgesamt 4 Werte.
Und dann je eine Query nach etwa diesem Schema:
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "smarthome-history") |> range(start: date.add(d: -7d, to: today()), stop: date.truncate(t: today(), unit: 1d)) |> filter(fn: (r) => r["_measurement"] == "modbus.0.inputRegisters.13022_Battery_level_") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") -
@laser sagte in Stapel-Balkengrafik mit Grafana:
@mickemup Insgesamt 4 Werte.
Und dann je eine Query nach etwa diesem Schema:
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "smarthome-history") |> range(start: date.add(d: -7d, to: today()), stop: date.truncate(t: today(), unit: 1d)) |> filter(fn: (r) => r["_measurement"] == "modbus.0.inputRegisters.13022_Battery_level_") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") -
@laser sagte in Stapel-Balkengrafik mit Grafana:
@mickemup Insgesamt 4 Werte.
Und dann je eine Query nach etwa diesem Schema:
import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "smarthome-history") |> range(start: date.add(d: -7d, to: today()), stop: date.truncate(t: today(), unit: 1d)) |> filter(fn: (r) => r["_measurement"] == "modbus.0.inputRegisters.13022_Battery_level_") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: 1d, fn: last, createEmpty: true, timeSrc: "_start") -
@wolfi913 Habe jetzt currentDay und jede Stunde und Änderungen 2. Stelle nach dem Komma eingestellt.
-
@laser
Wenn dich nur der Endwert intressiert, musst du nicht jede Stunde loggen.
Änderungen loggen sollte IMHO ausreichen. -
@mickemup Ja, eigentlich. Jede Stunde, da sieht man etwas bei der Kurvendarstellung. Manchmal ändert sich nichts. Wenn das Alles funktioniert, nehme ich das raus. Wenn ich es nicht vergesse, wie die 600 Sekunden...
-
@wolfi913
mir der Range können wir ja noch schauen, was genau gewollt ist.
Eventuell auch via "Query Options"
Aber das ist dann Feintuning@mickemup sagte in Stapel-Balkengrafik mit Grafana:
mir der Range können wir ja noch schauen, was genau gewollt ist.
Klar, dazu müssen ja zuerst mal Daten geloggt sein.
Mein Beispiel würde ja auch den aktuellen Tag abschneiden und nicht anzeigen sondern nur vollständige Tage. -
@mickemup sagte in Stapel-Balkengrafik mit Grafana:
mir der Range können wir ja noch schauen, was genau gewollt ist.
Klar, dazu müssen ja zuerst mal Daten geloggt sein.
Mein Beispiel würde ja auch den aktuellen Tag abschneiden und nicht anzeigen sondern nur vollständige Tage. -
@wolfi913 ich miste erst mal aus. Habe auch noch die einzelnen Monate drin. Das stammt Alles aus der Zeit vor Grafana. Da hatte ich einzelne Balken in VIS.
@wolfi913
1Wert ist ja in jedem currentDay drin. 1 Tag sollte angezeigt werden. Habe Das mal so gemacht (ist aber noch ein Fehler drin):import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") // |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> range(start: date.add(d: -7d, to: today()), stop: date.truncate(t: today(), unit: 1d)) |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__VE-Total__H19.currentYear.delivered.01_currentDay" or 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") |> yield(name: "last") -
@wolfi913
1Wert ist ja in jedem currentDay drin. 1 Tag sollte angezeigt werden. Habe Das mal so gemacht (ist aber noch ein Fehler drin):import "timezone" import "date" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker") // |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> range(start: date.add(d: -7d, to: today()), stop: date.truncate(t: today(), unit: 1d)) |> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__VE-Total__H19.currentYear.delivered.01_currentDay" or 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") |> yield(name: "last") -
@laser
Stell mal die Range auf|> range(start: -7d, stop: v.timeRangeStop)Den aktuellen Tag zeigt er Dir ja mit der anderen Auswertung nicht an. Da werden nur ganze Tage genommen.
Außerdem würde ich je eine Query je Datenpunkt machen.@wolfi913 sagte in Stapel-Balkengrafik mit Grafana:
e
Da paßt noch was mit den Zeiten nicht. Kann nicht gestapelt werden. Ich versuche noch mal mit einzelnen Query.
(Darstellung mit dem Zeitversatz besteht aber noch)

Das Ganze muß ich erst mal verarbeiten. Ich werde morgen noch mal frisch ran gehen.
Ist diese Beschreibung richtig? https://docs.influxdata.com/flux/v0/stdlib/universe/range/ u.a.m. -
@wolfi913 sagte in Stapel-Balkengrafik mit Grafana:
e
Da paßt noch was mit den Zeiten nicht. Kann nicht gestapelt werden. Ich versuche noch mal mit einzelnen Query.
(Darstellung mit dem Zeitversatz besteht aber noch)

Das Ganze muß ich erst mal verarbeiten. Ich werde morgen noch mal frisch ran gehen.
Ist diese Beschreibung richtig? https://docs.influxdata.com/flux/v0/stdlib/universe/range/ u.a.m.@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 mittimeShiftoder was Ähnlichem gearbeitet werden. -
@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 mittimeShiftoder was Ähnlichem gearbeitet werden.