Presence sensing issues

I am setting some basic device tracking to detect me coming home.
Issue I have is that it takes “forever” to detect that I am home. I am using wifi and bluetooth at the moment as I have not worked out how to use the app on the phone with a specific zone, so that it only detects me as home when I am like 20m away from the house.
Is the timeout due to the timer between readings off the router info?
Another issue with wifi that I found is that new android phones have random mac address option enabled by default on the wifi, so my device in HA that I tied to a person changes every time I stop/start wifi on my phone =( I know I can disable that feature, but is there another way around it?