Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly: Garagentor automatisch schließen lassen

    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

    Blockly: Garagentor automatisch schließen lassen

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

      @lastactionhero mach mal in Deinem Blockly diesen Block bitte weg

      Screenshot 2024-07-10 204328.png

      1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @LastActionHero last edited by

        @lastactionhero und du müsstest eine "stop timeout" Zeile einbauen bevor du den Timeout auslöst
        Wird das ganze dann noch mal angetriggert, kann es so den zuvor gestarteten , ja noch laufenden timeout beenden.

        Ich nehme hoffentlich richtig an das dieser dann nicht ausgeführt wird

        L 1 Reply Last reply Reply Quote 0
        • L
          LastActionHero @BananaJoe last edited by LastActionHero

          Hab ich gemacht, danke schonmal für den wertvollen Input! Jetzt passiert nichtsmehr. Tor geht garnicht mehr runter...

          Bildschirmfoto 2024-07-10 um 21.38.50.png

          wobei ich grade sehe, dass der stop timeout VOR den anderen muss. Das muss ich aber morgen weiter testen...

          BananaJoe 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @LastActionHero last edited by

            @lastactionhero den stop timeout_garagentor direkt über Ausführen timeout .. setzen, nicht in den sonst zweig

            L 1 Reply Last reply Reply Quote 0
            • L
              LastActionHero @BananaJoe last edited by LastActionHero

              hab ich eben auch schon festgestellt, allerdings, was passiert damit, wenn nun der timeout schon ausgelöst wurde, und wieder einer in die Garage rennt? Die Bedingung für den Stop-Timeout sind damit ja nicht erfüllt (Dummy ist an, Garage ist nicht zu, aber motion true) damit kommt es nicht zum stop-timeout.
              Bildschirmfoto 2024-07-10 um 21.47.53.png

              Heißt man müsste noch eine zweite Falls Verknüpfung machen mit Motion True und auch einen Stop-Timeout da rein packen?

              BananaJoe 1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @LastActionHero last edited by

                @lastactionhero sagte in Blockly: Garagentor automatisch schließen lassen:

                Heißt man müsste noch eine zweite Falls Verknüpfung machen mit Motion True und auch einen Stop-Timeout da rein packen?

                ich denke ja. Dann müsste man aber noch mal über den Auslöser nachdenken. Hat der Bewegungsmelder einen Status "Bewegung erkannt" und "Jetzt ist wieder ruhig" ? Sieht so aus als wäre das wahr und falsch

                Dann einfach in den sonst-zweig.
                Besser wäre "wenn falsch dann Timer anlaufen lassen" und "wenn wahr, timer stoppen"

                L 1 Reply Last reply Reply Quote 0
                • L
                  LastActionHero @BananaJoe last edited by

                  Ja, der Melder hat nur Motion: true/false
                  Aber, müsste es nicht auch so gehen?
                  Sobald der Melder seinen Status ändert, in was auch immer, wird der Timer gestoppt. Solange Bewegung oder eben keine Bewegung erkannt wird, bleibt der Status identisch. Ist Motion true wird keine Bedingung für einen neuen Timer erfüllt, aber der alte in jedem Fall gestoppt. Ist Motion dann false, sind alle 3 Bedingungen erfüllt und ein neuer Timer wird gestartet, der dann auch durchläuft, wenn Motion false bleibt und sich nicht ändert? Teste ich morgen früh!

                  Bildschirmfoto 2024-07-10 um 22.28.19.png

                  BananaJoe 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @LastActionHero last edited by

                    @lastactionhero genau, probiere einfach aus.
                    Ansonsten bau die Debug-Meldungen ein, dann kannst du im Log sehen was dein Skript macht, wo es steht.

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      LastActionHero @BananaJoe last edited by

                      @bananajoe scheint nun zu funktionieren, danke für die Hilfe! Ich beobachte das Verhalten nun noch ein paar Tage, dann kann ich den Export noch oben reinstellen für diejenigen, die auch nach sowas suchen! Danke!

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        LastActionHero @LastActionHero last edited by

                        @lastactionhero

                        nach nun 2 Wochen testen habe ich das Script noch um den Fall erweitert, dass bspw. bei Dunkelheit oder Dämmerung der Bewegungssensor gar keine Bewegung bei Öffnung des Tores erkannt hat. Damit funktioniert das Script ziemlich gut! Für alle, die es kopieren wollen, hier der Export:

                        <xml xmlns="https://developers.google.com/blockly/xml">
                          <variables>
                            <variable type="timeout" id="timeout_garagentor">timeout_garagentor</variable>
                          </variables>
                          <block type="on_ext" id="Rc,RDdc5.6wG*^S365kb" x="63" y="213">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                            <field name="CONDITION">any</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                              <shadow type="field_oid" id="8hnUfm/?(yNLdqZYZioq">
                                <field name="oid">hm-rpc.1.000920C99B440F.1.MOTION</field>
                              </shadow>
                            </value>
                            <value name="OID1">
                              <shadow type="field_oid" id="8AnIbRH(B2Z0mq*E[{%[">
                                <field name="oid">hm-rpc.1.002420C995C575.1.DOOR_STATE</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="timeouts_cleartimeout" id="T?qf2^:iUp,w(UT*ZQz;">
                                <field name="NAME">timeout_garagentor</field>
                                <next>
                                  <block type="controls_if" id="Mn:.=S/[gc[Thv5A|uXj">
                                    <value name="IF0">
                                      <block type="logic_multi_and" id="bfL7b$l[:-;i~hIrK|wL">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                                        <value name="AND0">
                                          <block type="logic_compare" id="*W{+nK5#|V!oF:.8L*s+">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="[r~|BdaEIVXhiu6{JM5X">
                                                <field name="ATTR">val</field>
                                                <field name="OID">0_userdata.0.Garage_Autoclose</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="logic_boolean" id="q=1%9$-8B}Z0U8%28k#)">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="AND1">
                                          <block type="logic_compare" id="Qq5B,Q|db2el8:aKjBWq">
                                            <field name="OP">EQ</field>
                                            <value name="A">
                                              <block type="get_value" id="nx62AQcvUCmy#c@$Asax">
                                                <field name="ATTR">val</field>
                                                <field name="OID">hm-rpc.1.000920C99B440F.1.MOTION</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="logic_boolean" id="e1x]U3dj#0ZIAq`Xk+Gd">
                                                <field name="BOOL">FALSE</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="AND2">
                                          <block type="logic_compare" id="_7d#`#s};ypO29N9upu6">
                                            <field name="OP">NEQ</field>
                                            <value name="A">
                                              <block type="get_value" id="mS]!-(O0uD9,u}`A#`td">
                                                <field name="ATTR">val</field>
                                                <field name="OID">hm-rpc.1.002420C995C575.1.DOOR_STATE</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="BV9G(8uj+VE?A.^me=a5">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO0">
                                      <block type="comment" id="JQ!5`+_8gzc?@iT^Mi|C">
                                        <field name="COMMENT">Nach 5 min ohne Bewegung automatisch schließen</field>
                                        <next>
                                          <block type="comment" id="BP05f8xMWyF:n[eD!g7H">
                                            <field name="COMMENT">2 min davon vorgegeben vom Bewegungsmelder</field>
                                            <next>
                                              <block type="timeouts_settimeout" id="w?3#}$|H,rD_$OA}6lO=">
                                                <field name="NAME">timeout_garagentor</field>
                                                <field name="DELAY">3</field>
                                                <field name="UNIT">min</field>
                                                <statement name="STATEMENT">
                                                  <block type="control" id="eyPVpw@h|Otg_5=%p_iG">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">hm-rpc.1.002420C995C575.1.DOOR_COMMAND</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="math_number" id="5O?]J$QiwJydKxtg5!`Q">
                                                        <field name="NUM">3</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </statement>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </xml>
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        896
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        437
                        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