I ended up trying LLAMA by KebabApps which is a free app in the Play Store and very easy to use. It can use NFC tags for events but it's a lot more robust than just that because it allows you setup different locations and it learns where that location is based on the cell towers that your phone can see. This is information the Android OS is already collecting so there aren't any extra location services that are going to drain your battery. You can then enable various sound profiles and change settings depending on where you are or some other phone driven event such as NFC tags or connection states.
The events that I have enabled are:
- At work - set sound profile to quite (turn all notification volume down to low)
- When Wifi is connected - Set Android location service polling to every 4 hours
- When WiFi is disconnected - Set Android location service polling to every 10 min
- Leaving Work - set sound profile to normal
- At Home - set sound profile to normal
- At home 11PM-6AM - set sound profile to silent (notifications off, ringtone to vibrate)
- Leaving home - set sound profile to normal
*Note: when LLAMA is learning a location it is recording all of the cell towers that it can see over the specified time period, so it is a good idea to have your phone connected to a charger.