Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Solarüberschuss immer auf Null ausbalancieren

    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

    Solarüberschuss immer auf Null ausbalancieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • Wal
      Wal Developer @Accu last edited by Wal

      @accu ,
      ich habe mir ein bisschen Zeit genommen und alles nochmal durch den Kopf gehen lassen.
      Man darf nur die Hysterese einbauen, sonst können sich die Werte beeinflussen wie du es festgestellt hast.
      Mit den 500 begrenzt du die Ladeleistung auf 500W.
      Fällt die Netzentnahme unter -50W z.B. -70W wird die Ladeleistung um 100W erhöht.
      Die Netzentnahme steigt jetzt auf 30W (-70W + 100W).
      30W ist aber kleiner 80W und größer -50W also ändert sich nichts.
      Null.jpg

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="R`mn(cD#e9UrF3W.[`Jy">Bll</variable>
          <variable id="h~kP2331{Pb[mXj==!Xp">HV</variable>
        </variables>
        <block type="variables_set" id="G{d5b]E92BZ3RAdD!78R" x="88" y="38">
          <field name="VAR" id="R`mn(cD#e9UrF3W.[`Jy">Bll</field>
          <value name="VALUE">
            <block type="math_number" id="u./idg*w/QptQ3fJW(Ah">
              <field name="NUM">0</field>
            </block>
          </value>
          <next>
            <block type="schedule" id="Ke.`x2d!Bj7%Mb5uzJAA">
              <field name="SCHEDULE">*/10 * * * * *</field>
              <statement name="STATEMENT">
                <block type="variables_set" id="blMDz?Po-?=A#f`i=]50">
                  <field name="VAR" id="h~kP2331{Pb[mXj==!Xp">HV</field>
                  <value name="VALUE">
                    <block type="math_rndfixed" id="@6lK6fDn_c.:~h./PPk5">
                      <field name="n">1</field>
                      <value name="x">
                        <shadow type="math_number" id="Ch=1x:dgnyQ9KWKKU)Db">
                          <field name="NUM">3.1234</field>
                        </shadow>
                        <block type="math_arithmetic" id="m%5NL{t=X;/O3}k@hXvE">
                          <field name="OP">MINUS</field>
                          <value name="A">
                            <shadow type="math_number" id="]y)BMj_-:e%SwHtsmu%R">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="math_arithmetic" id="!aMC7buM|a]IImq36)Mc">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                                <shadow type="math_number" id="TsLyzW5au.y=3y~l$a(s">
                                  <field name="NUM">1000</field>
                                </shadow>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="/6eB*|u`#Y~_i!0ff67c">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="math_random_float" id="cuL|+%?Y#,U!o.]Jp^}Q"></block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="L72j))K4RH]:R(alW`*Q">
                              <field name="NUM">500</field>
                            </shadow>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="controls_if" id="JBLyu*@*S];BU~Co@n`@">
                      <mutation elseif="1"></mutation>
                      <value name="IF0">
                        <block type="logic_operation" id="[YWV^k5Y1T:k[ekEY^Sy">
                          <field name="OP">AND</field>
                          <value name="A">
                            <block type="logic_compare" id=",%O0O[xNBD.|ZdirgvhT">
                              <field name="OP">LT</field>
                              <value name="A">
                                <block type="variables_get" id="na:o}nh(FcbqvgVSXmDk">
                                  <field name="VAR" id="R`mn(cD#e9UrF3W.[`Jy">Bll</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="FAlU|kY=Vr/s44Td8maC">
                                  <field name="NUM">500</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_compare" id="g?BU$swetC~?/lhcIUOW">
                              <field name="OP">LT</field>
                              <value name="A">
                                <block type="variables_get" id="XAQR%xOa{ngVw.*E{mO.">
                                  <field name="VAR" id="h~kP2331{Pb[mXj==!Xp">HV</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="$Gi!wHt~tJU[MfCh(Ajx">
                                  <field name="NUM">-50</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="math_change" id="WJFJYu`nm^~F3ys|#CVc">
                          <field name="VAR" id="R`mn(cD#e9UrF3W.[`Jy">Bll</field>
                          <value name="DELTA">
                            <shadow type="math_number" id="lxkrR)y/p$k[b~%QTnE]">
                              <field name="NUM">100</field>
                            </shadow>
                          </value>
                        </block>
                      </statement>
                      <value name="IF1">
                        <block type="logic_compare" id="lAi[pEK+IMNr+Xp.96U2">
                          <field name="OP">GT</field>
                          <value name="A">
                            <block type="variables_get" id="gB%v@:y$FUCn(@Ru:t*M">
                              <field name="VAR" id="h~kP2331{Pb[mXj==!Xp">HV</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="+g87mA#f0lDfC3Kp:(we">
                              <field name="NUM">80</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO1">
                        <block type="controls_if" id="sFCm7.7~@k|BSk0$G%iM">
                          <value name="IF0">
                            <block type="logic_compare" id="Q3FEVxOI7u:SXUTJ^kWv">
                              <field name="OP">GT</field>
                              <value name="A">
                                <block type="variables_get" id="U=ET!do3$cYv{k-=dRt2">
                                  <field name="VAR" id="R`mn(cD#e9UrF3W.[`Jy">Bll</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="/kxHot85ttA!4ZZ(hqAk">
                                  <field name="NUM">0</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="math_change" id="/d9P#ga-s`ZBP{=IJz+%">
                              <field name="VAR" id="R`mn(cD#e9UrF3W.[`Jy">Bll</field>
                              <value name="DELTA">
                                <shadow type="math_number" id="tb~CtTz^GH;(T_U3)*z[">
                                  <field name="NUM">-100</field>
                                </shadow>
                              </value>
                            </block>
                          </statement>
                        </block>
                      </statement>
                      <next>
                        <block type="debug" id="~HbVUC/MG8JhJ%Akl-}T">
                          <field name="Severity">log</field>
                          <value name="TEXT">
                            <shadow type="text" id="J+tA)cp)oU1CQC8e0lgD">
                              <field name="TEXT">test</field>
                            </shadow>
                            <block type="variables_get" id="I)%b8xo:Aach|B;Nj.p/">
                              <field name="VAR" id="h~kP2331{Pb[mXj==!Xp">HV</field>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="KQ_WwD}*8{O(J_UaUB;M">
                              <field name="Severity">log</field>
                              <value name="TEXT">
                                <shadow type="text" id="CQmnkOAXS@KT#!{6.QhW">
                                  <field name="TEXT">test</field>
                                </shadow>
                                <block type="variables_get" id="g_52/2No-POis)`mlVOr">
                                  <field name="VAR" id="R`mn(cD#e9UrF3W.[`Jy">Bll</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </next>
        </block>
      </xml>
      
      A 1 Reply Last reply Reply Quote 0
      • A
        Accu @Wal last edited by Accu

        @wal super Walter. Mein Skript schaut jetzt so aus.
        Nach ersten Tests läuft das ganze jetzt wesentlich stabiler und der Ladewert, wird nicht permanent rauf- und runter reguliert. Allerdings habe ich jetzt Fälle wo er auch gerne mal 60W ins plus geht und mit Hausstrom lädt.
        Seltsam ist auch, dass er nicht auf 50W runter reguliert bei niedrigen Solarüberschusswerten. Hier dazu mal das Protokoll:
        Bildschirmfoto 2023-09-14 um 11.04.26.png

        Bildschirmfoto 2023-09-14 um 07.54.45.png

        Wal Homoran 2 Replies Last reply Reply Quote 0
        • Wal
          Wal Developer @Accu last edited by

          @accu ,
          wie hoch sind deine Ladeleistungsschritte die du Setzen kannst jetzt im Normalbetrieb, oben hast du was von 100 geschrieben und im Skript hast du 50 stehen ?

          Je höher die Hysterese und Regelintervall, desto weniger schwankt das Ganze.

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

            @accu bist du sicher dass diese Werte in den flüchtigen Speicher geschrieben werden?
            Wenn die ins EEPROM geschrieben werden, ist nach kurzer Zeit Schluss.
            So ein EEPROM hält ca. 100.000 Schreibvorgänge. und bei 5 Sekunden Abstand.....

            A 1 Reply Last reply Reply Quote 0
            • A
              Accu @Wal last edited by

              @wal ich habe mal etwas mit den Werten rumgespielt. Bei Überschuss erhöhe ich die Ladeleistung in 20ger schritten, wenn ich nur noch Netzstrom habe, dann reduziere ich die Ladeleistung in 50ger Schritten.

              Wal 1 Reply Last reply Reply Quote 0
              • Wal
                Wal Developer @Accu last edited by

                @accu ,
                wenn du weniger Netzstrom nutzen möchtest, musst du mit der Hysterese weiter ins negative.

                -80 und +20 beim Vergleich.

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

                  @homoran puhh gute Frage. Ich habe eine Ecoflow Delta Pro und ich nutze das ioBroker Skript, welches hier zur Verfügung gestellt wurde: https://forum.iobroker.net/topic/66743/ecoflow-connector-script-zur-dynamischen-leistungsanpassung

                  Ein "Writable" Datenpunkt in dem ioBroker object Baum ist die Ladegeschwindigkeit über Wechselspannung.
                  Ich bin kein Programmierer aber so wie ich das verstanden habe, kann man die beschreiben. Woher weißt ich ob diese Werte ins EEPROM geschrieben werden?

                  Hier gibts noch den Beitrag von @haus-automatisierung dazu, der auch die AC Ladegeschwindigkeit erwähnt zum Einstellen via Skript.
                  https://haus-automatisierung.com/hardware/2023/02/13/ecoflow-river-2-usv-batteriespeicher.html?fbclid=IwAR01cgNhZGlG4m6FKbTWcpVERw8aqDFKjanJq55O8R8KZ5Agz5IcwVpV_4k

                  Wal Homoran 2 Replies Last reply Reply Quote 0
                  • Wal
                    Wal Developer @Accu last edited by

                    @accu ,
                    ich muss mir auch sowas mal zulegen, das tut ja schon weh.
                    verbrauch2.jpg

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

                      @accu sagte in Solarüberschuss immer auf Null ausbalancieren:

                      Woher weißt ich ob diese Werte ins EEPROM geschrieben werden?

                      das war meine Frage an dich!
                      ich kenne es von anderen Geräten, bei denen oft auch nur unter der Hand davor gewarnt wird mehr als 12 Änderungen am Tag zu setzen, weil das interne EEPROM sonst nach weniger als 10 Jahren hin ist.

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Accu @Wal last edited by

                        @wal was tut weh? was meinst du?

                        Wal 1 Reply Last reply Reply Quote 0
                        • A
                          Accu @Homoran last edited by

                          @homoran guter Punkt aber das kann ich dir nicht beantworten.

                          1 Reply Last reply Reply Quote 0
                          • Wal
                            Wal Developer @Accu last edited by

                            @accu ,
                            die Energie das man dem Energieversorger schenkt.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            488
                            Online

                            31.7k
                            Users

                            79.9k
                            Topics

                            1.3m
                            Posts

                            5
                            24
                            1233
                            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