NEWS
Grafana Legende anpassen
-
@meister-mopper ja, nur ohne das *last sondern dann nur der aktuelle Wert :)
sieht jetzt bei mir grad so aus:

-
@meister-mopper ja, nur ohne das *last sondern dann nur der aktuelle Wert :)
sieht jetzt bei mir grad so aus:

@djmarc75 sagte in Legende anpassen:
ohne das *last
Es ist mir noch nicht gelungen, das last wegzubekommen.
-
@meister-mopper ja, nur ohne das *last sondern dann nur der aktuelle Wert :)
sieht jetzt bei mir grad so aus:

-
@negalein sagte in Legende anpassen:
was ist eigentlich der Unterschied *last vs last?
Keiner, bei einem fehlt der Stern (ich habe ihn fälschlich unterdrückt) :grin:
-
-
Tag,
heutiges Projekt soll sein:Legenden in grafana (influx2) anzupassen.
Das Panel läuft aber die Anzeige in der Legende gefällt mir nicht ganz so gut ;)
Kann man das über die jeweilige Query anpassen so dass ich "Zimmer" und "Wert" angezeigt bekomme?
Hier mal ein Query:
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")Ich bin auch mal frech und frage @Marc-Berg direkt ;)
Bin für jegliche Hilfe dankbar.
Merci@djmarc75 sagte in Legende anpassen:
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")
Ich persönlich mache dies in diesen Fällen etwas anders und benutze EINE Query für alle Werte
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer" or r["_measurement"] == "iob.temp.esskueche") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> rename(columns: { "iob.temp.badezimmer": "Badezimmer", "iob.temp.esskueche": "Essküche" }) -
@negalein sagte in Legende anpassen:
was ist eigentlich der Unterschied *last vs last?
Keiner, bei einem fehlt der Stern (ich habe ihn fälschlich unterdrückt) :grin:
@meister-mopper sagte in Legende anpassen:
@negalein sagte in Legende anpassen:
was ist eigentlich der Unterschied *last vs last?
Keiner, bei einem fehlt der Stern (ich habe ihn fälschlich unterdrückt) :grin:
@djmarc75 sagte in Legende anpassen:
@negalein sagte in Legende anpassen:
was ist eigentlich der Unterschied *last vs last?
das weiss ich leider nicht, stehe da noch ziemlich am Anfang ( nach einem Jahr Grafanapause ;) )
hatte gerade einen Bekannten am Telefon.
last*--> letzter Nicht-Null-Wert
last--> letzter Wert -
@djmarc75 sagte in Legende anpassen:
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")
Ich persönlich mache dies in diesen Fällen etwas anders und benutze EINE Query für alle Werte
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer" or r["_measurement"] == "iob.temp.esskueche") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> rename(columns: { "iob.temp.badezimmer": "Badezimmer", "iob.temp.esskueche": "Essküche" })@marc-berg sagte in Grafana Legende anpassen:
benutze EINE Query für alle Werte
Hab das mal eben getestet und darauf bau ich gerne auf, nur sieht es halt dann so aus

brauche allerdings nur den aktuellen Wert. Muss ich das auch per Override machen?
-
@marc-berg sagte in Grafana Legende anpassen:
benutze EINE Query für alle Werte
Hab das mal eben getestet und darauf bau ich gerne auf, nur sieht es halt dann so aus

brauche allerdings nur den aktuellen Wert. Muss ich das auch per Override machen?
@djmarc75 sagte in Grafana Legende anpassen:
nur sieht es halt dann so aus
Das war mein Fehler. Man muss die interessierenden Spalten noch per
|>keep()ausfiltern. Kann aber gerade nicht gucken, mach' ich nachher, falls interessiert. -
@djmarc75 sagte in Grafana Legende anpassen:
nur sieht es halt dann so aus
Das war mein Fehler. Man muss die interessierenden Spalten noch per
|>keep()ausfiltern. Kann aber gerade nicht gucken, mach' ich nachher, falls interessiert.@marc-berg sagte in Grafana Legende anpassen:
mach' ich nachher, falls interessiert
aber sowas von, vielen Dank !
-
@djmarc75 sagte in Grafana Legende anpassen:
nur sieht es halt dann so aus
Das war mein Fehler. Man muss die interessierenden Spalten noch per
|>keep()ausfiltern. Kann aber gerade nicht gucken, mach' ich nachher, falls interessiert.@marc-berg kann man auch einfach mit Transform data machen:

Wichtig ist, dass als erster Transform, der Join by field gemacht wird.
-
@marc-berg kann man auch einfach mit Transform data machen:

Wichtig ist, dass als erster Transform, der Join by field gemacht wird.
-
Oha, das sieht ja klasse aus bei dir - magst du uns verraten, wie du die statistischen Werte unters Diagramm bekommst?
(Bitte für einen Laien wie mich nachvollziehbar :pray: )
-
@marc-berg sagte in Grafana Legende anpassen:
mach' ich nachher, falls interessiert
aber sowas von, vielen Dank !
@djmarc75 sagte in Grafana Legende anpassen:
mach' ich nachher, falls interessiert
aber sowas von, vielen Dank !
Du müsstest noch die Spalten _field, _start, _stop löschen, damit das sauber aussieht. Das ist einfacher, als mit "keep()" die Spalten zu behalten, die man benötigt:
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer" or r["_measurement"] == "iob.temp.esskueche") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> rename(columns: { "iob.temp.badezimmer": "Badezimmer", "iob.temp.esskueche": "Essküche" }) |> drop(columns: ["_field", "_start", "_stop"])Je nach Quelldaten muss in Grafana noch "Connect null values" aktiviert werden, damit keine Lücken entstehen, wenn wenige Messwerte existieren.
Wie gesagt, das Vorgehen ist meine persönliche Präferenz, da ich gern so wenig wie möglich in Grafana transformieren/overriden möchte.
-
@negalein sagte in Grafana Legende anpassen:
@markus-7 sagte in Grafana Legende anpassen:
Werte unters Diagramm bekommst

Huch, wo ist denn die Y-Achse für den Sonnenstand, die Kurve kann ja alles behaupten :wink:
-
-
@djmarc75 sagte in Grafana Legende anpassen:
mach' ich nachher, falls interessiert
aber sowas von, vielen Dank !
Du müsstest noch die Spalten _field, _start, _stop löschen, damit das sauber aussieht. Das ist einfacher, als mit "keep()" die Spalten zu behalten, die man benötigt:
from(bucket: "iobroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "iob.temp.badezimmer" or r["_measurement"] == "iob.temp.esskueche") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> rename(columns: { "iob.temp.badezimmer": "Badezimmer", "iob.temp.esskueche": "Essküche" }) |> drop(columns: ["_field", "_start", "_stop"])Je nach Quelldaten muss in Grafana noch "Connect null values" aktiviert werden, damit keine Lücken entstehen, wenn wenige Messwerte existieren.
Wie gesagt, das Vorgehen ist meine persönliche Präferenz, da ich gern so wenig wie möglich in Grafana transformieren/overriden möchte.
@marc-berg sagte in Grafana Legende anpassen:
Du müsstest noch die Spalten _field, _start, _stop löschen, damit das sauber aussieht
Das passt, aber wie bekomme ich den jeweiligen Wert in der Legende angezeigt ?
edit: sieht so aus:

-
@marc-berg sagte in Grafana Legende anpassen:
Du müsstest noch die Spalten _field, _start, _stop löschen, damit das sauber aussieht
Das passt, aber wie bekomme ich den jeweiligen Wert in der Legende angezeigt ?
edit: sieht so aus:

@djmarc75 sagte in Grafana Legende anpassen:
aber wie bekomme ich den jeweiligen Wert in der Legende angezeigt

Wenn du das meinst?
-
@negalein sagte in Grafana Legende anpassen:
@markus-7 sagte in Grafana Legende anpassen:
Werte unters Diagramm bekommst

Huch, wo ist denn die Y-Achse für den Sonnenstand, die Kurve kann ja alles behaupten :wink:
@meister-mopper sagte in Grafana Legende anpassen:
Huch, wo ist denn die X-Achse
die hat la Luna gestohlen. :joy:
die Kurve kann ja alles behaupten
Hauptsache ich seh wenns am wärmsten sein könnte. ;)
-
Danke, nur ich wollte ja gerade die "statistischen Daten" wie min/max/median haben, wie in meinem Screenshot abgebildet :-)
Die reine Legendenfunktion ist bekannt.

