NEWS

Blockly Script Zeitgesteuert mit Bewegungsmelder


  • Hallo zusammen und ein frohes neues Jahr ,

    habe folgende Situation.
    Habe im Badezimmer an die Spiegelschrankbeleuchtung einen Sonoff angeschlossen und habe noch einen Bewegungsmelder im Badezimmer von Xiaomi stehen.

    Der alte Script war : Bewegungsmelder erkennt Bewegung -sonoff(mit tasmota) schaltet Lampe ein - Sonoff schaltet Lampe nach 60 sec Verzögerung Lampe wieder aus.

    Aber Nachts ist die Lampe zu hell.
    Würde gerne das die Lampe nur zwischen 05 Uhr und 22 Uhr angeht.
    Bekomme es aber nicht hin.
    Angeht die Lampe nach erkannter Bewegung aber beim ausgehen nach 60 sec. schaltet der Sonoff ständig an und aus . Bis ich den Schalter ausmache oder den Script anhalte!

    Script.jpg

    <block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="/5a37CegSk|=RS`D+i%m" x="-762" y="-212">
      <field name="SCHEDULE">* * 5-22 * * *</field>
      <statement name="STATEMENT">
        <block type="controls_if" id=",9_Nr-P-{%Fd+Tc0-=Nu">
          <value name="IF0">
            <block type="logic_compare" id=";_i]cfZdrmL/qXWB6PuO">
              <field name="OP">EQ</field>
              <value name="A">
                <block type="get_value" id="05hB:}da}@CQX_^vBlC@">
                  <field name="ATTR">val</field>
                  <field name="OID">mihome.0.devices.sensor_motion_aq2_158d000222cce0.state</field>
                </block>
              </value>
              <value name="B">
                <block type="logic_boolean" id="we]ZUh]3i@HjcetV$L#.">
                  <field name="BOOL">TRUE</field>
                </block>
              </value>
            </block>
          </value>
          <statement name="DO0">
            <block type="control" id="}6;6~]L4/!BY.JwxYt#d">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">sonoff.0.Sonoff Badezimmer.POWER</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="logic_boolean" id="PDGjw4AYy[^(T_9;v]R|">
                  <field name="BOOL">TRUE</field>
                </block>
              </value>
              <next>
                <block type="control" id=";fBOHC6Xnv6I*z2Bqi;z">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                  <field name="OID">sonoff.0.Sonoff Badezimmer.POWER</field>
                  <field name="WITH_DELAY">TRUE</field>
                  <field name="DELAY_MS">1</field>
                  <field name="UNIT">min</field>
                  <field name="CLEAR_RUNNING">FALSE</field>
                  <value name="VALUE">
                    <block type="logic_boolean" id="Lf?Tk}6d2~/+sCR;xYF/">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </statement>
    </block>
    

    Hoffe habe es etwas verständlich erklärt.

    Würde mich über eure Hilfe freuen .


  • Sorry. Hier stand das gleiche


  • @schererV

    Ich würde es so machen
    Beim Trigger (falls Objekt - ObjektID) noch den Bewegungsmelder eintragen
    Bildschirmfoto 2021-01-05 um 18.22.27.png

    <xml xmlns="https://developers.google.com/blockly/xml">
      <block type="on" id="2c(iZx;+/u/Ybx+~5DF8" x="-712" y="-388">
        <field name="OID">Object ID</field>
        <field name="CONDITION">true</field>
        <field name="ACK_CONDITION"></field>
        <statement name="STATEMENT">
          <block type="controls_if" id=",9_Nr-P-{%Fd+Tc0-=Nu">
            <value name="IF0">
              <block type="logic_operation" id="0LGSq-jI,Wm],IM_;$y%" inline="false">
                <field name="OP">AND</field>
                <value name="A">
                  <block type="logic_compare" id=";_i]cfZdrmL/qXWB6PuO">
                    <field name="OP">EQ</field>
                    <value name="A">
                      <block type="get_value" id="05hB:}da}@CQX_^vBlC@">
                        <field name="ATTR">val</field>
                        <field name="OID">mihome.0.devices.sensor_motion_aq2_158d000222cce0.state</field>
                      </block>
                    </value>
                    <value name="B">
                      <block type="logic_boolean" id="we]ZUh]3i@HjcetV$L#.">
                        <field name="BOOL">TRUE</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="B">
                  <block type="time_compare_ex" id="BL7(vk[x4!Uc9/8{ka@#">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                    <field name="USE_ACTUAL_TIME">TRUE</field>
                    <field name="OPTION">between</field>
                    <value name="START_TIME">
                      <shadow type="text" id="v-r[Iak){uL4QQj?0BNq">
                        <field name="TEXT">05:00</field>
                      </shadow>
                    </value>
                    <value name="END_TIME">
                      <shadow type="text" id="3)p`BvrQ#XUw3ZH4h9ff">
                        <field name="TEXT">22:00</field>
                      </shadow>
                    </value>
                  </block>
                </value>
              </block>
            </value>
            <statement name="DO0">
              <block type="control" id="}6;6~]L4/!BY.JwxYt#d">
                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                <field name="OID">sonoff.0.Sonoff Badezimmer.POWER</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                  <block type="logic_boolean" id="PDGjw4AYy[^(T_9;v]R|">
                    <field name="BOOL">TRUE</field>
                  </block>
                </value>
                <next>
                  <block type="control" id=";fBOHC6Xnv6I*z2Bqi;z">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                    <field name="OID">sonoff.0.Sonoff Badezimmer.POWER</field>
                    <field name="WITH_DELAY">TRUE</field>
                    <field name="DELAY_MS">1</field>
                    <field name="UNIT">min</field>
                    <field name="CLEAR_RUNNING">FALSE</field>
                    <value name="VALUE">
                      <block type="logic_boolean" id="Lf?Tk}6d2~/+sCR;xYF/">
                        <field name="BOOL">FALSE</field>
                      </block>
                    </value>
                  </block>
                </next>
              </block>
            </statement>
          </block>
        </statement>
      </block>
    </xml>
    

  • @Wszene sagte:

    Ich würde es so machen

    ... und ich so, damit das Licht nicht ausgeht, wenn innerhalb der Ausverzögerung wieder Bewegung erkannt wird.

    Blockly_temp.JPG


  • @paul53

    Stimmt daran habe ich nicht gedacht
    Aber das wäre mir bestimmt aufgefallen wenn ich es getestet hätte 😊


  • Danke euch beiden. Jetzt läuft der Script so wie er soll

Suggested Topics

1.2k
Online

37.0k
Users

42.7k
Topics

593.3k
Posts