Best mmWave Human Presence Sensor Comparison: Aqara FP1, Tuya ZY-M100 and PS-HPS

Since mmWave Human Presence Sensors became a thing for the modern smart home, I’ve tested and reviewed a few of them on my AliExpress Reviews channel. First tested was the popular Aqara FP1, followed by two devices made by Tuya, the PS-HPS and ZY-M100. I’ve outlined their general characteristics, pros and cons, and Home Assistant integrations in their respective reviews.

In this article, I will compare all three of them in real life scenarios, measure responsiveness, speed and reliability.

Aqara FP1 Human Presence Sensor ~ $49.99
AliExpress 1 | AliExpress 2
AliExpress 3

Tuya ZY-M100 Human Presence Sensor ~ $27
AliExpress 1 | AliExpress 2
Amazon.com 1 | Amazon.com 2 (Ceiling)

Tuya PS-HPS Human Presence Sensor ~ $25
AliExpress 1 | AliExpress 2
Amazon.com 1 | Amazon.com 2

Technical Characteristics Comparison

Aqara FP1Tuya ZY-M100Tuya PS-HPS
Communication:ZigBeeZigBee/Wi-FiZigBee/Wi-Fi
Device Type:EndDeviceRouterRouter
Product Size:52x45x36mm58x58x11mm (wall)
Ø61×39 mm (ceiling)
100x100x35mm
Sensor:60GHz mmWave Radar5.8GHz mmWave Radar24GHz mmWave Radar
Power Supply:5V1A5V1A (wall)
80-240VAC (ceiling)
5V1A
Detection Range:5m9m (wall)
7m (ceiling)
3m
Detection Angle:120°100°90°

All three devices come in ZigBee variant, but only the Tuya devices are capable of acting as a router in a mesh network. They can all be powered with a 5V1A adapter, but the FP1 is the only one that ships with an adapter in the package. Their angle and detection range are spec’d quite differently, but this does not translate exactly as stated.

All three devices are based around three different mmWave sensors operating at different bands: 5.8, 24 and 60GHz. Even though 5.8GHz is technically microwave and not millimeter wave, it operates in same way 24GHz and 60GHz sensors do. It emits electromagnetic waves with the help of a transmitter which are reflected back to the sensor, this is known as the echo time. The receiver in the sensor then analyses the waves that are bounced back and the sensor is triggered. 

The Tuya PS-HPS is largest device of the lot, by far. I’ve mention in its review that its case is possibly being reused from something else by Tuya. The thickness of the Aqara FP1 and Tuya PS-HPS is the same, but the FP1 is much smaller. The ZY-M100 is the thinnest and leaves the smallest footprint in your home. However, the FP1 is the only one that comes with a rotating swivel, which makes adjusting a seamless process.

Testing Setup

To test and compare the operation of these sensors, I decided to mount them at eye-height overlooking a wide room and measure their response in Home Assistant. They are all USB powered, paired to ZigBee2MQTT + Sonoff ZBDongle-P with signal quality of 255 LQI. I left them in this position 2 days before actually testing, to ensure their communication is solid. None fell of the network in this time frame, or presented any other issues so I was good to proceed.

Advertisement

I fixed all three on a wooden board, perpendicular to the floor. I secured the Aqara FP1 swivel, so there is no advantage or disadvantage when benchmarking. I had to power up the Tuya sensors with old phone chargers, because they ship only with a cable.

The layout of the room allowed for multiple points of entry, as well as distance. To measure response when approaching directly from a greater distance, I entered on the opposite side of the room (terrace). To measure response when approaching shorter distances, I entered from the side (kitchen).

Test A: Presence Detection Speed

In the first test, I measured the detection speed reported of each of the sensors in Home Assistant. Their main binary_sensor.presence entities were added to a dashboard and measured with a timer. Some users asked for the sensor.presence_event entity of the Aqara FP1 to be measured as well, because it reports faster than its main binary_sensor entity. I used the maximum sensitivity and range settings for each sensor:

  • Aqara FP1
    • approach_distance: far
    • monitoring_mode: undirected
    • motion_sensitivity: high (maximum)
  • Tuya ZY-M100
    • detection_delay: 0s
    • fading_time: 0.5s
    • minimum_range: 0m
    • maximum_range: 9.5m
    • radar_sensitivity: 9 (maximum)
  • Tuya PS-HPS
    • default settings (sensor does not allow tweaking!)

