Location tracking is driving me insane

in addition to the above in making sure the correct device trackers have been added you should also double check

Include in sensor updates option will lead to battery drain and a potential location update loop so you may want to avoid that setting as its old app behavior.

Thanks for the quick answer. I double-checked it and the right device was listed. I removed and re-added it, problem persists.

1 Like

Thanks for the tip. I checked all points and made sure everything looks correct.
Afterwards, I checked the log output for LocBroadcastReceiver data and found the following:
02-02 13:40:54.808 15590 15590 D LocBroadcastReceiver: Got single accurate location update: Location[fused **mylatitude**,**mylongitude** hAcc=1000.0 et=+15h23m48s163ms {Bundle[mParcelledData.dataSize=328]}] which is exactly the location of my old home address I’ve had some years ago - so basically the location updater gets some lat/lon numbers from somewhere I still can’t figure out.

EDIT: is it possible that location data is being cached on external SD cards or something similar?

I also see wrong cached data from in my log file. Is it it either when proximity sensor updates or Waze travel time shows unknown. It is not coming from my GPS sensor.

This is an incomplete log. The log will continue to go through an evaluation step to see if its valid data and to see if it should be sent to HA.

This is also Single accurate location update which means its a GPS based request to Google. Any reason why you are using the single accurate location sensor with include in sensor updates option enabled? That is a bit of a battery drain and can cause a location conflict.

So its is helpful to look at the whole log instead of just one line and also helpful to make sure you get about 10 minutes of log time.

If Google believes this is your location and they send it to us with valid data then this is not something the app can fix as we depend on Google to send us data and we evaluate to see how current it is.

You’re right, I’m sorry. Here’s a complete log output:

02-02 13:59:54.815 32323 17065 D LocBroadcastReceiver: Registering for zone based location updates
02-02 13:59:54.891 32323 17103 D LocBroadcastReceiver: Registering for location updates.
02-02 13:59:55.072 32323 17064 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 13:59:55.072 32323 17064 D LocBroadcastReceiver: Removing background location requests.
02-02 13:59:55.083 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 13:59:55.087 32323 17064 D LocBroadcastReceiver: Registering for location updates.
02-02 13:59:59.886 32323 32323 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1000.0 et=+15h23m48s163ms {Bundle[mParcelledData.dataSize=328]}]
02-02 13:59:59.887 32323 32323 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 13:59:59.889 32323 32323 D LocBroadcastReceiver: Received location update.
02-02 14:00:26.740 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:00:50.880 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:01:01.495 32323 32323 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1000.0 et=+15h23m48s163ms {Bundle[mParcelledData.dataSize=328]}]
02-02 14:01:01.495 32323 32323 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 14:04:28.948 32323 32323 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1000.0 et=+15h23m48s163ms {Bundle[mParcelledData.dataSize=328]}]
02-02 14:04:28.948 32323 32323 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 14:04:31.399 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:38.469 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:39.547 32323 17065 D LocBroadcastReceiver: Removing background location requests.
02-02 14:04:39.566 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:39.720 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:40.984 32323 17103 D LocBroadcastReceiver: Registering for location updates.
02-02 14:04:41.026 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:41.154 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:44.794 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:49.032 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:04:49.162 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 14:05:11.007 32323 32323 D LocBroadcastReceiver: Received location update.

here a later logcat output:

02-02 15:32:42.707 32323 32323 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=4319.0 et=+16h59m53s956ms {Bundle[EMPTY_PARCEL]}]
02-02 15:32:42.707 32323 32323 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 15:32:43.138 32323 32323 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 15:33:16.452 24439 24439 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 15:33:16.457 24439 24490 D LocBroadcastReceiver: Registering for zone based location updates
02-02 15:33:16.559 24439 24490 D LocBroadcastReceiver: Registering for location updates.
02-02 15:33:27.783 24439 24476 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 15:33:27.783 24439 24476 D LocBroadcastReceiver: Removing background location requests.
02-02 15:33:27.810 24439 24439 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 15:33:27.813 24439 24476 D LocBroadcastReceiver: Registering for location updates.
02-02 15:33:46.635 24439 24439 D LocBroadcastReceiver: Received location update.
02-02 15:48:28.256 24439 24490 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 15:48:28.256 24439 24490 D LocBroadcastReceiver: Removing background location requests.
02-02 15:48:28.264 24439 24490 D LocBroadcastReceiver: Registering for location updates.
02-02 15:48:33.362 24439 24439 D LocBroadcastReceiver: Received location update.
02-02 15:48:33.369 24439 24439 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=4319.0 et=+16h59m53s956ms {Bundle[mParcelledData.dataSize=328]}]
02-02 15:48:33.369 24439 24439 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5

