Smart Home Assistant

HA Presence: mmWave vs Phone (2026)

SepehrBy Sepehr· 21 March 2026· Updated 11 September 2026· 8 min read
✓ Independent — no paid placements✓ UK-tested in real homes✓ Cited sources

This article contains affiliate links — see our disclosure policy.

HA Presence: mmWave vs Phone (2026)

Key takeaways

  • Phone-based GPS tracking via the HA Companion app suits whole-house away/home detection, while mmWave radar (e.g. LD2410, HLK-LD2450) suits room-level occupancy.
  • mmWave radar sensors can detect stationary occupancy up to around 6 metres, with optimal placement 2–4 metres from the monitored area.
  • Home Assistant's default home zone radius is 100 metres, which suits most residential addresses and GPS accuracy variation.
  • The person entity prioritises stationary trackers like Bluetooth or router detection when you're home and GPS trackers when you're away, preventing false 'not_home' states.
  • Bluetooth proxies built from ESPHome-flashed ESP32 boards or Shelly Gen2+ devices extend presence detection to individual rooms.
On this page[tap to expand]
Affiliate disclosure: Some links in this article are affiliate links. If you buy via one of these links, we may earn a small commission at no extra cost to you. As an Amazon Associate, we earn from qualifying purchases. This never affects our editorial decisions — see our affiliate policy.
"

For most households, phone-based GPS tracking via the Home Assistant Companion app is best for whole-house away/home automations, while mmWave radar sensors are best for room-level occupancy, including detecting someone sitting perfectly still. With reliable presence detection, Home Assistant can turn on lights when you walk through the door, lower the heating when the last person leaves, and arm your security system automatically — without it, you're left writing automations full of manual overrides and time-based workarounds.

"

Home Assistant supports several complementary presence-detection methods. Used together they give you fast, accurate awareness at every scale: city-level GPS tracking via your phone, zone-based arrival and departure alerts, Bluetooth proximity detection within individual rooms, and millimetre-wave (mmWave) radar sensors that can detect a perfectly still person sitting quietly at a desk.

Why Presence Detection Matters

Automations become contextual. Time-based automations fire whether or not anyone is home. Presence-based automations are smarter: your morning routine only runs if you are actually there; your heating drops to an eco setpoint the moment the last person leaves; your outdoor lights turn on only when someone is arriving, not at a fixed sunset time. Every automation improves when it knows who is in the building.

Getting the setup right does take a little planning. The main decision is choosing which tracking method suits each use case. A GPS-based tracker is ideal for away/home transitions; a Bluetooth tracker or mmWave sensor is better for room-level occupancy. Most households benefit from combining at least two methods and linking them through the person entity, which Home Assistant uses to reconcile conflicting signals.

Method 1 — HA Companion App (GPS Zones)

Best for: household-level away/home detection and multi-zone awareness (work, school, shops).

The Home Assistant Companion app for iOS and Android registers as a device tracker and reports your phone's GPS coordinates back to Home Assistant. When the coordinates fall within a defined zone — including the special home zone — the device tracker state changes to the zone name. When you leave all zones, it changes to not_home.

The app uses geofencing rather than continuous GPS polling, which keeps battery consumption reasonable. On iOS, location updates are triggered by significant location changes and zone boundary crossings. On Android the behaviour depends on your manufacturer's battery optimisation settings; it is worth whitelisting the app in your phone's battery settings to prevent missed updates.

Setup is straightforward: install the Companion app, log in to your Home Assistant instance, and grant location permission. The app creates a device tracker entity automatically. You can then link it to a person entity under Settings → People.

Method 2 — Bluetooth Device Trackers

Best for: fast home/away detection without relying on a phone, and multi-room awareness using Bluetooth proxies.

Home Assistant's Bluetooth integration passively listens for Bluetooth Low Energy (BLE) advertisements from nearby devices. Any phone, tag, or BLE sensor that broadcasts a consistent identifier can act as a presence indicator. The integration supports three scanning modes: Auto (passive most of the time, recommended), Active, and Passive. Auto and Passive modes require BlueZ 5.63 or later on Linux hosts.

For room-level presence, Bluetooth proxies extend your detection range significantly. ESPHome-flashed ESP32 devices and Shelly Gen2+ devices can act as proxies, forwarding BLE advertisements to your Home Assistant instance from different rooms. This means a single BLE tag worn or carried around the house can indicate which room you are in, not just whether you are home.

