In This Article
Presence detection is one of the things that separates a merely connected home from a genuinely intelligent one. Lights that come on because you entered a room, heating that backs off when everyone leaves, alarms that arm automatically, and dashboards that show who is home all depend on one deceptively tricky question: where are the people?
Home Assistant gives you several ways to answer that question, but no single method is perfect. The best setups combine multiple signals so the system can make smarter decisions with fewer false positives.
Why Presence Detection Is Hard
Human presence exists on multiple levels. There is home vs away, which determines whether automations should treat the house as occupied. There is room presence, which controls lights, climate, and media. And there is who is present, which allows personalised automations.
The reason people struggle with presence detection is that different technologies solve different layers of the problem. Phone GPS is great for home/away. It is terrible for room-level detection. Motion sensors work for room occupancy but fail when you are sitting still. BLE can improve granularity but needs careful placement. mmWave is exceptional for room presence but tells you someone is there, not necessarily who.
Phone Tracking: The Foundation
For most households, phone-based tracking should be the starting point. The Home Assistant Companion App can report GPS location, Wi-Fi SSID, Bluetooth state, and background sensors from both iPhone and Android. Used properly, it is the easiest way to know whether a person is home, near home, or away.
Best phone-based methods
- Companion app GPS for geofencing and zone changes
- Router or Wi-Fi presence to detect when the phone connects to your home network
- Bluetooth connection state for additional context
A common pattern is to consider someone "home" only when either GPS says they are in the home zone or their phone is connected to the home Wi-Fi. This reduces false away states caused by phone OS background restrictions.
The main weakness is battery management. Both iOS and Android can throttle background updates under some conditions. That is why relying on GPS alone can feel unreliable.
BLE Beacons and Bluetooth Tracking
Bluetooth Low Energy beacons add another layer. Devices like Tile trackers, dedicated BLE tags, or even your phone can be detected by ESPHome Bluetooth proxies or Bluetooth adapters around the house. This is useful for confirming whether a person is nearby, and in some homes it can provide rough room-level presence.
The upside is low power use and decent granularity. The downside is signal variability. Bluetooth strength can fluctuate depending on walls, body position, and furniture. It is best treated as supporting evidence rather than an absolute truth source.
A nice use case is front-door automations. If your phone beacon is detected strongly by the hallway proxy and GPS says you are arriving, the house can unlock more confidently than if it only had one signal.
mmWave Sensors: Best for Occupancy in a Room
mmWave sensors have changed the game for room-level presence. Unlike PIR motion sensors, mmWave can detect micro-movements such as breathing or subtle shifts in posture. That means your office lights do not turn off while you are sitting still at a desk, and your living room does not go dark halfway through a film.
Popular options include Aqara FP2, Tuya-based mmWave sensors flashed or integrated locally, and ESPHome-based DIY setups. mmWave is especially useful in offices, bathrooms, kitchens, and lounges where motion sensors traditionally struggle.
Its limitation is identity. An mmWave sensor knows someone is present, not who. So it pairs best with phone or BLE data. Think of mmWave as the best answer to the question "Is this room occupied right now?"
The Best Strategy: Combine Methods
The most reliable Home Assistant presence setups are layered. Here is a practical model that works well:
- Home / away: phone GPS + Wi-Fi connection
- Near-home arrival confidence: GPS + BLE at entrance + door event
- Room occupancy: mmWave + door sensor or recent motion
- Personalisation: phone entity or BLE beacon tied to a person
You can combine these using template sensors, Bayesian sensors, or simpler helper booleans and automations. For example, a room can be considered occupied if mmWave is active or motion happened in the last five minutes. Meanwhile, the home can be marked empty only when every tracked person is away and no room occupancy remains.
Best Practices for Reliable Presence Detection
Use zones, not just home
Create zones like Work, Gym, School, and Parents' House. These make automations much more informative and reduce ambiguity.
Add time delays
Do not mark someone away the second a signal disappears. Grace periods prevent annoying false triggers.
Separate occupancy from identity
Let mmWave decide whether a room is occupied, and let phones decide who is home. This mental model keeps automations cleaner.
Use dashboards to visualise states
If you cannot see what your presence logic is doing, troubleshooting becomes miserable. Build a simple dashboard showing GPS state, Wi-Fi state, BLE, and room occupancy.
If you are starting from scratch, Home Assistant Green is a very easy way to get a stable system up and running before you add more sensors and logic.
Home Assistant Green
A simple dedicated Home Assistant box for automations, dashboards, presence logic, and integrations.
Check Price on Amazon →Final Recommendation
Start with the Home Assistant phone app. Add Wi-Fi as a second signal. Then bring in mmWave for the rooms where occupancy really matters. BLE can be a useful bonus layer, but it should not carry the whole system. Presence detection gets dramatically better the moment you stop looking for one perfect sensor and start combining several imperfect ones intelligently.
SmartWired participates in the Amazon Associates Programme. We may earn a commission from qualifying purchases at no extra cost to you.