Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly für Stufeneinschaltung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly für Stufeneinschaltung

    This topic has been deleted. Only users with topic management privileges can see it.
    • Q
      quorle @paul53 last edited by

      @paul53

      Ok, langsam verstehe ich das Script. Jedoch ist meine Konstellation etwas anders.
      Ich habe 1 einzigen Heizstab der auf 3 Phasen läuft.
      Phase 1 = 1000W
      Phase 2 = 1000W
      Phase 3 = 1000W

      Gesteuert von 3 einzelnen Aktorkanälen.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @quorle last edited by

        @quorle sagte: Ich habe 1 einzigen Heizstab der auf 3 Phasen läuft.

        Genau so habe ich es verstanden. Ersetze "HeizungN" durch "PhaseN".

        Q 1 Reply Last reply Reply Quote 0
        • Q
          quorle @paul53 last edited by

          @paul53

          Also ich habe dein Script etwas modifiziert. Damit sollte eigentlich Schwankungen der PV-Produktion abgefangen werden. Zudem sollte erst eine gewisse Zeit gewartet werden, bis die 1. Stufe einschaltet, dann wieder warten bis 2. Stufe und dann wieder warten bis 3. Stufe einschaltet. Und Telegram Meldungen.

          1. Leider ist es jetzt so, dass eigentlich permanent Telegram Meldungen kommen.
          2. Das mit den Schwankungsausgleich funktioniert irgendwie doch nicht so wie erhofft.
          3. Ich habe den Trigger-Datenpunkt auf die PV Produktion/Verbrauch gelegt. Wenn aber keine Produktion läuft, dann steht hier der Verbrauch mit "Minuswert" drin.

          Unbenannt.PNG

          Unbenannt1.PNG

          Unbenannt2.PNG

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable id="8r-Evz4_P6Nb^eQ{,/4d">Vorgabe_Stufenschaltung</variable>
              <variable id="E3SRUlnSz]]x.yzvz/G#">Telegram_Meldung</variable>
              <variable id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</variable>
              <variable id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</variable>
              <variable id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</variable>
              <variable type="timeout" id="Wartezeit_Einschalten_Stufe_1">Wartezeit_Einschalten_Stufe_1</variable>
              <variable type="timeout" id="Wartezeit_Auschalten_Stufe_1">Wartezeit_Auschalten_Stufe_1</variable>
              <variable type="timeout" id="Wartezeit_Einschalten_Stufe_2">Wartezeit_Einschalten_Stufe_2</variable>
              <variable type="timeout" id="Wartezeit_Auschalten_Stufe_2">Wartezeit_Auschalten_Stufe_2</variable>
              <variable type="timeout" id="Wartezeit_Einschalten_Stufe_3">Wartezeit_Einschalten_Stufe_3</variable>
              <variable type="timeout" id="Wartezeit_Auschalten_Stufe_3">Wartezeit_Auschalten_Stufe_3</variable>
            </variables>
            <block type="procedures_callcustomnoreturn" id="j1Q/ynh34L%xJPDW[|-C" x="87" y="637">
              <mutation name="Create States"></mutation>
              <next>
                <block type="on_ext" id="6oXee=8;NRXs$1BmU{CI">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="Y?EClv`~bLlL]-N8,2+H">
                      <field name="oid">default</field>
                    </shadow>
                    <block type="field_oid" id="HQl^SkY=M.NcP%E4s~gz">
                      <field name="oid">modbus.0.inputRegisters.13009_Export_Power</field>
                    </block>
                  </value>
                  <statement name="STATEMENT">
                    <block type="comment" id="Y)V~AI-*E_|?TCu#_]RH">
                      <field name="COMMENT">Vergleich auf Temperatur Min und</field>
                      <next>
                        <block type="comment" id="`3KmImc^Rrd|u80OoAC8">
                          <field name="COMMENT">PV muss Überschuss haben:</field>
                          <next>
                            <block type="controls_if" id="cAm`uEHrXg!)*b~B9Vz,">
                              <mutation elseif="1" else="1"></mutation>
                              <value name="IF0">
                                <block type="logic_operation" id="mwhrV)up46gGPed8=oDy" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_operation" id="]1D+T`R5cKus52oKVygL" inline="false">
                                      <field name="OP">AND</field>
                                      <value name="A">
                                        <block type="logic_compare" id="q}/a=R]C^Nw)?m$s%Ag6">
                                          <field name="OP">LT</field>
                                          <value name="A">
                                            <block type="get_value" id="GWQ2Y][/W/#`HVs[sAwA">
                                              <field name="ATTR">val</field>
                                              <field name="OID">km200.0.dhwCircuits.dhw1.actualTemp</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="!$u|sB9:.K:%}MtfP8Hy">
                                              <field name="NUM">52</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_negate" id="-=@]xn4dvgtCe`^NoM5C">
                                          <value name="BOOL">
                                            <block type="logic_compare" id="3[O{qULEKiPP[4eH+dKp">
                                              <field name="OP">GTE</field>
                                              <value name="A">
                                                <block type="get_value" id="C57}RS-cHP2f_GfxOB,+">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">km200.0.dhwCircuits.dhw1.actualTemp</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="~R`qgQGH+0FJoi]+3ZAZ">
                                                  <field name="NUM">57</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="-=%q9{9-Urh6s(UVq9ff" disabled="true">
                                      <field name="OP">GT</field>
                                      <value name="A">
                                        <block type="on_source" id="E]_x?g1wd1oE)W,n-S-n">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="t@lIUgZZ?,1?YR2PaVuJ">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="controls_if" id="vHA6!p-ehT`JU8{sD:3o">
                                  <mutation elseif="1"></mutation>
                                  <value name="IF0">
                                    <block type="logic_compare" id="bRTtQ=h]o7az{,Fu*;c4">
                                      <field name="OP">GT</field>
                                      <value name="A">
                                        <block type="on_source" id="U,fj@Q7h77AV7}}CjAxu">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="U.@@|x`hWK!^q4)gP7{#">
                                          <field name="NUM">2600</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="comment" id="BUdkQDZ9DiQ9qdbxl{_a">
                                      <field name="COMMENT">Heizstab Stufe 1 einschalten:</field>
                                      <next>
                                        <block type="timeouts_settimeout" id="R]K6igzqWaektwB.^:bA">
                                          <field name="NAME">Wartezeit_Einschalten_Stufe_1</field>
                                          <field name="DELAY">20</field>
                                          <field name="UNIT">min</field>
                                          <statement name="STATEMENT">
                                            <block type="variables_set" id="73Juliz^#}yeM3jtv3IQ">
                                              <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="m],z*1%7vg+zVHlt)RO+">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="procedures_callnoreturn" id="7S:t^#3ZzNLXPj,uAhUM">
                                                  <mutation name="Stufenschaltung_Vorgabe">
                                                    <arg name="Vorgabe_Stufenschaltung"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="math_number" id="aw,6eMVG5{kRX^At]1)i">
                                                      <field name="NUM">1</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="timeouts_cleartimeout" id="V4xG*,Yqfuh3x7bk`W}q">
                                                      <field name="NAME">Wartezeit_Einschalten_Stufe_1</field>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                  <value name="IF1">
                                    <block type="logic_operation" id="GnmdG3#SdQ14PXz7s-o$" inline="false">
                                      <field name="OP">AND</field>
                                      <value name="A">
                                        <block type="logic_compare" id="qm{/]vW~u?H/j1s.?F^W">
                                          <field name="OP">LTE</field>
                                          <value name="A">
                                            <block type="on_source" id="p#!w|Va1O9G%*LX2CssP">
                                              <field name="ATTR">state.val</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="}N3KK@f}zpd9k@QX)F5A">
                                              <field name="NUM">1400</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_operation" id="*6Uvs1.Lr0appj/fj)Vx" inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_negate" id="-]XcFS2bu=DU_BJ;9i*E">
                                              <value name="BOOL">
                                                <block type="variables_get" id="/#Tj#cEkVLi|:k#P|iKJ">
                                                  <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_negate" id="$+^Rh6ei%tc#nzRCsap6">
                                              <value name="BOOL">
                                                <block type="variables_get" id="Cm.wOG-vU_L.,?e;!;2b">
                                                  <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO1">
                                    <block type="comment" id="xzgPpANzR+?cCKr#zEXc">
                                      <field name="COMMENT">Heizstab Stufe 1 ausschalten:</field>
                                      <next>
                                        <block type="timeouts_settimeout" id="z5k]Dtl^^Z)UxceB7UaX">
                                          <field name="NAME">Wartezeit_Auschalten_Stufe_1</field>
                                          <field name="DELAY">10</field>
                                          <field name="UNIT">min</field>
                                          <statement name="STATEMENT">
                                            <block type="variables_set" id="2pgG/Cy{aZg)%D5:]7C.">
                                              <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="*DkkU-9:^9)=xn[Wgf4p">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="procedures_callnoreturn" id="iQ-M@km^$^;O5K=,^?R7">
                                                  <mutation name="Stufenschaltung_Vorgabe">
                                                    <arg name="Vorgabe_Stufenschaltung"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="math_number" id="DWz_e}im67k$X,XdBi6I">
                                                      <field name="NUM">0</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="timeouts_cleartimeout" id="HS(=i+zQQ0+NxgD=e{)9">
                                                      <field name="NAME">Wartezeit_Auschalten_Stufe_1</field>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="controls_if" id="=#JGllLZz-Jx[DexZ)tB">
                                      <mutation elseif="1"></mutation>
                                      <value name="IF0">
                                        <block type="logic_operation" id="-9+(J.yX^EKtoAA5Vv*6" inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_compare" id="Vt/DEUs`t$FLmGhq;^B:">
                                              <field name="OP">GT</field>
                                              <value name="A">
                                                <block type="on_source" id="%SRp3#1acmpXZHdm)Tzw">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="Y(ds[U{?A70fvlGd5S8y">
                                                  <field name="NUM">2600</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="variables_get" id="s~:e8=?aKr6sc,*//M;I">
                                              <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="comment" id="pp9lXa4va/C3WENX6Os{">
                                          <field name="COMMENT">Heizstab Stufe 2 einschalten:</field>
                                          <next>
                                            <block type="timeouts_settimeout" id="l`1Uw,-/GY$)S*MFF5SM">
                                              <field name="NAME">Wartezeit_Einschalten_Stufe_2</field>
                                              <field name="DELAY">20</field>
                                              <field name="UNIT">min</field>
                                              <statement name="STATEMENT">
                                                <block type="variables_set" id="v|OboJ_3GgX/;]3Wtn.]">
                                                  <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="_s??o_[Bo4~F^`=I(1FD">
                                                      <field name="BOOL">TRUE</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="procedures_callnoreturn" id="[8qD`fz=8G$oP)Js/lt8">
                                                      <mutation name="Stufenschaltung_Vorgabe">
                                                        <arg name="Vorgabe_Stufenschaltung"></arg>
                                                      </mutation>
                                                      <value name="ARG0">
                                                        <block type="math_number" id="1v:;)5DP?JQT]^2KBH7Z">
                                                          <field name="NUM">2</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="timeouts_cleartimeout" id="D}Z2_;,xTRX{{qK+O-z6">
                                                          <field name="NAME">Wartezeit_Einschalten_Stufe_2</field>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <value name="IF1">
                                        <block type="logic_operation" id="o?+A$)?Y4wTCi)_(%Wfp" inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_operation" id="yH,t~lC(SkT=ISDMx%=#" inline="false">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="logic_compare" id="p^R7:LZL5Kv}D*Q~?Z-%">
                                                  <field name="OP">LTE</field>
                                                  <value name="A">
                                                    <block type="on_source" id="sBiMhGYh~1?ok@z/$V9Y">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="math_number" id="KfGk9jGsJRCC5`4wb^R@">
                                                      <field name="NUM">1400</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="variables_get" id="bNTsUm$9sOW%Gt5Qv|@?">
                                                  <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_operation" id="Y7RlJV(T$~J/wJIiD1bD" inline="false">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="variables_get" id="wu3qGzPA7Gs,K5.h-U0^">
                                                  <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_negate" id="Z;u6g!9lbm|*]~7{psjj">
                                                  <value name="BOOL">
                                                    <block type="variables_get" id="-hi!ipn=D(r#K2Jhdrqt">
                                                      <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO1">
                                        <block type="comment" id="CTNR@EX7=S`q%TGDOBYz">
                                          <field name="COMMENT">Heizstab Stufe 2 ausschalten:</field>
                                          <next>
                                            <block type="timeouts_settimeout" id="az)iL?xn=faXl,d?sj,x">
                                              <field name="NAME">Wartezeit_Auschalten_Stufe_2</field>
                                              <field name="DELAY">10</field>
                                              <field name="UNIT">min</field>
                                              <statement name="STATEMENT">
                                                <block type="variables_set" id="3$yQ=0_d8^c;,9NPnOr@">
                                                  <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="(cm3.Lx_F)KJee0,tsq8">
                                                      <field name="BOOL">FALSE</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="procedures_callnoreturn" id="8E,v(OBOoHS[dQ]fCx-?">
                                                      <mutation name="Stufenschaltung_Vorgabe">
                                                        <arg name="Vorgabe_Stufenschaltung"></arg>
                                                      </mutation>
                                                      <value name="ARG0">
                                                        <block type="math_number" id="P1rN@oQLb=4KYt]B0a0T">
                                                          <field name="NUM">1</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="timeouts_cleartimeout" id="B~B?o[_4A=NLT6RNd]g8">
                                                          <field name="NAME">Wartezeit_Auschalten_Stufe_2</field>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="controls_if" id="t1+?:iJGI9cA$Y4^P#te">
                                          <mutation elseif="1"></mutation>
                                          <value name="IF0">
                                            <block type="logic_operation" id="x.uy~g^xI3Pi|X330R7p" inline="false">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="logic_compare" id="QG/}:0/W{=XaTK:-#s5H">
                                                  <field name="OP">GT</field>
                                                  <value name="A">
                                                    <block type="on_source" id="#f:k^O9.CB2qaKmi}R%x">
                                                      <field name="ATTR">state.val</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="math_number" id="M;E7qR+u2K._F@X:.lWO">
                                                      <field name="NUM">2600</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_operation" id="]%~m6s|R%K2milM/GXYB" inline="false">
                                                  <field name="OP">AND</field>
                                                  <value name="A">
                                                    <block type="variables_get" id="rp+^6gAeAQK#D6NM6Y?1">
                                                      <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="variables_get" id=".Z!8xr[ukvm0oYC#cn]C">
                                                      <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO0">
                                            <block type="comment" id="ulg!h+GY+HW0.bd|Z!o!">
                                              <field name="COMMENT">Heizstab Stufe 3 einschalten:</field>
                                              <next>
                                                <block type="timeouts_settimeout" id="}02eTi$$G/n-~W#!!O,#">
                                                  <field name="NAME">Wartezeit_Einschalten_Stufe_3</field>
                                                  <field name="DELAY">20</field>
                                                  <field name="UNIT">min</field>
                                                  <statement name="STATEMENT">
                                                    <block type="variables_set" id="FQe9Gi1{Lm(vfalgRq3%">
                                                      <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="c]NSF[~-1WOb6MMfd?)7">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="procedures_callnoreturn" id="oaA=bu:zqjm^A;CMEXR|">
                                                          <mutation name="Stufenschaltung_Vorgabe">
                                                            <arg name="Vorgabe_Stufenschaltung"></arg>
                                                          </mutation>
                                                          <value name="ARG0">
                                                            <block type="math_number" id="q/|yEa^Vvw1eF`#aSZwc">
                                                              <field name="NUM">3</field>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="timeouts_cleartimeout" id="pE:e/V5SIgkuSQg=r5Sv">
                                                              <field name="NAME">Wartezeit_Einschalten_Stufe_3</field>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                          <value name="IF1">
                                            <block type="logic_operation" id="^B6L*z7b8}qOLrTml;XG" inline="false">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="logic_operation" id="ykW/Id*c(^@-(MRu!S!o" inline="false">
                                                  <field name="OP">AND</field>
                                                  <value name="A">
                                                    <block type="logic_compare" id="NZ+7oKVfl(P.`bzN7{?)">
                                                      <field name="OP">LTE</field>
                                                      <value name="A">
                                                        <block type="on_source" id="U?^OoVXDz}(zVnYC}4#W">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="math_number" id="4uIqR3b2p$zzl{-iG!B;">
                                                          <field name="NUM">1400</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="variables_get" id="4uw,CD,L5uqsP}!M~no*">
                                                      <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_operation" id="9z3fO-UFZmopkv5qYJg=" inline="false">
                                                  <field name="OP">AND</field>
                                                  <value name="A">
                                                    <block type="variables_get" id="7ba6HuC4Y1+cvCHpWGRd">
                                                      <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="variables_get" id="_uYG5CKtyYL%Zi6cF5Xf">
                                                      <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <statement name="DO1">
                                            <block type="comment" id="yPQ#{Ek[VL2;~5/ZMs9d">
                                              <field name="COMMENT">Heizstab Stufe 3 ausschalten:</field>
                                              <next>
                                                <block type="timeouts_settimeout" id="x;px)+%r(nbZkp.bT~3c">
                                                  <field name="NAME">Wartezeit_Auschalten_Stufe_3</field>
                                                  <field name="DELAY">10</field>
                                                  <field name="UNIT">min</field>
                                                  <statement name="STATEMENT">
                                                    <block type="variables_set" id="pe??aSH+p{^+rc;t:Dvf">
                                                      <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="adofW0i)]8Y*Xjwa$S3S">
                                                          <field name="BOOL">FALSE</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="procedures_callnoreturn" id="9t3C):yG0^1pFO6,F$^f">
                                                          <mutation name="Stufenschaltung_Vorgabe">
                                                            <arg name="Vorgabe_Stufenschaltung"></arg>
                                                          </mutation>
                                                          <value name="ARG0">
                                                            <block type="math_number" id="c$c$w?).WJ_l.6ApqII-">
                                                              <field name="NUM">2</field>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="timeouts_cleartimeout" id="^{C8BRm=^B+[_S!Xh*Vw">
                                                              <field name="NAME">Wartezeit_Auschalten_Stufe_3</field>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                              <value name="IF1">
                                <block type="logic_operation" id="kFpt.D22U?.Ot=jq78ad" inline="false" disabled="true">
                                  <field name="OP">OR</field>
                                  <value name="A">
                                    <block type="logic_compare" id="eTlxI?{XFA1m/]Pi[)(?">
                                      <field name="OP">LTE</field>
                                      <value name="A">
                                        <block type="on_source" id="GJAZIU1iGFh6/,?7kER|">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="fMmi|[!aSJ,Wn272C;U5">
                                          <field name="NUM">1200</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="RF.;do}/3a9wC!:Zn;|n">
                                      <field name="OP">GTE</field>
                                      <value name="A">
                                        <block type="get_value" id="QvYjESF83X2gY/u,cG^R">
                                          <field name="ATTR">val</field>
                                          <field name="OID">km200.0.dhwCircuits.dhw1.actualTemp</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="j(WsBax]P}|vRkr{k~S]">
                                          <field name="NUM">57</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO1">
                                <block type="procedures_callnoreturn" id=")~04.~gY,77ak%a#3}h(" disabled="true">
                                  <mutation name="Stufenschaltung_Vorgabe">
                                    <arg name="Vorgabe_Stufenschaltung"></arg>
                                  </mutation>
                                  <value name="ARG0">
                                    <block type="math_number" id="ntsEuAe`z:xJ/,gdC;fj">
                                      <field name="NUM">0</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                              <statement name="ELSE">
                                <block type="comment" id="3uT#cM_Wug4-;5t[3i*o">
                                  <field name="COMMENT">Falls PV-Überschuss unter 1400W, oder</field>
                                  <next>
                                    <block type="comment" id="n]fjkM[H~?=MP[VPlGhV">
                                      <field name="COMMENT">Temperatur Warmwasser über 55°C</field>
                                      <next>
                                        <block type="comment" id="*mk3EnlXj(yN:gOmM|}7">
                                          <field name="COMMENT">alles abschalten !:</field>
                                          <next>
                                            <block type="variables_set" id="=_y}a+HBDCe~iXwxvx*=">
                                              <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="pAarc6EQ=u#3J0OOVaE)">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="@xYGSzyW{%.tPNr,z@x;">
                                                  <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="y_?9vDh{;]jzc+L-q7[5">
                                                      <field name="BOOL">FALSE</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="variables_set" id="n6}4A1~Pj(:[FHt*dOEg">
                                                      <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="MJm5dOabjQ6i@aY;9-[Y">
                                                          <field name="BOOL">FALSE</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="timeouts_cleartimeout" id="Z?{XE?R5VO5Bjck,w4+l">
                                                          <field name="NAME">Wartezeit_Einschalten_Stufe_1</field>
                                                          <next>
                                                            <block type="timeouts_cleartimeout" id="SAaB5f7[n$F.8{CG{26]">
                                                              <field name="NAME">Wartezeit_Einschalten_Stufe_2</field>
                                                              <next>
                                                                <block type="timeouts_cleartimeout" id="=R|]vut%Znw42u_s0~];">
                                                                  <field name="NAME">Wartezeit_Einschalten_Stufe_3</field>
                                                                  <next>
                                                                    <block type="timeouts_cleartimeout" id="fE2TPfr6si2g*an50Q2x">
                                                                      <field name="NAME">Wartezeit_Auschalten_Stufe_1</field>
                                                                      <next>
                                                                        <block type="timeouts_cleartimeout" id="]/VbMU:f-qu2KWSPPJo%">
                                                                          <field name="NAME">Wartezeit_Auschalten_Stufe_2</field>
                                                                          <next>
                                                                            <block type="timeouts_cleartimeout" id="^0BJYOfyon#:%AHXK!f1">
                                                                              <field name="NAME">Wartezeit_Auschalten_Stufe_3</field>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="procedures_defnoreturn" id="Rq=oB:M*FURI0?%NVL8f" x="938" y="637">
              <mutation>
                <arg name="Vorgabe_Stufenschaltung" varid="8r-Evz4_P6Nb^eQ{,/4d"></arg>
              </mutation>
              <field name="NAME">Stufenschaltung_Vorgabe</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              <statement name="STACK">
                <block type="comment" id="#ZAt#nTg!@GAa5Bck#]*">
                  <field name="COMMENT">Stufenschaltung Vorgaben State setzen:</field>
                  <next>
                    <block type="update" id="t-[n(e],zT9.M5Uobk4^">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Stufenschaltung</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="NR]fl{-jbxr1a4am#_3H">
                          <field name="VAR" id="8r-Evz4_P6Nb^eQ{,/4d">Vorgabe_Stufenschaltung</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
            <block type="procedures_defnoreturn" id="SX#:T$#7;_]BuRf?5mT;" x="987" y="762">
              <mutation>
                <arg name="Telegram_Meldung" varid="E3SRUlnSz]]x.yzvz/G#"></arg>
              </mutation>
              <field name="NAME">Send Telegram</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              <statement name="STACK">
                <block type="comment" id="vr:+QlROLg9d3{f${h;e">
                  <field name="COMMENT">Nachricht über Telegram senden:</field>
                  <next>
                    <block type="telegram" id="CADZzz9;ZdIfo%RH,2}a">
                      <field name="INSTANCE"></field>
                      <field name="LOG"></field>
                      <field name="SILENT">FALSE</field>
                      <field name="PARSEMODE">HTML</field>
                      <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                      <value name="MESSAGE">
                        <shadow type="text" id=",5,oUO7M1}f`(.Q,iJr;">
                          <field name="TEXT">text</field>
                        </shadow>
                        <block type="variables_get" id="=UM}lm_(/bZJFrt4$l)C">
                          <field name="VAR" id="E3SRUlnSz]]x.yzvz/G#">Telegram_Meldung</field>
                        </block>
                      </value>
                      <value name="USERNAME">
                        <block type="text" id="3V:*#BlJq22J^g,t4D_m">
                          <field name="TEXT">Quorle</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
            <block type="procedures_defcustomnoreturn" id="8MQuEK-owvX;BF$,8/BZ" x="1437" y="787">
              <mutation statements="false"></mutation>
              <field name="NAME">Create States</field>
              <field name="SCRIPT">Y3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci5TdHVmZW5zY2hhbHR1bmcnLCB7DQogICBuYW1lOiAnV2FybXdhc3NlcnNwZWljaGVyIFRhdWNoc2llZGVyIFN0dWZlbnNjaGFsdHVuZycsDQogICBkZXNjOiAnV2FybXdhc3NlcnNwZWljaGVyIFRhdWNoc2llZGVyIFN0dWZlbnNjaGFsdHVuZycsDQogICB0eXBlOiAnbnVtYmVyJywNCiAgIHJvbGU6ICd2YWx1ZScsDQogICBtaW46IDAsDQogICBtYXg6IDMsDQogICBzdGF0ZXM6IHsNCiAgICAgIDA6ICJBdXMiLA0KICAgICAgMTogIlN0dWZlIDEgKDEwMDBXKSIsDQogICAgICAyOiAiU3R1ZmUgMiAoMjAwMFcpIiwNCiAgICAgIDM6ICJTdHVmZSAzICgzMDAwVykiDQogICAgfSwNCn0pOw0K</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            </block>
            <block type="comment" id="qb8j8*{;NjJ~_qlgr3u," x="1438" y="863">
              <field name="COMMENT">Scriptstart:</field>
              <next>
                <block type="variables_set" id="2opn~#2iYio_tnh*9,^l">
                  <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id=".q8q)IgKDsKl7,J[aN|C">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                  <next>
                    <block type="variables_set" id="z4Qr;9NwJ:bJ}y5{4:g6">
                      <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="9T!lRC,hwJ/%?fVQIu@6">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="variables_set" id="k8TbGBc;Uk8*pnPKlU!H">
                          <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="?yl9#-HE6cOUK.lT]uX)">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                          <next>
                            <block type="procedures_callnoreturn" id="/@nx5h1p]ef:Y:L^|L]%">
                              <mutation name="Stufenschaltung_Vorgabe">
                                <arg name="Vorgabe_Stufenschaltung"></arg>
                              </mutation>
                              <value name="ARG0">
                                <block type="math_number" id="l$9#(-I,2^T#REPI+PJy">
                                  <field name="NUM">0</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
            <block type="comment" id="Lu=R2~qia@LFHt9D|JPq" x="988" y="1063">
              <field name="COMMENT">Setzen der Ausgänge über KNX:</field>
              <next>
                <block type="comment" id="[1Qq|::(8PhXjt6.MSCC">
                  <field name="COMMENT">Und Meldung für Telegram auswerten:</field>
                  <next>
                    <block type="on_ext" id=")lM:)HZ1vm,jAwzrxokv">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                      <field name="CONDITION">any</field>
                      <field name="ACK_CONDITION"></field>
                      <value name="OID0">
                        <shadow type="field_oid" id="E`4LyVWCkv|^akM^S-0R">
                          <field name="oid">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Stufenschaltung</field>
                        </shadow>
                      </value>
                      <statement name="STATEMENT">
                        <block type="comment" id="DJlxt#hk~dIi.g7!oS+{">
                          <field name="COMMENT">Setzen der Ausgänge über KNX:</field>
                          <next>
                            <block type="controls_if" id="5?%LZ9@[HV5#Z8^mYDn5">
                              <value name="IF0">
                                <block type="logic_compare" id="8@,slr3{zQF7C3D*X2;G">
                                  <field name="OP">NEQ</field>
                                  <value name="A">
                                    <block type="variables_get" id="19m*Xhxno#TXS2G{H]2d">
                                      <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="get_value" id=")D;YyG]lhyUpZ@d6/)nT">
                                      <field name="ATTR">val</field>
                                      <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Phase_1</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="control" id="-?:7r}~c3}B)(Gd)1zzV">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Phase_1</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="variables_get" id="Z9p6mNKb|Z@6y6E5,eiT">
                                      <field name="VAR" id="EKeVtW2D?9H?7pZR}C;1">Heizstab_Stufe_1</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                              <next>
                                <block type="controls_if" id="mKg:3(#jgM_Ms9SjtJ~9">
                                  <value name="IF0">
                                    <block type="logic_compare" id="=/_h}1*:ZOWNYMJHY~Z^">
                                      <field name="OP">NEQ</field>
                                      <value name="A">
                                        <block type="variables_get" id="VHM=n9QbK`-1;ut_#B7t">
                                          <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="get_value" id="|NG`Ni}sHTIM!fj@3b.S">
                                          <field name="ATTR">val</field>
                                          <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Phase_2</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="control" id="W0_+?_xD~O=;XV{G-xS~">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Phase_2</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id=":z=g{1lC)!$mU!(UEg{o">
                                          <field name="VAR" id="je^a_GLGu+B@Axq8E+wn">Heizstab_Stufe_2</field>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="controls_if" id="zSt,.GEAaKO5q.y-ZJer">
                                      <value name="IF0">
                                        <block type="logic_compare" id="ov(~j8tziR3l+3JlTNL3">
                                          <field name="OP">NEQ</field>
                                          <value name="A">
                                            <block type="variables_get" id="2u~Ab8wL^o7Zum@$-[Vn">
                                              <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="get_value" id="5EBtA*d;sQc+b$:XQ`9u">
                                              <field name="ATTR">val</field>
                                              <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Phase_3</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="control" id="S2a.h`vxp@aO`L6|liy8">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.Phase_3</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="variables_get" id="l4IB$BnqxgGgc^9ocan%">
                                              <field name="VAR" id="udN^{w=wEbnHivjC`~o#">Heizstab_Stufe_3</field>
                                            </block>
                                          </value>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="comment" id="?^KfWL0OVYvm:{kZh[JA">
                                          <field name="COMMENT">Auswertung Meldung Telegram:</field>
                                          <next>
                                            <block type="logic_switch_case" id="?vE{GRHS4`-#py63M`aD" collapsed="true">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" case="3"></mutation>
                                              <value name="CONDITION">
                                                <block type="on_source" id="Bmi0wPk=~9!sU}[cklIC">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="CASECONDITION0">
                                                <block type="math_number" id="[6n7r]-Tc2RRF}}vRKWZ">
                                                  <field name="NUM">0</field>
                                                </block>
                                              </value>
                                              <statement name="CASE0">
                                                <block type="procedures_callnoreturn" id="Vw,G!Brk!LT?7xSp1QMK">
                                                  <mutation name="Send Telegram">
                                                    <arg name="Telegram_Meldung"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text_join" id="HO#}Nr,k1VSc:v,D5AS]">
                                                      <mutation items="15"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="rpAwrIq[wqcG^zC)a.c`">
                                                          <field name="TEXT">&lt;b&gt;PV-Anlage&lt;/b&gt;</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_newline" id="XL^V$OXM!Pp00ZyR-kse">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="uGQafaH#2@`}KMd%+aSf">
                                                          <field name="TEXT">PV-Anlage Überschuss &lt;b&gt;kleiner&lt;/b&gt; Verbrauch.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD3">
                                                        <block type="text_newline" id="~n?Mp!~#TS7]GY@%L7=S">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD4">
                                                        <block type="text" id="k7XIsmVsld%g1-r%ec^N">
                                                          <field name="TEXT">Oder Temperatur  Warmwasserspeicher erreicht &lt;b&gt;erreicht&lt;/b&gt;.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD5">
                                                        <block type="text_newline" id="xQ*gRt-Y~?jp;!q`9iR#">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD6">
                                                        <block type="text" id=".GOhZ7wwmcima4sEG4.W">
                                                          <field name="TEXT">Alle Heizstufen Warmwaserspeicher &lt;b&gt;abgeschaltet&lt;/b&gt;!</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD7">
                                                        <block type="text_newline" id=":@]-w0;3ghm0VG5=;7Bb">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD8">
                                                        <block type="text" id="[Q6q!#k/OqUYMT+0Gf]=">
                                                          <field name="TEXT">Aktueller Überschuss: </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD9">
                                                        <block type="get_value" id="-8%NTe%*B@nF!/{:Oocs">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">modbus.0.inputRegisters.13009_Export_Power</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD10">
                                                        <block type="text" id="?z,H|a~s$.=w1a2@AoEw">
                                                          <field name="TEXT"> Watt.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD11">
                                                        <block type="text_newline" id="#jzne-36cXQwoc2RGV!x">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD12">
                                                        <block type="text" id="VxSxkxkAejN|HMvpdko$">
                                                          <field name="TEXT">Aktuelle Temperatur warmwasserspeicher: </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD13">
                                                        <block type="get_value" id="QVF*uk0gN[C^1%l3b$0T">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">km200.0.dhwCircuits.dhw1.actualTemp</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD14">
                                                        <block type="text" id="#!XVS97zm*/SN(}+?..u">
                                                          <field name="TEXT"> °C. Abschaltung bei 57 °C erfolgt!</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                              <value name="CASECONDITION1">
                                                <block type="math_number" id="d*}%bGRDDM/Gi~I3RX6_">
                                                  <field name="NUM">1</field>
                                                </block>
                                              </value>
                                              <statement name="CASE1">
                                                <block type="procedures_callnoreturn" id="wu:}$#|}.=@0*ARZ{GA%">
                                                  <mutation name="Send Telegram">
                                                    <arg name="Telegram_Meldung"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text_join" id=")gF:?SK/W5Vo0Ub^Y|BY">
                                                      <mutation items="9"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="2[-W(y?Ev{QXT}aSznS-">
                                                          <field name="TEXT">&lt;b&gt;PV-Anlage&lt;/b&gt;</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_newline" id="mR^U@+VHU?LMlo5}GD5%">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="]c#Q]Y(dlFjLzugj0(w@">
                                                          <field name="TEXT">PV-Anlage Überschuss &lt;b&gt;größer&lt;/b&gt; Verbrauch.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD3">
                                                        <block type="text_newline" id="}`.B-][))gwFI5*O0J+z">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD4">
                                                        <block type="text" id="k!@V7}znSFHLY7IRze0Q">
                                                          <field name="TEXT">Heizstufe Warmwasser auf &lt;b&gt;Stufe 1&lt;/b&gt; geschaltet!</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD5">
                                                        <block type="text_newline" id="=qpqv(A[[`{F6bHmRs{q">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD6">
                                                        <block type="text" id="p%]zhBNh$*TgB5+K^kCQ">
                                                          <field name="TEXT">Aktueller Überschuss: </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD7">
                                                        <block type="get_value" id="*lBC.QySxk-Q@Ffx+Ahg">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">modbus.0.inputRegisters.13009_Export_Power</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD8">
                                                        <block type="text" id="}V;@S.pjh@9WfdiO*A0U">
                                                          <field name="TEXT"> Watt.</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                              <value name="CASECONDITION2">
                                                <block type="math_number" id="{Y0$]Sc@h4E%a9S^UVUD">
                                                  <field name="NUM">2</field>
                                                </block>
                                              </value>
                                              <statement name="CASE2">
                                                <block type="procedures_callnoreturn" id="|[5hD.wJcr{uZ_JbB:8P">
                                                  <mutation name="Send Telegram">
                                                    <arg name="Telegram_Meldung"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text_join" id="IG*XEz61S.BW21Y?M:8!">
                                                      <mutation items="9"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="?93_s:Wu,!Lblc7V+$)~">
                                                          <field name="TEXT">&lt;b&gt;PV-Anlage&lt;/b&gt;</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_newline" id="hShd%)0OP](S)Ri6:0s4">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="SSexEU`r1/R]u0xju]rj">
                                                          <field name="TEXT">PV-Anlage Überschuss &lt;b&gt;größer&lt;/b&gt; Verbrauch.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD3">
                                                        <block type="text_newline" id="})5!1}g;[o[KjZ[_7:VT">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD4">
                                                        <block type="text" id="Tho(QYDx|r4~NULg/@TO">
                                                          <field name="TEXT">Heizstufe Warmwasser auf &lt;b&gt;Stufe 2&lt;/b&gt; geschaltet!</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD5">
                                                        <block type="text_newline" id="=j?V}4-vx0Y6T$CetlI~">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD6">
                                                        <block type="text" id="q2%q*EQE)l{QeXWV/Bn7">
                                                          <field name="TEXT">Aktueller Überschuss: </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD7">
                                                        <block type="get_value" id="fq*IipyY%~Ay_Wu}1Kx*">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">modbus.0.inputRegisters.13009_Export_Power</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD8">
                                                        <block type="text" id="^%mi4~|S;yB/gUjc?{5v">
                                                          <field name="TEXT"> Watt.</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                              <value name="CASECONDITION3">
                                                <block type="math_number" id=";OoFSLo~mveYigsYaOFl">
                                                  <field name="NUM">3</field>
                                                </block>
                                              </value>
                                              <statement name="CASE3">
                                                <block type="procedures_callnoreturn" id="$)SoXxqZ?S?/BfGV)ZQf">
                                                  <mutation name="Send Telegram">
                                                    <arg name="Telegram_Meldung"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text_join" id="]99OEs.2Q2#!{qgGI%yQ">
                                                      <mutation items="9"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="c,c[pZePtin;ojj9d{n1">
                                                          <field name="TEXT">&lt;b&gt;PV-Anlage&lt;/b&gt;</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_newline" id="nUBNV9K!BqU0Ctr|DyLn">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="K%7:q[PEhry[Yn[3UQaj">
                                                          <field name="TEXT">PV-Anlage Überschuss &lt;b&gt;größer&lt;/b&gt; Verbrauch.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD3">
                                                        <block type="text_newline" id="J:-_lydiX!EJ#rW1aHoy">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD4">
                                                        <block type="text" id="]/Yx-)UbJ}a~r9YdVo#N">
                                                          <field name="TEXT">Heizstufe Warmwasser auf &lt;b&gt;Stufe 3&lt;/b&gt; geschaltet!</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD5">
                                                        <block type="text_newline" id="}0V8_)p+nJU4:sBq0IpC">
                                                          <field name="Type">\n</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD6">
                                                        <block type="text" id="#zhOw|U{x_45ree#4P.+">
                                                          <field name="TEXT">Aktueller Überschuss: </field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD7">
                                                        <block type="get_value" id="4eS~^!bJRKa@uok9D8z*">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">modbus.0.inputRegisters.13009_Export_Power</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD8">
                                                        <block type="text" id="(@=8a{cD]gDU!q^[XePG">
                                                          <field name="TEXT"> Watt.</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </xml>
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by paul53

            @quorle sagte: Trigger-Datenpunkt auf die PV Produktion/Verbrauch gelegt. Wenn aber keine Produktion läuft, dann steht hier der Verbrauch mit "Minuswert" drin.

            Also nicht PV-Produktion, sondern Einspeisung - Bezug? Dann muss dieses Prinzip verwendet werden, da der Heizstab diesen Wert beeinflusst: Wenn eine Phase zugeschaltet wird, sinkt die Einspeisung um 1 kW - allerdings bleibt diese Rückwirkung aus, wenn man Datenpunkte unter "0_userdata.0" steuert, was deshalb zum Testen ungeeignet ist.

            @quorle sagte: sollte erst eine gewisse Zeit gewartet werden

            Die Verzögerung bringt nichts, da sie die Vergangenheit erfasst. Um zu erfassen, dass nicht eine Wolke in Kürze die PV-Leistung reduziert, bräuchte man eine Prognose. Prognose-Daten stehen allerdings nicht zur Verfügung, so dass man nur hoffen kann, dass die PV-Leistung nicht zu stark schwankt. Wenn verhindert werden soll, dass zu häufig geschaltet wird, macht man die Hysterese größer.

            Vorschlag mit Berücksichtigung der Rückwirkung des Heizstabes auf die Einspeisung:

            Bild_2022-04-29_115041620.png

            EDIT: Die Nachricht lässt sich natürlich noch erweitern:

            Bild_2022-04-29_114107110.png

            S 1 Reply Last reply Reply Quote 0
            • S
              Steinmetz_4 @paul53 last edited by Steinmetz_4

              @quorle sagte: Trigger-Datenpunkt auf die PV Produktion/Verbrauch gelegt. Wenn aber keine Produktion läuft, dann steht hier der Verbrauch mit "Minuswert" drin.

              Servus,

              das mit dem minus Wert hab ich folgendermaßen gelöst:
              Ich zerlege meinen "Gridfeedin" in zwei eigene Datenpunkte.
              Netzbezug.jpg

              Ich stehe momentan vor dem selben Problem wie Du.

              Meine Heizstäbe haben aber ein Thermostat und schalten automatisch bei Temperatur X aus, also komme ich nie in die Nähe der Kritischen Temperatur. Darum habe ich mich jetzt von der Temperaturregelung verabschiedet.

              Ich will wie Du: mehr Strom -> mehr Phasen / weniger Strom -> weniger Phasen.
              Mehr Strom-> mehr Phasen habe ich im Griff, allerdings das Stufenweise Abschalten klappt noch nicht.
              Aber: ich bleib dran...

              Mfg

              Tom

              S 1 Reply Last reply Reply Quote 0
              • S
                Streit187 @Steinmetz_4 last edited by

                @steinmetz_4 Hallo Tom, @quorle Hallo quorle,

                habt ihr eure Projekte abgeschlossen?
                Ich würde das Thema gerne nochmal aufwärmen da ich eine ähnliches Projekt laufen habe, nur etwas "großzügiger". Ich habe zwei 1500l Schichtspeicher mit jeweils 4 Heizstäben und jeweils 3 Phasen, sprich 24 Aktoren. Dazu habe ich in jeder Schicht noch ein Thermostat also 8 Sensoren.

                Danke für euer Feedback
                VG

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Streit187 last edited by paul53

                  @streit187 sagte: sprich 24 Aktoren.

                  Das Beispiel mit 7 Stufen lässt sich sicherlich auch auf 24 Stufen erweitern.

                  @streit187 sagte in Blockly für Stufeneinschaltung:

                  in jeder Schicht noch ein Thermostat also 8 Sensoren.

                  Der Thermostat schaltet den zugehörigen Heizstab bei Erreichen des Grenzwertes aus?

                  MartinP 1 Reply Last reply Reply Quote 0
                  • MartinP
                    MartinP @paul53 last edited by MartinP

                    @paul53 Wäre bei so vielen Stufen ggfs Sinnvoll, auf eine Lookup Table umzustellen? weiß aber nicht, ob das eine Lösung ist die in Blockly eine Vereinfachung wäre.

                    Bei 2x2 Heizstäben pro Phase wären auch noch feinziseliertere Abstufungen durch Reihenschaltung möglich 😉

                    Ich habe zwei 1500l Schichtspeicher mit jeweils 4 Heizstäben und jeweils 3 Phasen

                    @Streit187 sind die "hintereinandergeschaltet? Also, dass der eine Schichtspeicher vom Output eines zweiten Schichtspeichers gefüttert wird?

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Streit187 @MartinP last edited by Streit187

                      @martinp @paul53 Entschuldigt bitte. Wie peinlich. Hab die Benachrichtigungen nicht gesehen. Vielen Dank für euer schnelles Feedback, im Gegensatz zu mir.

                      Also ich habe es inzwischen tatsächlich sehr zuverlässig am Laufen. Zum Glück mit einem Script und nicht mit Blockly. Zum Nachvollziehen finde ich das einfacher und übersichtlicher.

                      Genau, jeder Heizstab hat auf seiner Ebene ein Thermostat welches ihn abschaltet bzw. in meinem Fall jetzt nicht einschaltet.
                      In meinem Script jetzt wird alle x-Minuten (hier 5 da großer Stromspeicher verfügbar) der Wert von "Überschussstrom" genommen. Dieser durch 1000 (W) geteilt um die Menge der Heizstäbe zu bekommen die eingeschaltet werden dürfen.
                      Nun wird einer Liste erstellt mit der Anzahl der Heizstäbe die eingeschaltet werden dürfen und deren Temperatur nuter dem Schwellwert liegt.
                      Danach werden genau diese eingeschaltet und 5 Minuten später das gleiche Spiel von vorne.

                      @MartinP Nein, die sind parallel mit mehreren Verbindungen. Es gibt also einen geringen Austausch welcher so auch gewüncht war.

                      Selbstverständlich teile ich das Script gerne wenn es Interesse daran gibt.

                      Ein wichtiger Punkt noch zum Thema Sicherheit. Das Erhitzen von so viel Wasser auf diese Art und Weise in einem geschlossenen Tank ist nicht ungefährlich. Deshalb habe ich diverse Sicherheitsfunktionen eingebaut.
                      Vom regelmäßg zu prüfenden Überdruckventil an den Tanks, über Timer in den Aktoren welche automatisch ausschalten wenn eine gewisse Zeit keine Steuerung stattfindet bis zu STB`s welche über ein Schütz den kompletten Saft abdrehen.

                      1 Reply Last reply Reply Quote 0
                      • flkontakt
                        flkontakt @paul53 last edited by

                        @paul53 hallo, hättest du auch eine Vorlage für eine stufenlose Ansteuerung eines DP durch den Wert der PV? Mir fehlt in Blockly leider der Ansatz wie ich den PV-Bereich von 0-5kW in % umrechne.

                        PV-Erzeugung 5kW = 100%
                        PV-Erzeugung 0kW = 0%
                        Ansteuerung z.B. eines Dimmers 0-100% oder HUE-Wert durch %-Wert der Erzeugung

                        Ich freue mich auf deine Rückmeldung

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @flkontakt last edited by paul53

                          @flkontakt sagte: stufenlose Ansteuerung eines DP durch den Wert der PV?

                          Du willst eine Nulleinspeisung realisieren? Dann nimm einen PI-Regler:

                          Blockly_temp.JPG

                          @flkontakt sagte in Blockly für Stufeneinschaltung:

                          PV-Bereich von 0-5kW in % umrechne.

                          Eine direkte Umrechnung der PV-Leistung in % macht wenig Sinn, da die PV-Leistung nicht die restlichen Verbraucher berücksichtigt.

                          Blockly_temp.JPG

                          flkontakt 1 Reply Last reply Reply Quote 0
                          • flkontakt
                            flkontakt @paul53 last edited by

                            @paul53 vielen Dank für die schnelle Rückmeldung, mir geht es hier eher um eine Art Visualisierung der Erzeugungleistung von 0-100%. Einen direkten Verbraucher will ich nicht schalten oder dimmen.

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @flkontakt last edited by paul53

                              @flkontakt sagte: Visualisierung der Erzeugungleistung von 0-100%.

                              Dann nimm im unteren Blockly "aktualisiere" anstelle von "steuere".

                              flkontakt 1 Reply Last reply Reply Quote 0
                              • flkontakt
                                flkontakt @paul53 last edited by

                                @paul53 mathe kann so einfach sein ;-). danke für den Schubser in die richtige Richtung!

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                919
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                7
                                21
                                2905
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo