P100 Multi-State Sensor: Feature Definitions and FAQs 01 | Door and Window Sensor

This short article aims to describe some characteristics of door and window detection on the Multi-State Sensor P100, supplementing information that is not fully spelled out in the user manual or other public materials due to length and simplicity constraints. It also attempts to suggest possible solutions to some common issues.

Principles and Characteristics of Door/Window Detection

1.1 Basic Principle and Theoretical Use Cases

Door and window detection is a defining P100 capability. The gyroscope and geomagnetic sensor give it a degree of horizontal-orientation awareness beyond a typical contact/vibration sensor. At calibration, the device records the current tilt and geomagnetic readings and treats that as “closed.” Sufficient change from that baseline is treated as “open.” In principle, the feature fits openings that rotate, whether the axis is vertical or horizontal relative to the floor.
By contrast, sliding doors or drawers—where the device does not rotate during operation—are outside the intended geometry (see “Special Scenarios” below). In Zigbee mode, in addition to open/close, the device can report a “tilted” window/door state: gravity direction has changed, not merely a swing open/close. That helps distinguish a composite window that is fully open versus tilted for ventilation when two rotation axes are involved.
  1. Troubleshooting

Issue 2.1.1: Failure to Detect Opening

The door/window is physically closed and correctly reported as closed, but opening it is not detected.

Possible causes:

2.1.1.1.Open/close uses the accelerometer, gyroscope, and magnetometer together; for the opening process, gyroscope data is decisive—rotation from a closed baseline can independently indicate “open,” and gyro data is generally less interference-prone than geomagnetics, so missed opens are uncommon. One exception: due to power consumption considerations, the gyroscope and magnetometer depend on wake-up from the accelerometer running at a low sampling rate. An exceptionally gentle open may fail to wake the device, so no open is reported. To test, tap the frame or the device before opening; if opens then register reliably, wake-up is likely the cause.

Solution: Mount farther from the hinge or closer to the handle—positions that produce more vibration during operation—to improve wake-up.

2.1.1.2.Network, hardware, or other issues are out of scope here.

Issue 2.1.2:

With the door/window physically closed and correctly reported as closed, after one open-and-close cycle the device reports open and stays open; further cycling does not restore “closed” until recalibration.

Possible causes:

Magnetometer readings have shifted significantly from the calibration baseline. P100 has some adaptive algorithms to cope with slowly changing magnetic field environments, but if the external magnetic field changes faster than expected, this problem can still occur.

Solutions:

2.1.2.1.Lower sensitivity, biasing toward “closed”. This will allow a larger range of geomagnetic deviation to be recognized as close.

2.1.2.2 Choose placement away from external magnets and ferromagnetic metals (iron, cobalt, nickel), especially objects that move.For example, on double-door refrigerators with magnetic seals, mount nearer the hinge of the monitored door to reduce interference from the other leaf.

Beyond magnets and ferrous objects, our testing also shows gradual magnetometer drift, which complicates reliable “closed” detection. For this reason, P100 door/window detection versus a traditional reed sensor tolerates a band around “closed” (a slightly ajar leaf may still read closed). That band depends on the local field and sensitivity setting, and may shift slowly with temperature or season. We cannot specify, for a given sensitivity, exactly how many degrees or centimeters of opening will register as “open,” but the band is generally wider than the very small gap typical of ordinary door sensors. If you must know the door is fully latched and can install a split sensor, a traditional split-body door sensor may be preferable. For typical automation triggers, “slightly ajar” is rarely critical, lowest sensitivity is often sufficient.

Geomagnetic drift is the most common cause, but adhesive loosening and posture shift are also possible, which need to recalibrate.

4.Special Scenarios

3.1 Garage Door Open/Close

Many users mount P100 on garage doors, where single-body installation is especially convenient. Door/window mode usually works, with these notes:

3.1.1 Set sensitivity to the lowest level without hesitation. Garage setups almost always include motors and other equipment that affect the local field, while the dominant signal is change in horizontal angle (gravity direction). Open/close need not rely on the magnetometer; lowest sensitivity costs little and reduces “stuck open” from field shifts.

3.1.2 For earlier open detection, mount higher so rotation begins sooner during travel.

3.1.3 On Zigbee, if lowest sensitivity still fails to return to “closed,” trigger automations on tilt state instead of open/close—magnetometer data are not used, but open detection is slower: the door must finish moving and remain still before a state is reported.

3.1.4 In Zigbee Object Status Monitoring mode, posture detection can also infer garage state (calibrate vertical when closed; any other posture means open), combining timely detection during motion with stability without magnetometer reliance.

3.2 Sliding Doors, Drawers, and Similar Cases

These are outside the intended rotation-based model. In rare cases, strong static field differences between open and closed may make detection workable if closed and open positions produce clearly different fields—e.g., a nearby ferrous track when closed. Closed-state field stability must be very stable; for drawers, avoid storing magnetically active items inside.

We still do not recommend this as a primary use case. Do not buy P100 solely for sliding doors or drawers if a split ordinary sensor fits. But if you have spare P100s or before installing it on where you intend to, you can give it a try to see if that works.(It is recommended not to use the built-in adhesive for simple tests, as it is too strong. Try temporarily fixing it with regular double-sided tape to see if the switch can be detected, and observe it for some time. If it works, then install it properly.)

If automation only needs motion awareness—not open vs. closed—e.g., light on when drawer moved and do not need to close the light through P100, use vibration or movement (Zigbee) instead.

3.3 Calibration When the Mount Is Inaccessible

For single-door wardrobes, users sometimes mount inside the door for aesthetics but cannot reach three presses when closed. Newer firmware supports remote calibration, but users without an Aqara hub may still be constrained.

Calibration runs two seconds. To avoid hand-induced vibration after button presses, data from the first second are actually discarded.

So you can press three times and close within one second (as quickly as possible) to complete calibration. If the door continues vibrating after closing, damp that motion so it does not corrupt calibration data.

9 Likes

Thanks for this detailed summary, very useful for troubleshooting.
I’ve mounted the sensor on my mailbox lid and encountered a lot of unwanted and wrong activations due to passing by lorries, strong winds and vibrations from tenants who open or close the house door (the mailbox is mounted on the wing of a double swing door which is normally fixed).
So I ended up to switch the logic of the sensor with good results. I calibrated the sensor horizontally as closed when the lid becomes opened and the postman puts something in and it reported as open when the lid is indeed closed. That eliminated all the fail alarms through vibrations.
After that I also inverted the notification alarm automations from becoming triggered by open status to become triggered by close status.

It would be perfect if @AqaraOfficial would add the possibility to calibrate the sensor either to closed or to opened status, e.g. with a simple toggle.
That would avoid to use this workaround.

2 Likes

thank you for clarifying, this will help a lot for troubleshooting as mentioned by @FrankH already :slight_smile:

1 Like

Thanks for sharing! The P100 can really only distinguish the calibrated position (the magnitude and direction of gravity and magnetic field) from other positions, but for many scenarios, ‘open’ isn’t a single, fixed position. For example, if I calibrate a door opened at 45 degrees, it can only tell the difference between 45 degrees open and other angles; at that point, a closed door or a 90-degree open door would look the same to the P100. However, the scenario you mentioned seems to have ‘open’ as a uniquely fixed position. Maybe we could just flip how open/closed is displayed and described to achieve the effect you mentioned, but this isn’t a general case, so I’m not sure if future product managers would add this feature. Long periods of vibration could accumulate errors in the gyroscope’s attitude integration, leading to misjudging if the door is open, which is indeed an issue. Thanks again for your share—it can be really useful reference for users in similar scenarios.

2 Likes