by Stephen Shank
"Home" is a somewhat ambiguous term. Usually, it's a place where you feel safe to use your device in peace, connected to your usual wifi and other peripherals. When you're out in public, that's usually not the case, and you will probably want to avoid looking at anything too personal when anyone can see what you're doing. But, if you travel and stay at a hotel, or just have a few different places where you have that same level of comfort, you probably don't want to manually change your flows to work for that specific location.
After you configure and start the flow, you'll go through first time setup and you'll have the option to set your current location as home and/or preconfigure a set of home locations. These will be persisted and then you'll enter right into the normal flow of the app, either your home or not home configuration. If you stay home, the flow won't bother you till you leave. Once you're out there, you'll be prompted to make a location "home" with a non-intrusive notification. Choosing the override option will allow you to make your current location home, and choosing dismiss will let you ignore a location until you leave it. I considered making a location blacklist, but this gives you the flexibility to make something home at a later time, and with the given widgets you'll be able to add and delete locations in the same convenient way as when you set up the flow for the first time whenever you like.
There are a few things that you may need to configure:
1. In block 281, change the Data URI to the flow URI for the Are you Home? Companion flow. (yes you'll need to download it as well to do this.) Alternatively you can delete block 281 and manually stop and restart the flow every time you manually change the locations after set up.
2. The flow beginnings for manually adding more locations after first-time setup and for deleting locations are hidden by default. Click on those flow beginnings to unhide them or to add widgets to your home screen.
3. You can edit anything between the label and final go-to statements of "IsHome" and "NotHome". This is where you decide on the automatic behavior.
4. The flow uses the existence of a file to determine whether or not to run first time setup, and subsequently reads and writes to this file as changes occur. If the flow fails due to file permissions, then you need to change that file in these blocks: 47, 48, 58, 258.
5. Currently, the flow checks whether you've moved every 10 minutes, that way if you dismiss the override notification, or if you stay home, it won't keep running the IsHome/NotHome blocks and/or prompting you to override the current location if you're in the same general area for a while. You can change this interval by setting the delay in block 164, which allows you to make this flow more battery efficient at the cost of less frequent updates. To bypass the delay you can restart the flow, or add/delete locations with the appropriate widget.