Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [erklärt] Mehrfach Trigger mit Listenelementen schlägt fehl

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [erklärt] Mehrfach Trigger mit Listenelementen schlägt fehl

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

      Hallo Zusammen,

      folgender Fehler ist mir aufgefallen, kann das bitte jemand mal verifizieren?

      7.png

      hier die XML-Version


      <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id=".cAwNxA.y)PzO7qSdubS" x="163" y="513">
      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
      <field name="CONDITION">ne</field>
      <field name="ACK_CONDITION"></field>
      <value name="OID0">
      <shadow type="field_oid" id="nI^Yy_gM_h)Q^tw3AOyc">
      <field name="oid">default</field>
      </shadow>
      <block type="lists_getIndex" id="kW)Xl~k!2nZ)XR#p@Zw"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="4ux?ZqmcD5aEH@X|M!t">
      <field name="VAR" id="6EBjJ)iQ1:#CX=`DzzZ2">Liste</field>
      </block>
      </value>
      <value name="AT">
      <block type="math_number" id="pM[./:wg|Rc1izY#/cmb">
      <field name="NUM">1</field>
      </block>
      </value>
      </block>
      </value>
      <value name="OID1">
      <shadow type="field_oid" id="guMHVNGspORB|;tDd}^,">
      <field name="oid">default</field>
      </shadow>
      <block type="text" id="pV3k/9[b1R-qen|Y$M0w">
      <field name="TEXT">wxyz</field>
      </block>
      </value>
      </block>

      Dieses einfache Blockly läuft auf diesen Fehler

      javascript.0	2021-03-29 17:28:20.917	error	(1190) at processImmediate (internal/timers.js:463:21)
      javascript.0	2021-03-29 17:28:20.917	error	(1190) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1238:17)
      javascript.0	2021-03-29 17:28:20.917	error	(1190) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1722:17
      javascript.0	2021-03-29 17:28:20.916	error	(1190) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1621:37)
      javascript.0	2021-03-29 17:28:20.916	error	(1190) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1383:28)
      javascript.0	2021-03-29 17:28:20.916	error	(1190) at Object.createScript (vm.js:261:10)
      javascript.0	2021-03-29 17:28:20.916	error	(1190) at new Script (vm.js:88:7)
      javascript.0	2021-03-29 17:28:20.916	error	(1190) SyntaxError: Invalid or unexpected token
      javascript.0	2021-03-29 17:28:20.916	error	(1190) ^^^^^^
      javascript.0	2021-03-29 17:28:20.915	error	(1190) on({id: new RegExp(Liste\[0] + "$|" + 'wxyz' + "$"), change: "ne"}, async function (obj) {
      javascript.0	2021-03-29 17:28:20.915	error	at script.js.Meine_Schalter.AAA_Test3:11
      javascript.0	2021-03-29 17:28:20.915	error	(1190) script.js.Meine_Schalter.AAA_Test3 compile failed:
      

      Für mich stellt sich das so dar:

      • der obere Trigger allein funktioniert ohne den unteren (einfach mal deaktivieren) perfekt
      • der Fehler wird NUR vom unteren ausgelöst
      • entferne ich vom unteren den Listenaufruf und setze was x-beliebiges ein, dann funktioniert es auch

      --> sobald ein mehrfach Trigger (dieser Art) mind. ein Listenaufruf beinhaltet, kann es nicht mehr compiliert werden.

      Könnt ihr das bitte mal prüfen?

      Aktuell hab ich Version 5.0.14 installiert ... glaube aber, dass dieses Problem auch schon mit Version 4.x bestanden hat.

      Herzlichen Dank 🙂

      Grüße Plasma

      P.S.: habe weder in der Suche hier im Forum noch in den Issues in Github was dazu gefunden!

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

        @plasmachef
        Der Mehrfachtrigger ist für so exotische Verwendung nicht ausgelegt: Entweder Mehrfachtrigger mit Datenpunkt-IDs (verwendet RegExp) oder ein Array of IDs.

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

          @plasmachef sagte in Mehrfach Trigger mit Listenelementen schlägt fehl:

          Dieses einfache Blockly läuft auf diesen Fehler

          das ist definitiv kein einfaches Blockly

          @plasmachef sagte in Mehrfach Trigger mit Listenelementen schlägt fehl:

          folgender Fehler ist mir aufgefallen,

          Der einzige Fehler liegt in der Verwendung des Triggers.
          Der kann nur auf IDs triggern, nicht auf "Wert von..." und auch nicht auf einen String

          Plasmachef 1 Reply Last reply Reply Quote 0
          • Plasmachef
            Plasmachef @Homoran last edited by

            @homoran
            @paul53

            Danke, dass ihr euch damit beschäftigt!

            Vielleicht verstehe ich das ganze auch falsch ... es geht hier nicht um den Inhalt der Strings ...
            Um dieses Missverständnis auszuräumen habe ich das Blockly angepasst:

            8.png

            Hier die XML-Datei um es nachzustellen


            <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
            <variable id="6EBjJ)iQ1:#CX=DzzZ2">Liste</variable> </variables> <block type="variables_set" id="9^#!z1DanX_N?wmtg}Jq" x="163" y="163"> <field name="VAR" id="6EBjJ)iQ1:#CX=DzzZ2">Liste</field>
            <value name="VALUE">
            <block type="lists_create_with" id="feg0IY[XBwmO+gSsx=LU">
            <mutation items="2"></mutation>
            <value name="ADD0">
            <block type="text" id="IRt%(XuQR{QzP_@INX$"> <field name="TEXT">javascript.0.Test.Test1</field> </block> </value> <value name="ADD1"> <block type="text" id="#@cXpagefDBUh_]Fkfuh"> <field name="TEXT">javascript.0.Test.Test2</field> </block> </value> </block> </value> </block> <block type="comment" id="llukfy}JcrAw=(F*Xj,Q" x="163" y="313"> <field name="COMMENT">Typ 1</field> <next> <block type="on_ext" id="GOK?pytEz0yQ4%PiPWoz"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid"> <field name="oid">default</field> </shadow> <block type="lists_getIndex" id="AdFjq.ER|8#ai5O^7W/">
            <mutation statement="false" at="true"></mutation>
            <field name="MODE">GET</field>
            <field name="WHERE">FROM_START</field>
            <value name="VALUE">
            <block type="variables_get" id="sc^A#bSieUx1GASqZQg">
            <field name="VAR" id="6EBjJ)iQ1:#CX=DzzZ2">Liste</field> </block> </value> <value name="AT"> <block type="math_number" id="wBzY7_=iQ[uF)s!np(Bt"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </next> </block> <block type="comment" id=",9,%7Q?JF4xzi]}9LMH6" x="838" y="313"> <field name="COMMENT">Typ 4</field> <next> <block type="on_ext" id="ODSL0b4O5|R5V.+z3,0+"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="C5ZE5jux-+voQXtXXwG7"> <field name="oid">default</field> </shadow> <block type="text" id="y;jGiIKbwM+@Gc22Y4tz"> <field name="TEXT">javascript.0.Test.Test1</field> </block> </value> </block> </next> </block> <block type="comment" id="T,JxC0c!^u==ODbv[*}j" x="162" y="513"> <field name="COMMENT">Typ 2</field> <next> <block type="on_ext" id=".cAwNxA.y)PzO7qSdubS"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="nI^Yy_gM_h)Q^tw3AOyc"> <field name="oid">default</field> </shadow> <block type="lists_getIndex" id="kW)Xl~k!2nZ)XR#p@Zw">
            <mutation statement="false" at="true"></mutation>
            <field name="MODE">GET</field>
            <field name="WHERE">FROM_START</field>
            <value name="VALUE">
            <block type="variables_get" id="4ux?ZqmcD5aEH@X|M!t"> <field name="VAR" id="6EBjJ)iQ1:#CX=DzzZ2">Liste</field>
            </block>
            </value>
            <value name="AT">
            <block type="math_number" id="pM[./:wg|Rc1izY#/cmb">
            <field name="NUM">1</field>
            </block>
            </value>
            </block>
            </value>
            <value name="OID1">
            <shadow type="field_oid" id="guMHVNGspORB|;tDd}^,">
            <field name="oid">default</field>
            </shadow>
            <block type="lists_getIndex" id="jY@$?57?$^dku]q$;KNs">
            <mutation statement="false" at="true"></mutation>
            <field name="MODE">GET</field>
            <field name="WHERE">FROM_START</field>
            <value name="VALUE">
            <block type="variables_get" id="8$s6UftRhW~|J,E[;BG"> <field name="VAR" id="6EBjJ)iQ1:#CX=DzzZ2">Liste</field>
            </block>
            </value>
            <value name="AT">
            <block type="math_number" id="-x*FAd%,[:J+X,r)!/$$">
            <field name="NUM">2</field>
            </block>
            </value>
            </block>
            </value>
            </block>
            </next>
            </block>
            <block type="comment" id="M6BYhfi(7B}ryb?cd|S4" x="838" y="488">
            <field name="COMMENT">Typ 5</field>
            <next>
            <block type="on_ext" id="Hi|..Ty!{u(oWGiSTV?">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
            <field name="CONDITION">ne</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
            <shadow type="field_oid" id="[/Qk@fqw2V7E^P0~W^$"> <field name="oid">default</field> </shadow> <block type="text" id="U_@S7(mJ6
            (n6W!kyA9">
            <field name="TEXT">javascript.0.Test.Test1</field>
            </block>
            </value>
            <value name="OID1">
            <shadow type="field_oid" id="5P+JOAK35NaE0UNyiWM@">
            <field name="oid">default</field>
            </shadow>
            <block type="text" id="P1pICI3NM2K5q^6K4q:3">
            <field name="TEXT">javascript.0.Test.Test2</field>
            </block>
            </value>
            </block>
            </next>
            </block>
            <block type="comment" id="O4iDs%!*4uG#mFxzC~Ny" x="162" y="738">
            <field name="COMMENT">Typ 3</field>
            <next>
            <block type="on_ext" id="WV%AN/+RgJf^FYVp.Bh"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid"> <field name="oid">default</field> </shadow> <block type="lists_getIndex" id="*4tg!pm#mz/.?8E2-Of">
            <mutation statement="false" at="true"></mutation>
            <field name="MODE">GET</field>
            <field name="WHERE">FROM_START</field>
            <value name="VALUE">
            <block type="variables_get" id="G?CveF)[J7$@2#|BV!J
            ">
            <field name="VAR" id="6EBjJ)iQ1:#CX=`DzzZ2">Liste</field>
            </block>
            </value>
            <value name="AT">
            <block type="math_number" id="9;gfy#V23LYsCRxpy|QS">
            <field name="NUM">1</field>
            </block>
            </value>
            </block>
            </value>
            <value name="OID1">
            <shadow type="field_oid">
            <field name="oid">default</field>
            </shadow>
            <block type="text" id="Q?6nYxjsF-%ZLOIM_vkE">
            <field name="TEXT">javascript.0.Test.Test2</field>
            </block>
            </value>
            </block>
            </next>
            </block>
            </xml>

            Typ 1 klappt
            Typ 2 läuft auf Fehler
            Typ 3 läuft auf Fehler
            Typ 4 klappt
            Typ 5 klappt

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

              @plasmachef
              Typen 1 und 4 verwenden kein RegExp, da kein Mehrfachtrigger.
              Typ 5 verwendet RegExp.

              Die Kombination von RegExp und Array-Elementen (Typen 2, 3) funktioniert nicht.
              Was funktioniert:

              Bild_2021-03-29_182800.png

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

                @paul53

                Herzlichen Dank, ich glaub, ich habs verstanden!

                ... und verwende ab sofort Typ 6 als Alternative zu Typ 2

                9.png

                Nochmals Danke und einen schönen Abend noch 🙂

                Grüße Plasma

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

                Support us

                ioBroker
                Community Adapters
                Donate

                786
                Online

                32.0k
                Users

                80.5k
                Topics

                1.3m
                Posts

                blockly
                3
                6
                228
                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