Ankündigung

Einklappen
Keine Ankündigung bisher.

Grafana / SQL Abfrage - Zeitstempel um einen Tag verändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Grafana / SQL Abfrage - Zeitstempel um einen Tag verändern

    Hallo Zusammen,

    ich schreibe jeden Tag kurz nach Mitternacht den Gesamtertrag des Vortages von der Solarthermie Anlage in eine Datenbank. Diese Werte würde ich nun gerne mit Grafana visualisieren.

    Dies klappt mit der folgenden SQL Abfrage auch ganz gut:

    Code:
    SELECT
    $__unixEpochGroupAlias(time,24h),
    max(val_num) AS "Solarertrag"
    FROM log
    WHERE
    item_id = 67
    GROUP BY 1
    ORDER BY $__unixEpochGroup(time,24h)
    Einziger Knackpunkt ist das mir die Werte immer um einen Tag verschoben visualisiert werden. Sprich der Wert von gestern wird mir als Wert von heute angezeigt, da er ja auch erst heute in die DB geschrieben wurde.

    Weiß jemand ob ich das in Grafana irgendwie abfangen kann?

    Viele Grüße & allen noch einen schönen Oster Montag
    Jannis

    #2
    Warum machst Du es nicht vor Mitternacht, oder hast Du da noch Erträge, die unbedingt mit ins Archiv müssen?

    Kommentar


      #3
      Zitat von vento66 Beitrag anzeigen
      Warum machst Du es nicht vor Mitternacht, oder hast Du da noch Erträge, die unbedingt mit ins Archiv müssen?
      Die Heizung sendet den Tageswert automatisch auf den KNX Bus um kurz nach Mitternacht - das kann ich nicht manipulieren. SmartHomeNG schreibt den Wert dann in die Datenbank.

      Viele Grüße
      Jannis

      Kommentar


        #4
        Dann stell die Uhr in der Heizung zwei Minuten falsch.
        ----------------------------------------------------------------------------------
        "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
        Albert Einstein

        Kommentar


          #5
          Kannst Du nicht einfach vom Datum (ich nehme an, das steht in der Spalte "time") einen Tag substrahieren?

          Probiere es mal damit - ist aber ungetestet:

          SELECT $__unixEpochGroupAlias(DATE_SUB(time, INTERVAL 1 DAY),24h), max(val_num) AS "Solarertrag" FROM log WHERE item_id = 67 GROUP BY 1 ORDER BY $__unixEpochGroup(DATE_SUB(time, INTERVAL 1 DAY),24h)

          Kommentar


            #6
            Hallo,

            ich habe das gleiche Problem wie gbglace. Hab es versucht wie von dismantled beschrieben. Komme aber leider Aufgrund von fehlenden SQL-Kenntnissen auf keinen grünen Zweig. Kann mit jemand weiterhelfen?

            SELECT first("Default") FROM "e3dc_db_yesterday_solarProduction" WHERE ("source" = 'mqttlive') AND $timeFilter GROUP BY time(1d) tz('Europe/Berlin')

            Vielen Dank

            Kommentar


              #7
              Ich wusste gar nicht das ich hier ein Problem mit habe.
              ----------------------------------------------------------------------------------
              "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
              Albert Einstein

              Kommentar


                #8
                haha...sorrry gbglace! Ich meine eigentlich startrix mit Beitrag Home

                Kommentar


                  #9
                  Hallo Zusammen, Hallo Chrissr
                  hab es nun wie folgt für mich lösen können:

                  Code:
                  SELECT
                    $__unixEpochGroupAlias(time,24h,previous),
                    max(val_num) AS "Solarertrag"
                  FROM log
                  WHERE
                    item_id = 67
                  GROUP BY 1
                  ORDER BY $__unixEpochGroup(time,24h,previous)​

                  Kommentar

                  Lädt...
                  X