NEWS
Grafana - Anzeige ist eigenartig
-
@lessthanmore Wenn ih 10 als min und 30 als Max nehme sieht das so aus:
Nehme ich 0 als Min und lasse Max leer so:
Der Code sieht so aus:
import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "DBANDY1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Laufzeit_LS_Wand") |> filter(fn: (r) => r["_field"] == "value") |> map(fn: (r) => ({r with _value: r._value * 60.0})) |> aggregateWindow(every: 24h, fn: sum, timeSrc: "_start")
Aber ich kann eigentlich keinen Max Wert vorgeben, denn es könnte ja auch sein das die Lightstripes mal 5 Stunden an sind.
-
@damrak2022 Änder mal die Range der Daten und nimm Daten der vergangenen 2 oder 3 Tage, damit es auch Vergleichswerte gibt bzw. es nicht immer der Maxwert des aktuellen Tages genommen wird.
Bsp.:|> range(start: -2d) |> filter(fn: (r) => r._measurement == "Laufzeit_LS_Wand" and r._field == "value")
-
@lessthanmore sagte in Grafana - Anzeige ist eigenartig:
|> range(start: -2d) |> filter(fn: (r) => r._measurement == "Laufzeit_LS_Wand" and r._field == "value"
Dann bekomme ich einen Fehler:
Und letztendlich sollen mir ja auch immer nur die Werte des aktuellen Tages anzeigen.
-
@damrak2022 Da fehlt eine Klammer. Hatte in meinem Code gefehlt, hab es oben korrigiert.
Der Maxwert wird ja auch generisch bestimmt, aber eben immer nur mit dem aktuellen.Du hast momentan drei Werte, wovon der dritte Datenpunkt den aktuellen Max bestimmt (20 Minuten) bzw. der Datenpunkt, der gerade die höchste Laufzeit hat.
Die anderen Datenpunkte nutzen ja den selben Maxwert."Leave empty to calculate based on all values".
Du hast aber nur einen Value pro Datenpunkt, da du ja die Einzelwerte aggregierst.
Somit ist die aktuell geringste Laufzeit dein Minwert und der Balken zeigt dir das Delta an. Egal ob das nun 1 Sekunde oder 1 Stunde ist.
Siehe deinen zweiten Screenshot, bei dem der Minwert 0 ist.Passt das eigentlich nicht bereits (Min: 0 und Max: leer)?
-
@lessthanmore Okay, so scheint es zu gehen
Nur eigenartig das die Anzeige bei dem aktuellen Tag nicht hinhaut. Aber okay, dann lasse ich mir halt die Laufzeit der letzten 7 Tage anzeigen.
-
@lessthanmore Ich muss bei diesem Thema leider noch mal weitermachen, da ich mein komplettes System zerschossen hate und nun alles wieder komplett neu anlege. Ich habe den ganzen Thread nochmal gelesen, komme aber nicht wirklich voran.
Momentan sieht das Dashboard, welches die Laufzeit meiner Geräte darstellen soll so aus:
Die Werte liegen mir in Sekunden vor und sie sollen im Dashboard natürlich als Std/Min/Sek. dargestellt werden. Unit ist auf duration h:mm:ss eingestellt.
Ich weiß das ich da schon mal weiter war, aber leider habe ich mir damals den kompletten Code nicht gespeichert. Allerdings bin ich auch für eine komplett andere Darstellungsform offen, solange es sich vernünftig darstellen lässt.Hast Du da einen Vorschlag?
-
@damrak2022 Wenn die Werte dir in Sekunden vorliegen, warum rechnest du sie lediglich in Minuten um? Für Stunden musst du mit 3600 dividieren.
Dann sollte auch die gewählte Einheit passen (SS:MM:SS).Alles andere sieht plausibel aus.
Ob man nun alle Werte in einem Query abfragt oder pro Wert einen Query macht sollte glaube ich keine Rolle spielen.Was genau passt denn noch nicht?
-
@lessthanmore Du hast mit der Umrechnung natürlich recht, aber dann stimmt es noch weniger - siehe hier:
duration ist eingestellt
Ich verstehe schlichtweg nicht, woran es hier hakt
Hier noch ein Screenshot meiner Datenpunkte, nachdem ich z.B. diesen Wert vom iMac
durch 60000 geteilt habe und dann in den Datenpunkt schreiben lasse. -
@damrak2022 Du musst durch 3600 teilen, nicht multiplizieren. Hab es oben korrigiert.
Der Wert vom iMac ist in Sekunden?
-
@lessthanmore Die Werte von allen Geräten sind in Minuten.
Um das Problem einzugrenzen, warum ich keine vernünftige Anzeige hinbekomme, habe ich mich jetzt mal nur auf die Deckenlampe im Flur fokussiert:
Das sind die Minutenwerte in den Datenpunkt:
Ich habe in Grafana schon zig Sachen ausprobiert:
Hier erst einmal die Darstellung als Bar Chart mit einer Time Range von -7d:
Wenn ich die Time Range auf -1d ändere sieht es so aus:
In meinen Augen stimmt die ganze Anzeige nicht. Ich weiß nicht, ob es am Code liegt, oder was hier querschießtNoch schlimmer sieht es bei der Laufzeit aller Geräte aus, da mein Fernseher heute, bzw. gestern bestimmt nicht über 60Std. an war
Die Query Options sind leer.
-
@damrak2022 Ohne Dir nahetreten zu wollen:
https://forum.iobroker.net/topic/63918/grafana-werte-addieren-pro-tag/23?_=1682156253039
Das ist DEIN Beitrag !
-
@djmarc75 sagte in Grafana - Anzeige ist eigenartig:
https://forum.iobroker.net/topic/63918/grafana-werte-addieren-pro-tag/23?_=1682156253039
Nein, keine Sorge, Du trittst mir nicht zu nahe, aber es ist ja so eingestellt
-
@damrak2022 sagte in Grafana - Anzeige ist eigenartig:
es ist ja so eingestellt
Dann muss man hinterfragen warum es "damals" korrekt dargestellt war und eben jetzt nicht. Liegt vielleicht an den Werten welche an Influx übergeben werden ?!
-
@djmarc75 Naja, die Werte werden als Minuten übergeben und as war damals genauso. Deswegen begreife ich das Verhalten nicht
-
@damrak2022 Irgendwas muss sich aber geändert haben, sonst wären die Anzeigen wie vorher.
In Grafana summierst du alle Werte der letzten 24 Stunden.
Laut der Verlaufsanzeige sind die Werte aber bereits summiert.
Hier ein Beispiel: Die Laufzeit müsste eigentlich knapp 2 Minuten betragen, du summierst allerdings die Werte in Grafana.
Die setzt du dann gegen 1 Uhr wieder auf Null. Das kann so nicht gehen.
Hast du in node-red etwas geändert?Was hast du in Grafana unter Value Options, mean oder last*?
-
@lessthanmore sagte in Grafana - Anzeige ist eigenartig:
Die setzt du dann gegen 1 Uhr wieder auf Null. Das kann so nicht gehen.
Hast du in node-red etwas geändert?Wenn @Damrak2022 sich mal die Quelldaten von vor vier Wochen anschauen würde (die auch hier im Forum dokumentiert sind, @DJMarc75 hat ihn ja mehrfach darauf hingewiesen), würde er seinen Fehler erkennen.
-