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

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Tutorial] Xiaomi BWM HW Hack / 120s -> 5s Takt

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
xiaomibewegungsmelderadapterhardware hackaqara
158 Beiträge 36 Kommentatoren 30.0k Aufrufe 49 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
    TDCroPower
    schrieb am zuletzt editiert von TDCroPower
    #6

    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 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      hene42
      schrieb am zuletzt editiert von hene42
      #7

      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 Antwort Letzte Antwort
      0
      • haselchenH Offline
        haselchenH Offline
        haselchen
        Most Active
        schrieb am zuletzt editiert von haselchen
        #8

        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.

        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

        ? 1 Antwort Letzte Antwort
        0
        • MartinK.M Offline
          MartinK.M Offline
          MartinK.
          schrieb am zuletzt editiert von MartinK.
          #9

          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 ! 🙂 👍

          ...konnte ich helfen ? Dann würde ich mich über ein Voting freuen ! (rechts unten)...

          1 Antwort Letzte Antwort
          0
          • haselchenH 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.

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #10

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

            haselchenH 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

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

              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              schrieb am zuletzt editiert von haselchen
              #11

              @ilovegym

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

              Da habe ich es beschrieben.

              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                CruziX
                schrieb am zuletzt editiert von
                #12

                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 Antwort Letzte Antwort
                0
                • C CruziX

                  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 Offline
                  F Offline
                  funboxbolzer
                  schrieb am zuletzt editiert von
                  #13

                  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 Antwort Letzte Antwort
                  0
                  • F funboxbolzer

                    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 Offline
                    C Offline
                    CruziX
                    schrieb am zuletzt editiert von CruziX
                    #14

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

                    haselchenH 1 Antwort Letzte Antwort
                    0
                    • C 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.

                      haselchenH Offline
                      haselchenH Offline
                      haselchen
                      Most Active
                      schrieb am zuletzt editiert von haselchen
                      #15

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

                      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                      F C 2 Antworten Letzte Antwort
                      1
                      • haselchenH 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 Offline
                        F Offline
                        funboxbolzer
                        schrieb am zuletzt editiert von
                        #16

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

                        1 Antwort Letzte Antwort
                        0
                        • haselchenH 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.

                          C Offline
                          C Offline
                          CruziX
                          schrieb am zuletzt editiert von
                          #17

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

                          haselchenH 1 Antwort Letzte Antwort
                          0
                          • C CruziX

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

                            haselchenH Offline
                            haselchenH Offline
                            haselchen
                            Most Active
                            schrieb am zuletzt editiert von
                            #18

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

                            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                            C 1 Antwort Letzte Antwort
                            0
                            • haselchenH haselchen

                              @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 Offline
                              C Offline
                              CruziX
                              schrieb am zuletzt editiert von
                              #19

                              @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

                              haselchenH 1 Antwort Letzte Antwort
                              0
                              • C CruziX

                                @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

                                haselchenH Offline
                                haselchenH Offline
                                haselchen
                                Most Active
                                schrieb am zuletzt editiert von
                                #20

                                @CruziX

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

                                Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                1 Antwort Letzte Antwort
                                0
                                • V Offline
                                  V Offline
                                  vikk88
                                  schrieb am zuletzt editiert von
                                  #21

                                  Vielen Dank für diese Anleitung. Es hat mich so genervt, dass ich unser Flurlicht nachts immer 60 Sekunden lang brennen lassen musste. Habe mein BM jetzt gelötet und hoffe das es soweit geklappt hat✊

                                  1 Antwort Letzte Antwort
                                  0
                                  • J Offline
                                    J Offline
                                    JensLangen
                                    schrieb am zuletzt editiert von
                                    #22

                                    Funktioniert prima.
                                    Eine kleine Ergänzung bei der Verwendung des ZigBee-Adapters:
                                    Hier muss - zumindest bei mir der Wert unter zigbee.x......occupancy_timeout auch auf 5 gesetzt werden. Dann klappt es.

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • J JensLangen

                                      Funktioniert prima.
                                      Eine kleine Ergänzung bei der Verwendung des ZigBee-Adapters:
                                      Hier muss - zumindest bei mir der Wert unter zigbee.x......occupancy_timeout auch auf 5 gesetzt werden. Dann klappt es.

                                      T Offline
                                      T Offline
                                      TDCroPower
                                      schrieb am zuletzt editiert von TDCroPower
                                      #23

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

                                      Funktioniert prima.
                                      Eine kleine Ergänzung bei der Verwendung des ZigBee-Adapters:
                                      Hier muss - zumindest bei mir der Wert unter zigbee.x......occupancy_timeout auch auf 5 gesetzt werden. Dann klappt es.

                                      Geil das funktioniert!
                                      Der boolean wechselt jetzt nicht mehr erst nach 60 Sekunden von true auf false.
                                      Jetzt muss ich in meinem Lichtscript wohl doch einen Timer eintragen damit das Licht an bleibt 😉

                                      edit:
                                      ok durch die Änderung von JensLangen habe ich mein Script von occupancy auf no_motion ändern können.
                                      Jetzt prüft das Skript, ob der Wert unter 60 Sekunden liegt und schaltet dann das Licht ein.
                                      Somit bleibt das Licht immer für ca. 60 Sekunden an und innerhalb dieser Zeit kann der Wert von occupancy gerne öfter von true auf false springen solange die Zeit nicht höher als 60 Sekunden steigt.
                                      Werde es heute Abend mal in der Küche beobachten, ob meine Idee auch so funktioniert.

                                      Yeelight_Kueche_steuern.png

                                      Hier der Export meinen Skripts, falls es jemand ebenfalls verwenden will.

                                      <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.no_motion</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="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">GT</field>
                                                         <value name="A">
                                                           <block type="get_value" id=";%cDPA;(uQab3M53HUq4">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">zigbee.0.00158d00027186b5.no_motion</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="%0-IZ@:ga{[b89f^mGqC">
                                                             <field name="NUM">60</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>
                                                 <statement name="DO0">
                                                   <block type="control" id="V4D*HfMu)AjqJ/h;e+O`">
                                                     <mutation delay_input="false"></mutation>
                                                     <field name="OID">yeelight-2.0.Yeelight_Strip2.control.active_bright</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="SovCZvd}6H5,[%j:d_}8">
                                                         <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">5400</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="control" id="7Y;9Y2Z_rMOf1sdc}10y">
                                                             <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="ZEePuUdX9,I0rWdANKfB">
                                                                 <field name="BOOL">FALSE</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="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">LT</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.no_motion</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="math_number" id=",i.d;D75QICUF`__2mi:">
                                                                     <field name="NUM">60</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>
                                                         <statement name="DO0">
                                                           <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>
                                                             <next>
                                                               <block type="control" id="}s*jh]Jc8(CiJ#n:lFns">
                                                                 <mutation delay_input="false"></mutation>
                                                                 <field name="OID">yeelight-2.0.Yeelight_Strip2.control.active_bright</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="math_number" id="B8vYU|zEyn1:C{%@%Afw">
                                                                     <field name="NUM">30</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="control" id="|?c-#]GeF!Q%9v5(:`z;">
                                                                     <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="`j%8(D7V5e(Xi/5!O4jm">
                                                                         <field name="NUM">5400</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                      </xml>
                                      

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        smartysmart
                                        schrieb am zuletzt editiert von smartysmart
                                        #24

                                        Steh ich grad auf dem Schlauch oder wieso finde ich hier "so komplizierte" Anleitungen 🙂 ?

                                        Man kann doch die "duration" einstellen ... Hier stellt man ein im welchen Intervall der Bewegungsmelder aktualisieren soll.
                                        Und mit dem "presence" kann mann dann auf wahr oder falsch triggern.

                                        5e0c3cd9-7b60-4697-855c-ca42a03fec38-image.png

                                        Das heisst der trigger reagiert auf Änderung vom presence.
                                        Wenn presence true dann licht an.
                                        Wenn presence falsch dann licht aus.
                                        14a1a744-a1c2-4f6c-8a05-6cc776f64c5f-image.png

                                        d.h solange man sich in diesem Raum befindet oder Bewegt geht das licht nicht aus.

                                        haselchenH 1 Antwort Letzte Antwort
                                        0
                                        • S smartysmart

                                          Steh ich grad auf dem Schlauch oder wieso finde ich hier "so komplizierte" Anleitungen 🙂 ?

                                          Man kann doch die "duration" einstellen ... Hier stellt man ein im welchen Intervall der Bewegungsmelder aktualisieren soll.
                                          Und mit dem "presence" kann mann dann auf wahr oder falsch triggern.

                                          5e0c3cd9-7b60-4697-855c-ca42a03fec38-image.png

                                          Das heisst der trigger reagiert auf Änderung vom presence.
                                          Wenn presence true dann licht an.
                                          Wenn presence falsch dann licht aus.
                                          14a1a744-a1c2-4f6c-8a05-6cc776f64c5f-image.png

                                          d.h solange man sich in diesem Raum befindet oder Bewegt geht das licht nicht aus.

                                          haselchenH Offline
                                          haselchenH Offline
                                          haselchen
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #25

                                          @mend

                                          Wenn man den Sensor aber nicht gehackt hat , geht das Licht erst wieder nach 60/90Sekunden an, weil presence dann erst wieder auf wahr geht.

                                          Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                          S 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

                                          732

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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