The Aqara P1 (RTCGQ14LM) looks identical to older Aqara motion sensors, but under the hood it’s a different beast. Its predecessor, the RTCGQ11LM, hardcodes a 60-second re-trigger lockout — move in front of it at second 61 and your lights work fine; sit still at second 58 and they cut out. The P1 ships with that lockout configurable down to 2 seconds and up to 65,535 seconds via Zigbee2MQTT, adds a lux sensor, and keeps a quoted 5-year battery life on a single CR2450. None of that requires an Aqara hub. None of it requires the Aqara app or a cloud account.
This guide covers the full local setup path: pairing to Zigbee2MQTT, working through the one reliable pairing gotcha, configuring sensitivity and timeout, disabling the LED indicator for stealth installs, and building the two automations most setups actually need. You will not see the Aqara app mentioned again after this sentence.
Disclosure: Some links in this article may be affiliate links. We may earn a small commission at no extra cost to you.
Prerequisites: Home Assistant with Zigbee2MQTT and Mosquitto broker already running, a compatible Zigbee coordinator (Sonoff Zigbee 3.0 USB Dongle Plus or equivalent), and one Aqara P1 sensor in-box.
Why the P1 over the RTCGQ11LM
The short answer is that the older RTCGQ11LM was designed around the Aqara hub’s firmware logic, where the lockout was handled centrally. Standalone Zigbee use exposed the 60-second blind spot immediately, and there was no way to change it from Home Assistant.
The P1 exposes its parameters directly over Zigbee. You set the detection interval from Zigbee2MQTT’s device panel — no hub, no app, no cloud relay.
| Feature | RTCGQ11LM (older) | RTCGQ14LM — P1 |
|---|---|---|
| Detection timeout | Fixed 60 s | Configurable 2–65535 s via Z2M |
| Lux sensor | No | Yes (illuminance_lux entity) |
| Sensitivity adjustment | No | High / Medium / Low |
| LED disable | No | Yes (via Z2M trigger_indicator) |
| Quoted battery life | 2 years | 5 years (CR2450) |
| Zigbee2MQTT support | Full | Full (listed as RTCGQ14LM) |
If you are already using RTCGQ11LM sensors and the 60-second timeout is not causing problems in your setup, there is no strong reason to replace them. If it is causing problems — specifically motion-activated lights cutting off with people in the room — the P1 solves that cleanly.
What you need
- Zigbee coordinator — The Sonoff Zigbee 3.0 USB Dongle Plus (CC2652P chipset) is the current recommended option. SLZB-06 (Ethernet coordinator) also works if your HA host is not co-located.
- Zigbee2MQTT — Add-on version 1.36 or later. Earlier versions had incomplete P1 attribute exposure.
- Mosquitto broker — Standard HA add-on. Must be running before Zigbee2MQTT starts.
- The Aqara P1 sensor (RTCGQ14LM) — Fresh battery installed. Box includes a CR2450 and a plastic removal tab; use it, the factory tab can be loose.
No Aqara hub. No Aqara account. The sensor pairs to Zigbee2MQTT from a completely factory-fresh state — no prior Aqara app registration required.
Pairing the P1: the timing trick
This is the step most guides underspecify, and it’s where most pairing failures happen.
The P1 enters pairing mode when you long-press the reset button (small pinhole on the side) for about 5 seconds until the blue LED blinks three times rapidly, then continues blinking. The sensor is now advertising for a coordinator.
The problem: Aqara sensors have a short pairing window. If Permit Join was already open in Zigbee2MQTT before the sensor starts blinking, and the sensor is not close enough to the coordinator, the initial advertisement packet often gets dropped. The sensor times out after roughly 30–60 seconds and stops advertising. You re-press, nothing happens, repeat.
The fix:
- Hold the sensor within 1 metre of your coordinator (USB dongle or Ethernet coordinator).
- Press and hold the reset button until the blue LED starts the rapid triple-blink sequence.
- Only then go to Zigbee2MQTT → Settings → Permit Join → Enable.
- The device should appear in the Z2M device list within 10–20 seconds.
Sequence matters. Open Permit Join after the LED is already blinking, not before.
Wi-Fi channel interference note: Zigbee operates in the 2.4 GHz band. Zigbee channel 25 (roughly overlaps Wi-Fi channel 11) is a common source of pairing failures in dense home networks. If pairing fails repeatedly even with the timing trick, check your Z2M coordinator channel in Settings → Coordinator. Zigbee channels 15, 20, or 25 sit between Wi-Fi channels and have less overlap — channel 25 is the typical recommendation for Wi-Fi channel 6 users.
Once paired, close Permit Join immediately. Leave it open only while actively pairing.
Entities Zigbee2MQTT exposes
After pairing, navigate to the Z2M device panel for the P1. You will see the following entities exposed to Home Assistant:
| Z2M entity | HA entity type | Notes |
|---|---|---|
occupancy |
binary_sensor |
true / false; core motion trigger |
illuminance_lux |
sensor |
Lux value at sensor location |
battery |
sensor |
Percentage, CR2450 |
battery_low |
binary_sensor |
true when below threshold |
device_temperature |
sensor |
Internal sensor temperature |
The occupancy entity is what you’ll use in automations. illuminance_lux is useful for lux-conditional automations (covered below). Battery entities are passive monitoring — wire them into a notification automation if you want proactive alerts.
Tuning sensitivity and timeout in Home Assistant
This is the P1’s main advantage over the older sensor, and it’s straightforward once you know where to look.
In the Zigbee2MQTT device panel for the P1, scroll past the entity list to the Exposes section. You should see three configurable fields:
- Motion sensitivity (
motion_sensitivity) —high,medium, orlow - Detection interval (
detection_interval) — integer, seconds - Trigger indicator (
trigger_indicator) — enables or disables the blue LED flash on motion
Set these via the Z2M UI and the settings write immediately to the device over Zigbee. No restart needed.
Recommended starting values:
For a living room or hallway where you want lights to stay on while people are present: set detection_interval to 120 seconds and motion_sensitivity to medium. This gives a 2-minute hold after the last detected motion, which handles most “lights cutting off while sitting still” cases.
For a bathroom or small room where a faster timeout is acceptable: 30–60 seconds is typically sufficient. High sensitivity may trigger on pets; medium is a better default in mixed-occupancy households.
For a security/alert sensor rather than a lighting trigger: high sensitivity, 10–15 second detection interval, and consider disabling the trigger indicator (below) for less-visible placement.
The detection_interval range via Zigbee2MQTT is 2–65535 seconds. For the sensor’s rated 5-year battery life to hold, Aqara recommends keeping the interval at 30 seconds or above — shorter polling increases wake frequency and accelerates battery drain.
Lux threshold: read-only, not a trigger in the device
One thing that trips up first-time P1 users: the illuminance_lux entity is a reporting sensor, not a configurable threshold. The sensor does not natively support “only report occupancy if lux is below X” — that logic lives in your Home Assistant automations.
This is the right architecture for local control — you build the lux condition in HA rather than trusting firmware to apply it, which means you can change it without re-pairing or pushing config to the device.
Disabling the LED indicator
The P1’s blue LED flashes on every motion detection event. This is useful during setup and calibration, and a problem for bedroom installs, home office cameras, and anywhere you don’t want a blinking light.
In the Zigbee2MQTT device Exposes panel, set Trigger indicator (trigger_indicator) to disabled. The change applies immediately.
For stealth installs (near a camera, in a sleeping area, in a guest room where a blinking sensor would be conspicuous), disable the trigger indicator on day one. It has zero effect on detection performance.
Example automations
1. Motion-triggered lights with lux condition
Turn on lights when motion is detected and illuminance is below a threshold. Turn off lights after motion clears and a hold delay expires.
alias: "Living room lights — motion + lux"
trigger:
- platform: state
entity_id: binary_sensor.aqara_p1_occupancy
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.aqara_p1_illuminance_lux
below: 80
action:
- service: light.turn_on
target:
entity_id: light.living_room
mode: single
For the turn-off side, use a separate automation triggered on occupancy → off:
alias: "Living room lights — motion cleared"
trigger:
- platform: state
entity_id: binary_sensor.aqara_p1_occupancy
to: "off"
for:
seconds: 0
action:
- service: light.turn_off
target:
entity_id: light.living_room
mode: single
If you set the P1 detection interval to 120 seconds, the lights won’t cut out until 120 seconds after the last detected movement. Combined with the lux condition, the lights also won’t trigger during the day.
2. Away-mode intrusion alert
When Home Assistant is in Away mode and the P1 detects motion, send a notification.
alias: "Away mode — P1 intrusion alert"
trigger:
- platform: state
entity_id: binary_sensor.aqara_p1_occupancy
to: "on"
condition:
- condition: state
entity_id: input_select.home_mode
state: "Away"
action:
- service: notify.mobile_app_your_phone
data:
title: "Motion detected"
message: "Living room sensor triggered while Away"
mode: single
Adjust input_select.home_mode and the notify target to match your HA setup. This pattern works for any presence-based alert; swap in whatever mode helper you use.
Zigbee mesh tips
The P1 is a Zigbee end device, not a router. It does not relay messages for other devices on your mesh. This matters for placement: the P1 must have a reliable path to a router (or directly to your coordinator) at its installed location.
If you are placing the P1 more than 8–10 metres from your coordinator and there are no Zigbee routers (mains-powered devices that act as repeaters) between them, consider adding a router at an intermediate point — a Sonoff ZBMINIL2 in a nearby switchbox, or any mains-powered Zigbee bulb or plug will do.
Signs of a weak mesh path: intermittent occupancy → off → on bouncing, delayed state changes in HA, or the device periodically dropping off the network and requiring re-pairing. If you see these, check Z2M’s map view (Settings → Map) to visualize the device’s current route.
Battery-powered sensors are typically the last link in the mesh. Build your router coverage first, then position end devices.
Troubleshooting
Won’t pair at all:
- Ensure Permit Join is opened after the LED starts blinking, not before.
- Hold the sensor within 1 metre of the coordinator during pairing.
- Check Zigbee channel for Wi-Fi overlap (see pairing section above).
- Confirm Z2M is running and Mosquitto broker is connected before attempting pairing.
Pairs but disappears from mesh after a day or two:
- Weak signal path. Check Z2M map, add a router device between the P1 and coordinator.
- Interference from new devices on 2.4 GHz. Check if your Wi-Fi router channel changed.
occupancy stays stuck on true:
- The P1 detection interval is set very high and there’s still residual motion in the room.
- Or: the device lost its config after a re-pair and reverted to a long default. Re-apply the
detection_intervalsetting in Z2M Exposes panel. - Or: the sensor is in a high-airflow area (HVAC vent nearby) that keeps triggering. Reduce
motion_sensitivitytolowor relocate.
Config changes (detection interval/sensitivity) don’t persist after HA restart:
- This typically means Z2M wrote the value but the device didn’t acknowledge. Re-apply the setting while the device is awake (trigger it by pressing the reset button once — no hold, just a tap — to wake it).
No-cloud checklist
The P1 has no mandatory cloud dependency when used via Zigbee2MQTT — there is no pairing to Aqara servers involved in this setup path. However, if you want belt-and-suspenders isolation:
Add a firewall rule on your home router blocking outbound traffic to Aqara’s cloud domains from the VLAN or subnet where your HA host lives. The domains to block are documented in our Aqara local mode and privacy policy breakdown — that article also covers which Aqara devices phone home even when configured as local-only.
For the P1 specifically: if it’s running through Zigbee2MQTT and your HA host is not making outbound requests to aqara.com domains, the sensor itself has no independent network stack to reach out on. The coordinator USB dongle also has no independent networking. The risk surface is your HA instance — keep it firewalled.
Recommendation
The Aqara P1 is the Zigbee motion sensor to buy for Home Assistant if configurable timeout and a lux sensor matter to your use case. The RTCGQ11LM is still fine if you have it and the 60-second lockout isn’t causing issues — don’t replace working hardware. But for new installs, the P1 is the clear choice: the pairing timing trick aside, it is straightforward to set up, exposes everything useful over Zigbee2MQTT, and requires no cloud account or Aqara hub at any point.
Set the detection interval to match your actual room behavior, use the lux sensor in your automations rather than leaving lights triggering in daylight, and disable the trigger indicator if you don’t want visible indicators. That’s the complete setup — no ongoing maintenance required.
For related reading: if you’re evaluating whether to use an Aqara E1 hub instead of a standalone Zigbee dongle, see Aqara Hub E1 local setup for Home Assistant. For a broader Zigbee2MQTT setup walkthrough, start with Xiaomi and Aqara Zigbee devices in Home Assistant via Zigbee2MQTT.

Leave A Comment