I've been wrestling with the same thing for a while. I started with variables and adding or subtracting a number to begin with too...
However, I've now got it so that it follows the same logic as the link with Joey. While I was sceptical about it, I now see the logic having gone through it. The location thing already has the status 'Entered' and 'Left' in it and updates these automatically based on the geofence you select.
Then it's simply a matter of putting that state into a variable, one for you and one for your wife, and then run your flows based on a few if and only if type statements, ie:
If I and Wife are 'Left' then turn off lights, etc.
If I or Wife are 'Entered' then turn on lights etc.
The benefit of this is that you can set flows depending on what activities you want to happen per user as well, ie you might want the coffee machine to switch on when you get home but the wife needs the garage door to open so you can set a flow to say 'when I get home turn on coffee machine' and another 'when wife gets home open garage'...you can't do that sort of individual flow processing with just one number variable.
Actually implement the example from Joey, that's what made it click for me. Hope that helps!