A self-hosted Traccar server already tracked the family's phones and the work van. This tab pulls those three onto the wall panel as a live, colour-matched dark map with per-device cards — its addresses named down to the actual house by a self-hosted property API, and a Day mode that draws the whole day's route and every stop straight from Traccar. No Google Maps, no paid tile key, nothing leaving the house.
Traccar is an open-source GPS server — the phones run its app, the van has a hard-wired tracker, and all three report to Kevin's own server rather than a manufacturer's cloud. Home Assistant's Traccar-Server integration turns each into a device with position, speed, battery and motion.
Free dark map tiles turned out to be a moving target. Home Assistant's stock map wanted a paid key; the obvious free fallback got the app blocked; the answer in the end was a proper keyless dark basemap from Esri. The tab is one small self-contained web-app in an iframe, so swapping the tile source was a one-line change.
A bare coordinate is useless on a wall. Turning it into an address normally means a geocoder, and free ones are coarse — often just a street or a postcode. So the tab asks Kevin's own Grid first: a self-hosted property API built on OpenStreetMap and enriched with UK property data, covering the local area. It resolves a fix to the actual building — house number, street, postcode, even the property type and energy rating.
Tap a device and the detail panel shows a property card — the resolved address, the building's UPRN, type and EPC band, and the nearest neighbours — with a green GRID badge on the address to say it came from home.
The Grid only covers the local area so far. Anywhere else, the tab falls back to OpenStreetMap's free Nominatim service and labels the result coarse honestly — a street or postcode, not a house.
Because it always tries the Grid first, every time the Grid's coverage extends, those areas quietly upgrade from a coarse OSM guess to a precise property — with no change to the tab.
The live map shows now. Hit Day and it shows the story of the day — every route and every stop — pulled directly from the Traccar server's reports, not from Home Assistant's history (which only keeps sparse snapshots). Traccar has every raw GPS fix and works out the trips and stops itself.
Colour-matched chips let you draw one device's day or several at once — the van alone, or the whole family overlaid — and a Now button drops straight back to the live view.
Every stopped place is a clickable pin. Tap one and the device panel tells you when it arrived, when it left, how long it was parked — with the address resolved through the Grid to the exact building.
Because it reads Traccar's own report, the van's day comes back as hundreds of points — a real driven line, not the handful of snapshots Home Assistant happens to have logged.
The big dark map fills two-thirds of the screen; three device cards sit alongside, each colour-keyed to its marker — the amber dot on the map is the amber card in the list.
Colour-matched markers, a ring around home, and each device's recent trail. A "moving" marker pulses; a "Fit all" button frames everyone at once.
Each card shows Home / Away / Moving, the Grid address, speed in mph, a battery bar (or the van's voltage), distance from home, GPS accuracy and last-seen — with a Go to button that flies the map to that device.
Tap a card and it opens a focused view: that device on its own map, the Grid property card, plus distance from home, geofence and link status — the full picture, then back out.
Self-hosted GPS, a map that costs nothing to draw, addresses named to the actual doorstep, and a day-replay pulled straight from the source — all reading the same local stack that runs everything else in the house. Next: geofence arrival routines off the day's stop patterns.