How to reduce the sensitivity of the Xiaomi motion sensor: from calibration to firmware

Xiaomi’s motion sensors (Aqara, Mi Home, Yeelight series) have become an integral part of smart homes due to their accuracy and affordability. However, many users are faced with false positives – the device responds to pets, drafts or even light fluctuations – a problem that not only irritates but also shortens battery life, making the sensor work idle.

In this article, we will discuss 7 proven ways to reduce the sensitivity of the Xiaomi motion sensor – from basic settings in the application to advanced methods like firmware alternative software. You will learn how to calibrate the device to specific conditions (for example, for a corridor with a cat or street lighting), what parameters affect the accuracy of the operation, and what to do if standard settings do not help. RTCGQ11LM, MCCGQ11LM, WXKG11LM other popular versions.

1. Basic settings in the Mi application Home/Aqara

The first thing to try is the built-in calibration tools in official apps. Most Xiaomi sensors support sensitivity adjustment right from the interface, but not all users know where to look for these options.

For Aqara models (e.g, RTCGQ11LM):

  1. Open the Aqara Home app.
  2. Go to the Devices. β†’ [Your sensor] β†’ Settings (βš™οΈ).
  3. Find Sensitivity or the Response Threshold (in some firmware hidden under Additional settings).
  4. Move the slider to the left to reduce sensitivity.Recommended value to start with β€” 50-70%.

For Mi Home sensors (e.g, MCCGQ11LM):

  • πŸ“± Go to Profile. β†’ Settings β†’ Developer Mode (if the option is hidden, tap 5 times according to the application version).
  • πŸ” Enable Show hidden device settings.
  • πŸŽ›οΈ Return to the sensor and find a new Advanced section where you can configure Detection Delay and Sensitivity.

πŸ’‘

If your app doesn’t have a sensitivity slider, try updating the sensor firmware through Settings. β†’ Software Update: New versions often add hidden options.

Important: after changing the settings, reboot the sensor (remove and insert the battery) - this will reset the settings cache, WXKG11LM) do not support software sensitivity adjustments, they will require hardware techniques (see Section 4).

2. Optimization of the sensor location

Often the problem of false positives is solved by the correct placement of the device. Xiaomi sensors use PIR-Sensors (passive infrared) that respond to changes in thermal radiation, if the device is directed at a heat source (battery, window with the sun) or is in the zone of drafts, it will fire randomly.

Accommodation rules:

  • πŸšͺ Install the sensor at a height of 2.0-2.5 m from the floor – this is the optimal zone for detecting a person, but outside the reach of pets.
  • πŸ• Avoid directing the sensor to air conditioners, heaters, aquariums - they create thermal interference.
  • 🌬️ Do not mount the device near vents or frequently opened doors (draughts may trigger a trigger).
  • πŸ”¦ For outdoor sensors (such as Xiaomi Mi Outdoor Sensor), use direct sunlight visors.
πŸ“Š Where you have a motion sensor installed?
In the hallway.
On the stairs.
In the room.
Outside.
Another option

If you can't move the sensor, try narrowing down the angle of view with a homemade cardboard or plastic screen. RTCGQ11LM You can close part of the Fresnel lens (white hemisphere on the front panel) with opaque tape, leaving only the desired sector open.

⚠️ Warning: Do not close the sensor completely, as this may cause the device to overheat, and avoid materials that reflect infrared radiation (such as aluminum foil).

3. setup of delay response (Debounce Time)

Many false positives occur because of too short a delay between motion detections. By default, Xiaomi sensors send a signal every 5-10 seconds if the movement continues. This leads to "rattling" - multiple notifications in a short period of time.

How to increase the delay:

  1. In annex Mi Home/Aqara Go to the sensor settings.
  2. Find the Delayed Time or Retrigger Interval option.
  3. Set the value of 30-60 seconds (maximum depends on the model).
  4. Save the settings and test the sensor.

For advanced users, if your app doesn’t have this option, you can change the latency through automation, for example, in Home Assistant or Node-RED, add a condition:

trigger:


platform: state




