Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • MonatsrĂĽckblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

Geplant Angeheftet Gesperrt Verschoben Blockly
203 Beiträge 36 Kommentatoren 61.9k Aufrufe 34 Watching
  • Ă„lteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • G Gonzokalle

    @carsaab
    Ich habe mal etwas gespielt.
    Mit dem openDTU-Adapter klappt es wunderbar. Alle Werte wurden nach 5-10 Sekunden im WR eingestellt.
    03cad449-dc00-4864-ad7c-e853911207d5-image.png

    Verstehe ich gerade nicht. Meinst du AC vom Zähler?
    ef0f3695-68b9-4782-8a83-e1414d8ea51c-image.png

    CarsaabC Offline
    CarsaabC Offline
    Carsaab
    schrieb am zuletzt editiert von
    #183

    @gonzokalle
    Zur Formel hast Du recht ist AC habe es oben korrigiert.
    Deine Lösung mit der Liste sieht gut aus.
    Die Formel für mehrere WR sähe dann so aus. Das ist halt keine Batterieladung inkludiert. Nulleinspeisung ohne berücksichtigten Akku.
    64f57adf-2b8a-4057-a490-29556cb403fd-grafik.png
    habe noch die Worddatei mit der Formel hochgeladen.
    Der Formeleditor ist besser - ich nutze aber Textmaker privat.
    formel nulleinspeisung.docx

    G 1 Antwort Letzte Antwort
    0
    • CarsaabC Carsaab

      @gonzokalle
      Zur Formel hast Du recht ist AC habe es oben korrigiert.
      Deine Lösung mit der Liste sieht gut aus.
      Die Formel für mehrere WR sähe dann so aus. Das ist halt keine Batterieladung inkludiert. Nulleinspeisung ohne berücksichtigten Akku.
      64f57adf-2b8a-4057-a490-29556cb403fd-grafik.png
      habe noch die Worddatei mit der Formel hochgeladen.
      Der Formeleditor ist besser - ich nutze aber Textmaker privat.
      formel nulleinspeisung.docx

      G Offline
      G Offline
      Gonzokalle
      schrieb am zuletzt editiert von Gonzokalle
      #184

      @carsaab
      Ich habe dein Blockly mal nachgebaut.
      3035baf9-c395-457a-88e3-29a05800f066-image.png
      Der Stromverbrauch (Shelly 3EM) und das Limit von WR geht andauernd hoch und runter.
      Ist das bei dir auch so?

      @ alle
      Ich wĂĽrde das Blockly vom Anfang des Threads gerne mal probieren.
      Kann jemand ein einfaches Blockly fĂĽr nur einen WR mal posten?

      CarsaabC 1 Antwort Letzte Antwort
      0
      • G Gonzokalle

        @carsaab
        Ich habe dein Blockly mal nachgebaut.
        3035baf9-c395-457a-88e3-29a05800f066-image.png
        Der Stromverbrauch (Shelly 3EM) und das Limit von WR geht andauernd hoch und runter.
        Ist das bei dir auch so?

        @ alle
        Ich wĂĽrde das Blockly vom Anfang des Threads gerne mal probieren.
        Kann jemand ein einfaches Blockly fĂĽr nur einen WR mal posten?

        CarsaabC Offline
        CarsaabC Offline
        Carsaab
        schrieb am zuletzt editiert von Carsaab
        #185

        @gonzokalle
        Ja das ist bei mir auch so.
        Der Trigger ist immer die Änderung im Stromverbrauch. Dann setzt das Script ein neues Limit sofern die Solaranlage mehr als die 30% liefert. Bei mir dann 450W.
        Wenn der Stromverbrauch hochgeht, dann geht das Limit hoch und auch wieder runter, wenn der Verbrauch sinkt.
        Sollte dann die Solaranlage bei gleichem Verbrauch mehr liefern, dann sinkt der Stromverbrauch aber das Limit bleibt gleich, weil sich die Summe aus Solarenergie und Stromverbrauch nicht ändert.
        Ich habe auch nur einen WR.
        Weil aber mein Hichi nur alle 10sek einen neuen Wert schickt, ist das ganze natĂĽrlich nicht genau, aber fĂĽr unsere Zwecke reicht es.
        Vom Shelly 3EM mĂĽsste ja der Gesamtverbrauch gemessen werden. Wenn der Shelly im Sekundentakt einen Wert liefert, dann schreibt das Script auch jede Sekunde.

        Aber das Prinzip ist das gleiche. Ich nehme an, Du hast einen 600W WR im Einsatz.

        G T 2 Antworten Letzte Antwort
        0
        • CarsaabC Carsaab

          @gonzokalle
          Ja das ist bei mir auch so.
          Der Trigger ist immer die Änderung im Stromverbrauch. Dann setzt das Script ein neues Limit sofern die Solaranlage mehr als die 30% liefert. Bei mir dann 450W.
          Wenn der Stromverbrauch hochgeht, dann geht das Limit hoch und auch wieder runter, wenn der Verbrauch sinkt.
          Sollte dann die Solaranlage bei gleichem Verbrauch mehr liefern, dann sinkt der Stromverbrauch aber das Limit bleibt gleich, weil sich die Summe aus Solarenergie und Stromverbrauch nicht ändert.
          Ich habe auch nur einen WR.
          Weil aber mein Hichi nur alle 10sek einen neuen Wert schickt, ist das ganze natĂĽrlich nicht genau, aber fĂĽr unsere Zwecke reicht es.
          Vom Shelly 3EM mĂĽsste ja der Gesamtverbrauch gemessen werden. Wenn der Shelly im Sekundentakt einen Wert liefert, dann schreibt das Script auch jede Sekunde.

          Aber das Prinzip ist das gleiche. Ich nehme an, Du hast einen 600W WR im Einsatz.

          G Offline
          G Offline
          Gonzokalle
          schrieb am zuletzt editiert von
          #186

          @Carsaab
          Ja, der Shelly liefert im Sekundentakt.
          So schnell kann ich die Werte aber nicht in den WR schreiben.
          Deswegen habe ich den Trigger auf alle 10 Sekunden gesetzt.
          Ja, habe 600 W WR.

          1 Antwort Letzte Antwort
          0
          • CarsaabC Offline
            CarsaabC Offline
            Carsaab
            schrieb am zuletzt editiert von Carsaab
            #187

            So - ich habe zu experimentellen Zwecken mir noch einen HM300 von einem Kumpel geliehen.
            Steuern tue ich alles ĂĽber den MQTT Adapter. Der erkennt die openDTU und die dort eingebunden Wechselrichter. Damit die Steuerung funktioniert muĂź der MQTT Adapter ohne "retain" flag senden! Sonst geht es nicht.
            d981d238-4994-4502-81e3-8baefe2ee10e-grafik.png

            Dann muĂź fĂĽr jeden Hoymiles noch manuell der channel "cmd" und der state "limit_nonpersistent_relative" angelegt werden.
            5041975c-363d-4686-b759-db2ee5caa8d0-grafik.png
            Die Befehle findet Ihr hier: https://www.opendtu.solar/firmware/mqtt_topics/#inverter-limit-specific-topics
            Unter Alias könnt Ihr Euch dann die wichtigen Objekte erstellen oder Ihr verweist im Script direkt auf die Objekte.

            Eine Sequenz von 10Sekunden reichen mir - das regel ich über den Hichi Lesekopf, der den Stromverbrauch nur alle 10 Sekunden verschickt. Der Versuch in Echtzeit zu reagieren ist meistens ohnehin zum Scheitern verurteilt. Zum einen kann unsere "billige" Hardware das sowieso nicht, und dann gibt es ja noch die Physik https://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem. Ich beabsichtige nicht daran was zu ändern.

            FĂĽr 2 Wechselrichter und ohne Benutzung von Scriptvarialblen funktioniert mein Script wie folgt:
            7de00be4-3a29-4ca5-a7a1-6c37070f20c9-grafik.png

            Das lässt sich zur Not auch für eine 30KW-peak Anlage mit 70 Panelen und 35 MicroWR und 9 DTUen ausbauen. Dem Iobroker ist das egal. Nur die Stromerzeugung über alle DTUen müsste man adieren.

            Um Fragen vorzubeugen:

            • das Teilen durch 18 ist oben erklärt.
            • ich habe keinen Speicher und will eine Nulleinspeisung - auch oben erklärt
            • Ja - es geht bestimmt eleganter - ich berechne fĂĽr jeden WR das Limit separat obwohl sie dasselbe Limit bekommen.
              Ein Script mir einer berechnete Variablen wie hier funktioniert auch.
              7e706079-169f-4913-b78b-beac0dff6a63-grafik.png
            • Es läuft wie geschmiert - bei mir. Es wird bei Euch ohne etwas Frickelei nicht direkt aus der Box laufen vermute ich.
            1 Antwort Letzte Antwort
            0
            • T Tigger66

              @flo71 ich hab das Script für den zweiten WR so angepasst, dass er erst regelt wenn der erste entweder am oberen oder unteren Limit angekommen ist, oder aber dass die geforderte Leistung höher ist als die, die gerade zur verfügung steht...

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id="?~:J:;gqC%-pt?=zNsH:">Sunrise</variable>
                  <variable id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</variable>
                  <variable id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</variable>
                  <variable id="AcYpB0Ty+wVObL7=Y.a.">measuredPower</variable>
                  <variable id="1}Q0686mMw0ZGk)e+r?(">measuredSolarPower</variable>
                  <variable id="le#}gR{6G.yhW=x|6pS8">neededPower</variable>
                  <variable id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</variable>
                  <variable id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</variable>
                  <variable id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</variable>
                  <variable id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</variable>
                  <variable id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</variable>
                </variables>
                <block type="schedule" id="!P+uzJ#%y!_wHsKqo2~M" x="-443" y="-618">
                  <field name="SCHEDULE">*/20 * * * * *</field>
                  <statement name="STATEMENT">
                    <block type="variables_set" id="~v~t5u;a_q(#kb+E{(FH">
                      <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field>
                      <value name="VALUE">
                        <block type="time_astro" id="Svgszky6QE2/10f8vck1">
                          <field name="TYPE">sunrise</field>
                          <field name="OFFSET">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="variables_set" id="~/087{!i@]6[`rKxsw]j">
                          <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field>
                          <value name="VALUE">
                            <block type="time_astro" id="BO/%++Qd.ktL4PfK.r3?">
                              <field name="TYPE">sunset</field>
                              <field name="OFFSET">0</field>
                            </block>
                          </value>
                          <next>
                            <block type="controls_if" id="xaOp|xXgB@BB44iq}cJ.">
                              <mutation else="1"></mutation>
                              <value name="IF0">
                                <block type="logic_operation" id="|K,B[pWUT`!LyJsB6,pK">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="time_compare_ex" id="Y8n@Iqzd:%qZbp|#P_v^">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
                                      <field name="USE_ACTUAL_TIME">TRUE</field>
                                      <field name="OPTION">&gt;=</field>
                                      <value name="START_TIME">
                                        <shadow type="text" id="]-0N3DkP*7?ghtYzXwX!">
                                          <field name="TEXT">12:00</field>
                                        </shadow>
                                        <block type="variables_get" id="!,6PYgrHnSxh#Evn[Yie">
                                          <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="time_compare_ex" id="qRYvI=rC7,D?`B=PV@^6">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
                                      <field name="USE_ACTUAL_TIME">TRUE</field>
                                      <field name="OPTION">&lt;=</field>
                                      <value name="START_TIME">
                                        <shadow type="text">
                                          <field name="TEXT">12:00</field>
                                        </shadow>
                                        <block type="variables_get" id="LMy)6-$QN(f3d9klxV`O">
                                          <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="variables_set" id="~p6WKGjCNU[UXfc{|$8|">
                                  <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</field>
                                  <value name="VALUE">
                                    <block type="math_number" id="Z(v(#cMkS]/o.,;iyE/|">
                                      <field name="NUM">1500</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="variables_set" id="Ih%sQzzK`!Ec=`tscEm-">
                                      <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">measuredPower</field>
                                      <value name="VALUE">
                                        <block type="get_value" id="E60zTd:yszZT-@pD[YB#">
                                          <field name="ATTR">val</field>
                                          <field name="OID">shelly.0.SHEM-3#E8DB84D68CFF#1.Total.InstantPower</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id=":rlAB32E^@yPP9Jh?EMO">
                                          <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">measuredSolarPower</field>
                                          <value name="VALUE">
                                            <block type="get_value" id="Q8pLDlgI~N(N2-6)X@Qu">
                                              <field name="ATTR">val</field>
                                              <field name="OID">opendtu.0.116180216966.ac.phase_1.power</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="t8-xB+K`%rr)x]%:Q5cN">
                                              <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">neededPower</field>
                                              <value name="VALUE">
                                                <block type="math_arithmetic" id="2FaDMR/kS5K9d!j=`dK3">
                                                  <field name="OP">ADD</field>
                                                  <value name="A">
                                                    <shadow type="math_number" id="2FEk%?jHI2)Hvf4}p|*;">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="variables_get" id="Z`YZ!4FileGG?5VwaP-/">
                                                      <field name="VAR" id="AcYpB0Ty+wVObL7=Y.a.">measuredPower</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <shadow type="math_number" id="+10nRI6/x]hugF{/lmxM">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="variables_get" id="n0BqKn~p@qPw.Jvfrj,s">
                                                      <field name="VAR" id="1}Q0686mMw0ZGk)e+r?(">measuredSolarPower</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="$61h{3os=)%X-VEx9M:i">
                                                  <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                  <value name="VALUE">
                                                    <block type="math_round" id="3$tH.4.P)ukPPcI4xw.A">
                                                      <field name="OP">ROUND</field>
                                                      <value name="NUM">
                                                        <shadow type="math_number" id="{D8W1ElJ#97Cg:]vDkM;">
                                                          <field name="NUM">3.1</field>
                                                        </shadow>
                                                        <block type="math_arithmetic" id="ju~9S8j-`0c/OF%2$7-o">
                                                          <field name="OP">MULTIPLY</field>
                                                          <value name="A">
                                                            <shadow type="math_number" id="6:p#t,*^;)z:Wb:@dc|3">
                                                              <field name="NUM">100</field>
                                                            </shadow>
                                                          </value>
                                                          <value name="B">
                                                            <shadow type="math_number" id=".fYZ,3H9RSS}:wD=%Bvk">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="math_arithmetic" id="Z9S-r-/8^FbCeq,[{ULB">
                                                              <field name="OP">DIVIDE</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="jul_lM$(9.yj`:ZH8}%@">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="variables_get" id="_mPBX.l-0%hNvWtND[z1">
                                                                  <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">neededPower</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number" id="{Q+JfjzDv.)Z1KRbU*uv">
                                                                  <field name="NUM">600</field>
                                                                </shadow>
                                                                <block type="variables_get" id="M!sN^/9!7$b}.ru.lqgC">
                                                                  <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="g3gA+F5X4*$4x2),%sJV">
                                                      <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                      <value name="VALUE">
                                                        <block type="get_value" id="7wbrC,7l;@ahCGcw2/pL">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">0_userdata.0.PV-Anlage.storedNeededPower</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="variables_set" id="2KI]WdQd`0MzEf%mOPaL">
                                                          <field name="VAR" id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</field>
                                                          <value name="VALUE">
                                                            <block type="math_round" id="Ha.~N]M`[1eWboby_aYe">
                                                              <field name="OP">ROUND</field>
                                                              <value name="NUM">
                                                                <shadow type="math_number" id=":C/cpWh)P`-jK9}]IN*4">
                                                                  <field name="NUM">3.1</field>
                                                                </shadow>
                                                                <block type="math_arithmetic" id="v}v!|Jkv3JHVqQR7poM0">
                                                                  <field name="OP">ADD</field>
                                                                  <value name="A">
                                                                    <shadow type="math_number">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="variables_get" id="{dg*rTfc(I5I1PoYYN;l">
                                                                      <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <shadow type="math_number">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="math_arithmetic" id="#Aa[sC!ija_TtL9Go*jl">
                                                                      <field name="OP">MULTIPLY</field>
                                                                      <value name="A">
                                                                        <shadow type="math_number">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="variables_get" id="?YS@_}6Hup[`ZsLR!Z45">
                                                                          <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <shadow type="math_number" id="YxGb?xk[MY37)!7O-Cqe">
                                                                          <field name="NUM">0.05</field>
                                                                        </shadow>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="variables_set" id="+KJ71_Z(eLN.a(uoEuci">
                                                              <field name="VAR" id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</field>
                                                              <value name="VALUE">
                                                                <block type="math_round" id="=HYNg!vGE)^Z7m{+e$cs">
                                                                  <field name="OP">ROUND</field>
                                                                  <value name="NUM">
                                                                    <shadow type="math_number" id="|d.50MyF$Zxnn(B]!gq~">
                                                                      <field name="NUM">3.1</field>
                                                                    </shadow>
                                                                    <block type="math_arithmetic" id="?8HAOa[X,LM#h`p]lLc4">
                                                                      <field name="OP">MINUS</field>
                                                                      <value name="A">
                                                                        <shadow type="math_number" id="(8p!3BSrd)N0m`PVj}cd">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="variables_get" id="?$cU!rsg;wkU}CP.VsR.">
                                                                          <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <shadow type="math_number" id="@kP8*eoC!D4/Wa?%grKM">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="math_arithmetic" id="D$_kryX`Gb5eu$gnYS_q">
                                                                          <field name="OP">MULTIPLY</field>
                                                                          <value name="A">
                                                                            <shadow type="math_number">
                                                                              <field name="NUM">1</field>
                                                                            </shadow>
                                                                            <block type="variables_get" id="nrL6t1UCC{jy1*U[O|Xq">
                                                                              <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <shadow type="math_number" id="||~-FC.nb3oU=fuLJzw}">
                                                                              <field name="NUM">0.1</field>
                                                                            </shadow>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="debug" id="8cGY=ms*^/Fbn#Cde4/e">
                                                                  <field name="Severity">log</field>
                                                                  <value name="TEXT">
                                                                    <shadow type="text">
                                                                      <field name="TEXT">test</field>
                                                                    </shadow>
                                                                    <block type="text_join" id="QUQf.~7J|ziuD3sLdl)|">
                                                                      <mutation items="2"></mutation>
                                                                      <value name="ADD0">
                                                                        <block type="text" id="lGPf[Ci!QdAF4j#Bn34-">
                                                                          <field name="TEXT">Sonnenaufgang; </field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="ADD1">
                                                                        <block type="variables_get" id="kwmbl:u%6-!)]lE{Bhdj">
                                                                          <field name="VAR" id="?~:J:;gqC%-pt?=zNsH:">Sunrise</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="debug" id="yaFK]t~sZKg}j1WzH!TL">
                                                                      <field name="Severity">log</field>
                                                                      <value name="TEXT">
                                                                        <shadow type="text">
                                                                          <field name="TEXT">test</field>
                                                                        </shadow>
                                                                        <block type="text_join" id="g_%Dq-ksE!p;Tib-dWoB">
                                                                          <mutation items="2"></mutation>
                                                                          <value name="ADD0">
                                                                            <block type="text" id="(bZZUaTT0bt~IQ|a~%#R">
                                                                              <field name="TEXT">Sonnenuntergang; </field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD1">
                                                                            <block type="variables_get" id="weuYcyZ5+:mfnpSK9UiP">
                                                                              <field name="VAR" id="UJ`JGN{Ezb$K7jJ[4P}j">Sunset</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <next>
                                                                        <block type="debug" id="1|f1K~GhCe(a;/q4o_X]">
                                                                          <field name="Severity">log</field>
                                                                          <value name="TEXT">
                                                                            <shadow type="text">
                                                                              <field name="TEXT">test</field>
                                                                            </shadow>
                                                                            <block type="text_join" id="2Zo2{I0w6J%`$2:qEY1l">
                                                                              <mutation items="2"></mutation>
                                                                              <value name="ADD0">
                                                                                <block type="text" id="+YI.VRyx;em.YT$D(|bs">
                                                                                  <field name="TEXT">Istwert: </field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="ADD1">
                                                                                <block type="variables_get" id="z%3ACfZd0~)KLgj0p}%@">
                                                                                  <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <next>
                                                                            <block type="debug" id="r+xN[i`4xS-M`OYDBpb.">
                                                                              <field name="Severity">log</field>
                                                                              <value name="TEXT">
                                                                                <shadow type="text">
                                                                                  <field name="TEXT">test</field>
                                                                                </shadow>
                                                                                <block type="text_join" id="(f(78JM#Hy0@?Z0hJe~l">
                                                                                  <mutation items="2"></mutation>
                                                                                  <value name="ADD0">
                                                                                    <block type="text" id="~}`O(MW.TU:J%_oS)#Xu">
                                                                                      <field name="TEXT">obere Grenze: </field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="ADD1">
                                                                                    <block type="variables_get" id=",vBoJg7x{3!@v.c5w4q]">
                                                                                      <field name="VAR" id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                              <next>
                                                                                <block type="debug" id="qBNh2:P3U}F#$|$6FZFn">
                                                                                  <field name="Severity">log</field>
                                                                                  <value name="TEXT">
                                                                                    <shadow type="text" id="2kPK8(t-SdR9TZvb.%-l">
                                                                                      <field name="TEXT">test</field>
                                                                                    </shadow>
                                                                                    <block type="text_join" id="}cq5v9RJT$55w(=?6BX)">
                                                                                      <mutation items="2"></mutation>
                                                                                      <value name="ADD0">
                                                                                        <block type="text" id="*q^TTVgJ+?:b!z,x/S;V">
                                                                                          <field name="TEXT">untere Grenze: </field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <value name="ADD1">
                                                                                        <block type="variables_get" id="Vh$)4$K%:ZHW:~MiMXet">
                                                                                          <field name="VAR" id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</field>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                  <next>
                                                                                    <block type="debug" id="k}*+@}8y%^u*6nB1JGm^">
                                                                                      <field name="Severity">log</field>
                                                                                      <value name="TEXT">
                                                                                        <shadow type="text">
                                                                                          <field name="TEXT">test</field>
                                                                                        </shadow>
                                                                                        <block type="text_join" id="9O/.cB+R0J#M=YHuIJn?">
                                                                                          <mutation items="2"></mutation>
                                                                                          <value name="ADD0">
                                                                                            <block type="text" id="3Uv-x,Irz%wnP{oXU!s^">
                                                                                              <field name="TEXT">benötigte Power in Prozent:</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="ADD1">
                                                                                            <block type="variables_get" id="T);Yxf;X[xS0z_7}_YkI">
                                                                                              <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                      <next>
                                                                                        <block type="controls_if" id="//Rx),f%pyif!qW8O/?G">
                                                                                          <mutation elseif="1" else="1"></mutation>
                                                                                          <value name="IF0">
                                                                                            <block type="logic_operation" id="6|n{EZ*g-L?wwMuw~`pt">
                                                                                              <field name="OP">AND</field>
                                                                                              <value name="A">
                                                                                                <block type="logic_compare" id="@s)ep$AZC}nn4%[Y{zXv">
                                                                                                  <field name="OP">GTE</field>
                                                                                                  <value name="A">
                                                                                                    <block type="variables_get" id="rLGQIwoD@(-[)i.@Gek1">
                                                                                                      <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="B">
                                                                                                    <block type="math_number" id="i.8)/]r6EY5E@{+61}ch">
                                                                                                      <field name="NUM">100</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="B">
                                                                                                <block type="logic_compare" id="M%7gn=%*6!Oo0Iy!N0HE">
                                                                                                  <field name="OP">EQ</field>
                                                                                                  <value name="A">
                                                                                                    <block type="variables_get" id="FPBUa4}8MCdw~u2(u=Z4">
                                                                                                      <field name="VAR" id=":U;.Z4:pYNy(TwM9X-dL">storedNeededPower</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="B">
                                                                                                    <block type="math_number" id="])#t~DUCT78?qe_~1/X)">
                                                                                                      <field name="NUM">100</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                          <statement name="DO0">
                                                                                            <block type="debug" id="_|aD2Z`JU`?BoQCCcfTz">
                                                                                              <field name="Severity">log</field>
                                                                                              <value name="TEXT">
                                                                                                <shadow type="text" id="wcNA/`cj2DUcJLr26^bd">
                                                                                                  <field name="TEXT">keine Änderung, Wert ist gleich gespeichertem Wert</field>
                                                                                                </shadow>
                                                                                              </value>
                                                                                            </block>
                                                                                          </statement>
                                                                                          <value name="IF1">
                                                                                            <block type="logic_operation" id="4WJuW,40dOlCCnG8!=A(">
                                                                                              <field name="OP">OR</field>
                                                                                              <value name="A">
                                                                                                <block type="logic_compare" id="0U*fZT58L0uKFJsD)N{;">
                                                                                                  <field name="OP">GT</field>
                                                                                                  <value name="A">
                                                                                                    <block type="variables_get" id="%=U`G7.6z`w:8|:XtgTI">
                                                                                                      <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="B">
                                                                                                    <block type="variables_get" id="IE{(_NPVQP{:.^rxbG?4">
                                                                                                      <field name="VAR" id="}s`y%Qd}~t2t(jU$8(ud">upperLimit</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="B">
                                                                                                <block type="logic_compare" id="7GGwP6lHcmy!ILxZJvYk">
                                                                                                  <field name="OP">LT</field>
                                                                                                  <value name="A">
                                                                                                    <block type="variables_get" id="EN^7brshgWEicI7V4)C!">
                                                                                                      <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="B">
                                                                                                    <block type="variables_get" id="7B.88d1a^Hr`R-b6!iMZ">
                                                                                                      <field name="VAR" id="P^1|W+9iVy?PgNp}9!.S">lowerLimit</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                          <statement name="DO1">
                                                                                            <block type="controls_if" id="P8/_4.KJ/zZ6qh9iBh+o">
                                                                                              <mutation else="1"></mutation>
                                                                                              <value name="IF0">
                                                                                                <block type="logic_compare" id="mk*xKT^,LdqKZpmRr}r4">
                                                                                                  <field name="OP">LTE</field>
                                                                                                  <value name="A">
                                                                                                    <block type="variables_get" id=".d_KP;p/?wytr_{S7(db">
                                                                                                      <field name="VAR" id="le#}gR{6G.yhW=x|6pS8">neededPower</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="B">
                                                                                                    <block type="variables_get" id="R!EQmKR0*lP1iR`NTG%f">
                                                                                                      <field name="VAR" id="BN!a@q$SEAU4^)xo:SRJ">maxSolarPower</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                              <statement name="DO0">
                                                                                                <block type="variables_set" id="v_^pc%4YAqueF4@xp/Ph">
                                                                                                  <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field>
                                                                                                  <value name="VALUE">
                                                                                                    <block type="variables_get" id="rba!2I;EQyijkPfjo!Ze">
                                                                                                      <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <next>
                                                                                                    <block type="update" id="E7HJvqAC,*BNAxN~e8sd">
                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                      <field name="OID">0_userdata.0.PV-Anlage.storedNeededPower</field>
                                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                                      <value name="VALUE">
                                                                                                        <block type="variables_get" id="hR1[WimPbd@1ICN+UAdn">
                                                                                                          <field name="VAR" id="X-B3:`dA%wy5$?]at5W-">NeededPowerPercent</field>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </statement>
                                                                                              <statement name="ELSE">
                                                                                                <block type="variables_set" id="iqqD`P-h34,:2q7p$CH|">
                                                                                                  <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field>
                                                                                                  <value name="VALUE">
                                                                                                    <block type="math_number" id="dowAhu.+=iz#Wc-F]p:X">
                                                                                                      <field name="NUM">100</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <next>
                                                                                                    <block type="update" id="*?5=;cANP)NJ|KuX_[PF">
                                                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                      <field name="OID">0_userdata.0.PV-Anlage.storedNeededPower</field>
                                                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                                                      <value name="VALUE">
                                                                                                        <block type="math_number" id="7vXqNl1zb}n*oh6q3:]4">
                                                                                                          <field name="NUM">100</field>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </statement>
                                                                                              <next>
                                                                                                <block type="controls_if" id="]^/I[vJo!sr5LpkbcFB!">
                                                                                                  <value name="IF0">
                                                                                                    <block type="logic_compare" id="%50d#)U*~RScC:F-kp{g">
                                                                                                      <field name="OP">LTE</field>
                                                                                                      <value name="A">
                                                                                                        <block type="variables_get" id="KVYNgaA$~@zFf4U(-2G(">
                                                                                                          <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <value name="B">
                                                                                                        <block type="math_number" id="!0pj`kNb_!ZOVov*^)[3">
                                                                                                          <field name="NUM">4</field>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <statement name="DO0">
                                                                                                    <block type="variables_set" id="/4+e9gEK~pdujzM|}ksi">
                                                                                                      <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field>
                                                                                                      <value name="VALUE">
                                                                                                        <block type="math_number" id="c+YG2dsZvm-}l6dXt[1Z">
                                                                                                          <field name="NUM">5</field>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </statement>
                                                                                                  <next>
                                                                                                    <block type="controls_if" id="ZH?n)}/A8xDqvLu;mM3m">
                                                                                                      <mutation else="1"></mutation>
                                                                                                      <value name="IF0">
                                                                                                        <block type="logic_operation" id="vVy#@8N({zRaYhlMew]c">
                                                                                                          <field name="OP">OR</field>
                                                                                                          <value name="A">
                                                                                                            <block type="logic_compare" id="PIGb)h}(L;=:AD;5r=W$">
                                                                                                              <field name="OP">LTE</field>
                                                                                                              <value name="A">
                                                                                                                <block type="get_value" id="Hn,:c1}lRncb$M*c37T[">
                                                                                                                  <field name="ATTR">val</field>
                                                                                                                  <field name="OID">0_userdata.0.PV-Anlage.Solarlimit_HM400.Solarlimit_HM400</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="math_number" id="O/l%Uh0A@?HPfD;/4eRW">
                                                                                                                  <field name="NUM">5</field>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="B">
                                                                                                            <block type="logic_operation" id="x8],WeAvz)P5RbWxBqKU">
                                                                                                              <field name="OP">OR</field>
                                                                                                              <value name="A">
                                                                                                                <block type="logic_compare" id="D1Vr-[UHVwz,0UMcxf~t">
                                                                                                                  <field name="OP">GTE</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="get_value" id="*^o)uk]A48Tjk%pvj2pB">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">0_userdata.0.PV-Anlage.Solarlimit_HM400.Solarlimit_HM400</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="math_number" id="az|/|Fl[JpJ{rB83ed[p">
                                                                                                                      <field name="NUM">100</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                              <value name="B">
                                                                                                                <block type="logic_compare" id="1f.~}_NZHFWHi$U;Bl[E">
                                                                                                                  <field name="OP">LT</field>
                                                                                                                  <value name="A">
                                                                                                                    <block type="get_value" id="o%XYKF2zkxK+dE|3E%-_">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">opendtu.0.112183217812.ac.phase_1.power</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="B">
                                                                                                                    <block type="get_value" id="uM~uo~N[nRQ?i9!fzRA!">
                                                                                                                      <field name="ATTR">val</field>
                                                                                                                      <field name="OID">opendtu.0.112183217812.power_control.current_limit_absolute</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <statement name="DO0">
                                                                                                        <block type="control" id="W+gr)Q`C;VMjG:,mB)8r">
                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                          <field name="OID">opendtu.0.116180216966.power_control.limit_nonpersistent_relative</field>
                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                          <value name="VALUE">
                                                                                                            <block type="variables_get" id="0O[l*@b$eWz(z6Nj5;8Z">
                                                                                                              <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <next>
                                                                                                            <block type="debug" id="4(mO4hae0d8|yCEDlMj~">
                                                                                                              <field name="Severity">log</field>
                                                                                                              <value name="TEXT">
                                                                                                                <shadow type="text" id="GhK9E*i9z*IoFuBKSaq1">
                                                                                                                  <field name="TEXT">test</field>
                                                                                                                </shadow>
                                                                                                                <block type="text_join" id="K$7:Tw;%Pm?f$3/:xV?V">
                                                                                                                  <mutation items="2"></mutation>
                                                                                                                  <value name="ADD0">
                                                                                                                    <block type="text" id="tzX795?CuQ=.SGL`i!ns">
                                                                                                                      <field name="TEXT">gesetztes Limit: </field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="ADD1">
                                                                                                                    <block type="variables_get" id="`hpd|~6gnaa1#A:#I^ku">
                                                                                                                      <field name="VAR" id=")2]D^Y|D:QS6S[A}9J=/">SolarLimit</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </next>
                                                                                                        </block>
                                                                                                      </statement>
                                                                                                      <statement name="ELSE">
                                                                                                        <block type="debug" id="Pv3KiYZaGuo2FdU}gjig">
                                                                                                          <field name="Severity">log</field>
                                                                                                          <value name="TEXT">
                                                                                                            <shadow type="text" id="t2%tFy.G9l;?j^VyEMCa">
                                                                                                              <field name="TEXT">keine Änderung</field>
                                                                                                            </shadow>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </statement>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </next>
                                                                                            </block>
                                                                                          </statement>
                                                                                          <statement name="ELSE">
                                                                                            <block type="debug" id="k-_yI!1YR}Cw@^zA*2By">
                                                                                              <field name="Severity">log</field>
                                                                                              <value name="TEXT">
                                                                                                <shadow type="text" id="pOzzR,#7b~P,=jhm/QLz">
                                                                                                  <field name="TEXT">keine Änderung</field>
                                                                                                </shadow>
                                                                                              </value>
                                                                                            </block>
                                                                                          </statement>
                                                                                        </block>
                                                                                      </next>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </next>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                              <statement name="ELSE">
                                <block type="debug" id="6hv2w66u%V}c3Ij`Q?pi">
                                  <field name="Severity">log</field>
                                  <value name="TEXT">
                                    <shadow type="text" id="LmPU])Tk80,#%40`K:m4">
                                      <field name="TEXT">Zeit ist auĂźerhalb der Reglungszeit.</field>
                                    </shadow>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </xml>
              

              HM1500_Script_Ausschnitt.JPG

              G Offline
              G Offline
              Gonzokalle
              schrieb am zuletzt editiert von Gonzokalle
              #188

              @Kymchy
              Ich habe mal das Blockly von Kymchy nachgebaut. Funktioniert hervorragend.
              6601fa8f-cd66-40ea-843d-6c709acc58a2-image.png

              @Tigger66
              Kannst du bitte erklären, wie du den zweiten WR steuerst?
              Der erste WR läuft mit dem Blockly von Kymchy?
              Der zweite WR läuft mit einer erweiterten Steuerung?
              Das verstehe ich aber noch nicht.
              7f2f923f-b16e-4475-9661-9dc38c00600a-image.png

              1 Antwort Letzte Antwort
              0
              • CarsaabC Carsaab

                @gonzokalle
                Ja das ist bei mir auch so.
                Der Trigger ist immer die Änderung im Stromverbrauch. Dann setzt das Script ein neues Limit sofern die Solaranlage mehr als die 30% liefert. Bei mir dann 450W.
                Wenn der Stromverbrauch hochgeht, dann geht das Limit hoch und auch wieder runter, wenn der Verbrauch sinkt.
                Sollte dann die Solaranlage bei gleichem Verbrauch mehr liefern, dann sinkt der Stromverbrauch aber das Limit bleibt gleich, weil sich die Summe aus Solarenergie und Stromverbrauch nicht ändert.
                Ich habe auch nur einen WR.
                Weil aber mein Hichi nur alle 10sek einen neuen Wert schickt, ist das ganze natĂĽrlich nicht genau, aber fĂĽr unsere Zwecke reicht es.
                Vom Shelly 3EM mĂĽsste ja der Gesamtverbrauch gemessen werden. Wenn der Shelly im Sekundentakt einen Wert liefert, dann schreibt das Script auch jede Sekunde.

                Aber das Prinzip ist das gleiche. Ich nehme an, Du hast einen 600W WR im Einsatz.

                T Offline
                T Offline
                Tosca76
                schrieb am zuletzt editiert von Tosca76
                #189

                @carsaab
                Hi,
                kannst du vielleicht das komplette Blockly mal einstellen ? Ich habe da etwas Schwierigkeiten, beim nachbauen.

                Thomas BraunT CarsaabC 2 Antworten Letzte Antwort
                0
                • T Tosca76

                  @carsaab
                  Hi,
                  kannst du vielleicht das komplette Blockly mal einstellen ? Ich habe da etwas Schwierigkeiten, beim nachbauen.

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #190

                  Zum Thema Nulleinspeisung (oder 'Panelbeheizung', wie ich es nenne):

                  https://www.youtube.com/watch?v=wxP5uMdtMmk

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  1 Antwort Letzte Antwort
                  1
                  • T Tosca76

                    @carsaab
                    Hi,
                    kannst du vielleicht das komplette Blockly mal einstellen ? Ich habe da etwas Schwierigkeiten, beim nachbauen.

                    CarsaabC Offline
                    CarsaabC Offline
                    Carsaab
                    schrieb am zuletzt editiert von
                    #191

                    @tosca76 Null-Einspeiseregelung_0.xml
                    Das ist das File.
                    Ansonsten ist das Bild auch das Script.
                    Die Objekte muĂźt Du leider selber finden, ich nutze gerade 2 Wechselrichter die hier gesteuert werden.
                    BTW: Das Video ist mir bekannt und er hat auch Recht. Es ist aber kein Widerspruch zu meiner Regelung, weil ich die Null garnicht unbedingt erreichen will. Der grobe Daumen reicht, ist aber auch oben schon erklärt.

                    T 1 Antwort Letzte Antwort
                    0
                    • CarsaabC Carsaab

                      @tosca76 Null-Einspeiseregelung_0.xml
                      Das ist das File.
                      Ansonsten ist das Bild auch das Script.
                      Die Objekte muĂźt Du leider selber finden, ich nutze gerade 2 Wechselrichter die hier gesteuert werden.
                      BTW: Das Video ist mir bekannt und er hat auch Recht. Es ist aber kein Widerspruch zu meiner Regelung, weil ich die Null garnicht unbedingt erreichen will. Der grobe Daumen reicht, ist aber auch oben schon erklärt.

                      T Offline
                      T Offline
                      Tosca76
                      schrieb am zuletzt editiert von
                      #192

                      @carsaab
                      Super dank dir 👍

                      1 Antwort Letzte Antwort
                      0
                      • K Kymchy

                        Hallo,
                        ich habe mich mal daran versucht, ein Blockly zu erstellen, welches dazu dient, einen Hoymiles Wechselrichter fĂĽr ein Balkonkraftwerk zu regeln.
                        Dazu gibt es im Netz schon einige, aber die, die ich gefunden hatte, gingen immer von dem Ansatz aus, das reagiert wird, wenn die Anlage in die Einspeisung geht, also mehr Strom erzeugt wird, als benötigt wird.
                        Mein Ansatz verfolgt einen anderen Weg. Und zwar den, dass die Anlage immer maximal soviel Strom liefert, wie von den Verbrauchern verlangt wird. Meinen Stromzähler lese ich mit einem Hichi aus, der negative Werte anzeigt, wenn eingespeist wird. Die benötigte Strommenge ergibt sich aus der Summe dessen, was der Hichi ausliest und der momentanen Leistung der PV-Anlage.
                        Meine Regelung erfolgt alle 30 Sekunden und nur zwischen Sonnenauf- und Sonnenuntergang. Um zu häufige Regelungen zu vermeiden, habe ich eine Hysterese eingebaut, wobei die Regelung nur dann erfolgt, wenn der gemessene Strombedarf mehr als 10% vom vorher eingestellten abweicht. Den eingestellten Wert speichere ich dazu in einem Datenpunkt. Die Regelung erfolgt über MQTT non-persistent und in Prozent, also relativ.
                        Ich hoffe, das Skript ist einigermaßen lesbar und würde mich mich über Hinweise zu Fehlern oder Verbesserungsvorschläge freuen.
                        Hier nun das Blockly;

                        Bildschirmfoto vom 2023-03-01 11-43-47.png

                        viele GrĂĽĂźe
                        Kymchy

                        G Offline
                        G Offline
                        Gonzokalle
                        schrieb am zuletzt editiert von
                        #193

                        @kymchy
                        Vielen Dank fĂĽr deine WR Steuerung.
                        Funktioniert!
                        fdbc0229-3354-4d65-b767-159d9cabdeb0-image.png
                        Habe das Blockly noch etwas verändert. Bin da aber leider kein Fachmann.
                        63a0dc19-96be-45e8-8b3e-568ddab910f0-image.png
                        Interessant währe noch die Steuerung für einen zweiten WR.

                        1 Antwort Letzte Antwort
                        0
                        • L Offline
                          L Offline
                          Lieggie
                          schrieb am zuletzt editiert von
                          #194

                          Hallo Zusammen,
                          Ich möchte dieses Thema Nocheinmal aufgereifen. Ich habe das Blockly von Carsaab nachgebaut. eigenlich das was ich die ganzezeit gesucht habe.
                          das Blockly rechnet die Prozente aus die ich in eine DummyVariable schreibe. Getriggert von der Wert anderung des Stromzählers ca alle 10 Sekunden. Möchte ich nun den Wert in den Open -DTU Adapter schreiben (Limit_nonpersistent_relativ) schreiben, scheind sich die Komunikation zwischen Adapter und DTU aufzuhängen.
                          das heist es werden keine Aktualdaten von der DTU an den Adapter zurĂĽck ĂĽbermittelt. wenn nur Sporadisch und nicht wie gewohnt alle 10 Sekunden.
                          ich habe auch schon gedacht das zuviel daten gesendet werden und habe es ĂĽber einen Cronjob alle 5 min versucht.
                          Sobald ich einmal auf die variable schreibe ist Feierabend. stoppe ich das Blockly normalisiert sich wieder alles .
                          Schreibe ich aber mehrfach in die Variable hängen sich die DTU auf. Auch die Webseite auf dem ESP bleibt bei der Daten übertragung hängen.

                          Mein Setup
                          HM 1500
                          Open DTU auf ESP 32 Neuste Firmware
                          Open DTU Adapter auf Raspi4 8 GB

                          Jemand eine Idee Woran es liegen könnte.

                          Wechselrichter.JPG

                          Im Sonnenuntergang ist mit Absicht noch der Dummy drin

                          GruĂź Thomas

                          G 1 Antwort Letzte Antwort
                          0
                          • L Lieggie

                            Hallo Zusammen,
                            Ich möchte dieses Thema Nocheinmal aufgereifen. Ich habe das Blockly von Carsaab nachgebaut. eigenlich das was ich die ganzezeit gesucht habe.
                            das Blockly rechnet die Prozente aus die ich in eine DummyVariable schreibe. Getriggert von der Wert anderung des Stromzählers ca alle 10 Sekunden. Möchte ich nun den Wert in den Open -DTU Adapter schreiben (Limit_nonpersistent_relativ) schreiben, scheind sich die Komunikation zwischen Adapter und DTU aufzuhängen.
                            das heist es werden keine Aktualdaten von der DTU an den Adapter zurĂĽck ĂĽbermittelt. wenn nur Sporadisch und nicht wie gewohnt alle 10 Sekunden.
                            ich habe auch schon gedacht das zuviel daten gesendet werden und habe es ĂĽber einen Cronjob alle 5 min versucht.
                            Sobald ich einmal auf die variable schreibe ist Feierabend. stoppe ich das Blockly normalisiert sich wieder alles .
                            Schreibe ich aber mehrfach in die Variable hängen sich die DTU auf. Auch die Webseite auf dem ESP bleibt bei der Daten übertragung hängen.

                            Mein Setup
                            HM 1500
                            Open DTU auf ESP 32 Neuste Firmware
                            Open DTU Adapter auf Raspi4 8 GB

                            Jemand eine Idee Woran es liegen könnte.

                            Wechselrichter.JPG

                            Im Sonnenuntergang ist mit Absicht noch der Dummy drin

                            GruĂź Thomas

                            G Offline
                            G Offline
                            Gonzokalle
                            schrieb am zuletzt editiert von
                            #195

                            @lieggie
                            Hast du es schon einmal mit dem openDTU-Adapter und

                            02503371-6b21-4bd9-975f-943bd6de11c0-image.png

                            probiert?

                            L 1 Antwort Letzte Antwort
                            0
                            • G Gonzokalle

                              @lieggie
                              Hast du es schon einmal mit dem openDTU-Adapter und

                              02503371-6b21-4bd9-975f-943bd6de11c0-image.png

                              probiert?

                              L Offline
                              L Offline
                              Lieggie
                              schrieb am zuletzt editiert von
                              #196

                              @gonzokalle said in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                              @lieggie
                              Hast du es schon einmal mit dem openDTU-Adapter und

                              02503371-6b21-4bd9-975f-943bd6de11c0-image.png

                              probiert?

                              Das ist die Variable aus dem dtu Adapter
                              GruĂź Thomas

                              L 1 Antwort Letzte Antwort
                              0
                              • L Lieggie

                                @gonzokalle said in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                                @lieggie
                                Hast du es schon einmal mit dem openDTU-Adapter und

                                02503371-6b21-4bd9-975f-943bd6de11c0-image.png

                                probiert?

                                Das ist die Variable aus dem dtu Adapter
                                GruĂź Thomas

                                L Offline
                                L Offline
                                Lieggie
                                schrieb am zuletzt editiert von
                                #197

                                @lieggie said in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                                @gonzokalle said in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                                @lieggie
                                Hast du es schon einmal mit dem openDTU-Adapter und

                                02503371-6b21-4bd9-975f-943bd6de11c0-image.png

                                probiert?

                                Das ist die Variable aus dem Open DTU Adapter die nutze ich auch.
                                GruĂź Thomas

                                1 Antwort Letzte Antwort
                                0
                                • G Offline
                                  G Offline
                                  Gonzokalle
                                  schrieb am zuletzt editiert von
                                  #198

                                  Ich habe die Regelung von Kymchy noch ein bisschen geändert. Der WR hat jetzt Grenzen.

                                  Ich hätte es gerne, dass das obere Limit für 1 Minute gehalten wird.
                                  Falls noch ein höheres Limit, soll das dann gehalten werden.
                                  Also höher geht immer, runter nach einer Minute.
                                  Mir fehlt da die Idee, wie ich da ran gehen soll.

                                  5407a0c2-0ff4-4fda-80b1-c81c8f99d0f3-image.png

                                  1 Antwort Letzte Antwort
                                  0
                                  • G Offline
                                    G Offline
                                    Gonzokalle
                                    schrieb am zuletzt editiert von
                                    #199

                                    Nun hatte ich doch eine Idee. So scheint es zu funktionieren.

                                    5d251edd-3527-42a5-8ca5-5b83e5580733-image.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Schumi1992
                                      schrieb am zuletzt editiert von
                                      #200

                                      Ich habe dein Script auch mal verwendet und lasse es seit gestern laufen.
                                      Sieht ziemlich gut aus auch wenn ich mich ein bisschen rein fuchsen musste, weil die Werte des Tibberpulse fĂĽr Production und bezug nicht so cool sind.
                                      Nehme jetzt fĂĽr den Bezug den Tibber Wert und fĂĽr die Produktion den aus MQTT - das klappt sehr gut.

                                      Danke dir!

                                      G 1 Antwort Letzte Antwort
                                      0
                                      • S Schumi1992

                                        Ich habe dein Script auch mal verwendet und lasse es seit gestern laufen.
                                        Sieht ziemlich gut aus auch wenn ich mich ein bisschen rein fuchsen musste, weil die Werte des Tibberpulse fĂĽr Production und bezug nicht so cool sind.
                                        Nehme jetzt fĂĽr den Bezug den Tibber Wert und fĂĽr die Produktion den aus MQTT - das klappt sehr gut.

                                        Danke dir!

                                        G Offline
                                        G Offline
                                        Gonzokalle
                                        schrieb am zuletzt editiert von Gonzokalle
                                        #201

                                        @schumi1992
                                        Meinst du das letzte Script?

                                        S 1 Antwort Letzte Antwort
                                        0
                                        • G Gonzokalle

                                          @schumi1992
                                          Meinst du das letzte Script?

                                          S Offline
                                          S Offline
                                          Schumi1992
                                          schrieb am zuletzt editiert von
                                          #202

                                          @gonzokalle Ne habe das UrsprĂĽngliche von Kimchy verwendet :-)

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Ă„lteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          813

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe