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

      @accu ,
      weil ich die Ladeleistung zu der aktuellen Netzentnahme addiere und dann erst vergleiche und es ist auch eine Hysterese vorhanden, damit die Ladeleistung nicht hin und her kippelt.
      Wenn du mit deinen Werten dann arbeiten möchtest, musst du die setzen Sachen entfernen, ich denke das du das weißt.

      1 Reply Last reply Reply Quote 0
      • 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

                              510
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

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