Test A1: Approaching from 3 meters

  • First entity: Aqara FP1 presence_event
  • Second entity: Tuya ZY-M100 binary_sensor
  • Third entity: Tuya PS-HPS binary_sensor
  • Forth entity: Aqara FP1 binary_sensor

The first entity to update its state at 3 meters is the Aqara FP1 presence_event entity, followed closely by the Tuya ZY-M100 binary_sensor main entity. Interestingly, the FP1s main entity is the last one to change its state. The timeline is mirrored in my Home Assistant logbook.

Test A2: Approaching from 6 meters

  • First entity: Tuya ZY-M100 binary_sensor
  • Second entity: Aqara FP1 presence_event
  • Third entity: Tuya PS-HPS binary_sensor
  • Forth entity: Aqara FP1 binary_sensor

At 6 meters, the first entity to update its state is the Tuya ZY-M100 binary_sensor, followed closely by the Aqara FP1 presence_event entity. Again, the last to change its state is the Aqara FP1 main binary_sensor entity with the Tuya PS-HPS being somewhere in between. The same can be seen from my HA logbook:

Test A3: Hand wave from behind a wall

  • First entity: Tuya ZY-M100 binary_sensor
  • Second entity: Aqara FP1 presence_event
  • Third entity: Tuya PS-HPS binary_sensor
  • Forth entity: Aqara FP1 binary_sensor

When a hand is waved from behind a wall, the Tuya ZY-M100 is the first one to react. The Aqara FP1 presence_event entity changes state to a little before the Tuya PS-HPS binary_sensor, with the main entity of the FP1 again being last. From the logbook:

Advertisement

The only thing which can be considered a false positive is the presence event of the Aqara FP1 changing state to “approach”, when in fact I was just waving my hand from behind the wall.

Aqara FP1 Presence Event as a Trigger

As you can see from my tests, the Aqara FP1 operates a little differently from the other two sensors. When it detects motion, first it updates its presence_event entity with the appropriate event (eg. enter, approach, leave etc.) In about 5-6 seconds, it updates its main binary_sensor entity state to “on”, meaning motion detected.

Because the main binary_sensor is slow to change state, we can exploit the presence_event entity in our automations. If you want to rely on its accuracy, you can even fire different automations based on the approaching side. To to this, we have two options:

Triggering automations based on non-null value (anything other than leave)

description: "Turn on Light When Presence Event Changes State" mode: single trigger: - platform: state entity_id: - sensor.aqara_fp1_presence_event from: leave condition: [] action: - service: light.turn_on data: {} target: entity_id: light.dining_room
Code language: YAML (yaml)

This automation will turn on the lights whenever the presence_event entity is updated with any state other than leave, which is the default the entity stays at when no presence is detected. For this automation, monitoring_mode must be set to undirected.

Triggering automations based on approaching sides (left_enter, right_enter, left_leave, right_leave etc.)

description: "Turn on Light When Entering From Left Side" mode: single trigger: - platform: state entity_id: - sensor.aqara_fp1_presence_event to: left_enter condition: [] action: - service: light.turn_on data: {} target: entity_id: light.dining_room
Code language: YAML (yaml)

With this automation, you can turn on your light when you approach the room from the left side. This requires the monitoring_mode to be set to left_right.
Please note, you will have to experiment with positioning and sensitivity in order to achieve optimum results for the directed mode of operation. This monitoring mode works best if the FP1 is placed in the middle of a room, so it has unobstructed vision on all sides.

Test B: Presence Clearance Speed

In this second test, I measured the presence clearance speed of each device. Their settings remained the same, maximum sensitivity and range for the ZY-M100 and maximum approach distance and sensitivity for the FP1.

  • First entity: Aqara FP1 presence_event
  • Second entity: Tuya ZY-M100 binary_sensor
  • Third entity: Aqara FP1 binary_sensor
  • Forth entity: Tuya PS-HPS binary_sensor

The first one to detect the room was empty is the Aqara FP1 precence_event entity, followed by the Tuya ZY-M100 main binary_sensor entity. The last one to clear the room is the Tuya PS-HPS at a whopping 1min 30sec. Repeating the test multiple times, only confirms the results. The FP1 is the most accurate and consistent when clearing motion, with the Tuya ZY-M100 following suit in a similar time frame. On the other hand, the Tuya PS-HPS would sometimes clear motion in 15 seconds, other times in 2 minutes.

