As a visitor - I want to experience the house without having to deal with some of the automations that are going to feel random and silly to me.
As Pete - I want visitor mode to be enabled automatically upon the arrival of some, regular visitors to the house. E.g. Helen, Dale, Jennie, possibly Sam (?)
Implementation:
Some sort of a switch on the front-end, allowing Guest Mode to be manually toggled.
Action to be triggered upon the switch being thrown - deactivate the last-person-leaving automation, lights out at midnight automation, etc.
Characterise frequent guests with device_trackers for their mobile phones.
Upon seeing such devices turn-up on the network / in the house, enable Guest Mode. Perhaps characterise this group of devices into a binary_sensor.
Auto-closure of Guest Mode behaviours:
If triggered by device - Guest Mode should end 30 mins after the binary_sensor returns False.
if triggered manually - has to be deactivated manually. Possibly later I can make it expire on a configurable timer.
What are the edge cases?
There are no edge-cases for visitor arrivals.
If a guest device arrives while Guest Mode is on - do nothing.
If a guest is already home, Guest Mode will already be on, so it won't be selectable.
Edge-cases for visitor departure:
If the last Guest leaves, then deactivate Guest Mode .....
CONSIDERATION
Do I really want two modes here. I.e.
An automated guest-arrival for known_devices, with presence-based on/off. Armed by default.
An automation override, that allows guest-mode to be held-on manually, and which does so regardless of what (1) is doing.
Requirements:
Implementation:
CONSIDERATION Do I really want two modes here. I.e.
Might be cleaner. Consider.