Files
home-assistant-blueprints/ROOM_CONFIGURATION_GUIDE.md
John Ogle 14fadbe44e Add custom mode tutorial and update docs for pure blueprint architecture
Add ADDING_MODES.md tutorial covering:
- UI-created modes (recommended) and package-defined modes
- Complete schema reference with nested al_config
- Behavior types (adaptive_lighting, scene, script)
- Manual control support and advanced examples

Update all documentation to reflect:
- Zero YAML editing for room setup (UI-driven workflow)
- Convention-based mode lookup pattern
- Pure blueprint architecture (3 core + 3 optional blueprints)
- Extensibility via helpers instead of template copying
2025-12-21 17:44:47 -08:00

15 KiB

Room Configuration Guide

This guide walks you through configuring rooms using the pure blueprint architecture. All configuration is done via the Home Assistant UI - no YAML editing required.

Table of Contents

Prerequisites

Before configuring a room:

  • Global package loaded (adaptive_lighting_global.yaml)
  • 3 blueprints imported (apply_lighting_mode, weekend_mode_schedule, weekend_mode_apply_settings)
  • Adaptive Lighting integration configured
  • Adaptive Lighting switch created for your room

If you haven't done these steps, see PACKAGE_SETUP_GUIDE.md first.

Basic Room Setup (UI Workflow)

This is the core workflow for every room. All steps are done in the Home Assistant UI.

Step 1: Create Mode Selector Helper

1.1 Navigate to Helpers

Settings → Devices & Services → Helpers

1.2 Create Dropdown Helper

  • Click + Create Helper → Dropdown
  • Configure:
    • Name: {Room} Lighting Mode (e.g., "Master Bedroom Lighting Mode")
    • Icon: mdi:lightbulb-multiple (optional)
    • Options: Add the modes you want (from the 8 shipped modes)
      • Adaptive
      • Relaxing
      • Sleep
      • Theater
      • Party
      • Cooking
      • Dining
      • Cleanup
    • Initial option: Adaptive

1.3 Note the Entity ID

After creation, click the helper to see its entity ID (e.g., input_select.master_bedroom_lighting_mode). You'll need this for the next step.

Step 2: Create Mode Application Automation

2.1 Navigate to Blueprints

Settings → Automations & Scenes → Blueprints

2.2 Create Automation from Blueprint

  • Find "Apply Lighting Mode Settings" blueprint
  • Click Create Automation

2.3 Configure Inputs

  • Mode Input Select: Select your dropdown helper (e.g., input_select.master_bedroom_lighting_mode)
  • Adaptive Lighting Switch: Select your room's AL switch (e.g., switch.adaptive_lighting_master_bedroom)
  • LED Color Entity (Optional):
    • Leave empty if you don't have Inovelli switches
    • Select number.{device_name}_led_color_when_on if you have an Inovelli switch

2.4 Name the Automation

  • Suggested name: {Room}: Apply Lighting Mode (e.g., "Master Bedroom: Apply Lighting Mode")
  • Click Save

Step 3: Test Mode Switching

3.1 Find Your Mode Selector

  • Go to Overview dashboard
  • Or Settings → Devices & Services → Helpers → Find your dropdown

3.2 Switch Between Modes

  • Select different modes from the dropdown
  • Verify lights change appropriately:
    • Adaptive: Follows AL defaults
    • Relaxing: Dim, warm (20-40% brightness, 2000-2500K)
    • Sleep: Very dim red/amber (1-5% brightness)
    • Theater: Dim, cool (5-20% brightness)
    • Party: Bright, dynamic (60-90% brightness)
    • Cooking: Bright, cool task lighting (90-100% brightness)
    • Dining: Medium, warm (40-70% brightness)
    • Cleanup: Bright, standard (80-100% brightness)

3.3 Verify LED Updates (If Configured)

  • If you configured an LED entity, verify the Inovelli switch LED changes color with each mode

