Monatswerte in Grafana
Moderator: Ulrich
-
- Beiträge: 1077
- Registriert: Do 25. Jun 2020, 13:40
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 65 Mal
Monatswerte in Grafana
Hallo Forum,
ich suche seit Tagen eine Möglichkeit, die PV Daten in einem Monatsbalken , der vom 1. bis zum Letzten eines Monats geht, dazustellen. Also in der Balkengrafik hats dann genau 12 volle Monate. Wochen und Tageswerte gehen, aber nicht Monat, warum?
Irgendwie gelingt mir das nicht und selbst nach drei Tagen Tante Google bin ich nicht wirklich schlauer
Hat wer nen Tip für mich?
Danke
Gruss
Andreas
ich suche seit Tagen eine Möglichkeit, die PV Daten in einem Monatsbalken , der vom 1. bis zum Letzten eines Monats geht, dazustellen. Also in der Balkengrafik hats dann genau 12 volle Monate. Wochen und Tageswerte gehen, aber nicht Monat, warum?
Irgendwie gelingt mir das nicht und selbst nach drei Tagen Tante Google bin ich nicht wirklich schlauer
Hat wer nen Tip für mich?
Danke
Gruss
Andreas
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh
-
- Beiträge: 1115
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 144 Mal
Re: Monatswerte in Grafana
Mit den Standardvariablen bei "time" geht das nicht. Ein Workaround ist folgendes:
Damit kannst Du explizit einen Monat vorgeben, Nachteil, Du musst es einmal im Jahr für Folgejahr wieder anpassen (Jahreszahl)...
Code: Alles auswählen
SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE time >='2020-05-01' and time < '2020-06-01' tz('Europe/Berlin')
-
- Beiträge: 1077
- Registriert: Do 25. Jun 2020, 13:40
- Hat sich bedankt: 23 Mal
- Danksagung erhalten: 65 Mal
Re: Monatswerte in Grafana
Moin Bogeyof
danke..hab diese Zeitangaben schonmal wo gesehen, aber bei der Menge an Webseiten die ich bisher lesen musste für die Solaranzeige..vergessen wo, aber ich kann mich erinnern, dass das dort grafisch anders aussah, inkl Vorjahresvergleich..wenn ichs wieder finde, stelle ich es hier ein.
Schade das Grafana da nix passendes hat..aber so ganz geht das bei mir nicht, die Werte weichen ab, vermutlich weil sich die SMA WR nachts schlafen legen, habs jetzt mal /10 geteilt, damit es einigermassen stimmt,relativ gesehen. Die SMA haben eh ne seltsame Software an Board, wenn ich da an die Fronius WR denke..aber leider kam Fronius mit dem jetzt aktuellen WR damals nicht in die Pötte, war (zu) lange angekündigt.
Gruss
Andreas
danke..hab diese Zeitangaben schonmal wo gesehen, aber bei der Menge an Webseiten die ich bisher lesen musste für die Solaranzeige..vergessen wo, aber ich kann mich erinnern, dass das dort grafisch anders aussah, inkl Vorjahresvergleich..wenn ichs wieder finde, stelle ich es hier ein.
Schade das Grafana da nix passendes hat..aber so ganz geht das bei mir nicht, die Werte weichen ab, vermutlich weil sich die SMA WR nachts schlafen legen, habs jetzt mal /10 geteilt, damit es einigermassen stimmt,relativ gesehen. Die SMA haben eh ne seltsame Software an Board, wenn ich da an die Fronius WR denke..aber leider kam Fronius mit dem jetzt aktuellen WR damals nicht in die Pötte, war (zu) lange angekündigt.
Gruss
Andreas
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh
-
- Beiträge: 1115
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 144 Mal
Re: Monatswerte in Grafana
Ich habe gerade ein wenig herumexperimentiert und evtl. etwas interessantes gefunden:
Mit einer bestimmten Schreibweise lassen sich Variablen aus dem Dashboard in den Selects verwenden, in diesem speziellen Beispiel für Zeitabfragen. Dazu muss die Variable nicht "$Heute" sondern "${Heute}" geschrieben werden, dann kann sie in einem Ausdruck verwendet werden.
Beispiel:
Ich habe diverse Variablen, die mir sagen wie viele Tage im Monat und wie viele Tage im laufenden Jahr schon vergangen sind, bzw. wie viele Tage der aktuelle Monat hat.
Damit ist z.B. die folgende Abfrage möglich:
Diese liefert die Jahresproduktion in Zukunft ohne weitere Anpassung. Hierbei wird vom "now" die Anzahl der Tage im Jahr abgezogen, anschließend 12 Stunden wieder darauf addiert, weil die Werte ja meist am Tag abgefragt werden und z.B. am 43. Tag sind nur ca. 42,5 Tage zusammen zu zählen. Optimal wäre die Formel, wenn mir auch die Stunde zur Verfügung stünde, dann würde es genau stimmen:
Bisher musste ich folgende Abfrage verwenden:
Funktioniert auch, muss aber jedes Jahr angepasst werden.
Ob mich das jetzt auch für Monatsauswertungen in einer Jahresübersicht weiterbringt (aktueller Monat kein Problem), weiß ich noch nicht. Ich habe mal etwas probiert und die Werte sind schlüssig, allerdings weiß ich noch nicht wie die Formel gebildet werden muss, damit die Monate "mit wandern". Vielleicht habt Ihr ja geniale Ideen dazu: Die beiden Monate funktionieren zwar, aber wenn ich in den März komme macht das ganze wieder keinen Sinn. Wie bekomme ich eine Formel hin, die das ganze "schiftet"?...
Mit einer bestimmten Schreibweise lassen sich Variablen aus dem Dashboard in den Selects verwenden, in diesem speziellen Beispiel für Zeitabfragen. Dazu muss die Variable nicht "$Heute" sondern "${Heute}" geschrieben werden, dann kann sie in einem Ausdruck verwendet werden.
Beispiel:
Ich habe diverse Variablen, die mir sagen wie viele Tage im Monat und wie viele Tage im laufenden Jahr schon vergangen sind, bzw. wie viele Tage der aktuelle Monat hat.
Damit ist z.B. die folgende Abfrage möglich:
Code: Alles auswählen
SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE time > now() - (${TagImJahr}d -12h) fill(linear)
Code: Alles auswählen
SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE time >= now() - ${TagImJahr}d + 1d - ${Stunde}h fill(linear)
Code: Alles auswählen
SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE time > '2021-01-01T00:00:00Z' fill(linear)
Ob mich das jetzt auch für Monatsauswertungen in einer Jahresübersicht weiterbringt (aktueller Monat kein Problem), weiß ich noch nicht. Ich habe mal etwas probiert und die Werte sind schlüssig, allerdings weiß ich noch nicht wie die Formel gebildet werden muss, damit die Monate "mit wandern". Vielleicht habt Ihr ja geniale Ideen dazu: Die beiden Monate funktionieren zwar, aber wenn ich in den März komme macht das ganze wieder keinen Sinn. Wie bekomme ich eine Formel hin, die das ganze "schiftet"?...
-
- Beiträge: 1115
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 144 Mal
Re: Monatswerte in Grafana
Kaum habe ich es geschrieben ist mir noch eine einfache Lösung für die Monatstabellen eingefallen:
Man definiert sich in Grafana im Dashboard eine Variable Jahr (auch als Konstante möglich, dann muss diese halt einmal im Jahr geändert werden) und baut die Abfragen dann wie folgt:
Damit kann ich immer denn Monat Januar des Jahres abfragen, auf welchen die Variable Jahr gesetzt ist. Wenn ich auch noch eine Variable mit Vorjahr definiere, dann ist z.B. problemlos auch ein Vorjahresvergleich möglich.
Damit sind viele Probleme der jährlichen Nacharbeit gelöst...
oder siehe hier: viewtopic.php?p=7141#p7141
Man definiert sich in Grafana im Dashboard eine Variable Jahr (auch als Konstante möglich, dann muss diese halt einmal im Jahr geändert werden) und baut die Abfragen dann wie folgt:
Code: Alles auswählen
SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE time >='20${Jahr}-01-01' and time < '20${Jahr}-02-01' tz('Europe/Berlin')
Damit sind viele Probleme der jährlichen Nacharbeit gelöst...
oder siehe hier: viewtopic.php?p=7141#p7141
Re: Monatswerte in Grafana
Hallo zusammen,
ich teste und baue jetzt schon eine Weile an meiner Anzeige, komme hier aber nicht so ganz weiter.
Die Abfrage funktioniert so weit, auch die Variable ist kein Problem, aber ich bekomme zusätzlich die Meldung "Data outside time range".
Wenn ich dann auf "Zoom to Data" klicke, schickt mich Grafana ins Jahr 1970. Dann sind natürlich alle anderen Anzeigen auf Null.
Egal ob ich mit oder ohne Variable arbeite
Übersehe ich irgend etwas?
ich teste und baue jetzt schon eine Weile an meiner Anzeige, komme hier aber nicht so ganz weiter.
Die Abfrage funktioniert so weit, auch die Variable ist kein Problem, aber ich bekomme zusätzlich die Meldung "Data outside time range".
Wenn ich dann auf "Zoom to Data" klicke, schickt mich Grafana ins Jahr 1970. Dann sind natürlich alle anderen Anzeigen auf Null.
Egal ob ich mit oder ohne Variable arbeite
Code: Alles auswählen
SELECT integral("Leistung",1h) FROM "AC" WHERE time >='${jahr}-04-01' and time < '${jahr}-05-01' tz('Europe/Berlin')
Code: Alles auswählen
SELECT integral("Leistung",1h) FROM "AC" WHERE time >='2021-05-01' and time < '2021-06-01' tz('Europe/Berlin')
Gruß Chris
Re: Monatswerte in Grafana
Ich denke, das kann ich ausschließen. Der Pi zeigt alles korrekt an und in Grafana wird auch korrekt aktualisiert.
Gruß Chris
Re: Monatswerte in Grafana
Die Geschichte mit der monatlichen Darstellung, incl Vorjahresvergleich, treibt mich auch immernoch um und ich finde nicht wirklich eine Lösung. In einem anderen Thread hier wurde das über Variablen gelöst aber nur Screenshots gezeigt, statt mal Codezeilen zu posten. Es bringt keinen weiter, wenn man nur sagt "es geht, steht alles da" und dann steht eben nicht alles da...wenn schon Screenshots von Dashboards, dann doch bitte auch incl, der dahinter stehenden Abfragen. Wenns einer schön gelöst hat, tut es doch nicht weh, dieses Wissen nachvollziehbar zu teilen. Naja.
Das sind alles nur Krücken und Umwege, viel müsste jedes Jahr angepasst werden... Das kann unmöglich "Stand der Technik" sein.
Die Daten sind vorhanden, es hapert also einzig an der Darstellung und/oder Abfrage in Grafana. Nunja, dieser Beitrag bringt auch keinen weiter, drückt lediglich meinen Unmut aus.
Programmieren und Datenbanken sind mal leider überhaupt nicht meins, damit werde ich in diesem Leben kein Freund mehr...
Warum nicht am Ende jedes Monats einen DB Eintrag erzeugen, dergestalt "2022-01" -> "50 kwh"
Das würde die Abfrage doch deutlich erleichtern. Wer kann sowas in php bauen? Das liesse sich doch per cron am jeweils monatsersten vor Sonnenaufgang ausführen...
Das wäre mein versucht konstruktiver Beitrag.
Das sind alles nur Krücken und Umwege, viel müsste jedes Jahr angepasst werden... Das kann unmöglich "Stand der Technik" sein.
Die Daten sind vorhanden, es hapert also einzig an der Darstellung und/oder Abfrage in Grafana. Nunja, dieser Beitrag bringt auch keinen weiter, drückt lediglich meinen Unmut aus.
Programmieren und Datenbanken sind mal leider überhaupt nicht meins, damit werde ich in diesem Leben kein Freund mehr...
Warum nicht am Ende jedes Monats einen DB Eintrag erzeugen, dergestalt "2022-01" -> "50 kwh"
Das würde die Abfrage doch deutlich erleichtern. Wer kann sowas in php bauen? Das liesse sich doch per cron am jeweils monatsersten vor Sonnenaufgang ausführen...
Das wäre mein versucht konstruktiver Beitrag.