With the way the app is currently setup, this is how the presence detection works:
Present: Distance from home is 0 (within the home radius)
Not present: Outside the home geofence, and if the SSID is configured, phone isn't connected to the home SSID
The SSID is only being used to prevent a bad location from pushing the phone outside the home geofence, causing false "not present" notifications. It's an extra "safety net", but not the core method from determining present/not present.
I have the latest driver and program installed. My wife's iPhone appears to be working correctly, but my Pixel 6 has logged me as XX.XXXX miles from home, but has not changed my status from present to not present. Any suggestions as to what could be wrong?
@lpakula curious why you opted to use distance from home coordinates rather than a specific region to trigger presence/arrival. I see in the events that region triggers like any other geofence does but distance can take quite a bit more time to trigger. In my case, 6 minutes after a 149m radius region named home was entered did distance hit 0 and trigger 'present'. Current method should at least use 'Distance from home location to indicate 'present'' rather than 0, correct? But I think region might work better still.
EDIT: I may have answered my own question. I just discovered...
...and had it set previously to default [hubitat location]. Changed it to Home region and will see if that behaves more like expected. Something may still be wrong with 0 distance from coordinates though.
It would also appear that my wife's I phone is using driver version 1.6.1 and my phone is showing driver version 1.6.4 Her device shows a BSSID, that mine does not...
It uses both to trigger the present/not present. Once you are inside the home radius, it changes the distance from home to "0" to prevent jitter in that reported value: IE: you might get a "you are 0.1 mi from home" even though you are at home.
If you use the Hubitat coordinates (Hubitat Default), drop that lat/lon into google maps and confirm that it places it at your house. Those come from your ISP, and may not be an accurate pin of your home.
In that case, your wife's phone hasn't sent a location update since you upgraded Hubitat from 1.6.1 to 1.6.4. Once the child device sees an update, it will display the new version.
I have defined my home slightly different location than the Hubitat location (4th decimal place) and am using imperial units with a value of 349. I typed 350, but the system must have used a conversion and rounding down to 349.
Assuming it only uses both once a region(place) is selected from the drop down though which I hadn't until this morning. Will be testing but I bet that's what part of my problem was.
This is what I chose initially (since I didn't know any better). If I remember though, it asked if I wanted to use the hub coordinates rather than the phones'. Still though, I think there may be an issue with using strictly coordinates and not choosing a region.
Rather than firing when you're the distance of the radius you input in setup, it's firing at 0 distance from coordinates.
I've been diving into the world of Tasker to ensure that OwnTracks kicks in automatically after a mobile device reboot. My understanding is that OwnTracks needs to be manually opened post-reboot, but I stumbled upon some info about using Tasker to streamline this process.
Here's what I've done so far:
Downloaded and installed Tasker on my Android phone.
Opened Tasker.
Selected Profiles.
Added a profile using the "+".
Selected Event.
Chose System.
Picked Device Boot.
Accessed Task Edit.
Created a new task.
Named it LoadOwnTracks.
Added a task using the "+".
Selected App.
Chose Launch App.
Picked OwnTracks.
Accessed Task Edit.
Revisited Task Edit.
Renamed the profile to LoadOwnTracks.
I've cobbled this together with my limited understanding of Tasker, and I'm curious to know if anyone else has tried a similar approach. More importantly, am I on the right track with these steps? Any tips or suggestions would be greatly appreciated!
Oh, what's happening is the app is getting a location from a phone if it's entered a region defined on the phone (transition) or a move location.
The transition events come with a "you entered/left region" as well as a lat/lon. The Hubitat app is checking the distance that lat/lon is from your home pin, and if you are inside that radius (which happens on the transition event), it reports 0 distance from home.
For example:
Home radius is 200 feet
Phone has a this home radius in it's region list
Phone is 201 feet from home, the app reports "201 ft from home"
Phone is 199 feet from home, an enter transition occurs, and the app reports "0 ft from home" since you are inside your home radius.
All reported locations inside this 200 foot radius will report as "0 ft from home".
The Hub coordinates is just used to define the home pin. Doesn't matter if you use the home region defined on the phone or hub, just as long as the lat/lon is actually your physical home location. Some ISP's use the street junction box as the "location" so the hub might be reporting that, vs the actual location.
By default, the phone is sending a "ping" to the hub every 30-minutes, so should update the location eventually.