Congratulations! You've configured basic mode switching for your room with zero YAML editing.

Advanced: Weekend Mode (Optional)

Weekend mode automatically adjusts Adaptive Lighting settings on weekends (delayed sunrise, extended sunset, reduced brightness).

Step 1: Create Weekend Mode Toggle

1.1 Navigate to Helpers

Settings → Devices & Services → Helpers

1.2 Create Toggle Helper

  • Click + Create Helper → Toggle
  • Configure:
    • Name: {Room} Weekend Mode (e.g., "Master Bedroom Weekend Mode")
    • Icon: mdi:calendar-weekend (optional)
    • Initial state: Off

1.3 Note the Entity ID

Example: input_boolean.master_bedroom_weekend_mode

Step 2: Create Schedule Automation

2.1 Create from Blueprint

Settings → Automations & Scenes → Blueprints → "Weekend Mode Schedule"

2.2 Configure Inputs

  • Weekend Mode Boolean: Select your toggle helper
  • Toggle Time: When to check and toggle weekend mode (default: 22:00:00)
    • Recommended: Late evening (e.g., 22:00 / 10:00 PM)

2.3 Save

Name: {Room}: Weekend Mode Schedule

How it works:

  • Friday/Saturday at toggle time → Turns ON weekend mode
  • Sunday-Thursday at toggle time → Turns OFF weekend mode

Step 3: Create Apply Settings Automation

3.1 Create from Blueprint

Settings → Automations & Scenes → Blueprints → "Weekend Mode Apply Settings"

3.2 Configure Inputs

  • Weekend Mode Boolean: Select your toggle helper (same as Step 2)
  • Adaptive Lighting Switch: Select your room's AL switch
  • Weekend Sunrise Time: When sunrise should be on weekends (default: 10:00:00)
  • Weekend Sunset Time: When sunset should be on weekends (default: 01:00:00)
  • Weekend Max Brightness: Maximum brightness on weekends (default: 60%)

3.3 Save

Name: {Room}: Weekend Mode Apply Settings

How it works:

  • When weekend mode turns ON → Applies delayed sunrise, extended sunset, reduced brightness
  • When weekend mode turns OFF → Resets to AL default settings

Step 4: Test Weekend Mode

4.1 Manual Toggle Test

  • Toggle your weekend mode boolean ON manually
  • Verify AL settings change (check Developer Tools → States → your AL switch attributes)
  • Toggle OFF
  • Verify AL settings reset

4.2 Schedule Test (Optional)

  • Temporarily change toggle time to 1 minute in future
  • Wait for trigger
  • Verify boolean toggles based on current day of week

Example 1: Master Bedroom

Goal: Full mode control with weekend mode, optional Inovelli integration

Room Type: Private bedroom with comprehensive lighting control

Adaptive Lighting Configuration

In configuration.yaml (if not already done):

adaptive_lighting:
  - name: master_bedroom
    lights:
      - light.master_bedroom_ceiling
      - light.master_bedroom_lamp_1
      - light.master_bedroom_lamp_2
    interval: 90
    transition: 45
    take_over_control: true
    autoreset_control_seconds: 3600  # 1 hour gentle reset

Restart Home Assistant after editing configuration.yaml.

UI Configuration Steps

Step 1: Create Mode Selector

  • Name: "Master Bedroom Lighting Mode"
  • Entity ID: input_select.master_bedroom_lighting_mode
  • Options: Adaptive, Relaxing, Sleep, Theater (for movies in bed), Party (rare, but available)
  • Initial: Adaptive

Step 2: Create Mode Application Automation

  • Blueprint: Apply Lighting Mode Settings
  • Mode Input Select: input_select.master_bedroom_lighting_mode
  • AL Switch: switch.adaptive_lighting_master_bedroom
  • LED Entity: number.master_bedroom_switch_led_color_when_on (if Inovelli)
  • Name: "Master Bedroom: Apply Lighting Mode"

