Monatswerte in Grafana

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

andreas_n
Beiträge: 1077
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 23 Mal
Danksagung erhalten: 65 Mal

Monatswerte in Grafana

Beitrag von andreas_n »

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
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh

Bogeyof
Beiträge: 1115
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 144 Mal

Re: Monatswerte in Grafana

Beitrag von Bogeyof »

Mit den Standardvariablen bei "time" geht das nicht. Ein Workaround ist folgendes:

Code: Alles auswählen

SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE time >='2020-05-01' and time < '2020-06-01' tz('Europe/Berlin') 
Damit kannst Du explizit einen Monat vorgeben, Nachteil, Du musst es einmal im Jahr für Folgejahr wieder anpassen (Jahreszahl)...
Grafana.JPG

andreas_n
Beiträge: 1077
Registriert: Do 25. Jun 2020, 13:40
Hat sich bedankt: 23 Mal
Danksagung erhalten: 65 Mal

Re: Monatswerte in Grafana

Beitrag von andreas_n »

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
SMA Tripower 8 / Growatt MIN 3000 TL-XE / ELWA DC WW 300L / Growatt SPH 4600 an 4 ARK LV , 20,5kWp / 10kWh

Bogeyof
Beiträge: 1115
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 144 Mal

Re: Monatswerte in Grafana

Beitrag von Bogeyof »

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:

Code: Alles auswählen

SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE  time > now() - (${TagImJahr}d -12h)  fill(linear)
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:

Code: Alles auswählen

SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE  time >= now() - ${TagImJahr}d  + 1d - ${Stunde}h fill(linear)
Bisher musste ich folgende Abfrage verwenden:

Code: Alles auswählen

SELECT integral("Gesamtleistung",1h) FROM "PV" WHERE  time > '2021-01-01T00:00:00Z' fill(linear)
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:
Grafana.png
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"?...

Bogeyof
Beiträge: 1115
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 22 Mal
Danksagung erhalten: 144 Mal

Re: Monatswerte in Grafana

Beitrag von Bogeyof »

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:

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 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

metrax
Beiträge: 15
Registriert: Mo 1. Mär 2021, 18:43
Danksagung erhalten: 2 Mal

Re: Monatswerte in Grafana

Beitrag von metrax »

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

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')
Übersehe ich irgend etwas?
Gruß Chris

mafe68
Beiträge: 66
Registriert: Mo 4. Mär 2019, 21:18
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: Monatswerte in Grafana

Beitrag von mafe68 »

Wenn du das Datum vom 1970 bekommst wäre nach meiner Auffassung ein Zeichen das er keine Internetverbinnung zum Time Server gerade hat!
Lg. Mario

metrax
Beiträge: 15
Registriert: Mo 1. Mär 2021, 18:43
Danksagung erhalten: 2 Mal

Re: Monatswerte in Grafana

Beitrag von metrax »

Ich denke, das kann ich ausschließen. Der Pi zeigt alles korrekt an und in Grafana wird auch korrekt aktualisiert.
Gruß Chris

sirathan
Beiträge: 19
Registriert: Di 12. Okt 2021, 19:31
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Monatswerte in Grafana

Beitrag von sirathan »

Konntest du das mit dem Jahr 1970 lösen?

my2cents
Beiträge: 32
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Re: Monatswerte in Grafana

Beitrag von my2cents »

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.

Antworten

Zurück zu „Allgemeines“