NEWS
DWD Meldungen loggen und in Grafana darstellen
-
Hallo,
habe hier ein Thema, was sowohl ioBroker und Grafana betrifft oder betreffen kann. Daher mal hier in Off Topic, hoffe, das ist so ok.
Ich habe den DWD Adapter installiert und schreibe ein paar Werte, u.a. Begin, End, Description, Text in eine InfluxDB. Funktioniert auch soweit. Nun würde ich gerne in einer Tabelle auf einem Grafana Dashboard die letzten 3 Meldungen darstellen. Allerdings habe ich keinen eindeutigen Identifier, um die Einträge aus den verschiedenen Tabellen zu verbinden. Time ist leider bei jedem verschieden, zumindest im Millisekundenbereich. So sieht es gerade aus:
Hat jemand eine Idee, wie ich es schaffe, dass ich immer je Meldung nur eine Zeile angezeigt bekomme? Irgendwie müsste ich den Join über Time hinbekommen, aber etwas unschärfer und vielleicht nur auf die Sekunde genau.
Freue mich über Tipps.
Grüße
Johannes -
Manchmal geht es schneller, als man denkt und man findet selbst die Lösung, bzw. einen schöneren Ansatz:
Unter dwd.0.warning.object gibt es alle Infos schön als JSON zusammengebaut. Das schreibe ich in die DB. Rufe es in Grafana ab und passe es dann unter Transform mit Extract Fields, Organize Fields und Convert Field Type an.
Vielleicht hilft das ja der Nachwelt
-
Hallo,
könntest Du dein Vorgehen für mich etwas genauer erklären?
Die DWD Variable welche ich in den InfluxDB schreibe ist im String Format.?
Mit welchem Panel bringst du die Meldung in Grafana zur Anzeige? Table? Logs?
Welche Einstellung hast Du dort gewählt? -
Hi @rugged-esp,
Sry war ein paar Tage anderweitig beschäftigt, daher kommt meine Antwort etwas verspätet. Hier mal grob, was ich tue:
- Habe eingestellt, dass ich drei DWD Warnungen über die DWD Instanz abrufe
- DIese werden als JSON unter dwd.0.warning.object bzw. dwd.0.warning1.object und dwd.0.warning2.object abgelegt
- Alle drei werden in der Influx DB gespeichert, jedoch alle in einer DB Tabelle, bei mir dwd.0.warnings_all -> unter Benutzerdefinierte Einstellungen anpassen:
- Dann in Grafana eine Tabelle (Table) erstellen.
- Query: SELECT "value" FROM "dwd.0.warnings_all" WHERE ("value" != ''{}'') AND $timeFilter
- Und dann unter Transform folgende Anpassungen durchführen:
So sieht es dann bei mir aus:
Du kannst dann die Tabelle ensprechend der Felder noch formatieren.
Frag gerne nochmal nach, wenn es nicht klappt.
Es ist nicht perfekt. Im Screenshot siehst du z.B., dass die Meldung eigentlich abgelaufen ist, sie aber noch immer angezeigt wird. Passt für mich gerade aber, für mehr fehlt gerade leider die Zeit.
Ich hatte auch versucht den JSON Stream von der DWD Seite direkt in Grafana einzubinden, allerdings scheint der Syntax einen Fehler zu haben, so dass Grafana ihn nicht auslesen kann/mag.
LG Jo
-
@johannes1702 Hi! Da hast Du echt gute Arbeit gelesitet. Ich will das auch nachbauen, scheitere aber schon am ersten Punkt:
Diese werden als JSON unter dwd.0.warning.object bzw. dwd.0.warning1.object und dwd.0.warning2.object abgelegt. Diese aktiviere ich in Objekte für InfluxDB.
Alle drei werden in der Influx DB gespeichert, jedoch alle in einer DB Tabelle, bei mir dwd.0.warnings_all -> unter Benutzerdefinierte Einstellungen anpassen Als Speicher Alias gebe ich dann "dwd.0.warnings_all" ein und speichere?Den Rest müsste ich hinebkommen, hoffe ich
-
@turbosaschAls Speicher Alias gebe ich dann "dwd.0.warnings_all" ein und speichere?
Ja genau
Für jeden Datenpunkt gibst du dwd.0.warnings_all an, oder einen Namen, den du verwenden willst, wichtig ist nur, dass es immer der gleiche ist.
Dann werden alle Werte in die gleiche Tabelle geschrieben und du kannst sie in Grafana rausholen.
Sry, antworte vom iPhone, daher ist die Formatierung ggf kaputt
-
@johannes1702 ah ok. Dann habe ich doch alles richtig gemacht. Ich speichere aber auch nur die „JSON object with warning“ da drin?! Bei mir sind auch nur zwei Warnungspunkte im ioBroker.
Aber irgendwie kommen keine Daten in den Extract fields.
-
@turbosasch muss mir das am PC ansehen, wird aber paar Tage dauern, wegen Urlaub
Ist zu lange her, dass ich das gebaut habe, und muss es erst nochmal nachvollziehen.
Du kannst aber ja mal eine einfache Tabelle in Grafana erstellen, dann müssen die Rohwerte angezeigt werden. Wenn da nichts kommt, liegt das Problem woanders.
-
@johannes1702 kein Problem
. Mach du mal deinen Urlaub erstmal. Ja, ich probiere später nochmal. Das Problem wird aber wahrscheinlich vor dem PC sein