Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. InfluxDB
  5. inflxudb kurze Speicherdauer einstellen

NEWS

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

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

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

inflxudb kurze Speicherdauer einstellen

Geplant Angeheftet Gesperrt Verschoben InfluxDB
26 Beiträge 6 Kommentatoren 3.2k Aufrufe 4 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.
  • C cbrocker

    @mickym wow, da hast dich echt reingekniet, da ja auch alles auf englisch ist.
    Ja, so ein SmartHome System erfordert dann Kenntnisse in 30 weitere Dinge/Programmiersprachen/Datenbanken usw.
    Aber das macht echt Spaß 🙂

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #11

    @cbrocker Ja aber wieder viel vergessen - da gibts Leute, die hier viel fitter sind. Aber dieser Grundlagen oder dass die Retention Time des Adapters mit dem des iobroker buckets übereinstimmt, habe ich halt selbst schon festgestellt. 😉

    Und das Telegraf ist wieder ein eigenes System mit dem Du direkt Dinge überwachen kannst, das habe ich mal auf meinem Windows und auf dem Raspberry ausprobiert. Aber es sind richtige Agenten die auf den Zielsystemen laufen. Der Vorteil ist, dass Du damit Daten systemübergreifend sammeln kannst. Ist aber auch eine Wissenschaft für sich. Manchmal kniet man sich bissi rein und dann lässt man es wieder. In Teilbereichen kannst Du damit auch iobroker Adapter ersetzen. Aber manchmal führen zuviele Wege nach Rom. 😉

    Also ich bin da kein Fachmann drin, auch wenn ich Dir glaube für Deine Frage eine fachlich richtige Auskunft gegeben habe.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    C 1 Antwort Letzte Antwort
    1
    • mickymM mickym

      @cbrocker Ja aber wieder viel vergessen - da gibts Leute, die hier viel fitter sind. Aber dieser Grundlagen oder dass die Retention Time des Adapters mit dem des iobroker buckets übereinstimmt, habe ich halt selbst schon festgestellt. 😉

      Und das Telegraf ist wieder ein eigenes System mit dem Du direkt Dinge überwachen kannst, das habe ich mal auf meinem Windows und auf dem Raspberry ausprobiert. Aber es sind richtige Agenten die auf den Zielsystemen laufen. Der Vorteil ist, dass Du damit Daten systemübergreifend sammeln kannst. Ist aber auch eine Wissenschaft für sich. Manchmal kniet man sich bissi rein und dann lässt man es wieder. In Teilbereichen kannst Du damit auch iobroker Adapter ersetzen. Aber manchmal führen zuviele Wege nach Rom. 😉

      Also ich bin da kein Fachmann drin, auch wenn ich Dir glaube für Deine Frage eine fachlich richtige Auskunft gegeben habe.

      C Offline
      C Offline
      cbrocker
      schrieb am zuletzt editiert von
      #12

      @mickym ja, das hat mir schon weitergeholfen von dir.

      Stimmt, mit Telegraf und Chronograph usw. könnte man weitermachen...
      Aber ich denke, für das eigene SmartHome braucht man so Zeugs nicht wirklich

      Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

      1 Antwort Letzte Antwort
      0
      • Marc BergM Offline
        Marc BergM Offline
        Marc Berg
        Most Active
        schrieb am zuletzt editiert von Marc Berg
        #13

        @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

        ich lese gerade in der influxdb Doku folgendes:

        A database can have multiple retention policies with one set as default. If no retention policy is specified in a query or write request, InfluxDB uses the default retention policy for the specified database. Use the influx CLI or the InfluxDB API to set a retention policy as the default retention policy for a database.

        Dann könnte es doch möglich sein, unterschiedl. Aufbewahrungsrichtlinien einzustellen.

        Das gibt es in der Influxdb 2.x nicht mehr. Ein Bucket = eine Retention Time.

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

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

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

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

          @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

          @mickym ja, das hat mir schon weitergeholfen von dir.

          Stimmt, mit Telegraf und Chronograph usw. könnte man weitermachen...
          Aber ich denke, für das eigene SmartHome braucht man so Zeugs nicht wirklich

          Moin,

          ich nutze ein Bucket für den ioBroker in den alle DP geschrieben werden, dieser hat nur eine geringe Halbwertzeit von 15 Tagen 🙂
          Anschließend mache ich innerhalb von influxDB Downsampling der Daten aus dem ioBroker - Bucket in ein Bucket, das die Daten für einen Monat hält, wo ich dann wieder ein Downsampling mache und in ein Quartals - Bucket schreibe und dann nochmal aus dem Quartals - Bucket, in das Jahres - Bucket.

          Ist am Anfang viel Arbeit, aber ich denke, wenn ich damit fertig bin, habe ich meine Daten gut im Griff und kann dann auch schnell Diagramme auf Basis der Buckets machen.

          Das ganze läuft aktuell noch alles in einer Testphase, da ich noch auf meine endgültige Hardware warte, die leider erst Ende Mai, Anfang Juni kommt, da es ein Kickstarter Deal ist 🙃

          VG
          Bernd

          C 1 Antwort Letzte Antwort
          1
          • ? Ein ehemaliger Benutzer

            @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

            @mickym ja, das hat mir schon weitergeholfen von dir.

            Stimmt, mit Telegraf und Chronograph usw. könnte man weitermachen...
            Aber ich denke, für das eigene SmartHome braucht man so Zeugs nicht wirklich

            Moin,

            ich nutze ein Bucket für den ioBroker in den alle DP geschrieben werden, dieser hat nur eine geringe Halbwertzeit von 15 Tagen 🙂
            Anschließend mache ich innerhalb von influxDB Downsampling der Daten aus dem ioBroker - Bucket in ein Bucket, das die Daten für einen Monat hält, wo ich dann wieder ein Downsampling mache und in ein Quartals - Bucket schreibe und dann nochmal aus dem Quartals - Bucket, in das Jahres - Bucket.

            Ist am Anfang viel Arbeit, aber ich denke, wenn ich damit fertig bin, habe ich meine Daten gut im Griff und kann dann auch schnell Diagramme auf Basis der Buckets machen.

            Das ganze läuft aktuell noch alles in einer Testphase, da ich noch auf meine endgültige Hardware warte, die leider erst Ende Mai, Anfang Juni kommt, da es ein Kickstarter Deal ist 🙃

            VG
            Bernd

            C Offline
            C Offline
            cbrocker
            schrieb am zuletzt editiert von
            #15

            @dp20eic Hey, das ist ein interessanter Ansatz.
            Machst du dann Grafana Diagramme nur mit den Daten aus dem Jahres-Bucket oder auch von den anderen?

            Sprich, deine längste Aufbewahrungsdauer ist aber 1 Jahr?

            Was für ne Hardware hast du bestellt?

            Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

            ? 1 Antwort Letzte Antwort
            0
            • C cbrocker

              @spacerx
              ich lese gerade in der influxdb Doku folgendes:

              A database can have multiple retention policies with one set as default. If no retention policy is specified in a query or write request, InfluxDB uses the default retention policy for the specified database. Use the influx CLI or the InfluxDB API to set a retention policy as the default retention policy for a database.

              Dann könnte es doch möglich sein, unterschiedl. Aufbewahrungsrichtlinien einzustellen.
              Das heißt, rumtüfteln...

              S Offline
              S Offline
              SpacerX
              schrieb am zuletzt editiert von SpacerX
              #16

              @cbrocker Hier mal mein Beitrag zum Thema Retentionpolice.https://forum.iobroker.net/topic/58462/datenaufzeichnung-retention-influxdb-2-0/16

              Ich hab das für mich so gelöst das ich im ioBroker Bucket eine Aufbewahrungzeit von 3 Monaten eingestellt habe.
              Alles was ich länger haben möchte, wird mit Downsampling in andere Buckets geschrieben.

              DS720|Nuc8i3BEH|Proxmox|RaspberryMatic|ioBroker|influxDB2|Grafana

              C 1 Antwort Letzte Antwort
              0
              • S SpacerX

                @cbrocker Hier mal mein Beitrag zum Thema Retentionpolice.https://forum.iobroker.net/topic/58462/datenaufzeichnung-retention-influxdb-2-0/16

                Ich hab das für mich so gelöst das ich im ioBroker Bucket eine Aufbewahrungzeit von 3 Monaten eingestellt habe.
                Alles was ich länger haben möchte, wird mit Downsampling in andere Buckets geschrieben.

                C Offline
                C Offline
                cbrocker
                schrieb am zuletzt editiert von
                #17

                @spacerx danke für die Infos und Links. Das ist natürlich so ideal. Muß ich mir tatsächlich genauer anschauen, genauso wäre es für mich passend.
                Wird immer umfangreicher, mit was man sich beschäftigen kann 🙂

                Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

                1 Antwort Letzte Antwort
                0
                • C cbrocker

                  @dp20eic Hey, das ist ein interessanter Ansatz.
                  Machst du dann Grafana Diagramme nur mit den Daten aus dem Jahres-Bucket oder auch von den anderen?

                  Sprich, deine längste Aufbewahrungsdauer ist aber 1 Jahr?

                  Was für ne Hardware hast du bestellt?

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

                  @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                  @dp20eic Hey, das ist ein interessanter Ansatz.

                  Moin,

                  hab den Post von @SpacerX nicht weiter verfolgt, ich lasse alle Datenpunkte in mein iobroker Bucket schreiben, also alles ob nun sekündlich oder nur alle paar Stunden ein Wert kommt.

                  Machst du dann Grafana Diagramme nur mit den Daten aus dem Jahres-Bucket oder auch von den anderen?

                  Ich mache auch von den anderen Buckets Diagrammen, z.B. Spritpreise bleiben nur im iobroker Bucket für 15 Tage, daraus baue ich mir die Anzeige für den Tag, da mir eine Aggregierung auf Tag nicht für den aktuell günstigsten Preis hilft 😉
                  Bei anderen, wie z. B. Strom, Gas und Wasser ist es auch unterschiedlich, Strom will ich den aktuellen Verbrauch sehen → 15 Tages Bucket, dann aber auch wie war der Verbrauch gestern über den Tag im Vergleich zum Vortag oder Woche zur Vorwoche nehme ich dann aber nicht mehr die Daten aus dem 15 Tages Bucket, sondern schon aggregierte Werte aus einem anderen Bucket. Beim Wasser ist es dann nicht der aktuelle Wert der mich interessiert, sondern vielleicht nur noch der Verbrauch im Monat oder Quartal.

                  Ich stelle ich mir die Frage, welche Werte brauche ich länger als die eingestellten 15 Tage, z. B. Stromverbrauch total, möchte ich mindestens zwei Jahre zurückverfolgen, also aggregiere ich täglich, kurz nach Mitternacht, die Werte des Datenpunkts und schreibe ihn in ein eigenes Bucket, hier speziell noch eins nur für Strom, mit eigener Org. und eigenem Token.

                  import "timezone"
                  
                  option task = {name: "Downsampling Vb_Stromzaehler", cron: "15 0 * * *"}
                  
                  option location = timezone.location(name: "Europe/Berlin")
                  
                  data =
                      from(bucket: "iobroker_strom")
                          |> range(start: -2mo, stop: now())
                          |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh")
                          |> filter(fn: (r) => r["_field"] == "value")
                          // Spalten "_start", "_stop", "ack", "from", "q", ausschliessen
                          |> drop(columns: ["ack", "q", "from"])
                  
                  data
                      |> aggregateWindow(every: 1d, fn: last, timeSrc: "_time")
                      // In Wh ohne Komma
                      |> toInt()
                      |> set(key: "_measurement", value: "Hauptzaehler")
                      // Use the to() function to validate that the results look correct. This is optional.
                      |> to(bucket: "Stromverbrauch", org: "iobroker_strom")
                  

                  398b81ff-653c-4ec4-85ed-1b411a16e0bc-grafik.png

                  Aktuell erstelle ich mir eine Liste mit den DP, die ich archiviere, damit ich mir einen Überblick verschaffen kann, wie ich welchen Wert brauche
                  Beispiel:

                  dp 15 T Monatswert Quartalswert Jahreswert für immer
                  sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh X X X
                  tankerkoemig.0.e10 X X

                  Sprich, deine längste Aufbewahrungsdauer ist aber 1 Jahr?

                  Aktuell Ja, ich habe aber auch erst z. B. mit Strom dieses Jahr im Jan. angefangen, ich beobachte mal wie was anwächst, das ist ja auch ein Vorteil des Downsampling, dass die Menge der gespeicherten Daten geringer wird.

                  Was für ne Hardware hast du bestellt?

                  Zwei davon https://www.kickstarter.com/projects/storaxa/fully-customizable-home-cloud-storage-with-remote-access-nas?lang=de
                  56b22a31-f356-4abf-b9ba-ae43770b1946-grafik.png
                  Mit je 64 GB Memory, aber noch ohne M.2 oder SSD, da nutze ich das Vorhandene aus meiner DS716 + DX510, wenn aber die Preise für M.2 weiter so attraktiv sind, werde ich mir da wohl noch die ein oder andere holen 🙂

                  VG
                  Bernd

                  C 2 Antworten Letzte Antwort
                  1
                  • ? Ein ehemaliger Benutzer

                    @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                    @dp20eic Hey, das ist ein interessanter Ansatz.

                    Moin,

                    hab den Post von @SpacerX nicht weiter verfolgt, ich lasse alle Datenpunkte in mein iobroker Bucket schreiben, also alles ob nun sekündlich oder nur alle paar Stunden ein Wert kommt.

                    Machst du dann Grafana Diagramme nur mit den Daten aus dem Jahres-Bucket oder auch von den anderen?

                    Ich mache auch von den anderen Buckets Diagrammen, z.B. Spritpreise bleiben nur im iobroker Bucket für 15 Tage, daraus baue ich mir die Anzeige für den Tag, da mir eine Aggregierung auf Tag nicht für den aktuell günstigsten Preis hilft 😉
                    Bei anderen, wie z. B. Strom, Gas und Wasser ist es auch unterschiedlich, Strom will ich den aktuellen Verbrauch sehen → 15 Tages Bucket, dann aber auch wie war der Verbrauch gestern über den Tag im Vergleich zum Vortag oder Woche zur Vorwoche nehme ich dann aber nicht mehr die Daten aus dem 15 Tages Bucket, sondern schon aggregierte Werte aus einem anderen Bucket. Beim Wasser ist es dann nicht der aktuelle Wert der mich interessiert, sondern vielleicht nur noch der Verbrauch im Monat oder Quartal.

                    Ich stelle ich mir die Frage, welche Werte brauche ich länger als die eingestellten 15 Tage, z. B. Stromverbrauch total, möchte ich mindestens zwei Jahre zurückverfolgen, also aggregiere ich täglich, kurz nach Mitternacht, die Werte des Datenpunkts und schreibe ihn in ein eigenes Bucket, hier speziell noch eins nur für Strom, mit eigener Org. und eigenem Token.

                    import "timezone"
                    
                    option task = {name: "Downsampling Vb_Stromzaehler", cron: "15 0 * * *"}
                    
                    option location = timezone.location(name: "Europe/Berlin")
                    
                    data =
                        from(bucket: "iobroker_strom")
                            |> range(start: -2mo, stop: now())
                            |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh")
                            |> filter(fn: (r) => r["_field"] == "value")
                            // Spalten "_start", "_stop", "ack", "from", "q", ausschliessen
                            |> drop(columns: ["ack", "q", "from"])
                    
                    data
                        |> aggregateWindow(every: 1d, fn: last, timeSrc: "_time")
                        // In Wh ohne Komma
                        |> toInt()
                        |> set(key: "_measurement", value: "Hauptzaehler")
                        // Use the to() function to validate that the results look correct. This is optional.
                        |> to(bucket: "Stromverbrauch", org: "iobroker_strom")
                    

                    398b81ff-653c-4ec4-85ed-1b411a16e0bc-grafik.png

                    Aktuell erstelle ich mir eine Liste mit den DP, die ich archiviere, damit ich mir einen Überblick verschaffen kann, wie ich welchen Wert brauche
                    Beispiel:

                    dp 15 T Monatswert Quartalswert Jahreswert für immer
                    sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh X X X
                    tankerkoemig.0.e10 X X

                    Sprich, deine längste Aufbewahrungsdauer ist aber 1 Jahr?

                    Aktuell Ja, ich habe aber auch erst z. B. mit Strom dieses Jahr im Jan. angefangen, ich beobachte mal wie was anwächst, das ist ja auch ein Vorteil des Downsampling, dass die Menge der gespeicherten Daten geringer wird.

                    Was für ne Hardware hast du bestellt?

                    Zwei davon https://www.kickstarter.com/projects/storaxa/fully-customizable-home-cloud-storage-with-remote-access-nas?lang=de
                    56b22a31-f356-4abf-b9ba-ae43770b1946-grafik.png
                    Mit je 64 GB Memory, aber noch ohne M.2 oder SSD, da nutze ich das Vorhandene aus meiner DS716 + DX510, wenn aber die Preise für M.2 weiter so attraktiv sind, werde ich mir da wohl noch die ein oder andere holen 🙂

                    VG
                    Bernd

                    C Offline
                    C Offline
                    cbrocker
                    schrieb am zuletzt editiert von
                    #19

                    @dp20eic Hey Bernd,
                    vielen Dank für die ausführlichen Infos. Sehr interessant und hilft mir bei meinem Brainstorming.

                    Im Thread von SpacerX habe ich auch gelesen, daß es mit der Zeitzone Probleme geben kann.
                    Ist die timezone.location schon notwendig?

                    Warum hast du bei dem Strom Bucket eine Org und Token?
                    Wie viel Buckets hast du insgsamt?

                    Grüße Christoph

                    Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

                    ? 1 Antwort Letzte Antwort
                    0
                    • C cbrocker

                      @dp20eic Hey Bernd,
                      vielen Dank für die ausführlichen Infos. Sehr interessant und hilft mir bei meinem Brainstorming.

                      Im Thread von SpacerX habe ich auch gelesen, daß es mit der Zeitzone Probleme geben kann.
                      Ist die timezone.location schon notwendig?

                      Warum hast du bei dem Strom Bucket eine Org und Token?
                      Wie viel Buckets hast du insgsamt?

                      Grüße Christoph

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

                      Moin,

                      @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                      @dp20eic Hey Bernd,
                      vielen Dank für die ausführlichen Infos. Sehr interessant und hilft mir bei meinem Brainstorming.

                      Gerne doch, deswegen sind wir doch hier, um uns auszutauschen 🙂

                      Im Thread von SpacerX habe ich auch gelesen, daß es mit der Zeitzone Probleme geben kann.
                      Ist die timezone.location schon notwendig?

                      Ich habe bis jetzt immer festgestellt, dass ich Zulu Zeit = UTC in den Rohdaten habe, daher ist das für mich erst einmal so gesetzt, wenn ich feststelle, dass etwas nicht stimmt in der Abfrage, dann fliegt es raus 🙂

                      Warum hast du bei dem Strom Bucket eine Org und Token?

                      Als ich anfing, hatte ich noch alles unter einer Org und einem Token, dann kamen immer mehr, auch andere Sachen, die nichts mit ioBroker zu tun haben dazu, dann habe ich auch ab und an Mist gebaut und so fing ich an alles zu trennen, ob das so sein muss, keine Ahnung. Da ich mich immer noch im Aufbau befinde, tut das auch nicht so weh. Wenn dann die Hardware da ist, wird das sauber aufgebaut, und die Daten exportiert und im Zielbucket importiert.

                      Wie viel Buckets hast du insgsamt?

                      Aktuell sind es glaube ich neun, plus zwei hier für das Forum, falls man mal etwas testen muss,

                      • proxmox metrik,
                      • telgraf Metriken LXC Container, Office PCs,
                      • Loki Logfile Monitoring,
                      • FritzinfluxDB,
                      • 15T iobroker,
                      • Monats-, Quartals-, Jahres-, Immer-Bucket

                      VG
                      Bernd

                      C 1 Antwort Letzte Antwort
                      1
                      • ? Ein ehemaliger Benutzer

                        Moin,

                        @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                        @dp20eic Hey Bernd,
                        vielen Dank für die ausführlichen Infos. Sehr interessant und hilft mir bei meinem Brainstorming.

                        Gerne doch, deswegen sind wir doch hier, um uns auszutauschen 🙂

                        Im Thread von SpacerX habe ich auch gelesen, daß es mit der Zeitzone Probleme geben kann.
                        Ist die timezone.location schon notwendig?

                        Ich habe bis jetzt immer festgestellt, dass ich Zulu Zeit = UTC in den Rohdaten habe, daher ist das für mich erst einmal so gesetzt, wenn ich feststelle, dass etwas nicht stimmt in der Abfrage, dann fliegt es raus 🙂

                        Warum hast du bei dem Strom Bucket eine Org und Token?

                        Als ich anfing, hatte ich noch alles unter einer Org und einem Token, dann kamen immer mehr, auch andere Sachen, die nichts mit ioBroker zu tun haben dazu, dann habe ich auch ab und an Mist gebaut und so fing ich an alles zu trennen, ob das so sein muss, keine Ahnung. Da ich mich immer noch im Aufbau befinde, tut das auch nicht so weh. Wenn dann die Hardware da ist, wird das sauber aufgebaut, und die Daten exportiert und im Zielbucket importiert.

                        Wie viel Buckets hast du insgsamt?

                        Aktuell sind es glaube ich neun, plus zwei hier für das Forum, falls man mal etwas testen muss,

                        • proxmox metrik,
                        • telgraf Metriken LXC Container, Office PCs,
                        • Loki Logfile Monitoring,
                        • FritzinfluxDB,
                        • 15T iobroker,
                        • Monats-, Quartals-, Jahres-, Immer-Bucket

                        VG
                        Bernd

                        C Offline
                        C Offline
                        cbrocker
                        schrieb am zuletzt editiert von
                        #21

                        @dp20eic
                        Hallo Bernd,

                        da hast du dich ja schon sehr reingekniet in influxdb. Kostet viel Zeit, aber ist auch sehr interessant und macht auch Spaß 🙂

                        Habe gerade noch paar Aktualisierungen im iobroker vorgenommen. Bin kürzlich ja von Rasp Pi auf Proxmox umgestiegen. Da sind nun noch einige Sachen komisch...

                        Die Org. und der Token für Strom benutzt du dann nur in dem Flux-Code?
                        Denn im influxdb Adapter kann man ja nur einen Token hinterlegen.

                        Da man in Proxmox ja bequem ein Backup erstellen kann, ist es echt halb so wild, wenn man bißchen was verbockt 🙂

                        Grüße
                        Christoph

                        Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

                        1 Antwort Letzte Antwort
                        0
                        • ? Ein ehemaliger Benutzer

                          @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                          @dp20eic Hey, das ist ein interessanter Ansatz.

                          Moin,

                          hab den Post von @SpacerX nicht weiter verfolgt, ich lasse alle Datenpunkte in mein iobroker Bucket schreiben, also alles ob nun sekündlich oder nur alle paar Stunden ein Wert kommt.

                          Machst du dann Grafana Diagramme nur mit den Daten aus dem Jahres-Bucket oder auch von den anderen?

                          Ich mache auch von den anderen Buckets Diagrammen, z.B. Spritpreise bleiben nur im iobroker Bucket für 15 Tage, daraus baue ich mir die Anzeige für den Tag, da mir eine Aggregierung auf Tag nicht für den aktuell günstigsten Preis hilft 😉
                          Bei anderen, wie z. B. Strom, Gas und Wasser ist es auch unterschiedlich, Strom will ich den aktuellen Verbrauch sehen → 15 Tages Bucket, dann aber auch wie war der Verbrauch gestern über den Tag im Vergleich zum Vortag oder Woche zur Vorwoche nehme ich dann aber nicht mehr die Daten aus dem 15 Tages Bucket, sondern schon aggregierte Werte aus einem anderen Bucket. Beim Wasser ist es dann nicht der aktuelle Wert der mich interessiert, sondern vielleicht nur noch der Verbrauch im Monat oder Quartal.

                          Ich stelle ich mir die Frage, welche Werte brauche ich länger als die eingestellten 15 Tage, z. B. Stromverbrauch total, möchte ich mindestens zwei Jahre zurückverfolgen, also aggregiere ich täglich, kurz nach Mitternacht, die Werte des Datenpunkts und schreibe ihn in ein eigenes Bucket, hier speziell noch eins nur für Strom, mit eigener Org. und eigenem Token.

                          import "timezone"
                          
                          option task = {name: "Downsampling Vb_Stromzaehler", cron: "15 0 * * *"}
                          
                          option location = timezone.location(name: "Europe/Berlin")
                          
                          data =
                              from(bucket: "iobroker_strom")
                                  |> range(start: -2mo, stop: now())
                                  |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  // Spalten "_start", "_stop", "ack", "from", "q", ausschliessen
                                  |> drop(columns: ["ack", "q", "from"])
                          
                          data
                              |> aggregateWindow(every: 1d, fn: last, timeSrc: "_time")
                              // In Wh ohne Komma
                              |> toInt()
                              |> set(key: "_measurement", value: "Hauptzaehler")
                              // Use the to() function to validate that the results look correct. This is optional.
                              |> to(bucket: "Stromverbrauch", org: "iobroker_strom")
                          

                          398b81ff-653c-4ec4-85ed-1b411a16e0bc-grafik.png

                          Aktuell erstelle ich mir eine Liste mit den DP, die ich archiviere, damit ich mir einen Überblick verschaffen kann, wie ich welchen Wert brauche
                          Beispiel:

                          dp 15 T Monatswert Quartalswert Jahreswert für immer
                          sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh X X X
                          tankerkoemig.0.e10 X X

                          Sprich, deine längste Aufbewahrungsdauer ist aber 1 Jahr?

                          Aktuell Ja, ich habe aber auch erst z. B. mit Strom dieses Jahr im Jan. angefangen, ich beobachte mal wie was anwächst, das ist ja auch ein Vorteil des Downsampling, dass die Menge der gespeicherten Daten geringer wird.

                          Was für ne Hardware hast du bestellt?

                          Zwei davon https://www.kickstarter.com/projects/storaxa/fully-customizable-home-cloud-storage-with-remote-access-nas?lang=de
                          56b22a31-f356-4abf-b9ba-ae43770b1946-grafik.png
                          Mit je 64 GB Memory, aber noch ohne M.2 oder SSD, da nutze ich das Vorhandene aus meiner DS716 + DX510, wenn aber die Preise für M.2 weiter so attraktiv sind, werde ich mir da wohl noch die ein oder andere holen 🙂

                          VG
                          Bernd

                          C Offline
                          C Offline
                          cbrocker
                          schrieb am zuletzt editiert von
                          #22

                          @dp20eic
                          Hi Bernd,

                          was ich an deinem Beispiel noch nicht verstehe:

                          import "timezone"
                          
                          option task = {name: "Downsampling Vb_Stromzaehler", cron: "15 0 * * *"}
                          
                          option location = timezone.location(name: "Europe/Berlin")
                          
                          data =
                          
                              from(bucket: "iobroker_strom")
                                  |> range(start: -2mo, stop: now())
                                  |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh")
                                  |> filter(fn: (r) => r["_field"] == "value")
                                  // Spalten "_start", "_stop", "ack", "from", "q", ausschliessen
                                  |> drop(columns: ["ack", "q", "from"])
                          
                          data
                              |> aggregateWindow(every: 1d, fn: last, timeSrc: "_time")
                              // In Wh ohne Komma
                              |> toInt()
                              |> set(key: "_measurement", value: "Hauptzaehler")
                              // Use the to() function to validate that the results look correct. This is optional.
                              |> to(bucket: "Stromverbrauch", org: "iobroker_strom")
                          

                          Der Task läuft ja täglich 00:15 Uhr.

                          Dann wird von iobroker_strom der Range der letzten 2 Monate in das bucket Stromverbrauch übergeben.
                          Dort hast du aggregateWindows every 1d (also 1 Tag).

                          Fragen:

                          • wenn die Daten der letzten 2 Monate übergeben werden, sind aber dann nicht doppelte Daten im neuen Bucket? (weil sich die Daten der 2 Monate ja ständig überschneiden).

                          • wenn der Task nachts um 00:15 Uhr läuft (und du die Daten in Grafana darstellst),
                            dann fehlen aber doch immer die Daten des Tages vorher in der Grafik von Grafana?
                            (weil ja erst nachts um 00:15 die aktuellsten Daten übergeben werden (-2mo bis now)

                          • Das every 1d gilt nur für Aggregate, hat also nichts mit einem Range zu tun?

                          Danke für deine Hilfe

                          Grüße
                          Christoph

                          Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

                          ? 1 Antwort Letzte Antwort
                          0
                          • C cbrocker

                            @dp20eic
                            Hi Bernd,

                            was ich an deinem Beispiel noch nicht verstehe:

                            import "timezone"
                            
                            option task = {name: "Downsampling Vb_Stromzaehler", cron: "15 0 * * *"}
                            
                            option location = timezone.location(name: "Europe/Berlin")
                            
                            data =
                            
                                from(bucket: "iobroker_strom")
                                    |> range(start: -2mo, stop: now())
                                    |> filter(fn: (r) => r["_measurement"] == "sonoff.0.DVES_8AA766.SENSOR.SML.total_kwh")
                                    |> filter(fn: (r) => r["_field"] == "value")
                                    // Spalten "_start", "_stop", "ack", "from", "q", ausschliessen
                                    |> drop(columns: ["ack", "q", "from"])
                            
                            data
                                |> aggregateWindow(every: 1d, fn: last, timeSrc: "_time")
                                // In Wh ohne Komma
                                |> toInt()
                                |> set(key: "_measurement", value: "Hauptzaehler")
                                // Use the to() function to validate that the results look correct. This is optional.
                                |> to(bucket: "Stromverbrauch", org: "iobroker_strom")
                            

                            Der Task läuft ja täglich 00:15 Uhr.

                            Dann wird von iobroker_strom der Range der letzten 2 Monate in das bucket Stromverbrauch übergeben.
                            Dort hast du aggregateWindows every 1d (also 1 Tag).

                            Fragen:

                            • wenn die Daten der letzten 2 Monate übergeben werden, sind aber dann nicht doppelte Daten im neuen Bucket? (weil sich die Daten der 2 Monate ja ständig überschneiden).

                            • wenn der Task nachts um 00:15 Uhr läuft (und du die Daten in Grafana darstellst),
                              dann fehlen aber doch immer die Daten des Tages vorher in der Grafik von Grafana?
                              (weil ja erst nachts um 00:15 die aktuellsten Daten übergeben werden (-2mo bis now)

                            • Das every 1d gilt nur für Aggregate, hat also nichts mit einem Range zu tun?

                            Danke für deine Hilfe

                            Grüße
                            Christoph

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

                            @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                            Fragen:

                            • wenn die Daten der letzten 2 Monate übergeben werden, sind aber dann nicht doppelte Daten im neuen Bucket? (weil sich die Daten der 2 Monate ja ständig überschneiden).
                            • wenn der Task nachts um 00:15 Uhr läuft (und du die Daten in Grafana darstellst),
                              dann fehlen aber doch immer die Daten des Tages vorher in der Grafik von Grafana?
                              (weil ja erst nachts um 00:15 die aktuellsten Daten übergeben werden (-2mo bis now)
                            • Das every 1d gilt nur für Aggregate, hat also nichts mit einem Range zu tun?

                            Moin,

                            Zu

                            1. als ich mich mit Downsamping beschäftigt hatte, liefen schon ca. 2 Monate Daten in das ioBroker Bucket, da ich die Daten nicht verlieren wollte, habe ich die Range auf den Zeitraum eingestellt. Alle Daten, die durch die Überschneidung entstehen, werden nicht ein zweites Mal geschrieben, bzw. überschreiben den vorhandenen Wert. Also, es entstehen keine Dubletten. Zudem kann ich sicher sein, dass falls mal etwas nicht läuft, dass ich keine Daten verliere, zwischenzeitlich habe ich das auf 1 Jahr hochgedreht.
                            2. Ich nutze das nur zur Anzeige der Woche oder Monat, für aktuellen Tag gehe ich noch in das Standard Bucket.
                            3. Ja

                            VG
                            Bernd

                            C 1 Antwort Letzte Antwort
                            1
                            • I Offline
                              I Offline
                              intruder7
                              schrieb am zuletzt editiert von
                              #24

                              @cbrocker Moin
                              ich nutze in Grafana das Plug In JSON API. Damit kann dann mittels dem Simple API Adapter im ioBroker mir direkt Datenpunkte ohne sie in die Historie zu packen in Grafana anzeigen lassen. Funktioniert sehr gut.
                              d0e718c3-cafa-4fde-beed-09a0e55942e6-image.png

                              C 1 Antwort Letzte Antwort
                              1
                              • ? Ein ehemaliger Benutzer

                                @cbrocker sagte in inflxudb kurze Speicherdauer einstellen:

                                Fragen:

                                • wenn die Daten der letzten 2 Monate übergeben werden, sind aber dann nicht doppelte Daten im neuen Bucket? (weil sich die Daten der 2 Monate ja ständig überschneiden).
                                • wenn der Task nachts um 00:15 Uhr läuft (und du die Daten in Grafana darstellst),
                                  dann fehlen aber doch immer die Daten des Tages vorher in der Grafik von Grafana?
                                  (weil ja erst nachts um 00:15 die aktuellsten Daten übergeben werden (-2mo bis now)
                                • Das every 1d gilt nur für Aggregate, hat also nichts mit einem Range zu tun?

                                Moin,

                                Zu

                                1. als ich mich mit Downsamping beschäftigt hatte, liefen schon ca. 2 Monate Daten in das ioBroker Bucket, da ich die Daten nicht verlieren wollte, habe ich die Range auf den Zeitraum eingestellt. Alle Daten, die durch die Überschneidung entstehen, werden nicht ein zweites Mal geschrieben, bzw. überschreiben den vorhandenen Wert. Also, es entstehen keine Dubletten. Zudem kann ich sicher sein, dass falls mal etwas nicht läuft, dass ich keine Daten verliere, zwischenzeitlich habe ich das auf 1 Jahr hochgedreht.
                                2. Ich nutze das nur zur Anzeige der Woche oder Monat, für aktuellen Tag gehe ich noch in das Standard Bucket.
                                3. Ja

                                VG
                                Bernd

                                C Offline
                                C Offline
                                cbrocker
                                schrieb am zuletzt editiert von
                                #25

                                @dp20eic Hey Bernd, danke für die Infos. So langsam verstehe ich das Prinzip 🙂
                                Habe gestern abend mal testweise erfolgreich in ein anders Bucket gedownsamplet..
                                Kann ich über das lange WE noch bißchen rumspielen.

                                Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

                                1 Antwort Letzte Antwort
                                0
                                • I intruder7

                                  @cbrocker Moin
                                  ich nutze in Grafana das Plug In JSON API. Damit kann dann mittels dem Simple API Adapter im ioBroker mir direkt Datenpunkte ohne sie in die Historie zu packen in Grafana anzeigen lassen. Funktioniert sehr gut.
                                  d0e718c3-cafa-4fde-beed-09a0e55942e6-image.png

                                  C Offline
                                  C Offline
                                  cbrocker
                                  schrieb am zuletzt editiert von
                                  #26

                                  @intruder7 Hey intruder7,
                                  das ist auch ein guter Tipp. Dann muß nicht alles in die Datenbank wandern. Das JSON API schaue ich mir an.
                                  Danke 🙂

                                  Proxmox Cluster mit ioBroker, Wireguard, HomeAssistant (Testsystem), paperlessNGX, MariaDB, PiHole, Grafana, InfluxDB, 1 x BKW 600 Wp, 2 x BKW 400 Wp, 2 x SolarFlow 800 Pro mit 11,52 kWh Akku und 3,48 kWp, OpenDTU, AhoyDTU, HmIP, Shellys, AVM LAN/WLAN

                                  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

                                  333

                                  Online

                                  32.4k

                                  Benutzer

                                  81.4k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe