Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Datenpunkte filtern (rolling average)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Datenpunkte filtern (rolling average)

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      passuff last edited by

      Hallo,
      ich möchte Geräte in Abhängigkeit meines PV Überschusses steuern. Der Wert vom Smartmeter ist etwas nervös, da Batteriespeicher und Wechselrichter nur träge reagieren. Es entstehen dabei Spitzen von maximal 60s Dauer, die ich gerne filtern möchte.
      Wie könnte ich das am einfachsten realisieren (Blockly, JS)? Ich bin dazu leider nicht in der Lage.

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @passuff last edited by Homoran

        @passuff sagte in Datenpunkte filtern (rolling average):

        Ich bin dazu leider nicht in der Lage.

        doch! das schaffst du!

        Werte von hinten in eine Liste schreiben und Mittelwert der Liste in einrn DP den du für weitere Aktionen nutzst.

        Wenn Länge von Liste > x Elemente lösche erstes Element

        Ausschnit aus einem alten Blockly mit dieser Berechnung

        Screenshot_20240621-110654_Firefox.jpg
        für die markierte Zeile gibt es auch direkt einen Mittelwert-Block

        MartinP 1 Reply Last reply Reply Quote 0
        • MartinP
          MartinP @Homoran last edited by

          Das, was @homoran geschrieben hat, wäre eine der Möglichkeiten.
          Wenn man das Problem erstmal von außen betrachtet gäbe es auch den PID-Regler-Adapter, den man ggfs. dafür verwenden könnte. Vielleicht wäre das aber auch "mit Kanonen auf Spatzen schießen"....

          Messgröße wäre der PV-Überschuss, Stellgröße der Sollwert der Last, die man durch Ein/Ausschalten von Geräten erreichen muss.

          Zusammenpuzzeln, wie man die Last genau erreicht kann man dann in einem Blockly, das getriggert durch Änderung der Stellgröße abläuft...

          87768262-5c14-48fc-84e6-fe123f1ca918-grafik.png

          P 1 Reply Last reply Reply Quote 0
          • P
            passuff @MartinP last edited by

            @martinp
            Wow, ein PID Adapter. Das hilft mir in jedem Fall für andere Anwendungen (zB Regelung der Pool Chemie auf PH und Chlor).
            Aber du hast mich daran erinnert mal in den Adaptern zu stöbern.. und siehe da: Es gibt einen Smoothed adapter der genau das macht was ich suche.

            @Homoran
            Danke Dir, aber ich tue mich damit schwer.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @passuff last edited by

              @passuff sagte in Datenpunkte filtern (rolling average):

              ich tue mich damit schwer.

              aber "es lernt!"

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @passuff last edited by

                @passuff sagte: ich möchte Geräte in Abhängigkeit meines PV Überschusses steuern.

                Geräte mit unterschiedlicher oder gleicher Leistungsaufnahme zu- und abschalten? Oder die Leistung kontinuierlich steuern?
                Im ersten Fall sollte man ohnehin Verzögerungen im Minutenbereich vorsehen, damit nicht auf jede kleine Wolke / Wolkenlücke reagiert wird.

                P 1 Reply Last reply Reply Quote 0
                • P
                  passuff @paul53 last edited by passuff

                  @paul53
                  Ja, das wird die nächste Aufgabe. Kann man den "debounce" mit einem timeout lösen?

                  EDIT: https://forum.iobroker.net/post/905036
                  So hattest du es bereits einmal vorgeschlagen. Ich denke das passt gut zu meiner Anwendung.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @passuff last edited by paul53

                    @passuff sagte: So hattest du es bereits einmal vorgeschlagen.

                    Das ist eine reine Entprellung, die nichts mit Berücksichtigung von Wolken zu tun hat.
                    Seit Javascript-Version 7.0.5 erfolgt im Timeout-Block das setzen auf null automatisch.

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      passuff @paul53 last edited by

                      @paul53
                      Danke für die Info. Wie würdest du es dann machen?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @passuff last edited by paul53

                        @passuff sagte: Wie würdest du es dann machen?

                        Wie viele Geräte mit welcher Leistungsaufnahme sollen abhängig vom Überschuss geschaltet werden?
                        Beispiel mit 7 Stufen

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          passuff @paul53 last edited by

                          @paul53
                          Aktuell nur eine Wärmepumpe mit 600 Watt.

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @passuff last edited by paul53

                            @passuff sagte: nur eine Wärmepumpe mit 600 Watt.

                            Beispiel mit Bezug positiv und Einspeisung negativ (Shelly):

                            Blockly_temp.JPG

                            Gerade für den Kompressor einer Wärmepumpe benötigt man ausreichend große Schaltabstände.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              passuff @paul53 last edited by passuff

                              @paul53 ich denke da bin ich nah dran:

                              522152dc-0378-4e57-a5cc-4dea76c1db16-image.png

                              "Actual Power" ist die Leistung der Wallbox. Da diese eine eigene Überschussrechnung macht, addiere ich die Leistung auf die Leistung am Smartmeter "Power", damit die Wärmepumpe Vorrang vor der Wallbox hat.

                              paul53 2 Replies Last reply Reply Quote 0
                              • paul53
                                paul53 @passuff last edited by paul53

                                @passuff sagte: da bin ich nah dran:

                                Unterschied: Bei deiner Lösung mit Timeout wird verzögert geschaltet, wenn der Grenzwert einmal über- bzw. unterschritten wurde. Bei meiner Version wird nur geschaltet, wenn der Grenzwert während der gesamten Verzögerungszeit über- bzw. unterschritten blieb. Dafür sorgen die "stop timeout".

                                @passuff sagte in Datenpunkte filtern (rolling average):

                                Da diese eine eigene Überschussrechnung macht

                                Die müsste man kennen, um deine Lösung zu verifizieren.

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  passuff @paul53 last edited by

                                  @paul53
                                  Da war ich zu vorschnell. Sorry. Hast natürlich recht.

                                  93dd6d19-ac16-4ccc-b960-2bd7d46726b2-image.png

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @passuff last edited by paul53

                                    @passuff sagte: damit die Wärmepumpe Vorrang vor der Wallbox hat.

                                    Wenn die WP beim Einschalten Vorrang vor der WB haben soll: Wie kann dann die Leistungsaufnahme der WB als Einschaltkriterium dienen? Als Ausschaltkriterium durchaus, da die Leistungsaufnahme der WB stark sinkt, wenn die Autobatterie voll geladen ist.
                                    Ich würde es so versuchen:

                                    Blockly_temp.JPG

                                    "Switch" = Wärmepumpe.
                                    "Laden ein" = Freigabe Wallbox

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      passuff last edited by

                                      @paul53 sagte in Datenpunkte filtern (rolling average):

                                      Wenn die WP beim Einschalten Vorrang vor der WB haben soll: Wie kann dann die Leistungsaufnahme der WB als Einschaltkriterium dienen?

                                      Einspeisung + Leistung wallbox > Einschaltschwelle

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @passuff last edited by

                                        @passuff sagte: Einspeisung + Leistung wallbox > Einschaltschwelle

                                        Genau das verstehe ich nicht, wenn die WP Vorrang haben soll: Dann ist beim Einschalten der WP die Leistungsaufnahme der WB 0 oder sehr klein.

                                        P 1 Reply Last reply Reply Quote 0
                                        • P
                                          passuff @paul53 last edited by

                                          @paul53 sagte in Datenpunkte filtern (rolling average):

                                          Dann ist beim Einschalten der WP die Leistungsaufnahme der WB 0 oder sehr klein.

                                          Diesen Satz verstehe ich nicht.

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @passuff last edited by

                                            @passuff
                                            Vorrang der WP verstehe ich so, dass erst die WP eingeschaltet wird und wenn dann noch genügend Überschuss vorhanden ist, auch die WB freigegeben wird.

                                            P 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            816
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            28
                                            1059
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo