New Aqara Human Presence Sensor FP1

I haven’t seen a Hue hardware hack. Sounds like your describing the hack for the older Aqara PIR sensors.

The Hue PIR should be adjustable without hacks down to 10s and should re-trigger immediately. z2m will let you set a value lower than 10, but in my testing 10s seems like functional limit.

Whatever timeout is set for the Hue, it should be able to re-trigger immediately after clearing.

Yes I did and describe the older hack. And yes you can get lower than 10 s. But the hue pir without the hack that I did test had a time limit off 60 sec before I could retrigger.

You have to have really ideal environment then - grats I guess :wink: For me it’s 20-40s from the moment I leave the bathroom. But that’s only if there’s nothing that prevents clearing at all. Now I’m experimenting with rotating it 90˚ - it sees 120˚ horizontally and only 40˚ vertically, so this way it’s possible to put it in a way that it doesn’t see left side of my bathroom where are clothing hanging and washing machine is standing. I really hope this will work as I’ve imagine it. :smiley:

As for the fast clear - It’s better to have as fast as possible because this way it’s you that can decide on how much time you’d like to leave as a buffer. Simply set it through the HA’s automation. I had this set this way with Hue only because it was clearing too often when someone was too still. Now I could remove that completely so it will turn off after closing the door and FP1 clearing itself.

1 Like

Odd. I have about a dozen Philips motion sensors, a mix of SML001/SML002/SML003 models. The minimum occupancy timeout really seems to be about 10s, even though they accept a lower value, but they will rall e-trigger immediately after sending clear.

Okay, misunderstanding. I was talking about a aqara motion sensor. The cool down is to save battery. The one in my main room has still it’s first battery. And I have that sensor for more then 2 years.

OK. That makes sense. Without the hardware hack, the older Aqara PIRs do have a 60 second cool down.

The z2m timeout setting on the “Settings(specific)” tab is internal to z2m only and doesn’t update the sensor itself. Z2M clears the status internally, but as far as the device is concerned it is still in “occupied” status will not sent a “clear” signal until after the 60 second cool down. It won’t trigger again until after it has sent the “clear” message.

Are you using undirected or left to right?

I tested both. Currently I have Undirected set because, as far I understood manual, left/right is only for Approach/Away events, so there’s no impact on how motion sensor works.

Just received 3 of these and am generally happy. I confirmed some of the same behavior already reported. If I have my ceiling fan running, enter a room and leave it either get stuck or takes a long time to clear. I’m generally ok with that, at least I expected it based on the comments in this thread. Also I did not see comments about pets, but my 20 pound dog definitely triggers the sensor, which I’m also generally OK with.

I do have a first world problem. The room I was most interested in setting up is too big. I had hoped that the 5m range might be a bit more, but it seems to be almost exactly 5m. even with high sensitivty. Anyone else seen further range? Also I’m used to motion sensors, which I usually place approx 8 feet above the ground when possible. Can these be placed on the ground? Will they work through furniture? I’m trying to find the best location for mine to get the maximum coverage.

I ordered the product today, I also have a ceiling fan in the room, how can you solve the problem of movement in the room if your fan is working and you are not in the room?

I solved this by angling the product down slightly towards the floor. Keep playing with different positions/angles until you find one that works for reliably detecting you but doesn’t see the fan.

I’m trying to add a FP1 to my HA setup but no luck so far.
I have:

  • Flashed Tasmota on my Sonoff ZB Bridge. Bridge is configured as Sonoff ZHABridge, following this guide until step 6
  • Have installed zigbee2mqtt add-on in my HA setup, pointing to my Sonoff bridge. I can see inbound http connection from HA to Sonoff on the Sonoff console.

When I try to join the FP1 in zigbee2mqtt, the interview process never completes. This is what I get in zigbee2mqtt’s log:

