Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Tutorial] Xiaomi BWM HW Hack / 120s -> 5s Takt

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Tutorial] Xiaomi BWM HW Hack / 120s -> 5s Takt

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

      Hallo zusammen,

      das Tutorial richtet sich an diejenigen, welche Xiaomi Bewegungsmelder (Aqara) via Xiaomi Gateway am ioBroker betreiben und einen 5s detection Takt begrüßen würden.

      Und zwar ist ja bekannt das der detection Takt des BWM zu beginn der Kopplung bei 5s liegt. Das ist der Test-Mode. Der hält zwei Stunden an. Danach steigt der Takt auf die bekannten 120s. Für den ein oder anderen mag das ok sein, aber ich selbst und einige andere, wie ich gelesen habe, sind damit gar nicht zufrieden und wünschen sich den 5s Takt wie bei Kopplungsbeginn.

      Um dies zu erreichen muss eine kleine Änderung auf der Hardwareseite des BWM durchgeführt werden.
      Was benötigt man für die Durchführung:

      • kleiner Schraubenzieher (etwas zum hebeln)
      • Lötkolben
      • Litze
      • ältere Semester evtl. eine Lupe und eine dritte Hand 😉
      • und 5min Zeit, mehr ist es wirklich nicht.

      1 .
      Zu Beginn öffnen wir das Batteriefach und entnehmen die Batterie. Danach hebeln wir den hellgrauen Einsatz heraus. Er ist nur geklippst.

      d4f034b0-396e-4d12-bab7-70d3ef2d18bd-image.png

      2 .
      Danach ziehen wir die Platine vorsichtig aus dem Gehäuse und vermeiden das Berühren der Sensoren.

      11ce4f60-ba39-4b31-95f9-16e1868bf97e-image.png

      3 .
      Im nächsten Schritt analysieren wir die Punkte, welche miteinander verbunden werden sollen. Das wären TP4 und der untere Lötpunkt vom Taster.

      c532fe39-c342-40d6-8a9b-9cf2046ff753-image.png

      4 .
      Danach verbinden wir mit einer feinen Litze die zwei Punkte. Wie Ihr das macht, in welcher Reihenfolge ist euch überlassen.

      7239a0e4-7a82-419b-8c04-1411efcf829b-image.png 65373715-40f4-46d4-8a7f-0a7726ed500b-image.png
      Hauptsache es sieht am Ende so aus, oder besser:
      f6eb53ea-ac04-47bc-bd34-150a55667195-image.png

      5 .
      Zum Schluss alles wieder sauber zusammenbauen und der "schwierigste Teil ist schon geschafft.

      Jetzt sollte der BWM nach dem Koppeln hinaus, sprich nach zwei Std. immer noch einen Takt von 5s haben.
      Aber jetzt meldet sich nach dieser Zeit aus dem Gateway eine nette Frauenstimme und quasselt irgendwas von Ching Chang Chong 😉 Spass beiseite. Hier wird höchstwahrscheinlich darauf hingewiesen, das der BWM sich weiterhin im Test-Mode befindet. (Sollte jmd dieser Sprache mächtig sein, darf er mich gerne eines besseren belehren).
      Um diese nette Dame abzustellen, gehen wir in der Xiaomi Home App auf:

      MiGateway --> oben auf "Gerät" --> wieder auf MiGateway --> Lautstärke Einstellungen --> unter Lautstärke-Aufforderung stellen wir den Ton aus. So sind wir auch das lästige Gequassel los.

      Jetzt sollte soweit alles laufen. Der BWM hat seinen 5s Takt und keiner schreit aus dem Gateway!

      Wer jetzt noch ein Blockly benötigt um eine Lampe damit zu steuern für den habe ich auch noch was.

      8ed1ffb8-24a9-4bc6-8863-12970e7b46f5-image.png

      Code zum importieren :

      <xml xmlns="http://www.w3.org/1999/xhtml">
       <variables>
         <variable type="undefined" id="timeout3">timeout3</variable>
         <variable type="undefined" id="timeout">timeout</variable>
         <variable type="undefined" id="timeout2">timeout2</variable>
       </variables>
       <block type="on" id="u;;D50`#m*Z;%2.Ey?nD" x="63" y="-112">
         <field name="OID">mihome.0.devices.sensor_motion_aq2_158d000313e7f2.no_motion</field>
         <field name="CONDITION">any</field>
         <field name="ACK_CONDITION"></field>
         <statement name="STATEMENT">
           <block type="comment" id="h@hs4Jg-NmPZbn1+(;n=">
             <field name="COMMENT">timeout um nicht beim umschalten auf false zu triggern</field>
             <next>
               <block type="timeouts_settimeout" id="4V_~cEY^cOl]z;VB7mdA">
                 <field name="NAME">timeout3</field>
                 <field name="DELAY">100</field>
                 <field name="UNIT">ms</field>
                 <statement name="STATEMENT">
                   <block type="controls_if" id="e@^DlT=kU`VaBzGv-Jjx">
                     <value name="IF0">
                       <block type="logic_compare" id="vt:?LC/_@%@`1=uB$ZGr">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="get_value" id=";%cDPA;(uQab3M53HUq4">
                             <field name="ATTR">val</field>
                             <field name="OID">mihome.0.devices.sensor_motion_aq2_158d000313e7f2.state</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="logic_boolean" id="L5pF[:L)sNE4De5a?RUf">
                             <field name="BOOL">TRUE</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="timeouts_cleartimeout" id="N1[1$7$e]?$a8n)~58}B">
                         <field name="NAME">timeout</field>
                         <next>
                           <block type="timeouts_cleartimeout" id="J(Y^W%fXnZe!*x0F(wLY">
                             <field name="NAME">timeout2</field>
                             <next>
                               <block type="control" id="JY[h|2|)cMEyz*WqHn#w">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">hue.0.Philips_hue.Sofa.level</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_number" id="9O90oCsvBfTIs+B31SQb">
                                     <field name="NUM">100</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="timeouts_settimeout" id="hu=8y9~SkgvVnLCg4_@h">
                                     <field name="NAME">timeout</field>
                                     <field name="DELAY">10000</field>
                                     <field name="UNIT">ms</field>
                                     <statement name="STATEMENT">
                                       <block type="control" id="2!UpR3i)VoZk!sA.,BPi">
                                         <mutation delay_input="false"></mutation>
                                         <field name="OID">hue.0.Philips_hue.Sofa.level</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_number" id="$TLXn07CfK3b{AwXBl:0">
                                             <field name="NUM">50</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                     <next>
                                       <block type="timeouts_settimeout" id="Fd9,1sDvgD2r,0LV?Z}n">
                                         <field name="NAME">timeout2</field>
                                         <field name="DELAY">15000</field>
                                         <field name="UNIT">ms</field>
                                         <statement name="STATEMENT">
                                           <block type="control" id="ii(,1xZTUM.4fjanhU8B">
                                             <mutation delay_input="false"></mutation>
                                             <field name="OID">hue.0.Philips_hue.Sofa.level</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="BII$IN/0cd.|*%XFm?Ef">
                                                 <field name="NUM">0</field>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </next>
           </block>
         </statement>
       </block>
      </xml>
      
      

      Der Code sollte eigentlich selbsterklärend sein. Zu Beginn ein Timeout um nach 120s (ja der Timer ist Software seitig immer noch aktiv) wenn "Last motion" auf "false" ändert nicht den Trigger auslöst. Bei den "Steuer Blöcken" könnt ihr eure Lampen einbinden. Ich habe als Test eine Hue Lampe eingesetzt welche bei trigger auf 100% und nach 10s auf 50% und nach weiteren 5s aus geht. Sollte der BWM eine dauerhaft Bewegung triggern bleibt die Lampe bei 100% und geht, sollte keine Bewegung erkannt werden auf 50% und dann aus.

      Ich hoffe ich konnte dem ein oder anderen ein bisschen helfen. Solltet ihr Verbesserungsvorschläge, oder Kritik haben, lasst es mich wissen.

      Natürlich übernehme ich bei etwaigen Schäden keine Haftung. Jeder handelt auf sein eigenes Risiko.

      VG

      MartinK. 2 Replies Last reply Reply Quote 11
      • S
        Superdad last edited by

        Vielen Dank für die Anleitung!

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

          Eben meine 2 Sensoren optimiert und er triggert wie versprochen alle 5 Sekunden!
          Perfekt, so kann ich mein Licht in der Küche und Flur optimal auf Bewegungen steuern.
          So ist der Sensor für sein Geld mehr als unschlagbar!

          1 Reply Last reply Reply Quote 0
          • MartinK.
            MartinK. @ide10 last edited by

            @ide10 Hallo, ich habe noch eine kurze Frage... kann ich auch den Wert "Presense" anstatt "LastMotion" nutzen in dem Skript? Last Motion wird mir beim Aquara leider mit dem deConz Adapter nicht angezeigt 😉

            Opera Momentaufnahme_2019-11-20_122110_192.168.1.100.png

            1 Reply Last reply Reply Quote 0
            • I
              ide10 last edited by ide10

              @TDCroPower sagte in [Tutorial] Xiaomi BWM HW Hack / 120s -> 5s Takt:

              Eben meine 2 Sensoren optimiert und er triggert wie versprochen alle 5 Sekunden!
              Perfekt, so kann ich mein Licht in der Küche und Flur optimal auf Bewegungen steuern.
              So ist der Sensor für sein Geld mehr als unschlagbar!

              Der Hack funktionierte bei mir auch tadellos. Bin jetzt aber auf ein cc2531 zigbee2mqtt mit dem Zigbee ioBroker Adapter umgestiegen. So bin ich auch sicher wenn das Wlan mal nicht präsent sein sollte. Triggert dort auch im 5sek Takt.
              Und ja, die Motion Sensoren sind für Ihren Preis, sollte man sie um 10€ erworben haben, echt klasse.

              @MartinK sagte in [Tutorial] Xiaomi BWM HW Hack / 120s -> 5s Takt:

              @ide10 Hallo, ich habe noch eine kurze Frage... kann ich auch den Wert "Presense" anstatt "LastMotion" nutzen in dem Skript? Last Motion wird mir beim Aquara leider mit dem deConz Adapter nicht angezeigt 😉

              Opera Momentaufnahme_2019-11-20_122110_192.168.1.100.png

              Da ich kein deConz nutze kann ich nicht sagen welcher Datenpunkt bei der Bewegungserkennung aktualisiert wird. Aber sollte es "presense" sein, kann "LastMotion" einfach durch diesen ausgetauscht werden.

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

                Ich konnte soeben ebenfalls meine erste Skriptlogik mit dem Bewegungssensor erstellen.
                Der Bewegungssensor hängt in der Küche und steuert einen Xiaomi Yeelight Strip der als Passivbeleuchtung unter den Hängeschränken befestigt wurde.
                Die Steuerung des Bewegungslicht (Helligkeit auf 20%) soll nur ausgeführt werden falls der Sensor einen true wert hat UND der Nachtcheck (Skript ändert ein Datenpunkt auf true/false falls es Nacht ist).
                Falls der Sensor ODER der Nachtcheck auf false stehen wird das Licht ausgeschaltet oder bleibt bei false.
                Zusätzlich wird geprüft, ob das Licht über den Taster eingeschaltet wurde mit der Helligkeit 60% dann soll das Skript nichts verändern da dies vom Benutzer selbst gesteuert werden soll.
                Einen Timeout benötige ich nicht, da der Sensor erst nach ca. 60 Sekunden auf false stellt und dies wäre auch meine Timeout Zeit gewesen.

                blockyscript.png

                Blocky export

                <xml xmlns="http://www.w3.org/1999/xhtml">
                 <block type="on" id="u;;D50`#m*Z;%2.Ey?nD" x="63" y="-112">
                   <field name="OID">zigbee.0.00158d00027186b5.occupancy</field>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <statement name="STATEMENT">
                     <block type="comment" id="0Uq*WE2I^QkX5J[9Tk^e">
                       <field name="COMMENT">Yeelight ausschalten</field>
                       <next>
                         <block type="controls_if" id="_@z*T/e|S/KN!,KJn=LU">
                           <value name="IF0">
                             <block type="logic_operation" id="es4%P{bZFp0oBj^(RT](" inline="false">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_operation" id="J()`x(SC,p.1Sif=:8r2" inline="false">
                                   <field name="OP">OR</field>
                                   <value name="A">
                                     <block type="logic_compare" id="vt:?LC/_@%@`1=uB$ZGr">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id=";%cDPA;(uQab3M53HUq4">
                                           <field name="ATTR">val</field>
                                           <field name="OID">zigbee.0.00158d00027186b5.occupancy</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id="L5pF[:L)sNE4De5a?RUf">
                                           <field name="BOOL">FALSE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="logic_compare" id="P}`JBjN3xcW:G+q`SpPl">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id="lcJiDjY*!,[81k0A9S*%">
                                           <field name="ATTR">val</field>
                                           <field name="OID">javascript.0.Nachtcheck</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id="7,F}%3uG#Bi:uD%p]%}o">
                                           <field name="BOOL">FALSE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_operation" id="5R;-_E0qbF{-P:fsEle|" inline="false">
                                   <field name="OP">AND</field>
                                   <value name="A">
                                     <block type="logic_compare" id="a?%csg{Q=HCYTj`Pz8bI">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id="/h=FO?g#/F?[bBf.L)(|">
                                           <field name="ATTR">val</field>
                                           <field name="OID">yeelight-2.0.Yeelight_Strip2.control.power</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id="BxK3s@LjWX^y]`G:veh/">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="logic_compare" id="Tz:Ik|BQ0SgGPHR[638x">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id="X~P]s}bpE7zddhl8:jZs">
                                           <field name="ATTR">val</field>
                                           <field name="OID">yeelight-2.0.Yeelight_Strip2.control.active_bright</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="math_number" id="~jcDT5mM?PqnP6)I?nYL">
                                           <field name="NUM">20</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="7Y;9Y2Z_rMOf1sdc}10y">
                               <mutation delay_input="true"></mutation>
                               <field name="OID">yeelight-2.0.Yeelight_Strip2.control.power</field>
                               <field name="WITH_DELAY">TRUE</field>
                               <field name="DELAY_MS">2</field>
                               <field name="UNIT">ms</field>
                               <field name="CLEAR_RUNNING">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="ZEePuUdX9,I0rWdANKfB">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="control" id="V4D*HfMu)AjqJ/h;e+O`">
                                   <mutation delay_input="true"></mutation>
                                   <field name="OID">yeelight-2.0.Yeelight_Strip2.control.active_bright</field>
                                   <field name="WITH_DELAY">TRUE</field>
                                   <field name="DELAY_MS">2</field>
                                   <field name="UNIT">ms</field>
                                   <field name="CLEAR_RUNNING">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="c)K.DF3w5!OUe)Xi/[Qf">
                                       <field name="NUM">60</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="control" id="/*XempP2[b*B;ijyl{Jf">
                                       <mutation delay_input="false"></mutation>
                                       <field name="OID">yeelight-2.0.Yeelight_Strip2.control.ct</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="math_number" id="J7+GMogy]k3nL!k_)IuD">
                                           <field name="NUM">5000</field>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <next>
                             <block type="comment" id="Og0Rb,EQwNceqy4aW0AW">
                               <field name="COMMENT">Yeelight einschalten</field>
                               <next>
                                 <block type="controls_if" id="%U{[fwxDo~MPOY2evjWi">
                                   <value name="IF0">
                                     <block type="logic_operation" id="Z@|`xW,SsI[KtM/aw=6Y" inline="false">
                                       <field name="OP">AND</field>
                                       <value name="A">
                                         <block type="logic_operation" id="Kxn,vc`D0%7jZ29rkZwT" inline="false">
                                           <field name="OP">AND</field>
                                           <value name="A">
                                             <block type="logic_compare" id="#T4*}x8:1E^hSL/ZmV}D">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="HSwI@KStQ==u;ZT1?:eb">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">zigbee.0.00158d00027186b5.occupancy</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id="q!L~mGG^;,8huasfu6na">
                                                   <field name="BOOL">TRUE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_compare" id="IiRd`UdKQmR!0WjiBF:4">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="?=8cgZPIF6Mp|btvHoKz">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">javascript.0.Nachtcheck</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id="LnM1Ey)v6`ib{7v~QqIw">
                                                   <field name="BOOL">TRUE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_operation" id="3;s6Tvupap:NWIh9MRU!" inline="false">
                                           <field name="OP">AND</field>
                                           <value name="A">
                                             <block type="logic_compare" id="plJASNU^4lRK+240KtxF">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="X`K6a#5RiI@EnHQ(JNM{">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">yeelight-2.0.Yeelight_Strip2.control.power</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_boolean" id="pY$lNcCL)FS0NZXwq(Pp">
                                                   <field name="BOOL">FALSE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_compare" id="B9$Kr,`P+6-v(+9=8{Iz">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="S7gMpMD%,Jp@zDC_x!Fx">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">yeelight-2.0.Yeelight_Strip2.control.active_bright</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="6XC1n`/[5U.p{4?yyrFC">
                                                   <field name="NUM">60</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="control" id="}s*jh]Jc8(CiJ#n:lFns">
                                       <mutation delay_input="true"></mutation>
                                       <field name="OID">yeelight-2.0.Yeelight_Strip2.control.active_bright</field>
                                       <field name="WITH_DELAY">TRUE</field>
                                       <field name="DELAY_MS">2</field>
                                       <field name="UNIT">ms</field>
                                       <field name="CLEAR_RUNNING">FALSE</field>
                                       <value name="VALUE">
                                         <block type="math_number" id="B8vYU|zEyn1:C{%@%Afw">
                                           <field name="NUM">20</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="control" id="|?c-#]GeF!Q%9v5(:`z;">
                                           <mutation delay_input="true"></mutation>
                                           <field name="OID">yeelight-2.0.Yeelight_Strip2.control.ct</field>
                                           <field name="WITH_DELAY">TRUE</field>
                                           <field name="DELAY_MS">2</field>
                                           <field name="UNIT">ms</field>
                                           <field name="CLEAR_RUNNING">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_number" id="`j%8(D7V5e(Xi/5!O4jm">
                                               <field name="NUM">5000</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="control" id="84Gc(]CVJMbIJ?wZ![a/">
                                               <mutation delay_input="false"></mutation>
                                               <field name="OID">yeelight-2.0.Yeelight_Strip2.control.power</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="logic_boolean" id="LmB+bfCyl5B)M0BX)v?#">
                                                   <field name="BOOL">TRUE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                Hier noch Screenshots der Objekte um das Verhalten besser zu verstehen...
                Yeelight LED Strip
                yeelightstrip_objekte.png

                Xiaomi Bewegungssensor
                bewegungssensor_objekte.png

                1 Reply Last reply Reply Quote 0
                • H
                  hene42 last edited by hene42

                  Hallo, ich habe vor einiger Zeit einen BM umgebaut dieser funktioniert so super, jetzt habe ich noch zwei versucht umzubauen, die senden jetzt alle 5 Sekunden ohne Unterbrechung auch wenn keine Bewegung stattfindet.
                  Habe ich jetzt etwas verkehrt gemacht oder geht das mit neueren Sensoren nicht mehr?

                  Danke
                  Henri

                  P.S.: hat sich wahrscheinlich erledigt, nach einigen Minuten hat es aufgehört.... seltsam....

                  1 Reply Last reply Reply Quote 0
                  • haselchen
                    haselchen Most Active last edited by haselchen

                    Ist dieser Hack nur Hardwareseitig möglich?
                    Kann man keinen z.B. curl Befehl absetzen um den Intervall herunterzusetzen?
                    Beim Vibrationssensor von Xiaomi kann man feste Werte per Curl Befehl ändern.
                    Hintergrund der Frage ist, dass ich nicht löten kann und in meiner Umgebung auch niemanden habe.

                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                    • MartinK.
                      MartinK. last edited by MartinK.

                      Was auch noch ganz interessant wäre zu wissen, wie sich das 5 Sek. triggern auf die Standzeit der Batterie auswirkt ? 😉 ... Aber sonst finde ich das Projekt prima ! 🙂 👍

                      1 Reply Last reply Reply Quote 0
                      • Neuschwansteini
                        Neuschwansteini @haselchen last edited by

                        @haselchen welcher Curl Befehl ist das denn? (vibrationssensor)
                        Den kann man ja auch in der App mit der Empfindlichkeit einstellen.

                        Für den Motion wäre das natürlich super. Brauch da keine 5 sek - das ist schon zu oft. Aber 180 sind zuviel 🙂

                        haselchen 1 Reply Last reply Reply Quote 0
                        • haselchen
                          haselchen Most Active @Neuschwansteini last edited by haselchen

                          @ilovegym

                          Warte . Such dir den Thread mal raus.
                          https://forum.iobroker.net/topic/26118/conbee-2-kompatibilität/18

                          Da habe ich es beschrieben.

                          1 Reply Last reply Reply Quote 0
                          • C
                            CruziX last edited by

                            Habe das auch mit dem BWM in der Küche gemacht. Wobei ich deinen ersten timeout nicht verstehe ^^

                            Bei mir kann der BWM auch nach 5 Sek wieder Bewegung erkennen, aber man muss doch nur dern DP auf aktualisiert und ist wahr prüfen, wenn er dann auf false gesetzt wird, sollte das ja nicht triggern. Bzw. ich mache das so:
                            Ich setze dann abhängig von anderen Bedingungen einen variablen timeout und setze beim Ablauf den DP selbst auf false. So kann ich selbst steuern, wann Bewegung wieder erkannt wird. Wenn der BWM es selbst macht ist das auch in Ordnung. Ging mir an sich auch nur darum, dass nicht alle 5 Sek der Trigger durchlaufen wird

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              funboxbolzer @CruziX last edited by

                              Bei mir kann der BWM auch nach 5 Sek wieder Bewegung erkennen, aber man muss doch nur dern DP auf aktualisiert und ist wahr prüfen, wenn er dann auf false gesetzt wird, sollte das ja nicht triggern. Bzw. ich mache das so:
                              Ich setze dann abhängig von anderen Bedingungen einen variablen timeout und setze beim Ablauf den DP selbst auf false. So kann ich selbst steuern, wann Bewegung wieder erkannt wird. Wenn der BWM es selbst macht ist das auch in Ordnung. Ging mir an sich auch nur darum, dass nicht alle 5 Sek der Trigger durchlaufen wird

                              Welchen datenpunkt setzt du wie zurück?
                              Bin auch gerade am Bewegungsmelder einstellen 😉
                              Gruß Klaus

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                CruziX @funboxbolzer last edited by CruziX

                                @agent2408icloud-com Ich habe im adpter ordner von deconz das Objekt presence beschreibbar gemacht.
                                Wenn nun das Objekt auf true wechselt mache ich was und lasse nach einem Timeout (z.B. 30 Sekunden) den Datenpunkt wieder auf false setzen um den Trigger sozusagen wieder scharf zu schalten.

                                haselchen 1 Reply Last reply Reply Quote 0
                                • haselchen
                                  haselchen Most Active @CruziX last edited by haselchen

                                  @CruziX
                                  @agent2408icloud-com

                                  Nicht das manche es falsch verstehen.
                                  Der Datenpunkt wird nach Zeit X wieder auf false (manuell) gestellt.
                                  Bewegung wird trotzdem erst nach 60/90Sek wieder erkannt.

                                  F C 2 Replies Last reply Reply Quote 1
                                  • F
                                    funboxbolzer @haselchen last edited by

                                    @haselchen
                                    vielen Dank. Diese Info hilft mir doch enorm weiter. Da kann ich meine Schaltzeiten dementsprechend anpassen.
                                    Vielen Dank.
                                    Gruß Klaus

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      CruziX @haselchen last edited by

                                      @haselchen die Bewegung wird bereits nach 5 Sekunden wieder erkannt. Nur dass ich mit einem eigenen Timer erst nach 30 Sekunden wieder darauf reagiere

                                      haselchen 1 Reply Last reply Reply Quote 0
                                      • haselchen
                                        haselchen Most Active @CruziX last edited by

                                        @CruziX

                                        Der Aqara Bewegungsmelder?
                                        In den ersten 2 Stunden reagiert er sofort auf Bewegung nach dem Anlernen.
                                        Danach steigert sich die Zeit auf 60bis90 Sekunden bis er wieder auf true geht.

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          CruziX @haselchen last edited by

                                          @haselchen bin ein wenig verwirrt. Dafür ist doch dieser "Hack"? Nachdem man den so durchgeführt hat, wird nach 5 sekunden bereits wieder bewegung erkannt.
                                          In phoscon sieht man es allerdings nicht, da hardwaretechnisch nach ~60 sek. false zurückgemeldet wird. In iobroker sieht man aber, dass ich nach 5 sek. der Wert bei Bewegung wieder mit true aktualisiert. Deswegen setzte ich den Wert selber auf false um besser darauf triggern zu können

                                          haselchen 1 Reply Last reply Reply Quote 0
                                          • haselchen
                                            haselchen Most Active @CruziX last edited by

                                            @CruziX

                                            Ach so. Das meinst Du. Ja, der Hardware Hack ändert das.
                                            Sorry. Bin gedanklich falsch abgebogen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            758
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter aqara bewegungsmelder hardware hack xiaomi
                                            36
                                            158
                                            22731
                                            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