[APP][Pro] GeoZones

Test version available:
https://homey.app/a/com.roue.geozones/test/


What is GeoZones?

GeoZones allows you to define geographic zones (circles and polygons), evaluate coordinates or subjects, and use the results directly in Homey Flows.

It is designed for advanced geofencing use cases with full control over logic, filtering, and behavior.


Key Features

  • Circle and polygon zones

  • Multiple subjects support (people, devices, etc.)

  • Subject and subject type filtering

  • Zone priority handling

  • Entry delay and exit delay

  • Hysteresis (prevents rapid switching)

  • Movement detection with speed (km/h)

  • Distance calculations (subject ↔ subject, subject ↔ zone, coordinates)

  • Config history with restore support

  • Import / Export configuration


Flow Cards

Triggers

  • Subject entered zone

  • Subject left zone

  • Subject changed zone

  • Subject recalculated

  • Any subject entered/left zone

  • Subject type entered/left zone

  • Config changed

Conditions

  • Subject is in zone / zones

  • Zone contains subject(s)

  • Subject is of type

  • Coordinates match zone or tag

  • Movement state

Actions

  • Evaluate coordinates

  • Update subject position

  • Force recalculation

  • Distance calculations

  • Rename / reset subject

  • Set subject type

  • Purge subjects


Test Version

:backhand_index_pointing_right: Install the latest test version here:
https://homey.app/a/com.roue.geozones/test/

This version:

  • may contain bugs

  • is not yet reviewed by Athom

  • is intended for testing and feedback


Installation

  1. Open the test link above

  2. Log in with your Homey account

  3. Click Install App

  4. Select your Homey


Feedback & Testing

Feedback is very welcome :folded_hands:

Please include:

  • Homey model (Pro 2019 / 2023 / Cloud)

  • App version

  • Steps to reproduce

  • Expected vs actual behavior


GitHub

Source code and issues:
https://github.com/vincent-roue/com.roue.geozones


Support / Donate

If you like this app and want to support development:
https://paypal.me/vincentroue


Notes

  • The test version is available immediately via the test link

  • No Athom approval is required for testing

  • A stable version will be published after validation


Thanks for testing :rocket:

How to report an issue

If you run into a problem, please include as much detail as possible:

  1. Homey Pro model
  2. App version
  3. What you expected to happen
  4. What actually happened
  5. Example coordinates, zone name or subject ID if relevant
  6. Screenshots of the flow or settings page if helpful

If the issue is related to zone matching, please also mention:

  • whether you used a circle or polygon
  • whether the zone is active
  • whether a Subject ID was provided
  • which Flow card you used

Sounds great! Do you have a link to a test version or do we have to wait?

Hi, thanks for your support !
The app is in validation from Homey, it should be available in a few days.

The Test shall be normally available right away, no need to wait for Athom validation

Sounds great, looking forward to trying this

@Anoniemand @Sharkys @J273 thanks for your interest, the test version is available. Please let me know your ideas & bugs if you find some.

Thanks, Just testing it out now and created a work Zone. When I select sources it doesn’t seem to pick anything up as a source to add it as a subject. Is it possible to say when my wife who’s a homey user leaves a work zone I could get a push notification? thanks

Sources are automatically discovered from devices exposing latitude and longitude. Because a homey user is not a device and doesn’t expose these values you can’t use it as a source.

On my side I use FindMy to get my iPhone position, there are some other possibilities for android users.

Oh, how can a person become a source than?

@Anoniemand
As I understand you’ll need something on each phone-to-track to provide for and send actual Lat & Lon information to Homey, like Macrodroid sending webhooks with f.i. geo as event, and latitude and longitude as tag, and then save this per flow to a virtual device via capabilities named measure_latitude and measure_longitude.
Only then this app can read the position(s) via this virtual device (one each phone).

But this is just how I understood it.

Just as @Peter_Kawa said, you need another app that create a device with your location in order to use this device as a source.

Vincent,

Pro 2026 v13.x
Geozones v2.0.0

I’m stuck.
Because I can’t create a virtual sensor with measure_latitude & measure_longitude, those capabilities don’t exist (yet) on Homey.
We can’t create our own custom capabilities with (Advanced) Virtual Devices apps

This is the only “measure” capability starting with an L:

Here’s all available capabilities you can use:

Thanks for the details.
Indeed you’re right, Device Capabilities doesn’t seems to enable lattitude & longitude as virtual capabilities.
Also some bugs on the previous version of GeoZones didn’t work properly so I made the v1.0.4 that now enables to create subjects from flowcards and you can enter the subject coordinates directly in flow cards like so (sorry i’m using french, but you’ll find this card as “Update [subject] with [Latitude], [Longitude]”):


After this card you can eather use the tokens created by the card (zone, previous_zone, speed, tags, etc) or use a trigger card “[Subject] Recalculated” or other to continue with the actions you want to set
Let me know if it works for you after that.
Also I’m curious from where you’ll retrieve the lat/long you want to use, MQTT, websocket, etc ?
Maybe I can in the future implement it as native source.

Too bad, really was hoping for an “easy” implementation of this and person would link to a homey user (with the homey app on a smartphone).

Unfortunately homey users doesn’t expose any info except presence and this is not working properly for most people. If you wish to have some geoposition logic you’ll need an external source for lat/long, then you’ll be able to use it in the app

Hi Vincent,

It’s been discussed before, about why the Homey app doesn’t (seem to) allow access to the location of a mobile device, and not even to the owner.
At best you’d send a request to Athom, about allowing apps with certain rights to access location data of a mobile device of a Homey user account.

Like in HomeAssistant, like all sensors of mobile device, one can choose to pass a mobile devices’ location to H.A., which is no doubt familiar to Athom devs.
Looks quite uncomplicated to me (but hey, I’m no app developer)

.


So you can use the “Find my” app to pass the location data
My first thought was: when this app can do it, your app can do it? No clue how hard it is to implement, it was just a thought.

I don’t know if such an app exists for Android;
I’m quite familiar with the mobile Android app Macrodroid > with this app one has to define geofences, and then you can have it send commands depending on entering/leaving a specific geozone (it uses the Athom cloud)
One ‘issue’: one won’t need your app to send user geofence data to Homey and process it with flows.
But it’s fit to use for your app anyways.

To command Homey (from anywhere), we can use the webhook construction:
to pass data on, it has an event and a tag option.

Webhook used:
https://webhook.homey.app/homey_id/geozones?tag={"lat":{last_loc_lat},"lon":{last_loc_long}}

Flow:

Maybe the life360 app is more suitable?
I won’t test it, because the first data it needs is my phone number.

Hi Vincent,

It’s been discussed before, about why the Homey app doesn’t (seem to) allow access to the location of a mobile device, and not even to the owner.
At best you’d send a request to Athom, about allowing apps with certain rights to access location data of a mobile device of a Homey user account with Homey app installed.

HomeAssistant, one can choose to pass a mobile devices’ location to H.A., which is with no doubt familiar to Athom devs.
Looks quite uncomplicated to me (but hey, I’m no app developer)

.


So you can use the (Homey & ios) “Find my” app to pass the location data.
My first thought was: when this app can do it, your app can do it? No clue how hard it is to implement, it was just a thought.

I don’t know if such an app exists for Android;
I checked life360 but this Android app needs my phone number as first setup step > a nono for me.

I’m quite familiar with the mobile Android app Macrodroid > with this app one has to define geofences, and then you can have it send commands depending on entering/leaving a specific geozone (it uses the Athom cloud)
One ‘issue’: one won’t need your app to send user geofence data to Homey and process it with flows.
But it’s fit to use for your app anyways.

To command Homey (from anywhere), we can use the webhook construction:
to pass data on, it has an event and a tag option.

Webhook used:
https://webhook.homey.app/homey_id/geozones?tag={"lat":{last_loc_lat},"lon":{last_loc_long}}

Flow:

I’ve got it working via Home Assistant, it’s the last thing that isn’t easy (without a 3rd party app) replaceable in Homey. But after hanging around here for about 3 months now, I’m moving more towards keeping both (HA and Homey) instead of only using one of them.