[RELEASE] PositionGuard Family Presence — one presence device per family member, area-level, no coordinates on your hub

That's exactly the shape PositionGuard is built for — one app per person, but each person can be in multiple areas. You'd define both the half-mile "outer" geofence and the 500ft "inner" geofence as separate areas, and your phone reports on all of them. Each area becomes its own presence device in Hubitat, so your HSM automation triggers on the
outer area's enter, and your tighter automations trigger on the inner area's enter/exit.

You wouldn't need two apps to make it work.

One note on Android specifically: I mentioned earlier that Android has a ~90 second dwell delay on arrivals. For your half-mile outer area that's probably fine — you're still in cellular coverage at that distance and the 90 seconds is well before you'd need HSM disarmed. For the tighter 500ft inner area, the 90 second delay means the "arrived close to home" event fires roughly 90 seconds after crossing the boundary. Depends on what automations you're
tying to it whether that's acceptable.

If it helps, happy to walk through the area setup once you install.

Two changes I would like to mention, one of which I should have posted about when it went in.

Departure timing changed on July 24

I enabled a short confirmation window on exit an area. Departures are now held briefly and confirmed before being sent, which suppresses the case where GPS noise at a boundary fires a "left" that's immediately followed by an "arrived", the flapping some of you will have seen.

Arrival timing is unchanged. Departure notifications now arrive roughly 20 seconds later than they used to.

For most presence use that's invisible. But if you have a rule that fires on departure like locking up when the last person leaves, shutting things down on the way out, that's 20 seconds you didn't have before, and no way to know about it. The data since the change shows the flapping substantially reduced, so I'm inclined to keep it, but there is a tradeoff.

So, a direct question: is anyone here driving automations off the exit side? I'd like to know how many people the timing actually touches before deciding if I should tune the window.

Notification wording changed

Arrival and departure push notifications used to lead with the area name and put the group underneath, in the form "{area}" / "{name} arrived · {group}". Two problems with that. It parses as the person arrived at the group rather than the area. And when notifications stack up, iOS hides the first line and shows only the second. So the area name, the one piece of information you actually wanted, disappeared.

They now read "{group}" / "{name} arrived {area}", which stays correct when collapsed.

No impact on the Hubitat integration. Presence devices are driven by the integration polling the API, not by push notifications. This only changes what appears on a phone. It came from user feedback. Thanks!

Android

0.8.0 went out without notes and is the recommended version: connectivity and error handling, nothing presence-related.

I just went to install the app following the github instructions for setting up:

  1. Sign in with your phone number (SMS verification).

Why does this need my phone number?

Phone number is the sign-in method. There are no usernames or email accounts. It's how you sign in to the app, and the same sign-in gets you into dev.positionguardai.com to create the API key.

It is also how you build a group. You create an area, like your house, put it in a group, and invite the rest of the family by phone number. They can be invited before they've registered and the invite matches to their account when they sign up. Everyone in the group then gets a presence device on your hub for that area.

The hub itself never sees any of it. It authenticates with the API key.

iOS 1.9.6 is live on the App Store.

Most of it is small, but one thing worh mentioning as it affects what your hub sees.

Creating an area with a radius of 50m or less now shows a note that arrivals and departures may be missed or delayed at that size.

The reason is that phone GPS is typically accurate to 30 to 50m. At a 50m radius the accuracy circle is about the size of the area itself, so a position near the edge really can't be resolved as inside or outside, and instead of guessing the previous state is held. On the hub that looks like a presence device that doesn't change when you expect it to.

As a note, and not a restriction. Small radii have valid use. A larger circle picks up traffic passing by an area rather than stopping in it, which make sense if your area sits near a road. But if a presence device has been behaving unpredictably, the radius is the first thing I'd check.

Also fixed: the radius slider showed metric distances when imperial was selected, and Add Area is now reachable directly from the Home screen. Thanks for feedback.

I'm in Australia, downloaded the app but getting this message when trying to send the code to my phone:

"SMS unable to be sent until this region enabled by the app developer."

Hi @RobDaBush, thanks for flagging this. SMS verification was only enabled for a few countries so far. Australia is added now, give it another try and it should go through. Let me know if it doesn't.

PositionGuard [iOS 1.9.7 / Android 0.8.1] is rolling out this week with a few reliability fixes for live location sharing:

  • Fixed an issue where a newly-joined group member could show as "not sharing" to the rest of the group for a period after joining
  • Fixed a display issue where members of a public group could show as "sharing location" even when they weren't physically in the group's defined area. This only affected the on-screen label, your actual location was never visible to others outside the area.
  • Sharing toggle now updates more reliably, including immediately after app launch

These changes are on the app side and do not affect the Hubitat integration or the API it uses.

As always, if you notice anything unexpected with presence or notifications after updating, let me know here with what you saw and roughly when. Thanks for feedback!

Seems to work well, easy to set up, nice phone app. My family members can now be included in my presence automations without relying on flapping Wi-Fi connectivity. The "Non-Tracking" was the clincher. Although, it doesn't seem to be available in Australia on the Android Play Store.

Thanks @RobDaBush for letting me know. Android's still in open beta and wasn't yet available in Australia, that's now expanded. Should show up on the Play Store within a day or so.

PositionGuard Android 0.8.3 (build 36) — small fixes

Quick update for anyone on Android:

  • Fixed an issue where inviting someone by phone number could appear to do nothing if the number wasn't confirmed first.
  • Inviting someone who hasn't joined PositionGuard yet now shows a clear confirmation the invite was sent, with sharing a join link as a separate optional step.
  • Fixed the map defaulting to the wrong starting location when creating a group or area before location access had been granted.

No changes to the Hubitat integration in this release. Let me know if anyone runs into anything. Thanks for the great feedback!