GPSLogger


The gpslogger device tracker platform allows you to detect presence using GPSLogger. GPSLogger is an open source app for Android that allows users to set up a GET request to update GPS coordinates. This can be configured with Home Assistant to update your location.

To integrate GPSLogger in Home Assistant, add the following section to your configuration.yaml file:

# Example configuration.yaml entry
device_tracker:
  - platform: gpslogger

Setup on your smartphone

Install GPSLogger for Android on your device.

After the launch, go to General Options. Enable Start on bootup and Start on app launch.

GPSLogger Settings

Go to Logging details and disable Log to GPX. Log to KML, and Log to NMEA. Enable Log to custom URL.

Logging Details

Right after enabling, the app will take you to the Log to custom URL settings.

Log to custom URL details

The relevant endpoint is: /api/gpslogger

http://[IP address Home Assistant]:[Port]/api/gpslogger?
   latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC
   &battery=%BATT&speed=%SPD&direction=%DIR
   &altitude=%ALT&provider=%PROV&activity=%ACT

Add the above URL after you modified it with your settings into the URL field. Remove the line breaks as they are only there to make the URL readable here.

  • It’s HIGHLY recommended to use SSL/TLS.
  • Use the domain that Home Assistant is available on the internet or the public IP address. Can be a local IP address if you are using a VPN setup.
  • Only remove [Port] if your Home Assistant instance is using port 80. Otherwise set it to 8123.
  • Click on Parameters in the app and you will see all available parameters for the URL. For Home Assistant only the above URL will work.
  • Make sure to include your API password if you have configured a password. Add &api_password=[Your pasword] to the end of the URL.
  • You can change the name of your device name by replacing &device=%SER with &device=[Devicename].

If your battery drains fast then you can tune the performence of GPSLogger under Performance -> Location providers

Performance

A request can be forced from the app to test if everything is working fine. A succesful request will update the known_devices.yaml file with the device’s serial number.