Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Seit JS 4.1.6 läuft bestimmtes Blockly nicht mehr (auch nicht in 4.1.7) - gelöst

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Seit JS 4.1.6 läuft bestimmtes Blockly nicht mehr (auch nicht in 4.1.7) - gelöst

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

      Bis 4.05 lief das folgende Blockly einwandfrei:

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="procedures_defcustomreturn" id="]^61Plj!Mn:=T#0aqA~)" x="-387" y="-362">
          <mutation statements="false">
            <arg name="strobjektname"></arg>
          </mutation>
          <field name="NAME">IPauslesen</field>
          <field name="SCRIPT">dmFyIGlwPWdldFN0YXRlKHN0cm9iamVrdG5hbWUpLnZhbDsKcmV0dXJuIGlwOw==</field>
          <comment pinned="false" h="80" w="160">IP auslesen</comment>
        </block>
        <block type="schedule" id="_+?83h_Fn{/-=dF)t4TY" x="-388" y="-311">
          <field name="SCHEDULE">15 3 * * *</field>
          <statement name="STATEMENT">
            <block type="variables_set" id="ax1wnXnRpcC;5Hp*6jEZ">
              <field name="VAR">posKomma</field>
              <value name="VALUE">
                <block type="math_number" id="fy%u8AoQI{4LK#/KTn{l">
                  <field name="NUM">0</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="78=.L17.k4D0*]%q;Goq">
                  <field name="VAR">ListeSonoffs</field>
                  <value name="VALUE">
                    <block type="text_join" id="a~)ZvIAhU=f2uf)2ApUX">
                      <mutation items="2"></mutation>
                      <value name="ADD0">
                        <block type="get_value" id="Wfo}1(IaiwlY.DvMW#hq">
                          <field name="ATTR">val</field>
                          <field name="OID">sonoff.0.info.connection</field>
                        </block>
                      </value>
                      <value name="ADD1">
                        <block type="text" id="J_61GFpx9XjNxm=.~zDn">
                          <field name="TEXT">,</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="variables_set" id="^-{cZ%`Yl@inN6%iFV_1">
                      <field name="VAR">Schleifenende</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="-(BAfc?GO`spC5!wpYsY">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="controls_whileUntil" id="6Ew3x5fxV4FcyJQwL{1S">
                          <field name="MODE">WHILE</field>
                          <value name="BOOL">
                            <block type="logic_compare" id=")x[%vlw.*8rF#42(B-@t">
                              <field name="OP">EQ</field>
                              <value name="A">
                                <block type="variables_get" id="Qj@F}ndW?Ga`t?P)]Xu_">
                                  <field name="VAR">Schleifenende</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_boolean" id="L9^f5j)})B@U7e8hVr=Q">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO">
                            <block type="comment" id="M0kHyANF{r4imLFfM1]f">
                              <field name="COMMENT">Suche nächstes Komma in der Sonoff-Liste</field>
                              <next>
                                <block type="variables_set" id="onHAj,}EN=0ptY80mvuZ">
                                  <field name="VAR">posKomma</field>
                                  <value name="VALUE">
                                    <block type="text_indexOf" id="|)T;kdpR(/_8cpAgy-8]">
                                      <field name="END">FIRST</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="q?/(-sqx:p%yl6]5]U;)">
                                          <field name="VAR">ListeSonoffs</field>
                                        </block>
                                      </value>
                                      <value name="FIND">
                                        <shadow type="text" id="i97+FP(ai8zMxC??|TGh">
                                          <field name="TEXT">,</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="controls_if" id="zaLa8Ye+4ifsEG1{xT*.">
                                      <mutation else="1"></mutation>
                                      <value name="IF0">
                                        <block type="logic_compare" id="d#!2R.]me[E}D7:+zd)c">
                                          <field name="OP">EQ</field>
                                          <value name="A">
                                            <block type="variables_get" id=",vZZJ8HVHbq1*4[)~c6J">
                                              <field name="VAR">posKomma</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="]8QHGi2yDY!zyl@0r.G@">
                                              <field name="NUM">0</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="comment" id="Lu]hq0`*I|}3F~k1@jpr">
                                          <field name="COMMENT">kein Komma mehr gefunden</field>
                                          <next>
                                            <block type="variables_set" id="`3Qc_7Yb_YFTv*5b-bJl">
                                              <field name="VAR">Schleifenende</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="v21Pm[OLs?K8MfRd3|=i">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <statement name="ELSE">
                                        <block type="comment" id="VDR33}Sn|7UW6](RM{/v">
                                          <field name="COMMENT">Sonoff-Name aus Sonoff-Liste vom ersten Zeichen</field>
                                          <next>
                                            <block type="comment" id="x#F+r^5O.SR]c;EI?Uau">
                                              <field name="COMMENT">bis zum Zeichen vor dem Komma kopieren</field>
                                              <next>
                                                <block type="variables_set" id="%j/hlYKZv=KLa83TyTo+">
                                                  <field name="VAR">NameSonoff</field>
                                                  <value name="VALUE">
                                                    <block type="text_join" id="C82GcH}BOx1MBU%/j|f1">
                                                      <mutation items="3"></mutation>
                                                      <value name="ADD0">
                                                        <block type="text" id="rRpM+n,B3GU`/4)j1*Xe">
                                                          <field name="TEXT">sonoff.0.</field>
                                                        </block>
                                                      </value>
                                                      <value name="ADD1">
                                                        <block type="text_getSubstring" id="X;{yx;N@ojxN9@sM%;aX">
                                                          <mutation at1="false" at2="true"></mutation>
                                                          <field name="WHERE1">FIRST</field>
                                                          <field name="WHERE2">FROM_START</field>
                                                          <value name="STRING">
                                                            <block type="variables_get" id="3n8g+)M//kcMfLC~t,;)">
                                                              <field name="VAR">ListeSonoffs</field>
                                                            </block>
                                                          </value>
                                                          <value name="AT2">
                                                            <block type="math_arithmetic" id="F%ckJ0YR!61f5+tEKD]n">
                                                              <field name="OP">MINUS</field>
                                                              <value name="A">
                                                                <shadow type="math_number" id="g[e*s0*:|X3uK~aaUSM6">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="variables_get" id="DajtIuOth{hV/t`|Vp-^">
                                                                  <field name="VAR">posKomma</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow type="math_number" id="J##.!2+}ZK_;,n*UTUQU">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <value name="ADD2">
                                                        <block type="text" id="C%z8iR}NQZ{BLCTdL@Tj">
                                                          <field name="TEXT">.INFO.IPAddress</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="comment" id="cCRoZ]K(_9ab[96os0GH">
                                                      <field name="COMMENT">IP-Adresse des Sonoffs über Javascript auslesen</field>
                                                      <next>
                                                        <block type="variables_set" id="5SZsG?NI(67[QgaWFE3:">
                                                          <field name="VAR">IPAdresse</field>
                                                          <value name="VALUE">
                                                            <block type="procedures_callcustomreturn" id="wnzJ8,(}k(ap=;!FD^2@">
                                                              <mutation name="IPauslesen">
                                                                <arg name="strobjektname"></arg>
                                                              </mutation>
                                                              <value name="ARG0">
                                                                <block type="variables_get" id="0SX]Z}^wDSM`0N-p_^,r">
                                                                  <field name="VAR">NameSonoff</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="comment" id="|-!dskn/KBcDAtd,`9Gy">
                                                              <field name="COMMENT">Ersten Eintrag in der Sonoff-Liste entfernen</field>
                                                              <next>
                                                                <block type="variables_set" id="m{,#zBp1=o)_x92.wkB1">
                                                                  <field name="VAR">ListeSonoffs</field>
                                                                  <value name="VALUE">
                                                                    <block type="text_getSubstring" id="vSrOkB@+y5-t=@wGbX?i">
                                                                      <mutation at1="true" at2="false"></mutation>
                                                                      <field name="WHERE1">FROM_START</field>
                                                                      <field name="WHERE2">LAST</field>
                                                                      <value name="STRING">
                                                                        <block type="variables_get" id="/*koR(^kCg!(*h1;(!OF">
                                                                          <field name="VAR">ListeSonoffs</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="AT1">
                                                                        <block type="math_arithmetic" id="Snf@1(NV3O2-/Q{s[zw.">
                                                                          <field name="OP">ADD</field>
                                                                          <value name="A">
                                                                            <shadow type="math_number" id="g[e*s0*:|X3uK~aaUSM6">
                                                                              <field name="NUM">1</field>
                                                                            </shadow>
                                                                            <block type="variables_get" id="!A?Mo*(l#k7F-?iyoKaX">
                                                                              <field name="VAR">posKomma</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <shadow type="math_number" id=";YA6SY`7(NgEZ_SK`0KT">
                                                                              <field name="NUM">1</field>
                                                                            </shadow>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="comment" id="p8LNBz*i-[5@L=lVUp|@">
                                                                      <field name="COMMENT">URL für Restart des aktuellen Sonoffs erstellen</field>
                                                                      <next>
                                                                        <block type="variables_set" id="|tQ6q%T:bkRT;dgGX-)H">
                                                                          <field name="VAR">RestartURL</field>
                                                                          <value name="VALUE">
                                                                            <block type="text_join" id="hmg4gkUD=wn9`m8k=Wip">
                                                                              <mutation items="3"></mutation>
                                                                              <value name="ADD0">
                                                                                <block type="text" id="04;`,wWz7RWByQ=U|e|)">
                                                                                  <field name="TEXT">http://</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="ADD1">
                                                                                <block type="variables_get" id="b_hVl/#*k,2)rYQmj!_!">
                                                                                  <field name="VAR">IPAdresse</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="ADD2">
                                                                                <block type="text" id="hyR19y=59s!H4{MQKCvY">
                                                                                  <field name="TEXT">/rb?</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <next>
                                                                            <block type="comment" id="@w.yP6,ZV-}*3_Tku:+~">
                                                                              <field name="COMMENT">URL aufrufen = Sonoff-Restart</field>
                                                                              <next>
                                                                                <block type="request" id="J7gk1(S*UXJ/i@;hB)w3">
                                                                                  <mutation with_statement="false"></mutation>
                                                                                  <field name="WITH_STATEMENT">FALSE</field>
                                                                                  <field name="LOG">log</field>
                                                                                  <value name="URL">
                                                                                    <shadow type="text" id="[NA{ZA?sj2%RB-}9Z)nc">
                                                                                      <field name="TEXT">text</field>
                                                                                    </shadow>
                                                                                    <block type="variables_get" id="UW3^#=kl!}iNdKV5RiaJ">
                                                                                      <field name="VAR">RestartURL</field>
                                                                                    </block>
                                                                                  </value>
                                                                                  <next>
                                                                                    <block type="comment" id="pC8M(DYgPmpC:04Q0Uuh">
                                                                                      <field name="COMMENT">Zusätzlichen Eintrag im Log erstellen (kann entfallen)</field>
                                                                                      <next>
                                                                                        <block type="debug" id="kDTrzP7)K6eNZfJ{V7E{">
                                                                                          <field name="Severity">log</field>
                                                                                          <value name="TEXT">
                                                                                            <shadow type="text" id="=AZlVJqJ8Bdv2^hc2b3h">
                                                                                              <field name="TEXT">test</field>
                                                                                            </shadow>
                                                                                            <block type="text_join" id="]pH=D,b%GPW`V1ReS-YC">
                                                                                              <mutation items="4"></mutation>
                                                                                              <value name="ADD0">
                                                                                                <block type="variables_get" id="T69`T0[y6p53v~7jylp2">
                                                                                                  <field name="VAR">NameSonoff</field>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="ADD1">
                                                                                                <block type="text" id="OMb=Q/9BSV)OuE3F_lgg">
                                                                                                  <field name="TEXT">(IP: </field>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="ADD2">
                                                                                                <block type="variables_get" id="m1M=RGrmi)Qo}x;/q{]m">
                                                                                                  <field name="VAR">IPAdresse</field>
                                                                                                </block>
                                                                                              </value>
                                                                                              <value name="ADD3">
                                                                                                <block type="text" id="?P(.~ss]U(BdMy0b^io4">
                                                                                                  <field name="TEXT">) wurde neu gestartet</field>
                                                                                                </block>
                                                                                              </value>
                                                                                            </block>
                                                                                          </value>
                                                                                        </block>
                                                                                      </next>
                                                                                    </block>
                                                                                  </next>
                                                                                </block>
                                                                              </next>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Nun bekomme ich folgenden Fehler:

      1.3.2019, 10:15:06.787 [info ]: javascript.0 Stop script script.js.Neustart_Tasmota
      1.3.2019, 10:15:12.370 [info ]: javascript.0 Start javascript script.js.Neustart_Tasmota
      1.3.2019, 10:15:12.370 [info ]: javascript.0 script.js.Neustart_Tasmota: registered 0 subscriptions and 1 schedule
      1.3.2019, 10:16:00.074 [warn ]: javascript.0 at Object.<anonymous> (script.js.Neustart_Tasmota:14:25)
      1.3.2019, 10:16:00.075 [warn ]: javascript.0 at IPauslesen (script.js.Neustart_Tasmota:7:12)
      1.3.2019, 10:16:00.075 [warn ]: javascript.0 at Object.<anonymous> (script.js.Neustart_Tasmota:27:19)
      1.3.2019, 10:16:00.076 [error]: javascript.0 script.js.Neustart_Tasmota: Error: Invalid URI "http:///rb?"
      1.3.2019, 10:16:00.076 [info ]: javascript.0 script.js.Neustart_Tasmota: request: http:///rb?

      Was läuft hier falsch?

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

        Hallo,

        ich hab mir gerade mal dein Script importiert und wie es scheint kann er die IP nicht auslesen weswegen die Restart URL "http://[hier fehlt die ip]/rb?" falsch ist und es abstürzt.

        Du könntest ja mal ein paar Debug ausgaben einbauen wo du den Namen zusammen setzt und wo er die IP abruft.

        J 1 Reply Last reply Reply Quote 0
        • J
          jf62 @thewhobox last edited by jf62

          @thewhobox das dies der Fall ist weiß ich ja. Nur, das Blockly lief über 1 Jahr ohne Fehler und nun nicht mehr ...
          Hier muss ja der Fehler im JS Adapter liegen und nicht im Script.

          Wenn ich als pures JS umbaue sieht es so aus und läuft:

          var strobjektname, posKomma, ListeSonoffs, Schleifenende, NameSonoff, IPAdresse, RestartURL;
          
          /**
           * IP auslesen
           */
          function IPauslesen(strobjektname) {
              var ip=getState(strobjektname).val;
              return ip;
          }
          
          
          // Start per Scheduler
          schedule("10 16 * * *", function () {
            // posKomma = Position nächstes Komma in der Liste
            posKomma = 0;
            // Liste aller Sonoffs in Textform, kommasepariert
            ListeSonoffs = String(getState("sonoff.0.info.connection").val) + String(',');
            Schleifenende = false;
            while (Schleifenende == false) {
              // Suche nächstes Komma in der Sonoff-Liste
              posKomma = ListeSonoffs.indexOf(',') + 1;
              if (posKomma == 0) {
                // kein Komma mehr gefunden
                Schleifenende = true;
              } else {
                // Sonoff-Name aus Sonoff-Liste vom ersten Zeichen
                // bis zum Zeichen vor dem Komma kopieren
                NameSonoff = ['sonoff.0.',ListeSonoffs.slice(0, posKomma - 1),'.INFO.IPAddress'].join('');
                // IP-Adresse des Sonoffs über Javascript auslesen
                IPAdresse = IPauslesen(NameSonoff);
                // Ersten Eintrag in der Sonoff-Liste entfernen
                ListeSonoffs = ListeSonoffs.slice(((posKomma + 1) - 1), ListeSonoffs.length);
                // URL für Restart des aktuellen Sonoffs erstellen
                RestartURL = ['http://',IPAdresse,'/cm?cmnd=Restart%201'].join('');
                // URL aufrufen = Sonoff-Restart
                try {
                  require("request")(RestartURL).on("error", function (e) {console.error(e);});
                } catch (e) { console.error(e); }
                console.log("request: " + RestartURL);
                // Zusätzlichen Eintrag im Log erstellen (kann entfallen)
              }
            }
          });
          
          1 Reply Last reply Reply Quote 0
          • J
            jf62 last edited by

            Geht natürlich auch so, ist aber trotzdem unbefriedigend, dass es als pures Blockly nicht mehr läuft.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @jf62 last edited by

              @jf62

              Bitte 4.1.7 installieren

              1 Reply Last reply Reply Quote 0
              • J
                jf62 last edited by

                habe ich eben gemacht - keine Änderung

                1 Reply Last reply Reply Quote 0
                • J
                  jf62 last edited by

                  Fehler bei Debug:
                  etState "List of connected clients" not found (3)
                  getState "sonoff.0.null.INFO.IPAddress" not found (3)

                  daher ObjectID neu zugeiesen - nun geht's

                  Danke

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  891
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  458
                  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