Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly Script wirft Schleife (Bewegungsmelder SONOSS PIR2)

    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 Script wirft Schleife (Bewegungsmelder SONOSS PIR2)

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

      Hi zusammen,

      mein Plan ist, die Küchenlampe mit einem Bewegungsmelder zu schalten, solange ich in der Küche bin.
      Verlasse ich die Küche, soll die Lampe nicht wieder eingeschaltet werden, sondern nach einer Zeit ausgeschaltet werden.

      Das Script:
      fehlerhaftes_bewegungsmelder-lampe_script.txt

      Ich bin mir nicht sicher, denn:

      • der SONOFF PIR2 schickt sein 433Mhz Signal an eine SONOFF RF Bridge
      • die SONOFF RF Bridge wandelt das Signal in ein MQTT Signal um
      • schickt es an den PI und er steuert damit die Lampe

      Es gibt leider kein zweites Signal, mit dem ich die Lampe ausschalten kann, daher denke ich muss man das mit einer Schleife lösen, die mittels Trigger des neu einschaltens prüft, ob ich noch in der Küche bin.

      Mein derzeitiges Blockly schaut so aus und zerhaut mir quasi alles 😄 (Naja fast ;))

      Ganz lieben Dank Euch und beste Grüße

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

        @Tardar
        Der Block "wiederhole bis" erzeugt regelmäßig Endlosschleifen und sollte mit einer dicken Warnung versehen werden.
        Wie verhält sich der Datenpunkt "RfReceived_Data" bei erkannter Bewegung und ohne Bewegung ?

        EDIT: Versuche es mal hiermit:

        <xml xmlns="https://developers.google.com/blockly/xml">
         <variables>
           <variable type="timeout" id="timeout">timeout</variable>
         </variables>
         <block type="on" id="khHXF/7bWUWXepA+7X/x" x="-12" y="163">
           <field name="OID">sonoff.0.SonoffBridge.RfReceived_Data</field>
           <field name="CONDITION">any</field>
           <field name="ACK_CONDITION"></field>
           <statement name="STATEMENT">
             <block type="controls_if" id="9G{qmu+d7Cc2J^ChR~D?">
               <value name="IF0">
                 <block type="logic_operation" id="EDFf/c4Jn-6{U9xw3!ck" inline="false">
                   <field name="OP">AND</field>
                   <value name="A">
                     <block type="logic_compare" id="96!D,hPyk/{h))wQp1t=">
                       <field name="OP">EQ</field>
                       <value name="A">
                         <block type="on_source" id="T$GTgnLj7/?Exe2(]t%=">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="text" id="BC3fKG+^SAK?j;Th6XnF">
                           <field name="TEXT">E1C5AE</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="B">
                     <block type="get_value" id="beF.)k53Wqw?oK{7U?{H">
                       <field name="ATTR">val</field>
                       <field name="OID">radar2.0.Pascal._here</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="control" id="Lsg1llqy3C?+{YFjKTWx">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">zigbee.0.0017880102fc0272.state</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="logic_boolean" id="1g3.HS(Ci*1RsNB2sVsC">
                       <field name="BOOL">TRUE</field>
                     </block>
                   </value>
                   <next>
                     <block type="timeouts_cleartimeout" id="HgHWp?=Y50NXWTw~R)rU">
                       <field name="NAME">timeout</field>
                       <next>
                         <block type="timeouts_settimeout" id="QvmDriy]S[`R9AS],($B">
                           <field name="NAME">timeout</field>
                           <field name="DELAY">6</field>
                           <field name="UNIT">min</field>
                           <statement name="STATEMENT">
                             <block type="control" id="QB=T}L1U/-CWA4gMtB+@">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">zigbee.0.0017880102fc0272.state</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="]NBzBhCHZ%ESrCD{7e4;">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

        1 Reply Last reply Reply Quote 0
        • T
          Tardar last edited by Tardar

          Wenn keine Bewegung stattfindet, bleibt der Datenpunkt auf dem vorherigen Wert. Also dem, der den letzten Trigger gegeben hat.
          Das einmalige ein & ausschalten funktioniert.
          Ich teste das gleich nochmal mit einer längeren Dauer (Der Melder reagiert nur alle 5 Minuten)

          1 Reply Last reply Reply Quote 0
          • T
            Tardar last edited by

            Habe es jetzt testen können - das funktioniert 🙂
            Super klasse - ganz großes Dankeschön.

            Und jetzt eine gute Nacht. 😉

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

            Support us

            ioBroker
            Community Adapters
            Donate

            551
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            blockly
            2
            4
            300
            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