NEWS
Tankerkönig in Grafana mit Ajax / SimpleAPI
-
Hallo zusammen,
ich experimentiere seit einiger Zeit mit Grafana und habe bisher einiges realisiert (Darstellung Stromverbrauch einiger Geräte, ioBroker Host Überwachung mit Prometheus etc.).
Nun bin ich an einem Punkt an dem ich nicht mehr weiter komme.
Zum Auslesen bestimmter Stati welche ich nicht in die SQL DB schreibe nutze ich den SimpleAPI Adapter, was soweit auch gut funktioniert. Nun möchte ich in einem Panel die aktuell günstigste Tankstelle für E5 und Diesel inkl. Tankstellenlogo anzeigen.Hat jemand schon etwas derartiges realisiert? Ich stehe ein bißchen auf dem Schlauch, da man ja mit dem Ajax Panel keine eigenen Texte hinterlegen kann, sondern auf das angewiesen ist, was der WebService Aufruf zurückgibt.
Aktuell spiele ich mit dem Gedanken eine Webseite zu bauen, welche die günstigste Tankstelle inkl. Logo ermittelt und diese Webseite dann einfach in Grafana aufzurufen. Aber auch hier habe ich im Moment keinen Ansatzpunkt wie und woher ich die Daten zusammenbekomme.
Ich wäre auch dankbar für Input / Ideen. Vielleicht hat ja jemand etwas ähnliches realsiert.
-
Tankerkönig ermittelt doch die günstigste Tanke .. ich verstehe dein Ansatz nicht..
wofür brauchst du dann Grafana ?? wozu eine eigene Webseite... -
Rein für die Visualisierung. Ich würde ja die Daten auslesen, welche Tankerkönig mir liefert.
-
Verstehe ich trotzdem nicht...
Aber da würde sich IMHO der History-Adapter anbieten (für loggen der günstigsten Tanke) und dann eine Visualisierung mittels Flot. -
Ich logge ja die sich laufend ändernden Preise in meiner SQL DB. Die kann ich mir auch problemlos ausgeben lassen.
Bei der günstigsten Tanke will ich eine Momentaufnahme haben und sie genau deswegen nicht zusätzlich loggen. Zumal man mit dem SimpleAPI Adapter genug Möglichkeiten hat.Ich möchte auch nicht zusätzlich noch Flot haben, da ich aktuell alles auf Grafana migriere. Vorher hatte ich Flot, VIS und NodeRed im Einsatz.
Ich möchte gerne sowas (https://www.schlaue-huette.de/apis-co/tankerkoenig-spritpreise/) in Grafana haben.
-
Jo, und das ist genau was @arteck schrieb und ich auch nicht verstehe, denn genau die Angaben hast du:
-
@h1ob sowas realisert man über ein Widget nicht über grafana
-
@arteck said in Tankerkönig in Grafana mit Ajax / SimpleAPI:
@h1ob sowas realisert man über ein Widget nicht über grafana
Wow, sehr erhellende Antwort, vielen Dank! Vor allem vor dem Hintergrund, dass ich extra geschrieben habe, dass ich nichts anderes als Grafana nutzen möchte und aktuell alles migriere.
@SBorg - Ich weiß, dass ich die Daten vom Tankerkönig Adapter bekomme. Das habe ich doch mit keinem Wort in Frage gestellt. Was ich möchte, ist eben jene Daten in Grafana in einem Panel aufbereitet anzuzeigen.
Ich versuche mich die Tage an meiner initialen Idee, die Aufbereitung in einer eigenen HTML Seite zu machen und mir diese Seite einfach im Dashboard anzeigen zu lassen. Das erscheint mir aktuell am Einfachsten. Ich werde berichten.
-
Ich habe mir das JSON-Plugin für Grafana installiert und als Server-URL http://IP-ioBroker:8087/ eingetragen und als Panel-Typ Single-Stat ausgewählt. Dort den DP eingetragen und mir wird immer der aktuelle Wert angezeigt. Vielleicht hilft das ja weiter
Gruß
Dolomiti -
@h1ob said in Tankerkönig in Grafana mit Ajax / SimpleAPI:
@arteck said in Tankerkönig in Grafana mit Ajax / SimpleAPI:
@h1ob sowas realisert man über ein Widget nicht über grafana
Wow, sehr erhellende Antwort, vielen Dank! Vor allem vor dem Hintergrund, dass ich extra geschrieben habe, dass ich nichts anderes als Grafana nutzen möchte und aktuell alles migriere.
@SBorg - Ich weiß, dass ich die Daten vom Tankerkönig Adapter bekomme. Das habe ich doch mit keinem Wort in Frage gestellt. Was ich möchte, ist eben jene Daten in Grafana in einem Panel aufbereitet anzuzeigen.
Ich versuche mich die Tage an meiner initialen Idee, die Aufbereitung in einer eigenen HTML Seite zu machen und mir diese Seite einfach im Dashboard anzeigen zu lassen. Das erscheint mir aktuell am Einfachsten. Ich werde berichten.
Moin!
Bist du da schon weiter gekommen da ich ähnliches vorhabe und ebenfalls Grafana nutzen möchte.
Schöne Grüße
Mercy -
ist Dir bewusst, dass Du auf einen drei Jahre alten Beitrag antwortest oder da nach einer Lösung fragst
Wenn Du mal in den verschiedenen Forums Beiträgen zur Visualisierung suchst, dann findest Du da sicherlich einige Lösungen
Hast Du dir auch schon den Neusten Tankerkönig Adapter angeschaut, da er ziemlich aufgebohrt wurde und jetzt noch mehr Daten liefert.Ich lasse mir nur den Aktuellen Preis in die influxdb schreiben und Werte die dann mit Grafana aus,
VG
Bernd -
@dp20eic hi, lasse ebenfalls die Spritkosten mit InfluxDB mitloggen & lasse sie mir mit Grafana als Diagramm aufzeichnen.
Bin allerdings auf ein kleines "Problem" gestoßen:
Lasse mir den aktuellen Tagesverlauf anzeigen.
Wenn aber seit 3 Stunden keine Änderungen vom Preis vorgenommen wurden, wird das Diagramm auch nicht für diesen Zeitraum gefüllt.
Mir ist bewusst das ich den Datenpunkt auch alle x Sekunden auch ohne Änderung in die Datenbank schreiben kann.
Allerdings wäre eine Alternative Lösung besser, die den Grafen trotzdem bis zum jetzigen Zeitpunkt anzeigt.Weißt du eine Lösung?
Gruß Dominik
-
@domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:
Allerdings wäre eine Alternative Lösung besser, die den Grafen trotzdem bis zum jetzigen Zeitpunkt anzeigt.
Moin,
ja, denke schon.
Diese Antwort hilft Dir ebenso wenig wie mir Deine Frage, wenn Du nicht zeigst, was Du, wie machst.
Also welche Version von
influxDB
, das ist von Interesse, da die V 1.8 mit der Abfragesprache QL arbeitet und die V 2.x mit FLUX.Wie sieht Deine Query aus?
Wenn möglich als Text, nicht als Screenshot.VG
Bernd -
@dp20eic Vielen Dank für Deine schnelle Antwort!
Natürlich, da hast du recht.
Sorry bin ziemlich neu in der Thematik von Grafana & InfluxDB und hab auf verschiedene Konfigurationen gar nicht mehr gedacht.Grafana v9.4.3
Influx v2.6.1
Arbeite mit der FLUX Sprache.Hier meine Query:
from(bucket: "ioBroker1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r["_measurement"] == "Sprit_Diesel_Hengersberg_Freie") |> filter(fn: (r) => r["_field"] == "value") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> yield(name: "last")
Hier sieht man das keine aktuellen Spritpreise vorhanden sind weil der letzte Wert um 15:54 Uhr geschrieben wurde.
Gleiches ist am Anfang.
Es wäre schön, wenn die Linie einfach weiter gezogen wird (rückwärts & vorwärts), damit es schöner aussieht.Danke schon mal für deine Hilfe!
Gruß Dominik
-
Moin,
ich denke, dass Dir einfach nur das hier in Deiner Abfrage fehlt
|> fill(column: "_value", usePrevious: true)
Damit werden die
null
Werte durch den Wert der davor gültig war ersetzt.Und hier Doku
fill()
functionVG
Bernd -
@dp20eic Leider funktioniert es nicht.
Egal wo ich die Zeile einfüge bekomme ich kein anderes Ergebnis.Habe mit die Doku angeschaut aber die hilft mir nicht wirklich weiter.
Was mache ich falsch?
-
Moin,
wie sehen denn die Daten in der
InfluxDB
aus, melde dich mal an der WebUI von `influxDB an:http://deine.ip.adresse:8086
Um welchen Datenpunkt vom
tankerkönig - Adapter
handelt es sich?
Hast du irgendwelchemin/max
eingerichtet?Hier sieht man das keine aktuellen Spritpreise vorhanden sind weil der letzte Wert um 15:54 Uhr geschrieben wurde.
Hat denn die Tanke zugemacht (Geschlossen) oder einfach nichts mehr gesendet, dann liegt das an der Tanke/Tankerkönig, bei mir kommen 0 Werte nur dann, wenn die Tanke geschlossen ist, dann sollen meine Diagramme ja auch nichts mehr anzeigen, da es ja auch keinen Sprit mehr zu kaufen gibt.
Hast du mehrere Tankstellen im
tankerkönig
eingerichtet, zeigen die noch Werte an? -
@dp20eic hier die Daten von InfluxDB:
Und hier nochmal in Grafana:
So sieht die Grafik aus:
Ich logge nur die aktuellen Werte.
Die Tankstelle hat einen Tankautomaten, deshalb ist sie immer geöffnet.Andere Tankstellen, die aktuell geschlossen sind bekommen keine Aktualisierungen in der InfluxDB (habe ich in IOBroker beim Log eingestellt).
Du kannst mir auch gerne den kompletten Code schicken, dass wir 100% ausschließen können dass es mein Fehler ist.
Danke im Voraus für Deine großartige Hilfe!
-
Moin,
wenn ich das richtig sehe, dann hast Du in den vergangenen 12 Stunden nur diese drei/vier Werte bekommen, ansonsten schau mal bei einer anderen Tanke nach, denn da müssten für 12 Stunden mehr Werte sein und wenn geschlossen dann halt 0.
Wenn ich eine von meinen Tankstellen anschaue, dann sieht das so aus, wenn ich 12 Stunden abfrage, ich habe in der Zeit wenn geschlossen, dann einen 0 Wert in der Datenbank.
Du bekommst aber keine Werte von der Tankstelle geliefert, hast Du mal den Adapter
tankerkönig
auf debug gestellt und dir dann das Log-File angeschaut was da bei der Tankstelle kommt?
Gib mir mal die Daten der Tankstelle, ich richte mir die mal ein und schaue was da kommt
VG
Bernd -
@dp20eic Guten Morgen, ich bekomme nur wenige Werte, weil die Tankstelle sie nicht oft ändert.
So wie ich das sehe, wird bei Dir oft mals immer wieder der gleiche Wert geloggt. Das wollte ich im besten Fall verhindern, weil "nur" Änderungen zu protokollieren wären.Ich möchte aus diesen Grafana:
So einen Graf, wies mir z. B. in der App Clever Tanken angezeigt wird:
Das wäre möglich wenn ich z. B. alle x Sekunden bzw. Minuten den Wert mitloggen lasse.
Aber das möchte ich wenn möglich verhindern, so könnte ich die Verfallszeit auf 1 Jahr oder so lassen, weil nicht so viele Daten anfallen.
Weißt Du was ich meine?0 fällt z. B. in dieser Tankstelle nicht an, weil diese 24 Stunden geöffnet hat
Schicke Dir aber trotzdem gerne die Daten von der Tankstelle:
Station ID:
c8786291-8ea5-4641-b9c8-4a75242e15c4Gruß Dominik