entity_id: binary_sensor.motion_sensor




to: 'on'




for:




hours: 0




minutes: 0




seconds: 30 # 30 seconds delay

πŸ’‘

Increased delay of response to 30+ Reduces false signals by 40-60% without loss of functionality.

Please note: some sensors (for example, WXKG11LM) In this case, only hardware modification or firmware replacement will help (see section 6).

Hardware modifications: screen and filters

If software methods fail, you can physically modify the sensor to reduce its sensitivity, a method that is suitable for users willing to disassemble the device (the warranty will be lost!).

Materials required:

  • πŸ”§ Small cross screwdriver (to open the body).
  • πŸ“ Black tape or shrink tube (diameter 5-10 mm).
  • πŸ” Smartphone Loop or Macro Lens (for accurate operation).
  • 🧴 Alcohol wipes (for cleaning the lens).

Step-by-step:

Disassemble the body, carefully slapping the latches with a screwdriver|Find the Fresnel lens (white hemisphere) and sensor PIR beneath|Stick black tape on the edges of the lens, leaving the central sector open (30–50%)|Collect the body and test the sensor for sensitivity-->

For street sensors like the Xiaomi Mi Outdoor Motion Sensor, you can use an IR filter, a piece of tinted film that reduces the penetration of sunlight: 3Mβ„’ Sun Control Window Film (density 15-20%).

⚠️ Warning: After modification, the sensor may be worse at detecting movement in the dark. If the device is used for security purposes, test it in night mode with the lights on.

5. Use of automation to filter signals

If the sensor is still falsely triggered but you don’t want to modify it, set up the smart home level signal filtering, which can be done in Home Assistant, Node-RED, or even the standard Mi Home app (via scripts).

Example of automation in Home Assistant to ignore short-term positives:

automation:


alias: "Filtration of false positives of the motion sensor"




trigger:




platform: state




entity_id: binary_sensor.motion_sensor




to: 'on'




condition:




condition: template




value_template: "{{ trigger.to_state.last_changed - trigger.from_state.last_changed > timedelta(seconds=5) }}"




action:




service: light.turn_on




entity_id: light.corridor_light

Explanation of the code:

  • πŸ”„ Automation only works if the sensor stays in the 'on' state for longer than 5 seconds.
  • 🚫 Short-term signals (such as from a fly) are ignored.
  • ⚑ Additionally, you can add a time condition (for example, turn off the sensor during the day).

For the Mi Home app:

  1. Create a new scenario (automation) β†’ +).
  2. Select the trigger motion sensor.
  3. Add the Time condition (for example, from 22:00 to 6:00, if the day of operation is not necessary).
  4. In action, specify the 30 seconds delay before turning on the light.
How to check the effectiveness of automation?
Create a schedule in Home Assistant (Developer Tools) β†’ History) and track how many times the sensor was triggered before and after the filter settings%+, Automation is working correctly.

6. firmware of alternative software (Tasmota, ESPHome)

For power users, the most radical way to do this is to replace standard firmware with custom firmware, like Tasmota or ESPHome, which gives you complete control over the sensor parameters, including:

  • πŸ“Š Accurate sensitivity adjustment PIR-sensor (PirThreshold).
  • ⏱️ Flexible Delay (PirDelay).
  • πŸ”„ Noise filtering (PirNoiseFilter).
  • 🌑️ Disabling the temperature sensor (if it interferes with the temperature sensor).

Instructions for firmware Tasmota:

  1. Download the firmware Tasmota (version for the ESP8266).
  2. Connect the sensor to the computer through USB-TTL Adapter (you need to sell wires to the contacts) TX, RX, GND, 3.3V).
  3. Run the firmware through esptool: esptool.py --port /dev/ttyUSB0 write_flash 0x0 tasmota.bin
  4. After firmware, connect to the Wi-Fi access point tasmota-XXXX and configure the settings in the web interface.

Example configuration for ESPHome (Yaml file):

binary_sensor:


- platform: gpio




pin:




number: GPIO13




mode: INPUT_PULLUP




inverted: True




name: "Motion sensor"




