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. InfluxDB
  5. InflusDB2: Offset für to()

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    450

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

InflusDB2: Offset für to()

Geplant Angeheftet Gesperrt Verschoben InfluxDB
5 Beiträge 2 Kommentatoren 242 Aufrufe 2 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.
  • Hendrik gr. AustingH Offline
    Hendrik gr. AustingH Offline
    Hendrik gr. Austing
    schrieb am zuletzt editiert von
    #1

    Hallo

    Ich bin gerade dabei mit Influx 2.7.1 meine ersten Erfahrungen zu sammeln. Ich möchte dabei die Energie einer Leistungskurve von einem Balkonkraftwerk tageweise ausrechnen. Anschließend soll dies in einer Datenbank geschrieben werden.
    Am Anfang hatte ich das Problem, dass bei der Abfrage als Zeitstempel immer 0:00:00 Uhr vom Foletag genommen wurde. Dies konnte ich mit einem Offset von 1s auf 23:59:59 hin bekommen.
    Leider werden die Werte aber im Bucket "Test" wieder mit 0:00:00 Uhr geschrieben. Wie bekomme ich hier einen Offset von 1s hin?

    import "timezone"
    
    option location = timezone.location(name: "Europe/Berlin")
    
    from(bucket: "iobroker")
        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
        |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Balkonkraftwerk.Leistung_gespart")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(
            every: 1h,
            
            fn: (tables=<-, column) =>
                tables
                    |> integral(unit: 1h)
                    |> map(fn: (r) => ({r with _value: r._value / 1000.0})),
            )
        |> aggregateWindow(fn: sum, offset: -1s, every: 1d)
    
        |> to(
            bucket: "Test",
            fieldFn: (r) => ({"kwH": r._value})
            ) 
    

    Ergebnis Abfrage
    bdfc9a5e-b1bd-43d5-a3b0-3da3e0393a30-grafik.png
    Ergebis "Test" Bucket
    659834cd-2e8f-4baf-8e2b-79ea58d790a1-grafik.png

    Gruß Hendrik

    Marc BergM 1 Antwort Letzte Antwort
    0
    • Hendrik gr. AustingH Hendrik gr. Austing

      Hallo

      Ich bin gerade dabei mit Influx 2.7.1 meine ersten Erfahrungen zu sammeln. Ich möchte dabei die Energie einer Leistungskurve von einem Balkonkraftwerk tageweise ausrechnen. Anschließend soll dies in einer Datenbank geschrieben werden.
      Am Anfang hatte ich das Problem, dass bei der Abfrage als Zeitstempel immer 0:00:00 Uhr vom Foletag genommen wurde. Dies konnte ich mit einem Offset von 1s auf 23:59:59 hin bekommen.
      Leider werden die Werte aber im Bucket "Test" wieder mit 0:00:00 Uhr geschrieben. Wie bekomme ich hier einen Offset von 1s hin?

      import "timezone"
      
      option location = timezone.location(name: "Europe/Berlin")
      
      from(bucket: "iobroker")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Balkonkraftwerk.Leistung_gespart")
          |> filter(fn: (r) => r["_field"] == "value")
          |> aggregateWindow(
              every: 1h,
              
              fn: (tables=<-, column) =>
                  tables
                      |> integral(unit: 1h)
                      |> map(fn: (r) => ({r with _value: r._value / 1000.0})),
              )
          |> aggregateWindow(fn: sum, offset: -1s, every: 1d)
      
          |> to(
              bucket: "Test",
              fieldFn: (r) => ({"kwH": r._value})
              ) 
      

      Ergebnis Abfrage
      bdfc9a5e-b1bd-43d5-a3b0-3da3e0393a30-grafik.png
      Ergebis "Test" Bucket
      659834cd-2e8f-4baf-8e2b-79ea58d790a1-grafik.png

      Gruß Hendrik

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von
      #2

      @hendrik-gr-austing sagte in InflusDB2: Offset für to():

      Ergebis "Test" Bucket

      Zeig mal die konkrete Abfrage, die zu diesem Ergebnis führt.

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      Hendrik gr. AustingH 1 Antwort Letzte Antwort
      0
      • Marc BergM Marc Berg

        @hendrik-gr-austing sagte in InflusDB2: Offset für to():

        Ergebis "Test" Bucket

        Zeig mal die konkrete Abfrage, die zu diesem Ergebnis führt.

        Hendrik gr. AustingH Offline
        Hendrik gr. AustingH Offline
        Hendrik gr. Austing
        schrieb am zuletzt editiert von
        #3

        @marc-berg

        from(bucket: "Test")
          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
          |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Balkonkraftwerk.Leistung_gespart")
          |> filter(fn: (r) => r["_field"] == "kwH")
          |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
          |> yield(name: "mean")
        
        Marc BergM 1 Antwort Letzte Antwort
        0
        • Hendrik gr. AustingH Hendrik gr. Austing

          @marc-berg

          from(bucket: "Test")
            |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
            |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Balkonkraftwerk.Leistung_gespart")
            |> filter(fn: (r) => r["_field"] == "kwH")
            |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
            |> yield(name: "mean")
          
          Marc BergM Offline
          Marc BergM Offline
          Marc Berg
          Most Active
          schrieb am zuletzt editiert von
          #4

          @hendrik-gr-austing sagte in InflusDB2: Offset für to():

          |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

          Du müsstest diese Zeile weglassen, um das "unverfälschte" Ergebnis zu bekommen.

          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

          Hendrik gr. AustingH 1 Antwort Letzte Antwort
          0
          • Marc BergM Marc Berg

            @hendrik-gr-austing sagte in InflusDB2: Offset für to():

            |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)

            Du müsstest diese Zeile weglassen, um das "unverfälschte" Ergebnis zu bekommen.

            Hendrik gr. AustingH Offline
            Hendrik gr. AustingH Offline
            Hendrik gr. Austing
            schrieb am zuletzt editiert von
            #5

            @marc-berg

            Danke, super, hat geklappt :+1:

            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

            902

            Online

            32.6k

            Benutzer

            81.9k

            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