Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Solareinspeisung steuern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Solareinspeisung steuern

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

      Ich stehe vor folgender Aufgabenstellung:
      mein Solarspeicher fürs Balkonkraftwerk soll erst ab 30% Akkufüllstand mit dem Einspeisen der Maximalleistung von 600W an den Wechselrichter beginnen, aber nur dann, wenn gleichzeitig mindestens 150W Solarleistung anliegen. Abends/Nachts soll die Einspeisung dann wieder auf 0W geschaltet werden, sobald der Akku seine untere Entladegrenze, derzeit 15%, erreicht hat. Damit soll ein automatisches Wiederanlaufen am nächsten Tag verhindert werden.

      Hintergrund ist, daß ich ein „Ping-Pong“ vermeiden möchte, indem der Speicher automatisch anfängt einzuspeisen, sobald 1% mehr als die untere Grenze im Akku sind, die dann aber bei schwacher Sonne gleich wieder weg sind.

      Gelöst habe ich das bisher so:

      1. Einschalten

      5d6d554d-8ec1-47f2-8157-14d1956b6640-image.png

      1. Ausschalten

      ba8e9f53-4972-4121-b620-952a616542fe-image.png

      Leider klappt das nicht so ganz, denn die Einspeisung geht zwar am ersten Tag so wie gewünscht ab 30% los, am zweiten Tag startet sie dann aber direkt über 15%. Mache ich während der Nacht einen Neustart des Einschalt-Scripts, dann klappt es am nächsten Tag wie gewünscht.

      Meine Frage ist nun, wie ich das eleganter lösen kann. Ich dachte daran, das Einschaltscript nachts zeitgesteuert durchzustarten, aber das ist ja eher Pfusch, oder?
      Vielleicht kann man ja sogar alles sogar innerhalb eines einzigen Scripts abbilden?

      Bin für jeden Tip dankbar!

      Meister Mopper paul53 2 Replies Last reply Reply Quote 0
      • Meister Mopper
        Meister Mopper @diet99 last edited by Meister Mopper

        @diet99

        Du triggerst auf das falsche Datenereignis, es sollte die PV-Leistung sein.

        Weiterhin speist ein Solarspeicher in keinen Wechselrichter ein. Das stimmt begrifflich nicht.

        Und weiterhin ist es immer problematisch, einen Trigger in einen Trigger zu implementieren.

        D 1 Reply Last reply Reply Quote 0
        • D
          diet99 @Meister Mopper last edited by

          @meister-mopper said in Solareinspeisung steuern:

          Du triggerst auf das falsche Datenereignis, es sollte die PV-Leistung sein.

          Das hat schon seine Richtigkeit so:

          screenshot_1511.jpg

          Weiterhin speist ein Solarspeicher in keinen Wechselrichter ein. Das stimmt begrifflich nicht.

          Auch das ist korrekt: der Zendure PV-Hub gibt Gleichspannung ab und speist damit einen (Mikro-)Wechselrichter, der über OpenDTU-onBattery in seiner Leistung geregelt wird.

          Und weiterhin ist es immer problematisch, einen Trigger in einen Trigger zu implementieren.

          Das hilft mir ggf. weiter. Ich werds mir mal dahingehend überlegen, was ich ändern kann. Danke Dir!

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

            @diet99 sagte: am zweiten Tag startet sie dann aber direkt über 15%.

            Trigger innerhalb eines Trigger funktioniert nicht!
            Vorschlag:

            Blockly_temp.JPG

            D 1 Reply Last reply Reply Quote 1
            • D
              diet99 @paul53 last edited by

              @paul53 das mit Trigger innerhalb Trigger wird mir jetzt auch so langsam klar. War mir nicht bewusst. Ich hab halt mal vor mich hin programmiert und es lief leidlich 🙄

              Dein Vorschlag sieht super aus 👍 Danke!
              Den letzten Block habe ich allerdings noch nicht so recht verstanden.

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

                @diet99 sagte: Den letzten Block habe ich allerdings noch nicht so recht verstanden.

                "Leistung" steht für "Einzustellende Ausgangsleistung".

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

                  @paul53 Ah, ok. Hier stelle ich immer die volle Leistung ein, also 600 oder 800W. Die Regelung passiert über den Wechselrichter und OpenDTU. Das hieße dann wohl, daß ich den ersten und den letzten Block weglasse?

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    diet99 @diet99 last edited by

                    Ich glaube ich habs jetzt kapiert - ich war nur verwirrt weil Du schriebst "Leistung" steht für "Einzustellende Ausgangsleistung".
                    Der Zendure SolarFlow-Adapter bietet den Wert "Ausgangsleistung" an, das ist der aktuell eingestellte Wert. Um den Wert tatsächlich zu setzen benötigt man "Einzustellende Ausgangsleistung" aus dem Folder "Control". Damit sieht das ganze dann so aus:

                    3b0bc956-6aa0-49f2-9065-a6075512cfd7-grafik.png

                    Besten Dank! Ich werd's testen und berichten 👍

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

                      @diet99 sagte: bietet den Wert "Ausgangsleistung" an

                      An allen 3 Stellen muss es der DP "Einzustellende Ausgangsleistung" sein!

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

                        @paul53 said in Solareinspeisung steuern:

                        @diet99 sagte: bietet den Wert "Ausgangsleistung" an

                        An allen 3 Stellen muss es der DP "Einzustellende Ausgangsleistung" sein!

                        Da bin ich jetzt in der Tat nicht sicher. Müßte so, wie ich es gemacht habe, auf alle Fälle funktionieren. Den Wert "Einzustellende Ausgangsleistung" gibt es offenbar nur im Zendure-Adapter, der Wert "Ausgangsleistung" wird von der Zendure-Cloud geliefert.
                        Zumindest habe ich es so verstanden.

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

                          @diet99 sagte: Da bin ich jetzt in der Tat nicht sicher.

                          Aber ich: Es muss immer der gleiche Datenpunkt sein.

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

                            @paul53 said in Solareinspeisung steuern:

                            @diet99 sagte: Da bin ich jetzt in der Tat nicht sicher.

                            Aber ich: Es muss immer der gleiche Datenpunkt sein.

                            Was macht Dich da so sicher?

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

                              @diet99 sagte: Was macht Dich da so sicher?

                              Die Programmlogik. Die Variable WR-Leistung muss immer die einzustellende max. Ausgangsleistung beinhalten. Der Bezeichner ist offenbar ungünstig gewählt.

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

                                @paul53 said in Solareinspeisung steuern:

                                @diet99 sagte: Was macht Dich da so sicher?

                                Die Programmlogik. Die Variable WR-Leistung muss immer die einzustellende max. Ausgangsleistung beinhalten. Der Bezeichner ist offenbar ungünstig gewählt.

                                Ich werde es ausprobieren und überall mal die Einzustellende Ausgangsleistung eintragen.

                                Mich hat gerade irritiert, daß die Einspeisung gerade gestoppt wurde, als der SOC wieder unter 30% gesunken ist und die Solarleistung unter 150W war. Das hätte eigentlich erst passieren dürfen, sobald der SOC auf 15% gesunken ist.

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

                                  @diet99 sagte: Ich werde es ausprobieren und überall mal die Einzustellende Ausgangsleistung eintragen.

                                  Blockly_temp.JPG

                                  So ist der Bezeichner hoffentlich besser gewählt?

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

                                    @paul53 said in Solareinspeisung steuern:

                                    Blockly_temp.JPG

                                    So ist der Bezeichner hoffentlich besser gewählt?

                                    Die Bezeichner sind ja vorgegeben im Zendure-Adapter. Da kann ich zumindest nichts ändern.

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

                                      @diet99 sagte: Die Bezeichner sind ja vorgegeben im Zendure-Adapter.

                                      Ich meinte nicht den Datenpunkt-Namen, sondern den Bezeichner der Variable.

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

                                        @paul53 said in Solareinspeisung steuern:

                                        Ich meinte nicht den Datenpunkt-Namen, sondern den Bezeichner der Variable.

                                        Ok - ich bin irgendwie noch nicht so tief drin in der Materie, sorry.

                                        Auf alle Fälle vielen Dank für Deine Geduld und das Script!

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

                                          @paul53 Bisher funktioniert das Script sehr gut, mir ist allerdings noch etwas aufgefallen, für das ich gerade eine Lösung suche:
                                          Angenommen der Akku hat tagsüber die eingestellte Untergrenze wieder unterschritten und die Variable "maxLeistung" wurde auf 0 gesetzt. Später scheint dann wieder die Sonne und der Akku wird wieder geladen - allerdings nicht über die Schwelle von 30%. Wenn ich jetzt manuell die "WR max. Leistung" in der control-Section auf z.B. 600W stelle, um den Akku abends oder nachts leerzumachen, wird diese beim nächsten Schleifendurchlauf (also Änderung des SOC) wieder auf 0 gesetzt, weil die Variable ja auf 0 steht und nur beim Neustart des Scriptes aus der "WR max. Leistung" gelesen wird. Hier hilft aktuell nur ein anschließender Neustart des Scriptes, nachdem die Leistung manuell gesetzt wurde.
                                          Da habe ich jetzt noch keine sinnvolle Lösung gefunden.

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

                                            @diet99 sagte: Da habe ich jetzt noch keine sinnvolle Lösung gefunden.

                                            Ergänze das Skript durch Setzen der Variablen bei manueller Einstellung der max. Leistung.

                                            Blockly_temp.JPG

                                            "script.js.Skriptname" durch den tatsächlichen Namen des Skriptes ersetzen!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            683
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            35
                                            1557
                                            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