I enabled this because the Troubleshooting guide told me to.

Well this is interesting in various ways:

  1. I am using a de-googled android (/e/OS) and thus don’t have any Google services installed.
  2. I haven’t had a Google account for a couple of months now.
  3. The Samsung mobile phone is ~2 weeks old and has never had any connection with that Google account.

So I suppose that when I first installed Home Assistant, I did it on a mobile phone which had my Google account linked to it, then HA grabbed my home address from my Google account and now uses it as a fallback?

This is kind of weird. Why does the GPS request depend on Google when it could just take the device’s GPS coordinates directly?

accuracy here is 1000 and the default is 200 so those reports will indeed be skipped. Check the GPS coordinates and if they are valid consider changing the accuracy setting.

Yes they are valid but ~20km away from me so highly inaccurate. I have my minimum accuracy set to 200 inside my HA app.

you should turn off include in sensor update option and look at actual background location updates to see what data they show. These single accurate updates are not based on a subscription and that is the reason why the setting is off by default.

I did as you told and here’s the log output:

02-02 18:58:24.054 27547 27583 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 18:58:24.054 27547 27583 D LocBroadcastReceiver: Removing background location requests.
02-02 18:58:24.065 27547 27583 D LocBroadcastReceiver: Registering for location updates.
02-02 18:58:24.938 27547 27581 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 18:58:24.938 27547 27581 D LocBroadcastReceiver: Removing background location requests.
02-02 18:58:24.948 27547 27581 D LocBroadcastReceiver: Registering for location updates.
02-02 18:58:54.108 27547 27547 D LocBroadcastReceiver: Received location update.
02-02 19:09:12.273 27547 31320 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 19:09:12.273 27547 31320 D LocBroadcastReceiver: Removing background location requests.
02-02 19:09:12.286 27547 31320 D LocBroadcastReceiver: Registering for location updates.
02-02 19:09:42.355 27547 27547 D LocBroadcastReceiver: Received location update.

Did you mean looking at the log or something else?

I see a few times a location update was received but the logs do not show anything else which is strange. Anything else you can tell me about this device? Is it running a stock ROM?

Does anyone know how HA get’s the GPS information if not from the device tracker. What I am seeing is another app is getting an error an it is sending the wrong GPS information to HA. This should not be possible. I believe this started ( off and on) since last summer.

No, as stated here I’m running a de-googled custom ROM called /e/OS.
The device is a Galaxy S10e with a fresh install (2 days old). As I said, all other GPS depending applications tend to work just fine. Is there any other information I can provide?

location tracking is only supported on play certified devices, we cannot account for custom ROM and lack of google services. Too many variability there. One thing you can try to do is install google maps and launch it with proper permissions to see if that kick starts things. Custom ROMs have full support on the minimal version of the app as that version does not have google services features available.

Thanks for the hint. I won’t do this since it requires the whole Google Play Services package to be installed. /e/OS has microG installed which offers Location module settings (it has Mozilla Location Service installed), normally it should work as a Google Play Services replacement however apparently this isn’t the case here.

That’s surely true, however it lacks the exact one ability I need which is location tracking so it’s not usable for me.

What I don’t understand is:
My previous mobile phone had the exact same de-googled operating system installed and I somehow got it working there.

Maybe I’ll go with the minimal version and hope things somehow work out there (for whatever reason).

Thanks a lot for your effort, @dshokouhi !

1 Like

One more thing I’d like to ask which is more of a design question: Why do you make location requests via Google and not the device internal GPS sensor?

because its easier and battery friendly, Google provides simple APIs to use and we don’t need to create our own.

Alright, so I decided to log in at microG with my fake Google account and reinstalled HA full, which gave me a different output now:

