Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Füllstandsanzeige] Mittelwert von einer bestimmten Anzahl von Werten

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    242

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

[Füllstandsanzeige] Mittelwert von einer bestimmten Anzahl von Werten

Scheduled Pinned Locked Moved Skripten / Logik
blocklymonitoringjavascript
16 Posts 7 Posters 2.7k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 0 Offline
    0 Offline
    0__Nik__0
    wrote on last edited by 0__Nik__0
    #4

    Hallo,

    @Matzebhv

    Das hab ich versucht. Bild im Anhang.

    Aber da bekomm ich keinen Wert. Der Datenpunkt steht zu Beginn auf true und wenn er die 10 werte gelesen hat und dann einen Wert schreiben soll wechselt er auf fals.

    Ist das blockly falsch oder mein Datenpunkt?!

    53001502_2313398735339557_8203902918550618112_n.jpg

    MatzebhvM 1 Reply Last reply
    0
    • Homer.J.H Offline
      Homer.J.H Offline
      Homer.J.
      wrote on last edited by
      #5

      Versuch mal das ich Bilde so meinen Mittelwert für die meine Rolladensteuerung funktioniert Klasse.
      Musst du dir halt auf dich anpassen.

      // Berechnung von gleitendem Durchschnitt aus 8 Werten
      const idLicht = "hm-rpc.1.OEQ.1.LUX"/*Helligkeit LUX*/; // ID des Licht-Datenpunktes eintragen !
      const idAvr   = 'Licht.Mittel';
      const idList  = 'Licht.Liste';
      const n = 8;       // Anzahl der Werte
      
      var licht = getState(idLicht).val;
      var list = [licht,licht,licht,licht,licht,licht,licht,licht];
      if(getObject(idList)) list = getState(idList).val.split(',');
      
      createState(idAvr, licht, {type: 'number', unit: 'lux'});
      createState(idList, list.join(','), {type: 'string'});
      
      function calc() {
        list.pop();
        licht = getState(idLicht).val;
        list.unshift(licht);
        setState(idList, list.join(','), true);
        var sum = 0.0; 
        for (let i = 0; i < n; i++) {
      	sum = sum + parseFloat(list[i]);
        }
        setState(idAvr, Math.round(sum / n), true);
      }	 
      
      schedule('*/2 * * * *', calc); // alle 2 Minuten
      

      Grüße

      1 Reply Last reply
      0
      • 0 0__Nik__0

        Hallo,

        @Matzebhv

        Das hab ich versucht. Bild im Anhang.

        Aber da bekomm ich keinen Wert. Der Datenpunkt steht zu Beginn auf true und wenn er die 10 werte gelesen hat und dann einen Wert schreiben soll wechselt er auf fals.

        Ist das blockly falsch oder mein Datenpunkt?!

        53001502_2313398735339557_8203902918550618112_n.jpg

        MatzebhvM Offline
        MatzebhvM Offline
        Matzebhv
        wrote on last edited by
        #6

        @0__Nik__0 Ich kann dein Blockly gerade nicht richtig erkennen, das ist aber viel zu komplex.

        So sieht das u.a. hier aus: ich errechne die Einspeisung meiner kleinst PV ( sofern sie denn einspeist ) auf Wh um und dann auch für den Tag hoch.

        blockly.PNG

        1 Reply Last reply
        0
        • 0 Offline
          0 Offline
          0__Nik__0
          wrote on last edited by
          #7

          @Matzebhv

          Ich habe zum testen die Aktualisierung des Wert´s "Liter" auf 10 Sekunden gestellt und lass ihn laut Skript alle 59 Sekunden auswerten.

          Ich hab das jetzt mal so "angepasst" aber da kommt kein Wert raus.

          Wo ist mein Fehler?

          Unbenannt.JPG

          MatzebhvM paul53P 2 Replies Last reply
          0
          • 0 0__Nik__0

            @Matzebhv

            Ich habe zum testen die Aktualisierung des Wert´s "Liter" auf 10 Sekunden gestellt und lass ihn laut Skript alle 59 Sekunden auswerten.

            Ich hab das jetzt mal so "angepasst" aber da kommt kein Wert raus.

            Wo ist mein Fehler?

            Unbenannt.JPG

            MatzebhvM Offline
            MatzebhvM Offline
            Matzebhv
            wrote on last edited by
            #8

            @0__Nik__0 ändert sich der Wert "Liter" denn überhaupt? Bau mal Debug-Blöcke ein um die Werte im Log zu sehen.

            1 Reply Last reply
            0
            • 0 0__Nik__0

              @Matzebhv

              Ich habe zum testen die Aktualisierung des Wert´s "Liter" auf 10 Sekunden gestellt und lass ihn laut Skript alle 59 Sekunden auswerten.

              Ich hab das jetzt mal so "angepasst" aber da kommt kein Wert raus.

              Wo ist mein Fehler?

              Unbenannt.JPG

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #9

              @0__Nik__0 sagte:

              die Aktualisierung des Wert´s "Liter" auf 10 Sekunden gestellt

              Dann muss auf Aktualisierung getriggert werden. Ein Trigger im Trigger wird immer Probleme bereiten. Vorschlag für Mittelwertbildung über 10 Werte:
              Blockly_Mittel10.JPG

              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

              MatzebhvM 1 Reply Last reply
              0
              • paul53P paul53

                @0__Nik__0 sagte:

                die Aktualisierung des Wert´s "Liter" auf 10 Sekunden gestellt

                Dann muss auf Aktualisierung getriggert werden. Ein Trigger im Trigger wird immer Probleme bereiten. Vorschlag für Mittelwertbildung über 10 Werte:
                Blockly_Mittel10.JPG

                MatzebhvM Offline
                MatzebhvM Offline
                Matzebhv
                wrote on last edited by
                #10

                @paul53 du hast natürlich recht, hatte den Trigger im Trigger übersehen. Ich sollte mir das genauere hinsehen auch ohne Brille angewöhnen. ☺

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  stimezo
                  Forum Testing
                  wrote on last edited by
                  #11

                  Ist meiner Meinung nach das falsche Vorgehen. Das mitteln/stabilisieren der Messdaten gehört auf
                  den Controller nicht in iobroker.

                  Einfach einen Sketch der x mal misst, mittelt und dann sendet.
                  Ggf. mittels Plausibilitätsabfragen verfeinert.

                  Was ist daran kompliziert?
                  Die Messwerte sind innerhalb der geforderten Spezifikation und der iobroker
                  wird nicht weiter belastet.

                  Viele Grüße
                  Christian

                  1 Reply Last reply
                  0
                  • 0 Offline
                    0 Offline
                    0__Nik__0
                    wrote on last edited by
                    #12

                    So funktioniert es jetzt.

                    Danke für eure Hilfe.

                    Unbenannt.JPG

                    @stimezo kannst du mir auch sagen wie ich das mit dem Wemos und Tasmota machen kann?

                    Programmieren kann ich leider nicht also muß ich das so machen.

                    S 1 Reply Last reply
                    0
                    • 0 0__Nik__0

                      So funktioniert es jetzt.

                      Danke für eure Hilfe.

                      Unbenannt.JPG

                      @stimezo kannst du mir auch sagen wie ich das mit dem Wemos und Tasmota machen kann?

                      Programmieren kann ich leider nicht also muß ich das so machen.

                      S Offline
                      S Offline
                      stimezo
                      Forum Testing
                      wrote on last edited by
                      #13

                      @0__Nik__0 sagte in [Füllstandsanzeige] Mittelwert von einer bestimmten Anzahl von Werten:

                      @stimezo kannst du mir auch sagen wie ich das mit dem Wemos und Tasmota machen kann?
                      Programmieren kann ich leider nicht also muß ich das so machen.

                      Ohne programmieren geht es natürlich nicht, ist aber pipipfax.
                      BTW: hast da nicht gerade was programmiert?

                      Viele Grüße
                      Christian

                      MatzebhvM 1 Reply Last reply
                      0
                      • S stimezo

                        @0__Nik__0 sagte in [Füllstandsanzeige] Mittelwert von einer bestimmten Anzahl von Werten:

                        @stimezo kannst du mir auch sagen wie ich das mit dem Wemos und Tasmota machen kann?
                        Programmieren kann ich leider nicht also muß ich das so machen.

                        Ohne programmieren geht es natürlich nicht, ist aber pipipfax.
                        BTW: hast da nicht gerade was programmiert?

                        Viele Grüße
                        Christian

                        MatzebhvM Offline
                        MatzebhvM Offline
                        Matzebhv
                        wrote on last edited by
                        #14

                        @stimezo Du magst zwar recht haben, aber für jemanden ohne das Equipment zum flashen des Controllers und ohne Plan von C# oder ähnlichem ist das alles andere als Pipifax. Und letztendlich macht der Controller dann nix anderes als das Blockly hier.

                        Matze

                        S 1 Reply Last reply
                        0
                        • MatzebhvM Matzebhv

                          @stimezo Du magst zwar recht haben, aber für jemanden ohne das Equipment zum flashen des Controllers und ohne Plan von C# oder ähnlichem ist das alles andere als Pipifax. Und letztendlich macht der Controller dann nix anderes als das Blockly hier.

                          Matze

                          S Offline
                          S Offline
                          stimezo
                          Forum Testing
                          wrote on last edited by
                          #15

                          @Matzebhv sagte in [Füllstandsanzeige] Mittelwert von einer bestimmten Anzahl von Werten:

                          @stimezo Du magst zwar recht haben, aber für jemanden ohne das Equipment zum flashen des Controllers und ohne Plan von C# oder ähnlichem ist das alles andere als Pipifax. Und letztendlich macht der Controller dann nix anderes als das Blockly hier.

                          Matze

                          Hi Matze,
                          ja und nein. Espeasy muss ja auch geflasht werden, also kann es da ja nun nicht klemmen und sich einen Sketch für den HR-SC4 zu suchen und eine Mittelwert-Berechnung einzufügen ist kein Rocket-Science.

                          Viele Grüße
                          Christian

                          1 Reply Last reply
                          0
                          • sissiwupS Offline
                            sissiwupS Offline
                            sissiwup
                            wrote on last edited by
                            #16

                            Hi, ein gleitendes gewichtetes Mittel kannst du relativ einfach berechnen.
                            Dafür brauchst du auch nicht so viele Werte speichern etc.

                            eine Variable Mittelwert anlegen.

                            Anschließend kannst du bestimmen wie schnell der Mittelwert durch neue Werte beeinflusst werden soll. Bei der Anwendung Heizöl kann man das sicherlich langsamer machen als bei der Helligkeitssteuerung.

                            Mittelwert = (Mittelwert*Gewicht+aktueller Wert)/(Gewicht+1)

                            Gute Werte für Gewicht z.B. 9 bei 10 Messungen in der Stunde
                            Oder für dein Heizölbeispiel vlt. 99.

                            Wenn der Wert für Gewicht zu hoch gewählt wird, dann hängt der Mittelwert hinter der Realität zu weit hinterher.

                            PS: So ähnlich berechnet man anhand der ABS-Sensoren ob ein Reifen Druck verliert bei LKWs.

                            MfG

                            Sissi

                            –-----------------------------------------

                            1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            308

                            Online

                            32.8k

                            Users

                            82.8k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe