owntracks / android

OwnTracks Android App
http://owntracks.org
Eclipse Public License 1.0
1.39k stars 477 forks source link

gps accuracy, jumps around on wake up. #66

Closed matbor closed 10 years ago

matbor commented 10 years ago

My wife just swapped from ios to android (HTC one M8) and i have set it up similar to my iphone and her old iphone with a home waypoint of 500meters.

iPhone i have never really had any problems but with the HTC i have noticed that when it wakes up 'sometimes' to report it's location the GPS accuracy will jump out to say a value >1000m and then all of a sudden go down to <500m. At which point owntracks will issue a leave and then shortly after an enter.

I'm not sure if this is a hardware issue (we are both new to Android) or maybe something that can be fixed in owntracks, like a simple delay before reporting the waypoint change just to make sure the gps isn't just waking up.

Matt.

binarybucks commented 10 years ago

There is nothing much we can do about this. We simply request a location from the Google Play Services and receive a result. Theoretically I could throw away every first reported location with an accuracy > x but tbh I haven't seen the issue on my device.

On Mon, Jun 30, 2014 at 3:56 AM, Matthew Bordignon <notifications@github.com

wrote:

My wife just swapped from ios to android (HTC one M8) and i have set it up similar to my iphone and her old iphone with a home waypoint of 500meters.

iPhone i have never really had any problems but with the HTC i have noticed that when it wakes up 'sometimes' to report it's location the GPS accuracy will jump out to say a value >1000m and then all of a sudden go down to <500m. At which point owntracks will issue a leave and then shortly after an enter.

I'm not sure if this is a hardware issue (we are both new to Android) or maybe something that can be fixed in owntracks, like a simple delay before reporting the waypoint change just to make sure the gps isn't just waking up.

Matt.

— Reply to this email directly or view it on GitHub https://github.com/owntracks/android/issues/66.

Mit freundlichen Grüßen / With kind regards Alexander Rust

matbor commented 10 years ago

Thought as much.  Guess I'll just have to wait for HTC to fix it. 

For now I have just increased the waypoint radius to compensate.

On Mon, Jun 30, 2014 at 4:07 PM, Alexander Rust notifications@github.com wrote:

There is nothing much we can do about this. We simply request a location from the Google Play Services and receive a result. Theoretically I could throw away every first reported location with an accuracy > x but tbh I haven't seen the issue on my device. On Mon, Jun 30, 2014 at 3:56 AM, Matthew Bordignon <notifications@github.com

wrote: My wife just swapped from ios to android (HTC one M8) and i have set it up similar to my iphone and her old iphone with a home waypoint of 500meters.

iPhone i have never really had any problems but with the HTC i have noticed that when it wakes up 'sometimes' to report it's location the GPS accuracy will jump out to say a value >1000m and then all of a sudden go down to <500m. At which point owntracks will issue a leave and then shortly after an enter.

I'm not sure if this is a hardware issue (we are both new to Android) or maybe something that can be fixed in owntracks, like a simple delay before reporting the waypoint change just to make sure the gps isn't just waking up.

Matt.

— Reply to this email directly or view it on GitHub https://github.com/owntracks/android/issues/66.

Mit freundlichen Grüßen / With kind regards

Alexander Rust

Reply to this email directly or view it on GitHub: https://github.com/owntracks/android/issues/66#issuecomment-47497570

jpmens commented 10 years ago

My experience has been that locations reported are sometimes good, other times less so (accuracy pretty high, as much as 3500m). I suggest you increase radius of your geo-fences to avoid issues.

matbor commented 10 years ago

What I have found is that no mater what I change the radius waypoint to, ie. 500, 1000, 2000 it seems to report the accuracy at that value occasionally and then invokes a leave followed by an enter sometime after.

Cut down example of one of many when the radius is set to 500m;

{ "acc": "500.0", "_type": "location",    "desc": "home", "event": "leave", }
{ "acc": "500.0", "_type": "location",    "desc": "home", "event": "enter", }

Cut down example of one of many when the radius is set to 1000m;

{ "acc": "1000.0", "_type": "location", "desc": "home", "event": "leave", }
{ "acc": "1000.0", "_type": "location", "desc": "home", "event": "enter", }

And basically it is the same again when I change it to 2000meters, the acc field shows up as 2000.

sumnerboy12 commented 10 years ago

Interesting, I am having the same problem with an HTC One M7. I thought it was something to do with WIFI access points in my home but it looks like it could be a problem in the HTC firmware instead. I recently upgraded to the latest Sense 6 + Android KitKat and now I think about it, these problems have started since then. Thanks for the pointers Matt - good to know I am not alone!

matbor commented 10 years ago

@sumnerboy12 what is acc when these enter/leave events happen?

sumnerboy12 commented 10 years ago

75, which just so happens to be my waypoint radius...

matbor commented 10 years ago

Try changing the radius of the waypoint and see if keeps happening.

On Tue, Jul 8, 2014 at 6:08 AM, Ben Jones notifications@github.com wrote:

75, which just so happens to be my waypoint radius...

Reply to this email directly or view it on GitHub: https://github.com/owntracks/android/issues/66#issuecomment-48233740

sumnerboy12 commented 10 years ago

I have tried changing it previously - upped it to 100 - but it still happened. It seems to be playing ball currently but I am monitoring that MQTT topic so will see if it starts happening again today and let you know. Thinking it could be something to do with the latest update to the HTC One software?

matbor commented 10 years ago

Could be but not sure as the phone is only new (htc one m8 and my wife uses it)

On Tue, Jul 8, 2014 at 7:37 AM, Ben Jones notifications@github.com wrote:

I have tried changing it previously - upped it to 100 - but it still happened. It seems to be playing ball currently but I am monitoring that MQTT topic so will see if it starts happening again today and let you know. Thinking it could be something to do with the latest update to the HTC One software?

Reply to this email directly or view it on GitHub: https://github.com/owntracks/android/issues/66#issuecomment-48244587

sumnerboy12 commented 10 years ago

Ok - so I changed the radius to 100m and everything was fine all day - although the phone didn't really move much - was in my home office all day. I left after work and returned 30mins later and since then it has been exhibiting this problem again.

/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404802060", "acc": "100.0", "batt": "64", "desc": "home", "event": "leave"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404802242", "acc": "100.0", "batt": "64", "desc": "home", "event": "enter"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404802830", "acc": "100.0", "batt": "63", "desc": "home", "event": "leave"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404802911", "acc": "100.0", "batt": "63", "desc": "home", "event": "enter"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404803184", "acc": "100.0", "batt": "63", "desc": "home", "event": "leave"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404803258", "acc": "100.0", "batt": "63", "desc": "home", "event": "enter"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404803658", "acc": "100.0", "batt": "62", "desc": "home", "event": "leave"}
/owntracks/ben {"_type": "location", "lat": "-43.5721279", "lon": "172.7621102", "tst": "1404803732", "acc": "100.0", "batt": "62", "desc": "home", "event": "enter"}
sumnerboy12 commented 10 years ago

@binarybucks when you publish an enter/leave event in the Android app do you use the waypoint lat/lon/radius in the message, or just whatever is reported by the Location Services API? The reason I ask is there seems to be different behaviour in the iOS and Android apps - the iOS uses the devices current lat/lon/acc in the waypoint event messages, but I always see the waypoint lat/lon/radius on my HTC (see above). Just wondering if this is by design or a symptom of the problem @matbor and I are seeing.

binarybucks commented 10 years ago

This is by design (that was requested quite some time ago). It publishes the waypoint data (see https://github.com/owntracks/android/blob/master/src/main/java/st/alr/mqttitude/services/ServiceLocator.java#L324 )

On Mon, Jul 14, 2014 at 5:20 AM, Ben Jones notifications@github.com wrote:

@binarybucks https://github.com/binarybucks when you publish an enter/leave event in the Android app do you use the waypoint lat/lon/radius in the message, or just whatever is reported by the Location Services API? The reason I ask is there seems to be different behaviour in the iOS and Android apps - the iOS uses the devices current lat/lon/acc in the waypoint event messages, but I always see the waypoint lat/lon/radius on my HTC (see above). Just wondering if this is by design or a symptom of the problem @matbor https://github.com/matbor and I are seeing.

— Reply to this email directly or view it on GitHub https://github.com/owntracks/android/issues/66#issuecomment-48862197.

Mit freundlichen Grüßen / With kind regards Alexander Rust

sumnerboy12 commented 10 years ago

Thanks Alex - figured that was the case. So it really just boils down to something going wrong in the location services on these HTC phones. I can't believe there is not more chatter about this but I am struggling to find much out there reporting similar issues.

sumnerboy12 commented 10 years ago

I have had to drop my HTC One (M7) in for repair (camera problem). They gave me a Sony Xperia load-phone and I have installed OwnTracks. It is exhibiting the same behaviour as my HTC One - i.e. I get enter/leave events when the phone is sitting on my kitchen bench. Sometimes every minute, sometimes every hour.

This phone is running Android 4.1.2. I thought it must have been something to do with the HTC (since @matbor is seeing the same thing on his wife's HTC One M8) but it appears to be more generic.

Only started happening in the last few months.

jpmens commented 10 years ago

FWIW, I spent a week pretty immobile in a hospital room. On the third day I noticed that my iOS (not Android!) device kept alerting enter/leave for a waypoint I'd set half a year ago just 500m away; this happened every few minutes.

I finally changed the waypoint to increase the radius to 800.

What I'm trying to say is that the apps have no chance; they get what they're given in terms of GPS accuracy.

sumnerboy12 commented 10 years ago

Yep - completely agree. But the thing is this used to work just fine up until a few months ago. And now I have tried two different phones and they both exhibit the same behaviour (different models but both Android). My initial thought, and I think I am going back to this now, is that somehow Google has got some stale/bad location data cached for me and when I jump on certain cell towers, or 'see' certain WIFI networks it mistakenly assumes I am in the wrong place. I haven't been able to find anywhere online that explains how to clear this location cache. I could of course be completely barking up the wrong tree...

binarybucks commented 10 years ago

no updates and probably not an issue on our side. Reopen if necessary.

matbor commented 10 years ago

Still having problems, so is Ben, but have yet to come up with a solution.

On Wed, Oct 8, 2014 at 9:00 PM, Alexander Rust notifications@github.com wrote:

no updates and probably not an issue on our side. Reopen if necessary.

Reply to this email directly or view it on GitHub: https://github.com/owntracks/android/issues/66#issuecomment-58335661

sumnerboy12 commented 10 years ago

Yep still a real PITA. But I agree, I don't think it is OwnTracks itself, but Googles location services. I wish there was some way to clear Googles cache of location/WIFI/cell tower mappings as I have a feeling these are a bit messed up for me when I am around my house. Hence my location starts jumping around as I move from cell tower to WIFI network. Only a guess tho...

ghost commented 10 years ago

(iPhone) I noticed similar behaviours. Wondering if it's possible to get location from GPS only, not assisted by Wifi/cell tower: less chance to have full coverage indoor, but more consistent values.

binarybucks commented 10 years ago

theoretically that's possible but believe me, the results are not more consistent ;)

On Wed, Oct 8, 2014 at 10:19 PM, Stefano Costa notifications@github.com wrote:

(iPhone) I noticed similar behaviours. Wondering if it's possible to get location from GPS only, not assisted by Wifi/cell tower: less chance to have full coverage indoor, but more consistent values.

— Reply to this email directly or view it on GitHub https://github.com/owntracks/android/issues/66#issuecomment-58420461.

Mit freundlichen Grüßen / With kind regards Alexander Rust