GPSLogger
This integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] sets up integration with GPSLogger. GPSLogger is an open source app for Android that allows users to update your location in Home Assistant.
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).
Setup on your smartphone
Install GPSLogger for Android from GitHub or F-Droid 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. 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).
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
PORTif your Home Assistant instance is using port 443. Otherwise set it to the port you’re using. - Add the following to HTTP Body:
latitude=%LAT&longitude=%LON&device=%SER&accuracy=%ACC
You can change the device identifier by replacing device=%SER with device=my_phone. Otherwise, your phone’s serial number is used.
You can append optional parameters to the HTTP body if GPSLogger provides them. Add only the parameters your device actually reports:
&battery=%BATT&speed=%SPD&direction=%DIR&altitude=%ALT&provider=%PROV&activity=%ACT
If GPSLogger sends an empty value for a numeric parameter, like battery, speed, direction, or altitude, the webhook returns a 422 error.
- Check that the HTTP Headers setting contains
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.
Performance
A request can be forced from the app to test if everything is working fine.