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 läuft durch

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly schleife läuft durch

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

      Hallo,

      Ich habe dieses Blockly geschrieben um mit wenn ein sender (oder mein test DP) auf true wechselt solange eine Telegram nachricht zu schicken bis ich das quittiere (tex2komm...)... das funktioniert so weit auch aber der JS-Adapter ist damit starkt ausgelattetes (>40% GPU) auch nach dem Quittieren... könnt ihr mir sagen warum?

      9f222ca5-49f1-4dd5-b595-e722f093d558-image.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable type="interval" id="intervall">intervall</variable>
        </variables>
        <block type="procedures_defcustomnoreturn" id="Y*CK._LX]d`/0lF^Qe;e" x="88" y="-37">
          <mutation statements="false"></mutation>
          <field name="NAME">Telegramm Quiut?</field>
          <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHRleHQ6ICAgJ3F1aXR0aWVyZW4gPycsDQogICAgcmVwbHlfbWFya3VwOiB7DQogICAgICAgIGtleWJvYXJkOiBbDQogICAgICAgICAgICAgWydxdWl0dGllcmVuJ10NCiAgICAgICAgXSwNCiAgICAgICAgcmVzaXplX2tleWJvYXJkOiAgIHRydWUsDQogICAgICAgIG9uZV90aW1lX2tleWJvYXJkOiB0cnVlDQogICAgfQ0KfSk7</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="control" id="qkr|Zv8.p7!#!r9I/lL[" x="88" y="-12">
          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
          <field name="OID">0_userdata.0.Eigene.Automation.Sicherheit.quittiert_on_off</field>
          <field name="WITH_DELAY">FALSE</field>
          <value name="VALUE">
            <block type="logic_boolean" id="t=3k+JLs]gz%.{Pq-5.=">
              <field name="BOOL">FALSE</field>
            </block>
          </value>
          <next>
            <block type="on_ext" id="Z:[WU-iKpUi}5h{-7B-O">
              <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="SWdv!Fu.4VMGvAWgx}JD">
                  <field name="oid">0_userdata.0.Eigene.Automation.Test.Test_true_false</field>
                </shadow>
              </value>
              <value name="OID1">
                <shadow type="field_oid" id="a9L@z3a+n6_D1UYvKt-u">
                  <field name="oid">zigbee.0.00158d000705d726.detected</field>
                </shadow>
              </value>
              <value name="OID2">
                <shadow type="field_oid" id="yG|woHybI:7?(X8DR{[w">
                  <field name="oid">zigbee.0.00158d0006f94454.detected</field>
                </shadow>
              </value>
              <value name="OID3">
                <shadow type="field_oid" id=",.ih_m2*^O3ga=+lJtYu">
                  <field name="oid">zigbee.0.00158d000705b107.detected</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="cganBdvt^Pqq^s)g-qKT">
                  <mutation else="1"></mutation>
                  <value name="IF0">
                    <block type="logic_compare" id="yA`xUc~Itn5]lEH+PO?,">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="on_source" id="#olW2?.8Xp-;E.MC`v{q">
                          <field name="ATTR">state.val</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="s:B:Xzm;^dY%$ReLcV~a">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="procedures_callcustomnoreturn" id="@@;$vCT;o}h,Sy4$mr*w">
                      <mutation name="Telegramm Quiut?"></mutation>
                      <next>
                        <block type="timeouts_setinterval" id="+`AvYYvJD1p]=XIKfAiW">
                          <field name="NAME">intervall</field>
                          <field name="INTERVAL">1</field>
                          <field name="UNIT">sec</field>
                          <statement name="STATEMENT">
                            <block type="debug" id="pA8TS=DH(|08eOyy]BAS">
                              <field name="Severity">error</field>
                              <value name="TEXT">
                                <shadow type="text" id="^)]Lra!A:KZ8~1hkv?bh">
                                  <field name="TEXT">Wasserschaden</field>
                                </shadow>
                                <block type="on_source" id="T6|GU(KRqsB2C3`s:ac8">
                                  <field name="ATTR">channelName</field>
                                </block>
                              </value>
                              <next>
                                <block type="telegram" id="p71-/0dBke+)Wqhi$D7H" disabled="true">
                                  <field name="INSTANCE"></field>
                                  <field name="LOG">error</field>
                                  <field name="SILENT">FALSE</field>
                                  <field name="PARSEMODE">default</field>
                                  <value name="MESSAGE">
                                    <shadow type="text" id="amu:R2T@@4xc_z3e6tT;">
                                      <field name="TEXT">Wasserschaden Küche</field>
                                    </shadow>
                                    <block type="text_join" id=";.{2+VV}(${m[PiV?5*C">
                                      <mutation items="2"></mutation>
                                      <value name="ADD0">
                                        <block type="text" id="C{c(_umh-]h3{mSbEc}S">
                                          <field name="TEXT">WASSER Melder Ausgelösst</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="on_source" id="oB~M8T/6y=f!;Pz,;p[0">
                                          <field name="ATTR">channelName</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="USERNAME">
                                    <block type="text" id="A.SEvhki];sgRAKC5$2!">
                                      <field name="TEXT">Christian</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <statement name="ELSE">
                    <block type="timeouts_clearinterval" id="):dotUOV,q0n7ql9+gQv">
                      <field name="NAME">intervall</field>
                      <next>
                        <block type="control" id="%m`xLjZc_E=ha1s]MEO#">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Eigene.Automation.Sicherheit.quittiert_on_off</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="@j,U52GVMY#%MxYu-Ba^">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </statement>
              <next>
                <block type="on_ext" id="MCF8g9[iF6A5yLWOXN-`">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id=":TgBaz3t}(~JmS73]3^#">
                      <field name="oid">0_userdata.0.Eigene.Automation.Sicherheit.quittiert_on_off</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="timeouts_clearinterval" id="}mN*rb@PZ3Wt#o0z!_:v">
                      <field name="NAME">intervall</field>
                      <next>
                        <block type="control" id="gLK)^0H2|dyFT/K?w]jF">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Eigene.Automation.Sicherheit.quittiert_on_off</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="_lG)#oR7-!^f#/Nt:O#1">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      

      Danke

      Asgothian paul53 2 Replies Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @ChrisNett last edited by

        @christian-sandkaulen

        • Warum läuft das Intervall einmal jede Sekunde ?
        • Was genau macht die Funktion Telegram Quiut ?

        Ich gehe davon aus das

        • die Telegram Funktion einiges an Rechenleistung zieht
        • das Ausführen dieser Funktion einmal pro Sekunde einfach zu oft ist. Muss das wirklich so schnell abgefragt werden ?

        A.

        ChrisNett 1 Reply Last reply Reply Quote 0
        • ChrisNett
          ChrisNett @Asgothian last edited by

          @asgothian sagte in Blockly schleife läuft durch:

          @christian-sandkaulen

          • Warum läuft das Intervall einmal jede Sekunde ?
          • Was genau macht die Funktion Telegram Quiut ?

          Ich gehe davon aus das

          • die Telegram Funktion einiges an Rechenleistung zieht
          • das Ausführen dieser Funktion einmal pro Sekunde einfach zu oft ist. Muss das wirklich so schnell abgefragt werden ?

          A.

          das Intervall ist sicher was hoch ich denke alle 10sec reicht, mir auch 🙂 ich möchte so lange nachrichten bekommen bis ich das bestätig habe--- dazu das die "Telegram Quiut" funktion
          Telegram Quiut ruft im telegram bot die button zum abstellen auf.

          sendTo('telegram.0', {
              text:   'quittieren ?',
              reply_markup: {
                  keyboard: [
                       ['quittieren']
                  ],
                  resize_keyboard:   true,
                  one_time_keyboard: true
              }
          });
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @ChrisNett last edited by paul53

            @christian-sandkaulen sagte: nach dem Quittieren... könnt ihr mir sagen warum?

            Der Quittierungs-Trigger erzeugt mit "wurde aktualisiert" eine Endlosschleife, da auf jedes "steuere quittiert_on_off mit falsch" erneut getriggert wird. Ändere den Trigger auf "ist größer als letztes".

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

              @paul53 sagte in Blockly schleife läuft durch:

              @christian-sandkaulen sagte: nach dem Quittieren... könnt ihr mir sagen warum?

              Der Quittierungs-Trigger erzeugt mit "wurde aktualisiert" eine Endlosschleife, da auf jedes "steuere quittiert_on_off mit falsch" erneut getriggert wird. Ändere den Trigger auf "ist größer als letztes".

              Ohh super danke, das habe ich nicht gesehen.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              759
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              3
              5
              139
              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