I have two SM-G998U devices. (S21 Ultra 5G) that were working almost flawlessly prior to the middle of July. Both are Android 12, OneUI 4.1, G998USQS5CVGA baseband version (August 1, 2022).
On Both phones:
Settings -> Device Care -> Battery -> Background Usage Limits -> Put unused apps to sleep is off.
In addition I added the below to Never Sleeping Apps (They have been since I got the phone)
-Hubitat
-Google play Services
Settings -> Device Care -> Battery -> More Battery Settings -> Adaptive Battery is off
In Settings -> Device Care -> Memory under Excluded apps, I have Hubitat and Google Play Services there as well.
In Settings -> Device Care -> 3 Dot Menu - > Automation, I have Auto Optimize Daily turned off (as well as all other options on this menu)
In Settings -> Apps -> Hubitat -> Battery, it is set to unrestricted. I also have no Permissions denied, Location at always, physical activity and camera while using app.
In Settings -> Apps -> Google Play Services -> Battery, it is set to unrestricted. Location all the time and also no permissions denied.
I went through each of these settings and toggled them off then back on trying to fix it. I also force stopped the app (hubitat), cleared cache, and restarted it.
For Geofence settings on both phones,
-Send presence only in motion is off.
-Validate location on network change is on
-Delay Exit is on: 2 minutes
I also have Tasker launching Hubitat in the background whenever the phone is restarted.
I don't think it is a Hubitat APP problem, as that has not updated on either phone since January 2022 (Currently 1.6.8). Location was working fine after that update until the middle of July sometime.
Since the middle of July, both phones were lagging on updating, and I noticed that often if we open the app, it would immediately update. Other times, I had to send a geo event, or using a custom rule with a switch, just force update Arrived or Departed.
Then, I got logged out of the Hubitat app (it happens at work sometimes due to VERY poor cell coverage). When I logged back in, and re-associated my phone with the proper device in the app, MINE has been rock solid for a week again. I tried doing the same to my wife's phone, force stop, clear cache, clear data, then sign in and re-associate. I then went and set all the battery saving/memory saving settings back to the above. Hers still doesn't work, mine still does. So
I have a Tasker profile that I use location to kick on my VPN when I leave the house and turn it off when I return. I added a step to force HE to update arrived and departed using Maker API. Works great on depart. (Was able to turn that off on my phone after the above log out/log in procedure) However, it is a bit slow. So, the second workaround is that I created a switch, that when turned on runs the rule to mark the phone presence as arrived. I then made a google home routine, and put it in as a custom command on android auto. So now, if she gets in the driveway, and the garage doesn't open, all she has to do is push the button on the Android auto screen and Voila.
It was tedious to set up. But, it is an okay workaround until we can figure out what Samsung did to us in the July update.