Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Das Ultimative Markisen / Rolladen Blockly - Script

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Das Ultimative Markisen / Rolladen Blockly - Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • rantanplan
      rantanplan last edited by Negalein

      Hallo smile

      Einen Teil habe ich mal umgetellt.

      Da Du alles über Timer-Trigger gelöst hast, ist das alles recht unübersichtlich.

      Und mehrere Trigger können gleichzeitig starten, was jede Menge ungewollte Nebeneffekte hat.

      Um Dein Blockly in mehrere logische Einheiten aufzudröseln, müssen wir als erstes von den lokalen Variablen weg!

      Über globale Variablen/Zustände können sich die einzelnen Blocklys "unterhalten".

      Und da wären wir beim nächten Thema, Zustände!

      Man muss z.B. nicht jede Minute den "Wind" überprüfen.

      Man muss nur reagieren, wenn der "Wind" seinen "Zustand" ändert!

      Genau so mit der Temperatur es ist quatsch diese alle 5 Sek. zu überprüfen!!!

      Ich bin mal mit dem Teil "Rollo Automatik Vormittag/Nachmittag" angefangen.

      Dazu müssen einige globale Variablen in ioBroker angelegt werden.

      Das solltest Du in ein neues Blockly importieren und als ERSTES starten!
      147_variablen.png

      Export Variablen:

       <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="}=Y-O-vl`*2YuCcv_F^*" x="-2788" y="4237"><field name="NAME">Sonne vormittag</field>
          <statement name="STATEMENT"><block type="create" id="4434IyAnZn93df[8IL)B"><field name="NAME">Sonne nachmittag</field>
              <statement name="STATEMENT"><block type="create" id="08D_xiK+@q-Cwp#{9j|4"><field name="NAME">Temperatur</field>
                  <statement name="STATEMENT"><block type="create" id="c6,QVVu?U2CJiT*E=Pp*"><field name="NAME">Wind</field>
                      <statement name="STATEMENT"><block type="create" id="1At9e*9_D.Nm?V/plCkh"><field name="NAME">Regen</field></block></statement></block></statement></block></statement></block></statement></block></xml> 
      

      So sieht mein "Umbau" aus.

      OHNE ANPASSUNG DER ANDEREN TEILE KLAPPT DAS NARÜRLICH NOCH NICHT.

      Aber Du kannst ja schon mal schauen.
      147_rollo-1.png
      147_rollo-2.png

      Hier der Exort:

       <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="IR94DiuG7v6~=Zg2dVp6" x="-762" y="4638"><field name="COMMENT">Variablen initialisieren</field>
          <next><block type="procedures_callnoreturn" id="iW:+%8blE]XvSDS~rIw5"><mutation name="InitVariablen"></mutation>
              <next><block type="comment" id="_:tJ@Ut#F5ws5(QdD#18"><field name="COMMENT">Variablen überwachen</field>
                  <next><block type="comment" id="Mlyo7L0-(5%m9dgr4!hg"><field name="COMMENT">Wenn sich eine ändert, startet Trigger</field>
                      <next><block type="on_ext" id="QiHPKverivP=8WkSGytV"><mutation items="5"></mutation>
                          <field name="CONDITION">ne</field>
      
                          <value name="OID0"><shadow type="field_oid" id="+,BC{lp_F!LRvdS~JX5?"><field name="oid">javascript.0.Sonne vormittag</field></shadow></value> 
                          <value name="OID1"><shadow type="field_oid" id="Yp8-^gw:4dzjsmj2:E|X"><field name="oid">javascript.0.Sonne nachmittag</field></shadow></value> 
                          <value name="OID2"><shadow type="field_oid" id="_L%Q;_E;przz^IB8H7ku"><field name="oid">javascript.0.Wind</field></shadow></value> 
                          <value name="OID3"><shadow type="field_oid" id="4%FQBEBoKZscIw(xCfvK"><field name="oid">javascript.0.Regen</field></shadow></value> 
                          <value name="OID4"><shadow type="field_oid" id="(YD{}gWxz15@1erb8dYW"><field name="oid">javascript.0.Temperatur</field></shadow></value> 
                          <statement name="STATEMENT"><block type="comment" id="KBTszICK@=[wDZb5;*~,"><field name="COMMENT">Rollo Automatik Vormittags</field>
                              <next><block type="controls_if" id="PE7b{%TNQd*9zP!jf^Vh"><value name="IF0"><block type="time_compare" id="wiw`_@oW7L;@Lqp}_Bbk"><mutation end_time="true"></mutation>
                                      <field name="OPTION">between</field>
                                      <field name="START_TIME">12:45</field>
                                      <field name="END_TIME">15:00</field></block></value> 
                                  <statement name="DO0"><block type="controls_if" id="-qm_GxNYec;/oVqc#/FG"><mutation elseif="1"></mutation>
                                      <value name="IF0"><block type="logic_operation" id="3MvSq_rbvziv0hO!pv4X" inline="false"><field name="OP">AND</field>
                                          <value name="A"><block type="logic_compare" id="(4xyzp46rX#2!bau(%nV"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="xXd].0z/eJi_OfvmDFxA"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Sonne vormittag</field></block></value> 
                                              <value name="B"><block type="text" id="MOZ_dv*(#ZY/~FULWUPu"><field name="TEXT">Sonne vormittag da</field></block></value></block></value> 
                                          <value name="B"><block type="logic_operation" id="S};QeEeRv)|[*|0@2)c8" inline="false"><field name="OP">AND</field>
                                              <value name="A"><block type="logic_compare" id="vu2.^T;[R(_T6hOXlr_."><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="~F:Z},!7~ykNJwrOkbGO"><field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                  <value name="B"><block type="text" id="n*xk_f@Zq@~B.=up.`US"><field name="TEXT">Warm</field></block></value></block></value> 
                                              <value name="B"><block type="logic_operation" id="_=4D??A;0FI8ra-O(0F?" inline="false"><field name="OP">AND</field>
                                                  <value name="A"><block type="logic_compare" id="[PHCg{Ie(#.YcDNAWXmd"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="8{ERfH|U})t=s3IU#^13"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Wind</field></block></value> 
                                                      <value name="B"><block type="text" id="um}}z7,tc/4!Hi@tah*5"><field name="TEXT">Kein Wind</field></block></value></block></value> 
                                                  <value name="B"><block type="logic_compare" id="LMn!w9FZvoVEuwl%D6mY"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="2%;WPqm*uJ|_WvU=(n|D"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Regen</field></block></value> 
                                                      <value name="B"><block type="text" id=":7(gB.uFfPECZEwe3pxW"><field name="TEXT">Kein Regen</field></block></value></block></value></block></value></block></value></block></value> 
                                      <statement name="DO0"><block type="controls_if" id="yC6hZ|KW5Stt%3^5rlh2"><value name="IF0"><block type="logic_compare" id="%{03m~#w#0V;65s{%?nv"><field name="OP">GT</field>
                                              <value name="A"><block type="get_value" id="DU)Iz,zfo_moiHn0ViwR"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                              <value name="B"><block type="text" id="ba6YoJ6#1bP-y9hi7(Fw"><field name="TEXT">2</field></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="_yRXeMIFf6*;^DuLm0{Y"><mutation delay_input="false"></mutation>
                                              <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="text" id="8v@#`#`P@u_J,_xFVA-1"><field name="TEXT">0</field></block></value></block></statement> 
                                          <next><block type="controls_if" id="da_(t)1H+*[|uObdu^7E"><value name="IF0"><block type="logic_compare" id="@1{B?Sr;8on}:0~Z/bv}"><field name="OP">GT</field>
                                                  <value name="A"><block type="get_value" id="92TuOd8vS[yojxAkXsdz"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                  <value name="B"><block type="text" id=":Ky@O(uLcK*h5cE|MRl4"><field name="TEXT">2</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="OhJ*jMYtH]-,vuf7J0Nj"><mutation delay_input="false"></mutation>
                                                  <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="text" id="/(ZI:L2Z*dv@5r}W2enm"><field name="TEXT">0</field></block></value></block></statement></block></next></block></statement> 
                                      <value name="IF1"><block type="logic_operation" id="vJ5:~jZO:NC(Pd96O(;G" inline="false"><field name="OP">OR</field>
                                          <value name="A"><block type="logic_compare" id="Ad!8`?NG.(OL.g_odN~o"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="S7/gkd+O%sL!3genk)cI"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Sonne vormittag</field></block></value> 
                                              <value name="B"><block type="text" id="9Fs[=kKwVkBLVK?]#jN3"><field name="TEXT">Sonne vormittag weg</field></block></value></block></value> 
                                          <value name="B"><block type="logic_compare" id="G2+kr0haz~Ox4Vo!EM)W"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="5io?01yhTDr)?mdJJ_F2"><field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Temperatur</field></block></value> 
                                              <value name="B"><block type="text" id="-jtS7S)=EeSKNn[v0iI."><field name="TEXT">Kühl</field></block></value></block></value></block></value> 
                                      <statement name="DO1"><block type="controls_if" id="FcNEyO_Z11Ce7C=:!(}S"><value name="IF0"><block type="logic_compare" id="~6U1U.`obRseMnyazi!n"><field name="OP">LT</field>
                                              <value name="A"><block type="get_value" id="Z3^aVRk+QqhVuP4k0TZn"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                              <value name="B"><block type="text" id="n,!VeekwVG~sM94[XNQN"><field name="TEXT">99</field></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="|s@Eet(_I#Q9o(yH}a1-"><mutation delay_input="false"></mutation>
                                              <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="text" id=";j*Ma@j~rj/h/npu3%Sx"><field name="TEXT">100</field></block></value></block></statement> 
                                          <next><block type="controls_if" id="Zg^9xF`u;g67wy8/U@To"><value name="IF0"><block type="logic_compare" id="!Ar%r9;J+0}x)E5}ZE`Y"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="-[3W?T{(ij8b`9-5OQrn"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                  <value name="B"><block type="text" id="T@LFM75gL}gt3-LjhRl,"><field name="TEXT">99</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="Xzb5[el97QU~kgep1wCC"><mutation delay_input="false"></mutation>
                                                  <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="text" id="vY4e8ev;i1/y;K+ww`Kr"><field name="TEXT">100</field></block></value></block></statement></block></next></block></statement></block></statement> 
                                  <next><block type="comment" id="WebbG)%):f^o3IOrXx9k"><field name="COMMENT">Rollo Automatik Nachmittags</field>
                                      <next><block type="controls_if" id="`1r57@w,vq.]_)1URYw{"><value name="IF0"><block type="time_compare" id="mv#=V=^xD_3#5K7@0,;#"><mutation end_time="true"></mutation>
                                              <field name="OPTION">between</field>
                                              <field name="START_TIME">15:00</field>
                                              <field name="END_TIME">22:00</field></block></value> 
                                          <statement name="DO0"><block type="controls_if" id="06]icFPv.|4I]5RZFVxK"><mutation elseif="1"></mutation>
                                              <value name="IF0"><block type="logic_operation" id="H)[?N6jnM;U/P,N2k%c3" inline="false"><field name="OP">AND</field>
                                                  <value name="A"><block type="logic_compare" id=",*e.*[%4U5aOqU|+6piK"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="*hp9dJ)CcN8C:m11UvGS"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Sonne nachmittag</field></block></value> 
                                                      <value name="B"><block type="text" id="qd0#1t7adf%NzoxZIPe;"><field name="TEXT">Sonne nachmittag da</field></block></value></block></value> 
                                                  <value name="B"><block type="logic_operation" id="0[8LT!cRt?8vVFyYvR%-" inline="false"><field name="OP">AND</field>
                                                      <value name="A"><block type="logic_compare" id=";tTT}MT4?wfKPcv4R0z}"><field name="OP">EQ</field>
                                                          <value name="A"><block type="get_value" id="Za216GQPdEI5TAHu(8wm"><field name="ATTR">val</field>
                                                              <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                          <value name="B"><block type="text" id="J)p4A^J^?3B?6`nC]{G+"><field name="TEXT">Warm</field></block></value></block></value> 
                                                      <value name="B"><block type="logic_operation" id="f9}0Bzs5hiI4;NGj,,x_" inline="false"><field name="OP">AND</field>
                                                          <value name="A"><block type="logic_compare" id="_QmL%I+!rf/(Q@!3%-*|"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id="QI1*j%HxyXp3(J5LyE#s"><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Wind</field></block></value> 
                                                              <value name="B"><block type="text" id="?bJyjwmT{QX.!]zge^ml"><field name="TEXT">Kein Wind</field></block></value></block></value> 
                                                          <value name="B"><block type="logic_compare" id="rL__AI7HbK.6TXQKjENq"><field name="OP">EQ</field>
                                                              <value name="A"><block type="get_value" id="f9X*^y]z6O)7o6#CUVNT"><field name="ATTR">val</field>
                                                                  <field name="OID">javascript.0.Regen</field></block></value> 
                                                              <value name="B"><block type="text" id="kzGhN6U:[gC);VgYO+or"><field name="TEXT">Kein Regen</field></block></value></block></value></block></value></block></value></block></value> 
                                              <statement name="DO0"><block type="controls_if" id="cmE{`w9X:d6z~U(;h)q2"><value name="IF0"><block type="logic_compare" id="}=t1L@V75YROUx76UtJI"><field name="OP">GT</field>
                                                      <value name="A"><block type="get_value" id="(-6;[Tvq`yFSRfRQ)fl}"><field name="ATTR">val</field>
                                                          <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                                      <value name="B"><block type="text" id="e6IT6bR~(kd2lU2kVwxg"><field name="TEXT">2</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="control" id="rK5dtkmDK*?o6+RNY!m`"><mutation delay_input="false"></mutation>
                                                      <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="text" id="c2kl1smjFi;R2`Zxm)=)"><field name="TEXT">0</field></block></value></block></statement> 
                                                  <next><block type="controls_if" id="=(kBQkiVxmc{IK@/BnN["><value name="IF0"><block type="logic_compare" id="HW^lkc(tnxE9sXz3el7H"><field name="OP">GT</field>
                                                          <value name="A"><block type="get_value" id="F(VWL|VR}uTz}AH-KkJR"><field name="ATTR">val</field>
                                                              <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                          <value name="B"><block type="text" id=";I?@e#;0`~G,k:C2l/fn"><field name="TEXT">2</field></block></value></block></value> 
                                                      <statement name="DO0"><block type="control" id="s9V*Poyqeda}hCDiq8Rg"><mutation delay_input="false"></mutation>
                                                          <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="text" id="ZWNuP0|avd=bwa0gl[bq"><field name="TEXT">0</field></block></value></block></statement></block></next></block></statement> 
                                              <value name="IF1"><block type="logic_operation" id="deYn|DwA4C6WDszez|N?" inline="false"><field name="OP">OR</field>
                                                  <value name="A"><block type="logic_compare" id="3otRi*ZZ^.DmSmOsCTd5"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="GNsq}r-(XJSOr#`TkcpG"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Sonne nachmittag</field></block></value> 
                                                      <value name="B"><block type="text" id="qCdb(O-FlFpl/4%bQ|ZH"><field name="TEXT">Sonne nachmittag weg</field></block></value></block></value> 
                                                  <value name="B"><block type="logic_compare" id="!5R4nTl9UB9Gu2I|!.r_"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="iC^b3Q8DO:ajXg=5n9l2"><field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                      <value name="B"><block type="text" id="yDJp[#W)ST{V{YQP}br]"><field name="TEXT">Kühl</field></block></value></block></value></block></value> 
                                              <statement name="DO1"><block type="controls_if" id="BrJx+TOrgC5::]2b6fbQ"><value name="IF0"><block type="logic_compare" id="9CZ5^vv#K7S*_ZK7igZ4"><field name="OP">LT</field>
                                                      <value name="A"><block type="get_value" id="@gEto~k2Uj|q@{ey{Tce"><field name="ATTR">val</field>
                                                          <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                                      <value name="B"><block type="text" id="628tYGpk@^xz0j%8gjg1"><field name="TEXT">99</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="control" id="[.MirZd!YIUo`BuD`xh("><mutation delay_input="false"></mutation>
                                                      <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="text" id="2SMw+RRV-XTXko0:uL1~"><field name="TEXT">100</field></block></value></block></statement> 
                                                  <next><block type="controls_if" id="zS@pM}dP.?Jj;g[l7Nl3"><value name="IF0"><block type="logic_compare" id="_ujq6r5ysA7(d^7bI=1:"><field name="OP">LT</field>
                                                          <value name="A"><block type="get_value" id=";*Ch*E/(v7s,CiFe1TKY"><field name="ATTR">val</field>
                                                              <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                          <value name="B"><block type="text" id="9OU@m_5Y|FF]Mwi~Jf*n"><field name="TEXT">99</field></block></value></block></value> 
                                                      <statement name="DO0"><block type="control" id="+r4~Y6o!J(VNB`CJ,RJ|"><mutation delay_input="false"></mutation>
                                                          <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="text" id="DrF0QNw_G0?(/Q*/eM#R"><field name="TEXT">100</field></block></value></block></statement></block></next></block></statement></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block> 
        <block type="procedures_defnoreturn" id="(+6Mz{Je,L}7n^5*t*wO" x="-187" y="4662"><field name="NAME">InitVariablen</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          <statement name="STACK"><block type="control" id="XPIeH#R01T5KR1EP?ge6"><mutation delay_input="false"></mutation>
              <field name="OID">javascript.0.Temperatur</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE"></value> 
              <next><block type="control" id="p?`r0r!rP+l-DL?HVpBE"><mutation delay_input="false"></mutation>
                  <field name="OID">javascript.0.Wind</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"></value> 
                  <next><block type="control" id="d:8g!N[q^)G{PlAhNaz-"><mutation delay_input="false"></mutation>
                      <field name="OID">javascript.0.Regen</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"></value> 
                      <next><block type="control" id="aE`7d?_]rfE]MD%PNtMy"><mutation delay_input="false"></mutation>
                          <field name="OID">javascript.0.Sonne nachmittag</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"></value> 
                          <next><block type="control" id="}j@12@xg3yqq;4gXl%rl"><mutation delay_input="false"></mutation>
                              <field name="OID">javascript.0.Sonne vormittag</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE"></value></block></next></block></next></block></next></block></next></block></statement></block></xml> 
      

      Grüße

      1 Reply Last reply Reply Quote 0
      • smile
        smile last edited by

        Wahnisnn. Ich bin mega begeistert. Danke für deine Hilfe…. :shock:

        Ich mach mich gleich mal ran und werde das bei mir eintickern und testen 🙂

        Kurz vorab zu deiner Frage:

        @rantanplan:

        Man muss z.B. nicht jede Minute den "Wind" überprüfen.

        Man muss nur reagieren, wenn der "Wind" seinen "Zustand" ändert!

        Genau so mit der Temperatur es ist quatsch diese alle 5 Sek. zu überprüfen!!! `
        Das hatte ich so gemacht, um in mehreren Intervallen die Zustände zu prüfen, ob diese immer noch vorliegen.

        z.B. Bei Sonne: Prüfe ob Sonne da ist, und prüfe in 30 Sekunden ob sie immer noch da ist. Damit nicht immer die Beschattungen rein und rausfahren.

        Bei Wind sekündlich, da dies natürlich ein Wert ist auf den sofort eine Reaktion kommen muss.

        Aber du hast Recht, wenn ich so darüber nachdenke… reicht es natürlich wenn immer nur dann eine Meldung erfolgt, wenn der entsprechende Wert unter - oder überschritten wird. Logo.

        Danach kann man ja mit Zeittriggern weiterarbeiten und beim Aktionsscript des Rollos nach z.B. 2 Minuten eine Abfrage machen, ob "Sonne da" immer noch wahr ist !?!?

        1 Reply Last reply Reply Quote 0
        • rantanplan
          rantanplan last edited by

          @smile:

          Aber du hast Recht, wenn ich so darüber nachdenke… reicht es natürlich wenn immer nur dann eine Meldung erfolgt, wenn der entsprechende Wert unter - oder überschritten wird. Logo.

          Danach kann man ja mit Zeittriggern weiterarbeiten und beim Aktionsscript des Rollos nach z.B. 2 Minuten eine Abfrage machen, ob "Sonne da" immer noch wahr ist !?!? `
          Du brauchst keinen Zeit-Trigger 😉

          Als nächstes baue ich die "Steuerzentrale".

          Mal sehen ob ich heute noch Zeit finde.

          Momentan ist bei mir "Sonnen Nachmittag da" 😄

          Grüße

          PS. Du musst nichts "eintickern" sondern IMPORTIEREN.

          Aber laufen wird es "noch" nicht.

          1 Reply Last reply Reply Quote 0
          • smile
            smile last edited by Negalein

            @rantanplan:

            Momentan ist bei mir "Sonnen Nachmittag da" 😄 `
            😄 Bei uns in Hamburg heute auch!

            Ich hab schon angefangen dein Blockly zu Importieren und mir anzuschauen.

            Ich teste das ganze jetzt mal mit meiner Klima Automatik.

            Gehört ja quasi zu einer Beschattungs Steuerung dazu, denn all diese Sachen sollen ja durchaus das Klima / Temperatur in der Wohnung beeinflusssen.

            Temperaturabfrage mit Variablensetzung
            3472_klima_abfrage_temperatur.png

            Klima Einschalten NICHT nach Zeitsteuerung sondern sobald sich eine Variable ändert.
            filename="Klima_Ausführen.png" index="0">~~

             <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defnoreturn" id="M-.z#fgX|~KI@30*R;vF" x="-412" y="-662"><field name="NAME">Temperatur Abfrage</field>
                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                <statement name="STACK"><block type="controls_if" id="2:W^w:ig.+dp?Y_`8t,t"><value name="IF0"><block type="logic_compare" id="G42]?_F/nz*wxEc?3?M8"><field name="OP">GT</field>
                        <value name="A"><block type="get_value" id="fD#FRl~`/cn1Ji4kh*P8"><field name="ATTR">val</field>
                            <field name="OID">hm-rpc.0.KEQ0048986.1.TEMPERATURE</field></block></value> 
                        <value name="B"><block type="text" id="bZC~%nv_z.D@/}tJ5eCT"><field name="TEXT">24</field></block></value></block></value> 
                    <statement name="DO0"><block type="controls_if" id="[C8Csoo%)icUb/2IEtHP"><value name="IF0"><block type="logic_operation" id="[;{N?f7xSk%(@ZG1O-OM"><field name="OP">OR</field>
                            <value name="A"><block type="logic_compare" id="VRvO`.RmfaN=g0bt_N@B"><field name="OP">EQ</field>
                                <value name="A"><block type="variables_get" id="G|Bqeb(2JdrvQnK)!@t("><field name="VAR">Temperatur</field></block></value> 
                                <value name="B"><block type="text" id="wEv%OB%ana!:y?8ywgTX"><field name="TEXT">kühl</field></block></value></block></value> 
                            <value name="B"><block type="logic_operation" id="Tl+t4/6:6MpDq0V/=?ik"><field name="OP">OR</field>
                                <value name="A"><block type="logic_compare" id="gH0n-~dmhKESF{)?6VPH"><field name="OP">EQ</field>
                                    <value name="A"><block type="variables_get" id="d-h18U(P_hXJS{2Kmu|/"><field name="VAR">Temperatur</field></block></value> 
                                    <value name="B"><block type="text" id="oD%|4pe0gqY^JE*_-M:d"><field name="TEXT">angenehm</field></block></value></block></value> 
                                <value name="B"><block type="logic_compare" id="BK~nz@9QZ:z_cP~/o00I"><field name="OP">EQ</field>
                                    <value name="A"><block type="variables_get" id="TiF:e!gO;gJO]aK{z[V3"><field name="VAR">Temperatur</field></block></value> 
                                    <value name="B"></value></block></value></block></value></block></value> 
                        <statement name="DO0"><block type="variables_set" id="!U8W^mT^O.=o5.u,]oY9"><field name="VAR">Temperatur</field>
                            <value name="VALUE"><block type="text" id="tPl}yQiNWM2RrFB+YHww"><field name="TEXT">warm</field></block></value> 
                            <next><block type="debug" id="z}la@I.`9Zp-rnN*ONNJ"><field name="Severity">log</field>
                                <value name="TEXT"><shadow type="text" id="YRvmAA||WilQ?;0#bQ{F"><field name="TEXT">warm</field></shadow></value></block></next></block></statement></block></statement> 
                    <next><block type="controls_if" id="WQ*t]M|jhl6[*#1f_LO9"><value name="IF0"><block type="logic_operation" id="JKg5aPy?cLnts{aMJFyW"><field name="OP">AND</field>
                            <value name="A"><block type="logic_compare" id="t0Xa*0x.:[~1ny#GoP|G"><field name="OP">LTE</field>
                                <value name="A"><block type="get_value" id="e2dEF6IJ(i{fK.@Mnv5("><field name="ATTR">val</field>
                                    <field name="OID">hm-rpc.0.KEQ0048986.1.TEMPERATURE</field></block></value> 
                                <value name="B"><block type="text" id="eC0X=zoR7x~e274%{AWz"><field name="TEXT">24</field></block></value></block></value> 
                            <value name="B"><block type="logic_compare" id="W!t6pY5xZ:2HJVXu6nLp"><field name="OP">GTE</field>
                                <value name="A"><block type="get_value" id="XeTO#O-9mV.[[]-xB4N!"><field name="ATTR">val</field>
                                    <field name="OID">hm-rpc.0.KEQ0048986.1.TEMPERATURE</field></block></value> 
                                <value name="B"><block type="text" id="j^|Bv;;BIjZ4@k_XEzMc"><field name="TEXT">21</field></block></value></block></value></block></value> 
                        <statement name="DO0"><block type="controls_if" id="OwmXoujd-`Ro`CM{ZJ[N"><value name="IF0"><block type="logic_operation" id="C:?m]3IY+g(m6s^]O[y-"><field name="OP">OR</field>
                                <value name="A"><block type="logic_compare" id="MHtVH@X.)B*44nEb_Rdu"><field name="OP">EQ</field>
                                    <value name="A"><block type="variables_get" id="lvA0fHr?BXZ5tlTi7I}y"><field name="VAR">Temperatur</field></block></value> 
                                    <value name="B"><block type="text" id="2O,{K2rURG8_No~O4!#Q"><field name="TEXT">warm</field></block></value></block></value> 
                                <value name="B"><block type="logic_operation" id=")0#B@WN|maTR4hcI*Za6"><field name="OP">OR</field>
                                    <value name="A"><block type="logic_compare" id="OdS=.T3dV;Mrk1N+geW="><field name="OP">EQ</field>
                                        <value name="A"><block type="variables_get" id="I|Noz_8-g?Sw6MR%RomU"><field name="VAR">Temperatur</field></block></value> 
                                        <value name="B"><block type="text" id=")+w+(7g15q;z.~IZiAC2"><field name="TEXT">kühl</field></block></value></block></value> 
                                    <value name="B"><block type="logic_compare" id="aFP*D_uc#jW24ojS[T%("><field name="OP">EQ</field>
                                        <value name="A"><block type="variables_get" id=":f^l2U.+n^7]K)+GTSln"><field name="VAR">Temperatur</field></block></value> 
                                        <value name="B"></value></block></value></block></value></block></value> 
                            <statement name="DO0"><block type="variables_set" id="zBV(agAeh?5_RnVqp.*k"><field name="VAR">Temperatur</field>
                                <value name="VALUE"><block type="text" id="MlvJPsP]fO1AKF=V5oP{"><field name="TEXT">angenehm</field></block></value> 
                                <next><block type="debug" id="C:(jJ}y(g%WmnGaJ11q~"><field name="Severity">log</field>
                                    <value name="TEXT"><shadow type="text" id="aGBiMR7`%IXBNl#1s96."><field name="TEXT">angenehm</field></shadow></value></block></next></block></statement></block></statement> 
                        <next><block type="controls_if" id="{3{%g6t8Pm;XyHWhOKpX"><value name="IF0"><block type="logic_compare" id="N^l`9clBFvc?Xn/;}WCc"><field name="OP">LT</field>
                                <value name="A"><block type="get_value" id="4EGjklq)IP5#ryz%fykH"><field name="ATTR">val</field>
                                    <field name="OID">hm-rpc.0.KEQ0048986.1.TEMPERATURE</field></block></value> 
                                <value name="B"><block type="text" id="BOLDj9}yy.6OZAKSh`vW"><field name="TEXT">21</field></block></value></block></value> 
                            <statement name="DO0"><block type="controls_if" id="FG~-}Qk6KJzl7-bD|_j1"><value name="IF0"><block type="logic_operation" id="J~-+n~kURA4p=rC_AirF"><field name="OP">OR</field>
                                    <value name="A"><block type="logic_compare" id="6db|O2V!nS`mcrAf*qma"><field name="OP">EQ</field>
                                        <value name="A"><block type="variables_get" id="L`(N@b_/!5J4|zn?=x|s"><field name="VAR">Temperatur</field></block></value> 
                                        <value name="B"><block type="text" id="NH?l}/gS^PtXa1hO}S:6"><field name="TEXT">angenehm</field></block></value></block></value> 
                                    <value name="B"><block type="logic_operation" id="(^)JromdE6X+V-hk27hC"><field name="OP">OR</field>
                                        <value name="A"><block type="logic_compare" id="VN,w?|+^%Vr[YN-#bYi~"><field name="OP">EQ</field>
                                            <value name="A"><block type="variables_get" id=";W2xtZXh2%%Vq_[:(!PS"><field name="VAR">Temperatur</field></block></value> 
                                            <value name="B"><block type="text" id="]4^Co2`~_!^Y-=`o5Bf!"><field name="TEXT">warm</field></block></value></block></value> 
                                        <value name="B"><block type="logic_compare" id="G.w[n-4(l;?~N;c`]Rw4"><field name="OP">EQ</field>
                                            <value name="A"><block type="variables_get" id="}Hg4{xZ5E`uz2Smzrm^%"><field name="VAR">Temperatur</field></block></value> 
                                            <value name="B"></value></block></value></block></value></block></value> 
                                <statement name="DO0"><block type="variables_set" id="s_:t)7Mp%#kKIY(h_BxA"><field name="VAR">Temperatur</field>
                                    <value name="VALUE"><block type="text" id=")ZOtM|-bv|1FZ*=~+uQO"><field name="TEXT">kühl</field></block></value> 
                                    <next><block type="debug" id=";Kr6(jM+CLv;V9hVZeD."><field name="Severity">log</field>
                                        <value name="TEXT"><shadow type="text" id="?s=.a{)4@gant^H+^Blj"><field name="TEXT">kühl</field></shadow></value></block></next></block></statement></block></statement></block></next></block></next></block></statement></block> 
              <block type="comment" id="Vlxo`y:Fxt|8tlNww){B" x="-413" y="12"><field name="COMMENT">Klima einschalten</field>
                <next><block type="procedures_callnoreturn" id="fC~cc+fM!#jI717dqqD3"><mutation name="Temperatur Abfrage"></mutation>
                    <next><block type="on_ext" id="S|tlmQi*+~k;1g!8`rAJ"><mutation items="1"></mutation>
                        <field name="CONDITION">ne</field>
            
                        <value name="OID0"><shadow type="field_oid" id="NdM!z9Nft`Y*xsf)d_Ht"><field name="oid">default</field></shadow> 
                          <block type="variables_get" id="x}:[f;6SW,RSu.1Pu/n#"><field name="VAR">Temperatur</field></block></value> 
                        <statement name="STATEMENT"><block type="controls_if" id="a-]ch.!MT+Hn03_t~#x7"><value name="IF0"><block type="logic_operation" id="jtsXJ%bH_4OJyp2GA7X8" inline="false"><field name="OP">AND</field>
                                <value name="A"><block type="logic_operation" id="AIOi=[Aq|.iH}rm;~|dz" inline="false"><field name="OP">AND</field>
                                    <value name="A"><block type="time_compare_ex" id="SJ]-Ix(IxMuF8[5%usBf"><mutation end_time="true" actual_time="true"></mutation>
                                        <field name="USE_ACTUAL_TIME">TRUE</field>
                                        <field name="OPTION">between</field>
                                        <value name="START_TIME"><shadow type="text" id="vwTkZhalu=p,yw%%Y]`l"><field name="TEXT">11:00</field></shadow></value> 
                                        <value name="END_TIME"><shadow type="text" id="s5L+uX_a{fgkbtPj^UOI"><field name="TEXT">23:00</field></shadow></value></block></value> 
                                    <value name="B"><block type="logic_compare" id="^(Y~KddcNPe^NFtU-{,P"><field name="OP">EQ</field>
                                        <value name="A"><block type="variables_get" id="N)n|kXO}XZ+McHUPxVov"><field name="VAR">Temperatur</field></block></value> 
                                        <value name="B"><block type="text" id="+-:ct]AV!fe*@ia-[:JU"><field name="TEXT">warm</field></block></value></block></value></block></value> 
                                <value name="B"><block type="logic_operation" id="]mpb*Ov4L.6WkODr)iPR"><field name="OP">OR</field>
                                    <value name="A"><block type="logic_compare" id="J,3ye{.d[EFS0:9z3d)q"><field name="OP">EQ</field>
                                        <value name="A"><block type="variables_get" id="~q9=iU:*{]V#J#K-_=5^"><field name="VAR">Klimaanlage</field></block></value> 
                                        <value name="B"><block type="text" id="5GDKS`O{_]B]k;}mY*Z~"><field name="TEXT">Klima aus</field></block></value></block></value> 
                                    <value name="B"><block type="logic_compare" id="y5X|m=/lqgku.bue#(,L"><field name="OP">EQ</field>
                                        <value name="A"><block type="variables_get" id="-gmW?34V`_)M+t7F{,R5"><field name="VAR">Klimaanlage</field></block></value> 
                                        <value name="B"></value></block></value></block></value></block></value> 
                            <statement name="DO0"><block type="control" id="?/WNJOfO/:lLo9g#N=5q"><mutation delay_input="false"></mutation>
                                <field name="OID">hm-rpc.0.BidCoS-RF.9.PRESS_SHORT</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="logic_boolean" id="nC8}.7SsG]bG4u_r?l7C"><field name="BOOL">TRUE</field></block></value> 
                                <next><block type="variables_set" id="z??u^sEs#)CY+q)MTsK)"><field name="VAR">Klimaanlage</field>
                                    <value name="VALUE"><block type="text" id="a!eRrys:TfND{g)KXu(1"><field name="TEXT">Klima an 20°</field></block></value> 
                                    <next><block type="debug" id="U%w.Sp}k=!Mhp7KM!JYO"><field name="Severity">log</field>
                                        <value name="TEXT"><shadow type="text" id="cpc,OUzBccic?Ldkv:ky"><field name="TEXT">Klima läuft</field></shadow></value></block></next></block></next></block></statement> 
                            <next><block type="comment" id=")~T4i5c?Tf#YQ|yFi_Sw"><field name="COMMENT">Klima ausschalten</field>
                                <next><block type="controls_if" id="L]!,y5hBwGBv|W/R3Y(y"><value name="IF0"><block type="logic_operation" id="whpLC^,mj4N2J2#n(IZ?" inline="false"><field name="OP">AND</field>
                                        <value name="A"><block type="logic_compare" id="2_FW*t;}Em].~64fFlHM"><field name="OP">EQ</field>
                                            <value name="A"><block type="variables_get" id="z7#-J5?NoO63txy-hE{D"><field name="VAR">Klimaanlage</field></block></value> 
                                            <value name="B"><block type="text" id="1E6oSELdr)Txz6z=O+[N"><field name="TEXT">Klima an 20°</field></block></value></block></value> 
                                        <value name="B"><block type="logic_operation" id="G=cKdG{*DLx,:?BS`aIz"><field name="OP">OR</field>
                                            <value name="A"><block type="logic_compare" id="j*((*OoS09X`F6/,t/vw"><field name="OP">EQ</field>
                                                <value name="A"><block type="variables_get" id="{MxyQjlb6=BG0?W@]N}5"><field name="VAR">Temperatur</field></block></value> 
                                                <value name="B"><block type="text" id="KG{;3EaOJ.4s{,q+5dzq"><field name="TEXT">angenehm</field></block></value></block></value> 
                                            <value name="B"><block type="logic_compare" id="Nr@iI#JR-d}HAty_TSeg"><field name="OP">EQ</field>
                                                <value name="A"><block type="variables_get" id="v4C6@ZxymG!L!K9T*!Hf"><field name="VAR">Temperatur</field></block></value> 
                                                <value name="B"><block type="text" id="b[wUp.G5si~WSVqpExJ)"><field name="TEXT">kühl</field></block></value></block></value></block></value></block></value> 
                                    <statement name="DO0"><block type="variables_set" id="KklN4ykwIm5l/5:{EIx("><field name="VAR">Klimaanlage</field>
                                        <value name="VALUE"><block type="text" id="MPmEc|%95*t_yn!9fFk+"><field name="TEXT">Klima Restlaufzeit</field></block></value> 
                                        <next><block type="timeouts_settimeout" id="=-oTruDZK*8./~A}3HxE"><field name="NAME">timeout</field>
                                            <field name="DELAY">120</field>
                                            <field name="UNIT">min</field>
                                            <statement name="STATEMENT"><block type="control" id="Ee?@_zLBoef07]q{W7La"><mutation delay_input="false"></mutation>
                                                <field name="OID">hm-rpc.0.BidCoS-RF.12.PRESS_SHORT</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"><block type="logic_boolean" id="YUgvqzTL2QJT.(;L`tDE"><field name="BOOL">TRUE</field></block></value> 
                                                <next><block type="variables_set" id="LH!JX5w.G{sx1TX[*zCa"><field name="VAR">Klimaanlage</field>
                                                    <value name="VALUE"><block type="text" id="txsJ4(Xs`-cEfLsN,_vJ"><field name="TEXT">Klima aus</field></block></value> 
                                                    <next><block type="debug" id="NKEHsLr{R-Z!YLt6iS[,"><field name="Severity">log</field>
                                                        <value name="TEXT"><shadow type="text" id="g3sDxB30^L|s=k_]94DB"><field name="TEXT">Klima läuft nicht mehr</field></shadow></value></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block></statement></block></next></block></next></block></xml> 
            

            Dazu fällt mir ein: Wenn man das und auch das Beschattungs Script das erste mal startet, und es z.B. gerade "Warm" ist, dann löst der trigger doch nicht aus, weil er die Schwelle ja nicht aktiv überschritten hat, korrekt? Wäre dann ggf. ein kleiner Nachteil gegenüber der Zeitgesteuerten Abfrage?

            Kleine Nebeninfo zur Klimaanlage: Ist eine Daikin Klimaanlage, welche sich eigentlich nur mit der Systemeigenen Fernbedienung ansteuern lässt. Die Brücke schlage ich hier üer ir.trans, ein kleiner Infrarot Miniserver der sich im Netzwerk befindet, dem ich vorher die Daikin Befehle beigebracht habe und nun kann ich per Homematic / CuxD http Befehl die Klimaanlage steuern 8-)

            1 Reply Last reply Reply Quote 0
            • rantanplan
              rantanplan last edited by Negalein

              Hallo smile

              Mir ist schon ganz schwindelig 😉

              So viele doppelte und teilweise widersprüchliche Bedingungen erschweren den Durchblick.

              Und alles in einem Blockly 😮

              Zum "aufdröseln" fange ich mal mit der Sonne an.

              Das nächste Beispiel kannst Du in ein neues Blockly importieren und z.B. "checkSonne" benennen.

              Brauchen wirst Du noch "checkWind", "checkTemperatur", "checkRegen"

              Schau Dir mal "checkSonne" an. Vielleicht bekommst Du ja die anderen alleine hin.

              Diesmal nur den Export.

              Bei Fragen…fragen.

               <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="iq)T|5XZ5a[grP|:#]ko" x="-412" y="-2063"><field name="COMMENT">Hier musst Du Deinen Datenpunkt einsetzen</field>
                  <next><block type="on_ext" id="X^pURd.J~{|Qy%!FAT:c"><mutation items="1"></mutation>
                      <field name="CONDITION">ne</field>
              
                      <value name="OID0"><shadow type="field_oid" id="Pzhtf4n4H6K8[tlkt]~1"><field name="oid">default</field></shadow> 
                        <block type="text" id="ll^6_zy.(b)W^Ni@IuF~"><field name="TEXT">Datenpunk Brightness</field></block></value> 
                      <statement name="STATEMENT"><block type="comment" id="wDSePIi}BB4`W7{k|OV_"><field name="COMMENT">Abfrage Sonne Vormittag</field>
                          <next><block type="controls_if" id="vp!,0i}:wu*OJ][nB8=."><value name="IF0"><block type="time_compare" id="6i6dO#/N`hGx8B-8;tH3"><mutation end_time="true"></mutation>
                                  <field name="OPTION">between</field>
                                  <field name="START_TIME">08:00</field>
                                  <field name="END_TIME">15:00</field></block></value> 
                              <statement name="DO0"><block type="controls_if" id="}^)vQcW(i0DQ?Ty{rMZB"><mutation elseif="1"></mutation>
                                  <value name="IF0"><block type="logic_compare" id="yHWuOq#S2@:qwcn(NCj("><field name="OP">GT</field>
                                      <value name="A"><block type="get_value" id="+{PQ.~sdV7,2TCisbUB@"><field name="ATTR">val</field>
                                          <field name="OID">hm-rpc.0.NEQ1100463.1.BRIGHTNESS</field></block></value> 
                                      <value name="B"><block type="text" id="%T}.Q8rVjc!/;,4mj+tn"><field name="TEXT">200</field></block></value></block></value> 
                                  <statement name="DO0"><block type="control" id="#X6xT+IU%qObrw^I:D7L"><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.0.Sonne vormittag</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="text" id="(I=U0!0Ils:27}I;-RqJ"><field name="TEXT">Sonne vormittag da</field></block></value> 
                                      <next><block type="debug" id="bG0I2XaGZ,4C^_?[Q!w!"><field name="Severity">log</field>
                                          <value name="TEXT"><shadow type="text" id="_e4F?`=/t9GoPJ4w_79_"><field name="TEXT">***Sonne vormittag da</field></shadow></value></block></next></block></statement> 
                                  <value name="IF1"><block type="logic_compare" id="WvG%rNBkDFZAdnkrd46m"><field name="OP">LT</field>
                                      <value name="A"><block type="get_value" id="6I?G^y`_@09`)_{`/AVw"><field name="ATTR">val</field>
                                          <field name="OID">hm-rpc.0.NEQ1100463.1.BRIGHTNESS</field></block></value> 
                                      <value name="B"><block type="text" id="ZI|k3w-PzfO3]~=WOltK"><field name="TEXT">200</field></block></value></block></value> 
                                  <statement name="DO1"><block type="control" id="}l_QoYUoMU(s{9m.7Z2T"><mutation delay_input="false"></mutation>
                                      <field name="OID">javascript.0.Sonne nachmittag</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE"><block type="text" id="hr.PTQOz)OyqSHpnk8Jx"><field name="TEXT">Sonne vormittag weg</field></block></value> 
                                      <next><block type="debug" id="`N%wGh+cZ+U3x;6EK)0D"><field name="Severity">log</field>
                                          <value name="TEXT"><shadow type="text" id="CS+;:.SD?}CxMf**Xoy9"><field name="TEXT">***Sonne vormittag weg</field></shadow></value></block></next></block></statement></block></statement> 
                              <next><block type="comment" id="d)eKPvYD=b{i?(FD*R}X"><field name="COMMENT">Abfrage Sonne Nachmittag</field>
                                  <next><block type="comment" id="EpTYEa;+b;vi2p`Mo]kE"><field name="COMMENT">Zeit >15:00 !!!!! s. Bedingung vorher!!!</field>
                                      <next><block type="controls_if" id="fySpyS~y%2bWw|DnDHaR"><value name="IF0"><block type="time_compare" id="=nyP^-OQbA*-Z5fe1AU3"><mutation end_time="true"></mutation>
                                              <field name="OPTION">between</field>
                                              <field name="START_TIME">15:01</field>
                                              <field name="END_TIME">22:00</field></block></value> 
                                          <statement name="DO0"><block type="controls_if" id="ei1,8806M]^hHj_tgIoO"><mutation elseif="1"></mutation>
                                              <value name="IF0"><block type="logic_compare" id="d3bMmntK18Wyn;?twFeR"><field name="OP">GT</field>
                                                  <value name="A"><block type="get_value" id="BE~.aZoA0%4?(6X_#Q/*"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.NEQ1100463.1.BRIGHTNESS</field></block></value> 
                                                  <value name="B"><block type="text" id="u[)MQ6*Kt=GcfBOfs+/c"><field name="TEXT">205</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="%*,.g]Dm*_f;Jt3w+-6X"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Sonne nachmittag</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="text" id="@cAw:.T1GGLW.o;CFx0S"><field name="TEXT">Sonne nachmittag da</field></block></value> 
                                                  <next><block type="debug" id="sBh={G..8CZX@e%1A?6c"><field name="Severity">log</field>
                                                      <value name="TEXT"><shadow type="text" id="ND@9!1JgC:W0Fg!=_Qt^"><field name="TEXT">***Sonne Nachmittag da</field></shadow></value></block></next></block></statement> 
                                              <value name="IF1"><block type="logic_compare" id="5GlygkH`O[xilq0I-F!D"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="}yiCbDnHf@[tTW9;Z-/Q"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.NEQ1100463.1.BRIGHTNESS</field></block></value> 
                                                  <value name="B"><block type="text" id="^R9wf{r9J{PN(pXC812="><field name="TEXT">205</field></block></value></block></value> 
                                              <statement name="DO1"><block type="control" id="g8[Ye^d^8Ri]BljN6vU~"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Sonne nachmittag</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="text" id="LMx=CYq)))0b.*@m1,D!"><field name="TEXT">Sonne nachmittag weg</field></block></value> 
                                                  <next><block type="debug" id="HthN5,l`oW[:/rX-fuan"><field name="Severity">log</field>
                                                      <value name="TEXT"><shadow type="text" id="`k5[~_m@;9ZtJzu!)ptH"><field name="TEXT">***Sonne Nachmittag weg</field></shadow></value></block></next></block></statement></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml> 
              

              Grüße

              1 Reply Last reply Reply Quote -1
              • rantanplan
                rantanplan last edited by

                @smile:

                Klima Einschalten NICHT nach Zeitsteuerung sondern sobald sich eine Variable ändert. `
                Hi

                Du bist ja wieder bei lokalen Variablen und einem Blockly :?

                Das wird so nicht funktionieren!!!

                Lokale Variablen lassen sich NICHT triggern!

                Wenn Du den ersten Teil ausgeführt hast, hast Du doch eine Globale Variable "Temperatur".

                Grüße

                1 Reply Last reply Reply Quote 0
                • smile
                  smile last edited by

                  Langsam wird n Schuh draus 😉

                  Was ich heute dazu gelernt habe: Es gibt Lokale Variablen (Quasi in ein und demselben Script) und Globale Variablen, welche ich dann unter den "Objekten" finden kann.

                  Das mag für die meisten von euch so banal und dämlich klingen, aber vor 2 Wochen wusste ich noch nichtmal was Variablen sind….. :roll:

                  Dementsprechend habe ich mich nun rangemacht und erstmal mit dem einfacheren Klima Script angefangen und nach der Anleitung von rantaplan das Klimascript umgestellt:

                  Temperaturabfrage mit globalen Variablen:
                  3472_klima_abfrage_temperatur_neu.png

                  Daraufhin Ausführen der Klimaanlage:
                  3472_klima_ausf_hren-neu.png

                  Da sind zwar auch wieder lokale Variablen für den aktuellen Status Klimaanlage mit dabei, aber das sollte erstmal nicht stören. Werd ich ggf. später noch ändern.

                  Nichts desto trotz bleibt für mich für dieses Script als auch für das Beschattungs Script die Frage: Ohne "Timeouts" und zweitmaliger Abfrage werde ich das Problem haben dass zu viel hin und hergeswitched wird, oder?

                  Beisiel: Die Helligkeitsschwelle liegt bei 205. Nun ist es hell und die Wetterstation meldet den Wert 206, –> Variable "Sonne da" wird gesetzt, Beschattung fährt aus. 2 Min später (oder wie auch immer das Sendeintervall der HM Wetterstation ist), liegt der Helligkeitswert zufällig bei 204. Die Beschattung würde dann wieder einfahren.

                  Wenn es z.B. wolkig ist mit Abwechselnd Sonne / Wolken, dann würden entsprechend viele Trigger gesetzt werden und die Beschattung fährt ständig ein und aus.

                  Dies hatte ich vorher mit der "Zeitplan" abfrage etwas unter kontrolle, indem ich einfach gesagt habe er sollte z.B. nur alle 4 Minuten statt 1 Minute abfragen.

                  Bzw. mit Timeout: Wenn der Trigger gesetzt wird, soll er nochmal 4 Minuten warten und dann prüfen ob die Variable immer noch Wahr ist, und erst dann die Beschattung ausfahren.

                  Also wäre jetzt ein Timeout die passende Wahl oder?

                  1 Reply Last reply Reply Quote 0
                  • rantanplan
                    rantanplan last edited by

                    @smile:

                    Langsam wird n Schuh draus 😉 `
                    Freut mich
                    @smile:

                    Was ich heute dazu gelernt habe: Es gibt Lokale Variablen (Quasi in ein und demselben Script) und Globale Variablen, welche ich dann unter den "Objekten" finden kann. `
                    Und die globalen Variablen kann man mit VIS darstellen/steuern!
                    @smile:

                    Das mag für die meisten von euch so banal und dämlich klingen, aber vor 2 Wochen wusste ich noch nichtmal was Variablen sind….. :roll: `

                    Dafür hast Du aber mit einem tollkühen Projekt angefangen 😉

                    @smile:

                    Da sind zwar auch wieder lokale Variablen für den aktuellen Status Klimaanlage mit dabei, aber das sollte erstmal nicht stören. Werd ich ggf. später noch ändern. `
                    Lokale Variablen haben durch aus einen Sinn. Aber eben "nur" als lokale "Hilfsvariablen"

                    @smile:

                    Nichts desto trotz bleibt für mich für dieses Script als auch für das Beschattungs Script die Frage: Ohne "Timeouts" und zweitmaliger Abfrage werde ich das Problem haben dass zu viel hin und hergeswitched wird, oder?

                    Beisiel: Die Helligkeitsschwelle liegt bei 205. Nun ist es hell und die Wetterstation meldet den Wert 206, –> Variable "Sonne da" wird gesetzt, Beschattung fährt aus. 2 Min später (oder wie auch immer das Sendeintervall der HM Wetterstation ist), liegt der Helligkeitswert zufällig bei 204. Die Beschattung würde dann wieder einfahren.

                    Wenn es z.B. wolkig ist mit Abwechselnd Sonne / Wolken, dann würden entsprechend viele Trigger gesetzt werden und die Beschattung fährt ständig ein und aus.

                    Dies hatte ich vorher mit der "Zeitplan" abfrage etwas unter kontrolle, indem ich einfach gesagt habe er sollte z.B. nur alle 4 Minuten statt 1 Minute abfragen.

                    Bzw. mit Timeout: Wenn der Trigger gesetzt wird, soll er nochmal 4 Minuten warten und dann prüfen ob die Variable immer noch Wahr ist, und erst dann die Beschattung ausfahren.

                    Also wäre jetzt ein Timeout die passende Wahl oder? `
                    Bei schnell wechselnen Bedingungen ist eine Automation, von bewegenden Teilen, recht schwierig.

                    Selbst mit Timern muss das nicht immer klappen. Sonne und Wolken haben nun mal keinen Rythmus.

                    Da muss man sich überlegen, ob bei wechselhaften Wetter eine Automation Sinn macht.

                    Ich würde mir einen globale Variable "Beschattung", vom Typ Logikwert anlegen.

                    Dies ist der nächste Variablentyp, den Du unbedingt lernen solltest.

                    Diese Variablen kennen nur den Zustand wahr/unwahr. (Wie ein Lichtschalter an=wahr aus=unwahr)

                    Bei wechselhaften Wetter würde ich "Beschattung" auf "unwahr" setzten.

                    Dann im Beschattungs-Blockly als erstes die Bedingung "Falls Beschattung = wahr… mache...."

                    Nochmal zu den Logik-Variablen.

                    Du benutzt immer Text-Vergleiche. Das ist die schlechteste Art Vergleiche zu machen.

                    1. Textvergleiche sind "langsam" und verbrauchen Rechenleistung

                    2. Fehleranfällig!!!!! Texte werden 1zu1 verglichen. Mit Gross-/Kleinscheibung.

                    Auch ein versehendlich angefügtes Leerzeichen führt zu Fehlern die man stundenlang suchen kann.

                    Du vergleichst z.B.

                    Sonne vormittag = "Sonne vormittag da"

                    oder

                    Sonne vormittag = "Sonne vormittag weg"

                    Wie Du siehst sind das ja nur 2 Zustände!

                    Entweder "da" oder "weg" -> "wahr" oder "unwahr"

                    Variable "Sonne vormittag" als Logikwert spart Tipparbeit und macht die Sache fehlerunanfälliger.

                    Falls "Sonne vormittag" = "wahr" mache.....

                    Für "wahr"/"unwahr" gibt es einen extra Baustein unter "Logik".

                    Du siehst es gibt noch viel zu tun 😉

                    Grüße

                    1 Reply Last reply Reply Quote 0
                    • smile
                      smile last edited by

                      @rantanplan:

                      Und die globalen Variablen kann man mit VIS darstellen/steuern! `
                      DAS wurde mir dann auch klar als die Variablen dann unter den Objekten auftauchten, was dem ganzen natürlich noch mehr Sinnhaftigkeit gibt.

                      Mit VIS werde ich starten wenn die Großzahl der Scripte rund laufen.

                      @rantanplan:

                      Bei schnell wechselnen Bedingungen ist eine Automation, von bewegenden Teilen, recht schwierig.

                      Selbst mit Timern muss das nicht immer klappen. Sonne und Wolken haben nun mal keinen Rythmus.

                      Da muss man sich überlegen, ob bei wechselhaften Wetter eine Automation Sinn macht. `
                      Hmm ich kann den Gedankengang mit der gobalen Beschattungsvariable nachvollziehen, ABER für mich macht die Automatik gerade auch bei wechselhaften Wetter Sinn.

                      Es bringt mir nichts wenn es ein heißer Sommertag ist, aber zwischendurch kurz Wolken oder kleine Schauer, und du Beschattungs-Automatik dann auf "unwahr" steht.

                      Ich versuche das mal mit "Verzögerung" oder mit der Timout Funktion.

                      Dazu eine Frage: Was ist eigentlich genau der Unterschied zwischen diesen beiden:

                      3472_beschattung_timeouts.png

                      Also dem Arbeiten mit Timeouts und dem Arbeiten mit Verzögerungen?

                      Was bewirkt "löschen falls läuft" bei der Verzögerung?

                      Ich werde den Test mal wagen und gucken wie sich das mit wechselhaftem Wetter verhält.

                      Mittwoch mache ich wohl mal wieder einen reinen io.broker Tag… 😄

                      @rantanplan:

                      Variable "Sonne vormittag" als Logikwert spart Tipparbeit und macht die Sache fehlerunanfälliger.

                      Falls "Sonne vormittag" = "wahr" mache….. `
                      Logisch… Macht auf jeden Fall Sinn sofern man nur 2 Zustände hat, das werd ich auch anpassen.

                      nochmals Danke für die viele super Hilfe. Ich hoffe ich kann irgendwann auch gut beitragen zu diversen Themen. 🙂

                      1 Reply Last reply Reply Quote 0
                      • smile
                        smile last edited by Negalein

                        So, ich habe das Blockly jetzt mal Stück für Stück umgesetzt.

                        Das mit den Systemvariablen funktioniert sehr gut.

                        Aber wie erwartet Springt bei wechselhafter Sonne das Rollo ständig hin und her.

                        Deshalb habe ich jetzt jeweils einen Timout eingefügt, der nach einer gewissen Zeit nochmal prüft, ob immer noch alle Bedingungen wahr sind, und erst dann die Rolladen fährt.

                        3472_rollo_automatik_mit_timeouts.png

                        Allerdings bekomme ich die Fehlermeldung:

                        17:19:51.877 [error] javascript.0 script.js.Beschattung_Auto_NEU compile failed: SyntaxError: Unexpected identifier

                        Dies ist das aktuelle Blockly:

                         <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="IR94DiuG7v6~=Zg2dVp6" x="-862" y="4413"><field name="COMMENT">Variablen initialisieren</field>
                            <next><block type="procedures_callnoreturn" id="iW:+%8blE]XvSDS~rIw5"><mutation name="InitVariablen"></mutation>
                                <next><block type="comment" id="_:tJ@Ut#F5ws5(QdD#18"><field name="COMMENT">Variablen überwachen</field>
                                    <next><block type="comment" id="Mlyo7L0-(5%m9dgr4!hg"><field name="COMMENT">Wenn sich eine ändert, startet Trigger</field>
                                        <next><block type="on_ext" id="QiHPKverivP=8WkSGytV"><mutation items="5"></mutation>
                                            <field name="CONDITION">ne</field>
                        
                                            <value name="OID0"><shadow type="field_oid" id="+,BC{lp_F!LRvdS~JX5?"><field name="oid">javascript.0.Sonne vormittag</field></shadow></value> 
                                            <value name="OID1"><shadow type="field_oid" id="Yp8-^gw:4dzjsmj2:E|X"><field name="oid">javascript.0.Sonne nachmittag</field></shadow></value> 
                                            <value name="OID2"><shadow type="field_oid" id="_L%Q;_E;przz^IB8H7ku"><field name="oid">javascript.0.Wind</field></shadow></value> 
                                            <value name="OID3"><shadow type="field_oid" id="4%FQBEBoKZscIw(xCfvK"><field name="oid">javascript.0.Regen</field></shadow></value> 
                                            <value name="OID4"><shadow type="field_oid" id="(YD{}gWxz15@1erb8dYW"><field name="oid">javascript.0.Temperatur</field></shadow></value> 
                                            <statement name="STATEMENT"><block type="comment" id="KBTszICK@=[wDZb5;*~,"><field name="COMMENT">Rollo Automatik Vormittags</field>
                                                <next><block type="comment" id="8ad`[k`vChnAS/G:n55C"><field name="COMMENT">Rollo runter</field>
                                                    <next><block type="controls_if" id="PE7b{%TNQd*9zP!jf^Vh"><value name="IF0"><block type="time_compare" id="wiw`_@oW7L;@Lqp}_Bbk"><mutation end_time="true"></mutation>
                                                            <field name="OPTION">between</field>
                                                            <field name="START_TIME">12:45</field>
                                                            <field name="END_TIME">15:00</field></block></value> 
                                                        <statement name="DO0"><block type="controls_if" id="-qm_GxNYec;/oVqc#/FG"><mutation elseif="1"></mutation>
                                                            <value name="IF0"><block type="logic_operation" id="3MvSq_rbvziv0hO!pv4X" inline="false"><field name="OP">AND</field>
                                                                <value name="A"><block type="logic_compare" id="(4xyzp46rX#2!bau(%nV"><field name="OP">EQ</field>
                                                                    <value name="A"><block type="get_value" id="xXd].0z/eJi_OfvmDFxA"><field name="ATTR">val</field>
                                                                        <field name="OID">javascript.0.Sonne vormittag</field></block></value> 
                                                                    <value name="B"><block type="logic_boolean" id="yM7D*3,6*!%NyTfs.y0#"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                <value name="B"><block type="logic_operation" id="S};QeEeRv)|[*|0@2)c8" inline="false"><field name="OP">AND</field>
                                                                    <value name="A"><block type="logic_compare" id="vu2.^T;[R(_T6hOXlr_."><field name="OP">EQ</field>
                                                                        <value name="A"><block type="get_value" id="~F:Z},!7~ykNJwrOkbGO"><field name="ATTR">val</field>
                                                                            <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                        <value name="B"><block type="logic_boolean" id="aM_V+TG|fstf69LZO525"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                    <value name="B"><block type="logic_operation" id="_=4D??A;0FI8ra-O(0F?" inline="false"><field name="OP">AND</field>
                                                                        <value name="A"><block type="logic_compare" id="[PHCg{Ie(#.YcDNAWXmd"><field name="OP">EQ</field>
                                                                            <value name="A"><block type="get_value" id="8{ERfH|U})t=s3IU#^13"><field name="ATTR">val</field>
                                                                                <field name="OID">javascript.0.Wind</field></block></value> 
                                                                            <value name="B"><block type="text" id="um}}z7,tc/4!Hi@tah*5"><field name="TEXT">Kein Wind</field></block></value></block></value> 
                                                                        <value name="B"><block type="logic_compare" id="LMn!w9FZvoVEuwl%D6mY"><field name="OP">EQ</field>
                                                                            <value name="A"><block type="get_value" id="2%;WPqm*uJ|_WvU=(n|D"><field name="ATTR">val</field>
                                                                                <field name="OID">javascript.0.Regen</field></block></value> 
                                                                            <value name="B"><block type="logic_boolean" id="u,L[}8Jtx4Cc-;-ZZSdj"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value> 
                                                            <statement name="DO0"><block type="timeouts_cleartimeout" id="~}{/Ke;zWRs*|29FD;^`"><field name="NAME">rollo vormittag hoch</field>
                                                                <next><block type="timeouts_settimeout" id="T}#8)DPS~6z/0K{(zJuZ"><field name="NAME">timeout Rollo vormittag runter</field>
                                                                    <field name="DELAY">2</field>
                                                                    <field name="UNIT">min</field>
                                                                    <statement name="STATEMENT"><block type="controls_if" id="q/)rtF35i@Xv2F=;]Iqj"><value name="IF0"><block type="logic_operation" id="*X`dQPE`f%%-B3@k+DJ." inline="false"><field name="OP">AND</field>
                                                                            <value name="A"><block type="logic_compare" id="otcq/KN#l(cJsZRfdh]%"><field name="OP">EQ</field>
                                                                                <value name="A"><block type="get_value" id="j#I:xz+vB,Sa=n].e[w."><field name="ATTR">val</field>
                                                                                    <field name="OID">javascript.0.Sonne vormittag</field></block></value> 
                                                                                <value name="B"><block type="logic_boolean" id="Qq4l_|`rdoTiycyoIa-8"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                            <value name="B"><block type="logic_operation" id="!Xz/Tv,S7BXPcQD5sYz}" inline="false"><field name="OP">AND</field>
                                                                                <value name="A"><block type="logic_compare" id="*7z[Z|;k.%cGkc8=9__f"><field name="OP">EQ</field>
                                                                                    <value name="A"><block type="get_value" id="/FoDQ*IQR(F~C(3klDhH"><field name="ATTR">val</field>
                                                                                        <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                                    <value name="B"><block type="logic_boolean" id="?I+NJ-hkSzhqAubTzKpB"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                                <value name="B"><block type="logic_operation" id="0XTlJZv=A:@.RUX`+xK," inline="false"><field name="OP">AND</field>
                                                                                    <value name="A"><block type="logic_compare" id="!9RHUQ?0cx(aAzKed=^b"><field name="OP">EQ</field>
                                                                                        <value name="A"><block type="get_value" id="m#+kbM5c:NLIU?6FVnzO"><field name="ATTR">val</field>
                                                                                            <field name="OID">javascript.0.Wind</field></block></value> 
                                                                                        <value name="B"><block type="text" id="j]Fp^P|OKPUNJ}i?aWiw"><field name="TEXT">Kein Wind</field></block></value></block></value> 
                                                                                    <value name="B"><block type="logic_compare" id="(zY_O^yD_EJH6.HGzMfC"><field name="OP">EQ</field>
                                                                                        <value name="A"><block type="get_value" id="OiGGRpAy}P1u2^0g3ohK"><field name="ATTR">val</field>
                                                                                            <field name="OID">javascript.0.Regen</field></block></value> 
                                                                                        <value name="B"><block type="logic_boolean" id="s?V/;Ams?GK#5Ak!GaN0"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value> 
                                                                        <statement name="DO0"><block type="controls_if" id="2C_;cBna5MA0KX:d7W[Z"><value name="IF0"><block type="logic_compare" id="o0E{x9{3_F5Pu7]2)Ny`"><field name="OP">GT</field>
                                                                                <value name="A"><block type="get_value" id="O*bY@=(A9JVKR5?_b#zt"><field name="ATTR">val</field>
                                                                                    <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                                                                <value name="B"><block type="text" id="bAd6iS3:QTbdXKZ(Gm4@"><field name="TEXT">2</field></block></value></block></value> 
                                                                            <statement name="DO0"><block type="control" id="E0FqB.vmqN)0oxR3i8Tl"><mutation delay_input="false"></mutation>
                                                                                <field name="OID">hm-rpc.0.BidCoS-RF.15.PRESS_SHORT</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE"><block type="logic_boolean" id="*o*giSZH_/A33/dtxt1M"><field name="BOOL">TRUE</field></block></value> 
                                                                                <next><block type="debug" id="_/q;4w4IIxw)vN12fc,0"><field name="Severity">log</field>
                                                                                    <value name="TEXT"><shadow type="text" id="?Hj,KRuyA#BUy`)g(pDz"><field name="TEXT">***Rollo vormittag runter</field></shadow></value></block></next></block></statement> 
                                                                            <next><block type="controls_if" id="da_(t)1H+*[|uObdu^7E"><value name="IF0"><block type="logic_compare" id="@1{B?Sr;8on}:0~Z/bv}"><field name="OP">GT</field>
                                                                                    <value name="A"><block type="get_value" id="92TuOd8vS[yojxAkXsdz"><field name="ATTR">val</field>
                                                                                        <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                                                    <value name="B"><block type="text" id=":Ky@O(uLcK*h5cE|MRl4"><field name="TEXT">2</field></block></value></block></value> 
                                                                                <statement name="DO0"><block type="control" id="OhJ*jMYtH]-,vuf7J0Nj"><mutation delay_input="false"></mutation>
                                                                                    <field name="OID">hm-rpc.0.BidCoS-RF.17.PRESS_SHORT</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE"><block type="logic_boolean" id="T58k4CuSjyRb#}@QqaZN"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></statement></block></statement></block></next></block></statement> 
                                                            <value name="IF1"><block type="logic_operation" id="vJ5:~jZO:NC(Pd96O(;G" inline="false"><field name="OP">OR</field>
                                                                <value name="A"><block type="logic_compare" id="Ad!8`?NG.(OL.g_odN~o"><field name="OP">EQ</field>
                                                                    <value name="A"><block type="get_value" id="S7/gkd+O%sL!3genk)cI"><field name="ATTR">val</field>
                                                                        <field name="OID">javascript.0.Sonne vormittag</field></block></value> 
                                                                    <value name="B"><block type="logic_boolean" id="cV7C3CPU?!!gNIn%QV9z"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                                <value name="B"><block type="logic_compare" id="G2+kr0haz~Ox4Vo!EM)W"><field name="OP">EQ</field>
                                                                    <value name="A"><block type="get_value" id="5io?01yhTDr)?mdJJ_F2"><field name="ATTR">val</field>
                                                                        <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                    <value name="B"><block type="logic_boolean" id="2^[cXK3WpM)m8XR{oyk("><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                                            <statement name="DO1"><block type="timeouts_cleartimeout" id="Mjl{H_9sTe[P(_7,VBnN"><field name="NAME">timeout Rollo vormittag runter</field>
                                                                <next><block type="timeouts_settimeout" id="?0iD9}*T9:9/%vN%)!r]"><field name="NAME">timeout rollo vormittag hoch</field>
                                                                    <field name="DELAY">5</field>
                                                                    <field name="UNIT">min</field>
                                                                    <statement name="STATEMENT"><block type="comment" id="oaDOVEV9`{g3RKT)aHQ2"><field name="COMMENT">Rollo vormittag hoch</field>
                                                                        <next><block type="controls_if" id="FcNEyO_Z11Ce7C=:!(}S"><value name="IF0"><block type="logic_operation" id="zS}/%ym4_1Z*Hl7P_5JW" inline="false"><field name="OP">AND</field>
                                                                                <value name="A"><block type="logic_compare" id="tOT:^|;vdkZ9v/{*1/Kr"><field name="OP">EQ</field>
                                                                                    <value name="A"><block type="get_value" id="[D}eHU4Yahb-p,ar^5F2"><field name="ATTR">val</field>
                                                                                        <field name="OID">javascript.0.Sonne vormittag</field></block></value> 
                                                                                    <value name="B"><block type="logic_boolean" id="VmlrqRhpWk~p{Y^#/?r@"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                                                <value name="B"><block type="logic_compare" id="f*}_1;3,:iqoO[l.3?}Q"><field name="OP">EQ</field>
                                                                                    <value name="A"><block type="get_value" id=".(P=.~ll??lL@o~hw=dv"><field name="ATTR">val</field>
                                                                                        <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                                    <value name="B"><block type="logic_boolean" id="EZ/ve5Y2|x^;X#NN}lES"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                                                            <statement name="DO0"><block type="controls_if" id="Ikr|]3GS7cUr1l-!`~}`"><value name="IF0"><block type="logic_compare" id="~6U1U.`obRseMnyazi!n"><field name="OP">LT</field>
                                                                                    <value name="A"><block type="get_value" id="Z3^aVRk+QqhVuP4k0TZn"><field name="ATTR">val</field>
                                                                                        <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                                                                    <value name="B"><block type="text" id="n,!VeekwVG~sM94[XNQN"><field name="TEXT">99</field></block></value></block></value> 
                                                                                <statement name="DO0"><block type="control" id="|s@Eet(_I#Q9o(yH}a1-"><mutation delay_input="false"></mutation>
                                                                                    <field name="OID">hm-rpc.0.BidCoS-RF.14.PRESS_SHORT</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE"><block type="logic_boolean" id=";I`bgCeW)=yB0|zr/3G,"><field name="BOOL">TRUE</field></block></value> 
                                                                                    <next><block type="debug" id="aW#DciwZNc9w%K}AjQ]U"><field name="Severity">log</field>
                                                                                        <value name="TEXT"><shadow type="text" id="Tg8;)d7uK2wltZucmF[l"><field name="TEXT">***Rollo vormittag hoch</field></shadow></value></block></next></block></statement> 
                                                                                <next><block type="controls_if" id="Zg^9xF`u;g67wy8/U@To"><value name="IF0"><block type="logic_compare" id="!Ar%r9;J+0}x)E5}ZE`Y"><field name="OP">LT</field>
                                                                                        <value name="A"><block type="get_value" id="-[3W?T{(ij8b`9-5OQrn"><field name="ATTR">val</field>
                                                                                            <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                                                        <value name="B"><block type="text" id="T@LFM75gL}gt3-LjhRl,"><field name="TEXT">99</field></block></value></block></value> 
                                                                                    <statement name="DO0"><block type="control" id="Xzb5[el97QU~kgep1wCC"><mutation delay_input="false"></mutation>
                                                                                        <field name="OID">hm-rpc.0.BidCoS-RF.16.PRESS_SHORT</field>
                                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                                        <value name="VALUE"><block type="logic_boolean" id="(V5s4MZvm7i;rUo#W{Zd"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></statement></block></next></block></statement></block></next></block></statement></block></statement> 
                                                        <next><block type="comment" id="WebbG)%):f^o3IOrXx9k"><field name="COMMENT">Rollo Automatik Nachmittags</field>
                                                            <next><block type="comment" id="*v7W|OD.Y(0IB%Uz2N0O"><field name="COMMENT">Rollo runter</field>
                                                                <next><block type="controls_if" id="`1r57@w,vq.]_)1URYw{"><value name="IF0"><block type="time_compare" id="mv#=V=^xD_3#5K7@0,;#"><mutation end_time="true"></mutation>
                                                                        <field name="OPTION">between</field>
                                                                        <field name="START_TIME">15:01</field>
                                                                        <field name="END_TIME">22:00</field></block></value> 
                                                                    <statement name="DO0"><block type="controls_if" id="06]icFPv.|4I]5RZFVxK"><mutation elseif="1"></mutation>
                                                                        <value name="IF0"><block type="logic_operation" id="%JLXvkH!H]F!S/wjx~wC" inline="false"><field name="OP">AND</field>
                                                                            <value name="A"><block type="logic_compare" id="Bb;9]KvdUlEyzxrIXb1:"><field name="OP">EQ</field>
                                                                                <value name="A"><block type="get_value" id="vnK_E/VE]9[ca}v28HKz"><field name="ATTR">val</field>
                                                                                    <field name="OID">javascript.0.Sonne nachmittag</field></block></value> 
                                                                                <value name="B"><block type="logic_boolean" id="F@Y#j%Mie~w7nL=F1i|!"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                            <value name="B"><block type="logic_operation" id="EuMu#c3~{hb}Qf^5C~dM" inline="false"><field name="OP">AND</field>
                                                                                <value name="A"><block type="logic_compare" id="=M`hZ/bd^,dTzI.C;~77"><field name="OP">EQ</field>
                                                                                    <value name="A"><block type="get_value" id="9WHeiTYXI:.5O0F,y4vH"><field name="ATTR">val</field>
                                                                                        <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                                    <value name="B"><block type="logic_boolean" id="@=TAutx,+7j3#;Z#m#~D"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                                <value name="B"><block type="logic_operation" id="F]]pQKq8!;^N!RS|q-DD" inline="false"><field name="OP">AND</field>
                                                                                    <value name="A"><block type="logic_compare" id="*7_=PW:A3NV[19A61SQd"><field name="OP">EQ</field>
                                                                                        <value name="A"><block type="get_value" id="lOI6siE#eqgO^G;6LOTS"><field name="ATTR">val</field>
                                                                                            <field name="OID">javascript.0.Wind</field></block></value> 
                                                                                        <value name="B"><block type="text" id="2W0SO-0/%;;1tj_g*J(~"><field name="TEXT">Kein Wind</field></block></value></block></value> 
                                                                                    <value name="B"><block type="logic_compare" id="Xu]tK/#?vK+Q~#R+Jc@2"><field name="OP">EQ</field>
                                                                                        <value name="A"><block type="get_value" id="cg/u.?5ei[TT7,abYD2m"><field name="ATTR">val</field>
                                                                                            <field name="OID">javascript.0.Regen</field></block></value> 
                                                                                        <value name="B"><block type="logic_boolean" id="Mr*(#Lx14PQ`YS2aWN,="><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value> 
                                                                        <statement name="DO0"><block type="timeouts_cleartimeout" id="X5u-BUdw8MX^)SUh9F{7"><field name="NAME">Rollo nachmittag hoch</field>
                                                                            <next><block type="timeouts_settimeout" id="1^)pOzA#RdD9/VQ!Soh6"><field name="NAME">Rollo nachmittag runter</field>
                                                                                <field name="DELAY">2</field>
                                                                                <field name="UNIT">min</field>
                                                                                <statement name="STATEMENT"><block type="controls_if" id="Lx3s/gzfzb;qB!{GM[gY"><value name="IF0"><block type="logic_operation" id=".eB^#@yULPVpr}R`Dm|t" inline="false"><field name="OP">AND</field>
                                                                                        <value name="A"><block type="logic_compare" id="}gX_z*%m4c0xn]7,Vy*x"><field name="OP">EQ</field>
                                                                                            <value name="A"><block type="get_value" id="z]F5:Fc#=tFf21@3z,J?"><field name="ATTR">val</field>
                                                                                                <field name="OID">javascript.0.Sonne nachmittag</field></block></value> 
                                                                                            <value name="B"><block type="logic_boolean" id="88~~+=HtNg4esSgwsda,"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                                        <value name="B"><block type="logic_operation" id="~qp}s)_QK@sa~iXf(yZQ" inline="false"><field name="OP">AND</field>
                                                                                            <value name="A"><block type="logic_compare" id="=hBREHB0KFI,)e`~BCpC"><field name="OP">EQ</field>
                                                                                                <value name="A"><block type="get_value" id="~mPKvt-7Dhbk#UY7`{lK"><field name="ATTR">val</field>
                                                                                                    <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                                                <value name="B"><block type="logic_boolean" id="s%3-knhlS-x_{uYNS_16"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                                                            <value name="B"><block type="logic_operation" id="VPQ7XoUWt5#0ryH4eeFr" inline="false"><field name="OP">AND</field>
                                                                                                <value name="A"><block type="logic_compare" id="EdGc+P0x@R)ff[o?NQx5"><field name="OP">EQ</field>
                                                                                                    <value name="A"><block type="get_value" id=".HV4ZH0m-cr:g_%6o`5T"><field name="ATTR">val</field>
                                                                                                        <field name="OID">javascript.0.Wind</field></block></value> 
                                                                                                    <value name="B"><block type="text" id="{%X]2BeEbcHR[6K2QTfM"><field name="TEXT">Kein Wind</field></block></value></block></value> 
                                                                                                <value name="B"><block type="logic_compare" id="s3=q2q{xt4ZEO0Psl^(!"><field name="OP">EQ</field>
                                                                                                    <value name="A"><block type="get_value" id="[hoXpLD;!X}V/20:a2+/"><field name="ATTR">val</field>
                                                                                                        <field name="OID">javascript.0.Regen</field></block></value> 
                                                                                                    <value name="B"><block type="logic_boolean" id="e6X+9VfXH@e@F`dWHE=C"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value></block></value> 
                                                                                    <statement name="DO0"><block type="controls_if" id="cmE{`w9X:d6z~U(;h)q2"><value name="IF0"><block type="logic_compare" id="}=t1L@V75YROUx76UtJI"><field name="OP">GT</field>
                                                                                            <value name="A"><block type="get_value" id="(-6;[Tvq`yFSRfRQ)fl}"><field name="ATTR">val</field>
                                                                                                <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                                                                            <value name="B"><block type="text" id="e6IT6bR~(kd2lU2kVwxg"><field name="TEXT">2</field></block></value></block></value> 
                                                                                        <statement name="DO0"><block type="control" id="rK5dtkmDK*?o6+RNY!m`"><mutation delay_input="false"></mutation>
                                                                                            <field name="OID">hm-rpc.0.BidCoS-RF.15.PRESS_SHORT</field>
                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                            <value name="VALUE"><block type="logic_boolean" id="DB6`gmw]VEd;qu(#2Q6u"><field name="BOOL">TRUE</field></block></value> 
                                                                                            <next><block type="debug" id="fL%g,ko,Dt)KCSec1Mxs"><field name="Severity">log</field>
                                                                                                <value name="TEXT"><shadow type="text" id="9NmAa%Ys0-|_#,l3n?{d"><field name="TEXT">Rollo Nachmittag runter</field></shadow></value></block></next></block></statement> 
                                                                                        <next><block type="controls_if" id="=(kBQkiVxmc{IK@/BnN["><value name="IF0"><block type="logic_compare" id="HW^lkc(tnxE9sXz3el7H"><field name="OP">GT</field>
                                                                                                <value name="A"><block type="get_value" id="F(VWL|VR}uTz}AH-KkJR"><field name="ATTR">val</field>
                                                                                                    <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                                                                <value name="B"><block type="text" id=";I?@e#;0`~G,k:C2l/fn"><field name="TEXT">2</field></block></value></block></value> 
                                                                                            <statement name="DO0"><block type="control" id="s9V*Poyqeda}hCDiq8Rg"><mutation delay_input="false"></mutation>
                                                                                                <field name="OID">hm-rpc.0.BidCoS-RF.17.PRESS_SHORT</field>
                                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                                <value name="VALUE"><block type="logic_boolean" id="AGAWadFeku(FsPj@{7!T"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></statement></block></statement> 
                                                                                <next><block type="comment" id="O{YbPLA=F^.HAH{7yxQ9"><field name="COMMENT">Rollo hoch</field></block></next></block></next></block></statement> 
                                                                        <value name="IF1"><block type="logic_operation" id="deYn|DwA4C6WDszez|N?" inline="false"><field name="OP">OR</field>
                                                                            <value name="A"><block type="logic_compare" id="3otRi*ZZ^.DmSmOsCTd5"><field name="OP">EQ</field>
                                                                                <value name="A"><block type="get_value" id="GNsq}r-(XJSOr#`TkcpG"><field name="ATTR">val</field>
                                                                                    <field name="OID">javascript.0.Sonne nachmittag</field></block></value> 
                                                                                <value name="B"><block type="logic_boolean" id="sL%{*o]@E}F?hUE5;5dt"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                                            <value name="B"><block type="logic_compare" id="!5R4nTl9UB9Gu2I|!.r_"><field name="OP">EQ</field>
                                                                                <value name="A"><block type="get_value" id="iC^b3Q8DO:ajXg=5n9l2"><field name="ATTR">val</field>
                                                                                    <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                                <value name="B"><block type="logic_boolean" id="oqzjT`0qWZaBrhW;Zj;X"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                                                        <statement name="DO1"><block type="timeouts_cleartimeout" id="^HI|eFvbUmSTO1n2|Bf0"><field name="NAME">Rollo nachmittag runter</field>
                                                                            <next><block type="timeouts_settimeout" id="Benx4L,ZBQGc;)MHknHr"><field name="NAME">Rollo nachmittag hoch</field>
                                                                                <field name="DELAY">5</field>
                                                                                <field name="UNIT">min</field>
                                                                                <statement name="STATEMENT"><block type="controls_if" id="eeMI^qg1j/uDpWqAIFXQ"><value name="IF0"><block type="logic_operation" id="*BWPJXNg^kr3XJ{9?z^8" inline="false"><field name="OP">OR</field>
                                                                                        <value name="A"><block type="logic_compare" id=",r5Nx.DEwfuDX^8C|^c}"><field name="OP">EQ</field>
                                                                                            <value name="A"><block type="get_value" id="V|;op3(W{NQ?#b{W0bD;"><field name="ATTR">val</field>
                                                                                                <field name="OID">javascript.0.Sonne nachmittag</field></block></value> 
                                                                                            <value name="B"><block type="logic_boolean" id="H]h{/}~#8r~@|CVRjp},"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                                                        <value name="B"><block type="logic_compare" id="oMHk,}k^DBafPb99od(s"><field name="OP">EQ</field>
                                                                                            <value name="A"><block type="get_value" id="DJv1TOA+,4P#o*x`lM!3"><field name="ATTR">val</field>
                                                                                                <field name="OID">javascript.0.Temperatur</field></block></value> 
                                                                                            <value name="B"><block type="logic_boolean" id="?f~fnHgEgxgpbid}!;q1"><field name="BOOL">FALSE</field></block></value></block></value></block></value> 
                                                                                    <statement name="DO0"><block type="controls_if" id="BrJx+TOrgC5::]2b6fbQ"><value name="IF0"><block type="logic_compare" id="9CZ5^vv#K7S*_ZK7igZ4"><field name="OP">LT</field>
                                                                                            <value name="A"><block type="get_value" id="@gEto~k2Uj|q@{ey{Tce"><field name="ATTR">val</field>
                                                                                                <field name="OID">hm-rpc.0.JEQ0299861.1.LEVEL</field></block></value> 
                                                                                            <value name="B"><block type="text" id="628tYGpk@^xz0j%8gjg1"><field name="TEXT">99</field></block></value></block></value> 
                                                                                        <statement name="DO0"><block type="control" id="[.MirZd!YIUo`BuD`xh("><mutation delay_input="false"></mutation>
                                                                                            <field name="OID">hm-rpc.0.BidCoS-RF.14.PRESS_SHORT</field>
                                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                                            <value name="VALUE"><block type="logic_boolean" id=":h7Xrq;];:`O~hOcdFnM"><field name="BOOL">TRUE</field></block></value> 
                                                                                            <next><block type="debug" id="wZGbdZc`b{R[dNh*fI4K"><field name="Severity">log</field>
                                                                                                <value name="TEXT"><shadow type="text" id="B;0bWlKqmT,NEPc1X1i;"><field name="TEXT">Rollo Nachmittag hoch</field></shadow></value></block></next></block></statement> 
                                                                                        <next><block type="controls_if" id="zS@pM}dP.?Jj;g[l7Nl3"><value name="IF0"><block type="logic_compare" id="_ujq6r5ysA7(d^7bI=1:"><field name="OP">LT</field>
                                                                                                <value name="A"><block type="get_value" id=";*Ch*E/(v7s,CiFe1TKY"><field name="ATTR">val</field>
                                                                                                    <field name="OID">hm-rpc.0.JEQ0299851.1.LEVEL</field></block></value> 
                                                                                                <value name="B"><block type="text" id="9OU@m_5Y|FF]Mwi~Jf*n"><field name="TEXT">99</field></block></value></block></value> 
                                                                                            <statement name="DO0"><block type="control" id="+r4~Y6o!J(VNB`CJ,RJ|"><mutation delay_input="false"></mutation>
                                                                                                <field name="OID">hm-rpc.0.BidCoS-RF.16.PRESS_SHORT</field>
                                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                                <value name="VALUE"><block type="logic_boolean" id="wEUqg4[?ueXUUhE=ikAG"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></statement></block></statement></block></next></block></statement></block></statement></block> 
                          <block type="procedures_defnoreturn" id="(+6Mz{Je,L}7n^5*t*wO" x="-362" y="4463"><field name="NAME">InitVariablen</field>
                            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            <statement name="STACK"><block type="control" id="XPIeH#R01T5KR1EP?ge6"><mutation delay_input="false"></mutation>
                                <field name="OID">javascript.0.Temperatur</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"></value> 
                                <next><block type="control" id="p?`r0r!rP+l-DL?HVpBE"><mutation delay_input="false"></mutation>
                                    <field name="OID">javascript.0.Wind</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"></value> 
                                    <next><block type="control" id="d:8g!N[q^)G{PlAhNaz-"><mutation delay_input="false"></mutation>
                                        <field name="OID">javascript.0.Regen</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE"></value> 
                                        <next><block type="control" id="aE`7d?_]rfE]MD%PNtMy"><mutation delay_input="false"></mutation>
                                            <field name="OID">javascript.0.Sonne nachmittag</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE"></value> 
                                            <next><block type="control" id="}j@12@xg3yqq;4gXl%rl"><mutation delay_input="false"></mutation>
                                                <field name="OID">javascript.0.Sonne vormittag</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></xml> 
                        

                        Woran könnte die Fehlermeldung liegen?

                        Ohne die Timeouts fahren die Rollos ständig rauf und runter. Ohne die Timeouts hatte das Script jedoch keine Fehlermeldung angezeigt.

                        1 Reply Last reply Reply Quote 0
                        • smile
                          smile last edited by

                          Problem gelöst - man sollte in Timouts keine Leerzeichen verwenden!

                          Habe es jetzt geändert in z.B. "timeout_Rollo_vormittag_runter" dann taucht der Fehler nicht mehr auf.

                          Jetzt mal schauen wie sich das in der Praxis verhält 8-)

                          1 Reply Last reply Reply Quote 0
                          • rantanplan
                            rantanplan last edited by

                            @smile:

                            Problem gelöst - man sollte in Timouts keine Leerzeichen verwenden! `
                            Hätte ich nicht gewusst.

                            Aber ich benutze grundsätzlich keine Leerzeichen und Umlaute in Variablen und Gerätenamen.

                            Funktioniert heutzutage meistens….aber nicht immer. 😉

                            Grüße

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

                              ` > Javascript-Variablennamen

                              bestehen aus Buchstaben (wobei auch ein Unterstrich "_" als Buchstabe zählt),

                              aus Ziffern,

                              dürfen keine Leerzeichen enthalten und keine Bindestriche enthalten,

                              dürfen nicht mit einer Zahl, einem Sonderzeichen oder Satzzeichen anfangen,

                              dürfen nicht mit einem Schlüsselwort übereinstimmen.

                              Das erste Zeichen muss ein Buchstabe oder ein Unterstrich sein. `

                              1 Reply Last reply Reply Quote 0
                              • BuZZy
                                BuZZy last edited by

                                Ich würde einen Mittelwert über eine bestimmte Zeit bilden für die Helligkeit..

                                z.B.: Wenn die durchschnittliche Helligkeit über 15 Minuten gerechnet > 205 dann ausfahren..

                                Beim Einfahren würde ich sicherheitshalber dann nochmal vor dem "Einfahrbefehl" prüfen ob die aktuelle Helligkeit auch < 205 ist.

                                So kannst du z.B. wenn die ersten 10 Minuten "die Helligkeit dunkel ist", und nur die letzten 5 Minuten die Sonne schien - der Durchschnittswert über 15 Minuten gesehen also unter 205 ist nochmal gegensteuern und die Beschattung ausgefahren lassen.

                                Gruß

                                1 Reply Last reply Reply Quote 0
                                • smile
                                  smile last edited by

                                  So, heute gibt es ein kleines Zwischenfeedback:

                                  Fakt 1: Ohne Timeouts bei der Abfrage von Helligkeit funktioniert es nicht. Die Markisen fahren dann dauernd rauf und runter.

                                  Momentan ist ein Timout für das runterfahren auf 2 Minuten gestellt und für das Hochfahren auf 4 Minuten. Nach Ende des Timeouts kommt eine weitere Abfrage ob die Werte noch "wahr" sind:
                                  3472_rollo_autonmatik_timeouts___stop_timeouts.png

                                  Fakt 2: Die Auslöung von Aktionen über "Falls Objekt ID wurde geändert" funktioniert für alle Werte gut, außer für REGEN. Hier kam der Wert schon so manches mal zu spät. Das heißt Regen kam, Regensensor war true, Aber das Script hat dies nur verzögert umgesetzt. Warum auch immer.

                                  Ich werde bei der zeitkritischen Regen-Abfrage doch nochmal die "Abfrage nach Zeitplan" und dann 2-sekündlich oder so ausprobieren (müssen)

                                  Fakt 3: Der Helligkeitssensor alleine wie angesprochen taugt nur bedingt zur korrekten Erfassung von "Sonnenenergie". Denn Hell ist es auch wenn es bewölkt, 16° ist, und Herbst, und man eigentlich die Sonne zur Energiegewinnung nutzen möchte.

                                  Hier habe ich bereits zusätzliche Faktoren wie die Abfrage der Nachttemperatur (Als Einschätzung welche Jahreszeit wir gerade haben) mit eingefügt, aber das alleine scheint noch nicht zu reichen.

                                  Aktuell muss ich gucken ob man so etwas wie Sonnenwerte von umliegenden Wetterstationen abfragen kann und diese mit einbinden kann.

                                  Alternativ mal den Homematic Bewegungsmelder als Helligkeitsmelder testen.

                                  @BuZZy:

                                  Ich würde einen Mittelwert über eine bestimmte Zeit bilden für die Helligkeit..

                                  z.B.: Wenn die durchschnittliche Helligkeit über 15 Minuten gerechnet > 205 dann ausfahren..

                                  Beim Einfahren würde ich sicherheitshalber dann nochmal vor dem "Einfahrbefehl" prüfen ob die aktuelle Helligkeit auch < 205 ist.

                                  So kannst du z.B. wenn die ersten 10 Minuten "die Helligkeit dunkel ist", und nur die letzten 5 Minuten die Sonne schien - der Durchschnittswert über 15 Minuten gesehen also unter 205 ist nochmal gegensteuern und die Beschattung ausgefahren lassen.

                                  Gruß `
                                  Danke, das würde durchaus Schwankungen ausgleichen, das funktioniert jedoch mit den Timeouts auch ganz gut, es löst jedoch nicht das angesprochene Problem mit der Helligkeit / Sonnenenergie, welche nicht dasselbe ist.

                                  Ich halte euch auf dem Laufenden 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • AlCalzone
                                    AlCalzone Developer last edited by

                                    @smile:

                                    Ohne Timeouts bei der Abfrage von Helligkeit funktioniert es nicht. Die Markisen fahren dann dauernd rauf und runter.

                                    Momentan ist ein Timout für das runterfahren auf 2 Minuten gestellt und für das Hochfahren auf 4 Minuten. Nach Ende des Timeouts kommt eine weitere Abfrage ob die Werte noch "wahr" sind: `
                                    Denkanstoß, wurde an anderer Stelle auch Badewannenprinzip getauft und für Anwesenheitserkennung verwendet:

                                    Du hast eine Zählervariable für die Helligkeit.

                                    In regelmäßigen Abständen (z.B. jede Minute) wird die Helligkeit gemessen und wenn diese über einem bestimmten Wert liegt, die Zählervariable um eine bestimmte Menge erhöht. Allerdings nur bis zu einem Maximalwert (Badewanne voll)

                                    Ebenfalls in regelmäßigen Abständen wird von dieser Zählervariable ein fixer Wert abgezogen (Abfluss ist offen), sofern die Variable > 0 ist.

                                    Anhand des Wertes der Zählervariable wird dann entschieden, ob es hell ist oder nicht:

                                    0 ... A | ... | B ... max
                                     dunkel    ?    hell
                                    

                                    Das erfordert natürlich tuning der Parameter, kann aber dein System träge genug machen, dass es nicht bei jeder Wolke denkt es ist dunkel und trotzdem zügig reagiert.

                                    1 Reply Last reply Reply Quote 0
                                    • smile
                                      smile last edited by

                                      Ja dieses Prinzip ist mir bekannt, da es vorher in IP Symcon exakt so bei mir lief.

                                      Habe es mit Blockly allerdings nicht hinbekommen. Im Verlauf dieses Threads siehst du dass ich es schonmal mit "Schleifen" versucht habe, hat aber nicht so richtig geklappt.

                                      Gesendet von meinem SM-N910F mit Tapatalk

                                      1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer last edited by

                                        Bin nicht der Blockly-Typ, aber ich schätze du brauchst einen zweiten Block (im gleichen Skript) mit Schedule (nicht Schleife), der die Helligkeit überwacht und die Berechnung der Badewannenvariable (bzw. State) übernimmt.

                                        In deinem Hauptblock überwachst du dann diesen State statt direkt die Helligkeit und reagierst entsprechend. Dürfte auch den Hauptblock etwas vereinfachen.

                                        1 Reply Last reply Reply Quote 0
                                        • smile
                                          smile last edited by

                                          @AlCalzone:

                                          Bin nicht der Blockly-Typ, aber ich schätze du brauchst einen zweiten Block (im gleichen Skript) mit Schedule (nicht Schleife), der die Helligkeit überwacht und die Berechnung der Badewannenvariable (bzw. State) übernimmt.

                                          In deinem Hauptblock überwachst du dann diesen State statt direkt die Helligkeit und reagierst entsprechend. Dürfte auch den Hauptblock etwas vereinfachen. `
                                          Ja Schleife war wohl nicht der richtige Ansatz, grundsätzlich meinte ich auch eine zeitgesteuerte Abfrage, sowas hatte ich in IPSymcon.

                                          Das sehe ich auch als vorteilhafter an - verkleinert den Hauptblock und ist auch eindeutiger mit der zeitgesteuerten Abfrage.

                                          Komme momentan mit den Timeouts gut klar, aber hab trotzdem interessehalber gerade mal überlegt wie man das in Blockly machen könnte.

                                          So vielleicht?
                                          filename="Helligkeitszähler mit Zeitplan.png" index="0">~~
                                          Dabei ist mir aufgefallen dass ich nur einen Baustein "erhöhe um" finden konnte und nicht "verringere um"…

                                          Kann man mit "-1" arbeiten?

                                          1 Reply Last reply Reply Quote 0
                                          • rantanplan
                                            rantanplan last edited by

                                            @smile:

                                            Kann man mit "-1" arbeiten? `
                                            2 + -1 = 1

                                            Du kannst aber auch so arbeiten.
                                            147_beispiel.png

                                            Ich hatte Dir schon am Anfang empfohlen alles in mehrere Blocklys zu packen. :roll:

                                            Grüße

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            708
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly climate
                                            18
                                            80
                                            28113
                                            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