Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community 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

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben Blockly
7 Beiträge 3 Kommentatoren 713 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    jf62
    schrieb am zuletzt editiert von jf62
    #1

    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 Antwort Letzte Antwort
    0
    • thewhoboxT Offline
      thewhoboxT Offline
      thewhobox
      schrieb am zuletzt editiert von
      #2

      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.

      Meine Adapter: emby | discovery
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      J 1 Antwort Letzte Antwort
      0
      • thewhoboxT thewhobox

        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 Offline
        J Offline
        jf62
        schrieb am zuletzt editiert von jf62
        #3

        @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 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          jf62
          schrieb am zuletzt editiert von
          #4

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

          HomoranH 1 Antwort Letzte Antwort
          0
          • J jf62

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

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #5

            @jf62

            Bitte 4.1.7 installieren

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              jf62
              schrieb am zuletzt editiert von
              #6

              habe ich eben gemacht - keine Änderung

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                jf62
                schrieb am zuletzt editiert von
                #7

                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 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                612

                Online

                32.7k

                Benutzer

                82.3k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe