Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Monitor mit Bewegungmelder koppeln.. sporadisches Verhalten

    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

    Monitor mit Bewegungmelder koppeln.. sporadisches Verhalten

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

      Hallo zusammen,

      ich habe bei mir im Flur einen Bewegungsmelder und Steuere darüber einen Sonoff S20 der dann einen Monitor ein und auschaltet.

      jetzt hab ich das problem das irgentwie mein Blockly nicht richtig funktioniert.
      hat jemand eine idee wo da der fehler liegt ?
      Der Monitor geht auch an und bleibt auch an... solte er auch (5min) aber wenn der Bewegungsmelder wieder ein Bewegung erkannt hat, schaltet er den Monitor wieder aus.

      Blockly_Monitor.JPG

      crunchip paul53 2 Replies Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @rubi007 last edited by

        @rubi007 sagte in Monitor mit Bewegungmelder koppeln.. sporadisches Verhalten:

        einen Bewegungsmelder

        und welchen?
        du hast wurde geändert beim Trigger, gehe davon aus, das dein BWM(xiaomi) für 120sek auf true bleibt und dann der DP wieder auf false schaltet. Dadurch schaltet entsprechend dein Script. Also müsstest du auf "wahr" triggern

        R 1 Reply Last reply Reply Quote 0
        • R
          rubi007 @crunchip last edited by

          @crunchip nein, ich habe den von der HomeMatic HM-Sec-MDIR-2

          B 1 Reply Last reply Reply Quote 0
          • B
            Burg_Io @rubi007 last edited by Burg_Io

            @rubi007 probiere es doch so zu lösen:

            9f2f4f3b-8cd4-4f90-bf47-dba24199a79b-image.png

            Entweder Variante 1 oder 2

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

              @rubi007 sagte:

              wenn der Bewegungsmelder wieder ein Bewegung erkannt hat, schaltet er den Monitor wieder aus.

              Es können mehrere Timer laufen, denn es fehlt "stop timeout". Vorschlag:

              Blockly_temp.JPG

              Wert findet man unter "Trigger".

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

                jetzt habe ich es so gemacht... und nur so funktioniert es
                aber wie kann ich es ermöglichen, das wenn ich jetzt in dem 1 min Countdown wieder eine Bewegung erkannt wird das er wieder den Counter zurücksetzt?

                Blockly_Monitor.JPG

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @rubi007 last edited by

                  @rubi007 ich muss dich da leider enttäuschen, auch der Programmaufbau wird nicht so funktionieren wie du das gern möchtest. wie @paul53 schon schrieb, fehlt dir der "stop timeout". Jedesmal wenn in deinem Programm eine Bewegung erkannt wird, wird ein neuer "timeout" gestartet, dadurch können mehrere "timeout" parallel laufen, daher musst du zuvor immer sicherstellen das du beim einschalten des Monitors den letzten aktiven "timeout" stoppst, auch wenn vielleicht keiner mehr läuft.

                  Als Vorschlag hätte ich zwei Varianten die du versuchen könntest:
                  Variante 1: Ohne "timeout"
                  61278bb0-f8bc-42bf-b567-a148d48c5908-image.png

                  <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="?$ZL{)2ZrU?V0x83{lJr" x="788" y="88">
                    <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="yNzDiLRx@jk{)/w0~Cos">
                        <field name="oid">default</field>
                      </shadow>
                    </value>
                    <statement name="STATEMENT">
                      <block type="comment" id="55;}3SEt7To9QDNn.i-U">
                        <field name="COMMENT">Monitor ein sofern eine Bewegung erkannt wurde</field>
                        <next>
                          <block type="controls_if" id="XZPE*IGWxQ`/sWhiD}Xx">
                            <value name="IF0">
                              <block type="on_source" id="J!lUX,GiUaSJG{KpdSa1">
                                <field name="ATTR">state.val</field>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="comment" id="`/A6sHRbn2{Mm/N%[}TS">
                                <field name="COMMENT">Setzt die Ausschaltung des Monitors zurück</field>
                                <next>
                                  <block type="timeouts_cleartimeout" id="2We4E#4F|OuN=fF.{=S^">
                                    <field name="NAME">timeout</field>
                                    <next>
                                      <block type="comment" id="QPJZHFFLVWWdD^30~t-z">
                                        <field name="COMMENT">Schaltet den Monitor ein</field>
                                        <next>
                                          <block type="control" id="DMK?M;{W-jB3taA4pJwW">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">Object ID</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="logic_boolean" id="f^=Yz[wvo?-{z:[jOx.I">
                                                <field name="BOOL">TRUE</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="comment" id=",c5Mk?0Lz$bDcZZW:M4s">
                                                <field name="COMMENT">Schaltet den Monitor verzögert aus</field>
                                                <next>
                                                  <block type="control" id="wBbgV9}phr{qN,Wb[W=r">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                    <field name="OID">Object ID</field>
                                                    <field name="WITH_DELAY">TRUE</field>
                                                    <field name="DELAY_MS">5</field>
                                                    <field name="UNIT">min</field>
                                                    <field name="CLEAR_RUNNING">TRUE</field>
                                                    <value name="VALUE">
                                                      <block type="logic_boolean" id="1o-AG]v?Bkte.o(-Mx3)">
                                                        <field name="BOOL">FALSE</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </statement>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                  

                  Variante 2: mit "timeout"
                  09301642-2a02-4559-831d-62299a729ca4-image.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="rjD}^APo;r]YUqQk-blt">bMonitorAktive</variable>
                      <variable type="timeout" id="timeout">timeout</variable>
                    </variables>
                    <block type="variables_set" id="#9h-kqI5nfnuZlt/l*4C" x="188" y="87">
                      <field name="VAR" id="rjD}^APo;r]YUqQk-blt">bMonitorAktive</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="!3Z$-zWwoQ=ZGpb]3j1X">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                      <next>
                        <block type="on_ext" id="N7^~#LguXF_yn-04ID7q">
                          <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="n#ZEudDIMVwSJ8qXT2U#">
                              <field name="oid">default</field>
                            </shadow>
                          </value>
                          <statement name="STATEMENT">
                            <block type="comment" id="Kh[tf*j4$PtvL+4}!Ii}">
                              <field name="COMMENT">Monitor ein sofern eine Bewegung erkannt wurde</field>
                              <next>
                                <block type="controls_if" id="(J:oJ{ITDHHQS5Xbwx5P">
                                  <mutation elseif="1"></mutation>
                                  <value name="IF0">
                                    <block type="on_source" id="pfb.JnNTJ1{5e3J-`gA-">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="comment" id="-ZQTeQVbJOjphyyeVzU+">
                                      <field name="COMMENT">Setzt die Ausschaltung des Monitors zurück</field>
                                      <next>
                                        <block type="timeouts_cleartimeout" id="_SX;*L-/BZkqSx,B?ajG">
                                          <field name="NAME">timeout</field>
                                          <next>
                                            <block type="comment" id="`ZPq`N,m0b0(m#rFXY;P">
                                              <field name="COMMENT">Schaltet den Monitor ein, sofern dieser noch nicht läuft</field>
                                              <next>
                                                <block type="controls_if" id="wF=yD+empyUk?7mki!Q7">
                                                  <value name="IF0">
                                                    <block type="logic_negate" id="b]6H?*sX?0CdSZJV:m~k">
                                                      <value name="BOOL">
                                                        <block type="variables_get" id="t4^O{|o:IuHl}lcu;99o">
                                                          <field name="VAR" id="rjD}^APo;r]YUqQk-blt">bMonitorAktive</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="variables_set" id="Y`{_yb@d`EI^Z9dPpIJ7">
                                                      <field name="VAR" id="rjD}^APo;r]YUqQk-blt">bMonitorAktive</field>
                                                      <value name="VALUE">
                                                        <block type="logic_boolean" id="(Wt.nRsGi4hi7h!XI]^M">
                                                          <field name="BOOL">TRUE</field>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="control" id="[uU2Q9LTC2s~AIVQg[sI">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                          <field name="OID">Object ID</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="logic_boolean" id="qx(j|HSE;GI-N{Ditw_G">
                                                              <field name="BOOL">TRUE</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                  <value name="IF1">
                                    <block type="variables_get" id="^@|psTCOIlRjfOCM~$^}">
                                      <field name="VAR" id="rjD}^APo;r]YUqQk-blt">bMonitorAktive</field>
                                    </block>
                                  </value>
                                  <statement name="DO1">
                                    <block type="comment" id="2O4omiHfjGl1@+.T]861">
                                      <field name="COMMENT">wird nur ausgeführt, wenn Monitor zuvor eingeschaltet war</field>
                                      <next>
                                        <block type="timeouts_settimeout" id="YAf/_]q(Cc-pp4sH$Yas">
                                          <field name="NAME">timeout</field>
                                          <field name="DELAY">1000</field>
                                          <field name="UNIT">ms</field>
                                          <statement name="STATEMENT">
                                            <block type="variables_set" id="u;msjChQOxMPizhJH*,k">
                                              <field name="VAR" id="rjD}^APo;r]YUqQk-blt">bMonitorAktive</field>
                                              <value name="VALUE">
                                                <block type="logic_boolean" id="}(cCAEV9BGe+:2F+A=t[">
                                                  <field name="BOOL">FALSE</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="control" id="^HPkihaU6gf!(OfrFlg/">
                                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                  <field name="OID">Object ID</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="logic_boolean" id="MdG#WVkn,C.KY/5(*2WH">
                                                      <field name="BOOL">FALSE</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </next>
                    </block>
                  </xml>
                  
                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Guest last edited by

                    @ferris sagte:

                    Variante 1: Ohne "timeout"

                    Woher nimmst Du die Variable timeout für "stop timeout" ?
                    Der Haken bei "löschen falls läuft" ist wichtig.

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @paul53 last edited by A Former User

                      @paul53 sagte:

                      Woher nimmst Du die Variable timeout für "stop timeout" ?

                      Ach verdammt, das ist noch ein Fehler im Programmablauf den ich vergessen habe zu löschen. Die Variable "timeout" wird für die Variante 1 nicht benötig und sollte gelöscht werden.

                      Der Haken bei "löschen falls läuft" ist wichtig.

                      ja, ganz genau, sonst würde weiterhin der von @rubi007 beschriebene Fehler auftreten.

                      Variante 1 nochmal korrigiert:
                      001e82d2-2372-4d59-9bc4-c1b930571b4f-image.png

                      <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="?$ZL{)2ZrU?V0x83{lJr" x="838" y="213">
                        <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="yNzDiLRx@jk{)/w0~Cos">
                            <field name="oid">default</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="comment" id="55;}3SEt7To9QDNn.i-U">
                            <field name="COMMENT">Monitor ein sofern eine Bewegung erkannt wurde</field>
                            <next>
                              <block type="controls_if" id="XZPE*IGWxQ`/sWhiD}Xx">
                                <value name="IF0">
                                  <block type="on_source" id="J!lUX,GiUaSJG{KpdSa1">
                                    <field name="ATTR">state.val</field>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="comment" id="QPJZHFFLVWWdD^30~t-z">
                                    <field name="COMMENT">Schaltet den Monitor ein</field>
                                    <next>
                                      <block type="control" id="DMK?M;{W-jB3taA4pJwW">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">Object ID</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="logic_boolean" id="f^=Yz[wvo?-{z:[jOx.I">
                                            <field name="BOOL">TRUE</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="comment" id=",c5Mk?0Lz$bDcZZW:M4s">
                                            <field name="COMMENT">Schaltet den Monitor verzögert aus</field>
                                            <next>
                                              <block type="control" id="wBbgV9}phr{qN,Wb[W=r">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                <field name="OID">Object ID</field>
                                                <field name="WITH_DELAY">TRUE</field>
                                                <field name="DELAY_MS">5</field>
                                                <field name="UNIT">min</field>
                                                <field name="CLEAR_RUNNING">TRUE</field>
                                                <value name="VALUE">
                                                  <block type="logic_boolean" id="1o-AG]v?Bkte.o(-Mx3)">
                                                    <field name="BOOL">FALSE</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </statement>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                      
                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      942
                      Online

                      31.9k
                      Users

                      80.1k
                      Topics

                      1.3m
                      Posts

                      5
                      9
                      446
                      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