Skip to main content

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

  1. Click Add in the grid toolbar
  2. Configure the mode properties (see below)
  3. 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:

  1. If a space has a mode directly assigned, that mode is used
  2. If no mode is assigned, the space inherits its effective mode from its parent
  3. Inheritance walks up the hierarchy until a direct assignment is found
  4. 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

ModeUse Case
occupiedNormal occupancy - full lighting, climate active
awayUnoccupied - reduced lighting, energy savings
nightNighttime - minimal lighting, security armed
partyEntertainment - scene lighting, AV active
business_hoursCommercial daytime operation
after_hoursCommercial evening/weekend
emergencyEmergency state (use with Hold)
maintenanceMaintenance mode - special access

Database Schema

ColumnTypeDescription
idINTEGERPrimary key
nameSTRINGInternal name (required)
labelSTRINGDisplay name
descriptionSTRINGOptional description
is_defaultBOOLEANFallback mode flag (default: false)
holdBOOLEANPrevent mode changes (default: false)
sort_indexINTEGERDisplay order
enabledBOOLEANActive 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

  1. User sets "Away" mode on the building space
  2. Trigger fires: "Building mode changed to away"
  3. 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

  1. Keep it Simple: Start with a small set of modes (occupied, away, night) and add more as needed
  2. Use Hold Carefully: Only enable Hold for critical modes like emergency states
  3. One Default: Ensure exactly one mode is marked as default
  4. Clear Labels: Use descriptive labels that are obvious to end users
  5. Sort Order: Set sort indices so the most commonly used modes appear first
  6. Test Inheritance: Verify that mode inheritance works correctly through your space hierarchy