A popular dedicated option is the Shelly BLU Motion, a Bluetooth motion sensor that integrates natively with Home Assistant via the Shelly integration and via BLE proxies. It combines motion detection with BLE presence, giving you a compact sensor that works both as a traditional PIR and as a Bluetooth beacon source. You can find the Shelly BLU Motion on Amazon.co.uk; prices vary by retailer.

Method 3 — Ping and Network-Based Detection

Best for: households where members do not want to share phone location, or as a fallback tracker.

The Ping integration and router-based integrations such as UniFi or Netgear detect devices by their presence on your home network. When a phone connects to your Wi-Fi, it appears as home; when it disconnects, it switches to not_home. This method has two states only — there is no zone or room awareness — but it requires no app and no GPS permission.

The main drawback is false negatives: phones often disconnect from Wi-Fi to save battery, especially during sleep, which can cause spurious not_home states mid-evening. Setting a generous consider_home interval (the period after disconnection before a device is marked away) helps reduce this noise. Many households use ping detection as a secondary tracker alongside GPS, letting the person entity pick the most reliable signal. For a step-by-step walkthrough of configuring Nmap Tracker, Ping, and the Companion app's device_tracker entities, see our Home Assistant device tracker setup guide.

Method 4 — mmWave Radar Sensors

Best for: room-level occupancy detection, including stationary presence (reading, sleeping, working at a desk).

Traditional PIR motion sensors cannot detect a person who is sitting still. Millimetre-wave radar sensors, such as those built around the popular LD2410 and HLK-LD2450 chips, detect micro-movements such as breathing and small postural shifts, making them far more reliable for occupancy-based automations like keeping lights on while someone is working quietly.

These sensors integrate with Home Assistant via ESPHome, which exposes detection range, sensitivity, and zone configuration directly in the Home Assistant UI. A typical ESPHome-flashed ESP32 board with an LD2410 radar module can detect stationary occupancy up to around 6 metres, though optimal placement is usually 2–4 metres from the area being monitored. Unlike cameras, mmWave radar provides no visual data, making it an entirely privacy-preserving approach to occupancy sensing.

For ESPHome-based builds, see the Home Assistant automations guide for examples of wiring occupancy sensors into room-control automations.

The Person Entity — Combining Multiple Trackers

The person entity is the recommended way to track individuals in Home Assistant. It accepts multiple device tracker entities and applies a priority hierarchy to determine the most accurate state at any moment.

When you are at home, the person entity favours stationary trackers (router, Bluetooth) and uses them in preference to GPS. When you are away, it favours GPS trackers, which give zone-level granularity. The documentation describes the logic as: at home, position comes first from stationary trackers and then from GPS; away from home, position comes first from GPS and then from stationary trackers. This prevents the person from appearing not_home just because your phone briefly lost GPS signal.

To set up a person entity, go to Settings → People → Add Person. Give it the person's name and link all relevant device tracker entities. The resulting person.firstname entity is what you should use in automations — not the individual device trackers directly — as it provides the smoothed, combined state.

Setting Up Zones

Zones define named geographic areas that GPS-capable trackers can enter and leave. Home Assistant creates a home zone automatically during onboarding. The default radius is 100 metres, which is appropriate for most residential addresses and accounts for typical GPS accuracy variation.

To add or edit zones, go to Settings → Areas, labels & zones and select the Zones tab. You can drag the centre point on the map and adjust the radius slider. Common zones to create include your workplace, a school, a gym, or a nearby supermarket — each gives you a named state that the person entity can be in, and each can trigger its own automations.

For a full walkthrough of the initial configuration, including zones and network setup, see the Home Assistant UK setup guide.

Example Automations

Arrive home — lights and heating on. Trigger: person.you enters zone zone.home. Action: turn on hall light, set heating to 20°C. This fires as soon as your phone crosses the 100-metre zone boundary, giving the heating a few minutes' head start before you reach the door.

Everyone leaves — eco mode. Trigger: all person entities enter not_home state. Condition: time is between 07:00 and 22:00. Action: set heating to 16°C, turn off all lights, arm security system. Using all persons as a condition prevents the automation firing when one person steps out briefly while others remain home.

Room lights off — mmWave occupancy. Trigger: occupancy sensor in living room reports clear for 5 minutes. Condition: time is after 09:00. Action: turn off living-room lights. This is far more reliable than a standard PIR timer because the radar continues detecting you while you are sitting still.

Bedtime mode — room-by-room. Trigger: bedroom mmWave sensor detects presence after 22:00. Condition: person.you is home. Action: dim bedroom lights to 10%, set heating schedule to night mode, turn off all other rooms. Combining GPS zone (confirms you are home) with mmWave (confirms you are in bed) eliminates false triggers from pets or open windows.

