home-assistant.io/source/_components/gpslogger.markdown
2019-04-17 21:57:32 +02:00

3.4 KiB

layout, title, description, date, sidebar, comments, sharing, footer, logo, ha_category, ha_release, ha_iot_class, redirect_from
layout title description date sidebar comments sharing footer logo ha_category ha_release ha_iot_class redirect_from
page GPSLogger Instructions on how to use GPSLogger to track devices in Home Assistant. 2016-11-25 15:00 true false true true gpslogger.png
Presence Detection
0.34 Cloud Push
/components/device_tracker.gpslogger/

This component sets up integration with GPSLogger. GPSLogger is an open source app for Android 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 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).

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
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
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.