I believe HA has the features today to make all of this possible. I’m proposing a single interface in the core that ‘unifies’ these features to make it easy for users to create and manage House Modes. This UI would allow users to see and manage, all House Modes with associated automations, helpers, etc – all in one place, in one view.
House Modes seamlessly combine and synchronize automation with the way the people live in a home and want it to work - for them. Using this way of thinking is different than the HA ‘toolkit’ / ‘development kit’ which treats everything as separate occurrences, activities, functions requiring users to manually puzzle them together.
My proposed way of managing House Modes removes an enormous amount of duplicative and disparate automation logic. Users would no longer need to have each separate automation ‘test’ for a given states/helper to see if it should run… the automation would be simply disabled if the house mode doesnt need it. There will be some automations that will run in all house modes so you may choose to not place them in any house mode (like mobile notifications for door lock codes entered).
Yes, you could manually create all of the enable/disables in the current HA automation UI but it would be tedious to create and visually verbose (and difficult to see what you’ve built). I’m proposing a single-page UI created specifically for managing House Modes that streamlines viewing what automations/entities are enabled/disabled. With this methodology, Automations/Entities are disabled/enabled based on one (or only a few state entities), and all that logic is in a single-page ‘manager’ UI. This should also reduce the processing overhead since at any given time, there will be several (maybe dozens) of disabled automations.
Many automation systems, including Hubitat, Vera and Smartthings have had built-in house modes for a decade.
You could think of House Modes as an extension of a type of ‘collection’ that manages every aspect of what you might want to accomplish in a given situation. Thus a House Mode UI would create and manage all of these in a single view…
- Mobile Notifications / Alarms / Alerts – when, how, to whom
Examples of using these together…
- door opened when in Away mode, constantly flash all exterior and some interior lights, set RGB lights flashing red, turn on 12v sirens. Send signal to real alarm panel to trigger police if runs for longer than 60 seconds
- water leak detected, set RGB lights flashing blue, turn off water main valve, send mobile notification to neighbors
- trigger calling fire department (using physical alarm panel) when smoke alarms trigger, if alarm not turned off after 2 minutes.
- Disable / Enable : Automations, Entities, Devices
Examples of using these together…
- disable master bedroom cam when in Home mode, but enable the cam when in Cleaner mode.
- disable automations not needed in Home mode and enable automations needed in Away mode… like disabling motion triggered interior lighting when Away
hypothetical House Mode examples…
HOME
Trigger:
‘House Mode Selector changes from ANY to Home’
or
‘change from ALL Persons = Away to ANY Peron = Home’
Automation A – enable automations where label = ‘Interior Motion Lighting’
Automation B – enable ‘turn on espresso machine at 7am’
Automation C – disable
Entity A – disable ‘Master Bedroom Cam’
Entity B – disable where label = ‘Garage Motion Sensor’
Entity C – enable
AWAY
Trigger:
‘House Mode Selector changes from Home or Guest to Away’
or
‘All Persons <> Home’
Automation A – disable automations where label = ‘Interior Motion Lighting’
Automation B – disable ‘turn on espresso machine at 7am’
Automation C – enable ‘alerts and trigger alarm when window or door opens’
Entity A – enable where label = ‘Basement Motion Sensor’
Entity B – enable
Entity C – disable