False Positives

False positives are really difficult to overcome with an mmWave sensor while maintaining reliable human presence detection. If you crank up the sensitivity to maximum, the sensor can get triggered by stupid stuff you would not anticipate. For example, when doing my tests, I got a few false positives in all three sensors:

  • Motion in my front yard detected through the window
    • Had to lower shutters completely to accurately test devices
  • If I turned my ATX PC case with the backside facing the sensors, I got a false positive from the fan
  • I do not have any pets, but they would surely cause false triggers

If you lower sensitivity and range significantly, you risk crippling the sensor capabilities and correct operation. The only way to minimize false positives is through correct positioning and constant trial and error. There is no “one solution fits all” situation. Experiment with mounting the sensor in a different corner of the room, at different height and with different settings.

False Negatives

False negatives are another issue users encounter with mmWave sensors. After all, this is a presence sensor, so the lights need to stay on while I’m on the couch watching TV. I tested the three devices in a couple of situations:

  • Watching TV in recliner – 3 meters distance from sensors
    • No false negatives
  • Lying in bed – 4 meters distance from sensors
    • False negative on Tuya PS-HPS
  • Sitting at table – 5 meters distance from sensors, at about 90° angle
    • False negative on Tuya PS-HPS
    • FP1 Presence Event changed to approach

The Tuya PS-HPS is the only one that gave me false negatives when being completely still. The FP1 presence event entity changed state to approach, even though I was sitting in front of the TV. This did not trigger the main binary_sensor presence entity, as approach is a state when the room is occupied.

ZigBee Communication

Each of the three devices I tested are ZigBee based. Even though the Tuya mmWave sensors are available in Wi-Fi variants and their hardware is the same, I recommend you stay from them as they are cloud dependent.

As far as ZigBee stability goes, each of them operates without issues in a well founded ZigBee mesh network. Neither fell of the network or presented communication issues of any kind. However, only the Tuya devices are identified as a Router while the Aqara is an EndDevice. Meaning, the Tuya sensors will help solidify your ZigBee mesh and interconnect with other devices you already have. Unfortunately, the Aqara FP1 will not route your mesh traffic.

Summary

These three mmWave human presence sensors bring a new aspect to motion detection. The drawbacks of traditional PIR motion sensors are somewhat eliminated and I expect them to become fully obsolete in the near future as mmWave tech takes over as the main motion detection sensor. So, which of these should you pickup and try out if you haven’t already? I’m going to summarize into a couple of categories, and you can decide for yourself:

  • Detection Speed:
    • Winner: Aqara FP1/Tuya ZY-M100
  • Clearance Speed:
    • Winner: Aqara FP1
  • Detection Range:
    • Winner: ZY-M100
  • Flexibility:
    • Winner: Aqara FP1
  • False Triggers:
    • Winner: Aqara FP1/Tuya ZY-M100
  • Price:
    • Winner: Tuya ZY-M100

When it comes to detection speed, the FP1 and ZY-M100 are a very close match and both outperform the PS-HPS. You will have to rely on the presence_event entity for the FP1 for faster triggers, so it can match the speed of the ZY-M100.

On the opposite side of the spectrum, the Aqara FP1 is the fastest to clear motion in its presence_event entity. The ZY-M100 follows closely behind by seconds, while the PS-HPS takes a large amount of time to change its state to clear, >1min 30sec. The FP1 main binary_sensor entity is somewhere inbetween.

As far as range is concerned, the Tuya ZY-M100 edges out both the FP1 and PS-HPS by a solid margin. If I had to rely on a sensor to detect human presence in a large room or hallway, I would pick the ZY-M100.

If you value adjustability, the Aqara FP1 is the clear winner. It’s main entities can be adjusted to fit your installation position and the swivel offers additional flexibility. The ZY-M100’s range and sensitivity can also be adjusted through ZigBee2MQTT, while the PS-HPS offers absolutely no options.

False triggers are a problem for all three sensors, and as there is not “one solution fits all” you will have to experiment and adjust acording to your setup. I’ve decided to give this win to both the FP1 and ZY-M100, just because they offer settings which can be used to lower or eliminate false positives/negatives.

As far as pricing goes, nothing can beat the ZY-M100 and the features it offers for half the price of the Aqara FP1. Considering the PS-HPS is around the same price, I would not regard it as a viable alternative as it falls short in so many categories.

