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. Vergleichskurve in Grafana mit influx Daten

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Vergleichskurve in Grafana mit influx Daten

Geplant Angeheftet Gesperrt Verschoben Off Topic
29 Beiträge 4 Kommentatoren 2.2k 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.
  • maximal1981M maximal1981

    @dp20eic
    30 Tage zum spielen^^

    2023-03-04_22_28_influxdb_data.csv

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

    @maximal1981

    Moin,

    also nach dem Import der Daten in mein test_bucket und Einbinden in Grafana sehen die Abfragen bei mir wie folgt aus:

    Aktuelle Woche, mit difference(nonNegative: true ...
    438605c3-d139-4a1a-8b59-83c950ff1460-grafik.png

    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "test_bucket")
      |> range(start: -7d, stop: now())
      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
      |> filter(fn: (r) => r["_field"] == "value")
      |> set(key: "_field", value: "aktuelle Woche")
      //|> drop(columns:["from","ack", "q"])
      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
      |> difference(nonNegative: true, columns: ["_value"])
    

    Aktuelle Woche, mit difference(nonNegative: false ...
    bde31499-284b-478e-954b-952d11802841-grafik.png

    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "test_bucket")
      |> range(start: -7d, stop: now())
      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
      |> filter(fn: (r) => r["_field"] == "value")
      |> set(key: "_field", value: "aktuelle Woche")
      //|> drop(columns:["from","ack", "q"])
      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
      |> difference(nonNegative: false, columns: ["_value"])
    

    Aktuelle und vergangene Woche zusammen:
    6cb837a9-7eb1-467d-864d-ffa14fb8872d-grafik.png

    Query A:
    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "test_bucket")
      |> range(start: -7d, stop: now())
      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
      |> filter(fn: (r) => r["_field"] == "value")
      |> set(key: "_field", value: "aktuelle Woche")
      |> drop(columns:["from","ack", "q"])
      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
      |> difference(nonNegative: false, columns: ["_value"])
    
    Query B:
    import "timezone"
    option location = timezone.location(name: "Europe/Berlin")
    from(bucket: "test_bucket")
    |> range(start: -14d, stop: -7d)
    |> timeShift(duration: 7d)
    |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
    |> filter(fn: (r) => r["_field"] == "value")
    |> set(key: "_field", value: "letzte Woche")
    |> drop(columns:["from","ack", "q"])
    |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
    |> difference(nonNegative: false, columns: ["_value"])
    

    Also so wie ich das sehe, funktionieren die Abfragen.

    VG
    Bernd

    maximal1981M 1 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      @maximal1981

      Moin,

      also nach dem Import der Daten in mein test_bucket und Einbinden in Grafana sehen die Abfragen bei mir wie folgt aus:

      Aktuelle Woche, mit difference(nonNegative: true ...
      438605c3-d139-4a1a-8b59-83c950ff1460-grafik.png

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "test_bucket")
        |> range(start: -7d, stop: now())
        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
        |> filter(fn: (r) => r["_field"] == "value")
        |> set(key: "_field", value: "aktuelle Woche")
        //|> drop(columns:["from","ack", "q"])
        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
        |> difference(nonNegative: true, columns: ["_value"])
      

      Aktuelle Woche, mit difference(nonNegative: false ...
      bde31499-284b-478e-954b-952d11802841-grafik.png

      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "test_bucket")
        |> range(start: -7d, stop: now())
        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
        |> filter(fn: (r) => r["_field"] == "value")
        |> set(key: "_field", value: "aktuelle Woche")
        //|> drop(columns:["from","ack", "q"])
        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
        |> difference(nonNegative: false, columns: ["_value"])
      

      Aktuelle und vergangene Woche zusammen:
      6cb837a9-7eb1-467d-864d-ffa14fb8872d-grafik.png

      Query A:
      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "test_bucket")
        |> range(start: -7d, stop: now())
        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
        |> filter(fn: (r) => r["_field"] == "value")
        |> set(key: "_field", value: "aktuelle Woche")
        |> drop(columns:["from","ack", "q"])
        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
        |> difference(nonNegative: false, columns: ["_value"])
      
      Query B:
      import "timezone"
      option location = timezone.location(name: "Europe/Berlin")
      from(bucket: "test_bucket")
      |> range(start: -14d, stop: -7d)
      |> timeShift(duration: 7d)
      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
      |> filter(fn: (r) => r["_field"] == "value")
      |> set(key: "_field", value: "letzte Woche")
      |> drop(columns:["from","ack", "q"])
      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
      |> difference(nonNegative: false, columns: ["_value"])
      

      Also so wie ich das sehe, funktionieren die Abfragen.

      VG
      Bernd

      maximal1981M Offline
      maximal1981M Offline
      maximal1981
      schrieb am zuletzt editiert von
      #14

      @dp20eic
      danke für die Mühe. Aber irgendwas stimmt nicht. so sehen die Daten in influx aus:

      Unbenannt5.PNG

      negative Erzeugung gibt es ja nicht und die Werte stimmen auch nicht :blush:
      keine Ahnung was hier falsch läuft.

      und die Meldung bekomme ich unter Teil B bzw. links oben in der Diagramm-Ecke:
      Post "http://...:8086/api/v2/query?org=my-org": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

      ? 1 Antwort Letzte Antwort
      0
      • maximal1981M maximal1981

        @dp20eic
        danke für die Mühe. Aber irgendwas stimmt nicht. so sehen die Daten in influx aus:

        Unbenannt5.PNG

        negative Erzeugung gibt es ja nicht und die Werte stimmen auch nicht :blush:
        keine Ahnung was hier falsch läuft.

        und die Meldung bekomme ich unter Teil B bzw. links oben in der Diagramm-Ecke:
        Post "http://...:8086/api/v2/query?org=my-org": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

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

        @maximal1981 sagte in Vergleichskurve in Grafana mit influx Daten:

        negative Erzeugung gibt es ja nicht u

        Moin,
        doch, nach meinem Verständnis, bekommst Du negativ Werte, da Du ja zum Vortag berechnest, sagen wir mal Du hast 10, dann am nachfolgenden 12, dann ist das +2, wenn Du dann aber am dritten Tag 8 hast, dann ist das -4.

        Bei meinem Beispiel mit dem Stromverbrauch, der ist annähernd linear, somit immer nur +.

        Deine Werte sehen bei mir auch so aus:
        39b777ee-8f95-4419-864a-342e0645a131-grafik.png

        maximal1981M 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @maximal1981 sagte in Vergleichskurve in Grafana mit influx Daten:

          negative Erzeugung gibt es ja nicht u

          Moin,
          doch, nach meinem Verständnis, bekommst Du negativ Werte, da Du ja zum Vortag berechnest, sagen wir mal Du hast 10, dann am nachfolgenden 12, dann ist das +2, wenn Du dann aber am dritten Tag 8 hast, dann ist das -4.

          Bei meinem Beispiel mit dem Stromverbrauch, der ist annähernd linear, somit immer nur +.

          Deine Werte sehen bei mir auch so aus:
          39b777ee-8f95-4419-864a-342e0645a131-grafik.png

          maximal1981M Offline
          maximal1981M Offline
          maximal1981
          schrieb am zuletzt editiert von
          #16

          @dp20eic
          ok, so wollte ich das gar nicht :joy:
          bin das vermutlich falsch angegangen.

          Ich wollte eine Darstellung jeden Tages mit der Gesamterzeugung ohne Differenz im vergleich zur Vorwoche (damit ich optisch die Differenz sehe) :wink:

          Nur mal die aktuelle Woche und das macht aggregiert keinen Sinn, oder?


          Unbenannt6.PNG
          Unbenannt7.PNG

          from(bucket: "iobroker")
            |> range(start: -7d, stop: now())
            |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
            |> filter(fn: (r) => r["_field"] == "value")
            |> set(key: "_field", value: "aktuelle Woche")
            |> drop(columns:["from","ack", "q"])
            |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
          

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

            @maximal1981

            Moin,
            wie ermittelst Du?
            SourceAnalytix Adapter?
            Skript?

            Wenn, dann brauchst Du erst einmal einen echten totalen Wert, der nur größer werden kann. Dann kannst Du auch mit der ursprünglichen Abfrage arbeiten.

            Ich habe mal bei Deinen Tageswerten, in die Abfrage ein cumulativeSum hinzugefügt.

            import "timezone"
            option location = timezone.location(name: "Europe/Berlin")
            from(bucket: "test_bucket")
              |> range(start: -7d, stop: now())
              |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
              |> filter(fn: (r) => r["_field"] == "value")
              |> cumulativeSum(columns: ["_value"])
              |> set(key: "_field", value: "aktuelle Woche")
              |> drop(columns:["from","ack", "q"])
              |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
              //|> difference(nonNegative: false, columns: ["_value"])
            

            Dann sieht das für die Woche so aus:
            a4d5cf50-b4a5-4f58-bde6-008d92780c68-grafik.png

            Wenn ich dann die Vorwoche noch dazu hole, dann passt natürlich die X-Achse nicht mehr

            Query A:
            import "timezone"
            option location = timezone.location(name: "Europe/Berlin")
            from(bucket: "test_bucket")
              |> range(start: -7d, stop: now())
              |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
              |> filter(fn: (r) => r["_field"] == "value")
              |> cumulativeSum(columns: ["_value"])
              |> set(key: "_field", value: "aktuelle Woche")
              |> drop(columns:["from","ack", "q"])
              |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
              //|> difference(nonNegative: false, columns: ["_value"])
            
            Query B:
            import "timezone"
            option location = timezone.location(name: "Europe/Berlin")
            from(bucket: "test_bucket")
              |> range(start: -14d, stop: -7d)
              |> timeShift(duration: 7d)
              |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
              |> filter(fn: (r) => r["_field"] == "value")
              |> cumulativeSum(columns: ["_value"])
              |> set(key: "_field", value: "letzte Woche")
              |> drop(columns:["from","ack", "q"])
              |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
              //|> difference(nonNegative: false, columns: ["_value"])
            

            7ac2062c-107c-4eb9-8232-e3107978a612-grafik.png

            Ich schaue gerade wie ich die Zeitwerte aus Deinen Daten in Wochentag Namen ummodeln kann, dann würde man auf der X-Achse nur noch der Wochenname stehen

            VG
            Bernd

            maximal1981M 2 Antworten Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @maximal1981

              Moin,
              wie ermittelst Du?
              SourceAnalytix Adapter?
              Skript?

              Wenn, dann brauchst Du erst einmal einen echten totalen Wert, der nur größer werden kann. Dann kannst Du auch mit der ursprünglichen Abfrage arbeiten.

              Ich habe mal bei Deinen Tageswerten, in die Abfrage ein cumulativeSum hinzugefügt.

              import "timezone"
              option location = timezone.location(name: "Europe/Berlin")
              from(bucket: "test_bucket")
                |> range(start: -7d, stop: now())
                |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                |> filter(fn: (r) => r["_field"] == "value")
                |> cumulativeSum(columns: ["_value"])
                |> set(key: "_field", value: "aktuelle Woche")
                |> drop(columns:["from","ack", "q"])
                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                //|> difference(nonNegative: false, columns: ["_value"])
              

              Dann sieht das für die Woche so aus:
              a4d5cf50-b4a5-4f58-bde6-008d92780c68-grafik.png

              Wenn ich dann die Vorwoche noch dazu hole, dann passt natürlich die X-Achse nicht mehr

              Query A:
              import "timezone"
              option location = timezone.location(name: "Europe/Berlin")
              from(bucket: "test_bucket")
                |> range(start: -7d, stop: now())
                |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                |> filter(fn: (r) => r["_field"] == "value")
                |> cumulativeSum(columns: ["_value"])
                |> set(key: "_field", value: "aktuelle Woche")
                |> drop(columns:["from","ack", "q"])
                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                //|> difference(nonNegative: false, columns: ["_value"])
              
              Query B:
              import "timezone"
              option location = timezone.location(name: "Europe/Berlin")
              from(bucket: "test_bucket")
                |> range(start: -14d, stop: -7d)
                |> timeShift(duration: 7d)
                |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                |> filter(fn: (r) => r["_field"] == "value")
                |> cumulativeSum(columns: ["_value"])
                |> set(key: "_field", value: "letzte Woche")
                |> drop(columns:["from","ack", "q"])
                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                //|> difference(nonNegative: false, columns: ["_value"])
              

              7ac2062c-107c-4eb9-8232-e3107978a612-grafik.png

              Ich schaue gerade wie ich die Zeitwerte aus Deinen Daten in Wochentag Namen ummodeln kann, dann würde man auf der X-Achse nur noch der Wochenname stehen

              VG
              Bernd

              maximal1981M Offline
              maximal1981M Offline
              maximal1981
              schrieb am zuletzt editiert von
              #18

              @dp20eic
              achso, der wird täglich auf 0 gesetzt.
              also muss ich mir nur einen anderen Datenpunkt holen, das war mir nicht bewusst.

              1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                @maximal1981

                Moin,
                wie ermittelst Du?
                SourceAnalytix Adapter?
                Skript?

                Wenn, dann brauchst Du erst einmal einen echten totalen Wert, der nur größer werden kann. Dann kannst Du auch mit der ursprünglichen Abfrage arbeiten.

                Ich habe mal bei Deinen Tageswerten, in die Abfrage ein cumulativeSum hinzugefügt.

                import "timezone"
                option location = timezone.location(name: "Europe/Berlin")
                from(bucket: "test_bucket")
                  |> range(start: -7d, stop: now())
                  |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> cumulativeSum(columns: ["_value"])
                  |> set(key: "_field", value: "aktuelle Woche")
                  |> drop(columns:["from","ack", "q"])
                  |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                  //|> difference(nonNegative: false, columns: ["_value"])
                

                Dann sieht das für die Woche so aus:
                a4d5cf50-b4a5-4f58-bde6-008d92780c68-grafik.png

                Wenn ich dann die Vorwoche noch dazu hole, dann passt natürlich die X-Achse nicht mehr

                Query A:
                import "timezone"
                option location = timezone.location(name: "Europe/Berlin")
                from(bucket: "test_bucket")
                  |> range(start: -7d, stop: now())
                  |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> cumulativeSum(columns: ["_value"])
                  |> set(key: "_field", value: "aktuelle Woche")
                  |> drop(columns:["from","ack", "q"])
                  |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                  //|> difference(nonNegative: false, columns: ["_value"])
                
                Query B:
                import "timezone"
                option location = timezone.location(name: "Europe/Berlin")
                from(bucket: "test_bucket")
                  |> range(start: -14d, stop: -7d)
                  |> timeShift(duration: 7d)
                  |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> cumulativeSum(columns: ["_value"])
                  |> set(key: "_field", value: "letzte Woche")
                  |> drop(columns:["from","ack", "q"])
                  |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                  //|> difference(nonNegative: false, columns: ["_value"])
                

                7ac2062c-107c-4eb9-8232-e3107978a612-grafik.png

                Ich schaue gerade wie ich die Zeitwerte aus Deinen Daten in Wochentag Namen ummodeln kann, dann würde man auf der X-Achse nur noch der Wochenname stehen

                VG
                Bernd

                maximal1981M Offline
                maximal1981M Offline
                maximal1981
                schrieb am zuletzt editiert von
                #19

                @dp20eic
                jetzt geht zumindest A. B mag mich jedoch trotzdem nicht.

                Unbenannt.PNG
                eine neue csv falls benötigt

                from(bucket: "iobroker")
                 |> range(start: -7d, stop: now())
                 |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                 |> filter(fn: (r) => r["_field"] == "value")
                 |> set(key: "_field", value: "aktuelle Woche")
                 |> drop(columns:["from","ack", "q"])
                 |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                 |> difference(nonNegative: false, columns: ["_value"])
                
                from(bucket: "iobroker")
                |> range(start: -14d, stop: -7d)
                |> timeShift(duration: 7d)
                |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                |> filter(fn: (r) => r["_field"] == "value")
                |> set(key: "_field", value: "letzte Woche")
                |> drop(columns:["from","ack", "q"])
                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                |> difference(nonNegative: false, columns: ["_value"])
                

                2023-03-05_16_31_influxdb_data.csv

                ? 1 Antwort Letzte Antwort
                0
                • maximal1981M maximal1981

                  @dp20eic
                  jetzt geht zumindest A. B mag mich jedoch trotzdem nicht.

                  Unbenannt.PNG
                  eine neue csv falls benötigt

                  from(bucket: "iobroker")
                   |> range(start: -7d, stop: now())
                   |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                   |> filter(fn: (r) => r["_field"] == "value")
                   |> set(key: "_field", value: "aktuelle Woche")
                   |> drop(columns:["from","ack", "q"])
                   |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                   |> difference(nonNegative: false, columns: ["_value"])
                  
                  from(bucket: "iobroker")
                  |> range(start: -14d, stop: -7d)
                  |> timeShift(duration: 7d)
                  |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                  |> filter(fn: (r) => r["_field"] == "value")
                  |> set(key: "_field", value: "letzte Woche")
                  |> drop(columns:["from","ack", "q"])
                  |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                  |> difference(nonNegative: false, columns: ["_value"])
                  

                  2023-03-05_16_31_influxdb_data.csv

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

                  @maximal1981

                  Moin,

                  wenn Du jetzt aus einem Jahreswert aufbaust, dann ja, kannst mir da noch mal einen Abzug manchen.

                  2487b36b-b906-42c0-9b1f-41bac4df111b-grafik.png

                  Query A:
                  import "experimental/date/boundaries"
                  thisWeek = boundaries.week()
                  //lastWeek = boundaries.week(week_offset: -1)
                  
                  from(bucket: "test_bucket")
                    |> range(start: thisWeek.start, stop: thisWeek.stop)
                    //|> range(start: lastWeek.start, stop: lastWeek.stop)
                    //|> range(start: -7d, stop: now())
                    |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> cumulativeSum(columns: ["_value"])
                    |> set(key: "_field", value: "aktuelle Woche")
                    |> drop(columns:["from","ack", "q"])
                    |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                    //|> difference(nonNegative: false, columns: ["_value"])
                  
                  Query B:
                  import "experimental/date/boundaries"
                  //thisWeek = boundaries.week()
                  lastWeek = boundaries.week(week_offset: -1)
                  
                  from(bucket: "test_bucket")
                    //|> range(start: thisWeek.start, stop: thisWeek.stop)
                    |> range(start: lastWeek.start, stop: lastWeek.stop)
                    //|> range(start: -14d, stop: -7d)
                    |> timeShift(duration: 7d)
                    |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                    |> filter(fn: (r) => r["_field"] == "value")
                    |> cumulativeSum(columns: ["_value"])
                    |> set(key: "_field", value: "letzte Woche")
                    |> drop(columns:["from","ack", "q"])
                    |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                    //|> difference(nonNegative: false, columns: ["_value"])
                  

                  VG
                  Bernd

                  Edit
                  Hab die Datei gesehen, hat sich etwas versteckt :)

                  maximal1981M 1 Antwort Letzte Antwort
                  0
                  • ? Ein ehemaliger Benutzer

                    @maximal1981

                    Moin,

                    wenn Du jetzt aus einem Jahreswert aufbaust, dann ja, kannst mir da noch mal einen Abzug manchen.

                    2487b36b-b906-42c0-9b1f-41bac4df111b-grafik.png

                    Query A:
                    import "experimental/date/boundaries"
                    thisWeek = boundaries.week()
                    //lastWeek = boundaries.week(week_offset: -1)
                    
                    from(bucket: "test_bucket")
                      |> range(start: thisWeek.start, stop: thisWeek.stop)
                      //|> range(start: lastWeek.start, stop: lastWeek.stop)
                      //|> range(start: -7d, stop: now())
                      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                      |> filter(fn: (r) => r["_field"] == "value")
                      |> cumulativeSum(columns: ["_value"])
                      |> set(key: "_field", value: "aktuelle Woche")
                      |> drop(columns:["from","ack", "q"])
                      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                      //|> difference(nonNegative: false, columns: ["_value"])
                    
                    Query B:
                    import "experimental/date/boundaries"
                    //thisWeek = boundaries.week()
                    lastWeek = boundaries.week(week_offset: -1)
                    
                    from(bucket: "test_bucket")
                      //|> range(start: thisWeek.start, stop: thisWeek.stop)
                      |> range(start: lastWeek.start, stop: lastWeek.stop)
                      //|> range(start: -14d, stop: -7d)
                      |> timeShift(duration: 7d)
                      |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.01_Day.Energy.EnergyProductionTotal")
                      |> filter(fn: (r) => r["_field"] == "value")
                      |> cumulativeSum(columns: ["_value"])
                      |> set(key: "_field", value: "letzte Woche")
                      |> drop(columns:["from","ack", "q"])
                      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                      //|> difference(nonNegative: false, columns: ["_value"])
                    

                    VG
                    Bernd

                    Edit
                    Hab die Datei gesehen, hat sich etwas versteckt :)

                    maximal1981M Offline
                    maximal1981M Offline
                    maximal1981
                    schrieb am zuletzt editiert von
                    #21

                    @dp20eic
                    wenn ich das richtig gelesen habe, sind die Wochentage Settings in den Grundeinstellungen, somit muss man damit leben

                    ? 1 Antwort Letzte Antwort
                    0
                    • maximal1981M maximal1981

                      @dp20eic
                      wenn ich das richtig gelesen habe, sind die Wochentage Settings in den Grundeinstellungen, somit muss man damit leben

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

                      @maximal1981

                      Moin,

                      Mit den Jahreswerten:
                      9c94fc1f-3a94-4899-9ba3-537e941221b7-grafik.png

                      Query A = aktuelle Woche
                      import "timezone"
                      option location = timezone.location(name: "Europe/Berlin")
                      from(bucket: "test_bucket")
                        |> range(start: -7d, stop: now())
                        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                        |> filter(fn: (r) => r["_field"] == "value")
                        |> set(key: "_field", value: "aktuelle Woche")
                        |> drop(columns:["from","ack", "q"])
                        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                        |> difference(nonNegative: false, columns: ["_value"])
                      
                      Query B = letzte Woche
                      import "timezone"
                      option location = timezone.location(name: "Europe/Berlin")
                      from(bucket: "test_bucket")
                        |> range(start: -14d, stop: -7d)
                        |> timeShift(duration: 7d)
                        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                        |> filter(fn: (r) => r["_field"] == "value")
                        |> set(key: "_field", value: "letzte Woche")
                        |> drop(columns:["from","ack", "q"])
                        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                        |> difference(nonNegative: false, columns: ["_value"])
                      

                      So wenn ich auf die Woche schaue, also von Montag - Sonntag
                      286cdb9c-fb8f-424b-8c51-b56f7a62b691-grafik.png

                      Query A
                      import "experimental/date/boundaries"
                      thisWeek = boundaries.week()
                      //lastWeek = boundaries.week(week_offset: -1)
                      
                      from(bucket: "test_bucket")
                        |> range(start: thisWeek.start, stop: thisWeek.stop)
                        //|> range(start: lastWeek.start, stop: lastWeek.stop)
                        //|> range(start: -7d, stop: now())
                        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                        |> filter(fn: (r) => r["_field"] == "value")
                        //|> cumulativeSum(columns: ["_value"])
                        |> set(key: "_field", value: "aktuelle Woche")
                        |> drop(columns:["from","ack", "q"])
                        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                        |> difference(nonNegative: false, columns: ["_value"])
                      
                      
                      Query B
                      import "experimental/date/boundaries"
                      //thisWeek = boundaries.week()
                      lastWeek = boundaries.week(week_offset: -1)
                      
                      from(bucket: "test_bucket")
                        //|> range(start: thisWeek.start, stop: thisWeek.stop)
                        |> range(start: lastWeek.start, stop: lastWeek.stop)
                        //|> range(start: -14d, stop: -7d)
                        |> timeShift(duration: 7d)
                        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Solarweb.Current.06_Year.Energy.EnergyProductionTotal")
                        |> filter(fn: (r) => r["_field"] == "value")
                        //|> cumulativeSum(columns: ["_value"])
                        |> set(key: "_field", value: "letzte Woche")
                        |> drop(columns:["from","ack", "q"])
                        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_start", createEmpty: false)
                        |> difference(nonNegative: false, columns: ["_value"])
                      

                      Das mit der X-Achse bekomme ich auch noch hin, muss nur ab und an andere Dinge machen und bin dann von Mittwoch im Urlaub, etwas Sonne tanken :)

                      VG
                      Bernd

                      1 Antwort Letzte Antwort
                      0
                      • maximal1981M Offline
                        maximal1981M Offline
                        maximal1981
                        schrieb am zuletzt editiert von
                        #23

                        @dp20eic
                        dann flott Koffer richten, bei dem was ich dich bereits gequält habe, hast du dir das redlich verdient

                        ich glaube bei mir liegt irgendwas anderes quer.
                        Jedes Mal beim Teil B mit dem Versatz um 7 Tage rödelt der Aktualisierungskreis eine gefüllte Ewigkeit und dann wieder die tolle Meldung:

                        Post "http://xyz:8086/api/v2/query?org=my-org": net/http: timeout awaiting response headers (Client.Timeout exceeded while awaiting headers)

                        ? 1 Antwort Letzte Antwort
                        0
                        • maximal1981M maximal1981

                          @dp20eic
                          dann flott Koffer richten, bei dem was ich dich bereits gequält habe, hast du dir das redlich verdient

                          ich glaube bei mir liegt irgendwas anderes quer.
                          Jedes Mal beim Teil B mit dem Versatz um 7 Tage rödelt der Aktualisierungskreis eine gefüllte Ewigkeit und dann wieder die tolle Meldung:

                          Post "http://xyz:8086/api/v2/query?org=my-org": net/http: timeout awaiting response headers (Client.Timeout exceeded while awaiting headers)

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

                          @maximal1981 sagte in Vergleichskurve in Grafana mit influx Daten:

                          Post "http://xyz:8086/api/v2/query?org=my-org": net/http: timeout awaiting response headers (Client.Timeout exceeded while awaiting headers)

                          Moin,

                          habe den Überblick verloren, wie bist Du unterwegs?

                          Getrennte Docker, LXC Container, VMs?

                          Lass mal ein ping nebenher laufen vom Grafana zur influxDb und Stress das System mal.

                          Du siehst dann, wenn Du den ping stoppst

                          --- influxdb-v2-prod.fritz.box ping statistics ---
                          26 packets transmitted, 26 received, 0% packet loss, time 25035ms
                          rtt min/avg/max/mdev = 0.038/0.059/0.078/0.009 ms
                          

                          Und schau mal ob Du packete verlierst.

                          VG
                          Bernd

                          maximal1981M 1 Antwort Letzte Antwort
                          0
                          • ? Ein ehemaliger Benutzer

                            @maximal1981 sagte in Vergleichskurve in Grafana mit influx Daten:

                            Post "http://xyz:8086/api/v2/query?org=my-org": net/http: timeout awaiting response headers (Client.Timeout exceeded while awaiting headers)

                            Moin,

                            habe den Überblick verloren, wie bist Du unterwegs?

                            Getrennte Docker, LXC Container, VMs?

                            Lass mal ein ping nebenher laufen vom Grafana zur influxDb und Stress das System mal.

                            Du siehst dann, wenn Du den ping stoppst

                            --- influxdb-v2-prod.fritz.box ping statistics ---
                            26 packets transmitted, 26 received, 0% packet loss, time 25035ms
                            rtt min/avg/max/mdev = 0.038/0.059/0.078/0.009 ms
                            

                            Und schau mal ob Du packete verlierst.

                            VG
                            Bernd

                            maximal1981M Offline
                            maximal1981M Offline
                            maximal1981
                            schrieb am zuletzt editiert von maximal1981
                            #25

                            @dp20eic
                            ich hab mal ein grafana update gemacht.

                            War ein großer Fehler, da meine dashboards nicht mehr angezeigt wurden, da die settings auf default gesetzt werden.

                            Ist aber leicht zu fixen wenn man eine Ahnung hat warum (hatte ich aber nicht^^), deswegen hier gleich mal die nötigen Schritte:

                            • die grafana setting Datei ausfindig machen
                            • und folgende Werte darin anpassen:
                            [auth.anonymous]
                            # enable anonymous access
                            enabled = true
                            
                            # specify organization name that should be used for unauthenticated users
                            org_name = Main Org.  <-- egal welche Org ihr habt nicht ändern
                            
                            # specify role for unauthenticated users
                            org_role = Viewer
                            
                            # mask the Grafana version number for unauthenticated users
                            # Geschmacksache entscheidet selbst
                            hide_version = true
                            
                            #################################### Security ############################
                            [security]
                            /* ein wenig runter, ist für iobroker notwendig; direkt geht es aber natürlich nicht eingebettet sagt auch der Schalter
                             
                            set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false. */
                            allow_embedding = true
                            

                            jetzt aber zurück zum Grundproblem.
                            läuft aktuell alles auf einem Lenovo X1 mit einem i5 und Win 10 ohne Virtualisierung also alles direkt installiert.
                            Habe mich via rdp drauf geschmissen und das panel neu berechnen lassen und musste mir selbst das tolle Bild reinziehen
                            Unbenannt7.PNG Unbenannt6.PNG

                            influx war kurzfristig über 2 GB RAM und geht dann idle wieder auf ca. 250 MB zurück. Jedich bekomme ich dort keinen Fehler angezeigt, aber auch nicht den Teil B.

                            Nächste Möglichkeit wäre influx Update, hoffe nur das geht besser von der Hand und ich zerschieße mir nichts.

                            ? 1 Antwort Letzte Antwort
                            0
                            • maximal1981M maximal1981

                              @dp20eic
                              ich hab mal ein grafana update gemacht.

                              War ein großer Fehler, da meine dashboards nicht mehr angezeigt wurden, da die settings auf default gesetzt werden.

                              Ist aber leicht zu fixen wenn man eine Ahnung hat warum (hatte ich aber nicht^^), deswegen hier gleich mal die nötigen Schritte:

                              • die grafana setting Datei ausfindig machen
                              • und folgende Werte darin anpassen:
                              [auth.anonymous]
                              # enable anonymous access
                              enabled = true
                              
                              # specify organization name that should be used for unauthenticated users
                              org_name = Main Org.  <-- egal welche Org ihr habt nicht ändern
                              
                              # specify role for unauthenticated users
                              org_role = Viewer
                              
                              # mask the Grafana version number for unauthenticated users
                              # Geschmacksache entscheidet selbst
                              hide_version = true
                              
                              #################################### Security ############################
                              [security]
                              /* ein wenig runter, ist für iobroker notwendig; direkt geht es aber natürlich nicht eingebettet sagt auch der Schalter
                               
                              set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false. */
                              allow_embedding = true
                              

                              jetzt aber zurück zum Grundproblem.
                              läuft aktuell alles auf einem Lenovo X1 mit einem i5 und Win 10 ohne Virtualisierung also alles direkt installiert.
                              Habe mich via rdp drauf geschmissen und das panel neu berechnen lassen und musste mir selbst das tolle Bild reinziehen
                              Unbenannt7.PNG Unbenannt6.PNG

                              influx war kurzfristig über 2 GB RAM und geht dann idle wieder auf ca. 250 MB zurück. Jedich bekomme ich dort keinen Fehler angezeigt, aber auch nicht den Teil B.

                              Nächste Möglichkeit wäre influx Update, hoffe nur das geht besser von der Hand und ich zerschieße mir nichts.

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

                              @maximal1981

                              Moin,

                              Backup, ist besser zu haben, als zu brauchen :)

                              Leider bin ich bei Windows raus, ist definitiv nicht meine Baustelle.

                              VG
                              Bernd

                              maximal1981M 1 Antwort Letzte Antwort
                              0
                              • ? Ein ehemaliger Benutzer

                                @maximal1981

                                Moin,

                                Backup, ist besser zu haben, als zu brauchen :)

                                Leider bin ich bei Windows raus, ist definitiv nicht meine Baustelle.

                                VG
                                Bernd

                                maximal1981M Offline
                                maximal1981M Offline
                                maximal1981
                                schrieb am zuletzt editiert von
                                #27

                                @dp20eic
                                backup hatte ich, nur die ini hatte ich übersehen.

                                ich hoffe, dass es ein Win 10 Problem ist, bin wegen Leistungsproblemen von einem Raspi 4 auf Win 10 umgestiegen. Warte noch auf einen günstigen und vernünftigen NUC um mit Proxmox zu starten, sofern mir keiner was besseres erzählt.

                                vor der DB Update hab ich aber ein wenig Respekt. würdest du das aktuelle Verhalten echt auf Windows schieben?
                                Recht viel bleibt nicht mehr über außer DB Version

                                ? 1 Antwort Letzte Antwort
                                0
                                • maximal1981M maximal1981

                                  @dp20eic
                                  backup hatte ich, nur die ini hatte ich übersehen.

                                  ich hoffe, dass es ein Win 10 Problem ist, bin wegen Leistungsproblemen von einem Raspi 4 auf Win 10 umgestiegen. Warte noch auf einen günstigen und vernünftigen NUC um mit Proxmox zu starten, sofern mir keiner was besseres erzählt.

                                  vor der DB Update hab ich aber ein wenig Respekt. würdest du das aktuelle Verhalten echt auf Windows schieben?
                                  Recht viel bleibt nicht mehr über außer DB Version

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

                                  @maximal1981

                                  Moin,
                                  kann ich wirklich nicht einschätzen, dazu kenne ich mich mit Win zu wenig aus.

                                  Die Abfragen kann man ja abschalten
                                  2638ea78-18b2-4ccd-9973-0356c005e74a-grafik.png

                                  Knips mal A aus und nur B und dann mal andersherum.

                                  VG
                                  Bernd

                                  maximal1981M 1 Antwort Letzte Antwort
                                  0
                                  • ? Ein ehemaliger Benutzer

                                    @maximal1981

                                    Moin,
                                    kann ich wirklich nicht einschätzen, dazu kenne ich mich mit Win zu wenig aus.

                                    Die Abfragen kann man ja abschalten
                                    2638ea78-18b2-4ccd-9973-0356c005e74a-grafik.png

                                    Knips mal A aus und nur B und dann mal andersherum.

                                    VG
                                    Bernd

                                    maximal1981M Offline
                                    maximal1981M Offline
                                    maximal1981
                                    schrieb am zuletzt editiert von
                                    #29

                                    @dp20eic
                                    A geht sofort, bei B kommt jetzt aber auch erst nach einer Weile:
                                    Bar charts requires a string or time field

                                    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

                                    821

                                    Online

                                    32.4k

                                    Benutzer

                                    81.5k

                                    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