Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Laufende Skripte beenden

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @Homoran last edited by sigi234

      @Homoran sagte in Laufende Skripte beenden:

      @XxJooO sagte in Laufende Skripte beenden:

      Leider bleibt es beim Fehler.

      Hast du den pushover Adapter installiert?

      @XxJooO sagte in Laufende Skripte beenden:

      Du musst den Adapter pushover installieren............

      Danke! Auch was gelernt...

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

        @sigi234 sagte in Laufende Skripte beenden:

        @Homoran sagte in Laufende Skripte beenden:

        @XxJooO sagte in Laufende Skripte beenden:

        Leider bleibt es beim Fehler.

        Hast du den pushover Adapter installiert?

        @XxJooO sagte in Laufende Skripte beenden:

        Du musst den Adapter pushover installieren............

        Danke! Auch was gelernt...

        Irgenndwas stimmt mit dem forum nicht.
        Immer wieder stelle ich fest, dass nach einer Antwort weitere Posts zu sehen sind, die vor/bei der Antwort noch nicht da waren.
        Teilweise sind diese posts schon mehrere stunden alt.

        So auch diesmal

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

          @paul53 sagte in Laufende Skripte beenden:

          @Buddinski88 sagte:

          sinnvoller lösbar ist?

          Man kann alles in ein Skript packen, muss dann allerdings die Variablen zeit01 und fo01 für jeden der 20 Trigger durchnummerieren.

          Blockly_temp.JPG

          <xml xmlns="http://www.w3.org/1999/xhtml">
           <variables>
             <variable type="" id="Udw(@shNFk6h(?SOBNjp">fenster</variable>
             <variable type="" id="#e}JFpfWYCr(E1~qo2oQ">minuten</variable>
             <variable type="" id="?R?qY*l@Nt{LW2iVM$sS">text</variable>
             <variable type="" id="[%K=f=r;m(G(pk=obCWv">zeit01</variable>
             <variable type="undefined" id="fo01">fo01</variable>
           </variables>
           <block type="procedures_defnoreturn" id="xed%=9iUQ||IGIP5:jkt" x="187" y="-13">
             <mutation>
               <arg name="fenster" varid="Udw(@shNFk6h(?SOBNjp"></arg>
               <arg name="minuten" varid="#e}JFpfWYCr(E1~qo2oQ"></arg>
             </mutation>
             <field name="NAME">Ansage</field>
             <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
             <statement name="STACK">
               <block type="controls_if" id="W}Oe4{e[K`M=hAGw$c4l">
                 <value name="IF0">
                   <block type="time_compare" id="dL^_/.;Wx-_0Y8BoWfL_">
                     <mutation end_time="true"></mutation>
                     <field name="OPTION">between</field>
                     <field name="START_TIME">6:00</field>
                     <field name="END_TIME">22:00</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="variables_set" id="LIhXKs5}qX{yM-=B7.ZL">
                     <field name="VAR" id="?R?qY*l@Nt{LW2iVM$sS" variabletype="">text</field>
                     <value name="VALUE">
                       <block type="text_join" id="iVLaZQVc-cDZ)q,3jk`G">
                         <mutation items="4"></mutation>
                         <value name="ADD0">
                           <block type="variables_get" id="P?(m7^L%M*?1R#DI]gKw">
                             <field name="VAR" id="Udw(@shNFk6h(?SOBNjp" variabletype="">fenster</field>
                           </block>
                         </value>
                         <value name="ADD1">
                           <block type="text" id="]Suw!tS~_rbB0:[OI.*T">
                             <field name="TEXT">fenster ist seit </field>
                           </block>
                         </value>
                         <value name="ADD2">
                           <block type="variables_get" id="Dm:ltn=odbXHu?EgnK,A">
                             <field name="VAR" id="#e}JFpfWYCr(E1~qo2oQ" variabletype="">minuten</field>
                           </block>
                         </value>
                         <value name="ADD3">
                           <block type="text" id="nHI(vUx;Os1`E1o(K0nZ">
                             <field name="TEXT"> Minuten offen, bitte schliessen</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="controls_if" id="IGj.Mi2t8XTHSl)4cVWa">
                         <value name="IF0">
                           <block type="logic_compare" id="N!l}Up_=?bp{M-E(wq_y">
                             <field name="OP">GT</field>
                             <value name="A">
                               <block type="variables_get" id="Oopntm.6];:s~,hZ,aD~">
                                 <field name="VAR" id="#e}JFpfWYCr(E1~qo2oQ" variabletype="">minuten</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="math_number" id="9pD3/M/^3^5Z?DR0[AOZ">
                                 <field name="NUM">45</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="variables_set" id="F^PYs-vx5Ngzl/^l]c=N">
                             <field name="VAR" id="?R?qY*l@Nt{LW2iVM$sS" variabletype="">text</field>
                             <value name="VALUE">
                               <block type="text_join" id="ost{g/!Q,6cY6CZM*tyQ">
                                 <mutation items="2"></mutation>
                                 <value name="ADD0">
                                   <block type="text" id="54I,`r9}g=q|4|W^qI4k">
                                     <field name="TEXT">Heizung wird deaktiviert, </field>
                                   </block>
                                 </value>
                                 <value name="ADD1">
                                   <block type="variables_get" id="@kR@av:ECd$m4O}AS_|0">
                                     <field name="VAR" id="?R?qY*l@Nt{LW2iVM$sS" variabletype="">text</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                           </block>
                         </statement>
                         <next>
                           <block type="control" id="T+Wjy`|.WT6iX}Ji3]5@">
                             <mutation delay_input="false"></mutation>
                             <field name="OID">alexa2.0.Echo-Devices.G2A0P30774320JKV.Commands.speak</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="variables_get" id="2=nddim7jki,KKUI/3t?">
                                 <field name="VAR" id="?R?qY*l@Nt{LW2iVM$sS" variabletype="">text</field>
                               </block>
                             </value>
                             <next>
                               <block type="pushover" id="{CT(uzD51OR2v{)=aM@f">
                                 <field name="INSTANCE">.0</field>
                                 <field name="SOUND"></field>
                                 <field name="PRIORITY">0</field>
                                 <field name="LOG"></field>
                                 <value name="MESSAGE">
                                   <shadow type="text" id="-?//~TUjY;9{9/DqEJ7N">
                                     <field name="TEXT">Heizung wird deaktiviert, das Schlafzimmerfenster ist seit mehr als 45 Minuten offen.</field>
                                   </shadow>
                                   <block type="variables_get" id=";$(AHf,ynQ{F{%20^0xr">
                                     <field name="VAR" id="?R?qY*l@Nt{LW2iVM$sS" variabletype="">text</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
           <block type="on" id="oPQBb`_P]rd0GY{74W!V" x="-62" y="462">
             <field name="OID">hm-rpc.0.OEQ0702503.1.STATE</field>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <statement name="STATEMENT">
               <block type="controls_if" id="[4o~NeJHE6%i[quLygVT">
                 <mutation else="1"></mutation>
                 <value name="IF0">
                   <block type="on_source" id="M?4r_Aa=_4nIBieC3s?k">
                     <field name="ATTR">state.val</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="variables_set" id="V/J*mk+wt@cNh.~c~|Hg">
                     <field name="VAR" id="[%K=f=r;m(G(pk=obCWv" variabletype="">zeit01</field>
                     <value name="VALUE">
                       <block type="math_number" id="h~2*8?wvnLP;HzV2B*-O">
                         <field name="NUM">0</field>
                       </block>
                     </value>
                     <next>
                       <block type="timeouts_setinterval" id="4Ipx_czxnJF[k~P]TDeI">
                         <field name="NAME">fo01</field>
                         <field name="INTERVAL">15</field>
                         <field name="UNIT">min</field>
                         <statement name="STATEMENT">
                           <block type="variables_set" id="D9kN8#Y;IRO|GNFsTJ{%">
                             <field name="VAR" id="[%K=f=r;m(G(pk=obCWv" variabletype="">zeit01</field>
                             <value name="VALUE">
                               <block type="math_arithmetic" id="(.GoT(2*iPBoQ_)a2fqr">
                                 <field name="OP">ADD</field>
                                 <value name="A">
                                   <shadow type="math_number" id="l.^x]u_gAA*kxS9l^(YU">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="variables_get" id="DTGC!-a}G1ca3*{Y{F/=">
                                     <field name="VAR" id="[%K=f=r;m(G(pk=obCWv" variabletype="">zeit01</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number" id="P13/@Ubv//pK,.|HeZtE">
                                     <field name="NUM">15</field>
                                   </shadow>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="debug" id="*QrYR~68tya0C@)WA0Kn">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text" id="PDeV(L;u!{M[tLW%j*1l">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="variables_get" id="ohwsWhQ4w=EIsY.hgq:3">
                                     <field name="VAR" id="[%K=f=r;m(G(pk=obCWv" variabletype="">zeit01</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="procedures_callnoreturn" id="S0oA$yT,M]mBq7SeGENM">
                                     <mutation name="Ansage">
                                       <arg name="fenster"></arg>
                                       <arg name="minuten"></arg>
                                     </mutation>
                                     <value name="ARG0">
                                       <block type="text" id="7P7E]K_)vo)GzacnC]`D">
                                         <field name="TEXT">Das Schlafzimmer</field>
                                       </block>
                                     </value>
                                     <value name="ARG1">
                                       <block type="variables_get" id="r+Cj[G.O)#)XToc*5Ck7">
                                         <field name="VAR" id="[%K=f=r;m(G(pk=obCWv" variabletype="">zeit01</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </next>
                   </block>
                 </statement>
                 <statement name="ELSE">
                   <block type="timeouts_clearinterval" id="OUHlkH9;v@~+|)91%]s2">
                     <field name="NAME">fo01</field>
                   </block>
                 </statement>
               </block>
             </statement>
           </block>
          </xml>
          

          Danke für das Skript! Echt mega. Kannst du mir noch auf den Sprung helfen wo ich die zwei Variablen deklarieren muss?
          Ich vermute es hat was mit dem "zweiten Block" in deinem Skript zu tun, wenn der Status des Fensters geändert wurde?
          Deklariert der Block "Ansage mit Fenster", dann immer den Namen des Fensters und Zeit wird dann spezifisch zu dem Fenster gesetzt?

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

            @Buddinski88 sagte:

            Deklariert der Block "Ansage mit Fenster", dann immer den Namen des Fensters und Zeit wird dann spezifisch zu dem Fenster gesetzt?

            "Ansage mit: fenster, minuten" ist eine gemeinsame Funktion, die aus jedem Triggerblock aufgerufen wird. Als Parameter "fenster" wird der Textanfang, als Parameter "minuten" wird die abgelaufene Zeit übergeben. Diese Werte sind also für jedes Fenster individuell.

            Der Tiggerblock (einer für jedes Fenster) lässt sich kopieren und anschließend muss man die Trigger-ID, die Variable zeitNN und den Fenstertext neu zuweisen. Die Variablen zeit02 bis zeit20 müssen unter "Variablen" neu erstellt werden.

            Etwa so:
            Blockly_temp.JPG

            1 Reply Last reply Reply Quote 0
            • B
              Buddinski88 last edited by

              Vielen Dank, @paul53. Ich Werde das heute Abend mal so umsetzen und dann berichten. Ich hoffe das ich irgendwann auch mal so sinnvollen Content beitragen kann.

              1 Reply Last reply Reply Quote 0
              • S
                Schomby last edited by

                Hallo zusammen. Ich mache mal dieses alte Thema wieder auf, weil ich die gleiche Fragestellung habe, die aber mMn gar nicht in diesem Thema beantwortet wurde.

                Das Thema heißt ja "Laufende Skripte beenden" und genau das brauche ich - eine Möglichkeit, ein angestoßenes, in der Ausführung befindliches Skript abzubrechen.

                Hintergrund: Wird eine Tür/ein Fenster bei aktivierter "Alarmanlage" geöffnet, kommt der Hinweis, dass die Alarmanlage scharf ist und nach 15 Sekunden Alarm gegeben wird. Das passiert dann auch mittels lauter Ansagen von diversen Echos und Alarmsirenen, Rauchmeldern sowie kompletter Beleuchtung im ganzen Haus. Natürlich möchte ich innerhalb der angegebenen 15 Sekunden den ganzen Zirkus abbrechen können - etwa, wenn man nach Hause kommt.

                Realisiert wird das über Sensoren an den Zugängen und einen virtuellen Schalter, der einen Nachtmodus aktiviert/deaktiviert. Ist er aktiviert, passiert das Beschriebene - sonst natürlich nicht. Die Zeitverzögerung realisiere ich derzeit mittels Timeout. Leider kann ich den Nachtmodus ruhig innerhalb der 15 Sekunden beenden, sodass der Auslöser (Tür/Fenster auf UND Nachtmodus aktiv) nicht mehr vorhanden ist, aber das hindert die Regel nicht, trotzdem weiter und dann eben Krawall zu machen...

                Daher die ursprüngliche Frage: Kann man laufende Regeln abbrechen? Oder sieht jemand alternativ einen Workaround?

                LG

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

                  @schomby sagte: Kann man laufende Regeln abbrechen?

                  Der Timeout kann gestoppt werden.

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

                    @paul53 Danke für den Hinweis - aber funktioniert das auch, wenn ich in Regel A den Timeout starte und in/mit Regel B abbrechen will...?

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

                      @schomby sagte: funktioniert das auch, wenn ich in Regel A den Timeout starte und in/mit Regel B abbrechen will...?

                      Ja, wenn beide Regeln in einem Skript angewendet werden.

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

                        @paul53 Alles klar, danke - muss ich morgen mal sehen, ob ich das zusammenschustern kann. Es gibt also keinen Befehl/Blockly-Baustein "Beende Skript NAME" oder so?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        578
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        6
                        22
                        1590
                        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