Choosing the Right Combination

Most households get the best results from a layered approach. Start with the Companion app for household-level tracking — it requires nothing beyond your phone and a few minutes of setup. Add a router-based or Bluetooth tracker as a secondary source and link both to person entities. Then, for individual rooms where you want occupancy-sensitive automations (office, living room, bedroom), add mmWave radar sensors via ESPHome.

This three-layer setup — GPS for away/home, Bluetooth for proximity, mmWave for room occupancy — covers virtually every automation scenario and keeps false positives and missed triggers to a minimum. As you add more devices and automations, the person entity's priority logic ensures you always get the most relevant state without having to manage conflicts manually.

Buy the picks in this guide

Recommended for Home Automation

See all devices →
Devices used in this guide

Hardware mentioned above

Frequently asked questions

What is the most reliable presence detection method for Home Assistant?

The most reliable setup combines multiple tracking methods rather than relying on one. Start with the HA Companion app (GPS zones) for whole-house away/home detection, then add a secondary network or Bluetooth tracker as a backup signal, and link both to a person entity. The person entity applies a priority hierarchy — favouring stationary trackers like Bluetooth or router-based tracking when you're home, and GPS when you're away — so a brief GPS dropout or a phone disconnecting from Wi-Fi doesn't trigger spurious 'away' automations. For room-level accuracy, such as detecting someone sitting still at a desk, add an mmWave radar sensor (built around chips like the LD2410) via ESPHome. This three-layer approach — GPS for away/home, Bluetooth for proximity, mmWave for room occupancy — covers virtually every automation scenario while keeping false positives and missed triggers to a minimum.

Does Home Assistant presence detection drain my phone battery?

Battery impact is typically low because the Companion app uses geofencing rather than continuous GPS polling. On iOS, location updates are triggered only by significant location changes and zone boundary crossings, which Apple's system manages efficiently in the background. On Android, battery impact depends more on your manufacturer's battery optimisation settings, so it's worth whitelisting the app to prevent missed updates from the OS suspending background location. If you'd rather avoid phone-based tracking altogether, Home Assistant also supports Bluetooth device trackers, which passively listen for BLE advertisements without draining phone battery, and ping or router-based detection (via integrations like UniFi or Netgear), which requires no app or location permission at all — though this comes with a higher risk of false 'not_home' states when a phone disconnects from Wi-Fi to save power.

What is the default zone radius in Home Assistant?
The default zone radius is 100 metres. This is set automatically for the home zone created during onboarding and can be adjusted under Settings → Areas, labels & zones. A 100-metre radius is appropriate for most residential properties and accounts for normal GPS accuracy variation, but you can reduce it for denser urban addresses or expand it if you are on a large rural property.
Can Home Assistant detect presence without a smartphone?
Yes. Network-based detection (Ping integration or router integrations such as UniFi) tracks any device on your home network, including phones that have Wi-Fi disabled most of the time. Bluetooth trackers such as tags or wearables work without any app. For room-level detection, mmWave radar sensors work entirely locally with no phone required at all — they detect physical presence regardless of what devices anyone is carrying.

Sources

Sources verified 2026-06-19

  1. Home Assistant — Device Tracker Integration
  2. Home Assistant — Bluetooth Integration
  3. Home Assistant — Mobile App Integration
  4. Home Assistant — Zone Integration
  5. Home Assistant — Person Integration
How we researched this

Claims in this article are checked against primary sources — manufacturer specifications, official documentation, Which? research, Ofgem guidance, or gov.uk — rather than forum threads or video reviews. Where the author has direct hands-on experience with a product (most Home Assistant, Zigbee, and home-networking gear is running in his own homelab), that is stated explicitly in the text.

For categories outside that personal setup — such as boilers, heat pumps, and other areas that are traditionally a heating engineer's domain — verdicts are built from cross-referenced manufacturer data, published lab results, and vetted expert and owner reviews rather than a claim of personal hands-on testing. See the editorial policy for the full methodology.

Sepehr

Written by

Sepehr

10+ years hands-on with Home Assistant & networking · Research-backed elsewhere · No brand deals

Smart home specialist with 10+ years running a self-hosted Home Assistant setup — Zigbee2MQTT, Frigate NVR, and local-first automations. Independent coverage for UK homes, no brand deals.

LinkedIn →

Citing this page? Please use a dofollow link back to the original article — it helps us keep the data on this page accurate and up to date.

Related reading