How to get the exact time of back home?

I track my phone by icloud and ping.
And both of it consider_home: 60.

I can use icloud to judge if I home, it works good, but its a fuzzy time, the GPS and consider_home will affects result. iCloud just means ‘I am near home’.

And problem of ping, if consider_home too short or none, the state changes too often. But if consider_home too long, the trigger time will be late. And if your phone sleep, some times the ping will fail, tell you ‘not home’.

  • So I try to do below:

    • icloud->home: I’m near home
    • start ping tracker and check if I back
    • ping tracker: Oh, he is back! start automation and stop tracking.
  • In program:

    • Set a input_boolean.back_home_fuzzy, in automation, icloud back home will turn this input boolean on.
    • And make ping track my phone without consider_home, use it as trigger, then condition is state of input_boolean.back_home_fuzzy, if ping success and in status back_home_fuzzy, that is the exact time of back home.
    • But this method ping too often, so is it anyway to start this tracker after back_home_fuzzy, and after I back, stop this ping tracker.
  • I know run a big circle, there must be a better way, right? please help.