Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Grafana
  5. Zeitskala anpassen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    739

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Zeitskala anpassen

Geplant Angeheftet Gesperrt Verschoben Grafana
10 Beiträge 3 Kommentatoren 62 Aufrufe 3 Beobachtet
  • Ä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.
  • CephalopodC Offline
    CephalopodC Offline
    Cephalopod
    schrieb zuletzt editiert von
    #1

    Ein Anfänger benötigt Hilfe.
    Ich habe mithilfe von YouTube folgendes Diagramm gebastelt:

    e3b1a4b1-a335-438c-b39e-af245b7bb403-image.jpeg

    Ich möchte in der unteren Kurvendarstellung die heutigen Daten von 0 Uhr - 24 Uhr anzeigen lassen. Bzw. noch lieber nur von 7 bis 21 Uhr.

    Der aktuelle Flux Ausdruck dafür lautet:

    from(bucket: "iobroker")
      |> range(start: -24h)
      |> filter(fn: (r) 
      => r["_measurement"] == "alias.0.PV-Leistung"
      or r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power")
      |> filter(fn: (r) => r["_field"] == "value")
      |> aggregateWindow(every: 2m, fn: mean, timeSrc:"_start")
      |> yield(name: "last")
    

    Vermutlich muss ich bei "range" was ändern, nur was?
    Kann ich dann mit Steuertasten jeweils einen Tag zurückspringen?

    NegaleinN 1 Antwort Letzte Antwort
    0
    • CephalopodC Cephalopod

      Ein Anfänger benötigt Hilfe.
      Ich habe mithilfe von YouTube folgendes Diagramm gebastelt:

      e3b1a4b1-a335-438c-b39e-af245b7bb403-image.jpeg

      Ich möchte in der unteren Kurvendarstellung die heutigen Daten von 0 Uhr - 24 Uhr anzeigen lassen. Bzw. noch lieber nur von 7 bis 21 Uhr.

      Der aktuelle Flux Ausdruck dafür lautet:

      from(bucket: "iobroker")
        |> range(start: -24h)
        |> filter(fn: (r) 
        => r["_measurement"] == "alias.0.PV-Leistung"
        or r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 2m, fn: mean, timeSrc:"_start")
        |> yield(name: "last")
      

      Vermutlich muss ich bei "range" was ändern, nur was?
      Kann ich dann mit Steuertasten jeweils einen Tag zurückspringen?

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb zuletzt editiert von
      #2

      @Cephalopod sagte:

      Vermutlich muss ich bei "range" was ändern, nur was?

      probier mal

      from(bucket: "iobroker")
        |> range(start: today())
        |> filter(fn: (r) =>
          r["_measurement"] == "alias.0.PV-Leistung" or
          r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power"
        )
        |> filter(fn: (r) => r["_field"] == "value")
        |> filter(fn: (r) => 
          date.hour(t: r._time) >= 7 and date.hour(t: r._time) <= 21
        )
        |> aggregateWindow(every: 2m, fn: mean, timeSrc: "_start")
        |> yield(name: "today_7_21")
      

      ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
      ° Node.js Fixer ---> iob nodejs-update
      ° Fixer ---> iob fix

      CephalopodC 1 Antwort Letzte Antwort
      0
      • NegaleinN Negalein

        @Cephalopod sagte:

        Vermutlich muss ich bei "range" was ändern, nur was?

        probier mal

        from(bucket: "iobroker")
          |> range(start: today())
          |> filter(fn: (r) =>
            r["_measurement"] == "alias.0.PV-Leistung" or
            r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power"
          )
          |> filter(fn: (r) => r["_field"] == "value")
          |> filter(fn: (r) => 
            date.hour(t: r._time) >= 7 and date.hour(t: r._time) <= 21
          )
          |> aggregateWindow(every: 2m, fn: mean, timeSrc: "_start")
          |> yield(name: "today_7_21")
        
        CephalopodC Offline
        CephalopodC Offline
        Cephalopod
        schrieb zuletzt editiert von
        #3

        @Negalein sagte:

        @Cephalopod sagte:

        Vermutlich muss ich bei "range" was ändern, nur was?

        probier mal

        from(bucket: "iobroker")
          |> range(start: today())
          |> filter(fn: (r) =>
            r["_measurement"] == "alias.0.PV-Leistung" or
            r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power"
          )
          |> filter(fn: (r) => r["_field"] == "value")
          |> filter(fn: (r) => 
            date.hour(t: r._time) >= 7 and date.hour(t: r._time) <= 21
          )
          |> aggregateWindow(every: 2m, fn: mean, timeSrc: "_start")
          |> yield(name: "today_7_21")
        

        Danke für deine Mühe.
        Leider kam nur folgende Fehlermeldung:

        invalid: error @9:5-9:9: undefined identifier date error @9:36-9:40: undefined identifier date
        
        NegaleinN 1 Antwort Letzte Antwort
        0
        • CephalopodC Cephalopod

          @Negalein sagte:

          @Cephalopod sagte:

          Vermutlich muss ich bei "range" was ändern, nur was?

          probier mal

          from(bucket: "iobroker")
            |> range(start: today())
            |> filter(fn: (r) =>
              r["_measurement"] == "alias.0.PV-Leistung" or
              r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power"
            )
            |> filter(fn: (r) => r["_field"] == "value")
            |> filter(fn: (r) => 
              date.hour(t: r._time) >= 7 and date.hour(t: r._time) <= 21
            )
            |> aggregateWindow(every: 2m, fn: mean, timeSrc: "_start")
            |> yield(name: "today_7_21")
          

          Danke für deine Mühe.
          Leider kam nur folgende Fehlermeldung:

          invalid: error @9:5-9:9: undefined identifier date error @9:36-9:40: undefined identifier date
          
          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          schrieb zuletzt editiert von
          #4

          @Cephalopod sagte:

          Leider kam nur folgende Fehlermeldung:

          das sagt die KI

          Lösung: date importieren
          
          Füge ganz oben in deinem Query diese Zeile ein:
          
          import "date"
          
          Dann funktioniert dein Filter:
          
          import "date"
          
          from(bucket: "iobroker")
            |> range(start: today())
            |> filter(fn: (r) =>
              r["_measurement"] == "alias.0.PV-Leistung" or
              r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power"
            )
            |> filter(fn: (r) => r["_field"] == "value")
            |> filter(fn: (r) => 
              date.hour(t: r._time) >= 7 and date.hour(t: r._time) <= 21
            )
            |> aggregateWindow(every: 2m, fn: mean, timeSrc: "_start")
            |> yield(name: "today_7_21")
          ⚠️ Falls es trotzdem nicht geht
          
          Dann nutzt du vermutlich eine ältere InfluxDB-Version (oder eingeschränkte Umgebung).
          
          Alternative ohne date (robuster)
          from(bucket: "iobroker")
            |> range(start: today())
            |> filter(fn: (r) =>
              r["_measurement"] == "alias.0.PV-Leistung" or
              r["_measurement"] == "shelly.0.shelly0110dimg3#8cbfeaa4c68c#1.Light0.Power"
            )
            |> filter(fn: (r) => r["_field"] == "value")
            |> map(fn: (r) => ({
                r with hour: int(v: uint(v: r._time) / 3600000000000 % 24)
            }))
            |> filter(fn: (r) => r.hour >= 7 and r.hour <= 21)
            |> aggregateWindow(every: 2m, fn: mean, timeSrc: "_start")
            |> yield(name: "today_7_21")
          
          👉 Das berechnet die Stunde direkt aus dem Timestamp (funktioniert immer).
          

          ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
          ° Node.js Fixer ---> iob nodejs-update
          ° Fixer ---> iob fix

          1 Antwort Letzte Antwort
          0
          • CephalopodC Offline
            CephalopodC Offline
            Cephalopod
            schrieb zuletzt editiert von
            #5

            Meine InfluxDB Version ist die v.2.8.0 und sollte halbwegs aktuell sein.
            Mit dem ersten Script kommt das hier raus:

            03480903-e784-4347-9295-0cd083843c05-image.jpeg

            Das Diagramm beginnt immer noch Gestern um 14 Uhr, die Daten werden aber erst ab 9:00 Uhr angezeigt.

            Beim zweiten Script kam eine Fehlermeldung:

            invalid: error @8:62-8:75: expected uint but found int
            
            1 Antwort Letzte Antwort
            0
            • icebearI Online
              icebearI Online
              icebear
              schrieb zuletzt editiert von
              #6

              @cephalopod

              Also in influxdb kannst du es hiermit mal probieren:

              from(bucket: "iobroker")
              |> range(start: today())
              |> filter(fn: (r) => r["_measurement"] == "Senec_INV_Power")
              |> filter(fn: (r) => r["_field"] == "value")
              |> aggregateWindow(every: 1h, fn: mean, createEmpty: false)
              |> hourSelection(start: 7, stop: 15)

              Da wird das Diagramm auch auf die ausgewählte TimeRange begrenzt.

              In Grafana geht das meines Wissens nicht. Da kannst du die Abfrage auch so einfügen, siehts das Diagramm aber für den ganzen Tag (also von 00:00-24:00).
              Für Grafana müsstes du die TimeRange in der Influxdb Abfrage explizit festlegen, das auch nur der Bereich angezeigt wird, das funktioniert aber nicht dynamisch für jeden Tag. (wenn es dennoch gehen sollte möge mich einer korrigieren).

              Du könntest dir mit einer KI deiner Wahl ein Script für ein Apache ECHART erstellen lassen, welches die von dir gewünschten Daten visualisiert, das sollte funktionieren. Anzeigen lassen kannst du das dann mit dem flexchart Adapter.

              1 Antwort Letzte Antwort
              0
              • CephalopodC Offline
                CephalopodC Offline
                Cephalopod
                schrieb zuletzt editiert von Cephalopod
                #7

                Was noch viel komischer ist, ich kann in Grafana keine älteren Daten sehen.
                Ich wollte mir den 2.4.26 von 7-21 Uhr anzeigen lassen.
                Ergebnis:

                94563e40-2113-4f5e-b15e-5e6c8c695551-image.jpeg

                Die Daten sind aber definitiv in der Datenbank.
                Der selbe Zeitbereich im iOBroker sieht so aus:

                c7a1d1ab-a00d-4657-8855-393e8fec51f5-image.jpeg

                Kann ich mit Grafana nicht auf die Daten der kompletten Datenbank zugreifen?

                1 Antwort Letzte Antwort
                0
                • icebearI Online
                  icebearI Online
                  icebear
                  schrieb zuletzt editiert von icebear
                  #8

                  @Cephalopod sagte:

                  Was noch viel komischer ist, ich kann in Grafana keine älteren Daten sehen.

                  Hast du das Panel in einem bestehendem Dashboard angelegt?

                  Wenn ja dann passt wahrscheinlich die default TimeRange (oben rechts) vom Dashboard nicht zu deiner influxdb Abfrage TimeRange.

                  Was ich damit sagen will: Wenn du oben rechts z.B. 'Today' als TimeRange eingestellt hast, und in deiner influxDB Abfrage fragst du Daten von gestern oder vorgestern ab dann meckert Grafana das an.

                  CephalopodC 1 Antwort Letzte Antwort
                  0
                  • icebearI icebear

                    @Cephalopod sagte:

                    Was noch viel komischer ist, ich kann in Grafana keine älteren Daten sehen.

                    Hast du das Panel in einem bestehendem Dashboard angelegt?

                    Wenn ja dann passt wahrscheinlich die default TimeRange (oben rechts) vom Dashboard nicht zu deiner influxdb Abfrage TimeRange.

                    Was ich damit sagen will: Wenn du oben rechts z.B. 'Today' als TimeRange eingestellt hast, und in deiner influxDB Abfrage fragst du Daten von gestern oder vorgestern ab dann meckert Grafana das an.

                    CephalopodC Offline
                    CephalopodC Offline
                    Cephalopod
                    schrieb zuletzt editiert von Cephalopod
                    #9

                    @icebear sagte:

                    Was ich damit sagen will: Wenn du oben rechts z.B. 'Today' als TimeRange eingestellt hast, und in deiner influxDB Abfrage fragst du Daten von gestern oder vorgestern ab dann meckert Grafana das an.

                    Oh.
                    Dann habe ich wohl was falsch verstanden. Ich dachte die Tasten oben rechts, also

                    99fb9e01-f4e0-4960-bec1-ad51c1ba9c6b-image.jpeg

                    erlauben ein beliebiges Navigieren durch die Datenbank.
                    Dabei gilt das also nur innerhalb der Flux-Abfrage.

                    Das ist ja blöd 😠

                    Gibt es eigentlich vergleichbare Programme, um ähnlich schöne Diagramme zu erstellen, die etwas Benutzerfreundlicher für Anfänger sind?

                    1 Antwort Letzte Antwort
                    0
                    • icebearI Online
                      icebearI Online
                      icebear
                      schrieb zuletzt editiert von
                      #10

                      Grafana ist da schon gut geeignet, wenn man ein paar Dinge beachtet, wie z.B. das mit der TimeRange.

                      Ich hab bei mir z.B. mehrere Dashboards, die alle eine unterschiedliche 'Default TimeRange' haben, damit ich nicht jedesmal über die Query Option die relative TimeRange und Timeshift einstellen muß.
                      Dashboards z.B. für 'Today' oder 'last 2 Days' oder 'last Month' usw.

                      Feineinstellungen deiner influxdb Abfrage kannst du auch unten über der Query mit dem Punkt 'QueryOption' machen, dort kannst du deine relative TimeRange und ein Timeshift expilizit für ein Panel unabhängig vom Dashboard machen

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      424

                      Online

                      32.8k

                      Benutzer

                      82.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