Which error do you get?
This is the workflow how it will work:
1. Home Assistant (HA)
What does Home Assistant do?
Home Assistant provides the raw GPS data, specifically:
These values typically come from:
- a
device_tracker entity (car, phone, person, boat, etc.)
- a GPS sensor
- any device reporting a location
How does THR receive these values?
Through The Home Remote’s Home Assistant Plugin, which synchronizes HA entities and exposes them inside THR as devices with attributes.
2. The Home Remote – the HA Device
What does the HA device in THR do?
It is the representation of your HA entity inside THR.
It exposes attributes such as:
These attributes are read by your reverse geocoding plugin.
3. The Reverse Geocoding Plugin (your custom plugin)
What does the plugin do?
This is the core logic of the entire system.
The plugin is responsible for:
1. Reading the coordinates
From the THR Home Assistant device using the placeholders:
HA_GPS_DEVICE
HA_LATITUDE_ATTRIBUTE
HA_LONGITUDE_ATTRIBUTE
2. Sending a Google Maps Reverse Geocoding Request
Example:
https://maps.googleapis.com/maps/api/geocode/json?latlng=50.11,8.68&key=XXXX
3. Processing the Response
The plugin extracts the formatted human-readable address from the JSON.
4. Writing the Address into a THR Virtual Device
Using the placeholders:
THR_OUTPUT_DEVICE
THR_OUTPUT_ATTRIBUTE
In short:
The plugin performs all calculations and the API work.
4. The Virtual Device in THR (Output Device)
What does the virtual device do?
It stores the final address string returned by the plugin, for example:
“Friedrich-Ebert-Anlage 26, 60325 Frankfurt am Main, Germany”
The plugin writes this value into the output attribute.
Why is this needed?
Because THR UI controls (Labels, TextBlocks, etc.) can only bind to device attributes, not to plugin variables.
5. The UI in The Home Remote (Labels, Buttons)
What does the UI do?
- A Label displays the resolved address by binding directly to:
@Device.THR_OUTPUT_DEVICE.THR_OUTPUT_ATTRIBUTE
- A Refresh Button (optional) can manually trigger a plugin refresh.
The UI has no logic — it only shows what the plugin provides or invokes a refresh.
6. Google Maps Geocoding API
What does Google do?
Google performs:
- the reverse geocoding
- the conversion from raw GPS coordinates into a readable address
Your plugin sends the coordinates to Google and receives a structured JSON response.
Complete Summary (One Sentence)
Home Assistant provides the coordinates → THR exposes them as a device → the plugin reads the coordinates, sends them to Google, receives the address, writes it to a THR output device → the UI displays the address.
A second option would be to store the data on a simple Python web server and have the plugin read it from there.