---
layout: page
title: "GPSLogger"
description: "Instructions on how to use GPSLogger to track devices in Home Assistant."
date: 2016-11-25 15:00
sidebar: true
comments: false
sharing: true
footer: true
logo: gpslogger.png
ha_category:
- Presence Detection
ha_release: 0.34
ha_iot_class: Cloud Push
redirect_from:
- /components/device_tracker.gpslogger/
---
This component sets up integration with [GPSLogger](http://code.mendhak.com/gpslogger/). GPSLogger is an open source app for [Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) that allows users to set up a `POST` request to update GPS coordinates. This can be configured with Home Assistant to update your location.
Enabling this component will automatically enable the GPSLogger Device Tracker.
## {% linkable_title Configuration %}
To configure GPSLogger, you must set it up via the integrations panel in the configuration screen. This will give you the webhook URL to use during mobile device configuration (below).
## {% linkable_title Setup on your smartphone %}
Install [GPSLogger for Android](https://play.google.com/store/apps/details?id=com.mendhak.gpslogger) 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 starts with: `/api/webhook/` and ends with a unique sequence of characters. This is provided by the integrations panel in the configuration screen (configured above).
```text
https://YOUR.DNS.HOSTNAME:PORT/api/webhook/WEBHOOK_ID
```
- Add the above URL (updating YOUR.DNS.HOSTNAME:PORT to your details) into the **URL** field.
- It's HIGHLY recommended to use SSL/TLS.
- Use the domain that Home Assistant is available on the internet (or the public IP address if you have a static IP address). This can be a local IP address if you are using an always on VPN from your mobile device to your home network.
- Only remove `PORT` if your Home Assistant instance is using port 443. Otherwise set it to the port you're using.
- Add the following to **HTTP Body**
```text
latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT
```
- You can change the `device_id` of your phone by replacing `&device=%SER` with `&device=SOME_DEVICE_ID`, otherwise your phone's serial number will be used.
- Check that the **HTTP Headers** setting contains
```text
Content-Type: application/x-www-form-urlencoded
```
- Make sure that **HTTP Method** is changed to `POST`
If your battery drains too fast then you can tune the performance of GPSLogger under **Performance** -> **Location providers**
Performance
A request can be forced from the app to test if everything is working fine. A successful request will update the `known_devices.yaml` file with the device's serial number.