Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Tankerkönig in Grafana mit Ajax / SimpleAPI

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    343

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

Tankerkönig in Grafana mit Ajax / SimpleAPI

Geplant Angeheftet Gesperrt Verschoben Off Topic
own project
38 Beiträge 7 Kommentatoren 3.7k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ? Ein ehemaliger Benutzer

    @domi920

    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.
    ecd0fa7a-531b-4738-b676-5da0b6f28876-grafik.png

    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?

    ce323e58-b8be-4fdc-be59-ae00e911c2f0-grafik.png
    785b3324-206c-45a0-87d1-139eef05c7e8-grafik.png
    78789610-6789-4c4b-a9db-d91beac7f745-grafik.png

    Gib mir mal die Daten der Tankstelle, ich richte mir die mal ein und schaue was da kommt

    d41484aa-12de-45d1-a52c-5e9bf00d88c4-grafik.png

    VG
    Bernd

    Domi920D Offline
    Domi920D Offline
    Domi920
    schrieb am zuletzt editiert von
    #20

    @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:
    c8763029-fb9d-464e-a9f1-4dd72da7d8d6-image.png

    So einen Graf, wies mir z. B. in der App Clever Tanken angezeigt wird:
    e43c9f7c-8b9d-4aeb-9888-615371f2cfcb-image.png

    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:
    d247870a-e5ed-4a03-b506-a69e82a11998-image.png
    Station ID:
    c8786291-8ea5-4641-b9c8-4a75242e15c4

    Gruß Dominik

    ? 1 Antwort Letzte Antwort
    0
    • Domi920D Domi920

      @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:
      c8763029-fb9d-464e-a9f1-4dd72da7d8d6-image.png

      So einen Graf, wies mir z. B. in der App Clever Tanken angezeigt wird:
      e43c9f7c-8b9d-4aeb-9888-615371f2cfcb-image.png

      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:
      d247870a-e5ed-4a03-b506-a69e82a11998-image.png
      Station ID:
      c8786291-8ea5-4641-b9c8-4a75242e15c4

      Gruß Dominik

      ? Offline
      ? Offline
      Ein ehemaliger Benutzer
      schrieb am zuletzt editiert von
      #21

      @domi920

      Moin,

      habe mir die Tanke mal eingerichtet und schaue mal was da bei mir in den kommenden Stunden so reinkommt und verarbeite das dann in Grafana.

      VG
      Bernd

      Domi920D 1 Antwort Letzte Antwort
      0
      • ? Ein ehemaliger Benutzer

        @domi920

        Moin,

        habe mir die Tanke mal eingerichtet und schaue mal was da bei mir in den kommenden Stunden so reinkommt und verarbeite das dann in Grafana.

        VG
        Bernd

        Domi920D Offline
        Domi920D Offline
        Domi920
        schrieb am zuletzt editiert von
        #22

        @dp20eic danke für Deine Bemühungen.
        Halte mich dazu gerne auf dem Laufenden.

        Gruß Dominik

        ? 2 Antworten Letzte Antwort
        0
        • Domi920D Domi920

          @dp20eic danke für Deine Bemühungen.
          Halte mich dazu gerne auf dem Laufenden.

          Gruß Dominik

          ? Offline
          ? Offline
          Ein ehemaliger Benutzer
          schrieb am zuletzt editiert von
          #23

          @domi920

          Moin,

          die Daten kommen, aber diese Tanke sendet wirklich nur alle paar Stunden etwas, ich werde jetzt mal die Sicherung so einstellen, dass ich alle stunde auch einen gleichen Wert sichere.

          Gib mir mal noch ein/zwei Tage, um genügend Werte zu haben.

          VG
          Bernd

          1 Antwort Letzte Antwort
          0
          • Domi920D Domi920

            @dp20eic danke für Deine Bemühungen.
            Halte mich dazu gerne auf dem Laufenden.

            Gruß Dominik

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #24

            @domi920

            Moin,

            so, ich habe mal etwas geforscht.

            Erst einmal die Rahmenbedingungen.

            Datenpunkt E10, so wie ich ihn gerade in influxDB sichere:
            48595e90-40c1-4541-a405-a05e0fad1b9b-grafik.png

            Aktuelle Werte des Datenpunkts:
            f5ef5481-16dc-4966-aaee-0d3b3e6c0d7f-grafik.png

            Ich habe die Grafik nicht in Grafana erstellt, da ich die Datenbank nicht eingebunden habe, ist aber egal, da die Query auch in Grafana funktionieren sollte. So sieht die Query, aktuell aus, wenn ich nichts weiter beachte:

            from(bucket: "ioBroker")
              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
              |> filter(fn: (r) => r["_measurement"] == "Tankstelle4Forum")
              |> filter(fn: (r) => r["from"] == "system.adapter.tankerkoenig.0")
              |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)
              |> yield(name: "last")
            

            25225661-4a19-47dd-b1bc-493b2654fb11-grafik.png

            Und so, wenn ich etwas an den Einstellungen tune:

            import "experimental"
            from(bucket: "ioBroker")
              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
              |> filter(fn: (r) => r["_measurement"] == "Tankstelle4Forum")
              |> filter(fn: (r) => r["from"] == "system.adapter.tankerkoenig.0")
              |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)
              |> experimental.fill(usePrevious: true)
              |> yield(name: "last")
            

            e1234bd4-103d-4a3a-99a3-4c1886b13a58-grafik.png

            Datenpunkt Diesel, so wie ich ihn gerade in influxDB sichere:
            1bae9fc7-f04e-4ad6-8b89-75f1df513c5f-grafik.png

            Aktuelle Werte:
            59d2e56c-dbd8-47b4-b3a4-5e9ffddfdc5d-grafik.png

            Die Query und die daraus erstellte Grafik:

            from(bucket: "ioBroker")
              |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
              |> filter(fn: (r) => r["_measurement"] == "tankerkoenig.0.stations.6.diesel.short")
              |> filter(fn: (r) => r["_field"] == "value")
              |> filter(fn: (r) => r["from"] == "system.adapter.influxdb.0")
              |> aggregateWindow(every: 12h, fn: last, createEmpty: false)
              |> yield(name: "last")
            

            b9831dd8-7ce9-4428-a705-a03ab61d7ae9-grafik.png

            VG
            Bernd

            Domi920D 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @domi920

              Moin,

              so, ich habe mal etwas geforscht.

              Erst einmal die Rahmenbedingungen.

              Datenpunkt E10, so wie ich ihn gerade in influxDB sichere:
              48595e90-40c1-4541-a405-a05e0fad1b9b-grafik.png

              Aktuelle Werte des Datenpunkts:
              f5ef5481-16dc-4966-aaee-0d3b3e6c0d7f-grafik.png

              Ich habe die Grafik nicht in Grafana erstellt, da ich die Datenbank nicht eingebunden habe, ist aber egal, da die Query auch in Grafana funktionieren sollte. So sieht die Query, aktuell aus, wenn ich nichts weiter beachte:

              from(bucket: "ioBroker")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r["_measurement"] == "Tankstelle4Forum")
                |> filter(fn: (r) => r["from"] == "system.adapter.tankerkoenig.0")
                |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)
                |> yield(name: "last")
              

              25225661-4a19-47dd-b1bc-493b2654fb11-grafik.png

              Und so, wenn ich etwas an den Einstellungen tune:

              import "experimental"
              from(bucket: "ioBroker")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r["_measurement"] == "Tankstelle4Forum")
                |> filter(fn: (r) => r["from"] == "system.adapter.tankerkoenig.0")
                |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: true)
                |> experimental.fill(usePrevious: true)
                |> yield(name: "last")
              

              e1234bd4-103d-4a3a-99a3-4c1886b13a58-grafik.png

              Datenpunkt Diesel, so wie ich ihn gerade in influxDB sichere:
              1bae9fc7-f04e-4ad6-8b89-75f1df513c5f-grafik.png

              Aktuelle Werte:
              59d2e56c-dbd8-47b4-b3a4-5e9ffddfdc5d-grafik.png

              Die Query und die daraus erstellte Grafik:

              from(bucket: "ioBroker")
                |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                |> filter(fn: (r) => r["_measurement"] == "tankerkoenig.0.stations.6.diesel.short")
                |> filter(fn: (r) => r["_field"] == "value")
                |> filter(fn: (r) => r["from"] == "system.adapter.influxdb.0")
                |> aggregateWindow(every: 12h, fn: last, createEmpty: false)
                |> yield(name: "last")
              

              b9831dd8-7ce9-4428-a705-a03ab61d7ae9-grafik.png

              VG
              Bernd

              Domi920D Offline
              Domi920D Offline
              Domi920
              schrieb am zuletzt editiert von Domi920
              #25

              @dp20eic Vielen Dank für Deine viele Zeit die Du investiert hast! :-)

              Bei mir sieht es soweit schon ganz gut aus:

              import "experimental"
              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: true)
                |> experimental.fill(usePrevious: true)
                |> yield(name: "last")
              

              ce2c9061-cefc-4fcc-8082-4c4458b1e2f8-image.png

              Die letzte Änderung scheint heute am 03.04.2023 um 10:33 Uhr gewesen sein.
              Wenn ich als Zeitbereich "Today so far" einstelle, passt das auch.
              Wenn ich aber als Zeitbereich "Last 3 hours" einstelle, gibt es im Diagramm keine Daten mehr :-(
              Ich schreibe nur die Änderungen in die Datenbank.
              Gibt es eine Einstellung, dass es trotzdem Daten (halt nur eine Linie) anzeigt, auch wenn beispielsweiße keine Änderung in den letzten 3 Stunden vorgenommen wurde?
              Dabei meine ich, ohne, dass ich die Logging Einstellungen ändere. Es sollten also weiterhin nur Daten bei Änderungen aufgezeichnet werden.

              Kann man das gleiche Prinzip auch auf die Vergangenheit anwenden?
              Aktuell werden die Daten für die Gegenwart vervollständigt, wenn keine neue Daten vorliegen.
              88fc8445-6d26-439c-96e1-5d59faf200f9-image.png
              Es wäre noch sehr schön, wie die Linie bis zurück reichen würde. Also genau das selbe was Du bereits gemacht hast, nur noch zusätzlich in die andere Richtung.

              Wenn Du dafür eine Lösung hättest, wäre es das Nonplusultra :-)

              Am Rande ist mir noch eine Kleinigkeit eingefallen... :laughing:
              Ich weiß, dass man sich den min und max wert unter den Diagramm anzeigen lassen kann.
              Gibt es dafür auch einen Zeit Stempel der automatisch eingefügt wird? (also wann z. B. der min Wert war)
              Was auch noch schön wäre, wenn man sich eine Markierung anzeigen lassen könnte, wie es z. B. meine Wetterstation mit der Temperatur macht:
              -2147483648_-211144.jpg
              Wie man hier im Bild die "blaue" und "orange" Markierung sieht.
              Weißt Du eine Möglichkeit dazu?

              Gruß Dominik

              ? 2 Antworten Letzte Antwort
              0
              • Domi920D Domi920

                @dp20eic Vielen Dank für Deine viele Zeit die Du investiert hast! :-)

                Bei mir sieht es soweit schon ganz gut aus:

                import "experimental"
                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: true)
                  |> experimental.fill(usePrevious: true)
                  |> yield(name: "last")
                

                ce2c9061-cefc-4fcc-8082-4c4458b1e2f8-image.png

                Die letzte Änderung scheint heute am 03.04.2023 um 10:33 Uhr gewesen sein.
                Wenn ich als Zeitbereich "Today so far" einstelle, passt das auch.
                Wenn ich aber als Zeitbereich "Last 3 hours" einstelle, gibt es im Diagramm keine Daten mehr :-(
                Ich schreibe nur die Änderungen in die Datenbank.
                Gibt es eine Einstellung, dass es trotzdem Daten (halt nur eine Linie) anzeigt, auch wenn beispielsweiße keine Änderung in den letzten 3 Stunden vorgenommen wurde?
                Dabei meine ich, ohne, dass ich die Logging Einstellungen ändere. Es sollten also weiterhin nur Daten bei Änderungen aufgezeichnet werden.

                Kann man das gleiche Prinzip auch auf die Vergangenheit anwenden?
                Aktuell werden die Daten für die Gegenwart vervollständigt, wenn keine neue Daten vorliegen.
                88fc8445-6d26-439c-96e1-5d59faf200f9-image.png
                Es wäre noch sehr schön, wie die Linie bis zurück reichen würde. Also genau das selbe was Du bereits gemacht hast, nur noch zusätzlich in die andere Richtung.

                Wenn Du dafür eine Lösung hättest, wäre es das Nonplusultra :-)

                Am Rande ist mir noch eine Kleinigkeit eingefallen... :laughing:
                Ich weiß, dass man sich den min und max wert unter den Diagramm anzeigen lassen kann.
                Gibt es dafür auch einen Zeit Stempel der automatisch eingefügt wird? (also wann z. B. der min Wert war)
                Was auch noch schön wäre, wenn man sich eine Markierung anzeigen lassen könnte, wie es z. B. meine Wetterstation mit der Temperatur macht:
                -2147483648_-211144.jpg
                Wie man hier im Bild die "blaue" und "orange" Markierung sieht.
                Weißt Du eine Möglichkeit dazu?

                Gruß Dominik

                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #26

                @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                Die letzte Änderung scheint heute am 03.04.2023 um 10:33 Uhr gewesen sein.
                Wenn ich als Zeitbereich "Today so far" einstelle, passt das auch.
                Wenn ich aber als Zeitbereich "Last 3 hours" einstelle, gibt es im Diagramm keine Daten mehr
                Ich schreibe nur die Änderungen in die Datenbank.

                Moin,
                das ist meiner Meinung korrekt so, denn wenn Du den Anzeigebereich auf einen Bereich einschränkst, in dem es keine Daten gibt, dann bekommst Du halt in der Query/Abfrage auch nichts zurück, oder wo nichts ist, kann auch nichts angezeigt werden.
                Das kannst Du nur ändern, wenn Du dort selbst Daten in die influxDB schreibst, oder Du lässt, wie ich das im zweiten Beispiel gezeigt habe, den Datenpunkt erledigen, indem Du jede Stunde einen Wert auch bei nicht Änderung wegschreiben lässt.

                951746f7-9083-4b16-af4e-1b9aef17f3a2-grafik.png

                VG
                Bernd

                Domi920D 1 Antwort Letzte Antwort
                0
                • Domi920D Domi920

                  @dp20eic Vielen Dank für Deine viele Zeit die Du investiert hast! :-)

                  Bei mir sieht es soweit schon ganz gut aus:

                  import "experimental"
                  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: true)
                    |> experimental.fill(usePrevious: true)
                    |> yield(name: "last")
                  

                  ce2c9061-cefc-4fcc-8082-4c4458b1e2f8-image.png

                  Die letzte Änderung scheint heute am 03.04.2023 um 10:33 Uhr gewesen sein.
                  Wenn ich als Zeitbereich "Today so far" einstelle, passt das auch.
                  Wenn ich aber als Zeitbereich "Last 3 hours" einstelle, gibt es im Diagramm keine Daten mehr :-(
                  Ich schreibe nur die Änderungen in die Datenbank.
                  Gibt es eine Einstellung, dass es trotzdem Daten (halt nur eine Linie) anzeigt, auch wenn beispielsweiße keine Änderung in den letzten 3 Stunden vorgenommen wurde?
                  Dabei meine ich, ohne, dass ich die Logging Einstellungen ändere. Es sollten also weiterhin nur Daten bei Änderungen aufgezeichnet werden.

                  Kann man das gleiche Prinzip auch auf die Vergangenheit anwenden?
                  Aktuell werden die Daten für die Gegenwart vervollständigt, wenn keine neue Daten vorliegen.
                  88fc8445-6d26-439c-96e1-5d59faf200f9-image.png
                  Es wäre noch sehr schön, wie die Linie bis zurück reichen würde. Also genau das selbe was Du bereits gemacht hast, nur noch zusätzlich in die andere Richtung.

                  Wenn Du dafür eine Lösung hättest, wäre es das Nonplusultra :-)

                  Am Rande ist mir noch eine Kleinigkeit eingefallen... :laughing:
                  Ich weiß, dass man sich den min und max wert unter den Diagramm anzeigen lassen kann.
                  Gibt es dafür auch einen Zeit Stempel der automatisch eingefügt wird? (also wann z. B. der min Wert war)
                  Was auch noch schön wäre, wenn man sich eine Markierung anzeigen lassen könnte, wie es z. B. meine Wetterstation mit der Temperatur macht:
                  -2147483648_-211144.jpg
                  Wie man hier im Bild die "blaue" und "orange" Markierung sieht.
                  Weißt Du eine Möglichkeit dazu?

                  Gruß Dominik

                  ? Offline
                  ? Offline
                  Ein ehemaliger Benutzer
                  schrieb am zuletzt editiert von
                  #27

                  @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                  Kann man das gleiche Prinzip auch auf die Vergangenheit anwenden?
                  Aktuell werden die Daten für die Gegenwart vervollständigt, wenn keine neue Daten vorliegen.

                  Es wäre noch sehr schön, wie die Linie bis zurück reichen würde. Also genau das selbe was Du bereits gemacht hast, nur noch zusätzlich in die andere Richtung.

                  Moin,

                  da ist das gleiche Problem, wo nichts ist, kann man auch nichts anzeigen. Du musst Dir immer vorstellen, dass Du eine Anfrage auf Daten in einer Datenbank machst, wenn Du da fragst, gib mir mal die Werte von aktuell 04.04.2023 00:0 - 10:00 Uhr, aber der erste Wert, den die Abfrage findet, ist der um kurz vor 9:00 Uhr, davor kommt von der Datenbank null → nichts, jetzt müsste es eine Datenbankfunktion geben, die mir sagt, wenn null dann schau, mal wann Du den ersten Wert hast und füge den auch an die Stelle davor ein.
                  So eine Datenbankfunktion gibt es meines Wissens nicht, wieder sind wir bei, einen Tot musst Du sterben, entweder Du akzeptierst es so wie es ist, oder Du schreibst auch werde, wenn sich nichts geändert hat, oder Du baust Dir eine eigene Funktion, in denen Du die Werte selber ermittelst und für die Anzeige benutzt.
                  Ich frage mich, wovor Du so viel Angst hast, und nicht einfach für diese Tankstelle jede Stunde ein Wert schreibst, egal ob er sich geändert hat oder nicht, das sind pro Tag so wenig Byte, dass das den Kohl nicht fett macht.

                  VG
                  Bernd

                  Domi920D 1 Antwort Letzte Antwort
                  0
                  • ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von
                    #28

                    @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                    Am Rande ist mir noch eine Kleinigkeit eingefallen...
                    Ich weiß, dass man sich den min und max wert unter den Diagramm anzeigen lassen kann.
                    Gibt es dafür auch einen Zeit Stempel der automatisch eingefügt wird? (also wann z. B. der min Wert war)
                    Was auch noch schön wäre, wenn man sich eine Markierung anzeigen lassen könnte, wie es z. B. meine Wetterstation mit der Temperatur macht:

                    Moin,

                    ja, dazu musst Du Dich aber mal mit den Dokumentationen von influxDB und/oder Grafana beschäftigen und ob das so toll mit der Tankstelle funktioniert, stelle ich mal infrage.

                    Als Anhaltspunkt für den min./max. Wert schau mal min oder max

                    Grafana z.b. Annotations und/oder Legende und Du kannst nicht einmal eine Grafik machen, die auf dem Preis beruht und dann auf die Zeit mit min/max.

                    Das umzusetzen ist dann schon etwas komplizierter,

                    mal ein Beispiel, das ich im WWW gefunden habe:

                      bucketName = "${bucket}"
                      startTime = -${period}
                      interval = ${interval}
                      token = "${token}"
                      
                      minPrice = from (bucket: bucketName)
                        |> range(start: startTime, stop: now())
                        |> filter(fn: (r) => r["_field"] == token)
                        |> window(every: interval)
                        |> min()
                        |> duplicate(column: "_value", as: "low")
                        |> keep(columns: ["low", "_start", "_stop"] )
                      
                      maxPrice = from (bucket: bucketName)
                        |> range(start: startTime, stop: now())
                        |> filter(fn: (r) => r["_field"] == token)
                        |> window(every: interval)
                        |> max()
                        |> duplicate(column: "_value", as: "high")
                        |> keep(columns: ["high", "_start", "_stop"] )
                      
                      openPrice = from (bucket: bucketName)
                        |> range(start: startTime, stop: now())
                        |> filter(fn: (r) => r["_field"] == token)
                        |> window(every: interval)
                        |> first()
                        |> duplicate(column: "_value", as: "open")
                        |> keep(columns: ["open", "_stop", "_start"] )
                      
                      closePrice = from (bucket: bucketName)
                        |> range(start: startTime, stop: now())
                        |> filter(fn: (r) => r["_field"] == token)
                        |> window(every: interval)
                        |> last()
                        |> duplicate(column: "_value", as: "close")
                        |> keep(columns: ["close", "_stop", "_start"] )
                      
                      highLowData = join(tables: {min: minPrice, max: maxPrice}, on: ["_start", "_stop"])
                      openCloseData = join(tables: {open: openPrice, close: closePrice}, on:  ["_start", "_stop"])
                      join(tables: {highLow: highLowData, openClose: openCloseData}, on:  ["_start", "_stop"])
                    

                    Aber auch hier, ob das mit der Tankstelle gut funktioniert, bezweifle ich.

                    Welche Version von Tankerkoenig nutzt Du, denn mit der aktuellen Version gibt es die Daten schon, die Du Dir in die Visu Deiner Wahl holen kannst.
                    7c146a4a-e305-49d5-bb65-0720fb5fa609-grafik.png

                    10c67993-a41c-479d-8e04-8baf915cbf71-grafik.png

                    VG
                    Bernd

                    Domi920D 1 Antwort Letzte Antwort
                    0
                    • ? Ein ehemaliger Benutzer

                      @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                      Die letzte Änderung scheint heute am 03.04.2023 um 10:33 Uhr gewesen sein.
                      Wenn ich als Zeitbereich "Today so far" einstelle, passt das auch.
                      Wenn ich aber als Zeitbereich "Last 3 hours" einstelle, gibt es im Diagramm keine Daten mehr
                      Ich schreibe nur die Änderungen in die Datenbank.

                      Moin,
                      das ist meiner Meinung korrekt so, denn wenn Du den Anzeigebereich auf einen Bereich einschränkst, in dem es keine Daten gibt, dann bekommst Du halt in der Query/Abfrage auch nichts zurück, oder wo nichts ist, kann auch nichts angezeigt werden.
                      Das kannst Du nur ändern, wenn Du dort selbst Daten in die influxDB schreibst, oder Du lässt, wie ich das im zweiten Beispiel gezeigt habe, den Datenpunkt erledigen, indem Du jede Stunde einen Wert auch bei nicht Änderung wegschreiben lässt.

                      951746f7-9083-4b16-af4e-1b9aef17f3a2-grafik.png

                      VG
                      Bernd

                      Domi920D Offline
                      Domi920D Offline
                      Domi920
                      schrieb am zuletzt editiert von
                      #29

                      @dp20eic Danke für Deine Info, da hast du natürlich Recht!

                      1 Antwort Letzte Antwort
                      0
                      • ? Ein ehemaliger Benutzer

                        @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                        Kann man das gleiche Prinzip auch auf die Vergangenheit anwenden?
                        Aktuell werden die Daten für die Gegenwart vervollständigt, wenn keine neue Daten vorliegen.

                        Es wäre noch sehr schön, wie die Linie bis zurück reichen würde. Also genau das selbe was Du bereits gemacht hast, nur noch zusätzlich in die andere Richtung.

                        Moin,

                        da ist das gleiche Problem, wo nichts ist, kann man auch nichts anzeigen. Du musst Dir immer vorstellen, dass Du eine Anfrage auf Daten in einer Datenbank machst, wenn Du da fragst, gib mir mal die Werte von aktuell 04.04.2023 00:0 - 10:00 Uhr, aber der erste Wert, den die Abfrage findet, ist der um kurz vor 9:00 Uhr, davor kommt von der Datenbank null → nichts, jetzt müsste es eine Datenbankfunktion geben, die mir sagt, wenn null dann schau, mal wann Du den ersten Wert hast und füge den auch an die Stelle davor ein.
                        So eine Datenbankfunktion gibt es meines Wissens nicht, wieder sind wir bei, einen Tot musst Du sterben, entweder Du akzeptierst es so wie es ist, oder Du schreibst auch werde, wenn sich nichts geändert hat, oder Du baust Dir eine eigene Funktion, in denen Du die Werte selber ermittelst und für die Anzeige benutzt.
                        Ich frage mich, wovor Du so viel Angst hast, und nicht einfach für diese Tankstelle jede Stunde ein Wert schreibst, egal ob er sich geändert hat oder nicht, das sind pro Tag so wenig Byte, dass das den Kohl nicht fett macht.

                        VG
                        Bernd

                        Domi920D Offline
                        Domi920D Offline
                        Domi920
                        schrieb am zuletzt editiert von
                        #30

                        @dp20eic habe auch schon Google gefragt, aber bin auch nicht fündig geworden.
                        Wenn Du auch keine Möglichkeit kennst, wird es wohl keine geben.
                        Ich habe nur "Angst" weil ich die Verfallszeit aktuell auf 1 Jahr gestellt habe und ich des Öfteren gelesen habe, dass zu viele Daten in der Datenbank zu Lasten des Arbeitsspeichers und evtl. auch auf die Geschwindigkeit meines Raspberry Pi 4 gehen.
                        Mir ist bekannt, dass man die Daten auch aggregieren und in ein "Langzeit-Bucket" verschieben kann.
                        Aber das sehe ich dann auch nicht als sinnvoll bei den Spritpreisen.
                        Da ich noch ganz am Anfang in der Materie bin, will ich besonders jetzt aufpassen, dass ich nicht zu viel an unnötigen Daten speichere.
                        Du hast natürlich wieder recht...wenn ich jede Stunde den Preis logge dann sind das auf das Jahr gerechnet "nur" 8760 Werte. Das wird hoffentlich nicht die Performance beeinträchtigen.

                        ? 1 Antwort Letzte Antwort
                        0
                        • ? Ein ehemaliger Benutzer

                          @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                          Am Rande ist mir noch eine Kleinigkeit eingefallen...
                          Ich weiß, dass man sich den min und max wert unter den Diagramm anzeigen lassen kann.
                          Gibt es dafür auch einen Zeit Stempel der automatisch eingefügt wird? (also wann z. B. der min Wert war)
                          Was auch noch schön wäre, wenn man sich eine Markierung anzeigen lassen könnte, wie es z. B. meine Wetterstation mit der Temperatur macht:

                          Moin,

                          ja, dazu musst Du Dich aber mal mit den Dokumentationen von influxDB und/oder Grafana beschäftigen und ob das so toll mit der Tankstelle funktioniert, stelle ich mal infrage.

                          Als Anhaltspunkt für den min./max. Wert schau mal min oder max

                          Grafana z.b. Annotations und/oder Legende und Du kannst nicht einmal eine Grafik machen, die auf dem Preis beruht und dann auf die Zeit mit min/max.

                          Das umzusetzen ist dann schon etwas komplizierter,

                          mal ein Beispiel, das ich im WWW gefunden habe:

                            bucketName = "${bucket}"
                            startTime = -${period}
                            interval = ${interval}
                            token = "${token}"
                            
                            minPrice = from (bucket: bucketName)
                              |> range(start: startTime, stop: now())
                              |> filter(fn: (r) => r["_field"] == token)
                              |> window(every: interval)
                              |> min()
                              |> duplicate(column: "_value", as: "low")
                              |> keep(columns: ["low", "_start", "_stop"] )
                            
                            maxPrice = from (bucket: bucketName)
                              |> range(start: startTime, stop: now())
                              |> filter(fn: (r) => r["_field"] == token)
                              |> window(every: interval)
                              |> max()
                              |> duplicate(column: "_value", as: "high")
                              |> keep(columns: ["high", "_start", "_stop"] )
                            
                            openPrice = from (bucket: bucketName)
                              |> range(start: startTime, stop: now())
                              |> filter(fn: (r) => r["_field"] == token)
                              |> window(every: interval)
                              |> first()
                              |> duplicate(column: "_value", as: "open")
                              |> keep(columns: ["open", "_stop", "_start"] )
                            
                            closePrice = from (bucket: bucketName)
                              |> range(start: startTime, stop: now())
                              |> filter(fn: (r) => r["_field"] == token)
                              |> window(every: interval)
                              |> last()
                              |> duplicate(column: "_value", as: "close")
                              |> keep(columns: ["close", "_stop", "_start"] )
                            
                            highLowData = join(tables: {min: minPrice, max: maxPrice}, on: ["_start", "_stop"])
                            openCloseData = join(tables: {open: openPrice, close: closePrice}, on:  ["_start", "_stop"])
                            join(tables: {highLow: highLowData, openClose: openCloseData}, on:  ["_start", "_stop"])
                          

                          Aber auch hier, ob das mit der Tankstelle gut funktioniert, bezweifle ich.

                          Welche Version von Tankerkoenig nutzt Du, denn mit der aktuellen Version gibt es die Daten schon, die Du Dir in die Visu Deiner Wahl holen kannst.
                          7c146a4a-e305-49d5-bb65-0720fb5fa609-grafik.png

                          10c67993-a41c-479d-8e04-8baf915cbf71-grafik.png

                          VG
                          Bernd

                          Domi920D Offline
                          Domi920D Offline
                          Domi920
                          schrieb am zuletzt editiert von
                          #31

                          @dp20eic Danke nochmals für Deine Recherche!
                          Da werde ich mich mal etwas umschauen.

                          Das Beispiel probiere ich auf jeden Fall noch.

                          Ja die neue Adapterversion nutze ich bereits.
                          Ich weiß auch dass ich die Daten anzeigen lassen kann, aber es wäre noch schön gewesen, wenn diese direkt im höchsten & niedrigsten Punkt im Diagramm markiert werden.

                          ? 1 Antwort Letzte Antwort
                          0
                          • Domi920D Offline
                            Domi920D Offline
                            Domi920
                            schrieb am zuletzt editiert von
                            #32

                            @dp20eic Hätte letztens versucht ein Dashboard in die ioBroker Vis einzubinden, was auch funktioniert hat.
                            Allerdings werden die Diagramme, nicht wie in Grafana nebeneinander dargestellt, sondern untereinander:
                            2023-04-03 (4).png

                            so würde es in Grafana ausehen:
                            2023-04-03 (6).png

                            Erst wenn ich in der ioBroker Vis die breite des iFrame Widgets erhöhe auf eine Breite von 800 px, dann werden die Diagramme, wie eig in Grafana richtig, untereinander dargestellt:
                            2023-04-03 (5).png

                            Wegen der Darstellung auf meinen Handy, sollte die Seitenbreite von der Vis View 400 px nicht überschreiten.

                            Zur Not müsste ich jedes Panel von Grafana einzeiln teilen & in der ioBroker Vis View einfügen.

                            Weißt Du zufälligerweise einen Trick?

                            Gruß Dominik :-)

                            ? 1 Antwort Letzte Antwort
                            0
                            • Domi920D Domi920

                              @dp20eic habe auch schon Google gefragt, aber bin auch nicht fündig geworden.
                              Wenn Du auch keine Möglichkeit kennst, wird es wohl keine geben.
                              Ich habe nur "Angst" weil ich die Verfallszeit aktuell auf 1 Jahr gestellt habe und ich des Öfteren gelesen habe, dass zu viele Daten in der Datenbank zu Lasten des Arbeitsspeichers und evtl. auch auf die Geschwindigkeit meines Raspberry Pi 4 gehen.
                              Mir ist bekannt, dass man die Daten auch aggregieren und in ein "Langzeit-Bucket" verschieben kann.
                              Aber das sehe ich dann auch nicht als sinnvoll bei den Spritpreisen.
                              Da ich noch ganz am Anfang in der Materie bin, will ich besonders jetzt aufpassen, dass ich nicht zu viel an unnötigen Daten speichere.
                              Du hast natürlich wieder recht...wenn ich jede Stunde den Preis logge dann sind das auf das Jahr gerechnet "nur" 8760 Werte. Das wird hoffentlich nicht die Performance beeinträchtigen.

                              ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von
                              #33

                              @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                              Du hast natürlich wieder recht...wenn ich jede Stunde den Preis logge dann sind das auf das Jahr gerechnet "nur" 8760 Werte. Das wird hoffentlich nicht die Performance beeinträchtigen.

                              Moin,

                              es gibt da schon Möglichkeiten, Du könntest

                              • Dir eine zweite influxDB - Adapter Instanz im ioBroker anlegen.
                                • die dann nur 30 oder 90 Tage Vorhaltezeit hat, in die dann alles kommt, was Du nicht lange aufheben möchtest.

                              Oder so wie ich, ich besitze nur ein ioBroker Bucket, mit recht kurzer Vorhaltezeit von 33 Tagen, wo alle Daten aus dem ioBroker gespeichert werden, auch die, die öfter pro Minute kommen.
                              Ich lasse dann Tasks innerhalb meiner influxDB Installation laufen, die mir dann die Daten auf Tage, Wochen, Monate, Quartale und Jahr verdichten und in entsprechende Buckets schreiben.

                              VG
                              Bernd

                              Domi920D 1 Antwort Letzte Antwort
                              0
                              • Domi920D Domi920

                                @dp20eic Danke nochmals für Deine Recherche!
                                Da werde ich mich mal etwas umschauen.

                                Das Beispiel probiere ich auf jeden Fall noch.

                                Ja die neue Adapterversion nutze ich bereits.
                                Ich weiß auch dass ich die Daten anzeigen lassen kann, aber es wäre noch schön gewesen, wenn diese direkt im höchsten & niedrigsten Punkt im Diagramm markiert werden.

                                ? Offline
                                ? Offline
                                Ein ehemaliger Benutzer
                                schrieb am zuletzt editiert von
                                #34

                                @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                                Ich weiß auch dass ich die Daten anzeigen lassen kann, aber es wäre noch schön gewesen, wenn diese direkt im höchsten & niedrigsten Punkt im Diagramm markiert werden.

                                Moin,

                                das musst Du dann in Grafana lösen, ich denke da solltest Du mal mit den Annotations experimentieren.

                                Bei einem Dashboard, zur Visualisierung meiner FritzBox macht das der Entwickler auch, um anzuzeigen, wann etwas passiert ist. Ob es da auch möglich ist eigene kleine Grafiken zu nutzen wie bei Deiner Wetterstation, I don`t know.

                                e274ed15-ed25-4a25-8241-c7bb1186b42b-grafik.png

                                A= Annotation
                                B= Das was um diese Uhrzeit passiert ist, in diesem Fall kommt die Information aus den Logs der FritzBox

                                VG
                                Bernd

                                Domi920D 1 Antwort Letzte Antwort
                                0
                                • Domi920D Domi920

                                  @dp20eic Hätte letztens versucht ein Dashboard in die ioBroker Vis einzubinden, was auch funktioniert hat.
                                  Allerdings werden die Diagramme, nicht wie in Grafana nebeneinander dargestellt, sondern untereinander:
                                  2023-04-03 (4).png

                                  so würde es in Grafana ausehen:
                                  2023-04-03 (6).png

                                  Erst wenn ich in der ioBroker Vis die breite des iFrame Widgets erhöhe auf eine Breite von 800 px, dann werden die Diagramme, wie eig in Grafana richtig, untereinander dargestellt:
                                  2023-04-03 (5).png

                                  Wegen der Darstellung auf meinen Handy, sollte die Seitenbreite von der Vis View 400 px nicht überschreiten.

                                  Zur Not müsste ich jedes Panel von Grafana einzeiln teilen & in der ioBroker Vis View einfügen.

                                  Weißt Du zufälligerweise einen Trick?

                                  Gruß Dominik :-)

                                  ? Offline
                                  ? Offline
                                  Ein ehemaliger Benutzer
                                  schrieb am zuletzt editiert von
                                  #35

                                  @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                                  Wegen der Darstellung auf meinen Handy, sollte die Seitenbreite von der Vis View 400 px nicht überschreiten.
                                  Zur Not müsste ich jedes Panel von Grafana einzeiln teilen & in der ioBroker Vis View einfügen.
                                  Weißt Du zufälligerweise einen Trick?

                                  Moin,

                                  sorry, ich kenne mich mit der VIS V1 oder V2 nicht aus, ich nutze iQontrol.

                                  VG
                                  Bernd

                                  Domi920D 1 Antwort Letzte Antwort
                                  0
                                  • ? Ein ehemaliger Benutzer

                                    @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                                    Du hast natürlich wieder recht...wenn ich jede Stunde den Preis logge dann sind das auf das Jahr gerechnet "nur" 8760 Werte. Das wird hoffentlich nicht die Performance beeinträchtigen.

                                    Moin,

                                    es gibt da schon Möglichkeiten, Du könntest

                                    • Dir eine zweite influxDB - Adapter Instanz im ioBroker anlegen.
                                      • die dann nur 30 oder 90 Tage Vorhaltezeit hat, in die dann alles kommt, was Du nicht lange aufheben möchtest.

                                    Oder so wie ich, ich besitze nur ein ioBroker Bucket, mit recht kurzer Vorhaltezeit von 33 Tagen, wo alle Daten aus dem ioBroker gespeichert werden, auch die, die öfter pro Minute kommen.
                                    Ich lasse dann Tasks innerhalb meiner influxDB Installation laufen, die mir dann die Daten auf Tage, Wochen, Monate, Quartale und Jahr verdichten und in entsprechende Buckets schreiben.

                                    VG
                                    Bernd

                                    Domi920D Offline
                                    Domi920D Offline
                                    Domi920
                                    schrieb am zuletzt editiert von
                                    #36

                                    @dp20eic sorry für die sehr verspätete Antwort.

                                    Das sind 2 gute Möglichkeiten, danke!

                                    1 Antwort Letzte Antwort
                                    0
                                    • ? Ein ehemaliger Benutzer

                                      @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                                      Ich weiß auch dass ich die Daten anzeigen lassen kann, aber es wäre noch schön gewesen, wenn diese direkt im höchsten & niedrigsten Punkt im Diagramm markiert werden.

                                      Moin,

                                      das musst Du dann in Grafana lösen, ich denke da solltest Du mal mit den Annotations experimentieren.

                                      Bei einem Dashboard, zur Visualisierung meiner FritzBox macht das der Entwickler auch, um anzuzeigen, wann etwas passiert ist. Ob es da auch möglich ist eigene kleine Grafiken zu nutzen wie bei Deiner Wetterstation, I don`t know.

                                      e274ed15-ed25-4a25-8241-c7bb1186b42b-grafik.png

                                      A= Annotation
                                      B= Das was um diese Uhrzeit passiert ist, in diesem Fall kommt die Information aus den Logs der FritzBox

                                      VG
                                      Bernd

                                      Domi920D Offline
                                      Domi920D Offline
                                      Domi920
                                      schrieb am zuletzt editiert von
                                      #37

                                      @dp20eic danke für die vielen Infos!
                                      So kann ich gezielt in die Doku schauen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • ? Ein ehemaliger Benutzer

                                        @domi920 sagte in Tankerkönig in Grafana mit Ajax / SimpleAPI:

                                        Wegen der Darstellung auf meinen Handy, sollte die Seitenbreite von der Vis View 400 px nicht überschreiten.
                                        Zur Not müsste ich jedes Panel von Grafana einzeiln teilen & in der ioBroker Vis View einfügen.
                                        Weißt Du zufälligerweise einen Trick?

                                        Moin,

                                        sorry, ich kenne mich mit der VIS V1 oder V2 nicht aus, ich nutze iQontrol.

                                        VG
                                        Bernd

                                        Domi920D Offline
                                        Domi920D Offline
                                        Domi920
                                        schrieb am zuletzt editiert von
                                        #38

                                        @dp20eic habe für das Thema einen neuen Forum Eintrag geschrieben:
                                        https://forum.iobroker.net/topic/64752/grafana-panels-in-vis-statische-diagrammgröße-festlegen

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        748

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe