Navigation

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

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Blockly Schleife erstellen

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

      Hallo
      Ich habe sieben Storen bei denen ich den aktuellen Status via blockly abfragen möchte.
      Ich möchte jetzt nicht sieben scripte schreiben sondern eine Schleife durchlaufen lassen, welche mir die Werte der sieben Storen dem Telegram Adapter mit schickt. Wie kann man eine solche Schleife erstellen oder gibt es Alternativen?
      Danke euch
      Hier mein Blockly für eine Store

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="controls_if" id="-Hy4/z`kPNq4_!Vb_t0S" x="-987" y="-412">
          <mutation elseif="1" else="1"></mutation>
          <value name="IF0">
            <block type="logic_compare" id="IXWd%=RxT)8(ko7$h7BX">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="get_value" id="pEUj*oX=YYho_frB/Qaa">
                  <field name="ATTR">val</field>
                  <field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e400000dc7200.303505d7f800000000000f00000fdcb200.shadePositionOutside</field>
                </block>
              </value>
              <value name="B">
                <block type="math_number" id=")v4G#ZH*(Ib6,w[_qA8~">
                  <field name="NUM">0</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO0">
            <block type="telegram" id="Zlw8H=nSN^4sgrK~U@[H">
              <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="kDMZfKY)mdU(OKwG%lzx">
                  <field name="TEXT">text</field>
                </shadow>
                <block type="text" id="Ey$Dgt}qD_2_lJkxbA`#">
                  <field name="TEXT">See zu</field>
                </block>
              </value>
            </block>
          </statement>
          <value name="IF1">
            <block type="logic_compare" id="AD/|bFN]Z-CG9b,;3gzA">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="get_value" id="pY0(x6;oxK%|t#DIb~jW">
                  <field name="ATTR">val</field>
                  <field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e400000dc7200.303505d7f800000000000f00000fdcb200.shadePositionOutside</field>
                </block>
              </value>
              <value name="B">
                <block type="math_number" id="=([JV4n5D)C,D{rpotLT">
                  <field name="NUM">100</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO1">
            <block type="telegram" id="an7Edhcj(g;R^@l9bW0p">
              <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="kDMZfKY)mdU(OKwG%lzx">
                  <field name="TEXT">text</field>
                </shadow>
                <block type="text" id="4hCo3,sf~[xrJnB,Bt3-">
                  <field name="TEXT">See offen</field>
                </block>
              </value>
            </block>
          </statement>
          <statement name="ELSE">
            <block type="telegram" id="p-1TB!4R}e~)|n?-_Yz[">
              <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="~b#3qU:z}Pj=|?svwZZh">
                  <field name="TEXT">text</field>
                </shadow>
                <block type="text_join" id="4x;)x2!3}I`hTb.%mi*U">
                  <mutation items="3"></mutation>
                  <value name="ADD0">
                    <block type="text" id="cK{B+^zC0{PuGcQHR(8A">
                      <field name="TEXT">See </field>
                    </block>
                  </value>
                  <value name="ADD1">
                    <block type="get_value" id="Uv?)c(8nYRS|31pDWt}2">
                      <field name="ATTR">val</field>
                      <field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e400000dc7200.303505d7f800000000000f00000fdcb200.shadePositionOutside</field>
                    </block>
                  </value>
                  <value name="ADD2">
                    <block type="text" id="mtcAi|jVNpj-[/nNNc{^">
                      <field name="TEXT">% offen</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
      </xml>
      
      1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer last edited by ticaki

        Die wenigste Arbeiten solltest du hiermit haben:

        <xml xmlns="http://www.w3.org/1999/xhtml">
          <variables>
            <variable type="" id="G3Xtnl#$rx{P;|l3~!cu">objValue</variable>
            <variable type="" id="ev.JsfLlqu:%`KqizuA]">Text</variable>
          </variables>
          <block type="procedures_callnoreturn" id="[qcwmF_WNODx=n)]0$Y/" x="-838" y="-613">
            <mutation name="Nachricht">
              <arg name="objValue"></arg>
              <arg name="Text"></arg>
            </mutation>
            <value name="ARG0">
              <block type="get_value" id="uy6l5i,QX6$gak_eocVK">
                <field name="ATTR">val</field>
                <field name="OID">digitalstrom.0.devices.302ed89f43f0000000000e400000dc7200.303505d7f800000000000f00000fdcb200.shadePositionOutside</field>
              </block>
            </value>
            <value name="ARG1">
              <block type="text" id="HewwjcisE40Z1nC}Jm?P">
                <field name="TEXT">See</field>
              </block>
            </value>
            <next>
              <block type="comment" id="BDC#Ayy^Yd!t(5[U-{?c">
                <field name="COMMENT">oberes Wiederholen für jeden Rolladen z.B.</field>
                <next>
                  <block type="procedures_callnoreturn" id="w#Zkp):xvYQ[X-hUvw`~">
                    <mutation name="Nachricht">
                      <arg name="objValue"></arg>
                      <arg name="Text"></arg>
                    </mutation>
                    <value name="ARG0">
                      <block type="get_value" id="pEUj*oX=YYho_frB/Qaa">
                        <field name="ATTR">val</field>
                        <field name="OID">StatusActive</field>
                      </block>
                    </value>
                    <value name="ARG1">
                      <block type="text" id="0e0Tp7Kx#}939}3gs#u!">
                        <field name="TEXT">nicht See</field>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
            </next>
          </block>
          <block type="procedures_defnoreturn" id="%wV)J4!R]ran;@fQCyI(" x="-837" y="-412">
            <mutation>
              <arg name="objValue" varid="G3Xtnl#$rx{P;|l3~!cu"></arg>
              <arg name="Text" varid="ev.JsfLlqu:%`KqizuA]"></arg>
            </mutation>
            <field name="NAME">Nachricht</field>
            <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
            <statement name="STACK">
              <block type="controls_if" id="-Hy4/z`kPNq4_!Vb_t0S">
                <mutation elseif="1" else="1"></mutation>
                <value name="IF0">
                  <block type="logic_compare" id="IXWd%=RxT)8(ko7$h7BX">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="variables_get" id="nl.|D`1,kTw?E7o.fQ$r">
                        <field name="VAR" id="G3Xtnl#$rx{P;|l3~!cu" variabletype="">objValue</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="math_number" id=")v4G#ZH*(Ib6,w[_qA8~">
                        <field name="NUM">0</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO0">
                  <block type="telegram" id="Zlw8H=nSN^4sgrK~U@[H">
                    <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="kDMZfKY)mdU(OKwG%lzx">
                        <field name="TEXT">text</field>
                      </shadow>
                      <block type="text_join" id="*P^bvu92Ur6~^%mkQAs}">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="variables_get" id="c*)uTN5wo:/bAD#{.N0S">
                            <field name="VAR" id="ev.JsfLlqu:%`KqizuA]" variabletype="">Text</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="text" id="Ey$Dgt}qD_2_lJkxbA`#">
                            <field name="TEXT"> zu</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </statement>
                <value name="IF1">
                  <block type="logic_compare" id="AD/|bFN]Z-CG9b,;3gzA">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="variables_get" id="L0!QcJZ/[$a$TNHxS[i%">
                        <field name="VAR" id="G3Xtnl#$rx{P;|l3~!cu" variabletype="">objValue</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="math_number" id="=([JV4n5D)C,D{rpotLT">
                        <field name="NUM">100</field>
                      </block>
                    </value>
                  </block>
                </value>
                <statement name="DO1">
                  <block type="telegram" id="an7Edhcj(g;R^@l9bW0p">
                    <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="kDMZfKY)mdU(OKwG%lzx">
                        <field name="TEXT">text</field>
                      </shadow>
                      <block type="text_join" id="4w*-_=UmGOS)(8P9])7s">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="variables_get" id="rPkFG:]Bh7^Vx},-ksY+">
                            <field name="VAR" id="ev.JsfLlqu:%`KqizuA]" variabletype="">Text</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="text" id="4hCo3,sf~[xrJnB,Bt3-">
                            <field name="TEXT"> offen</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </statement>
                <statement name="ELSE">
                  <block type="telegram" id="p-1TB!4R}e~)|n?-_Yz[">
                    <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="~b#3qU:z}Pj=|?svwZZh">
                        <field name="TEXT">text</field>
                      </shadow>
                      <block type="text_join" id="4x;)x2!3}I`hTb.%mi*U">
                        <mutation items="4"></mutation>
                        <value name="ADD0">
                          <block type="variables_get" id=".=t{b9xk_8oemqDEyuYp">
                            <field name="VAR" id="ev.JsfLlqu:%`KqizuA]" variabletype="">Text</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="text" id="lLaUP1M9C13LCH|ss=I6">
                            <field name="TEXT"> </field>
                          </block>
                        </value>
                        <value name="ADD2">
                          <block type="variables_get" id="{,@N#A6#X:E6a|cYH;T0">
                            <field name="VAR" id="G3Xtnl#$rx{P;|l3~!cu" variabletype="">objValue</field>
                          </block>
                        </value>
                        <value name="ADD3">
                          <block type="text" id="mtcAi|jVNpj-[/nNNc{^">
                            <field name="TEXT">% offen</field>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                </statement>
              </block>
            </statement>
          </block>
        </xml>
        

        Mit einer Schleife müsstest du vorher eine Liste erstellen mit Namen und ObjektID.

        1 Reply Last reply Reply Quote 0
        • A
          albi_63 last edited by

          @ticaki
          Hy, Ich habe dein script so angepasst auf meine Storen und es funktioniert prima.
          Besten Dank dir 🤗 👍

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

          Support us

          ioBroker
          Community Adapters
          Donate

          770
          Online

          32.1k
          Users

          80.7k
          Topics

          1.3m
          Posts

          blockly
          2
          3
          214
          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