Site Modes
Site Modes define operational states that can be applied to site spaces. Modes enable different automation behaviors based on the current state of a space, such as "Occupied", "Away", "Night", "Party", or "Business Hours".
Overview
Modes are system-wide definitions that can be assigned to any site space. When a space's mode changes, automation triggers and macros can respond accordingly to adjust lighting, climate, security, and other systems.
Viewing Modes
The main grid displays all configured modes with the following columns:
- ID - Unique identifier
- Name - Internal mode name
- Label - Display name
- Description - Purpose description
- Default - Whether this is the fallback mode
- Hold - Whether mode changes are locked
- Sort - Display order
- Enabled - Whether the mode is active
Grid Actions
- Add - Create a new mode
- Edit - Modify an existing mode
- Sort - Drag to reorder modes
- Delete - Remove a mode
Creating a Mode
- Click Add in the grid toolbar
- Configure the mode properties (see below)
- Click Save
Mode Information
Name
- Internal identifier (lowercase_with_underscores)
- Auto-formatted on blur
- Examples:
occupied,away,night_mode,business_hours
Label
- Human-readable display name
- Examples: "Occupied", "Away", "Night Mode", "Business Hours"
Description
- Optional text explaining the mode's purpose
Sort Index
- Numeric value controlling display order in selectors and lists
Settings
Default
- Toggle to mark this as the fallback mode
- The default mode is used when no mode is explicitly set on a space
- Only one mode should be marked as default
Hold
- Toggle to prevent mode changes while this mode is active
- Useful for modes like "Emergency" or "Lockdown" that should not be accidentally changed
- When hold is active, attempts to change the mode are blocked
Enabled
- Toggle to enable/disable the mode
- Disabled modes are hidden from selectors but their configuration is preserved
Mode Inheritance
Modes follow a parent-child inheritance model through the site space hierarchy:
- If a space has a mode directly assigned, that mode is used
- If no mode is assigned, the space inherits its effective mode from its parent
- Inheritance walks up the hierarchy until a direct assignment is found
- If no ancestor has a mode, the default mode is used
Example
Building (mode: business_hours)
Floor 1 (no mode → inherits business_hours)
Lobby (no mode → inherits business_hours)
Server Room (mode: always_on)
Floor 2 (mode: quiet_hours)
Office 201 (no mode → inherits quiet_hours)
Common Modes
| Mode | Use Case |
|---|---|
occupied | Normal occupancy - full lighting, climate active |
away | Unoccupied - reduced lighting, energy savings |
night | Nighttime - minimal lighting, security armed |
party | Entertainment - scene lighting, AV active |
business_hours | Commercial daytime operation |
after_hours | Commercial evening/weekend |
emergency | Emergency state (use with Hold) |
maintenance | Maintenance mode - special access |
Database Schema
| Column | Type | Description |
|---|---|---|
id | INTEGER | Primary key |
name | STRING | Internal name (required) |
label | STRING | Display name |
description | STRING | Optional description |
is_default | BOOLEAN | Fallback mode flag (default: false) |
hold | BOOLEAN | Prevent mode changes (default: false) |
sort_index | INTEGER | Display order |
enabled | BOOLEAN | Active state (default: true) |
Integration with Automation
Modes can drive automation through triggers and macros:
Triggers
Create triggers that fire when a space's mode changes:
- Trigger condition: space mode equals a specific mode
- Actions: execute macros, send notifications, adjust zones
Macros
Macros can check or set space modes:
- Check current mode to conditionally execute steps
- Set a new mode as part of an automation sequence
Example Workflow
- User sets "Away" mode on the building space
- Trigger fires: "Building mode changed to away"
- Macro executes:
- Turn off all interior lights
- Set thermostats to energy-saving temperature
- Arm security system
- Lock all doors
- Send notification: "Building secured"
Best Practices
- Keep it Simple: Start with a small set of modes (occupied, away, night) and add more as needed
- Use Hold Carefully: Only enable Hold for critical modes like emergency states
- One Default: Ensure exactly one mode is marked as default
- Clear Labels: Use descriptive labels that are obvious to end users
- Sort Order: Set sort indices so the most commonly used modes appear first
- Test Inheritance: Verify that mode inheritance works correctly through your space hierarchy
Related Documentation
- Site Spaces - Assigning modes to spaces
- Triggers - Automating responses to mode changes
- Macros - Automation sequences