ZoneTracks
Keep track of the family with the OwnTracks app — without handing your location data to a third party.
Homey Tracks uses the free, open-source OwnTracks app on your phone to report location to your Homey. Nothing goes through my servers, or anyone else’s* — the data goes from your phone straight to your Homey (or via your own MQTT broker) and stays there.
*Unless you use a third part MQTT broker
Issues / feature requests: Issues · AdyRock/com.ady.zonetracks · GitHub
What you get
Live map of everyone in the household, in the app settings and as a Homey Dashboard widget
A device per person with Presence, Zone, Battery, Speed, Last seen and Last coordinates, plus an image of the current location and previous journeys
Flow cards for arrivals and departures — per person, or one Flow for the whole family
Zones (waypoints) created on Homey and pushed automatically to everyone’s phone
Journey history — trips split automatically, filterable by person and date range
Rendered map images on each device that you can attach to notifications from a Flow
Private by design — no cloud service, no account, no subscription
Requirements
- Homey Pro (firmware 12.4.0 or later)
- The OwnTracks app on each phone — iOS /
Android - HTTP mode: nothing else. Phones post to your Homey through the Homey relay, so there’s no port forwarding or broker to set up.
- MQTT mode: an MQTT broker reachable from the internet so phones can report while out and about.
I used EMQX for testing. TLS is supported.
Not sure which to pick? There’s a built-in comparison behind the
help button on the Connection screen.
Quick start
- Install Zoneracks and open its app settings.
- On the Connection tab pick HTTP (easiest) or MQTT, fill in the details and press Save.
- Add a User device for each person you want to track and give it a name.
- Open the device’s Advanced settings and set the User ID:
- HTTP mode — anything unique; the endpoint URL to paste into OwnTracks is shown right underneath it.
- MQTT mode — must match that phone’s OwnTracks Username, or its Device ID if everyone shares
one broker login.
- Configure OwnTracks on the phone with that URL (HTTP) or your broker details (MQTT).
- Makes sure to turn on Remote commands and Remote configuration in the OwnTracks Preferences Advance settings section
- Back in app settings, add your Zones on the Zones tab. They sync to the phones automatically.
The
help buttons on every settings screen walk through each step in more detail.
Connection
Choose MQTT or HTTP and enter the connection details. MQTT supports TLS and a custom port.
Settings, units and backup
- Units — speed in km/h or mph.
- Tracking — minimum distance between recorded points (default 50 m) and how many points to keep per person (default 1000). Higher values mean longer history but more storage.
- Backup / Restore — copy your whole configuration out as text and paste it back in, on this Homey or a different one. After a restore, just add the User devices again: the backed-up users are offered to you during pairing so everything reconnects with no retyping.
Avatars
Upload a photo per person. It’s used as their marker on the maps and is pushed to their OwnTracks app so the family sees each other’s faces there too.
Zones (waypoints)
Create zones with a name, position and radius, and Homey pushes them to the OwnTracks apps for you — no fiddling with waypoints on each phone.
- Shared zones go to everybody; private zones belong to one person only.
- Set the position by clicking on the map instead of typing coordinates.
- Promote a private zone to shared, with a prompt if the name clashes (replace, keep both, or cancel).
Map and journeys
Shows everyone’s current position plus their recent tracks. You can:
- filter which people are shown, and choose a date range (today, last 7 days, custom, …);
- see trips as separate journeys rather than one long line — a new journey starts after a configurable gap (default 30 minutes) of no movement;
- pick a single journey to display, or show them all;
- copy the raw logged coordinates to the clipboard.
The map stops auto-recentring as soon as you pan or zoom, so it won’t yank the view away while you’re looking at something.
Fewer false alerts: location fixes with poor accuracy (worse than 100 m) are rejected, and a big jump while you’re standing still has to be confirmed by a second fix before it counts. Points are also re-ordered by time, so a batch of fixes uploaded after a phone has been offline no longer draws a line shooting back across the map.
Dashboard widget
[screenshot: widget]
A Map widget for the Homey Dashboard showing everyone live, with per-widget options for showing zones, showing recent tracks, and how many hours of history to draw (1–168). Tap a person to centre on them, and show/hide individuals or their tracks straight from the widget.
The User device
Each person becomes a device with:
| Capability | What it shows |
|---|---|
| Presence | On when they’re in one of their presence zones |
| Zone (waypoint) | The zone they’re currently in |
| Battery | Their phone’s battery level |
| Speed | Current speed, in km/h or mph |
| Last seen | Time of the last report |
| Last coordinates | Latest lat/lon |
Battery and speed are logged to Insights, so you can chart them over time.
Which zones count as “present” is set per person in the device’s Advanced settings (a comma-separated list, defaults to Home) — handy if someone’s “home” is the annexe rather than the house.
Map pictures on the device
Every User device carries a rendered map image of where they are now, plus a picture of each of their last five journeys (labelled like “Home → Work, 08:12”). Because they’re normal Homey images you can attach them to a push notification or email from a Flow — for example, send yourself a map when someone gets home.
Flow cards
Triggers (any person):
- A person entered a zone (waypoint) — with
userandzonetokens - A person left a zone (waypoint) — with
userandzonetokens
One Flow with these covers the whole family, no matter how many people you add later.
Triggers (a specific person):
- Entered [zone] zone (waypoint)
- Left [zone] zone (waypoint)
Condition:
- The zone (waypoint) is / isn’t [zone]
Some ideas: turn the heating up when the first person leaves work, announce arrivals over a speaker, warn you if a phone’s battery drops below 15 % while away from home, or send the journey map when the kids get to school.
Languages
English, Dutch, German, French, Spanish, Portuguese, Italian, Polish, Russian, Norwegian and Korean.
Reporting a problem
There’s a Logs tab in the app settings. Tick Enable logging, reproduce the issue, then use Email logs (or Copy logs and paste them here). That’s by far the quickest route to a fix — please include which connection mode you’re using and which phone OS.
Support the app
The app is free. If you find it useful, you can buy me a coffee via PayPal — entirely optional and much appreciated.
Testers and feedback, good or bad, are welcome. ![]()
Changelog is in the post below — I’ll keep it updated as new versions land.








