Has not been difficult for me for some time, thanks to below...
- Arrival: I use Arrival for opening the garage door, and managing some vacation settings. I don't do any close actions as risk of damaging property or people isn't worth it for me. Arrival is car-specific, each car has its own arrival sensor/event. (I use iharyardi's wonderful zigbee arrival sensors, sadly no longer made/available). Tying arrival to the car rather than to a phone makes it easy to ensure that the garage door doesn't open when I return from a walk, or arrive in someone else's car, etc., in which cases I want to use the front door.
- Presence & Location: Presence & location are handled via the community Owntracks integration for Android and iPhone, which is tied to our phones and allows me to confirm both presence (=home for > x minutes) and location (wife's not home...now where the heck did she go!?
).