[App][Pro] ZoneTracks

I’m presuming that will work the same for an iPhone as well :crossed_fingers:t3: I look forward to trying it, thank you :grin:

I’m fairly positive the Tracker ID is just what displays on the map location in place of the Avatar picture, so can be any 2 characters you identify with that person. I set it to my initials AH when my user is ‘andy’ and it works fine (on my iPhone it defaulted to a random number when first setting it up)

I have published a new test version.

Mahoosive thanks :grin: that works an absolute treat… you are a legend good sir :saluting_face: I doff my hat to you :top_hat:

Apple iOS :slight_smile:

If you read through the posts from myself and the app creator @Adrian_Rockall you should be able to see all the information and screenshots you need to get it working. The ZoneTracks app just requires precise details (and some defaults removed) and then it works wonderfully.

Good morning,
I spent all day yesterday getting frustrated with the old app (Location and Presence).
I found and installed this app early this morning.
The HTTP configuration worked immediately.
Android: 11 (LineageOS-18)
Homey app: 1.1.2
Android app (OwnTracks): 2.5.9

I still need to properly test the notification itself this week.
I need the location update for the phone I use on my bike.
I hope the bathroom is free when I get back from my workout. :thinking:
(And that the “friend of the house” has left by then, too. :zany_face:)

Thanks a lot for now.

Hi Adrian,
So happy with the app, awesome.

Just a question. In the devicecard, my trips are listed from the first to the last, my current position.
Would it possible when I click the dropdown ‘Current positon’ that indeed my current route is presented followed by the previous routes. Now I need to scroll all the way down to see my actual latest route. List new to old.

Thanks again Adrian

Cheers,
Eric

I just spend a few hours trying to get this to work on my Android phone, keep getting the same 400 error as mentioned a few times above.
using 1.1.5

HTTP return code 400 represents the error “Bad Request” and is a client side error… which suggests the settings in the Android device’s Zone Tracks app are incorrect. You might try examining some of the screenshots in the above posts, to confirm you have entered the correct details in the correct fields, and cleared any default settings that aren’t needed for this application. This approach worked for a few of us, on both Android and iOS.

I used the above Screenshots to compare with my settings.

Can’t see any difference with mine.

Double check that the username and URL are exact matches with that in the Homey app’s settings (they are case sensitive) and double check you have the entire URL (it’s quite long).

Are you using the HTTP or MQTT connection between the Zone Tracks mobile app and your Homey?

I also wanted to start using the app today, but I’m getting a 400 error. When I check the URL, it says that the API URL is unavailable.

I’m using Homey Self-Hosted Server (SHS).

Cannot GET /api/app/com.ady.zonetracks/events/%name%

I’m using http, copied the url directly from the homey app on the phone.

Also using homey shs.

If you open the url in a browser. What do you get?

I wonder if it is an issue only with SHS, I’m running a Pro (2026), and during prior discussions in this forum thread I don’t remember any one else using SHS. Perhaps it might be worth you creating an app Diagnostic Report and pasting the ID here for the developer… that might shine a light on the source error.

I don’t have any experience with SHS, so don’t know what else to suggest I’m afraid

Thanks for trying to help.
Since the owntrack info never reaches the app on Homey the Diagnostic Report won’t show anything.
This is what the owntarck log shows

2026-10-19 10:47:47.219 E [DefaultDispatcher-worker-4] MessageProcessor$onMessageDeliveryFailed: Message delivery failed. queueLength: 2, message=[MessageLocation id=422f260c ts=2026-10-19T08:31:34Z,lat=51.801657,long=5.231876,created_at=2026-10-19T08:32:21Z,trigger=USER]
2026-10-19 10:47:50.904 I [main] PreferencesStore: Setting default preference value for locatorPriority to null
2026-10-19 10:48:03.512 E [DefaultDispatcher-worker-2] HttpMessageProcessorEndpoint: HTTP request failed. Status: 400
2026-10-19 10:48:03.514 W [DefaultDispatcher-worker-2] MessageProcessor: Error sending message [MessageLocation id=422f260c ts=2026-10-19T08:31:34Z,lat=51.801657,long=5.231876,created_at=2026-10-19T08:32:21Z,trigger=USER]. Re-queueing
org.owntracks.android.net.MessageProcessorEndpoint$OutgoingMessageSendingException: java.lang.Exception: HTTP request failed. Status: 400
at org.owntracks.android.net.http.HttpMessageProcessorEndpoint.sendMessage-gIAlu-s(SourceFile:337)
at org.owntracks.android.services.MessageProcessor.sendAvailableMessages(SourceFile:557)
at org.owntracks.android.services.MessageProcessor.access$sendAvailableMessages(SourceFile:1)
at org.owntracks.android.services.MessageProcessor$sendAvailableMessages$1.invokeSuspend(SourceFile:11)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:9)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(SourceFile:54)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(SourceFile:23)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:32)
at kotlinx.coroutines.DispatchedTask.run(SourceFile:109)
at androidx.work.Worker$2.run(SourceFile:150)
at kotlinx.coroutines.scheduling.TaskImpl.run(SourceFile:3)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(SourceFile:93)
Caused by: java.lang.Exception: HTTP request failed. Status: 400
at org.owntracks.android.net.http.HttpMessageProcessorEndpoint.sendMessage-gIAlu-s(SourceFile:258)
… 11 more

Sorry for not replying sooner and thanks to others for trying to help.

Did you change that URL or is that exactly what you have entered?
It should start with
https://homey-yourHomeyID.connect.athom.com/api/app/com.ady.zonetracks/events/ady

That’s the message you get when using the full url in a browser.

When I get home I will try it on SHS to see if that’s the issue.