Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. PV Überschuss -> Wetter -> Mindestlaufzeit

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    PV Überschuss -> Wetter -> Mindestlaufzeit

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

      Hallo Forum,

      derzeit verwende ich in ioBroker ein Blockly Script dafür, um den aktuellen Ertrag meiner PV Anlage an die Heizungssteuerung zu übermitteln.
      blockly.jpeg

      Dies ist relativ rudimentär, erfüllt aber bislang seinen Zweck.
      Nun stehe ich vor der Herausforderung, dass meine Wärmepumpe möglichst 25min Mindestlaufzeit haben soll um effizient zu sein und auch das Material zu schonen. Das kann ich zwar in meiner Heizungsfunktion einstellen, wird aber vom Schalteingang mit dem Namen "Freigabe Funktion" überschrieben. An diesem Schalteingang hängt meine Vergleichsfunktion, die ab 3kW PV Ertrag ein EIN sendet.
      Nun passiert es, dass witterungsbedingt der Ertrag um die 3kW schwankt und meine Wärmepumpe immer an und ausgeschaltet wird.

      Phase 1:
      Daher möchte ich mein Blockly Script dahingehend erweitern, dass eine Mindestlaufzeit eingestellt werden kann. Dazu würde ich versuchen, den Status der Wärmepumpe auch noch auszulesen, so dass erst bei dessen Trigger der Timer losläuft.
      Also sowas wie:

      • PVLeistungAktuell / 100 = PV Überschuss
      • Wenn Wärmepumpe = EIN dann PV Überschuss für x Minuten einfrieren

      oder vermutlich ist es besser, die in der Heizungsregelung befindliche Vergleichsfunktion mit dem Blockly zu ersetzen und nur 0/1 in die Regelung zu senden. Das müsste dann sowas hier sein:

      • Wenn PVLeistungAktuell > 3000 dann PV Überschuss = 1
      • Wenn PV Überschuss = 1 und Wärmepumpe = 1 dann PV Überschuss für x Minuten = 1

      Phase 2:
      In Abhängigkeit von der Wettervorhersage möchte ich dann den Schwellwert für PV Überschuss ändern. Bei schlechtem Wetter 4000 kW und bei schönen Wetter 3000 kW.

      Könnt ihr mir dazu Tipps geben?

      Danke
      Henri

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

        @hennerich sagte: Blockly Script dafür, um den aktuellen Ertrag meiner PV Anlage an die Heizungssteuerung zu übermitteln.

        Das Intervall ist kontraproduktiv! Irgendwann stürzt ioBroker damit ab.
        Besser so:

        Bild_2022-09-27_143443084.png

        @hennerich sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

        eine Mindestlaufzeit eingestellt werden kann.

        Prinzip

        Erfasst Du den PV-Überschuss (Einspeisung in das Netz) oder die erzeugte PV-Leistung?

        H 2 Replies Last reply Reply Quote 1
        • H
          hennerich @paul53 last edited by

          @paul53
          Du meinst so?
          83937b1b-b937-4f8e-82d3-bfb0b41a954c-grafik.png

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

            @hennerich sagte: Du meinst so?

            Ja.

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

              @paul53
              Danke dir! Ich glaube, dass ich die von dir beschriebenen Probleme schon hatte und nicht wusste, warum 😉

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

                @paul53 sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                Erfasst Du den PV-Überschuss (Einspeisung in das Netz) oder die erzeugte PV-Leistung?

                Ich erfasse die aktuelle PV-Leistung unabhängig davon, was ins Netz gespeist wird.

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

                  @hennerich sagte: Ich erfasse die aktuelle PV-Leistung unabhängig davon, was ins Netz gespeist wird.

                  Dann sollte der Datenpunktname nicht "PV Ueberschuss" sein.
                  Für die Wärmepumpensteuerung kann bei Verwendung der PV-Leistung die Hysterese kleiner sein, als die Leistungsaufnahme der WP. Eine Hysterese sollte aber immer verwendet werden, zusätzlich zur Mindest-Einschaltdauer.

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

                    @paul53 sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                    Für die Wärmepumpensteuerung kann bei Verwendung der PV-Leistung die Hysterese kleiner sein, als die Leistungsaufnahme der WP. Eine Hysterese sollte aber immer verwendet werden, zusätzlich zur Mindest-Einschaltdauer.

                    Kannst du das einem Laien wir mir etwas näher erklären? Was genau macht die Hysterese?

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

                      @hennerich sagte: Was genau macht die Hysterese?

                      Eine Hysterese verhindert, das bei einem Messwert im Grenzbereich schwankend nicht ständig ein- und ausgeschaltet wird.

                      Beispiel mit einer Hysterese von 1000 (W) und einer Mindest-ED von 30 Minuten:

                      Bild_2022-09-27_151725537.png

                      H 2 Replies Last reply Reply Quote 2
                      • H
                        hennerich @paul53 last edited by hennerich

                        @paul53
                        Hey Paul, soll ich dir mal sagen, dass ich zu blöd bin die Funktion setze xyz auf im Blockly zu finden. Wo soll die denn sein?

                        Edit sagt:
                        Ahh, eine benutzerdefinierte Variable ... Hast du das Objekt PV Grenzwert EIN manuell angelegt?

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

                          @hennerich sagte: Hast du das Objekt PV Grenzwert EIN manuell angelegt?

                          Ja, unter "0_userdata.0". Deshalb:

                          @hennerich sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                          In Abhängigkeit von der Wettervorhersage möchte ich dann den Schwellwert für PV Überschuss ändern.

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

                            @paul53

                            Hallo Paul, damit ich es richtig verstanden habe:
                            Das Ausführen von delay* sorgt dafür, dass das jeweilige delay solange den darin enthaltenen Objektstatus behält, bis der Timer abgelaufen ist.
                            Lass mich mal versuchen, das ganze anhand eines Beispiels A durchzuspielen:

                            • aktuelle PV-Leistung = Wert = grenzwertEin = 5.000W
                            • grenzwertAus = 4.000W
                            • letzter Wert = 5.100W (also abfallend)

                            Wert ist also größer als grenzwertEin und daher greift Bedingung Zwei, delayOff wird gestoppt und danach wird delayOff 30 Minuten lang den Wert von Switch auf false setzen. Korrekt?

                            Wenn ich diese Logik auf mich übersetze, dann brauche ich ja genau das Gegenteil. In diesem Fall muss meine Wärmepumpe true haben.

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

                              @hennerich sagte: letzter Wert = 5.100W (also abfallend)

                              Wenn zu diesem Zeitpunkt das Skript gestartet wird, passiert nichts bis 4000 W erstmalig unterschritten werden: Dann wird delayOff gestartet und nach 30 Minuten wird ausgeschaltet, wenn nicht innerhalb der 30 Minuten 4000 wieder überschritten wurden.
                              Am Vormittag passiert folgendes: Wenn 5000 W erstmalig und mindestens 10 Minuten lang überschritten werden, wird nach 10 Minuten eingeschaltet.
                              Falls Wert <= 5000 bedeutet für den sonst-Zweig: falls Wert > 5000 und vorheriger Wert <= 5000 = erstmaliges Überschreiten. Es darf immer nur ein Timer laufen.
                              Ausführen delayOn in 10 Minuten ist eine Verzögerung der Aktion(en) um 10 Minuten.

                              Damit die Wärmepumpe eingeschaltet wird, wenn das Skript am Tage bei hoher PV-Leistung gestartet wird, kann man außerhalb des Triggers einen Vergleich machen:

                              Bild_2022-09-27_223802688.png

                              @hennerich sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                              delayOff wird gestoppt und danach wird delayOff 30 Minuten lang den Wert von Switch auf false setzen. Korrekt?

                              Wenn die Bedingung erfüllt ist, wird gestoppt und der sonst-Zweig wird nicht ausgeführt.

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

                                @paul53
                                Guten Morgen Paul,

                                ok, kompliziert. Ich hab das jetzt so nachgebaut wie du beschrieben hast:
                                97c6a6a2-2700-4f2f-8d36-722fc5104ebb-image.png

                                Wobei ich mir noch unsicher bin, ob und was mir die 10min Verzögerung bringen sollen. Sicherlich ist das bei schönen Wetter relativ erwartbar. Wenn du aber paar Wolken vorbeiziehen hast, dann kann sich das auch schnell wieder ändern und die WP geht im schlechtesten Fall nie an. Ich würde das in Kauf nehmen. Daher hab ich den Timer auf 5min reduziert.

                                Ach, und noch ein Missverständnis meinerseits. Ich bin davon ausgegangen, dass
                                5eb1e97a-b02e-4ccc-a661-ff6043c0f886-image.png
                                steuere Wärmepumpe EIN direkt ausgeführt wird und eben false 25min lang gehalten wird. Das stimmt so also nicht sondern NACH 25min wird Wärmepumpe EIN auf false gesetzt.

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

                                  @hennerich sagte: was mir die 10min Verzögerung bringen sollen

                                  Damit bei starker Bewölkung die WP nicht bei jeder kleinen Wolkenlücke anspringt.

                                  H 1 Reply Last reply Reply Quote 1
                                  • H
                                    hennerich @paul53 last edited by

                                    @paul53

                                    Hallo Paul, danke, dass du mich hierbei unterstützt.
                                    Mir ist noch ein Punkt eingefallen, den ich im Script noch berücksichtigen muss. Meine Heizungssteuerung sieht vor, dass bei Anforderung durch spezielle Temperaturgrenzen (wie z.B. wenn meine Puffertemperatur oben auf unter 45°C fällt) der Trigger für einen Wärmeerzeuger (Wärmepumpe oder Ölbrenner) gegeben wird.
                                    Das ist so derzeit konfiguriert:
                                    cfc79556-a6d6-4811-aa21-100e6375f1a7-image.png

                                    Das Blockly soll perspektivisch den Schalteingang "Freigabe Funktion" der Anf.WP1 triggern. Die nachgelagerte Funktion Anf.Benner1 verwendet dabei als Freigabe den inversen Ausgang A5, an dem meine Wärmepumpe hängt. So ist sichergestellt, dass entweder die WP oder der Brenner läuft.
                                    Wenn jetzt in der Brennerfunktion eine Mindestlaufzeit von 10 Minuten eingestellt ist, macht es dann Sinn den Start des Brenners noch zusätzlich im Blockly als eine Art Delay mit aufzunehmen? Und falls ja, wie würdest du das umsetzen?

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

                                      @hennerich sagte: im Script noch berücksichtigen muss.

                                      Die Abhängigkeit von Puffer-Temperatur und Vorlauf-Sollwert ist doch intern (nachgelagert) geregelt. Was soll da zusätzlich Blockly übernehmen?

                                      @hennerich sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                                      Wenn jetzt in der Brennerfunktion eine Mindestlaufzeit von 10 Minuten eingestellt ist, macht es dann Sinn den Start des Brenners noch zusätzlich im Blockly als eine Art Delay mit aufzunehmen?

                                      Wozu? Ist doch sicherlich intern gesteuert. Außerdem fehlt die Eingriffsmöglichkeit: Mehr als die WP-Freigabe ausschalten, damit die interne Brennersteuerung aktiv wird, kann man nicht.

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

                                        @paul53 sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                                        Wozu? Ist doch sicherlich intern gesteuert.

                                        Das dachte ich bisher auch. Der Hersteller hat mir jedoch geschrieben, dass die "Freigabe Funktion" alle Ausgänge steuert unabhängig davon, ob die Mindestlaufzeit noch läuft oder nicht. Das würde also bedeuten, dass wenn der Brenner angeht und kurze Zeit später der Trigger für Wärmepumpe EIN kommt, dann geht der einfach aus und die Wärmepumpe startet.
                                        Ich muss noch mal meinen Heizungsbauer fragen, ob das dem Brenner schadet, wenn der nur wenige Minuten läuft. Der Wärmepumpe schadet es auf jeden Fall und daher brauche ich ja diese Lösung hier.

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

                                          @hennerich sagte: Der Wärmepumpe schadet es auf jeden Fall und daher brauche ich ja diese Lösung hier.

                                          Dadurch, dass die Steuerung der WP über Puffer-Temperatur und Vorlauf-Sollwert nachgelagert erfolgt, ist die Mindest-Einschaltdauer aus dem Blockly nicht garantiert.

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

                                            @paul53 sagte in PV Überschuss -> Wetter -> Mindestlaufzeit:

                                            @hennerich sagte: Der Wärmepumpe schadet es auf jeden Fall und daher brauche ich ja diese Lösung hier.

                                            Dadurch, dass die Steuerung der WP über Puffer-Temperatur und Vorlauf-Sollwert nachgelagert erfolgt, ist die Mindest-Einschaltdauer aus dem Blockly nicht garantiert.

                                            Doch, weil wie oben beschrieben die "Freigabe Funktion" der Master ist. Wenn die EIN ist UND die Anforderung von der Temperatur herkommt, dann läuft ja die WP. Oder übersehe ich da etwas?

                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            868
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            48
                                            2809
                                            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