I modified five Xiaomi motion sensors 369 days ago. Still, all sensors work well without battery replacement.
Thanks a lot for bringing this to my attention. I’m definitely going to try this. The Xiaomi have been super reliable for me so far, and the battery life astounding. If this mod doesn’t destroy battery life then it’ll make them just the perfect replacement for the crappy Samsung ones!
Ok, I’ve attempted this with a great result, but there’s something really odd. So to put you in context: I’ve had a Xiaomi motion sensor (the old model without the light sensor) working great for about a year, and 3 new Xiaomi Aqara that just arrived today.
I thought I’d try the hardware mod in the old Xiaomi first, and I failed miserably. The soldering targets are pretty small and after a few botched attempts I decided to try with one of the new ones (and also to find a better piece of wire). I was successful with the Aqara sensor 10 minutes later, so I went and paired it to SmartThings for the first time. Just before that I had installed bspranger’s new device handlers, as I had been using the older version created by a4refillpad so far.
After configuring the modded Aqara, it was working well. Motion was being detected every 5 seconds, as expected. So I went ahead and paired another Aqara, but without modding it, just to compare the behavior. To my great surprise, this second Aqara worked identically, i.e. detecting motion at 5 secs intervals, after configuring the ‘MOTION RESET’ setting to 5 sets (it defaults to 2 minutes, I believe). So how is this possible? I thought perhaps these new Xiaomis no longer had the 60 secs blind limitation baked into the firmware… but it’s definitely not that.
Why? because I then updated the device handler for the old Xiaomi sensor to bspranger’s version, set the motion reset to 5, and booom, it’s now also detecting motion every 5 seconds. Likewise for the 3rd new Aqara.
So, what gives? Looks to me like this hardware mod is not really necessary with the latest device handlers… or am I missing something?
Based on what my custom DTH says in the settings, the MOTION RESET setting only determines how frequently MOTION DETECTED is reported in ST, but that the firmware dictates that the hardware can only detect a change (active vs. inactive) 60 seconds after the last activity. That would mean reporting every 5 seconds would probably be redundant because the hardware waits 60 seconds before the next detection. (I think)
I changed my MOTION RESET setting from 60 to 5 and didn’t see any additional logging. I’m not sure why not.
EDIT: OK, the MOTION RESET setting tells ST to reset the motion status to inactive every X seconds. (ie. Shows no motion in the ST app, etc.) You still have to rely on the hardware to wait (default 60 seconds) to register motion vs. no motion again.
That’s not what I’m seeing… I can wave a hand in front of any of the Xiaomis and they detect motion, wait 5 secs for them to report no motion, then wave a hand again and they keep reporting motion again instantly. I don’t see that 60 secs blind period described in the DHT.
I guess I’ll see what happens if I update my bspranger DTH. Mine says v1.1
Edit: It looks like v1.1 is the latest bspranger motion sensor dth.
Oscar, you will find out in a few hours. If you press the reset button on the side of XiaoMi motion sensor, it will report at intervals of 5 seconds for several hours. So if you connect the device for the first time, it is possible without changing the hardware. But in a few hours, Xiaomi Motion will report every two minutes. Note that the motion sensor does not report inactive. The DTH’s inactive time determines when it will change to the inactive state after the last reported active log. In DTH, it is better to set the inactive time to 2 minutes.
Increasing the reporting interval on a device, in this case by 24 times, potentially does three things:
as already mentioned, it can decrease battery life
the increase in chattiness might cause other messages on your network to have to be Resent, or even to be lost altogether. Over time, this can cause a perceived degradation in QOS ( Quality of service) as it may seem that the network as a whole is slower or not processing all messages.
Whether you will get hit with this or not depends very much on the specifics of your own layout. How many devices do you have? What parents/repeaters are they using? How chatty are the other devices? Etc.
- By trying to get around the manufacturer’s intended design, you may be throwing other aspects of the engineered design off-balance. In particular, increasing the reporting frequency may change the heat distribution of the device and cause overheating which eventually either affects the life of the device or potentially leads to shorting.
The zigbee home automation profile is intended for tiny messages sent infrequently. If you want near real-time reporting, you might want to take a look at a topology designed for that kind of load, such as Wi-Fi.
Submitted with respect.
You’re right. This morning indeed the sensors went back to reporting motion only once every 60 secs, except for the one with the hardware mod, which keeps doing so at 5 secs intervals How estrange is this behavior though… I can’t think of why these sensors would have been programed to behave in such a way
So, despite JDRoberts’s advice, which is fair enough, I’ll probably mod at least some of the other 3 sensors, depending on where I decide to place them. It’d be great if the detection period could be 10 or 20 secs instead of 5, but I certainly prefer 5 over 60 (assuming that doesn’t kill the battery). I think the Samsung ones use 20 secs, if I’m not mistaken.
I informed the Smartthings community in Korea a year ago about how to modify the Xiaomi motion. Many users in Korea use Xiaomi motion sensor with the hardware mod. All users who use it are satisfied with it. Maybe you will be satisfied too.
You can use 4B pencils instead of soldering. I have not modified it with the 4B pencil. However, one user in the Korean Smartthings community said that he succeeded with 4B pencil.
So just do understand, for the pencil method, you would just draw a line from TP4 to the 2nd point mention in your video?
Interesting! Can you post the picture of the motion sensor, or maybe post a link to buy the exact type. I don’t want to buy the wrong one. Thanks.
The video that shows the disassembly on the linked post doesn’t work.
Hello to you,
I allow myself to intervene here because I don’t know where to go.
I have an MI Sensor, a motion detector without the brightness. The first versions of the modules.
Considering your MOD I tried on one of mine.
(TP15 is not affected I checked well)
It works, I have many feedback in the MIHOME application from 4 to 5 movements every 60 seconds.
I just have two problems. After a period of time without detection, as soon as there is one, the gateway is associated.
The movements are well reassembled in the log but are not detected by home automation and therefore continue to hold 60 sec…
I don’t know if I need to use a particular software or if finally these modules are compatible with this MOD.
Could you help me?
I have read from users of the MiHome app that this modification does not work, probably because the software also includes a 60 second delay.
So this modification is only useful for SmartThings users with Xiaomi / Aqara motion sensors.
I’ve been using this little mod for over few months now
Everything working great as expected and battery still shows 100%
thank you op!
if anyone some tips for me how can i connect the two points? i test it and it seemts good for me, but when i test the motion sensor, i see some problems in home assistant (one problem is, that the occupancy never go back to false, it stay always on true )
can you help me with some tips?
Hi there, i had the same problems with 90 seconds and i was preparing to solder those two pins, but before I did annything i tried just to connect thosw two pins with screwdriver, and blue LED light blinks inside circuit, after that aqara motion sensor became super sensitive without soldering those 2 pins at all. Its again sensitive after 2 seconds (not 5 as many of you said).
I think that connection of those two pins works same as clicking button on the side of Aqara motion sensor. I didnt try it, because i dont want to ruin that sensitivity.
If annyone tries this please replay me.
I just recently installed this xiaomi motion sensor in my wardrobe to automate the light on/off routine
and what I noticed that there is huge delay between opening door and turing on the lights, after some tests I realised that sensor not sending event quick enough, after some googling I got to this article…
Not sure if I want to do that soldering process, probably I might attempt it, but anyway, I think this is poor design of the device!
Instead of putting 2 min delay, it should be event driven system!
If there is motion event - send event data instantly to the hub
No events - don’t send anything.
Additionally for example on my Domotics or Hassio server this device remains on/active for next 2 minutes after motion detected and I can’t change the value of that. Motion sensor should not stay active for 2 minutes after event happened. it should be 1 off trigger stating that something is moving - that’s it.
It is my/Domoticz/Hassio code logic to decide after how many seconds turn off the light, rather than being detected by sensor stop being active after threshold I can’t control.
Regarding avoid events flood in case if motion continue, there could be set an timeout time for repeat data send. for example if motion happened and continue, don’t send next package for next 5 sec and only then if motion continue repeat send action.
Maybe someone know better sensors and able to recommend?
i believe you can just jumper tp4 to tp15 as when i test continuity btw where you are shorting tp4 to, it seems to be connected to tp15