If you decide to buy any mmWave presence sensor, consider using one of our affiliate links bellow. It helps us keep the blog going and purchase new devices for testing and reviews.

Aqara FP1 Human Presence Sensor ~ $49.99
AliExpress 1 | AliExpress 2
AliExpress 3

Tuya ZY-M100 Human Presence Sensor ~ $27
AliExpress 1 | AliExpress 2
Amazon.com 1 | Amazon.com 2 (ceiling)

*The sensor is considerably more expensive on amazon.com

Tuya PS-HPS Human Presence Sensor ~ $25
AliExpress 1 | AliExpress 2
Amazon.com 1 | Amazon.com 2



By visiting the Amazon, AliExpress and Banggood stores through the links above, you are shopping through our affiliate links.
This incurs no additional cost to you and supports smarthomescene.com in the form of sales commission.
SmartHomeScene © 2022 All rights reserved Privacy Policy | Contact Us | Support


By visiting the Amazon, AliExpress and Banggood stores through the links above, you are shopping through our affiliate links. This incurs no additional cost to you and supports smarthomescene.com in the form of sales commission.
SmartHomeScene © 2022 All rights reserved
Privacy Policy | Contact Us | Support

21 thoughts on “Best mmWave Human Presence Sensor Comparison: Aqara FP1, Tuya ZY-M100 and PS-HPS”

  1. Nice job and good review. In positioning, did you use anything to “shield” an area of item from false positives? Just curious on how to deal with ceiling fans in a room, without just aiming at the floor! But probably not tinfoil!! WAF.

    Got the PF1 and ZY-M100 coming. Just think the HPS was a thrown together design with existing parts and it really using the wrong detector frequency.

    1. I mostly dealt with false positives by tinkering with their settings and changing mounting positions. A ceiling fan is the mmWave sensors arch nemesis. You are just going to have to experiment friend, no quick solution.

      As for the FP1, you can use the left_right monitoring mode to trigger automation from the side far away from the fan.

      Cheers

  2. Great article, thanks so much for testing them, this gives me so much input!
    Any idea what area the ceiling sensor will cover at height of 2 meters?

    1. Hey,
      The ceiling model has range of about 3 meters (9 feet) from the top down, with width of about 7 meters (22 feet) maximum when the beam reaches the floor. This covers an angle of about a 100 degrees.

      Cheers

  3. Hi. Great article.
    One question: your first automation should not work because trigger is from state: leave and condition is state: leave. Or I’m missing something?

  4. hi, thanks for your post. how was your fp1 integrated in home assistant? I use the conbee 2 with deconz but I don’t have the presence event sensor?

  5. Thank you, i was trying to but for some reason the latest update is not completely working. Updating in deconz says successfully, but the firmware then shows the previous version again and gives me the update button again. tried this several times without success. Are there any other routes to update te stick?

      1. Updated successfully! Unfortunately i still don’t have a presence event sensor. I also have the option ‘device mode’ which is undirected. If i try to change it to leftright it give an error :
        ‘cannot call service select/select_option …. could not set attribute “type:608″‘

  6. Excellent article.
    One question though. I have 3 of the ZY-M100 on its way. I have Z2m setup on HA. Would I need to purchase their hub to be able to update firmware if/when a new firmware is released in the future? I know Z2M can do some OTA firmware updates but not sure if it would be able to support this device for updating?

    1. No, you would not have to purchase any hub. If a firmware update is available for the device in its official hub, it will be available in ZigBee2MQTT too.
      At this points, its the latest firmware.

      Cheers

    1. Once paired through Zigbee2MQTT, the ZY-M100 and the FP1 both expose entity which you can adjust either through Home Assistant or Zigbee2MQTT.
      Cheers

  7. Very interesting – thanks for posting it.
    Would you recommend buying now or waiting a bit until the technology becomes more streamlined (I dont mind playing but dont want to play all the time :))

    Thanks,
    B

    1. I would recommend getting the ZY-M100 now. The Aqara FP2 is currently in development, but I expect that device to be at least twice the price of the Tuya ZY-M100.

      The features the ZY-M100 offers now are great for the price tag. Go for it.

      Cheers

    1. Hello Aidan,

      No, absolutely not. Unlike 2.4GHz, 5GHz has 25 non-overlapping channels.
      I just checked, channel width is set to 40 and channel on auto.
      No issues whatsoever.

      Cheers,
      SHS

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top