Step 3: Create Weekend Mode Helpers and Automations

  • Toggle: input_boolean.master_bedroom_weekend_mode
  • Schedule automation: Toggle at 22:00
  • Apply settings automation:
    • Sunrise: 10:00 (sleep in on weekends)
    • Sunset: 01:00 (stay up later)
    • Max brightness: 60%

Testing

  • Mode selector cycles through all modes via UI
  • Lights change appropriately for each mode
  • LED changes color for each mode (if Inovelli)
  • Weekend mode enables Friday evening
  • Sunrise shifts to 10am when weekend mode active
  • Weekend mode disables Sunday evening

Example 2: Living Room

Goal: Entertainment modes (Theater, Party), standard adaptive lighting

Room Type: Common area with social and entertainment use

Adaptive Lighting Configuration

adaptive_lighting:
  - name: living_room
    lights:
      - light.living_room_ceiling
      - light.living_room_lamp_1
      - light.living_room_lamp_2
    interval: 90
    transition: 30

UI Configuration Steps

Step 1: Create Mode Selector

  • Name: "Living Room Lighting Mode"
  • Entity ID: input_select.living_room_lighting_mode
  • Options: Adaptive, Theater, Party, Relaxing
  • Initial: Adaptive

Step 2: Create Mode Application Automation

  • Blueprint: Apply Lighting Mode Settings
  • Mode Input Select: input_select.living_room_lighting_mode
  • AL Switch: switch.adaptive_lighting_living_room
  • LED Entity: number.living_room_switch_led_color_when_on (if Inovelli)
  • Name: "Living Room: Apply Lighting Mode"

Weekend Mode: Optional for living room - use if you want different behavior on weekends

Testing

  • Switch to Theater mode → lights dim for movie watching
  • Switch to Party mode → lights bright and dynamic
  • Switch to Adaptive → normal adaptive behavior
  • LED colors match modes (if Inovelli)

Example 3: Simple Bathroom

Goal: Always adaptive, no mode switching needed

Room Type: Utility space with simple lighting needs

Adaptive Lighting Configuration

adaptive_lighting:
  - name: bathroom
    lights:
      - light.bathroom_ceiling
      - light.bathroom_vanity
    interval: 60
    transition: 20

UI Configuration Steps

Step 1: Create Mode Selector (Minimal)

  • Name: "Bathroom Lighting Mode"
  • Entity ID: input_select.bathroom_lighting_mode
  • Options: Adaptive, Sleep (for night use)
  • Initial: Adaptive

Step 2: Create Mode Application Automation

  • Blueprint: Apply Lighting Mode Settings
  • Mode Input Select: input_select.bathroom_lighting_mode
  • AL Switch: switch.adaptive_lighting_bathroom
  • LED Entity: Leave empty (likely no Inovelli in bathroom)
  • Name: "Bathroom: Apply Lighting Mode"

Weekend Mode: Not needed for bathroom

Alternative: No Mode Selector At All

If you want only adaptive lighting with no manual modes:

  • Skip creating mode selector
  • Skip creating mode application automation
  • Just use Adaptive Lighting integration directly
  • This is the simplest possible setup

Testing

  • Lights follow adaptive lighting automatically
  • Optional: Switch to Sleep mode for night bathroom trips
  • Adaptive mode uses AL defaults

Testing Checklist

After configuring any room, verify:

Basic Functionality

  • All modes switch correctly via UI dropdown
  • AL settings apply as expected for each mode
  • Lights change brightness and color temperature appropriately
  • Mode changes are smooth (transitions work)

LED Integration (If Inovelli Configured)

  • LED color updates match mode
  • LED colors are visible and distinct
  • LED updates happen immediately after mode change

Weekend Mode (If Configured)

  • Weekend mode toggle works manually
  • Weekend mode enables automatically on Friday/Saturday
  • Weekend mode disables automatically on Sunday-Thursday
  • AL adjustments apply when weekend mode turns on
  • AL settings reset when weekend mode turns off

Home Assistant Restart

  • Restart Home Assistant
  • Verify mode settings persist and apply on startup
  • Verify weekend mode settings persist and apply on startup

Error Checking

  • No errors in Home Assistant logs (Settings → System → Logs)
  • Automation traces show successful execution (Settings → Automations → [automation] → Traces)

Customization

Add Custom Modes to a Room

Want to add "Reading" mode to your bedroom?

Step 1: Create the mode settings (see ADDING_MODES.md)

Step 2: Edit your room's mode selector helper

  • Settings → Devices & Services → Helpers
  • Find your room's dropdown (e.g., input_select.master_bedroom_lighting_mode)
  • Click Edit
  • Add "Reading" to options list
  • Save

Step 3: Test

  • Switch to Reading mode via UI
  • Verify it works without any blueprint changes!

Change Weekend Mode Times

Edit the automation:

  • Settings → Automations & Scenes
  • Find "{Room}: Weekend Mode Apply Settings"
  • Click Edit
  • Adjust sunrise time, sunset time, or max brightness
  • Save

Changes apply immediately (no restart needed).

Remove Weekend Mode

If you no longer want weekend mode:

Step 1: Disable automations

  • Settings → Automations & Scenes
  • Find weekend mode automations
  • Toggle them OFF (or delete them)

Step 2: Delete helpers (optional)

  • Settings → Devices & Services → Helpers
  • Find weekend mode boolean
  • Delete

Use Scene-Based Modes

Want a mode that activates a complex scene?

See ADDING_MODES.md - Advanced Examples for scene and script-based mode creation.

Troubleshooting

Mode Doesn't Change Lights

Symptom: Selected mode but lights stayed the same

Solutions:

  1. Check automation is enabled: Settings → Automations → "{Room}: Apply Lighting Mode"
  2. View automation trace: Click automation → Traces tab
  3. Verify AL switch entity ID is correct in automation config
  4. Verify mode selector entity ID matches automation config
  5. Check mode settings entity exists: Developer Tools → States → input_text.adaptive_lighting_settings_{mode}

LED Doesn't Change Color

Symptom: Mode changes work but LED stays same color

Solutions:

  1. Verify LED entity configured in automation (not left empty)
  2. Check LED entity ID is correct (should be number.{device}_led_color_when_on)
  3. Test LED manually: Developer Tools → Services → number.set_value
  4. Verify Inovelli switch firmware is up to date

Weekend Mode Doesn't Apply

Symptom: Boolean toggles but AL settings don't change

Solutions:

  1. Check "Weekend Mode Apply Settings" automation is enabled
  2. View automation trace to see what happened
  3. Verify AL switch entity ID is correct
  4. Manually trigger automation: Developer Tools → Services → automation.trigger
  5. Check for errors in logs

Modes Work But Automation Triggers Too Often

Symptom: Automation runs many times for single mode change

Solutions:

  • This is expected behavior - automation uses mode: restart
  • Check automation traces - should see restart behavior
  • If causing issues, automation is working as designed (debounces rapid changes)
  • No action needed unless you see actual problems

Can't Find Mode Selector in UI

Symptom: Created helper but can't find it on dashboard

Solutions:

  1. Check entity was created: Settings → Devices & Services → Helpers
  2. Add to dashboard manually: Edit Dashboard → Add Card → Entities → Select your input_select
  3. Or use in automations/scripts without dashboard visibility
  4. Verify entity ID in Developer Tools → States

Next Steps

After configuring your first room:

  1. Add more rooms: Repeat the basic workflow for each room
  2. Customize modes: See ADDING_MODES.md to create custom modes
  3. Add Inovelli integration: Use optional blueprints for button control
  4. Add presence control: Use presence_mode_reset blueprint for occupancy-based automation

For more information: