Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Grafana Zeitbereich "gestern von 6-21Uhr"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Grafana Zeitbereich "gestern von 6-21Uhr"

    This topic has been deleted. Only users with topic management privileges can see it.
    • zaphod66
      zaphod66 @Marc Berg last edited by

      @marc-berg said in Grafana Zeitbereich "gestern von 6-21Uhr":

      import "date"

      Hallo Marc Berg,

      danke für die Info und Mühe... Leid erkomme ich nicht weiter.. ich bekomme immer Fehlermeldungen. Bin mit der Syntax absolut nicht vertraut..

      Status: 500. Message: invalid: compilation failed: error @6:3-6:9: invalid statement: import

      from(bucket: "evcc")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "gridPower" or r["_measurement"] == "gridPowers")
        |> filter(fn: (r) => r["_field"] == "l1" or r["_field"] == "l2" or r["_field"] == "l3")
        |> hourSelection(start: 6, stop: 21)
        import "date" 
        date.truncate(t: now(), unit: 1d) 
      

      kannst du dir das mal anschauen? Besten Dank schon mal.

      1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active last edited by Marc Berg

        @zaphod66 sagte in Grafana Zeitbereich "gestern von 6-21Uhr":

        from(bucket: "evcc")

        Ohne die Quelldaten zu kennen etwas schwierig, aber versuch's mal so:

        import "date"
        import "timezone"
        option location = timezone.location(name: "Europe/Berlin")
        
        from(bucket: "evcc")
          |> range(start: date.add(d:-1d, to:today()), stop: today())
          |> filter(fn: (r) => r["_measurement"] == "gridPower" or r["_measurement"] == "gridPowers")
          |> filter(fn: (r) => r["_field"] == "l1" or r["_field"] == "l2" or r["_field"] == "l3")
          |> hourSelection(start: 6, stop: 21)
        

        Die Werte bei "hourSelection" ggf. noch anpassen, da hier die UTC Zeiten genommen werden.

        Edit: habe die Start/Stop Parameter noch angepasst, damit immer der vorherige Tag selektiert wird, unabhängig davon welcher Timerange in Grafana eingestellt ist.

        Marc Berg zaphod66 2 Replies Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @Marc Berg last edited by

          @marc-berg sagte in Grafana Zeitbereich "gestern von 6-21Uhr":
          Alternativ ginge das auch so:

          import "date"
          import "timezone"
          option location = timezone.location(name: "Europe/Berlin")
          
          from(bucket: "evcc")
            |> range(start: date.add(d:-18h, to:today()), stop: date.add(d:-3h, to:today()))
            |> filter(fn: (r) => r["_measurement"] == "gridPower" or r["_measurement"] == "gridPowers")
            |> filter(fn: (r) => r["_field"] == "l1" or r["_field"] == "l2" or r["_field"] == "l3")
          

          Über den "Range" Filter sagst du
          Start: heute Mitternacht - 18 Stunden (gestern 6 Uhr)
          Stop: heute Mitternacht - 3 Stunden (gestern 21 Uhr)

          1 Reply Last reply Reply Quote 1
          • zaphod66
            zaphod66 @Marc Berg last edited by

            @marc-berg besten dank... bekomme aber immer noch folgenden Fehler..

            Status: 500. Message: invalid: error in building plan while starting program: cannot query an empty range

            Habe hier schon mal gelesden, werde aber nicht schlau draus..

            https://github.com/influxdata/flux/issues/3543

            heliodor created this issue in influxdata/flux

            closed Error querying empty time range #3543

            Marc Berg 1 Reply Last reply Reply Quote 0
            • Marc Berg
              Marc Berg Most Active @zaphod66 last edited by Marc Berg

              @zaphod66 sagte in Grafana Zeitbereich "gestern von 6-21Uhr":

              @marc-berg besten dank... bekomme aber immer noch folgenden Fehler..

              Status: 500. Message: invalid: error in building plan while starting program: cannot query an empty range

              Darum habe ich die Query noch angepasst, damit du unabhängig von der in Grafana eingestellten Timerange (start: v.timeRangeStart, stop: v.timeRangeStop) bist. Versuch mal damit.

              zaphod66 1 Reply Last reply Reply Quote 0
              • zaphod66
                zaphod66 @Marc Berg last edited by

                @marc-berg hat geklappt! Besten Dank nochmal dafür!

                Ich kann jetzt den aktuellen und den gestrigen Tag anzeigen lassen.

                6d976b08-4cbe-4781-a6fe-5c3ccf8bbf0c-grafik.png

                Ich habe das gleiche jetzt auch mit dem Wert "homePower" versucht, aber da bleiben die Werte bei null. Liegt vermutlich an der Bereitstellung durch Influx.

                import "date"
                import "timezone"
                option location = timezone.location(name: "Europe/Berlin")
                
                from(bucket: "evcc")
                  |> range(start: date.add(d:-18h, to:today()), stop: date.add(d:-3h, to:today()))
                  |> filter(fn: (r) => r["_measurement"] == "homePower" and r["_field"] == "value")
                  |> aggregateWindow(every: 1h, fn: mean, timeSrc: "_start")
                  |> yield(name: "mean")
                

                648dfa3f-51a7-401c-a740-31a0bd677bad-grafik.png

                Marc Berg 1 Reply Last reply Reply Quote 0
                • Marc Berg
                  Marc Berg Most Active @zaphod66 last edited by Marc Berg

                  @zaphod66 sagte in Grafana Zeitbereich "gestern von 6-21Uhr":

                  Ich habe das gleiche jetzt auch mit dem Wert "homePower" versucht, aber da bleiben die Werte bei null. Liegt vermutlich an der Bereitstellung durch Influx.

                  Dazu müsste man mal die Quelldaten sehen, um das zu beurteilen, also einfach mal eine Mini-Abfrage machen und als Tabelle anzeigen lassen:

                  from(bucket: "evcc")
                    |> range(start: -10d)
                    |> filter(fn: (r) => r["_measurement"] == "homePower")
                  

                  Btw: ist es gewollt, dass die Zeit nicht im 24h Format angezeigt wird?

                  7607dd0a-8b0c-4871-9340-040819384fa8-grafik.png

                  zaphod66 1 Reply Last reply Reply Quote 0
                  • zaphod66
                    zaphod66 @Marc Berg last edited by

                    @marc-berg said in Grafana Zeitbereich "gestern von 6-21Uhr":

                    from(bucket: "evcc")

                    Eigenverbrauch-data-2023-05-04 16 55 31.csv

                    Nein, das Zeitformat ist so nicht gewollt. Der Tag muss nicht angezeigt werden und die Stunden im 24h Format nicht im 12h Format.

                    Marc Berg 1 Reply Last reply Reply Quote 0
                    • Marc Berg
                      Marc Berg Most Active @zaphod66 last edited by Marc Berg

                      @zaphod66

                      Mit Tabelle meinte ich dieses hier in Grafana:

                      8652aff6-c958-4b50-8037-74bcba521972-grafik.png

                      Aber egal, scheinbar wird ja "kW" mit abgespeichert und damit ist diese Spalte ein String. Damit kann Grafana meines Wissens nichts anfangen.

                      In der grafana.ini kann man die Zeitdarstellung anpassen, damit bekommst du zumindest die 24h Darstellung hin.

                      [date_formats]
                      # For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
                      
                      # Default system date format used in time range picker and other places where full time is displayed
                      full_date = DD.MM.YYYY HH:mm:ss
                      
                      # Used by graph and other places where we only show small intervals
                      interval_second = HH:mm:ss
                      interval_minute = HH:mm
                      interval_hour = DD.MM. HH:mm
                      interval_day = DD.MM.
                      interval_month = MM.YYYY
                      interval_year = YYYY
                      
                      zaphod66 1 Reply Last reply Reply Quote 0
                      • zaphod66
                        zaphod66 @Marc Berg last edited by

                        @marc-berg vielen Dank! dann probiere ich das mal! 👍

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        861
                        Online

                        31.8k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        2
                        12
                        583
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo