Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. "Wait" in blockly?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    "Wait" in blockly?

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

      @UweRLP:

      @rantanplan:

      Die Alternative die du mir Vorschlägst, als Funktion, verstehe ich leider nicht, würdest du mir das bitte erklären. Danke!

      In einer Funktion kannst Du, in einem Blockly, Programmschritte die sich wiederholen reinpacken.

      Wenn eine Funktion aufgerufen wird, springt das Programm dort hin, führt die Befehle aus und kehrt zurück und arbeitet das restliche Programm ab.

      Funktionen machen Scripte/Blocklys lesbarer und bieten enorme Möglichkeiten.

      Deinen Timer könntest Du in eine Funktion mit Parameter setzen.
      147_beispiel_timer.png

      Hier noch einige Beispiele.
      147_beispiel_funktionen.png

      Hier der Export von den Beispielen.

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_callnoreturn" id="m)kSOt)?Fr[Q-h)XJIqQ" x="-313" y="-262"><mutation name="MeineZeitFunktion"><arg name="WertTimer"></arg></mutation>
      <value name="ARG0"><block type="math_number" id="koxWb-^aDM5Ht#OKML3"><field name="NUM">27000</field></block></value></block> <block type="procedures_defnoreturn" id="EtS,RT{KKRrmrBA}O3Ll" x="-313" y="-187"><mutation><arg name="WertTimer"></arg></mutation> <field name="NAME">MeineZeitFunktion</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="timeouts_cleartimeout" id="t-V)M^(eCCwahAED)H4["><field name="NAME">Zeit</field> <next><block type="timeouts_settimeout" id=";zgdd[sqQtZ-zG;R(m6*"><field name="NAME">Zeit</field> <field name="DELAY">WertTimer</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="t;HV7ZMy#pR=U4X/Jkbz"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field></block></statement></block></next></block></statement></block> <block type="procedures_callnoreturn" id="l;ds2j/VU+.;s=Rwk*17" x="-687" y="-87"><mutation name="MyFuntion"></mutation> <next><block type="procedures_callnoreturn" id="T0)djLb+iYaML7Xl,D}"><mutation name="MyFunction2"><arg name="x"></arg></mutation>
      <value name="ARG0"><block type="math_number" id="ga5}CTdo1gM!22DhdJw0"><field name="NUM">1000</field></block></value>
      <next><block type="debug" id="+D[1QLr)!Y),ft4r6eMQ"><field name="Severity">log</field>
      <value name="TEXT"><shadow type="text" id="+8N-a*vr.]7=+^{BKW5K"><field name="TEXT">test</field></shadow>
      <block type="text_join" id="lE!A=3ET?tOc?4u%O/=!"><mutation items="2"></mutation>
      <value name="ADD0"><block type="text" id="b}:-)i8Us!E/*w/8_ul"><field name="TEXT">***MyFunction3 mit Ergebniss</field></block></value>
      <value name="ADD1"><block type="procedures_callreturn" id="4dS.LW7@:Ub8]lE^Sy.6"><mutation name="MyFunktion3"><arg name="A"></arg>
      <arg name="B"></arg></mutation>
      <value name="ARG0"><block type="math_number" id="i{8gE!F}C-jl{whetj/"><field name="NUM">10</field></block></value> <value name="ARG1"><block type="math_number" id="vDbtx?[RIh^t69W+!ndC"><field name="NUM">20</field></block></value></block></value></block></value></block></next></block></next></block> <block type="procedures_defnoreturn" id="fci;KBqgZ)7Dd#Eg{^w@" x="-688" y="137"><field name="NAME">MyFuntion</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="debug" id="UThPyQuQPKWRtw7E~??"><field name="Severity">log</field>
      <value name="TEXT"><shadow type="text" id="u0vGR/dV=3PlyZ[7=+P"><field name="TEXT">***MyFunktion ausgeführt</field></shadow></value></block></statement></block> <block type="procedures_defnoreturn" id="O9nP#)+zqlt9Fq{YT0rq" x="-687" y="238"><mutation><arg name="x"></arg></mutation> <field name="NAME">MyFunction2</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="debug" id="spDsr],GvdZW)Bz^[HOB"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="[wQ1wey?YXXAsRc{qD{1"><field name="TEXT">test</field></shadow> <block type="text_join" id="4hpxTJi#S,@q*M|XMR(-"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="4OENq~@=g5nzUo,6Q3BX"><field name="TEXT">**MyFuntion2 ausgeführt mit Übergabe von</field></block></value> <value name="ADD1"><block type="variables_get" id="PAts^s-Ex]f/1fJ]T_z"><field name="VAR">x</field></block></value></block></value></block></statement></block>
      <block type="procedures_defreturn" id="gL:inEgPcEwA-S|^TA3" x="-688" y="362"><mutation><arg name="A"></arg>
      <arg name="B"></arg></mutation>
      <field name="NAME">MyFunktion3</field>
      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
      <statement name="STACK"><block type="variables_set" id="6UJRE{XLXlKofpnxp!6g"><field name="VAR">C</field>
      <value name="VALUE"><block type="math_arithmetic" id="{aq~Tzv(PfMoYSKV2f;U"><field name="OP">ADD</field>
      <value name="A"><shadow type="math_number" id="}|m2/3#K!Y-m+}[s5}("><field name="NUM">1</field></shadow>
      <block type="variables_get" id="~kGc8}t0BH!sPCf7iVg{"><field name="VAR">A</field></block></value>
      <value name="B"><shadow type="math_number" id="9STkOqU7q^b2
      fqt^B
      +"><field name="NUM">1</field></shadow>
      <block type="variables_get" id="FuFM1ySG(@CE]RPO(jrM"><field name="VAR">B</field></block></value></block></value></block></statement>
      <value name="RETURN"><block type="variables_get" id="}B==
      ?4Jt!1sd+{pGL,r"><field name="VAR">C</field></block></value></block></xml>

      
      Grüße
      1 Reply Last reply Reply Quote 0
      • rantanplan
        rantanplan last edited by

        @UweRLP:

        Sind die Funktionen auch Global anwendbar oder nur innerhalb des einen Blockly's? `
        Nur innerhalb des Blocklys.

        Grüße

        1 Reply Last reply Reply Quote 0
        • N
          NUCChris last edited by

          Moin zusammen,

          ich versuche grade den Wert von "timeout" über VIS einzustellen. Ich habe die vorherigen beispiele ausprobiert, aber es will nicht klappen :?: :?
          1736_1.jpg
          1736_2.jpg
          1736_3.jpg
          1736_4.jpg

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

            @NUCChris:

            ich versuche grade den Wert von "timeout" über VIS einzustellen. Ich habe die vorherigen beispiele ausprobiert, aber es will nicht klappen :?: :? `

            Der undokumentierte "Trick" mit der Variablen funktioniert nicht mehr.

            Grüße

            S 1 Reply Last reply Reply Quote 0
            • N
              NUCChris last edited by

              kennt jemand einen neuen Trick? :shock:

              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                @NUCChris:

                kennt jemand einen neuen Trick? :shock: `
                Nimm JavaScript 😉

                1 Reply Last reply Reply Quote 0
                • N
                  NUCChris last edited by

                  Wie würde das aussehen. Mit

                  Java hab ich noch keine Erfahrung [emoji16]

                  Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • AlCalzone
                    AlCalzone Developer last edited by

                    @NUCChris:

                    Java hab ich noch keine Erfahrung [emoji16] `
                    JavaScript != Java 😉

                    Du kannst Blockly in JS konvertieren indem du die Engine wechselst (Einbahnstraße!)

                    Und dann da wo die Zahl für den Timeout steht, deine Variable einsetzen.

                    1 Reply Last reply Reply Quote 0
                    • N
                      NUCChris last edited by

                      Moin Zusammen,

                      ich hab die 1000 durch meine Variable ersetzt, aber es läuft bei mir nicht 😢
                      1736_5.jpg
                      1736_6.jpg

                      1 Reply Last reply Reply Quote 0
                      • Dutchman
                        Dutchman Developer Most Active Administrators last edited by

                        was ist das fuer eine variable im system.adapter dar gehoren sie nicht hin 🙂

                        desweiteren musst du object auslesen miet getState(id).val

                        z.b. getState("javascript.0.Lampe_1").val

                        1 Reply Last reply Reply Quote 0
                        • N
                          NUCChris last edited by

                          Läuft 😄

                          vielen dank!
                          1736_7.jpg

                          1 Reply Last reply Reply Quote 0
                          • M
                            Mac last edited by

                            Für einen Temperaturalarm möchte ich eine Verzögerung für die Meldungen setzen. Wenn der Wert längere Zeit unter dem Sollwert bleibt, soll nur alle 2-3 Minuten die Push Nachricht wiederholt werden, aber meine Verzögerung funktioniert irgendwie nicht. Kann mir jemand helfen bitte?

                            4489_bildschirmfoto_2017-12-22_um_14.31.37.png

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              @Mac:

                              Für einen Temperaturalarm möchte ich eine Verzögerung für die Meldungen setzen. Wenn der Wert längere Zeit unter dem Sollwert bleibt, soll nur alle 2-3 Minuten die Push Nachricht wiederholt werden, aber meine Verzögerung funktioniert irgendwie nicht. Kann mir jemand helfen bitte?

                              Bildschirmfoto 2017-12-22 um 14.31.37.png `

                              jup stel mal bitte export ein deines blocklys

                              1 Reply Last reply Reply Quote 0
                              • M
                                Mac last edited by

                                So, hab ich bisher noch nicht gemacht?

                                ! ````
                                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="JQK^0|z(du)IM*U6TwJG" x="-287" y="-162"><field name="OID">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field>
                                <field name="CONDITION">ne</field>

                                <statement name="STATEMENT"><block type="controls_if" id=".B.X5K){dsZl]:/^=lLe"><value name="IF0"><block type="logic_compare" id="WwH:4O`a{h[2:+TZUone"><field name="OP">LT</field>
                                        <value name="A"><block type="convert_tonumber" id="Y^`a;t/+NBzH]%IUFz2v"><value name="VALUE"><block type="on_source" id="bhR_~?IvaV|{*ybh^]RQ"><field name="ATTR">state.val</field></block></value></block></value> 
                                        <value name="B"><block type="math_number" id="un=0::SIrHLcE+o*A*={"><field name="NUM">55</field></block></value></block></value> 
                                    <statement name="DO0"><block type="pushover" id="u--/U[0+PAM8{}c0b61s"><field name="SOUND">siren</field>
                                        <field name="PRIORITY">1</field>
                                
                                        <value name="MESSAGE"><shadow type="text" id="KC,0;:gM^:5s}:7-O.wb"><field name="TEXT">text</field></shadow> 
                                          <block type="text" id=";zQua-=(yd6}*?TiU;Kl"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C, bitte Service verständigen.</field></block></value> 
                                        <value name="TITLE"><block type="text" id="cjiw_U0*JpK-nd5?lTOS"><field name="TEXT">LS50 Temoeraturwarnung</field></block></value> 
                                        <next><block type="debug" id="%^xI1?GD2O;Wl678TnE|"><field name="Severity">log</field>
                                            <value name="TEXT"><shadow type="text" id="3Bl~5bs^c3P,3V_dc,u4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C</field></shadow></value></block></next></block></statement></block></statement> 
                                <next><block type="on_ext" id="`,Z?}tI`A(Z_e8ZqminA"><mutation items="1"></mutation>
                                    <field name="CONDITION">ne</field>
                                
                                    <value name="OID0"><shadow type="field_oid" id="h89UobD}Vg=-]BTFV7TM"><field name="oid">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field></shadow></value> 
                                    <statement name="STATEMENT"><block type="controls_if" id="{0um4s_71S121vyB,Zw,"><value name="IF0"><block type="logic_compare" id="^`!SV,KB)6K4!MK}-:cA"><field name="OP">LT</field>
                                            <value name="A"><block type="convert_tonumber" id="_E9Buth1~5|Lzu]T%R;e"><value name="VALUE"><block type="on_source" id="DOE[,j2vjk!y5QX#OZ:{"><field name="ATTR">state.val</field></block></value></block></value> 
                                            <value name="B"><block type="math_number" id="mom?P`juZv[pF^8p2RYo"><field name="NUM">60</field></block></value></block></value> 
                                        <statement name="DO0"><block type="timeouts_settimeout" id="`z3QFws(tE}Tf-2E~2q9"><field name="NAME">timeout</field>
                                            <field name="DELAY">1</field>
                                            <field name="UNIT">min</field>
                                            <statement name="STATEMENT"><block type="pushover" id="*~j)H=w|w]9pQVy7ACZ5"><field name="PRIORITY">0</field>
                                
                                                <value name="MESSAGE"><shadow type="text" id="ZGa0=[A(Rr5=*`mjJKMF"><field name="TEXT">text</field></shadow> 
                                                  <block type="text" id="B/z]v77kH7yJdN2a,3u:"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></block></value> 
                                                <value name="TITLE"><block type="text" id="jr^!Oc2cOrp5Yx#54NI%"><field name="TEXT">LS50 Temeraturhinweis</field></block></value> 
                                                <next><block type="debug" id="m{}{`G_3gds~pk;C5{I3"><field name="Severity">log</field>
                                                    <value name="TEXT"><shadow type="text" id="-.FZ?`b}MnO|)-k7Yvb4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></shadow></value></block></next></block></statement></block></statement></block></statement></block></next></block> 
                                

                                <block type="controls_whileUntil" id="A|s#1Fr5U;}`^e]ra.1^" x="212" y="363"><field name="MODE">WHILE</field></block></xml>

                                1 Reply Last reply Reply Quote 0
                                • Dutchman
                                  Dutchman Developer Most Active Administrators last edited by

                                  @Mac:

                                  So, hab ich bisher noch nicht gemacht? `

                                  jup naeste mal aber bitte auch in "code" bloecken.

                                  Probier mal so:

                                  Ich habe nicht eingebaut das er alle 2-3 minuten wiederhohlt. was jetzt passiert: wen die temperatur sich aendert wird nach einer minute eine meldunge generiert.

                                  Das passiert jedesmal wen der wert sich erneuert aber kleiner ist als 60 war das was du erreichen woltest ?

                                  ! ````
                                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="JQK^0|z(du)IM*U6TwJG" x="-287" y="-162"><field name="OID">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field>
                                  <field name="CONDITION">ne</field>

                                  <statement name="STATEMENT"><block type="controls_if" id=".B.X5K){dsZl]:/^=lLe"><value name="IF0"><block type="logic_compare" id="WwH:4O`a{h[2:+TZUone"><field name="OP">LT</field>
                                          <value name="A"><block type="convert_tonumber" id="Y^`a;t/+NBzH]%IUFz2v"><value name="VALUE"><block type="on_source" id="bhR_~?IvaV|{*ybh^]RQ"><field name="ATTR">state.val</field></block></value></block></value> 
                                          <value name="B"><block type="math_number" id="un=0::SIrHLcE+o*A*={"><field name="NUM">55</field></block></value></block></value> 
                                      <statement name="DO0"><block type="pushover" id="u--/U[0+PAM8{}c0b61s"><field name="SOUND">siren</field>
                                          <field name="PRIORITY">1</field>
                                  
                                          <value name="MESSAGE"><shadow type="text" id="KC,0;:gM^:5s}:7-O.wb"><field name="TEXT">text</field></shadow> 
                                            <block type="text" id=";zQua-=(yd6}*?TiU;Kl"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C, bitte Service verständigen.</field></block></value> 
                                          <value name="TITLE"><block type="text" id="cjiw_U0*JpK-nd5?lTOS"><field name="TEXT">LS50 Temoeraturwarnung</field></block></value> 
                                          <next><block type="debug" id="%^xI1?GD2O;Wl678TnE|"><field name="Severity">log</field>
                                              <value name="TEXT"><shadow type="text" id="3Bl~5bs^c3P,3V_dc,u4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C</field></shadow></value></block></next></block></statement></block></statement> 
                                  <next><block type="on_ext" id="`,Z?}tI`A(Z_e8ZqminA"><mutation items="1"></mutation>
                                      <field name="CONDITION">ne</field>
                                  
                                      <value name="OID0"><shadow type="field_oid" id="h89UobD}Vg=-]BTFV7TM"><field name="oid">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field></shadow></value> 
                                      <statement name="STATEMENT"><block type="timeouts_cleartimeout" id=")dU=a:ByKY}!XAWX9@Kq"><field name="NAME">timeout</field>
                                          <next><block type="timeouts_settimeout" id="`z3QFws(tE}Tf-2E~2q9"><field name="NAME">timeout</field>
                                              <field name="DELAY">1</field>
                                              <field name="UNIT">min</field>
                                              <statement name="STATEMENT"><block type="controls_if" id="{0um4s_71S121vyB,Zw,"><value name="IF0"><block type="logic_compare" id="^`!SV,KB)6K4!MK}-:cA"><field name="OP">LT</field>
                                                      <value name="A"><block type="convert_tonumber" id="_E9Buth1~5|Lzu]T%R;e"><value name="VALUE"><block type="on_source" id="DOE[,j2vjk!y5QX#OZ:{"><field name="ATTR">state.val</field></block></value></block></value> 
                                                      <value name="B"><block type="math_number" id="mom?P`juZv[pF^8p2RYo"><field name="NUM">60</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="pushover" id="*~j)H=w|w]9pQVy7ACZ5"><field name="PRIORITY">0</field>
                                  
                                                      <value name="MESSAGE"><shadow type="text" id="ZGa0=[A(Rr5=*`mjJKMF"><field name="TEXT">text</field></shadow> 
                                                        <block type="text" id="B/z]v77kH7yJdN2a,3u:"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></block></value> 
                                                      <value name="TITLE"><block type="text" id="jr^!Oc2cOrp5Yx#54NI%"><field name="TEXT">LS50 Temeraturhinweis</field></block></value> 
                                                      <next><block type="debug" id="m{}{`G_3gds~pk;C5{I3"><field name="Severity">log</field>
                                                          <value name="TEXT"><shadow type="text" id="-.FZ?`b}MnO|)-k7Yvb4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></shadow></value></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></xml> 
                                  

                                  ! ````

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Mac last edited by

                                    Danke erst einmal.

                                    Ist es richtig, dass ich das von Dir überarbeitet Script nicht mehr in Blockly einlesen kann?

                                    Leider bekomme ich unten eine Fehlermeldung wenn ich starte > unexpected token, daher kann ich nicht probieren, aber im Prinzip richtig, ich wollte nicht alle 10 Sekunden eine Meldung wenn Alarm gegeben wird

                                    4489_bildschirmfoto_2017-12-22_um_18.07.49.png

                                    1 Reply Last reply Reply Quote 0
                                    • Dutchman
                                      Dutchman Developer Most Active Administrators last edited by

                                      Wie hast du es importiert ?

                                      Mir den Import Knopf hoffe ich?

                                      –-----------------------

                                      Send from mobile device

                                      Das schöne ios hat Auto Korrektur zum k****

                                      Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                                        Mit dem Import Knopf über der Arbeitsfläche, nicht im Skript-Explorer

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Mac last edited by

                                          ENTSCHULDIGUNG!

                                          Tatsächlich habe ich es einfach einkopiert, ist mir eine Lehre, danke. Ab jetzt nur noch den Importknopf, der ist aber auch verrdammt klein. 😐

                                          1 Reply Last reply Reply Quote 0
                                          • Dutchman
                                            Dutchman Developer Most Active Administrators last edited by

                                            @Mac:

                                            ENTSCHULDIGUNG!

                                            Tatsächlich habe ich es einfach einkopiert, ist mir eine Lehre, danke. Ab jetzt nur noch den Importknopf, der ist aber auch verrdammt klein. 😐 `

                                            Hat es jetzt geklappt?

                                            –-----------------------

                                            Send from mobile device

                                            Das schöne ios hat Auto Korrektur zum k****

                                            Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            610
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            14
                                            48
                                            18414
                                            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