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. ioBroker Allgemein
  4. Wie die Parameter für History sinnvoll nutzen?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Wie die Parameter für History sinnvoll nutzen?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
22 Beiträge 6 Kommentatoren 2.0k Aufrufe 5 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.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #1

    Ich versuche meine geloggte Datenflut etwas einzudämmen.
    Dazu habe ich in den letzten Tagen mit Blockzeit und minimale Änderung gespielt um nicht jede Sekunde einen Wert zu bekommen, was für den Chart nicht notwendig wäre.
    Allerdings erhalte ich jetzt Artefakte in der Kurve.
    Außerdem habe ich die Vermutunt, dass die Blockzeit nicht greift, wenn der minimale Unterschied überschritten wird.
    Auch den Algorithmus vom minimalen Unterschied kann ich nicht erkennen, zumindest nicht den, den ich erwarten würde.
    Beim letzten Wert von z.B. 18 und einer Einstellung von minimaler Differenz von 3 würde ich erwarten, dass der nächste Wert entweder über 21 oder unter 15 liegen muss. anscheinend wird aber immer der letzte Messwert, auch wenn er nicht geloggt wird, als Basis genommen, so dass im schlimmsten Fall bei gleichmäßig steigender Temperatur 18 - 20 - 22 - 24 - 26.... gar nicht geloggt würde, oder bei sehr unruhigem Sensor 18 - 20 - 17 - 19 - 21 - 18... viel zu oft.

    Ein weiteres Problem zeigt sich hier
    Screenshot_20230206-170115_Firefox.jpg

    Je nachdem wie ich die beiden Parameter einstelle, wird bei zu großer Differenz oder Blocktime die für den korrekten Chart notwendige 0 nicht geloggt, was zu den gezeigten Artefakten führt.
    Gehe ich nur über Blockzeit kann es mir ebenfalls oassieren, dass selbst hohe Verbräuche von kurzer Dauer (z.B. Durchlauferhitzer) nicht oder unvollständig angezeigt werden.


    Was muss ich einstellen um wenige Daten, aber auf jeden Fall hohe Unterschiede und jede 0 geloggt bekomme?

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    A 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      Ich versuche meine geloggte Datenflut etwas einzudämmen.
      Dazu habe ich in den letzten Tagen mit Blockzeit und minimale Änderung gespielt um nicht jede Sekunde einen Wert zu bekommen, was für den Chart nicht notwendig wäre.
      Allerdings erhalte ich jetzt Artefakte in der Kurve.
      Außerdem habe ich die Vermutunt, dass die Blockzeit nicht greift, wenn der minimale Unterschied überschritten wird.
      Auch den Algorithmus vom minimalen Unterschied kann ich nicht erkennen, zumindest nicht den, den ich erwarten würde.
      Beim letzten Wert von z.B. 18 und einer Einstellung von minimaler Differenz von 3 würde ich erwarten, dass der nächste Wert entweder über 21 oder unter 15 liegen muss. anscheinend wird aber immer der letzte Messwert, auch wenn er nicht geloggt wird, als Basis genommen, so dass im schlimmsten Fall bei gleichmäßig steigender Temperatur 18 - 20 - 22 - 24 - 26.... gar nicht geloggt würde, oder bei sehr unruhigem Sensor 18 - 20 - 17 - 19 - 21 - 18... viel zu oft.

      Ein weiteres Problem zeigt sich hier
      Screenshot_20230206-170115_Firefox.jpg

      Je nachdem wie ich die beiden Parameter einstelle, wird bei zu großer Differenz oder Blocktime die für den korrekten Chart notwendige 0 nicht geloggt, was zu den gezeigten Artefakten führt.
      Gehe ich nur über Blockzeit kann es mir ebenfalls oassieren, dass selbst hohe Verbräuche von kurzer Dauer (z.B. Durchlauferhitzer) nicht oder unvollständig angezeigt werden.


      Was muss ich einstellen um wenige Daten, aber auf jeden Fall hohe Unterschiede und jede 0 geloggt bekomme?

      A Offline
      A Offline
      AndyGR42
      schrieb am zuletzt editiert von
      #2

      @homoran Hm, wie oft kommen denn die Daten? Ich würde aus Erfahrung nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

      ABER, wenn die Werte zu sehr springen, könnte man sie normalisieren, also glätten. In einem Diagramm über 24h brauchst Du ja nicht einen Wert pro Sekunde, sondern vielleicht einen Pro Minute. Der würde dann auch nicht so springen. Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

      HomoranH AndreiosA 2 Antworten Letzte Antwort
      0
      • A AndyGR42

        @homoran Hm, wie oft kommen denn die Daten? Ich würde aus Erfahrung nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

        ABER, wenn die Werte zu sehr springen, könnte man sie normalisieren, also glätten. In einem Diagramm über 24h brauchst Du ja nicht einen Wert pro Sekunde, sondern vielleicht einen Pro Minute. Der würde dann auch nicht so springen. Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

        Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

        das wollte ich nicht für 200 Datenpunkte machen :-)

        na gut, in real würde es etwa 50 DPs betreffen, aber selbst das wäre mir zu viel Skripterei.

        @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

        wie oft kommen denn die Daten?

        etwa 30 Daten vom Strom alle 6 Sekunden, jetzt ganz neu mit modbus leider alle Sekunde. mit gerechneten Werten erst nochmal etwa 20, ständig ansteigend bis ich weiß was ich wirklich brauche. Oder noch mehr finde :-)

        @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

        nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

        das habe ich auch so bemerkt, aber selbst dann klappt es ja leider nicht wirklich.
        selbst mit Schieberegister wird die fakultative 0 nicht erreicht!
        da muss ich bei einer 0 eine separate Logik wirken lassen.

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        A 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

          Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

          das wollte ich nicht für 200 Datenpunkte machen :-)

          na gut, in real würde es etwa 50 DPs betreffen, aber selbst das wäre mir zu viel Skripterei.

          @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

          wie oft kommen denn die Daten?

          etwa 30 Daten vom Strom alle 6 Sekunden, jetzt ganz neu mit modbus leider alle Sekunde. mit gerechneten Werten erst nochmal etwa 20, ständig ansteigend bis ich weiß was ich wirklich brauche. Oder noch mehr finde :-)

          @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

          nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

          das habe ich auch so bemerkt, aber selbst dann klappt es ja leider nicht wirklich.
          selbst mit Schieberegister wird die fakultative 0 nicht erreicht!
          da muss ich bei einer 0 eine separate Logik wirken lassen.

          A Offline
          A Offline
          AndyGR42
          schrieb am zuletzt editiert von
          #4

          @homoran Ich denke, eine Schieberegister ist hier auch nicht unbedingt nötig. Dafür kommen die Daten schnell genug. Ein Schieberegister nutze ich z.B. bei der Normalisierung der durchschnittlichen Windgeschwindigkeit. Wenn ich da erst 60 Minuten sammeln würde wäre die Anzeige ja quasi statisch. So wird sie alle 30 Sekunden mit einem normalisierten Durchschnitt aus dem Schieberegister aktualisiert.

          Der Wert "elektrischer Strom" ist ja eine Momentaufnahme. Die nötige Häufigkeit für eine sinnvolle Abtastung wird durch die Frequenz der Änderung bestimmt. Gehen wir mal davon aus, dass selbst Peaks mindestens mehrere Sekunden, eher Minuten lang sind, reichen die 6 Sekunden vermutlich dicke aus. Bei einer Auflösung von einer Sekunden könntest Du (theoretisch) Änderungen von bis zu 0,5Hz aufzeichnen. Wenn Du es so genau haben willst, dann musst Du die aber auch speichern oder zumindest verarbeiten.

          Für Temperaturen reicht in aller Regel eine deutlich geringere Abtastrate, das System ist halt viel träger.

          Warum der minimale Unterschied nicht korrekt funktioniert, könnte an der hohen Frequenz liegen. Der Adapter hat ja bei 200 DP mit der Frequenz gut zu tun.

          Ich wüsste jetzt nicht, wie man aus der Nummer ohne Berechnung des Durchschnitts rauskommt. Du brauchst die hohe Frequenz bei der Abtastung, um keine Peaks beim Strom zu verlieren, du möchtest aber eine geglättete Ausgabe. Einfach Werte zu verwerfen verfälscht auch das Ergebnis. Ideal wäre as natürlich, wenn man die Abtastfrequenz für einzelne Werte einstellen könnte. Z.B. 1 Minjte für Temperatur und 1-3 Sekunden für den Strom.

          HomoranH 1 Antwort Letzte Antwort
          0
          • A AndyGR42

            @homoran Ich denke, eine Schieberegister ist hier auch nicht unbedingt nötig. Dafür kommen die Daten schnell genug. Ein Schieberegister nutze ich z.B. bei der Normalisierung der durchschnittlichen Windgeschwindigkeit. Wenn ich da erst 60 Minuten sammeln würde wäre die Anzeige ja quasi statisch. So wird sie alle 30 Sekunden mit einem normalisierten Durchschnitt aus dem Schieberegister aktualisiert.

            Der Wert "elektrischer Strom" ist ja eine Momentaufnahme. Die nötige Häufigkeit für eine sinnvolle Abtastung wird durch die Frequenz der Änderung bestimmt. Gehen wir mal davon aus, dass selbst Peaks mindestens mehrere Sekunden, eher Minuten lang sind, reichen die 6 Sekunden vermutlich dicke aus. Bei einer Auflösung von einer Sekunden könntest Du (theoretisch) Änderungen von bis zu 0,5Hz aufzeichnen. Wenn Du es so genau haben willst, dann musst Du die aber auch speichern oder zumindest verarbeiten.

            Für Temperaturen reicht in aller Regel eine deutlich geringere Abtastrate, das System ist halt viel träger.

            Warum der minimale Unterschied nicht korrekt funktioniert, könnte an der hohen Frequenz liegen. Der Adapter hat ja bei 200 DP mit der Frequenz gut zu tun.

            Ich wüsste jetzt nicht, wie man aus der Nummer ohne Berechnung des Durchschnitts rauskommt. Du brauchst die hohe Frequenz bei der Abtastung, um keine Peaks beim Strom zu verlieren, du möchtest aber eine geglättete Ausgabe. Einfach Werte zu verwerfen verfälscht auch das Ergebnis. Ideal wäre as natürlich, wenn man die Abtastfrequenz für einzelne Werte einstellen könnte. Z.B. 1 Minjte für Temperatur und 1-3 Sekunden für den Strom.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #5

            @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

            Du brauchst die hohe Frequenz bei der Abtastung, um keine Peaks beim Strom zu verlieren, du möchtest aber eine geglättete Ausgabe. Einfach Werte zu verwerfen verfälscht auch das Ergebnis. Ideal wäre as natürlich, wenn man die Abtastfrequenz für einzelne Werte einstellen könnte. Z.B. 1 Minjte für Temperatur und 1-3 Sekunden für den Strom.

            letzteres sollte ja jetzt über die Blockzeit gehen.

            ersteres hatte ich gedacht über entsprechend hohe Werte bei minimaler Änderung zu erreichen.
            Wenn ich allerdings 100W nähme, der Verbrauch von 1500 auf 98 fällt ist es ok, dann auf 0 wird diese 0, die Flot für die Basislinie braucht, nicht geloggt, sondern erst wieder bei 212W ggf. Stunden später. Und jetzt wird die Kurve von 98 bis 212 gezogen, obwohl sie die ganze Zeit bei 0 war.

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            A 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

              Du brauchst die hohe Frequenz bei der Abtastung, um keine Peaks beim Strom zu verlieren, du möchtest aber eine geglättete Ausgabe. Einfach Werte zu verwerfen verfälscht auch das Ergebnis. Ideal wäre as natürlich, wenn man die Abtastfrequenz für einzelne Werte einstellen könnte. Z.B. 1 Minjte für Temperatur und 1-3 Sekunden für den Strom.

              letzteres sollte ja jetzt über die Blockzeit gehen.

              ersteres hatte ich gedacht über entsprechend hohe Werte bei minimaler Änderung zu erreichen.
              Wenn ich allerdings 100W nähme, der Verbrauch von 1500 auf 98 fällt ist es ok, dann auf 0 wird diese 0, die Flot für die Basislinie braucht, nicht geloggt, sondern erst wieder bei 212W ggf. Stunden später. Und jetzt wird die Kurve von 98 bis 212 gezogen, obwohl sie die ganze Zeit bei 0 war.

              A Offline
              A Offline
              AndyGR42
              schrieb am zuletzt editiert von
              #6

              @homoran Ok, so wird die praktisch nie 0. Über die Durchschnittsberechnung schon :)

              Alternativ den Wert per Skript beim Unterschreiten von 100 auf 100 Setzen. Dann sollte die nächste 0 auch wirken. Allerdings ist das auch ein Script, da kannst Du auch gleich den Durchschnitt errechnen.

              HomoranH 1 Antwort Letzte Antwort
              1
              • A AndyGR42

                @homoran Ok, so wird die praktisch nie 0. Über die Durchschnittsberechnung schon :)

                Alternativ den Wert per Skript beim Unterschreiten von 100 auf 100 Setzen. Dann sollte die nächste 0 auch wirken. Allerdings ist das auch ein Script, da kannst Du auch gleich den Durchschnitt errechnen.

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #7

                @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

                Über die Durchschnittsberechnung schon

                nein. Nur wenn länger 0 ist.

                bei einem Wert aus 60 Zahlen müssen 60x0 vorliegen.
                dei 118x0 und 2x2 wären nach Murphy beide Mittelwerte >0

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                A 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

                  Über die Durchschnittsberechnung schon

                  nein. Nur wenn länger 0 ist.

                  bei einem Wert aus 60 Zahlen müssen 60x0 vorliegen.
                  dei 118x0 und 2x2 wären nach Murphy beide Mittelwerte >0

                  A Offline
                  A Offline
                  AndyGR42
                  schrieb am zuletzt editiert von AndyGR42
                  #8

                  @homoran 60x0 habe ich jetzt mal vorausgesetzt. Ansonsten wäre der Wert ja auch nicht wirklich 0 und die Aufzeichnung damit falsch. Runden geht auch immer. Bei deinem Beispiel wäre der Wert 0,033 und kann damit problemlos auf ganze Zahlen gerundet werden, was dann 0 wäre.

                  P.S.: oder von mir aus auch auf die erste 10er Stelle, dann wird es noch ruhiger.

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • A AndyGR42

                    @homoran 60x0 habe ich jetzt mal vorausgesetzt. Ansonsten wäre der Wert ja auch nicht wirklich 0 und die Aufzeichnung damit falsch. Runden geht auch immer. Bei deinem Beispiel wäre der Wert 0,033 und kann damit problemlos auf ganze Zahlen gerundet werden, was dann 0 wäre.

                    P.S.: oder von mir aus auch auf die erste 10er Stelle, dann wird es noch ruhiger.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #9

                    @andygr42 aber jetzt hat sich @apollon77 so viel Mühe mit den neuen Parametern gegeben, die müssen doch sinnvoll nutzbar sein.

                    es gibt ein ignore 0, da muss es doch auch ein ignore rules at 0 o.ä. geben.
                    ich hab ja extra die optimierte Aufzeichnung für Graphen nicht deaktiviert.

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    1 Antwort Letzte Antwort
                    0
                    • K Offline
                      K Offline
                      klassisch
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      Zum neuen history kann ich nichts sagen, weil ich wegen des breaking change noch beim alten bin.
                      Für den smartmeter hat @paul53 mal ein Skript geschrieben; für Dich in blockly
                      https://forum.iobroker.net/post/479385

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von
                        #11

                        @Homoran erst einmal schau ob die „darstellungsoptimierung“ an ist. Wenn ja kann es manchmal. Unlogisch erscheinen. Was geloggt wird weil unerwartete zusatzwerte mit geloggt werden. Sonst schalte bei einem Datenpunkt mal ds erweitere logging ein und setze debug log. Dann steht im log ganz genau warum er was loggt oder verwirft.

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        HomoranH 2 Antworten Letzte Antwort
                        0
                        • HomoranH Homoran

                          @paul53 Danke!
                          Ich überdenke gerade mein gesamtes Konzept.
                          Habe 50GB Historydaten. Und jetzt kommen noch einige hinzu.

                          Ich muss Historisierung und hochfrequente Messungen trennen wo möglich.
                          Nur ärgerlich wenn 4 Jahre Daten dann inkompatibel werden.

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #12

                          @homoran sagte: ärgerlich wenn 4 Jahre Daten dann inkompatibel werden.

                          History hat einen Alias. Die neuen Daten werden nur seltener historisiert.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • A AndyGR42

                            @homoran Hm, wie oft kommen denn die Daten? Ich würde aus Erfahrung nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

                            ABER, wenn die Werte zu sehr springen, könnte man sie normalisieren, also glätten. In einem Diagramm über 24h brauchst Du ja nicht einen Wert pro Sekunde, sondern vielleicht einen Pro Minute. Der würde dann auch nicht so springen. Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

                            AndreiosA Offline
                            AndreiosA Offline
                            Andreios
                            Forum Testing
                            schrieb am zuletzt editiert von
                            #13

                            @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

                            @homoran Hm, wie oft kommen denn die Daten? Ich würde aus Erfahrung nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

                            ABER, wenn die Werte zu sehr springen, könnte man sie normalisieren, also glätten. In einem Diagramm über 24h brauchst Du ja nicht einen Wert pro Sekunde, sondern vielleicht einen Pro Minute. Der würde dann auch nicht so springen. Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

                            Nur mal so:
                            Man braucht nicht unbedingt ein Array, um den Durchschnittswert zu bilden, sondern nur 2 DP, wenn man davon ausgehen kann, dass die Werte nicht stark springen.
                            Das Array macht mehr Sinn, wenn man stark springende Werte hat und immer den ältesten Wert hinten rausfallen lässt (gleitender Mittelwert), dann ist der Verlauf etwas genauer.

                            Ansonsten reicht ein DP (DPDW) für den Durchschnittswert und einer als Zähler (DPZ).

                            Ist DPZ <= 0 wird DPDW = Wert gesetzt und DPZ = 1.

                            Ist DPZ > 0 wird
                            DPDW = (DPDW * DPZ + Wert) / (++DPZ) ;

                            Will man einen gleitenden Mittelwert über die letzte 50 Werte, dann muss, sobald DPZ = 50 ist,
                            DPDW = (DPDW * (DPZ - 1) + Wert) / DPZ;
                            daraus werden.

                            Schöne Grüße
                            Andreas

                            ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

                            Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

                            A 1 Antwort Letzte Antwort
                            0
                            • AndreiosA Andreios

                              @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

                              @homoran Hm, wie oft kommen denn die Daten? Ich würde aus Erfahrung nicht mehrere Mechanismen kombinieren. Also entweder Blockzeit ODER minimale Änderung.

                              ABER, wenn die Werte zu sehr springen, könnte man sie normalisieren, also glätten. In einem Diagramm über 24h brauchst Du ja nicht einen Wert pro Sekunde, sondern vielleicht einen Pro Minute. Der würde dann auch nicht so springen. Wenn der Sensor also mit 1Hz die Daten schickt, 60 Werte in ein Array schreiben, den Durchschnitt errechnen und den dann als DP abspeichern.

                              Nur mal so:
                              Man braucht nicht unbedingt ein Array, um den Durchschnittswert zu bilden, sondern nur 2 DP, wenn man davon ausgehen kann, dass die Werte nicht stark springen.
                              Das Array macht mehr Sinn, wenn man stark springende Werte hat und immer den ältesten Wert hinten rausfallen lässt (gleitender Mittelwert), dann ist der Verlauf etwas genauer.

                              Ansonsten reicht ein DP (DPDW) für den Durchschnittswert und einer als Zähler (DPZ).

                              Ist DPZ <= 0 wird DPDW = Wert gesetzt und DPZ = 1.

                              Ist DPZ > 0 wird
                              DPDW = (DPDW * DPZ + Wert) / (++DPZ) ;

                              Will man einen gleitenden Mittelwert über die letzte 50 Werte, dann muss, sobald DPZ = 50 ist,
                              DPDW = (DPDW * (DPZ - 1) + Wert) / DPZ;
                              daraus werden.

                              A Offline
                              A Offline
                              AndyGR42
                              schrieb am zuletzt editiert von
                              #14

                              @Andreas-5 der Thread ist ausgelagert, was die Posts aus dem Zusammenhang reißt.

                              https://forum.iobroker.net/topic/62812/werteabhängiges-loggen-per-skript

                              Bei Hormoran ändern sich die Werte aber sehr schnell und stark.

                              AndreiosA 1 Antwort Letzte Antwort
                              0
                              • A AndyGR42

                                @Andreas-5 der Thread ist ausgelagert, was die Posts aus dem Zusammenhang reißt.

                                https://forum.iobroker.net/topic/62812/werteabhängiges-loggen-per-skript

                                Bei Hormoran ändern sich die Werte aber sehr schnell und stark.

                                AndreiosA Offline
                                AndreiosA Offline
                                Andreios
                                Forum Testing
                                schrieb am zuletzt editiert von
                                #15

                                @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                @Andreas-5 der Thread ist ausgelagert, was die Posts aus dem Zusammenhang reißt.

                                https://forum.iobroker.net/topic/62812/werteabhängiges-loggen-per-skript

                                Bei Hormoran ändern sich die Werte aber sehr schnell und stark.

                                Ok, da habe ich mich unscharf ausgedrückt!
                                Ich bin davon ausgegangen, dass es im aktuellen Fall ja darum geht, tatsächlich den Durchschnittswert zu bilden, da reichen die 2 DP, ggfs. auch als gleitenden Mittelwert.

                                Beispiel:
                                Wenn alle 30 Sekunden ein Wert aufgezeichnet werden soll, die Werte jede Sekunde kommen, dann kann man auch 30 Werte als gleitenden Mittelwert bilden. So kann man in einer Anzeige den Mittelwert der letzten 30 Sekunden anzeigen und alle 30 Sekunden den Wert in die DB schreiben.
                                Wenn das immer noch zu zappelig ist, kann man auch über einen längeren Zeitraum den Mittelwert bilden und trotzdem alle 30 Sekunden aufzeichnen. Das glättet dann halt mehr.

                                Schöne Grüße
                                Andreas

                                ioBroker auf Raspberry 4 mit SSD. Homematik IP mit CCU 3. Shelly. MySQL. Arduino. ...

                                Meine Posts sind subjektiv und manipulativ, erheben Anspruch auf Allwissenheit und können Spuren von Ironie oder Sarkasmus enthalten. ;-)

                                HomoranH 1 Antwort Letzte Antwort
                                1
                                • AndreiosA Andreios

                                  @andygr42 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                  @Andreas-5 der Thread ist ausgelagert, was die Posts aus dem Zusammenhang reißt.

                                  https://forum.iobroker.net/topic/62812/werteabhängiges-loggen-per-skript

                                  Bei Hormoran ändern sich die Werte aber sehr schnell und stark.

                                  Ok, da habe ich mich unscharf ausgedrückt!
                                  Ich bin davon ausgegangen, dass es im aktuellen Fall ja darum geht, tatsächlich den Durchschnittswert zu bilden, da reichen die 2 DP, ggfs. auch als gleitenden Mittelwert.

                                  Beispiel:
                                  Wenn alle 30 Sekunden ein Wert aufgezeichnet werden soll, die Werte jede Sekunde kommen, dann kann man auch 30 Werte als gleitenden Mittelwert bilden. So kann man in einer Anzeige den Mittelwert der letzten 30 Sekunden anzeigen und alle 30 Sekunden den Wert in die DB schreiben.
                                  Wenn das immer noch zu zappelig ist, kann man auch über einen längeren Zeitraum den Mittelwert bilden und trotzdem alle 30 Sekunden aufzeichnen. Das glättet dann halt mehr.

                                  HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von Homoran
                                  #16

                                  @andreas-5 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                  Das glättet dann halt mehr.

                                  das war nicht der Knackpunkt!
                                  entscheidend war, dass ich unbedingt eine 0 benötige, damit es nicht zu Artefakten im Chart kam.
                                  Außerdem sollten Leistungsspitzen über xxxxW nicht geglättet werden.

                                  Aber da das anscheinend auch mit den neuen Filtern von History nicht annähernd klappt, muss das mit 1-100 Scripten umgesetzt werden.
                                  Daher wurde der darauf bezogene 7nhalt in die Rubrik Blockly verschoben

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • apollon77A apollon77

                                    @Homoran erst einmal schau ob die „darstellungsoptimierung“ an ist. Wenn ja kann es manchmal. Unlogisch erscheinen. Was geloggt wird weil unerwartete zusatzwerte mit geloggt werden. Sonst schalte bei einem Datenpunkt mal ds erweitere logging ein und setze debug log. Dann steht im log ganz genau warum er was loggt oder verwirft.

                                    HomoranH Nicht stören
                                    HomoranH Nicht stören
                                    Homoran
                                    Global Moderator Administrators
                                    schrieb am zuletzt editiert von
                                    #17

                                    @apollon77 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                    erst einmal schau ob die „darstellungsoptimierung“ an ist. Wenn ja kann es manchmal. Unlogisch erscheinen.

                                    mal eben auf die Schnelle
                                    Screenshot_20230210-220326_Firefox.jpg
                                    Es ist nur mindestens 50! als Änderung eingetragen.

                                    Screenshot_20230210-220356_Firefox.jpg

                                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                    apollon77A 1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Homoran

                                      @apollon77 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                      erst einmal schau ob die „darstellungsoptimierung“ an ist. Wenn ja kann es manchmal. Unlogisch erscheinen.

                                      mal eben auf die Schnelle
                                      Screenshot_20230210-220326_Firefox.jpg
                                      Es ist nur mindestens 50! als Änderung eingetragen.

                                      Screenshot_20230210-220356_Firefox.jpg

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #18

                                      @homoran na dann schalte doch mal die darstellungsoptimierung aus.

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • apollon77A apollon77

                                        @homoran na dann schalte doch mal die darstellungsoptimierung aus.

                                        HomoranH Nicht stören
                                        HomoranH Nicht stören
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #19

                                        @apollon77 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                        @homoran na dann schalte doch mal die darstellungsoptimierung aus.

                                        getan.....und vergessen :-(

                                        jetzt nachgesehen und gestaunt
                                        Screenshot_20230211-194746_Firefox.jpg

                                        Hab ehrlich nicht geglaubt, dass dieser Punkt in der hohen Abtastrate zu solchen Effekten führt.

                                        Gut zu wissen!
                                        Danke

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        apollon77A 1 Antwort Letzte Antwort
                                        0
                                        • HomoranH Homoran

                                          @apollon77 sagte in Wie die Parameter für History sinnvoll nutzen?:

                                          @homoran na dann schalte doch mal die darstellungsoptimierung aus.

                                          getan.....und vergessen :-(

                                          jetzt nachgesehen und gestaunt
                                          Screenshot_20230211-194746_Firefox.jpg

                                          Hab ehrlich nicht geglaubt, dass dieser Punkt in der hohen Abtastrate zu solchen Effekten führt.

                                          Gut zu wissen!
                                          Danke

                                          apollon77A Offline
                                          apollon77A Offline
                                          apollon77
                                          schrieb am zuletzt editiert von
                                          #20

                                          @homoran sich den thread zur History major increase da ist das alles haarklein beschrieben was das tut und warum es solche Effekte hat.

                                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                          HomoranH 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          769

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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