NEWS
Grafana + Influx 2 + Flux + Bar Gauge
-
Hallo
Ich hab ein merkwürdiges Verhalten in Grafana.
Ich füge in Grafana 9.3.6 ein Bar Gauge hinzu und möchte dort mehrere Werte anzeigen.
Soweit kein Problem.Nur, warum schreibt mir der oberhalb zum Text (zB "aktuelles Jahr") noch den DP dazu?
Finde nichts, wo ich das ausschalten kann. -
Das kannst du mit Overrides lösen:
-
-
@tritor
habe ein ähnliches Problem. In einer Gauge (Säulendiagramm mit 7 Wochentagswerten) ist die Feldunterschrift riesig lang. Dort sollen die Wochentagsbezeichnungen (Mo... So) stehen. Habe mich mit overide versucht. Wenn ich das Feld bei "Overides" auswählen will, ist es wieder riesig lang und ich kann es dadurch nicht identifizieren. Wie kann ich das Problem lösen? Wenn ich mit Copy und paste den Namen einfüge, verändert sich der Kopf des Feldes, nicht die Unterschrift.
Influx 2.7.0 &FLUX -
-
@spacerx
Das geht schon in die Richtung. Bisher ist mir nur gelungen, daß immer z.B. "Montag! in allen Feldern steht.
Die Unterschrift meiner Balken (einzelne Werte aus Sourceanalytix) ist aber kein Datum, sondern ein Objektname.
Dieser Name ist aber so lang, daß er beim Auswählen rechts aus dem Bild hinausgeht und nicht sichtbar ist.mit einem Zufallstreffer hat es 1x geklappt:
-
@laser Das könnte mit Mapping funktionieren. Wenn der Objektname für jeden Tag anders ist, dann den Objektnahmen mit dem Wochentag überschreiben.
-
@spacerx Sowas will ich ja machen. Das zu überschreibende Feld auswählen. Das geht ja mit dem Pfeil rechts/ "wählen". Zu lang, wird abgeschnitten. 2. Version: kopieren des Namens aus dem Bucket- hat nicht geklappt. 3. suchen nach "Tuesday" funktioniert, aber nur so lange, wie es diese Bezeichnung nur 1x gibt, bei öfteren Vorkommen von "thuesday"wird es problematisch. Endet wieder in einer endlosen Versuchsreihe.
EDIT: kopieren eines längeren Teiles aus dem Namen (in der Hoffnung, dieser Teil ist einmalig) und danach suchen lassen. Hat erst mal funktioniert. Weitertesten ist angesagt. Schön ist etwas Anderes! FLUX finde ich nicht so toll! Ist umfangreich, aber auch sehr umständlich zu bedienen. -
@laser Ich hab hier noch einen Link zu Value Mapping
https://grafana.com/docs/grafana/latest/panels-visualizations/configure-value-mappings/Edit:
Ah ne das wird nichts, geht ja nicht um die Value. Sorry -
@spacerx Das Feld rechts läßt sich ja doch vergrößern! Auf einem sehr breitem Monitor klappt auch die Auswahl beim Override. Nichts für kleine Bildschirme.
-
@laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:
Sowas will ich ja machen. Das zu überschreibende Feld auswählen.
Moin,
ist jetzt vielleicht nicht die beste Lösung, da Du ja schon Daten in der Datenbank stehen hast, die diesen elendig langen Namen tragen.
Aber für zukünftige Vorhaben, kann man das ja versuchen, zu berücksichtigen
Du kannst beim DP, wenn Du ihn in eine DB oder in History speicherst, einen kürzeren Namen vergeben.
Nachträglich kann man das auch noch ändern,
- Export der Daten als
CSV
Namen anpassen und wieder Importieren, siehe DokuinfluxDB
- Die vorhandenen Werte durch einen Task in
influxDB
umformen, sprich Namen kürzen und in ein anderes Bucket schreiben, das dann nutzen, um die Diagramme zu bauen. - FLUX abfrage so gestalten, dass der originale Name ersetzt wird, z.B.:
import "timezone" option location = timezone.location(name: "Europe/Berlin") from(bucket: "iobroker_strom") |> range(start: -7d, stop: now()) |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh") |> filter(fn: (r) => r["_field"] == "value") // hier ersetze ich den langen Namen "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh" in "aktuelle Woche" |> set(key: "_field", value: "aktuelle Woche") |> drop(columns:["from","ack", "q"]) |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false) |> difference()
VG
Bernd - Export der Daten als
-
@laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:
Schön ist etwas Anderes! FLUX finde ich nicht so toll! Ist umfangreich, aber auch sehr umständlich zu bedienen.
Moin,
das ist nicht das Problem von FLUX, das ist ja nur die Abfragesprache, dass die GUI von Grafana keine Langen XXL Namen anzeigen kann, ist ja eher Dein Problem, wenn Du die Namen so in der DB abspeicherst
Ich habe leider kein Beispiel, kann mir aber vorstellen, wenn Du in dem Feld anfängst zu tippen, dass dann die Auswahl eingeschränkt wird, bis das passende angezeigt wird.VG
Bernd -
@laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:
@spacerx
Das geht schon in die Richtung. Bisher ist mir nur gelungen, daß immer z.B. "Montag! in allen Feldern steht.
Die Unterschrift meiner Balken (einzelne Werte aus Sourceanalytix) ist aber kein Datum, sondern ein Objektname.Dieser Name ist aber so lang, daß er beim Auswählen rechts aus dem Bild hinausgeht und nicht sichtbar ist.
mit einem Zufallstreffer hat es 1x geklappt:
ein mögliche Lösung wäre, an deine Queries anzuhängen:
|> keep(columns: ["_value"]) |> rename(columns: {_value:"Montag"})
|> keep(columns: ["_value"]) |> rename(columns: {_value:"Dienstag"})
Damit entfernst du alle anderen Spalten und Grafana bekommt nur den "Kurznamen", also Spaltennamen. Das setzt natürlich voraus, dass die Spalte "_value" existiert und vorher nicht schon umbenannt wurde.
-
@marc-berg sagte in Grafana + Influx 2 + Flux + Bar Gauge:
|> keep(columns: ["_value"]) |> rename(columns: {_value:"Montag"})
Das sieht dann so aus:
Das ist sicher der elegantere Weg. Passt nur noch nicht ganz. -
@laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:
Das ist sicher der elegantere Weg. Passt nur noch nicht ganz.
Zeig mal deine Queries. Hast du vielleicht noch Overrides definiert?
-
@marc-berg
from(bucket: "iobroker")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Gesamptproduktion__yieldtotal.currentYear.delivered.currentWeek.01_Monday")
|> filter(fn: (r) => r["_field"] == "value")
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: "mean")
|> keep(columns: ["_value"])
|> rename(columns: {_value:"Montag"})keine overides
-
@laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
|> yield(name: "mean")das muss weg, wenn ich die Anforderung richtig verstehe:
|> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) |> yield(name: "mean")
und das hier muss in Grafana eingestellt sein:
-
@marc-berg So ist es OK!
from(bucket: "iobroker")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "sourceanalytix.0.alias__0__OpenDTU-Gesamptproduktion__yieldtotal.currentYear.delivered.currentWeek.01_Monday")
|> filter(fn: (r) => r["_field"] == "value")
|> keep(columns: ["_value"])
|> rename(columns: {_value:"Montag"})
Und:
Das ist für mich absolutes Neuland. Da muß ich mich erst einarbeiten.
-
@Marc-Berg
Die Unterschrift wird geändert. Jedoch ändert sich auch der angezeigte Zahlenwert. 1,54 werden angezeigt, 1,97 müssten es sein.
-
@laser sagte in Grafana + Influx 2 + Flux + Bar Gauge:
@Marc-Berg
Die Unterschrift wird geändert. Jedoch ändert sich auch der angezeigte Zahlenwert. 1,54 werden angezeigt, 1,97 müssten es sein.Verstehe gerade Null, was du meinst. Außerdem wurden doch oben in deinem Beispiel für Montag vorher und nach den Änderungen jeweils 2.59kWh angezeigt!?