Setting up presence detection


We care about privacy. Collected data is only stored in your instance of Home Assistant.

Presence detection detects if people are home, which is the most valuable input for automation. Knowing who is home or where they are, will open a whole range of other automation options:

  • Send me a notification when my child arrives at school
  • Turn on the AC when I leave work

Screenshot of Home Assistant showing a school, work and home zone and two people.

Setting it up

The device tracker component offers presence detection for Home Assistant. It supports three different methods for presence detection: scan for connected devices on the local network, scan for Bluetooth devices within range, and connect to third-party service.

Scanning for connected devices is easy to setup; options include supported routers and scanning the network using Nmap. This approach does have its limitations, however: it will only be able to detect if a device is at home, and modern smartphones may show as not home inaccurately (as they disconnect from WiFi if idle).

You can scan for Bluetooth and Bluetooth LE devices. Unlike with WiFi, modern smartphones don’t turn off Bluetooth automatically, though the range is lower.

Home Assistant currently supports multiple third-party services for presence detection, such as OwnTracks over MQTT, OwnTracks over HTTP GPSLogger and Locative.

There is a wide range of options available, both for scanning your local network and third-party services.

Zones

Home Assistant will know the location of your device if you are using a device tracker that reports a GPS location (such as OwnTracks, GPS Logger, the iOS app, and others). By setting up zones you will be able to add names to the locations of your devices. This way you can easily spot on the state page where the people in your house are and use it as triggers and conditions for automation.

If you’re looking at the map view then any devices in your Home zone won’t be visible, this is by design.

Next step: Use Home Assistant »