[RELEASE] iOS App to Manage Multiple Geo-Fences and trigger webhooks

Hello Everyone,

I have an iOS app available via TestFlight that I would like to have more people test to confirm it is stable. I've used myself and will be having my family use as well.

I've been struggling with the geo-fence capability in the Hubitat app and have yet to find a great 3rd party solution that is inexpensive and purpose built for home automation scenarios. Several require the use of their hub or other monthly services and it just shouldn't be that difficult.

I've tried to keep this simple, but flexible:

  • You can have up to 3 different geo-fences, each with their entry / exit webhook triggers.
  • It works well with the webhooks created by the built-in Maker API app in Hubitat
  • I have instructions below on setting up Maker API and configuring the webhooks

If you want to try it out and help me test it, please send me a direct message with your email address and I'll add you to my TestFlight audience.

Below are some things you'll have to do in you Hubitat Hub as well to take advantage of this.

First you’ll need to add Maker API to your Hub. It’s a built in App available for all Hubitat users.

Maker gives you 2 optional sets of API calls:

  1. Provides local network Hub IP address based calls
  2. Provides cloud based API calls

You'll need to select which devices you want to make accessible vai these API. In my case I’m using the presence sensors created for each user that've associated with my Hub. I've named them "Location - [name]" as you see in the screenshot below.

In this use case, you’ll need the cloud based calls (starting with cloud.hubitat.com), specifically the “Send Device Command”.

I’ve greyed out the account specific keys that are contained in the URL for obvious reasons.

The 473 is the ID of the maker app in my Hub, it could be different in your hub.

You’ll get the device ID from your device list.

For presence sensors the command is simply arrived / departed. There’s no need for the secondary command in this use case, just remove that section of the URL.

So the "departed" URL would look like below:

https://cloud.hubitat.com/api/xxxx-xxxx-xxxx-xxx /apps/473/devices/123/departed?access_token=xxxxx-xxxxx-xxxxx-xxxxx-xxxxxx

For "arrived", the URL would be almost identical except changing the command from "departed" to "arrived". You can test this by simply entering the URL in your browser, you should get a response of the full details of the device. You can also look in your HE app to check the status of the device changed.

Once you confirm that is working, you can proceed my iOS app to setup the geo-fence.

  1. Install TestFlight on your phone.
  2. Open the e-mail invitation you received for the app.
  3. Click the accept button the e-mail and you'll see the redemption code
  4. Enter the code in the TestFlight app and that should give you access to my app

Once you get the geo-fence app open you'll be asked for Biometric ID access, notification access, and location access. I implemented biometrics since we're saving potentially sensitive address and the webhooks have access tokens. All the data is encrypted using Apple standard keychain functionality as well.

Once you're in the app you'll likely see button to Always Allow Location access. This is key since you want this to operate in the background at all times.

Adding a geo-fence will give the below screen. Fill in the fields with the appropriate information and save it.

IMPORTANT! - The geo-fence is NOT ACTIVATED by default, you have to activate it to make it start monitoring. The status message at the top also shows how many geo-fences are currently active.

You do have the option to test from the main screen. You can send the entry / exit triggers and monitor the device on your hub to see if it is changing status as expected.

2 Likes

Interesting :thinking:

In the past, I have used Locative for iOS which sounds like a very similar iOS app to yours. Have you looked at Locative? How is your app different? Just curious.

We have used the Hubitat Mobile App, Life360, Amazon Alexa, Locative, etc… in the past. Currently, we use Apple Home to run Apple Home Automations coming and going from home to turn on/off Virtual Presence/Switch devices for each phone. This has worked very well. Of all of the other solutions we tried, my favorite was Locative. :wink:

2 Likes

I use a combination of Apple Home and Locative. In the free version, Locative permits up to 20 defined locations, which comes in very handy.

2 Likes

This app is very similar to Locative. I know mine keeps everything local on the device, no collection of data. Locative claims this as well but how they do it and maintain it completely free is beyond me. There are at least some costs to keeping an app up and running. Seems a bit suspect.

If I were to release mine I would plan to have a minimal annual subscription. Possibly even less than $10 a year. Just something to “keep the lights on”.

The limit of 3 boundaries is technically arbitrary. More to do with me exploring the option to limit a free version and have no limit on the paid side.