device_class: motion




filters:




- delayed_off: 30s # 30 Seconds Delay




- lambda: "return x && (id(last_trigger) == 0 || (millis() - id(last_trigger) > 5000));"




on_press:




then:




- lambda: "id(last_trigger) = millis();"

⚠️ Attention: Custom firmware voids the warranty and may cause the sensor to fail if the error occurs. Before the procedure, make a backup of the original firmware command: esptool.py --port /dev/ttyUSB0 read_flash 0x0 0x100000 backup.bin

Replacement of the sensor with a model with adjustable sensitivity

If none of the methods worked, it’s possible your Xiaomi sensor just doesn’t fit your conditions.In this case, consider alternative models with improved settings:

ModelSensitivityViewing angleRange.Features
Aqara FP1Regulated (3 levels)120Β°7mHomeKit support, protection from animals
Xiaomi Mi Motion Sensor 2 (RTCGQ11LM)Fixed (medium)170Β°6mLow energy consumption, no regulation
Yeelight Motion SensorAdjustable (in annex)110Β°5 m mIntegration with Yeelight lamps
Aqara FP2Regulated + AI filtering140Β°8mRecognises humans/animals, Matter

For street use, the best choice is Aqara. FP2 β€” It's equipped with a recognition algorithm that ignores animals and plant fluctuations. If you want maximum flexibility, look for Shelly Motion or Sonoff sensors. SNZB-03, Supporting Tasmota firmware out of the box".

Before buying, check compatibility with your ecosystem (Mi Home, Home Assistant, Apple HomeKit). FP1 Works with HomeKit, but requires Aqara Hub for full integration.

FAQ: Frequent questions about setting up Xiaomi sensors

My Xiaomi sensor is activating on a cat. How do I fix that?
For animal filtering: Set the sensor at 2.2-2.5 m height - cats rarely jump this high. Use an AI filtered model (e.g. Aqara) FP2). Set up automation that ignores signals shorter than 10 seconds (cats move fast). RTCGQ11LM, seal the bottom of the Fresnel lens with black tape, leaving the upper sector open.
After the firmware update, the sensor started to fire more often.
This is a problem with some models (for example, MCCGQ11LM after updating to version 1.4.5_0031). Decisions: πŸ”„ Roll back the firmware through Mi Home β†’ Sensor settings β†’ Update of the PO β†’ Select a local file (you need a backup of the old version). πŸ“΅ Turn off automatic updates in the application settings. πŸ› οΈ Sweep through custom software (Tasmota or ESPHome) If you can't roll back, try resetting the sensor to factory settings (hold the reset button). 10 seconds).
How to check that the sensor is working correctly?
To test: Install Sensor Logger (Android) or Home Assistant to record logs. Walk in front of the sensor at a distance of 3-5 m - it should work in 1-2 seconds. Check the reaction to interference: wave your hand at the window (draught), turn on the heater (heat source). Optimal indicators: 🟒 Response per person: 100%. 🟑 False positives: no more than 1-2 times per hour. πŸ”΄ Reaction delay: less than 3 seconds.
Can I use the Xiaomi sensor on the street?
Most of Xiaomi's sensors (for example, RTCGQ11LM) lacks protection from moisture (IP-lower IP44) And they're not designed for the street: 🌧️ Xiaomi Mi Outdoor Motion Sensor (IP54, rain-proof). 🏑 Aqara FP2 (IP55, For street use: Place the sensor under a visor or in a sealed box. Adjust the minimum sensitivity (so that it doesn't react to falling leaves). Use an IR filter to protect against the sun.
How to reset the Xiaomi sensor to factory settings?
The method depends on the model: πŸ”„ Reset button: Press and hold the button on the back for 5-10 seconds (until the indicator flashes). RTCGQ11LM, MCCGQ11LM. πŸ“± Through the app: In Mi Home, go to Sensor Settings β†’ Additionally. β†’ Drop it. πŸ”Œ Hardware reset: Remove the battery for 30 seconds, then insert back. After reset, the sensor must be added to the application again (Add device) β†’ Motion sensor).