02-02 22:52:15.469 25365 25416 D LocBroadcastReceiver: Registering for zone based location updates
02-02 22:52:15.487 25365 25365 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:52:15.724 25365 25414 D LocBroadcastReceiver: Registering for location updates.
02-02 22:52:15.824 25365 25414 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 22:52:15.824 25365 25414 D LocBroadcastReceiver: Removing background location requests.
02-02 22:52:15.841 25365 25365 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:52:15.843 25365 25414 D LocBroadcastReceiver: Registering for location updates.
02-02 22:52:27.724 25568 25621 D LocBroadcastReceiver: Registering for zone based location updates
02-02 22:52:27.755 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:52:27.984 25568 25621 D LocBroadcastReceiver: Registering for location updates.
02-02 22:52:30.353 25568 25603 D LocBroadcastReceiver: Background location updates appear to have stopped, restarting location updates
02-02 22:52:30.354 25568 25603 D LocBroadcastReceiver: Removing background location requests.
02-02 22:52:30.372 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:52:30.380 25568 25603 D LocBroadcastReceiver: Registering for location updates.
02-02 22:52:45.789 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:52:54.694 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h7m39s326ms {Bundle[mParcelledData.dataSize=328]}]
02-02 22:52:54.694 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 22:52:58.041 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:53:23.615 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:53:43.924 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:53:53.850 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:07.207 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:54:07.219 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:54:07.223 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:54:07.224 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h9m53s543ms {Bundle[EMPTY_PARCEL]}]
02-02 22:54:07.224 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 2 of 5
02-02 22:54:22.121 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:23.981 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h9m53s543ms {Bundle[EMPTY_PARCEL]}]
02-02 22:54:23.981 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 22:54:24.481 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:47.056 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:54:47.068 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:54:47.077 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:54:47.083 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m33s390ms {Bundle[EMPTY_PARCEL]}]
02-02 22:54:47.083 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 3 of 5
02-02 22:54:47.088 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m33s390ms {Bundle[EMPTY_PARCEL]}]
02-02 22:54:47.088 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 2 of 5
02-02 22:54:47.712 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:49.399 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:49.419 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:49.596 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:49.993 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:50.039 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:54:53.044 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m39s371ms {Bundle[EMPTY_PARCEL]}]
02-02 22:54:53.044 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 4 of 5
02-02 22:54:53.046 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m39s371ms {Bundle[EMPTY_PARCEL]}]
02-02 22:54:53.046 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 3 of 5
02-02 22:55:02.980 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m49s313ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:02.980 25568 25568 D LocBroadcastReceiver: No location was accurate enough, sending our last location anyway
02-02 22:55:02.990 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m49s313ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:02.991 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 4 of 5
02-02 22:55:09.524 25568 25568 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 22:55:13.041 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h10m59s359ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:13.041 25568 25568 D LocBroadcastReceiver: No location was accurate enough, sending our last location anyway
02-02 22:55:23.072 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:55:23.081 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:55:23.087 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:55:23.090 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h11m9s406ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:23.090 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 22:55:33.107 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h11m19s438ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:33.107 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 2 of 5
02-02 22:55:43.057 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h11m29s393ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:43.057 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 3 of 5
02-02 22:55:53.070 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h11m39s400ms {Bundle[EMPTY_PARCEL]}]
02-02 22:55:53.070 25568 25568 W LocBroadcastReceiver: Location not accurate enough on retry 4 of 5
02-02 22:56:03.116 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:56:03.123 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:56:03.131 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 22:56:03.136 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=6593.0 et=+1d1h11m49s446ms {Bundle[EMPTY_PARCEL]}]
02-02 22:56:03.137 25568 25568 D LocBroadcastReceiver: No location was accurate enough, sending our last location anyway

having “include into sensor updates” activated.

Then, I deactivated “include into sensor updates” which gave me the following output:

02-02 23:02:55.837 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 23:02:55.846 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 23:02:55.857 25568 25568 D LocBroadcastReceiver: Received location update.
02-02 23:02:55.861 25568 25568 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=10.0 et=+1d1h18m42s168ms {Bundle[EMPTY_PARCEL]}]
02-02 23:02:55.861 25568 25568 D LocBroadcastReceiver: Location accurate enough, all done with high accuracy.
02-02 23:02:55.862 25568 25568 D LocBroadcastReceiver: Last Location: 
02-02 23:02:55.862 25568 25568 D LocBroadcastReceiver: Coords:(xx.xxxxxx, yy.yyyyyy)
02-02 23:02:55.862 25568 25568 D LocBroadcastReceiver: Accuracy: 10.0
02-02 23:02:55.862 25568 25568 D LocBroadcastReceiver: Bearing: 0.0
02-02 23:02:55.867 25568 25568 D LocBroadcastReceiver: Begin evaluating if location update should be skipped
02-02 23:02:55.867 25568 25568 D LocBroadcastReceiver: Received location that is 42 milliseconds old, 1675375375825 compared to 1675375375867 with source fused
02-02 23:02:56.076 25568 25621 D LocBroadcastReceiver: Location update sent successfully as exact

I checked and unchecked the “activate single accurate position” a couple of times and went to the window to ensure the satellite coordinates were nearly accurate and got the following:

02-02 23:09:34.683 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:09:34.688 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:09:34.691 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:09:34.693 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:09:34.696 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1629.0 et=+1d1h25m21s18ms {Bundle[EMPTY_PARCEL]}]
02-02 23:09:34.697 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 2 of 5
02-02 23:09:44.753 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1629.0 et=+1d1h25m31s81ms {Bundle[EMPTY_PARCEL]}]
02-02 23:09:44.753 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 3 of 5
02-02 23:09:54.790 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1629.0 et=+1d1h25m41s120ms {Bundle[EMPTY_PARCEL]}]
02-02 23:09:54.790 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 4 of 5
02-02 23:09:59.921 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.yyyyyy hAcc=1629.0 et=+1d1h25m46s253ms {Bundle[EMPTY_PARCEL]}]
02-02 23:09:59.921 23475 23475 D LocBroadcastReceiver: No location was accurate enough, sending our last location anyway
02-02 23:11:03.501 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:11:03.505 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:11:03.512 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:11:03.516 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:12:55.643 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:12:55.653 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:12:55.657 23475 23475 D LocBroadcastReceiver: Received location update.
02-02 23:12:55.659 23475 23475 D LocBroadcastReceiver: Received location update.

Now, the coordinates given in the log are nearly accurate to my actual position so it somehow seems that the location service now works.
However, now the frontend doesn’t update the device trackers position. When opening the device’s “Info” tab and having a look at the attributes section, the GPS coordinates are still the old ones. Do I need to wait a while for the frontend to update or is this a misconfiguration problem?

EDIT: when enabling the Geocoded Location sensor, I still see the “old values” from my old address.

there is still something very strange going on. Every received location update event should be followed by the coordinates and the decsion making process. It looks like you are getting updates without any location at all at times. HA will not be udpated until you see a log statement for location update sent.

Geocoded location merely takes the GPS coordinates and feeds it into a google api, it is not meant to be used for location tracking jsut to print a pretty address of the coordinates.

on play certified devices we don’t see these issues I believe these gapps are missing a lot of important features that are part of play services which the app uses.

I’m sure you’re right there, still on my old device with the same custom ROM everything turned out to be working at some point (of which I just can’t seem to recall the steps for the sake of all). I remember having a lot of struggle there, however eventually I figured it out.

I would like to use this thread to create a diary of steps to take to get this working. I’m quite sure I’m not the only one who wants to make this app run appropriately including location tracking on a custom ROM.

BTW I haven’t changed any configuration in the last few minutes and apparently the location tracker seems to be jumping between my location and my old address now (have a look at the longitude coordinates; the yy.788*** being the deprecated ones):