Info 2022-08-17 17:19:23Device '0x54ef44100053dc9e' joined
Info 2022-08-17 17:19:23MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e"},"type":"device_joined"}'
Info 2022-08-17 17:19:23MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0x54ef44100053dc9e"},"type":"device_connected"}'
Info 2022-08-17 17:19:23Starting interview of '0x54ef44100053dc9e'
Info 2022-08-17 17:19:23MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e","status":"started"},"type":"device_interview"}'
Info 2022-08-17 17:19:23MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0x54ef44100053dc9e"},"type":"pairing"}'
Debug 2022-08-17 17:19:23Received Zigbee message from '0x54ef44100053dc9e', type 'readResponse', cluster 'genBasic', data '{"dateCode":"20210121"}' from endpoint 1 with groupID 0
Debug 2022-08-17 17:19:23Received Zigbee message from '0x54ef44100053dc9e', type 'readResponse', cluster 'genBasic', data '{"swBuildId":""}' from endpoint 1 with groupID 0
Info 2022-08-17 17:19:23Successfully interviewed '0x54ef44100053dc9e', device has successfully been paired
Info 2022-08-17 17:19:23Device '0x54ef44100053dc9e' is supported, identified as: Xiaomi Aqara presence detector FP1 (regions not supported for now) (RTCZCGQ11LM)
Info 2022-08-17 17:19:23MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Aqara presence detector FP1 (regions not supported for now)","exposes":[{"access":5,"description":"Indicates whether the device detected presence","name":"presence","property":"presence","type":"binary","value_off":false,"value_on":true},{"access":1,"description":"Presence events: \"enter\", \"leave\", \"left_enter\", \"right_leave\", \"right_enter\", \"left_leave\", \"approach\", \"away\"","name":"presence_event","property":"presence_event","type":"enum","values":["enter","leave","left_enter","right_leave","right_enter","left_leave","approach","away"]},{"access":7,"description":"Monitoring mode with or without considering right and left sides","name":"monitoring_mode","property":"monitoring_mode","type":"enum","values":["undirected","left_right"]},{"access":7,"description":"The distance at which the sensor detects approaching","name":"approach_distance","property":"approach_distance","type":"enum","values":["far","medium","near"]},{"access":7,"description":"Different sensitivities means different static human body recognition rate and response speed of occupied","name":"motion_sensitivity","property":"motion_sensitivity","type":"enum","values":["low","medium","high"]},{"access":2,"description":"Reset the status of no presence","name":"reset_nopresence_status","property":"reset_nopresence_status","type":"enum","values":["Reset"]},{"access":1,"description":"Temperature of the device","name":"device_temperature","property":"device_temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Number of power outages (since last pairing)","name":"power_outage_count","property":"power_outage_count","type":"numeric"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"RTCZCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for device_temperature, takes into effect on next report of device.","name":"device_temperature_precision","property":"device_temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the device_temperature value (absolute offset), takes into effect on next report of device.","name":"device_temperature_calibration","property":"device_temperature_calibration","type":"numeric"}],"supports_ota":true,"vendor":"Xiaomi"},"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e","status":"successful","supported":true},"type":"device_interview"}'
Info 2022-08-17 17:19:23Configuring '0x54ef44100053dc9e'
Info 2022-08-17 17:19:23MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_successful","meta":{"description":"Aqara presence detector FP1 (regions not supported for now)","friendly_name":"0x54ef44100053dc9e","model":"RTCZCGQ11LM","supported":true,"vendor":"Xiaomi"},"type":"pairing"}'
Warning 2022-08-17 17:19:23Device '0x54ef44100053dc9e' left the network
Info 2022-08-17 17:19:24MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e"},"type":"device_leave"}'
Info 2022-08-17 17:19:24MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"left_network","meta":{"friendly_name":"0x54ef44100053dc9e"},"type":"device_removed"}'
Error 2022-08-17 17:19:44Failed to configure '0x54ef44100053dc9e', attempt 1 (Error: Read 0x54ef44100053dc9e/1 aqaraOpple([268], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":4447,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Timeout - 21823 - 1 - 32 - 64704 - 1 after 10000ms) at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7))

Zigbee channel is set to 25, network key is set to GENERATE.
Running Tasmota 12.0.2, and flashed ncp-uart-sw_6.7.8_115200.ota
Running HA Supervisor 2022.08.3

The device is shown under MQTT add-on, but all values are “unknown”:

If I do single presses on the FP1 button, I can see new entries coming in zigbee2mqtt log, as shown here below, but anyways all values for the MQTT device always remain as “unknown”:

Info <small>2022-08-17 17:34:57</small>`Device '0x54ef44100053dc9e' joined`

Info <small>2022-08-17 17:34:57</small>`MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e"},"type":"device_joined"}'`

Info <small>2022-08-17 17:34:57</small>`MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0x54ef44100053dc9e"},"type":"device_connected"}'`

Info <small>2022-08-17 17:34:57</small>`Starting interview of '0x54ef44100053dc9e'`

Info <small>2022-08-17 17:34:57</small>`MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e","status":"started"},"type":"device_interview"}'`

Info <small>2022-08-17 17:34:57</small>`MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0x54ef44100053dc9e"},"type":"pairing"}'`

Debug <small>2022-08-17 17:34:58</small>`Received Zigbee message from '0x54ef44100053dc9e', type 'readResponse', cluster 'genBasic', data '{"swBuildId":""}' from endpoint 1 with groupID 0`

Info <small>2022-08-17 17:34:58</small>`Successfully interviewed '0x54ef44100053dc9e', device has successfully been paired`

Info <small>2022-08-17 17:34:58</small>`Device '0x54ef44100053dc9e' is supported, identified as: Xiaomi Aqara presence detector FP1 (regions not supported for now) (RTCZCGQ11LM)`

Info <small>2022-08-17 17:34:58</small>`MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Aqara presence detector FP1 (regions not supported for now)","exposes":[{"access":5,"description":"Indicates whether the device detected presence","name":"presence","property":"presence","type":"binary","value_off":false,"value_on":true},{"access":1,"description":"Presence events: \"enter\", \"leave\", \"left_enter\", \"right_leave\", \"right_enter\", \"left_leave\", \"approach\", \"away\"","name":"presence_event","property":"presence_event","type":"enum","values":["enter","leave","left_enter","right_leave","right_enter","left_leave","approach","away"]},{"access":7,"description":"Monitoring mode with or without considering right and left sides","name":"monitoring_mode","property":"monitoring_mode","type":"enum","values":["undirected","left_right"]},{"access":7,"description":"The distance at which the sensor detects approaching","name":"approach_distance","property":"approach_distance","type":"enum","values":["far","medium","near"]},{"access":7,"description":"Different sensitivities means different static human body recognition rate and response speed of occupied","name":"motion_sensitivity","property":"motion_sensitivity","type":"enum","values":["low","medium","high"]},{"access":2,"description":"Reset the status of no presence","name":"reset_nopresence_status","property":"reset_nopresence_status","type":"enum","values":["Reset"]},{"access":1,"description":"Temperature of the device","name":"device_temperature","property":"device_temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Number of power outages (since last pairing)","name":"power_outage_count","property":"power_outage_count","type":"numeric"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"RTCZCGQ11LM","options":[{"access":2,"description":"Number of digits after decimal point for device_temperature, takes into effect on next report of device.","name":"device_temperature_precision","property":"device_temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the device_temperature value (absolute offset), takes into effect on next report of device.","name":"device_temperature_calibration","property":"device_temperature_calibration","type":"numeric"}],"supports_ota":true,"vendor":"Xiaomi"},"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e","status":"successful","supported":true},"type":"device_interview"}'`

Info <small>2022-08-17 17:34:58</small>`MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_successful","meta":{"description":"Aqara presence detector FP1 (regions not supported for now)","friendly_name":"0x54ef44100053dc9e","model":"RTCZCGQ11LM","supported":true,"vendor":"Xiaomi"},"type":"pairing"}'`

Warning <small>2022-08-17 17:34:58</small>`Device '0x54ef44100053dc9e' left the network`

Info <small>2022-08-17 17:34:58</small>`MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x54ef44100053dc9e","ieee_address":"0x54ef44100053dc9e"},"type":"device_leave"}'`

Info <small>2022-08-17 17:34:58</small>`MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"left_network","meta":{"friendly_name":"0x54ef44100053dc9e"},"type":"device_removed"}'`

Any help really appreciated !

To add the FP1 Presence Sensor to the Aqara app:

  1. Click the + sign in the top-right of the Aqara app
  2. Click on Sensors in the left column
  3. Click on the Motion Sensor P1
  4. Power on your FP1 Presence sensor
  5. Click on the gateway you’ll use to connect this sensor.
  6. Long press the button underneath the fold-out stand on the FP1 sensor, they say 5 seconds, usually for me about 7 seconds.
  7. The app will confirm you’ve added it. It’ll receive a brief firmware update, then you can go in to the sensor and adjust the settings.

Thanks, but what’s the point of adding it in the Aqara app ?
My hub is a sonoff zigbee bridge, flashed with Tasmota so not even supported by this app.

1 Like

I’m having the same issues as some, with the FP1 detecting my ceiling fan. I have the ceiling fan on an automation to turn on when the temp in my office gets to a certain point. If the fan is off the FP1 works great and the Office lights turn off just as I would expect, but if the Fan is on it never turns “off” so the lights stay on. I’m still experimenting with positioning, so hopefully I can find a spot that works reliably.

hi Littlbee

I have it working and my Sonoff coordinator flashed with the latest version. Before that, it would not work.
Not sure if it works with a Sonoff ZB bridge, but give it a try by checking if you are running the latest ZB2mqtt.

So, check the versions for your: zigbee2mqtt and sonoff coordinator (in your case the bridge)

Zigbee2MQTT version 1.27.0

Coordinator type: zStack3x0

Coordinator revision: 20220219

No need to use the Aqara app, specially if you don’t have an Aqara hub.

My understanding is that you can only update the firmware of the FP1 through the Aqara app. I’d be open to being corrected :slight_smile:

@mytasker , I have zigbee2mqtt 1.27.0-1 and latest firmware for the Sonoff bridge (ncp-uart-nsw_6.7.9_115200.ota).
I can have other Aqara devices joining the network without problem, such as the Aqara Smart Cube. But really not luck with FP1 - the joining process starts, all attributes seems to be discovered (checking the discovered MQTT device) but the join process always gets aborted by the FP1 leaving the network.

@xargs , as anyone else reported the need to update the FP1 firmware to get it working with ZHA or Z2M ? At least I didn’t find any particular hit on this, and main issue is that I would need to get a Aqara hub to get it working.

Is it possible to configure/use zones like “Toilet”, “Sink”,“Shower” for bathroom presence in Home Assistant’s Automations? Or, do we only have available a single zone with a 5 meter radius? Maybe we have to setup the zones first in their proprietary app?

Also, when people are referring to ceiling fan that interfere with the FP1, are they the big ones that hang off the ceiling in big open areas or does it apply to the small ones embedded in light fixtures used in bathroom/toilet?

PS: I only use native ZHA in Home Assistant and a HUSBZB-1 USB hub.

Does anyone know the vertical FoV of the device? Multiple review sites specify “120 degree FoV” but I assume that to be horizontal.

I’m experiencing some occasional false negative flapping while sitting on the floor and assume I’m below the FoV. I’d prefer to know the vertical FoV before re-mounting it.

Edit: Missed this because I was searching for “fov” or “field of view”.