Convert mode definitions from flat to nested JSON schema:
- Embed LED colors in mode settings (remove separate color mapping)
- Add behavior, manual_control, and led_color to top level
- Nest AL settings in al_config object for service validation
- Reduce from 11 to 8 essential modes (remove Reading, Homework, Play)
Modes now use nested structure to avoid AL service validation errors
while maintaining extensibility for different behavior types.
Add global mode definitions and config button mode cycling blueprint to
establish the foundation for the adaptive lighting mode system.
Changes:
- Add input_text helpers for all 11 mode settings (Adaptive, Reading,
Relaxing, Sleep, Theater, Party, Homework, Play, Cooking, Dining,
Cleanup) with JSON configuration for brightness, color temp, and
transition parameters
- Store mode settings as individual input_text entities to work within
Home Assistant's 255 character limit
- Add usage notes for accessing mode settings in templates
- Fix variable definition bug in inovelli_mode_cycling blueprint by
adding zigbee2mqtt_device_name to variables section
- Update README to reflect that PACKAGE_SETUP_GUIDE.md exists
All YAML files validated with yamllint. JSON configuration validated
with jq.
Part of Phase 1 implementation from adaptive lighting mode system plan.
Automated verification complete, ready for manual testing.
- Remove script.get_mode_color which had incorrect response syntax
- Replace with usage notes showing how to access mode colors in templates
- Blueprints and automations access colors directly via templates
- Fixes 'extra keys not allowed @ data['sequence'][0]['response']' error
- Add max: 255 parameter to adaptive_lighting_mode_colors input_text
- Minify JSON to fit within Home Assistant's 100 character default limit
- Remove adaptive_lighting_mode_settings input_text (too long, convert to comments)
- Remove get_mode_settings script (no longer needed)
- Fix template syntax: use states() instead of state_attr() for input_text values
- Convert mode settings to reference documentation comments
This fixes the 'Initial value length not in range 0-100' error from Home Assistant.
Implement the foundation for a comprehensive mode-based lighting control
system for Inovelli Blue Dimmer Switches with Adaptive Lighting integration.
This Phase 1 implementation includes:
- Global mode definitions package (packages/adaptive_lighting_global.yaml)
containing ROYGBIV color scheme mappings and mode settings for all
standard modes (Adaptive, Reading, Theater, Sleep, etc.)
- Inovelli mode cycling blueprint (blueprints/automation/inovelli_mode_cycling.yaml)
enabling config button to cycle through lighting modes with LED feedback
- Updated README with system overview, features, and quick start guide
The system provides room-specific lighting modes with visual LED feedback,
config button control, and git-trackable configuration via Home Assistant
packages.
Next phases will add mode application automations, button action blueprints,
presence integration, and comprehensive documentation.