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
password: !secret gpslogger_password
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
https://[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. 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. - For Home Assistant only the above URL, as written, will work - do not add or remove any parameters.
- Make sure to include your API password if you have configured a password. Add
&api_password=[Your password]
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 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.