Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Gelöst] Blockly-Script mehrfach ausrollen, Variablen-IDs

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Blockly-Script mehrfach ausrollen, Variablen-IDs

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

      Moin Moin,

      ich habe ein Blockly-Script für jeden Raum gebastelt, welches die absolute Feuchte Innen mit der absoluten Feuchte Außen vergleicht und eine Lüftungsempfehlung per Telegramm schickt und in einen Datenpunkt (später für MQTT) speichert.

      Dieses Blockly basiert auf mehreren Variablen. Kopiere ich dieses Blockly in die Zwischenablage und importiere dasselbe für einen weiteren Raum werden die Variablen-IDs nicht modifiziert - alle Räume verwenden dieselben IDs:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id=")Vz0,u.-.k*4g:m~W}7W">temperature</variable>
          <variable id=")(A+CMXkz]`wvY;?c89W">relFeuchte</variable>
          <variable id="vV[)(Yd^*q]eY_MvSScu">ThisRoom</variable>
          <variable id="DLEhFoj!*h)Y^q~k=F]D">hysterese</variable>
          <variable id="bhmYP+APphYryr.-Yt%L">RoomRelFeuchte</variable>
          <variable id="SHoU+yS8Chmwr5`BVKc!">RoomTemp</variable>
          <variable id="Qi*.t*}WMcI(IX!Bv.@(">FensterOffen</variable>
          <variable id="NFfoncS?+5I:^jjVk#44">AbsoluteFeuchteInnen</variable>
          <variable id="wK|kdi|FcehlV~RP4v$=">AbsoluteFeuchteAussen</variable>
          <variable id="B8Bt^iAoys@8qoGUkT5j">statusText</variable>
        </variables>
      

      Damit überschreibt ein Raum den anderen und Alarme werden mehrfach getriggert.

      Was ist denn der "richtige" Weg, ein Blockly-Script mit Variablen mehrfach auszurollen und dabei verschiedene Variablen-IDs (je Script) zu haben?

      Vielen Dank,

      -MN

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

        @Morgennebel
        Dein Export enthält nur den Anfang des Blockly-Scripts.

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

          @paul53
          Korrekt, ich sehe diese Variablen in allen Script-Kopien (also je Raum). Ich hatte dies zur Illustration des ID-Problems angefügt.

          Das Script läuft für einen Raum richtig, ich kann es auch vollständig posten...

          Danke, - MN

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

            @Morgennebel sagte:

            Ich hatte dies zur Illustration des ID-Problems angefügt.

            Ich sehe keine IDs.

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

              @paul53

              Hier ist das komplette Script:

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id=")Vz0,u.-.k*4g:m~W}7W">temperature</variable>
                  <variable id=")(A+CMXkz]`wvY;?c89W">relFeuchte</variable>
                  <variable id="vV[)(Yd^*q]eY_MvSScu">ThisRoom</variable>
                  <variable id="DLEhFoj!*h)Y^q~k=F]D">hysterese</variable>
                  <variable id="bhmYP+APphYryr.-Yt%L">RoomRelFeuchte</variable>
                  <variable id="SHoU+yS8Chmwr5`BVKc!">RoomTemp</variable>
                  <variable id="Qi*.t*}WMcI(IX!Bv.@(">FensterOffen</variable>
                  <variable id="NFfoncS?+5I:^jjVk#44">AbsoluteFeuchteInnen</variable>
                  <variable id="wK|kdi|FcehlV~RP4v$=">AbsoluteFeuchteAussen</variable>
                  <variable id="B8Bt^iAoys@8qoGUkT5j">statusText</variable>
                </variables>
                <block type="procedures_defreturn" id="=rXX/JMqsa$HI)gkpyq2" x="238" y="-137">
                  <mutation>
                    <arg name="temperature" varid=")Vz0,u.-.k*4g:m~W}7W"></arg>
                    <arg name="relFeuchte" varid=")(A+CMXkz]`wvY;?c89W"></arg>
                  </mutation>
                  <field name="NAME">absoluteFeuchte</field>
                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                  <statement name="STACK">
                    <block type="comment" id="a[Vx=*SAkikpL08:G%}5">
                      <field name="COMMENT">https://carnotcycle.wordpress.com/2012/08/04/how-to-convert-relative-humidity-to-absolute-humidity/</field>
                      <next>
                        <block type="comment" id="qY!(H$7?eTd?1-Gt6n-*">
                          <field name="COMMENT">absFeuchte = ((6.112*Math.exp((17.67*temp)/(243.5+temp))*relFeuchte*2.1674)/(273.15+temp)).toFixed(1);</field>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <value name="RETURN">
                    <block type="math_rndfixed" id="$!z4/h83[q8DB[XEY:Yx">
                      <field name="n">2</field>
                      <value name="x">
                        <shadow type="math_number" id="z/m{oS9:qSy3XF6gLT.*">
                          <field name="NUM">3.1234</field>
                        </shadow>
                        <block type="math_arithmetic" id="$9dk$%bCfi).WmTQ0YvS">
                          <field name="OP">DIVIDE</field>
                          <value name="A">
                            <shadow type="math_number" id="@|]|kf(~;UXSj{r-Py.}">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="math_arithmetic" id="drl{z6M9~)QK=1jWZwS1">
                              <field name="OP">MULTIPLY</field>
                              <value name="A">
                                <shadow type="math_number" id="?(XoR_CDs1f)=_zC_s`c">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="math_arithmetic" id="Ii^SaP2Kig/a4yQeL2Kp">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                    <shadow type="math_number" id="W]Ok6Ex(k9gJWN%Vl0(?">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_arithmetic" id="G_aJ68Y!9?zmeHy=4+6O">
                                      <field name="OP">MULTIPLY</field>
                                      <value name="A">
                                        <shadow type="math_number" id="rS7,,?%z$GHN(0DP-)Wa">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_number" id="Ss;2=UpBXrr%ru]F/HcD">
                                          <field name="NUM">6.112</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="Q_;jA]edTjm#:$`BlH8l">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_single" id="PgF}b=!D4^{n0iWk|%7z">
                                          <field name="OP">EXP</field>
                                          <value name="NUM">
                                            <shadow type="math_number" id="tV|:2_[M=j?P!6L7vh1^">
                                              <field name="NUM">9</field>
                                            </shadow>
                                            <block type="math_arithmetic" id="4A4-v3;A2z}(iC1}/|;J">
                                              <field name="OP">DIVIDE</field>
                                              <value name="A">
                                                <shadow type="math_number" id="/DEPg%|MS4iI54Xg6-E:">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_arithmetic" id="s9-wArpJZT$DZJF(:oe_">
                                                  <field name="OP">MULTIPLY</field>
                                                  <value name="A">
                                                    <shadow type="math_number" id="wU{rm.Y~Cc:*cKP-pI6n">
                                                      <field name="NUM">17.67</field>
                                                    </shadow>
                                                  </value>
                                                  <value name="B">
                                                    <shadow type="math_number" id="(6gfCw,CHBNtyNrq4xf6">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="variables_get" id="_K@|_[8M3NUw?.VA(],?">
                                                      <field name="VAR" id=")Vz0,u.-.k*4g:m~W}7W">temperature</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="._D6XRUnVpSD:3e;r6u[">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_arithmetic" id="};.N1a,UzboZAd@o+^jr">
                                                  <field name="OP">ADD</field>
                                                  <value name="A">
                                                    <shadow type="math_number" id="[:o6ZaA4M%CmKmi}Fb07">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="math_number" id="?e~,rPM[rLNAX88SQw6*">
                                                      <field name="NUM">243.5</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <shadow type="math_number" id=")0kFf`)/(A}-,6o=d9]?">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="variables_get" id="Gw.PQ]#i.P)4H?q0:uis">
                                                      <field name="VAR" id=")Vz0,u.-.k*4g:m~W}7W">temperature</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="=QJ@}_89oaSc6TkLXqL{">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_number" id="+-RP-jJ/Cl8j~X(iqtKk">
                                      <field name="NUM">2.1674</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id=";`Yd*+h-@*2XfUACe)O8">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="variables_get" id="tMo|!n{{H-zc)qWU3Be9">
                                  <field name="VAR" id=")(A+CMXkz]`wvY;?c89W">relFeuchte</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <shadow type="math_number" id="H=hU4(hGj-[YSN#G(cZ}">
                              <field name="NUM">1</field>
                            </shadow>
                            <block type="math_arithmetic" id="=Xf0xz;M.wOqwduBl|O+">
                              <field name="OP">ADD</field>
                              <value name="A">
                                <shadow type="math_number" id="*=pAEW@=`5jlHQO4GUyX">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="math_number" id="(11}Qz2^*N(([RQo~/lT">
                                  <field name="NUM">273.15</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="cS*9f1Zsst}!M]qx+5mO">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="variables_get" id="lzNp]xQRt$;C}pPC=%vO">
                                  <field name="VAR" id=")Vz0,u.-.k*4g:m~W}7W">temperature</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
                <block type="comment" id="AO0TXi+67uHk7~`pN%6^" x="238" y="88">
                  <field name="COMMENT">0 = OK, 1 = Open, 2 = Close Windows</field>
                  <next>
                    <block type="create" id="Fnj,A_H^X:T+#;mOvzj^">
                      <field name="NAME">Calculated.AirQuality.Badezimmer</field>
                      <value name="VALUE">
                        <block type="math_number" id="qu?}EiVlC/nsH([Iw/j|">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="variables_set" id=".}ZO5p5MlC=fLquil,*N">
                          <field name="VAR" id="vV[)(Yd^*q]eY_MvSScu">ThisRoom</field>
                          <value name="VALUE">
                            <block type="text" id="YY]2tZWJP^mo=[d+@IAj">
                              <field name="TEXT">Badezimmer</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="u;rAvA^Tg)fde-N$g+n(">
                              <field name="VAR" id="DLEhFoj!*h)Y^q~k=F]D">hysterese</field>
                              <value name="VALUE">
                                <block type="math_number" id="@q.bo#w=6Z#K/42*x$.3">
                                  <field name="NUM">0.5</field>
                                </block>
                              </value>
                              <next>
                                <block type="on_ext" id="h0H?Rc*ZADB=1#^!eP#U">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                  <field name="CONDITION">ne</field>
                                  <field name="ACK_CONDITION"></field>
                                  <value name="OID0">
                                    <shadow type="field_oid" id="t.hqhA^56V.)EI_/qc_+">
                                      <field name="oid">hm-rpc.0.LEQ1462834.2.ACTUAL_HUMIDITY</field>
                                    </shadow>
                                  </value>
                                  <value name="OID1">
                                    <shadow type="field_oid" id="C}^D7pqJ)kFq?w|bG5vp">
                                      <field name="oid">hm-rpc.0.LEQ1462834.2.ACTUAL_TEMPERATURE</field>
                                    </shadow>
                                  </value>
                                  <statement name="STATEMENT">
                                    <block type="comment" id="}ZL`4X1zj=nDl34!DVkq">
                                      <field name="COMMENT">Aktualisiere Raumwerte</field>
                                      <next>
                                        <block type="variables_set" id="564[EGfcKuUawEsR5s)Z">
                                          <field name="VAR" id="bhmYP+APphYryr.-Yt%L">RoomRelFeuchte</field>
                                          <value name="VALUE">
                                            <block type="get_value" id="b~O.n*??SMn7-xV4}8UR">
                                              <field name="ATTR">val</field>
                                              <field name="OID">hm-rpc.0.LEQ1462834.2.ACTUAL_HUMIDITY</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id="MvU`1xBNm`Te:/AT^s6X">
                                              <field name="VAR" id="SHoU+yS8Chmwr5`BVKc!">RoomTemp</field>
                                              <value name="VALUE">
                                                <block type="get_value" id="?GS!`$uRj#{i.l5Pg[dJ">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.0.LEQ1462834.2.ACTUAL_TEMPERATURE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="WCcXPQ%l2Q22FIzh.LFG">
                                                  <field name="VAR" id="Qi*.t*}WMcI(IX!Bv.@(">FensterOffen</field>
                                                  <value name="VALUE">
                                                    <block type="logic_operation" id="j}8(^_UC*QREXz=U_$f*">
                                                      <field name="OP">OR</field>
                                                      <value name="A">
                                                        <block type="get_value" id="_h`_~+aJtyS*oHC)~+Qj">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">hm-rpc.0.OEQ0493329.1.STATE</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="get_value" id="w7^!YZJv},z1)]e9YvEo">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">hm-rpc.0.OEQ1200257.1.STATE</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="comment" id="#dxsDI[gZm/B$mk_@h7t">
                                                      <field name="COMMENT">Berechne absolute Feuchte innen &amp; aussen</field>
                                                      <next>
                                                        <block type="variables_set" id="77RSB{b|A2e|(j.VGQs/">
                                                          <field name="VAR" id="NFfoncS?+5I:^jjVk#44">AbsoluteFeuchteInnen</field>
                                                          <value name="VALUE">
                                                            <block type="procedures_callreturn" id="@[n.kJkbzB*2q5[,*]9O">
                                                              <mutation name="absoluteFeuchte">
                                                                <arg name="temperature"></arg>
                                                                <arg name="relFeuchte"></arg>
                                                              </mutation>
                                                              <value name="ARG0">
                                                                <block type="variables_get" id="G6@fl$W$Of#P~opd`%)s">
                                                                  <field name="VAR" id="SHoU+yS8Chmwr5`BVKc!">RoomTemp</field>
                                                                </block>
                                                              </value>
                                                              <value name="ARG1">
                                                                <block type="variables_get" id="BS$J0RuyWHwoO(_6,lig">
                                                                  <field name="VAR" id="bhmYP+APphYryr.-Yt%L">RoomRelFeuchte</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="variables_set" id="Iy|p8|.6TSqHrM2+qec!">
                                                              <field name="VAR" id="wK|kdi|FcehlV~RP4v$=">AbsoluteFeuchteAussen</field>
                                                              <value name="VALUE">
                                                                <block type="procedures_callreturn" id="i-cG.}csmll~c[=2OH#W">
                                                                  <mutation name="absoluteFeuchte">
                                                                    <arg name="temperature"></arg>
                                                                    <arg name="relFeuchte"></arg>
                                                                  </mutation>
                                                                  <value name="ARG0">
                                                                    <block type="get_value" id="k2uEw5!`=Cca*0L4KG6n">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">hm-rpc.1.000EDA499C858D.1.ACTUAL_TEMPERATURE</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ARG1">
                                                                    <block type="get_value" id="k1x+%|N4/:@Q;fWJ#y`9">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">hm-rpc.1.000EDA499C858D.1.HUMIDITY</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="comment" id="XW@6(XeBm|xI/a|bqilN">
                                                                  <field name="COMMENT">Telegram-Textblock</field>
                                                                  <next>
                                                                    <block type="variables_set" id="d@^V;L.]P@@Qwyd];sn3">
                                                                      <field name="VAR" id="B8Bt^iAoys@8qoGUkT5j">statusText</field>
                                                                      <value name="VALUE">
                                                                        <block type="text_join" id="-J=gbY+pRMB{n~Jf1+.)">
                                                                          <mutation items="8"></mutation>
                                                                          <value name="ADD0">
                                                                            <block type="text" id="Eh)}.*#(m}|Den{|G@@+">
                                                                              <field name="TEXT">relFeuchte = </field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD1">
                                                                            <block type="variables_get" id="=07uJ@w)Dy.}^Q)fc4Q6">
                                                                              <field name="VAR" id="bhmYP+APphYryr.-Yt%L">RoomRelFeuchte</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD2">
                                                                            <block type="text" id="Ea/@yz$RG5/oz0Uk_ZNe">
                                                                              <field name="TEXT">%. absFeuchte Innen: </field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD3">
                                                                            <block type="variables_get" id="Ksy~.$o14(%}I$!uuFFV">
                                                                              <field name="VAR" id="NFfoncS?+5I:^jjVk#44">AbsoluteFeuchteInnen</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD4">
                                                                            <block type="text" id="itt!)(u1?g|LH(Da.2rr">
                                                                              <field name="TEXT">g/m3. absFeuchte Außen: </field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD5">
                                                                            <block type="variables_get" id="6)8tIFnS:_LWT;Qusho[">
                                                                              <field name="VAR" id="wK|kdi|FcehlV~RP4v$=">AbsoluteFeuchteAussen</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD6">
                                                                            <block type="text" id="bhr7FQjl!iWQcFU7D^6a">
                                                                              <field name="TEXT">g/m3. Fensterstatus: </field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="ADD7">
                                                                            <block type="logic_ternary" id="Y,uhX4YCcLR6x^]FExwr">
                                                                              <value name="IF">
                                                                                <block type="variables_get" id=")N_jxwTXQ.6}*g5AmR@C">
                                                                                  <field name="VAR" id="Qi*.t*}WMcI(IX!Bv.@(">FensterOffen</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="THEN">
                                                                                <block type="text" id="kDY@}TzuR/ZaUhdB5f5p">
                                                                                  <field name="TEXT">offen.</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="ELSE">
                                                                                <block type="text" id="](@vj{RBV~IWG^j`n[cr">
                                                                                  <field name="TEXT">geschlossen.</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <next>
                                                                        <block type="comment" id="v9%Om,wx%:1xeoN@+`GZ">
                                                                          <field name="COMMENT">Auswertung</field>
                                                                          <next>
                                                                            <block type="controls_if" id="HZ74t70*O/eWT_FMd;1b">
                                                                              <mutation elseif="1" else="1"></mutation>
                                                                              <value name="IF0">
                                                                                <block type="logic_compare" id="nO;#j$1}mL:IF`0|At/0">
                                                                                  <field name="OP">GT</field>
                                                                                  <value name="A">
                                                                                    <block type="variables_get" id="rP`WArcQ6R:iQI]G!n*9">
                                                                                      <field name="VAR" id="NFfoncS?+5I:^jjVk#44">AbsoluteFeuchteInnen</field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="B">
                                                                                    <block type="math_arithmetic" id="5hK=yg$$]a$DWPGgQ3_v">
                                                                                      <field name="OP">ADD</field>
                                                                                      <value name="A">
                                                                                        <shadow type="math_number">
                                                                                          <field name="NUM">1</field>
                                                                                        </shadow>
                                                                                        <block type="variables_get" id="!Y5]I|l_B#qeL9naP(ck">
                                                                                          <field name="VAR" id="wK|kdi|FcehlV~RP4v$=">AbsoluteFeuchteAussen</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <value name="B">
                                                                                        <shadow type="math_number" id="3jlVWztu]K8{+b?ms@xN">
                                                                                          <field name="NUM">0.33</field>
                                                                                        </shadow>
                                                                                        <block type="variables_get" id="~9+]mt*LDC(AwRQ(ij,J">
                                                                                          <field name="VAR" id="DLEhFoj!*h)Y^q~k=F]D">hysterese</field>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                              <statement name="DO0">
                                                                                <block type="comment" id="[SZS+y,0Nh;%um-*4(/f">
                                                                                  <field name="COMMENT">Drinnen feuchter als aussen</field>
                                                                                  <next>
                                                                                    <block type="controls_if" id="3XFa.NJ*FmLNbXKU|}Rr">
                                                                                      <value name="IF0">
                                                                                        <block type="logic_compare" id="6I3#mAT]@;pkhnH*49h*">
                                                                                          <field name="OP">GTE</field>
                                                                                          <value name="A">
                                                                                            <block type="variables_get" id="IV-23]#dP%wK|?%J-geN">
                                                                                              <field name="VAR" id="bhmYP+APphYryr.-Yt%L">RoomRelFeuchte</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="B">
                                                                                            <block type="math_number" id="J;sYQ#BIQ~mRhrS,.nJR">
                                                                                              <field name="NUM">63</field>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                      <statement name="DO0">
                                                                                        <block type="comment" id="l[YwtwjzMo|0T+~])%9.">
                                                                                          <field name="COMMENT">Über Schimmelgrenze</field>
                                                                                          <next>
                                                                                            <block type="controls_if" id="%+OVo+BU]q5jnYgRotxz">
                                                                                              <value name="IF0">
                                                                                                <block type="logic_negate" id="_-S[uB)VL+R)/(T,S5/k">
                                                                                                  <value name="BOOL">
                                                                                                    <block type="variables_get" id=":jh,m^?l4mlC(?4ouqM-">
                                                                                                      <field name="VAR" id="Qi*.t*}WMcI(IX!Bv.@(">FensterOffen</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                              <statement name="DO0">
                                                                                                <block type="comment" id="O!(q45/=Ta`$j9/N}7=N">
                                                                                                  <field name="COMMENT">Sind Fenster zu? Dann öffnen</field>
                                                                                                  <next>
                                                                                                    <block type="controls_if" id="3Vt~tV=VbLIf3As84S]7">
                                                                                                      <value name="IF0">
                                                                                                        <block type="logic_compare" id="cKgh}`wx*)zc,DDtB=Ur">
                                                                                                          <field name="OP">NEQ</field>
                                                                                                          <value name="A">
                                                                                                            <block type="get_value" id="f-idB-Fyu5CRR7@^9b4g">
                                                                                                              <field name="ATTR">val</field>
                                                                                                              <field name="OID">javascript.0.Calculated.AirQuality.Badezimmer</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="B">
                                                                                                            <block type="math_number" id="TmE,Ir%$D83h4IOcnbj/">
                                                                                                              <field name="NUM">1</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                      <statement name="DO0">
                                                                                                        <block type="control" id="jXuE%GC]:Ccur`N}i]f#">
                                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                          <field name="OID">javascript.0.Calculated.AirQuality.Badezimmer</field>
                                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                                          <value name="VALUE">
                                                                                                            <block type="math_number" id="(WM7:R^~D8]bE;U(!anq">
                                                                                                              <field name="NUM">1</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <next>
                                                                                                            <block type="telegram" id="B;oGxx.BGF,chtbZP)M|">
                                                                                                              <field name="INSTANCE"></field>
                                                                                                              <field name="LOG"></field>
                                                                                                              <field name="SILENT">FALSE</field>
                                                                                                              <field name="PARSEMODE">default</field>
                                                                                                              <value name="MESSAGE">
                                                                                                                <shadow type="text" id="Wo0HvQ;(Itn]i,h5XS74">
                                                                                                                  <field name="TEXT">Fenster im Badezimmer schliessen. Draußen ist es feuchter...</field>
                                                                                                                </shadow>
                                                                                                                <block type="text_join" id="T;oT-VRH8lEE/URMI,){">
                                                                                                                  <mutation items="4"></mutation>
                                                                                                                  <value name="ADD0">
                                                                                                                    <block type="text" id="TBN!x=5AOZFj~UB)TROk">
                                                                                                                      <field name="TEXT">Fenster </field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="ADD1">
                                                                                                                    <block type="variables_get" id="U`wvaxx~xc~{Q*34.Po8">
                                                                                                                      <field name="VAR" id="vV[)(Yd^*q]eY_MvSScu">ThisRoom</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="ADD2">
                                                                                                                    <block type="text" id="=[Fe4?JMItD.2/hM2tgA">
                                                                                                                      <field name="TEXT"> öffnen. </field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                  <value name="ADD3">
                                                                                                                    <block type="variables_get" id="GBx(-1Hq^P4uAsed)GEk">
                                                                                                                      <field name="VAR" id="B8Bt^iAoys@8qoGUkT5j">statusText</field>
                                                                                                                    </block>
                                                                                                                  </value>
                                                                                                                </block>
                                                                                                              </value>
                                                                                                            </block>
                                                                                                          </next>
                                                                                                        </block>
                                                                                                      </statement>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </statement>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </statement>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </statement>
                                                                              <value name="IF1">
                                                                                <block type="logic_compare" id="E@V|Tr?$.(;/5qDVRiZp">
                                                                                  <field name="OP">LT</field>
                                                                                  <value name="A">
                                                                                    <block type="variables_get" id="]Uj:grWB3G6c#wV=5:k]">
                                                                                      <field name="VAR" id="NFfoncS?+5I:^jjVk#44">AbsoluteFeuchteInnen</field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <value name="B">
                                                                                    <block type="math_arithmetic" id="A-L@AonfGoyP2r7Wdq;m">
                                                                                      <field name="OP">MINUS</field>
                                                                                      <value name="A">
                                                                                        <shadow type="math_number">
                                                                                          <field name="NUM">1</field>
                                                                                        </shadow>
                                                                                        <block type="variables_get" id="(%Y/Rg]0y%~)#]KAMl!z">
                                                                                          <field name="VAR" id="wK|kdi|FcehlV~RP4v$=">AbsoluteFeuchteAussen</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <value name="B">
                                                                                        <shadow type="math_number" id="VtnD]ygXn)t7YTs_DYo6">
                                                                                          <field name="NUM">0.33</field>
                                                                                        </shadow>
                                                                                        <block type="variables_get" id="|AftdpL7[o?SGfp~2c`a">
                                                                                          <field name="VAR" id="DLEhFoj!*h)Y^q~k=F]D">hysterese</field>
                                                                                        </block>
                                                                                      </value>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </value>
                                                                              <statement name="DO1">
                                                                                <block type="comment" id="/C-XnPwr1Zpjm4J,u0~v">
                                                                                  <field name="COMMENT">Draussen feuchter als drinnen</field>
                                                                                  <next>
                                                                                    <block type="controls_if" id="avU4^{%p-A=NuC;Va]|j">
                                                                                      <value name="IF0">
                                                                                        <block type="variables_get" id="==*REg|DyOznA?{kbW(;">
                                                                                          <field name="VAR" id="Qi*.t*}WMcI(IX!Bv.@(">FensterOffen</field>
                                                                                        </block>
                                                                                      </value>
                                                                                      <statement name="DO0">
                                                                                        <block type="comment" id="FZ`Y$vprZ+41JxXh5^@?">
                                                                                          <field name="COMMENT">Sind Fenster offen? Dann zu</field>
                                                                                          <next>
                                                                                            <block type="controls_if" id="2Lo7PemKi4UC#keN7uD_">
                                                                                              <value name="IF0">
                                                                                                <block type="logic_compare" id="x432QftWf287SM+;RYr=">
                                                                                                  <field name="OP">NEQ</field>
                                                                                                  <value name="A">
                                                                                                    <block type="get_value" id="]FOMYFL=81+_W6ynj/uh">
                                                                                                      <field name="ATTR">val</field>
                                                                                                      <field name="OID">javascript.0.Calculated.AirQuality.Badezimmer</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="B">
                                                                                                    <block type="math_number" id="tE.OL^t]dp{c?[cIE)yY">
                                                                                                      <field name="NUM">2</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                              <statement name="DO0">
                                                                                                <block type="control" id="2^PXt?cHT?)X^sjT??8s">
                                                                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                  <field name="OID">javascript.0.Calculated.AirQuality.Badezimmer</field>
                                                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                                                  <value name="VALUE">
                                                                                                    <block type="math_number" id="rwk~Y:R_UQFhnsJ[3Dfb">
                                                                                                      <field name="NUM">2</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <next>
                                                                                                    <block type="telegram" id="=LDK!r(pA*H!78!7o-s!">
                                                                                                      <field name="INSTANCE"></field>
                                                                                                      <field name="LOG"></field>
                                                                                                      <field name="SILENT">FALSE</field>
                                                                                                      <field name="PARSEMODE">default</field>
                                                                                                      <value name="MESSAGE">
                                                                                                        <shadow type="text" id="4e^UD,6^b6V*/s-3nV0A">
                                                                                                          <field name="TEXT">Fenster im Badezimmer schliessen. Draußen ist es feuchter...</field>
                                                                                                        </shadow>
                                                                                                        <block type="text_join" id="w2GBpsB73A.+?;-4tFAX">
                                                                                                          <mutation items="4"></mutation>
                                                                                                          <value name="ADD0">
                                                                                                            <block type="text" id="1296fJk:M0bX9vCUz`:4">
                                                                                                              <field name="TEXT">Fenster </field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD1">
                                                                                                            <block type="variables_get" id="g|Z[JT-*qjvDJX{|?ICK">
                                                                                                              <field name="VAR" id="vV[)(Yd^*q]eY_MvSScu">ThisRoom</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD2">
                                                                                                            <block type="text" id=";C.h^.Dw8n$,@P,YHKPY">
                                                                                                              <field name="TEXT"> schliessen. </field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                          <value name="ADD3">
                                                                                                            <block type="variables_get" id="Nlug/$dsi2i(}MulWQ0W">
                                                                                                              <field name="VAR" id="B8Bt^iAoys@8qoGUkT5j">statusText</field>
                                                                                                            </block>
                                                                                                          </value>
                                                                                                        </block>
                                                                                                      </value>
                                                                                                    </block>
                                                                                                  </next>
                                                                                                </block>
                                                                                              </statement>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </statement>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </statement>
                                                                              <statement name="ELSE">
                                                                                <block type="comment" id="%)kWrwr){4#2ACBT!V%K">
                                                                                  <field name="COMMENT">In der Hysterese mache nichts</field>
                                                                                  <next>
                                                                                    <block type="controls_if" id="D,[?kq3)miwp2;^2e^P/">
                                                                                      <value name="IF0">
                                                                                        <block type="logic_compare" id="RhJ]6q(NhA8nbrC`*heI">
                                                                                          <field name="OP">NEQ</field>
                                                                                          <value name="A">
                                                                                            <block type="get_value" id=":QV6ktqw*]#?1l=uYY|d">
                                                                                              <field name="ATTR">val</field>
                                                                                              <field name="OID">javascript.0.Calculated.AirQuality.Badezimmer</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <value name="B">
                                                                                            <block type="math_number" id="D$kYgeRST#^9Bo8jsD`d">
                                                                                              <field name="NUM">0</field>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </value>
                                                                                      <statement name="DO0">
                                                                                        <block type="control" id="7s{GEd{#j?7!X8;gqi2O">
                                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                          <field name="OID">javascript.0.Calculated.AirQuality.Badezimmer</field>
                                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                                          <value name="VALUE">
                                                                                            <block type="math_number" id="L8POg)Yz5v/38c,zs:S2">
                                                                                              <field name="NUM">0</field>
                                                                                            </block>
                                                                                          </value>
                                                                                          <next>
                                                                                            <block type="telegram" id="=Q!$9?zcAQbuCyYfys^0">
                                                                                              <field name="INSTANCE"></field>
                                                                                              <field name="LOG"></field>
                                                                                              <field name="SILENT">FALSE</field>
                                                                                              <field name="PARSEMODE">default</field>
                                                                                              <value name="MESSAGE">
                                                                                                <shadow type="text" id="=uC}eOc??hZt.tw3/DyE">
                                                                                                  <field name="TEXT">Fenster im Badezimmer schliessen. Draußen ist es feuchter...</field>
                                                                                                </shadow>
                                                                                                <block type="text_join" id="2A+*8enlwwA?6Nr*LW1=">
                                                                                                  <mutation items="4"></mutation>
                                                                                                  <value name="ADD0">
                                                                                                    <block type="text" id="6[Bk|73:x:^*ptrhox8g">
                                                                                                      <field name="TEXT">Fenster </field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="ADD1">
                                                                                                    <block type="variables_get" id="LZc|jf1dmxD}5Vzll|-f">
                                                                                                      <field name="VAR" id="vV[)(Yd^*q]eY_MvSScu">ThisRoom</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="ADD2">
                                                                                                    <block type="text" id="TAAnlZy5$Z/6o0@Z)Mnm">
                                                                                                      <field name="TEXT"> ist richtig. </field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                  <value name="ADD3">
                                                                                                    <block type="variables_get" id="Y|yr(COY(J1~:r~ppF_g">
                                                                                                      <field name="VAR" id="B8Bt^iAoys@8qoGUkT5j">statusText</field>
                                                                                                    </block>
                                                                                                  </value>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </next>
                                                                                        </block>
                                                                                      </statement>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </statement>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </xml>
              

              In Zeile 3-12 steht jeweils <variable id="XXXXXXXXXX">. Das XXXXXXX ist bei allen Scripten, die ich mit "Blöcke exportieren" und "Blöcke importieren" dupliziert habe (1 je Raum) identisch.

              Danke, -MN

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

                @Morgennebel
                Diesen Teil musst Du in jedem Script anpassen, da die IDs Seriennummern enthalten.

                Blockly_temp.JPG

                Den Rest kannst Du unverändert kopieren, wenn Du für den Datenpunkt "javascript.0.Calculated.AirQuality.Raumname" andere Blöcke verwendest.

                Unbenannt.JPG

                Tipp: Verwende Alias-Datenpunkte. Dann muss in jedem Script nur noch die Variable ThisRoom und die ID in createState() angepasst werden.

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

                  @paul53

                  Danke, das vereinfacht mein Script erheblich.

                  Jedoch ist meine ursprüngliches Problem leider nicht für mich behoben, ich versuche es nochmal besser zu beschreiben:

                  • Ich habe das Script für Raum 1
                  • Ich habe das gesamte Script als Block exportiert und für Raum 2 importiert
                  • Ich habe die Datenpunkte für die relFeuchte und Temperatur auf Raum 2 angepasst
                  • Ich habe die Datenpunkte "AirQuality" für Raum 2 angepasst

                  Diese Vorgehensweise habe ich für viele Räume wiederholt. In meiner Vorstellung sind die Scripte nicht miteinander verknüpft und laufen unabhängig voneinander.

                  Schaue ich jedoch die Variablen-IDs bei allen Räumen an, so sind die id=""-Strings 100% identisch für alle Räume.

                  Ich beobachte jetzt in meinem Telegram, daß ich mehrere Nachrichten, teilweise widersprüchlich vom selben Raum erhalte - das sollte doch aufgrund der letzten WENN-Abfrage gar nicht funktionieren:

                  XXX, [03.08.20 21:51]
                  Fenster Badezimmer ist richtig. relFeuchte = 57%. absFeuchte Innen: 9.85g/m3. absFeuchte Außen: 9.57g/m3. Fensterstatus: offen.
                  
                  XXX, [03.08.20 21:51]
                  Fenster Badezimmer ist richtig. relFeuchte = 58%. absFeuchte Innen: 10.02g/m3. absFeuchte Außen: 9.57g/m3. Fensterstatus: offen.
                  
                  XXX, [03.08.20 22:00]
                  Fenster Badezimmer ist richtig. relFeuchte = 57%. absFeuchte Innen: 9.79g/m3. absFeuchte Außen: 9.51g/m3. Fensterstatus: offen.
                  
                  XXX, [03.08.20 22:12]
                  Fenster Badezimmer ist richtig. relFeuchte = 57%. absFeuchte Innen: 9.73g/m3. absFeuchte Außen: 9.47g/m3. Fensterstatus: offen.
                  
                  XXX, [03.08.20 22:20]
                  Fenster Badezimmer ist richtig. relFeuchte = 57%. absFeuchte Innen: 9.68g/m3. absFeuchte Außen: 9.54g/m3. Fensterstatus: offen.
                  

                  Ich sehe im IOBroker Objektmenü auch, dass die Datenpunkte AirQuality neu gesetzt und sofort mit einem anderen Wert ersetzt werden.

                  Daher ist meine wilde These/Vermutung, dass die gleichen IDs der Variablen dazu führen, dass die Scripte nicht unabhängig ausgeführt werden, sondern sich gegenseitig beeinflussen.

                  Von dieser Beobachtung ausgehend war daher meine Frage, ob die Variablen-IDs wirklich gleich sein dürfen/sollten? Wenn nicht, wie ist die empfohlene Vorgehensweise und ein Blockly-Script mit Variablen mehrfach für verschiedene Räume auszurollen?

                  Danke, -MN

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

                    @Morgennebel sagte:

                    ob die Variablen-IDs wirklich gleich sein dürfen/sollten?

                    Du meinst Variablen-Bezeichner ? Nur Objekte in ioBroker haben IDs.
                    Es dürfen in jedem Skript wieder die gleichen Variablen-Bezeichner verwendet werden, da der Gültigkeitsbereich von Variablen auf das Skript beschränkt ist. Oder hast Du etwa die Skripte unter der Gruppe "global" erstellt ?

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

                      @paul53

                      Danke für Dein Feedback und die Aussage zu den Variablen-Bezeichnern. Das widerlegt meine These und ich setze dies daher erstmal auf gelöst.

                      Nur mein Script läuft jetzt nach dem Umbau nicht mehr - das muss ich mir in Ruhe Morgen nochmal anschauen.

                      Danke, -MN

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      622
                      Online

                      32.0k
                      Users

                      80.4k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      826
                      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