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

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

Community Forum

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

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

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

Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

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

    @tigger66 funktioniert die Verstellung des HM nun über MQTT oder den Adapter OpenDTU und dessen Datenpunkte?
    Ich sehe das hier mal so und mal so... In Deinem Beitrag über den Adapter. Welche Version ist das ? Es funktioniert bei mir einfach nicht mehr. Mit der Version 1.5.
    Frage: sieht man bei Absetzen eine Stellbefehles etwas in der Debug-Konsole der DTU?

    T Offline
    T Offline
    Tigger66
    schrieb am zuletzt editiert von
    #99

    @laser ich verwende OpenDTU und die Datenpunkte die der Adapter anlegt um die WR anzusteuern.

    1 Antwort Letzte Antwort
    0
    • T Tigger66

      @Konny22
      ja Du hast richtig gelesen. Ich habe das Script zwei mal am laufen. Einmal für einen 400er und nochmal modifiziert für einen 1500er. Der 1500er soll erst reagieren wenn der 400er nicht mehr regeln kann. Oberes oder unteres Limit oder die angeforderte Energiemenge nicht liefern kann. Morgens oder Abends...

      F Offline
      F Offline
      flo71
      schrieb am zuletzt editiert von
      #100

      @tigger66 Wie hast du das mit mit dem zweitem Script gelöst. könntest du es zur Verfügung stellen. Danke.

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        Tigger66
        schrieb am zuletzt editiert von
        #101

        @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

        DuffyD G 2 Antworten Letzte Antwort
        0
        • L lars72

          Ich würde meine zukünftige Lösung ja gerne veröffentlichen, aber ich hänge noch fest, weil ich die Drosselung nicht vom iobroker zum Ahoy schicken kann.

          Wenn ich das Topic mit mqtt explorer veröffentliche, kann ich es ohne "/" vor ahoy in das Verzeichnis 0 schreiben, und wenn ich den / davor setze, dann kann ich ins Verzeichnis ahoy schreiben. Im Verzeichnis ahoy liegen alle Dinge, die ich von der Ahoy-DTU geschickt bekomme. D.h. die ahoy-DTU sendet unter dem Topic ahoy.
          Zwischenablage01.jpg
          In welchen Ordner muß das rein?

          Das hier ist das ganz kurze Testskript:
          2023-04-22_162456.jpg
          Wenn das gelaufen ist, dann sehe ich zwar in den Objekten, dass der Wert auf 50 geändert wurde, aber der ist rot und beim Maus-over steht auch "bestätigt: false".

          Muß ich irgendwo noch die IP der Ahoy-DTU eintragen? Oder woher weiß das iobroker-Skript, wo es hin geschickt werden soll?

          PS: Habe nun in den Objekten den / am Anfang rausgelöscht, dann erscheint nach dem Durchlaufen des Skripts die "50" kurz grün und dann gleich wieder rot.

          Hier der Code des Objekts:
          2023-04-22_164213.jpg

          S Offline
          S Offline
          smarteshome2020
          schrieb am zuletzt editiert von
          #102

          @lars72 ich bin mir nicht sicher ob du dein Problem jetzt gelöst hast, aber schaue dir mal die neue AhoyDTU V0.6.9 an. Wenn ich es jetzt richtig verstanden und gesehen habe werden die DP jetzt automatisch angelegt.
          Jetzt gibt es a) bis zu 10 Inverter und b) einen ctrl Bereich in dem die DP vorhanden sind und Werte eingetragen werden können. Die Zahlen bleiben zwar "rot", werden aber in den entsprechenden Inverter und ch0 unter inverter/PV1/ch0/active PowerLimit eingetragen. So zumind. bei mir. Leider ist mir aber noch unklar ob es ein "persistence" (also schlecht für den Speicher), oder "non persistence" Wert ist. Schaut aber nach "no persistence" aus.

          60492b5f-7269-45f2-8497-8e3ab47c9922-image.png

          L 1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            dodi666
            schrieb am zuletzt editiert von
            #103

            Hi,
            laut Beschreibung sind die Werte, wie du vermutet hast, non persistent.

            1 Antwort Letzte Antwort
            0
            • T Tigger66

              @Konny22
              ja Du hast richtig gelesen. Ich habe das Script zwei mal am laufen. Einmal für einen 400er und nochmal modifiziert für einen 1500er. Der 1500er soll erst reagieren wenn der 400er nicht mehr regeln kann. Oberes oder unteres Limit oder die angeforderte Energiemenge nicht liefern kann. Morgens oder Abends...

              DuffyD Online
              DuffyD Online
              Duffy
              schrieb am zuletzt editiert von Duffy
              #104

              @tigger66

              Hast du die 2 Wechselrichter über eine openDTU und einen openDTU Adapter laufen?

              Sind deine 2 WR in Reihe geschaltet oder jeder WR einzeln an der „Steckdose“

              Bei mir geht ein HM-300 in den HM-600 und von dort in die Steckdose.
              Ich wollte ursprünglich nur den HM-600 vom Blockly regeln lassen und den HM-300 regeln lassen wie er lustig ist. Leider scheint das der WR des HM-600 nicht so lustig zu finden und stürzt ab.
              Ich denke mal das es WR ist der abstürzt da ich über die openDTU den WR neu starten kann und es geht weiter (bis zum nächsten Absturz)

              Die Begrenzung das der WR nicht auf 0 Watt geht habe ich im Blockly drin.

              Schalte ich den HM-300 ab funktioniert auch die Regelung des HM-600 (bisher).

              Hat vielleicht jemand eine Idee warum das so ist oder sein könnte.
              Vielleicht sogar @Kymchy als Entwickler des Blockly :-)

              Viele Grüße

              Nix besonderes; iob auf Respberry pi 4 (8GB) mit 32 GB SSD
              Node.js: v22.21.0
              NPM: 10.9.4
              js-controller 7.0.7
              Linux: Trixie

              T 1 Antwort Letzte Antwort
              0
              • DuffyD Duffy

                @tigger66

                Hast du die 2 Wechselrichter über eine openDTU und einen openDTU Adapter laufen?

                Sind deine 2 WR in Reihe geschaltet oder jeder WR einzeln an der „Steckdose“

                Bei mir geht ein HM-300 in den HM-600 und von dort in die Steckdose.
                Ich wollte ursprünglich nur den HM-600 vom Blockly regeln lassen und den HM-300 regeln lassen wie er lustig ist. Leider scheint das der WR des HM-600 nicht so lustig zu finden und stürzt ab.
                Ich denke mal das es WR ist der abstürzt da ich über die openDTU den WR neu starten kann und es geht weiter (bis zum nächsten Absturz)

                Die Begrenzung das der WR nicht auf 0 Watt geht habe ich im Blockly drin.

                Schalte ich den HM-300 ab funktioniert auch die Regelung des HM-600 (bisher).

                Hat vielleicht jemand eine Idee warum das so ist oder sein könnte.
                Vielleicht sogar @Kymchy als Entwickler des Blockly :-)

                Viele Grüße

                T Offline
                T Offline
                Tigger66
                schrieb am zuletzt editiert von
                #105

                @duffy Meine beiden WR laufen über eine OpenDTU und natürlich über einen Adapter. Jeder WR speist seperat ein, jeder auf einem anderem Außenleiter. DIe sind nicht in "Reihe" geschaltet. Dass sich ein WR "aufhängt" kommt nur selten vor. Die Hardware des OpenDTU hängt bei mir an einer W-Lan Steckdose und wir einmal am Tag vor Sonnenaufgang neu gestartet. Läuft bisher ziemlich rund. "Auf Holz klopf"

                DuffyD 1 Antwort Letzte Antwort
                0
                • T Tigger66

                  @duffy Meine beiden WR laufen über eine OpenDTU und natürlich über einen Adapter. Jeder WR speist seperat ein, jeder auf einem anderem Außenleiter. DIe sind nicht in "Reihe" geschaltet. Dass sich ein WR "aufhängt" kommt nur selten vor. Die Hardware des OpenDTU hängt bei mir an einer W-Lan Steckdose und wir einmal am Tag vor Sonnenaufgang neu gestartet. Läuft bisher ziemlich rund. "Auf Holz klopf"

                  DuffyD Online
                  DuffyD Online
                  Duffy
                  schrieb am zuletzt editiert von
                  #106

                  @tigger66

                  Danke für die Rückmeldung.
                  Zeichnest du auch den Ertrag, den selber genutzten Strom und die Einspeisung mit auf, falls es überhaupt noch Einspeisung gibt. ?
                  Viel wirds ja nicht mehr sein ;-)

                  Gruss Duffy

                  Nix besonderes; iob auf Respberry pi 4 (8GB) mit 32 GB SSD
                  Node.js: v22.21.0
                  NPM: 10.9.4
                  js-controller 7.0.7
                  Linux: Trixie

                  T 1 Antwort Letzte Antwort
                  0
                  • DuffyD Duffy

                    @tigger66

                    Danke für die Rückmeldung.
                    Zeichnest du auch den Ertrag, den selber genutzten Strom und die Einspeisung mit auf, falls es überhaupt noch Einspeisung gibt. ?
                    Viel wirds ja nicht mehr sein ;-)

                    Gruss Duffy

                    T Offline
                    T Offline
                    Tigger66
                    schrieb am zuletzt editiert von
                    #107

                    @duffy Ein "BKW" ohne Auswertung? Ich bitte Dich.... ;-) Da ich mir gleich zu Anfang einen Shelly 3EM eingebaut habe und auch noch Daten von Powerfox bekomme kein Problem. Ich logge alles in einer Influx DB mit und überwache das Ganze mit Grafana. Meine aktuelle Eigenverbrauchsquote liegt bei 82,78%. Allerdings fließen da auch noch Werte mit ein, die vor der Nulleinspeisung aufgezeichnet wurden. Also ist noch mit einer Steigerung der des Eigenverbrauchs zu rechnen. Da die Geschichte so gut funktioniert, werde ich mein "BKW" im Herbst warscheinlich noch etwas ausbauen um den Winter besser zu überbrücken. Besser hat, als hätte...

                    DuffyD 1 Antwort Letzte Antwort
                    0
                    • T Tigger66

                      @duffy Ein "BKW" ohne Auswertung? Ich bitte Dich.... ;-) Da ich mir gleich zu Anfang einen Shelly 3EM eingebaut habe und auch noch Daten von Powerfox bekomme kein Problem. Ich logge alles in einer Influx DB mit und überwache das Ganze mit Grafana. Meine aktuelle Eigenverbrauchsquote liegt bei 82,78%. Allerdings fließen da auch noch Werte mit ein, die vor der Nulleinspeisung aufgezeichnet wurden. Also ist noch mit einer Steigerung der des Eigenverbrauchs zu rechnen. Da die Geschichte so gut funktioniert, werde ich mein "BKW" im Herbst warscheinlich noch etwas ausbauen um den Winter besser zu überbrücken. Besser hat, als hätte...

                      DuffyD Online
                      DuffyD Online
                      Duffy
                      schrieb am zuletzt editiert von
                      #108

                      @tigger66

                      Hm, für den Winter noch eine extra Paneel? Wird dann vermutlich eine längere Armortisation. Ok liefer ja auch wieder mehr im Sommer.

                      Meine Erfahrung mit dem BKW ist, wenn man Strom braucht hat man ihn nicht und wenn man ihn nicht braucht hat man ihn.

                      Fair wäre es halt wenn der Zähler rückwärts laufen dürfte. (Scheint ja in Holland zu gehen)

                      Aber schön ist die Spielerei trotzdem :-)

                      Schönen Abend an alle.

                      Gruß Duffy

                      Nix besonderes; iob auf Respberry pi 4 (8GB) mit 32 GB SSD
                      Node.js: v22.21.0
                      NPM: 10.9.4
                      js-controller 7.0.7
                      Linux: Trixie

                      F 1 Antwort Letzte Antwort
                      0
                      • DuffyD Duffy

                        @tigger66

                        Hm, für den Winter noch eine extra Paneel? Wird dann vermutlich eine längere Armortisation. Ok liefer ja auch wieder mehr im Sommer.

                        Meine Erfahrung mit dem BKW ist, wenn man Strom braucht hat man ihn nicht und wenn man ihn nicht braucht hat man ihn.

                        Fair wäre es halt wenn der Zähler rückwärts laufen dürfte. (Scheint ja in Holland zu gehen)

                        Aber schön ist die Spielerei trotzdem :-)

                        Schönen Abend an alle.

                        Gruß Duffy

                        F Offline
                        F Offline
                        FoxMcCloud
                        schrieb am zuletzt editiert von
                        #109

                        @duffy Hallo Ihr lieben im Forum, ich hab mir das durchgelesen und steigen nicht ganz durch.
                        Ich brauche da auch ggf mal etwas Hilfe. Ich heb einem HM-800 und einen 3,5 kwh speicher und würde gerne sofern es möglich ist den HM-800 über den ioBrocker (auf Raspberry Pi3 ) und MQTT Open DTU so steuern das nur das eingespeist wird, was verbraucht wird, bzw was der HM 800 her gibt. Ich bekomme den blockly Skrip dazu nicht richtig hin. Die MQTT verbindung steht schon, und der Digitale Stromzähler kann ich auch genau auslesen über den IR Lesekopf an der Seriellen Schnittstelle vom PI.

                        Ich hoffe ich bin hier im Forum richtig

                        Gruß
                        FoxMcCloud

                        L DuffyD 2 Antworten Letzte Antwort
                        0
                        • F FoxMcCloud

                          @duffy Hallo Ihr lieben im Forum, ich hab mir das durchgelesen und steigen nicht ganz durch.
                          Ich brauche da auch ggf mal etwas Hilfe. Ich heb einem HM-800 und einen 3,5 kwh speicher und würde gerne sofern es möglich ist den HM-800 über den ioBrocker (auf Raspberry Pi3 ) und MQTT Open DTU so steuern das nur das eingespeist wird, was verbraucht wird, bzw was der HM 800 her gibt. Ich bekomme den blockly Skrip dazu nicht richtig hin. Die MQTT verbindung steht schon, und der Digitale Stromzähler kann ich auch genau auslesen über den IR Lesekopf an der Seriellen Schnittstelle vom PI.

                          Ich hoffe ich bin hier im Forum richtig

                          Gruß
                          FoxMcCloud

                          L Offline
                          L Offline
                          Laser
                          schrieb am zuletzt editiert von
                          #110

                          @Tigger66
                          "Fair wäre es halt wenn der Zähler rückwärts laufen dürfte."
                          Das ist Alles andere als fair. Ich speise Energie ein, wenn sie im Überfluß vorhanden ist und hole sie mir in Mangelzeiten zurück. Der Netzbetreiber stellt die Infrastruktur dafür. Wenn spielen, dann mit eigenem Speicher.

                          1 Antwort Letzte Antwort
                          0
                          • F FoxMcCloud

                            @duffy Hallo Ihr lieben im Forum, ich hab mir das durchgelesen und steigen nicht ganz durch.
                            Ich brauche da auch ggf mal etwas Hilfe. Ich heb einem HM-800 und einen 3,5 kwh speicher und würde gerne sofern es möglich ist den HM-800 über den ioBrocker (auf Raspberry Pi3 ) und MQTT Open DTU so steuern das nur das eingespeist wird, was verbraucht wird, bzw was der HM 800 her gibt. Ich bekomme den blockly Skrip dazu nicht richtig hin. Die MQTT verbindung steht schon, und der Digitale Stromzähler kann ich auch genau auslesen über den IR Lesekopf an der Seriellen Schnittstelle vom PI.

                            Ich hoffe ich bin hier im Forum richtig

                            Gruß
                            FoxMcCloud

                            DuffyD Online
                            DuffyD Online
                            Duffy
                            schrieb am zuletzt editiert von
                            #111

                            @foxmccloud

                            Hier im Forum bist du bestimmt richtig und findest bestimmt Hilfe.
                            Allerdings bin ich selber noch sehr auf die Hilfe andere angewiesen und kann dir hier (noch) nicht helfen, entschuldige bitte.

                            "Open DTU so steuern das nur das eingespeist wird, was verbraucht wird"
                            Du meinst also mit eingespeist die Eigennutzung, sprich Nulleinspeisung?

                            Dann schau mal da:

                            Viele Grüße Duffy

                            Nix besonderes; iob auf Respberry pi 4 (8GB) mit 32 GB SSD
                            Node.js: v22.21.0
                            NPM: 10.9.4
                            js-controller 7.0.7
                            Linux: Trixie

                            1 Antwort Letzte Antwort
                            0
                            • S smarteshome2020

                              @lars72 ich bin mir nicht sicher ob du dein Problem jetzt gelöst hast, aber schaue dir mal die neue AhoyDTU V0.6.9 an. Wenn ich es jetzt richtig verstanden und gesehen habe werden die DP jetzt automatisch angelegt.
                              Jetzt gibt es a) bis zu 10 Inverter und b) einen ctrl Bereich in dem die DP vorhanden sind und Werte eingetragen werden können. Die Zahlen bleiben zwar "rot", werden aber in den entsprechenden Inverter und ch0 unter inverter/PV1/ch0/active PowerLimit eingetragen. So zumind. bei mir. Leider ist mir aber noch unklar ob es ein "persistence" (also schlecht für den Speicher), oder "non persistence" Wert ist. Schaut aber nach "no persistence" aus.

                              60492b5f-7269-45f2-8497-8e3ab47c9922-image.png

                              L Offline
                              L Offline
                              lars72
                              schrieb am zuletzt editiert von lars72
                              #112

                              @smarteshome2020
                              (späte Antwort) ja, bei mir läuft inzwischen alles. Es würde sowohl über AhoyDTU, oder über OpenDTU direkt, oder über OpenDTU-Adapter laufen. Habe mich für OpenDTU direkt über MQTT entschieden, ist aber Geschmackssache.

                              Zwei HM-600 hängen an 4 Modulen und werden ohne Hektik in plusminus 5%-Schritten geregelt, und ein HMS-500 hängt am Pylontech-Akku und wird schneller geregelt (er schaut sich ähnlich wie hier im Script die fehlende / überschüssige Leistung an und regelt dann in einem großen Schritt auf einmal).

                              Zielwert für die beiden HM-600 ist ein Regelfenster von -100W bis 0W (also leichte Einspeisung), und wenn die das nicht schaffen, dann springt der HMS-500 vom Akku an (der regelt auf das Ziel 0W).

                              H 1 Antwort Letzte Antwort
                              0
                              • L lars72

                                @smarteshome2020
                                (späte Antwort) ja, bei mir läuft inzwischen alles. Es würde sowohl über AhoyDTU, oder über OpenDTU direkt, oder über OpenDTU-Adapter laufen. Habe mich für OpenDTU direkt über MQTT entschieden, ist aber Geschmackssache.

                                Zwei HM-600 hängen an 4 Modulen und werden ohne Hektik in plusminus 5%-Schritten geregelt, und ein HMS-500 hängt am Pylontech-Akku und wird schneller geregelt (er schaut sich ähnlich wie hier im Script die fehlende / überschüssige Leistung an und regelt dann in einem großen Schritt auf einmal).

                                Zielwert für die beiden HM-600 ist ein Regelfenster von -100W bis 0W (also leichte Einspeisung), und wenn die das nicht schaffen, dann springt der HMS-500 vom Akku an (der regelt auf das Ziel 0W).

                                H Offline
                                H Offline
                                homepower007
                                schrieb am zuletzt editiert von
                                #113

                                @lars72
                                Hallo, teilst Du dein Blockly oder zumindest Deine Einstellungen?
                                Ich habe das Problem, dass das ursprüngliche Script zwar läuft (1 Hoymiles vorhanden), aber temp über 1000W bereit stellt (obwohl max 600W eingestellt sind). ...

                                L 1 Antwort Letzte Antwort
                                0
                                • R Offline
                                  R Offline
                                  RWHW1946
                                  schrieb am zuletzt editiert von
                                  #114

                                  Hallo zusammen,
                                  ich habe still mitgelesen und musste mich jetzt doch mal hier anmelden.
                                  Zunächst ein großes Danke an @Kymchy für das hervorragende Script!

                                  Tatsächlich habe ich zufällig die gleiche Ausgangssituation wie er/sie:

                                  • Hichi Smart Meter
                                  • Hoymiles WR
                                  • Das Gleiche Ziel = Nulleinspeisung

                                  Jetzt konnte ich schon einiges in dem Script für mich Anpassen bzw. meine Datenpunkte an die nötigen Stellen verknüpfen.
                                  z.B. "measuredPower" aus meinem Hichi, "measuredSolarPower" aus meiner Ahoy DTU und "NeededPowerPercent" wird errechnet. Und dank dem Tip von @smarteshome2020 und der Bestätigung dafür von @dodi666 konnte ich auch den Befehl "steuere" mit dem korrekten Datenpunkt in der Ahoy DTU verknüpfen.

                                  Ich verstehe nur nicht was ich mit der Variable "storedNeededPower" anfangen soll. Welchen Zweck hat diese? Wo kommen die Werte dafür her? Also welcher Datenpunkt soll das sein? Muss der angelegt werden? Manuell oder per MQTT Explorer?

                                  Der Wert lässt mich im Dunkeln stehen...:man-facepalming:

                                  Noch jemand hier der mir hier vielleicht helfen kann? Danke im Voraus!

                                  Viele Grüße :wave: ,
                                  RWHW1946

                                  DuffyD 1 Antwort Letzte Antwort
                                  0
                                  • R RWHW1946

                                    Hallo zusammen,
                                    ich habe still mitgelesen und musste mich jetzt doch mal hier anmelden.
                                    Zunächst ein großes Danke an @Kymchy für das hervorragende Script!

                                    Tatsächlich habe ich zufällig die gleiche Ausgangssituation wie er/sie:

                                    • Hichi Smart Meter
                                    • Hoymiles WR
                                    • Das Gleiche Ziel = Nulleinspeisung

                                    Jetzt konnte ich schon einiges in dem Script für mich Anpassen bzw. meine Datenpunkte an die nötigen Stellen verknüpfen.
                                    z.B. "measuredPower" aus meinem Hichi, "measuredSolarPower" aus meiner Ahoy DTU und "NeededPowerPercent" wird errechnet. Und dank dem Tip von @smarteshome2020 und der Bestätigung dafür von @dodi666 konnte ich auch den Befehl "steuere" mit dem korrekten Datenpunkt in der Ahoy DTU verknüpfen.

                                    Ich verstehe nur nicht was ich mit der Variable "storedNeededPower" anfangen soll. Welchen Zweck hat diese? Wo kommen die Werte dafür her? Also welcher Datenpunkt soll das sein? Muss der angelegt werden? Manuell oder per MQTT Explorer?

                                    Der Wert lässt mich im Dunkeln stehen...:man-facepalming:

                                    Noch jemand hier der mir hier vielleicht helfen kann? Danke im Voraus!

                                    Viele Grüße :wave: ,
                                    RWHW1946

                                    DuffyD Online
                                    DuffyD Online
                                    Duffy
                                    schrieb am zuletzt editiert von Duffy
                                    #115

                                    @rwhw1946

                                    Stored needed Power musst du selber als Datenpunkt anlegen in 0_userdata. (Von Hand anlegen)

                                    Viele Grüße.

                                    Nix besonderes; iob auf Respberry pi 4 (8GB) mit 32 GB SSD
                                    Node.js: v22.21.0
                                    NPM: 10.9.4
                                    js-controller 7.0.7
                                    Linux: Trixie

                                    R 1 Antwort Letzte Antwort
                                    0
                                    • DuffyD Duffy

                                      @rwhw1946

                                      Stored needed Power musst du selber als Datenpunkt anlegen in 0_userdata. (Von Hand anlegen)

                                      Viele Grüße.

                                      R Offline
                                      R Offline
                                      RWHW1946
                                      schrieb am zuletzt editiert von
                                      #116

                                      @duffy Danke! das war ein sehr wichtiger Tipp! Ich muss zwar nich etwas rum probieren, da sich noch nichts tat, habe dann aber herausgefunden das man einmal in den Wert klicken muss und den haken bei Bestätigt noch setzen muss damit die Werte dort auch vom Script gesetzt werden können. Jetzt funktioniert alles! :clap: :call_me_hand:

                                      Viele Grüße :wave: ,
                                      RWHW1946

                                      1 Antwort Letzte Antwort
                                      0
                                      • H homepower007

                                        @lars72
                                        Hallo, teilst Du dein Blockly oder zumindest Deine Einstellungen?
                                        Ich habe das Problem, dass das ursprüngliche Script zwar läuft (1 Hoymiles vorhanden), aber temp über 1000W bereit stellt (obwohl max 600W eingestellt sind). ...

                                        L Offline
                                        L Offline
                                        lars72
                                        schrieb am zuletzt editiert von lars72
                                        #117

                                        @homepower007
                                        Ja, gerne teile ich das Script (sorry für meine späten Antworten, ich bekomme es nie mit, wenn hier eine Antwort kommt).

                                        Zur Erklärung der Aufbau der Anlage und die Grundidee:
                                        Ein IR-Lesekopf liest den Hauszähler aus. Der Lesekopf liefert einen langen String, der im Script zunächst zerpflückt und in einzelne Variablen geschrieben wird.

                                        1. 800Wp und ein HM-600 am Balkon, Netzeinspeisung
                                        2. 800Wp und ein HM-600 an der Terrasse, Netzeinspeisung
                                        3. 1200Wp auf der Garage, lädt einen 5 kWh-Akku.
                                        4. regelbares Meanwell-Netzteil (480 W) lädt ebenfalls den Akku, wenn Überschuß aus 1+2 vorhanden und Akku-SOC<75%
                                        5. zwei HMS-500 speisen aus dem Akku ins Netz, wenn Bedarf ist

                                        Diese Teile wollen natürlich alle geregelt werden. Dazu habe ich unterschiedliche Regelziele festgelegt, dadurch kommt es zu keinen ungewollten Rückkopplungen:
                                        1 und 2 haben ein Regelzielfenster von -150W bis -60W
                                        4 hat ein Regelzielfenster von -60W bis -20W
                                        5 hat ein Regelziel von +10W

                                        Das geht nur in dieser Reihenfolge, denn sonst beeinflussen sich die drei Regelkreise in der falschen Richtung. Angenommen 1/2) haben sich gerade auf -100W eingeregelt (also Einspeisung mit 100W), dann wird das Meanwell 4) hochgedreht, es will ja -40W erreichen. Es ist also ein zusätzlicher Verbraucher, und 1/2) regeln auch hoch, bis entweder 1/2) oder 4) am Anschlag sind.
                                        Kommt nun noch die Waschmaschine dazu, habe ich gleich positive Leistung am Zähler, und 5) springt an. Bei positiver Leistung am Zähler geht 4) aus und 1/2) regeln weiter hoch bis auf 100%.

                                        1/2) und 4) regeln relativ langsam in 5%-Schritten, 5) regelt schnell in einem Schritt auf die benötigte Leistung.

                                        2023-07-04_052327.jpg

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • L lars72

                                          @homepower007
                                          Ja, gerne teile ich das Script (sorry für meine späten Antworten, ich bekomme es nie mit, wenn hier eine Antwort kommt).

                                          Zur Erklärung der Aufbau der Anlage und die Grundidee:
                                          Ein IR-Lesekopf liest den Hauszähler aus. Der Lesekopf liefert einen langen String, der im Script zunächst zerpflückt und in einzelne Variablen geschrieben wird.

                                          1. 800Wp und ein HM-600 am Balkon, Netzeinspeisung
                                          2. 800Wp und ein HM-600 an der Terrasse, Netzeinspeisung
                                          3. 1200Wp auf der Garage, lädt einen 5 kWh-Akku.
                                          4. regelbares Meanwell-Netzteil (480 W) lädt ebenfalls den Akku, wenn Überschuß aus 1+2 vorhanden und Akku-SOC<75%
                                          5. zwei HMS-500 speisen aus dem Akku ins Netz, wenn Bedarf ist

                                          Diese Teile wollen natürlich alle geregelt werden. Dazu habe ich unterschiedliche Regelziele festgelegt, dadurch kommt es zu keinen ungewollten Rückkopplungen:
                                          1 und 2 haben ein Regelzielfenster von -150W bis -60W
                                          4 hat ein Regelzielfenster von -60W bis -20W
                                          5 hat ein Regelziel von +10W

                                          Das geht nur in dieser Reihenfolge, denn sonst beeinflussen sich die drei Regelkreise in der falschen Richtung. Angenommen 1/2) haben sich gerade auf -100W eingeregelt (also Einspeisung mit 100W), dann wird das Meanwell 4) hochgedreht, es will ja -40W erreichen. Es ist also ein zusätzlicher Verbraucher, und 1/2) regeln auch hoch, bis entweder 1/2) oder 4) am Anschlag sind.
                                          Kommt nun noch die Waschmaschine dazu, habe ich gleich positive Leistung am Zähler, und 5) springt an. Bei positiver Leistung am Zähler geht 4) aus und 1/2) regeln weiter hoch bis auf 100%.

                                          1/2) und 4) regeln relativ langsam in 5%-Schritten, 5) regelt schnell in einem Schritt auf die benötigte Leistung.

                                          2023-07-04_052327.jpg

                                          L Offline
                                          L Offline
                                          Laser
                                          schrieb am zuletzt editiert von Laser
                                          #118

                                          @lars72 Ich lade auch teilweise mit AC. 400 Watt Netzteil und Modbusgesteueres Regelnetzteil. Allerdings lade ich die Gesamtleistung, die erzeugt wird (nicht die Eingespeiste) minus dem Eigenverbrauch. + kleine Reserve. Bis zu einer Begrenzung von 10A, um den Akku zu schonen. (DC lädt auch den Akku). Das ist dann eine Steuerung. Bei Positiver Netzeinspeisung durch Verbraucher, die sich zuschalten, z.B eine getaktete Kochplatte, wird das Netzteil schlagartig abgesteuert. Den Eigenverbrauch könnte man bedarfsweise hoch und runtertakten. Ist aber rel. konstant, bei mir. Der Aufbau als Steuerung hat den Vorteil, daß bei wechselnd bewölktem Himmel der Ladestrom sofort nachkommt.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          555

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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