I have 11 Aqara FP2 presence sensors in my apartment today and they form the backbone of my smart home automation: lights fading on and off, turning on the extractor fan and towel heater in the bathroom, turn-on-alarm notifications, etc. They are amazing, but they're also full of bugs: people in bed disappear, ghosts are common, targets get stuck. I installed them knowing they were pretty bad but that at some stage something better would arrive and I'd be able to replace them.
So I was very excited to read about the Everything Presence Pro sensor which combines:
a motion sensor (for fast initial detection),
a target sensor for tracking 3 targets as they move through the room (but which can lose targets when they're still), and
a static sensor that detects ongoing presence even if the target is still
These three sensors combined allow you to:
react instantly when somebody enters the room, eg turning on the main lights
react when the person enters a zone of interest, eg when the person climbs into bed we can turn off the main lights and turn the reading lights on at a low level
react when the last person leaves the room, or prevent reactions if somebody is still in the room, eg not turning the lights back on while somebody else is in bed
Unfortunately, the zone configurator and firmware left me frustrated and disappointed, for a few reasons:
Noise: The target sensor feeds back raw X,Y coordinates which are noisy, so targets jump around.
Distortion: The radar's native view is distorted, so straight walls don't appear straight. That makes laying out a room tricky.
Limited zones: It has only four detection zones and two exclusion zones, all of which are rectangular and aligned with the sensor. Combined with the distortion problem above, it makes it very hard to lay out a room realistically.
Coarse detection: A target is either in a zone or it isn't. There's no way to express where it came from (the doorway vs. mid-room), how long it's been there, or how long since it last moved, which matters when someone is asleep.
Resolution mismatch: The configurator can draw at 5 cm precision but actually the target sensor resolution is 32 cm.
Chattiness: Every device streams high volumes of coordinate updates that Home Assistant mostly discards. With 10–15 sensors that adds up quickly.
But of course, this is open source! So I decided to see whether I could build something I liked more.
Today I'm releasing version 1 of Everything Presence Pro Grid, which allows you to map your room on a 20 x 20 grid that you can paint to assign cells to different zones. It is designed to work out of the box but still gives you access to the internal knobs when you need it.
Perspective-corrected grid: A four-corner calibration wizard maps the radar view onto your actual room. Walls are straight, and zones line up with real-world geometry. Cells are 30 cm Ă— 30 cm (1 ft Ă— 1 ft).
Seven painted zones, plus an eighth "Rest of room" fallback: Zones are polygonal, can be discontinuous, and are drawn by clicking grid cells.
Zone types: Bundle sensible thresholds and timeouts for each kind of area (e.g. bed, transit, rest, etc), so a bed zone can hold presence for minutes while a hallway zone clears in seconds. The Custom type exposes the underlying parameters.
Cross-zone target tracking: Targets are followed as they move from one zone to another, so the handoff between zones is clean and fast.
Overlays for refining detection: Mark doorways with Entry/Exit overlays, and noise sources with Interference or Suppress overlays.
Furniture layout: Drop furniture stickers on the grid so the live overview is easy to read.
On-chip processing: Home Assistant gets a single Occupancy binary sensor plus per-zone presence sensors, instead of a constant stream of target coordinates. Home Assistant only receives the updates you're interested in.
Position smoothing: Brief radar jitter is filtered out before it reaches the zone engine, so zones don't flap when a target is near a boundary.
Auto-dismiss for stuck targets: A target reported at exactly the same coordinates for several minutes is automatically dropped, so a phantom the radar got fixated on stops keeping a zone occupied.
Built-in flasher: Install and update firmware from the panel.
Hopefully others will find this useful, and I would love to hear what you think. If you do give it a go you will need to replace the firmware on the device, but it is easy to restore the original firmware should you decide to go back.
Does it do some kind of triangulation (probably not an accurate term) so that we have double or triple confirmation on someone being where from different mmwave sensors… and maybe even improve resolution with math?
Also does it handle someone being upstairs / downstairs / in adjacent rooms?
And maybe a hardware setup example to achieve what you have. Make/model of the sensors you have? How many of each type of sensor? Where / how do you place your sensors? Other considerations?
Does it do some kind of triangulation (probably not an accurate term) so that we have double or triple confirmation on someone being where from different mmwave sensors… and maybe even improve resolution with math?
This is the Everything Presence Pro sensor - I haven't modified the hardware, just the firmware.
Also does it handle someone being upstairs / downstairs / in adjacent rooms?
No. They'd be out of the 6m range of the sensor.
And maybe a hardware setup example to achieve what you have. Make/model of the sensors you have? How many of each type of sensor? Where / how do you place your sensors? Other considerations?
There is extensive documentation which will answer all of these questions:
This sounds awesome, and your documentation seems really great too ! I don't have a EP Pro to test it, but it's been on my radar (hah !) since quite some time... I'll probably buy one soon and will test your firmware on it.
Everything Presence Pro Grid v1.2.3 fully responsive, and adds Device Groups
Previously, it only worked on a laptop screen, so it made it quite unwieldy walking around a room trying to calibrate the room size with your laptop.
The latest version comes with full mobile support, anything the integration can do you on your laptop you can now do on your phone as well, including calibrating the room size and painting detection zones.
The Detection Events log has been improved to make it more readable and to surface more events in the detection engine:
And finally, Device Groups. The Everything Presence Pro target tracker has a range of 6m which is on the limited side. Aqara FP2, by contrast, has a range of 8m, which makes a big difference. I have rooms (eg my Kitchen/Dining Room) which cannot be covered by a single EPP, but which functions as a single room.
Now I have one sensor in the Kitchen and one in the Dining Room, and the new Device Groups feature allows me to combine the zones from both sensors into a single view.
A nice side effect is that it also allows me to combine zones from a single sensor too. In the example above, I have a zone called Terrace Doors, but they overlap with the Island. They're both from the same sensor in the Kitchen, but in the Kitchen/Dining Room device group, I've merged those two zones into a single "Whole Island" zone.
Hello @clintongormley! I couldn’t find the way to contact you, but wanted to tell you a big thanks for this project! When I acquired Everything Presence Pro today, I was super frustrated with their tools and couldn’t handle even a basic setup - dozens of bugs, some buttons are not clickable, but I found your project and it is awesome! Thanks a lot! Now I can basically use this 100 euro device!
Just wanted to report that I finally took the time to setup my 3 sensors with your software. I must say I am quite impressed by both.
I does take some time to finetune. You need to be aware of the 2 different mmWave sensors. What they report and how they can be configured is really different. For instance, in the bedroom I had false positives on the static presence sensor due to the curtains. Setting up interference zones did nothing of course…
There is still some finetuning to do on my side regarding individual zones, but I think I’m mostly there for the whole-room presence.
Glad to hear it. yes, it can be tricky, and especially the SEN0609 static sensor can be noisy. I have one in my passageway that turns on a couple of times a day just from noise, but how much can we expect from a 9€ sensor…
Also, the static sensor isn’t affected by the interference zones settings, those only work on the targeted sensor.
In my experience, the target sensor is more useful and more configurable, and should be used for active movement in and out of zones rather than either sensor being able to reliably track still targets for an extended period.
The static sensor is also useful when the room is greater than 6m long.