I personally find Network binding with arping or the hping3 external scripts to be reliable enough that I’ve abandoned all other presence detection approaches as unneeded. If you have a BT dongle, you might look into reelyActive Smart Spaces Revisited. If you have Android phones, you might look into (FIND)(Find: High-precision indoor positioning framework for most wifi-enabled devices).
I know there are more up to date tutorials/information threads than that one but I can’t find them. But this should be enough to get you started.
Almost no one I’ve seen on this forum has been happy with GPS based presence detection. It tends not to update fast enough.