Locative has free and paid tiers. And there are in app purchases for other features.

Bearlogics/Marcus Kida (Locative's developer) claims not to collect user data as per the App store. And they can't lie to Apple about what APIs they use and what permissions the app will use.

They could definitely lie about what they do with the data they collect. But given the degree of their community engagement, I think this is unlikely.

@marcus.kida has helped users in the Hubitat community in years past. I'm tagging him, so in the event he still visits, he can comment on what data Locative collects, and what they do with it.

Also, FWIW, the source code for at least the (defunct) Android version of Locative is still available on Github, for anyone to peruse.

2 Likes

Yeah, I saw Bearologics was behind Locative.

One of the things I found strange is that there is no where I could find details on what features could be added at a cost. It wasn’t clear in the app or in the AppStore listing.

With 20 locations and all the functionality around the webhooks being free, it was hard to determine what I would have to pay for.

Since this iOS only, any reason you don’t use the native HomeKit arrival and departure from Apple?

No third party concerns with data and you don’t get the annoying “tracking” pop ups.

Love the effort, just seems duplicitous.

1 Like

Lately, with IOS26.*, “When I arrive home…”, etc., have been “flakey”.
Often needed to reboot iPhone, disable/reenable automations, disable/reenable location services for HOME, and sacrifice a goat to get it to work again.

1 Like

HomeKit has never worked well for me with my HE. Partially, I’m sure, because I don’t have an AirPod or AppleTV.

I did do Apple shortcuts app and automations in there but that’s just open webhooks with no additional security layer and no control of notifications. You’re forced to get all notifications from the shortcuts app.

Hello Hubitat Community

This is now available on the AppStore (I'm working on Android next). But I have a code you can use to get 1 month free. DO NOT FEEL OBLIGATED to continue your subscription unless you truly feel it is helpful.

The code is FORUMFEEDBACK

The app can be found at ‎Smart-Home Geo-Fencing App - App Store

:closed_lock_with_key: Key Features

  • Privacy-first architecture

    • All sensitive data (addresses, webhook URLs, etc.) is encrypted at rest.
    • Location data is only decrypted in memory when absolutely necessary.
    • Users can toggle whether location coordinates are included in webhook payloads.
  • Reliable geofence triggers

    • Built with a focus on stability and predictable behavior.
    • Designed to avoid the common iOS geofencing pitfalls.
  • Webhook automation

    • Trigger Home Assistant, Hubitat, custom servers, or any automation endpoint.
    • Optional payload logging with user‑controlled redaction.

:brain: Why I Built It
I rely heavily on automation, but I never felt comfortable handing my location to third‑party services. I also wanted something that felt intentional — polished UI, predictable behavior, and controls that respect the user’s boundaries.

So I built the tool I wanted: a geofencing app that’s fast, reliable, and doesn’t treat privacy as an afterthought.

:speech_balloon: What I’m Looking For

  • Feedback on the UX and onboarding
  • Thoughts on the privacy model
  • Edge cases or reliability issues you think I should test
  • Ideas for integrations or advanced automation features

I’d love to hear what the community thinks — especially anyone who’s wrestled with iOS geofencing, privacy‑centric design, or automation workflows.

Happy to answer any technical questions about the architecture, SwiftUI patterns, encryption approach, or the geofence manager.

Thanks for reading!

2 Likes

Looks nice! Congratulations on getting it released.

You may want to update your website as the cost model appears to be different vs what the App Store shows (I.e. one time purchase versus a subscription model.)

How/where do I enter code

But I have a code you can use to get 1 month free. DO NOT FEEL OBLIGATED to continue your subscription unless you truly feel it is helpful.

The code is FORUMFEEDBACK

When I went to the page just now those lines weren't there. I did just update that earlier today and published. Not sure why it would have been a delay in updating.

It is supposed to give the option automatically during the purchase process. I might have to force the issue from the app side.

Updated custom UI coming to add dedicated entry of offer codes. Should take Apple a few days to approve and then it will release automatically.

1 Like

Apple came through pretty quick. Offer code button is available.

“… more games like …” I love that!!! :yum:

Just got charged $9.99 for my FREE month!!!
Nowhere did I see FREE MONTH + 11 PAID MONTHS for $9.99 mentioned!!
WTF???

I need to look into that. I’ll refund the 9.99,