NEWS
Solcast JSON in Grafana darstellen
-
Guten Morgen zusammen,
mein Name ich Peter und ich habe mich gerade im Forum registriert, da ich um Hilfe bei meinem Problem bitten möchte.
Ich habe seit ein paar Monaten den Iobroker am Laufen und benutze Influxdb 1.x als Datenbank in Verbindung mit Grafana. Da ich vor kurzem eine kleine PV-Anlage (4x 430 Wp) zu Testen aufgebaut habe, recherchiere ich nun seit mehreren Tagen (und Nächten) um eine Lösung für den Forecast in Grafana zu realisieren.
Im iobroker nutze ich der Einfachheit halber den PVforecast-Adapter in Verbindung mit Solcast-API. Der Adapter schreibt die Daten auch in die entsprechenden Datenpunkte als JSONData und JSONTable.
Ich kann diese Datenpunkte auch im Grafana sehen. Derzeit verweifle ich aber an der Darstellung als Tabelle oder Balkendiagramm. Ich komme mit den Query-Einstellungen einfach nicht weiter, habe nun schon viel drüber gelesen aber stelle mich irgendwie zu blöd an...
Derzeit erhalte ich auf dem JSONData-Datenpunkt aller 15 min immer wieder die gleichen Werte:
Könnte mir bitte jemand Schritt für Schritt erklären, wie die Einstellungen der Grafana-Query aussehen könnten? Feintuning ist erstmal zweitrangig, Hauptsache ich hätte mal eine vernünftige Anzeige....
Vielen Dank vorab!
Peter
-
Hallo PB74,
da habe ich länger dran gesessen
Schritt für Schritt:
In der Instanz:
Anschließend in Grafana
SELECT mean("value") FROM "pvforecast.0.summary.power" WHERE $timeFilter GROUP BY time($__interval) fill(linear)
Sollte klappen
-
@taddy81 Hallo, auch wenn es schon etwas her ist, setze ich bewußt das Thema fort, da ich genau an der Stelle bin, in Grafana die o.g. SELECT-Zeile einzufügen. Ja, ich gestehe, dass ich im Umgang mit Grafana nicht so viel Erfahrung habe und mit Querys und flux ohnehin nicht. Dennoch bin ich gewillt, das hinzukriegen aber ohne Unterstützung geht das nicht.
Zunächst ein Screenshot
Mir geht es um die Querys. Im oberen Teil habe ich meine bisherigen Auswertung, auf dem Screenshot klein, aber egal. Nun möchte ich die Hüllkurve des Forecast darüber legen und weiß nicht, was ich genau machen soll.
Ich habe mal ein weiteres Query (unten) mit der von dir beschrieben Zeile eingefügt, die Syntax stimmt gewiß nicht, da ich keine Forecastfunktion im oberen Diagramm sehen kann, auch nicht in der Legende, die bei den Altdaten noch verbesserungswürdig ist - ich weiß.
Der SELECT-Befeht müsste inhaltlich mit 'pvforecast.1.summary.power' korrekt sein, da ich für Solcast eine eigene Instanz gewählt habe.
Frage also: Ist der Weg über das zusätzliche Query korrekt und wie ist der SELECT-Befehl einzufügen? -
@nobbiman
Du arbeitest mit FLUX, dann musst du den neuen Datenpunkt (ich nehme an in derselben DB) auch mit FLUX einbinden.Im Prinzip analog wie dein erster Query, einfach mit dem neuen DP drin...
-
@mickemup Das war auch meine Anfangsidee, aber genau an der Stelle stehe ich irgendwie auf dem Schlauch, da ich ja für jede Uhrzeit (zur vollen Stunde) einen eigenen Datenpunkt habe, die dann ja zu einer Folge zu verknüpfen sind - das ist mein Problem.
Ich hatte bereits jede Stunde in dem Query eingebunden, das gibt ja aber keine Funktion!? -
Hm OK.
In deinem Bild wird aber kein DP in Influx geloggt oder? (Zahnrad ist ja schattiert)
"pvforecast.1.summary.power" oder einen ähnlichen DP hast du nicht?
Ich benutze den Adapter nicht, loggt der irgendwie direkt in Influx? -
@mickemup Bislang habe ich einige Datenpunkte (energy) nur in der Instanz 0 mit dem Prognosedienst forecast.solar geloggt. Ich mache mal ein großen Screenshot dieser Instanz, sie ist ja datentechnisch von gleicher Struktur. Ja, der loggt nach Influx, aber je Stunde existiert ja ein eigener Datenpunkt, der sich über tags ja praktisch nicht verändert.
-
@nobbiman OK
Wenn du Post 1 und 2 anschaust, geht es dort darum:
Der Adapter schreibt die Daten auch in die entsprechenden Datenpunkte als JSONData und JSONTable.Alles deine Datenpunkte die ich sehe sind States.
Du müsstest also zuerst mal den Datenpunkt haben und loggen, bevor man sich um die Darstellung kümmern kann.
Wie sieht denn deine Instanz aus im Vergleich zum Screenshot in Post 2?Wahrscheinlich brauchst dort irgendwo ein Häckchen, damit der entsprechende DP überhaupt erstellt wird.
-
@nobbiman
@mickemup said in Solcast JSON in Grafana darstellen:Wahrscheinlich brauchst dort irgendwo ein Häckchen, damit der entsprechende DP überhaupt erstellt wird.
So ist es. Siehe hier
-
@icebear Hatte ich schon überprüft:
Müsste eigentlich passen! -
-
@icebear Ja, habe ich. Ich denke, wir kommen der Sache jetzt näher: Die JSONGraph hatte ich auch schon gesehen, weiß aber nicht, wie ich sie in die Grafanagrafik einbinden soll. Mit JSONGraph habe ich noch nie gearbeitet.
Nachtrag:
Zum Einbinden eines JSONGraph (oder JSONTable?) habe ich mich jetzt einmal an diesem Thread orientiert. Verstanden habe ich, dass ich JSON/infinity als Plug-in installieren muss. Gesagt, getan bekomme ich beim Hinzufügen eines 2. Query aber keine neue Auswahl für den Typ "json". Bin ich auf dem Holzweg oder kann ich in einer Grafanagrafik nur eine Datenquelle verwenden - ich hoffte auf eine Quelle je Query? -
@nobbiman said in Solcast JSON in Grafana darstellen:
Bin ich auf dem Holzweg oder kann ich in einer Grafanagrafik nur eine Datenquelle verwenden
Ja, bist du.
-
Du solltest eigentlich in deiner influxDB jetzt unter measurements die Werte vom PV-Forecast Adapter finden. Also sowas in der Art wie pvforecast.0.plants.xxxx
-
Du kannst in Grafana auch mehrere Datenquellen auswählen, dazu musst du in Grafana bei 'Data source' (also da wo bei dir 'influxDB-IOB' oder so) steht in dem Auswahlfenster ganz nach unten scrollen und '--Mixed--' auswählen
-
-
@icebear sagte in Solcast JSON in Grafana darstellen:
Du solltest eigentlich in deiner influxDB jetzt unter measurements die Werte vom PV-Forecast Adapter finden. Also sowas in der Art wie pvforecast.0.plants.xxxx
In der InfluxDB finde ich doch aber nur die Daten, die ich per Zahnrad dorthin schreiben lasse!?
Welchen sollte ich da nehmen?
Du kannst in Grafana auch mehrere Datenquellen auswählen, dazu musst du in Grafana bei 'Data source' (also da wo bei dir 'influxDB-IOB' oder so) steht in dem Auswahlfenster ganz nach unten scrollen und '--Mixed--' auswählen
War ein wichtiger Hinweis und ich dachte, ich könnte über diesen Weg die JSONTable einbinden
Leider kommt da aber nichts -
Wenn du es schon unbedingt über JSON machen möchtest.
Du mußt in der Instanz vom web0 Adapter in den Einstellung das Häckchen setzten für 'Integrierte Simple Api' verwenden.Dann hast du den falschen DP genommen, du brauchst den JSONData DP so wie hier:
Dann mußt du aber noch den Timestamp konvertieren sonst erkennt Grafana das nicht.
Dazu gehst du auf Transform data und nimmst den 'Convert Field Type' so wie hier: -
@icebear sagte in Solcast JSON in Grafana darstellen:
Wenn du es schon unbedingt über JSON machen möchtest.
Du mußt in der Instanz vom web0 Adapter in den Einstellung das Häckchen setzten für 'Integrierte Simple Api' verwenden.Ich muss JSON nun wirklich nicht nutzen, ich fand nur keinen anderen Weg, als den in dem zitierten Thread. Das Häkchen hatte ich bereits gesetzt, alles Weitere teste ich zeitnah, Danke für die Rückmeldung.
-
@icebear Ich bin lästig, aber es will nicht klappen:
Der Port der URL ist ja der, aus dem Adapater web.0, dort ist bei mir ja auch Simple-API angehakt.
Die Transformation habe ich nach deinem Beipiel auch gemacht. -
wenn du den link in einem Browser eingibst dann siehst aber die Daten, oder ?
Was sagt denn Grafana, wie sieht das Panel denn aus
-
@icebear Link: ich sehe nur Datenmüll!
Panel - ist noch ziemlich wirr:
-
@nobbiman said in Solcast JSON in Grafana darstellen:
ich sehe nur Datenmüll!
Das ist richtig so.
Mach das mit dem JSON erstmal nicht in dein Panel was du schon hast.
Mach ein neues Panel wo du nur die Abfrage vom JSON drin hast und zeig dann mal was Grafana anzeigt.
Wenn es nicht geht dann müßte ja oben links in der Ecke ein rotes Triangle sein mit einer Fehlermeldung