REVIEW: Zemismart ZPS-Z1 Ultra Low-Power mmWave Sensor with AI
I have been an enthusiast of home automation for many years (back when everything was difficult and mostly YAML), so I consider myself a long-term member of this community.
Over the years, I have spent a lot of my own hard-earned money testing sensors and IoT devices for my personal smart home setup.
Recently, Zemismart contacted me here and asked if I would like to review one of their products. Since I already review and test devices anyway, I said why not.
To be clear: no money or compensation was offered, and Zemismart did not ask to approve, edit, or influence anything I write. This is my own independent opinion based on my testing and experience.
So, let’s see what we have here:
What’s Inside the Box?
The Zemismart ZPS-Z1 comes in a compact box with everything you need to get started:
- Sensor itself
- Magnetic mounting stand
- User manual
The sensor measures 48.9mm in diameter, which I think is a good balance. It is not tiny, but it is also small enough to blend nicely into most rooms. With the magnetic stand attached, the total height becomes approximately 63mm.
The magnetic stand is actually very well designed. It snaps into place firmly and can be moved anywhere across the entire back of the sensor. There is no fixed mounting position, which gives you a lot of flexibility depending on where you want to install it.
Zemismart also includes a pre-applied 3M adhesive pad on the bottom of the stand, so installation is quick and easy.
Home Assistant Compatibility
For Home Assistant users, there are two main Zigbee options:
- ZHA
- Zigbee2MQTT
At the time of writing this review, the ZPS-Z1 is not supported natively by either integration. You will need either a custom ZHA quirk or an external Zigbee2MQTT converter.
I found the working External Converter for Zigbee2MQTT and Custom Quirk for ZHA here:
https://smarthomescene.com/reviews/zemismart-zps-z1-ultra-low-power-mmwave-sensor/
I really like this guy’s reviews. Since I am also a smart home and technology nerd, I highly recommend checking his other reviews as well.
One important thing to mention:
Per-zone tuning currently only works in Zigbee2MQTT, not ZHA.
The good news is that everything else works perfectly fine in ZHA, including:
- Presence detection
- Illuminance reporting
- Sensitivity presets
- Other available functions
Zigbee2MQTT Setup
Pairing the sensor through Zigbee2MQTT was very easy, and after adding the external converter this is what it exposes:
The Zemismart ZPS-Z1 identifies itself as:
- Model: TS0601
- Manufacturer: _TZE284_ft7qqpx3
When I started this review about 2 months ago, the device was not fully supported. After installing the external converter, everything worked properly.
My Experience With Zones and Calibration
This is actually the first sensor I have ever used with zones, and honestly, at first glance it was overwhelming.
There are so many options that it almost stopped me from testing it.
I understand why Zemismart added all these controls. For advanced users who like to fine-tune everything, this is great. However, I can also see new Home Assistant users looking at all these settings and giving up.
Compared to my current restroom presence sensor, which simply works with only 2-3 settings, this is a completely different level.
That being said:
This is the best battery-powered mmWave sensor I have tested so far in terms of reliability.
And it runs on only 3 AAA batteries, which makes it even more impressive.
Because of the complexity, I decided to spend more time testing and tuning before writing my final opinion.
Illuminance Sensor
Ambient light level: 0-1300 lx
For my use case, this did not perform very well.
At first, I thought this function simply did not work. Later I noticed that the value does update, but it takes a very long time.
I waited around 3-4 minutes, and the value still had not changed.
For my automations, this is too slow.
I have been using and really like this Xiaomi luminance sensor, which updates much faster, usually within 2-3 seconds, and I can rely on it for lighting automations.
Testing and Tuning
When fine-tuning the sensor, first set the detection range to 500cm. After calibration is complete, lower it to your desired distance.
At first, auto calibration did not work for me.
Then I changed:
- Sensitivity preset → CUSTOM
- Energy streaming → TRUE
The sensor showed “learning”, but calibration failed.
I tried again a second time, and this time it succeeded.
I am not exactly sure why it fails sometimes and works other times. That is something Zemismart would need to explain.
After successful calibration:
Energy streaming must be turned OFF (FALSE).
I then lowered my detection range back to 400cm, because my room is approximately 430cm long.
Using a laser distance meter, I noticed a small difference. Even with detection range set to 500cm, the closest detection distance was around 3.7m (370cm).
With the second test, detection range was set to 400cm, and the sensor detected me at 3.98m, which is basically perfect.
Presence Clear Cooldown
Presence clear time before the sensor switches state to “absence”:
2-60 seconds
I set mine to 15 seconds, but in reality, it usually takes around 30-47 seconds before clearing.
This is not a deal breaker for most automations, but it is not as accurate as some other mmWave sensors.
LED Indicator
The LED indicator is useful during setup because you can immediately see when the sensor detects movement.
However, it will consume more battery.
After testing and calibration, I personally see no reason to keep it enabled, so I turned it OFF.
Zone Settings
Since I already set my detection range to 400cm (4m), I am still not completely sure what the individual zone settings add in my case.
In my logic, the detection range already covers this area, but maybe the zones work differently internally.
I left zones 9 and 10 OFF because they are beyond my needs. They cover areas beyond the 4m range, basically from the end of my room to the entrance.
After testing for several days, I found that each zone needed to be increased by around 30-40% in my case to trigger correctly and clear the presence state faster.
The presence clear cooldown was set to 15 seconds, but actual clearing time was usually around 30 seconds.
Simple Setup Recommendation
If you don’t want to spend hours tuning:
- Set detection range to 500cm
- Set presence clear cooldown to your desired value
- Set sensitivity preset to CUSTOM
- Enable auto calibration (Energy streaming ON)
- Wait until calibration succeeds
- Turn Energy streaming OFF
- Lower detection range to your desired distance (steps of 50cm)
If you are within 1.5-2m, LOW sensitivity should work.
HIGH sensitivity sometimes did not clear properly.
MEDIUM is probably the mode I would recommend if you don’t want to manually calibrate and tune everything.
Final Verdict
The Zemismart ZPS-Z1 is not a bad sensor. Actually, it is a very capable sensor.
However, I think the amount of available settings can scare many users. For a regular Home Assistant user, all these options might feel confusing.
This sensor is powerful, reliable, and probably one of the best battery-powered mmWave sensors I have tested.
But it is not for everyone.
If you enjoy tuning and optimizing your smart home, this sensor is excellent.
If you want something that you simply install and forget, there might be easier options.
This is a affiliated link to the product official page.
If you’ve read this entire review, you’ll see that it’s an unbiased review based on my personal experience and opinion. Take it for what it’s worth, or don’t. Either way, I hope it helps someone who finds themselves in the same position I was in when I first started. Good luck!
























