Skip to content

Conversation

@xHecktor
Copy link

This fork of GoogleFindMyTools is intended for operation on Raspberry OS, as there are otherwise problems with Chromeium and the login in Chrome. Communication takes place via Mqqt to Home Assistant (Mqqt Brocker), which runs on a different device.

Since Google Find my Device requires either a location in coordinate form or a string “home”, the publish_mqqt.py was adapted. If google now sends the string home, the Raspbbery replaces it with coordinates for the home zone. The call to update the location is made via Home Assisant via mqtt. This contains the coordinates for the home zone (coordinates + radius).

The home zone (coordinates + radius) are necessary because Home Assistant always requires a status to transmit the attributes (coordinates). Previously, publisch_mqtt.py always sent unkown as status and the coordinates as attributes. The consequence was that home assistant set the tracker to unkown with every location update and then read the attributes in order to set “home” as status again. With this change, the correct status is sent directly to home assistant.

As the Chrome browser on the Raspberry reports “requstest url was not found on this server”, you cannot log in there. You therefore have to install GoogleFindMyTools on a Windows PC, log in and copy the secrets.json with the access data from the PC to the Raspberry. The instructions are therefore divided into three steps: Installation on the Windows PC, installation on the Raspberry OS and then the Mqqt connection to Home Assistant.

In my experience, the update service tends to hang up. The watchdog checks whether the update process has finished within 400 seconds. If not, it kills everything and restarts it. I set 400s because Home Assistant sends a trigger every 5 minutes. If Home Assistant sends the triggers less frequently, the watchdog should also be adjusted. Unfortunately, this is only a temporary solution.

Perhaps someone will find the error

endeavour and others added 30 commits May 10, 2025 21:25
Chromedriver kann nicht direkt in raspberry verwendet werden. Daher wird die secrets.json von einem anderen Gerät kopiert
Home zone wird festgelegt in Koordinaten falls Google Tag nur semantisch "zuhause" ausgibt
Home Zone wird in der Mqtt Nachricht von Home Assistant an Raspberry bestimmt

Trigger zum ausführen kommt von Home Assistent
Raspberry kann den chromedriver nicht benutzen. Daher kommt  selenium zum einsatz und die secrets.json muss nachträglich von einem anderen Gerät kopiert werden
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants