How to Create Reliable Presence Detection Without Motion Sensors
The Moment I Decided PIR Sensors Had to Go
I was sitting on my couch watching a movie when the living room lights turned off for the third time in an hour. My motion sensor had a 10-minute timeout, and apparently I wasn't moving enough while watching TV to satisfy it. So there I was, doing the universal smart home owner wave: both arms flailing above my head to convince a $15 sensor that yes, a human being is still in this room.
That was the night I decided to fix presence detection properly. It took me about six months of testing different approaches, spending more money than I'd like to admit, and learning way more about radar technology than I ever expected. But I eventually got it right, and now my lights haven't turned off unexpectedly in over a year. Here's everything I learned.
Why PIR Motion Sensors Fail at Presence Detection
First, it helps to understand why standard motion sensors are so bad at this. PIR (passive infrared) sensors detect changes in infrared radiation, which means they're looking for movement across their detection zones. Walking across a room? Detected instantly. Sitting still on a couch with only your fingers moving on a phone? Invisible.
The typical workaround is extending the timeout. Instead of turning lights off after 5 minutes of no motion, you set it to 30 minutes or an hour. This mostly works, but it means your lights stay on for 30 minutes after you actually leave the room too. It's a compromise, not a solution, and it drove me nuts.
Here's what I tried, in roughly the order I tried it, and how each approach actually performed in my house.
Attempt 1: Longer Timeouts and Door Sensors (Mediocre)
My first "clever" idea was combining PIR sensors with door contact sensors. The logic was simple: if the door hasn't opened since the last motion was detected, then someone must still be in the room. The room can't be empty if nobody left.
This worked surprisingly well for my home office, which has a single door. I installed a contact sensor on the door frame, and the automation logic was: "If motion was detected in the last 30 minutes AND the door hasn't opened since, keep the lights on. Otherwise, start a 5-minute countdown."
But it fell apart in open-concept spaces. My kitchen flows into the living room flows into the dining area. There are no doors to monitor. And in rooms with multiple entry points, tracking who entered and exited became a logic nightmare that I never got working reliably. Too many edge cases: what if two people enter and one leaves? What if someone stands in the doorway?
Verdict: decent for single-door rooms, useless for open floor plans.
Attempt 2: Power Monitoring as a Proxy (Pretty Good, Actually)
This was my most cost-effective improvement. I put smart plugs with energy monitoring on my TV, desktop computer, and a couple of lamps. The logic: if the TV is drawing power, someone is probably watching it. If the computer is active, someone is at the desk.
For my home office, this was nearly perfect. A smart plug on my monitor showed clear power states: standby (5W) versus active (45W). Combined with the door sensor, my office lights haven't turned off inappropriately since I set this up. Total cost for that room: about $30 for a smart plug and a door sensor.
The living room was similar. TV drawing more than 10 watts? Extend the presence timeout to 2 hours. It's not technically detecting presence, but it's a very reliable proxy for "someone is using this room."
The limitation is obvious: this doesn't work for rooms where you're not using a powered device. Reading a book in the bedroom, folding laundry, doing yoga in the living room. Power monitoring can't help you there.
Verdict: great as a supplemental signal, not a standalone solution.
Attempt 3: Bluetooth Room Detection (Frustrating)
I spent way too long trying to make Bluetooth-based room detection work. The concept is appealing: put a Bluetooth receiver in each room, have it track your phone or smartwatch, and determine which room you're in based on signal strength.
I set up three ESP32 boards running ESPresense, one in the living room, one in the bedroom, and one in the office. They track BLE (Bluetooth Low Energy) advertisements from my phone and Apple Watch and report approximate distance to Home Assistant.
The results were... inconsistent. In my office with the door closed, it correctly identified my location maybe 85% of the time. In the open-concept living area, the signal bounced around enough that it would frequently think I'd moved rooms when I hadn't. Walking past a receiver would sometimes "snap" my location to the wrong room for several minutes.
The bigger issue is that this requires everyone in your household to carry a trackable device. My partner doesn't wear a smartwatch and sometimes leaves her phone charging in another room. For those moments, the system thought the living room was empty even though she was sitting right there.
I also tried the Home Assistant Companion app's BLE room detection on both our phones. It was marginally better at location accuracy but hammered battery life. My partner asked me to turn it off after two days of her phone dying by 4 PM.
Verdict: interesting technology, not reliable enough to be your primary solution. Might work better in a house with clearly separated rooms and thick walls.
Attempt 4: Mmwave Radar Sensors (The Answer)
This is what finally solved the problem. Mmwave (millimeter wave) radar sensors detect presence by bouncing radar waves off objects and analyzing the reflections. They can detect micro-movements like breathing and subtle body shifts, which means they know you're on the couch even if you haven't moved a muscle in 20 minutes.
I started with the Aqara FP2 in my living room, and within 10 minutes of installing it, I knew this was the real deal. I sat on the couch motionless for 15 minutes as a test. The sensor never lost me. I lay down on the couch and pretended to nap. Still detected. I sat in a chair in the corner that my old PIR sensor couldn't even see. Detected.
The FP2 also supports zone detection, meaning you can define specific areas within the sensor's field of view. I set up zones for the couch, the dining table, and the kitchen area. Now my automations know not just that someone is in the open-concept space, but roughly where they are. If someone is at the dining table, the dining light stays on. If they're on the couch, the living room lamp stays on. It's genuinely impressive.
For my office, I went with an Everything Presence One, which is an open-source mmwave sensor designed for Home Assistant. It's more configurable than the Aqara and has additional sensors for temperature, humidity, and light level built in. The presence detection is equally reliable.
The Gotchas Nobody Mentions
Mmwave sensors aren't perfect, and I want to be honest about the issues I ran into:
- Fans cause false positives. My ceiling fan in the living room initially kept the sensor detecting "presence" in an empty room. I had to adjust the sensitivity settings and carefully position the sensor to avoid the fan's sweep area. It took about a week of tweaking.
- Curtains can be a problem. On windy days with windows open, my billowing curtains occasionally registered as presence. Again, adjusting sensitivity and zones mostly fixed this, but it's something to be aware of.
- Placement is everything. These sensors work best mounted on a wall or ceiling with a clear line of sight to the area you want to monitor. Putting one behind a shelf or in a corner produced patchy results. I ended up ceiling-mounting the FP2, and that gave the best coverage.
- They're more expensive. An Aqara FP2 costs around $55-60, and the Everything Presence One is similar. Compare that to a $12 PIR sensor. You're paying 4-5x more per room. For me, it was absolutely worth it, but it adds up if you're outfitting a whole house.
My Current Setup (Room by Room)
Living Room / Kitchen / Dining (Open Concept)
Aqara FP2 ceiling-mounted, with three defined zones. Lights in each zone respond independently. TV power monitoring as a supplemental signal to boost timeout when watching movies. Works beautifully.
Home Office
Everything Presence One on the wall behind my monitor, plus computer power monitoring via a smart plug. Door sensor on the office door. Triple redundancy means this room has never, not once, turned the lights off on me since I set it up.
Bedroom
Aqara FP2 mounted near the ceiling, with a zone defined over the bed. This is where mmwave really shines since it detects you lying still in bed. Combined with a "sleep mode" automation that dims the lights when presence is detected in the bed zone after 10 PM, this replaced the old "turn off after 30 minutes" timer that used to leave me in the dark while reading.
Bathroom
Standard PIR sensor, but I supplemented it with humidity detection. If humidity is elevated (above baseline by more than 10%), the lights stay on regardless of motion. This covers the shower scenario where the motion sensor can't see through the curtain. Cheap and effective.
Hallway and Stairs
Still using PIR sensors here. These are transit spaces where you're always moving, so traditional motion detection works perfectly. No need to upgrade.
Tips if You're Starting From Scratch
- Don't replace every sensor at once. Start with the room that annoys you most. For most people, that's the living room or home office. Get it dialed in, learn the technology, then expand.
- Keep manual overrides. I have a voice command ("keep the lights on") that disables all presence-based automation for 2 hours. For edge cases and debugging, this is invaluable.
- Set reasonable fallback timeouts. Even with perfect presence detection, I keep a 4-hour maximum timeout on every room. If my sensor fails or glitches, the lights eventually turn off rather than staying on forever.
- Budget option exists. If you can't afford mmwave sensors yet, extending PIR timeouts and adding power monitoring on key devices (TV, computer) gets you 80% of the way there for a fraction of the cost.
Reliable presence detection transformed my smart home from something I had to manage into something that genuinely works around me. No more arm-waving. No more lights turning off during movies. No more compromising between energy waste and convenience. It took some effort to get here, but it's the single upgrade I recommend most to anyone frustrated with their current setup.