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

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    838

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    632

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

InflusDB2: Offset für to()

Geplant Angeheftet Gesperrt Verschoben InfluxDB
5 Beiträge 2 Kommentatoren 254 Aufrufe 2 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.
  • 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 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

            265

            Online

            32.8k

            Benutzer

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