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. Skripten / Logik
  4. [Füllstandsanzeige] Mittelwert von einer bestimmten Anzahl von Werten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklymonitoringjavascript
16 Beiträge 7 Kommentatoren 2.6k Aufrufe 6 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.
  • MatzebhvM Offline
    MatzebhvM Offline
    Matzebhv
    schrieb am zuletzt editiert von
    #3

    Moin,

    ja, das geht relativ einfach. Du triggerst auf Änderungen des Sensors und addierst die gemessenen Werte auf.
    Gleichzeitig zählst du bei jeder Werteänderung einen Counter hoch. Nun kannst du jetzt z.B. alle 10 Minuten den aufaddierten Wert durch den Counter teilen. Danach Counter auf 0 setzen und wieder von vorne.

    Gruß
    Matze

    1 Antwort Letzte Antwort
    0
    • 0 Offline
      0 Offline
      0__Nik__0
      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
      0
      • Homer.J.H Offline
        Homer.J.H Offline
        Homer.J.
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • 0 Offline
            0 Offline
            0__Nik__0
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #10

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

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    stimezo
                    Forum Testing
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • 0 Offline
                      0 Offline
                      0__Nik__0
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            0
                            • sissiwupS Offline
                              sissiwupS Offline
                              sissiwup
                              schrieb am zuletzt editiert von
                              #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 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

                              861

                              Online

                              32.5k

                              Benutzer

                              81.8k

                              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