NOTE: This document refers to the "new" version of Mode Manager introduced in platform 2.3.3. Users who installed Mode Manager in platform 2.3.2 or earlier and upgraded to 2.3.3 (or later) will find Mode Manager Legacy with your prior configuration. You may keep using Mode Manager Legacy, but it is recommended to import your configuration into the current Mode Manager app (which will be offered when you install the new Mode Manager app if applicable). Note that, because days-of-week settings work differently in the new version, this type of configuration will need to be re-created after importing.
Modes are a simple way to assist with configuring many types of automations in the Hubitat Elevation system. Many users use mode to represent time of day, physical presence, or both, changing how the system reacts during that mode. As an example, you might use Evening mode to set lights in your home to a warm color temperature and a lower level in the evening hours, and also adjust your thermostat to a specific level. It is common to also combine an Away mode that will be activated and deactivated automatically by presence sensors, together with other modes that are set by time of day (specific time, sunrise/sunset, or a combination of the two). For example, when someone returns to an empty home, the system can perform actions (by setting the mode back to the otherwise-scheduled mode) based on the mode you have specified to be active for a particular time of day when their presence is again detected.
Mode Manger is an app designed to be a simple way to configure the automatic changing of modes based on these other states and events. Many apps, including Rule Machine, Room Lighting, Thermostat Scheduler, and others, offer the ability to restrict or modify behavior based on modes. Not all users use modes, and not all use them in the same way. But if you do use them, Mode Manager is an easy way to help automate mode changes!
Modes themselves can be created or modified in Settings > Modes. The system has four default modes: Day, Evening, Night and Away, but you can rename or remove these or create your own.
You can use Mode Manager alone (or not at all!) or combine it with other apps or methods of changing modes. Any app is theoretically capable of reading (or setting) mode, though apps may vary in what they offer. Most offer at least a basic way to restrict app execution based on mode, though many offer even more nuanced options (e.g., the "Set dimmer per mode" actions in Rule Machine or Button Controller).
Mode Manager offers four ways to automate modes:
To configure modes to change at a specific time, select all desired modes (ones you want to automate based on time and any modes like "Away" for which you may want time changes that would otherwise cause mode changes to be ignored) from the Select modes to be set by time dropdown.
Then, use the table-based interface to configure your desired settings. If you want every mode change to happen the same every day of the week, leave all days of the week checked in the Select Day Groups table. To configure different modes differently some days of the week, uncheck the box for that day, and they will be moved to a new group (row). You can uncheck more days to create more groups or move the checkmark for any day to another row to move it to that group. (All days must belong to at least one group, and the table will enforce this by creating or removing groups as needed.) For example:
If you originally did not select a mode in the Select modes to be set by time dropdown, select the "+" icon at the bottom of the Set Mode at Times table to add a new mode. You can also select the "-" icon to remove a mode that was previously selected.
How the table works: The mode indicated in the left column will be set at the time in the column(s) to the right. If the Skip option is checked for a mode, then when that mode is active, the current mode will not be set to other modes based on times configured in this table (as they would without this option set). One possible use is illustrated by the default configuration: by default, Skip is selected for Away mode, which prevents time changes from taking the hub out of Away mode based on time alone (other methods, such as presence, buttons, or switches, will still be able to change modes).
If any time-based modes are configured, Mode Manager also offers an option:
You can set any mode based on presence, but the most common mode is Away mode. This mode is typically configured to act differently from other modes, in that it overrides any other mode when you are away from home. However, when you arrive home again, you likely want your home to change to whatever mode it is supposed to be in at that time. This will happen as long as the relevant device(s) are configured for Set Mode with Presence Sensors, as described below, and as long as the "Skip" option is selected for the Away mode in the Set Mode at Times table (as demonstrated above).
NOTE: Before you can set a mode based on presence, you will need to set up and configure some type of presence sensor. The Hubitat mobile app has a built-in presence sensor, though there are a variety of other options. If you have multiple people in your home, you will probably want each of them to have a device that acts as a presence sensor. That way you can configure Away mode to activate whenever all of the presence sensors are gone, and return from Away mode when any one of the presence sensor returns.
To configure:
Select any mode(s) you want to configure based on presence from the Set Mode with Presence Sensors dropdown. (Often this is "Away" mode, though you can name or use your modes in any way you wish.)
Select all desired options from the Set Mode with Presence Sensors table, including the presence device(s) and whether any or all sensors need to be in the specified state for the mode change to happen.
An example of one possible configuration:
As with the Set Mode at Times table, you can use the "+" or "-" icons to add or remove modes from this table
Button devices are a popular method to change modes that are difficult to schedule or otherwise automate. For example, some users have a button by their bed that they can press when they are ready to sleep so the hub will change to Night mode.
To configure:
Choose any desired modes under the Select Modes to be Set by Buttons dropdown.
Configure the necessary settings in the table, including the button device and button event (button number and event name: pushed, held, released, or double-tapped).
If a button device and event is selected for Use Button to Return from Away, the times from the Set Mode at Times will be used to set the mode to the otherwise-scheduled mode. This allows a button to be used instead of, or in addition to, presence sensors or switches to deal with leaving and arriving.
One possible configuration:
As with the Set Mode at Times table, you can use the "+" or "-" icons to add or remove modes from this table
You may also change modes with switches. This might be a light that you turn off in your bedroom before you go to sleep, for example, and you would like that to be the trigger that activates Night mode (though note that this configuration would activate night mode any time this switch is turned off, even during the day). Some users also create virtual switches to make modes easier to use with some third-party integrations by configuring modes to change based on the events from these switches. Another possible use might be a type third-party presence devices that is not recognized in your Hubitat hub as a presence device but is recognized as a switch.
In this example configuration, Day mode will turn on when Demo Switch turns on. Nothing will happen when the switch turns off:
The Set Mode dropdown at the bottom of the Mode Manager app (which will also display the current name in parentheses after Set Mode) allows you to manually change the current mode. This can also be changed from Settings > Modes. Typically, users prefer to use one of the methods above to automate mode changes. However, the ability to manually change modes feature can be useful for testing or fixing unexpected changes.