Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly Script wirft Schleife (Bewegungsmelder SONOSS PIR2)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    878

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Blockly Script wirft Schleife (Bewegungsmelder SONOSS PIR2)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
4 Beiträge 2 Kommentatoren 442 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    Tardar
    schrieb am zuletzt editiert von
    #1

    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 :D (Naja fast ;))

    Ganz lieben Dank Euch und beste Grüße

    paul53P 1 Antwort Letzte Antwort
    0
    • T Tardar

      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 :D (Naja fast ;))

      Ganz lieben Dank Euch und beste Grüße

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @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>
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        Tardar
        schrieb am zuletzt editiert von Tardar
        #3

        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 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          Tardar
          schrieb am zuletzt editiert von
          #4

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

          Und jetzt eine gute Nacht. ;)

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          640

          Online

          32.6k

          Benutzer

          82.1k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe