GPSD
The gpsd
integration is using the GPS information collected by gpsd
Setup
A requirement is that gpsd
is installed ($ sudo apt-get install gpsd
or $ sudo dnf -y install gpsd
). gpsd
uses the socket activation feature of systemd on recent Linux distributions for USB receivers. This means that if you plug your GPS receiver in, gpsd
is started. Other GPS device may work too, but this was not tested.
$ sudo systemctl status gpsdctl@ttyUSB0.service
● gpsdctl@ttyUSB0.service - Manage ttyUSB0 for GPS daemon
Loaded: loaded (/usr/lib/systemd/system/gpsdctl@.service; static; vendor preset: disabled)
Active: active (exited) since Sat 2016-07-16 09:30:33 CEST; 1 day 23h ago
Process: 5303 ExecStart=/bin/sh -c [ "$USBAUTO" = true ] && /usr/sbin/gpsdctl add /dev/%I || : (code=exited, status=0/SUCCESS)
Main PID: 5303 (code=exited, status=0/SUCCESS)
Jul 16 09:30:33 laptop019 systemd[1]: Starting Manage ttyUSB0 for GPS daemon...
Jul 16 09:30:33 laptop019 gpsdctl[5305]: gpsd_control(action=add, arg=/dev/ttyUSB0)
Jul 16 09:30:33 laptop019 gpsdctl[5305]: reached a running gpsd
To check if your setup is working, connect to port 2947 on the host where gpsd
is running with telnet
. This may need adjustments to your firewall.
$ telnet localhost 2947
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
{"class":"VERSION","release":"3.15","rev":"3.15-2.fc23","proto_major":3,"proto_minor":11}
Configuration
To add the GPSD integration to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select GPSD.
-
Follow the instructions on screen to complete the setup.