Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    524

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

Scheduled Pinned Locked Moved Blockly
203 Posts 36 Posters 67.8k Views 34 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by 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 ? 2 Replies Last reply
    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
      wrote on last edited by
      #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 Reply Last reply
      0
      • CarsaabC Offline
        CarsaabC Offline
        Carsaab
        wrote on last edited by 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 Reply Last reply
        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
          wrote on last edited by 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 Reply Last reply
          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.

            ? Offline
            ? Offline
            A Former User
            wrote on last edited by A Former User
            #189

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

            Thomas BraunT CarsaabC 2 Replies Last reply
            0
            • ? A Former User

              @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
              wrote on last edited by
              #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 Reply Last reply
              1
              • ? A Former User

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

                CarsaabC Offline
                CarsaabC Offline
                Carsaab
                wrote on last edited by
                #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.

                ? 1 Reply Last reply
                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.

                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #192

                  @carsaab
                  Super dank dir 👍

                  1 Reply Last reply
                  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
                    wrote on last edited by
                    #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 Reply Last reply
                    0
                    • L Offline
                      L Offline
                      Lieggie
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #195

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

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

                        probiert?

                        L 1 Reply Last reply
                        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
                          wrote on last edited by
                          #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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            0
                            • G Offline
                              G Offline
                              Gonzokalle
                              wrote on last edited by
                              #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 Reply Last reply
                              0
                              • G Offline
                                G Offline
                                Gonzokalle
                                wrote on last edited by
                                #199

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

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

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  Schumi1992
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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
                                    wrote on last edited by Gonzokalle
                                    #201

                                    @schumi1992
                                    Meinst du das letzte Script?

                                    S 1 Reply Last reply
                                    0
                                    • G Gonzokalle

                                      @schumi1992
                                      Meinst du das letzte Script?

                                      S Offline
                                      S Offline
                                      Schumi1992
                                      wrote on last edited by
                                      #202

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

                                      1 Reply Last reply
                                      0
                                      • K Kymchy

                                        @t-maas
                                        OK, du must natürlich noch einiges anpassen nach dem Import, wie die Seriennummer des Wechselrichter usw. Außerdem einen eigenen Datenpunkt für den Vergleichswert anlegen. Und du benötigst natürlich das MQTT-Topic. Momentan regelt es alle 20 Sekunden. Das Limit für den Vergleichswert oben liegt bei 5% über und für den unteren bei 10% unter dem des zuletzt gespeicherten Wertes. Hier ist noch ein Feintuning möglich.

                                        <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="!P+uzJ#%y!_wHsKqo2~M" x="-812" y="-562">
                                          <field name="SCHEDULE">0,20,40 * * * * *</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">600</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">sonoff.0.DVES_0649F9.ENERGY_Power</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">mqtt.0.solar.Seriennummer-Wechselrichter.0.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="control" id="z87W,.vtwA$UGqi.I!=^">
                                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                                          <field name="OID">mqtt.0.solar.Seriennummer-Wechselrichter.cmd.limit_nonpersistent_relative</field>
                                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                                          <value name="VALUE">
                                                                                                                            <block type="variables_get" id="tl[!e[[e4iwK1(?b$77o">
                                                                                                                              <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>
                                                                                                                      </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>
                                        
                                        S Offline
                                        S Offline
                                        Springreiter
                                        wrote on last edited by
                                        #203

                                        @kymchy Danke- Daten eingegeben und schon rennt das Teil - super Idee
                                        MFG

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        602

                                        Online

                                        32.7k

                                        Users

                                        82.5k

                                        Topics

                                        1.3m

                                        Posts
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Home
                                        • Recent
                                        • Tags
                                        • Unread 0
                                        • Categories
                                        • Unreplied
                                        • Popular
                                        • GitHub
                                        • Docu
                                        • Hilfe