Google Find Hub devices in Traccar

Anton Tananaev8 days ago

Wouldn't it be great if we could track Google Find tags directly in Traccar? No need for an app, not need for SIM cards, battery that lasts forever. It doesn't work for real-time live tracking, but there are a lot of use cases where it would be the perfect solution. For example, something like container tracking, lost things, stolen vehicle etc. Now it is possible!

We've build a small service based on GoogleFindMyTools:

You have to have Python installed and you need the latest version of Chrome browser. Also, make sure that Google Find Hub is working and your devices are already paired there.

Steps to set it up:

  • Close repository git clone https://github.com/traccar/google-find-hub-sync.git
  • Change into the directory: cd google-find-hub-sync
  • Install all required packages: pip install -r requirements.txt
  • Start command line tool: python main.py
  • Follow instructions to login, list your devices, get location for the device
  • Start service: python microservice.py --auth-token API_KEY --push-url=http://localhost:5055
    • Replace API key with a secure one and point URL to your Traccar server
  • Enable regular tracking: curl -X POST -H "Authorization: Bearer API_KEY" "http://localhost:5500/devices/DEVICE_ID/position-periodic?interval=300"
    • Again replace key, device id and URL with correct values
  • You're all set. The service will query device location and push it to Traccar

Remember this is not intended for high frequency tracking. Don't abuse it and don't get yourself banned by Google.

Please post feedback. In the meantime we're working on better integration with Traccar.

rolsch7 days ago

Great,
I had been looking for a solution like this.

  • now carry out the installation and test it :-)

Hint: create a small docker or implement it direcly

rolsch7 days ago

Docker found :-)

Anton Tananaev7 days ago

Yeah, there is a docker. But you still need to run it locally first to authenticate using Chrome.

rolsch6 days ago

I've tested the git and it works.

Here is my short documentation of the quick and dirty installation.

# i work on a little test debian12 with root, traccar installed on /opt/traccar
# python3, pip, git are installed
# resources: https://github.com/traccar/google-find-hub-sync
# and: https://www.traccar.org/forums/topic/google-find-hub-devices-in-traccar/
#
# after running finder2traccar.sh, create a new device with the tracccar-UI
# use the device-id from "python3 main.py" 
#
 
cd /opt/
git clone https://github.com/traccar/google-find-hub-sync.git
cd google-find-hub-sync
python3 -m venv venv
pip install -r requirements.txt
python3 main.py
 
#On the first run, an authentication sequence is executed, which requires a computer with access to Google Chrome.
#The authentication results are stored in Auth/secrets.json.
#If you intend to run this tool on a headless machine, you can just copy this file to avoid having to use Chrome.
#
# after the auth, this script display all device-id's
# the Auth/secrets.json has now the sensible google tokens
# 
# stopp the script with Ctrl-c or play around...
 
 
 
# put this in a finder2traccar.sh script:
 
#!/bin/bash
 
# only a little helper
echo "screen -ls"
echo "screen -r microservice"
echo "Ctrl+A D => detach and leave the session running"
echo "exit => session ending"
 
# path to virtual python environment
VENV_DIR="/opt/google-find-hub-sync/venv"
 
# Name the screen session
SCREEN_NAME="microservice"
 
# starting a new screen background session and run the commends
# enter a self created auth-token for the microservice
#
# --port 5500 is the microservice port on local-host
# --auth-token 123456789123456789 is a self created microservice token, type what you want 
# --push-url=http://127.0.0.1:5055 is the traccar service on the same local host
#
screen -dmS $SCREEN_NAME bash -c "
    source $VENV_DIR/bin/activate
    python3 /opt/google-find-hub-sync/microservice.py --host localhost --port 5500 --auth-token 123456789123456789 --push-url=http://127.0.0.1:5055
"
 
# <device-id> from "python3 main.py" output, enter no <>
# Baerer API-token 1234... from the microservice
#
curl -X POST -H "Authorization: Bearer 123456789123456789" "http://127.0.0.1:5500/devices/<device-id>/position-periodic?interval=300"
screen -ls
echo "ready..."
Anton Tananaev6 days ago

Forbidden is probably because of the large number of links. Inlined your doc. Thanks for testing and documenting it.

Anton Tananaev5 days ago

With Traccar 6.8.x it's now possible to send command directly from Traccar app. You need to configure the following attributes on a device:

  • command.sender set to findHub
  • command.findHub.url - URL of the service
  • command.findHub.key - API key
Were5501 5 days ago

This is a great idea, thanks for developing. How can I find the token needed? In Auth fike there are lot of data, i tried some bit nothing was received is the server (running in other machine)
Thanks

Theerayuttu5 days ago

This is great!, I really appreciate your good support. It helped us a lot.

Does Google have devices limit per account?

Anton Tananaev5 days ago

How can I find the token needed?

All the auth information is stored in Auth/secrets.json. If you don't see that file, it means you haven't authenticated yet.

Does Google have devices limit per account?

I am also curious about it. If you find out, let us know.

king4 days ago

Hello,
we downloaded version 6.8 but our server found a virus and won't let us install it. If you found the same issue what did you do? Did you still go ahead? Thanks
Massimo-RenderCAD srl

Anton Tananaev4 days ago

Verify that you downloaded it from the official place. What kind of virus is it complaining about? Also, it doesn't seem to be related to the topic.

king4 days ago

Threat blocked------------Details:This program is dangerous and executes commands from an attacker. Affected items file: C:\Users\Administrator\Downloads\traccar-windows-64-6.8.1.zip webfile: C:\Users\Administrator\Downloads\traccar-windows-64-6.8.1.zip|https://objects.githubusercontent.com/github-production-release-asset-2e65be/4038949/988665b5-a36b-4dff-b019-9007990bafa8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250708%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250708T143541Z&X-Amz-Expires=1800&X-Amz-Signature=569e75b902c02cb153f16600a75d984c7a9f21cc1b2525306c5d2380bfc85184&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dtraccar-windows-64-6.8.1.zip&response-content-type=application%2Foctet-stream|pid:8764,ProcessStart:133964589484652216

Anton Tananaev4 days ago

Not entirely sure what this means. It could be a false positive, but you should double check that the file is original and not modified.

JaNO4 days ago

Hello
I'm having trouble getting tag tracking working in Traccar.

command

python3 main.py

returns 2 devices and tracking data to me

There's this error:

python3 microservice.py --host localhost --port 5500 --auth-token 123456789 --push-url=http://127.0.0.1:5055
 * Serving Flask app 'microservice'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://localhost:5500
Press CTRL+C to quit
127.0.0.1 - - [09/Jul/2025 12:46:18] "POST /devices/2/position-periodic?interval=300 HTTP/1.1" 401 -
127.0.0.1 - - [09/Jul/2025 12:46:58] "POST /devices/2/position-periodic?interval=300 HTTP/1.1" 200 -
[FCMReceiver] Listening for notifications. This can take a few seconds...
[NovaRequest] Error:  
Internal Server Error
Internal Server Error
Error 500