02-02 23:33:54.912 23475 23475 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 23:33:55.158 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.581460 hAcc=6593.0 et=+1d1h49m41s488ms {Bundle[EMPTY_PARCEL]}]
02-02 23:33:55.158 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 1 of 5
02-02 23:34:02.549 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.581460 hAcc=6593.0 et=+1d1h49m48s880ms {Bundle[EMPTY_PARCEL]}]
02-02 23:34:02.549 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 2 of 5
02-02 23:34:12.559 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.581460 hAcc=6593.0 et=+1d1h49m58s890ms {Bundle[EMPTY_PARCEL]}]
02-02 23:34:12.559 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 3 of 5
02-02 23:34:22.559 23475 23475 D LocBroadcastReceiver: Received location update.
...
02-02 23:34:22.574 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.581460 hAcc=6593.0 et=+1d1h50m8s893ms {Bundle[EMPTY_PARCEL]}]
02-02 23:34:22.574 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 4 of 5
02-02 23:34:22.575 23475 23475 D LocBroadcastReceiver: Received location update.
...
02-02 23:35:22.573 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.581460 hAcc=6593.0 et=+1d1h51m8s889ms {Bundle[EMPTY_PARCEL]}]
02-02 23:35:22.573 23475 23475 D LocBroadcastReceiver: No location was accurate enough, sending our last location anyway
02-02 23:37:23.559 23475 23475 D LocBroadcastReceiver: Received location update.
...
02-02 23:38:32.944 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.788523 hAcc=14.960491 et=+1d1h53m9s893ms {Bundle[EMPTY_PARCEL]}]
02-02 23:38:32.944 23475 23475 D LocBroadcastReceiver: Location accurate enough, all done with high accuracy.
02-02 23:38:32.945 23475 23475 D LocBroadcastReceiver: Last Location: 
02-02 23:38:32.945 23475 23475 D LocBroadcastReceiver: Coords:(xx.xxxxxx, yy.7885231)
02-02 23:38:32.945 23475 23475 D LocBroadcastReceiver: Accuracy: 14.960491
02-02 23:38:32.945 23475 23475 D LocBroadcastReceiver: Bearing: 0.0
02-02 23:38:32.951 23475 23475 D LocBroadcastReceiver: Begin evaluating if location update should be skipped
02-02 23:38:32.952 23475 23475 D LocBroadcastReceiver: Received location that is 69400 milliseconds old, 1675377443551 compared to 1675377512951 with source fused
02-02 23:38:33.029 23475 27643 D LocBroadcastReceiver: Location update sent successfully as exact
02-02 23:38:33.445 23475 23475 D LocBroadcastReceiver: Received location update.
...
02-02 23:38:33.463 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.788536 hAcc=10.0 et=+1d1h54m19s780ms {Bundle[EMPTY_PARCEL]}]
02-02 23:38:33.463 23475 23475 D LocBroadcastReceiver: Location accurate enough, all done with high accuracy.
02-02 23:38:33.464 23475 23475 D LocBroadcastReceiver: Last Location: 
02-02 23:38:33.464 23475 23475 D LocBroadcastReceiver: Coords:(xx.xxxxxx, yy.7885357)
02-02 23:38:33.464 23475 23475 D LocBroadcastReceiver: Accuracy: 10.0
02-02 23:38:33.464 23475 23475 D LocBroadcastReceiver: Bearing: 0.0
02-02 23:38:33.468 23475 23475 D LocBroadcastReceiver: Begin evaluating if location update should be skipped
02-02 23:38:33.469 23475 23475 D LocBroadcastReceiver: Received location that is 31 milliseconds old, 1675377513437 compared to 1675377513468 with source fused
02-02 23:38:33.469 23475 23475 D LocBroadcastReceiver: New location update not possible within 5 seconds, not sending to HA
02-02 23:39:13.318 23475 23475 D LocBroadcastReceiver: Not requesting accurate location, last accurate location was too recent
02-02 23:39:35.164 23475 23475 D LocBroadcastReceiver: Received location update.
...
02-02 23:39:35.188 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.569000 hAcc=6851.0 et=+1d1h55m21s496ms {Bundle[EMPTY_PARCEL]}]
02-02 23:39:35.188 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 3 of 5
02-02 23:39:42.593 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.569000 hAcc=6851.0 et=+1d1h55m28s918ms {Bundle[EMPTY_PARCEL]}]
02-02 23:39:42.593 23475 23475 W LocBroadcastReceiver: Location not accurate enough on retry 4 of 5
02-02 23:39:52.608 23475 23475 D LocBroadcastReceiver: Got single accurate location update: Location[fused xx.xxxxxx,yy.569000 hAcc=6851.0 et=+1d1h55m38s931ms {Bundle[EMPTY_PARCEL]}]
02-02 23:39:52.609 23475 23475 D LocBroadcastReceiver: No location was accurate enough, sending our last location anyway
02-02 23:40:53.635 23475 23475 D LocBroadcastReceiver: Received location update.
...

The Home Assistant GUI still shows my location to be either unknown or away.
I guess I’ll just keep the configuration as it is for now and see what tomorrow brings after having walked around the town a while. I wouldn’t rule out the possibility of our house just blocking all GPS satellite data (since that what it does on all other apps as well). I’ll get back to this.