Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. GELÖST: Hat Blockly einen eigenen "internen" Timer, Skripte laufen zeitlich unsauber

    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

    GELÖST: Hat Blockly einen eigenen "internen" Timer, Skripte laufen zeitlich unsauber

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

      Hm… Ich erinnere mich, dass es so ein Thema schon gibt. Homoran hat da auch rumgemacht bei dem Thema...

      Schon Mal Waschmaschine gesucht hier im Forum? 😉

      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

      1 Reply Last reply Reply Quote 0
      • D
        den21 last edited by

        Ja habe ich, deswegen wollte ich zu beginn auch nicht von dem eigentlich Hintergrund schreiben, denn dieser "Fehler" ist ja unabhängig der eigentlich AUfgabe mit der Waschmaschine. Wenn ich dort einstelle "starte das script in 60 Sekunden" kann/darf es nicht schon nach 35 Sekunden ausgehen, also die Steckdose oder wie siehst du das?

        1 Reply Last reply Reply Quote 0
        • D
          den21 last edited by

          3331_3.jpg

          Hier sollte es doch eigentlich so sein, dass alles 20 Sekunden die Variable um +1 erhöht wird. Fakt ist aber, dass die Steckdose bereits nach knapp 40 sekunden ausgeht….. verstehe das nicht.

          Die Zeiten sollen später übrigens erhöht werden. Statt der 20 sekunden, soll das ganze alle 2 minuten durchlaufen und dann auch immer über alexa eine Info ausgeben. Nur zu testen habe ich halt deutlich kürzere Zeiten gewählt, nur zur Info.

           <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="+!|Z#=/kIF6;1Q^J7Vgf" x="-1913" y="-313"><mutation items="1"></mutation>
              <field name="CONDITION">true</field>
          
              <value name="OID0"><shadow type="field_oid" id="oC(]-VHJ!v,ga16gj99i"><field name="oid">hm-rpc.0.LTK0122793.1.STATE</field></shadow></value> 
              <statement name="STATEMENT"><block type="update" id="H;u@B,|;U`K4]V9b`Suo"><mutation delay_input="false"></mutation>
                  <field name="OID">Meine.Geräte.Waschmaschine_Info_</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="logic_boolean" id="mnW.p3QWb*DxC;h!YhJH"><field name="BOOL">FALSE</field></block></value> 
                  <next><block type="update" id="MBv~*~rur2|gsSmRtumQ"><mutation delay_input="false"></mutation>
                      <field name="OID">Meine.Geräte.Waschmaschine_Timer_</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="math_number" id="4qcKGhW?ZZZf@4PS*D*k"><field name="NUM">1</field></block></value> 
                      <next><block type="timeouts_setinterval" id="W1^upAga%Px`nE[8uy{*"><field name="NAME">intervall</field>
                          <field name="INTERVAL">15</field>
                          <field name="UNIT">sec</field>
                          <statement name="STATEMENT"><block type="controls_if" id="y26Ytf1v87=67G`DyLDq"><value name="IF0"><block type="logic_compare" id="?kQ]LXf0E7ELud+g0RJs"><field name="OP">LT</field>
                                  <value name="A"><block type="get_value" id="0,Pi)_jH?hScf}4+K4og"><field name="ATTR">val</field>
                                      <field name="OID">hm-rpc.0.LTK0122793.2.POWER</field></block></value> 
                                  <value name="B"><block type="math_number" id="qzu8R;-lqmq(ve,G2EOv"><field name="NUM">10</field></block></value></block></value> 
                              <statement name="DO0"><block type="update" id="P@)jNNMW;5Q`@g*?zjr6"><mutation delay_input="false"></mutation>
                                  <field name="OID">Meine.Geräte.Waschmaschine_Info_</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE"><block type="logic_boolean" id=")#.7--9(~~J;El5lS*pg"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></statement> 
              <next><block type="on" id="|.*0TYk.^wt{Sgyypc)l"><field name="OID">Meine.Geräte.Waschmaschine_Info_</field>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION">true</field>
                  <statement name="STATEMENT"><block type="timeouts_setinterval" id="r~S4=UDY5^IET9%?7q#M"><field name="NAME">Intervall2</field>
                      <field name="INTERVAL">20</field>
                      <field name="UNIT">sec</field>
                      <statement name="STATEMENT"><block type="controls_if" id="f5.~|i64/8-|B_BDP=RP"><value name="IF0"><block type="logic_operation" id="R+0=ydlkTOn?;=VdBwv!"><field name="OP">AND</field>
                              <value name="A"><block type="logic_compare" id="FR*bI/1w4MeMQ]X-vP6]"><field name="OP">EQ</field>
                                  <value name="A"><block type="get_value" id="=.;su`B=*%||gZ)2GD)2"><field name="ATTR">val</field>
                                      <field name="OID">Meine.Geräte.Waschmaschine_Info_</field></block></value> 
                                  <value name="B"><block type="logic_boolean" id="[)-wPK1?1T9JNeG-BA!}"><field name="BOOL">TRUE</field></block></value></block></value> 
                              <value name="B"><block type="logic_compare" id="Z%AUk6!8G0b/F=BtLe0]"><field name="OP">EQ</field>
                                  <value name="A"><block type="get_value" id="N_pep`2{g7NcNg8;lr:%"><field name="ATTR">val</field>
                                      <field name="OID">hm-rpc.0.LTK0122793.1.STATE</field></block></value> 
                                  <value name="B"><block type="logic_boolean" id=",6/CPoKF9,~[P[L(ja^|"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                          <statement name="DO0"><block type="update" id="Ro2}?3Y[H86Xf=[Txu2W"><mutation delay_input="false"></mutation>
                              <field name="OID">Meine.Geräte.Waschmaschine_Timer_</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE"><block type="math_arithmetic" id="|ibM%OaC0^d:(~@a`U[P"><field name="OP">ADD</field>
                                  <value name="A"><shadow type="math_number" id="35vnqY_;fJQYA)Vfk1!^"><field name="NUM">1</field></shadow> 
                                    <block type="get_value" id="1MXYZHfe`RV9LnI;,Il0"><field name="ATTR">val</field>
                                      <field name="OID">Meine.Geräte.Waschmaschine_Timer_</field></block></value> 
                                  <value name="B"><shadow type="math_number" id="@rnbRGrLMmH(=:*M3Rm7"><field name="NUM">1</field></shadow></value></block></value></block></statement></block></statement></block></statement> 
                  <next><block type="on" id="W=5sfW@[Q5HlSqgAD7]^"><field name="OID">Meine.Geräte.Waschmaschine_Timer_</field>
                      <field name="CONDITION">gt</field>
                      <field name="ACK_CONDITION">true</field>
                      <statement name="STATEMENT"><block type="controls_if" id="#C@cN)p#[^)^,[zH7|]R"><value name="IF0"><block type="logic_compare" id="FQ%%}e*T^.-,589gLO9l"><field name="OP">GT</field>
                              <value name="A"><block type="get_value" id="`,[A9pHcEftIA@K.4ocR"><field name="ATTR">val</field>
                                  <field name="OID">Meine.Geräte.Waschmaschine_Timer_</field></block></value> 
                              <value name="B"><block type="math_number" id="sU!m%F,woLNX!%Fxs?7V"><field name="NUM">4</field></block></value></block></value> 
                          <statement name="DO0"><block type="control" id="CvU{NGwD~Mn%1pQk8S@F"><mutation delay_input="false"></mutation>
                              <field name="OID">hm-rpc.0.LTK0122793.1.STATE</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE"><block type="logic_boolean" id="4FZ}^kP2yqZw=q5Y`da,"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></next></block></next></block></xml> 
          
          1 Reply Last reply Reply Quote 0
          • K
            Kueppert last edited by

            Ich bin mir nicht sicher, aber ich glaube, wenn mehrmals innerhalb deines Intervall getriggert wird, laufen mehrere Intervalle parallel. Gibt es den Block "Stop Intervall"? Den würde ich vor deinen Intervall Block setzen um das zu verhindern…

            Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

              @den21:

              Das Problem ist, dass die Dose immer unterschiedlich ausgeht, mal nach 35 Sekunden, mal nach der eingestellten Minute. `

              Das mit dem fehlenden Stop für den 60-Sekunden-Intervall sehe ich auch so

              Bedeutet:

              Jedesmal, wenn sich der Trigger auslöst, startet ein NEUER ZUSÄTZLICHER Intervall unter gleichem Namen und der vorherige bleibt aktiv, so dass du letztendlich x Intervalle endlos zu laufen hast, die sich überlagern.

              Also bevor du einen Intervall startest, setze einen Stop-Block für den Intervall mit dem gleichen Namen des darauffolgenden Interval-Blocks.

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

                Du startest verschiedene Intervalle und stopst diese nie das wird so nicht klappen.

                Schau dir doch Mal die Vorlage vom blockly Waschmaschinen Script an, was du vor hast macht man mit Timern die auch angehalten werden müssen.

                Sent from my iPhone using Tapatalk

                1 Reply Last reply Reply Quote 0
                • D
                  den21 last edited by

                  Macht absolut Sinn was ihr schreibt… habe es mal wie folgt angepasst. Es geht nun deutlich besser, wobei der Wert für den Timer nicht alle 20 Sekunden um +1 erhöht wird, sondern schneller.....

                  3331_4.jpg

                  1 Reply Last reply Reply Quote 0
                  • D
                    den21 last edited by

                    Problem ist gelöst! da ich das Intervall falsch beendet habe, ist der True Wert von der Variable Waschmaschine_Info_ alle paar Sekunden aktualisiert worden…. Dadurch passte es dann auch mit den weiteren Position nicht. Damit klappt es nun:

                    3331_5.jpg

                    Danke euch nochmal für die Hilfe/Impulse.

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

                      Ich finde den Aufbau persönlich noch sehr verwirrend und ich verstehe nicht warum du Intervalle benutzt und hochzählst

                      Sent from my iPhone using Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • D
                        den21 last edited by

                        Gerne bin ich für Vereinfachungen offen 😉

                        Oben schaut er alle 5 Minuten nach, ob der Verbrauch an der Dose unter 10 Watt ist. Irgendwann muss die Waschmaschine ja fertig sein.

                        In der Mitte möchte ich dann 4 x alle 5 Minuten an die fertige Waschmaschine erinnert werden.

                        Aktuell weiß ich mir da nicht anders zu helfen als mit 2 Intervallen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        861
                        Online

                        31.8k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        5
                        13
                        1122
                        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